<?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>185949</bug_id>
          
          <creation_ts>2018-05-24 08:31:22 -0700</creation_ts>
          <short_desc>jQuery UI image assets are missing on webkit.org website.</short_desc>
          <delta_ts>2018-06-14 16:44:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roy Reapor">rreapor</reporter>
          <assigned_to name="Roy Reapor">rreapor</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1426931</commentid>
    <comment_count>0</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-24 08:31:22 -0700</bug_when>
    <thetext>jQuery UI image assets missing on webkit.org website. The theme directory should also be corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426932</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-24 08:31:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/40522092&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426957</commentid>
    <comment_count>2</comment_count>
      <attachid>341200</attachid>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-24 09:56:34 -0700</bug_when>
    <thetext>Created attachment 341200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426973</commentid>
    <comment_count>3</comment_count>
      <attachid>341200</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-05-24 10:30:12 -0700</bug_when>
    <thetext>Comment on attachment 341200
Patch

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

&gt; Tools/ChangeLog:11
&gt; +        * TestResultServer/static-dashboards/run-unittests.html:

Please add a small description here in ChangeLog.

&gt; Websites/webkit.org/ChangeLog:9
&gt; +        * ajax/libs/jqueryui/jquery-ui-1.8.15.min.js: Removed.

Can you please update the ChangeLog to reflect why are we removing these?

&gt; Websites/webkit.org/ChangeLog:10
&gt; +        * ajax/libs/jqueryui/1.8.15/: Added.

What&apos;s added here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426975</commentid>
    <comment_count>4</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-24 10:34:47 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #3)
&gt; Comment on attachment 341200 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=341200&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:11
&gt; &gt; +        * TestResultServer/static-dashboards/run-unittests.html:
&gt; 
&gt; Please add a small description here in ChangeLog.
Will do.
&gt; 
&gt; &gt; Websites/webkit.org/ChangeLog:9
&gt; &gt; +        * ajax/libs/jqueryui/jquery-ui-1.8.15.min.js: Removed.
&gt; 
&gt; Can you please update the ChangeLog to reflect why are we removing these?
Will do.
&gt; 
&gt; &gt; Websites/webkit.org/ChangeLog:10
&gt; &gt; +        * ajax/libs/jqueryui/1.8.15/: Added.
&gt; 
&gt; What&apos;s added here?
I restructured the jqueryui folder. I added minified CSS and JS files in the sub directory. Should I list every file added in the changelog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426980</commentid>
    <comment_count>5</comment_count>
      <attachid>341200</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-05-24 10:43:32 -0700</bug_when>
    <thetext>Comment on attachment 341200
Patch

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

&gt;&gt;&gt; Websites/webkit.org/ChangeLog:10
&gt;&gt;&gt; +        * ajax/libs/jqueryui/1.8.15/: Added.
&gt;&gt; 
&gt;&gt; What&apos;s added here?
&gt; 
&gt; I restructured the jqueryui folder. I added minified CSS and JS files in the sub directory. Should I list every file added in the changelog?

Probably yes, at least the name of the files. prepare-ChangeLog tool should have done that automatically.

But I don&apos;t see those added files in this patch. Are you planning to add those in a separate patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427081</commentid>
    <comment_count>6</comment_count>
      <attachid>341229</attachid>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-24 15:33:37 -0700</bug_when>
    <thetext>Created attachment 341229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427082</commentid>
    <comment_count>7</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-24 15:37:03 -0700</bug_when>
    <thetext>This patch is for adding the jQuery UI files and image assets to source control. I set the &quot;allow-tabs&quot; property for all the javascript files.

I will create a new bug for changing the files that depend on jQuery UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427117</commentid>
    <comment_count>8</comment_count>
      <attachid>341229</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-05-24 17:12:27 -0700</bug_when>
    <thetext>Comment on attachment 341229
Patch

Looks fine to me. I have not reviewed the content of these jQuery UI files and assets. I am assuming they are copied from a standard source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427469</commentid>
    <comment_count>9</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-05-25 14:38:17 -0700</bug_when>
    <thetext>Reopening to land patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427489</commentid>
    <comment_count>10</comment_count>
      <attachid>341229</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-25 14:59:56 -0700</bug_when>
    <thetext>Comment on attachment 341229
Patch

Rejecting attachment 341229 from commit-queue.

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

Last 500 characters of output:
0-ab3c-d52691b4dbfc ...
Currently at 232203 = 5ccac00d9f1d78e99c47617c3ea8d707bc3b1c80
r232206 = 173e91dfe48dee6de8d4d8eb7898fd2e75c200bb
r232207 = f54aca8ba9c59258bc8e9cd9646fb9c666f26d68
r232208 = cc76d1f0ec98323b9a3a862535138170589cce17
r232209 = 67cab244fee824ad67059e22c5d498c38d03e851
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/7804250</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427522</commentid>
    <comment_count>11</comment_count>
      <attachid>341343</attachid>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-25 16:04:52 -0700</bug_when>
    <thetext>Created attachment 341343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427523</commentid>
    <comment_count>12</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-05-25 16:07:07 -0700</bug_when>
    <thetext>(In reply to Roy Reapor from comment #11)
&gt; Created attachment 341343 [details]
&gt; Patch

Used &quot;svn propset allow-tabs 1 FILENAME&quot; instead &quot;svn propset allow-tabs on FILENAME&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427524</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-05-25 16:08:26 -0700</bug_when>
    <thetext>Attachment 341343 did not pass style-queue:


ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:14:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:14:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:15:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:16:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:17:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 49 in 49 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>1429047</commentid>
    <comment_count>14</comment_count>
      <attachid>341343</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-31 16:43:24 -0700</bug_when>
    <thetext>Comment on attachment 341343
Patch

Rejecting attachment 341343 from commit-queue.

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

Last 5000 characters of output:
s.highlight.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.core.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.position.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.progressbar.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.widget.min.js
	M	Websites/webkit.org/ChangeLog

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:

    The following files contain tab characters:

        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
W: 77f677568fa008086daf2c0a65dd2d59ef073b7e and refs/remotes/origin/master differ, using rebase:
:040000 040000 7f51824c3a2fd1993a3de64cc588adef86ff3cd1 b9cd4a1155c1d563f7c4ef29ea0b82fc7552de80 M	Websites
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.webkit.org/results/7909653</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1432807</commentid>
    <comment_count>15</comment_count>
      <attachid>342692</attachid>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-06-13 14:17:03 -0700</bug_when>
    <thetext>Created attachment 342692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1432808</commentid>
    <comment_count>16</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-06-13 14:20:13 -0700</bug_when>
    <thetext>Attachment 342692 did not pass style-queue:


ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js:14:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js:13:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:14:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:15:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:16:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js:17:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js:12:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js:11:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 49 in 49 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>1432811</commentid>
    <comment_count>17</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-06-13 14:24:03 -0700</bug_when>
    <thetext>Reset allow-tabs to &quot;ON&quot; for offending Javascript files.

$ svn propdel allow-tabs FILENAME
$ svn propset allow-tabs ON FILENAME

It should get through SVN commit now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1432818</commentid>
    <comment_count>18</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-06-13 14:28:11 -0700</bug_when>
    <thetext>(In reply to Roy Reapor from comment #17)
&gt; Reset allow-tabs to &quot;ON&quot; for offending Javascript files.
&gt; 
&gt; $ svn propdel allow-tabs FILENAME
&gt; $ svn propset allow-tabs ON FILENAME
&gt; 
&gt; It should get through SVN commit now.

ok, let&apos;s try it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1432827</commentid>
    <comment_count>19</comment_count>
      <attachid>342692</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-13 15:00:14 -0700</bug_when>
    <thetext>Comment on attachment 342692
Patch

Rejecting attachment 342692 from commit-queue.

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

Last 5000 characters of output:
ueryui/1.8.15/ui/jquery.ui.autocomplete.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.core.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.position.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.progressbar.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js
	A	Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.widget.min.js
	M	Websites/webkit.org/ChangeLog

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:

    The following files contain tab characters:

        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js
        trunk/Websites/webkit.org/ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
W: 85083f3602a58d2238184b383d3f33d730e40479 and refs/remotes/origin/master differ, using rebase:
:040000 040000 da8a2b3cd9d88146bdc53bff86a01c95db3cce14 a7ae0fd4cf91c68b3f6c0d12da1305d88e319070 M	Websites
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   46198bd7636..478979e3837  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 232811 = 46198bd7636f0d1f85e36d830fd3108707d4c169
r232812 = 44f5a110cd0e8a4b2d7b63cf9d74818fb75a0d5b
r232813 = 478979e383739224b7169f237344aa2bb20bedfd
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/8168599</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433018</commentid>
    <comment_count>20</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-06-14 10:22:55 -0700</bug_when>
    <thetext>Blocked by https://bugs.webkit.org/show_bug.cgi?id=186624</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433049</commentid>
    <comment_count>21</comment_count>
      <attachid>342692</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-06-14 11:09:22 -0700</bug_when>
    <thetext>Comment on attachment 342692
Patch

Committed r 232845: &lt;https://trac.webkit.org/changeset/232845/webkit&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341200</attachid>
            <date>2018-05-24 09:56:34 -0700</date>
            <delta_ts>2018-05-24 15:33:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185949-20180524095633.patch</filename>
            <type>text/plain</type>
            <size>242785</size>
            <attacher name="Roy Reapor">rreapor</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMTUyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmJlZTZkNTA4ZjViYzc3MGQ4ZGFlYzE2OWZiZGY5YTAz
MTY5MWU4Ny4uODcyYjgwZDI4MDU3NWUyM2EzYjAzNDkxNjUwYWIxNjRiNmIyNDYzOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE4LTA1LTI0ICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5jb20+CisKKyAgICAg
ICAgalF1ZXJ5IFVJIGltYWdlIGFzc2V0cyBtaXNzaW5nIG9uIHdlYmtpdC5vcmcgd2Vic2l0ZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTk0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1
cmVzL2dhcmRlbi1vLW1hdGljLmh0bWw6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3J1bi11bml0dGVz
dHMuaHRtbDoKKyAgICAgICAgKiBUZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL3J1
bi1lbWJlZGRlZC11bml0dGVzdHMuaHRtbDoKKyAgICAgICAgKiBUZXN0UmVzdWx0U2VydmVyL3N0
YXRpYy1kYXNoYm9hcmRzL3J1bi11bml0dGVzdHMuaHRtbDoKKwogMjAxOC0wNS0yNCAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2ViRHJpdmVy
OiBpbXBsZW1lbnQgbWF4aW1pemUsIG1pbmltaXplIGFuZCBmdWxsc2NyZWVuIHdpbmRvdyBjb21t
YW5kcwpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWwgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRtbAppbmRleCAwZGJkMjVkYmYwZmEwOTU0
MGFjNDkyMzlkYTQ2NTVhMmU1ZDZmNmVmLi5jNjcyOTRjNWI5NGU2ZDFlYjA3YzBlODkxNmRlOWVj
MTM0YmUwMzgzIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRt
bAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRtbApAQCAtMzYsNyArMzYs
NyBAQCBKYW1lcywgYSB3ZWIgZGV2ZWxvcGVyIGZyb20gQmlybWluZ2hhbSwgVUsuCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lLXNyYyAnc2VsZicgaHR0cHM6
Ly9idWlsZC53ZWJraXQub3JnIGh0dHBzOi8vd2Via2l0LXRlc3QtcmVzdWx0cy53ZWJraXQub3Jn
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0LXNyYyAn
c2VsZicgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcgaHR0cHM6Ly9idWlsZC53ZWJraXQub3JnIj4K
IDx0aXRsZT5HYXJkZW4tTy1NYXRpYzwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4x
NS5jc3MiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnktdWkubWluLmNzcyI+
CiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlcy9jb21tb24uY3NzIj4KIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzL29uZWJhci5jc3MiPgogPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJzdHlsZXMvZmFpbHVyZXMuY3NzIj4KQEAgLTQ3LDcgKzQ3LDcgQEAg
SmFtZXMsIGEgd2ViIGRldmVsb3BlciBmcm9tIEJpcm1pbmdoYW0sIFVLLgogPC9oZWFkPgogPGJv
ZHk+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnkvanF1
ZXJ5LTEuNi4yLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWktMS44LjE1Lm1pbi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0cy9i
YXNlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzY3JpcHRzL2NvbmZpZy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0cy9uZXQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0
bWwvVGVzdEZhaWx1cmVzL3J1bi11bml0dGVzdHMuaHRtbCBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9ydW4t
dW5pdHRlc3RzLmh0bWwKaW5kZXggN2YwMTgxNWNmZGQxOWY1Y2YyNjJmMzFiYmJjOTk4MGZmNDc0
ZjY0Yy4uNWJmZGRhZTRiZTcyNDE4NDQ4MmYwMjFkZjg3NDRiOTI5YjdlNzYyOSAxMDA2NDQKLS0t
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvVGVzdEZhaWx1cmVzL3J1bi11bml0dGVzdHMuaHRtbAorKysgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVy
ZXMvcnVuLXVuaXR0ZXN0cy5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIDxoZWFkPgogPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi8uLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9xdW5pdC9xdW5pdC9xdW5pdC5jc3MiPgogPHNj
cmlwdCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5L2pxdWVyeS0xLjYu
Mi5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5taW4uanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS11aS5taW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL1Nv
dXJjZS9UaGlyZFBhcnR5L3F1bml0L3F1bml0L3F1bml0LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJv
YXJkcy9ydW4tZW1iZWRkZWQtdW5pdHRlc3RzLmh0bWwgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVy
L3N0YXRpYy1kYXNoYm9hcmRzL3J1bi1lbWJlZGRlZC11bml0dGVzdHMuaHRtbAppbmRleCAzNWU3
ZWNiODU0YzM5ODFhMTU5ZTIwZjBlZjFhNjg5NDAzNGY5NWIwLi41MDhmMDFhYmI0MjFhMmVlMjYz
OTYzOTRjNjI0YThmNGJkZjJhM2NmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVy
L3N0YXRpYy1kYXNoYm9hcmRzL3J1bi1lbWJlZGRlZC11bml0dGVzdHMuaHRtbAorKysgYi9Ub29s
cy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL3J1bi1lbWJlZGRlZC11bml0dGVz
dHMuaHRtbApAQCAtMjcsNyArMjcsNyBAQCBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiA8aGVhZD4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vU291cmNlL1Ro
aXJkUGFydHkvcXVuaXQvcXVuaXQvcXVuaXQuY3NzIj4KIDxzY3JpcHQgc3JjPSJodHRwczovL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeS9qcXVlcnktMS42LjIubWluLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJodHRwczovL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpL2pxdWVy
eS11aS0xLjguMTUubWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJodHRwczovL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9Tb3VyY2UvVGhpcmRQYXJ0eS9xdW5pdC9xdW5p
dC9xdW5pdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvcnVuLXVuaXR0ZXN0cy5odG1sIGIv
VG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9ydW4tdW5pdHRlc3RzLmh0
bWwKaW5kZXggZTkwY2JhODcxNzE1NDczODcxZGIwYzNjZjM4MzFiNGM3ZWFhZTE4OC4uM2UzMjUy
ZjI1NDNjYmE2ODMwNjk2MmQ1ZjliMTU3ZDBiZmEzYWI5OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9ydW4tdW5pdHRlc3RzLmh0bWwKKysrIGIv
VG9vbHMvVGVzdFJlc3VsdFNlcnZlci9zdGF0aWMtZGFzaGJvYXJkcy9ydW4tdW5pdHRlc3RzLmh0
bWwKQEAgLTI3LDcgKzI3LDcgQEAgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogPGhl
YWQ+CiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL1NvdXJjZS9UaGlyZFBh
cnR5L3F1bml0L3F1bml0L3F1bml0LmNzcyI+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnkvanF1ZXJ5LTEuNi4yLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWkt
MS44LjE1Lm1pbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaHR0cHM6Ly93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vU291cmNlL1RoaXJkUGFydHkvcXVuaXQvcXVuaXQvcXVu
aXQuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4
IDQ1ODY2YjBlZTJmMWYzZTYyNTI2NzllNDgxYzdiMTg0YzkwNGQ0ZmYuLmY5ODRhN2IwODRlZjkw
MjVhMDZlNmM0NWFmMzAzZGQ1OTI1OGY3MTEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5v
cmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTgtMDUtMjQgIFJveSBSZWFwb3IgIDxycmVhcG9yQGFwcGxlLmNvbT4KKwor
ICAgICAgICBqUXVlcnkgVUkgaW1hZ2UgYXNzZXRzIG1pc3Npbmcgb24gd2Via2l0Lm9yZyB3ZWJz
aXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1
OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5jc3M6IFJlbW92ZWQuCisgICAgICAg
ICogYWpheC9saWJzL2pxdWVyeXVpL2pxdWVyeS11aS0xLjguMTUubWluLmpzOiBSZW1vdmVkLgor
ICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvOiBBZGRlZC4KKwogMjAxOC0wNS0y
MyAgUm95IFJlYXBvciAgPHJyZWFwb3JAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBTb3Vy
Y2UgU2FucyBQcm8gZnJvbSBXZWJLaXQgd2Vic2l0ZQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5jc3MgYi9XZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWktMS44LjE1LmNzcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFhODFiNzdiNDkwZGYzYTQ0Yzg4ZDQxNDVkNjM5
OWMxYmE5MTYyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9XZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWktMS44LjE1
LmNzcworKysgL2Rldi9udWxsCkBAIC0xLDU2OCArMCwwIEBACi0vKgotICogalF1ZXJ5IFVJIENT
UyBGcmFtZXdvcmsgMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0ICho
dHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlU
IG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNl
Ci0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UaGVtaW5nL0FQSQotICovCi0KLS8q
IExheW91dCBoZWxwZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS51
aS1oZWxwZXItaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQotLnVpLWhlbHBlci1oaWRkZW4tYWNj
ZXNzaWJsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBjbGlwOiByZWN0KDFweCAx
cHggMXB4IDFweCk7IGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTsgfQotLnVpLWhlbHBlci1y
ZXNldCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBvdXRsaW5lOiAwOyBsaW5l
LWhlaWdodDogMS4zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtc2l6ZTogMTAwJTsgbGlz
dC1zdHlsZTogbm9uZTsgfQotLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7IGNvbnRlbnQ6ICIu
IjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgY2xlYXI6IGJvdGg7IHZpc2liaWxpdHk6IGhp
ZGRlbjsgfQotLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQot
LyogcmVxdWlyZWQgY29tbWVudCBmb3IgY2xlYXJmaXggdG8gd29yayBpbiBPcGVyYSBcKi8KLSog
aHRtbCAudWktaGVscGVyLWNsZWFyZml4IHsgaGVpZ2h0OjElOyB9Ci0udWktaGVscGVyLWNsZWFy
Zml4IHsgZGlzcGxheTpibG9jazsgfQotLyogZW5kIGNsZWFyZml4ICovCi0udWktaGVscGVyLXpm
aXggeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB0b3A6IDA7IGxlZnQ6IDA7IHBvc2l0aW9u
OiBhYnNvbHV0ZTsgb3BhY2l0eTogMDsgZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IH0KLQotCi0v
KiBJbnRlcmFjdGlvbiBDdWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8K
LS51aS1zdGF0ZS1kaXNhYmxlZCB7IGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50OyB9Ci0KLQot
LyogSWNvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotCi0vKiBzdGF0
ZXMgYW5kIGltYWdlcyAqLwotLnVpLWljb24geyBkaXNwbGF5OiBibG9jazsgdGV4dC1pbmRlbnQ6
IC05OTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0
OyB9Ci0KLQotLyogTWlzYyB2aXN1YWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKi8KLQotLyogT3ZlcmxheXMgKi8KLS51aS13aWRnZXQtb3ZlcmxheSB7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9Ci0K
LQotLyoKLSAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuOC4xNQotICoKLSAqIENvcHlyaWdo
dCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwg
bGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0
cDovL2pxdWVyeS5vcmcvbGljZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkv
VGhlbWluZy9BUEkKLSAqCi0gKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQg
aHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PVZlcmRhbmEsQXJpYWws
c2Fucy1zZXJpZiZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xLjFlbSZjb3JuZXJSYWRpdXM9
NHB4JmJnQ29sb3JIZWFkZXI9Y2NjY2NjJmJnVGV4dHVyZUhlYWRlcj0wM19oaWdobGlnaHRfc29m
dC5wbmcmYmdJbWdPcGFjaXR5SGVhZGVyPTc1JmJvcmRlckNvbG9ySGVhZGVyPWFhYWFhYSZmY0hl
YWRlcj0yMjIyMjImaWNvbkNvbG9ySGVhZGVyPTIyMjIyMiZiZ0NvbG9yQ29udGVudD1mZmZmZmYm
YmdUZXh0dXJlQ29udGVudD0wMV9mbGF0LnBuZyZiZ0ltZ09wYWNpdHlDb250ZW50PTc1JmJvcmRl
ckNvbG9yQ29udGVudD1hYWFhYWEmZmNDb250ZW50PTIyMjIyMiZpY29uQ29sb3JDb250ZW50PTIy
MjIyMiZiZ0NvbG9yRGVmYXVsdD1lNmU2ZTYmYmdUZXh0dXJlRGVmYXVsdD0wMl9nbGFzcy5wbmcm
YmdJbWdPcGFjaXR5RGVmYXVsdD03NSZib3JkZXJDb2xvckRlZmF1bHQ9ZDNkM2QzJmZjRGVmYXVs
dD01NTU1NTUmaWNvbkNvbG9yRGVmYXVsdD04ODg4ODgmYmdDb2xvckhvdmVyPWRhZGFkYSZiZ1Rl
eHR1cmVIb3Zlcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5SG92ZXI9NzUmYm9yZGVyQ29sb3JI
b3Zlcj05OTk5OTkmZmNIb3Zlcj0yMTIxMjEmaWNvbkNvbG9ySG92ZXI9NDU0NTQ1JmJnQ29sb3JB
Y3RpdmU9ZmZmZmZmJmJnVGV4dHVyZUFjdGl2ZT0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5QWN0
aXZlPTY1JmJvcmRlckNvbG9yQWN0aXZlPWFhYWFhYSZmY0FjdGl2ZT0yMTIxMjEmaWNvbkNvbG9y
QWN0aXZlPTQ1NDU0NSZiZ0NvbG9ySGlnaGxpZ2h0PWZiZjllZSZiZ1RleHR1cmVIaWdobGlnaHQ9
MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUhpZ2hsaWdodD01NSZib3JkZXJDb2xvckhpZ2hsaWdo
dD1mY2VmYTEmZmNIaWdobGlnaHQ9MzYzNjM2Jmljb25Db2xvckhpZ2hsaWdodD0yZTgzZmYmYmdD
b2xvckVycm9yPWZlZjFlYyZiZ1RleHR1cmVFcnJvcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5
RXJyb3I9OTUmYm9yZGVyQ29sb3JFcnJvcj1jZDBhMGEmZmNFcnJvcj1jZDBhMGEmaWNvbkNvbG9y
RXJyb3I9Y2QwYTBhJmJnQ29sb3JPdmVybGF5PWFhYWFhYSZiZ1RleHR1cmVPdmVybGF5PTAxX2Zs
YXQucG5nJmJnSW1nT3BhY2l0eU92ZXJsYXk9MCZvcGFjaXR5T3ZlcmxheT0zMCZiZ0NvbG9yU2hh
ZG93PWFhYWFhYSZiZ1RleHR1cmVTaGFkb3c9MDFfZmxhdC5wbmcmYmdJbWdPcGFjaXR5U2hhZG93
PTAmb3BhY2l0eVNoYWRvdz0zMCZ0aGlja25lc3NTaGFkb3c9OHB4Jm9mZnNldFRvcFNoYWRvdz0t
OHB4Jm9mZnNldExlZnRTaGFkb3c9LThweCZjb3JuZXJSYWRpdXNTaGFkb3c9OHB4Ci0gKi8KLQot
Ci0vKiBDb21wb25lbnQgY29udGFpbmVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSovCi0udWktd2lkZ2V0IHsgZm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsc2Fucy1zZXJp
ZjsgZm9udC1zaXplOiAxLjFlbTsgfQotLnVpLXdpZGdldCAudWktd2lkZ2V0IHsgZm9udC1zaXpl
OiAxZW07IH0KLS51aS13aWRnZXQgaW5wdXQsIC51aS13aWRnZXQgc2VsZWN0LCAudWktd2lkZ2V0
IHRleHRhcmVhLCAudWktd2lkZ2V0IGJ1dHRvbiB7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFs
LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMWVtOyB9Ci0udWktd2lkZ2V0LWNvbnRlbnQgeyBib3Jk
ZXI6IDFweCBzb2xpZCAjYWFhYWFhOyBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybChpbWFnZXMvdWkt
YmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgY29sb3I6ICMy
MjIyMjI7IH0KLS51aS13aWRnZXQtY29udGVudCBhIHsgY29sb3I6ICMyMjIyMjI7IH0KLS51aS13
aWRnZXQtaGVhZGVyIHsgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTsgYmFja2dyb3VuZDogI2Nj
Y2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcp
IDUwJSA1MCUgcmVwZWF0LXg7IGNvbG9yOiAjMjIyMjIyOyBmb250LXdlaWdodDogYm9sZDsgfQot
LnVpLXdpZGdldC1oZWFkZXIgYSB7IGNvbG9yOiAjMjIyMjIyOyB9Ci0KLS8qIEludGVyYWN0aW9u
IHN0YXRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0udWktc3RhdGUt
ZGVmYXVsdCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0
LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7IGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7IGJh
Y2tncm91bmQ6ICNlNmU2ZTYgdXJsKGltYWdlcy91aS1iZ19nbGFzc183NV9lNmU2ZTZfMXg0MDAu
cG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzU1NTU1
NTsgfQotLnVpLXN0YXRlLWRlZmF1bHQgYSwgLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLCAudWkt
c3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQgeyBjb2xvcjogIzU1NTU1NTsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyB9Ci0udWktc3RhdGUtaG92ZXIsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUt
aG92ZXIsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlciwgLnVpLXN0YXRlLWZvY3Vz
LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLCAudWktd2lkZ2V0LWhlYWRlciAu
dWktc3RhdGUtZm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5OyBiYWNrZ3JvdW5kOiAj
ZGFkYWRhIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZykgNTAlIDUw
JSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICMyMTIxMjE7IH0KLS51aS1z
dGF0ZS1ob3ZlciBhLCAudWktc3RhdGUtaG92ZXIgYTpob3ZlciB7IGNvbG9yOiAjMjEyMTIxOyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLS51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtY29u
dGVudCAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZl
IHsgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTsgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoaW1h
Z2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGZv
bnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjMjEyMTIxOyB9Ci0udWktc3RhdGUtYWN0aXZlIGEs
IC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLCAudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7IGNv
bG9yOiAjMjEyMTIxOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLS51aS13aWRnZXQgOmFjdGl2
ZSB7IG91dGxpbmU6IG5vbmU7IH0KLQotLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0udWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0
LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRl
LWhpZ2hsaWdodCAge2JvcmRlcjogMXB4IHNvbGlkICNmY2VmYTE7IGJhY2tncm91bmQ6ICNmYmY5
ZWUgdXJsKGltYWdlcy91aS1iZ19nbGFzc181NV9mYmY5ZWVfMXg0MDAucG5nKSA1MCUgNTAlIHJl
cGVhdC14OyBjb2xvcjogIzM2MzYzNjsgfQotLnVpLXN0YXRlLWhpZ2hsaWdodCBhLCAudWktd2lk
Z2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLC51aS13aWRnZXQtaGVhZGVyIC51aS1z
dGF0ZS1oaWdobGlnaHQgYSB7IGNvbG9yOiAjMzYzNjM2OyB9Ci0udWktc3RhdGUtZXJyb3IsIC51
aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsIC51aS13aWRnZXQtaGVhZGVyIC51aS1z
dGF0ZS1lcnJvciB7Ym9yZGVyOiAxcHggc29saWQgI2NkMGEwYTsgYmFja2dyb3VuZDogI2ZlZjFl
YyB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmcpIDUwJSA1MCUgcmVw
ZWF0LXg7IGNvbG9yOiAjY2QwYTBhOyB9Ci0udWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1j
b250ZW50IC51aS1zdGF0ZS1lcnJvciBhLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJy
b3IgYSB7IGNvbG9yOiAjY2QwYTBhOyB9Ci0udWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdl
dC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3Rh
dGUtZXJyb3ItdGV4dCB7IGNvbG9yOiAjY2QwYTBhOyB9Ci0udWktcHJpb3JpdHktcHJpbWFyeSwg
LnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWhlYWRl
ciAudWktcHJpb3JpdHktcHJpbWFyeSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Ci0udWktcHJpb3Jp
dHktc2Vjb25kYXJ5LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSwg
IC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkgeyBvcGFjaXR5OiAuNzsg
ZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyBmb250LXdlaWdodDogbm9ybWFsOyB9Ci0udWktc3Rh
dGUtZGlzYWJsZWQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsIC51aS13
aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7IG9wYWNpdHk6IC4zNTsgZmlsdGVyOkFs
cGhhKE9wYWNpdHk9MzUpOyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9Ci0KLS8qIEljb25zCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQotLyogc3RhdGVzIGFuZCBpbWFn
ZXMgKi8KLS51aS1pY29uIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZC1p
bWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci0udWktd2lk
Z2V0LWNvbnRlbnQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNv
bnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQotLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge2Jh
Y2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsg
fQotLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1h
Z2VzL3VpLWljb25zXzg4ODg4OF8yNTZ4MjQwLnBuZyk7IH0KLS51aS1zdGF0ZS1ob3ZlciAudWkt
aWNvbiwgLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1h
Z2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZyk7IH0KLS51aS1zdGF0ZS1hY3RpdmUgLnVp
LWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1Nngy
NDAucG5nKTsgfQotLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFn
ZTogdXJsKGltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcpOyB9Ci0udWktc3RhdGUt
ZXJyb3IgLnVpLWljb24sIC51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2NkMGEwYV8yNTZ4MjQwLnBuZyk7IH0KLQotLyog
cG9zaXRpb25pbmcgKi8KLS51aS1pY29uLWNhcmF0LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246
IDAgMDsgfQotLnVpLWljb24tY2FyYXQtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4
IDA7IH0KLS51aS1pY29uLWNhcmF0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7
IH0KLS51aS1pY29uLWNhcmF0LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAwOyB9
Ci0udWktaWNvbi1jYXJhdC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9Ci0u
dWktaWNvbi1jYXJhdC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfQotLnVp
LWljb24tY2FyYXQtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfQotLnVpLWlj
b24tY2FyYXQtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9Ci0udWktaWNv
bi1jYXJhdC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9Ci0udWktaWNv
bi1jYXJhdC0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwOyB9Ci0udWktaWNv
bi10cmlhbmdsZS0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNnB4OyB9Ci0udWktaWNv
bi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH0KLS51
aS1pY29uLXRyaWFuZ2xlLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNnB4OyB9
Ci0udWktaWNvbi10cmlhbmdsZS0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2
cHg7IH0KLS51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4
IC0xNnB4OyB9Ci0udWktaWNvbi10cmlhbmdsZS0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LTgwcHggLTE2cHg7IH0KLS51aS1pY29uLXRyaWFuZ2xlLTEtdyB7IGJhY2tncm91bmQtcG9zaXRp
b246IC05NnB4IC0xNnB4OyB9Ci0udWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogLTExMnB4IC0xNnB4OyB9Ci0udWktaWNvbi10cmlhbmdsZS0yLW4tcyB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0xMjhweCAtMTZweDsgfQotLnVpLWljb24tdHJpYW5nbGUtMi1lLXcg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2cHg7IH0KLS51aS1pY29uLWFycm93LTEt
biB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH0KLS51aS1pY29uLWFycm93LTEtbmUg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3ctMS1l
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7IH0KLS51aS1pY29uLWFycm93LTEt
c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3ct
MS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTMycHg7IH0KLS51aS1pY29uLWFycm93
LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzJweDsgfQotLnVpLWljb24tYXJy
b3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH0KLS51aS1pY29uLWFy
cm93LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMycHg7IH0KLS51aS1pY29u
LWFycm93LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4OyB9Ci0udWkt
aWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9
Ci0udWktaWNvbi1hcnJvdy0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJw
eDsgfQotLnVpLWljb24tYXJyb3ctMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZw
eCAtMzJweDsgfQotLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246
IC0xOTJweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3dzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9z
aXRpb246IC0yMDhweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3dzdG9wLTEtcyB7IGJhY2tncm91
bmQtcG9zaXRpb246IC0yMjRweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfQotLnVpLWljb24tYXJyb3d0aGljay0x
LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNr
LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfQotLnVpLWljb24tYXJy
b3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfQotLnVpLWlj
b24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH0K
LS51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4
cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04
MHB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRp
b246IC05NnB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2st
Mi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfQotLnVpLWljb24t
YXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfQot
LnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4
IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiAtMTkycHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfQotLnVpLWljb24tYXJyb3d0aGlja3N0b3At
MS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJv
d3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH0KLS51
aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRw
eDsgfQotLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtMTZweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0x
LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dy
ZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH0KLS51aS1pY29u
LWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9Ci0u
dWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRw
eDsgfQotLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEx
MnB4IC02NHB4OyB9Ci0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTEyOHB4IC02NHB4OyB9Ci0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9Ci0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1l
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9Ci0udWktaWNvbi1hcnJvd3Jl
ZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9Ci0udWktaWNv
bi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfQotLnVpLWljb24tYXJy
b3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH0KLS51aS1pY29u
LWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfQotLnVpLWljb24t
bmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH0KLS51aS1pY29uLXJl
ZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfQotLnVpLWljb24tc2h1
ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9Ci0udWktaWNvbi10cmFu
c2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfQotLnVpLWljb24t
dHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH0K
LS51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4
OyB9Ci0udWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05
NnB4OyB9Ci0udWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05
NnB4OyB9Ci0udWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHgg
LTk2cHg7IH0KLS51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZw
eDsgfQotLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAt
OTZweDsgfQotLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHgg
LTk2cHg7IH0KLS51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4
IC05NnB4OyB9Ci0udWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4
IC05NnB4OyB9Ci0udWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHgg
LTk2cHg7IH0KLS51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05
NnB4OyB9Ci0udWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZw
eDsgfQotLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4
OyB9Ci0udWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZw
eDsgfQotLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2
cHg7IH0KLS51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsg
fQotLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9Ci0udWkt
aWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9Ci0udWktaWNv
bi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfQotLnVpLWlj
b24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfQotLnVpLWljb24t
cGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9Ci0udWktaWNvbi1j
bG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfQotLnVpLWljb24tZGlz
ayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfQotLnVpLWljb24tY2FsY3Vs
YXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH0KLS51aS1pY29uLXpv
b21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH0KLS51aS1pY29uLXpv
b21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9Ci0udWktaWNvbi1z
ZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9Ci0udWktaWNvbi13
cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9Ci0udWktaWNvbi1n
ZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfQotLnVpLWljb24taGVh
cnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9Ci0udWktaWNvbi1zdGFy
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfQotLnVpLWljb24tbGluayB7
IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH0KLS51aS1pY29uLWNhbmNlbCB7
IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9Ci0udWktaWNvbi1wbHVzIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9Ci0udWktaWNvbi1wbHVzdGhpY2sgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH0KLS51aS1pY29uLW1pbnVzIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9Ci0udWktaWNvbi1taW51c3RoaWNrIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9Ci0udWktaWNvbi1jbG9zZSB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfQotLnVpLWljb24tY2xvc2V0aGljayB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfQotLnVpLWljb24ta2V5IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfQotLnVpLWljb24tbGlnaHRidWxiIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfQotLnVpLWljb24tc2Npc3NvcnMgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9Ci0udWktaWNvbi1jbGlwYm9hcmQg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9Ci0udWktaWNvbi1jb3B5IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfQotLnVpLWljb24tY29udGFjdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH0KLS51aS1pY29uLWltYWdlIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfQotLnVpLWljb24tdmlkZW8geyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9Ci0udWktaWNvbi1zY3JpcHQgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9Ci0udWktaWNvbi1hbGVydCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9Ci0udWktaWNvbi1pbmZvIHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9Ci0udWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH0KLS51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtNDhweCAtMTQ0cHg7IH0KLS51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTY0cHggLTE0NHB4OyB9Ci0udWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiAtODBweCAtMTQ0cHg7IH0KLS51aS1pY29uLXJhZGlvLW9mZiB7IGJhY2tncm91bmQtcG9z
aXRpb246IC05NnB4IC0xNDRweDsgfQotLnVpLWljb24tcmFkaW8tb24geyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtMTEycHggLTE0NHB4OyB9Ci0udWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9z
aXRpb246IC0xMjhweCAtMTQ0cHg7IH0KLS51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTE0NHB4IC0xNDRweDsgfQotLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRp
b246IDAgLTE2MHB4OyB9Ci0udWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0x
NnB4IC0xNjBweDsgfQotLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LTMycHggLTE2MHB4OyB9Ci0udWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtNDhweCAtMTYwcHg7IH0KLS51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLTY0cHggLTE2MHB4OyB9Ci0udWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTgwcHggLTE2MHB4OyB9Ci0vKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRl
ZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovCi0udWktaWNvbi1zZWVrLWZpcnN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci0udWktaWNvbi1zdG9wIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9Ci0udWktaWNvbi1lamVjdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH0KLS51aS1pY29uLXZvbHVtZS1vZmYg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9Ci0udWktaWNvbi12b2x1bWUt
b24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9Ci0udWktaWNvbi1wb3dl
ciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9Ci0udWktaWNvbi1zaWduYWwtZGlh
ZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfQotLnVpLWljb24tc2lnbmFs
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9Ci0udWktaWNvbi1iYXR0ZXJ5
LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH0KLS51aS1pY29uLWJhdHRl
cnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfQotLnVpLWljb24tYmF0
dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9Ci0udWktaWNvbi1i
YXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH0KLS51aS1pY29u
LWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH0KLS51aS1pY29u
LWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfQotLnVp
LWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9
Ci0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4
IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiAtNjRweCAtMTkycHg7IH0KLS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUt
biB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xl
LWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9Ci0udWktaWNv
bi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH0K
LS51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0x
OTJweDsgfQotLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
MTYwcHggLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTE3NnB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGUtY2hlY2sgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGVzbWFs
bC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH0KLS51aS1pY29uLWNpcmNs
ZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9Ci0udWkt
aWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhw
eDsgfQotLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00
OHB4IC0yMDhweDsgfQotLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtNjRweCAtMjA4cHg7IH0KLS51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9Ci0udWktaWNvbi1ncmlwLWRvdHRlZC12
ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9Ci0udWktaWNvbi1ncmlw
LWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9
Ci0udWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMy
cHggLTIyNHB4OyB9Ci0udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH0KLS51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1z
ZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfQotLnVpLWljb24tZ3JpcC1k
aWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfQotCi0KLS8q
IE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLS8q
IENvcm5lciByYWRpdXMgKi8KLS51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLXRvcCwgLnVpLWNv
cm5lci1sZWZ0LCAudWktY29ybmVyLXRsIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRw
eDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IC1raHRtbC1ib3JkZXItdG9w
LWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfQotLnVpLWNv
cm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRy
IHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1y
aWdodC1yYWRpdXM6IDRweDsgLWtodG1sLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJv
cmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLS51aS1jb3JuZXItYWxsLCAudWktY29ybmVy
LWJvdHRvbSwgLnVpLWNvcm5lci1sZWZ0LCAudWktY29ybmVyLWJsIHsgLW1vei1ib3JkZXItcmFk
aXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0
cHg7IC1raHRtbC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20t
bGVmdC1yYWRpdXM6IDRweDsgfQotLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItYm90dG9tLCAu
dWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLWJyIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRv
bXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgLWto
dG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQt
cmFkaXVzOiA0cHg7IH0KLQotLyogT3ZlcmxheXMgKi8KLS51aS13aWRnZXQtb3ZlcmxheSB7IGJh
Y2tncm91bmQ6ICNhYWFhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5w
bmcpIDUwJSA1MCUgcmVwZWF0LXg7IG9wYWNpdHk6IC4zMDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0z
MCk7IH0KLS51aS13aWRnZXQtc2hhZG93IHsgbWFyZ2luOiAtOHB4IDAgMCAtOHB4OyBwYWRkaW5n
OiA4cHg7IGJhY2tncm91bmQ6ICNhYWFhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFh
XzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IG9wYWNpdHk6IC4zMDtmaWx0ZXI6QWxwaGEo
T3BhY2l0eT0zMCk7IC1tb3otYm9yZGVyLXJhZGl1czogOHB4OyAta2h0bWwtYm9yZGVyLXJhZGl1
czogOHB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDsgYm9yZGVyLXJhZGl1czogOHB4OyB9
LyoKLSAqIGpRdWVyeSBVSSBSZXNpemFibGUgMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEs
IEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNl
ZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1
ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9SZXNpemFi
bGUjdGhlbWluZwotICovCi0udWktcmVzaXphYmxlIHsgcG9zaXRpb246IHJlbGF0aXZlO30KLS51
aS1yZXNpemFibGUtaGFuZGxlIHsgcG9zaXRpb246IGFic29sdXRlO2ZvbnQtc2l6ZTogMC4xcHg7
ei1pbmRleDogOTk5OTk7IGRpc3BsYXk6IGJsb2NrOyB9Ci0udWktcmVzaXphYmxlLWRpc2FibGVk
IC51aS1yZXNpemFibGUtaGFuZGxlLCAudWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFi
bGUtaGFuZGxlIHsgZGlzcGxheTogbm9uZTsgfQotLnVpLXJlc2l6YWJsZS1uIHsgY3Vyc29yOiBu
LXJlc2l6ZTsgaGVpZ2h0OiA3cHg7IHdpZHRoOiAxMDAlOyB0b3A6IC01cHg7IGxlZnQ6IDA7IH0K
LS51aS1yZXNpemFibGUtcyB7IGN1cnNvcjogcy1yZXNpemU7IGhlaWdodDogN3B4OyB3aWR0aDog
MTAwJTsgYm90dG9tOiAtNXB4OyBsZWZ0OiAwOyB9Ci0udWktcmVzaXphYmxlLWUgeyBjdXJzb3I6
IGUtcmVzaXplOyB3aWR0aDogN3B4OyByaWdodDogLTVweDsgdG9wOiAwOyBoZWlnaHQ6IDEwMCU7
IH0KLS51aS1yZXNpemFibGUtdyB7IGN1cnNvcjogdy1yZXNpemU7IHdpZHRoOiA3cHg7IGxlZnQ6
IC01cHg7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci0udWktcmVzaXphYmxlLXNlIHsgY3Vyc29y
OiBzZS1yZXNpemU7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IHJpZ2h0OiAxcHg7IGJvdHRv
bTogMXB4OyB9Ci0udWktcmVzaXphYmxlLXN3IHsgY3Vyc29yOiBzdy1yZXNpemU7IHdpZHRoOiA5
cHg7IGhlaWdodDogOXB4OyBsZWZ0OiAtNXB4OyBib3R0b206IC01cHg7IH0KLS51aS1yZXNpemFi
bGUtbncgeyBjdXJzb3I6IG53LXJlc2l6ZTsgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IGxlZnQ6
IC01cHg7IHRvcDogLTVweDsgfQotLnVpLXJlc2l6YWJsZS1uZSB7IGN1cnNvcjogbmUtcmVzaXpl
OyB3aWR0aDogOXB4OyBoZWlnaHQ6IDlweDsgcmlnaHQ6IC01cHg7IHRvcDogLTVweDt9LyoKLSAq
IGpRdWVyeSBVSSBTZWxlY3RhYmxlIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRI
T1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5k
ZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5v
cmcvbGljZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2VsZWN0YWJsZSN0
aGVtaW5nCi0gKi8KLS51aS1zZWxlY3RhYmxlLWhlbHBlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsg
ei1pbmRleDogMTAwOyBib3JkZXI6MXB4IGRvdHRlZCBibGFjazsgfQotLyoKLSAqIGpRdWVyeSBV
SSBBY2NvcmRpb24gMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0ICho
dHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlU
IG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNl
Ci0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24jdGhlbWluZwotICov
Ci0vKiBJRS9XaW4gLSBGaXggYW5pbWF0aW9uIGJ1ZyAtICM0NjE1ICovCi0udWktYWNjb3JkaW9u
IHsgd2lkdGg6IDEwMCU7IH0KLS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIgeyBj
dXJzb3I6IHBvaW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLXRvcDogMXB4OyB6b29t
OiAxOyB9Ci0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tbGktZml4IHsgZGlzcGxheTogaW5s
aW5lOyB9Ci0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB7IGJvcmRl
ci1ib3R0b206IDAgIWltcG9ydGFudDsgfQotLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhl
YWRlciBhIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMWVtOyBwYWRkaW5nOiAuNWVtIC41
ZW0gLjVlbSAuN2VtOyB9Ci0udWktYWNjb3JkaW9uLWljb25zIC51aS1hY2NvcmRpb24taGVhZGVy
IGEgeyBwYWRkaW5nLWxlZnQ6IDIuMmVtOyB9Ci0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24t
aGVhZGVyIC51aS1pY29uIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAuNWVtOyB0b3A6IDUw
JTsgbWFyZ2luLXRvcDogLThweDsgfQotLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRl
bnQgeyBwYWRkaW5nOiAxZW0gMi4yZW07IGJvcmRlci10b3A6IDA7IG1hcmdpbi10b3A6IC0ycHg7
IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxcHg7IG1hcmdpbi1ib3R0b206IDJweDsgb3ZlcmZs
b3c6IGF1dG87IGRpc3BsYXk6IG5vbmU7IHpvb206IDE7IH0KLS51aS1hY2NvcmRpb24gLnVpLWFj
Y29yZGlvbi1jb250ZW50LWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9Ci0vKgotICogalF1ZXJ5
IFVJIEF1dG9jb21wbGV0ZSAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50
eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRo
ZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xp
Y2Vuc2UKLSAqCi0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0F1dG9jb21wbGV0ZSN0aGVt
aW5nCi0gKi8KLS51aS1hdXRvY29tcGxldGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGN1cnNvcjog
ZGVmYXVsdDsgfQkKLQotLyogd29ya2Fyb3VuZHMgKi8KLSogaHRtbCAudWktYXV0b2NvbXBsZXRl
IHsgd2lkdGg6MXB4OyB9IC8qIHdpdGhvdXQgdGhpcywgdGhlIG1lbnUgZXhwYW5kcyB0byAxMDAl
IGluIElFNiAqLwotCi0vKgotICogalF1ZXJ5IFVJIE1lbnUgMS44LjE1Ci0gKgotICogQ29weXJp
Z2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVh
bCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBo
dHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9V
SS9NZW51I3RoZW1pbmcKLSAqLwotLnVpLW1lbnUgewotCWxpc3Qtc3R5bGU6bm9uZTsKLQlwYWRk
aW5nOiAycHg7Ci0JbWFyZ2luOiAwOwotCWRpc3BsYXk6YmxvY2s7Ci0JZmxvYXQ6IGxlZnQ7Ci19
Ci0udWktbWVudSAudWktbWVudSB7Ci0JbWFyZ2luLXRvcDogLTNweDsKLX0KLS51aS1tZW51IC51
aS1tZW51LWl0ZW0gewotCW1hcmdpbjowOwotCXBhZGRpbmc6IDA7Ci0Jem9vbTogMTsKLQlmbG9h
dDogbGVmdDsKLQljbGVhcjogbGVmdDsKLQl3aWR0aDogMTAwJTsKLX0KLS51aS1tZW51IC51aS1t
ZW51LWl0ZW0gYSB7Ci0JdGV4dC1kZWNvcmF0aW9uOm5vbmU7Ci0JZGlzcGxheTpibG9jazsKLQlw
YWRkaW5nOi4yZW0gLjRlbTsKLQlsaW5lLWhlaWdodDoxLjU7Ci0Jem9vbToxOwotfQotLnVpLW1l
bnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLAotLnVpLW1lbnUgLnVpLW1lbnUtaXRl
bSBhLnVpLXN0YXRlLWFjdGl2ZSB7Ci0JZm9udC13ZWlnaHQ6IG5vcm1hbDsKLQltYXJnaW46IC0x
cHg7Ci19Ci0vKgotICogalF1ZXJ5IFVJIEJ1dHRvbiAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQg
MjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6
Ly9qcXVlcnkub3JnL2xpY2Vuc2UKLSAqCi0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0J1
dHRvbiN0aGVtaW5nCi0gKi8KLS51aS1idXR0b24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBv
c2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMDsgbWFyZ2luLXJpZ2h0OiAuMWVtOyB0ZXh0LWRl
Y29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWFsaWduOiBj
ZW50ZXI7IHpvb206IDE7IG92ZXJmbG93OiB2aXNpYmxlOyB9IC8qIHRoZSBvdmVyZmxvdyBwcm9w
ZXJ0eSByZW1vdmVzIGV4dHJhIHdpZHRoIGluIElFICovCi0udWktYnV0dG9uLWljb24tb25seSB7
IHdpZHRoOiAyLjJlbTsgfSAvKiB0byBtYWtlIHJvb20gZm9yIHRoZSBpY29uLCBhIHdpZHRoIG5l
ZWRzIHRvIGJlIHNldCBoZXJlICovCi1idXR0b24udWktYnV0dG9uLWljb24tb25seSB7IHdpZHRo
OiAyLjRlbTsgfSAvKiBidXR0b24gZWxlbWVudHMgc2VlbSB0byBuZWVkIGEgbGl0dGxlIG1vcmUg
d2lkdGggKi8KLS51aS1idXR0b24taWNvbnMtb25seSB7IHdpZHRoOiAzLjRlbTsgfSAKLWJ1dHRv
bi51aS1idXR0b24taWNvbnMtb25seSB7IHdpZHRoOiAzLjdlbTsgfSAKLQotLypidXR0b24gdGV4
dCBlbGVtZW50ICovCi0udWktYnV0dG9uIC51aS1idXR0b24tdGV4dCB7IGRpc3BsYXk6IGJsb2Nr
OyBsaW5lLWhlaWdodDogMS40OyAgfQotLnVpLWJ1dHRvbi10ZXh0LW9ubHkgLnVpLWJ1dHRvbi10
ZXh0IHsgcGFkZGluZzogLjRlbSAxZW07IH0KLS51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0
b24tdGV4dCwgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmc6
IC40ZW07IHRleHQtaW5kZW50OiAtOTk5OTk5OXB4OyB9Ci0udWktYnV0dG9uLXRleHQtaWNvbi1w
cmltYXJ5IC51aS1idXR0b24tdGV4dCwgLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24t
dGV4dCB7IHBhZGRpbmc6IC40ZW0gMWVtIC40ZW0gMi4xZW07IH0KLS51aS1idXR0b24tdGV4dC1p
Y29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsIC51aS1idXR0b24tdGV4dC1pY29ucyAudWkt
YnV0dG9uLXRleHQgeyBwYWRkaW5nOiAuNGVtIDIuMWVtIC40ZW0gMWVtOyB9Ci0udWktYnV0dG9u
LXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsgcGFkZGluZy1sZWZ0OiAyLjFlbTsgcGFkZGlu
Zy1yaWdodDogMi4xZW07IH0KLS8qIG5vIGljb24gc3VwcG9ydCBmb3IgaW5wdXQgZWxlbWVudHMs
IHByb3ZpZGUgcGFkZGluZyBieSBkZWZhdWx0ICovCi1pbnB1dC51aS1idXR0b24geyBwYWRkaW5n
OiAuNGVtIDFlbTsgfQotCi0vKmJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi8KLS51aS1idXR0b24t
aWNvbi1vbmx5IC51aS1pY29uLCAudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1pY29u
LCAudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWljb24sIC51aS1idXR0b24tdGV4
dC1pY29ucyAudWktaWNvbiwgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29uIHsgcG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLThweDsgfQotLnVpLWJ1dHRvbi1p
Y29uLW9ubHkgLnVpLWljb24geyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtOHB4OyB9Ci0udWkt
YnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1idXR0b24taWNvbi1wcmltYXJ5LCAudWktYnV0
dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksIC51aS1idXR0b24taWNvbnMt
b25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeSB7IGxlZnQ6IC41ZW07IH0KLS51aS1idXR0b24t
dGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LCAudWktYnV0dG9u
LXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwgLnVpLWJ1dHRvbi1pY29ucy1v
bmx5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnkgeyByaWdodDogLjVlbTsgfQotLnVpLWJ1dHRv
bi10ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24taWNvbnMt
b25seSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHsgcmlnaHQ6IC41ZW07IH0KLQotLypidXR0
b24gc2V0cyovCi0udWktYnV0dG9uc2V0IHsgbWFyZ2luLXJpZ2h0OiA3cHg7IH0KLS51aS1idXR0
b25zZXQgLnVpLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IC0uM2VtOyB9
Ci0KLS8qIHdvcmthcm91bmRzICovCi1idXR0b24udWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVy
IHsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyB9IC8qIHJlc2V0IGV4dHJhIHBhZGRpbmcgaW4gRmly
ZWZveCAqLwotLyoKLSAqIGpRdWVyeSBVSSBEaWFsb2cgMS44LjE1Ci0gKgotICogQ29weXJpZ2h0
IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBs
aWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRw
Oi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9E
aWFsb2cjdGhlbWluZwotICovCi0udWktZGlhbG9nIHsgcG9zaXRpb246IGFic29sdXRlOyBwYWRk
aW5nOiAuMmVtOyB3aWR0aDogMzAwcHg7IG92ZXJmbG93OiBoaWRkZW47IH0KLS51aS1kaWFsb2cg
LnVpLWRpYWxvZy10aXRsZWJhciB7IHBhZGRpbmc6IC40ZW0gMWVtOyBwb3NpdGlvbjogcmVsYXRp
dmU7ICB9Ci0udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGUgeyBmbG9hdDogbGVmdDsgbWFyZ2lu
OiAuMWVtIDE2cHggLjFlbSAwOyB9IAotLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNs
b3NlIHsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogLjNlbTsgdG9wOiA1MCU7IHdpZHRoOiAx
OXB4OyBtYXJnaW46IC0xMHB4IDAgMCAwOyBwYWRkaW5nOiAxcHg7IGhlaWdodDogMThweDsgfQot
LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHNwYW4geyBkaXNwbGF5OiBibG9j
azsgbWFyZ2luOiAxcHg7IH0KLS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpo
b3ZlciwgLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmZvY3VzIHsgcGFkZGlu
ZzogMDsgfQotLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRp
dmU7IGJvcmRlcjogMDsgcGFkZGluZzogLjVlbSAxZW07IGJhY2tncm91bmQ6IG5vbmU7IG92ZXJm
bG93OiBhdXRvOyB6b29tOiAxOyB9Ci0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7
IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlci13aWR0aDogMXB4IDAgMCAwOyBiYWNrZ3JvdW5kLWlt
YWdlOiBub25lOyBtYXJnaW46IC41ZW0gMCAwIDA7IHBhZGRpbmc6IC4zZW0gMWVtIC41ZW0gLjRl
bTsgfQotLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25z
ZXQgeyBmbG9hdDogcmlnaHQ7IH0KLS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1
dHRvbiB7IG1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDsgY3Vyc29yOiBwb2ludGVyOyB9Ci0udWkt
ZGlhbG9nIC51aS1yZXNpemFibGUtc2UgeyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyByaWdo
dDogM3B4OyBib3R0b206IDNweDsgfQotLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFy
IHsgY3Vyc29yOiBtb3ZlOyB9Ci0vKgotICogalF1ZXJ5IFVJIFNsaWRlciAxLjguMTUKLSAqCi0g
KiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQp
Ci0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNl
cy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKLSAqCi0gKiBodHRwOi8vZG9jcy5qcXVl
cnkuY29tL1VJL1NsaWRlciN0aGVtaW5nCi0gKi8KLS51aS1zbGlkZXIgeyBwb3NpdGlvbjogcmVs
YXRpdmU7IHRleHQtYWxpZ246IGxlZnQ7IH0KLS51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUg
eyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDI7IHdpZHRoOiAxLjJlbTsgaGVpZ2h0OiAx
LjJlbTsgY3Vyc29yOiBkZWZhdWx0OyB9Ci0udWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2UgeyBw
b3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IGZvbnQtc2l6ZTogLjdlbTsgZGlzcGxheTog
YmxvY2s7IGJvcmRlcjogMDsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9Ci0KLS51aS1zbGlk
ZXItaG9yaXpvbnRhbCB7IGhlaWdodDogLjhlbTsgfQotLnVpLXNsaWRlci1ob3Jpem9udGFsIC51
aS1zbGlkZXItaGFuZGxlIHsgdG9wOiAtLjNlbTsgbWFyZ2luLWxlZnQ6IC0uNmVtOyB9Ci0udWkt
c2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7IHRvcDogMDsgaGVpZ2h0OiAxMDAl
OyB9Ci0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW4geyBsZWZ0OiAw
OyB9Ci0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXggeyByaWdodDog
MDsgfQotCi0udWktc2xpZGVyLXZlcnRpY2FsIHsgd2lkdGg6IC44ZW07IGhlaWdodDogMTAwcHg7
IH0KLS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1oYW5kbGUgeyBsZWZ0OiAtLjNlbTsg
bWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1ib3R0b206IC0uNmVtOyB9Ci0udWktc2xpZGVyLXZlcnRp
Y2FsIC51aS1zbGlkZXItcmFuZ2UgeyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgfQotLnVpLXNsaWRl
ci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7IGJvdHRvbTogMDsgfQotLnVpLXNsaWRl
ci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7IHRvcDogMDsgfS8qCi0gKiBqUXVlcnkg
VUkgVGFicyAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKLSAq
Ci0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RhYnMjdGhlbWluZwotICovCi0udWktdGFi
cyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogLjJlbTsgem9vbTogMTsgfSAvKiBwb3Np
dGlvbjogcmVsYXRpdmUgcHJldmVudHMgSUUgc2Nyb2xsIGJ1ZyAoZWxlbWVudCB3aXRoIHBvc2l0
aW9uOiByZWxhdGl2ZSBpbnNpZGUgY29udGFpbmVyIHdpdGggb3ZlcmZsb3c6IGF1dG8gYXBwZWFy
IGFzICJmaXhlZCIpICovCi0udWktdGFicyAudWktdGFicy1uYXYgeyBtYXJnaW46IDA7IHBhZGRp
bmc6IC4yZW0gLjJlbSAwOyB9Ci0udWktdGFicyAudWktdGFicy1uYXYgbGkgeyBsaXN0LXN0eWxl
OiBub25lOyBmbG9hdDogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDFweDsgbWFyZ2lu
OiAwIC4yZW0gMXB4IDA7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgcGFkZGluZzogMDsg
d2hpdGUtc3BhY2U6IG5vd3JhcDsgfQotLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGEgeyBmbG9h
dDogbGVmdDsgcGFkZGluZzogLjVlbSAxZW07IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQotLnVp
LXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgeyBtYXJnaW4tYm90dG9tOiAw
OyBwYWRkaW5nLWJvdHRvbTogMXB4OyB9Ci0udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFi
cy1zZWxlY3RlZCBhLCAudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQg
YSwgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLXByb2Nlc3NpbmcgYSB7IGN1cnNv
cjogdGV4dDsgfQotLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGEsIC51aS10YWJzLnVpLXRhYnMt
Y29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYSB7IGN1cnNvcjog
cG9pbnRlcjsgfSAvKiBmaXJzdCBzZWxlY3RvciBpbiBncm91cCBzZWVtcyBvYnNvbGV0ZSwgYnV0
IHJlcXVpcmVkIHRvIG92ZXJjb21lIGJ1ZyBpbiBPcGVyYSBhcHBseWluZyBjdXJzb3I6IHRleHQg
b3ZlcmFsbCBpZiBkZWZpbmVkIGVsc2V3aGVyZS4uLiAqLwotLnVpLXRhYnMgLnVpLXRhYnMtcGFu
ZWwgeyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLXdpZHRoOiAwOyBwYWRkaW5nOiAxZW0gMS40ZW07
IGJhY2tncm91bmQ6IG5vbmU7IH0KLS51aS10YWJzIC51aS10YWJzLWhpZGUgeyBkaXNwbGF5OiBu
b25lICFpbXBvcnRhbnQ7IH0KLS8qCi0gKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguMTUKLSAq
Ci0gKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJv
dXQpCi0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNl
bnNlcy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKLSAqCi0gKiBodHRwOi8vZG9jcy5q
cXVlcnkuY29tL1VJL0RhdGVwaWNrZXIjdGhlbWluZwotICovCi0udWktZGF0ZXBpY2tlciB7IHdp
ZHRoOiAxN2VtOyBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgZGlzcGxheTogbm9uZTsgfQotLnVpLWRh
dGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgcG9zaXRpb246cmVsYXRpdmU7IHBhZGRp
bmc6LjJlbSAwOyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0
ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMnB4
OyB3aWR0aDogMS44ZW07IGhlaWdodDogMS44ZW07IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRl
cGlja2VyLXByZXYtaG92ZXIsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92
ZXIgeyB0b3A6IDFweDsgfQotLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7IGxl
ZnQ6MnB4OyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcmlnaHQ6MnB4
OyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHsgbGVmdDoxcHg7
IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyByaWdodDoxcHg7
IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNr
ZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLThweDsgdG9wOiA1MCU7IG1hcmdpbi10
b3A6IC04cHg7ICB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IG1hcmdp
bjogMCAyLjNlbTsgbGluZS1oZWlnaHQ6IDEuOGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLS51
aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7IGZvbnQtc2l6ZToxZW07
IG1hcmdpbjoxcHggMDsgfQotLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9u
dGgteWVhciB7d2lkdGg6IDEwMCU7fQotLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNr
ZXItbW9udGgsIAotLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7IHdp
ZHRoOiA0OSU7fQotLnVpLWRhdGVwaWNrZXIgdGFibGUge3dpZHRoOiAxMDAlOyBmb250LXNpemU6
IC45ZW07IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjowIDAgLjRlbTsgfQotLnVp
LWRhdGVwaWNrZXIgdGggeyBwYWRkaW5nOiAuN2VtIC4zZW07IHRleHQtYWxpZ246IGNlbnRlcjsg
Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlcjogMDsgIH0KLS51aS1kYXRlcGlja2VyIHRkIHsgYm9y
ZGVyOiAwOyBwYWRkaW5nOiAxcHg7IH0KLS51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRl
cGlja2VyIHRkIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjJlbTsgdGV4dC1hbGlnbjog
cmlnaHQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQotLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVw
aWNrZXItYnV0dG9ucGFuZSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IG1hcmdpbjogLjdlbSAw
IDAgMDsgcGFkZGluZzowIC4yZW07IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmlnaHQ6IDA7IGJv
cmRlci1ib3R0b206IDA7IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBh
bmUgYnV0dG9uIHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IC41ZW0gLjJlbSAuNGVtOyBjdXJzb3I6
IHBvaW50ZXI7IHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07IHdpZHRoOmF1dG87IG92ZXJm
bG93OnZpc2libGU7IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUg
YnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7IGZsb2F0OmxlZnQ7IH0KLQotLyogd2l0aCBt
dWx0aXBsZSBjYWxlbmRhcnMgKi8KLS51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkg
eyB3aWR0aDphdXRvOyB9Ci0udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91
cCB7IGZsb2F0OmxlZnQ7IH0KLS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdy
b3VwIHRhYmxlIHsgd2lkdGg6OTUlOyBtYXJnaW46MCBhdXRvIC40ZW07IH0KLS51aS1kYXRlcGlj
a2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDo1MCU7IH0KLS51aS1kYXRl
cGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDozMy4zJTsgfQotLnVp
LWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cCB7IHdpZHRoOjI1JTsgfQot
LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBp
Y2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci0udWktZGF0ZXBpY2tlci1tdWx0
aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9y
ZGVyLWxlZnQtd2lkdGg6MDsgfQotLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXIt
YnV0dG9ucGFuZSB7IGNsZWFyOmxlZnQ7IH0KLS51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7IGNs
ZWFyOmJvdGg7IHdpZHRoOjEwMCU7IGZvbnQtc2l6ZTowZW07IH0KLQotLyogUlRMIHN1cHBvcnQg
Ki8KLS51aS1kYXRlcGlja2VyLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9Ci0udWktZGF0ZXBpY2tl
ci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7IHJpZ2h0OiAycHg7IGxlZnQ6IGF1dG87IH0KLS51
aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHsgbGVmdDogMnB4OyByaWdodDog
YXV0bzsgfQotLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgeyBy
aWdodDogMXB4OyBsZWZ0OiBhdXRvOyB9Ci0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNr
ZXItbmV4dDpob3ZlciB7IGxlZnQ6IDFweDsgcmlnaHQ6IGF1dG87IH0KLS51aS1kYXRlcGlja2Vy
LXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgY2xlYXI6cmlnaHQ7IH0KLS51aS1kYXRl
cGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiBsZWZ0
OyB9Ci0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24u
dWktZGF0ZXBpY2tlci1jdXJyZW50IHsgZmxvYXQ6cmlnaHQ7IH0KLS51aS1kYXRlcGlja2VyLXJ0
bCAudWktZGF0ZXBpY2tlci1ncm91cCB7IGZsb2F0OnJpZ2h0OyB9Ci0udWktZGF0ZXBpY2tlci1y
dGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3Jk
ZXItcmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci0udWktZGF0ZXBpY2tl
ci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7
IGJvcmRlci1yaWdodC13aWR0aDowOyBib3JkZXItbGVmdC13aWR0aDoxcHg7IH0KLQotLyogSUU2
IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqLwotLnVpLWRhdGVwaWNr
ZXItY292ZXIgewotICAgIGRpc3BsYXk6IG5vbmU7IC8qc29ycnkgZm9yIElFNSovCi0gICAgZGlz
cGxheS8qKi86IGJsb2NrOyAvKnNvcnJ5IGZvciBJRTUqLwotICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsgLyptdXN0IGhhdmUqLwotICAgIHotaW5kZXg6IC0xOyAvKm11c3QgaGF2ZSovCi0gICAgZmls
dGVyOiBtYXNrKCk7IC8qbXVzdCBoYXZlKi8KLSAgICB0b3A6IC00cHg7IC8qbXVzdCBoYXZlKi8K
LSAgICBsZWZ0OiAtNHB4OyAvKm11c3QgaGF2ZSovCi0gICAgd2lkdGg6IDIwMHB4OyAvKm11c3Qg
aGF2ZSovCi0gICAgaGVpZ2h0OiAyMDBweDsgLyptdXN0IGhhdmUqLwotfS8qCi0gKiBqUXVlcnkg
VUkgUHJvZ3Jlc3NiYXIgMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0
IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUg
TUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNl
bnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Qcm9ncmVzc2JhciN0aGVtaW5n
Ci0gKi8KLS51aS1wcm9ncmVzc2JhciB7IGhlaWdodDoyZW07IHRleHQtYWxpZ246IGxlZnQ7IH0K
LS51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUge21hcmdpbjogLTFweDsgaGVp
Z2h0OjEwMCU7IH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9XZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWktMS44LjE1Lm1pbi5q
cyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpL2pxdWVyeS11aS0xLjgu
MTUubWluLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzcwYWZkYWVkNjNhOGYy
ZTQzMTM4ZTYxYjlkN2Y4MTFlYjJhYTIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpL2px
dWVyeS11aS0xLjguMTUubWluLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEzICswLDAgQEAKLS8q
IQotICogalF1ZXJ5IFVJIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkKLSAqLwotKGZ1bmN0aW9uKGEs
Yyl7ZnVuY3Rpb24gZChoLGcpe3ZhciBpPWgubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigiYXJl
YSI9PT1pKXtnPWgucGFyZW50Tm9kZTtpPWcubmFtZTtpZighaC5ocmVmfHwhaXx8Zy5ub2RlTmFt
ZS50b0xvd2VyQ2FzZSgpIT09Im1hcCIpcmV0dXJuIGZhbHNlO2g9YSgiaW1nW3VzZW1hcD0jIitp
KyJdIilbMF07cmV0dXJuISFoJiZlKGgpfXJldHVybigvaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1
dHRvbnxvYmplY3QvLnRlc3QoaSk/IWguZGlzYWJsZWQ6ImEiPT1pP2guaHJlZnx8ZzpnKSYmZSho
KX1mdW5jdGlvbiBlKGgpe3JldHVybiFhKGgpLnBhcmVudHMoKS5hbmRTZWxmKCkuZmlsdGVyKGZ1
bmN0aW9uKCl7cmV0dXJuIGEuY3VyQ1NTKHRoaXMsInZpc2liaWxpdHkiKT09PSJoaWRkZW4ifHxh
LmV4cHIuZmlsdGVycy5oaWRkZW4odGhpcyl9KS5sZW5ndGh9YS51aT1hLnVpfHx7fTtpZighYS51
aS52ZXJzaW9uKXthLmV4dGVuZChhLnVpLHt2ZXJzaW9uOiIxLjguMTUiLAota2V5Q29kZTp7QUxU
OjE4LEJBQ0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09NTUFORDo5MSxDT01NQU5E
X0xFRlQ6OTEsQ09NTUFORF9SSUdIVDo5MyxDT05UUk9MOjE3LERFTEVURTo0NixET1dOOjQwLEVO
RDozNSxFTlRFUjoxMyxFU0NBUEU6MjcsSE9NRTozNixJTlNFUlQ6NDUsTEVGVDozNyxNRU5VOjkz
LE5VTVBBRF9BREQ6MTA3LE5VTVBBRF9ERUNJTUFMOjExMCxOVU1QQURfRElWSURFOjExMSxOVU1Q
QURfRU5URVI6MTA4LE5VTVBBRF9NVUxUSVBMWToxMDYsTlVNUEFEX1NVQlRSQUNUOjEwOSxQQUdF
X0RPV046MzQsUEFHRV9VUDozMyxQRVJJT0Q6MTkwLFJJR0hUOjM5LFNISUZUOjE2LFNQQUNFOjMy
LFRBQjo5LFVQOjM4LFdJTkRPV1M6OTF9fSk7YS5mbi5leHRlbmQoe3Byb3BBdHRyOmEuZm4ucHJv
cHx8YS5mbi5hdHRyLF9mb2N1czphLmZuLmZvY3VzLGZvY3VzOmZ1bmN0aW9uKGgsZyl7cmV0dXJu
IHR5cGVvZiBoPT09Im51bWJlciI/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9Ci10aGlzO3Nl
dFRpbWVvdXQoZnVuY3Rpb24oKXthKGkpLmZvY3VzKCk7ZyYmZy5jYWxsKGkpfSxoKX0pOnRoaXMu
X2ZvY3VzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFy
IGg7aD1hLmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJw
b3NpdGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90aGlzLnBh
cmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFic29sdXRlfGZpeGVk
KS8udGVzdChhLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98c2Nyb2xsKS8udGVz
dChhLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIs
MSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCku
ZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoYS5jdXJDU1ModGhp
cywKLSJvdmVyZmxvdyIsMSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYS5jdXJDU1Mo
dGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk7cmV0dXJuL2ZpeGVkLy50ZXN0KHRoaXMuY3Nz
KCJwb3NpdGlvbiIpKXx8IWgubGVuZ3RoP2EoZG9jdW1lbnQpOmh9LHpJbmRleDpmdW5jdGlvbiho
KXtpZihoIT09YylyZXR1cm4gdGhpcy5jc3MoInpJbmRleCIsaCk7aWYodGhpcy5sZW5ndGgpe2g9
YSh0aGlzWzBdKTtmb3IodmFyIGc7aC5sZW5ndGgmJmhbMF0hPT1kb2N1bWVudDspe2c9aC5jc3Mo
InBvc2l0aW9uIik7aWYoZz09PSJhYnNvbHV0ZSJ8fGc9PT0icmVsYXRpdmUifHxnPT09ImZpeGVk
Iil7Zz1wYXJzZUludChoLmNzcygiekluZGV4IiksMTApO2lmKCFpc05hTihnKSYmZyE9PTApcmV0
dXJuIGd9aD1oLnBhcmVudCgpfX1yZXR1cm4gMH0sZGlzYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigp
e3JldHVybiB0aGlzLmJpbmQoKGEuc3VwcG9ydC5zZWxlY3RzdGFydD8ic2VsZWN0c3RhcnQiOgot
Im1vdXNlZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50
RGVmYXVsdCgpfSl9LGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuYmlu
ZCgiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX19KTthLmVhY2goWyJXaWR0aCIsIkhlaWdodCJdLGZ1
bmN0aW9uKGgsZyl7ZnVuY3Rpb24gaShsLG8sbixrKXthLmVhY2goYixmdW5jdGlvbigpe28tPXBh
cnNlRmxvYXQoYS5jdXJDU1MobCwicGFkZGluZyIrdGhpcyx0cnVlKSl8fDA7aWYobilvLT1wYXJz
ZUZsb2F0KGEuY3VyQ1NTKGwsImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUpKXx8MDtpZihrKW8t
PXBhcnNlRmxvYXQoYS5jdXJDU1MobCwibWFyZ2luIit0aGlzLHRydWUpKXx8MH0pO3JldHVybiBv
fXZhciBiPWc9PT0iV2lkdGgiP1siTGVmdCIsIlJpZ2h0Il06WyJUb3AiLCJCb3R0b20iXSxmPWcu
dG9Mb3dlckNhc2UoKSxqPXtpbm5lcldpZHRoOmEuZm4uaW5uZXJXaWR0aCxpbm5lckhlaWdodDph
LmZuLmlubmVySGVpZ2h0LAotb3V0ZXJXaWR0aDphLmZuLm91dGVyV2lkdGgsb3V0ZXJIZWlnaHQ6
YS5mbi5vdXRlckhlaWdodH07YS5mblsiaW5uZXIiK2ddPWZ1bmN0aW9uKGwpe2lmKGw9PT1jKXJl
dHVybiBqWyJpbm5lciIrZ10uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7
YSh0aGlzKS5jc3MoZixpKHRoaXMsbCkrInB4Iil9KX07YS5mblsib3V0ZXIiK2ddPWZ1bmN0aW9u
KGwsbyl7aWYodHlwZW9mIGwhPT0ibnVtYmVyIilyZXR1cm4galsib3V0ZXIiK2ddLmNhbGwodGhp
cyxsKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5jc3MoZixpKHRoaXMsbCx0
cnVlLG8pKyJweCIpfSl9fSk7YS5leHRlbmQoYS5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24oaCxn
LGkpe3JldHVybiEhYS5kYXRhKGgsaVszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihoKXtyZXR1cm4g
ZChoLCFpc05hTihhLmF0dHIoaCwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihoKXt2
YXIgZz1hLmF0dHIoaCwKLSJ0YWJpbmRleCIpLGk9aXNOYU4oZyk7cmV0dXJuKGl8fGc+PTApJiZk
KGgsIWkpfX0pO2EoZnVuY3Rpb24oKXt2YXIgaD1kb2N1bWVudC5ib2R5LGc9aC5hcHBlbmRDaGls
ZChnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTthLmV4dGVuZChnLnN0eWxlLHttaW5I
ZWlnaHQ6IjEwMHB4IixoZWlnaHQ6ImF1dG8iLHBhZGRpbmc6MCxib3JkZXJXaWR0aDowfSk7YS5z
dXBwb3J0Lm1pbkhlaWdodD1nLm9mZnNldEhlaWdodD09PTEwMDthLnN1cHBvcnQuc2VsZWN0c3Rh
cnQ9Im9uc2VsZWN0c3RhcnQiaW4gZztoLnJlbW92ZUNoaWxkKGcpLnN0eWxlLmRpc3BsYXk9Im5v
bmUifSk7YS5leHRlbmQoYS51aSx7cGx1Z2luOnthZGQ6ZnVuY3Rpb24oaCxnLGkpe2g9YS51aVto
XS5wcm90b3R5cGU7Zm9yKHZhciBiIGluIGkpe2gucGx1Z2luc1tiXT1oLnBsdWdpbnNbYl18fFtd
O2gucGx1Z2luc1tiXS5wdXNoKFtnLGlbYl1dKX19LGNhbGw6ZnVuY3Rpb24oaCxnLGkpe2lmKChn
PWgucGx1Z2luc1tnXSkmJgotaC5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9yKHZhciBiPTA7Yjxn
Lmxlbmd0aDtiKyspaC5vcHRpb25zW2dbYl1bMF1dJiZnW2JdWzFdLmFwcGx5KGguZWxlbWVudCxp
KX19LGNvbnRhaW5zOmZ1bmN0aW9uKGgsZyl7cmV0dXJuIGRvY3VtZW50LmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uP2guY29tcGFyZURvY3VtZW50UG9zaXRpb24oZykmMTY6aCE9PWcmJmguY29udGFp
bnMoZyl9LGhhc1Njcm9sbDpmdW5jdGlvbihoLGcpe2lmKGEoaCkuY3NzKCJvdmVyZmxvdyIpPT09
ImhpZGRlbiIpcmV0dXJuIGZhbHNlO2c9ZyYmZz09PSJsZWZ0Ij8ic2Nyb2xsTGVmdCI6InNjcm9s
bFRvcCI7dmFyIGk9ZmFsc2U7aWYoaFtnXT4wKXJldHVybiB0cnVlO2hbZ109MTtpPWhbZ10+MDto
W2ddPTA7cmV0dXJuIGl9LGlzT3ZlckF4aXM6ZnVuY3Rpb24oaCxnLGkpe3JldHVybiBoPmcmJmg8
ZytpfSxpc092ZXI6ZnVuY3Rpb24oaCxnLGksYixmLGope3JldHVybiBhLnVpLmlzT3ZlckF4aXMo
aCxpLGYpJiYKLWEudWkuaXNPdmVyQXhpcyhnLGIsail9fSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlv
bihhLGMpe2lmKGEuY2xlYW5EYXRhKXt2YXIgZD1hLmNsZWFuRGF0YTthLmNsZWFuRGF0YT1mdW5j
dGlvbihoKXtmb3IodmFyIGc9MCxpOyhpPWhbZ10pIT1udWxsO2crKylhKGkpLnRyaWdnZXJIYW5k
bGVyKCJyZW1vdmUiKTtkKGgpfX1lbHNle3ZhciBlPWEuZm4ucmVtb3ZlO2EuZm4ucmVtb3ZlPWZ1
bmN0aW9uKGgsZyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFnKWlmKCFofHxhLmZp
bHRlcihoLFt0aGlzXSkubGVuZ3RoKWEoIioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVuY3Rp
b24oKXthKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVybiBlLmNhbGwoYSh0
aGlzKSxoLGcpfSl9fWEud2lkZ2V0PWZ1bmN0aW9uKGgsZyxpKXt2YXIgYj1oLnNwbGl0KCIuIilb
MF0sZjtoPWguc3BsaXQoIi4iKVsxXTtmPWIrIi0iK2g7aWYoIWkpe2k9ZztnPWEuV2lkZ2V0fWEu
ZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGope3JldHVybiEhYS5kYXRhKGosCi1oKX07YVtiXT1hW2Jd
fHx7fTthW2JdW2hdPWZ1bmN0aW9uKGosbCl7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRl
V2lkZ2V0KGosbCl9O2c9bmV3IGc7Zy5vcHRpb25zPWEuZXh0ZW5kKHRydWUse30sZy5vcHRpb25z
KTthW2JdW2hdLnByb3RvdHlwZT1hLmV4dGVuZCh0cnVlLGcse25hbWVzcGFjZTpiLHdpZGdldE5h
bWU6aCx3aWRnZXRFdmVudFByZWZpeDphW2JdW2hdLnByb3RvdHlwZS53aWRnZXRFdmVudFByZWZp
eHx8aCx3aWRnZXRCYXNlQ2xhc3M6Zn0saSk7YS53aWRnZXQuYnJpZGdlKGgsYVtiXVtoXSl9O2Eu
d2lkZ2V0LmJyaWRnZT1mdW5jdGlvbihoLGcpe2EuZm5baF09ZnVuY3Rpb24oaSl7dmFyIGI9dHlw
ZW9mIGk9PT0ic3RyaW5nIixmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywx
KSxqPXRoaXM7aT0hYiYmZi5sZW5ndGg/YS5leHRlbmQuYXBwbHkobnVsbCxbdHJ1ZSxpXS5jb25j
YXQoZikpOmk7aWYoYiYmaS5jaGFyQXQoMCk9PT0iXyIpcmV0dXJuIGo7Ci1iP3RoaXMuZWFjaChm
dW5jdGlvbigpe3ZhciBsPWEuZGF0YSh0aGlzLGgpLG89bCYmYS5pc0Z1bmN0aW9uKGxbaV0pP2xb
aV0uYXBwbHkobCxmKTpsO2lmKG8hPT1sJiZvIT09Yyl7aj1vO3JldHVybiBmYWxzZX19KTp0aGlz
LmVhY2goZnVuY3Rpb24oKXt2YXIgbD1hLmRhdGEodGhpcyxoKTtsP2wub3B0aW9uKGl8fHt9KS5f
aW5pdCgpOmEuZGF0YSh0aGlzLGgsbmV3IGcoaSx0aGlzKSl9KTtyZXR1cm4gan19O2EuV2lkZ2V0
PWZ1bmN0aW9uKGgsZyl7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGgsZyl9
O2EuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZp
eDoiIixvcHRpb25zOntkaXNhYmxlZDpmYWxzZX0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihoLGcp
e2EuZGF0YShnLHRoaXMud2lkZ2V0TmFtZSx0aGlzKTt0aGlzLmVsZW1lbnQ9YShnKTt0aGlzLm9w
dGlvbnM9YS5leHRlbmQodHJ1ZSx7fSx0aGlzLm9wdGlvbnMsCi10aGlzLl9nZXRDcmVhdGVPcHRp
b25zKCksaCk7dmFyIGk9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLiIrdGhpcy53aWRn
ZXROYW1lLGZ1bmN0aW9uKCl7aS5kZXN0cm95KCl9KTt0aGlzLl9jcmVhdGUoKTt0aGlzLl90cmln
Z2VyKCJjcmVhdGUiKTt0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7
cmV0dXJuIGEubWV0YWRhdGEmJmEubWV0YWRhdGEuZ2V0KHRoaXMuZWxlbWVudFswXSlbdGhpcy53
aWRnZXROYW1lXX0sX2NyZWF0ZTpmdW5jdGlvbigpe30sX2luaXQ6ZnVuY3Rpb24oKXt9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJl
bW92ZURhdGEodGhpcy53aWRnZXROYW1lKTt0aGlzLndpZGdldCgpLnVuYmluZCgiLiIrdGhpcy53
aWRnZXROYW1lKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3ZlQ2xhc3ModGhpcy53
aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpfSwKLXdpZGdldDpm
dW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnR9LG9wdGlvbjpmdW5jdGlvbihoLGcpe3ZhciBp
PWg7aWYoYXJndW1lbnRzLmxlbmd0aD09PTApcmV0dXJuIGEuZXh0ZW5kKHt9LHRoaXMub3B0aW9u
cyk7aWYodHlwZW9mIGg9PT0ic3RyaW5nIil7aWYoZz09PWMpcmV0dXJuIHRoaXMub3B0aW9uc1to
XTtpPXt9O2lbaF09Z310aGlzLl9zZXRPcHRpb25zKGkpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9u
czpmdW5jdGlvbihoKXt2YXIgZz10aGlzO2EuZWFjaChoLGZ1bmN0aW9uKGksYil7Zy5fc2V0T3B0
aW9uKGksYil9KTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihoLGcpe3RoaXMub3B0
aW9uc1toXT1nO2lmKGg9PT0iZGlzYWJsZWQiKXRoaXMud2lkZ2V0KClbZz8iYWRkQ2xhc3MiOiJy
ZW1vdmVDbGFzcyJdKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlz
YWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIixnKTtyZXR1cm4gdGhpc30sCi1lbmFibGU6ZnVu
Y3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZmFsc2UpfSxkaXNhYmxl
OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLHRydWUpfSxfdHJp
Z2dlcjpmdW5jdGlvbihoLGcsaSl7dmFyIGI9dGhpcy5vcHRpb25zW2hdO2c9YS5FdmVudChnKTtn
LnR5cGU9KGg9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2g6dGhpcy53aWRnZXRFdmVudFByZWZp
eCtoKS50b0xvd2VyQ2FzZSgpO2k9aXx8e307aWYoZy5vcmlnaW5hbEV2ZW50KXtoPWEuZXZlbnQu
cHJvcHMubGVuZ3RoO2Zvcih2YXIgZjtoOyl7Zj1hLmV2ZW50LnByb3BzWy0taF07Z1tmXT1nLm9y
aWdpbmFsRXZlbnRbZl19fXRoaXMuZWxlbWVudC50cmlnZ2VyKGcsaSk7cmV0dXJuIShhLmlzRnVu
Y3Rpb24oYikmJmIuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZyxpKT09PWZhbHNlfHxnLmlzRGVmYXVs
dFByZXZlbnRlZCgpKX19fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLndpZGdldCgidWkubW91
c2UiLHtvcHRpb25zOntjYW5jZWw6IjppbnB1dCxvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0s
X21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoIm1vdXNl
ZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihkKXtyZXR1cm4gYy5fbW91c2VEb3duKGQp
fSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oZCl7aWYodHJ1ZT09PWEu
ZGF0YShkLnRhcmdldCxjLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXthLnJlbW92
ZURhdGEoZC50YXJnZXQsYy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKTtkLnN0b3BJ
bW1lZGlhdGVQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZX19KTt0aGlzLnN0YXJ0ZWQ9ZmFsc2V9
LF9tb3VzZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndp
ZGdldE5hbWUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKGMpe2Mub3JpZ2luYWxFdmVudD0KLWMub3Jp
Z2luYWxFdmVudHx8e307aWYoIWMub3JpZ2luYWxFdmVudC5tb3VzZUhhbmRsZWQpe3RoaXMuX21v
dXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChjKTt0aGlzLl9tb3VzZURvd25FdmVudD1jO3ZhciBk
PXRoaXMsZT1jLndoaWNoPT0xLGg9dHlwZW9mIHRoaXMub3B0aW9ucy5jYW5jZWw9PSJzdHJpbmci
P2EoYy50YXJnZXQpLmNsb3Nlc3QodGhpcy5vcHRpb25zLmNhbmNlbCkubGVuZ3RoOmZhbHNlO2lm
KCFlfHxofHwhdGhpcy5fbW91c2VDYXB0dXJlKGMpKXJldHVybiB0cnVlO3RoaXMubW91c2VEZWxh
eU1ldD0hdGhpcy5vcHRpb25zLmRlbGF5O2lmKCF0aGlzLm1vdXNlRGVsYXlNZXQpdGhpcy5fbW91
c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLm1vdXNlRGVsYXlNZXQ9dHJ1ZX0s
dGhpcy5vcHRpb25zLmRlbGF5KTtpZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGMpJiZ0aGlzLl9t
b3VzZURlbGF5TWV0KGMpKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydChjKSE9
PQotZmFsc2U7aWYoIXRoaXMuX21vdXNlU3RhcnRlZCl7Yy5wcmV2ZW50RGVmYXVsdCgpO3JldHVy
biB0cnVlfX10cnVlPT09YS5kYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRD
bGlja0V2ZW50IikmJmEucmVtb3ZlRGF0YShjLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2
ZW50Q2xpY2tFdmVudCIpO3RoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKGcpe3JldHVy
biBkLl9tb3VzZU1vdmUoZyl9O3RoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbihnKXtyZXR1
cm4gZC5fbW91c2VVcChnKX07YShkb2N1bWVudCkuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRn
ZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRn
ZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7Yy5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBj
Lm9yaWdpbmFsRXZlbnQubW91c2VIYW5kbGVkPXRydWV9fSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGMp
e2lmKGEuYnJvd3Nlci5tc2llJiYKLSEoZG9jdW1lbnQuZG9jdW1lbnRNb2RlPj05KSYmIWMuYnV0
dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKGMpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5f
bW91c2VEcmFnKGMpO3JldHVybiBjLnByZXZlbnREZWZhdWx0KCl9aWYodGhpcy5fbW91c2VEaXN0
YW5jZU1ldChjKSYmdGhpcy5fbW91c2VEZWxheU1ldChjKSkodGhpcy5fbW91c2VTdGFydGVkPXRo
aXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsYykhPT1mYWxzZSk/dGhpcy5fbW91
c2VEcmFnKGMpOnRoaXMuX21vdXNlVXAoYyk7cmV0dXJuIXRoaXMuX21vdXNlU3RhcnRlZH0sX21v
dXNlVXA6ZnVuY3Rpb24oYyl7YShkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndp
ZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLnVuYmluZCgibW91c2V1cC4iK3RoaXMu
d2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7
dGhpcy5fbW91c2VTdGFydGVkPQotZmFsc2U7Yy50YXJnZXQ9PXRoaXMuX21vdXNlRG93bkV2ZW50
LnRhcmdldCYmYS5kYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2
ZW50Iix0cnVlKTt0aGlzLl9tb3VzZVN0b3AoYyl9cmV0dXJuIGZhbHNlfSxfbW91c2VEaXN0YW5j
ZU1ldDpmdW5jdGlvbihjKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5hYnModGhpcy5fbW91c2VEb3du
RXZlbnQucGFnZVgtYy5wYWdlWCksTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVkt
Yy5wYWdlWSkpPj10aGlzLm9wdGlvbnMuZGlzdGFuY2V9LF9tb3VzZURlbGF5TWV0OmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMubW91c2VEZWxheU1ldH0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXt9LF9t
b3VzZURyYWc6ZnVuY3Rpb24oKXt9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oKXt9LF9tb3VzZUNhcHR1
cmU6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX19KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS53
aWRnZXQoInVpLmRyYWdnYWJsZSIsYS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6ImRyYWci
LG9wdGlvbnM6e2FkZENsYXNzZXM6dHJ1ZSxhcHBlbmRUbzoicGFyZW50IixheGlzOmZhbHNlLGNv
bm5lY3RUb1NvcnRhYmxlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vy
c29yQXQ6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaWZy
YW1lRml4OmZhbHNlLG9wYWNpdHk6ZmFsc2UscmVmcmVzaFBvc2l0aW9uczpmYWxzZSxyZXZlcnQ6
ZmFsc2UscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3JvbGw6dHJ1ZSxzY3Jv
bGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzbmFwOmZhbHNlLHNuYXBNb2RlOiJib3Ro
IixzbmFwVG9sZXJhbmNlOjIwLHN0YWNrOmZhbHNlLHpJbmRleDpmYWxzZX0sX2NyZWF0ZTpmdW5j
dGlvbigpe2lmKHRoaXMub3B0aW9ucy5oZWxwZXI9PQotIm9yaWdpbmFsIiYmIS9eKD86cnxhfGYp
Ly50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIikpKXRoaXMuZWxlbWVudFswXS5zdHls
ZS5wb3NpdGlvbj0icmVsYXRpdmUiO3RoaXMub3B0aW9ucy5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1l
bnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZSIpO3RoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUtZGlzYWJsZWQiKTt0aGlzLl9tb3VzZUluaXQo
KX0sZGVzdHJveTpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbWVudC5kYXRhKCJkcmFnZ2FibGUiKSl7
dGhpcy5lbGVtZW50LnJlbW92ZURhdGEoImRyYWdnYWJsZSIpLnVuYmluZCgiLmRyYWdnYWJsZSIp
LnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUgdWktZHJhZ2dhYmxlLWRyYWdnaW5nIHVpLWRyYWdn
YWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0aGlzfX0sX21vdXNl
Q2FwdHVyZTpmdW5jdGlvbihjKXt2YXIgZD0KLXRoaXMub3B0aW9ucztpZih0aGlzLmhlbHBlcnx8
ZC5kaXNhYmxlZHx8YShjLnRhcmdldCkuaXMoIi51aS1yZXNpemFibGUtaGFuZGxlIikpcmV0dXJu
IGZhbHNlO3RoaXMuaGFuZGxlPXRoaXMuX2dldEhhbmRsZShjKTtpZighdGhpcy5oYW5kbGUpcmV0
dXJuIGZhbHNlO2EoZC5pZnJhbWVGaXg9PT10cnVlPyJpZnJhbWUiOmQuaWZyYW1lRml4KS5lYWNo
KGZ1bmN0aW9uKCl7YSgnPGRpdiBjbGFzcz0idWktZHJhZ2dhYmxlLWlmcmFtZUZpeCIgc3R5bGU9
ImJhY2tncm91bmQ6ICNmZmY7Ij48L2Rpdj4nKS5jc3Moe3dpZHRoOnRoaXMub2Zmc2V0V2lkdGgr
InB4IixoZWlnaHQ6dGhpcy5vZmZzZXRIZWlnaHQrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLG9w
YWNpdHk6IjAuMDAxIix6SW5kZXg6MUUzfSkuY3NzKGEodGhpcykub2Zmc2V0KCkpLmFwcGVuZFRv
KCJib2R5Iil9KTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhp
cy5vcHRpb25zO3RoaXMuaGVscGVyPQotdGhpcy5fY3JlYXRlSGVscGVyKGMpO3RoaXMuX2NhY2hl
SGVscGVyUHJvcG9ydGlvbnMoKTtpZihhLnVpLmRkbWFuYWdlcilhLnVpLmRkbWFuYWdlci5jdXJy
ZW50PXRoaXM7dGhpcy5fY2FjaGVNYXJnaW5zKCk7dGhpcy5jc3NQb3NpdGlvbj10aGlzLmhlbHBl
ci5jc3MoInBvc2l0aW9uIik7dGhpcy5zY3JvbGxQYXJlbnQ9dGhpcy5oZWxwZXIuc2Nyb2xsUGFy
ZW50KCk7dGhpcy5vZmZzZXQ9dGhpcy5wb3NpdGlvbkFicz10aGlzLmVsZW1lbnQub2Zmc2V0KCk7
dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5tYXJnaW5zLnRvcCxsZWZ0OnRo
aXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9O2EuZXh0ZW5kKHRoaXMub2Zmc2V0LHtj
bGljazp7bGVmdDpjLnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmMucGFnZVktdGhpcy5vZmZz
ZXQudG9wfSxwYXJlbnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0
UmVsYXRpdmVPZmZzZXQoKX0pOwotdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249
dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihjKTt0aGlzLm9yaWdpbmFsUGFnZVg9Yy5wYWdlWDt0aGlz
Lm9yaWdpbmFsUGFnZVk9Yy5wYWdlWTtkLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9t
SGVscGVyKGQuY3Vyc29yQXQpO2QuY29udGFpbm1lbnQmJnRoaXMuX3NldENvbnRhaW5tZW50KCk7
aWYodGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpPT09ZmFsc2Upe3RoaXMuX2NsZWFyKCk7cmV0dXJu
IGZhbHNlfXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTthLnVpLmRkbWFuYWdlciYmIWQu
ZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcyxjKTt0aGlz
LmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5fbW91c2VEcmFn
KGMsdHJ1ZSk7YS51aS5kZG1hbmFnZXImJmEudWkuZGRtYW5hZ2VyLmRyYWdTdGFydCh0aGlzLGMp
O3JldHVybiB0cnVlfSwKLV9tb3VzZURyYWc6ZnVuY3Rpb24oYyxkKXt0aGlzLnBvc2l0aW9uPXRo
aXMuX2dlbmVyYXRlUG9zaXRpb24oYyk7dGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9z
aXRpb25UbygiYWJzb2x1dGUiKTtpZighZCl7ZD10aGlzLl91aUhhc2goKTtpZih0aGlzLl90cmln
Z2VyKCJkcmFnIixjLGQpPT09ZmFsc2Upe3RoaXMuX21vdXNlVXAoe30pO3JldHVybiBmYWxzZX10
aGlzLnBvc2l0aW9uPWQucG9zaXRpb259aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlv
bnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0
KyJweCI7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9IngiKXRoaXMu
aGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBvc2l0aW9uLnRvcCsicHgiO2EudWkuZGRtYW5hZ2Vy
JiZhLnVpLmRkbWFuYWdlci5kcmFnKHRoaXMsYyk7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1
bmN0aW9uKGMpe3ZhciBkPQotZmFsc2U7aWYoYS51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMu
ZHJvcEJlaGF2aW91cilkPWEudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxjKTtpZih0aGlzLmRyb3Bw
ZWQpe2Q9dGhpcy5kcm9wcGVkO3RoaXMuZHJvcHBlZD1mYWxzZX1pZigoIXRoaXMuZWxlbWVudFsw
XXx8IXRoaXMuZWxlbWVudFswXS5wYXJlbnROb2RlKSYmdGhpcy5vcHRpb25zLmhlbHBlcj09Im9y
aWdpbmFsIilyZXR1cm4gZmFsc2U7aWYodGhpcy5vcHRpb25zLnJldmVydD09ImludmFsaWQiJiYh
ZHx8dGhpcy5vcHRpb25zLnJldmVydD09InZhbGlkIiYmZHx8dGhpcy5vcHRpb25zLnJldmVydD09
PXRydWV8fGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMucmV2ZXJ0KSYmdGhpcy5vcHRpb25zLnJl
dmVydC5jYWxsKHRoaXMuZWxlbWVudCxkKSl7dmFyIGU9dGhpczthKHRoaXMuaGVscGVyKS5hbmlt
YXRlKHRoaXMub3JpZ2luYWxQb3NpdGlvbixwYXJzZUludCh0aGlzLm9wdGlvbnMucmV2ZXJ0RHVy
YXRpb24sCi0xMCksZnVuY3Rpb24oKXtlLl90cmlnZ2VyKCJzdG9wIixjKSE9PWZhbHNlJiZlLl9j
bGVhcigpfSl9ZWxzZSB0aGlzLl90cmlnZ2VyKCJzdG9wIixjKSE9PWZhbHNlJiZ0aGlzLl9jbGVh
cigpO3JldHVybiBmYWxzZX0sX21vdXNlVXA6ZnVuY3Rpb24oYyl7dGhpcy5vcHRpb25zLmlmcmFt
ZUZpeD09PXRydWUmJmEoImRpdi51aS1kcmFnZ2FibGUtaWZyYW1lRml4IikuZWFjaChmdW5jdGlv
bigpe3RoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKX0pO2EudWkuZGRtYW5hZ2VyJiZh
LnVpLmRkbWFuYWdlci5kcmFnU3RvcCh0aGlzLGMpO3JldHVybiBhLnVpLm1vdXNlLnByb3RvdHlw
ZS5fbW91c2VVcC5jYWxsKHRoaXMsYyl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuaGVscGVyLmlz
KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIik/dGhpcy5fbW91c2VVcCh7fSk6dGhpcy5fY2xlYXIo
KTtyZXR1cm4gdGhpc30sX2dldEhhbmRsZTpmdW5jdGlvbihjKXt2YXIgZD0hdGhpcy5vcHRpb25z
LmhhbmRsZXx8Ci0hYSh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVudCkubGVuZ3RoP3Ry
dWU6ZmFsc2U7YSh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVudCkuZmluZCgiKiIpLmFu
ZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09Yy50YXJnZXQpZD10cnVlfSk7cmV0dXJu
IGR9LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5vcHRpb25zO2M9YS5pc0Z1
bmN0aW9uKGQuaGVscGVyKT9hKGQuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbY10pKTpk
LmhlbHBlcj09ImNsb25lIj90aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpOnRo
aXMuZWxlbWVudDtjLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fGMuYXBwZW5kVG8oZC5hcHBlbmRU
bz09InBhcmVudCI/dGhpcy5lbGVtZW50WzBdLnBhcmVudE5vZGU6ZC5hcHBlbmRUbyk7Y1swXSE9
dGhpcy5lbGVtZW50WzBdJiYhLyhmaXhlZHxhYnNvbHV0ZSkvLnRlc3QoYy5jc3MoInBvc2l0aW9u
IikpJiYKLWMuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7cmV0dXJuIGN9LF9hZGp1c3RPZmZz
ZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIiljPWMuc3BsaXQo
IiAiKTtpZihhLmlzQXJyYXkoYykpYz17bGVmdDorY1swXSx0b3A6K2NbMV18fDB9O2lmKCJsZWZ0
ImluIGMpdGhpcy5vZmZzZXQuY2xpY2subGVmdD1jLmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYo
InJpZ2h0ImluIGMpdGhpcy5vZmZzZXQuY2xpY2subGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25z
LndpZHRoLWMucmlnaHQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInRvcCJpbiBjKXRoaXMub2Zmc2V0
LmNsaWNrLnRvcD1jLnRvcCt0aGlzLm1hcmdpbnMudG9wO2lmKCJib3R0b20iaW4gYyl0aGlzLm9m
ZnNldC5jbGljay50b3A9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtYy5ib3R0b20rdGhp
cy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFy
ZW50PQotdGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7dmFyIGM9dGhpcy5vZmZzZXRQYXJlbnQu
b2Zmc2V0KCk7aWYodGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmdGhpcy5zY3JvbGxQYXJl
bnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMu
b2Zmc2V0UGFyZW50WzBdKSl7Yy5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7
Yy50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpfWlmKHRoaXMub2Zmc2V0UGFyZW50
WzBdPT1kb2N1bWVudC5ib2R5fHx0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lJiZ0aGlzLm9m
ZnNldFBhcmVudFswXS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSJodG1sIiYmYS5icm93c2VyLm1z
aWUpYz17dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmMudG9wKyhwYXJzZUludCh0aGlzLm9mZnNl
dFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmMubGVmdCsocGFyc2VJ
bnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwKLTEwKXx8MCl9fSxf
Z2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRp
dmUiKXt2YXIgYz10aGlzLmVsZW1lbnQucG9zaXRpb24oKTtyZXR1cm57dG9wOmMudG9wLShwYXJz
ZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Ny
b2xsVG9wKCksbGVmdDpjLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEw
KXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpfX1lbHNlIHJldHVybnt0b3A6MCxs
ZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhpcy5tYXJnaW5zPXtsZWZ0OnBhcnNl
SW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSwxMCl8fDAsdG9wOnBhcnNlSW50KHRo
aXMuZWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCxyaWdodDpwYXJzZUludCh0aGlzLmVs
ZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLDEwKXx8MCxib3R0b206cGFyc2VJbnQodGhpcy5lbGVt
ZW50LmNzcygibWFyZ2luQm90dG9tIiksCi0xMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9u
czpmdW5jdGlvbigpe3RoaXMuaGVscGVyUHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91
dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlu
bWVudDpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucztpZihjLmNvbnRhaW5tZW50PT0icGFy
ZW50IiljLmNvbnRhaW5tZW50PXRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGU7aWYoYy5jb250YWlu
bWVudD09ImRvY3VtZW50Inx8Yy5jb250YWlubWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVu
dD1bYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2luZG93KS5zY3JvbGxMZWZ0KCktdGhp
cy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCxjLmNvbnRhaW5t
ZW50PT0iZG9jdW1lbnQiPzA6YSh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub2Zmc2V0LnJlbGF0
aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLAotKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVu
dCI/MDphKHdpbmRvdykuc2Nyb2xsTGVmdCgpKSthKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/
ZG9jdW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhp
cy5tYXJnaW5zLmxlZnQsKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/MDphKHdpbmRvdykuc2Ny
b2xsVG9wKCkpKyhhKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/ZG9jdW1lbnQ6d2luZG93KS5o
ZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF07aWYoIS9eKGRvY3VtZW50fHdp
bmRvd3xwYXJlbnQpJC8udGVzdChjLmNvbnRhaW5tZW50KSYmYy5jb250YWlubWVudC5jb25zdHJ1
Y3RvciE9QXJyYXkpe2M9YShjLmNvbnRhaW5tZW50KTt2YXIgZD1jWzBdO2lmKGQpe2Mub2Zmc2V0
KCk7dmFyIGU9YShkKS5jc3MoIm92ZXJmbG93IikhPQotImhpZGRlbiI7dGhpcy5jb250YWlubWVu
dD1bKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUlu
dChhKGQpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLChwYXJzZUludChhKGQpLmNzcygiYm9y
ZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChhKGQpLmNzcygicGFkZGluZ1RvcCIpLDEw
KXx8MCksKGU/TWF0aC5tYXgoZC5zY3JvbGxXaWR0aCxkLm9mZnNldFdpZHRoKTpkLm9mZnNldFdp
ZHRoKS0ocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNl
SW50KGEoZCkuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlv
bnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQtdGhpcy5tYXJnaW5zLnJpZ2h0LChlP01hdGgubWF4
KGQuc2Nyb2xsSGVpZ2h0LGQub2Zmc2V0SGVpZ2h0KTpkLm9mZnNldEhlaWdodCktKHBhcnNlSW50
KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLAotMTApfHwwKS0ocGFyc2VJbnQoYShkKS5jc3Mo
InBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRo
aXMubWFyZ2lucy50b3AtdGhpcy5tYXJnaW5zLmJvdHRvbV07dGhpcy5yZWxhdGl2ZV9jb250YWlu
ZXI9Y319ZWxzZSBpZihjLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yPT1BcnJheSl0aGlzLmNvbnRh
aW5tZW50PWMuY29udGFpbm1lbnR9LF9jb252ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbihjLGQpe2lm
KCFkKWQ9dGhpcy5wb3NpdGlvbjtjPWM9PSJhYnNvbHV0ZSI/MTotMTt2YXIgZT10aGlzLmNzc1Bv
c2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51
aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3Ro
aXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChl
WzBdLnRhZ05hbWUpO3JldHVybnt0b3A6ZC50b3ArCi10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3Aq
Yyt0aGlzLm9mZnNldC5wYXJlbnQudG9wKmMtKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nlci52
ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9u
PT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6ZS5zY3JvbGxUb3Ao
KSkqYyksbGVmdDpkLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpjK3RoaXMub2Zmc2V0
LnBhcmVudC5sZWZ0KmMtKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nlci52ZXJzaW9uPDUyNiYm
dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6aD8wOmUuc2Nyb2xsTGVmdCgpKSpjKX19LF9n
ZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9ucyxlPXRoaXMuY3Nz
UG9zaXRpb249PSJhYnNvbHV0ZSImJgotISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQm
JmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0p
KT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxoPS8oaHRtbHxib2R5KS9pLnRl
c3QoZVswXS50YWdOYW1lKSxnPWMucGFnZVgsaT1jLnBhZ2VZO2lmKHRoaXMub3JpZ2luYWxQb3Np
dGlvbil7dmFyIGI7aWYodGhpcy5jb250YWlubWVudCl7aWYodGhpcy5yZWxhdGl2ZV9jb250YWlu
ZXIpe2I9dGhpcy5yZWxhdGl2ZV9jb250YWluZXIub2Zmc2V0KCk7Yj1bdGhpcy5jb250YWlubWVu
dFswXStiLmxlZnQsdGhpcy5jb250YWlubWVudFsxXStiLnRvcCx0aGlzLmNvbnRhaW5tZW50WzJd
K2IubGVmdCx0aGlzLmNvbnRhaW5tZW50WzNdK2IudG9wXX1lbHNlIGI9dGhpcy5jb250YWlubWVu
dDtpZihjLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8YlswXSlnPWJbMF0rdGhpcy5vZmZz
ZXQuY2xpY2subGVmdDsKLWlmKGMucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPGJbMV0paT1i
WzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcDtpZihjLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxl
ZnQ+YlsyXSlnPWJbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdDtpZihjLnBhZ2VZLXRoaXMub2Zm
c2V0LmNsaWNrLnRvcD5iWzNdKWk9YlszXSt0aGlzLm9mZnNldC5jbGljay50b3B9aWYoZC5ncmlk
KXtpPWQuZ3JpZFsxXT90aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgoaS10aGlzLm9yaWdp
bmFsUGFnZVkpL2QuZ3JpZFsxXSkqZC5ncmlkWzFdOnRoaXMub3JpZ2luYWxQYWdlWTtpPWI/IShp
LXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxiWzFdfHxpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5iWzNd
KT9pOiEoaS10aGlzLm9mZnNldC5jbGljay50b3A8YlsxXSk/aS1kLmdyaWRbMV06aStkLmdyaWRb
MV06aTtnPWQuZ3JpZFswXT90aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoZy10aGlzLm9y
aWdpbmFsUGFnZVgpLwotZC5ncmlkWzBdKSpkLmdyaWRbMF06dGhpcy5vcmlnaW5hbFBhZ2VYO2c9
Yj8hKGctdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdfHxnLXRoaXMub2Zmc2V0LmNsaWNrLmxl
ZnQ+YlsyXSk/ZzohKGctdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdKT9nLWQuZ3JpZFswXTpn
K2QuZ3JpZFswXTpnfX1yZXR1cm57dG9wOmktdGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zm
c2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKyhhLmJyb3dzZXIuc2FmYXJp
JiZhLmJyb3dzZXIudmVyc2lvbjw1MjYmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6
ZS5zY3JvbGxUb3AoKSksbGVmdDpnLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQtdGhpcy5vZmZzZXQu
cmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoYS5icm93c2VyLnNhZmFyaSYm
YS5icm93c2VyLnZlcnNpb248Ci01MjYmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6aD8w
OmUuc2Nyb2xsTGVmdCgpKX19LF9jbGVhcjpmdW5jdGlvbigpe3RoaXMuaGVscGVyLnJlbW92ZUNs
YXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLmhlbHBlclswXSE9dGhpcy5lbGVtZW50
WzBdJiYhdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlz
LmhlbHBlcj1udWxsO3RoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZX0sX3RyaWdnZXI6ZnVu
Y3Rpb24oYyxkLGUpe2U9ZXx8dGhpcy5fdWlIYXNoKCk7YS51aS5wbHVnaW4uY2FsbCh0aGlzLGMs
W2QsZV0pO2lmKGM9PSJkcmFnIil0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlv
blRvKCJhYnNvbHV0ZSIpO3JldHVybiBhLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCh0
aGlzLGMsZCwKLWUpfSxwbHVnaW5zOnt9LF91aUhhc2g6ZnVuY3Rpb24oKXtyZXR1cm57aGVscGVy
OnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjp0aGlz
Lm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OnRoaXMucG9zaXRpb25BYnN9fX0pO2EuZXh0ZW5kKGEu
dWkuZHJhZ2dhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2Fi
bGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0YXJ0OmZ1bmN0aW9uKGMsZCl7dmFyIGU9YSh0aGlz
KS5kYXRhKCJkcmFnZ2FibGUiKSxoPWUub3B0aW9ucyxnPWEuZXh0ZW5kKHt9LGQse2l0ZW06ZS5l
bGVtZW50fSk7ZS5zb3J0YWJsZXM9W107YShoLmNvbm5lY3RUb1NvcnRhYmxlKS5lYWNoKGZ1bmN0
aW9uKCl7dmFyIGk9YS5kYXRhKHRoaXMsInNvcnRhYmxlIik7aWYoaSYmIWkub3B0aW9ucy5kaXNh
YmxlZCl7ZS5zb3J0YWJsZXMucHVzaCh7aW5zdGFuY2U6aSxzaG91bGRSZXZlcnQ6aS5vcHRpb25z
LnJldmVydH0pOwotaS5yZWZyZXNoUG9zaXRpb25zKCk7aS5fdHJpZ2dlcigiYWN0aXZhdGUiLGMs
Zyl9fSl9LHN0b3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIp
LGg9YS5leHRlbmQoe30sZCx7aXRlbTplLmVsZW1lbnR9KTthLmVhY2goZS5zb3J0YWJsZXMsZnVu
Y3Rpb24oKXtpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5pbnN0YW5jZS5pc092ZXI9MDtl
LmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92
YWw9ZmFsc2U7aWYodGhpcy5zaG91bGRSZXZlcnQpdGhpcy5pbnN0YW5jZS5vcHRpb25zLnJldmVy
dD10cnVlO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RvcChjKTt0aGlzLmluc3RhbmNlLm9wdGlvbnMu
aGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyO2Uub3B0aW9ucy5oZWxwZXI9PSJv
cmlnaW5hbCImJnRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0uY3NzKHt0b3A6ImF1dG8iLGxlZnQ6
ImF1dG8ifSl9ZWxzZXt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9Ci1mYWxzZTt0
aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixjLGgpfX0pfSxkcmFnOmZ1bmN0aW9u
KGMsZCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxoPXRoaXM7YS5lYWNoKGUuc29y
dGFibGVzLGZ1bmN0aW9uKCl7dGhpcy5pbnN0YW5jZS5wb3NpdGlvbkFicz1lLnBvc2l0aW9uQWJz
O3RoaXMuaW5zdGFuY2UuaGVscGVyUHJvcG9ydGlvbnM9ZS5oZWxwZXJQcm9wb3J0aW9uczt0aGlz
Lmluc3RhbmNlLm9mZnNldC5jbGljaz1lLm9mZnNldC5jbGljaztpZih0aGlzLmluc3RhbmNlLl9p
bnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNlLmNvbnRhaW5lckNhY2hlKSl7aWYoIXRoaXMuaW5z
dGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0xO3RoaXMuaW5zdGFuY2UuY3VycmVu
dEl0ZW09YShoKS5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIikuYXBwZW5kVG8odGhpcy5pbnN0YW5j
ZS5lbGVtZW50KS5kYXRhKCJzb3J0YWJsZS1pdGVtIix0cnVlKTsKLXRoaXMuaW5zdGFuY2Uub3B0
aW9ucy5faGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI7dGhpcy5pbnN0YW5jZS5v
cHRpb25zLmhlbHBlcj1mdW5jdGlvbigpe3JldHVybiBkLmhlbHBlclswXX07Yy50YXJnZXQ9dGhp
cy5pbnN0YW5jZS5jdXJyZW50SXRlbVswXTt0aGlzLmluc3RhbmNlLl9tb3VzZUNhcHR1cmUoYyx0
cnVlKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0YXJ0KGMsdHJ1ZSx0cnVlKTt0aGlzLmluc3RhbmNl
Lm9mZnNldC5jbGljay50b3A9ZS5vZmZzZXQuY2xpY2sudG9wO3RoaXMuaW5zdGFuY2Uub2Zmc2V0
LmNsaWNrLmxlZnQ9ZS5vZmZzZXQuY2xpY2subGVmdDt0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJl
bnQubGVmdC09ZS5vZmZzZXQucGFyZW50LmxlZnQtdGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50
LmxlZnQ7dGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LnRvcC09ZS5vZmZzZXQucGFyZW50LnRv
cC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wOwotZS5fdHJpZ2dlcigidG9Tb3J0YWJs
ZSIsYyk7ZS5kcm9wcGVkPXRoaXMuaW5zdGFuY2UuZWxlbWVudDtlLmN1cnJlbnRJdGVtPWUuZWxl
bWVudDt0aGlzLmluc3RhbmNlLmZyb21PdXRzaWRlPWV9dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRl
bSYmdGhpcy5pbnN0YW5jZS5fbW91c2VEcmFnKGMpfWVsc2UgaWYodGhpcy5pbnN0YW5jZS5pc092
ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTA7dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1v
dmFsPXRydWU7dGhpcy5pbnN0YW5jZS5vcHRpb25zLnJldmVydD1mYWxzZTt0aGlzLmluc3RhbmNl
Ll90cmlnZ2VyKCJvdXQiLGMsdGhpcy5pbnN0YW5jZS5fdWlIYXNoKHRoaXMuaW5zdGFuY2UpKTt0
aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AoYyx0cnVlKTt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVs
cGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyO3RoaXMuaW5zdGFuY2UuY3VycmVudEl0
ZW0ucmVtb3ZlKCk7dGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlciYmCi10aGlzLmluc3RhbmNlLnBs
YWNlaG9sZGVyLnJlbW92ZSgpO2UuX3RyaWdnZXIoImZyb21Tb3J0YWJsZSIsYyk7ZS5kcm9wcGVk
PWZhbHNlfX0pfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY3Vyc29yIix7c3RhcnQ6
ZnVuY3Rpb24oKXt2YXIgYz1hKCJib2R5IiksZD1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9w
dGlvbnM7aWYoYy5jc3MoImN1cnNvciIpKWQuX2N1cnNvcj1jLmNzcygiY3Vyc29yIik7Yy5jc3Mo
ImN1cnNvciIsZC5jdXJzb3IpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJk
cmFnZ2FibGUiKS5vcHRpb25zO2MuX2N1cnNvciYmYSgiYm9keSIpLmNzcygiY3Vyc29yIixjLl9j
dXJzb3IpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwib3BhY2l0eSIse3N0YXJ0OmZ1
bmN0aW9uKGMsZCl7Yz1hKGQuaGVscGVyKTtkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0
aW9ucztpZihjLmNzcygib3BhY2l0eSIpKWQuX29wYWNpdHk9Ci1jLmNzcygib3BhY2l0eSIpO2Mu
Y3NzKCJvcGFjaXR5IixkLm9wYWNpdHkpfSxzdG9wOmZ1bmN0aW9uKGMsZCl7Yz1hKHRoaXMpLmRh
dGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7Yy5fb3BhY2l0eSYmYShkLmhlbHBlcikuY3NzKCJvcGFj
aXR5IixjLl9vcGFjaXR5KX19KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNjcm9sbCIs
e3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKTtpZihjLnNj
cm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1M
IiljLm92ZXJmbG93T2Zmc2V0PWMuc2Nyb2xsUGFyZW50Lm9mZnNldCgpfSxkcmFnOmZ1bmN0aW9u
KGMpe3ZhciBkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZT1kLm9wdGlvbnMsaD1mYWxzZTtp
ZihkLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUh
PSJIVE1MIil7aWYoIWUuYXhpc3x8ZS5heGlzIT0KLSJ4IilpZihkLm92ZXJmbG93T2Zmc2V0LnRv
cCtkLnNjcm9sbFBhcmVudFswXS5vZmZzZXRIZWlnaHQtYy5wYWdlWTxlLnNjcm9sbFNlbnNpdGl2
aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcD1oPWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9s
bFRvcCtlLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWS1kLm92ZXJmbG93T2Zmc2V0LnRvcDxl
LnNjcm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcD1oPWQuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbFRvcC1lLnNjcm9sbFNwZWVkO2lmKCFlLmF4aXN8fGUuYXhpcyE9Inki
KWlmKGQub3ZlcmZsb3dPZmZzZXQubGVmdCtkLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC1j
LnBhZ2VYPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1o
PWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrZS5zY3JvbGxTcGVlZDtlbHNlIGlmKGMucGFn
ZVgtZC5vdmVyZmxvd09mZnNldC5sZWZ0PAotZS5zY3JvbGxTZW5zaXRpdml0eSlkLnNjcm9sbFBh
cmVudFswXS5zY3JvbGxMZWZ0PWg9ZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1lLnNjcm9s
bFNwZWVkfWVsc2V7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieCIpaWYoYy5wYWdlWS1hKGRvY3VtZW50
KS5zY3JvbGxUb3AoKTxlLnNjcm9sbFNlbnNpdGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsVG9w
KGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLWUuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoYSh3aW5kb3cp
LmhlaWdodCgpLShjLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxlLnNjcm9sbFNlbnNp
dGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpK2Uu
c2Nyb2xsU3BlZWQpO2lmKCFlLmF4aXN8fGUuYXhpcyE9InkiKWlmKGMucGFnZVgtYShkb2N1bWVu
dCkuc2Nyb2xsTGVmdCgpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1hKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKS0KLWUuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoYSh3
aW5kb3cpLndpZHRoKCktKGMucGFnZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKTxlLnNjcm9s
bFNlbnNpdGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCkrZS5zY3JvbGxTcGVlZCl9aCE9PWZhbHNlJiZhLnVpLmRkbWFuYWdlciYmIWUuZHJvcEJl
aGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoZCxjKX19KTthLnVpLnBsdWdp
bi5hZGQoImRyYWdnYWJsZSIsInNuYXAiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBjPWEodGhpcyku
ZGF0YSgiZHJhZ2dhYmxlIiksZD1jLm9wdGlvbnM7Yy5zbmFwRWxlbWVudHM9W107YShkLnNuYXAu
Y29uc3RydWN0b3IhPVN0cmluZz9kLnNuYXAuaXRlbXN8fCI6ZGF0YShkcmFnZ2FibGUpIjpkLnNu
YXApLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLGg9ZS5vZmZzZXQoKTt0aGlzIT1jLmVs
ZW1lbnRbMF0mJmMuc25hcEVsZW1lbnRzLnB1c2goe2l0ZW06dGhpcywKLXdpZHRoOmUub3V0ZXJX
aWR0aCgpLGhlaWdodDplLm91dGVySGVpZ2h0KCksdG9wOmgudG9wLGxlZnQ6aC5sZWZ0fSl9KX0s
ZHJhZzpmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGg9
ZS5vcHRpb25zLGc9aC5zbmFwVG9sZXJhbmNlLGk9ZC5vZmZzZXQubGVmdCxiPWkrZS5oZWxwZXJQ
cm9wb3J0aW9ucy53aWR0aCxmPWQub2Zmc2V0LnRvcCxqPWYrZS5oZWxwZXJQcm9wb3J0aW9ucy5o
ZWlnaHQsbD1lLnNuYXBFbGVtZW50cy5sZW5ndGgtMTtsPj0wO2wtLSl7dmFyIG89ZS5zbmFwRWxl
bWVudHNbbF0ubGVmdCxuPW8rZS5zbmFwRWxlbWVudHNbbF0ud2lkdGgsaz1lLnNuYXBFbGVtZW50
c1tsXS50b3AsbT1rK2Uuc25hcEVsZW1lbnRzW2xdLmhlaWdodDtpZihvLWc8aSYmaTxuK2cmJmst
ZzxmJiZmPG0rZ3x8by1nPGkmJmk8bitnJiZrLWc8aiYmajxtK2d8fG8tZzxiJiZiPG4rZyYmay1n
PGYmJmY8bStnfHxvLWc8YiYmYjxuK2cmJmstZzxqJiYKLWo8bStnKXtpZihoLnNuYXBNb2RlIT0i
aW5uZXIiKXt2YXIgcD1NYXRoLmFicyhrLWopPD1nLHE9TWF0aC5hYnMobS1mKTw9ZyxzPU1hdGgu
YWJzKG8tYik8PWcscj1NYXRoLmFicyhuLWkpPD1nO2lmKHApZC5wb3NpdGlvbi50b3A9ZS5fY29u
dmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmstZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWln
aHQsbGVmdDowfSkudG9wLWUubWFyZ2lucy50b3A7aWYocSlkLnBvc2l0aW9uLnRvcD1lLl9jb252
ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6bSxsZWZ0OjB9KS50b3AtZS5tYXJnaW5zLnRv
cDtpZihzKWQucG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0
b3A6MCxsZWZ0Om8tZS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aH0pLmxlZnQtZS5tYXJnaW5zLmxl
ZnQ7aWYocilkLnBvc2l0aW9uLmxlZnQ9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7
dG9wOjAsbGVmdDpufSkubGVmdC1lLm1hcmdpbnMubGVmdH12YXIgdT0KLXB8fHF8fHN8fHI7aWYo
aC5zbmFwTW9kZSE9Im91dGVyIil7cD1NYXRoLmFicyhrLWYpPD1nO3E9TWF0aC5hYnMobS1qKTw9
ZztzPU1hdGguYWJzKG8taSk8PWc7cj1NYXRoLmFicyhuLWIpPD1nO2lmKHApZC5wb3NpdGlvbi50
b3A9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmssbGVmdDowfSkudG9wLWUu
bWFyZ2lucy50b3A7aWYocSlkLnBvc2l0aW9uLnRvcD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVs
YXRpdmUiLHt0b3A6bS1lLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3AtZS5t
YXJnaW5zLnRvcDtpZihzKWQucG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVs
YXRpdmUiLHt0b3A6MCxsZWZ0Om99KS5sZWZ0LWUubWFyZ2lucy5sZWZ0O2lmKHIpZC5wb3NpdGlv
bi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6bi1lLmhl
bHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1lLm1hcmdpbnMubGVmdH1pZighZS5zbmFwRWxl
bWVudHNbbF0uc25hcHBpbmcmJgotKHB8fHF8fHN8fHJ8fHUpKWUub3B0aW9ucy5zbmFwLnNuYXAm
JmUub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChlLmVsZW1lbnQsYyxhLmV4dGVuZChlLl91aUhhc2go
KSx7c25hcEl0ZW06ZS5zbmFwRWxlbWVudHNbbF0uaXRlbX0pKTtlLnNuYXBFbGVtZW50c1tsXS5z
bmFwcGluZz1wfHxxfHxzfHxyfHx1fWVsc2V7ZS5zbmFwRWxlbWVudHNbbF0uc25hcHBpbmcmJmUu
b3B0aW9ucy5zbmFwLnJlbGVhc2UmJmUub3B0aW9ucy5zbmFwLnJlbGVhc2UuY2FsbChlLmVsZW1l
bnQsYyxhLmV4dGVuZChlLl91aUhhc2goKSx7c25hcEl0ZW06ZS5zbmFwRWxlbWVudHNbbF0uaXRl
bX0pKTtlLnNuYXBFbGVtZW50c1tsXS5zbmFwcGluZz1mYWxzZX19fX0pO2EudWkucGx1Z2luLmFk
ZCgiZHJhZ2dhYmxlIiwic3RhY2siLHtzdGFydDpmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0
YSgiZHJhZ2dhYmxlIikub3B0aW9ucztjPWEubWFrZUFycmF5KGEoYy5zdGFjaykpLnNvcnQoZnVu
Y3Rpb24oZSxoKXtyZXR1cm4ocGFyc2VJbnQoYShlKS5jc3MoInpJbmRleCIpLAotMTApfHwwKS0o
cGFyc2VJbnQoYShoKS5jc3MoInpJbmRleCIpLDEwKXx8MCl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9
cGFyc2VJbnQoY1swXS5zdHlsZS56SW5kZXgpfHwwO2EoYykuZWFjaChmdW5jdGlvbihlKXt0aGlz
LnN0eWxlLnpJbmRleD1kK2V9KTt0aGlzWzBdLnN0eWxlLnpJbmRleD1kK2MubGVuZ3RofX19KTth
LnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInpJbmRleCIse3N0YXJ0OmZ1bmN0aW9uKGMsZCl7
Yz1hKGQuaGVscGVyKTtkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihjLmNz
cygiekluZGV4IikpZC5fekluZGV4PWMuY3NzKCJ6SW5kZXgiKTtjLmNzcygiekluZGV4IixkLnpJ
bmRleCl9LHN0b3A6ZnVuY3Rpb24oYyxkKXtjPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0
aW9ucztjLl96SW5kZXgmJmEoZC5oZWxwZXIpLmNzcygiekluZGV4IixjLl96SW5kZXgpfX0pfSko
alF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLndpZGdldCgidWkuZHJvcHBhYmxlIix7d2lkZ2V0RXZl
bnRQcmVmaXg6ImRyb3AiLG9wdGlvbnM6e2FjY2VwdDoiKiIsYWN0aXZlQ2xhc3M6ZmFsc2UsYWRk
Q2xhc3Nlczp0cnVlLGdyZWVkeTpmYWxzZSxob3ZlckNsYXNzOmZhbHNlLHNjb3BlOiJkZWZhdWx0
Iix0b2xlcmFuY2U6ImludGVyc2VjdCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9w
dGlvbnMsZD1jLmFjY2VwdDt0aGlzLmlzb3Zlcj0wO3RoaXMuaXNvdXQ9MTt0aGlzLmFjY2VwdD1h
LmlzRnVuY3Rpb24oZCk/ZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhkKX07dGhpcy5wcm9wb3J0
aW9ucz17d2lkdGg6dGhpcy5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDp0aGlzLmVsZW1l
bnRbMF0ub2Zmc2V0SGVpZ2h0fTthLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Muc2NvcGVdPWEu
dWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5zY29wZV18fFtdO2EudWkuZGRtYW5hZ2VyLmRyb3Bw
YWJsZXNbYy5zY29wZV0ucHVzaCh0aGlzKTsKLWMuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFk
ZENsYXNzKCJ1aS1kcm9wcGFibGUiKX0sZGVzdHJveTpmdW5jdGlvbigpe2Zvcih2YXIgYz1hLnVp
LmRkbWFuYWdlci5kcm9wcGFibGVzW3RoaXMub3B0aW9ucy5zY29wZV0sZD0wO2Q8Yy5sZW5ndGg7
ZCsrKWNbZF09PXRoaXMmJmMuc3BsaWNlKGQsMSk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1kcm9wcGFibGUgdWktZHJvcHBhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgiZHJvcHBhYmxl
IikudW5iaW5kKCIuZHJvcHBhYmxlIik7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24o
YyxkKXtpZihjPT0iYWNjZXB0Iil0aGlzLmFjY2VwdD1hLmlzRnVuY3Rpb24oZCk/ZDpmdW5jdGlv
bihlKXtyZXR1cm4gZS5pcyhkKX07YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHko
dGhpcyxhcmd1bWVudHMpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1hbmFn
ZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJgotdGhpcy5lbGVtZW50LmFkZENs
YXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7ZCYmdGhpcy5fdHJpZ2dlcigiYWN0aXZhdGUi
LGMsdGhpcy51aShkKSl9LF9kZWFjdGl2YXRlOmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuZGRtYW5h
Z2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKTtkJiZ0aGlzLl90cmlnZ2VyKCJkZWFjdGl2
YXRlIixjLHRoaXMudWkoZCkpfSxfb3ZlcjpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdl
ci5jdXJyZW50O2lmKCEoIWR8fChkLmN1cnJlbnRJdGVtfHxkLmVsZW1lbnQpWzBdPT10aGlzLmVs
ZW1lbnRbMF0pKWlmKHRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGQuY3VycmVudEl0
ZW18fGQuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQuYWRk
Q2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpOwotdGhpcy5fdHJpZ2dlcigib3ZlciIsYyx0
aGlzLnVpKGQpKX19LF9vdXQ6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1hbmFnZXIuY3VycmVu
dDtpZighKCFkfHwoZC5jdXJyZW50SXRlbXx8ZC5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50WzBd
KSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxkLmN1cnJlbnRJdGVtfHxkLmVs
ZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90cmlnZ2VyKCJvdXQiLGMsdGhpcy51aShk
KSl9fSxfZHJvcDpmdW5jdGlvbihjLGQpe3ZhciBlPWR8fGEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7
aWYoIWV8fChlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0pcmV0
dXJuIGZhbHNlO3ZhciBoPWZhbHNlO3RoaXMuZWxlbWVudC5maW5kKCI6ZGF0YShkcm9wcGFibGUp
Iikubm90KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikuZWFjaChmdW5jdGlvbigpe3ZhciBnPQot
YS5kYXRhKHRoaXMsImRyb3BwYWJsZSIpO2lmKGcub3B0aW9ucy5ncmVlZHkmJiFnLm9wdGlvbnMu
ZGlzYWJsZWQmJmcub3B0aW9ucy5zY29wZT09ZS5vcHRpb25zLnNjb3BlJiZnLmFjY2VwdC5jYWxs
KGcuZWxlbWVudFswXSxlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpJiZhLnVpLmludGVyc2VjdChl
LGEuZXh0ZW5kKGcse29mZnNldDpnLmVsZW1lbnQub2Zmc2V0KCl9KSxnLm9wdGlvbnMudG9sZXJh
bmNlKSl7aD10cnVlO3JldHVybiBmYWxzZX19KTtpZihoKXJldHVybiBmYWxzZTtpZih0aGlzLmFj
Y2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpKXt0aGlz
Lm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlv
bnMuYWN0aXZlQ2xhc3MpO3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVt
b3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpO3RoaXMuX3RyaWdnZXIoImRyb3AiLAot
Yyx0aGlzLnVpKGUpKTtyZXR1cm4gdGhpcy5lbGVtZW50fXJldHVybiBmYWxzZX0sdWk6ZnVuY3Rp
b24oYyl7cmV0dXJue2RyYWdnYWJsZTpjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQsaGVscGVyOmMu
aGVscGVyLHBvc2l0aW9uOmMucG9zaXRpb24sb2Zmc2V0OmMucG9zaXRpb25BYnN9fX0pO2EuZXh0
ZW5kKGEudWkuZHJvcHBhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSk7YS51aS5pbnRlcnNlY3Q9ZnVu
Y3Rpb24oYyxkLGUpe2lmKCFkLm9mZnNldClyZXR1cm4gZmFsc2U7dmFyIGg9KGMucG9zaXRpb25B
YnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQsZz1oK2MuaGVscGVyUHJvcG9ydGlvbnMud2lk
dGgsaT0oYy5wb3NpdGlvbkFic3x8Yy5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wLGI9aStjLmhlbHBl
clByb3BvcnRpb25zLmhlaWdodCxmPWQub2Zmc2V0LmxlZnQsaj1mK2QucHJvcG9ydGlvbnMud2lk
dGgsbD1kLm9mZnNldC50b3Asbz1sK2QucHJvcG9ydGlvbnMuaGVpZ2h0Owotc3dpdGNoKGUpe2Nh
c2UgImZpdCI6cmV0dXJuIGY8PWgmJmc8PWomJmw8PWkmJmI8PW87Y2FzZSAiaW50ZXJzZWN0Ijpy
ZXR1cm4gZjxoK2MuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmZy1jLmhlbHBlclByb3BvcnRp
b25zLndpZHRoLzI8aiYmbDxpK2MuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzImJmItYy5oZWxw
ZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxvO2Nhc2UgInBvaW50ZXIiOnJldHVybiBhLnVpLmlzT3Zl
cigoYy5wb3NpdGlvbkFic3x8Yy5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wKyhjLmNsaWNrT2Zmc2V0
fHxjLm9mZnNldC5jbGljaykudG9wLChjLnBvc2l0aW9uQWJzfHxjLnBvc2l0aW9uLmFic29sdXRl
KS5sZWZ0KyhjLmNsaWNrT2Zmc2V0fHxjLm9mZnNldC5jbGljaykubGVmdCxsLGYsZC5wcm9wb3J0
aW9ucy5oZWlnaHQsZC5wcm9wb3J0aW9ucy53aWR0aCk7Y2FzZSAidG91Y2giOnJldHVybihpPj1s
JiZpPD1vfHxiPj1sJiZiPD1vfHxpPGwmJmI+bykmJihoPj0KLWYmJmg8PWp8fGc+PWYmJmc8PWp8
fGg8ZiYmZz5qKTtkZWZhdWx0OnJldHVybiBmYWxzZX19O2EudWkuZGRtYW5hZ2VyPXtjdXJyZW50
Om51bGwsZHJvcHBhYmxlczp7ImRlZmF1bHQiOltdfSxwcmVwYXJlT2Zmc2V0czpmdW5jdGlvbihj
LGQpe3ZhciBlPWEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRpb25zLnNjb3BlXXx8W10s
aD1kP2QudHlwZTpudWxsLGc9KGMuY3VycmVudEl0ZW18fGMuZWxlbWVudCkuZmluZCgiOmRhdGEo
ZHJvcHBhYmxlKSIpLmFuZFNlbGYoKSxpPTA7YTpmb3IoO2k8ZS5sZW5ndGg7aSsrKWlmKCEoZVtp
XS5vcHRpb25zLmRpc2FibGVkfHxjJiYhZVtpXS5hY2NlcHQuY2FsbChlW2ldLmVsZW1lbnRbMF0s
Yy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KSkpe2Zvcih2YXIgYj0wO2I8Zy5sZW5ndGg7YisrKWlm
KGdbYl09PWVbaV0uZWxlbWVudFswXSl7ZVtpXS5wcm9wb3J0aW9ucy5oZWlnaHQ9MDtjb250aW51
ZSBhfWVbaV0udmlzaWJsZT1lW2ldLmVsZW1lbnQuY3NzKCJkaXNwbGF5IikhPQotIm5vbmUiO2lm
KGVbaV0udmlzaWJsZSl7aD09Im1vdXNlZG93biImJmVbaV0uX2FjdGl2YXRlLmNhbGwoZVtpXSxk
KTtlW2ldLm9mZnNldD1lW2ldLmVsZW1lbnQub2Zmc2V0KCk7ZVtpXS5wcm9wb3J0aW9ucz17d2lk
dGg6ZVtpXS5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDplW2ldLmVsZW1lbnRbMF0ub2Zm
c2V0SGVpZ2h0fX19fSxkcm9wOmZ1bmN0aW9uKGMsZCl7dmFyIGU9ZmFsc2U7YS5lYWNoKGEudWku
ZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZih0
aGlzLm9wdGlvbnMpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmYS51
aS5pbnRlcnNlY3QoYyx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpKWU9ZXx8dGhpcy5fZHJv
cC5jYWxsKHRoaXMsZCk7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxlJiZ0
aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxjLmN1cnJlbnRJdGVtfHwKLWMuZWxlbWVu
dCkpe3RoaXMuaXNvdXQ9MTt0aGlzLmlzb3Zlcj0wO3RoaXMuX2RlYWN0aXZhdGUuY2FsbCh0aGlz
LGQpfX19KTtyZXR1cm4gZX0sZHJhZ1N0YXJ0OmZ1bmN0aW9uKGMsZCl7Yy5lbGVtZW50LnBhcmVu
dHNVbnRpbCgiYm9keSIpLmJpbmQoInNjcm9sbC5kcm9wcGFibGUiLGZ1bmN0aW9uKCl7Yy5vcHRp
b25zLnJlZnJlc2hQb3NpdGlvbnN8fGEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGMsZCl9
KX0sZHJhZzpmdW5jdGlvbihjLGQpe2Mub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zJiZhLnVpLmRk
bWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhjLGQpO2EuZWFjaChhLnVpLmRkbWFuYWdlci5kcm9wcGFi
bGVzW2Mub3B0aW9ucy5zY29wZV18fFtdLGZ1bmN0aW9uKCl7aWYoISh0aGlzLm9wdGlvbnMuZGlz
YWJsZWR8fHRoaXMuZ3JlZWR5Q2hpbGR8fCF0aGlzLnZpc2libGUpKXt2YXIgZT1hLnVpLmludGVy
c2VjdChjLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSk7aWYoZT0KLSFlJiZ0aGlzLmlzb3Zl
cj09MT8iaXNvdXQiOmUmJnRoaXMuaXNvdmVyPT0wPyJpc292ZXIiOm51bGwpe3ZhciBoO2lmKHRo
aXMub3B0aW9ucy5ncmVlZHkpe3ZhciBnPXRoaXMuZWxlbWVudC5wYXJlbnRzKCI6ZGF0YShkcm9w
cGFibGUpOmVxKDApIik7aWYoZy5sZW5ndGgpe2g9YS5kYXRhKGdbMF0sImRyb3BwYWJsZSIpO2gu
Z3JlZWR5Q2hpbGQ9ZT09Imlzb3ZlciI/MTowfX1pZihoJiZlPT0iaXNvdmVyIil7aC5pc292ZXI9
MDtoLmlzb3V0PTE7aC5fb3V0LmNhbGwoaCxkKX10aGlzW2VdPTE7dGhpc1tlPT0iaXNvdXQiPyJp
c292ZXIiOiJpc291dCJdPTA7dGhpc1tlPT0iaXNvdmVyIj8iX292ZXIiOiJfb3V0Il0uY2FsbCh0
aGlzLGQpO2lmKGgmJmU9PSJpc291dCIpe2guaXNvdXQ9MDtoLmlzb3Zlcj0xO2guX292ZXIuY2Fs
bChoLGQpfX19fSl9LGRyYWdTdG9wOmZ1bmN0aW9uKGMsZCl7Yy5lbGVtZW50LnBhcmVudHNVbnRp
bCgiYm9keSIpLnVuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIpOwotYy5vcHRpb25zLnJlZnJlc2hQ
b3NpdGlvbnN8fGEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGMsZCl9fX0pKGpRdWVyeSk7
Ci0oZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLnJlc2l6YWJsZSIsYS51aS5tb3VzZSx7d2lkZ2V0
RXZlbnRQcmVmaXg6InJlc2l6ZSIsb3B0aW9uczp7YWxzb1Jlc2l6ZTpmYWxzZSxhbmltYXRlOmZh
bHNlLGFuaW1hdGVEdXJhdGlvbjoic2xvdyIsYW5pbWF0ZUVhc2luZzoic3dpbmciLGFzcGVjdFJh
dGlvOmZhbHNlLGF1dG9IaWRlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGdob3N0OmZhbHNlLGdy
aWQ6ZmFsc2UsaGFuZGxlczoiZSxzLHNlIixoZWxwZXI6ZmFsc2UsbWF4SGVpZ2h0Om51bGwsbWF4
V2lkdGg6bnVsbCxtaW5IZWlnaHQ6MTAsbWluV2lkdGg6MTAsekluZGV4OjFFM30sX2NyZWF0ZTpm
dW5jdGlvbigpe3ZhciBlPXRoaXMsaD10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LmFkZENsYXNz
KCJ1aS1yZXNpemFibGUiKTthLmV4dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86ISFoLmFzcGVjdFJh
dGlvLGFzcGVjdFJhdGlvOmguYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVu
dCwKLV9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzOltdLF9oZWxwZXI6aC5oZWxwZXJ8fGgu
Z2hvc3R8fGguYW5pbWF0ZT9oLmhlbHBlcnx8InVpLXJlc2l6YWJsZS1oZWxwZXIiOm51bGx9KTtp
Zih0aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL2NhbnZhc3x0ZXh0YXJlYXxpbnB1dHxz
ZWxlY3R8YnV0dG9ufGltZy9pKSl7L3JlbGF0aXZlLy50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBv
c2l0aW9uIikpJiZhLmJyb3dzZXIub3BlcmEmJnRoaXMuZWxlbWVudC5jc3Moe3Bvc2l0aW9uOiJy
ZWxhdGl2ZSIsdG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0pO3RoaXMuZWxlbWVudC53cmFwKGEoJzxk
aXYgY2xhc3M9InVpLXdyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyI+PC9kaXY+Jyku
Y3NzKHtwb3NpdGlvbjp0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnRoaXMuZWxl
bWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLAotdG9w
OnRoaXMuZWxlbWVudC5jc3MoInRvcCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNzcygibGVmdCIpfSkp
O3RoaXMuZWxlbWVudD10aGlzLmVsZW1lbnQucGFyZW50KCkuZGF0YSgicmVzaXphYmxlIix0aGlz
LmVsZW1lbnQuZGF0YSgicmVzaXphYmxlIikpO3RoaXMuZWxlbWVudElzV3JhcHBlcj10cnVlO3Ro
aXMuZWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJn
aW5MZWZ0IiksbWFyZ2luVG9wOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luVG9wIiks
bWFyZ2luUmlnaHQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLG1hcmdp
bkJvdHRvbTp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpfSk7dGhpcy5v
cmlnaW5hbEVsZW1lbnQuY3NzKHttYXJnaW5MZWZ0OjAsbWFyZ2luVG9wOjAsbWFyZ2luUmlnaHQ6
MCxtYXJnaW5Cb3R0b206MH0pO3RoaXMub3JpZ2luYWxSZXNpemVTdHlsZT0KLXRoaXMub3JpZ2lu
YWxFbGVtZW50LmNzcygicmVzaXplIik7dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUi
LCJub25lIik7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5wdXNoKHRoaXMub3Jp
Z2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246InN0YXRpYyIsem9vbToxLGRpc3BsYXk6ImJsb2Nr
In0pKTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbjp0aGlzLm9yaWdpbmFsRWxlbWVu
dC5jc3MoIm1hcmdpbiIpfSk7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX10aGlzLmhhbmRs
ZXM9aC5oYW5kbGVzfHwoIWEoIi51aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmxl
bmd0aD8iZSxzLHNlIjp7bjoiLnVpLXJlc2l6YWJsZS1uIixlOiIudWktcmVzaXphYmxlLWUiLHM6
Ii51aS1yZXNpemFibGUtcyIsdzoiLnVpLXJlc2l6YWJsZS13IixzZToiLnVpLXJlc2l6YWJsZS1z
ZSIsc3c6Ii51aS1yZXNpemFibGUtc3ciLG5lOiIudWktcmVzaXphYmxlLW5lIiwKLW53OiIudWkt
cmVzaXphYmxlLW53In0pO2lmKHRoaXMuaGFuZGxlcy5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtpZih0
aGlzLmhhbmRsZXM9PSJhbGwiKXRoaXMuaGFuZGxlcz0ibixlLHMsdyxzZSxzdyxuZSxudyI7dmFy
IGc9dGhpcy5oYW5kbGVzLnNwbGl0KCIsIik7dGhpcy5oYW5kbGVzPXt9O2Zvcih2YXIgaT0wO2k8
Zy5sZW5ndGg7aSsrKXt2YXIgYj1hLnRyaW0oZ1tpXSksZj1hKCc8ZGl2IGNsYXNzPSJ1aS1yZXNp
emFibGUtaGFuZGxlICcrKCJ1aS1yZXNpemFibGUtIitiKSsnIj48L2Rpdj4nKTsvc3d8c2V8bmV8
bncvLnRlc3QoYikmJmYuY3NzKHt6SW5kZXg6KytoLnpJbmRleH0pOyJzZSI9PWImJmYuYWRkQ2xh
c3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKTt0aGlzLmhhbmRsZXNb
Yl09Ii51aS1yZXNpemFibGUtIitiO3RoaXMuZWxlbWVudC5hcHBlbmQoZil9fXRoaXMuX3JlbmRl
ckF4aXM9ZnVuY3Rpb24oail7aj1qfHx0aGlzLmVsZW1lbnQ7Zm9yKHZhciBsIGluIHRoaXMuaGFu
ZGxlcyl7aWYodGhpcy5oYW5kbGVzW2xdLmNvbnN0cnVjdG9yPT0KLVN0cmluZyl0aGlzLmhhbmRs
ZXNbbF09YSh0aGlzLmhhbmRsZXNbbF0sdGhpcy5lbGVtZW50KS5zaG93KCk7aWYodGhpcy5lbGVt
ZW50SXNXcmFwcGVyJiZ0aGlzLm9yaWdpbmFsRWxlbWVudFswXS5ub2RlTmFtZS5tYXRjaCgvdGV4
dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbi9pKSl7dmFyIG89YSh0aGlzLmhhbmRsZXNbbF0sdGhp
cy5lbGVtZW50KSxuPTA7bj0vc3d8bmV8bnd8c2V8bnxzLy50ZXN0KGwpP28ub3V0ZXJIZWlnaHQo
KTpvLm91dGVyV2lkdGgoKTtvPVsicGFkZGluZyIsL25lfG53fG4vLnRlc3QobCk/IlRvcCI6L3Nl
fHN3fHMvLnRlc3QobCk/IkJvdHRvbSI6L15lJC8udGVzdChsKT8iUmlnaHQiOiJMZWZ0Il0uam9p
bigiIik7ai5jc3MobyxuKTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfWEodGhpcy5oYW5k
bGVzW2xdKX19O3RoaXMuX3JlbmRlckF4aXModGhpcy5lbGVtZW50KTt0aGlzLl9oYW5kbGVzPWEo
Ii51aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmRpc2FibGVTZWxlY3Rpb24oKTsK
LXRoaXMuX2hhbmRsZXMubW91c2VvdmVyKGZ1bmN0aW9uKCl7aWYoIWUucmVzaXppbmcpe2lmKHRo
aXMuY2xhc3NOYW1lKXZhciBqPXRoaXMuY2xhc3NOYW1lLm1hdGNoKC91aS1yZXNpemFibGUtKHNl
fHN3fG5lfG53fG58ZXxzfHcpL2kpO2UuYXhpcz1qJiZqWzFdP2pbMV06InNlIn19KTtpZihoLmF1
dG9IaWRlKXt0aGlzLl9oYW5kbGVzLmhpZGUoKTthKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVp
LXJlc2l6YWJsZS1hdXRvaGlkZSIpLmhvdmVyKGZ1bmN0aW9uKCl7aWYoIWguZGlzYWJsZWQpe2Eo
dGhpcykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpO2UuX2hhbmRsZXMuc2hv
dygpfX0sZnVuY3Rpb24oKXtpZighaC5kaXNhYmxlZClpZighZS5yZXNpemluZyl7YSh0aGlzKS5h
ZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIik7ZS5faGFuZGxlcy5oaWRlKCl9fSl9dGhp
cy5fbW91c2VJbml0KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3VzZURlc3Ryb3koKTsK
LXZhciBlPWZ1bmN0aW9uKGcpe2EoZykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNp
emFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikucmVtb3ZlRGF0YSgicmVzaXph
YmxlIikudW5iaW5kKCIucmVzaXphYmxlIikuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5y
ZW1vdmUoKX07aWYodGhpcy5lbGVtZW50SXNXcmFwcGVyKXtlKHRoaXMuZWxlbWVudCk7dmFyIGg9
dGhpcy5lbGVtZW50O2guYWZ0ZXIodGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjpo
LmNzcygicG9zaXRpb24iKSx3aWR0aDpoLm91dGVyV2lkdGgoKSxoZWlnaHQ6aC5vdXRlckhlaWdo
dCgpLHRvcDpoLmNzcygidG9wIiksbGVmdDpoLmNzcygibGVmdCIpfSkpLnJlbW92ZSgpfXRoaXMu
b3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIix0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGUpO2Uo
dGhpcy5vcmlnaW5hbEVsZW1lbnQpO3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9u
KGUpe3ZhciBoPQotZmFsc2U7Zm9yKHZhciBnIGluIHRoaXMuaGFuZGxlcylpZihhKHRoaXMuaGFu
ZGxlc1tnXSlbMF09PWUudGFyZ2V0KWg9dHJ1ZTtyZXR1cm4hdGhpcy5vcHRpb25zLmRpc2FibGVk
JiZofSxfbW91c2VTdGFydDpmdW5jdGlvbihlKXt2YXIgaD10aGlzLm9wdGlvbnMsZz10aGlzLmVs
ZW1lbnQucG9zaXRpb24oKSxpPXRoaXMuZWxlbWVudDt0aGlzLnJlc2l6aW5nPXRydWU7dGhpcy5k
b2N1bWVudFNjcm9sbD17dG9wOmEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLGxlZnQ6YShkb2N1bWVu
dCkuc2Nyb2xsTGVmdCgpfTtpZihpLmlzKCIudWktZHJhZ2dhYmxlIil8fC9hYnNvbHV0ZS8udGVz
dChpLmNzcygicG9zaXRpb24iKSkpaS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmcudG9w
LGxlZnQ6Zy5sZWZ0fSk7YS5icm93c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRlc3QoaS5jc3MoInBv
c2l0aW9uIikpJiZpLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6ImF1dG8iLGxlZnQ6ImF1
dG8ifSk7Ci10aGlzLl9yZW5kZXJQcm94eSgpO2c9Yyh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSk7
dmFyIGI9Yyh0aGlzLmhlbHBlci5jc3MoInRvcCIpKTtpZihoLmNvbnRhaW5tZW50KXtnKz1hKGgu
Y29udGFpbm1lbnQpLnNjcm9sbExlZnQoKXx8MDtiKz1hKGguY29udGFpbm1lbnQpLnNjcm9sbFRv
cCgpfHwwfXRoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpO3RoaXMucG9zaXRpb249e2xl
ZnQ6Zyx0b3A6Yn07dGhpcy5zaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6aS5vdXRlcldpZHRoKCks
aGVpZ2h0Omkub3V0ZXJIZWlnaHQoKX06e3dpZHRoOmkud2lkdGgoKSxoZWlnaHQ6aS5oZWlnaHQo
KX07dGhpcy5vcmlnaW5hbFNpemU9dGhpcy5faGVscGVyP3t3aWR0aDppLm91dGVyV2lkdGgoKSxo
ZWlnaHQ6aS5vdXRlckhlaWdodCgpfTp7d2lkdGg6aS53aWR0aCgpLGhlaWdodDppLmhlaWdodCgp
fTt0aGlzLm9yaWdpbmFsUG9zaXRpb249e2xlZnQ6Zyx0b3A6Yn07dGhpcy5zaXplRGlmZj0KLXt3
aWR0aDppLm91dGVyV2lkdGgoKS1pLndpZHRoKCksaGVpZ2h0Omkub3V0ZXJIZWlnaHQoKS1pLmhl
aWdodCgpfTt0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbj17bGVmdDplLnBhZ2VYLHRvcDplLnBh
Z2VZfTt0aGlzLmFzcGVjdFJhdGlvPXR5cGVvZiBoLmFzcGVjdFJhdGlvPT0ibnVtYmVyIj9oLmFz
cGVjdFJhdGlvOnRoaXMub3JpZ2luYWxTaXplLndpZHRoL3RoaXMub3JpZ2luYWxTaXplLmhlaWdo
dHx8MTtoPWEoIi51aS1yZXNpemFibGUtIit0aGlzLmF4aXMpLmNzcygiY3Vyc29yIik7YSgiYm9k
eSIpLmNzcygiY3Vyc29yIixoPT0iYXV0byI/dGhpcy5heGlzKyItcmVzaXplIjpoKTtpLmFkZENs
YXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKTt0aGlzLl9wcm9wYWdhdGUoInN0YXJ0IixlKTty
ZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXt2YXIgaD10aGlzLmhlbHBlcixnPXRo
aXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uLGk9dGhpcy5fY2hhbmdlW3RoaXMuYXhpc107Ci1pZigh
aSlyZXR1cm4gZmFsc2U7Zz1pLmFwcGx5KHRoaXMsW2UsZS5wYWdlWC1nLmxlZnR8fDAsZS5wYWdl
WS1nLnRvcHx8MF0pO3RoaXMuX3VwZGF0ZVZpcnR1YWxCb3VuZGFyaWVzKGUuc2hpZnRLZXkpO2lm
KHRoaXMuX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5KWc9dGhpcy5fdXBkYXRlUmF0aW8oZyxlKTtn
PXRoaXMuX3Jlc3BlY3RTaXplKGcsZSk7dGhpcy5fcHJvcGFnYXRlKCJyZXNpemUiLGUpO2guY3Nz
KHt0b3A6dGhpcy5wb3NpdGlvbi50b3ArInB4IixsZWZ0OnRoaXMucG9zaXRpb24ubGVmdCsicHgi
LHdpZHRoOnRoaXMuc2l6ZS53aWR0aCsicHgiLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0KyJweCJ9
KTshdGhpcy5faGVscGVyJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0
aCYmdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKTt0aGlzLl91cGRhdGVDYWNoZShnKTt0aGlz
Ll90cmlnZ2VyKCJyZXNpemUiLGUsdGhpcy51aSgpKTtyZXR1cm4gZmFsc2V9LAotX21vdXNlU3Rv
cDpmdW5jdGlvbihlKXt0aGlzLnJlc2l6aW5nPWZhbHNlO3ZhciBoPXRoaXMub3B0aW9ucyxnPXRo
aXM7aWYodGhpcy5faGVscGVyKXt2YXIgaT10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1l
bnRzLGI9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2RlTmFtZSk7aT1iJiZhLnVp
Lmhhc1Njcm9sbChpWzBdLCJsZWZ0Iik/MDpnLnNpemVEaWZmLmhlaWdodDtiPWI/MDpnLnNpemVE
aWZmLndpZHRoO2I9e3dpZHRoOmcuaGVscGVyLndpZHRoKCktYixoZWlnaHQ6Zy5oZWxwZXIuaGVp
Z2h0KCktaX07aT1wYXJzZUludChnLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApKyhnLnBvc2l0aW9u
LmxlZnQtZy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQpfHxudWxsO3ZhciBmPXBhcnNlSW50KGcuZWxl
bWVudC5jc3MoInRvcCIpLDEwKSsoZy5wb3NpdGlvbi50b3AtZy5vcmlnaW5hbFBvc2l0aW9uLnRv
cCl8fG51bGw7aC5hbmltYXRlfHx0aGlzLmVsZW1lbnQuY3NzKGEuZXh0ZW5kKGIsCi17dG9wOmYs
bGVmdDppfSkpO2cuaGVscGVyLmhlaWdodChnLnNpemUuaGVpZ2h0KTtnLmhlbHBlci53aWR0aChn
LnNpemUud2lkdGgpO3RoaXMuX2hlbHBlciYmIWguYW5pbWF0ZSYmdGhpcy5fcHJvcG9ydGlvbmFs
bHlSZXNpemUoKX1hKCJib2R5IikuY3NzKCJjdXJzb3IiLCJhdXRvIik7dGhpcy5lbGVtZW50LnJl
bW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKTt0aGlzLl9wcm9wYWdhdGUoInN0b3Ai
LGUpO3RoaXMuX2hlbHBlciYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7cmV0dXJuIGZhbHNlfSxfdXBk
YXRlVmlydHVhbEJvdW5kYXJpZXM6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5vcHRpb25zLGcsaSxi
O2g9e21pbldpZHRoOmQoaC5taW5XaWR0aCk/aC5taW5XaWR0aDowLG1heFdpZHRoOmQoaC5tYXhX
aWR0aCk/aC5tYXhXaWR0aDpJbmZpbml0eSxtaW5IZWlnaHQ6ZChoLm1pbkhlaWdodCk/aC5taW5I
ZWlnaHQ6MCxtYXhIZWlnaHQ6ZChoLm1heEhlaWdodCk/aC5tYXhIZWlnaHQ6Ci1JbmZpbml0eX07
aWYodGhpcy5fYXNwZWN0UmF0aW98fGUpe2U9aC5taW5IZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztp
PWgubWluV2lkdGgvdGhpcy5hc3BlY3RSYXRpbztnPWgubWF4SGVpZ2h0KnRoaXMuYXNwZWN0UmF0
aW87Yj1oLm1heFdpZHRoL3RoaXMuYXNwZWN0UmF0aW87aWYoZT5oLm1pbldpZHRoKWgubWluV2lk
dGg9ZTtpZihpPmgubWluSGVpZ2h0KWgubWluSGVpZ2h0PWk7aWYoZzxoLm1heFdpZHRoKWgubWF4
V2lkdGg9ZztpZihiPGgubWF4SGVpZ2h0KWgubWF4SGVpZ2h0PWJ9dGhpcy5fdkJvdW5kYXJpZXM9
aH0sX3VwZGF0ZUNhY2hlOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNl
dCgpO2lmKGQoZS5sZWZ0KSl0aGlzLnBvc2l0aW9uLmxlZnQ9ZS5sZWZ0O2lmKGQoZS50b3ApKXRo
aXMucG9zaXRpb24udG9wPWUudG9wO2lmKGQoZS5oZWlnaHQpKXRoaXMuc2l6ZS5oZWlnaHQ9ZS5o
ZWlnaHQ7aWYoZChlLndpZHRoKSl0aGlzLnNpemUud2lkdGg9Ci1lLndpZHRofSxfdXBkYXRlUmF0
aW86ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5wb3NpdGlvbixnPXRoaXMuc2l6ZSxpPXRoaXMuYXhp
cztpZihkKGUuaGVpZ2h0KSllLndpZHRoPWUuaGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87ZWxzZSBp
ZihkKGUud2lkdGgpKWUuaGVpZ2h0PWUud2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihpPT0ic3ci
KXtlLmxlZnQ9aC5sZWZ0KyhnLndpZHRoLWUud2lkdGgpO2UudG9wPW51bGx9aWYoaT09Im53Iil7
ZS50b3A9aC50b3ArKGcuaGVpZ2h0LWUuaGVpZ2h0KTtlLmxlZnQ9aC5sZWZ0KyhnLndpZHRoLWUu
d2lkdGgpfXJldHVybiBlfSxfcmVzcGVjdFNpemU6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5fdkJv
dW5kYXJpZXMsZz10aGlzLmF4aXMsaT1kKGUud2lkdGgpJiZoLm1heFdpZHRoJiZoLm1heFdpZHRo
PGUud2lkdGgsYj1kKGUuaGVpZ2h0KSYmaC5tYXhIZWlnaHQmJmgubWF4SGVpZ2h0PGUuaGVpZ2h0
LGY9ZChlLndpZHRoKSYmaC5taW5XaWR0aCYmCi1oLm1pbldpZHRoPmUud2lkdGgsaj1kKGUuaGVp
Z2h0KSYmaC5taW5IZWlnaHQmJmgubWluSGVpZ2h0PmUuaGVpZ2h0O2lmKGYpZS53aWR0aD1oLm1p
bldpZHRoO2lmKGopZS5oZWlnaHQ9aC5taW5IZWlnaHQ7aWYoaSllLndpZHRoPWgubWF4V2lkdGg7
aWYoYillLmhlaWdodD1oLm1heEhlaWdodDt2YXIgbD10aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVm
dCt0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCxvPXRoaXMucG9zaXRpb24udG9wK3RoaXMuc2l6ZS5o
ZWlnaHQsbj0vc3d8bnd8dy8udGVzdChnKTtnPS9ud3xuZXxuLy50ZXN0KGcpO2lmKGYmJm4pZS5s
ZWZ0PWwtaC5taW5XaWR0aDtpZihpJiZuKWUubGVmdD1sLWgubWF4V2lkdGg7aWYoaiYmZyllLnRv
cD1vLWgubWluSGVpZ2h0O2lmKGImJmcpZS50b3A9by1oLm1heEhlaWdodDtpZigoaD0hZS53aWR0
aCYmIWUuaGVpZ2h0KSYmIWUubGVmdCYmZS50b3ApZS50b3A9bnVsbDtlbHNlIGlmKGgmJiFlLnRv
cCYmZS5sZWZ0KWUubGVmdD0KLW51bGw7cmV0dXJuIGV9LF9wcm9wb3J0aW9uYWxseVJlc2l6ZTpm
dW5jdGlvbigpe2lmKHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKWZv
cih2YXIgZT10aGlzLmhlbHBlcnx8dGhpcy5lbGVtZW50LGg9MDtoPHRoaXMuX3Byb3BvcnRpb25h
bGx5UmVzaXplRWxlbWVudHMubGVuZ3RoO2grKyl7dmFyIGc9dGhpcy5fcHJvcG9ydGlvbmFsbHlS
ZXNpemVFbGVtZW50c1toXTtpZighdGhpcy5ib3JkZXJEaWYpe3ZhciBpPVtnLmNzcygiYm9yZGVy
VG9wV2lkdGgiKSxnLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLGcuY3NzKCJib3JkZXJCb3R0b21X
aWR0aCIpLGcuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKV0sYj1bZy5jc3MoInBhZGRpbmdUb3AiKSxn
LmNzcygicGFkZGluZ1JpZ2h0IiksZy5jc3MoInBhZGRpbmdCb3R0b20iKSxnLmNzcygicGFkZGlu
Z0xlZnQiKV07dGhpcy5ib3JkZXJEaWY9YS5tYXAoaSxmdW5jdGlvbihmLGope2Y9cGFyc2VJbnQo
ZiwxMCl8fAotMDtqPXBhcnNlSW50KGJbal0sMTApfHwwO3JldHVybiBmK2p9KX1hLmJyb3dzZXIu
bXNpZSYmKGEoZSkuaXMoIjpoaWRkZW4iKXx8YShlKS5wYXJlbnRzKCI6aGlkZGVuIikubGVuZ3Ro
KXx8Zy5jc3Moe2hlaWdodDplLmhlaWdodCgpLXRoaXMuYm9yZGVyRGlmWzBdLXRoaXMuYm9yZGVy
RGlmWzJdfHwwLHdpZHRoOmUud2lkdGgoKS10aGlzLmJvcmRlckRpZlsxXS10aGlzLmJvcmRlckRp
ZlszXXx8MH0pfX0sX3JlbmRlclByb3h5OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3Ro
aXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7aWYodGhpcy5faGVscGVyKXt0
aGlzLmhlbHBlcj10aGlzLmhlbHBlcnx8YSgnPGRpdiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuOyI+
PC9kaXY+Jyk7dmFyIGg9YS5icm93c2VyLm1zaWUmJmEuYnJvd3Nlci52ZXJzaW9uPDcsZz1oPzE6
MDtoPWg/MjotMTt0aGlzLmhlbHBlci5hZGRDbGFzcyh0aGlzLl9oZWxwZXIpLmNzcyh7d2lkdGg6
dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSsKLWgsaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhl
aWdodCgpK2gscG9zaXRpb246ImFic29sdXRlIixsZWZ0OnRoaXMuZWxlbWVudE9mZnNldC5sZWZ0
LWcrInB4Iix0b3A6dGhpcy5lbGVtZW50T2Zmc2V0LnRvcC1nKyJweCIsekluZGV4OisrZS56SW5k
ZXh9KTt0aGlzLmhlbHBlci5hcHBlbmRUbygiYm9keSIpLmRpc2FibGVTZWxlY3Rpb24oKX1lbHNl
IHRoaXMuaGVscGVyPXRoaXMuZWxlbWVudH0sX2NoYW5nZTp7ZTpmdW5jdGlvbihlLGgpe3JldHVy
bnt3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCtofX0sdzpmdW5jdGlvbihlLGgpe3JldHVy
bntsZWZ0OnRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K2gsd2lkdGg6dGhpcy5vcmlnaW5hbFNp
emUud2lkdGgtaH19LG46ZnVuY3Rpb24oZSxoLGcpe3JldHVybnt0b3A6dGhpcy5vcmlnaW5hbFBv
c2l0aW9uLnRvcCtnLGhlaWdodDp0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQtZ319LHM6ZnVuY3Rp
b24oZSxoLGcpe3JldHVybntoZWlnaHQ6dGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0KwotZ319LHNl
OmZ1bmN0aW9uKGUsaCxnKXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhp
cyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS5lLmFwcGx5KHRoaXMsW2UsaCxnXSkpfSxzdzpmdW5j
dGlvbihlLGgsZyl7cmV0dXJuIGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKSx0aGlzLl9jaGFuZ2Uudy5hcHBseSh0aGlzLFtlLGgsZ10pKX0sbmU6ZnVuY3Rpb24o
ZSxoLGcpe3JldHVybiBhLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50
cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZSxoLGddKSl9LG53OmZ1bmN0aW9uKGUsaCxn
KXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRo
aXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2UsaCxnXSkpfX0sX3Byb3BhZ2F0ZTpmdW5jdGlvbihl
LGgpe2EudWkucGx1Z2luLmNhbGwodGhpcyxlLFtoLHRoaXMudWkoKV0pOwotZSE9InJlc2l6ZSIm
JnRoaXMuX3RyaWdnZXIoZSxoLHRoaXMudWkoKSl9LHBsdWdpbnM6e30sdWk6ZnVuY3Rpb24oKXty
ZXR1cm57b3JpZ2luYWxFbGVtZW50OnRoaXMub3JpZ2luYWxFbGVtZW50LGVsZW1lbnQ6dGhpcy5l
bGVtZW50LGhlbHBlcjp0aGlzLmhlbHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0aW9uLHNpemU6dGhp
cy5zaXplLG9yaWdpbmFsU2l6ZTp0aGlzLm9yaWdpbmFsU2l6ZSxvcmlnaW5hbFBvc2l0aW9uOnRo
aXMub3JpZ2luYWxQb3NpdGlvbn19fSk7YS5leHRlbmQoYS51aS5yZXNpemFibGUse3ZlcnNpb246
IjEuOC4xNSJ9KTthLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFsc29SZXNpemUiLHtzdGFy
dDpmdW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIikub3B0aW9ucyxoPWZ1
bmN0aW9uKGcpe2EoZykuZWFjaChmdW5jdGlvbigpe3ZhciBpPWEodGhpcyk7aS5kYXRhKCJyZXNp
emFibGUtYWxzb3Jlc2l6ZSIse3dpZHRoOnBhcnNlSW50KGkud2lkdGgoKSwKLTEwKSxoZWlnaHQ6
cGFyc2VJbnQoaS5oZWlnaHQoKSwxMCksbGVmdDpwYXJzZUludChpLmNzcygibGVmdCIpLDEwKSx0
b3A6cGFyc2VJbnQoaS5jc3MoInRvcCIpLDEwKSxwb3NpdGlvbjppLmNzcygicG9zaXRpb24iKX0p
fSl9O2lmKHR5cGVvZiBlLmFsc29SZXNpemU9PSJvYmplY3QiJiYhZS5hbHNvUmVzaXplLnBhcmVu
dE5vZGUpaWYoZS5hbHNvUmVzaXplLmxlbmd0aCl7ZS5hbHNvUmVzaXplPWUuYWxzb1Jlc2l6ZVsw
XTtoKGUuYWxzb1Jlc2l6ZSl9ZWxzZSBhLmVhY2goZS5hbHNvUmVzaXplLGZ1bmN0aW9uKGcpe2go
Zyl9KTtlbHNlIGgoZS5hbHNvUmVzaXplKX0scmVzaXplOmZ1bmN0aW9uKGUsaCl7dmFyIGc9YSh0
aGlzKS5kYXRhKCJyZXNpemFibGUiKTtlPWcub3B0aW9uczt2YXIgaT1nLm9yaWdpbmFsU2l6ZSxi
PWcub3JpZ2luYWxQb3NpdGlvbixmPXtoZWlnaHQ6Zy5zaXplLmhlaWdodC1pLmhlaWdodHx8MCx3
aWR0aDpnLnNpemUud2lkdGgtaS53aWR0aHx8MCx0b3A6Zy5wb3NpdGlvbi50b3AtCi1iLnRvcHx8
MCxsZWZ0OmcucG9zaXRpb24ubGVmdC1iLmxlZnR8fDB9LGo9ZnVuY3Rpb24obCxvKXthKGwpLmVh
Y2goZnVuY3Rpb24oKXt2YXIgbj1hKHRoaXMpLGs9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUtYWxz
b3Jlc2l6ZSIpLG09e30scD1vJiZvLmxlbmd0aD9vOm4ucGFyZW50cyhoLm9yaWdpbmFsRWxlbWVu
dFswXSkubGVuZ3RoP1sid2lkdGgiLCJoZWlnaHQiXTpbIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwi
bGVmdCJdO2EuZWFjaChwLGZ1bmN0aW9uKHEscyl7aWYoKHE9KGtbc118fDApKyhmW3NdfHwwKSkm
JnE+PTApbVtzXT1xfHxudWxsfSk7aWYoYS5icm93c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRlc3Qo
bi5jc3MoInBvc2l0aW9uIikpKXtnLl9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249dHJ1ZTtuLmNz
cyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSl9bi5jc3MobSl9
KX07dHlwZW9mIGUuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFlLmFsc29SZXNpemUubm9kZVR5cGU/
Ci1hLmVhY2goZS5hbHNvUmVzaXplLGZ1bmN0aW9uKGwsbyl7aihsLG8pfSk6aihlLmFsc29SZXNp
emUpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUu
b3B0aW9ucyxnPWZ1bmN0aW9uKGkpe2EoaSkuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7
Yi5jc3Moe3Bvc2l0aW9uOmIuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiKS5wb3NpdGlvbn0p
fSl9O2lmKGUuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbil7ZS5fcmV2ZXJ0VG9SZWxhdGl2ZVBv
c2l0aW9uPWZhbHNlO3R5cGVvZiBoLmFsc29SZXNpemU9PSJvYmplY3QiJiYhaC5hbHNvUmVzaXpl
Lm5vZGVUeXBlP2EuZWFjaChoLmFsc29SZXNpemUsZnVuY3Rpb24oaSl7ZyhpKX0pOmcoaC5hbHNv
UmVzaXplKX1hKHRoaXMpLnJlbW92ZURhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIil9fSk7YS51
aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJhbmltYXRlIix7c3RvcDpmdW5jdGlvbihlKXt2YXIg
aD0KLWEodGhpcykuZGF0YSgicmVzaXphYmxlIiksZz1oLm9wdGlvbnMsaT1oLl9wcm9wb3J0aW9u
YWxseVJlc2l6ZUVsZW1lbnRzLGI9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2Rl
TmFtZSksZj1iJiZhLnVpLmhhc1Njcm9sbChpWzBdLCJsZWZ0Iik/MDpoLnNpemVEaWZmLmhlaWdo
dDtiPXt3aWR0aDpoLnNpemUud2lkdGgtKGI/MDpoLnNpemVEaWZmLndpZHRoKSxoZWlnaHQ6aC5z
aXplLmhlaWdodC1mfTtmPXBhcnNlSW50KGguZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGgucG9z
aXRpb24ubGVmdC1oLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFyIGo9cGFyc2VJbnQo
aC5lbGVtZW50LmNzcygidG9wIiksMTApKyhoLnBvc2l0aW9uLnRvcC1oLm9yaWdpbmFsUG9zaXRp
b24udG9wKXx8bnVsbDtoLmVsZW1lbnQuYW5pbWF0ZShhLmV4dGVuZChiLGomJmY/e3RvcDpqLGxl
ZnQ6Zn06e30pLHtkdXJhdGlvbjpnLmFuaW1hdGVEdXJhdGlvbixlYXNpbmc6Zy5hbmltYXRlRWFz
aW5nLAotc3RlcDpmdW5jdGlvbigpe3ZhciBsPXt3aWR0aDpwYXJzZUludChoLmVsZW1lbnQuY3Nz
KCJ3aWR0aCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQoaC5lbGVtZW50LmNzcygiaGVpZ2h0IiksMTAp
LHRvcDpwYXJzZUludChoLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpwYXJzZUludChoLmVs
ZW1lbnQuY3NzKCJsZWZ0IiksMTApfTtpJiZpLmxlbmd0aCYmYShpWzBdKS5jc3Moe3dpZHRoOmwu
d2lkdGgsaGVpZ2h0OmwuaGVpZ2h0fSk7aC5fdXBkYXRlQ2FjaGUobCk7aC5fcHJvcGFnYXRlKCJy
ZXNpemUiLGUpfX0pfX0pO2EudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiY29udGFpbm1lbnQi
LHtzdGFydDpmdW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1lLmVs
ZW1lbnQsZz1lLm9wdGlvbnMuY29udGFpbm1lbnQ7aWYoaD1nIGluc3RhbmNlb2YgYT9nLmdldCgw
KTovcGFyZW50Ly50ZXN0KGcpP2gucGFyZW50KCkuZ2V0KDApOmcpe2UuY29udGFpbmVyRWxlbWVu
dD0KLWEoaCk7aWYoL2RvY3VtZW50Ly50ZXN0KGcpfHxnPT1kb2N1bWVudCl7ZS5jb250YWluZXJP
ZmZzZXQ9e2xlZnQ6MCx0b3A6MH07ZS5jb250YWluZXJQb3NpdGlvbj17bGVmdDowLHRvcDowfTtl
LnBhcmVudERhdGE9e2VsZW1lbnQ6YShkb2N1bWVudCksbGVmdDowLHRvcDowLHdpZHRoOmEoZG9j
dW1lbnQpLndpZHRoKCksaGVpZ2h0OmEoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5
LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0fX1lbHNle3ZhciBpPWEoaCksYj1bXTthKFsiVG9wIiwi
UmlnaHQiLCJMZWZ0IiwiQm90dG9tIl0pLmVhY2goZnVuY3Rpb24obCxvKXtiW2xdPWMoaS5jc3Mo
InBhZGRpbmciK28pKX0pO2UuY29udGFpbmVyT2Zmc2V0PWkub2Zmc2V0KCk7ZS5jb250YWluZXJQ
b3NpdGlvbj1pLnBvc2l0aW9uKCk7ZS5jb250YWluZXJTaXplPXtoZWlnaHQ6aS5pbm5lckhlaWdo
dCgpLWJbM10sd2lkdGg6aS5pbm5lcldpZHRoKCktYlsxXX07Zz1lLmNvbnRhaW5lck9mZnNldDsK
LXZhciBmPWUuY29udGFpbmVyU2l6ZS5oZWlnaHQsaj1lLmNvbnRhaW5lclNpemUud2lkdGg7aj1h
LnVpLmhhc1Njcm9sbChoLCJsZWZ0Iik/aC5zY3JvbGxXaWR0aDpqO2Y9YS51aS5oYXNTY3JvbGwo
aCk/aC5zY3JvbGxIZWlnaHQ6ZjtlLnBhcmVudERhdGE9e2VsZW1lbnQ6aCxsZWZ0OmcubGVmdCx0
b3A6Zy50b3Asd2lkdGg6aixoZWlnaHQ6Zn19fX0scmVzaXplOmZ1bmN0aW9uKGUpe3ZhciBoPWEo
dGhpcykuZGF0YSgicmVzaXphYmxlIiksZz1oLm9wdGlvbnMsaT1oLmNvbnRhaW5lck9mZnNldCxi
PWgucG9zaXRpb247ZT1oLl9hc3BlY3RSYXRpb3x8ZS5zaGlmdEtleTt2YXIgZj17dG9wOjAsbGVm
dDowfSxqPWguY29udGFpbmVyRWxlbWVudDtpZihqWzBdIT1kb2N1bWVudCYmL3N0YXRpYy8udGVz
dChqLmNzcygicG9zaXRpb24iKSkpZj1pO2lmKGIubGVmdDwoaC5faGVscGVyP2kubGVmdDowKSl7
aC5zaXplLndpZHRoKz1oLl9oZWxwZXI/aC5wb3NpdGlvbi5sZWZ0LWkubGVmdDoKLWgucG9zaXRp
b24ubGVmdC1mLmxlZnQ7aWYoZSloLnNpemUuaGVpZ2h0PWguc2l6ZS53aWR0aC9nLmFzcGVjdFJh
dGlvO2gucG9zaXRpb24ubGVmdD1nLmhlbHBlcj9pLmxlZnQ6MH1pZihiLnRvcDwoaC5faGVscGVy
P2kudG9wOjApKXtoLnNpemUuaGVpZ2h0Kz1oLl9oZWxwZXI/aC5wb3NpdGlvbi50b3AtaS50b3A6
aC5wb3NpdGlvbi50b3A7aWYoZSloLnNpemUud2lkdGg9aC5zaXplLmhlaWdodCpnLmFzcGVjdFJh
dGlvO2gucG9zaXRpb24udG9wPWguX2hlbHBlcj9pLnRvcDowfWgub2Zmc2V0LmxlZnQ9aC5wYXJl
bnREYXRhLmxlZnQraC5wb3NpdGlvbi5sZWZ0O2gub2Zmc2V0LnRvcD1oLnBhcmVudERhdGEudG9w
K2gucG9zaXRpb24udG9wO2c9TWF0aC5hYnMoKGguX2hlbHBlcj9oLm9mZnNldC5sZWZ0LWYubGVm
dDpoLm9mZnNldC5sZWZ0LWYubGVmdCkraC5zaXplRGlmZi53aWR0aCk7aT1NYXRoLmFicygoaC5f
aGVscGVyP2gub2Zmc2V0LnRvcC1mLnRvcDpoLm9mZnNldC50b3AtCi1pLnRvcCkraC5zaXplRGlm
Zi5oZWlnaHQpO2I9aC5jb250YWluZXJFbGVtZW50LmdldCgwKT09aC5lbGVtZW50LnBhcmVudCgp
LmdldCgwKTtmPS9yZWxhdGl2ZXxhYnNvbHV0ZS8udGVzdChoLmNvbnRhaW5lckVsZW1lbnQuY3Nz
KCJwb3NpdGlvbiIpKTtpZihiJiZmKWctPWgucGFyZW50RGF0YS5sZWZ0O2lmKGcraC5zaXplLndp
ZHRoPj1oLnBhcmVudERhdGEud2lkdGgpe2guc2l6ZS53aWR0aD1oLnBhcmVudERhdGEud2lkdGgt
ZztpZihlKWguc2l6ZS5oZWlnaHQ9aC5zaXplLndpZHRoL2guYXNwZWN0UmF0aW99aWYoaStoLnNp
emUuaGVpZ2h0Pj1oLnBhcmVudERhdGEuaGVpZ2h0KXtoLnNpemUuaGVpZ2h0PWgucGFyZW50RGF0
YS5oZWlnaHQtaTtpZihlKWguc2l6ZS53aWR0aD1oLnNpemUuaGVpZ2h0KmguYXNwZWN0UmF0aW99
fSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUub3B0
aW9ucyxnPWUuY29udGFpbmVyT2Zmc2V0LGk9ZS5jb250YWluZXJQb3NpdGlvbiwKLWI9ZS5jb250
YWluZXJFbGVtZW50LGY9YShlLmhlbHBlciksaj1mLm9mZnNldCgpLGw9Zi5vdXRlcldpZHRoKCkt
ZS5zaXplRGlmZi53aWR0aDtmPWYub3V0ZXJIZWlnaHQoKS1lLnNpemVEaWZmLmhlaWdodDtlLl9o
ZWxwZXImJiFoLmFuaW1hdGUmJi9yZWxhdGl2ZS8udGVzdChiLmNzcygicG9zaXRpb24iKSkmJmEo
dGhpcykuY3NzKHtsZWZ0OmoubGVmdC1pLmxlZnQtZy5sZWZ0LHdpZHRoOmwsaGVpZ2h0OmZ9KTtl
Ll9oZWxwZXImJiFoLmFuaW1hdGUmJi9zdGF0aWMvLnRlc3QoYi5jc3MoInBvc2l0aW9uIikpJiZh
KHRoaXMpLmNzcyh7bGVmdDpqLmxlZnQtaS5sZWZ0LWcubGVmdCx3aWR0aDpsLGhlaWdodDpmfSl9
fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJnaG9zdCIse3N0YXJ0OmZ1bmN0aW9uKCl7
dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUub3B0aW9ucyxnPWUuc2l6ZTtlLmdo
b3N0PWUub3JpZ2luYWxFbGVtZW50LmNsb25lKCk7ZS5naG9zdC5jc3Moe29wYWNpdHk6MC4yNSwK
LWRpc3BsYXk6ImJsb2NrIixwb3NpdGlvbjoicmVsYXRpdmUiLGhlaWdodDpnLmhlaWdodCx3aWR0
aDpnLndpZHRoLG1hcmdpbjowLGxlZnQ6MCx0b3A6MH0pLmFkZENsYXNzKCJ1aS1yZXNpemFibGUt
Z2hvc3QiKS5hZGRDbGFzcyh0eXBlb2YgaC5naG9zdD09InN0cmluZyI/aC5naG9zdDoiIik7ZS5n
aG9zdC5hcHBlbmRUbyhlLmhlbHBlcil9LHJlc2l6ZTpmdW5jdGlvbigpe3ZhciBlPWEodGhpcyku
ZGF0YSgicmVzaXphYmxlIik7ZS5naG9zdCYmZS5naG9zdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2
ZSIsaGVpZ2h0OmUuc2l6ZS5oZWlnaHQsd2lkdGg6ZS5zaXplLndpZHRofSl9LHN0b3A6ZnVuY3Rp
b24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpO2UuZ2hvc3QmJmUuaGVscGVyJiZl
LmhlbHBlci5nZXQoMCkucmVtb3ZlQ2hpbGQoZS5naG9zdC5nZXQoMCkpfX0pO2EudWkucGx1Z2lu
LmFkZCgicmVzaXphYmxlIiwiZ3JpZCIse3Jlc2l6ZTpmdW5jdGlvbigpe3ZhciBlPQotYSh0aGlz
KS5kYXRhKCJyZXNpemFibGUiKSxoPWUub3B0aW9ucyxnPWUuc2l6ZSxpPWUub3JpZ2luYWxTaXpl
LGI9ZS5vcmlnaW5hbFBvc2l0aW9uLGY9ZS5heGlzO2guZ3JpZD10eXBlb2YgaC5ncmlkPT0ibnVt
YmVyIj9baC5ncmlkLGguZ3JpZF06aC5ncmlkO3ZhciBqPU1hdGgucm91bmQoKGcud2lkdGgtaS53
aWR0aCkvKGguZ3JpZFswXXx8MSkpKihoLmdyaWRbMF18fDEpO2g9TWF0aC5yb3VuZCgoZy5oZWln
aHQtaS5oZWlnaHQpLyhoLmdyaWRbMV18fDEpKSooaC5ncmlkWzFdfHwxKTtpZigvXihzZXxzfGUp
JC8udGVzdChmKSl7ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVpZ2h0PWkuaGVpZ2h0
K2h9ZWxzZSBpZigvXihuZSkkLy50ZXN0KGYpKXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6
ZS5oZWlnaHQ9aS5oZWlnaHQraDtlLnBvc2l0aW9uLnRvcD1iLnRvcC1ofWVsc2V7aWYoL14oc3cp
JC8udGVzdChmKSl7ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVpZ2h0PQotaS5oZWln
aHQraH1lbHNle2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdodD1pLmhlaWdodCto
O2UucG9zaXRpb24udG9wPWIudG9wLWh9ZS5wb3NpdGlvbi5sZWZ0PWIubGVmdC1qfX19KTt2YXIg
Yz1mdW5jdGlvbihlKXtyZXR1cm4gcGFyc2VJbnQoZSwxMCl8fDB9LGQ9ZnVuY3Rpb24oZSl7cmV0
dXJuIWlzTmFOKHBhcnNlSW50KGUsMTApKX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2Eud2lk
Z2V0KCJ1aS5zZWxlY3RhYmxlIixhLnVpLm1vdXNlLHtvcHRpb25zOnthcHBlbmRUbzoiYm9keSIs
YXV0b1JlZnJlc2g6dHJ1ZSxkaXN0YW5jZTowLGZpbHRlcjoiKiIsdG9sZXJhbmNlOiJ0b3VjaCJ9
LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWkt
c2VsZWN0YWJsZSIpO3RoaXMuZHJhZ2dlZD1mYWxzZTt2YXIgZDt0aGlzLnJlZnJlc2g9ZnVuY3Rp
b24oKXtkPWEoYy5vcHRpb25zLmZpbHRlcixjLmVsZW1lbnRbMF0pO2QuZWFjaChmdW5jdGlvbigp
e3ZhciBlPWEodGhpcyksaD1lLm9mZnNldCgpO2EuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0i
LHtlbGVtZW50OnRoaXMsJGVsZW1lbnQ6ZSxsZWZ0OmgubGVmdCx0b3A6aC50b3AscmlnaHQ6aC5s
ZWZ0K2Uub3V0ZXJXaWR0aCgpLGJvdHRvbTpoLnRvcCtlLm91dGVySGVpZ2h0KCksc3RhcnRzZWxl
Y3RlZDpmYWxzZSxzZWxlY3RlZDplLmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpLAotc2VsZWN0aW5n
OmUuaGFzQ2xhc3MoInVpLXNlbGVjdGluZyIpLHVuc2VsZWN0aW5nOmUuaGFzQ2xhc3MoInVpLXVu
c2VsZWN0aW5nIil9KX0pfTt0aGlzLnJlZnJlc2goKTt0aGlzLnNlbGVjdGVlcz1kLmFkZENsYXNz
KCJ1aS1zZWxlY3RlZSIpO3RoaXMuX21vdXNlSW5pdCgpO3RoaXMuaGVscGVyPWEoIjxkaXYgY2xh
c3M9J3VpLXNlbGVjdGFibGUtaGVscGVyJz48L2Rpdj4iKX0sZGVzdHJveTpmdW5jdGlvbigpe3Ro
aXMuc2VsZWN0ZWVzLnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZSIpLnJlbW92ZURhdGEoInNlbGVj
dGFibGUtaXRlbSIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0YWJsZSB1aS1z
ZWxlY3RhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZSIpLnVuYmluZCgiLnNl
bGVjdGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtyZXR1cm4gdGhpc30sX21vdXNlU3RhcnQ6
ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpczt0aGlzLm9wb3M9W2MucGFnZVgsCi1jLnBhZ2VZXTtpZigh
dGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgZT10aGlzLm9wdGlvbnM7dGhpcy5zZWxlY3RlZXM9
YShlLmZpbHRlcix0aGlzLmVsZW1lbnRbMF0pO3RoaXMuX3RyaWdnZXIoInN0YXJ0IixjKTthKGUu
YXBwZW5kVG8pLmFwcGVuZCh0aGlzLmhlbHBlcik7dGhpcy5oZWxwZXIuY3NzKHtsZWZ0OmMuY2xp
ZW50WCx0b3A6Yy5jbGllbnRZLHdpZHRoOjAsaGVpZ2h0OjB9KTtlLmF1dG9SZWZyZXNoJiZ0aGlz
LnJlZnJlc2goKTt0aGlzLnNlbGVjdGVlcy5maWx0ZXIoIi51aS1zZWxlY3RlZCIpLmVhY2goZnVu
Y3Rpb24oKXt2YXIgaD1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aC5zdGFydHNlbGVj
dGVkPXRydWU7aWYoIWMubWV0YUtleSl7aC4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0
ZWQiKTtoLnNlbGVjdGVkPWZhbHNlO2guJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5n
Iik7aC51bnNlbGVjdGluZz10cnVlO2QuX3RyaWdnZXIoInVuc2VsZWN0aW5nIiwKLWMse3Vuc2Vs
ZWN0aW5nOmguZWxlbWVudH0pfX0pO2EoYy50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuZWFj
aChmdW5jdGlvbigpe3ZhciBoPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpZihoKXt2
YXIgZz0hYy5tZXRhS2V5fHwhaC4kZWxlbWVudC5oYXNDbGFzcygidWktc2VsZWN0ZWQiKTtoLiRl
bGVtZW50LnJlbW92ZUNsYXNzKGc/InVpLXVuc2VsZWN0aW5nIjoidWktc2VsZWN0ZWQiKS5hZGRD
bGFzcyhnPyJ1aS1zZWxlY3RpbmciOiJ1aS11bnNlbGVjdGluZyIpO2gudW5zZWxlY3Rpbmc9IWc7
aC5zZWxlY3Rpbmc9ZzsoaC5zZWxlY3RlZD1nKT9kLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3Nl
bGVjdGluZzpoLmVsZW1lbnR9KTpkLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5zZWxlY3Rp
bmc6aC5lbGVtZW50fSk7cmV0dXJuIGZhbHNlfX0pfX0sX21vdXNlRHJhZzpmdW5jdGlvbihjKXt2
YXIgZD10aGlzO3RoaXMuZHJhZ2dlZD10cnVlO2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQpe3Zh
ciBlPQotdGhpcy5vcHRpb25zLGg9dGhpcy5vcG9zWzBdLGc9dGhpcy5vcG9zWzFdLGk9Yy5wYWdl
WCxiPWMucGFnZVk7aWYoaD5pKXt2YXIgZj1pO2k9aDtoPWZ9aWYoZz5iKXtmPWI7Yj1nO2c9Zn10
aGlzLmhlbHBlci5jc3Moe2xlZnQ6aCx0b3A6Zyx3aWR0aDppLWgsaGVpZ2h0OmItZ30pO3RoaXMu
c2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKXt2YXIgaj1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1p
dGVtIik7aWYoISghanx8ai5lbGVtZW50PT1kLmVsZW1lbnRbMF0pKXt2YXIgbD1mYWxzZTtpZihl
LnRvbGVyYW5jZT09InRvdWNoIilsPSEoai5sZWZ0Pml8fGoucmlnaHQ8aHx8ai50b3A+Ynx8ai5i
b3R0b208Zyk7ZWxzZSBpZihlLnRvbGVyYW5jZT09ImZpdCIpbD1qLmxlZnQ+aCYmai5yaWdodDxp
JiZqLnRvcD5nJiZqLmJvdHRvbTxiO2lmKGwpe2lmKGouc2VsZWN0ZWQpe2ouJGVsZW1lbnQucmVt
b3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7ai5zZWxlY3RlZD1mYWxzZX1pZihqLnVuc2VsZWN0aW5n
KXtqLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpOwotai51bnNlbGVjdGlu
Zz1mYWxzZX1pZighai5zZWxlY3Rpbmcpe2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGlu
ZyIpO2ouc2VsZWN0aW5nPXRydWU7ZC5fdHJpZ2dlcigic2VsZWN0aW5nIixjLHtzZWxlY3Rpbmc6
ai5lbGVtZW50fSl9fWVsc2V7aWYoai5zZWxlY3RpbmcpaWYoYy5tZXRhS2V5JiZqLnN0YXJ0c2Vs
ZWN0ZWQpe2ouJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpO2ouc2VsZWN0aW5n
PWZhbHNlO2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIik7ai5zZWxlY3RlZD10cnVl
fWVsc2V7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7ai5zZWxlY3Rpbmc9
ZmFsc2U7aWYoai5zdGFydHNlbGVjdGVkKXtqLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVj
dGluZyIpO2oudW5zZWxlY3Rpbmc9dHJ1ZX1kLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5z
ZWxlY3Rpbmc6ai5lbGVtZW50fSl9aWYoai5zZWxlY3RlZClpZighYy5tZXRhS2V5JiYKLSFqLnN0
YXJ0c2VsZWN0ZWQpe2ouJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7ai5zZWxl
Y3RlZD1mYWxzZTtqLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2oudW5zZWxl
Y3Rpbmc9dHJ1ZTtkLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5zZWxlY3Rpbmc6ai5lbGVt
ZW50fSl9fX19KTtyZXR1cm4gZmFsc2V9fSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMpe3ZhciBkPXRo
aXM7dGhpcy5kcmFnZ2VkPWZhbHNlO2EoIi51aS11bnNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBd
KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2Uu
JGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ZS51bnNlbGVjdGluZz1mYWxz
ZTtlLnN0YXJ0c2VsZWN0ZWQ9ZmFsc2U7ZC5fdHJpZ2dlcigidW5zZWxlY3RlZCIsYyx7dW5zZWxl
Y3RlZDplLmVsZW1lbnR9KX0pO2EoIi51aS1zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFj
aChmdW5jdGlvbigpe3ZhciBlPQotYS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2UuJGVs
ZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIp
O2Uuc2VsZWN0aW5nPWZhbHNlO2Uuc2VsZWN0ZWQ9dHJ1ZTtlLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtk
Ll90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7c2VsZWN0ZWQ6ZS5lbGVtZW50fSl9KTt0aGlzLl90cmln
Z2VyKCJzdG9wIixjKTt0aGlzLmhlbHBlci5yZW1vdmUoKTtyZXR1cm4gZmFsc2V9fSk7YS5leHRl
bmQoYS51aS5zZWxlY3RhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwotKGZ1bmN0
aW9uKGEpe2Eud2lkZ2V0KCJ1aS5zb3J0YWJsZSIsYS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVm
aXg6InNvcnQiLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFsc2UsY29ubmVjdFdp
dGg6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDpmYWxzZSxk
cm9wT25FbXB0eTp0cnVlLGZvcmNlUGxhY2Vob2xkZXJTaXplOmZhbHNlLGZvcmNlSGVscGVyU2l6
ZTpmYWxzZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFsIixpdGVtczoi
PiAqIixvcGFjaXR5OmZhbHNlLHBsYWNlaG9sZGVyOmZhbHNlLHJldmVydDpmYWxzZSxzY3JvbGw6
dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzY29wZToiZGVmYXVsdCIs
dG9sZXJhbmNlOiJpbnRlcnNlY3QiLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIg
Yz10aGlzLm9wdGlvbnM7dGhpcy5jb250YWluZXJDYWNoZT17fTt0aGlzLmVsZW1lbnQuYWRkQ2xh
c3MoInVpLXNvcnRhYmxlIik7Ci10aGlzLnJlZnJlc2goKTt0aGlzLmZsb2F0aW5nPXRoaXMuaXRl
bXMubGVuZ3RoP2MuYXhpcz09PSJ4Inx8L2xlZnR8cmlnaHQvLnRlc3QodGhpcy5pdGVtc1swXS5p
dGVtLmNzcygiZmxvYXQiKSl8fC9pbmxpbmV8dGFibGUtY2VsbC8udGVzdCh0aGlzLml0ZW1zWzBd
Lml0ZW0uY3NzKCJkaXNwbGF5IikpOmZhbHNlO3RoaXMub2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZz
ZXQoKTt0aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5y
ZW1vdmVDbGFzcygidWktc29ydGFibGUgdWktc29ydGFibGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRh
KCJzb3J0YWJsZSIpLnVuYmluZCgiLnNvcnRhYmxlIik7dGhpcy5fbW91c2VEZXN0cm95KCk7Zm9y
KHZhciBjPXRoaXMuaXRlbXMubGVuZ3RoLTE7Yz49MDtjLS0pdGhpcy5pdGVtc1tjXS5pdGVtLnJl
bW92ZURhdGEoInNvcnRhYmxlLWl0ZW0iKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlv
bihjLGQpe2lmKGM9PT0KLSJkaXNhYmxlZCIpe3RoaXMub3B0aW9uc1tjXT1kO3RoaXMud2lkZ2V0
KClbZD8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS1zb3J0YWJsZS1kaXNhYmxlZCIpfWVs
c2UgYS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxf
bW91c2VDYXB0dXJlOmZ1bmN0aW9uKGMsZCl7aWYodGhpcy5yZXZlcnRpbmcpcmV0dXJuIGZhbHNl
O2lmKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5vcHRpb25zLnR5cGU9PSJzdGF0aWMiKXJl
dHVybiBmYWxzZTt0aGlzLl9yZWZyZXNoSXRlbXMoYyk7dmFyIGU9bnVsbCxoPXRoaXM7YShjLnRh
cmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtpZihhLmRhdGEodGhpcywic29ydGFibGUt
aXRlbSIpPT1oKXtlPWEodGhpcyk7cmV0dXJuIGZhbHNlfX0pO2lmKGEuZGF0YShjLnRhcmdldCwi
c29ydGFibGUtaXRlbSIpPT1oKWU9YShjLnRhcmdldCk7aWYoIWUpcmV0dXJuIGZhbHNlO2lmKHRo
aXMub3B0aW9ucy5oYW5kbGUmJgotIWQpe3ZhciBnPWZhbHNlO2EodGhpcy5vcHRpb25zLmhhbmRs
ZSxlKS5maW5kKCIqIikuYW5kU2VsZigpLmVhY2goZnVuY3Rpb24oKXtpZih0aGlzPT1jLnRhcmdl
dClnPXRydWV9KTtpZighZylyZXR1cm4gZmFsc2V9dGhpcy5jdXJyZW50SXRlbT1lO3RoaXMuX3Jl
bW92ZUN1cnJlbnRzRnJvbUl0ZW1zKCk7cmV0dXJuIHRydWV9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9u
KGMsZCxlKXtkPXRoaXMub3B0aW9uczt2YXIgaD10aGlzO3RoaXMuY3VycmVudENvbnRhaW5lcj10
aGlzO3RoaXMucmVmcmVzaFBvc2l0aW9ucygpO3RoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBl
cihjKTt0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7dGhpcy5fY2FjaGVNYXJnaW5zKCk7
dGhpcy5zY3JvbGxQYXJlbnQ9dGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCk7dGhpcy5vZmZzZXQ9
dGhpcy5jdXJyZW50SXRlbS5vZmZzZXQoKTt0aGlzLm9mZnNldD17dG9wOnRoaXMub2Zmc2V0LnRv
cC10aGlzLm1hcmdpbnMudG9wLAotbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRoaXMubWFyZ2lucy5s
ZWZ0fTt0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTt0aGlzLmNzc1Bvc2l0
aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKTthLmV4dGVuZCh0aGlzLm9mZnNldCx7Y2xp
Y2s6e2xlZnQ6Yy5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDpjLnBhZ2VZLXRoaXMub2Zmc2V0
LnRvcH0scGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJl
bGF0aXZlT2Zmc2V0KCl9KTt0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3Np
dGlvbihjKTt0aGlzLm9yaWdpbmFsUGFnZVg9Yy5wYWdlWDt0aGlzLm9yaWdpbmFsUGFnZVk9Yy5w
YWdlWTtkLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGQuY3Vyc29yQXQp
O3RoaXMuZG9tUG9zaXRpb249e3ByZXY6dGhpcy5jdXJyZW50SXRlbS5wcmV2KClbMF0scGFyZW50
OnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF19OwotdGhpcy5oZWxwZXJbMF0hPXRoaXMuY3Vy
cmVudEl0ZW1bMF0mJnRoaXMuY3VycmVudEl0ZW0uaGlkZSgpO3RoaXMuX2NyZWF0ZVBsYWNlaG9s
ZGVyKCk7ZC5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1lbnQoKTtpZihkLmN1cnNvcil7
aWYoYSgiYm9keSIpLmNzcygiY3Vyc29yIikpdGhpcy5fc3RvcmVkQ3Vyc29yPWEoImJvZHkiKS5j
c3MoImN1cnNvciIpO2EoImJvZHkiKS5jc3MoImN1cnNvciIsZC5jdXJzb3IpfWlmKGQub3BhY2l0
eSl7aWYodGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IikpdGhpcy5fc3RvcmVkT3BhY2l0eT10aGlz
LmhlbHBlci5jc3MoIm9wYWNpdHkiKTt0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLGQub3BhY2l0
eSl9aWYoZC56SW5kZXgpe2lmKHRoaXMuaGVscGVyLmNzcygiekluZGV4IikpdGhpcy5fc3RvcmVk
WkluZGV4PXRoaXMuaGVscGVyLmNzcygiekluZGV4Iik7dGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgi
LGQuekluZGV4KX1pZih0aGlzLnNjcm9sbFBhcmVudFswXSE9Ci1kb2N1bWVudCYmdGhpcy5zY3Jv
bGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKXRoaXMub3ZlcmZsb3dPZmZzZXQ9dGhpcy5zY3Jv
bGxQYXJlbnQub2Zmc2V0KCk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMsdGhpcy5fdWlIYXNoKCkp
O3RoaXMuX3ByZXNlcnZlSGVscGVyUHJvcG9ydGlvbnN8fHRoaXMuX2NhY2hlSGVscGVyUHJvcG9y
dGlvbnMoKTtpZighZSlmb3IoZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0pdGhp
cy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyxoLl91aUhhc2godGhpcykpO2lm
KGEudWkuZGRtYW5hZ2VyKWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpczthLnVpLmRkbWFuYWdl
ciYmIWQuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcyxj
KTt0aGlzLmRyYWdnaW5nPXRydWU7dGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhl
bHBlciIpO3RoaXMuX21vdXNlRHJhZyhjKTsKLXJldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0
aW9uKGMpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihjKTt0aGlzLnBvc2l0
aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO2lmKCF0aGlzLmxhc3RQ
b3NpdGlvbkFicyl0aGlzLmxhc3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9uQWJzO2lmKHRoaXMu
b3B0aW9ucy5zY3JvbGwpe3ZhciBkPXRoaXMub3B0aW9ucyxlPWZhbHNlO2lmKHRoaXMuc2Nyb2xs
UGFyZW50WzBdIT1kb2N1bWVudCYmdGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwi
KXtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRI
ZWlnaHQtYy5wYWdlWTxkLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNj
cm9sbFRvcD1lPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcCtkLnNjcm9sbFNwZWVkO2Vs
c2UgaWYoYy5wYWdlWS10aGlzLm92ZXJmbG93T2Zmc2V0LnRvcDwKLWQuc2Nyb2xsU2Vuc2l0aXZp
dHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWU9dGhpcy5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsVG9wLWQuc2Nyb2xsU3BlZWQ7aWYodGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0K3RoaXMu
c2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWMucGFnZVg8ZC5zY3JvbGxTZW5zaXRpdml0eSl0
aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWU9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Ny
b2xsTGVmdCtkLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWC10aGlzLm92ZXJmbG93T2Zmc2V0
LmxlZnQ8ZC5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0
PWU9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1kLnNjcm9sbFNwZWVkfWVsc2V7aWYo
Yy5wYWdlWS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKTxkLnNjcm9sbFNlbnNpdGl2aXR5KWU9YShk
b2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLQotZC5zY3JvbGxTcGVl
ZCk7ZWxzZSBpZihhKHdpbmRvdykuaGVpZ2h0KCktKGMucGFnZVktYShkb2N1bWVudCkuc2Nyb2xs
VG9wKCkpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1hKGRvY3VtZW50KS5zY3JvbGxUb3AoYShkb2N1
bWVudCkuc2Nyb2xsVG9wKCkrZC5zY3JvbGxTcGVlZCk7aWYoYy5wYWdlWC1hKGRvY3VtZW50KS5z
Y3JvbGxMZWZ0KCk8ZC5zY3JvbGxTZW5zaXRpdml0eSllPWEoZG9jdW1lbnQpLnNjcm9sbExlZnQo
YShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLWQuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoYSh3aW5kb3cp
LndpZHRoKCktKGMucGFnZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKTxkLnNjcm9sbFNlbnNp
dGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkr
ZC5zY3JvbGxTcGVlZCl9ZSE9PWZhbHNlJiZhLnVpLmRkbWFuYWdlciYmIWQuZHJvcEJlaGF2aW91
ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcywKLWMpfXRoaXMucG9zaXRpb25B
YnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMub3B0aW9ucy5h
eGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhp
cy5wb3NpdGlvbi5sZWZ0KyJweCI7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMu
YXhpcyE9IngiKXRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBvc2l0aW9uLnRvcCsicHgi
O2ZvcihkPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZD49MDtkLS0pe2U9dGhpcy5pdGVtc1tkXTt2YXIg
aD1lLml0ZW1bMF0sZz10aGlzLl9pbnRlcnNlY3RzV2l0aFBvaW50ZXIoZSk7aWYoZylpZihoIT10
aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLnBsYWNlaG9sZGVyW2c9PTE/Im5leHQiOiJwcmV2Il0o
KVswXSE9aCYmIWEudWkuY29udGFpbnModGhpcy5wbGFjZWhvbGRlclswXSxoKSYmKHRoaXMub3B0
aW9ucy50eXBlPT0ic2VtaS1keW5hbWljIj8hYS51aS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0s
Ci1oKTp0cnVlKSl7dGhpcy5kaXJlY3Rpb249Zz09MT8iZG93biI6InVwIjtpZih0aGlzLm9wdGlv
bnMudG9sZXJhbmNlPT0icG9pbnRlciJ8fHRoaXMuX2ludGVyc2VjdHNXaXRoU2lkZXMoZSkpdGhp
cy5fcmVhcnJhbmdlKGMsZSk7ZWxzZSBicmVhazt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGMsdGhp
cy5fdWlIYXNoKCkpO2JyZWFrfX10aGlzLl9jb250YWN0Q29udGFpbmVycyhjKTthLnVpLmRkbWFu
YWdlciYmYS51aS5kZG1hbmFnZXIuZHJhZyh0aGlzLGMpO3RoaXMuX3RyaWdnZXIoInNvcnQiLGMs
dGhpcy5fdWlIYXNoKCkpO3RoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnM7cmV0
dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMsZCl7aWYoYyl7YS51aS5kZG1hbmFnZXIm
JiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGMp
O2lmKHRoaXMub3B0aW9ucy5yZXZlcnQpe3ZhciBlPXRoaXM7ZD1lLnBsYWNlaG9sZGVyLm9mZnNl
dCgpOwotZS5yZXZlcnRpbmc9dHJ1ZTthKHRoaXMuaGVscGVyKS5hbmltYXRlKHtsZWZ0OmQubGVm
dC10aGlzLm9mZnNldC5wYXJlbnQubGVmdC1lLm1hcmdpbnMubGVmdCsodGhpcy5vZmZzZXRQYXJl
bnRbMF09PWRvY3VtZW50LmJvZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxMZWZ0KSx0
b3A6ZC50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcC1lLm1hcmdpbnMudG9wKyh0aGlzLm9mZnNl
dFBhcmVudFswXT09ZG9jdW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbFRv
cCl9LHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnQsMTApfHw1MDAsZnVuY3Rpb24oKXtlLl9j
bGVhcihjKX0pfWVsc2UgdGhpcy5fY2xlYXIoYyxkKTtyZXR1cm4gZmFsc2V9fSxjYW5jZWw6ZnVu
Y3Rpb24oKXt2YXIgYz10aGlzO2lmKHRoaXMuZHJhZ2dpbmcpe3RoaXMuX21vdXNlVXAoe3Rhcmdl
dDpudWxsfSk7dGhpcy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIj90aGlzLmN1cnJlbnRJdGVt
LmNzcyh0aGlzLl9zdG9yZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKToK
LXRoaXMuY3VycmVudEl0ZW0uc2hvdygpO2Zvcih2YXIgZD10aGlzLmNvbnRhaW5lcnMubGVuZ3Ro
LTE7ZD49MDtkLS0pe3RoaXMuY29udGFpbmVyc1tkXS5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsbnVs
bCxjLl91aUhhc2godGhpcykpO2lmKHRoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS5v
dmVyKXt0aGlzLmNvbnRhaW5lcnNbZF0uX3RyaWdnZXIoIm91dCIsbnVsbCxjLl91aUhhc2godGhp
cykpO3RoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS5vdmVyPTB9fX1pZih0aGlzLnBs
YWNlaG9sZGVyKXt0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUmJnRoaXMucGxhY2Vob2xk
ZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTt0aGlzLm9w
dGlvbnMuaGVscGVyIT0ib3JpZ2luYWwiJiZ0aGlzLmhlbHBlciYmdGhpcy5oZWxwZXJbMF0ucGFy
ZW50Tm9kZSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7YS5leHRlbmQodGhpcyx7aGVscGVyOm51bGws
Ci1kcmFnZ2luZzpmYWxzZSxyZXZlcnRpbmc6ZmFsc2UsX25vRmluYWxTb3J0Om51bGx9KTt0aGlz
LmRvbVBvc2l0aW9uLnByZXY/YSh0aGlzLmRvbVBvc2l0aW9uLnByZXYpLmFmdGVyKHRoaXMuY3Vy
cmVudEl0ZW0pOmEodGhpcy5kb21Qb3NpdGlvbi5wYXJlbnQpLnByZXBlbmQodGhpcy5jdXJyZW50
SXRlbSl9cmV0dXJuIHRoaXN9LHNlcmlhbGl6ZTpmdW5jdGlvbihjKXt2YXIgZD10aGlzLl9nZXRJ
dGVtc0FzalF1ZXJ5KGMmJmMuY29ubmVjdGVkKSxlPVtdO2M9Y3x8e307YShkKS5lYWNoKGZ1bmN0
aW9uKCl7dmFyIGg9KGEoYy5pdGVtfHx0aGlzKS5hdHRyKGMuYXR0cmlidXRlfHwiaWQiKXx8IiIp
Lm1hdGNoKGMuZXhwcmVzc2lvbnx8LyguKylbLT1fXSguKykvKTtpZihoKWUucHVzaCgoYy5rZXl8
fGhbMV0rIltdIikrIj0iKyhjLmtleSYmYy5leHByZXNzaW9uP2hbMV06aFsyXSkpfSk7IWUubGVu
Z3RoJiZjLmtleSYmZS5wdXNoKGMua2V5KyI9Iik7cmV0dXJuIGUuam9pbigiJiIpfSwKLXRvQXJy
YXk6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShjJiZjLmNvbm5lY3Rl
ZCksZT1bXTtjPWN8fHt9O2QuZWFjaChmdW5jdGlvbigpe2UucHVzaChhKGMuaXRlbXx8dGhpcyku
YXR0cihjLmF0dHJpYnV0ZXx8ImlkIil8fCIiKX0pO3JldHVybiBlfSxfaW50ZXJzZWN0c1dpdGg6
ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5wb3NpdGlvbkFicy5sZWZ0LGU9ZCt0aGlzLmhlbHBlclBy
b3BvcnRpb25zLndpZHRoLGg9dGhpcy5wb3NpdGlvbkFicy50b3AsZz1oK3RoaXMuaGVscGVyUHJv
cG9ydGlvbnMuaGVpZ2h0LGk9Yy5sZWZ0LGI9aStjLndpZHRoLGY9Yy50b3Asaj1mK2MuaGVpZ2h0
LGw9dGhpcy5vZmZzZXQuY2xpY2sudG9wLG89dGhpcy5vZmZzZXQuY2xpY2subGVmdDtsPWgrbD5m
JiZoK2w8aiYmZCtvPmkmJmQrbzxiO3JldHVybiB0aGlzLm9wdGlvbnMudG9sZXJhbmNlPT0icG9p
bnRlciJ8fHRoaXMub3B0aW9ucy5mb3JjZVBvaW50ZXJGb3JDb250YWluZXJzfHwKLXRoaXMub3B0
aW9ucy50b2xlcmFuY2UhPSJwb2ludGVyIiYmdGhpcy5oZWxwZXJQcm9wb3J0aW9uc1t0aGlzLmZs
b2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdPmNbdGhpcy5mbG9hdGluZz8id2lkdGgiOiJoZWlnaHQi
XT9sOmk8ZCt0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzImJmUtdGhpcy5oZWxwZXJQcm9w
b3J0aW9ucy53aWR0aC8yPGImJmY8aCt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yJiZn
LXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI8an0sX2ludGVyc2VjdHNXaXRoUG9pbnRl
cjpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3Ar
dGhpcy5vZmZzZXQuY2xpY2sudG9wLGMudG9wLGMuaGVpZ2h0KTtjPWEudWkuaXNPdmVyQXhpcyh0
aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxjLmxlZnQsYy53aWR0
aCk7ZD1kJiZjO2M9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCk7Ci12YXIgZT10aGlz
Ll9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO2lmKCFkKXJldHVybiBmYWxzZTtyZXR1cm4g
dGhpcy5mbG9hdGluZz9lJiZlPT0icmlnaHQifHxjPT0iZG93biI/MjoxOmMmJihjPT0iZG93biI/
MjoxKX0sX2ludGVyc2VjdHNXaXRoU2lkZXM6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5pc092ZXJB
eGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxjLnRvcCtjLmhl
aWdodC8yLGMuaGVpZ2h0KTtjPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQr
dGhpcy5vZmZzZXQuY2xpY2subGVmdCxjLmxlZnQrYy53aWR0aC8yLGMud2lkdGgpO3ZhciBlPXRo
aXMuX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbigpLGg9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxE
aXJlY3Rpb24oKTtyZXR1cm4gdGhpcy5mbG9hdGluZyYmaD9oPT0icmlnaHQiJiZjfHxoPT0ibGVm
dCImJiFjOmUmJihlPT0iZG93biImJmR8fGU9PSJ1cCImJiFkKX0sCi1fZ2V0RHJhZ1ZlcnRpY2Fs
RGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5wb3NpdGlvbkFicy50b3AtdGhpcy5sYXN0
UG9zaXRpb25BYnMudG9wO3JldHVybiBjIT0wJiYoYz4wPyJkb3duIjoidXAiKX0sX2dldERyYWdI
b3Jpem9udGFsRGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5wb3NpdGlvbkFicy5sZWZ0
LXRoaXMubGFzdFBvc2l0aW9uQWJzLmxlZnQ7cmV0dXJuIGMhPTAmJihjPjA/InJpZ2h0IjoibGVm
dCIpfSxyZWZyZXNoOmZ1bmN0aW9uKGMpe3RoaXMuX3JlZnJlc2hJdGVtcyhjKTt0aGlzLnJlZnJl
c2hQb3NpdGlvbnMoKTtyZXR1cm4gdGhpc30sX2Nvbm5lY3RXaXRoOmZ1bmN0aW9uKCl7dmFyIGM9
dGhpcy5vcHRpb25zO3JldHVybiBjLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9yPT1TdHJpbmc/W2Mu
Y29ubmVjdFdpdGhdOmMuY29ubmVjdFdpdGh9LF9nZXRJdGVtc0FzalF1ZXJ5OmZ1bmN0aW9uKGMp
e3ZhciBkPVtdLGU9W10saD10aGlzLl9jb25uZWN0V2l0aCgpOwotaWYoaCYmYylmb3IoYz1oLmxl
bmd0aC0xO2M+PTA7Yy0tKWZvcih2YXIgZz1hKGhbY10pLGk9Zy5sZW5ndGgtMTtpPj0wO2ktLSl7
dmFyIGI9YS5kYXRhKGdbaV0sInNvcnRhYmxlIik7aWYoYiYmYiE9dGhpcyYmIWIub3B0aW9ucy5k
aXNhYmxlZCllLnB1c2goW2EuaXNGdW5jdGlvbihiLm9wdGlvbnMuaXRlbXMpP2Iub3B0aW9ucy5p
dGVtcy5jYWxsKGIuZWxlbWVudCk6YShiLm9wdGlvbnMuaXRlbXMsYi5lbGVtZW50KS5ub3QoIi51
aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLGJdKX1l
LnB1c2goW2EuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9ucy5pdGVt
cy5jYWxsKHRoaXMuZWxlbWVudCxudWxsLHtvcHRpb25zOnRoaXMub3B0aW9ucyxpdGVtOnRoaXMu
Y3VycmVudEl0ZW19KTphKHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLm5vdCgiLnVp
LXNvcnRhYmxlLWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksCi10aGlz
XSk7Zm9yKGM9ZS5sZW5ndGgtMTtjPj0wO2MtLSllW2NdWzBdLmVhY2goZnVuY3Rpb24oKXtkLnB1
c2godGhpcyl9KTtyZXR1cm4gYShkKX0sX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zOmZ1bmN0aW9u
KCl7Zm9yKHZhciBjPXRoaXMuY3VycmVudEl0ZW0uZmluZCgiOmRhdGEoc29ydGFibGUtaXRlbSki
KSxkPTA7ZDx0aGlzLml0ZW1zLmxlbmd0aDtkKyspZm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKysp
Y1tlXT09dGhpcy5pdGVtc1tkXS5pdGVtWzBdJiZ0aGlzLml0ZW1zLnNwbGljZShkLDEpfSxfcmVm
cmVzaEl0ZW1zOmZ1bmN0aW9uKGMpe3RoaXMuaXRlbXM9W107dGhpcy5jb250YWluZXJzPVt0aGlz
XTt2YXIgZD10aGlzLml0ZW1zLGU9W1thLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKT90
aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYyx7aXRlbTp0aGlzLmN1cnJl
bnRJdGVtfSk6YSh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KSwKLXRoaXNdXSxoPXRo
aXMuX2Nvbm5lY3RXaXRoKCk7aWYoaClmb3IodmFyIGc9aC5sZW5ndGgtMTtnPj0wO2ctLSlmb3Io
dmFyIGk9YShoW2ddKSxiPWkubGVuZ3RoLTE7Yj49MDtiLS0pe3ZhciBmPWEuZGF0YShpW2JdLCJz
b3J0YWJsZSIpO2lmKGYmJmYhPXRoaXMmJiFmLm9wdGlvbnMuZGlzYWJsZWQpe2UucHVzaChbYS5p
c0Z1bmN0aW9uKGYub3B0aW9ucy5pdGVtcyk/Zi5vcHRpb25zLml0ZW1zLmNhbGwoZi5lbGVtZW50
WzBdLGMse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmEoZi5vcHRpb25zLml0ZW1zLGYuZWxlbWVu
dCksZl0pO3RoaXMuY29udGFpbmVycy5wdXNoKGYpfX1mb3IoZz1lLmxlbmd0aC0xO2c+PTA7Zy0t
KXtjPWVbZ11bMV07aD1lW2ddWzBdO2I9MDtmb3IoaT1oLmxlbmd0aDtiPGk7YisrKXtmPWEoaFti
XSk7Zi5kYXRhKCJzb3J0YWJsZS1pdGVtIixjKTtkLnB1c2goe2l0ZW06ZixpbnN0YW5jZTpjLHdp
ZHRoOjAsaGVpZ2h0OjAsbGVmdDowLHRvcDowfSl9fX0scmVmcmVzaFBvc2l0aW9uczpmdW5jdGlv
bihjKXtpZih0aGlzLm9mZnNldFBhcmVudCYmCi10aGlzLmhlbHBlcil0aGlzLm9mZnNldC5wYXJl
bnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCk7Zm9yKHZhciBkPXRoaXMuaXRlbXMubGVuZ3RoLTE7
ZD49MDtkLS0pe3ZhciBlPXRoaXMuaXRlbXNbZF07aWYoIShlLmluc3RhbmNlIT10aGlzLmN1cnJl
bnRDb250YWluZXImJnRoaXMuY3VycmVudENvbnRhaW5lciYmZS5pdGVtWzBdIT10aGlzLmN1cnJl
bnRJdGVtWzBdKSl7dmFyIGg9dGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQ/YSh0aGlzLm9w
dGlvbnMudG9sZXJhbmNlRWxlbWVudCxlLml0ZW0pOmUuaXRlbTtpZighYyl7ZS53aWR0aD1oLm91
dGVyV2lkdGgoKTtlLmhlaWdodD1oLm91dGVySGVpZ2h0KCl9aD1oLm9mZnNldCgpO2UubGVmdD1o
LmxlZnQ7ZS50b3A9aC50b3B9fWlmKHRoaXMub3B0aW9ucy5jdXN0b20mJnRoaXMub3B0aW9ucy5j
dXN0b20ucmVmcmVzaENvbnRhaW5lcnMpdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZyZXNoQ29udGFp
bmVycy5jYWxsKHRoaXMpO2Vsc2UgZm9yKGQ9Ci10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZD49
MDtkLS0pe2g9dGhpcy5jb250YWluZXJzW2RdLmVsZW1lbnQub2Zmc2V0KCk7dGhpcy5jb250YWlu
ZXJzW2RdLmNvbnRhaW5lckNhY2hlLmxlZnQ9aC5sZWZ0O3RoaXMuY29udGFpbmVyc1tkXS5jb250
YWluZXJDYWNoZS50b3A9aC50b3A7dGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLndp
ZHRoPXRoaXMuY29udGFpbmVyc1tkXS5lbGVtZW50Lm91dGVyV2lkdGgoKTt0aGlzLmNvbnRhaW5l
cnNbZF0uY29udGFpbmVyQ2FjaGUuaGVpZ2h0PXRoaXMuY29udGFpbmVyc1tkXS5lbGVtZW50Lm91
dGVySGVpZ2h0KCl9cmV0dXJuIHRoaXN9LF9jcmVhdGVQbGFjZWhvbGRlcjpmdW5jdGlvbihjKXt2
YXIgZD1jfHx0aGlzLGU9ZC5vcHRpb25zO2lmKCFlLnBsYWNlaG9sZGVyfHxlLnBsYWNlaG9sZGVy
LmNvbnN0cnVjdG9yPT1TdHJpbmcpe3ZhciBoPWUucGxhY2Vob2xkZXI7ZS5wbGFjZWhvbGRlcj17
ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBnPQotYShkb2N1bWVudC5jcmVhdGVFbGVtZW50KGQuY3Vy
cmVudEl0ZW1bMF0ubm9kZU5hbWUpKS5hZGRDbGFzcyhofHxkLmN1cnJlbnRJdGVtWzBdLmNsYXNz
TmFtZSsiIHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIikucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxl
LWhlbHBlciIpWzBdO2lmKCFoKWcuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjtyZXR1cm4gZ30s
dXBkYXRlOmZ1bmN0aW9uKGcsaSl7aWYoIShoJiYhZS5mb3JjZVBsYWNlaG9sZGVyU2l6ZSkpe2ku
aGVpZ2h0KCl8fGkuaGVpZ2h0KGQuY3VycmVudEl0ZW0uaW5uZXJIZWlnaHQoKS1wYXJzZUludChk
LmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ1RvcCIpfHwwLDEwKS1wYXJzZUludChkLmN1cnJlbnRJ
dGVtLmNzcygicGFkZGluZ0JvdHRvbSIpfHwwLDEwKSk7aS53aWR0aCgpfHxpLndpZHRoKGQuY3Vy
cmVudEl0ZW0uaW5uZXJXaWR0aCgpLXBhcnNlSW50KGQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5n
TGVmdCIpfHwwLDEwKS1wYXJzZUludChkLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ1JpZ2h0Iil8
fAotMCwxMCkpfX19fWQucGxhY2Vob2xkZXI9YShlLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbChk
LmVsZW1lbnQsZC5jdXJyZW50SXRlbSkpO2QuY3VycmVudEl0ZW0uYWZ0ZXIoZC5wbGFjZWhvbGRl
cik7ZS5wbGFjZWhvbGRlci51cGRhdGUoZCxkLnBsYWNlaG9sZGVyKX0sX2NvbnRhY3RDb250YWlu
ZXJzOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD1udWxsLGU9bnVsbCxoPXRoaXMuY29udGFpbmVycy5s
ZW5ndGgtMTtoPj0wO2gtLSlpZighYS51aS5jb250YWlucyh0aGlzLmN1cnJlbnRJdGVtWzBdLHRo
aXMuY29udGFpbmVyc1toXS5lbGVtZW50WzBdKSlpZih0aGlzLl9pbnRlcnNlY3RzV2l0aCh0aGlz
LmNvbnRhaW5lcnNbaF0uY29udGFpbmVyQ2FjaGUpKXtpZighKGQmJmEudWkuY29udGFpbnModGhp
cy5jb250YWluZXJzW2hdLmVsZW1lbnRbMF0sZC5lbGVtZW50WzBdKSkpe2Q9dGhpcy5jb250YWlu
ZXJzW2hdO2U9aH19ZWxzZSBpZih0aGlzLmNvbnRhaW5lcnNbaF0uY29udGFpbmVyQ2FjaGUub3Zl
cil7dGhpcy5jb250YWluZXJzW2hdLl90cmlnZ2VyKCJvdXQiLAotYyx0aGlzLl91aUhhc2godGhp
cykpO3RoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyPTB9aWYoZClpZih0aGlz
LmNvbnRhaW5lcnMubGVuZ3RoPT09MSl7dGhpcy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJvdmVy
IixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hl
Lm92ZXI9MX1lbHNlIGlmKHRoaXMuY3VycmVudENvbnRhaW5lciE9dGhpcy5jb250YWluZXJzW2Vd
KXtkPTFFNDtoPW51bGw7Zm9yKHZhciBnPXRoaXMucG9zaXRpb25BYnNbdGhpcy5jb250YWluZXJz
W2VdLmZsb2F0aW5nPyJsZWZ0IjoidG9wIl0saT10aGlzLml0ZW1zLmxlbmd0aC0xO2k+PTA7aS0t
KWlmKGEudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2VdLmVsZW1lbnRbMF0sdGhpcy5pdGVt
c1tpXS5pdGVtWzBdKSl7dmFyIGI9dGhpcy5pdGVtc1tpXVt0aGlzLmNvbnRhaW5lcnNbZV0uZmxv
YXRpbmc/ImxlZnQiOiJ0b3AiXTtpZihNYXRoLmFicyhiLQotZyk8ZCl7ZD1NYXRoLmFicyhiLWcp
O2g9dGhpcy5pdGVtc1tpXX19aWYoaHx8dGhpcy5vcHRpb25zLmRyb3BPbkVtcHR5KXt0aGlzLmN1
cnJlbnRDb250YWluZXI9dGhpcy5jb250YWluZXJzW2VdO2g/dGhpcy5fcmVhcnJhbmdlKGMsaCxu
dWxsLHRydWUpOnRoaXMuX3JlYXJyYW5nZShjLG51bGwsdGhpcy5jb250YWluZXJzW2VdLmVsZW1l
bnQsdHJ1ZSk7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixjLHRoaXMuX3VpSGFzaCgpKTt0aGlzLmNv
bnRhaW5lcnNbZV0uX3RyaWdnZXIoImNoYW5nZSIsYyx0aGlzLl91aUhhc2godGhpcykpO3RoaXMu
b3B0aW9ucy5wbGFjZWhvbGRlci51cGRhdGUodGhpcy5jdXJyZW50Q29udGFpbmVyLHRoaXMucGxh
Y2Vob2xkZXIpO3RoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dlcigib3ZlciIsYyx0aGlzLl91aUhh
c2godGhpcykpO3RoaXMuY29udGFpbmVyc1tlXS5jb250YWluZXJDYWNoZS5vdmVyPTF9fX0sX2Ny
ZWF0ZUhlbHBlcjpmdW5jdGlvbihjKXt2YXIgZD0KLXRoaXMub3B0aW9ucztjPWEuaXNGdW5jdGlv
bihkLmhlbHBlcik/YShkLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2MsdGhpcy5jdXJy
ZW50SXRlbV0pKTpkLmhlbHBlcj09ImNsb25lIj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhp
cy5jdXJyZW50SXRlbTtjLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fGEoZC5hcHBlbmRUbyE9InBh
cmVudCI/ZC5hcHBlbmRUbzp0aGlzLmN1cnJlbnRJdGVtWzBdLnBhcmVudE5vZGUpWzBdLmFwcGVu
ZENoaWxkKGNbMF0pO2lmKGNbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pdGhpcy5fc3RvcmVkQ1NT
PXt3aWR0aDp0aGlzLmN1cnJlbnRJdGVtWzBdLnN0eWxlLndpZHRoLGhlaWdodDp0aGlzLmN1cnJl
bnRJdGVtWzBdLnN0eWxlLmhlaWdodCxwb3NpdGlvbjp0aGlzLmN1cnJlbnRJdGVtLmNzcygicG9z
aXRpb24iKSx0b3A6dGhpcy5jdXJyZW50SXRlbS5jc3MoInRvcCIpLGxlZnQ6dGhpcy5jdXJyZW50
SXRlbS5jc3MoImxlZnQiKX07aWYoY1swXS5zdHlsZS53aWR0aD09Ci0iInx8ZC5mb3JjZUhlbHBl
clNpemUpYy53aWR0aCh0aGlzLmN1cnJlbnRJdGVtLndpZHRoKCkpO2lmKGNbMF0uc3R5bGUuaGVp
Z2h0PT0iInx8ZC5mb3JjZUhlbHBlclNpemUpYy5oZWlnaHQodGhpcy5jdXJyZW50SXRlbS5oZWln
aHQoKSk7cmV0dXJuIGN9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGMpe2lmKHR5
cGVvZiBjPT0ic3RyaW5nIiljPWMuc3BsaXQoIiAiKTtpZihhLmlzQXJyYXkoYykpYz17bGVmdDor
Y1swXSx0b3A6K2NbMV18fDB9O2lmKCJsZWZ0ImluIGMpdGhpcy5vZmZzZXQuY2xpY2subGVmdD1j
LmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInJpZ2h0ImluIGMpdGhpcy5vZmZzZXQuY2xpY2su
bGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLWMucmlnaHQrdGhpcy5tYXJnaW5zLmxl
ZnQ7aWYoInRvcCJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1jLnRvcCt0aGlzLm1hcmdpbnMu
dG9wO2lmKCJib3R0b20iaW4gYyl0aGlzLm9mZnNldC5jbGljay50b3A9Ci10aGlzLmhlbHBlclBy
b3BvcnRpb25zLmhlaWdodC1jLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wfSxfZ2V0UGFyZW50T2Zm
c2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZzZXRQYXJlbnQ9dGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50
KCk7dmFyIGM9dGhpcy5vZmZzZXRQYXJlbnQub2Zmc2V0KCk7aWYodGhpcy5jc3NQb3NpdGlvbj09
ImFic29sdXRlIiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5z
KHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSl7Yy5sZWZ0Kz10aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7Yy50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9s
bFRvcCgpfWlmKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5fHx0aGlzLm9mZnNl
dFBhcmVudFswXS50YWdOYW1lJiZ0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lLnRvTG93ZXJD
YXNlKCk9PSJodG1sIiYmYS5icm93c2VyLm1zaWUpYz0KLXt0b3A6MCxsZWZ0OjB9O3JldHVybnt0
b3A6Yy50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyVG9wV2lkdGgi
KSwxMCl8fDApLGxlZnQ6Yy5sZWZ0KyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJv
cmRlckxlZnRXaWR0aCIpLDEwKXx8MCl9fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24oKXtp
Zih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRpdmUiKXt2YXIgYz10aGlzLmN1cnJlbnRJdGVtLnBv
c2l0aW9uKCk7cmV0dXJue3RvcDpjLnRvcC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJ0b3Ai
KSwxMCl8fDApK3RoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpLGxlZnQ6Yy5sZWZ0LShwYXJz
ZUludCh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSwxMCl8fDApK3RoaXMuc2Nyb2xsUGFyZW50LnNj
cm9sbExlZnQoKX19ZWxzZSByZXR1cm57dG9wOjAsbGVmdDowfX0sX2NhY2hlTWFyZ2luczpmdW5j
dGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygi
bWFyZ2luTGVmdCIpLAotMTApfHwwLHRvcDpwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygi
bWFyZ2luVG9wIiksMTApfHwwfX0sX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6ZnVuY3Rpb24oKXt0
aGlzLmhlbHBlclByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmhlbHBlci5vdXRlcldpZHRoKCksaGVp
Z2h0OnRoaXMuaGVscGVyLm91dGVySGVpZ2h0KCl9fSxfc2V0Q29udGFpbm1lbnQ6ZnVuY3Rpb24o
KXt2YXIgYz10aGlzLm9wdGlvbnM7aWYoYy5jb250YWlubWVudD09InBhcmVudCIpYy5jb250YWlu
bWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlO2lmKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVu
dCJ8fGMuY29udGFpbm1lbnQ9PSJ3aW5kb3ciKXRoaXMuY29udGFpbm1lbnQ9WzAtdGhpcy5vZmZz
ZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCwwLXRoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGEoYy5jb250YWlubWVudD09ImRvY3Vt
ZW50Ij8KLWRvY3VtZW50OndpbmRvdykud2lkdGgoKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLXRoaXMubWFyZ2lucy5sZWZ0LChhKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/ZG9jdW1l
bnQ6d2luZG93KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdo
dCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF07aWYoIS9e
KGRvY3VtZW50fHdpbmRvd3xwYXJlbnQpJC8udGVzdChjLmNvbnRhaW5tZW50KSl7dmFyIGQ9YShj
LmNvbnRhaW5tZW50KVswXTtjPWEoYy5jb250YWlubWVudCkub2Zmc2V0KCk7dmFyIGU9YShkKS5j
c3MoIm92ZXJmbG93IikhPSJoaWRkZW4iO3RoaXMuY29udGFpbm1lbnQ9W2MubGVmdCsocGFyc2VJ
bnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3Nz
KCJwYWRkaW5nTGVmdCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLmxlZnQsYy50b3ArKHBhcnNlSW50
KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLAotMTApfHwwKSsocGFyc2VJbnQoYShkKS5jc3Mo
InBhZGRpbmdUb3AiKSwxMCl8fDApLXRoaXMubWFyZ2lucy50b3AsYy5sZWZ0KyhlP01hdGgubWF4
KGQuc2Nyb2xsV2lkdGgsZC5vZmZzZXRXaWR0aCk6ZC5vZmZzZXRXaWR0aCktKHBhcnNlSW50KGEo
ZCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChhKGQpLmNzcygicGFk
ZGluZ1JpZ2h0IiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXRoaXMubWFy
Z2lucy5sZWZ0LGMudG9wKyhlP01hdGgubWF4KGQuc2Nyb2xsSGVpZ2h0LGQub2Zmc2V0SGVpZ2h0
KTpkLm9mZnNldEhlaWdodCktKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEw
KXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nQm90dG9tIiksMTApfHwwKS10aGlzLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXX19LF9jb252ZXJ0UG9zaXRp
b25UbzpmdW5jdGlvbihjLGQpe2lmKCFkKWQ9Ci10aGlzLnBvc2l0aW9uO2M9Yz09ImFic29sdXRl
Ij8xOi0xO3ZhciBlPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQ
YXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRo
aXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQs
aD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFtZSk7cmV0dXJue3RvcDpkLnRvcCt0aGlz
Lm9mZnNldC5yZWxhdGl2ZS50b3AqYyt0aGlzLm9mZnNldC5wYXJlbnQudG9wKmMtKGEuYnJvd3Nl
ci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09
ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUuc2Nyb2xsVG9wKCkp
KmMpLGxlZnQ6ZC5sZWZ0K3RoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQqYyt0aGlzLm9mZnNldC5w
YXJlbnQubGVmdCpjLShhLmJyb3dzZXIuc2FmYXJpJiYKLXRoaXMuY3NzUG9zaXRpb249PSJmaXhl
ZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xs
TGVmdCgpOmg/MDplLnNjcm9sbExlZnQoKSkqYyl9fSxfZ2VuZXJhdGVQb3NpdGlvbjpmdW5jdGlv
bihjKXt2YXIgZD10aGlzLm9wdGlvbnMsZT10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYh
KHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9s
bFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMu
c2Nyb2xsUGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChlWzBdLnRhZ05hbWUpO2lmKHRoaXMu
Y3NzUG9zaXRpb249PSJyZWxhdGl2ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50
JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9dGhpcy5vZmZzZXRQYXJlbnRbMF0pKXRoaXMub2Zmc2V0
LnJlbGF0aXZlPXRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCk7Ci12YXIgZz1jLnBhZ2VYLGk9Yy5w
YWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe2lmKHRoaXMuY29udGFpbm1lbnQpe2lmKGMu
cGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdKWc9dGhpcy5j
b250YWlubWVudFswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMucGFnZVktdGhpcy5vZmZz
ZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0paT10aGlzLmNvbnRhaW5tZW50WzFdK3Ro
aXMub2Zmc2V0LmNsaWNrLnRvcDtpZihjLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+dGhp
cy5jb250YWlubWVudFsyXSlnPXRoaXMuY29udGFpbm1lbnRbMl0rdGhpcy5vZmZzZXQuY2xpY2su
bGVmdDtpZihjLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD50aGlzLmNvbnRhaW5tZW50WzNd
KWk9dGhpcy5jb250YWlubWVudFszXSt0aGlzLm9mZnNldC5jbGljay50b3B9aWYoZC5ncmlkKXtp
PXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChpLQotdGhpcy5vcmlnaW5hbFBhZ2VZKS9k
LmdyaWRbMV0pKmQuZ3JpZFsxXTtpPXRoaXMuY29udGFpbm1lbnQ/IShpLXRoaXMub2Zmc2V0LmNs
aWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdfHxpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD50aGlz
LmNvbnRhaW5tZW50WzNdKT9pOiEoaS10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlu
bWVudFsxXSk/aS1kLmdyaWRbMV06aStkLmdyaWRbMV06aTtnPXRoaXMub3JpZ2luYWxQYWdlWCtN
YXRoLnJvdW5kKChnLXRoaXMub3JpZ2luYWxQYWdlWCkvZC5ncmlkWzBdKSpkLmdyaWRbMF07Zz10
aGlzLmNvbnRhaW5tZW50PyEoZy10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1l
bnRbMF18fGctdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdKT9nOiEo
Zy10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pP2ctZC5ncmlkWzBd
OmcrZC5ncmlkWzBdOmd9fXJldHVybnt0b3A6aS0KLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlz
Lm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoYS5icm93c2VyLnNh
ZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRpb249PSJmaXhl
ZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRvcCgpKSxsZWZ0
OmctdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMu
b2Zmc2V0LnBhcmVudC5sZWZ0KyhhLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0aW9uPT0i
Zml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Ny
b2xsTGVmdCgpOmg/MDplLnNjcm9sbExlZnQoKSl9fSxfcmVhcnJhbmdlOmZ1bmN0aW9uKGMsZCxl
LGgpe2U/ZVswXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTpkLml0ZW1bMF0ucGFy
ZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5wbGFjZWhvbGRlclswXSwKLXRoaXMuZGlyZWN0aW9u
PT0iZG93biI/ZC5pdGVtWzBdOmQuaXRlbVswXS5uZXh0U2libGluZyk7dGhpcy5jb3VudGVyPXRo
aXMuY291bnRlcj8rK3RoaXMuY291bnRlcjoxO3ZhciBnPXRoaXMsaT10aGlzLmNvdW50ZXI7d2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtpPT1nLmNvdW50ZXImJmcucmVmcmVzaFBvc2l0aW9u
cyghaCl9LDApfSxfY2xlYXI6ZnVuY3Rpb24oYyxkKXt0aGlzLnJldmVydGluZz1mYWxzZTt2YXIg
ZT1bXTshdGhpcy5fbm9GaW5hbFNvcnQmJnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KCkubGVuZ3Ro
JiZ0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSh0aGlzLmN1cnJlbnRJdGVtKTt0aGlzLl9ub0ZpbmFs
U29ydD1udWxsO2lmKHRoaXMuaGVscGVyWzBdPT10aGlzLmN1cnJlbnRJdGVtWzBdKXtmb3IodmFy
IGggaW4gdGhpcy5fc3RvcmVkQ1NTKWlmKHRoaXMuX3N0b3JlZENTU1toXT09ImF1dG8ifHx0aGlz
Ll9zdG9yZWRDU1NbaF09PSJzdGF0aWMiKXRoaXMuX3N0b3JlZENTU1toXT0KLSIiO3RoaXMuY3Vy
cmVudEl0ZW0uY3NzKHRoaXMuX3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhl
bHBlciIpfWVsc2UgdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7dGhpcy5mcm9tT3V0c2lkZSYmIWQm
JmUucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIixnLHRoaXMuX3VpSGFz
aCh0aGlzLmZyb21PdXRzaWRlKSl9KTtpZigodGhpcy5mcm9tT3V0c2lkZXx8dGhpcy5kb21Qb3Np
dGlvbi5wcmV2IT10aGlzLmN1cnJlbnRJdGVtLnByZXYoKS5ub3QoIi51aS1zb3J0YWJsZS1oZWxw
ZXIiKVswXXx8dGhpcy5kb21Qb3NpdGlvbi5wYXJlbnQhPXRoaXMuY3VycmVudEl0ZW0ucGFyZW50
KClbMF0pJiYhZCllLnB1c2goZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigidXBkYXRlIixnLHRo
aXMuX3VpSGFzaCgpKX0pO2lmKCFhLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSx0aGlzLmN1
cnJlbnRJdGVtWzBdKSl7ZHx8ZS5wdXNoKGZ1bmN0aW9uKGcpe3RoaXMuX3RyaWdnZXIoInJlbW92
ZSIsCi1nLHRoaXMuX3VpSGFzaCgpKX0pO2ZvcihoPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTto
Pj0wO2gtLSlpZihhLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1toXS5lbGVtZW50WzBdLHRo
aXMuY3VycmVudEl0ZW1bMF0pJiYhZCl7ZS5wdXNoKGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlv
bihpKXtnLl90cmlnZ2VyKCJyZWNlaXZlIixpLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRo
aXMsdGhpcy5jb250YWluZXJzW2hdKSk7ZS5wdXNoKGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlv
bihpKXtnLl90cmlnZ2VyKCJ1cGRhdGUiLGksdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhp
cyx0aGlzLmNvbnRhaW5lcnNbaF0pKX19Zm9yKGg9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2g+
PTA7aC0tKXtkfHxlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3RyaWdn
ZXIoImRlYWN0aXZhdGUiLGksdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcywKLXRoaXMu
Y29udGFpbmVyc1toXSkpO2lmKHRoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVy
KXtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3RyaWdnZXIoIm91dCIs
aSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29udGFpbmVyc1toXSkpO3Ro
aXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyPTB9fXRoaXMuX3N0b3JlZEN1cnNv
ciYmYSgiYm9keSIpLmNzcygiY3Vyc29yIix0aGlzLl9zdG9yZWRDdXJzb3IpO3RoaXMuX3N0b3Jl
ZE9wYWNpdHkmJnRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsdGhpcy5fc3RvcmVkT3BhY2l0eSk7
aWYodGhpcy5fc3RvcmVkWkluZGV4KXRoaXMuaGVscGVyLmNzcygiekluZGV4Iix0aGlzLl9zdG9y
ZWRaSW5kZXg9PSJhdXRvIj8iIjp0aGlzLl9zdG9yZWRaSW5kZXgpO3RoaXMuZHJhZ2dpbmc9ZmFs
c2U7aWYodGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsKXtpZighZCl7dGhpcy5fdHJpZ2dlcigiYmVm
b3JlU3RvcCIsCi1jLHRoaXMuX3VpSGFzaCgpKTtmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0u
Y2FsbCh0aGlzLGMpO3RoaXMuX3RyaWdnZXIoInN0b3AiLGMsdGhpcy5fdWlIYXNoKCkpfXJldHVy
biBmYWxzZX1kfHx0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIixjLHRoaXMuX3VpSGFzaCgpKTt0
aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRl
clswXSk7dGhpcy5oZWxwZXJbMF0hPXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMuaGVscGVyLnJl
bW92ZSgpO3RoaXMuaGVscGVyPW51bGw7aWYoIWQpe2ZvcihoPTA7aDxlLmxlbmd0aDtoKyspZVto
XS5jYWxsKHRoaXMsYyk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYyx0aGlzLl91aUhhc2goKSl9dGhp
cy5mcm9tT3V0c2lkZT1mYWxzZTtyZXR1cm4gdHJ1ZX0sX3RyaWdnZXI6ZnVuY3Rpb24oKXthLldp
ZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpPT09ZmFsc2UmJnRo
aXMuY2FuY2VsKCl9LAotX3VpSGFzaDpmdW5jdGlvbihjKXt2YXIgZD1jfHx0aGlzO3JldHVybnto
ZWxwZXI6ZC5oZWxwZXIscGxhY2Vob2xkZXI6ZC5wbGFjZWhvbGRlcnx8YShbXSkscG9zaXRpb246
ZC5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOmQub3JpZ2luYWxQb3NpdGlvbixvZmZzZXQ6ZC5w
b3NpdGlvbkFicyxpdGVtOmQuY3VycmVudEl0ZW0sc2VuZGVyOmM/Yy5lbGVtZW50Om51bGx9fX0p
O2EuZXh0ZW5kKGEudWkuc29ydGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7Ci1q
UXVlcnkuZWZmZWN0c3x8ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBkKG4pe3ZhciBrO2lmKG4mJm4u
Y29uc3RydWN0b3I9PUFycmF5JiZuLmxlbmd0aD09MylyZXR1cm4gbjtpZihrPS9yZ2JcKFxzKihb
MC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqXCkvLmV4
ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0sMTApLHBhcnNlSW50KGtbMl0sMTApLHBhcnNlSW50
KGtbM10sMTApXTtpZihrPS9yZ2JcKFxzKihbMC05XSsoPzpcLlswLTldKyk/KVwlXHMqLFxzKihb
MC05XSsoPzpcLlswLTldKyk/KVwlXHMqLFxzKihbMC05XSsoPzpcLlswLTldKyk/KVwlXHMqXCkv
LmV4ZWMobikpcmV0dXJuW3BhcnNlRmxvYXQoa1sxXSkqMi41NSxwYXJzZUZsb2F0KGtbMl0pKjIu
NTUscGFyc2VGbG9hdChrWzNdKSoyLjU1XTtpZihrPS8jKFthLWZBLUYwLTldezJ9KShbYS1mQS1G
MC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pLy5leGVjKG4pKXJldHVybltwYXJzZUludChrWzFdLAot
MTYpLHBhcnNlSW50KGtbMl0sMTYpLHBhcnNlSW50KGtbM10sMTYpXTtpZihrPS8jKFthLWZBLUYw
LTldKShbYS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pLy5leGVjKG4pKXJldHVybltwYXJzZUludChr
WzFdK2tbMV0sMTYpLHBhcnNlSW50KGtbMl0ra1syXSwxNikscGFyc2VJbnQoa1szXStrWzNdLDE2
KV07aWYoL3JnYmFcKDAsIDAsIDAsIDBcKS8uZXhlYyhuKSlyZXR1cm4gai50cmFuc3BhcmVudDty
ZXR1cm4galthLnRyaW0obikudG9Mb3dlckNhc2UoKV19ZnVuY3Rpb24gZShuLGspe3ZhciBtO2Rv
e209YS5jdXJDU1MobixrKTtpZihtIT0iIiYmbSE9InRyYW5zcGFyZW50Inx8YS5ub2RlTmFtZShu
LCJib2R5IikpYnJlYWs7az0iYmFja2dyb3VuZENvbG9yIn13aGlsZShuPW4ucGFyZW50Tm9kZSk7
cmV0dXJuIGQobSl9ZnVuY3Rpb24gaCgpe3ZhciBuPWRvY3VtZW50LmRlZmF1bHRWaWV3P2RvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGhpcyxudWxsKTp0aGlzLmN1cnJlbnRT
dHlsZSwKLWs9e30sbSxwO2lmKG4mJm4ubGVuZ3RoJiZuWzBdJiZuW25bMF1dKWZvcih2YXIgcT1u
Lmxlbmd0aDtxLS07KXttPW5bcV07aWYodHlwZW9mIG5bbV09PSJzdHJpbmciKXtwPW0ucmVwbGFj
ZSgvXC0oXHcpL2csZnVuY3Rpb24ocyxyKXtyZXR1cm4gci50b1VwcGVyQ2FzZSgpfSk7a1twXT1u
W21dfX1lbHNlIGZvcihtIGluIG4paWYodHlwZW9mIG5bbV09PT0ic3RyaW5nIilrW21dPW5bbV07
cmV0dXJuIGt9ZnVuY3Rpb24gZyhuKXt2YXIgayxtO2ZvcihrIGluIG4pe209bltrXTtpZihtPT1u
dWxsfHxhLmlzRnVuY3Rpb24obSl8fGsgaW4gb3x8L3Njcm9sbGJhci8udGVzdChrKXx8IS9jb2xv
ci9pLnRlc3QoaykmJmlzTmFOKHBhcnNlRmxvYXQobSkpKWRlbGV0ZSBuW2tdfXJldHVybiBufWZ1
bmN0aW9uIGkobixrKXt2YXIgbT17XzowfSxwO2ZvcihwIGluIGspaWYobltwXSE9a1twXSltW3Bd
PWtbcF07cmV0dXJuIG19ZnVuY3Rpb24gYihuLGssbSxwKXtpZih0eXBlb2Ygbj09Im9iamVjdCIp
e3A9Ci1rO209bnVsbDtrPW47bj1rLmVmZmVjdH1pZihhLmlzRnVuY3Rpb24oaykpe3A9azttPW51
bGw7az17fX1pZih0eXBlb2Ygaz09Im51bWJlciJ8fGEuZnguc3BlZWRzW2tdKXtwPW07bT1rO2s9
e319aWYoYS5pc0Z1bmN0aW9uKG0pKXtwPW07bT1udWxsfWs9a3x8e307bT1tfHxrLmR1cmF0aW9u
O209YS5meC5vZmY/MDp0eXBlb2YgbT09Im51bWJlciI/bTptIGluIGEuZnguc3BlZWRzP2EuZngu
c3BlZWRzW21dOmEuZnguc3BlZWRzLl9kZWZhdWx0O3A9cHx8ay5jb21wbGV0ZTtyZXR1cm5bbixr
LG0scF19ZnVuY3Rpb24gZihuKXtpZighbnx8dHlwZW9mIG49PT0ibnVtYmVyInx8YS5meC5zcGVl
ZHNbbl0pcmV0dXJuIHRydWU7aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmIWEuZWZmZWN0c1tuXSly
ZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9YS5lZmZlY3RzPXt9O2EuZWFjaChbImJhY2tncm91bmRD
b2xvciIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyTGVmdENvbG9yIiwiYm9yZGVyUmlnaHRD
b2xvciIsCi0iYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJDb2xvciIsImNvbG9yIiwib3V0bGluZUNv
bG9yIl0sZnVuY3Rpb24obixrKXthLmZ4LnN0ZXBba109ZnVuY3Rpb24obSl7aWYoIW0uY29sb3JJ
bml0KXttLnN0YXJ0PWUobS5lbGVtLGspO20uZW5kPWQobS5lbmQpO20uY29sb3JJbml0PXRydWV9
bS5lbGVtLnN0eWxlW2tdPSJyZ2IoIitNYXRoLm1heChNYXRoLm1pbihwYXJzZUludChtLnBvcyoo
bS5lbmRbMF0tbS5zdGFydFswXSkrbS5zdGFydFswXSwxMCksMjU1KSwwKSsiLCIrTWF0aC5tYXgo
TWF0aC5taW4ocGFyc2VJbnQobS5wb3MqKG0uZW5kWzFdLW0uc3RhcnRbMV0pK20uc3RhcnRbMV0s
MTApLDI1NSksMCkrIiwiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KG0ucG9zKihtLmVuZFsy
XS1tLnN0YXJ0WzJdKSttLnN0YXJ0WzJdLDEwKSwyNTUpLDApKyIpIn19KTt2YXIgaj17YXF1YTpb
MCwyNTUsMjU1XSxhenVyZTpbMjQwLDI1NSwyNTVdLGJlaWdlOlsyNDUsMjQ1LDIyMF0sYmxhY2s6
WzAsCi0wLDBdLGJsdWU6WzAsMCwyNTVdLGJyb3duOlsxNjUsNDIsNDJdLGN5YW46WzAsMjU1LDI1
NV0sZGFya2JsdWU6WzAsMCwxMzldLGRhcmtjeWFuOlswLDEzOSwxMzldLGRhcmtncmV5OlsxNjks
MTY5LDE2OV0sZGFya2dyZWVuOlswLDEwMCwwXSxkYXJra2hha2k6WzE4OSwxODMsMTA3XSxkYXJr
bWFnZW50YTpbMTM5LDAsMTM5XSxkYXJrb2xpdmVncmVlbjpbODUsMTA3LDQ3XSxkYXJrb3Jhbmdl
OlsyNTUsMTQwLDBdLGRhcmtvcmNoaWQ6WzE1Myw1MCwyMDRdLGRhcmtyZWQ6WzEzOSwwLDBdLGRh
cmtzYWxtb246WzIzMywxNTAsMTIyXSxkYXJrdmlvbGV0OlsxNDgsMCwyMTFdLGZ1Y2hzaWE6WzI1
NSwwLDI1NV0sZ29sZDpbMjU1LDIxNSwwXSxncmVlbjpbMCwxMjgsMF0saW5kaWdvOls3NSwwLDEz
MF0sa2hha2k6WzI0MCwyMzAsMTQwXSxsaWdodGJsdWU6WzE3MywyMTYsMjMwXSxsaWdodGN5YW46
WzIyNCwyNTUsMjU1XSxsaWdodGdyZWVuOlsxNDQsMjM4LDE0NF0sbGlnaHRncmV5OlsyMTEsCi0y
MTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHllbGxvdzpbMjU1LDI1NSwyMjRd
LGxpbWU6WzAsMjU1LDBdLG1hZ2VudGE6WzI1NSwwLDI1NV0sbWFyb29uOlsxMjgsMCwwXSxuYXZ5
OlswLDAsMTI4XSxvbGl2ZTpbMTI4LDEyOCwwXSxvcmFuZ2U6WzI1NSwxNjUsMF0scGluazpbMjU1
LDE5MiwyMDNdLHB1cnBsZTpbMTI4LDAsMTI4XSx2aW9sZXQ6WzEyOCwwLDEyOF0scmVkOlsyNTUs
MCwwXSxzaWx2ZXI6WzE5MiwxOTIsMTkyXSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHllbGxvdzpbMjU1
LDI1NSwwXSx0cmFuc3BhcmVudDpbMjU1LDI1NSwyNTVdfSxsPVsiYWRkIiwicmVtb3ZlIiwidG9n
Z2xlIl0sbz17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0
OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRp
bmc6MX07YS5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihuLGssbSwKLXApe2lmKGEuaXNG
dW5jdGlvbihtKSl7cD1tO209bnVsbH1yZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBx
PWEodGhpcykscz1xLmF0dHIoInN0eWxlIil8fCIgIixyPWcoaC5jYWxsKHRoaXMpKSx1LHY9cS5h
dHRyKCJjbGFzcyIpO2EuZWFjaChsLGZ1bmN0aW9uKHcseCl7blt4XSYmcVt4KyJDbGFzcyJdKG5b
eF0pfSk7dT1nKGguY2FsbCh0aGlzKSk7cS5hdHRyKCJjbGFzcyIsdik7cS5hbmltYXRlKGkocix1
KSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ayxlYXNpbmc6bSxjb21wbGV0ZTpmdW5jdGlvbigpe2Eu
ZWFjaChsLGZ1bmN0aW9uKHcseCl7blt4XSYmcVt4KyJDbGFzcyJdKG5beF0pfSk7aWYodHlwZW9m
IHEuYXR0cigic3R5bGUiKT09Im9iamVjdCIpe3EuYXR0cigic3R5bGUiKS5jc3NUZXh0PSIiO3Eu
YXR0cigic3R5bGUiKS5jc3NUZXh0PXN9ZWxzZSBxLmF0dHIoInN0eWxlIixzKTtwJiZwLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTthLmRlcXVldWUodGhpcyl9fSl9KX07Ci1hLmZuLmV4dGVuZCh7X2Fk
ZENsYXNzOmEuZm4uYWRkQ2xhc3MsYWRkQ2xhc3M6ZnVuY3Rpb24obixrLG0scCl7cmV0dXJuIGs/
YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7YWRkOm59LGssbSxwXSk6dGhpcy5f
YWRkQ2xhc3Mobil9LF9yZW1vdmVDbGFzczphLmZuLnJlbW92ZUNsYXNzLHJlbW92ZUNsYXNzOmZ1
bmN0aW9uKG4sayxtLHApe3JldHVybiBrP2EuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhp
cyxbe3JlbW92ZTpufSxrLG0scF0pOnRoaXMuX3JlbW92ZUNsYXNzKG4pfSxfdG9nZ2xlQ2xhc3M6
YS5mbi50b2dnbGVDbGFzcyx0b2dnbGVDbGFzczpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiB0
eXBlb2Ygaz09ImJvb2xlYW4ifHxrPT09Yz9tP2EuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHko
dGhpcyxbaz97YWRkOm59OntyZW1vdmU6bn0sbSxwLHFdKTp0aGlzLl90b2dnbGVDbGFzcyhuLGsp
OmEuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcywKLVt7dG9nZ2xlOm59LGssbSxwXSl9
LHN3aXRjaENsYXNzOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIGEuZWZmZWN0cy5hbmltYXRl
Q2xhc3MuYXBwbHkodGhpcyxbe2FkZDprLHJlbW92ZTpufSxtLHAscV0pfX0pO2EuZXh0ZW5kKGEu
ZWZmZWN0cyx7dmVyc2lvbjoiMS44LjE1IixzYXZlOmZ1bmN0aW9uKG4sayl7Zm9yKHZhciBtPTA7
bTxrLmxlbmd0aDttKyspa1ttXSE9PW51bGwmJm4uZGF0YSgiZWMuc3RvcmFnZS4iK2tbbV0sblsw
XS5zdHlsZVtrW21dXSl9LHJlc3RvcmU6ZnVuY3Rpb24obixrKXtmb3IodmFyIG09MDttPGsubGVu
Z3RoO20rKylrW21dIT09bnVsbCYmbi5jc3Moa1ttXSxuLmRhdGEoImVjLnN0b3JhZ2UuIitrW21d
KSl9LHNldE1vZGU6ZnVuY3Rpb24obixrKXtpZihrPT0idG9nZ2xlIilrPW4uaXMoIjpoaWRkZW4i
KT8ic2hvdyI6ImhpZGUiO3JldHVybiBrfSxnZXRCYXNlbGluZTpmdW5jdGlvbihuLGspe3ZhciBt
O3N3aXRjaChuWzBdKXtjYXNlICJ0b3AiOm09Ci0wO2JyZWFrO2Nhc2UgIm1pZGRsZSI6bT0wLjU7
YnJlYWs7Y2FzZSAiYm90dG9tIjptPTE7YnJlYWs7ZGVmYXVsdDptPW5bMF0vay5oZWlnaHR9c3dp
dGNoKG5bMV0pe2Nhc2UgImxlZnQiOm49MDticmVhaztjYXNlICJjZW50ZXIiOm49MC41O2JyZWFr
O2Nhc2UgInJpZ2h0IjpuPTE7YnJlYWs7ZGVmYXVsdDpuPW5bMV0vay53aWR0aH1yZXR1cm57eDpu
LHk6bX19LGNyZWF0ZVdyYXBwZXI6ZnVuY3Rpb24obil7aWYobi5wYXJlbnQoKS5pcygiLnVpLWVm
ZmVjdHMtd3JhcHBlciIpKXJldHVybiBuLnBhcmVudCgpO3ZhciBrPXt3aWR0aDpuLm91dGVyV2lk
dGgodHJ1ZSksaGVpZ2h0Om4ub3V0ZXJIZWlnaHQodHJ1ZSksImZsb2F0IjpuLmNzcygiZmxvYXQi
KX0sbT1hKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXdyYXBwZXIiKS5jc3Mo
e2ZvbnRTaXplOiIxMDAlIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixt
YXJnaW46MCxwYWRkaW5nOjB9KTsKLW4ud3JhcChtKTttPW4ucGFyZW50KCk7aWYobi5jc3MoInBv
c2l0aW9uIik9PSJzdGF0aWMiKXttLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pO24uY3NzKHtw
b3NpdGlvbjoicmVsYXRpdmUifSl9ZWxzZXthLmV4dGVuZChrLHtwb3NpdGlvbjpuLmNzcygicG9z
aXRpb24iKSx6SW5kZXg6bi5jc3MoInotaW5kZXgiKX0pO2EuZWFjaChbInRvcCIsImxlZnQiLCJi
b3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKHAscSl7a1txXT1uLmNzcyhxKTtpZihpc05hTihwYXJz
ZUludChrW3FdLDEwKSkpa1txXT0iYXV0byJ9KTtuLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0
b3A6MCxsZWZ0OjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byJ9KX1yZXR1cm4gbS5jc3Moayku
c2hvdygpfSxyZW1vdmVXcmFwcGVyOmZ1bmN0aW9uKG4pe2lmKG4ucGFyZW50KCkuaXMoIi51aS1l
ZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gbi5wYXJlbnQoKS5yZXBsYWNlV2l0aChuKTtyZXR1cm4g
bn0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihuLAotayxtLHApe3A9cHx8e307YS5lYWNoKGssZnVu
Y3Rpb24ocSxzKXt1bml0PW4uY3NzVW5pdChzKTtpZih1bml0WzBdPjApcFtzXT11bml0WzBdKm0r
dW5pdFsxXX0pO3JldHVybiBwfX0pO2EuZm4uZXh0ZW5kKHtlZmZlY3Q6ZnVuY3Rpb24obil7dmFy
IGs9Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyksbT17b3B0aW9uczprWzFdLGR1cmF0aW9uOmtbMl0s
Y2FsbGJhY2s6a1szXX07az1tLm9wdGlvbnMubW9kZTt2YXIgcD1hLmVmZmVjdHNbbl07aWYoYS5m
eC5vZmZ8fCFwKXJldHVybiBrP3RoaXNba10obS5kdXJhdGlvbixtLmNhbGxiYWNrKTp0aGlzLmVh
Y2goZnVuY3Rpb24oKXttLmNhbGxiYWNrJiZtLmNhbGxiYWNrLmNhbGwodGhpcyl9KTtyZXR1cm4g
cC5jYWxsKHRoaXMsbSl9LF9zaG93OmEuZm4uc2hvdyxzaG93OmZ1bmN0aW9uKG4pe2lmKGYobikp
cmV0dXJuIHRoaXMuX3Nob3cuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGs9Yi5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7Ci1rWzFdLm1vZGU9InNob3ciO3JldHVybiB0aGlzLmVmZmVjdC5h
cHBseSh0aGlzLGspfX0sX2hpZGU6YS5mbi5oaWRlLGhpZGU6ZnVuY3Rpb24obil7aWYoZihuKSly
ZXR1cm4gdGhpcy5faGlkZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgaz1iLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTtrWzFdLm1vZGU9ImhpZGUiO3JldHVybiB0aGlzLmVmZmVjdC5hcHBs
eSh0aGlzLGspfX0sX190b2dnbGU6YS5mbi50b2dnbGUsdG9nZ2xlOmZ1bmN0aW9uKG4pe2lmKGYo
bil8fHR5cGVvZiBuPT09ImJvb2xlYW4ifHxhLmlzRnVuY3Rpb24obikpcmV0dXJuIHRoaXMuX190
b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGs9Yi5hcHBseSh0aGlzLGFyZ3Vt
ZW50cyk7a1sxXS5tb2RlPSJ0b2dnbGUiO3JldHVybiB0aGlzLmVmZmVjdC5hcHBseSh0aGlzLGsp
fX0sY3NzVW5pdDpmdW5jdGlvbihuKXt2YXIgaz10aGlzLmNzcyhuKSxtPVtdO2EuZWFjaChbImVt
IiwicHgiLCIlIiwKLSJwdCJdLGZ1bmN0aW9uKHAscSl7aWYoay5pbmRleE9mKHEpPjApbT1bcGFy
c2VGbG9hdChrKSxxXX0pO3JldHVybiBtfX0pO2EuZWFzaW5nLmpzd2luZz1hLmVhc2luZy5zd2lu
ZzthLmV4dGVuZChhLmVhc2luZyx7ZGVmOiJlYXNlT3V0UXVhZCIsc3dpbmc6ZnVuY3Rpb24obixr
LG0scCxxKXtyZXR1cm4gYS5lYXNpbmdbYS5lYXNpbmcuZGVmXShuLGssbSxwLHEpfSxlYXNlSW5R
dWFkOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKGsvPXEpKmsrbX0sZWFzZU91dFF1YWQ6
ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4tcCooay89cSkqKGstMikrbX0sZWFzZUluT3V0UXVh
ZDpmdW5jdGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIpPDEpcmV0dXJuIHAvMiprKmsrbTtyZXR1
cm4tcC8yKigtLWsqKGstMiktMSkrbX0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24obixrLG0scCxxKXty
ZXR1cm4gcCooay89cSkqayprK219LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihuLGssbSxwLHEpe3Jl
dHVybiBwKgotKChrPWsvcS0xKSprKmsrMSkrbX0sZWFzZUluT3V0Q3ViaWM6ZnVuY3Rpb24obixr
LG0scCxxKXtpZigoay89cS8yKTwxKXJldHVybiBwLzIqayprKmsrbTtyZXR1cm4gcC8yKigoay09
MikqayprKzIpK219LGVhc2VJblF1YXJ0OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKGsv
PXEpKmsqayprK219LGVhc2VPdXRRdWFydDpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybi1wKigo
az1rL3EtMSkqayprKmstMSkrbX0sZWFzZUluT3V0UXVhcnQ6ZnVuY3Rpb24obixrLG0scCxxKXtp
Zigoay89cS8yKTwxKXJldHVybiBwLzIqayprKmsqayttO3JldHVybi1wLzIqKChrLT0yKSprKmsq
ay0yKSttfSxlYXNlSW5RdWludDpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwKihrLz1xKSpr
KmsqayprK219LGVhc2VPdXRRdWludDpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwKigoaz1r
L3EtMSkqayprKmsqaysxKSttfSxlYXNlSW5PdXRRdWludDpmdW5jdGlvbihuLGssbSxwLHEpe2lm
KChrLz0KLXEvMik8MSlyZXR1cm4gcC8yKmsqayprKmsqayttO3JldHVybiBwLzIqKChrLT0yKSpr
KmsqayprKzIpK219LGVhc2VJblNpbmU6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4tcCpNYXRo
LmNvcyhrL3EqKE1hdGguUEkvMikpK3ArbX0sZWFzZU91dFNpbmU6ZnVuY3Rpb24obixrLG0scCxx
KXtyZXR1cm4gcCpNYXRoLnNpbihrL3EqKE1hdGguUEkvMikpK219LGVhc2VJbk91dFNpbmU6ZnVu
Y3Rpb24obixrLG0scCxxKXtyZXR1cm4tcC8yKihNYXRoLmNvcyhNYXRoLlBJKmsvcSktMSkrbX0s
ZWFzZUluRXhwbzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBrPT0wP206cCpNYXRoLnBvdygy
LDEwKihrL3EtMSkpK219LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIGs9
PXE/bStwOnAqKC1NYXRoLnBvdygyLC0xMCprL3EpKzEpK219LGVhc2VJbk91dEV4cG86ZnVuY3Rp
b24obixrLG0scCxxKXtpZihrPT0wKXJldHVybiBtO2lmKGs9PXEpcmV0dXJuIG0rcDtpZigoay89
Ci1xLzIpPDEpcmV0dXJuIHAvMipNYXRoLnBvdygyLDEwKihrLTEpKSttO3JldHVybiBwLzIqKC1N
YXRoLnBvdygyLC0xMCotLWspKzIpK219LGVhc2VJbkNpcmM6ZnVuY3Rpb24obixrLG0scCxxKXty
ZXR1cm4tcCooTWF0aC5zcXJ0KDEtKGsvPXEpKmspLTEpK219LGVhc2VPdXRDaXJjOmZ1bmN0aW9u
KG4sayxtLHAscSl7cmV0dXJuIHAqTWF0aC5zcXJ0KDEtKGs9ay9xLTEpKmspK219LGVhc2VJbk91
dENpcmM6ZnVuY3Rpb24obixrLG0scCxxKXtpZigoay89cS8yKTwxKXJldHVybi1wLzIqKE1hdGgu
c3FydCgxLWsqayktMSkrbTtyZXR1cm4gcC8yKihNYXRoLnNxcnQoMS0oay09MikqaykrMSkrbX0s
ZWFzZUluRWxhc3RpYzpmdW5jdGlvbihuLGssbSxwLHEpe249MS43MDE1ODt2YXIgcz0wLHI9cDtp
ZihrPT0wKXJldHVybiBtO2lmKChrLz1xKT09MSlyZXR1cm4gbStwO3N8fChzPXEqMC4zKTtpZihy
PE1hdGguYWJzKHApKXtyPXA7bj1zLzR9ZWxzZSBuPXMvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHAv
Ci1yKTtyZXR1cm4tKHIqTWF0aC5wb3coMiwxMCooay09MSkpKk1hdGguc2luKChrKnEtbikqMipN
YXRoLlBJL3MpKSttfSxlYXNlT3V0RWxhc3RpYzpmdW5jdGlvbihuLGssbSxwLHEpe249MS43MDE1
ODt2YXIgcz0wLHI9cDtpZihrPT0wKXJldHVybiBtO2lmKChrLz1xKT09MSlyZXR1cm4gbStwO3N8
fChzPXEqMC4zKTtpZihyPE1hdGguYWJzKHApKXtyPXA7bj1zLzR9ZWxzZSBuPXMvKDIqTWF0aC5Q
SSkqTWF0aC5hc2luKHAvcik7cmV0dXJuIHIqTWF0aC5wb3coMiwtMTAqaykqTWF0aC5zaW4oKGsq
cS1uKSoyKk1hdGguUEkvcykrcCttfSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKG4sayxtLHAs
cSl7bj0xLjcwMTU4O3ZhciBzPTAscj1wO2lmKGs9PTApcmV0dXJuIG07aWYoKGsvPXEvMik9PTIp
cmV0dXJuIG0rcDtzfHwocz1xKjAuMyoxLjUpO2lmKHI8TWF0aC5hYnMocCkpe3I9cDtuPXMvNH1l
bHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFzaW4ocC9yKTtpZihrPDEpcmV0dXJuLTAuNSoKLXIq
TWF0aC5wb3coMiwxMCooay09MSkpKk1hdGguc2luKChrKnEtbikqMipNYXRoLlBJL3MpK207cmV0
dXJuIHIqTWF0aC5wb3coMiwtMTAqKGstPTEpKSpNYXRoLnNpbigoaypxLW4pKjIqTWF0aC5QSS9z
KSowLjUrcCttfSxlYXNlSW5CYWNrOmZ1bmN0aW9uKG4sayxtLHAscSxzKXtpZihzPT1jKXM9MS43
MDE1ODtyZXR1cm4gcCooay89cSkqayooKHMrMSkqay1zKSttfSxlYXNlT3V0QmFjazpmdW5jdGlv
bihuLGssbSxwLHEscyl7aWYocz09YylzPTEuNzAxNTg7cmV0dXJuIHAqKChrPWsvcS0xKSprKigo
cysxKSprK3MpKzEpK219LGVhc2VJbk91dEJhY2s6ZnVuY3Rpb24obixrLG0scCxxLHMpe2lmKHM9
PWMpcz0xLjcwMTU4O2lmKChrLz1xLzIpPDEpcmV0dXJuIHAvMiprKmsqKCgocyo9MS41MjUpKzEp
KmstcykrbTtyZXR1cm4gcC8yKigoay09MikqayooKChzKj0xLjUyNSkrMSkqaytzKSsyKSttfSxl
YXNlSW5Cb3VuY2U6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcC1hLmVhc2luZy5lYXNlT3V0
Qm91bmNlKG4sCi1xLWssMCxwLHEpK219LGVhc2VPdXRCb3VuY2U6ZnVuY3Rpb24obixrLG0scCxx
KXtyZXR1cm4oay89cSk8MS8yLjc1P3AqNy41NjI1KmsqayttOms8Mi8yLjc1P3AqKDcuNTYyNSoo
ay09MS41LzIuNzUpKmsrMC43NSkrbTprPDIuNS8yLjc1P3AqKDcuNTYyNSooay09Mi4yNS8yLjc1
KSprKzAuOTM3NSkrbTpwKig3LjU2MjUqKGstPTIuNjI1LzIuNzUpKmsrMC45ODQzNzUpK219LGVh
c2VJbk91dEJvdW5jZTpmdW5jdGlvbihuLGssbSxwLHEpe2lmKGs8cS8yKXJldHVybiBhLmVhc2lu
Zy5lYXNlSW5Cb3VuY2UobixrKjIsMCxwLHEpKjAuNSttO3JldHVybiBhLmVhc2luZy5lYXNlT3V0
Qm91bmNlKG4sayoyLXEsMCxwLHEpKjAuNStwKjAuNSttfX0pfShqUXVlcnkpOwotKGZ1bmN0aW9u
KGEpe2EuZWZmZWN0cy5ibGluZD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlv
bigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJp
Z2h0Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9Yy5v
cHRpb25zLmRpcmVjdGlvbnx8InZlcnRpY2FsIjthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygp
O3ZhciBpPWEuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9
KSxiPWc9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6IndpZHRoIjtnPWc9PSJ2ZXJ0aWNhbCI/aS5oZWln
aHQoKTppLndpZHRoKCk7aD09InNob3ciJiZpLmNzcyhiLDApO3ZhciBmPXt9O2ZbYl09aD09InNo
b3ciP2c6MDtpLmFuaW1hdGUoZixjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24o
KXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsCi1lKTthLmVmZmVjdHMu
cmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KGRbMF0sYXJndW1l
bnRzKTtkLmRlcXVldWUoKX0pfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMu
Ym91bmNlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0
aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEuZWZm
ZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxnPWMub3B0aW9ucy5kaXJl
Y3Rpb258fCJ1cCIsaT1jLm9wdGlvbnMuZGlzdGFuY2V8fDIwLGI9Yy5vcHRpb25zLnRpbWVzfHw1
LGY9Yy5kdXJhdGlvbnx8MjUwOy9zaG93fGhpZGUvLnRlc3QoaCkmJmUucHVzaCgib3BhY2l0eSIp
O2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCk7
dmFyIGo9Zz09InVwInx8Zz09ImRvd24iPyJ0b3AiOiJsZWZ0IjtnPWc9PSJ1cCJ8fGc9PSJsZWZ0
Ij8icG9zIjoibmVnIjtpPWMub3B0aW9ucy5kaXN0YW5jZXx8KGo9PSJ0b3AiP2Qub3V0ZXJIZWln
aHQoe21hcmdpbjp0cnVlfSkvMzpkLm91dGVyV2lkdGgoe21hcmdpbjp0cnVlfSkvCi0zKTtpZiho
PT0ic2hvdyIpZC5jc3MoIm9wYWNpdHkiLDApLmNzcyhqLGc9PSJwb3MiPy1pOmkpO2lmKGg9PSJo
aWRlIilpLz1iKjI7aCE9ImhpZGUiJiZiLS07aWYoaD09InNob3ciKXt2YXIgbD17b3BhY2l0eTox
fTtsW2pdPShnPT0icG9zIj8iKz0iOiItPSIpK2k7ZC5hbmltYXRlKGwsZi8yLGMub3B0aW9ucy5l
YXNpbmcpO2kvPTI7Yi0tfWZvcihsPTA7bDxiO2wrKyl7dmFyIG89e30sbj17fTtvW2pdPShnPT0i
cG9zIj8iLT0iOiIrPSIpK2k7bltqXT0oZz09InBvcyI/Iis9IjoiLT0iKStpO2QuYW5pbWF0ZShv
LGYvMixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG4sZi8yLGMub3B0aW9ucy5lYXNpbmcpO2k9
aD09ImhpZGUiP2kqMjppLzJ9aWYoaD09ImhpZGUiKXtsPXtvcGFjaXR5OjB9O2xbal09KGc9PSJw
b3MiPyItPSI6Iis9IikraTtkLmFuaW1hdGUobCxmLzIsYy5vcHRpb25zLmVhc2luZyxmdW5jdGlv
bigpe2QuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92ZVdyYXBw
ZXIoZCk7Ci1jLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfWVs
c2V7bz17fTtuPXt9O29bal09KGc9PSJwb3MiPyItPSI6Iis9IikraTtuW2pdPShnPT0icG9zIj8i
Kz0iOiItPSIpK2k7ZC5hbmltYXRlKG8sZi8yLGMub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUobixm
LzIsYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5l
ZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlz
LGFyZ3VtZW50cyl9KX1kLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtkLmRlcXVldWUoKX0pO2QuZGVx
dWV1ZSgpfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMuY2xpcD1mdW5jdGlv
bihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0
aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0Iiwid2lkdGgiXSxoPWEu
ZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuZGly
ZWN0aW9ufHwidmVydGljYWwiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7dmFyIGk9YS5l
ZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO2k9ZFswXS50
YWdOYW1lPT0iSU1HIj9pOmQ7dmFyIGI9e3NpemU6Zz09InZlcnRpY2FsIj8iaGVpZ2h0Ijoid2lk
dGgiLHBvc2l0aW9uOmc9PSJ2ZXJ0aWNhbCI/InRvcCI6ImxlZnQifTtnPWc9PSJ2ZXJ0aWNhbCI/
aS5oZWlnaHQoKTppLndpZHRoKCk7aWYoaD09InNob3ciKXtpLmNzcyhiLnNpemUsMCk7aS5jc3Mo
Yi5wb3NpdGlvbiwKLWcvMil9dmFyIGY9e307ZltiLnNpemVdPWg9PSJzaG93Ij9nOjA7ZltiLnBv
c2l0aW9uXT1oPT0ic2hvdyI/MDpnLzI7aS5hbmltYXRlKGYse3F1ZXVlOmZhbHNlLGR1cmF0aW9u
OmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXto
PT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92
ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBdLGFyZ3VtZW50cyk7
ZC5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5kcm9w
PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxl
PVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJvcGFjaXR5Il0saD1h
LmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9Yy5vcHRpb25zLmRp
cmVjdGlvbnx8ImxlZnQiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNy
ZWF0ZVdyYXBwZXIoZCk7dmFyIGk9Zz09InVwInx8Zz09ImRvd24iPyJ0b3AiOiJsZWZ0IjtnPWc9
PSJ1cCJ8fGc9PSJsZWZ0Ij8icG9zIjoibmVnIjt2YXIgYj1jLm9wdGlvbnMuZGlzdGFuY2V8fChp
PT0idG9wIj9kLm91dGVySGVpZ2h0KHttYXJnaW46dHJ1ZX0pLzI6ZC5vdXRlcldpZHRoKHttYXJn
aW46dHJ1ZX0pLzIpO2lmKGg9PSJzaG93IilkLmNzcygib3BhY2l0eSIsMCkuY3NzKGksZz09InBv
cyI/LWI6Yik7dmFyIGY9e29wYWNpdHk6aD09Ci0ic2hvdyI/MTowfTtmW2ldPShoPT0ic2hvdyI/
Zz09InBvcyI/Iis9IjoiLT0iOmc9PSJwb3MiPyItPSI6Iis9IikrYjtkLmFuaW1hdGUoZix7cXVl
dWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21w
bGV0ZTpmdW5jdGlvbigpe2g9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxl
KTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24o
YSl7YS5lZmZlY3RzLmV4cGxvZGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rp
b24oKXt2YXIgZD1jLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGMub3B0aW9u
cy5waWVjZXMpKTozLGU9Yy5vcHRpb25zLnBpZWNlcz9NYXRoLnJvdW5kKE1hdGguc3FydChjLm9w
dGlvbnMucGllY2VzKSk6MztjLm9wdGlvbnMubW9kZT1jLm9wdGlvbnMubW9kZT09InRvZ2dsZSI/
YSh0aGlzKS5pcygiOnZpc2libGUiKT8iaGlkZSI6InNob3ciOmMub3B0aW9ucy5tb2RlO3ZhciBo
PWEodGhpcykuc2hvdygpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLGc9aC5vZmZzZXQoKTtn
LnRvcC09cGFyc2VJbnQoaC5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MDtnLmxlZnQtPXBhcnNlSW50
KGguY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwO2Zvcih2YXIgaT1oLm91dGVyV2lkdGgodHJ1ZSks
Yj1oLm91dGVySGVpZ2h0KHRydWUpLGY9MDtmPGQ7ZisrKWZvcih2YXIgaj0KLTA7ajxlO2orKylo
LmNsb25lKCkuYXBwZW5kVG8oImJvZHkiKS53cmFwKCI8ZGl2PjwvZGl2PiIpLmNzcyh7cG9zaXRp
b246ImFic29sdXRlIix2aXNpYmlsaXR5OiJ2aXNpYmxlIixsZWZ0Oi1qKihpL2UpLHRvcDotZioo
Yi9kKX0pLnBhcmVudCgpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLWV4cGxvZGUiKS5jc3Moe3Bvc2l0
aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6aS9lLGhlaWdodDpiL2QsbGVm
dDpnLmxlZnQraiooaS9lKSsoYy5vcHRpb25zLm1vZGU9PSJzaG93Ij8oai1NYXRoLmZsb29yKGUv
MikpKihpL2UpOjApLHRvcDpnLnRvcCtmKihiL2QpKyhjLm9wdGlvbnMubW9kZT09InNob3ciPyhm
LU1hdGguZmxvb3IoZC8yKSkqKGIvZCk6MCksb3BhY2l0eTpjLm9wdGlvbnMubW9kZT09InNob3ci
PzA6MX0pLmFuaW1hdGUoe2xlZnQ6Zy5sZWZ0K2oqKGkvZSkrKGMub3B0aW9ucy5tb2RlPT0ic2hv
dyI/MDooai1NYXRoLmZsb29yKGUvMikpKihpL2UpKSx0b3A6Zy50b3ArCi1mKihiL2QpKyhjLm9w
dGlvbnMubW9kZT09InNob3ciPzA6KGYtTWF0aC5mbG9vcihkLzIpKSooYi9kKSksb3BhY2l0eTpj
Lm9wdGlvbnMubW9kZT09InNob3ciPzE6MH0sYy5kdXJhdGlvbnx8NTAwKTtzZXRUaW1lb3V0KGZ1
bmN0aW9uKCl7Yy5vcHRpb25zLm1vZGU9PSJzaG93Ij9oLmNzcyh7dmlzaWJpbGl0eToidmlzaWJs
ZSJ9KTpoLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KS5oaWRlKCk7Yy5jYWxsYmFjayYmYy5j
YWxsYmFjay5hcHBseShoWzBdKTtoLmRlcXVldWUoKTthKCJkaXYudWktZWZmZWN0cy1leHBsb2Rl
IikucmVtb3ZlKCl9LGMuZHVyYXRpb258fDUwMCl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEp
e2EuZWZmZWN0cy5mYWRlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7
dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRl
Iik7ZC5hbmltYXRlKHtvcGFjaXR5OmV9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9u
LGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5jYWxsYmFjayYm
Yy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9fSl9KX19KShqUXVl
cnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5mb2xkPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlz
LnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0
b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8
fCJoaWRlIiksZz1jLm9wdGlvbnMuc2l6ZXx8MTUsaT0hIWMub3B0aW9ucy5ob3JpekZpcnN0LGI9
Yy5kdXJhdGlvbj9jLmR1cmF0aW9uLzI6YS5meC5zcGVlZHMuX2RlZmF1bHQvMjthLmVmZmVjdHMu
c2F2ZShkLGUpO2Quc2hvdygpO3ZhciBmPWEuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpLmNzcyh7
b3ZlcmZsb3c6ImhpZGRlbiJ9KSxqPWg9PSJzaG93IiE9aSxsPWo/WyJ3aWR0aCIsImhlaWdodCJd
OlsiaGVpZ2h0Iiwid2lkdGgiXTtqPWo/W2Yud2lkdGgoKSxmLmhlaWdodCgpXTpbZi5oZWlnaHQo
KSxmLndpZHRoKCldO3ZhciBvPS8oWzAtOV0rKSUvLmV4ZWMoZyk7aWYobylnPXBhcnNlSW50KG9b
MV0sCi0xMCkvMTAwKmpbaD09ImhpZGUiPzA6MV07aWYoaD09InNob3ciKWYuY3NzKGk/e2hlaWdo
dDowLHdpZHRoOmd9OntoZWlnaHQ6Zyx3aWR0aDowfSk7aT17fTtvPXt9O2lbbFswXV09aD09InNo
b3ciP2pbMF06ZztvW2xbMV1dPWg9PSJzaG93Ij9qWzFdOjA7Zi5hbmltYXRlKGksYixjLm9wdGlv
bnMuZWFzaW5nKS5hbmltYXRlKG8sYixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7aD09Imhp
ZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFw
cGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1bWVudHMpO2QuZGVx
dWV1ZSgpfSl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5oaWdobGlnaHQ9
ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9
WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvcGFjaXR5Il0saD1hLmVmZmVj
dHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwic2hvdyIpLGc9e2JhY2tncm91bmRDb2xvcjpk
LmNzcygiYmFja2dyb3VuZENvbG9yIil9O2lmKGg9PSJoaWRlIilnLm9wYWNpdHk9MDthLmVmZmVj
dHMuc2F2ZShkLGUpO2Quc2hvdygpLmNzcyh7YmFja2dyb3VuZEltYWdlOiJub25lIixiYWNrZ3Jv
dW5kQ29sb3I6Yy5vcHRpb25zLmNvbG9yfHwiI2ZmZmY5OSJ9KS5hbmltYXRlKGcse3F1ZXVlOmZh
bHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6
ZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7aD09
InNob3ciJiYhYS5zdXBwb3J0Lm9wYWNpdHkmJgotdGhpcy5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUo
ImZpbHRlciIpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2Qu
ZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMucHVsc2F0
ZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyks
ZT1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwic2hvdyIpO3RpbWVzPShjLm9w
dGlvbnMudGltZXN8fDUpKjItMTtkdXJhdGlvbj1jLmR1cmF0aW9uP2MuZHVyYXRpb24vMjphLmZ4
LnNwZWVkcy5fZGVmYXVsdC8yO2lzVmlzaWJsZT1kLmlzKCI6dmlzaWJsZSIpO2FuaW1hdGVUbz0w
O2lmKCFpc1Zpc2libGUpe2QuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCk7YW5pbWF0ZVRvPTF9aWYo
ZT09ImhpZGUiJiZpc1Zpc2libGV8fGU9PSJzaG93IiYmIWlzVmlzaWJsZSl0aW1lcy0tO2Zvcihl
PTA7ZTx0aW1lcztlKyspe2QuYW5pbWF0ZSh7b3BhY2l0eTphbmltYXRlVG99LGR1cmF0aW9uLGMu
b3B0aW9ucy5lYXNpbmcpO2FuaW1hdGVUbz0oYW5pbWF0ZVRvKzEpJTJ9ZC5hbmltYXRlKHtvcGFj
aXR5OmFuaW1hdGVUb30sZHVyYXRpb24sCi1jLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7YW5p
bWF0ZVRvPT0wJiZkLmhpZGUoKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKX0pO2QucXVldWUoImZ4IixmdW5jdGlvbigpe2QuZGVxdWV1ZSgpfSkuZGVxdWV1ZSgp
fSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMucHVmZj1mdW5jdGlvbihjKXty
ZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1hLmVmZmVjdHMuc2V0
TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGg9cGFyc2VJbnQoYy5vcHRpb25zLnBlcmNl
bnQsMTApfHwxNTAsZz1oLzEwMCxpPXtoZWlnaHQ6ZC5oZWlnaHQoKSx3aWR0aDpkLndpZHRoKCl9
O2EuZXh0ZW5kKGMub3B0aW9ucyx7ZmFkZTp0cnVlLG1vZGU6ZSxwZXJjZW50OmU9PSJoaWRlIj9o
OjEwMCxmcm9tOmU9PSJoaWRlIj9pOntoZWlnaHQ6aS5oZWlnaHQqZyx3aWR0aDppLndpZHRoKmd9
fSk7ZC5lZmZlY3QoInNjYWxlIixjLm9wdGlvbnMsYy5kdXJhdGlvbixjLmNhbGxiYWNrKTtkLmRl
cXVldWUoKX0pfTthLmVmZmVjdHMuc2NhbGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUo
ZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YS5leHRlbmQodHJ1ZSx7fSxjLm9wdGlvbnMpLGg9
YS5lZmZlY3RzLnNldE1vZGUoZCwKLWMub3B0aW9ucy5tb2RlfHwiZWZmZWN0IiksZz1wYXJzZUlu
dChjLm9wdGlvbnMucGVyY2VudCwxMCl8fChwYXJzZUludChjLm9wdGlvbnMucGVyY2VudCwxMCk9
PTA/MDpoPT0iaGlkZSI/MDoxMDApLGk9Yy5vcHRpb25zLmRpcmVjdGlvbnx8ImJvdGgiLGI9Yy5v
cHRpb25zLm9yaWdpbjtpZihoIT0iZWZmZWN0Iil7ZS5vcmlnaW49Ynx8WyJtaWRkbGUiLCJjZW50
ZXIiXTtlLnJlc3RvcmU9dHJ1ZX1iPXtoZWlnaHQ6ZC5oZWlnaHQoKSx3aWR0aDpkLndpZHRoKCl9
O2QuZnJvbT1jLm9wdGlvbnMuZnJvbXx8KGg9PSJzaG93Ij97aGVpZ2h0OjAsd2lkdGg6MH06Yik7
Zz17eTppIT0iaG9yaXpvbnRhbCI/Zy8xMDA6MSx4OmkhPSJ2ZXJ0aWNhbCI/Zy8xMDA6MX07ZC50
bz17aGVpZ2h0OmIuaGVpZ2h0KmcueSx3aWR0aDpiLndpZHRoKmcueH07aWYoYy5vcHRpb25zLmZh
ZGUpe2lmKGg9PSJzaG93Iil7ZC5mcm9tLm9wYWNpdHk9MDtkLnRvLm9wYWNpdHk9MX1pZihoPT0i
aGlkZSIpe2QuZnJvbS5vcGFjaXR5PQotMTtkLnRvLm9wYWNpdHk9MH19ZS5mcm9tPWQuZnJvbTtl
LnRvPWQudG87ZS5tb2RlPWg7ZC5lZmZlY3QoInNpemUiLGUsYy5kdXJhdGlvbixjLmNhbGxiYWNr
KTtkLmRlcXVldWUoKX0pfTthLmVmZmVjdHMuc2l6ZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5x
dWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9t
IiwibGVmdCIsInJpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsIm9wYWNpdHkiXSxo
PVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJvdmVyZmxvdyIsIm9w
YWNpdHkiXSxnPVsid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLGk9WyJmb250U2l6ZSJdLGI9
WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRp
bmdCb3R0b20iXSxmPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRp
bmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sCi1qPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25z
Lm1vZGV8fCJlZmZlY3QiKSxsPWMub3B0aW9ucy5yZXN0b3JlfHxmYWxzZSxvPWMub3B0aW9ucy5z
Y2FsZXx8ImJvdGgiLG49Yy5vcHRpb25zLm9yaWdpbixrPXtoZWlnaHQ6ZC5oZWlnaHQoKSx3aWR0
aDpkLndpZHRoKCl9O2QuZnJvbT1jLm9wdGlvbnMuZnJvbXx8aztkLnRvPWMub3B0aW9ucy50b3x8
aztpZihuKXtuPWEuZWZmZWN0cy5nZXRCYXNlbGluZShuLGspO2QuZnJvbS50b3A9KGsuaGVpZ2h0
LWQuZnJvbS5oZWlnaHQpKm4ueTtkLmZyb20ubGVmdD0oay53aWR0aC1kLmZyb20ud2lkdGgpKm4u
eDtkLnRvLnRvcD0oay5oZWlnaHQtZC50by5oZWlnaHQpKm4ueTtkLnRvLmxlZnQ9KGsud2lkdGgt
ZC50by53aWR0aCkqbi54fXZhciBtPXtmcm9tOnt5OmQuZnJvbS5oZWlnaHQvay5oZWlnaHQseDpk
LmZyb20ud2lkdGgvay53aWR0aH0sdG86e3k6ZC50by5oZWlnaHQvay5oZWlnaHQseDpkLnRvLndp
ZHRoL2sud2lkdGh9fTsKLWlmKG89PSJib3gifHxvPT0iYm90aCIpe2lmKG0uZnJvbS55IT1tLnRv
Lnkpe2U9ZS5jb25jYXQoYik7ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGQsYixtLmZy
b20ueSxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxiLG0udG8ueSxkLnRv
KX1pZihtLmZyb20ueCE9bS50by54KXtlPWUuY29uY2F0KGYpO2QuZnJvbT1hLmVmZmVjdHMuc2V0
VHJhbnNpdGlvbihkLGYsbS5mcm9tLngsZC5mcm9tKTtkLnRvPWEuZWZmZWN0cy5zZXRUcmFuc2l0
aW9uKGQsZixtLnRvLngsZC50byl9fWlmKG89PSJjb250ZW50Inx8bz09ImJvdGgiKWlmKG0uZnJv
bS55IT1tLnRvLnkpe2U9ZS5jb25jYXQoaSk7ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9u
KGQsaSxtLmZyb20ueSxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxpLG0u
dG8ueSxkLnRvKX1hLmVmZmVjdHMuc2F2ZShkLGw/ZTpoKTtkLnNob3coKTthLmVmZmVjdHMuY3Jl
YXRlV3JhcHBlcihkKTsKLWQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNzcyhkLmZyb20pO2lm
KG89PSJjb250ZW50Inx8bz09ImJvdGgiKXtiPWIuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2lu
Qm90dG9tIl0pLmNvbmNhdChpKTtmPWYuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0
Il0pO2c9ZS5jb25jYXQoYikuY29uY2F0KGYpO2QuZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0
aW9uKCl7Y2hpbGQ9YSh0aGlzKTtsJiZhLmVmZmVjdHMuc2F2ZShjaGlsZCxnKTt2YXIgcD17aGVp
Z2h0OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNoaWxkLndpZHRoKCl9O2NoaWxkLmZyb209e2hlaWdo
dDpwLmhlaWdodCptLmZyb20ueSx3aWR0aDpwLndpZHRoKm0uZnJvbS54fTtjaGlsZC50bz17aGVp
Z2h0OnAuaGVpZ2h0Km0udG8ueSx3aWR0aDpwLndpZHRoKm0udG8ueH07aWYobS5mcm9tLnkhPW0u
dG8ueSl7Y2hpbGQuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxiLG0uZnJvbS55
LGNoaWxkLmZyb20pOwotY2hpbGQudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsYixt
LnRvLnksY2hpbGQudG8pfWlmKG0uZnJvbS54IT1tLnRvLngpe2NoaWxkLmZyb209YS5lZmZlY3Rz
LnNldFRyYW5zaXRpb24oY2hpbGQsZixtLmZyb20ueCxjaGlsZC5mcm9tKTtjaGlsZC50bz1hLmVm
ZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxmLG0udG8ueCxjaGlsZC50byl9Y2hpbGQuY3NzKGNo
aWxkLmZyb20pO2NoaWxkLmFuaW1hdGUoY2hpbGQudG8sYy5kdXJhdGlvbixjLm9wdGlvbnMuZWFz
aW5nLGZ1bmN0aW9uKCl7bCYmYS5lZmZlY3RzLnJlc3RvcmUoY2hpbGQsZyl9KX0pfWQuYW5pbWF0
ZShkLnRvLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMu
ZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZC50by5vcGFjaXR5PT09MCYmZC5jc3MoIm9wYWNp
dHkiLGQuZnJvbS5vcGFjaXR5KTtqPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3Jl
KGQsCi1sP2U6aCk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxs
YmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwot
KGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5zaGFrZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1
ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwi
bGVmdCIsInJpZ2h0Il07YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImVmZmVj
dCIpO3ZhciBoPWMub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IixnPWMub3B0aW9ucy5kaXN0YW5j
ZXx8MjAsaT1jLm9wdGlvbnMudGltZXN8fDMsYj1jLmR1cmF0aW9ufHxjLm9wdGlvbnMuZHVyYXRp
b258fDE0MDthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFw
cGVyKGQpO3ZhciBmPWg9PSJ1cCJ8fGg9PSJkb3duIj8idG9wIjoibGVmdCIsaj1oPT0idXAifHxo
PT0ibGVmdCI/InBvcyI6Im5lZyI7aD17fTt2YXIgbD17fSxvPXt9O2hbZl09KGo9PSJwb3MiPyIt
PSI6Iis9IikrZztsW2ZdPShqPT0icG9zIj8iKz0iOiItPSIpK2cqMjtvW2ZdPQotKGo9PSJwb3Mi
PyItPSI6Iis9IikrZyoyO2QuYW5pbWF0ZShoLGIsYy5vcHRpb25zLmVhc2luZyk7Zm9yKGc9MTtn
PGk7ZysrKWQuYW5pbWF0ZShsLGIsYy5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShvLGIsYy5vcHRp
b25zLmVhc2luZyk7ZC5hbmltYXRlKGwsYixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKGgsYi8y
LGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZm
ZWN0cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxh
cmd1bWVudHMpfSk7ZC5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKCl9KTtkLmRlcXVl
dWUoKX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLnNsaWRlPWZ1bmN0aW9u
KGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRp
b24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEuZWZmZWN0cy5zZXRNb2RlKGQs
Yy5vcHRpb25zLm1vZGV8fCJzaG93IiksZz1jLm9wdGlvbnMuZGlyZWN0aW9ufHwibGVmdCI7YS5l
ZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKS5jc3Mo
e292ZXJmbG93OiJoaWRkZW4ifSk7dmFyIGk9Zz09InVwInx8Zz09ImRvd24iPyJ0b3AiOiJsZWZ0
IjtnPWc9PSJ1cCJ8fGc9PSJsZWZ0Ij8icG9zIjoibmVnIjt2YXIgYj1jLm9wdGlvbnMuZGlzdGFu
Y2V8fChpPT0idG9wIj9kLm91dGVySGVpZ2h0KHttYXJnaW46dHJ1ZX0pOmQub3V0ZXJXaWR0aCh7
bWFyZ2luOnRydWV9KSk7aWYoaD09InNob3ciKWQuY3NzKGksZz09InBvcyI/aXNOYU4oYik/Ii0i
K2I6LWI6Yik7Ci12YXIgZj17fTtmW2ldPShoPT0ic2hvdyI/Zz09InBvcyI/Iis9IjoiLT0iOmc9
PSJwb3MiPyItPSI6Iis9IikrYjtkLmFuaW1hdGUoZix7cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5k
dXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2g9PSJo
aWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3Jh
cHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkLmRl
cXVldWUoKX19KX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLnRyYW5zZmVy
PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxl
PWEoYy5vcHRpb25zLnRvKSxoPWUub2Zmc2V0KCk7ZT17dG9wOmgudG9wLGxlZnQ6aC5sZWZ0LGhl
aWdodDplLmlubmVySGVpZ2h0KCksd2lkdGg6ZS5pbm5lcldpZHRoKCl9O2g9ZC5vZmZzZXQoKTt2
YXIgZz1hKCc8ZGl2IGNsYXNzPSJ1aS1lZmZlY3RzLXRyYW5zZmVyIj48L2Rpdj4nKS5hcHBlbmRU
byhkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhjLm9wdGlvbnMuY2xhc3NOYW1lKS5jc3Moe3RvcDpo
LnRvcCxsZWZ0OmgubGVmdCxoZWlnaHQ6ZC5pbm5lckhlaWdodCgpLHdpZHRoOmQuaW5uZXJXaWR0
aCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGUsYy5kdXJhdGlvbixjLm9wdGlvbnMu
ZWFzaW5nLGZ1bmN0aW9uKCl7Zy5yZW1vdmUoKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5
KGRbMF0sYXJndW1lbnRzKTsKLWQuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9u
KGEpe2Eud2lkZ2V0KCJ1aS5hY2NvcmRpb24iLHtvcHRpb25zOnthY3RpdmU6MCxhbmltYXRlZDoi
c2xpZGUiLGF1dG9IZWlnaHQ6dHJ1ZSxjbGVhclN0eWxlOmZhbHNlLGNvbGxhcHNpYmxlOmZhbHNl
LGV2ZW50OiJjbGljayIsZmlsbFNwYWNlOmZhbHNlLGhlYWRlcjoiPiBsaSA+IDpmaXJzdC1jaGls
ZCw+IDpub3QobGkpOmV2ZW4iLGljb25zOntoZWFkZXI6InVpLWljb24tdHJpYW5nbGUtMS1lIixo
ZWFkZXJTZWxlY3RlZDoidWktaWNvbi10cmlhbmdsZS0xLXMifSxuYXZpZ2F0aW9uOmZhbHNlLG5h
dmlnYXRpb25GaWx0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ocmVmLnRvTG93ZXJDYXNlKCk9
PT1sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCl9fSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9
dGhpcyxkPWMub3B0aW9ucztjLnJ1bm5pbmc9MDtjLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29y
ZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikuY2hpbGRyZW4oImxpIikuYWRkQ2xhc3Mo
InVpLWFjY29yZGlvbi1saS1maXgiKTtjLmhlYWRlcnM9Ci1jLmVsZW1lbnQuZmluZChkLmhlYWRl
cikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWktaGVscGVyLXJlc2V0IHVpLXN0YXRl
LWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmJpbmQoIm1vdXNlZW50ZXIuYWNjb3JkaW9uIixmdW5j
dGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9KS5i
aW5kKCJtb3VzZWxlYXZlLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtkLmRpc2FibGVkfHxhKHRoaXMp
LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmluZCgiZm9jdXMuYWNjb3JkaW9uIixm
dW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9
KS5iaW5kKCJibHVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtkLmRpc2FibGVkfHxhKHRoaXMpLnJl
bW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7Yy5oZWFkZXJzLm5leHQoKS5hZGRDbGFzcygi
dWktYWNjb3JkaW9uLWNvbnRlbnQgdWktaGVscGVyLXJlc2V0IHVpLXdpZGdldC1jb250ZW50IHVp
LWNvcm5lci1ib3R0b20iKTsKLWlmKGQubmF2aWdhdGlvbil7dmFyIGU9Yy5lbGVtZW50LmZpbmQo
ImEiKS5maWx0ZXIoZC5uYXZpZ2F0aW9uRmlsdGVyKS5lcSgwKTtpZihlLmxlbmd0aCl7dmFyIGg9
ZS5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWhlYWRlciIpO2MuYWN0aXZlPWgubGVuZ3RoP2g6ZS5j
bG9zZXN0KCIudWktYWNjb3JkaW9uLWNvbnRlbnQiKS5wcmV2KCl9fWMuYWN0aXZlPWMuX2ZpbmRB
Y3RpdmUoYy5hY3RpdmV8fGQuYWN0aXZlKS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1z
dGF0ZS1hY3RpdmUiKS50b2dnbGVDbGFzcygidWktY29ybmVyLWFsbCIpLnRvZ2dsZUNsYXNzKCJ1
aS1jb3JuZXItdG9wIik7Yy5hY3RpdmUubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29u
dGVudC1hY3RpdmUiKTtjLl9jcmVhdGVJY29ucygpO2MucmVzaXplKCk7Yy5lbGVtZW50LmF0dHIo
InJvbGUiLCJ0YWJsaXN0Iik7Yy5oZWFkZXJzLmF0dHIoInJvbGUiLCJ0YWIiKS5iaW5kKCJrZXlk
b3duLmFjY29yZGlvbiIsCi1mdW5jdGlvbihnKXtyZXR1cm4gYy5fa2V5ZG93bihnKX0pLm5leHQo
KS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKTtjLmhlYWRlcnMubm90KGMuYWN0aXZlfHwiIikuYXR0
cih7ImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsdGFiSW5k
ZXg6LTF9KS5uZXh0KCkuaGlkZSgpO2MuYWN0aXZlLmxlbmd0aD9jLmFjdGl2ZS5hdHRyKHsiYXJp
YS1leHBhbmRlZCI6InRydWUiLCJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pOmMu
aGVhZGVycy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCk7YS5icm93c2VyLnNhZmFyaXx8Yy5oZWFk
ZXJzLmZpbmQoImEiKS5hdHRyKCJ0YWJJbmRleCIsLTEpO2QuZXZlbnQmJmMuaGVhZGVycy5iaW5k
KGQuZXZlbnQuc3BsaXQoIiAiKS5qb2luKCIuYWNjb3JkaW9uICIpKyIuYWNjb3JkaW9uIixmdW5j
dGlvbihnKXtjLl9jbGlja0hhbmRsZXIuY2FsbChjLGcsdGhpcyk7Zy5wcmV2ZW50RGVmYXVsdCgp
fSl9LF9jcmVhdGVJY29uczpmdW5jdGlvbigpe3ZhciBjPQotdGhpcy5vcHRpb25zO2lmKGMuaWNv
bnMpe2EoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWktaWNvbiAiK2MuaWNvbnMuaGVhZGVy
KS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKTt0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLWljb24i
KS50b2dnbGVDbGFzcyhjLmljb25zLmhlYWRlcikudG9nZ2xlQ2xhc3MoYy5pY29ucy5oZWFkZXJT
ZWxlY3RlZCk7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taWNvbnMiKX19LF9k
ZXN0cm95SWNvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlYWRlcnMuY2hpbGRyZW4oIi51aS1pY29uIiku
cmVtb3ZlKCk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24taWNvbnMiKX0s
ZGVzdHJveTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9uczt0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikucmVtb3ZlQXR0
cigicm9sZSIpO3RoaXMuaGVhZGVycy51bmJpbmQoIi5hY2NvcmRpb24iKS5yZW1vdmVDbGFzcygi
dWktYWNjb3JkaW9uLWhlYWRlciB1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWktaGVscGVyLXJlc2V0
IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1hY3RpdmUgdWktc3RhdGUt
ZGlzYWJsZWQgdWktY29ybmVyLXRvcCIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJh
cmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigiYXJpYS1zZWxlY3RlZCIpLnJlbW92ZUF0dHIoInRh
YkluZGV4Iik7Ci10aGlzLmhlYWRlcnMuZmluZCgiYSIpLnJlbW92ZUF0dHIoInRhYkluZGV4Iik7
dGhpcy5fZGVzdHJveUljb25zKCk7dmFyIGQ9dGhpcy5oZWFkZXJzLm5leHQoKS5jc3MoImRpc3Bs
YXkiLCIiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1yZXNldCB1
aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWFjY29yZGlvbi1jb250ZW50IHVp
LWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWktc3RhdGUt
ZGlzYWJsZWQiKTtpZihjLmF1dG9IZWlnaHR8fGMuZmlsbEhlaWdodClkLmNzcygiaGVpZ2h0Iiwi
Iik7cmV0dXJuIGEuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LF9zZXRPcHRp
b246ZnVuY3Rpb24oYyxkKXthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlz
LGFyZ3VtZW50cyk7Yz09ImFjdGl2ZSImJnRoaXMuYWN0aXZhdGUoZCk7aWYoYz09Imljb25zIil7
dGhpcy5fZGVzdHJveUljb25zKCk7Ci1kJiZ0aGlzLl9jcmVhdGVJY29ucygpfWlmKGM9PSJkaXNh
YmxlZCIpdGhpcy5oZWFkZXJzLmFkZCh0aGlzLmhlYWRlcnMubmV4dCgpKVtkPyJhZGRDbGFzcyI6
InJlbW92ZUNsYXNzIl0oInVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIp
fSxfa2V5ZG93bjpmdW5jdGlvbihjKXtpZighKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8Yy5hbHRL
ZXl8fGMuY3RybEtleSkpe3ZhciBkPWEudWkua2V5Q29kZSxlPXRoaXMuaGVhZGVycy5sZW5ndGgs
aD10aGlzLmhlYWRlcnMuaW5kZXgoYy50YXJnZXQpLGc9ZmFsc2U7c3dpdGNoKGMua2V5Q29kZSl7
Y2FzZSBkLlJJR0hUOmNhc2UgZC5ET1dOOmc9dGhpcy5oZWFkZXJzWyhoKzEpJWVdO2JyZWFrO2Nh
c2UgZC5MRUZUOmNhc2UgZC5VUDpnPXRoaXMuaGVhZGVyc1soaC0xK2UpJWVdO2JyZWFrO2Nhc2Ug
ZC5TUEFDRTpjYXNlIGQuRU5URVI6dGhpcy5fY2xpY2tIYW5kbGVyKHt0YXJnZXQ6Yy50YXJnZXR9
LGMudGFyZ2V0KTsKLWMucHJldmVudERlZmF1bHQoKX1pZihnKXthKGMudGFyZ2V0KS5hdHRyKCJ0
YWJJbmRleCIsLTEpO2EoZykuYXR0cigidGFiSW5kZXgiLDApO2cuZm9jdXMoKTtyZXR1cm4gZmFs
c2V9cmV0dXJuIHRydWV9fSxyZXNpemU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlvbnMsZDtp
ZihjLmZpbGxTcGFjZSl7aWYoYS5icm93c2VyLm1zaWUpe3ZhciBlPXRoaXMuZWxlbWVudC5wYXJl
bnQoKS5jc3MoIm92ZXJmbG93Iik7dGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygib3ZlcmZsb3ci
LCJoaWRkZW4iKX1kPXRoaXMuZWxlbWVudC5wYXJlbnQoKS5oZWlnaHQoKTthLmJyb3dzZXIubXNp
ZSYmdGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygib3ZlcmZsb3ciLGUpO3RoaXMuaGVhZGVycy5l
YWNoKGZ1bmN0aW9uKCl7ZC09YSh0aGlzKS5vdXRlckhlaWdodCh0cnVlKX0pO3RoaXMuaGVhZGVy
cy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe2EodGhpcykuaGVpZ2h0KE1hdGgubWF4KDAsZC1hKHRo
aXMpLmlubmVySGVpZ2h0KCkrCi1hKHRoaXMpLmhlaWdodCgpKSl9KS5jc3MoIm92ZXJmbG93Iiwi
YXV0byIpfWVsc2UgaWYoYy5hdXRvSGVpZ2h0KXtkPTA7dGhpcy5oZWFkZXJzLm5leHQoKS5lYWNo
KGZ1bmN0aW9uKCl7ZD1NYXRoLm1heChkLGEodGhpcykuaGVpZ2h0KCIiKS5oZWlnaHQoKSl9KS5o
ZWlnaHQoZCl9cmV0dXJuIHRoaXN9LGFjdGl2YXRlOmZ1bmN0aW9uKGMpe3RoaXMub3B0aW9ucy5h
Y3RpdmU9YztjPXRoaXMuX2ZpbmRBY3RpdmUoYylbMF07dGhpcy5fY2xpY2tIYW5kbGVyKHt0YXJn
ZXQ6Y30sYyk7cmV0dXJuIHRoaXN9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKGMpe3JldHVybiBjP3R5
cGVvZiBjPT09Im51bWJlciI/dGhpcy5oZWFkZXJzLmZpbHRlcigiOmVxKCIrYysiKSIpOnRoaXMu
aGVhZGVycy5ub3QodGhpcy5oZWFkZXJzLm5vdChjKSk6Yz09PWZhbHNlP2EoW10pOnRoaXMuaGVh
ZGVycy5maWx0ZXIoIjplcSgwKSIpfSxfY2xpY2tIYW5kbGVyOmZ1bmN0aW9uKGMsZCl7dmFyIGU9
dGhpcy5vcHRpb25zOwotaWYoIWUuZGlzYWJsZWQpaWYoYy50YXJnZXQpe2M9YShjLmN1cnJlbnRU
YXJnZXR8fGQpO2Q9Y1swXT09PXRoaXMuYWN0aXZlWzBdO2UuYWN0aXZlPWUuY29sbGFwc2libGUm
JmQ/ZmFsc2U6dGhpcy5oZWFkZXJzLmluZGV4KGMpO2lmKCEodGhpcy5ydW5uaW5nfHwhZS5jb2xs
YXBzaWJsZSYmZCkpe3ZhciBoPXRoaXMuYWN0aXZlO2Y9Yy5uZXh0KCk7aT10aGlzLmFjdGl2ZS5u
ZXh0KCk7Yj17b3B0aW9uczplLG5ld0hlYWRlcjpkJiZlLmNvbGxhcHNpYmxlP2EoW10pOmMsb2xk
SGVhZGVyOnRoaXMuYWN0aXZlLG5ld0NvbnRlbnQ6ZCYmZS5jb2xsYXBzaWJsZT9hKFtdKTpmLG9s
ZENvbnRlbnQ6aX07dmFyIGc9dGhpcy5oZWFkZXJzLmluZGV4KHRoaXMuYWN0aXZlWzBdKT50aGlz
LmhlYWRlcnMuaW5kZXgoY1swXSk7dGhpcy5hY3RpdmU9ZD9hKFtdKTpjO3RoaXMuX3RvZ2dsZShm
LGksYixkLGcpO2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiku
YWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmNoaWxkcmVuKCIudWkt
aWNvbiIpLnJlbW92ZUNsYXNzKGUuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpLmFkZENsYXNzKGUuaWNv
bnMuaGVhZGVyKTsKLWlmKCFkKXtjLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNv
cm5lci1hbGwiKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5jaGls
ZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhlLmljb25zLmhlYWRlcikuYWRkQ2xhc3MoZS5p
Y29ucy5oZWFkZXJTZWxlY3RlZCk7Yy5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250
ZW50LWFjdGl2ZSIpfX19ZWxzZSBpZihlLmNvbGxhcHNpYmxlKXt0aGlzLmFjdGl2ZS5yZW1vdmVD
bGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygidWktc3RhdGUt
ZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVtb3ZlQ2xhc3Mo
ZS5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZS5pY29ucy5oZWFkZXIpO3RoaXMuYWN0
aXZlLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIik7dmFyIGk9
dGhpcy5hY3RpdmUubmV4dCgpLAotYj17b3B0aW9uczplLG5ld0hlYWRlcjphKFtdKSxvbGRIZWFk
ZXI6ZS5hY3RpdmUsbmV3Q29udGVudDphKFtdKSxvbGRDb250ZW50Oml9LGY9dGhpcy5hY3RpdmU9
YShbXSk7dGhpcy5fdG9nZ2xlKGYsaSxiKX19LF90b2dnbGU6ZnVuY3Rpb24oYyxkLGUsaCxnKXt2
YXIgaT10aGlzLGI9aS5vcHRpb25zO2kudG9TaG93PWM7aS50b0hpZGU9ZDtpLmRhdGE9ZTt2YXIg
Zj1mdW5jdGlvbigpe2lmKGkpcmV0dXJuIGkuX2NvbXBsZXRlZC5hcHBseShpLGFyZ3VtZW50cyl9
O2kuX3RyaWdnZXIoImNoYW5nZXN0YXJ0IixudWxsLGkuZGF0YSk7aS5ydW5uaW5nPWQuc2l6ZSgp
PT09MD9jLnNpemUoKTpkLnNpemUoKTtpZihiLmFuaW1hdGVkKXtlPXt9O2U9Yi5jb2xsYXBzaWJs
ZSYmaD97dG9TaG93OmEoW10pLHRvSGlkZTpkLGNvbXBsZXRlOmYsZG93bjpnLGF1dG9IZWlnaHQ6
Yi5hdXRvSGVpZ2h0fHxiLmZpbGxTcGFjZX06e3RvU2hvdzpjLHRvSGlkZTpkLGNvbXBsZXRlOmYs
ZG93bjpnLGF1dG9IZWlnaHQ6Yi5hdXRvSGVpZ2h0fHwKLWIuZmlsbFNwYWNlfTtpZighYi5wcm94
aWVkKWIucHJveGllZD1iLmFuaW1hdGVkO2lmKCFiLnByb3hpZWREdXJhdGlvbiliLnByb3hpZWRE
dXJhdGlvbj1iLmR1cmF0aW9uO2IuYW5pbWF0ZWQ9YS5pc0Z1bmN0aW9uKGIucHJveGllZCk/Yi5w
cm94aWVkKGUpOmIucHJveGllZDtiLmR1cmF0aW9uPWEuaXNGdW5jdGlvbihiLnByb3hpZWREdXJh
dGlvbik/Yi5wcm94aWVkRHVyYXRpb24oZSk6Yi5wcm94aWVkRHVyYXRpb247aD1hLnVpLmFjY29y
ZGlvbi5hbmltYXRpb25zO3ZhciBqPWIuZHVyYXRpb24sbD1iLmFuaW1hdGVkO2lmKGwmJiFoW2xd
JiYhYS5lYXNpbmdbbF0pbD0ic2xpZGUiO2hbbF18fChoW2xdPWZ1bmN0aW9uKG8pe3RoaXMuc2xp
ZGUobyx7ZWFzaW5nOmwsZHVyYXRpb246anx8NzAwfSl9KTtoW2xdKGUpfWVsc2V7aWYoYi5jb2xs
YXBzaWJsZSYmaCljLnRvZ2dsZSgpO2Vsc2V7ZC5oaWRlKCk7Yy5zaG93KCl9Zih0cnVlKX1kLnBy
ZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6ImZhbHNlIiwKLSJhcmlhLXNlbGVjdGVkIjoiZmFs
c2UiLHRhYkluZGV4Oi0xfSkuYmx1cigpO2MucHJldigpLmF0dHIoeyJhcmlhLWV4cGFuZGVkIjoi
dHJ1ZSIsImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJJbmRleDowfSkuZm9jdXMoKX0sX2NvbXBs
ZXRlZDpmdW5jdGlvbihjKXt0aGlzLnJ1bm5pbmc9Yz8wOi0tdGhpcy5ydW5uaW5nO2lmKCF0aGlz
LnJ1bm5pbmcpe3RoaXMub3B0aW9ucy5jbGVhclN0eWxlJiZ0aGlzLnRvU2hvdy5hZGQodGhpcy50
b0hpZGUpLmNzcyh7aGVpZ2h0OiIiLG92ZXJmbG93OiIifSk7dGhpcy50b0hpZGUucmVtb3ZlQ2xh
c3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO2lmKHRoaXMudG9IaWRlLmxlbmd0aCl0
aGlzLnRvSGlkZS5wYXJlbnQoKVswXS5jbGFzc05hbWU9dGhpcy50b0hpZGUucGFyZW50KClbMF0u
Y2xhc3NOYW1lO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsbnVsbCx0aGlzLmRhdGEpfX19KTthLmV4
dGVuZChhLnVpLmFjY29yZGlvbix7dmVyc2lvbjoiMS44LjE1IiwKLWFuaW1hdGlvbnM6e3NsaWRl
OmZ1bmN0aW9uKGMsZCl7Yz1hLmV4dGVuZCh7ZWFzaW5nOiJzd2luZyIsZHVyYXRpb246MzAwfSxj
LGQpO2lmKGMudG9IaWRlLnNpemUoKSlpZihjLnRvU2hvdy5zaXplKCkpe3ZhciBlPWMudG9TaG93
LmNzcygib3ZlcmZsb3ciKSxoPTAsZz17fSxpPXt9LGI7ZD1jLnRvU2hvdztiPWRbMF0uc3R5bGUu
d2lkdGg7ZC53aWR0aChwYXJzZUludChkLnBhcmVudCgpLndpZHRoKCksMTApLXBhcnNlSW50KGQu
Y3NzKCJwYWRkaW5nTGVmdCIpLDEwKS1wYXJzZUludChkLmNzcygicGFkZGluZ1JpZ2h0IiksMTAp
LShwYXJzZUludChkLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZC5j
c3MoImJvcmRlclJpZ2h0V2lkdGgiKSwxMCl8fDApKTthLmVhY2goWyJoZWlnaHQiLCJwYWRkaW5n
VG9wIiwicGFkZGluZ0JvdHRvbSJdLGZ1bmN0aW9uKGYsail7aVtqXT0iaGlkZSI7Zj0oIiIrYS5j
c3MoYy50b1Nob3dbMF0saikpLm1hdGNoKC9eKFtcZCstLl0rKSguKikkLyk7Ci1nW2pdPXt2YWx1
ZTpmWzFdLHVuaXQ6ZlsyXXx8InB4In19KTtjLnRvU2hvdy5jc3Moe2hlaWdodDowLG92ZXJmbG93
OiJoaWRkZW4ifSkuc2hvdygpO2MudG9IaWRlLmZpbHRlcigiOmhpZGRlbiIpLmVhY2goYy5jb21w
bGV0ZSkuZW5kKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmFuaW1hdGUoaSx7c3RlcDpmdW5jdGlvbihm
LGope2lmKGoucHJvcD09ImhlaWdodCIpaD1qLmVuZC1qLnN0YXJ0PT09MD8wOihqLm5vdy1qLnN0
YXJ0KS8oai5lbmQtai5zdGFydCk7Yy50b1Nob3dbMF0uc3R5bGVbai5wcm9wXT1oKmdbai5wcm9w
XS52YWx1ZStnW2oucHJvcF0udW5pdH0sZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6Yy5lYXNp
bmcsY29tcGxldGU6ZnVuY3Rpb24oKXtjLmF1dG9IZWlnaHR8fGMudG9TaG93LmNzcygiaGVpZ2h0
IiwiIik7Yy50b1Nob3cuY3NzKHt3aWR0aDpiLG92ZXJmbG93OmV9KTtjLmNvbXBsZXRlKCl9fSl9
ZWxzZSBjLnRvSGlkZS5hbmltYXRlKHtoZWlnaHQ6ImhpZGUiLAotcGFkZGluZ1RvcDoiaGlkZSIs
cGFkZGluZ0JvdHRvbToiaGlkZSJ9LGMpO2Vsc2UgYy50b1Nob3cuYW5pbWF0ZSh7aGVpZ2h0OiJz
aG93IixwYWRkaW5nVG9wOiJzaG93IixwYWRkaW5nQm90dG9tOiJzaG93In0sYyl9LGJvdW5jZXNs
aWRlOmZ1bmN0aW9uKGMpe3RoaXMuc2xpZGUoYyx7ZWFzaW5nOmMuZG93bj8iZWFzZU91dEJvdW5j
ZSI6InN3aW5nIixkdXJhdGlvbjpjLmRvd24/MUUzOjIwMH0pfX19KX0pKGpRdWVyeSk7Ci0oZnVu
Y3Rpb24oYSl7dmFyIGM9MDthLndpZGdldCgidWkuYXV0b2NvbXBsZXRlIix7b3B0aW9uczp7YXBw
ZW5kVG86ImJvZHkiLGF1dG9Gb2N1czpmYWxzZSxkZWxheTozMDAsbWluTGVuZ3RoOjEscG9zaXRp
b246e215OiJsZWZ0IHRvcCIsYXQ6ImxlZnQgYm90dG9tIixjb2xsaXNpb246Im5vbmUifSxzb3Vy
Y2U6bnVsbH0scGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLGU9dGhpcy5l
bGVtZW50WzBdLm93bmVyRG9jdW1lbnQsaDt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1dG9j
b21wbGV0ZS1pbnB1dCIpLmF0dHIoImF1dG9jb21wbGV0ZSIsIm9mZiIpLmF0dHIoe3JvbGU6InRl
eHRib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Imxpc3QiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9
KS5iaW5kKCJrZXlkb3duLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oZyl7aWYoIShkLm9wdGlvbnMu
ZGlzYWJsZWR8fGQuZWxlbWVudC5wcm9wQXR0cigicmVhZE9ubHkiKSkpe2g9Ci1mYWxzZTt2YXIg
aT1hLnVpLmtleUNvZGU7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBpLlBBR0VfVVA6ZC5fbW92ZSgi
cHJldmlvdXNQYWdlIixnKTticmVhaztjYXNlIGkuUEFHRV9ET1dOOmQuX21vdmUoIm5leHRQYWdl
IixnKTticmVhaztjYXNlIGkuVVA6ZC5fbW92ZSgicHJldmlvdXMiLGcpO2cucHJldmVudERlZmF1
bHQoKTticmVhaztjYXNlIGkuRE9XTjpkLl9tb3ZlKCJuZXh0IixnKTtnLnByZXZlbnREZWZhdWx0
KCk7YnJlYWs7Y2FzZSBpLkVOVEVSOmNhc2UgaS5OVU1QQURfRU5URVI6aWYoZC5tZW51LmFjdGl2
ZSl7aD10cnVlO2cucHJldmVudERlZmF1bHQoKX1jYXNlIGkuVEFCOmlmKCFkLm1lbnUuYWN0aXZl
KXJldHVybjtkLm1lbnUuc2VsZWN0KGcpO2JyZWFrO2Nhc2UgaS5FU0NBUEU6ZC5lbGVtZW50LnZh
bChkLnRlcm0pO2QuY2xvc2UoZyk7YnJlYWs7ZGVmYXVsdDpjbGVhclRpbWVvdXQoZC5zZWFyY2hp
bmcpO2Quc2VhcmNoaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihkLnRlcm0hPQotZC5lbGVt
ZW50LnZhbCgpKXtkLnNlbGVjdGVkSXRlbT1udWxsO2Quc2VhcmNoKG51bGwsZyl9fSxkLm9wdGlv
bnMuZGVsYXkpO2JyZWFrfX19KS5iaW5kKCJrZXlwcmVzcy5hdXRvY29tcGxldGUiLGZ1bmN0aW9u
KGcpe2lmKGgpe2g9ZmFsc2U7Zy5wcmV2ZW50RGVmYXVsdCgpfX0pLmJpbmQoImZvY3VzLmF1dG9j
b21wbGV0ZSIsZnVuY3Rpb24oKXtpZighZC5vcHRpb25zLmRpc2FibGVkKXtkLnNlbGVjdGVkSXRl
bT1udWxsO2QucHJldmlvdXM9ZC5lbGVtZW50LnZhbCgpfX0pLmJpbmQoImJsdXIuYXV0b2NvbXBs
ZXRlIixmdW5jdGlvbihnKXtpZighZC5vcHRpb25zLmRpc2FibGVkKXtjbGVhclRpbWVvdXQoZC5z
ZWFyY2hpbmcpO2QuY2xvc2luZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jbG9zZShnKTtkLl9j
aGFuZ2UoZyl9LDE1MCl9fSk7dGhpcy5faW5pdFNvdXJjZSgpO3RoaXMucmVzcG9uc2U9ZnVuY3Rp
b24oKXtyZXR1cm4gZC5fcmVzcG9uc2UuYXBwbHkoZCxhcmd1bWVudHMpfTsKLXRoaXMubWVudT1h
KCI8dWw+PC91bD4iKS5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlIikuYXBwZW5kVG8oYSh0aGlz
Lm9wdGlvbnMuYXBwZW5kVG98fCJib2R5IixlKVswXSkubW91c2Vkb3duKGZ1bmN0aW9uKGcpe3Zh
ciBpPWQubWVudS5lbGVtZW50WzBdO2EoZy50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0i
KS5sZW5ndGh8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXthKGRvY3VtZW50KS5vbmUoIm1vdXNlZG93
biIsZnVuY3Rpb24oYil7Yi50YXJnZXQhPT1kLmVsZW1lbnRbMF0mJmIudGFyZ2V0IT09aSYmIWEu
dWkuY29udGFpbnMoaSxiLnRhcmdldCkmJmQuY2xvc2UoKX0pfSwxKTtzZXRUaW1lb3V0KGZ1bmN0
aW9uKCl7Y2xlYXJUaW1lb3V0KGQuY2xvc2luZyl9LDEzKX0pLm1lbnUoe2ZvY3VzOmZ1bmN0aW9u
KGcsaSl7aT1pLml0ZW0uZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiKTtmYWxzZSE9PWQuX3RyaWdn
ZXIoImZvY3VzIixnLHtpdGVtOml9KSYmL15rZXkvLnRlc3QoZy5vcmlnaW5hbEV2ZW50LnR5cGUp
JiYKLWQuZWxlbWVudC52YWwoaS52YWx1ZSl9LHNlbGVjdGVkOmZ1bmN0aW9uKGcsaSl7dmFyIGI9
aS5pdGVtLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIiksZj1kLnByZXZpb3VzO2lmKGQuZWxlbWVu
dFswXSE9PWUuYWN0aXZlRWxlbWVudCl7ZC5lbGVtZW50LmZvY3VzKCk7ZC5wcmV2aW91cz1mO3Nl
dFRpbWVvdXQoZnVuY3Rpb24oKXtkLnByZXZpb3VzPWY7ZC5zZWxlY3RlZEl0ZW09Yn0sMSl9ZmFs
c2UhPT1kLl90cmlnZ2VyKCJzZWxlY3QiLGcse2l0ZW06Yn0pJiZkLmVsZW1lbnQudmFsKGIudmFs
dWUpO2QudGVybT1kLmVsZW1lbnQudmFsKCk7ZC5jbG9zZShnKTtkLnNlbGVjdGVkSXRlbT1ifSxi
bHVyOmZ1bmN0aW9uKCl7ZC5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJmQuZWxlbWVudC52
YWwoKSE9PWQudGVybSYmZC5lbGVtZW50LnZhbChkLnRlcm0pfX0pLnpJbmRleCh0aGlzLmVsZW1l
bnQuekluZGV4KCkrMSkuY3NzKHt0b3A6MCxsZWZ0OjB9KS5oaWRlKCkuZGF0YSgibWVudSIpOwot
YS5mbi5iZ2lmcmFtZSYmdGhpcy5tZW51LmVsZW1lbnQuYmdpZnJhbWUoKX0sZGVzdHJveTpmdW5j
dGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBsZXRlLWlucHV0Iiku
cmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIo
ImFyaWEtYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigiYXJpYS1oYXNwb3B1cCIpO3RoaXMubWVu
dS5lbGVtZW50LnJlbW92ZSgpO2EuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9
LF9zZXRPcHRpb246ZnVuY3Rpb24oZCxlKXthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5h
cHBseSh0aGlzLGFyZ3VtZW50cyk7ZD09PSJzb3VyY2UiJiZ0aGlzLl9pbml0U291cmNlKCk7aWYo
ZD09PSJhcHBlbmRUbyIpdGhpcy5tZW51LmVsZW1lbnQuYXBwZW5kVG8oYShlfHwiYm9keSIsdGhp
cy5lbGVtZW50WzBdLm93bmVyRG9jdW1lbnQpWzBdKTtkPT09ImRpc2FibGVkIiYmCi1lJiZ0aGlz
LnhociYmdGhpcy54aHIuYWJvcnQoKX0sX2luaXRTb3VyY2U6ZnVuY3Rpb24oKXt2YXIgZD10aGlz
LGUsaDtpZihhLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSkpe2U9dGhpcy5vcHRpb25zLnNv
dXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihnLGkpe2koYS51aS5hdXRvY29tcGxldGUuZmlsdGVy
KGUsZy50ZXJtKSl9fWVsc2UgaWYodHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2U9PT0ic3RyaW5n
Iil7aD10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMuc291cmNlPWZ1bmN0aW9uKGcsaSl7ZC54aHIm
JmQueGhyLmFib3J0KCk7ZC54aHI9YS5hamF4KHt1cmw6aCxkYXRhOmcsZGF0YVR5cGU6Impzb24i
LGF1dG9jb21wbGV0ZVJlcXVlc3Q6KytjLHN1Y2Nlc3M6ZnVuY3Rpb24oYil7dGhpcy5hdXRvY29t
cGxldGVSZXF1ZXN0PT09YyYmaShiKX0sZXJyb3I6ZnVuY3Rpb24oKXt0aGlzLmF1dG9jb21wbGV0
ZVJlcXVlc3Q9PT1jJiZpKFtdKX19KX19ZWxzZSB0aGlzLnNvdXJjZT0KLXRoaXMub3B0aW9ucy5z
b3VyY2V9LHNlYXJjaDpmdW5jdGlvbihkLGUpe2Q9ZCE9bnVsbD9kOnRoaXMuZWxlbWVudC52YWwo
KTt0aGlzLnRlcm09dGhpcy5lbGVtZW50LnZhbCgpO2lmKGQubGVuZ3RoPHRoaXMub3B0aW9ucy5t
aW5MZW5ndGgpcmV0dXJuIHRoaXMuY2xvc2UoZSk7Y2xlYXJUaW1lb3V0KHRoaXMuY2xvc2luZyk7
aWYodGhpcy5fdHJpZ2dlcigic2VhcmNoIixlKSE9PWZhbHNlKXJldHVybiB0aGlzLl9zZWFyY2go
ZCl9LF9zZWFyY2g6ZnVuY3Rpb24oZCl7dGhpcy5wZW5kaW5nKys7dGhpcy5lbGVtZW50LmFkZENs
YXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpO3RoaXMuc291cmNlKHt0ZXJtOmR9LHRoaXMu
cmVzcG9uc2UpfSxfcmVzcG9uc2U6ZnVuY3Rpb24oZCl7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxl
ZCYmZCYmZC5sZW5ndGgpe2Q9dGhpcy5fbm9ybWFsaXplKGQpO3RoaXMuX3N1Z2dlc3QoZCk7dGhp
cy5fdHJpZ2dlcigib3BlbiIpfWVsc2UgdGhpcy5jbG9zZSgpOwotdGhpcy5wZW5kaW5nLS07dGhp
cy5wZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2Fk
aW5nIil9LGNsb3NlOmZ1bmN0aW9uKGQpe2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRo
aXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKXt0aGlzLm1lbnUuZWxlbWVudC5oaWRlKCk7
dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLl90cmlnZ2VyKCJjbG9zZSIsZCl9fSxfY2hhbmdl
OmZ1bmN0aW9uKGQpe3RoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3Ry
aWdnZXIoImNoYW5nZSIsZCx7aXRlbTp0aGlzLnNlbGVjdGVkSXRlbX0pfSxfbm9ybWFsaXplOmZ1
bmN0aW9uKGQpe2lmKGQubGVuZ3RoJiZkWzBdLmxhYmVsJiZkWzBdLnZhbHVlKXJldHVybiBkO3Jl
dHVybiBhLm1hcChkLGZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlPT09InN0cmluZyIpcmV0dXJue2xh
YmVsOmUsdmFsdWU6ZX07cmV0dXJuIGEuZXh0ZW5kKHtsYWJlbDplLmxhYmVsfHwKLWUudmFsdWUs
dmFsdWU6ZS52YWx1ZXx8ZS5sYWJlbH0sZSl9KX0sX3N1Z2dlc3Q6ZnVuY3Rpb24oZCl7dmFyIGU9
dGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKS56SW5kZXgodGhpcy5lbGVtZW50LnpJbmRleCgpKzEp
O3RoaXMuX3JlbmRlck1lbnUoZSxkKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgpO3RoaXMubWVudS5y
ZWZyZXNoKCk7ZS5zaG93KCk7dGhpcy5fcmVzaXplTWVudSgpO2UucG9zaXRpb24oYS5leHRlbmQo
e29mOnRoaXMuZWxlbWVudH0sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSk7dGhpcy5vcHRpb25zLmF1
dG9Gb2N1cyYmdGhpcy5tZW51Lm5leHQobmV3IGEuRXZlbnQoIm1vdXNlb3ZlciIpKX0sX3Jlc2l6
ZU1lbnU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm1lbnUuZWxlbWVudDtkLm91dGVyV2lkdGgoTWF0
aC5tYXgoZC53aWR0aCgiIikub3V0ZXJXaWR0aCgpLHRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCkp
KX0sX3JlbmRlck1lbnU6ZnVuY3Rpb24oZCxlKXt2YXIgaD10aGlzOwotYS5lYWNoKGUsZnVuY3Rp
b24oZyxpKXtoLl9yZW5kZXJJdGVtKGQsaSl9KX0sX3JlbmRlckl0ZW06ZnVuY3Rpb24oZCxlKXty
ZXR1cm4gYSgiPGxpPjwvbGk+IikuZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiLGUpLmFwcGVuZChh
KCI8YT48L2E+IikudGV4dChlLmxhYmVsKSkuYXBwZW5kVG8oZCl9LF9tb3ZlOmZ1bmN0aW9uKGQs
ZSl7aWYodGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikpaWYodGhpcy5tZW51LmZpcnN0
KCkmJi9ecHJldmlvdXMvLnRlc3QoZCl8fHRoaXMubWVudS5sYXN0KCkmJi9ebmV4dC8udGVzdChk
KSl7dGhpcy5lbGVtZW50LnZhbCh0aGlzLnRlcm0pO3RoaXMubWVudS5kZWFjdGl2YXRlKCl9ZWxz
ZSB0aGlzLm1lbnVbZF0oZSk7ZWxzZSB0aGlzLnNlYXJjaChudWxsLGUpfSx3aWRnZXQ6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnR9fSk7YS5leHRlbmQoYS51aS5hdXRvY29tcGxl
dGUse2VzY2FwZVJlZ2V4OmZ1bmN0aW9uKGQpe3JldHVybiBkLnJlcGxhY2UoL1stW1xde30oKSor
Py4sXFxeJHwjXHNdL2csCi0iXFwkJiIpfSxmaWx0ZXI6ZnVuY3Rpb24oZCxlKXt2YXIgaD1uZXcg
UmVnRXhwKGEudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4KGUpLCJpIik7cmV0dXJuIGEuZ3Jl
cChkLGZ1bmN0aW9uKGcpe3JldHVybiBoLnRlc3QoZy5sYWJlbHx8Zy52YWx1ZXx8Zyl9KX19KX0p
KGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLm1lbnUiLHtfY3JlYXRlOmZ1bmN0
aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLW1lbnUgdWktd2lkZ2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJsaXN0Ym94Iiwi
YXJpYS1hY3RpdmVkZXNjZW5kYW50IjoidWktYWN0aXZlLW1lbnVpdGVtIn0pLmNsaWNrKGZ1bmN0
aW9uKGQpe2lmKGEoZC50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0gYSIpLmxlbmd0aCl7
ZC5wcmV2ZW50RGVmYXVsdCgpO2Muc2VsZWN0KGQpfX0pO3RoaXMucmVmcmVzaCgpfSxyZWZyZXNo
OmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuY2hpbGRyZW4oImxpOm5vdCgudWkt
bWVudS1pdGVtKTpoYXMoYSkiKS5hZGRDbGFzcygidWktbWVudS1pdGVtIikuYXR0cigicm9sZSIs
Im1lbnVpdGVtIikuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygidWktY29ybmVyLWFsbCIpLmF0dHIo
InRhYmluZGV4IiwKLS0xKS5tb3VzZWVudGVyKGZ1bmN0aW9uKGQpe2MuYWN0aXZhdGUoZCxhKHRo
aXMpLnBhcmVudCgpKX0pLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXtjLmRlYWN0aXZhdGUoKX0pfSxh
Y3RpdmF0ZTpmdW5jdGlvbihjLGQpe3RoaXMuZGVhY3RpdmF0ZSgpO2lmKHRoaXMuaGFzU2Nyb2xs
KCkpe3ZhciBlPWQub2Zmc2V0KCkudG9wLXRoaXMuZWxlbWVudC5vZmZzZXQoKS50b3AsaD10aGlz
LmVsZW1lbnQuc2Nyb2xsVG9wKCksZz10aGlzLmVsZW1lbnQuaGVpZ2h0KCk7aWYoZTwwKXRoaXMu
ZWxlbWVudC5zY3JvbGxUb3AoaCtlKTtlbHNlIGU+PWcmJnRoaXMuZWxlbWVudC5zY3JvbGxUb3Ao
aCtlLWcrZC5oZWlnaHQoKSl9dGhpcy5hY3RpdmU9ZC5lcSgwKS5jaGlsZHJlbigiYSIpLmFkZENs
YXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLmF0dHIoImlkIiwidWktYWN0aXZlLW1lbnVpdGVtIikuZW5k
KCk7dGhpcy5fdHJpZ2dlcigiZm9jdXMiLGMse2l0ZW06ZH0pfSxkZWFjdGl2YXRlOmZ1bmN0aW9u
KCl7aWYodGhpcy5hY3RpdmUpe3RoaXMuYWN0aXZlLmNoaWxkcmVuKCJhIikucmVtb3ZlQ2xhc3Mo
InVpLXN0YXRlLWhvdmVyIikucmVtb3ZlQXR0cigiaWQiKTsKLXRoaXMuX3RyaWdnZXIoImJsdXIi
KTt0aGlzLmFjdGl2ZT1udWxsfX0sbmV4dDpmdW5jdGlvbihjKXt0aGlzLm1vdmUoIm5leHQiLCIu
dWktbWVudS1pdGVtOmZpcnN0IixjKX0scHJldmlvdXM6ZnVuY3Rpb24oYyl7dGhpcy5tb3ZlKCJw
cmV2IiwiLnVpLW1lbnUtaXRlbTpsYXN0IixjKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWktbWVudS1pdGVtIikubGVuZ3RofSxs
YXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUubmV4dEFsbCgi
LnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbW92ZTpmdW5jdGlvbihjLGQsZSl7aWYodGhpcy5hY3Rp
dmUpe2M9dGhpcy5hY3RpdmVbYysiQWxsIl0oIi51aS1tZW51LWl0ZW0iKS5lcSgwKTtjLmxlbmd0
aD90aGlzLmFjdGl2YXRlKGUsYyk6dGhpcy5hY3RpdmF0ZShlLHRoaXMuZWxlbWVudC5jaGlsZHJl
bihkKSl9ZWxzZSB0aGlzLmFjdGl2YXRlKGUsCi10aGlzLmVsZW1lbnQuY2hpbGRyZW4oZCkpfSxu
ZXh0UGFnZTpmdW5jdGlvbihjKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8
dGhpcy5sYXN0KCkpdGhpcy5hY3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1l
bnUtaXRlbTpmaXJzdCIpKTtlbHNle3ZhciBkPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxlPXRo
aXMuZWxlbWVudC5oZWlnaHQoKSxoPXRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRl
bSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBnPWEodGhpcykub2Zmc2V0KCkudG9wLWQtZSthKHRo
aXMpLmhlaWdodCgpO3JldHVybiBnPDEwJiZnPi0xMH0pO2gubGVuZ3RofHwoaD10aGlzLmVsZW1l
bnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTt0aGlzLmFjdGl2YXRlKGMsaCl9ZWxz
ZSB0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIiku
ZmlsdGVyKCF0aGlzLmFjdGl2ZXx8Ci10aGlzLmxhc3QoKT8iOmZpcnN0IjoiOmxhc3QiKSl9LHBy
ZXZpb3VzUGFnZTpmdW5jdGlvbihjKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2
ZXx8dGhpcy5maXJzdCgpKXRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51
aS1tZW51LWl0ZW06bGFzdCIpKTtlbHNle3ZhciBkPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxl
PXRoaXMuZWxlbWVudC5oZWlnaHQoKTtyZXN1bHQ9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWkt
bWVudS1pdGVtIikuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGg9YSh0aGlzKS5vZmZzZXQoKS50b3At
ZCtlLWEodGhpcykuaGVpZ2h0KCk7cmV0dXJuIGg8MTAmJmg+LTEwfSk7cmVzdWx0Lmxlbmd0aHx8
KHJlc3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06Zmlyc3QiKSk7dGhp
cy5hY3RpdmF0ZShjLHJlc3VsdCl9ZWxzZSB0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNo
aWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKCF0aGlzLmFjdGl2ZXx8Ci10aGlzLmZpcnN0
KCk/IjpsYXN0IjoiOmZpcnN0IikpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5l
bGVtZW50LmhlaWdodCgpPHRoaXMuZWxlbWVudFthLmZuLnByb3A/InByb3AiOiJhdHRyIl0oInNj
cm9sbEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24oYyl7dGhpcy5fdHJpZ2dlcigic2VsZWN0ZWQi
LGMse2l0ZW06dGhpcy5hY3RpdmV9KX19KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7dmFyIGMs
ZCxlLGgsZz1mdW5jdGlvbigpe3ZhciBiPWEodGhpcykuZmluZCgiOnVpLWJ1dHRvbiIpO3NldFRp
bWVvdXQoZnVuY3Rpb24oKXtiLmJ1dHRvbigicmVmcmVzaCIpfSwxKX0saT1mdW5jdGlvbihiKXt2
YXIgZj1iLm5hbWUsaj1iLmZvcm0sbD1hKFtdKTtpZihmKWw9aj9hKGopLmZpbmQoIltuYW1lPSci
K2YrIiddIik6YSgiW25hbWU9JyIrZisiJ10iLGIub3duZXJEb2N1bWVudCkuZmlsdGVyKGZ1bmN0
aW9uKCl7cmV0dXJuIXRoaXMuZm9ybX0pO3JldHVybiBsfTthLndpZGdldCgidWkuYnV0dG9uIix7
b3B0aW9uczp7ZGlzYWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFiZWw6bnVsbCxpY29uczp7cHJpbWFy
eTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5j
bG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0b24iKS5iaW5kKCJyZXNldC5idXR0b24i
LGcpO2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWQhPT0KLSJib29sZWFuIil0aGlzLm9w
dGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIpO3RoaXMuX2Rl
dGVybWluZUJ1dHRvblR5cGUoKTt0aGlzLmhhc1RpdGxlPSEhdGhpcy5idXR0b25FbGVtZW50LmF0
dHIoInRpdGxlIik7dmFyIGI9dGhpcyxmPXRoaXMub3B0aW9ucyxqPXRoaXMudHlwZT09PSJjaGVj
a2JveCJ8fHRoaXMudHlwZT09PSJyYWRpbyIsbD0idWktc3RhdGUtaG92ZXIiKyghaj8iIHVpLXN0
YXRlLWFjdGl2ZSI6IiIpO2lmKGYubGFiZWw9PT1udWxsKWYubGFiZWw9dGhpcy5idXR0b25FbGVt
ZW50Lmh0bWwoKTtpZih0aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpKWYuZGlzYWJsZWQ9dHJ1
ZTt0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3Rh
dGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRvbiIpLmJpbmQoIm1v
dXNlZW50ZXIuYnV0dG9uIixmdW5jdGlvbigpe2lmKCFmLmRpc2FibGVkKXthKHRoaXMpLmFkZENs
YXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwotdGhpcz09PWMmJmEodGhpcykuYWRkQ2xhc3MoInVpLXN0
YXRlLWFjdGl2ZSIpfX0pLmJpbmQoIm1vdXNlbGVhdmUuYnV0dG9uIixmdW5jdGlvbigpe2YuZGlz
YWJsZWR8fGEodGhpcykucmVtb3ZlQ2xhc3MobCl9KS5iaW5kKCJjbGljay5idXR0b24iLGZ1bmN0
aW9uKG8pe2lmKGYuZGlzYWJsZWQpe28ucHJldmVudERlZmF1bHQoKTtvLnN0b3BJbW1lZGlhdGVQ
cm9wYWdhdGlvbigpfX0pO3RoaXMuZWxlbWVudC5iaW5kKCJmb2N1cy5idXR0b24iLGZ1bmN0aW9u
KCl7Yi5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmluZCgiYmx1
ci5idXR0b24iLGZ1bmN0aW9uKCl7Yi5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0
ZS1mb2N1cyIpfSk7aWYoail7dGhpcy5lbGVtZW50LmJpbmQoImNoYW5nZS5idXR0b24iLGZ1bmN0
aW9uKCl7aHx8Yi5yZWZyZXNoKCl9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3du
LmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYoIWYuZGlzYWJsZWQpe2g9Ci1mYWxzZTtkPW8ucGFnZVg7
ZT1vLnBhZ2VZfX0pLmJpbmQoIm1vdXNldXAuYnV0dG9uIixmdW5jdGlvbihvKXtpZighZi5kaXNh
YmxlZClpZihkIT09by5wYWdlWHx8ZSE9PW8ucGFnZVkpaD10cnVlfSl9aWYodGhpcy50eXBlPT09
ImNoZWNrYm94Iil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlv
bigpe2lmKGYuZGlzYWJsZWR8fGgpcmV0dXJuIGZhbHNlO2EodGhpcykudG9nZ2xlQ2xhc3MoInVp
LXN0YXRlLWFjdGl2ZSIpO2IuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLGIuZWxl
bWVudFswXS5jaGVja2VkKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09InJhZGlvIil0aGlzLmJ1dHRv
bkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGYuZGlzYWJsZWR8fGgp
cmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2IuYnV0dG9u
RWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7Ci12YXIgbz1iLmVsZW1lbnRbMF07
aShvKS5ub3QobykubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcykuYnV0dG9uKCJ3aWRnZXQi
KVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQi
LCJmYWxzZSIpfSk7ZWxzZXt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3duLmJ1dHRv
biIsZnVuY3Rpb24oKXtpZihmLmRpc2FibGVkKXJldHVybiBmYWxzZTthKHRoaXMpLmFkZENsYXNz
KCJ1aS1zdGF0ZS1hY3RpdmUiKTtjPXRoaXM7YShkb2N1bWVudCkub25lKCJtb3VzZXVwIixmdW5j
dGlvbigpe2M9bnVsbH0pfSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKCl7aWYoZi5k
aXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZl
Iil9KS5iaW5kKCJrZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYoZi5kaXNhYmxlZClyZXR1
cm4gZmFsc2U7aWYoby5rZXlDb2RlPT1hLnVpLmtleUNvZGUuU1BBQ0V8fAotby5rZXlDb2RlPT1h
LnVpLmtleUNvZGUuRU5URVIpYSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIil9KS5i
aW5kKCJrZXl1cC5idXR0b24iLGZ1bmN0aW9uKCl7YSh0aGlzKS5yZW1vdmVDbGFzcygidWktc3Rh
dGUtYWN0aXZlIil9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuaXMoImEiKSYmdGhpcy5idXR0b25FbGVt
ZW50LmtleXVwKGZ1bmN0aW9uKG8pe28ua2V5Q29kZT09PWEudWkua2V5Q29kZS5TUEFDRSYmYSh0
aGlzKS5jbGljaygpfSl9dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZi5kaXNhYmxlZCk7dGhp
cy5fcmVzZXRCdXR0b24oKX0sX2RldGVybWluZUJ1dHRvblR5cGU6ZnVuY3Rpb24oKXt0aGlzLnR5
cGU9dGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tib3giKT8iY2hlY2tib3giOnRoaXMuZWxlbWVudC5p
cygiOnJhZGlvIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/ImlucHV0IjoiYnV0
dG9uIjtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0KLSJyYWRpbyIpe3Zh
ciBiPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkuZmlsdGVyKCI6bGFzdCIpLGY9ImxhYmVsW2Zvcj0i
K3RoaXMuZWxlbWVudC5hdHRyKCJpZCIpKyJdIjt0aGlzLmJ1dHRvbkVsZW1lbnQ9Yi5maW5kKGYp
O2lmKCF0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RoKXtiPWIubGVuZ3RoP2Iuc2libGluZ3MoKTp0
aGlzLmVsZW1lbnQuc2libGluZ3MoKTt0aGlzLmJ1dHRvbkVsZW1lbnQ9Yi5maWx0ZXIoZik7aWYo
IXRoaXMuYnV0dG9uRWxlbWVudC5sZW5ndGgpdGhpcy5idXR0b25FbGVtZW50PWIuZmluZChmKX10
aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpOyhiPXRo
aXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKSkmJnRoaXMuYnV0dG9uRWxlbWVudC5hZGRDbGFzcygi
dWktc3RhdGUtYWN0aXZlIik7dGhpcy5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIs
Yil9ZWxzZSB0aGlzLmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVtZW50fSwKLXdpZGdldDpmdW5jdGlv
bigpe3JldHVybiB0aGlzLmJ1dHRvbkVsZW1lbnR9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVs
ZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpO3RoaXMuYnV0
dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZh
dWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtYWN0aXZlICB1aS1idXR0
b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10ZXh0LWljb25zIHVp
LWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSB1
aS1idXR0b24tdGV4dC1vbmx5IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEt
cHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24tdGV4dCIp
Lmh0bWwoKSk7dGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoInRp
dGxlIik7Ci1hLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0aW9u
OmZ1bmN0aW9uKGIsZil7YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxh
cmd1bWVudHMpO2lmKGI9PT0iZGlzYWJsZWQiKWY/dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNh
YmxlZCIsdHJ1ZSk6dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIsZmFsc2UpO2Vsc2Ug
dGhpcy5fcmVzZXRCdXR0b24oKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZWxlbWVu
dC5pcygiOmRpc2FibGVkIik7YiE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0
aW9uKCJkaXNhYmxlZCIsYik7aWYodGhpcy50eXBlPT09InJhZGlvIilpKHRoaXMuZWxlbWVudFsw
XSkuZWFjaChmdW5jdGlvbigpe2EodGhpcykuaXMoIjpjaGVja2VkIik/YSh0aGlzKS5idXR0b24o
IndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQi
LAotInRydWUiKTphKHRoaXMpLmJ1dHRvbigid2lkZ2V0IikucmVtb3ZlQ2xhc3MoInVpLXN0YXRl
LWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9KTtlbHNlIGlmKHRoaXMudHlw
ZT09PSJjaGVja2JveCIpdGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tlZCIpP3RoaXMuYnV0dG9uRWxl
bWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwidHJ1
ZSIpOnRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0
cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0sX3Jlc2V0QnV0dG9uOmZ1bmN0aW9uKCl7aWYodGhp
cy50eXBlPT09ImlucHV0Iil0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52YWwodGhp
cy5vcHRpb25zLmxhYmVsKTtlbHNle3ZhciBiPXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFz
cygidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0b24tdGV4
dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1z
ZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIpLAotZj1hKCI8c3Bhbj48L3NwYW4+IikuYWRk
Q2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpLmFwcGVuZFRv
KGIuZW1wdHkoKSkudGV4dCgpLGo9dGhpcy5vcHRpb25zLmljb25zLGw9ai5wcmltYXJ5JiZqLnNl
Y29uZGFyeSxvPVtdO2lmKGoucHJpbWFyeXx8ai5zZWNvbmRhcnkpe2lmKHRoaXMub3B0aW9ucy50
ZXh0KW8ucHVzaCgidWktYnV0dG9uLXRleHQtaWNvbiIrKGw/InMiOmoucHJpbWFyeT8iLXByaW1h
cnkiOiItc2Vjb25kYXJ5IikpO2oucHJpbWFyeSYmYi5wcmVwZW5kKCI8c3BhbiBjbGFzcz0ndWkt
YnV0dG9uLWljb24tcHJpbWFyeSB1aS1pY29uICIrai5wcmltYXJ5KyInPjwvc3Bhbj4iKTtqLnNl
Y29uZGFyeSYmYi5hcHBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNvbi1zZWNvbmRhcnkg
dWktaWNvbiAiK2ouc2Vjb25kYXJ5KyInPjwvc3Bhbj4iKTtpZighdGhpcy5vcHRpb25zLnRleHQp
e28ucHVzaChsPyJ1aS1idXR0b24taWNvbnMtb25seSI6Ci0idWktYnV0dG9uLWljb24tb25seSIp
O3RoaXMuaGFzVGl0bGV8fGIuYXR0cigidGl0bGUiLGYpfX1lbHNlIG8ucHVzaCgidWktYnV0dG9u
LXRleHQtb25seSIpO2IuYWRkQ2xhc3Moby5qb2luKCIgIikpfX19KTthLndpZGdldCgidWkuYnV0
dG9uc2V0Iix7b3B0aW9uczp7aXRlbXM6IjpidXR0b24sIDpzdWJtaXQsIDpyZXNldCwgOmNoZWNr
Ym94LCA6cmFkaW8sIGEsIDpkYXRhKGJ1dHRvbikifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b25zZXQiKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLnJl
ZnJlc2goKX0sX3NldE9wdGlvbjpmdW5jdGlvbihiLGYpe2I9PT0iZGlzYWJsZWQiJiZ0aGlzLmJ1
dHRvbnMuYnV0dG9uKCJvcHRpb24iLGIsZik7YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24u
YXBwbHkodGhpcyxhcmd1bWVudHMpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVt
ZW50LmNzcygiZGlyZWN0aW9uIik9PT0KLSJsdHIiO3RoaXMuYnV0dG9ucz10aGlzLmVsZW1lbnQu
ZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpbHRlcigiOnVpLWJ1dHRvbiIpLmJ1dHRvbigicmVm
cmVzaCIpLmVuZCgpLm5vdCgiOnVpLWJ1dHRvbiIpLmJ1dHRvbigpLmVuZCgpLm1hcChmdW5jdGlv
bigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWkt
Y29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5maWx0ZXIoIjpmaXJz
dCIpLmFkZENsYXNzKGI/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJpZ2h0IikuZW5kKCku
ZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKGI/InVpLWNvcm5lci1yaWdodCI6InVpLWNvcm5lci1s
ZWZ0IikuZW5kKCkuZW5kKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3MoInVpLWJ1dHRvbnNldCIpO3RoaXMuYnV0dG9ucy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4g
YSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1sZWZ0
IHVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmJ1dHRvbigiZGVzdHJveSIpOwotYS5XaWRnZXQucHJv
dG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSxjKXtm
dW5jdGlvbiBkKCl7dGhpcy5kZWJ1Zz1mYWxzZTt0aGlzLl9jdXJJbnN0PW51bGw7dGhpcy5fa2V5
RXZlbnQ9ZmFsc2U7dGhpcy5fZGlzYWJsZWRJbnB1dHM9W107dGhpcy5faW5EaWFsb2c9dGhpcy5f
ZGF0ZXBpY2tlclNob3dpbmc9ZmFsc2U7dGhpcy5fbWFpbkRpdklkPSJ1aS1kYXRlcGlja2VyLWRp
diI7dGhpcy5faW5saW5lQ2xhc3M9InVpLWRhdGVwaWNrZXItaW5saW5lIjt0aGlzLl9hcHBlbmRD
bGFzcz0idWktZGF0ZXBpY2tlci1hcHBlbmQiO3RoaXMuX3RyaWdnZXJDbGFzcz0idWktZGF0ZXBp
Y2tlci10cmlnZ2VyIjt0aGlzLl9kaWFsb2dDbGFzcz0idWktZGF0ZXBpY2tlci1kaWFsb2ciO3Ro
aXMuX2Rpc2FibGVDbGFzcz0idWktZGF0ZXBpY2tlci1kaXNhYmxlZCI7dGhpcy5fdW5zZWxlY3Rh
YmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIjt0aGlzLl9jdXJyZW50Q2xhc3M9
InVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiO3RoaXMuX2RheU92ZXJDbGFzcz0KLSJ1aS1kYXRl
cGlja2VyLWRheXMtY2VsbC1vdmVyIjt0aGlzLnJlZ2lvbmFsPVtdO3RoaXMucmVnaW9uYWxbIiJd
PXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVu
dFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJB
cHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIs
Ik5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIi
LCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxk
YXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2Rh
eSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIs
IldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLAotIk1vIiwiVHUiLCJX
ZSIsIlRoIiwiRnIiLCJTYSJdLHdlZWtIZWFkZXI6IldrIixkYXRlRm9ybWF0OiJtbS9kZC95eSIs
Zmlyc3REYXk6MCxpc1JUTDpmYWxzZSxzaG93TW9udGhBZnRlclllYXI6ZmFsc2UseWVhclN1ZmZp
eDoiIn07dGhpcy5fZGVmYXVsdHM9e3Nob3dPbjoiZm9jdXMiLHNob3dBbmltOiJmYWRlSW4iLHNo
b3dPcHRpb25zOnt9LGRlZmF1bHREYXRlOm51bGwsYXBwZW5kVGV4dDoiIixidXR0b25UZXh0OiIu
Li4iLGJ1dHRvbkltYWdlOiIiLGJ1dHRvbkltYWdlT25seTpmYWxzZSxoaWRlSWZOb1ByZXZOZXh0
OmZhbHNlLG5hdmlnYXRpb25Bc0RhdGVGb3JtYXQ6ZmFsc2UsZ290b0N1cnJlbnQ6ZmFsc2UsY2hh
bmdlTW9udGg6ZmFsc2UsY2hhbmdlWWVhcjpmYWxzZSx5ZWFyUmFuZ2U6ImMtMTA6YysxMCIsc2hv
d090aGVyTW9udGhzOmZhbHNlLHNlbGVjdE90aGVyTW9udGhzOmZhbHNlLHNob3dXZWVrOmZhbHNl
LGNhbGN1bGF0ZVdlZWs6dGhpcy5pc284NjAxV2VlayxzaG9ydFllYXJDdXRvZmY6IisxMCIsCi1t
aW5EYXRlOm51bGwsbWF4RGF0ZTpudWxsLGR1cmF0aW9uOiJmYXN0IixiZWZvcmVTaG93RGF5Om51
bGwsYmVmb3JlU2hvdzpudWxsLG9uU2VsZWN0Om51bGwsb25DaGFuZ2VNb250aFllYXI6bnVsbCxv
bkNsb3NlOm51bGwsbnVtYmVyT2ZNb250aHM6MSxzaG93Q3VycmVudEF0UG9zOjAsc3RlcE1vbnRo
czoxLHN0ZXBCaWdNb250aHM6MTIsYWx0RmllbGQ6IiIsYWx0Rm9ybWF0OiIiLGNvbnN0cmFpbklu
cHV0OnRydWUsc2hvd0J1dHRvblBhbmVsOmZhbHNlLGF1dG9TaXplOmZhbHNlLGRpc2FibGVkOmZh
bHNlfTthLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIiXSk7dGhpcy5kcERp
dj1lKGEoJzxkaXYgaWQ9IicrdGhpcy5fbWFpbkRpdklkKyciIGNsYXNzPSJ1aS1kYXRlcGlja2Vy
IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVy
LWFsbCI+PC9kaXY+JykpfWZ1bmN0aW9uIGUoYil7cmV0dXJuIGIuYmluZCgibW91c2VvdXQiLAot
ZnVuY3Rpb24oZil7Zj1hKGYudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51aS1kYXRlcGlja2Vy
LXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEi
KTtmLmxlbmd0aCYmZi5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIgdWktZGF0ZXBpY2tlci1w
cmV2LWhvdmVyIHVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuYmluZCgibW91c2VvdmVyIixm
dW5jdGlvbihmKXtmPWEoZi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXIt
cHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIp
O2lmKCEoYS5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihpLmlubGluZT9iLnBhcmVu
dCgpWzBdOmkuaW5wdXRbMF0pfHwhZi5sZW5ndGgpKXtmLnBhcmVudHMoIi51aS1kYXRlcGlja2Vy
LWNhbGVuZGFyIikuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwotZi5h
ZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKTtmLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYi
KSYmZi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIik7Zi5oYXNDbGFzcygidWkt
ZGF0ZXBpY2tlci1uZXh0IikmJmYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIp
fX0pfWZ1bmN0aW9uIGgoYixmKXthLmV4dGVuZChiLGYpO2Zvcih2YXIgaiBpbiBmKWlmKGZbal09
PW51bGx8fGZbal09PWMpYltqXT1mW2pdO3JldHVybiBifWEuZXh0ZW5kKGEudWkse2RhdGVwaWNr
ZXI6e3ZlcnNpb246IjEuOC4xNSJ9fSk7dmFyIGc9KG5ldyBEYXRlKS5nZXRUaW1lKCksaTthLmV4
dGVuZChkLnByb3RvdHlwZSx7bWFya2VyQ2xhc3NOYW1lOiJoYXNEYXRlcGlja2VyIixtYXhSb3dz
OjQsbG9nOmZ1bmN0aW9uKCl7dGhpcy5kZWJ1ZyYmY29uc29sZS5sb2cuYXBwbHkoIiIsYXJndW1l
bnRzKX0sX3dpZGdldERhdGVwaWNrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kcERpdn0sCi1z
ZXREZWZhdWx0czpmdW5jdGlvbihiKXtoKHRoaXMuX2RlZmF1bHRzLGJ8fHt9KTtyZXR1cm4gdGhp
c30sX2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXt2YXIgaj1udWxsO2Zvcih2YXIgbCBp
biB0aGlzLl9kZWZhdWx0cyl7dmFyIG89Yi5nZXRBdHRyaWJ1dGUoImRhdGU6IitsKTtpZihvKXtq
PWp8fHt9O3RyeXtqW2xdPWV2YWwobyl9Y2F0Y2gobil7altsXT1vfX19bD1iLm5vZGVOYW1lLnRv
TG93ZXJDYXNlKCk7bz1sPT0iZGl2Inx8bD09InNwYW4iO2lmKCFiLmlkKXt0aGlzLnV1aWQrPTE7
Yi5pZD0iZHAiK3RoaXMudXVpZH12YXIgaz10aGlzLl9uZXdJbnN0KGEoYiksbyk7ay5zZXR0aW5n
cz1hLmV4dGVuZCh7fSxmfHx7fSxqfHx7fSk7aWYobD09ImlucHV0Iil0aGlzLl9jb25uZWN0RGF0
ZXBpY2tlcihiLGspO2Vsc2UgbyYmdGhpcy5faW5saW5lRGF0ZXBpY2tlcihiLGspfSxfbmV3SW5z
dDpmdW5jdGlvbihiLGYpe3JldHVybntpZDpiWzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV8t
XSkvZywKLSJcXFxcJDEiKSxpbnB1dDpiLHNlbGVjdGVkRGF5OjAsc2VsZWN0ZWRNb250aDowLHNl
bGVjdGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmYsZHBEaXY6IWY/dGhp
cy5kcERpdjplKGEoJzxkaXYgY2xhc3M9IicrdGhpcy5faW5saW5lQ2xhc3MrJyB1aS1kYXRlcGlj
a2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29y
bmVyLWFsbCI+PC9kaXY+JykpfX0sX2Nvbm5lY3REYXRlcGlja2VyOmZ1bmN0aW9uKGIsZil7dmFy
IGo9YShiKTtmLmFwcGVuZD1hKFtdKTtmLnRyaWdnZXI9YShbXSk7aWYoIWouaGFzQ2xhc3ModGhp
cy5tYXJrZXJDbGFzc05hbWUpKXt0aGlzLl9hdHRhY2htZW50cyhqLGYpO2ouYWRkQ2xhc3ModGhp
cy5tYXJrZXJDbGFzc05hbWUpLmtleWRvd24odGhpcy5fZG9LZXlEb3duKS5rZXlwcmVzcyh0aGlz
Ll9kb0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKS5iaW5kKCJzZXREYXRhLmRhdGVwaWNr
ZXIiLAotZnVuY3Rpb24obCxvLG4pe2Yuc2V0dGluZ3Nbb109bn0pLmJpbmQoImdldERhdGEuZGF0
ZXBpY2tlciIsZnVuY3Rpb24obCxvKXtyZXR1cm4gdGhpcy5fZ2V0KGYsbyl9KTt0aGlzLl9hdXRv
U2l6ZShmKTthLmRhdGEoYiwiZGF0ZXBpY2tlciIsZik7Zi5zZXR0aW5ncy5kaXNhYmxlZCYmdGhp
cy5fZGlzYWJsZURhdGVwaWNrZXIoYil9fSxfYXR0YWNobWVudHM6ZnVuY3Rpb24oYixmKXt2YXIg
aj10aGlzLl9nZXQoZiwiYXBwZW5kVGV4dCIpLGw9dGhpcy5fZ2V0KGYsImlzUlRMIik7Zi5hcHBl
bmQmJmYuYXBwZW5kLnJlbW92ZSgpO2lmKGope2YuYXBwZW5kPWEoJzxzcGFuIGNsYXNzPSInK3Ro
aXMuX2FwcGVuZENsYXNzKyciPicraisiPC9zcGFuPiIpO2JbbD8iYmVmb3JlIjoiYWZ0ZXIiXShm
LmFwcGVuZCl9Yi51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlcik7Zi50cmlnZ2Vy
JiZmLnRyaWdnZXIucmVtb3ZlKCk7aj10aGlzLl9nZXQoZiwic2hvd09uIik7aWYoaj09Ci0iZm9j
dXMifHxqPT0iYm90aCIpYi5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlcik7aWYoaj09ImJ1dHRv
biJ8fGo9PSJib3RoIil7aj10aGlzLl9nZXQoZiwiYnV0dG9uVGV4dCIpO3ZhciBvPXRoaXMuX2dl
dChmLCJidXR0b25JbWFnZSIpO2YudHJpZ2dlcj1hKHRoaXMuX2dldChmLCJidXR0b25JbWFnZU9u
bHkiKT9hKCI8aW1nLz4iKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3MpLmF0dHIoe3NyYzpv
LGFsdDpqLHRpdGxlOmp9KTphKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0b24+JykuYWRk
Q2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5odG1sKG89PSIiP2o6YSgiPGltZy8+IikuYXR0cih7
c3JjOm8sYWx0OmosdGl0bGU6an0pKSk7YltsPyJiZWZvcmUiOiJhZnRlciJdKGYudHJpZ2dlcik7
Zi50cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCl7YS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2lu
ZyYmYS5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWJbMF0/YS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBp
Y2tlcigpOgotYS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcihiWzBdKTtyZXR1cm4gZmFsc2V9
KX19LF9hdXRvU2l6ZTpmdW5jdGlvbihiKXtpZih0aGlzLl9nZXQoYiwiYXV0b1NpemUiKSYmIWIu
aW5saW5lKXt2YXIgZj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxqPXRoaXMuX2dldChiLCJkYXRlRm9y
bWF0Iik7aWYoai5tYXRjaCgvW0RNXS8pKXt2YXIgbD1mdW5jdGlvbihvKXtmb3IodmFyIG49MCxr
PTAsbT0wO208by5sZW5ndGg7bSsrKWlmKG9bbV0ubGVuZ3RoPm4pe249b1ttXS5sZW5ndGg7az1t
fXJldHVybiBrfTtmLnNldE1vbnRoKGwodGhpcy5fZ2V0KGIsai5tYXRjaCgvTU0vKT8ibW9udGhO
YW1lcyI6Im1vbnRoTmFtZXNTaG9ydCIpKSk7Zi5zZXREYXRlKGwodGhpcy5fZ2V0KGIsai5tYXRj
aCgvREQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLWYuZ2V0RGF5KCkpfWIuaW5w
dXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShiLGYpLmxlbmd0aCl9fSxfaW5saW5lRGF0
ZXBpY2tlcjpmdW5jdGlvbihiLAotZil7dmFyIGo9YShiKTtpZighai5oYXNDbGFzcyh0aGlzLm1h
cmtlckNsYXNzTmFtZSkpe2ouYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmFwcGVuZChm
LmRwRGl2KS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGwsbyxuKXtmLnNldHRp
bmdzW29dPW59KS5iaW5kKCJnZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGwsbyl7cmV0dXJu
IHRoaXMuX2dldChmLG8pfSk7YS5kYXRhKGIsImRhdGVwaWNrZXIiLGYpO3RoaXMuX3NldERhdGUo
Zix0aGlzLl9nZXREZWZhdWx0RGF0ZShmKSx0cnVlKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGYp
O3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShmKTtmLnNldHRpbmdzLmRpc2FibGVkJiZ0aGlzLl9kaXNh
YmxlRGF0ZXBpY2tlcihiKTtmLmRwRGl2LmNzcygiZGlzcGxheSIsImJsb2NrIil9fSxfZGlhbG9n
RGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYsaixsLG8pe2I9dGhpcy5fZGlhbG9nSW5zdDtpZighYil7
dGhpcy51dWlkKz0KLTE7dGhpcy5fZGlhbG9nSW5wdXQ9YSgnPGlucHV0IHR5cGU9InRleHQiIGlk
PSInKygiZHAiK3RoaXMudXVpZCkrJyIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAt
MTAwcHg7IHdpZHRoOiAwcHg7IHotaW5kZXg6IC0xMDsiLz4nKTt0aGlzLl9kaWFsb2dJbnB1dC5r
ZXlkb3duKHRoaXMuX2RvS2V5RG93bik7YSgiYm9keSIpLmFwcGVuZCh0aGlzLl9kaWFsb2dJbnB1
dCk7Yj10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlhbG9nSW5wdXQsZmFs
c2UpO2Iuc2V0dGluZ3M9e307YS5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2Vy
IixiKX1oKGIuc2V0dGluZ3MsbHx8e30pO2Y9ZiYmZi5jb25zdHJ1Y3Rvcj09RGF0ZT90aGlzLl9m
b3JtYXREYXRlKGIsZik6Zjt0aGlzLl9kaWFsb2dJbnB1dC52YWwoZik7dGhpcy5fcG9zPW8/by5s
ZW5ndGg/bzpbby5wYWdlWCxvLnBhZ2VZXTpudWxsO2lmKCF0aGlzLl9wb3MpdGhpcy5fcG9zPVtk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvCi0yLTEwMCsoZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCksZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yLTE1MCsoZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApXTt0aGlzLl9kaWFsb2dJ
bnB1dC5jc3MoImxlZnQiLHRoaXMuX3Bvc1swXSsyMCsicHgiKS5jc3MoInRvcCIsdGhpcy5fcG9z
WzFdKyJweCIpO2Iuc2V0dGluZ3Mub25TZWxlY3Q9ajt0aGlzLl9pbkRpYWxvZz10cnVlO3RoaXMu
ZHBEaXYuYWRkQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpO3RoaXMuX3Nob3dEYXRlcGlja2VyKHRo
aXMuX2RpYWxvZ0lucHV0WzBdKTthLmJsb2NrVUkmJmEuYmxvY2tVSSh0aGlzLmRwRGl2KTthLmRh
dGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGIpO3JldHVybiB0aGlzfSxfZGVz
dHJveURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9Ci1hKGIpLGo9YS5kYXRhKGIsImRhdGVw
aWNrZXIiKTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGw9Yi5ub2Rl
TmFtZS50b0xvd2VyQ2FzZSgpO2EucmVtb3ZlRGF0YShiLCJkYXRlcGlja2VyIik7aWYobD09Imlu
cHV0Iil7ai5hcHBlbmQucmVtb3ZlKCk7ai50cmlnZ2VyLnJlbW92ZSgpO2YucmVtb3ZlQ2xhc3Mo
dGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2Vy
KS51bmJpbmQoImtleWRvd24iLHRoaXMuX2RvS2V5RG93bikudW5iaW5kKCJrZXlwcmVzcyIsdGhp
cy5fZG9LZXlQcmVzcykudW5iaW5kKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCl9ZWxzZSBpZihsPT0i
ZGl2Inx8bD09InNwYW4iKWYucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmVtcHR5
KCl9fSxfZW5hYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihiKXt2YXIgZj1hKGIpLGo9YS5kYXRhKGIs
ImRhdGVwaWNrZXIiKTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGw9
Ci1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYobD09ImlucHV0Iil7Yi5kaXNhYmxlZD1mYWxz
ZTtqLnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxl
ZD1mYWxzZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIxLjAiLGN1cnNvcjoi
In0pfWVsc2UgaWYobD09ImRpdiJ8fGw9PSJzcGFuIil7Zj1mLmNoaWxkcmVuKCIuIit0aGlzLl9p
bmxpbmVDbGFzcyk7Zi5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIp
O2YuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2Vy
LXllYXIiKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWEubWFw
KHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKG8pe3JldHVybiBvPT1iP251bGw6b30pfX0s
X2Rpc2FibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPWEoYiksaj1hLmRhdGEoYiwKLSJk
YXRlcGlja2VyIik7aWYoZi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBsPWIu
bm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihsPT0iaW5wdXQiKXtiLmRpc2FibGVkPXRydWU7ai50
cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9dHJ1
ZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIwLjUiLGN1cnNvcjoiZGVmYXVs
dCJ9KX1lbHNlIGlmKGw9PSJkaXYifHxsPT0ic3BhbiIpe2Y9Zi5jaGlsZHJlbigiLiIrdGhpcy5f
aW5saW5lQ2xhc3MpO2YuY2hpbGRyZW4oKS5hZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtm
LmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWktZGF0ZXBpY2tlci15
ZWFyIikuYXR0cigiZGlzYWJsZWQiLCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWEu
bWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKG8pe3JldHVybiBvPT0KLWI/bnVsbDpv
fSk7dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT1ifX0s
X2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGIpe2lmKCFiKXJldHVybiBmYWxzZTtmb3Io
dmFyIGY9MDtmPHRoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aDtmKyspaWYodGhpcy5fZGlzYWJs
ZWRJbnB1dHNbZl09PWIpcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlfSxfZ2V0SW5zdDpmdW5jdGlv
bihiKXt0cnl7cmV0dXJuIGEuZGF0YShiLCJkYXRlcGlja2VyIil9Y2F0Y2goZil7dGhyb3ciTWlz
c2luZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiO319LF9vcHRpb25EYXRlcGlj
a2VyOmZ1bmN0aW9uKGIsZixqKXt2YXIgbD10aGlzLl9nZXRJbnN0KGIpO2lmKGFyZ3VtZW50cy5s
ZW5ndGg9PTImJnR5cGVvZiBmPT0ic3RyaW5nIilyZXR1cm4gZj09ImRlZmF1bHRzIj9hLmV4dGVu
ZCh7fSxhLmRhdGVwaWNrZXIuX2RlZmF1bHRzKTpsP2Y9PSJhbGwiPwotYS5leHRlbmQoe30sbC5z
ZXR0aW5ncyk6dGhpcy5fZ2V0KGwsZik6bnVsbDt2YXIgbz1mfHx7fTtpZih0eXBlb2YgZj09InN0
cmluZyIpe289e307b1tmXT1qfWlmKGwpe3RoaXMuX2N1ckluc3Q9PWwmJnRoaXMuX2hpZGVEYXRl
cGlja2VyKCk7dmFyIG49dGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIoYix0cnVlKSxrPXRoaXMuX2dl
dE1pbk1heERhdGUobCwibWluIiksbT10aGlzLl9nZXRNaW5NYXhEYXRlKGwsIm1heCIpO2gobC5z
ZXR0aW5ncyxvKTtpZihrIT09bnVsbCYmby5kYXRlRm9ybWF0IT09YyYmby5taW5EYXRlPT09Yyls
LnNldHRpbmdzLm1pbkRhdGU9dGhpcy5fZm9ybWF0RGF0ZShsLGspO2lmKG0hPT1udWxsJiZvLmRh
dGVGb3JtYXQhPT1jJiZvLm1heERhdGU9PT1jKWwuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3Jt
YXREYXRlKGwsbSk7dGhpcy5fYXR0YWNobWVudHMoYShiKSxsKTt0aGlzLl9hdXRvU2l6ZShsKTt0
aGlzLl9zZXREYXRlKGwsbik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGwpOwotdGhpcy5fdXBkYXRl
RGF0ZXBpY2tlcihsKX19LF9jaGFuZ2VEYXRlcGlja2VyOmZ1bmN0aW9uKGIsZixqKXt0aGlzLl9v
cHRpb25EYXRlcGlja2VyKGIsZixqKX0sX3JlZnJlc2hEYXRlcGlja2VyOmZ1bmN0aW9uKGIpeyhi
PXRoaXMuX2dldEluc3QoYikpJiZ0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpfSxfc2V0RGF0ZURh
dGVwaWNrZXI6ZnVuY3Rpb24oYixmKXtpZihiPXRoaXMuX2dldEluc3QoYikpe3RoaXMuX3NldERh
dGUoYixmKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShi
KX19LF9nZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYpeyhiPXRoaXMuX2dldEluc3QoYikp
JiYhYi5pbmxpbmUmJnRoaXMuX3NldERhdGVGcm9tRmllbGQoYixmKTtyZXR1cm4gYj90aGlzLl9n
ZXREYXRlKGIpOm51bGx9LF9kb0tleURvd246ZnVuY3Rpb24oYil7dmFyIGY9YS5kYXRlcGlja2Vy
Ll9nZXRJbnN0KGIudGFyZ2V0KSxqPXRydWUsbD1mLmRwRGl2LmlzKCIudWktZGF0ZXBpY2tlci1y
dGwiKTsKLWYuX2tleUV2ZW50PXRydWU7aWYoYS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2lu
Zylzd2l0Y2goYi5rZXlDb2RlKXtjYXNlIDk6YS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigp
O2o9ZmFsc2U7YnJlYWs7Y2FzZSAxMzpqPWEoInRkLiIrYS5kYXRlcGlja2VyLl9kYXlPdmVyQ2xh
c3MrIjpub3QoLiIrYS5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGYuZHBEaXYpO2pbMF0m
JmEuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGIudGFyZ2V0LGYuc2VsZWN0ZWRNb250aCxmLnNlbGVj
dGVkWWVhcixqWzBdKTtpZihiPWEuZGF0ZXBpY2tlci5fZ2V0KGYsIm9uU2VsZWN0Iikpe2o9YS5k
YXRlcGlja2VyLl9mb3JtYXREYXRlKGYpO2IuYXBwbHkoZi5pbnB1dD9mLmlucHV0WzBdOm51bGws
W2osZl0pfWVsc2UgYS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO3JldHVybiBmYWxzZTtj
YXNlIDI3OmEuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTticmVhaztjYXNlIDMzOmEuZGF0
ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCwKLWIuY3RybEtleT8tYS5kYXRlcGlja2VyLl9n
ZXQoZiwic3RlcEJpZ01vbnRocyIpOi1hLmRhdGVwaWNrZXIuX2dldChmLCJzdGVwTW9udGhzIiks
Ik0iKTticmVhaztjYXNlIDM0OmEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCxiLmN0
cmxLZXk/K2EuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBCaWdNb250aHMiKTorYS5kYXRlcGlja2Vy
Ll9nZXQoZiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihiLmN0cmxLZXl8fGIu
bWV0YUtleSlhLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShiLnRhcmdldCk7aj1iLmN0cmxLZXl8fGIu
bWV0YUtleTticmVhaztjYXNlIDM2OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBpY2tl
ci5fZ290b1RvZGF5KGIudGFyZ2V0KTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2JyZWFrO2Nhc2Ug
Mzc6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFy
Z2V0LGw/KzE6LTEsIkQiKTtqPQotYi5jdHJsS2V5fHxiLm1ldGFLZXk7aWYoYi5vcmlnaW5hbEV2
ZW50LmFsdEtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsYi5jdHJsS2V5Py1h
LmRhdGVwaWNrZXIuX2dldChmLCJzdGVwQmlnTW9udGhzIik6LWEuZGF0ZXBpY2tlci5fZ2V0KGYs
InN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzg6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkp
YS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LC03LCJEIik7aj1iLmN0cmxLZXl8fGIu
bWV0YUtleTticmVhaztjYXNlIDM5OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBpY2tl
ci5fYWRqdXN0RGF0ZShiLnRhcmdldCxsPy0xOisxLCJEIik7aj1iLmN0cmxLZXl8fGIubWV0YUtl
eTtpZihiLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRh
cmdldCxiLmN0cmxLZXk/K2EuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBCaWdNb250aHMiKTorYS5k
YXRlcGlja2VyLl9nZXQoZiwKLSJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDQwOmlmKGIu
Y3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCwrNywi
RCIpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7YnJlYWs7ZGVmYXVsdDpqPWZhbHNlfWVsc2UgaWYo
Yi5rZXlDb2RlPT0zNiYmYi5jdHJsS2V5KWEuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIodGhp
cyk7ZWxzZSBqPWZhbHNlO2lmKGope2IucHJldmVudERlZmF1bHQoKTtiLnN0b3BQcm9wYWdhdGlv
bigpfX0sX2RvS2V5UHJlc3M6ZnVuY3Rpb24oYil7dmFyIGY9YS5kYXRlcGlja2VyLl9nZXRJbnN0
KGIudGFyZ2V0KTtpZihhLmRhdGVwaWNrZXIuX2dldChmLCJjb25zdHJhaW5JbnB1dCIpKXtmPWEu
ZGF0ZXBpY2tlci5fcG9zc2libGVDaGFycyhhLmRhdGVwaWNrZXIuX2dldChmLCJkYXRlRm9ybWF0
IikpO3ZhciBqPVN0cmluZy5mcm9tQ2hhckNvZGUoYi5jaGFyQ29kZT09Yz9iLmtleUNvZGU6Yi5j
aGFyQ29kZSk7Ci1yZXR1cm4gYi5jdHJsS2V5fHxiLm1ldGFLZXl8fGo8IiAifHwhZnx8Zi5pbmRl
eE9mKGopPi0xfX0sX2RvS2V5VXA6ZnVuY3Rpb24oYil7Yj1hLmRhdGVwaWNrZXIuX2dldEluc3Qo
Yi50YXJnZXQpO2lmKGIuaW5wdXQudmFsKCkhPWIubGFzdFZhbCl0cnl7aWYoYS5kYXRlcGlja2Vy
LnBhcnNlRGF0ZShhLmRhdGVwaWNrZXIuX2dldChiLCJkYXRlRm9ybWF0IiksYi5pbnB1dD9iLmlu
cHV0LnZhbCgpOm51bGwsYS5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYikpKXthLmRhdGVw
aWNrZXIuX3NldERhdGVGcm9tRmllbGQoYik7YS5kYXRlcGlja2VyLl91cGRhdGVBbHRlcm5hdGUo
Yik7YS5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGIpfX1jYXRjaChmKXthLmRhdGVwaWNr
ZXIubG9nKGYpfXJldHVybiB0cnVlfSxfc2hvd0RhdGVwaWNrZXI6ZnVuY3Rpb24oYil7Yj1iLnRh
cmdldHx8YjtpZihiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPSJpbnB1dCIpYj1hKCJpbnB1dCIs
Ci1iLnBhcmVudE5vZGUpWzBdO2lmKCEoYS5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tl
cihiKXx8YS5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWIpKXt2YXIgZj1hLmRhdGVwaWNrZXIuX2dl
dEluc3QoYik7aWYoYS5kYXRlcGlja2VyLl9jdXJJbnN0JiZhLmRhdGVwaWNrZXIuX2N1ckluc3Qh
PWYpe2EuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmEuZGF0ZXBpY2tlci5fdHJpZ2dl
ck9uQ2xvc2UoYS5kYXRlcGlja2VyLl9jdXJJbnN0KTthLmRhdGVwaWNrZXIuX2N1ckluc3QuZHBE
aXYuc3RvcCh0cnVlLHRydWUpfXZhciBqPWEuZGF0ZXBpY2tlci5fZ2V0KGYsImJlZm9yZVNob3ci
KTtoKGYuc2V0dGluZ3Msaj9qLmFwcGx5KGIsW2IsZl0pOnt9KTtmLmxhc3RWYWw9bnVsbDthLmRh
dGVwaWNrZXIuX2xhc3RJbnB1dD1iO2EuZGF0ZXBpY2tlci5fc2V0RGF0ZUZyb21GaWVsZChmKTtp
ZihhLmRhdGVwaWNrZXIuX2luRGlhbG9nKWIudmFsdWU9IiI7aWYoIWEuZGF0ZXBpY2tlci5fcG9z
KXthLmRhdGVwaWNrZXIuX3Bvcz0KLWEuZGF0ZXBpY2tlci5fZmluZFBvcyhiKTthLmRhdGVwaWNr
ZXIuX3Bvc1sxXSs9Yi5vZmZzZXRIZWlnaHR9dmFyIGw9ZmFsc2U7YShiKS5wYXJlbnRzKCkuZWFj
aChmdW5jdGlvbigpe2x8PWEodGhpcykuY3NzKCJwb3NpdGlvbiIpPT0iZml4ZWQiO3JldHVybiFs
fSk7aWYobCYmYS5icm93c2VyLm9wZXJhKXthLmRhdGVwaWNrZXIuX3Bvc1swXS09ZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7YS5kYXRlcGlja2VyLl9wb3NbMV0tPWRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9aj17bGVmdDphLmRhdGVwaWNrZXIuX3Bvc1swXSx0
b3A6YS5kYXRlcGlja2VyLl9wb3NbMV19O2EuZGF0ZXBpY2tlci5fcG9zPW51bGw7Zi5kcERpdi5l
bXB0eSgpO2YuZHBEaXYuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6ImJsb2NrIix0
b3A6Ii0xMDAwcHgifSk7YS5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGYpO2o9YS5kYXRl
cGlja2VyLl9jaGVja09mZnNldChmLAotaixsKTtmLmRwRGl2LmNzcyh7cG9zaXRpb246YS5kYXRl
cGlja2VyLl9pbkRpYWxvZyYmYS5ibG9ja1VJPyJzdGF0aWMiOmw/ImZpeGVkIjoiYWJzb2x1dGUi
LGRpc3BsYXk6Im5vbmUiLGxlZnQ6ai5sZWZ0KyJweCIsdG9wOmoudG9wKyJweCJ9KTtpZighZi5p
bmxpbmUpe2o9YS5kYXRlcGlja2VyLl9nZXQoZiwic2hvd0FuaW0iKTt2YXIgbz1hLmRhdGVwaWNr
ZXIuX2dldChmLCJkdXJhdGlvbiIpLG49ZnVuY3Rpb24oKXt2YXIgaz1mLmRwRGl2LmZpbmQoImlm
cmFtZS51aS1kYXRlcGlja2VyLWNvdmVyIik7aWYoay5sZW5ndGgpe3ZhciBtPWEuZGF0ZXBpY2tl
ci5fZ2V0Qm9yZGVycyhmLmRwRGl2KTtrLmNzcyh7bGVmdDotbVswXSx0b3A6LW1bMV0sd2lkdGg6
Zi5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmYuZHBEaXYub3V0ZXJIZWlnaHQoKX0pfX07Zi5k
cERpdi56SW5kZXgoYShiKS56SW5kZXgoKSsxKTthLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93
aW5nPXRydWU7YS5lZmZlY3RzJiYKLWEuZWZmZWN0c1tqXT9mLmRwRGl2LnNob3coaixhLmRhdGVw
aWNrZXIuX2dldChmLCJzaG93T3B0aW9ucyIpLG8sbik6Zi5kcERpdltqfHwic2hvdyJdKGo/bzpu
dWxsLG4pO2lmKCFqfHwhbyluKCk7Zi5pbnB1dC5pcygiOnZpc2libGUiKSYmIWYuaW5wdXQuaXMo
IjpkaXNhYmxlZCIpJiZmLmlucHV0LmZvY3VzKCk7YS5kYXRlcGlja2VyLl9jdXJJbnN0PWZ9fX0s
X3VwZGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dGhpcy5tYXhSb3dzPTQ7dmFyIGY9YS5kYXRl
cGlja2VyLl9nZXRCb3JkZXJzKGIuZHBEaXYpO2k9YjtiLmRwRGl2LmVtcHR5KCkuYXBwZW5kKHRo
aXMuX2dlbmVyYXRlSFRNTChiKSk7dmFyIGo9Yi5kcERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBp
Y2tlci1jb3ZlciIpO2oubGVuZ3RoJiZqLmNzcyh7bGVmdDotZlswXSx0b3A6LWZbMV0sd2lkdGg6
Yi5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmIuZHBEaXYub3V0ZXJIZWlnaHQoKX0pO2IuZHBE
aXYuZmluZCgiLiIrCi10aGlzLl9kYXlPdmVyQ2xhc3MrIiBhIikubW91c2VvdmVyKCk7Zj10aGlz
Ll9nZXROdW1iZXJPZk1vbnRocyhiKTtqPWZbMV07Yi5kcERpdi5yZW1vdmVDbGFzcygidWktZGF0
ZXBpY2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRlcGlja2VyLW11bHRp
LTQiKS53aWR0aCgiIik7aj4xJiZiLmRwRGl2LmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRp
LSIraikuY3NzKCJ3aWR0aCIsMTcqaisiZW0iKTtiLmRwRGl2WyhmWzBdIT0xfHxmWzFdIT0xPyJh
ZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIpO2IuZHBEaXZbKHRo
aXMuX2dldChiLCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tl
ci1ydGwiKTtiPT1hLmRhdGVwaWNrZXIuX2N1ckluc3QmJmEuZGF0ZXBpY2tlci5fZGF0ZXBpY2tl
clNob3dpbmcmJmIuaW5wdXQmJmIuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFiLmlucHV0LmlzKCI6
ZGlzYWJsZWQiKSYmCi1iLmlucHV0WzBdIT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZiLmlucHV0
LmZvY3VzKCk7aWYoYi55ZWFyc2h0bWwpe3ZhciBsPWIueWVhcnNodG1sO3NldFRpbWVvdXQoZnVu
Y3Rpb24oKXtsPT09Yi55ZWFyc2h0bWwmJmIueWVhcnNodG1sJiZiLmRwRGl2LmZpbmQoInNlbGVj
dC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiKS5yZXBsYWNlV2l0aChiLnllYXJzaHRtbCk7bD1i
LnllYXJzaHRtbD1udWxsfSwwKX19LF9nZXRCb3JkZXJzOmZ1bmN0aW9uKGIpe3ZhciBmPWZ1bmN0
aW9uKGope3JldHVybnt0aGluOjEsbWVkaXVtOjIsdGhpY2s6M31bal18fGp9O3JldHVybltwYXJz
ZUZsb2F0KGYoYi5jc3MoImJvcmRlci1sZWZ0LXdpZHRoIikpKSxwYXJzZUZsb2F0KGYoYi5jc3Mo
ImJvcmRlci10b3Atd2lkdGgiKSkpXX0sX2NoZWNrT2Zmc2V0OmZ1bmN0aW9uKGIsZixqKXt2YXIg
bD1iLmRwRGl2Lm91dGVyV2lkdGgoKSxvPWIuZHBEaXYub3V0ZXJIZWlnaHQoKSxuPWIuaW5wdXQ/
Yi5pbnB1dC5vdXRlcldpZHRoKCk6Ci0wLGs9Yi5pbnB1dD9iLmlucHV0Lm91dGVySGVpZ2h0KCk6
MCxtPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCthKGRvY3VtZW50KS5zY3Jv
bGxMZWZ0KCkscD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0K2EoZG9jdW1l
bnQpLnNjcm9sbFRvcCgpO2YubGVmdC09dGhpcy5fZ2V0KGIsImlzUlRMIik/bC1uOjA7Zi5sZWZ0
LT1qJiZmLmxlZnQ9PWIuaW5wdXQub2Zmc2V0KCkubGVmdD9hKGRvY3VtZW50KS5zY3JvbGxMZWZ0
KCk6MDtmLnRvcC09aiYmZi50b3A9PWIuaW5wdXQub2Zmc2V0KCkudG9wK2s/YShkb2N1bWVudCku
c2Nyb2xsVG9wKCk6MDtmLmxlZnQtPU1hdGgubWluKGYubGVmdCxmLmxlZnQrbD5tJiZtPmw/TWF0
aC5hYnMoZi5sZWZ0K2wtbSk6MCk7Zi50b3AtPU1hdGgubWluKGYudG9wLGYudG9wK28+cCYmcD5v
P01hdGguYWJzKG8rayk6MCk7cmV0dXJuIGZ9LF9maW5kUG9zOmZ1bmN0aW9uKGIpe2Zvcih2YXIg
Zj10aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChiKSwKLSJpc1JUTCIpO2ImJihiLnR5cGU9PSJoaWRk
ZW4ifHxiLm5vZGVUeXBlIT0xfHxhLmV4cHIuZmlsdGVycy5oaWRkZW4oYikpOyliPWJbZj8icHJl
dmlvdXNTaWJsaW5nIjoibmV4dFNpYmxpbmciXTtiPWEoYikub2Zmc2V0KCk7cmV0dXJuW2IubGVm
dCxiLnRvcF19LF90cmlnZ2VyT25DbG9zZTpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9nZXQoYiwi
b25DbG9zZSIpO2lmKGYpZi5hcHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVsbCxbYi5pbnB1dD9i
LmlucHV0LnZhbCgpOiIiLGJdKX0sX2hpZGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPXRo
aXMuX2N1ckluc3Q7aWYoISghZnx8YiYmZiE9YS5kYXRhKGIsImRhdGVwaWNrZXIiKSkpaWYodGhp
cy5fZGF0ZXBpY2tlclNob3dpbmcpe2I9dGhpcy5fZ2V0KGYsInNob3dBbmltIik7dmFyIGo9dGhp
cy5fZ2V0KGYsImR1cmF0aW9uIiksbD1mdW5jdGlvbigpe2EuZGF0ZXBpY2tlci5fdGlkeURpYWxv
ZyhmKTt0aGlzLl9jdXJJbnN0PQotbnVsbH07YS5lZmZlY3RzJiZhLmVmZmVjdHNbYl0/Zi5kcERp
di5oaWRlKGIsYS5kYXRlcGlja2VyLl9nZXQoZiwic2hvd09wdGlvbnMiKSxqLGwpOmYuZHBEaXZb
Yj09InNsaWRlRG93biI/InNsaWRlVXAiOmI9PSJmYWRlSW4iPyJmYWRlT3V0IjoiaGlkZSJdKGI/
ajpudWxsLGwpO2J8fGwoKTthLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3NlKGYpO3RoaXMuX2Rh
dGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX2xhc3RJbnB1dD1udWxsO2lmKHRoaXMuX2luRGlh
bG9nKXt0aGlzLl9kaWFsb2dJbnB1dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDoiMCIs
dG9wOiItMTAwcHgifSk7aWYoYS5ibG9ja1VJKXthLnVuYmxvY2tVSSgpO2EoImJvZHkiKS5hcHBl
bmQodGhpcy5kcERpdil9fXRoaXMuX2luRGlhbG9nPWZhbHNlfX0sX3RpZHlEaWFsb2c6ZnVuY3Rp
b24oYil7Yi5kcERpdi5yZW1vdmVDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcykudW5iaW5kKCIudWkt
ZGF0ZXBpY2tlci1jYWxlbmRhciIpfSwKLV9jaGVja0V4dGVybmFsQ2xpY2s6ZnVuY3Rpb24oYil7
aWYoYS5kYXRlcGlja2VyLl9jdXJJbnN0KXtiPWEoYi50YXJnZXQpO2JbMF0uaWQhPWEuZGF0ZXBp
Y2tlci5fbWFpbkRpdklkJiZiLnBhcmVudHMoIiMiK2EuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5s
ZW5ndGg9PTAmJiFiLmhhc0NsYXNzKGEuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiYhYi5o
YXNDbGFzcyhhLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykmJmEuZGF0ZXBpY2tlci5fZGF0ZXBp
Y2tlclNob3dpbmcmJiEoYS5kYXRlcGlja2VyLl9pbkRpYWxvZyYmYS5ibG9ja1VJKSYmYS5kYXRl
cGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oYixmLGope2I9
YShiKTt2YXIgbD10aGlzLl9nZXRJbnN0KGJbMF0pO2lmKCF0aGlzLl9pc0Rpc2FibGVkRGF0ZXBp
Y2tlcihiWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUobCxmKyhqPT0iTSI/dGhpcy5fZ2V0KGws
InNob3dDdXJyZW50QXRQb3MiKToKLTApLGopO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIobCl9fSxf
Z290b1RvZGF5OmZ1bmN0aW9uKGIpe2I9YShiKTt2YXIgZj10aGlzLl9nZXRJbnN0KGJbMF0pO2lm
KHRoaXMuX2dldChmLCJnb3RvQ3VycmVudCIpJiZmLmN1cnJlbnREYXkpe2Yuc2VsZWN0ZWREYXk9
Zi5jdXJyZW50RGF5O2YuZHJhd01vbnRoPWYuc2VsZWN0ZWRNb250aD1mLmN1cnJlbnRNb250aDtm
LmRyYXdZZWFyPWYuc2VsZWN0ZWRZZWFyPWYuY3VycmVudFllYXJ9ZWxzZXt2YXIgaj1uZXcgRGF0
ZTtmLnNlbGVjdGVkRGF5PWouZ2V0RGF0ZSgpO2YuZHJhd01vbnRoPWYuc2VsZWN0ZWRNb250aD1q
LmdldE1vbnRoKCk7Zi5kcmF3WWVhcj1mLnNlbGVjdGVkWWVhcj1qLmdldEZ1bGxZZWFyKCl9dGhp
cy5fbm90aWZ5Q2hhbmdlKGYpO3RoaXMuX2FkanVzdERhdGUoYil9LF9zZWxlY3RNb250aFllYXI6
ZnVuY3Rpb24oYixmLGope2I9YShiKTt2YXIgbD10aGlzLl9nZXRJbnN0KGJbMF0pO2xbInNlbGVj
dGVkIisoaj09Ik0iPwotIk1vbnRoIjoiWWVhciIpXT1sWyJkcmF3Iisoaj09Ik0iPyJNb250aCI6
IlllYXIiKV09cGFyc2VJbnQoZi5vcHRpb25zW2Yuc2VsZWN0ZWRJbmRleF0udmFsdWUsMTApO3Ro
aXMuX25vdGlmeUNoYW5nZShsKTt0aGlzLl9hZGp1c3REYXRlKGIpfSxfc2VsZWN0RGF5OmZ1bmN0
aW9uKGIsZixqLGwpe3ZhciBvPWEoYik7aWYoIShhKGwpLmhhc0NsYXNzKHRoaXMuX3Vuc2VsZWN0
YWJsZUNsYXNzKXx8dGhpcy5faXNEaXNhYmxlZERhdGVwaWNrZXIob1swXSkpKXtvPXRoaXMuX2dl
dEluc3Qob1swXSk7by5zZWxlY3RlZERheT1vLmN1cnJlbnREYXk9YSgiYSIsbCkuaHRtbCgpO28u
c2VsZWN0ZWRNb250aD1vLmN1cnJlbnRNb250aD1mO28uc2VsZWN0ZWRZZWFyPW8uY3VycmVudFll
YXI9ajt0aGlzLl9zZWxlY3REYXRlKGIsdGhpcy5fZm9ybWF0RGF0ZShvLG8uY3VycmVudERheSxv
LmN1cnJlbnRNb250aCxvLmN1cnJlbnRZZWFyKSl9fSxfY2xlYXJEYXRlOmZ1bmN0aW9uKGIpe2I9
YShiKTsKLXRoaXMuX2dldEluc3QoYlswXSk7dGhpcy5fc2VsZWN0RGF0ZShiLCIiKX0sX3NlbGVj
dERhdGU6ZnVuY3Rpb24oYixmKXtiPXRoaXMuX2dldEluc3QoYShiKVswXSk7Zj1mIT1udWxsP2Y6
dGhpcy5fZm9ybWF0RGF0ZShiKTtiLmlucHV0JiZiLmlucHV0LnZhbChmKTt0aGlzLl91cGRhdGVB
bHRlcm5hdGUoYik7dmFyIGo9dGhpcy5fZ2V0KGIsIm9uU2VsZWN0Iik7aWYoailqLmFwcGx5KGIu
aW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtmLGJdKTtlbHNlIGIuaW5wdXQmJmIuaW5wdXQudHJpZ2dl
cigiY2hhbmdlIik7aWYoYi5pbmxpbmUpdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihiKTtlbHNle3Ro
aXMuX2hpZGVEYXRlcGlja2VyKCk7dGhpcy5fbGFzdElucHV0PWIuaW5wdXRbMF07Yi5pbnB1dC5m
b2N1cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihi
KXt2YXIgZj10aGlzLl9nZXQoYiwiYWx0RmllbGQiKTtpZihmKXt2YXIgaj10aGlzLl9nZXQoYiwK
LSJhbHRGb3JtYXQiKXx8dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKSxsPXRoaXMuX2dldERhdGUo
Yiksbz10aGlzLmZvcm1hdERhdGUoaixsLHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSk7YShmKS5l
YWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS52YWwobyl9KX19LG5vV2Vla2VuZHM6ZnVuY3Rpb24oYil7
Yj1iLmdldERheSgpO3JldHVybltiPjAmJmI8NiwiIl19LGlzbzg2MDFXZWVrOmZ1bmN0aW9uKGIp
e2I9bmV3IERhdGUoYi5nZXRUaW1lKCkpO2Iuc2V0RGF0ZShiLmdldERhdGUoKSs0LShiLmdldERh
eSgpfHw3KSk7dmFyIGY9Yi5nZXRUaW1lKCk7Yi5zZXRNb250aCgwKTtiLnNldERhdGUoMSk7cmV0
dXJuIE1hdGguZmxvb3IoTWF0aC5yb3VuZCgoZi1iKS84NjRFNSkvNykrMX0scGFyc2VEYXRlOmZ1
bmN0aW9uKGIsZixqKXtpZihiPT1udWxsfHxmPT1udWxsKXRocm93IkludmFsaWQgYXJndW1lbnRz
IjtmPXR5cGVvZiBmPT0ib2JqZWN0Ij9mLnRvU3RyaW5nKCk6ZisiIjtpZihmPT0KLSIiKXJldHVy
biBudWxsO3ZhciBsPShqP2ouc2hvcnRZZWFyQ3V0b2ZmOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5z
aG9ydFllYXJDdXRvZmY7bD10eXBlb2YgbCE9InN0cmluZyI/bDoobmV3IERhdGUpLmdldEZ1bGxZ
ZWFyKCklMTAwK3BhcnNlSW50KGwsMTApO2Zvcih2YXIgbz0oaj9qLmRheU5hbWVzU2hvcnQ6bnVs
bCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsbj0oaj9qLmRheU5hbWVzOm51bGwpfHx0
aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxrPShqP2oubW9udGhOYW1lc1Nob3J0Om51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQsbT0oaj9qLm1vbnRoTmFtZXM6bnVsbCl8fHRoaXMu
X2RlZmF1bHRzLm1vbnRoTmFtZXMscD1qPS0xLHE9LTEscz0tMSxyPWZhbHNlLHU9ZnVuY3Rpb24o
eil7KHo9SCsxPGIubGVuZ3RoJiZiLmNoYXJBdChIKzEpPT16KSYmSCsrO3JldHVybiB6fSx2PWZ1
bmN0aW9uKHope3ZhciBJPXUoeik7ej1uZXcgUmVnRXhwKCJeXFxkezEsIisKLSh6PT0iQCI/MTQ6
ej09IiEiPzIwOno9PSJ5IiYmST80Ono9PSJvIj8zOjIpKyJ9Iik7ej1mLnN1YnN0cmluZyh5KS5t
YXRjaCh6KTtpZigheil0aHJvdyJNaXNzaW5nIG51bWJlciBhdCBwb3NpdGlvbiAiK3k7eSs9elsw
XS5sZW5ndGg7cmV0dXJuIHBhcnNlSW50KHpbMF0sMTApfSx3PWZ1bmN0aW9uKHosSSxOKXt6PWEu
bWFwKHUoeik/TjpJLGZ1bmN0aW9uKEQsRSl7cmV0dXJuW1tFLERdXX0pLnNvcnQoZnVuY3Rpb24o
RCxFKXtyZXR1cm4tKERbMV0ubGVuZ3RoLUVbMV0ubGVuZ3RoKX0pO3ZhciBKPS0xO2EuZWFjaCh6
LGZ1bmN0aW9uKEQsRSl7RD1FWzFdO2lmKGYuc3Vic3RyKHksRC5sZW5ndGgpLnRvTG93ZXJDYXNl
KCk9PUQudG9Mb3dlckNhc2UoKSl7Sj1FWzBdO3krPUQubGVuZ3RoO3JldHVybiBmYWxzZX19KTtp
ZihKIT0tMSlyZXR1cm4gSisxO2Vsc2UgdGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIr
eTt9LHg9ZnVuY3Rpb24oKXtpZihmLmNoYXJBdCh5KSE9Yi5jaGFyQXQoSCkpdGhyb3ciVW5leHBl
Y3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIrCi15O3krK30seT0wLEg9MDtIPGIubGVuZ3RoO0gr
KylpZihyKWlmKGIuY2hhckF0KEgpPT0iJyImJiF1KCInIikpcj1mYWxzZTtlbHNlIHgoKTtlbHNl
IHN3aXRjaChiLmNoYXJBdChIKSl7Y2FzZSAiZCI6cT12KCJkIik7YnJlYWs7Y2FzZSAiRCI6dygi
RCIsbyxuKTticmVhaztjYXNlICJvIjpzPXYoIm8iKTticmVhaztjYXNlICJtIjpwPXYoIm0iKTti
cmVhaztjYXNlICJNIjpwPXcoIk0iLGssbSk7YnJlYWs7Y2FzZSAieSI6aj12KCJ5Iik7YnJlYWs7
Y2FzZSAiQCI6dmFyIEM9bmV3IERhdGUodigiQCIpKTtqPUMuZ2V0RnVsbFllYXIoKTtwPUMuZ2V0
TW9udGgoKSsxO3E9Qy5nZXREYXRlKCk7YnJlYWs7Y2FzZSAiISI6Qz1uZXcgRGF0ZSgodigiISIp
LXRoaXMuX3RpY2tzVG8xOTcwKS8xRTQpO2o9Qy5nZXRGdWxsWWVhcigpO3A9Qy5nZXRNb250aCgp
KzE7cT1DLmdldERhdGUoKTticmVhaztjYXNlICInIjppZih1KCInIikpeCgpO2Vsc2Ugcj10cnVl
O2JyZWFrO2RlZmF1bHQ6eCgpfWlmKHk8Ci1mLmxlbmd0aCl0aHJvdyJFeHRyYS91bnBhcnNlZCBj
aGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIrZi5zdWJzdHJpbmcoeSk7aWYoaj09LTEpaj0obmV3
IERhdGUpLmdldEZ1bGxZZWFyKCk7ZWxzZSBpZihqPDEwMClqKz0obmV3IERhdGUpLmdldEZ1bGxZ
ZWFyKCktKG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCsoajw9bD8wOi0xMDApO2lmKHM+LTEp
e3A9MTtxPXM7ZG97bD10aGlzLl9nZXREYXlzSW5Nb250aChqLHAtMSk7aWYocTw9bClicmVhaztw
Kys7cS09bH13aGlsZSgxKX1DPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGos
cC0xLHEpKTtpZihDLmdldEZ1bGxZZWFyKCkhPWp8fEMuZ2V0TW9udGgoKSsxIT1wfHxDLmdldERh
dGUoKSE9cSl0aHJvdyJJbnZhbGlkIGRhdGUiO3JldHVybiBDfSxBVE9NOiJ5eS1tbS1kZCIsQ09P
S0lFOiJELCBkZCBNIHl5IixJU09fODYwMToieXktbW0tZGQiLFJGQ184MjI6IkQsIGQgTSB5IixS
RkNfODUwOiJERCwgZGQtTS15IiwKLVJGQ18xMDM2OiJELCBkIE0geSIsUkZDXzExMjM6IkQsIGQg
TSB5eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElDS1M6IiEiLFRJTUVT
VEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUrTWF0aC5mbG9vcig0
OTIuNSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQqNjAqNjAqMUU3LGZv
cm1hdERhdGU6ZnVuY3Rpb24oYixmLGope2lmKCFmKXJldHVybiIiO3ZhciBsPShqP2ouZGF5TmFt
ZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxvPShqP2ouZGF5TmFt
ZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLG49KGo/ai5tb250aE5hbWVzU2hvcnQ6
bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydDtqPShqP2oubW9udGhOYW1lczpu
dWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lczt2YXIgaz1mdW5jdGlvbih1KXsodT1yKzE8
Yi5sZW5ndGgmJgotYi5jaGFyQXQocisxKT09dSkmJnIrKztyZXR1cm4gdX0sbT1mdW5jdGlvbih1
LHYsdyl7dj0iIit2O2lmKGsodSkpZm9yKDt2Lmxlbmd0aDx3Oyl2PSIwIit2O3JldHVybiB2fSxw
PWZ1bmN0aW9uKHUsdix3LHgpe3JldHVybiBrKHUpP3hbdl06d1t2XX0scT0iIixzPWZhbHNlO2lm
KGYpZm9yKHZhciByPTA7cjxiLmxlbmd0aDtyKyspaWYocylpZihiLmNoYXJBdChyKT09IiciJiYh
aygiJyIpKXM9ZmFsc2U7ZWxzZSBxKz1iLmNoYXJBdChyKTtlbHNlIHN3aXRjaChiLmNoYXJBdChy
KSl7Y2FzZSAiZCI6cSs9bSgiZCIsZi5nZXREYXRlKCksMik7YnJlYWs7Y2FzZSAiRCI6cSs9cCgi
RCIsZi5nZXREYXkoKSxsLG8pO2JyZWFrO2Nhc2UgIm8iOnErPW0oIm8iLE1hdGgucm91bmQoKChu
ZXcgRGF0ZShmLmdldEZ1bGxZZWFyKCksZi5nZXRNb250aCgpLGYuZ2V0RGF0ZSgpKSkuZ2V0VGlt
ZSgpLShuZXcgRGF0ZShmLmdldEZ1bGxZZWFyKCksMCwwKSkuZ2V0VGltZSgpKS84NjRFNSksMyk7
Ci1icmVhaztjYXNlICJtIjpxKz1tKCJtIixmLmdldE1vbnRoKCkrMSwyKTticmVhaztjYXNlICJN
IjpxKz1wKCJNIixmLmdldE1vbnRoKCksbixqKTticmVhaztjYXNlICJ5IjpxKz1rKCJ5Iik/Zi5n
ZXRGdWxsWWVhcigpOihmLmdldFllYXIoKSUxMDA8MTA/IjAiOiIiKStmLmdldFllYXIoKSUxMDA7
YnJlYWs7Y2FzZSAiQCI6cSs9Zi5nZXRUaW1lKCk7YnJlYWs7Y2FzZSAiISI6cSs9Zi5nZXRUaW1l
KCkqMUU0K3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UgIiciOmlmKGsoIiciKSlxKz0iJyI7
ZWxzZSBzPXRydWU7YnJlYWs7ZGVmYXVsdDpxKz1iLmNoYXJBdChyKX1yZXR1cm4gcX0sX3Bvc3Np
YmxlQ2hhcnM6ZnVuY3Rpb24oYil7Zm9yKHZhciBmPSIiLGo9ZmFsc2UsbD1mdW5jdGlvbihuKXso
bj1vKzE8Yi5sZW5ndGgmJmIuY2hhckF0KG8rMSk9PW4pJiZvKys7cmV0dXJuIG59LG89MDtvPGIu
bGVuZ3RoO28rKylpZihqKWlmKGIuY2hhckF0KG8pPT0iJyImJiFsKCInIikpaj0KLWZhbHNlO2Vs
c2UgZis9Yi5jaGFyQXQobyk7ZWxzZSBzd2l0Y2goYi5jaGFyQXQobykpe2Nhc2UgImQiOmNhc2Ug
Im0iOmNhc2UgInkiOmNhc2UgIkAiOmYrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlICJEIjpjYXNl
ICJNIjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihsKCInIikpZis9IiciO2Vsc2Ugaj10cnVlO2Jy
ZWFrO2RlZmF1bHQ6Zis9Yi5jaGFyQXQobyl9cmV0dXJuIGZ9LF9nZXQ6ZnVuY3Rpb24oYixmKXty
ZXR1cm4gYi5zZXR0aW5nc1tmXSE9PWM/Yi5zZXR0aW5nc1tmXTp0aGlzLl9kZWZhdWx0c1tmXX0s
X3NldERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYixmKXtpZihiLmlucHV0LnZhbCgpIT1iLmxhc3RW
YWwpe3ZhciBqPXRoaXMuX2dldChiLCJkYXRlRm9ybWF0IiksbD1iLmxhc3RWYWw9Yi5pbnB1dD9i
LmlucHV0LnZhbCgpOm51bGwsbyxuO289bj10aGlzLl9nZXREZWZhdWx0RGF0ZShiKTt2YXIgaz10
aGlzLl9nZXRGb3JtYXRDb25maWcoYik7dHJ5e289dGhpcy5wYXJzZURhdGUoaiwKLWwsayl8fG59
Y2F0Y2gobSl7dGhpcy5sb2cobSk7bD1mPyIiOmx9Yi5zZWxlY3RlZERheT1vLmdldERhdGUoKTti
LmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9by5nZXRNb250aCgpO2IuZHJhd1llYXI9Yi5zZWxl
Y3RlZFllYXI9by5nZXRGdWxsWWVhcigpO2IuY3VycmVudERheT1sP28uZ2V0RGF0ZSgpOjA7Yi5j
dXJyZW50TW9udGg9bD9vLmdldE1vbnRoKCk6MDtiLmN1cnJlbnRZZWFyPWw/by5nZXRGdWxsWWVh
cigpOjA7dGhpcy5fYWRqdXN0SW5zdERhdGUoYil9fSxfZ2V0RGVmYXVsdERhdGU6ZnVuY3Rpb24o
Yil7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KGIsdGhpcy5fZGV0ZXJtaW5lRGF0ZShiLHRo
aXMuX2dldChiLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0
aW9uKGIsZixqKXt2YXIgbD1mdW5jdGlvbihuKXt2YXIgaz1uZXcgRGF0ZTtrLnNldERhdGUoay5n
ZXREYXRlKCkrbik7cmV0dXJuIGt9LG89ZnVuY3Rpb24obil7dHJ5e3JldHVybiBhLmRhdGVwaWNr
ZXIucGFyc2VEYXRlKGEuZGF0ZXBpY2tlci5fZ2V0KGIsCi0iZGF0ZUZvcm1hdCIpLG4sYS5kYXRl
cGlja2VyLl9nZXRGb3JtYXRDb25maWcoYikpfWNhdGNoKGspe312YXIgbT0obi50b0xvd2VyQ2Fz
ZSgpLm1hdGNoKC9eYy8pP2EuZGF0ZXBpY2tlci5fZ2V0RGF0ZShiKTpudWxsKXx8bmV3IERhdGUs
cD1tLmdldEZ1bGxZZWFyKCkscT1tLmdldE1vbnRoKCk7bT1tLmdldERhdGUoKTtmb3IodmFyIHM9
LyhbKy1dP1swLTldKylccyooZHxEfHd8V3xtfE18eXxZKT8vZyxyPXMuZXhlYyhuKTtyOyl7c3dp
dGNoKHJbMl18fCJkIil7Y2FzZSAiZCI6Y2FzZSAiRCI6bSs9cGFyc2VJbnQoclsxXSwxMCk7YnJl
YWs7Y2FzZSAidyI6Y2FzZSAiVyI6bSs9cGFyc2VJbnQoclsxXSwxMCkqNzticmVhaztjYXNlICJt
IjpjYXNlICJNIjpxKz1wYXJzZUludChyWzFdLDEwKTttPU1hdGgubWluKG0sYS5kYXRlcGlja2Vy
Ll9nZXREYXlzSW5Nb250aChwLHEpKTticmVhaztjYXNlICJ5IjpjYXNlICJZIjpwKz1wYXJzZUlu
dChyWzFdLDEwKTttPU1hdGgubWluKG0sCi1hLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKHAs
cSkpO2JyZWFrfXI9cy5leGVjKG4pfXJldHVybiBuZXcgRGF0ZShwLHEsbSl9O2lmKGY9KGY9Zj09
bnVsbHx8Zj09PSIiP2o6dHlwZW9mIGY9PSJzdHJpbmciP28oZik6dHlwZW9mIGY9PSJudW1iZXIi
P2lzTmFOKGYpP2o6bChmKTpuZXcgRGF0ZShmLmdldFRpbWUoKSkpJiZmLnRvU3RyaW5nKCk9PSJJ
bnZhbGlkIERhdGUiP2o6Zil7Zi5zZXRIb3VycygwKTtmLnNldE1pbnV0ZXMoMCk7Zi5zZXRTZWNv
bmRzKDApO2Yuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0Fk
anVzdChmKX0sX2RheWxpZ2h0U2F2aW5nQWRqdXN0OmZ1bmN0aW9uKGIpe2lmKCFiKXJldHVybiBu
dWxsO2Iuc2V0SG91cnMoYi5nZXRIb3VycygpPjEyP2IuZ2V0SG91cnMoKSsyOjApO3JldHVybiBi
fSxfc2V0RGF0ZTpmdW5jdGlvbihiLGYsail7dmFyIGw9IWYsbz1iLnNlbGVjdGVkTW9udGgsbj1i
LnNlbGVjdGVkWWVhcjsKLWY9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYix0aGlzLl9kZXRlcm1pbmVE
YXRlKGIsZixuZXcgRGF0ZSkpO2Iuc2VsZWN0ZWREYXk9Yi5jdXJyZW50RGF5PWYuZ2V0RGF0ZSgp
O2IuZHJhd01vbnRoPWIuc2VsZWN0ZWRNb250aD1iLmN1cnJlbnRNb250aD1mLmdldE1vbnRoKCk7
Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1iLmN1cnJlbnRZZWFyPWYuZ2V0RnVsbFllYXIoKTtp
ZigobyE9Yi5zZWxlY3RlZE1vbnRofHxuIT1iLnNlbGVjdGVkWWVhcikmJiFqKXRoaXMuX25vdGlm
eUNoYW5nZShiKTt0aGlzLl9hZGp1c3RJbnN0RGF0ZShiKTtpZihiLmlucHV0KWIuaW5wdXQudmFs
KGw/IiI6dGhpcy5fZm9ybWF0RGF0ZShiKSk7aWYoaj10aGlzLl9nZXQoYiwib25TZWxlY3QiKSl7
bD10aGlzLl9mb3JtYXREYXRlKGIpO2ouYXBwbHkoYi5pbnB1dD9iLmlucHV0WzBdOm51bGwsW2ws
Yl0pfX0sX2dldERhdGU6ZnVuY3Rpb24oYil7cmV0dXJuIWIuY3VycmVudFllYXJ8fGIuaW5wdXQm
JmIuaW5wdXQudmFsKCk9PQotIiI/bnVsbDp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcg
RGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRoLGIuY3VycmVudERheSkpfSxfZ2VuZXJh
dGVIVE1MOmZ1bmN0aW9uKGIpe3ZhciBmPW5ldyBEYXRlO2Y9dGhpcy5fZGF5bGlnaHRTYXZpbmdB
ZGp1c3QobmV3IERhdGUoZi5nZXRGdWxsWWVhcigpLGYuZ2V0TW9udGgoKSxmLmdldERhdGUoKSkp
O3ZhciBqPXRoaXMuX2dldChiLCJpc1JUTCIpLGw9dGhpcy5fZ2V0KGIsInNob3dCdXR0b25QYW5l
bCIpLG89dGhpcy5fZ2V0KGIsImhpZGVJZk5vUHJldk5leHQiKSxuPXRoaXMuX2dldChiLCJuYXZp
Z2F0aW9uQXNEYXRlRm9ybWF0Iiksaz10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhiKSxtPXRoaXMu
X2dldChiLCJzaG93Q3VycmVudEF0UG9zIikscD10aGlzLl9nZXQoYiwic3RlcE1vbnRocyIpLHE9
a1swXSE9MXx8a1sxXSE9MSxzPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCFiLmN1cnJlbnRE
YXk/bmV3IERhdGUoOTk5OSwKLTksOSk6bmV3IERhdGUoYi5jdXJyZW50WWVhcixiLmN1cnJlbnRN
b250aCxiLmN1cnJlbnREYXkpKSxyPXRoaXMuX2dldE1pbk1heERhdGUoYiwibWluIiksdT10aGlz
Ll9nZXRNaW5NYXhEYXRlKGIsIm1heCIpO209Yi5kcmF3TW9udGgtbTt2YXIgdj1iLmRyYXdZZWFy
O2lmKG08MCl7bSs9MTI7di0tfWlmKHUpe3ZhciB3PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0
KG5ldyBEYXRlKHUuZ2V0RnVsbFllYXIoKSx1LmdldE1vbnRoKCkta1swXSprWzFdKzEsdS5nZXRE
YXRlKCkpKTtmb3Iodz1yJiZ3PHI/cjp3O3RoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBE
YXRlKHYsbSwxKSk+dzspe20tLTtpZihtPDApe209MTE7di0tfX19Yi5kcmF3TW9udGg9bTtiLmRy
YXdZZWFyPXY7dz10aGlzLl9nZXQoYiwicHJldlRleHQiKTt3PSFuP3c6dGhpcy5mb3JtYXREYXRl
KHcsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixtLXAsMSkpLHRoaXMuX2dl
dEZvcm1hdENvbmZpZyhiKSk7Ci13PXRoaXMuX2NhbkFkanVzdE1vbnRoKGIsLTEsdixtKT8nPGEg
Y2xhc3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVl
cnlfJytnKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYi5pZCsiJywgLSIrcCsiLCAnTScp
O1wiIHRpdGxlPVwiIit3KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRy
aWFuZ2xlLScrKGo/ImUiOiJ3IikrJyI+Jyt3KyI8L3NwYW4+PC9hPiI6bz8iIjonPGEgY2xhc3M9
InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRs
ZT0iJyt3KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScr
KGo/ImUiOiJ3IikrJyI+Jyt3KyI8L3NwYW4+PC9hPiI7dmFyIHg9dGhpcy5fZ2V0KGIsIm5leHRU
ZXh0Iik7eD0hbj94OnRoaXMuZm9ybWF0RGF0ZSh4LHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0
KG5ldyBEYXRlKHYsCi1tK3AsMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSk7bz10aGlzLl9j
YW5BZGp1c3RNb250aChiLCsxLHYsbSk/JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW5leHQgdWkt
Y29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrZysiLmRhdGVwaWNrZXIuX2FkanVzdERh
dGUoJyMiK2IuaWQrIicsICsiK3ArIiwgJ00nKTtcIiB0aXRsZT1cIiIreCsnIj48c3BhbiBjbGFz
cz0idWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhqPyJ3IjoiZSIpKyciPicreCsi
PC9zcGFuPjwvYT4iOm8/IiI6JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW5leHQgdWktY29ybmVy
LWFsbCB1aS1zdGF0ZS1kaXNhYmxlZCIgdGl0bGU9IicreCsnIj48c3BhbiBjbGFzcz0idWktaWNv
biB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhqPyJ3IjoiZSIpKyciPicreCsiPC9zcGFuPjwv
YT4iO3A9dGhpcy5fZ2V0KGIsImN1cnJlbnRUZXh0Iik7eD10aGlzLl9nZXQoYiwiZ290b0N1cnJl
bnQiKSYmCi1iLmN1cnJlbnREYXk/czpmO3A9IW4/cDp0aGlzLmZvcm1hdERhdGUocCx4LHRoaXMu
X2dldEZvcm1hdENvbmZpZyhiKSk7bj0hYi5pbmxpbmU/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBj
bGFzcz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXBy
aW1hcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrZysnLmRhdGVwaWNrZXIu
X2hpZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChiLCJjbG9zZVRleHQiKSsiPC9idXR0b24+
IjoiIjtsPWw/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQt
Y29udGVudCI+Jysoaj9uOiIiKSsodGhpcy5faXNJblJhbmdlKGIseCk/JzxidXR0b24gdHlwZT0i
YnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50IHVpLXN0YXRlLWRlZmF1bHQgdWkt
cHJpb3JpdHktc2Vjb25kYXJ5IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nKwot
ZysiLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSgnIyIrYi5pZCsiJyk7XCI+IitwKyI8L2J1dHRvbj4i
OiIiKSsoaj8iIjpuKSsiPC9kaXY+IjoiIjtuPXBhcnNlSW50KHRoaXMuX2dldChiLCJmaXJzdERh
eSIpLDEwKTtuPWlzTmFOKG4pPzA6bjtwPXRoaXMuX2dldChiLCJzaG93V2VlayIpO3g9dGhpcy5f
Z2V0KGIsImRheU5hbWVzIik7dGhpcy5fZ2V0KGIsImRheU5hbWVzU2hvcnQiKTt2YXIgeT10aGlz
Ll9nZXQoYiwiZGF5TmFtZXNNaW4iKSxIPXRoaXMuX2dldChiLCJtb250aE5hbWVzIiksQz10aGlz
Ll9nZXQoYiwibW9udGhOYW1lc1Nob3J0Iiksej10aGlzLl9nZXQoYiwiYmVmb3JlU2hvd0RheSIp
LEk9dGhpcy5fZ2V0KGIsInNob3dPdGhlck1vbnRocyIpLE49dGhpcy5fZ2V0KGIsInNlbGVjdE90
aGVyTW9udGhzIik7dGhpcy5fZ2V0KGIsImNhbGN1bGF0ZVdlZWsiKTtmb3IodmFyIEo9dGhpcy5f
Z2V0RGVmYXVsdERhdGUoYiksRD0iIixFPTA7RTxrWzBdO0UrKyl7dmFyIFA9Ci0iIjt0aGlzLm1h
eFJvd3M9NDtmb3IodmFyIEw9MDtMPGtbMV07TCsrKXt2YXIgUT10aGlzLl9kYXlsaWdodFNhdmlu
Z0FkanVzdChuZXcgRGF0ZSh2LG0sYi5zZWxlY3RlZERheSkpLEI9IiB1aS1jb3JuZXItYWxsIixG
PSIiO2lmKHEpe0YrPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWdyb3VwJztpZihrWzFdPjEp
c3dpdGNoKEwpe2Nhc2UgMDpGKz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtZmlyc3QiO0I9IiB1aS1j
b3JuZXItIisoaj8icmlnaHQiOiJsZWZ0Iik7YnJlYWs7Y2FzZSBrWzFdLTE6Ris9IiB1aS1kYXRl
cGlja2VyLWdyb3VwLWxhc3QiO0I9IiB1aS1jb3JuZXItIisoaj8ibGVmdCI6InJpZ2h0Iik7YnJl
YWs7ZGVmYXVsdDpGKz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIjtCPSIiO2JyZWFrfUYr
PSciPid9Ris9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItaGVhZGVyIHVpLXdpZGdldC1oZWFk
ZXIgdWktaGVscGVyLWNsZWFyZml4JytCKyciPicrKC9hbGx8bGVmdC8udGVzdChCKSYmCi1FPT0w
P2o/bzp3OiIiKSsoL2FsbHxyaWdodC8udGVzdChCKSYmRT09MD9qP3c6bzoiIikrdGhpcy5fZ2Vu
ZXJhdGVNb250aFllYXJIZWFkZXIoYixtLHYscix1LEU+MHx8TD4wLEgsQykrJzwvZGl2Pjx0YWJs
ZSBjbGFzcz0idWktZGF0ZXBpY2tlci1jYWxlbmRhciI+PHRoZWFkPjx0cj4nO3ZhciBHPXA/Jzx0
aCBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYiwid2Vla0hlYWRl
ciIpKyI8L3RoPiI6IiI7Zm9yKEI9MDtCPDc7QisrKXt2YXIgQT0oQituKSU3O0crPSI8dGgiKygo
QituKzYpJTc+PTU/JyBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWVuZCInOiIiKSsnPjxzcGFu
IHRpdGxlPSInK3hbQV0rJyI+Jyt5W0FdKyI8L3NwYW4+PC90aD4ifUYrPUcrIjwvdHI+PC90aGVh
ZD48dGJvZHk+IjtHPXRoaXMuX2dldERheXNJbk1vbnRoKHYsbSk7aWYodj09Yi5zZWxlY3RlZFll
YXImJm09PWIuc2VsZWN0ZWRNb250aCliLnNlbGVjdGVkRGF5PU1hdGgubWluKGIuc2VsZWN0ZWRE
YXksCi1HKTtCPSh0aGlzLl9nZXRGaXJzdERheU9mTW9udGgodixtKS1uKzcpJTc7Rz1NYXRoLmNl
aWwoKEIrRykvNyk7dGhpcy5tYXhSb3dzPUc9cT90aGlzLm1heFJvd3M+Rz90aGlzLm1heFJvd3M6
RzpHO0E9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixtLDEtQikpO2Zvcih2
YXIgUj0wO1I8RztSKyspe0YrPSI8dHI+Ijt2YXIgUz0hcD8iIjonPHRkIGNsYXNzPSJ1aS1kYXRl
cGlja2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChiLCJjYWxjdWxhdGVXZWVrIikoQSkrIjwvdGQ+
Ijtmb3IoQj0wO0I8NztCKyspe3ZhciBNPXo/ei5hcHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVs
bCxbQV0pOlt0cnVlLCIiXSxLPUEuZ2V0TW9udGgoKSE9bSxPPUsmJiFOfHwhTVswXXx8ciYmQTxy
fHx1JiZBPnU7Uys9Jzx0ZCBjbGFzcz0iJysoKEIrbis2KSU3Pj01PyIgdWktZGF0ZXBpY2tlci13
ZWVrLWVuZCI6IiIpKyhLPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6IiIpKyhBLmdldFRp
bWUoKT09Ci1RLmdldFRpbWUoKSYmbT09Yi5zZWxlY3RlZE1vbnRoJiZiLl9rZXlFdmVudHx8Si5n
ZXRUaW1lKCk9PUEuZ2V0VGltZSgpJiZKLmdldFRpbWUoKT09US5nZXRUaW1lKCk/IiAiK3RoaXMu
X2RheU92ZXJDbGFzczoiIikrKE8/IiAiK3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzKyIgdWktc3Rh
dGUtZGlzYWJsZWQiOiIiKSsoSyYmIUk/IiI6IiAiK01bMV0rKEEuZ2V0VGltZSgpPT1zLmdldFRp
bWUoKT8iICIrdGhpcy5fY3VycmVudENsYXNzOiIiKSsoQS5nZXRUaW1lKCk9PWYuZ2V0VGltZSgp
PyIgdWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsnIicrKCghS3x8SSkmJk1bMl0/JyB0aXRsZT0i
JytNWzJdKyciJzoiIikrKE8/IiI6JyBvbmNsaWNrPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBpY2tl
ci5fc2VsZWN0RGF5KCcjIitiLmlkKyInLCIrQS5nZXRNb250aCgpKyIsIitBLmdldEZ1bGxZZWFy
KCkrJywgdGhpcyk7cmV0dXJuIGZhbHNlOyInKSsiPiIrKEsmJiFJPyImI3hhMDsiOk8/JzxzcGFu
IGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0Ij4nKwotQS5nZXREYXRlKCkrIjwvc3Bhbj4iOic8YSBj
bGFzcz0idWktc3RhdGUtZGVmYXVsdCcrKEEuZ2V0VGltZSgpPT1mLmdldFRpbWUoKT8iIHVpLXN0
YXRlLWhpZ2hsaWdodCI6IiIpKyhBLmdldFRpbWUoKT09cy5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1h
Y3RpdmUiOiIiKSsoSz8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyciIGhyZWY9IiMiPicr
QS5nZXREYXRlKCkrIjwvYT4iKSsiPC90ZD4iO0Euc2V0RGF0ZShBLmdldERhdGUoKSsxKTtBPXRo
aXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KEEpfUYrPVMrIjwvdHI+In1tKys7aWYobT4xMSl7bT0w
O3YrK31GKz0iPC90Ym9keT48L3RhYmxlPiIrKHE/IjwvZGl2PiIrKGtbMF0+MCYmTD09a1sxXS0x
Pyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXJvdy1icmVhayI+PC9kaXY+JzoiIik6IiIpO1Ar
PUZ9RCs9UH1EKz1sKyhhLmJyb3dzZXIubXNpZSYmcGFyc2VJbnQoYS5icm93c2VyLnZlcnNpb24s
MTApPDcmJiFiLmlubGluZT8nPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiBjbGFzcz0i
dWktZGF0ZXBpY2tlci1jb3ZlciIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPic6Ci0iIik7Yi5f
a2V5RXZlbnQ9ZmFsc2U7cmV0dXJuIER9LF9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcjpmdW5jdGlv
bihiLGYsaixsLG8sbixrLG0pe3ZhciBwPXRoaXMuX2dldChiLCJjaGFuZ2VNb250aCIpLHE9dGhp
cy5fZ2V0KGIsImNoYW5nZVllYXIiKSxzPXRoaXMuX2dldChiLCJzaG93TW9udGhBZnRlclllYXIi
KSxyPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nLHU9IiI7aWYobnx8IXApdSs9
JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIj4nK2tbZl0rIjwvc3Bhbj4iO2Vsc2V7
az1sJiZsLmdldEZ1bGxZZWFyKCk9PWo7dmFyIHY9byYmby5nZXRGdWxsWWVhcigpPT1qO3UrPSc8
c2VsZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIiBvbmNoYW5nZT0iRFBfalF1ZXJ5Xycr
ZysiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYi5pZCsiJywgdGhpcywgJ00nKTtc
IiA+Ijtmb3IodmFyIHc9MDt3PDEyO3crKylpZigoIWt8fHc+PWwuZ2V0TW9udGgoKSkmJgotKCF2
fHx3PD1vLmdldE1vbnRoKCkpKXUrPSc8b3B0aW9uIHZhbHVlPSInK3crJyInKyh3PT1mPycgc2Vs
ZWN0ZWQ9InNlbGVjdGVkIic6IiIpKyI+IittW3ddKyI8L29wdGlvbj4iO3UrPSI8L3NlbGVjdD4i
fXN8fChyKz11KyhufHwhKHAmJnEpPyImI3hhMDsiOiIiKSk7aWYoIWIueWVhcnNodG1sKXtiLnll
YXJzaHRtbD0iIjtpZihufHwhcSlyKz0nPHNwYW4gY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciI+
JytqKyI8L3NwYW4+IjtlbHNle209dGhpcy5fZ2V0KGIsInllYXJSYW5nZSIpLnNwbGl0KCI6Iik7
dmFyIHg9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2s9ZnVuY3Rpb24oeSl7eT15Lm1hdGNoKC9j
WystXS4qLyk/aitwYXJzZUludCh5LnN1YnN0cmluZygxKSwxMCk6eS5tYXRjaCgvWystXS4qLyk/
eCtwYXJzZUludCh5LDEwKTpwYXJzZUludCh5LDEwKTtyZXR1cm4gaXNOYU4oeSk/eDp5fTtmPWso
bVswXSk7bT1NYXRoLm1heChmLGsobVsxXXx8IiIpKTtmPWw/TWF0aC5tYXgoZiwKLWwuZ2V0RnVs
bFllYXIoKSk6ZjttPW8/TWF0aC5taW4obSxvLmdldEZ1bGxZZWFyKCkpOm07Zm9yKGIueWVhcnNo
dG1sKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIiBvbmNoYW5nZT0iRFBfalF1
ZXJ5XycrZysiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYi5pZCsiJywgdGhpcywg
J1knKTtcIiA+IjtmPD1tO2YrKyliLnllYXJzaHRtbCs9JzxvcHRpb24gdmFsdWU9IicrZisnIicr
KGY9PWo/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzoiIikrIj4iK2YrIjwvb3B0aW9uPiI7Yi55ZWFy
c2h0bWwrPSI8L3NlbGVjdD4iO3IrPWIueWVhcnNodG1sO2IueWVhcnNodG1sPW51bGx9fXIrPXRo
aXMuX2dldChiLCJ5ZWFyU3VmZml4Iik7aWYocylyKz0obnx8IShwJiZxKT8iJiN4YTA7IjoiIikr
dTtyKz0iPC9kaXY+IjtyZXR1cm4gcn0sX2FkanVzdEluc3REYXRlOmZ1bmN0aW9uKGIsZixqKXt2
YXIgbD1iLmRyYXdZZWFyKyhqPT0iWSI/ZjowKSxvPWIuZHJhd01vbnRoKwotKGo9PSJNIj9mOjAp
O2Y9TWF0aC5taW4oYi5zZWxlY3RlZERheSx0aGlzLl9nZXREYXlzSW5Nb250aChsLG8pKSsoaj09
IkQiP2Y6MCk7bD10aGlzLl9yZXN0cmljdE1pbk1heChiLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRq
dXN0KG5ldyBEYXRlKGwsbyxmKSkpO2Iuc2VsZWN0ZWREYXk9bC5nZXREYXRlKCk7Yi5kcmF3TW9u
dGg9Yi5zZWxlY3RlZE1vbnRoPWwuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2VsZWN0ZWRZZWFy
PWwuZ2V0RnVsbFllYXIoKTtpZihqPT0iTSJ8fGo9PSJZIil0aGlzLl9ub3RpZnlDaGFuZ2UoYil9
LF9yZXN0cmljdE1pbk1heDpmdW5jdGlvbihiLGYpe3ZhciBqPXRoaXMuX2dldE1pbk1heERhdGUo
YiwibWluIik7Yj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1heCIpO2Y9aiYmZjxqP2o6ZjtyZXR1
cm4gZj1iJiZmPmI/YjpmfSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGIpe3ZhciBmPXRoaXMuX2dl
dChiLCJvbkNoYW5nZU1vbnRoWWVhciIpO2lmKGYpZi5hcHBseShiLmlucHV0PwotYi5pbnB1dFsw
XTpudWxsLFtiLnNlbGVjdGVkWWVhcixiLnNlbGVjdGVkTW9udGgrMSxiXSl9LF9nZXROdW1iZXJP
Zk1vbnRoczpmdW5jdGlvbihiKXtiPXRoaXMuX2dldChiLCJudW1iZXJPZk1vbnRocyIpO3JldHVy
biBiPT1udWxsP1sxLDFdOnR5cGVvZiBiPT0ibnVtYmVyIj9bMSxiXTpifSxfZ2V0TWluTWF4RGF0
ZTpmdW5jdGlvbihiLGYpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGIsdGhpcy5fZ2V0KGIs
ZisiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oYixmKXtyZXR1cm4gMzIt
dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYixmLDMyKSkuZ2V0RGF0ZSgpfSxf
Z2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGIsZil7cmV0dXJuKG5ldyBEYXRlKGIsZiwxKSku
Z2V0RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihiLGYsaixsKXt2YXIgbz10aGlzLl9n
ZXROdW1iZXJPZk1vbnRocyhiKTtqPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRl
KGosCi1sKyhmPDA/ZjpvWzBdKm9bMV0pLDEpKTtmPDAmJmouc2V0RGF0ZSh0aGlzLl9nZXREYXlz
SW5Nb250aChqLmdldEZ1bGxZZWFyKCksai5nZXRNb250aCgpKSk7cmV0dXJuIHRoaXMuX2lzSW5S
YW5nZShiLGopfSxfaXNJblJhbmdlOmZ1bmN0aW9uKGIsZil7dmFyIGo9dGhpcy5fZ2V0TWluTWF4
RGF0ZShiLCJtaW4iKTtiPXRoaXMuX2dldE1pbk1heERhdGUoYiwibWF4Iik7cmV0dXJuKCFqfHxm
LmdldFRpbWUoKT49ai5nZXRUaW1lKCkpJiYoIWJ8fGYuZ2V0VGltZSgpPD1iLmdldFRpbWUoKSl9
LF9nZXRGb3JtYXRDb25maWc6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fZ2V0KGIsInNob3J0WWVh
ckN1dG9mZiIpO2Y9dHlwZW9mIGYhPSJzdHJpbmciP2Y6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigp
JTEwMCtwYXJzZUludChmLDEwKTtyZXR1cm57c2hvcnRZZWFyQ3V0b2ZmOmYsZGF5TmFtZXNTaG9y
dDp0aGlzLl9nZXQoYiwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChiLAotImRh
eU5hbWVzIiksbW9udGhOYW1lc1Nob3J0OnRoaXMuX2dldChiLCJtb250aE5hbWVzU2hvcnQiKSxt
b250aE5hbWVzOnRoaXMuX2dldChiLCJtb250aE5hbWVzIil9fSxfZm9ybWF0RGF0ZTpmdW5jdGlv
bihiLGYsaixsKXtpZighZil7Yi5jdXJyZW50RGF5PWIuc2VsZWN0ZWREYXk7Yi5jdXJyZW50TW9u
dGg9Yi5zZWxlY3RlZE1vbnRoO2IuY3VycmVudFllYXI9Yi5zZWxlY3RlZFllYXJ9Zj1mP3R5cGVv
ZiBmPT0ib2JqZWN0Ij9mOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGwsaixm
KSk6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYi5jdXJyZW50WWVhcixiLmN1
cnJlbnRNb250aCxiLmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dl
dChiLCJkYXRlRm9ybWF0IiksZix0aGlzLl9nZXRGb3JtYXRDb25maWcoYikpfX0pO2EuZm4uZGF0
ZXBpY2tlcj1mdW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7Ci1pZighYS5k
YXRlcGlja2VyLmluaXRpYWxpemVkKXthKGRvY3VtZW50KS5tb3VzZWRvd24oYS5kYXRlcGlja2Vy
Ll9jaGVja0V4dGVybmFsQ2xpY2spLmZpbmQoImJvZHkiKS5hcHBlbmQoYS5kYXRlcGlja2VyLmRw
RGl2KTthLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgZj1BcnJheS5wcm90b3R5cGUu
c2xpY2UuY2FsbChhcmd1bWVudHMsMSk7aWYodHlwZW9mIGI9PSJzdHJpbmciJiYoYj09ImlzRGlz
YWJsZWQifHxiPT0iZ2V0RGF0ZSJ8fGI9PSJ3aWRnZXQiKSlyZXR1cm4gYS5kYXRlcGlja2VyWyJf
IitiKyJEYXRlcGlja2VyIl0uYXBwbHkoYS5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoZikp
O2lmKGI9PSJvcHRpb24iJiZhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYXJndW1lbnRzWzFd
PT0ic3RyaW5nIilyZXR1cm4gYS5kYXRlcGlja2VyWyJfIitiKyJEYXRlcGlja2VyIl0uYXBwbHko
YS5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoZikpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rp
b24oKXt0eXBlb2YgYj09Ci0ic3RyaW5nIj9hLmRhdGVwaWNrZXJbIl8iK2IrIkRhdGVwaWNrZXIi
XS5hcHBseShhLmRhdGVwaWNrZXIsW3RoaXNdLmNvbmNhdChmKSk6YS5kYXRlcGlja2VyLl9hdHRh
Y2hEYXRlcGlja2VyKHRoaXMsYil9KX07YS5kYXRlcGlja2VyPW5ldyBkO2EuZGF0ZXBpY2tlci5p
bml0aWFsaXplZD1mYWxzZTthLmRhdGVwaWNrZXIudXVpZD0obmV3IERhdGUpLmdldFRpbWUoKTth
LmRhdGVwaWNrZXIudmVyc2lvbj0iMS44LjE1Ijt3aW5kb3dbIkRQX2pRdWVyeV8iK2ddPWF9KShq
UXVlcnkpOwotKGZ1bmN0aW9uKGEsYyl7dmFyIGQ9e2J1dHRvbnM6dHJ1ZSxoZWlnaHQ6dHJ1ZSxt
YXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhlaWdodDp0cnVlLG1pbldpZHRoOnRydWUs
d2lkdGg6dHJ1ZX0sZT17bWF4SGVpZ2h0OnRydWUsbWF4V2lkdGg6dHJ1ZSxtaW5IZWlnaHQ6dHJ1
ZSxtaW5XaWR0aDp0cnVlfSxoPWEuYXR0ckZufHx7dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVl
LHRleHQ6dHJ1ZSxkYXRhOnRydWUsd2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZSxj
bGljazp0cnVlfTthLndpZGdldCgidWkuZGlhbG9nIix7b3B0aW9uczp7YXV0b09wZW46dHJ1ZSxi
dXR0b25zOnt9LGNsb3NlT25Fc2NhcGU6dHJ1ZSxjbG9zZVRleHQ6ImNsb3NlIixkaWFsb2dDbGFz
czoiIixkcmFnZ2FibGU6dHJ1ZSxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6ZmFs
c2UsbWF4V2lkdGg6ZmFsc2UsbWluSGVpZ2h0OjE1MCxtaW5XaWR0aDoxNTAsbW9kYWw6ZmFsc2Us
Ci1wb3NpdGlvbjp7bXk6ImNlbnRlciIsYXQ6ImNlbnRlciIsY29sbGlzaW9uOiJmaXQiLHVzaW5n
OmZ1bmN0aW9uKGcpe3ZhciBpPWEodGhpcykuY3NzKGcpLm9mZnNldCgpLnRvcDtpPDAmJmEodGhp
cykuY3NzKCJ0b3AiLGcudG9wLWkpfX0scmVzaXphYmxlOnRydWUsc2hvdzpudWxsLHN0YWNrOnRy
dWUsdGl0bGU6IiIsd2lkdGg6MzAwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlz
Lm9yaWdpbmFsVGl0bGU9dGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIik7aWYodHlwZW9mIHRoaXMu
b3JpZ2luYWxUaXRsZSE9PSJzdHJpbmciKXRoaXMub3JpZ2luYWxUaXRsZT0iIjt0aGlzLm9wdGlv
bnMudGl0bGU9dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0bGU7dmFyIGc9dGhp
cyxpPWcub3B0aW9ucyxiPWkudGl0bGV8fCImIzE2MDsiLGY9YS51aS5kaWFsb2cuZ2V0VGl0bGVJ
ZChnLmVsZW1lbnQpLGo9KGcudWlEaWFsb2c9YSgiPGRpdj48L2Rpdj4iKSkuYXBwZW5kVG8oZG9j
dW1lbnQuYm9keSkuaGlkZSgpLmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdl
dC1jb250ZW50IHVpLWNvcm5lci1hbGwgIisKLWkuZGlhbG9nQ2xhc3MpLmNzcyh7ekluZGV4Omku
ekluZGV4fSkuYXR0cigidGFiSW5kZXgiLC0xKS5jc3MoIm91dGxpbmUiLDApLmtleWRvd24oZnVu
Y3Rpb24obil7aWYoaS5jbG9zZU9uRXNjYXBlJiZuLmtleUNvZGUmJm4ua2V5Q29kZT09PWEudWku
a2V5Q29kZS5FU0NBUEUpe2cuY2xvc2Uobik7bi5wcmV2ZW50RGVmYXVsdCgpfX0pLmF0dHIoe3Jv
bGU6ImRpYWxvZyIsImFyaWEtbGFiZWxsZWRieSI6Zn0pLm1vdXNlZG93bihmdW5jdGlvbihuKXtn
Lm1vdmVUb1RvcChmYWxzZSxuKX0pO2cuZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUi
KS5hZGRDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5hcHBlbmRU
byhqKTt2YXIgbD0oZy51aURpYWxvZ1RpdGxlYmFyPWEoIjxkaXY+PC9kaXY+IikpLmFkZENsYXNz
KCJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIHVpLWhl
bHBlci1jbGVhcmZpeCIpLnByZXBlbmRUbyhqKSwKLW89YSgnPGEgaHJlZj0iIyI+PC9hPicpLmFk
ZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIpLmF0dHIoInJv
bGUiLCJidXR0b24iKS5ob3ZlcihmdW5jdGlvbigpe28uYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVy
Iil9LGZ1bmN0aW9uKCl7by5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmZvY3VzKGZ1
bmN0aW9uKCl7by5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJsdXIoZnVuY3Rpb24oKXtv
LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuY2xpY2soZnVuY3Rpb24obil7Zy5jbG9z
ZShuKTtyZXR1cm4gZmFsc2V9KS5hcHBlbmRUbyhsKTsoZy51aURpYWxvZ1RpdGxlYmFyQ2xvc2VU
ZXh0PWEoIjxzcGFuPjwvc3Bhbj4iKSkuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1jbG9zZXRo
aWNrIikudGV4dChpLmNsb3NlVGV4dCkuYXBwZW5kVG8obyk7YSgiPHNwYW4+PC9zcGFuPiIpLmFk
ZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGUiKS5hdHRyKCJpZCIsCi1mKS5odG1sKGIpLnByZXBlbmRU
byhsKTtpZihhLmlzRnVuY3Rpb24oaS5iZWZvcmVjbG9zZSkmJiFhLmlzRnVuY3Rpb24oaS5iZWZv
cmVDbG9zZSkpaS5iZWZvcmVDbG9zZT1pLmJlZm9yZWNsb3NlO2wuZmluZCgiKiIpLmFkZChsKS5k
aXNhYmxlU2VsZWN0aW9uKCk7aS5kcmFnZ2FibGUmJmEuZm4uZHJhZ2dhYmxlJiZnLl9tYWtlRHJh
Z2dhYmxlKCk7aS5yZXNpemFibGUmJmEuZm4ucmVzaXphYmxlJiZnLl9tYWtlUmVzaXphYmxlKCk7
Zy5fY3JlYXRlQnV0dG9ucyhpLmJ1dHRvbnMpO2cuX2lzT3Blbj1mYWxzZTthLmZuLmJnaWZyYW1l
JiZqLmJnaWZyYW1lKCl9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmF1dG9PcGVuJiZ0
aGlzLm9wZW4oKX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBnPXRoaXM7Zy5vdmVybGF5JiZnLm92
ZXJsYXkuZGVzdHJveSgpO2cudWlEaWFsb2cuaGlkZSgpO2cuZWxlbWVudC51bmJpbmQoIi5kaWFs
b2ciKS5yZW1vdmVEYXRhKCJkaWFsb2ciKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWNvbnRlbnQg
dWktd2lkZ2V0LWNvbnRlbnQiKS5oaWRlKCkuYXBwZW5kVG8oImJvZHkiKTsKLWcudWlEaWFsb2cu
cmVtb3ZlKCk7Zy5vcmlnaW5hbFRpdGxlJiZnLmVsZW1lbnQuYXR0cigidGl0bGUiLGcub3JpZ2lu
YWxUaXRsZSk7cmV0dXJuIGd9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVpRGlhbG9n
fSxjbG9zZTpmdW5jdGlvbihnKXt2YXIgaT10aGlzLGIsZjtpZihmYWxzZSE9PWkuX3RyaWdnZXIo
ImJlZm9yZUNsb3NlIixnKSl7aS5vdmVybGF5JiZpLm92ZXJsYXkuZGVzdHJveSgpO2kudWlEaWFs
b2cudW5iaW5kKCJrZXlwcmVzcy51aS1kaWFsb2ciKTtpLl9pc09wZW49ZmFsc2U7aWYoaS5vcHRp
b25zLmhpZGUpaS51aURpYWxvZy5oaWRlKGkub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7aS5fdHJp
Z2dlcigiY2xvc2UiLGcpfSk7ZWxzZXtpLnVpRGlhbG9nLmhpZGUoKTtpLl90cmlnZ2VyKCJjbG9z
ZSIsZyl9YS51aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKTtpZihpLm9wdGlvbnMubW9kYWwpe2I9
MDthKCIudWktZGlhbG9nIikuZWFjaChmdW5jdGlvbigpe2lmKHRoaXMhPT0KLWkudWlEaWFsb2db
MF0pe2Y9YSh0aGlzKS5jc3MoInotaW5kZXgiKTtpc05hTihmKXx8KGI9TWF0aC5tYXgoYixmKSl9
fSk7YS51aS5kaWFsb2cubWF4Wj1ifXJldHVybiBpfX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKGcsaSl7dmFyIGI9dGhpcyxmPWIub3B0
aW9ucztpZihmLm1vZGFsJiYhZ3x8IWYuc3RhY2smJiFmLm1vZGFsKXJldHVybiBiLl90cmlnZ2Vy
KCJmb2N1cyIsaSk7aWYoZi56SW5kZXg+YS51aS5kaWFsb2cubWF4WilhLnVpLmRpYWxvZy5tYXha
PWYuekluZGV4O2lmKGIub3ZlcmxheSl7YS51aS5kaWFsb2cubWF4Wis9MTtiLm92ZXJsYXkuJGVs
LmNzcygiei1pbmRleCIsYS51aS5kaWFsb2cub3ZlcmxheS5tYXhaPWEudWkuZGlhbG9nLm1heFop
fWc9e3Njcm9sbFRvcDpiLmVsZW1lbnQuc2Nyb2xsVG9wKCksc2Nyb2xsTGVmdDpiLmVsZW1lbnQu
c2Nyb2xsTGVmdCgpfTthLnVpLmRpYWxvZy5tYXhaKz0xOwotYi51aURpYWxvZy5jc3MoInotaW5k
ZXgiLGEudWkuZGlhbG9nLm1heFopO2IuZWxlbWVudC5hdHRyKGcpO2IuX3RyaWdnZXIoImZvY3Vz
IixpKTtyZXR1cm4gYn0sb3BlbjpmdW5jdGlvbigpe2lmKCF0aGlzLl9pc09wZW4pe3ZhciBnPXRo
aXMsaT1nLm9wdGlvbnMsYj1nLnVpRGlhbG9nO2cub3ZlcmxheT1pLm1vZGFsP25ldyBhLnVpLmRp
YWxvZy5vdmVybGF5KGcpOm51bGw7Zy5fc2l6ZSgpO2cuX3Bvc2l0aW9uKGkucG9zaXRpb24pO2Iu
c2hvdyhpLnNob3cpO2cubW92ZVRvVG9wKHRydWUpO2kubW9kYWwmJmIuYmluZCgia2V5cHJlc3Mu
dWktZGlhbG9nIixmdW5jdGlvbihmKXtpZihmLmtleUNvZGU9PT1hLnVpLmtleUNvZGUuVEFCKXt2
YXIgaj1hKCI6dGFiYmFibGUiLHRoaXMpLGw9ai5maWx0ZXIoIjpmaXJzdCIpO2o9ai5maWx0ZXIo
IjpsYXN0Iik7aWYoZi50YXJnZXQ9PT1qWzBdJiYhZi5zaGlmdEtleSl7bC5mb2N1cygxKTtyZXR1
cm4gZmFsc2V9ZWxzZSBpZihmLnRhcmdldD09PQotbFswXSYmZi5zaGlmdEtleSl7ai5mb2N1cygx
KTtyZXR1cm4gZmFsc2V9fX0pO2EoZy5lbGVtZW50LmZpbmQoIjp0YWJiYWJsZSIpLmdldCgpLmNv
bmNhdChiLmZpbmQoIi51aS1kaWFsb2ctYnV0dG9ucGFuZSA6dGFiYmFibGUiKS5nZXQoKS5jb25j
YXQoYi5nZXQoKSkpKS5lcSgwKS5mb2N1cygpO2cuX2lzT3Blbj10cnVlO2cuX3RyaWdnZXIoIm9w
ZW4iKTtyZXR1cm4gZ319LF9jcmVhdGVCdXR0b25zOmZ1bmN0aW9uKGcpe3ZhciBpPXRoaXMsYj1m
YWxzZSxmPWEoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWRpYWxvZy1idXR0b25wYW5lIHVp
LXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCIpLGo9YSgiPGRpdj48L2Rpdj4iKS5h
ZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnNldCIpLmFwcGVuZFRvKGYpO2kudWlEaWFsb2cuZmlu
ZCgiLnVpLWRpYWxvZy1idXR0b25wYW5lIikucmVtb3ZlKCk7dHlwZW9mIGc9PT0ib2JqZWN0IiYm
ZyE9PW51bGwmJmEuZWFjaChnLAotZnVuY3Rpb24oKXtyZXR1cm4hKGI9dHJ1ZSl9KTtpZihiKXth
LmVhY2goZyxmdW5jdGlvbihsLG8pe289YS5pc0Z1bmN0aW9uKG8pP3tjbGljazpvLHRleHQ6bH06
bzt2YXIgbj1hKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0b24+JykuY2xpY2soZnVuY3Rp
b24oKXtvLmNsaWNrLmFwcGx5KGkuZWxlbWVudFswXSxhcmd1bWVudHMpfSkuYXBwZW5kVG8oaik7
YS5lYWNoKG8sZnVuY3Rpb24oayxtKXtpZihrIT09ImNsaWNrIilrIGluIGg/bltrXShtKTpuLmF0
dHIoayxtKX0pO2EuZm4uYnV0dG9uJiZuLmJ1dHRvbigpfSk7Zi5hcHBlbmRUbyhpLnVpRGlhbG9n
KX19LF9tYWtlRHJhZ2dhYmxlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm57cG9zaXRp
b246bC5wb3NpdGlvbixvZmZzZXQ6bC5vZmZzZXR9fXZhciBpPXRoaXMsYj1pLm9wdGlvbnMsZj1h
KGRvY3VtZW50KSxqO2kudWlEaWFsb2cuZHJhZ2dhYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29u
dGVudCwgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIsCi1oYW5kbGU6Ii51aS1kaWFsb2ctdGl0
bGViYXIiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsc3RhcnQ6ZnVuY3Rpb24obCxvKXtqPWIuaGVp
Z2h0PT09ImF1dG8iPyJhdXRvIjphKHRoaXMpLmhlaWdodCgpO2EodGhpcykuaGVpZ2h0KGEodGhp
cykuaGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1kaWFsb2ctZHJhZ2dpbmciKTtpLl90cmlnZ2VyKCJk
cmFnU3RhcnQiLGwsZyhvKSl9LGRyYWc6ZnVuY3Rpb24obCxvKXtpLl90cmlnZ2VyKCJkcmFnIixs
LGcobykpfSxzdG9wOmZ1bmN0aW9uKGwsbyl7Yi5wb3NpdGlvbj1bby5wb3NpdGlvbi5sZWZ0LWYu
c2Nyb2xsTGVmdCgpLG8ucG9zaXRpb24udG9wLWYuc2Nyb2xsVG9wKCldO2EodGhpcykucmVtb3Zl
Q2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpLmhlaWdodChqKTtpLl90cmlnZ2VyKCJkcmFnU3Rv
cCIsbCxnKG8pKTthLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pfSxfbWFrZVJlc2l6YWJs
ZTpmdW5jdGlvbihnKXtmdW5jdGlvbiBpKGwpe3JldHVybntvcmlnaW5hbFBvc2l0aW9uOmwub3Jp
Z2luYWxQb3NpdGlvbiwKLW9yaWdpbmFsU2l6ZTpsLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjpsLnBv
c2l0aW9uLHNpemU6bC5zaXplfX1nPWc9PT1jP3RoaXMub3B0aW9ucy5yZXNpemFibGU6Zzt2YXIg
Yj10aGlzLGY9Yi5vcHRpb25zLGo9Yi51aURpYWxvZy5jc3MoInBvc2l0aW9uIik7Zz10eXBlb2Yg
Zz09PSJzdHJpbmciP2c6Im4sZSxzLHcsc2Usc3csbmUsbnciO2IudWlEaWFsb2cucmVzaXphYmxl
KHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixhbHNv
UmVzaXplOmIuZWxlbWVudCxtYXhXaWR0aDpmLm1heFdpZHRoLG1heEhlaWdodDpmLm1heEhlaWdo
dCxtaW5XaWR0aDpmLm1pbldpZHRoLG1pbkhlaWdodDpiLl9taW5IZWlnaHQoKSxoYW5kbGVzOmcs
c3RhcnQ6ZnVuY3Rpb24obCxvKXthKHRoaXMpLmFkZENsYXNzKCJ1aS1kaWFsb2ctcmVzaXppbmci
KTtiLl90cmlnZ2VyKCJyZXNpemVTdGFydCIsbCxpKG8pKX0scmVzaXplOmZ1bmN0aW9uKGwsbyl7
Yi5fdHJpZ2dlcigicmVzaXplIiwKLWwsaShvKSl9LHN0b3A6ZnVuY3Rpb24obCxvKXthKHRoaXMp
LnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctcmVzaXppbmciKTtmLmhlaWdodD1hKHRoaXMpLmhlaWdo
dCgpO2Yud2lkdGg9YSh0aGlzKS53aWR0aCgpO2IuX3RyaWdnZXIoInJlc2l6ZVN0b3AiLGwsaShv
KSk7YS51aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKX19KS5jc3MoInBvc2l0aW9uIixqKS5maW5k
KCIudWktcmVzaXphYmxlLXNlIikuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwLWRpYWdv
bmFsLXNlIil9LF9taW5IZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgZz10aGlzLm9wdGlvbnM7cmV0dXJu
IGcuaGVpZ2h0PT09ImF1dG8iP2cubWluSGVpZ2h0Ok1hdGgubWluKGcubWluSGVpZ2h0LGcuaGVp
Z2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKGcpe3ZhciBpPVtdLGI9WzAsMF0sZjtpZihnKXtpZih0
eXBlb2YgZz09PSJzdHJpbmcifHx0eXBlb2YgZz09PSJvYmplY3QiJiYiMCJpbiBnKXtpPWcuc3Bs
aXQ/Zy5zcGxpdCgiICIpOgotW2dbMF0sZ1sxXV07aWYoaS5sZW5ndGg9PT0xKWlbMV09aVswXTth
LmVhY2goWyJsZWZ0IiwidG9wIl0sZnVuY3Rpb24oaixsKXtpZigraVtqXT09PWlbal0pe2Jbal09
aVtqXTtpW2pdPWx9fSk7Zz17bXk6aS5qb2luKCIgIiksYXQ6aS5qb2luKCIgIiksb2Zmc2V0OmIu
am9pbigiICIpfX1nPWEuZXh0ZW5kKHt9LGEudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBv
c2l0aW9uLGcpfWVsc2UgZz1hLnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbjso
Zj10aGlzLnVpRGlhbG9nLmlzKCI6dmlzaWJsZSIpKXx8dGhpcy51aURpYWxvZy5zaG93KCk7dGhp
cy51aURpYWxvZy5jc3Moe3RvcDowLGxlZnQ6MH0pLnBvc2l0aW9uKGEuZXh0ZW5kKHtvZjp3aW5k
b3d9LGcpKTtmfHx0aGlzLnVpRGlhbG9nLmhpZGUoKX0sX3NldE9wdGlvbnM6ZnVuY3Rpb24oZyl7
dmFyIGk9dGhpcyxiPXt9LGY9ZmFsc2U7YS5lYWNoKGcsZnVuY3Rpb24oaixsKXtpLl9zZXRPcHRp
b24oaixsKTsKLWlmKGogaW4gZClmPXRydWU7aWYoaiBpbiBlKWJbal09bH0pO2YmJnRoaXMuX3Np
emUoKTt0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cu
cmVzaXphYmxlKCJvcHRpb24iLGIpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGcsaSl7dmFyIGI9dGhp
cyxmPWIudWlEaWFsb2c7c3dpdGNoKGcpe2Nhc2UgImJlZm9yZWNsb3NlIjpnPSJiZWZvcmVDbG9z
ZSI7YnJlYWs7Y2FzZSAiYnV0dG9ucyI6Yi5fY3JlYXRlQnV0dG9ucyhpKTticmVhaztjYXNlICJj
bG9zZVRleHQiOmIudWlEaWFsb2dUaXRsZWJhckNsb3NlVGV4dC50ZXh0KCIiK2kpO2JyZWFrO2Nh
c2UgImRpYWxvZ0NsYXNzIjpmLnJlbW92ZUNsYXNzKGIub3B0aW9ucy5kaWFsb2dDbGFzcykuYWRk
Q2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFs
bCAiK2kpO2JyZWFrO2Nhc2UgImRpc2FibGVkIjppP2YuYWRkQ2xhc3MoInVpLWRpYWxvZy1kaXNh
YmxlZCIpOgotZi5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik7YnJlYWs7Y2FzZSAi
ZHJhZ2dhYmxlIjp2YXIgaj1mLmlzKCI6ZGF0YShkcmFnZ2FibGUpIik7aiYmIWkmJmYuZHJhZ2dh
YmxlKCJkZXN0cm95Iik7IWomJmkmJmIuX21ha2VEcmFnZ2FibGUoKTticmVhaztjYXNlICJwb3Np
dGlvbiI6Yi5fcG9zaXRpb24oaSk7YnJlYWs7Y2FzZSAicmVzaXphYmxlIjooaj1mLmlzKCI6ZGF0
YShyZXNpemFibGUpIikpJiYhaSYmZi5yZXNpemFibGUoImRlc3Ryb3kiKTtqJiZ0eXBlb2YgaT09
PSJzdHJpbmciJiZmLnJlc2l6YWJsZSgib3B0aW9uIiwiaGFuZGxlcyIsaSk7IWomJmkhPT1mYWxz
ZSYmYi5fbWFrZVJlc2l6YWJsZShpKTticmVhaztjYXNlICJ0aXRsZSI6YSgiLnVpLWRpYWxvZy10
aXRsZSIsYi51aURpYWxvZ1RpdGxlYmFyKS5odG1sKCIiKyhpfHwiJiMxNjA7IikpO2JyZWFrfWEu
V2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KGIsYXJndW1lbnRzKX0sX3NpemU6ZnVu
Y3Rpb24oKXt2YXIgZz0KLXRoaXMub3B0aW9ucyxpLGIsZj10aGlzLnVpRGlhbG9nLmlzKCI6dmlz
aWJsZSIpO3RoaXMuZWxlbWVudC5zaG93KCkuY3NzKHt3aWR0aDoiYXV0byIsbWluSGVpZ2h0OjAs
aGVpZ2h0OjB9KTtpZihnLm1pbldpZHRoPmcud2lkdGgpZy53aWR0aD1nLm1pbldpZHRoO2k9dGhp
cy51aURpYWxvZy5jc3Moe2hlaWdodDoiYXV0byIsd2lkdGg6Zy53aWR0aH0pLmhlaWdodCgpO2I9
TWF0aC5tYXgoMCxnLm1pbkhlaWdodC1pKTtpZihnLmhlaWdodD09PSJhdXRvIilpZihhLnN1cHBv
cnQubWluSGVpZ2h0KXRoaXMuZWxlbWVudC5jc3Moe21pbkhlaWdodDpiLGhlaWdodDoiYXV0byJ9
KTtlbHNle3RoaXMudWlEaWFsb2cuc2hvdygpO2c9dGhpcy5lbGVtZW50LmNzcygiaGVpZ2h0Iiwi
YXV0byIpLmhlaWdodCgpO2Z8fHRoaXMudWlEaWFsb2cuaGlkZSgpO3RoaXMuZWxlbWVudC5oZWln
aHQoTWF0aC5tYXgoZyxiKSl9ZWxzZSB0aGlzLmVsZW1lbnQuaGVpZ2h0KE1hdGgubWF4KGcuaGVp
Z2h0LQotaSwwKSk7dGhpcy51aURpYWxvZy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVp
RGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9
fSk7YS5leHRlbmQoYS51aS5kaWFsb2cse3ZlcnNpb246IjEuOC4xNSIsdXVpZDowLG1heFo6MCxn
ZXRUaXRsZUlkOmZ1bmN0aW9uKGcpe2c9Zy5hdHRyKCJpZCIpO2lmKCFnKXt0aGlzLnV1aWQrPTE7
Zz10aGlzLnV1aWR9cmV0dXJuInVpLWRpYWxvZy10aXRsZS0iK2d9LG92ZXJsYXk6ZnVuY3Rpb24o
Zyl7dGhpcy4kZWw9YS51aS5kaWFsb2cub3ZlcmxheS5jcmVhdGUoZyl9fSk7YS5leHRlbmQoYS51
aS5kaWFsb2cub3ZlcmxheSx7aW5zdGFuY2VzOltdLG9sZEluc3RhbmNlczpbXSxtYXhaOjAsZXZl
bnRzOmEubWFwKCJmb2N1cyxtb3VzZWRvd24sbW91c2V1cCxrZXlkb3duLGtleXByZXNzLGNsaWNr
Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKGcpe3JldHVybiBnKyIuZGlhbG9nLW92ZXJsYXkifSkuam9p
bigiICIpLAotY3JlYXRlOmZ1bmN0aW9uKGcpe2lmKHRoaXMuaW5zdGFuY2VzLmxlbmd0aD09PTAp
e3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnVpLmRpYWxvZy5vdmVybGF5Lmluc3RhbmNlcy5sZW5n
dGgmJmEoZG9jdW1lbnQpLmJpbmQoYS51aS5kaWFsb2cub3ZlcmxheS5ldmVudHMsZnVuY3Rpb24o
Yil7aWYoYShiLnRhcmdldCkuekluZGV4KCk8YS51aS5kaWFsb2cub3ZlcmxheS5tYXhaKXJldHVy
biBmYWxzZX0pfSwxKTthKGRvY3VtZW50KS5iaW5kKCJrZXlkb3duLmRpYWxvZy1vdmVybGF5Iixm
dW5jdGlvbihiKXtpZihnLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmYi5rZXlDb2RlJiZiLmtleUNv
ZGU9PT1hLnVpLmtleUNvZGUuRVNDQVBFKXtnLmNsb3NlKGIpO2IucHJldmVudERlZmF1bHQoKX19
KTthKHdpbmRvdykuYmluZCgicmVzaXplLmRpYWxvZy1vdmVybGF5IixhLnVpLmRpYWxvZy5vdmVy
bGF5LnJlc2l6ZSl9dmFyIGk9KHRoaXMub2xkSW5zdGFuY2VzLnBvcCgpfHxhKCI8ZGl2PjwvZGl2
PiIpLmFkZENsYXNzKCJ1aS13aWRnZXQtb3ZlcmxheSIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5
KS5jc3Moe3dpZHRoOnRoaXMud2lkdGgoKSwKLWhlaWdodDp0aGlzLmhlaWdodCgpfSk7YS5mbi5i
Z2lmcmFtZSYmaS5iZ2lmcmFtZSgpO3RoaXMuaW5zdGFuY2VzLnB1c2goaSk7cmV0dXJuIGl9LGRl
c3Ryb3k6ZnVuY3Rpb24oZyl7dmFyIGk9YS5pbkFycmF5KGcsdGhpcy5pbnN0YW5jZXMpO2khPS0x
JiZ0aGlzLm9sZEluc3RhbmNlcy5wdXNoKHRoaXMuaW5zdGFuY2VzLnNwbGljZShpLDEpWzBdKTt0
aGlzLmluc3RhbmNlcy5sZW5ndGg9PT0wJiZhKFtkb2N1bWVudCx3aW5kb3ddKS51bmJpbmQoIi5k
aWFsb2ctb3ZlcmxheSIpO2cucmVtb3ZlKCk7dmFyIGI9MDthLmVhY2godGhpcy5pbnN0YW5jZXMs
ZnVuY3Rpb24oKXtiPU1hdGgubWF4KGIsdGhpcy5jc3MoInotaW5kZXgiKSl9KTt0aGlzLm1heFo9
Yn0saGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGcsaTtpZihhLmJyb3dzZXIubXNpZSYmYS5icm93c2Vy
LnZlcnNpb248Nyl7Zz1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVp
Z2h0LGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KTsKLWk9TWF0aC5tYXgoZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCk7cmV0
dXJuIGc8aT9hKHdpbmRvdykuaGVpZ2h0KCkrInB4IjpnKyJweCJ9ZWxzZSByZXR1cm4gYShkb2N1
bWVudCkuaGVpZ2h0KCkrInB4In0sd2lkdGg6ZnVuY3Rpb24oKXt2YXIgZyxpO2lmKGEuYnJvd3Nl
ci5tc2llKXtnPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCxk
b2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKTtpPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5vZmZzZXRXaWR0aCxkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKTtyZXR1cm4gZzxpP2Eo
d2luZG93KS53aWR0aCgpKyJweCI6ZysicHgifWVsc2UgcmV0dXJuIGEoZG9jdW1lbnQpLndpZHRo
KCkrInB4In0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGc9YShbXSk7YS5lYWNoKGEudWkuZGlhbG9n
Lm92ZXJsYXkuaW5zdGFuY2VzLGZ1bmN0aW9uKCl7Zz0KLWcuYWRkKHRoaXMpfSk7Zy5jc3Moe3dp
ZHRoOjAsaGVpZ2h0OjB9KS5jc3Moe3dpZHRoOmEudWkuZGlhbG9nLm92ZXJsYXkud2lkdGgoKSxo
ZWlnaHQ6YS51aS5kaWFsb2cub3ZlcmxheS5oZWlnaHQoKX0pfX0pO2EuZXh0ZW5kKGEudWkuZGlh
bG9nLm92ZXJsYXkucHJvdG90eXBlLHtkZXN0cm95OmZ1bmN0aW9uKCl7YS51aS5kaWFsb2cub3Zl
cmxheS5kZXN0cm95KHRoaXMuJGVsKX19KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS51aT1h
LnVpfHx7fTt2YXIgYz0vbGVmdHxjZW50ZXJ8cmlnaHQvLGQ9L3RvcHxjZW50ZXJ8Ym90dG9tLyxl
PWEuZm4ucG9zaXRpb24saD1hLmZuLm9mZnNldDthLmZuLnBvc2l0aW9uPWZ1bmN0aW9uKGcpe2lm
KCFnfHwhZy5vZilyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Zz1hLmV4dGVuZCh7fSxn
KTt2YXIgaT1hKGcub2YpLGI9aVswXSxmPShnLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIp
LGo9Zy5vZmZzZXQ/Zy5vZmZzZXQuc3BsaXQoIiAiKTpbMCwwXSxsLG8sbjtpZihiLm5vZGVUeXBl
PT09OSl7bD1pLndpZHRoKCk7bz1pLmhlaWdodCgpO249e3RvcDowLGxlZnQ6MH19ZWxzZSBpZihi
LnNldFRpbWVvdXQpe2w9aS53aWR0aCgpO289aS5oZWlnaHQoKTtuPXt0b3A6aS5zY3JvbGxUb3Ao
KSxsZWZ0Omkuc2Nyb2xsTGVmdCgpfX1lbHNlIGlmKGIucHJldmVudERlZmF1bHQpe2cuYXQ9Imxl
ZnQgdG9wIjtsPW89MDtuPXt0b3A6Zy5vZi5wYWdlWSwKLWxlZnQ6Zy5vZi5wYWdlWH19ZWxzZXts
PWkub3V0ZXJXaWR0aCgpO289aS5vdXRlckhlaWdodCgpO249aS5vZmZzZXQoKX1hLmVhY2goWyJt
eSIsImF0Il0sZnVuY3Rpb24oKXt2YXIgaz0oZ1t0aGlzXXx8IiIpLnNwbGl0KCIgIik7aWYoay5s
ZW5ndGg9PT0xKWs9Yy50ZXN0KGtbMF0pP2suY29uY2F0KFsiY2VudGVyIl0pOmQudGVzdChrWzBd
KT9bImNlbnRlciJdLmNvbmNhdChrKTpbImNlbnRlciIsImNlbnRlciJdO2tbMF09Yy50ZXN0KGtb
MF0pP2tbMF06ImNlbnRlciI7a1sxXT1kLnRlc3Qoa1sxXSk/a1sxXToiY2VudGVyIjtnW3RoaXNd
PWt9KTtpZihmLmxlbmd0aD09PTEpZlsxXT1mWzBdO2pbMF09cGFyc2VJbnQoalswXSwxMCl8fDA7
aWYoai5sZW5ndGg9PT0xKWpbMV09alswXTtqWzFdPXBhcnNlSW50KGpbMV0sMTApfHwwO2lmKGcu
YXRbMF09PT0icmlnaHQiKW4ubGVmdCs9bDtlbHNlIGlmKGcuYXRbMF09PT0iY2VudGVyIiluLmxl
ZnQrPWwvMjtpZihnLmF0WzFdPT09ImJvdHRvbSIpbi50b3ArPQotbztlbHNlIGlmKGcuYXRbMV09
PT0iY2VudGVyIiluLnRvcCs9by8yO24ubGVmdCs9alswXTtuLnRvcCs9alsxXTtyZXR1cm4gdGhp
cy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9YSh0aGlzKSxtPWsub3V0ZXJXaWR0aCgpLHA9ay5vdXRl
ckhlaWdodCgpLHE9cGFyc2VJbnQoYS5jdXJDU1ModGhpcywibWFyZ2luTGVmdCIsdHJ1ZSkpfHww
LHM9cGFyc2VJbnQoYS5jdXJDU1ModGhpcywibWFyZ2luVG9wIix0cnVlKSl8fDAscj1tK3ErKHBh
cnNlSW50KGEuY3VyQ1NTKHRoaXMsIm1hcmdpblJpZ2h0Iix0cnVlKSl8fDApLHU9cCtzKyhwYXJz
ZUludChhLmN1ckNTUyh0aGlzLCJtYXJnaW5Cb3R0b20iLHRydWUpKXx8MCksdj1hLmV4dGVuZCh7
fSxuKSx3O2lmKGcubXlbMF09PT0icmlnaHQiKXYubGVmdC09bTtlbHNlIGlmKGcubXlbMF09PT0i
Y2VudGVyIil2LmxlZnQtPW0vMjtpZihnLm15WzFdPT09ImJvdHRvbSIpdi50b3AtPXA7ZWxzZSBp
ZihnLm15WzFdPT09ImNlbnRlciIpdi50b3AtPQotcC8yO3YubGVmdD1NYXRoLnJvdW5kKHYubGVm
dCk7di50b3A9TWF0aC5yb3VuZCh2LnRvcCk7dz17bGVmdDp2LmxlZnQtcSx0b3A6di50b3Atc307
YS5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHgseSl7YS51aS5wb3NpdGlvbltmW3hdXSYm
YS51aS5wb3NpdGlvbltmW3hdXVt5XSh2LHt0YXJnZXRXaWR0aDpsLHRhcmdldEhlaWdodDpvLGVs
ZW1XaWR0aDptLGVsZW1IZWlnaHQ6cCxjb2xsaXNpb25Qb3NpdGlvbjp3LGNvbGxpc2lvbldpZHRo
OnIsY29sbGlzaW9uSGVpZ2h0OnUsb2Zmc2V0OmosbXk6Zy5teSxhdDpnLmF0fSl9KTthLmZuLmJn
aWZyYW1lJiZrLmJnaWZyYW1lKCk7ay5vZmZzZXQoYS5leHRlbmQodix7dXNpbmc6Zy51c2luZ30p
KX0pfTthLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oZyxpKXt2YXIgYj1hKHdpbmRv
dyk7Yj1pLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQraS5jb2xsaXNpb25XaWR0aC1iLndpZHRoKCkt
Yi5zY3JvbGxMZWZ0KCk7Zy5sZWZ0PQotYj4wP2cubGVmdC1iOk1hdGgubWF4KGcubGVmdC1pLmNv
bGxpc2lvblBvc2l0aW9uLmxlZnQsZy5sZWZ0KX0sdG9wOmZ1bmN0aW9uKGcsaSl7dmFyIGI9YSh3
aW5kb3cpO2I9aS5jb2xsaXNpb25Qb3NpdGlvbi50b3AraS5jb2xsaXNpb25IZWlnaHQtYi5oZWln
aHQoKS1iLnNjcm9sbFRvcCgpO2cudG9wPWI+MD9nLnRvcC1iOk1hdGgubWF4KGcudG9wLWkuY29s
bGlzaW9uUG9zaXRpb24udG9wLGcudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rpb24oZyxpKXtpZihp
LmF0WzBdIT09ImNlbnRlciIpe3ZhciBiPWEod2luZG93KTtiPWkuY29sbGlzaW9uUG9zaXRpb24u
bGVmdCtpLmNvbGxpc2lvbldpZHRoLWIud2lkdGgoKS1iLnNjcm9sbExlZnQoKTt2YXIgZj1pLm15
WzBdPT09ImxlZnQiPy1pLmVsZW1XaWR0aDppLm15WzBdPT09InJpZ2h0Ij9pLmVsZW1XaWR0aDow
LGo9aS5hdFswXT09PSJsZWZ0Ij9pLnRhcmdldFdpZHRoOi1pLnRhcmdldFdpZHRoLGw9LTIqaS5v
ZmZzZXRbMF07Zy5sZWZ0Kz0KLWkuY29sbGlzaW9uUG9zaXRpb24ubGVmdDwwP2YraitsOmI+MD9m
K2orbDowfX0sdG9wOmZ1bmN0aW9uKGcsaSl7aWYoaS5hdFsxXSE9PSJjZW50ZXIiKXt2YXIgYj1h
KHdpbmRvdyk7Yj1pLmNvbGxpc2lvblBvc2l0aW9uLnRvcCtpLmNvbGxpc2lvbkhlaWdodC1iLmhl
aWdodCgpLWIuc2Nyb2xsVG9wKCk7dmFyIGY9aS5teVsxXT09PSJ0b3AiPy1pLmVsZW1IZWlnaHQ6
aS5teVsxXT09PSJib3R0b20iP2kuZWxlbUhlaWdodDowLGo9aS5hdFsxXT09PSJ0b3AiP2kudGFy
Z2V0SGVpZ2h0Oi1pLnRhcmdldEhlaWdodCxsPS0yKmkub2Zmc2V0WzFdO2cudG9wKz1pLmNvbGxp
c2lvblBvc2l0aW9uLnRvcDwwP2YraitsOmI+MD9mK2orbDowfX19fTtpZighYS5vZmZzZXQuc2V0
T2Zmc2V0KXthLm9mZnNldC5zZXRPZmZzZXQ9ZnVuY3Rpb24oZyxpKXtpZigvc3RhdGljLy50ZXN0
KGEuY3VyQ1NTKGcsInBvc2l0aW9uIikpKWcuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt2YXIg
Yj1hKGcpLAotZj1iLm9mZnNldCgpLGo9cGFyc2VJbnQoYS5jdXJDU1MoZywidG9wIix0cnVlKSwx
MCl8fDAsbD1wYXJzZUludChhLmN1ckNTUyhnLCJsZWZ0Iix0cnVlKSwxMCl8fDA7Zj17dG9wOmku
dG9wLWYudG9wK2osbGVmdDppLmxlZnQtZi5sZWZ0K2x9OyJ1c2luZyJpbiBpP2kudXNpbmcuY2Fs
bChnLGYpOmIuY3NzKGYpfTthLmZuLm9mZnNldD1mdW5jdGlvbihnKXt2YXIgaT10aGlzWzBdO2lm
KCFpfHwhaS5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGcpcmV0dXJuIHRoaXMuZWFjaChm
dW5jdGlvbigpe2Eub2Zmc2V0LnNldE9mZnNldCh0aGlzLGcpfSk7cmV0dXJuIGguY2FsbCh0aGlz
KX19fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhLGMpe2Eud2lkZ2V0KCJ1aS5wcm9ncmVzc2JhciIs
e29wdGlvbnM6e3ZhbHVlOjAsbWF4OjEwMH0sbWluOjAsX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMu
ZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250
ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVt
aW4iOnRoaXMubWluLCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMubWF4LCJhcmlhLXZhbHVl
bm93Ijp0aGlzLl92YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1hKCI8ZGl2IGNsYXNzPSd1aS1wcm9n
cmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iKS5h
cHBlbmRUbyh0aGlzLmVsZW1lbnQpO3RoaXMub2xkVmFsdWU9dGhpcy5fdmFsdWUoKTt0aGlzLl9y
ZWZyZXNoVmFsdWUoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFz
cygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1h
bGwiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92
ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93Iik7Ci10aGlz
LnZhbHVlRGl2LnJlbW92ZSgpO2EuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMs
YXJndW1lbnRzKX0sdmFsdWU6ZnVuY3Rpb24oZCl7aWYoZD09PWMpcmV0dXJuIHRoaXMuX3ZhbHVl
KCk7dGhpcy5fc2V0T3B0aW9uKCJ2YWx1ZSIsZCk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVu
Y3Rpb24oZCxlKXtpZihkPT09InZhbHVlIil7dGhpcy5vcHRpb25zLnZhbHVlPWU7dGhpcy5fcmVm
cmVzaFZhbHVlKCk7dGhpcy5fdmFsdWUoKT09PXRoaXMub3B0aW9ucy5tYXgmJnRoaXMuX3RyaWdn
ZXIoImNvbXBsZXRlIil9YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxh
cmd1bWVudHMpfSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm9wdGlvbnMudmFsdWU7aWYo
dHlwZW9mIGQhPT0ibnVtYmVyIilkPTA7cmV0dXJuIE1hdGgubWluKHRoaXMub3B0aW9ucy5tYXgs
TWF0aC5tYXgodGhpcy5taW4sZCkpfSxfcGVyY2VudGFnZTpmdW5jdGlvbigpe3JldHVybiAxMDAq
Ci10aGlzLl92YWx1ZSgpL3RoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFsdWU6ZnVuY3Rpb24o
KXt2YXIgZD10aGlzLnZhbHVlKCksZT10aGlzLl9wZXJjZW50YWdlKCk7aWYodGhpcy5vbGRWYWx1
ZSE9PWQpe3RoaXMub2xkVmFsdWU9ZDt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiKX10aGlzLnZhbHVl
RGl2LnRvZ2dsZShkPnRoaXMubWluKS50b2dnbGVDbGFzcygidWktY29ybmVyLXJpZ2h0IixkPT09
dGhpcy5vcHRpb25zLm1heCkud2lkdGgoZS50b0ZpeGVkKDApKyIlIik7dGhpcy5lbGVtZW50LmF0
dHIoImFyaWEtdmFsdWVub3ciLGQpfX0pO2EuZXh0ZW5kKGEudWkucHJvZ3Jlc3NiYXIse3ZlcnNp
b246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLnNsaWRl
ciIsYS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRl
OmZhbHNlLGRpc3RhbmNlOjAsbWF4OjEwMCxtaW46MCxvcmllbnRhdGlvbjoiaG9yaXpvbnRhbCIs
cmFuZ2U6ZmFsc2Usc3RlcDoxLHZhbHVlOjAsdmFsdWVzOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24o
KXt2YXIgYz10aGlzLGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlk
ZXItaGFuZGxlIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLGg9
ZC52YWx1ZXMmJmQudmFsdWVzLmxlbmd0aHx8MSxnPVtdO3RoaXMuX21vdXNlU2xpZGluZz10aGlz
Ll9rZXlTbGlkaW5nPWZhbHNlO3RoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9oYW5kbGVJbmRl
eD1udWxsO3RoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrCi10aGlzLm9yaWVudGF0aW9u
KyIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKyhkLmRpc2FibGVk
PyIgdWktc2xpZGVyLWRpc2FibGVkIHVpLWRpc2FibGVkIjoiIikpO3RoaXMucmFuZ2U9YShbXSk7
aWYoZC5yYW5nZSl7aWYoZC5yYW5nZT09PXRydWUpe2lmKCFkLnZhbHVlcylkLnZhbHVlcz1bdGhp
cy5fdmFsdWVNaW4oKSx0aGlzLl92YWx1ZU1pbigpXTtpZihkLnZhbHVlcy5sZW5ndGgmJmQudmFs
dWVzLmxlbmd0aCE9PTIpZC52YWx1ZXM9W2QudmFsdWVzWzBdLGQudmFsdWVzWzBdXX10aGlzLnJh
bmdlPWEoIjxkaXY+PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWkt
c2xpZGVyLXJhbmdlIHVpLXdpZGdldC1oZWFkZXIiKyhkLnJhbmdlPT09Im1pbiJ8fGQucmFuZ2U9
PT0ibWF4Ij8iIHVpLXNsaWRlci1yYW5nZS0iK2QucmFuZ2U6IiIpKX1mb3IodmFyIGk9ZS5sZW5n
dGg7aTxoO2krPTEpZy5wdXNoKCI8YSBjbGFzcz0ndWktc2xpZGVyLWhhbmRsZSB1aS1zdGF0ZS1k
ZWZhdWx0IHVpLWNvcm5lci1hbGwnIGhyZWY9JyMnPjwvYT4iKTsKLXRoaXMuaGFuZGxlcz1lLmFk
ZChhKGcuam9pbigiIikpLmFwcGVuZFRvKGMuZWxlbWVudCkpO3RoaXMuaGFuZGxlPXRoaXMuaGFu
ZGxlcy5lcSgwKTt0aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRlcigiYSIpLmNsaWNr
KGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0aW9uKCl7ZC5kaXNh
YmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXthKHRo
aXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtpZihk
LmRpc2FibGVkKWEodGhpcykuYmx1cigpO2Vsc2V7YSgiLnVpLXNsaWRlciAudWktc3RhdGUtZm9j
dXMiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTthKHRoaXMpLmFkZENsYXNzKCJ1aS1z
dGF0ZS1mb2N1cyIpfX0pLmJsdXIoZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1z
dGF0ZS1mb2N1cyIpfSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oYil7YSh0aGlzKS5kYXRh
KCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiwKLWIpfSk7dGhpcy5oYW5kbGVzLmtleWRvd24oZnVu
Y3Rpb24oYil7dmFyIGY9dHJ1ZSxqPWEodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVyLWhhbmRs
ZSIpLGwsbyxuO2lmKCFjLm9wdGlvbnMuZGlzYWJsZWQpe3N3aXRjaChiLmtleUNvZGUpe2Nhc2Ug
YS51aS5rZXlDb2RlLkhPTUU6Y2FzZSBhLnVpLmtleUNvZGUuRU5EOmNhc2UgYS51aS5rZXlDb2Rl
LlBBR0VfVVA6Y2FzZSBhLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgYS51aS5rZXlDb2RlLlVQ
OmNhc2UgYS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgYS51aS5rZXlDb2RlLkRPV046Y2FzZSBhLnVp
LmtleUNvZGUuTEVGVDpmPWZhbHNlO2lmKCFjLl9rZXlTbGlkaW5nKXtjLl9rZXlTbGlkaW5nPXRy
dWU7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7bD1jLl9zdGFydChiLGopO2lm
KGw9PT1mYWxzZSlyZXR1cm59YnJlYWt9bj1jLm9wdGlvbnMuc3RlcDtsPWMub3B0aW9ucy52YWx1
ZXMmJmMub3B0aW9ucy52YWx1ZXMubGVuZ3RoPwotKG89Yy52YWx1ZXMoaikpOihvPWMudmFsdWUo
KSk7c3dpdGNoKGIua2V5Q29kZSl7Y2FzZSBhLnVpLmtleUNvZGUuSE9NRTpvPWMuX3ZhbHVlTWlu
KCk7YnJlYWs7Y2FzZSBhLnVpLmtleUNvZGUuRU5EOm89Yy5fdmFsdWVNYXgoKTticmVhaztjYXNl
IGEudWkua2V5Q29kZS5QQUdFX1VQOm89Yy5fdHJpbUFsaWduVmFsdWUobCsoYy5fdmFsdWVNYXgo
KS1jLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGEudWkua2V5Q29kZS5QQUdFX0RPV046bz1j
Ll90cmltQWxpZ25WYWx1ZShsLShjLl92YWx1ZU1heCgpLWMuX3ZhbHVlTWluKCkpLzUpO2JyZWFr
O2Nhc2UgYS51aS5rZXlDb2RlLlVQOmNhc2UgYS51aS5rZXlDb2RlLlJJR0hUOmlmKGw9PT1jLl92
YWx1ZU1heCgpKXJldHVybjtvPWMuX3RyaW1BbGlnblZhbHVlKGwrbik7YnJlYWs7Y2FzZSBhLnVp
LmtleUNvZGUuRE9XTjpjYXNlIGEudWkua2V5Q29kZS5MRUZUOmlmKGw9PT1jLl92YWx1ZU1pbigp
KXJldHVybjtvPWMuX3RyaW1BbGlnblZhbHVlKGwtCi1uKTticmVha31jLl9zbGlkZShiLGosbyk7
cmV0dXJuIGZ9fSkua2V5dXAoZnVuY3Rpb24oYil7dmFyIGY9YSh0aGlzKS5kYXRhKCJpbmRleC51
aS1zbGlkZXItaGFuZGxlIik7aWYoYy5fa2V5U2xpZGluZyl7Yy5fa2V5U2xpZGluZz1mYWxzZTtj
Ll9zdG9wKGIsZik7Yy5fY2hhbmdlKGIsZik7YSh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
YWN0aXZlIil9fSk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0s
ZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlzLnJhbmdlLnJlbW92
ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci1ob3Jpem9u
dGFsIHVpLXNsaWRlci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWktd2lkZ2V0IHVpLXdp
ZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlkZXIiKS51bmJpbmQo
Ii5zbGlkZXIiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTsKLXJldHVybiB0aGlzfSxfbW91c2VDYXB0
dXJlOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9ucyxlLGgsZyxpLGI7aWYoZC5kaXNhYmxl
ZClyZXR1cm4gZmFsc2U7dGhpcy5lbGVtZW50U2l6ZT17d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVy
V2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCl9O3RoaXMuZWxlbWVudE9m
ZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7ZT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6
Yy5wYWdlWCx5OmMucGFnZVl9KTtoPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSsx
O2k9dGhpczt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihmKXt2YXIgaj1NYXRoLmFicyhlLWku
dmFsdWVzKGYpKTtpZihoPmope2g9ajtnPWEodGhpcyk7Yj1mfX0pO2lmKGQucmFuZ2U9PT10cnVl
JiZ0aGlzLnZhbHVlcygxKT09PWQubWluKXtiKz0xO2c9YSh0aGlzLmhhbmRsZXNbYl0pfWlmKHRo
aXMuX3N0YXJ0KGMsYik9PT1mYWxzZSlyZXR1cm4gZmFsc2U7Ci10aGlzLl9tb3VzZVNsaWRpbmc9
dHJ1ZTtpLl9oYW5kbGVJbmRleD1iO2cuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmZvY3Vz
KCk7ZD1nLm9mZnNldCgpO3RoaXMuX2NsaWNrT2Zmc2V0PSFhKGMudGFyZ2V0KS5wYXJlbnRzKCku
YW5kU2VsZigpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpP3tsZWZ0OjAsdG9wOjB9OntsZWZ0OmMu
cGFnZVgtZC5sZWZ0LWcud2lkdGgoKS8yLHRvcDpjLnBhZ2VZLWQudG9wLWcuaGVpZ2h0KCkvMi0o
cGFyc2VJbnQoZy5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZy5jc3Mo
ImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZy5jc3MoIm1hcmdpblRvcCIp
LDEwKXx8MCl9O3RoaXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92ZXIiKXx8dGhpcy5f
c2xpZGUoYyxiLGUpO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPXRydWV9LF9tb3VzZVN0YXJ0OmZ1
bmN0aW9uKCl7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dmFyIGQ9Ci10aGlz
Ll9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6Yy5wYWdlWCx5OmMucGFnZVl9KTt0aGlzLl9zbGlkZShj
LHRoaXMuX2hhbmRsZUluZGV4LGQpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihj
KXt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuX21vdXNl
U2xpZGluZz1mYWxzZTt0aGlzLl9zdG9wKGMsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NoYW5n
ZShjLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlzLl9oYW5kbGVJbmRl
eD1udWxsO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0T3JpZW50YXRpb246
ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJ2
ZXJ0aWNhbCI/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVu
Y3Rpb24oYyl7dmFyIGQ7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil7ZD0KLXRo
aXMuZWxlbWVudFNpemUud2lkdGg7Yz1jLngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMu
X2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCl9ZWxzZXtkPXRoaXMuZWxlbWVu
dFNpemUuaGVpZ2h0O2M9Yy55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zm
c2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKX1kPWMvZDtpZihkPjEpZD0xO2lmKGQ8MClkPTA7
aWYodGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpZD0xLWQ7Yz10aGlzLl92YWx1ZU1heCgp
LXRoaXMuX3ZhbHVlTWluKCk7cmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKHRoaXMuX3ZhbHVl
TWluKCkrZCpjKX0sX3N0YXJ0OmZ1bmN0aW9uKGMsZCl7dmFyIGU9e2hhbmRsZTp0aGlzLmhhbmRs
ZXNbZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9w
dGlvbnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZhbHVlcyhkKTsKLWUudmFsdWVzPXRo
aXMudmFsdWVzKCl9cmV0dXJuIHRoaXMuX3RyaWdnZXIoInN0YXJ0IixjLGUpfSxfc2xpZGU6ZnVu
Y3Rpb24oYyxkLGUpe3ZhciBoO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52
YWx1ZXMubGVuZ3RoKXtoPXRoaXMudmFsdWVzKGQ/MDoxKTtpZih0aGlzLm9wdGlvbnMudmFsdWVz
Lmxlbmd0aD09PTImJnRoaXMub3B0aW9ucy5yYW5nZT09PXRydWUmJihkPT09MCYmZT5ofHxkPT09
MSYmZTxoKSllPWg7aWYoZSE9PXRoaXMudmFsdWVzKGQpKXtoPXRoaXMudmFsdWVzKCk7aFtkXT1l
O2M9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGMse2hhbmRsZTp0aGlzLmhhbmRsZXNbZF0sdmFsdWU6
ZSx2YWx1ZXM6aH0pO3RoaXMudmFsdWVzKGQ/MDoxKTtjIT09ZmFsc2UmJnRoaXMudmFsdWVzKGQs
ZSx0cnVlKX19ZWxzZSBpZihlIT09dGhpcy52YWx1ZSgpKXtjPXRoaXMuX3RyaWdnZXIoInNsaWRl
IixjLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2RdLHZhbHVlOmV9KTsKLWMhPT1mYWxzZSYmdGhpcy52
YWx1ZShlKX19LF9zdG9wOmZ1bmN0aW9uKGMsZCl7dmFyIGU9e2hhbmRsZTp0aGlzLmhhbmRsZXNb
ZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlv
bnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZhbHVlcyhkKTtlLnZhbHVlcz10aGlzLnZh
bHVlcygpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGMsZSl9LF9jaGFuZ2U6ZnVuY3Rpb24oYyxkKXtp
ZighdGhpcy5fa2V5U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFyIGU9e2hhbmRsZTp0
aGlzLmhhbmRsZXNbZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVz
JiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZhbHVlcyhkKTtlLnZh
bHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYyxlKX19LHZhbHVlOmZ1
bmN0aW9uKGMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52YWx1ZT0KLXRoaXMu
X3RyaW1BbGlnblZhbHVlKGMpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxs
LDApfWVsc2UgcmV0dXJuIHRoaXMuX3ZhbHVlKCl9LHZhbHVlczpmdW5jdGlvbihjLGQpe3ZhciBl
LGgsZztpZihhcmd1bWVudHMubGVuZ3RoPjEpe3RoaXMub3B0aW9ucy52YWx1ZXNbY109dGhpcy5f
dHJpbUFsaWduVmFsdWUoZCk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGws
Yyl9ZWxzZSBpZihhcmd1bWVudHMubGVuZ3RoKWlmKGEuaXNBcnJheShhcmd1bWVudHNbMF0pKXtl
PXRoaXMub3B0aW9ucy52YWx1ZXM7aD1hcmd1bWVudHNbMF07Zm9yKGc9MDtnPGUubGVuZ3RoO2cr
PTEpe2VbZ109dGhpcy5fdHJpbUFsaWduVmFsdWUoaFtnXSk7dGhpcy5fY2hhbmdlKG51bGwsZyl9
dGhpcy5fcmVmcmVzaFZhbHVlKCl9ZWxzZSByZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhp
cy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKGMpOgotdGhpcy52YWx1ZSgpO2Vs
c2UgcmV0dXJuIHRoaXMuX3ZhbHVlcygpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGMsZCl7dmFyIGUs
aD0wO2lmKGEuaXNBcnJheSh0aGlzLm9wdGlvbnMudmFsdWVzKSloPXRoaXMub3B0aW9ucy52YWx1
ZXMubGVuZ3RoO2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1l
bnRzKTtzd2l0Y2goYyl7Y2FzZSAiZGlzYWJsZWQiOmlmKGQpe3RoaXMuaGFuZGxlcy5maWx0ZXIo
Ii51aS1zdGF0ZS1mb2N1cyIpLmJsdXIoKTt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIik7dGhpcy5oYW5kbGVzLnByb3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5kbGVzLnByb3BBdHRy
KCJkaXNhYmxlZCIsZmFsc2UpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktZGlzYWJsZWQi
KX1icmVhaztjYXNlICJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsKLXRo
aXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZl
cnRpY2FsIikuYWRkQ2xhc3MoInVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRpb24pO3RoaXMuX3Jl
ZnJlc2hWYWx1ZSgpO2JyZWFrO2Nhc2UgInZhbHVlIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhp
cy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCk7dGhpcy5fYW5pbWF0ZU9mZj1m
YWxzZTticmVhaztjYXNlICJ2YWx1ZXMiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZy
ZXNoVmFsdWUoKTtmb3IoZT0wO2U8aDtlKz0xKXRoaXMuX2NoYW5nZShudWxsLGUpO3RoaXMuX2Fu
aW1hdGVPZmY9ZmFsc2U7YnJlYWt9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlv
bnMudmFsdWU7cmV0dXJuIGM9dGhpcy5fdHJpbUFsaWduVmFsdWUoYyl9LF92YWx1ZXM6ZnVuY3Rp
b24oYyl7dmFyIGQsZTtpZihhcmd1bWVudHMubGVuZ3RoKXtkPXRoaXMub3B0aW9ucy52YWx1ZXNb
Y107Ci1yZXR1cm4gZD10aGlzLl90cmltQWxpZ25WYWx1ZShkKX1lbHNle2Q9dGhpcy5vcHRpb25z
LnZhbHVlcy5zbGljZSgpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKz0xKWRbZV09dGhpcy5fdHJpbUFs
aWduVmFsdWUoZFtlXSk7cmV0dXJuIGR9fSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oYyl7aWYo
Yzw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihjPj10aGlzLl92
YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBkPXRoaXMub3B0aW9ucy5zdGVw
PjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxlPShjLXRoaXMuX3ZhbHVlTWluKCkpJWQ7Yz1jLWU7aWYo
TWF0aC5hYnMoZSkqMj49ZCljKz1lPjA/ZDotZDtyZXR1cm4gcGFyc2VGbG9hdChjLnRvRml4ZWQo
NSkpfSxfdmFsdWVNaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1pbn0sX3ZhbHVl
TWF4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFsdWU6ZnVu
Y3Rpb24oKXt2YXIgYz0KLXRoaXMub3B0aW9ucy5yYW5nZSxkPXRoaXMub3B0aW9ucyxlPXRoaXMs
aD0hdGhpcy5fYW5pbWF0ZU9mZj9kLmFuaW1hdGU6ZmFsc2UsZyxpPXt9LGIsZixqLGw7aWYodGhp
cy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpdGhpcy5oYW5kbGVz
LmVhY2goZnVuY3Rpb24obyl7Zz0oZS52YWx1ZXMobyktZS5fdmFsdWVNaW4oKSkvKGUuX3ZhbHVl
TWF4KCktZS5fdmFsdWVNaW4oKSkqMTAwO2lbZS5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8i
bGVmdCI6ImJvdHRvbSJdPWcrIiUiO2EodGhpcykuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3Mi
XShpLGQuYW5pbWF0ZSk7aWYoZS5vcHRpb25zLnJhbmdlPT09dHJ1ZSlpZihlLm9yaWVudGF0aW9u
PT09Imhvcml6b250YWwiKXtpZihvPT09MCllLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoi
Y3NzIl0oe2xlZnQ6ZysiJSJ9LGQuYW5pbWF0ZSk7aWYobz09PTEpZS5yYW5nZVtoPyJhbmltYXRl
IjoiY3NzIl0oe3dpZHRoOmctCi1iKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0
ZX0pfWVsc2V7aWYobz09PTApZS5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKHti
b3R0b206ZysiJSJ9LGQuYW5pbWF0ZSk7aWYobz09PTEpZS5yYW5nZVtoPyJhbmltYXRlIjoiY3Nz
Il0oe2hlaWdodDpnLWIrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSl9Yj1n
fSk7ZWxzZXtmPXRoaXMudmFsdWUoKTtqPXRoaXMuX3ZhbHVlTWluKCk7bD10aGlzLl92YWx1ZU1h
eCgpO2c9bCE9PWo/KGYtaikvKGwtaikqMTAwOjA7aVtlLm9yaWVudGF0aW9uPT09Imhvcml6b250
YWwiPyJsZWZ0IjoiYm90dG9tIl09ZysiJSI7dGhpcy5oYW5kbGUuc3RvcCgxLDEpW2g/ImFuaW1h
dGUiOiJjc3MiXShpLGQuYW5pbWF0ZSk7aWYoYz09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9uPT09
Imhvcml6b250YWwiKXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3MiXSh7d2lk
dGg6ZysiJSJ9LAotZC5hbmltYXRlKTtpZihjPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0i
aG9yaXpvbnRhbCIpdGhpcy5yYW5nZVtoPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1nKyIl
In0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0ZX0pO2lmKGM9PT0ibWluIiYmdGhpcy5v
cmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6
ImNzcyJdKHtoZWlnaHQ6ZysiJSJ9LGQuYW5pbWF0ZSk7aWYoYz09PSJtYXgiJiZ0aGlzLm9yaWVu
dGF0aW9uPT09InZlcnRpY2FsIil0aGlzLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0
OjEwMC1nKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0ZX0pfX19KTthLmV4dGVu
ZChhLnVpLnNsaWRlcix7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKLShmdW5jdGlvbihh
LGMpe2Z1bmN0aW9uIGQoKXtyZXR1cm4rK2h9ZnVuY3Rpb24gZSgpe3JldHVybisrZ312YXIgaD0w
LGc9MDthLndpZGdldCgidWkudGFicyIse29wdGlvbnM6e2FkZDpudWxsLGFqYXhPcHRpb25zOm51
bGwsY2FjaGU6ZmFsc2UsY29va2llOm51bGwsY29sbGFwc2libGU6ZmFsc2UsZGlzYWJsZTpudWxs
LGRpc2FibGVkOltdLGVuYWJsZTpudWxsLGV2ZW50OiJjbGljayIsZng6bnVsbCxpZFByZWZpeDoi
dWktdGFicy0iLGxvYWQ6bnVsbCxwYW5lbFRlbXBsYXRlOiI8ZGl2PjwvZGl2PiIscmVtb3ZlOm51
bGwsc2VsZWN0Om51bGwsc2hvdzpudWxsLHNwaW5uZXI6IjxlbT5Mb2FkaW5nJiM4MjMwOzwvZW0+
Iix0YWJUZW1wbGF0ZToiPGxpPjxhIGhyZWY9JyN7aHJlZn0nPjxzcGFuPiN7bGFiZWx9PC9zcGFu
PjwvYT48L2xpPiJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl90YWJpZnkodHJ1ZSl9LF9zZXRP
cHRpb246ZnVuY3Rpb24oaSxiKXtpZihpPT0ic2VsZWN0ZWQiKXRoaXMub3B0aW9ucy5jb2xsYXBz
aWJsZSYmCi1iPT10aGlzLm9wdGlvbnMuc2VsZWN0ZWR8fHRoaXMuc2VsZWN0KGIpO2Vsc2V7dGhp
cy5vcHRpb25zW2ldPWI7dGhpcy5fdGFiaWZ5KCl9fSxfdGFiSWQ6ZnVuY3Rpb24oaSl7cmV0dXJu
IGkudGl0bGUmJmkudGl0bGUucmVwbGFjZSgvXHMvZywiXyIpLnJlcGxhY2UoL1teXHdcdTAwYzAt
XHVGRkZGLV0vZywiIil8fHRoaXMub3B0aW9ucy5pZFByZWZpeCtkKCl9LF9zYW5pdGl6ZVNlbGVj
dG9yOmZ1bmN0aW9uKGkpe3JldHVybiBpLnJlcGxhY2UoLzovZywiXFw6Iil9LF9jb29raWU6ZnVu
Y3Rpb24oKXt2YXIgaT10aGlzLmNvb2tpZXx8KHRoaXMuY29va2llPXRoaXMub3B0aW9ucy5jb29r
aWUubmFtZXx8InVpLXRhYnMtIitlKCkpO3JldHVybiBhLmNvb2tpZS5hcHBseShudWxsLFtpXS5j
b25jYXQoYS5tYWtlQXJyYXkoYXJndW1lbnRzKSkpfSxfdWk6ZnVuY3Rpb24oaSxiKXtyZXR1cm57
dGFiOmkscGFuZWw6YixpbmRleDp0aGlzLmFuY2hvcnMuaW5kZXgoaSl9fSxfY2xlYW51cDpmdW5j
dGlvbigpe3RoaXMubGlzLmZpbHRlcigiLnVpLXN0YXRlLXByb2Nlc3NpbmciKS5yZW1vdmVDbGFz
cygidWktc3RhdGUtcHJvY2Vzc2luZyIpLmZpbmQoInNwYW46ZGF0YShsYWJlbC50YWJzKSIpLmVh
Y2goZnVuY3Rpb24oKXt2YXIgaT0KLWEodGhpcyk7aS5odG1sKGkuZGF0YSgibGFiZWwudGFicyIp
KS5yZW1vdmVEYXRhKCJsYWJlbC50YWJzIil9KX0sX3RhYmlmeTpmdW5jdGlvbihpKXtmdW5jdGlv
biBiKHIsdSl7ci5jc3MoImRpc3BsYXkiLCIiKTshYS5zdXBwb3J0Lm9wYWNpdHkmJnUub3BhY2l0
eSYmclswXS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfXZhciBmPXRoaXMsaj10aGlz
Lm9wdGlvbnMsbD0vXiMuKy87dGhpcy5saXN0PXRoaXMuZWxlbWVudC5maW5kKCJvbCx1bCIpLmVx
KDApO3RoaXMubGlzPWEoIiA+IGxpOmhhcyhhW2hyZWZdKSIsdGhpcy5saXN0KTt0aGlzLmFuY2hv
cnM9dGhpcy5saXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGEoImEiLHRoaXMpWzBdfSk7dGhpcy5w
YW5lbHM9YShbXSk7dGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24ocix1KXt2YXIgdj1hKHUpLmF0
dHIoImhyZWYiKSx3PXYuc3BsaXQoIiMiKVswXSx4O2lmKHcmJih3PT09bG9jYXRpb24udG9TdHJp
bmcoKS5zcGxpdCgiIyIpWzBdfHwKLSh4PWEoImJhc2UiKVswXSkmJnc9PT14LmhyZWYpKXt2PXUu
aGFzaDt1LmhyZWY9dn1pZihsLnRlc3QodikpZi5wYW5lbHM9Zi5wYW5lbHMuYWRkKGYuZWxlbWVu
dC5maW5kKGYuX3Nhbml0aXplU2VsZWN0b3IodikpKTtlbHNlIGlmKHYmJnYhPT0iIyIpe2EuZGF0
YSh1LCJocmVmLnRhYnMiLHYpO2EuZGF0YSh1LCJsb2FkLnRhYnMiLHYucmVwbGFjZSgvIy4qJC8s
IiIpKTt2PWYuX3RhYklkKHUpO3UuaHJlZj0iIyIrdjt1PWYuZWxlbWVudC5maW5kKCIjIit2KTtp
ZighdS5sZW5ndGgpe3U9YShqLnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIix2KS5hZGRDbGFzcygi
dWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIikuaW5zZXJ0
QWZ0ZXIoZi5wYW5lbHNbci0xXXx8Zi5saXN0KTt1LmRhdGEoImRlc3Ryb3kudGFicyIsdHJ1ZSl9
Zi5wYW5lbHM9Zi5wYW5lbHMuYWRkKHUpfWVsc2Ugai5kaXNhYmxlZC5wdXNoKHIpfSk7aWYoaSl7
dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVu
dCB1aS1jb3JuZXItYWxsIik7Ci10aGlzLmxpc3QuYWRkQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhl
bHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXIt
YWxsIik7dGhpcy5saXMuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIp
O3RoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVp
LWNvcm5lci1ib3R0b20iKTtpZihqLnNlbGVjdGVkPT09Yyl7bG9jYXRpb24uaGFzaCYmdGhpcy5h
bmNob3JzLmVhY2goZnVuY3Rpb24ocix1KXtpZih1Lmhhc2g9PWxvY2F0aW9uLmhhc2gpe2ouc2Vs
ZWN0ZWQ9cjtyZXR1cm4gZmFsc2V9fSk7aWYodHlwZW9mIGouc2VsZWN0ZWQhPT0ibnVtYmVyIiYm
ai5jb29raWUpai5zZWxlY3RlZD1wYXJzZUludChmLl9jb29raWUoKSwxMCk7aWYodHlwZW9mIGou
c2VsZWN0ZWQhPT0ibnVtYmVyIiYmdGhpcy5saXMuZmlsdGVyKCIudWktdGFicy1zZWxlY3RlZCIp
Lmxlbmd0aClqLnNlbGVjdGVkPQotdGhpcy5saXMuaW5kZXgodGhpcy5saXMuZmlsdGVyKCIudWkt
dGFicy1zZWxlY3RlZCIpKTtqLnNlbGVjdGVkPWouc2VsZWN0ZWR8fCh0aGlzLmxpcy5sZW5ndGg/
MDotMSl9ZWxzZSBpZihqLnNlbGVjdGVkPT09bnVsbClqLnNlbGVjdGVkPS0xO2ouc2VsZWN0ZWQ9
ai5zZWxlY3RlZD49MCYmdGhpcy5hbmNob3JzW2ouc2VsZWN0ZWRdfHxqLnNlbGVjdGVkPDA/ai5z
ZWxlY3RlZDowO2ouZGlzYWJsZWQ9YS51bmlxdWUoai5kaXNhYmxlZC5jb25jYXQoYS5tYXAodGhp
cy5saXMuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihyKXtyZXR1cm4gZi5s
aXMuaW5kZXgocil9KSkpLnNvcnQoKTthLmluQXJyYXkoai5zZWxlY3RlZCxqLmRpc2FibGVkKSE9
LTEmJmouZGlzYWJsZWQuc3BsaWNlKGEuaW5BcnJheShqLnNlbGVjdGVkLGouZGlzYWJsZWQpLDEp
O3RoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxpcy5yZW1vdmVDbGFz
cygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTsKLWlmKGouc2VsZWN0ZWQ+PTAm
JnRoaXMuYW5jaG9ycy5sZW5ndGgpe2YuZWxlbWVudC5maW5kKGYuX3Nhbml0aXplU2VsZWN0b3Io
Zi5hbmNob3JzW2ouc2VsZWN0ZWRdLmhhc2gpKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIik7
dGhpcy5saXMuZXEoai5zZWxlY3RlZCkuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3Rh
dGUtYWN0aXZlIik7Zi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe2YuX3RyaWdnZXIo
InNob3ciLG51bGwsZi5fdWkoZi5hbmNob3JzW2ouc2VsZWN0ZWRdLGYuZWxlbWVudC5maW5kKGYu
X3Nhbml0aXplU2VsZWN0b3IoZi5hbmNob3JzW2ouc2VsZWN0ZWRdLmhhc2gpKVswXSkpfSk7dGhp
cy5sb2FkKGouc2VsZWN0ZWQpfWEod2luZG93KS5iaW5kKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7Zi5s
aXMuYWRkKGYuYW5jaG9ycykudW5iaW5kKCIudGFicyIpO2YubGlzPWYuYW5jaG9ycz1mLnBhbmVs
cz1udWxsfSl9ZWxzZSBqLnNlbGVjdGVkPXRoaXMubGlzLmluZGV4KHRoaXMubGlzLmZpbHRlcigi
LnVpLXRhYnMtc2VsZWN0ZWQiKSk7Ci10aGlzLmVsZW1lbnRbai5jb2xsYXBzaWJsZT8iYWRkQ2xh
c3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS10YWJzLWNvbGxhcHNpYmxlIik7ai5jb29raWUmJnRoaXMu
X2Nvb2tpZShqLnNlbGVjdGVkLGouY29va2llKTtpPTA7Zm9yKHZhciBvO289dGhpcy5saXNbaV07
aSsrKWEobylbYS5pbkFycmF5KGksai5kaXNhYmxlZCkhPS0xJiYhYShvKS5oYXNDbGFzcygidWkt
dGFicy1zZWxlY3RlZCIpPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXN0YXRlLWRpc2Fi
bGVkIik7ai5jYWNoZT09PWZhbHNlJiZ0aGlzLmFuY2hvcnMucmVtb3ZlRGF0YSgiY2FjaGUudGFi
cyIpO3RoaXMubGlzLmFkZCh0aGlzLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTtpZihqLmV2ZW50
IT09Im1vdXNlb3ZlciIpe3ZhciBuPWZ1bmN0aW9uKHIsdSl7dS5pcygiOm5vdCgudWktc3RhdGUt
ZGlzYWJsZWQpIikmJnUuYWRkQ2xhc3MoInVpLXN0YXRlLSIrcil9LGs9ZnVuY3Rpb24ocix1KXt1
LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS0iKwotcil9O3RoaXMubGlzLmJpbmQoIm1vdXNlb3Zlci50
YWJzIixmdW5jdGlvbigpe24oImhvdmVyIixhKHRoaXMpKX0pO3RoaXMubGlzLmJpbmQoIm1vdXNl
b3V0LnRhYnMiLGZ1bmN0aW9uKCl7aygiaG92ZXIiLGEodGhpcykpfSk7dGhpcy5hbmNob3JzLmJp
bmQoImZvY3VzLnRhYnMiLGZ1bmN0aW9uKCl7bigiZm9jdXMiLGEodGhpcykuY2xvc2VzdCgibGki
KSl9KTt0aGlzLmFuY2hvcnMuYmluZCgiYmx1ci50YWJzIixmdW5jdGlvbigpe2soImZvY3VzIixh
KHRoaXMpLmNsb3Nlc3QoImxpIikpfSl9dmFyIG0scDtpZihqLmZ4KWlmKGEuaXNBcnJheShqLmZ4
KSl7bT1qLmZ4WzBdO3A9ai5meFsxXX1lbHNlIG09cD1qLmZ4O3ZhciBxPXA/ZnVuY3Rpb24ocix1
KXthKHIpLmNsb3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUt
YWN0aXZlIik7dS5oaWRlKCkucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpLmFuaW1hdGUocCxw
LmR1cmF0aW9ufHwibm9ybWFsIiwKLWZ1bmN0aW9uKCl7Yih1LHApO2YuX3RyaWdnZXIoInNob3ci
LG51bGwsZi5fdWkocix1WzBdKSl9KX06ZnVuY3Rpb24ocix1KXthKHIpLmNsb3Nlc3QoImxpIiku
YWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7dS5yZW1vdmVDbGFz
cygidWktdGFicy1oaWRlIik7Zi5fdHJpZ2dlcigic2hvdyIsbnVsbCxmLl91aShyLHVbMF0pKX0s
cz1tP2Z1bmN0aW9uKHIsdSl7dS5hbmltYXRlKG0sbS5kdXJhdGlvbnx8Im5vcm1hbCIsZnVuY3Rp
b24oKXtmLmxpcy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUi
KTt1LmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTtiKHUsbSk7Zi5lbGVtZW50LmRlcXVldWUoInRh
YnMiKX0pfTpmdW5jdGlvbihyLHUpe2YubGlzLnJlbW92ZUNsYXNzKCJ1aS10YWJzLXNlbGVjdGVk
IHVpLXN0YXRlLWFjdGl2ZSIpO3UuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO2YuZWxlbWVudC5k
ZXF1ZXVlKCJ0YWJzIil9OwotdGhpcy5hbmNob3JzLmJpbmQoai5ldmVudCsiLnRhYnMiLGZ1bmN0
aW9uKCl7dmFyIHI9dGhpcyx1PWEocikuY2xvc2VzdCgibGkiKSx2PWYucGFuZWxzLmZpbHRlcigi
Om5vdCgudWktdGFicy1oaWRlKSIpLHc9Zi5lbGVtZW50LmZpbmQoZi5fc2FuaXRpemVTZWxlY3Rv
cihyLmhhc2gpKTtpZih1Lmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIikmJiFqLmNvbGxhcHNp
YmxlfHx1Lmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHx1Lmhhc0NsYXNzKCJ1aS1zdGF0
ZS1wcm9jZXNzaW5nIil8fGYucGFuZWxzLmZpbHRlcigiOmFuaW1hdGVkIikubGVuZ3RofHxmLl90
cmlnZ2VyKCJzZWxlY3QiLG51bGwsZi5fdWkodGhpcyx3WzBdKSk9PT1mYWxzZSl7dGhpcy5ibHVy
KCk7cmV0dXJuIGZhbHNlfWouc2VsZWN0ZWQ9Zi5hbmNob3JzLmluZGV4KHRoaXMpO2YuYWJvcnQo
KTtpZihqLmNvbGxhcHNpYmxlKWlmKHUuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSl7ai5z
ZWxlY3RlZD0KLS0xO2ouY29va2llJiZmLl9jb29raWUoai5zZWxlY3RlZCxqLmNvb2tpZSk7Zi5l
bGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3Mocix2KX0pLmRlcXVldWUoInRhYnMiKTt0
aGlzLmJsdXIoKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZighdi5sZW5ndGgpe2ouY29va2llJiZmLl9j
b29raWUoai5zZWxlY3RlZCxqLmNvb2tpZSk7Zi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlv
bigpe3Eocix3KX0pO2YubG9hZChmLmFuY2hvcnMuaW5kZXgodGhpcykpO3RoaXMuYmx1cigpO3Jl
dHVybiBmYWxzZX1qLmNvb2tpZSYmZi5fY29va2llKGouc2VsZWN0ZWQsai5jb29raWUpO2lmKHcu
bGVuZ3RoKXt2Lmxlbmd0aCYmZi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3Mocix2
KX0pO2YuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtxKHIsdyl9KTtmLmxvYWQoZi5h
bmNob3JzLmluZGV4KHRoaXMpKX1lbHNlIHRocm93ImpRdWVyeSBVSSBUYWJzOiBNaXNtYXRjaGlu
ZyBmcmFnbWVudCBpZGVudGlmaWVyLiI7Ci1hLmJyb3dzZXIubXNpZSYmdGhpcy5ibHVyKCl9KTt0
aGlzLmFuY2hvcnMuYmluZCgiY2xpY2sudGFicyIsZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9KX0s
X2dldEluZGV4OmZ1bmN0aW9uKGkpe2lmKHR5cGVvZiBpPT0ic3RyaW5nIilpPXRoaXMuYW5jaG9y
cy5pbmRleCh0aGlzLmFuY2hvcnMuZmlsdGVyKCJbaHJlZiQ9IitpKyJdIikpO3JldHVybiBpfSxk
ZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5vcHRpb25zO3RoaXMuYWJvcnQoKTt0aGlzLmVs
ZW1lbnQudW5iaW5kKCIudGFicyIpLnJlbW92ZUNsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13
aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2libGUiKS5yZW1vdmVE
YXRhKCJ0YWJzIik7dGhpcy5saXN0LnJlbW92ZUNsYXNzKCJ1aS10YWJzLW5hdiB1aS1oZWxwZXIt
cmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIp
O3RoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9Ci1hLmRhdGEodGhpcywiaHJlZi50
YWJzIik7aWYoYil0aGlzLmhyZWY9Yjt2YXIgZj1hKHRoaXMpLnVuYmluZCgiLnRhYnMiKTthLmVh
Y2goWyJocmVmIiwibG9hZCIsImNhY2hlIl0sZnVuY3Rpb24oaixsKXtmLnJlbW92ZURhdGEobCsi
LnRhYnMiKX0pfSk7dGhpcy5saXMudW5iaW5kKCIudGFicyIpLmFkZCh0aGlzLnBhbmVscykuZWFj
aChmdW5jdGlvbigpe2EuZGF0YSh0aGlzLCJkZXN0cm95LnRhYnMiKT9hKHRoaXMpLnJlbW92ZSgp
OmEodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCB1aS10
YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1ob3ZlciB1aS1zdGF0ZS1mb2N1
cyB1aS1zdGF0ZS1kaXNhYmxlZCB1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNv
cm5lci1ib3R0b20gdWktdGFicy1oaWRlIil9KTtpLmNvb2tpZSYmdGhpcy5fY29va2llKG51bGws
aS5jb29raWUpO3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oaSwKLWIsZil7aWYoZj09PWMpZj10
aGlzLmFuY2hvcnMubGVuZ3RoO3ZhciBqPXRoaXMsbD10aGlzLm9wdGlvbnM7Yj1hKGwudGFiVGVt
cGxhdGUucmVwbGFjZSgvI1x7aHJlZlx9L2csaSkucmVwbGFjZSgvI1x7bGFiZWxcfS9nLGIpKTtp
PSFpLmluZGV4T2YoIiMiKT9pLnJlcGxhY2UoIiMiLCIiKTp0aGlzLl90YWJJZChhKCJhIixiKVsw
XSk7Yi5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIikuZGF0YSgiZGVz
dHJveS50YWJzIix0cnVlKTt2YXIgbz1qLmVsZW1lbnQuZmluZCgiIyIraSk7by5sZW5ndGh8fChv
PWEobC5wYW5lbFRlbXBsYXRlKS5hdHRyKCJpZCIsaSkuZGF0YSgiZGVzdHJveS50YWJzIix0cnVl
KSk7by5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXIt
Ym90dG9tIHVpLXRhYnMtaGlkZSIpO2lmKGY+PXRoaXMubGlzLmxlbmd0aCl7Yi5hcHBlbmRUbyh0
aGlzLmxpc3QpO28uYXBwZW5kVG8odGhpcy5saXN0WzBdLnBhcmVudE5vZGUpfWVsc2V7Yi5pbnNl
cnRCZWZvcmUodGhpcy5saXNbZl0pOwotby5pbnNlcnRCZWZvcmUodGhpcy5wYW5lbHNbZl0pfWwu
ZGlzYWJsZWQ9YS5tYXAobC5kaXNhYmxlZCxmdW5jdGlvbihuKXtyZXR1cm4gbj49Zj8rK246bn0p
O3RoaXMuX3RhYmlmeSgpO2lmKHRoaXMuYW5jaG9ycy5sZW5ndGg9PTEpe2wuc2VsZWN0ZWQ9MDti
LmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO28ucmVtb3ZlQ2xh
c3MoInVpLXRhYnMtaGlkZSIpO3RoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtq
Ll90cmlnZ2VyKCJzaG93IixudWxsLGouX3VpKGouYW5jaG9yc1swXSxqLnBhbmVsc1swXSkpfSk7
dGhpcy5sb2FkKDApfXRoaXMuX3RyaWdnZXIoImFkZCIsbnVsbCx0aGlzLl91aSh0aGlzLmFuY2hv
cnNbZl0sdGhpcy5wYW5lbHNbZl0pKTtyZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKGkpe2k9
dGhpcy5fZ2V0SW5kZXgoaSk7dmFyIGI9dGhpcy5vcHRpb25zLGY9dGhpcy5saXMuZXEoaSkucmVt
b3ZlKCksaj10aGlzLnBhbmVscy5lcShpKS5yZW1vdmUoKTsKLWlmKGYuaGFzQ2xhc3MoInVpLXRh
YnMtc2VsZWN0ZWQiKSYmdGhpcy5hbmNob3JzLmxlbmd0aD4xKXRoaXMuc2VsZWN0KGkrKGkrMTx0
aGlzLmFuY2hvcnMubGVuZ3RoPzE6LTEpKTtiLmRpc2FibGVkPWEubWFwKGEuZ3JlcChiLmRpc2Fi
bGVkLGZ1bmN0aW9uKGwpe3JldHVybiBsIT1pfSksZnVuY3Rpb24obCl7cmV0dXJuIGw+PWk/LS1s
Omx9KTt0aGlzLl90YWJpZnkoKTt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLG51bGwsdGhpcy5fdWko
Zi5maW5kKCJhIilbMF0salswXSkpO3JldHVybiB0aGlzfSxlbmFibGU6ZnVuY3Rpb24oaSl7aT10
aGlzLl9nZXRJbmRleChpKTt2YXIgYj10aGlzLm9wdGlvbnM7aWYoYS5pbkFycmF5KGksYi5kaXNh
YmxlZCkhPS0xKXt0aGlzLmxpcy5lcShpKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQi
KTtiLmRpc2FibGVkPWEuZ3JlcChiLmRpc2FibGVkLGZ1bmN0aW9uKGYpe3JldHVybiBmIT1pfSk7
dGhpcy5fdHJpZ2dlcigiZW5hYmxlIixudWxsLAotdGhpcy5fdWkodGhpcy5hbmNob3JzW2ldLHRo
aXMucGFuZWxzW2ldKSk7cmV0dXJuIHRoaXN9fSxkaXNhYmxlOmZ1bmN0aW9uKGkpe2k9dGhpcy5f
Z2V0SW5kZXgoaSk7dmFyIGI9dGhpcy5vcHRpb25zO2lmKGkhPWIuc2VsZWN0ZWQpe3RoaXMubGlz
LmVxKGkpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZGlzYWJsZWQucHVzaChpKTti
LmRpc2FibGVkLnNvcnQoKTt0aGlzLl90cmlnZ2VyKCJkaXNhYmxlIixudWxsLHRoaXMuX3VpKHRo
aXMuYW5jaG9yc1tpXSx0aGlzLnBhbmVsc1tpXSkpfXJldHVybiB0aGlzfSxzZWxlY3Q6ZnVuY3Rp
b24oaSl7aT10aGlzLl9nZXRJbmRleChpKTtpZihpPT0tMSlpZih0aGlzLm9wdGlvbnMuY29sbGFw
c2libGUmJnRoaXMub3B0aW9ucy5zZWxlY3RlZCE9LTEpaT10aGlzLm9wdGlvbnMuc2VsZWN0ZWQ7
ZWxzZSByZXR1cm4gdGhpczt0aGlzLmFuY2hvcnMuZXEoaSkudHJpZ2dlcih0aGlzLm9wdGlvbnMu
ZXZlbnQrIi50YWJzIik7cmV0dXJuIHRoaXN9LAotbG9hZDpmdW5jdGlvbihpKXtpPXRoaXMuX2dl
dEluZGV4KGkpO3ZhciBiPXRoaXMsZj10aGlzLm9wdGlvbnMsaj10aGlzLmFuY2hvcnMuZXEoaSlb
MF0sbD1hLmRhdGEoaiwibG9hZC50YWJzIik7dGhpcy5hYm9ydCgpO2lmKCFsfHx0aGlzLmVsZW1l
bnQucXVldWUoInRhYnMiKS5sZW5ndGghPT0wJiZhLmRhdGEoaiwiY2FjaGUudGFicyIpKXRoaXMu
ZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIik7ZWxzZXt0aGlzLmxpcy5lcShpKS5hZGRDbGFzcygidWkt
c3RhdGUtcHJvY2Vzc2luZyIpO2lmKGYuc3Bpbm5lcil7dmFyIG89YSgic3BhbiIsaik7by5kYXRh
KCJsYWJlbC50YWJzIixvLmh0bWwoKSkuaHRtbChmLnNwaW5uZXIpfXRoaXMueGhyPWEuYWpheChh
LmV4dGVuZCh7fSxmLmFqYXhPcHRpb25zLHt1cmw6bCxzdWNjZXNzOmZ1bmN0aW9uKG4sayl7Yi5l
bGVtZW50LmZpbmQoYi5fc2FuaXRpemVTZWxlY3RvcihqLmhhc2gpKS5odG1sKG4pO2IuX2NsZWFu
dXAoKTtmLmNhY2hlJiZhLmRhdGEoaiwKLSJjYWNoZS50YWJzIix0cnVlKTtiLl90cmlnZ2VyKCJs
b2FkIixudWxsLGIuX3VpKGIuYW5jaG9yc1tpXSxiLnBhbmVsc1tpXSkpO3RyeXtmLmFqYXhPcHRp
b25zLnN1Y2Nlc3MobixrKX1jYXRjaChtKXt9fSxlcnJvcjpmdW5jdGlvbihuLGspe2IuX2NsZWFu
dXAoKTtiLl90cmlnZ2VyKCJsb2FkIixudWxsLGIuX3VpKGIuYW5jaG9yc1tpXSxiLnBhbmVsc1tp
XSkpO3RyeXtmLmFqYXhPcHRpb25zLmVycm9yKG4sayxpLGopfWNhdGNoKG0pe319fSkpO2IuZWxl
bWVudC5kZXF1ZXVlKCJ0YWJzIik7cmV0dXJuIHRoaXN9fSxhYm9ydDpmdW5jdGlvbigpe3RoaXMu
ZWxlbWVudC5xdWV1ZShbXSk7dGhpcy5wYW5lbHMuc3RvcChmYWxzZSx0cnVlKTt0aGlzLmVsZW1l
bnQucXVldWUoInRhYnMiLHRoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIpLnNwbGljZSgtMiwyKSk7
aWYodGhpcy54aHIpe3RoaXMueGhyLmFib3J0KCk7ZGVsZXRlIHRoaXMueGhyfXRoaXMuX2NsZWFu
dXAoKTtyZXR1cm4gdGhpc30sCi11cmw6ZnVuY3Rpb24oaSxiKXt0aGlzLmFuY2hvcnMuZXEoaSku
cmVtb3ZlRGF0YSgiY2FjaGUudGFicyIpLmRhdGEoImxvYWQudGFicyIsYik7cmV0dXJuIHRoaXN9
LGxlbmd0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFuY2hvcnMubGVuZ3RofX0pO2EuZXh0ZW5k
KGEudWkudGFicyx7dmVyc2lvbjoiMS44LjE1In0pO2EuZXh0ZW5kKGEudWkudGFicy5wcm90b3R5
cGUse3JvdGF0aW9uOm51bGwscm90YXRlOmZ1bmN0aW9uKGksYil7dmFyIGY9dGhpcyxqPXRoaXMu
b3B0aW9ucyxsPWYuX3JvdGF0ZXx8KGYuX3JvdGF0ZT1mdW5jdGlvbihvKXtjbGVhclRpbWVvdXQo
Zi5yb3RhdGlvbik7Zi5yb3RhdGlvbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49ai5zZWxl
Y3RlZDtmLnNlbGVjdCgrK248Zi5hbmNob3JzLmxlbmd0aD9uOjApfSxpKTtvJiZvLnN0b3BQcm9w
YWdhdGlvbigpfSk7Yj1mLl91bnJvdGF0ZXx8KGYuX3Vucm90YXRlPSFiP2Z1bmN0aW9uKG8pe28u
Y2xpZW50WCYmCi1mLnJvdGF0ZShudWxsKX06ZnVuY3Rpb24oKXt0PWouc2VsZWN0ZWQ7bCgpfSk7
aWYoaSl7dGhpcy5lbGVtZW50LmJpbmQoInRhYnNzaG93IixsKTt0aGlzLmFuY2hvcnMuYmluZChq
LmV2ZW50KyIudGFicyIsYik7bCgpfWVsc2V7Y2xlYXJUaW1lb3V0KGYucm90YXRpb24pO3RoaXMu
ZWxlbWVudC51bmJpbmQoInRhYnNzaG93IixsKTt0aGlzLmFuY2hvcnMudW5iaW5kKGouZXZlbnQr
Ii50YWJzIixiKTtkZWxldGUgdGhpcy5fcm90YXRlO2RlbGV0ZSB0aGlzLl91bnJvdGF0ZX1yZXR1
cm4gdGhpc319KX0pKGpRdWVyeSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341229</attachid>
            <date>2018-05-24 15:33:37 -0700</date>
            <delta_ts>2018-05-25 16:04:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185949-20180524153336.patch</filename>
            <type>text/plain</type>
            <size>538834</size>
            <attacher name="Roy Reapor">rreapor</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzIxNjYpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDE4
LTA1LTI0ICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5jb20+CisKKyAgICAgICAgalF1ZXJ5
IFVJIGltYWdlIGFzc2V0cyBhcmUgbWlzc2luZyBvbiB3ZWJraXQub3JnIHdlYnNpdGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU5NDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4
MTAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZzogQWRkZWQuCisg
ICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWkt
YmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZm
XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZzogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMv
dWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVm
MWVjXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfNzVfY2NjY2NjXzF4MTAw
LnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18y
ZTgzZmZfMjU2eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZzogQWRk
ZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFn
ZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2
eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvanF1ZXJ5LXVpLm1pbi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uY3NzOiBB
ZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2px
dWVyeS51aS5hbGwubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3M6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmJhc2UubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1pbi5jc3M6IEFkZGVkLgorICAgICAg
ICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUu
bWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWlu
LmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9qcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucmVzaXphYmxlLm1p
bi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuc2xpZGVyLm1pbi5j
c3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLnRhYnMubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzczogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmJsaW5kLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmNvcmUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmZhZGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZvbGQubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmhpZ2hsaWdodC5taW4u
anM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LmVmZmVjdHMucHVsc2F0ZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2NhbGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1p
bi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkuZWZmZWN0cy5zbGlkZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMudHJhbnNmZXIubWluLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24u
bWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS51aS5hdXRvY29tcGxldGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5idXR0b24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qczog
QWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
ZGF0ZXBpY2tlci5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxvZy5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanM6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3Bw
YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkucG9zaXRpb24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5t
aW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlkZXIubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51
aS5zb3J0YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQubWluLmpzOiBBZGRlZC4KKwog
MjAxOC0wNS0yMyAgUm95IFJlYXBvciAgPHJyZWFwb3JAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBTb3VyY2UgU2FucyBQcm8gZnJvbSBXZWJLaXQgd2Vic2l0ZQpJbmRleDogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS11
aS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnktdWkubWluLmNzcwkobm9uZXhpc3RlbnQp
CisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvanF1ZXJ5LXVpLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAor
LyoKKyAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAy
MDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGlj
ZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDov
L2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGhl
bWluZy9BUEkKKyAqLworLnVpLWhlbHBlci1oaWRkZW57ZGlzcGxheTpub25lO30udWktaGVscGVy
LWhpZGRlbi1hY2Nlc3NpYmxle3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtjbGlwOnJlY3Qo
MXB4IDFweCAxcHggMXB4KTtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTt9LnVpLWhlbHBlci1y
ZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEu
Mzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTAwJTtsaXN0LXN0eWxlOm5vbmU7fS51
aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6
MDtjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO30udWktaGVscGVyLWNsZWFyZml4e2Rpc3Bs
YXk6aW5saW5lLWJsb2NrO30vKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3Jr
IGluIE9wZXJhIFwqLyAqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeHtoZWlnaHQ6MSU7fS51aS1o
ZWxwZXItY2xlYXJmaXh7ZGlzcGxheTpibG9jazt9LyogZW5kIGNsZWFyZml4ICovIC51aS1oZWxw
ZXItemZpeHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNv
bHV0ZTtvcGFjaXR5OjA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7fS51aS1zdGF0ZS1kaXNhYmxl
ZHtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnQ7fS51aS1pY29ue2Rpc3BsYXk6YmxvY2s7dGV4dC1p
bmRlbnQ6LTk5OTk5cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVh
dDt9LnVpLXdpZGdldC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0
aDoxMDAlO2hlaWdodDoxMDAlO30udWktYWNjb3JkaW9ue3dpZHRoOjEwMCU7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1oZWFkZXJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7
bWFyZ2luLXRvcDoxcHg7em9vbToxO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tbGktZml4
e2Rpc3BsYXk6aW5saW5lO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2
ZXtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50O30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24t
aGVhZGVyIGF7ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO3BhZGRpbmc6LjVlbSAuNWVtIC41
ZW0gLjdlbTt9LnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhe3BhZGRp
bmctbGVmdDoyLjJlbTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAudWktaWNv
bntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi41ZW07dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51
aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRl
ci10b3A6MDttYXJnaW4tdG9wOi0ycHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDttYXJnaW4t
Ym90dG9tOjJweDtvdmVyZmxvdzphdXRvO2Rpc3BsYXk6bm9uZTt6b29tOjE7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZXtkaXNwbGF5OmJsb2NrO30udWktYXV0b2Nv
bXBsZXRle3Bvc2l0aW9uOmFic29sdXRlO2N1cnNvcjpkZWZhdWx0O30qIGh0bWwgLnVpLWF1dG9j
b21wbGV0ZXt3aWR0aDoxcHg7fS51aS1tZW51e2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjJweDtt
YXJnaW46MDtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7fS51aS1tZW51IC51aS1tZW51e21hcmdp
bi10b3A6LTNweDt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbXttYXJnaW46MDtwYWRkaW5nOjA7em9v
bToxO2Zsb2F0OmxlZnQ7Y2xlYXI6bGVmdDt3aWR0aDoxMDAlO30udWktbWVudSAudWktbWVudS1p
dGVtIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi4yZW0gLjRl
bTtsaW5lLWhlaWdodDoxLjU7em9vbToxO30udWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3Rh
dGUtaG92ZXIsLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWFjdGl2ZXtmb250LXdl
aWdodDpub3JtYWw7bWFyZ2luOi0xcHg7fS51aS1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7
cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO21hcmdpbi1yaWdodDouMWVtO3RleHQtZGVjb3Jh
dGlvbjpub25lIWltcG9ydGFudDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjt6b29t
OjE7b3ZlcmZsb3c6dmlzaWJsZTt9LnVpLWJ1dHRvbi1pY29uLW9ubHl7d2lkdGg6Mi4yZW07fWJ1
dHRvbi51aS1idXR0b24taWNvbi1vbmx5e3dpZHRoOjIuNGVtO30udWktYnV0dG9uLWljb25zLW9u
bHl7d2lkdGg6My40ZW07fWJ1dHRvbi51aS1idXR0b24taWNvbnMtb25seXt3aWR0aDozLjdlbTt9
LnVpLWJ1dHRvbiAudWktYnV0dG9uLXRleHR7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjQ7
fS51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtO30u
dWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi1pY29ucy1vbmx5
IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW07dGV4dC1pbmRlbnQ6LTk5OTk5OTlweDt9LnVp
LWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtIC40ZW0gMi4xZW07fS51aS1i
dXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMi4xZW0gLjRlbSAxZW07fS51aS1i
dXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZy1sZWZ0OjIuMWVtO3BhZGRp
bmctcmlnaHQ6Mi4xZW07fWlucHV0LnVpLWJ1dHRvbntwYWRkaW5nOi40ZW0gMWVtO30udWktYnV0
dG9uLWljb24tb25seSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1p
Y29uLC51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwudWktYnV0dG9uLXRl
eHQtaWNvbnMgLnVpLWljb24sLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29ue3Bvc2l0aW9u
OmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4O30udWktYnV0dG9uLWljb24tb25seSAu
dWktaWNvbntsZWZ0OjUwJTttYXJnaW4tbGVmdDotOHB4O30udWktYnV0dG9uLXRleHQtaWNvbi1w
cmltYXJ5IC51aS1idXR0b24taWNvbi1wcmltYXJ5LC51aS1idXR0b24tdGV4dC1pY29ucyAudWkt
YnV0dG9uLWljb24tcHJpbWFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29u
LXByaW1hcnl7bGVmdDouNWVtO30udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1
dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29u
LXNlY29uZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFy
eXtyaWdodDouNWVtO30udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29u
ZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeXtyaWdo
dDouNWVtO30udWktYnV0dG9uc2V0e21hcmdpbi1yaWdodDo3cHg7fS51aS1idXR0b25zZXQgLnVp
LWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotLjNlbTt9YnV0dG9uLnVpLWJ1dHRv
bjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjA7fS51aS1kYXRlcGlja2Vye3dp
ZHRoOjE3ZW07cGFkZGluZzouMmVtIC4yZW0gMDtkaXNwbGF5Om5vbmU7fS51aS1kYXRlcGlja2Vy
IC51aS1kYXRlcGlja2VyLWhlYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi4yZW0gMDt9
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwudWktZGF0ZXBpY2tlciAudWktZGF0
ZXBpY2tlci1uZXh0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7d2lkdGg6MS44ZW07aGVpZ2h0
OjEuOGVtO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLC51aS1kYXRl
cGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7dG9wOjFweDt9LnVpLWRhdGVwaWNrZXIg
LnVpLWRhdGVwaWNrZXItcHJldntsZWZ0OjJweDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNr
ZXItbmV4dHtyaWdodDoycHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92
ZXJ7bGVmdDoxcHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7cmln
aHQ6MXB4O30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sLnVpLWRhdGVw
aWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJz
b2x1dGU7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThweDt0b3A6NTAlO21hcmdpbi10b3A6LThweDt9
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGV7bWFyZ2luOjAgMi4zZW07bGluZS1o
ZWlnaHQ6MS44ZW07dGV4dC1hbGlnbjpjZW50ZXI7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXRpdGxlIHNlbGVjdHtmb250LXNpemU6MWVtO21hcmdpbjoxcHggMDt9LnVpLWRhdGVwaWNr
ZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhcnt3aWR0aDoxMDAlO30udWktZGF0ZXBp
Y2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwudWktZGF0ZXBpY2tlciBzZWxlY3QudWkt
ZGF0ZXBpY2tlci15ZWFye3dpZHRoOjQ5JTt9LnVpLWRhdGVwaWNrZXIgdGFibGV7d2lkdGg6MTAw
JTtmb250LXNpemU6LjllbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luOjAgMCAuNGVt
O30udWktZGF0ZXBpY2tlciB0aHtwYWRkaW5nOi43ZW0gLjNlbTt0ZXh0LWFsaWduOmNlbnRlcjtm
b250LXdlaWdodDpib2xkO2JvcmRlcjowO30udWktZGF0ZXBpY2tlciB0ZHtib3JkZXI6MDtwYWRk
aW5nOjFweDt9LnVpLWRhdGVwaWNrZXIgdGQgc3BhbiwudWktZGF0ZXBpY2tlciB0ZCBhe2Rpc3Bs
YXk6YmxvY2s7cGFkZGluZzouMmVtO3RleHQtYWxpZ246cmlnaHQ7dGV4dC1kZWNvcmF0aW9uOm5v
bmU7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7YmFja2dyb3VuZC1p
bWFnZTpub25lO21hcmdpbjouN2VtIDAgMCAwO3BhZGRpbmc6MCAuMmVtO2JvcmRlci1sZWZ0OjA7
Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbTowO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBp
Y2tlci1idXR0b25wYW5lIGJ1dHRvbntmbG9hdDpyaWdodDttYXJnaW46LjVlbSAuMmVtIC40ZW07
Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzouMmVtIC42ZW0gLjNlbSAuNmVtO3dpZHRoOmF1dG87b3Zl
cmZsb3c6dmlzaWJsZTt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBi
dXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50e2Zsb2F0OmxlZnQ7fS51aS1kYXRlcGlja2VyLnVp
LWRhdGVwaWNrZXItbXVsdGl7d2lkdGg6YXV0bzt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRh
dGVwaWNrZXItZ3JvdXB7ZmxvYXQ6bGVmdDt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVw
aWNrZXItZ3JvdXAgdGFibGV7d2lkdGg6OTUlO21hcmdpbjowIGF1dG8gLjRlbTt9LnVpLWRhdGVw
aWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDo1MCU7fS51aS1kYXRlcGlj
a2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6MzMuMyU7fS51aS1kYXRlcGlj
a2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6MjUlO30udWktZGF0ZXBpY2tl
ci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlcnti
b3JkZXItbGVmdC13aWR0aDowO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1n
cm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1sZWZ0LXdpZHRoOjA7fS51
aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7Y2xlYXI6bGVmdDt9
LnVpLWRhdGVwaWNrZXItcm93LWJyZWFre2NsZWFyOmJvdGg7d2lkdGg6MTAwJTtmb250LXNpemU6
MDt9LnVpLWRhdGVwaWNrZXItcnRse2RpcmVjdGlvbjpydGw7fS51aS1kYXRlcGlja2VyLXJ0bCAu
dWktZGF0ZXBpY2tlci1wcmV2e3JpZ2h0OjJweDtsZWZ0OmF1dG87fS51aS1kYXRlcGlja2VyLXJ0
bCAudWktZGF0ZXBpY2tlci1uZXh0e2xlZnQ6MnB4O3JpZ2h0OmF1dG87fS51aS1kYXRlcGlja2Vy
LXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVye3JpZ2h0OjFweDtsZWZ0OmF1dG87fS51aS1k
YXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVye2xlZnQ6MXB4O3JpZ2h0OmF1
dG87fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5le2NsZWFyOnJp
Z2h0O30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257
ZmxvYXQ6bGVmdDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUg
YnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudHtmbG9hdDpyaWdodDt9LnVpLWRhdGVwaWNrZXIt
cnRsIC51aS1kYXRlcGlja2VyLWdyb3Vwe2Zsb2F0OnJpZ2h0O30udWktZGF0ZXBpY2tlci1ydGwg
LnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJp
Z2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O30udWktZGF0ZXBpY2tlci1ydGwgLnVp
LWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlcntib3JkZXItcmln
aHQtd2lkdGg6MDtib3JkZXItbGVmdC13aWR0aDoxcHg7fS51aS1kYXRlcGlja2VyLWNvdmVye2Rp
c3BsYXk6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Zmls
dGVyOm1hc2soKTt0b3A6LTRweDtsZWZ0Oi00cHg7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O30u
dWktZGlhbG9ne3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6LjJlbTt3aWR0aDozMDBweDtvdmVy
ZmxvdzpoaWRkZW47fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0g
MWVtO3Bvc2l0aW9uOnJlbGF0aXZlO30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGV7ZmxvYXQ6
bGVmdDttYXJnaW46LjFlbSAxNnB4IC4xZW0gMDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxl
YmFyLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi4zZW07dG9wOjUwJTt3aWR0aDoxOXB4
O21hcmdpbjotMTBweCAwIDAgMDtwYWRkaW5nOjFweDtoZWlnaHQ6MThweDt9LnVpLWRpYWxvZyAu
dWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW46MXB4O30u
dWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsLnVpLWRpYWxvZyAudWkt
ZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmZvY3Vze3BhZGRpbmc6MDt9LnVpLWRpYWxvZyAudWktZGlh
bG9nLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjA7cGFkZGluZzouNWVtIDFlbTti
YWNrZ3JvdW5kOm5vbmU7b3ZlcmZsb3c6YXV0bzt6b29tOjE7fS51aS1kaWFsb2cgLnVpLWRpYWxv
Zy1idXR0b25wYW5le3RleHQtYWxpZ246bGVmdDtib3JkZXItd2lkdGg6MXB4IDAgMCAwO2JhY2tn
cm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjVlbSAwIDAgMDtwYWRkaW5nOi4zZW0gMWVtIC41ZW0g
LjRlbTt9LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25z
ZXR7ZmxvYXQ6cmlnaHQ7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbntt
YXJnaW46LjVlbSAuNGVtIC41ZW0gMDtjdXJzb3I6cG9pbnRlcjt9LnVpLWRpYWxvZyAudWktcmVz
aXphYmxlLXNle3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7cmlnaHQ6M3B4O2JvdHRvbTozcHg7fS51
aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhcntjdXJzb3I6bW92ZTt9LnVpLXByb2dyZXNz
YmFye2hlaWdodDoyZW07dGV4dC1hbGlnbjpsZWZ0O30udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dy
ZXNzYmFyLXZhbHVle21hcmdpbjotMXB4O2hlaWdodDoxMDAlO30udWktcmVzaXphYmxle3Bvc2l0
aW9uOnJlbGF0aXZlO30udWktcmVzaXphYmxlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtmb250
LXNpemU6LjFweDt6LWluZGV4Ojk5OTk5O2Rpc3BsYXk6YmxvY2s7fS51aS1yZXNpemFibGUtZGlz
YWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVz
aXphYmxlLWhhbmRsZXtkaXNwbGF5Om5vbmU7fS51aS1yZXNpemFibGUtbntjdXJzb3I6bi1yZXNp
emU7aGVpZ2h0OjdweDt3aWR0aDoxMDAlO3RvcDotNXB4O2xlZnQ6MDt9LnVpLXJlc2l6YWJsZS1z
e2N1cnNvcjpzLXJlc2l6ZTtoZWlnaHQ6N3B4O3dpZHRoOjEwMCU7Ym90dG9tOi01cHg7bGVmdDow
O30udWktcmVzaXphYmxlLWV7Y3Vyc29yOmUtcmVzaXplO3dpZHRoOjdweDtyaWdodDotNXB4O3Rv
cDowO2hlaWdodDoxMDAlO30udWktcmVzaXphYmxlLXd7Y3Vyc29yOnctcmVzaXplO3dpZHRoOjdw
eDtsZWZ0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1yZXNpemFibGUtc2V7Y3Vyc29yOnNl
LXJlc2l6ZTt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O3JpZ2h0OjFweDtib3R0b206MXB4O30udWkt
cmVzaXphYmxlLXN3e2N1cnNvcjpzdy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDot
NXB4O2JvdHRvbTotNXB4O30udWktcmVzaXphYmxlLW53e2N1cnNvcjpudy1yZXNpemU7d2lkdGg6
OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O3RvcDotNXB4O30udWktcmVzaXphYmxlLW5le2N1cnNv
cjpuZS1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7cmlnaHQ6LTVweDt0b3A6LTVweDt9LnVp
LXNlbGVjdGFibGUtaGVscGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwO2JvcmRlcjox
cHggZG90dGVkIGJsYWNrO30udWktc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246
bGVmdDt9LnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWlu
ZGV4OjI7d2lkdGg6MS4yZW07aGVpZ2h0OjEuMmVtO2N1cnNvcjpkZWZhdWx0O30udWktc2xpZGVy
IC51aS1zbGlkZXItcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO2ZvbnQtc2l6ZTou
N2VtO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjA7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fS51aS1z
bGlkZXItaG9yaXpvbnRhbHtoZWlnaHQ6LjhlbTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1z
bGlkZXItaGFuZGxle3RvcDotLjNlbTttYXJnaW4tbGVmdDotLjZlbTt9LnVpLXNsaWRlci1ob3Jp
em9udGFsIC51aS1zbGlkZXItcmFuZ2V7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1zbGlkZXItaG9y
aXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjA7fS51aS1zbGlkZXItaG9yaXpvbnRh
bCAudWktc2xpZGVyLXJhbmdlLW1heHtyaWdodDowO30udWktc2xpZGVyLXZlcnRpY2Fse3dpZHRo
Oi44ZW07aGVpZ2h0OjEwMHB4O30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxl
e2xlZnQ6LS4zZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tYm90dG9tOi0uNmVtO30udWktc2xpZGVy
LXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2V7bGVmdDowO3dpZHRoOjEwMCU7fS51aS1zbGlkZXIt
dmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW57Ym90dG9tOjA7fS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1yYW5nZS1tYXh7dG9wOjA7fS51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZl
O3BhZGRpbmc6LjJlbTt6b29tOjE7fS51aS10YWJzIC51aS10YWJzLW5hdnttYXJnaW46MDtwYWRk
aW5nOi4yZW0gLjJlbSAwO30udWktdGFicyAudWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25l
O2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDttYXJnaW46MCAuMmVtIDFweCAw
O2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcDt9
LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGF7ZmxvYXQ6bGVmdDtwYWRkaW5nOi41ZW0gMWVtO3Rl
eHQtZGVjb3JhdGlvbjpub25lO30udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxl
Y3RlZHttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1ib3R0b206MXB4O30udWktdGFicyAudWktdGFi
cy1uYXYgbGkudWktdGFicy1zZWxlY3RlZCBhLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1z
dGF0ZS1kaXNhYmxlZCBhLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNz
aW5nIGF7Y3Vyc29yOnRleHQ7fS51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhLC51aS10YWJzLnVp
LXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYXtjdXJz
b3I6cG9pbnRlcjt9LnVpLXRhYnMgLnVpLXRhYnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXIt
d2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTtiYWNrZ3JvdW5kOm5vbmU7fS51aS10YWJzIC51aS10
YWJzLWhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudDt9LnVpLXdpZGdldHtmb250LWZhbWlseTpW
ZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMWVtO30udWktd2lkZ2V0IC51aS13
aWRnZXR7Zm9udC1zaXplOjFlbTt9LnVpLXdpZGdldCBpbnB1dCwudWktd2lkZ2V0IHNlbGVjdCwu
dWktd2lkZ2V0IHRleHRhcmVhLC51aS13aWRnZXQgYnV0dG9ue2ZvbnQtZmFtaWx5OlZlcmRhbmEs
QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MWVtO30udWktd2lkZ2V0LWNvbnRlbnR7Ym9yZGVy
OjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2ZmZiB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfNzVf
ZmZmZmZmXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzIyMjt9LnVpLXdpZGdl
dC1jb250ZW50IGF7Y29sb3I6IzIyMjt9LnVpLXdpZGdldC1oZWFkZXJ7Ym9yZGVyOjFweCBzb2xp
ZCAjYWFhO2JhY2tncm91bmQ6I2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1
X2NjY2NjY18xeDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzIyMjtmb250LXdlaWdo
dDpib2xkO30udWktd2lkZ2V0LWhlYWRlciBhe2NvbG9yOiMyMjI7fS51aS1zdGF0ZS1kZWZhdWx0
LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWhlYWRlciAu
dWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNkM2QzZDM7YmFja2dyb3VuZDojZTZl
NmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZykgNTAlIDUwJSBy
ZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzU1NTt9LnVpLXN0YXRlLWRlZmF1bHQg
YSwudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVke2Nv
bG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1ob3ZlciwudWktd2lkZ2V0
LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zl
ciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywudWkt
d2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JhY2tn
cm91bmQ6I2RhZGFkYSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcp
IDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiMyMTIxMjE7fS51aS1z
dGF0ZS1ob3ZlciBhLC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVye2NvbG9yOiMyMTIxMjE7dGV4dC1k
ZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1jb250ZW50IC51aS1z
dGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZXtib3JkZXI6MXB4
IHNvbGlkICNhYWE7YmFja2dyb3VuZDojZmZmIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZm
ZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6
IzIxMjEyMTt9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLC51aS1z
dGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiMyMTIxMjE7dGV4dC1kZWNvcmF0aW9uOm5vbmU7
fS51aS13aWRnZXQgOmFjdGl2ZXtvdXRsaW5lOm5vbmU7fS51aS1zdGF0ZS1oaWdobGlnaHQsLnVp
LXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsLnVpLXdpZGdldC1oZWFkZXIgLnVp
LXN0YXRlLWhpZ2hsaWdodHtib3JkZXI6MXB4IHNvbGlkICNmY2VmYTE7YmFja2dyb3VuZDojZmJm
OWVlIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZykgNTAlIDUwJSBy
ZXBlYXQteDtjb2xvcjojMzYzNjM2O30udWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1j
b250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUt
aGlnaGxpZ2h0IGF7Y29sb3I6IzM2MzYzNjt9LnVpLXN0YXRlLWVycm9yLC51aS13aWRnZXQtY29u
dGVudCAudWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9ye2Jv
cmRlcjoxcHggc29saWQgI2NkMGEwYTtiYWNrZ3JvdW5kOiNmZWYxZWMgdXJsKGltYWdlcy91aS1i
Z19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O2NvbG9yOiNjZDBh
MGE7fS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3Ig
YSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xvcjojY2QwYTBhO30udWkt
c3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQs
LnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHR7Y29sb3I6I2NkMGEwYTt9LnVp
LXByaW9yaXR5LXByaW1hcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5
LC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5e2ZvbnQtd2VpZ2h0OmJvbGQ7
fS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1z
ZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeXtvcGFjaXR5
Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpub3JtYWw7fS51aS1zdGF0
ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLC51aS13aWRn
ZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtmaWx0ZXI6QWxwaGEoT3Bh
Y2l0eT0zNSk7YmFja2dyb3VuZC1pbWFnZTpub25lO30udWktaWNvbnt3aWR0aDoxNnB4O2hlaWdo
dDoxNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0
MC5wbmcpO30udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwo
aW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7fS51aS13aWRnZXQtaGVhZGVyIC51
aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0
MC5wbmcpO30udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChp
bWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWhvdmVyIC51aS1p
Y29uLC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbnti
YWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9
LnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWVycm9yIC51aS1pY29uLC51
aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91
aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpO30udWktaWNvbi1jYXJhdC0xLW57YmFja2dyb3Vu
ZC1wb3NpdGlvbjowIDA7fS51aS1pY29uLWNhcmF0LTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTZweCAwO30udWktaWNvbi1jYXJhdC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAwO30u
dWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMDt9LnVpLWljb24t
Y2FyYXQtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggMDt9LnVpLWljb24tY2FyYXQtMS1z
d3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDA7fS51aS1pY29uLWNhcmF0LTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi05NnB4IDA7fS51aS1pY29uLWNhcmF0LTEtbnd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTEycHggMDt9LnVpLWljb24tY2FyYXQtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTI4cHggMDt9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHgg
MDt9LnVpLWljb24tdHJpYW5nbGUtMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMTZweDt9LnVp
LWljb24tdHJpYW5nbGUtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNnB4O30udWkt
aWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTZweDt9LnVpLWlj
b24tdHJpYW5nbGUtMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNnB4O30udWktaWNv
bi10cmlhbmdsZS0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTZweDt9LnVpLWljb24t
dHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNnB4O30udWktaWNvbi10
cmlhbmdsZS0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTZweDt9LnVpLWljb24tdHJp
YW5nbGUtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTZweDt9LnVpLWljb24tdHJp
YW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2cHg7fS51aS1pY29uLXRy
aWFuZ2xlLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNnB4O30udWktaWNvbi1h
cnJvdy0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW5l
e2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHg7fS51aS1pY29uLWFycm93LTEtZXtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXNle2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTMycHg7fS51aS1pY29uLWFycm93LTEtc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXN3e2JhY2tncm91bmQtcG9zaXRp
b246LTgwcHggLTMycHg7fS51aS1pY29uLWFycm93LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05
NnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4
IC0zMnB4O30udWktaWNvbi1hcnJvdy0yLW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAt
MzJweDt9LnVpLWljb24tYXJyb3ctMi1uZS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAt
MzJweDt9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTMy
cHg7fS51aS1pY29uLWFycm93LTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTMy
cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtNDhweDt9
LnVpLWljb24tYXJyb3d0aGljay0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC00OHB4
O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC00OHB4
O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNDhw
eDt9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNDhw
eDt9LnVpLWljb24tYXJyb3d0aGljay0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC00
OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4
IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTQ0cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTYwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1zZS1ud3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNzZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1ue2JhY2tncm91
bmQtcG9zaXRpb246LTE5MnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWV7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0
b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4O30udWktaWNvbi1hcnJvd3Jl
dHVybnRoaWNrLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTY0cHg7fS51aS1pY29uLWFycm93
cmV0dXJudGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTY0cHg7fS51aS1pY29u
LWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTY0cHg7fS51
aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTY0
cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC02
NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAt
NjRweDt9LnVpLWljb24tYXJyb3dyZXR1cm4tMS1le2JhY2tncm91bmQtcG9zaXRpb246LTk2cHgg
LTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJw
eCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
MjhweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNDRweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZXtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi0xNjBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNzZweCAtNjRweDt9LnVpLWljb24tYXJyb3ctNHtiYWNrZ3JvdW5kLXBvc2l0aW9u
OjAgLTgwcHg7fS51aS1pY29uLWFycm93LTQtZGlhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4
IC04MHB4O30udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTgwcHg7
fS51aS1pY29uLW5ld3dpbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC04MHB4O30udWktaWNv
bi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTgwcHg7fS51aS1pY29uLXNodWZm
bGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweDt9LnVpLWljb24tdHJhbnNmZXItZS13
e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTgwcHg7fS51aS1pY29uLXRyYW5zZmVydGhpY2st
ZS13e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC04MHB4O30udWktaWNvbi1mb2xkZXItY29s
bGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweDt9LnVpLWljb24tZm9sZGVyLW9wZW57
YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtOTZweDt9LnVpLWljb24tZG9jdW1lbnR7YmFja2dy
b3VuZC1wb3NpdGlvbjotMzJweCAtOTZweDt9LnVpLWljb24tZG9jdW1lbnQtYntiYWNrZ3JvdW5k
LXBvc2l0aW9uOi00OHB4IC05NnB4O30udWktaWNvbi1ub3Rle2JhY2tncm91bmQtcG9zaXRpb246
LTY0cHggLTk2cHg7fS51aS1pY29uLW1haWwtY2xvc2Vke2JhY2tncm91bmQtcG9zaXRpb246LTgw
cHggLTk2cHg7fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05
NnB4O30udWktaWNvbi1zdWl0Y2FzZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtOTZweDt9
LnVpLWljb24tY29tbWVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtOTZweDt9LnVpLWlj
b24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4O30udWktaWNvbi1wcmlu
dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtOTZweDt9LnVpLWljb24tdHJhc2h7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTc2cHggLTk2cHg7fS51aS1pY29uLWxvY2tlZHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xOTJweCAtOTZweDt9LnVpLWljb24tdW5sb2NrZWR7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjA4cHggLTk2cHg7fS51aS1pY29uLWJvb2ttYXJre2JhY2tncm91bmQtcG9zaXRpb246LTIy
NHB4IC05NnB4O30udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTk2cHg7
fS51aS1pY29uLWhvbWV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMTJweDt9LnVpLWljb24tZmxh
Z3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMTJweDt9LnVpLWljb24tY2FsZW5kYXJ7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHg7fS51aS1pY29uLWNhcnR7YmFja2dyb3VuZC1w
b3NpdGlvbjotNDhweCAtMTEycHg7fS51aS1pY29uLXBlbmNpbHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi02NHB4IC0xMTJweDt9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAt
MTEycHg7fS51aS1pY29uLWRpc2t7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTEycHg7fS51
aS1pY29uLWNhbGN1bGF0b3J7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTExMnB4O30udWkt
aWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTExMnB4O30udWktaWNvbi16
b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMTJweDt9LnVpLWljb24tc2VhcmNo
e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMTJweDt9LnVpLWljb24td3JlbmNoe2JhY2tn
cm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweDt9LnVpLWljb24tZ2VhcntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xOTJweCAtMTEycHg7fS51aS1pY29uLWhlYXJ0e2JhY2tncm91bmQtcG9zaXRpb246
LTIwOHB4IC0xMTJweDt9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAt
MTEycHg7fS51aS1pY29uLWxpbmt7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTExMnB4O30u
dWktaWNvbi1jYW5jZWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhweDt9LnVpLWljb24tcGx1
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweDt9LnVpLWljb24tcGx1c3RoaWNre2Jh
Y2tncm91bmQtcG9zaXRpb246LTMycHggLTEyOHB4O30udWktaWNvbi1taW51c3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi00OHB4IC0xMjhweDt9LnVpLWljb24tbWludXN0aGlja3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0xMjhweDt9LnVpLWljb24tY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjot
ODBweCAtMTI4cHg7fS51aS1pY29uLWNsb3NldGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZw
eCAtMTI4cHg7fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTI4cHg7
fS51aS1pY29uLWxpZ2h0YnVsYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTI4cHg7fS51
aS1pY29uLXNjaXNzb3Jze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMjhweDt9LnVpLWlj
b24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMjhweDt9LnVpLWljb24t
Y29weXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTI4cHg7fS51aS1pY29uLWNvbnRhY3R7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyOHB4O30udWktaWNvbi1pbWFnZXtiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHg7fS51aS1pY29uLXZpZGVve2JhY2tncm91bmQtcG9z
aXRpb246LTIyNHB4IC0xMjhweDt9LnVpLWljb24tc2NyaXB0e2JhY2tncm91bmQtcG9zaXRpb246
LTI0MHB4IC0xMjhweDt9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNDRw
eDt9LnVpLWljb24taW5mb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNDRweDt9LnVpLWlj
b24tbm90aWNle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE0NHB4O30udWktaWNvbi1oZWxw
e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4O30udWktaWNvbi1jaGVja3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi02NHB4IC0xNDRweDt9LnVpLWljb24tYnVsbGV0e2JhY2tncm91bmQtcG9z
aXRpb246LTgwcHggLTE0NHB4O30udWktaWNvbi1yYWRpby1vZmZ7YmFja2dyb3VuZC1wb3NpdGlv
bjotOTZweCAtMTQ0cHg7fS51aS1pY29uLXJhZGlvLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTEx
MnB4IC0xNDRweDt9LnVpLWljb24tcGluLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE0
NHB4O30udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTQ0cHg7fS51
aS1pY29uLXBsYXl7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNjBweDt9LnVpLWljb24tcGF1c2V7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTYwcHg7fS51aS1pY29uLXNlZWstbmV4dHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1wcmV2e2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTE2MHB4O30udWktaWNvbi1zZWVrLWVuZHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1zdGFydHtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1maXJzdHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi04MHB4IC0xNjBweDt9LnVpLWljb24tc3RvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0x
NjBweDt9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2MHB4O30u
dWktaWNvbi12b2x1bWUtb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xNjBweDt9LnVp
LWljb24tdm9sdW1lLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNjBweDt9LnVpLWlj
b24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweDt9LnVpLWljb24tc2lnbmFsLWRp
YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTc2cHg7fS51aS1pY29uLXNpZ25hbHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0we2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4O30udWktaWNvbi1iYXR0ZXJ5LTF7YmFja2dyb3VuZC1w
b3NpdGlvbjotNjRweCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnktMntiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tncm91bmQtcG9zaXRpb246
LTk2cHggLTE3NnB4O30udWktaWNvbi1jaXJjbGUtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAg
LTE5MnB4O30udWktaWNvbi1jaXJjbGUtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAt
MTkycHg7fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0x
OTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhw
eCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ze2JhY2tncm91bmQtcG9zaXRpb246
LTY0cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3tiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW57YmFja2dyb3VuZC1w
b3NpdGlvbjotOTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJvdy1le2JhY2tncm91bmQt
cG9zaXRpb246LTExMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWFycm93LXN7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtYXJyb3ctd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xNDRweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJvdy1ue2JhY2tn
cm91bmQtcG9zaXRpb246LTE2MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXpvb21pbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS16b29tb3V0e2Jh
Y2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWNoZWNre2Jh
Y2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlc21hbGwtcGx1
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4O30udWktaWNvbi1jaXJjbGVzbWFsbC1taW51
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0yMDhweDt9LnVpLWljb24tY2lyY2xlc21hbGwt
Y2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjA4cHg7fS51aS1pY29uLXNxdWFyZXNt
YWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHg7fS51aS1pY29uLXNxdWFy
ZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIwOHB4O30udWktaWNvbi1z
cXVhcmVzbWFsbC1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0yMDhweDt9LnVpLWlj
b24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMjRweDt9LnVp
LWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0y
MjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0z
MnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9z
aXRpb246LTQ4cHggLTIyNHB4O30udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2V7YmFja2dy
b3VuZC1wb3NpdGlvbjotNjRweCAtMjI0cHg7fS51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2V7YmFj
a2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjI0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXIt
dG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRsey1tb3otYm9yZGVyLXJhZGl1cy10b3Bs
ZWZ0OjRweDstd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXIt
dG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDt9LnVpLWNvcm5l
ci1hbGwsLnVpLWNvcm5lci10b3AsLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLXRyey1tb3ot
Ym9yZGVyLXJhZGl1cy10b3ByaWdodDo0cHg7LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1
czo0cHg7LWtodG1sLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0
LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90dG9tLC51aS1jb3JuZXIt
bGVmdCwudWktY29ybmVyLWJsey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OjRweDstd2Vi
a2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXItYm90dG9tLWxl
ZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDt9LnVpLWNvcm5lci1h
bGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLWJyey1tb3ot
Ym9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHg7LXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0
LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXIt
Ym90dG9tLXJpZ2h0LXJhZGl1czo0cHg7fS51aS13aWRnZXQtb3ZlcmxheXtiYWNrZ3JvdW5kOiNh
YWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVw
ZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7fS51aS13aWRnZXQtc2hh
ZG93e21hcmdpbjotOHB4IDAgMCAtOHB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQ6I2FhYSB1cmwo
aW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtv
cGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTstbW96LWJvcmRlci1yYWRpdXM6OHB4
Oy1raHRtbC1ib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJvcmRlci1yYWRpdXM6OHB4O2JvcmRl
ci1yYWRpdXM6OHB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmFjY29yZGlvbi5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYWNjb3JkaW9u
Lm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmNzcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIEFjY29yZGlv
biAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0FjY29yZGlvbiN0aGVtaW5nCisgKi8KKy51aS1hY2Nv
cmRpb257d2lkdGg6MTAwJTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlcntjdXJz
b3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjFweDt6b29tOjE7fS51aS1h
Y2NvcmRpb24gLnVpLWFjY29yZGlvbi1saS1maXh7ZGlzcGxheTppbmxpbmU7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZle2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7
fS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIgYXtkaXNwbGF5OmJsb2NrO2ZvbnQt
c2l6ZToxZW07cGFkZGluZzouNWVtIC41ZW0gLjVlbSAuN2VtO30udWktYWNjb3JkaW9uLWljb25z
IC51aS1hY2NvcmRpb24taGVhZGVyIGF7cGFkZGluZy1sZWZ0OjIuMmVtO30udWktYWNjb3JkaW9u
IC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LjVl
bTt0b3A6NTAlO21hcmdpbi10b3A6LThweDt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNv
bnRlbnR7cGFkZGluZzoxZW0gMi4yZW07Ym9yZGVyLXRvcDowO21hcmdpbi10b3A6LTJweDtwb3Np
dGlvbjpyZWxhdGl2ZTt0b3A6MXB4O21hcmdpbi1ib3R0b206MnB4O292ZXJmbG93OmF1dG87ZGlz
cGxheTpub25lO3pvb206MTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0
aXZle2Rpc3BsYXk6YmxvY2s7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9q
cXVlcnkudWkuYWxsLm1pbi5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hbGwubWluLmNz
cwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFsbC5taW4uY3NzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL1RoZW1pbmcKKyAqLworQGltcG9ydCAianF1ZXJ5LnVpLmJhc2UubWlu
LmNzcyI7QGltcG9ydCAianF1ZXJ5LnVpLnRoZW1lLm1pbi5jc3MiOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5hdXRvY29tcGxldGUubWluLmNzcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuOC4xNQorICoKKyAqIENv
cHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAq
IER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgor
ICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5j
b20vVUkvQXV0b2NvbXBsZXRlI3RoZW1pbmcKKyAqLworLnVpLWF1dG9jb21wbGV0ZXtwb3NpdGlv
bjphYnNvbHV0ZTtjdXJzb3I6ZGVmYXVsdDt9KiBodG1sIC51aS1hdXRvY29tcGxldGV7d2lkdGg6
MXB4O30udWktbWVudXtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzoycHg7bWFyZ2luOjA7ZGlzcGxh
eTpibG9jaztmbG9hdDpsZWZ0O30udWktbWVudSAudWktbWVudXttYXJnaW4tdG9wOi0zcHg7fS51
aS1tZW51IC51aS1tZW51LWl0ZW17bWFyZ2luOjA7cGFkZGluZzowO3pvb206MTtmbG9hdDpsZWZ0
O2NsZWFyOmxlZnQ7d2lkdGg6MTAwJTt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhe3RleHQtZGVj
b3JhdGlvbjpub25lO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouMmVtIC40ZW07bGluZS1oZWlnaHQ6
MS41O3pvb206MTt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLC51aS1t
ZW51IC51aS1tZW51LWl0ZW0gYS51aS1zdGF0ZS1hY3RpdmV7Zm9udC13ZWlnaHQ6bm9ybWFsO21h
cmdpbjotMXB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVp
LmJhc2UubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmJhc2UubWluLmNzcwkobm9u
ZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmJhc2UubWluLmNzcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjE1CisgKgor
ICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0
KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5z
ZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1
ZXJ5LmNvbS9VSS9UaGVtaW5nCisgKi8KK0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuY29yZS5taW4u
Y3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5hY2NvcmRpb24ubWluLmNzcyIpO0BpbXBvcnQg
dXJsKCJqcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5
LnVpLmJ1dHRvbi5taW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5kYXRlcGlja2VyLm1p
bi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5LnVpLmRpYWxvZy5taW4uY3NzIik7QGltcG9ydCB1
cmwoImpxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51
aS5yZXNpemFibGUubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuc2VsZWN0YWJsZS5t
aW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5zbGlkZXIubWluLmNzcyIpO0BpbXBvcnQg
dXJsKCJqcXVlcnkudWkudGFicy5taW4uY3NzIik7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5idXR0b24ubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmJ1dHRvbi5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1p
bi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBC
dXR0b24gMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9CdXR0b24jdGhlbWluZworICovCisudWktYnV0
dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MDttYXJn
aW4tcmlnaHQ6LjFlbTt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7Y3Vyc29yOnBvaW50
ZXI7dGV4dC1hbGlnbjpjZW50ZXI7em9vbToxO292ZXJmbG93OnZpc2libGU7fS51aS1idXR0b24t
aWNvbi1vbmx5e3dpZHRoOjIuMmVtO31idXR0b24udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoy
LjRlbTt9LnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuNGVtO31idXR0b24udWktYnV0dG9u
LWljb25zLW9ubHl7d2lkdGg6My43ZW07fS51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0e2Rpc3Bs
YXk6YmxvY2s7bGluZS1oZWlnaHQ6MS40O30udWktYnV0dG9uLXRleHQtb25seSAudWktYnV0dG9u
LXRleHR7cGFkZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10
ZXh0LC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVtO3Rl
eHQtaW5kZW50Oi05OTk5OTk5cHg7fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1
dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzou
NGVtIDFlbSAuNGVtIDIuMWVtO30udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1
dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzou
NGVtIDIuMWVtIC40ZW0gMWVtO30udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0
e3BhZGRpbmctbGVmdDoyLjFlbTtwYWRkaW5nLXJpZ2h0OjIuMWVtO31pbnB1dC51aS1idXR0b257
cGFkZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24sLnVpLWJ1dHRv
bi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRh
cnkgLnVpLWljb24sLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1pY29uLC51aS1idXR0b24taWNv
bnMtb25seSAudWktaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LThw
eDt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb257bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThw
eDt9LnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwu
dWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi1p
Y29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5e2xlZnQ6LjVlbTt9LnVpLWJ1dHRvbi10
ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi10
ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5
IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbi10ZXh0LWlj
b25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1i
dXR0b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbnNldHttYXJnaW4tcmln
aHQ6N3B4O30udWktYnV0dG9uc2V0IC51aS1idXR0b257bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmln
aHQ6LS4zZW07fWJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFk
ZGluZzowO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNv
cmUubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUubWluLmNzcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUubWluLmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjE1CisgKgorICog
Q29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQor
ICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMu
CisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5
LmNvbS9VSS9UaGVtaW5nL0FQSQorICovCisudWktaGVscGVyLWhpZGRlbntkaXNwbGF5Om5vbmU7
fS51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50
O2NsaXA6cmVjdCgxcHggMXB4IDFweCAxcHgpO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO30u
dWktaGVscGVyLXJlc2V0e21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDtvdXRsaW5lOjA7bGlu
ZS1oZWlnaHQ6MS4zO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMDAlO2xpc3Qtc3R5
bGU6bm9uZTt9LnVpLWhlbHBlci1jbGVhcmZpeDphZnRlcntjb250ZW50OiIuIjtkaXNwbGF5OmJs
b2NrO2hlaWdodDowO2NsZWFyOmJvdGg7dmlzaWJpbGl0eTpoaWRkZW47fS51aS1oZWxwZXItY2xl
YXJmaXh7ZGlzcGxheTppbmxpbmUtYmxvY2s7fS8qIHJlcXVpcmVkIGNvbW1lbnQgZm9yIGNsZWFy
Zml4IHRvIHdvcmsgaW4gT3BlcmEgXCovICogaHRtbCAudWktaGVscGVyLWNsZWFyZml4e2hlaWdo
dDoxJTt9LnVpLWhlbHBlci1jbGVhcmZpeHtkaXNwbGF5OmJsb2NrO30vKiBlbmQgY2xlYXJmaXgg
Ki8gLnVpLWhlbHBlci16Zml4e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bv
c2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTt9LnVpLXN0
YXRlLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0IWltcG9ydGFudDt9LnVpLWljb257ZGlzcGxheTpi
bG9jazt0ZXh0LWluZGVudDotOTk5OTlweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1yZXBl
YXQ6bm8tcmVwZWF0O30udWktd2lkZ2V0LW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7
bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9qcXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9q
cXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWku
ZGF0ZXBpY2tlci5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8qCisg
KiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVU
SE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVu
ZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnku
b3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RhdGVwaWNrZXIj
dGhlbWluZworICovCisudWktZGF0ZXBpY2tlcnt3aWR0aDoxN2VtO3BhZGRpbmc6LjJlbSAuMmVt
IDA7ZGlzcGxheTpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXJ7cG9z
aXRpb246cmVsYXRpdmU7cGFkZGluZzouMmVtIDA7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXByZXYsLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtwb3NpdGlvbjphYnNv
bHV0ZTt0b3A6MnB4O3dpZHRoOjEuOGVtO2hlaWdodDoxLjhlbTt9LnVpLWRhdGVwaWNrZXIgLnVp
LWRhdGVwaWNrZXItcHJldi1ob3ZlciwudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0
LWhvdmVye3RvcDoxcHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXZ7bGVmdDoy
cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHR7cmlnaHQ6MnB4O30udWktZGF0
ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVye2xlZnQ6MXB4O30udWktZGF0ZXBpY2tl
ciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVye3JpZ2h0OjFweDt9LnVpLWRhdGVwaWNrZXIgLnVp
LWRhdGVwaWNrZXItcHJldiBzcGFuLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQg
c3BhbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0
Oi04cHg7dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXRpdGxle21hcmdpbjowIDIuM2VtO2xpbmUtaGVpZ2h0OjEuOGVtO3RleHQtYWxpZ246Y2Vu
dGVyO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3R7Zm9udC1zaXpl
OjFlbTttYXJnaW46MXB4IDA7fS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1v
bnRoLXllYXJ7d2lkdGg6MTAwJTt9LnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIt
bW9udGgsLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcnt3aWR0aDo0OSU7
fS51aS1kYXRlcGlja2VyIHRhYmxle3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07Ym9yZGVyLWNv
bGxhcHNlOmNvbGxhcHNlO21hcmdpbjowIDAgLjRlbTt9LnVpLWRhdGVwaWNrZXIgdGh7cGFkZGlu
ZzouN2VtIC4zZW07dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXI6MDt9
LnVpLWRhdGVwaWNrZXIgdGR7Ym9yZGVyOjA7cGFkZGluZzoxcHg7fS51aS1kYXRlcGlja2VyIHRk
IHNwYW4sLnVpLWRhdGVwaWNrZXIgdGQgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjJlbTt0ZXh0
LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0
ZXBpY2tlci1idXR0b25wYW5le2JhY2tncm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjdlbSAwIDAg
MDtwYWRkaW5nOjAgLjJlbTtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowO2JvcmRlci1ib3R0
b206MDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257Zmxv
YXQ6cmlnaHQ7bWFyZ2luOi41ZW0gLjJlbSAuNGVtO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6LjJl
bSAuNmVtIC4zZW0gLjZlbTt3aWR0aDphdXRvO292ZXJmbG93OnZpc2libGU7fS51aS1kYXRlcGlj
a2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVu
dHtmbG9hdDpsZWZ0O30udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpe3dpZHRoOmF1
dG87fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3Vwe2Zsb2F0OmxlZnQ7
fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxle3dpZHRoOjk1
JTttYXJnaW46MCBhdXRvIC40ZW07fS51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNr
ZXItZ3JvdXB7d2lkdGg6NTAlO30udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2Vy
LWdyb3Vwe3dpZHRoOjMzLjMlO30udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2Vy
LWdyb3Vwe3dpZHRoOjI1JTt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3Jv
dXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6MDt9LnVpLWRh
dGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2Vy
LWhlYWRlcntib3JkZXItbGVmdC13aWR0aDowO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0
ZXBpY2tlci1idXR0b25wYW5le2NsZWFyOmxlZnQ7fS51aS1kYXRlcGlja2VyLXJvdy1icmVha3tj
bGVhcjpib3RoO3dpZHRoOjEwMCU7Zm9udC1zaXplOjA7fS51aS1kYXRlcGlja2VyLXJ0bHtkaXJl
Y3Rpb246cnRsO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldntyaWdodDoy
cHg7bGVmdDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dHtsZWZ0
OjJweDtyaWdodDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldjpo
b3ZlcntyaWdodDoxcHg7bGVmdDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNr
ZXItbmV4dDpob3ZlcntsZWZ0OjFweDtyaWdodDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVp
LWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpyaWdodDt9LnVpLWRhdGVwaWNrZXItcnRsIC51
aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OmxlZnQ7fS51aS1kYXRlcGlja2Vy
LXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJl
bnR7ZmxvYXQ6cmlnaHQ7fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cHtm
bG9hdDpyaWdodDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3Qg
LnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXdp
ZHRoOjFweDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAu
dWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lk
dGg6MXB4O30udWktZGF0ZXBpY2tlci1jb3ZlcntkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztw
b3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2ZpbHRlcjptYXNrKCk7dG9wOi00cHg7bGVmdDot
NHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmRpYWxvZy5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuZGlhbG9nLm1p
bi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBE
aWFsb2cgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EaWFsb2cjdGhlbWluZworICovCisudWktZGlh
bG9ne3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6LjJlbTt3aWR0aDozMDBweDtvdmVyZmxvdzpo
aWRkZW47fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0gMWVtO3Bv
c2l0aW9uOnJlbGF0aXZlO30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGV7ZmxvYXQ6bGVmdDtt
YXJnaW46LjFlbSAxNnB4IC4xZW0gMDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNs
b3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi4zZW07dG9wOjUwJTt3aWR0aDoxOXB4O21hcmdp
bjotMTBweCAwIDAgMDtwYWRkaW5nOjFweDtoZWlnaHQ6MThweDt9LnVpLWRpYWxvZyAudWktZGlh
bG9nLXRpdGxlYmFyLWNsb3NlIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW46MXB4O30udWktZGlh
bG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsLnVpLWRpYWxvZyAudWktZGlhbG9n
LXRpdGxlYmFyLWNsb3NlOmZvY3Vze3BhZGRpbmc6MDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLWNv
bnRlbnR7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjA7cGFkZGluZzouNWVtIDFlbTtiYWNrZ3Jv
dW5kOm5vbmU7b3ZlcmZsb3c6YXV0bzt6b29tOjE7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0
b25wYW5le3RleHQtYWxpZ246bGVmdDtib3JkZXItd2lkdGg6MXB4IDAgMCAwO2JhY2tncm91bmQt
aW1hZ2U6bm9uZTttYXJnaW46LjVlbSAwIDAgMDtwYWRkaW5nOi4zZW0gMWVtIC41ZW0gLjRlbTt9
LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXR7Zmxv
YXQ6cmlnaHQ7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbnttYXJnaW46
LjVlbSAuNGVtIC41ZW0gMDtjdXJzb3I6cG9pbnRlcjt9LnVpLWRpYWxvZyAudWktcmVzaXphYmxl
LXNle3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7cmlnaHQ6M3B4O2JvdHRvbTozcHg7fS51aS1kcmFn
Z2FibGUgLnVpLWRpYWxvZy10aXRsZWJhcntjdXJzb3I6bW92ZTt9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uY3NzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzcwkobm9uZXhpc3RlbnQpCisrKyBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
anF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorLyoKKyAqIGpRdWVyeSBVSSBQcm9ncmVzc2JhciAxLjguMTUKKyAqCisgKiBDb3B5cmln
aHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFs
IGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0
dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJ
L1Byb2dyZXNzYmFyI3RoZW1pbmcKKyAqLworLnVpLXByb2dyZXNzYmFye2hlaWdodDoyZW07dGV4
dC1hbGlnbjpsZWZ0O30udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVle21hcmdp
bjotMXB4O2hlaWdodDoxMDAlO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
anF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucmVz
aXphYmxlLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5yZXNpemFibGUubWlu
LmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFJl
c2l6YWJsZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAq
CisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Jlc2l6YWJsZSN0aGVtaW5nCisgKi8KKy51
aS1yZXNpemFibGV7cG9zaXRpb246cmVsYXRpdmU7fS51aS1yZXNpemFibGUtaGFuZGxle3Bvc2l0
aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTouMXB4O3otaW5kZXg6OTk5OTk7ZGlzcGxheTpibG9jazt9
LnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSwudWktcmVzaXphYmxl
LWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxle2Rpc3BsYXk6bm9uZTt9LnVpLXJlc2l6YWJs
ZS1ue2N1cnNvcjpuLXJlc2l6ZTtoZWlnaHQ6N3B4O3dpZHRoOjEwMCU7dG9wOi01cHg7bGVmdDow
O30udWktcmVzaXphYmxlLXN7Y3Vyc29yOnMtcmVzaXplO2hlaWdodDo3cHg7d2lkdGg6MTAwJTti
b3R0b206LTVweDtsZWZ0OjA7fS51aS1yZXNpemFibGUtZXtjdXJzb3I6ZS1yZXNpemU7d2lkdGg6
N3B4O3JpZ2h0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1yZXNpemFibGUtd3tjdXJzb3I6
dy1yZXNpemU7d2lkdGg6N3B4O2xlZnQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJTt9LnVpLXJlc2l6
YWJsZS1zZXtjdXJzb3I6c2UtcmVzaXplO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6MXB4
O2JvdHRvbToxcHg7fS51aS1yZXNpemFibGUtc3d7Y3Vyc29yOnN3LXJlc2l6ZTt3aWR0aDo5cHg7
aGVpZ2h0OjlweDtsZWZ0Oi01cHg7Ym90dG9tOi01cHg7fS51aS1yZXNpemFibGUtbnd7Y3Vyc29y
Om53LXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtsZWZ0Oi01cHg7dG9wOi01cHg7fS51aS1y
ZXNpemFibGUtbmV7Y3Vyc29yOm5lLXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtyaWdodDot
NXB4O3RvcDotNXB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLnNlbGVjdGFibGUubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFi
bGUubWluLmNzcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNz
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFNlbGVj
dGFibGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TZWxlY3RhYmxlI3RoZW1pbmcKKyAqLworLnVp
LXNlbGVjdGFibGUtaGVscGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwO2JvcmRlcjox
cHggZG90dGVkIGJsYWNrO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1
ZXJ5LnVpLnNsaWRlci5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuc2xpZGVyLm1p
bi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5zbGlkZXIubWluLmNzcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFNsaWRlciAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL1NsaWRlciN0aGVtaW5nCisgKi8KKy51aS1zbGlkZXJ7cG9zaXRpb246
cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O30udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxle3Bv
c2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt3aWR0aDoxLjJlbTtoZWlnaHQ6MS4yZW07Y3Vyc29y
OmRlZmF1bHQ7fS51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTt6
LWluZGV4OjE7Zm9udC1zaXplOi43ZW07ZGlzcGxheTpibG9jaztib3JkZXI6MDtiYWNrZ3JvdW5k
LXBvc2l0aW9uOjAgMDt9LnVpLXNsaWRlci1ob3Jpem9udGFse2hlaWdodDouOGVtO30udWktc2xp
ZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGV7dG9wOi0uM2VtO21hcmdpbi1sZWZ0Oi0u
NmVtO30udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZXt0b3A6MDtoZWlnaHQ6
MTAwJTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWlue2xlZnQ6MDt9
LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3JpZ2h0OjA7fS51aS1z
bGlkZXItdmVydGljYWx7d2lkdGg6LjhlbTtoZWlnaHQ6MTAwcHg7fS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1oYW5kbGV7bGVmdDotLjNlbTttYXJnaW4tbGVmdDowO21hcmdpbi1ib3R0
b206LS42ZW07fS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZXtsZWZ0OjA7d2lk
dGg6MTAwJTt9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbntib3R0b206
MDt9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1heHt0b3A6MDt9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50YWJzLm1pbi5jc3MKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50YWJzLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2px
dWVyeS51aS50YWJzLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoK
KyAqIGpRdWVyeSBVSSBUYWJzIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JT
LnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIg
dGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcv
bGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGFicyN0aGVtaW5nCisg
Ki8KKy51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbTt6b29tOjE7fS51aS10
YWJzIC51aS10YWJzLW5hdnttYXJnaW46MDtwYWRkaW5nOi4yZW0gLjJlbSAwO30udWktdGFicyAu
dWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25lO2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRp
dmU7dG9wOjFweDttYXJnaW46MCAuMmVtIDFweCAwO2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7
cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcDt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGF7
ZmxvYXQ6bGVmdDtwYWRkaW5nOi41ZW0gMWVtO3RleHQtZGVjb3JhdGlvbjpub25lO30udWktdGFi
cyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxlY3RlZHttYXJnaW4tYm90dG9tOjA7cGFkZGlu
Zy1ib3R0b206MXB4O30udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxlY3RlZCBh
LC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCBhLC51aS10YWJzIC51
aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNzaW5nIGF7Y3Vyc29yOnRleHQ7fS51aS10YWJz
IC51aS10YWJzLW5hdiBsaSBhLC51aS10YWJzLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMt
bmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYXtjdXJzb3I6cG9pbnRlcjt9LnVpLXRhYnMgLnVpLXRh
YnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXItd2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTti
YWNrZ3JvdW5kOm5vbmU7fS51aS10YWJzIC51aS10YWJzLWhpZGV7ZGlzcGxheTpub25lIWltcG9y
dGFudDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50aGVt
ZS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnRoZW1lLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMiBAQAorLyoKKyAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuOC4xNQorICoKKyAq
IENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkK
KyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVy
eS5jb20vVUkvVGhlbWluZy9BUEkKKyAqCisgKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVt
ZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8KKyAqLworLnVpLXdpZGdl
dHtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMWVtO30u
dWktd2lkZ2V0IC51aS13aWRnZXR7Zm9udC1zaXplOjFlbTt9LnVpLXdpZGdldCBpbnB1dCwudWkt
d2lkZ2V0IHNlbGVjdCwudWktd2lkZ2V0IHRleHRhcmVhLC51aS13aWRnZXQgYnV0dG9ue2ZvbnQt
ZmFtaWx5OlZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MWVtO30udWktd2lkZ2V0
LWNvbnRlbnR7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2ZmZiB1cmwoaW1hZ2Vz
L3VpLWJnX2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6
IzIyMjt9LnVpLXdpZGdldC1jb250ZW50IGF7Y29sb3I6IzIyMjt9LnVpLXdpZGdldC1oZWFkZXJ7
Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hp
Z2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6
IzIyMjtmb250LXdlaWdodDpib2xkO30udWktd2lkZ2V0LWhlYWRlciBhe2NvbG9yOiMyMjI7fS51
aS1zdGF0ZS1kZWZhdWx0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWkt
d2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNkM2QzZDM7
YmFja2dyb3VuZDojZTZlNmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAw
LnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzU1NTt9LnVp
LXN0YXRlLWRlZmF1bHQgYSwudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssLnVpLXN0YXRlLWRlZmF1
bHQgYTp2aXNpdGVke2NvbG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1o
b3ZlciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVy
IC51aS1zdGF0ZS1ob3ZlciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1z
dGF0ZS1mb2N1cywudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBz
b2xpZCAjOTk5O2JhY2tncm91bmQ6I2RhZGFkYSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2Rh
ZGFkYV8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9y
OiMyMTIxMjE7fS51aS1zdGF0ZS1ob3ZlciBhLC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVye2NvbG9y
OiMyMTIxMjE7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdl
dC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFj
dGl2ZXtib3JkZXI6MXB4IHNvbGlkICNhYWE7YmFja2dyb3VuZDojZmZmIHVybChpbWFnZXMvdWkt
YmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdo
dDpub3JtYWw7Y29sb3I6IzIxMjEyMTt9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3Rp
dmUgYTpsaW5rLC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiMyMTIxMjE7dGV4dC1k
ZWNvcmF0aW9uOm5vbmU7fS51aS13aWRnZXQgOmFjdGl2ZXtvdXRsaW5lOm5vbmU7fS51aS1zdGF0
ZS1oaWdobGlnaHQsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsLnVpLXdp
ZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodHtib3JkZXI6MXB4IHNvbGlkICNmY2VmYTE7
YmFja2dyb3VuZDojZmJmOWVlIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAw
LnBuZykgNTAlIDUwJSByZXBlYXQteDtjb2xvcjojMzYzNjM2O30udWktc3RhdGUtaGlnaGxpZ2h0
IGEsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhl
YWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGF7Y29sb3I6IzM2MzYzNjt9LnVpLXN0YXRlLWVycm9y
LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1oZWFkZXIgLnVp
LXN0YXRlLWVycm9ye2JvcmRlcjoxcHggc29saWQgI2NkMGEwYTtiYWNrZ3JvdW5kOiNmZWYxZWMg
dXJsKGltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVh
dC14O2NvbG9yOiNjZDBhMGE7fS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAu
dWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xv
cjojY2QwYTBhO30udWktc3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0
YXRlLWVycm9yLXRleHQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHR7Y29s
b3I6I2NkMGEwYTt9LnVpLXByaW9yaXR5LXByaW1hcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1w
cmlvcml0eS1wcmltYXJ5LC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5e2Zv
bnQtd2VpZ2h0OmJvbGQ7fS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50
IC51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNl
Y29uZGFyeXtvcGFjaXR5Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpu
b3JtYWw7fS51aS1zdGF0ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRp
c2FibGVkLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtm
aWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7YmFja2dyb3VuZC1pbWFnZTpub25lO30udWktaWNvbnt3
aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29u
c18yMjIyMjJfMjU2eDI0MC5wbmcpO30udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb257YmFja2dy
b3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7fS51aS13
aWRnZXQtaGVhZGVyIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29u
c18yMjIyMjJfMjU2eDI0MC5wbmcpO30udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbntiYWNrZ3Jv
dW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nKTt9LnVpLXN0
YXRlLWhvdmVyIC51aS1pY29uLC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbntiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWFj
dGl2ZSAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1
XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbntiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWVy
cm9yIC51aS1pY29uLC51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29ue2JhY2tncm91bmQtaW1h
Z2U6dXJsKGltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpO30udWktaWNvbi1jYXJh
dC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fS51aS1pY29uLWNhcmF0LTEtbmV7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTZweCAwO30udWktaWNvbi1jYXJhdC0xLWV7YmFja2dyb3VuZC1wb3Np
dGlvbjotMzJweCAwO30udWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4
cHggMDt9LnVpLWljb24tY2FyYXQtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggMDt9LnVp
LWljb24tY2FyYXQtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDA7fS51aS1pY29uLWNh
cmF0LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDA7fS51aS1pY29uLWNhcmF0LTEtbnd7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggMDt9LnVpLWljb24tY2FyYXQtMi1uLXN7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTI4cHggMDt9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTQ0cHggMDt9LnVpLWljb24tdHJpYW5nbGUtMS1ue2JhY2tncm91bmQtcG9zaXRp
b246MCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NnB4IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJw
eCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4
IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAt
MTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0x
NnB4O30udWktaWNvbi10cmlhbmdsZS0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTZw
eDt9LnVpLWljb24tdHJpYW5nbGUtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTZw
eDt9LnVpLWljb24tdHJpYW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2
cHg7fS51aS1pY29uLXRyaWFuZ2xlLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0x
NnB4O30udWktaWNvbi1hcnJvdy0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zMnB4O30udWkt
aWNvbi1hcnJvdy0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHg7fS51aS1pY29u
LWFycm93LTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0zMnB4O30udWktaWNvbi1hcnJv
dy0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTMycHg7fS51aS1pY29uLWFycm93LTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXN3e2Jh
Y2tncm91bmQtcG9zaXRpb246LTgwcHggLTMycHg7fS51aS1pY29uLWFycm93LTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi05NnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQt
cG9zaXRpb246LTExMnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0yLW4tc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xMjhweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMi1uZS1zd3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNDRweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTYwcHggLTMycHg7fS51aS1pY29uLWFycm93LTItc2Utbnd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTc2cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLW57YmFja2dyb3VuZC1wb3Np
dGlvbjotMTkycHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjA4cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLXN7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjI0cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjQwcHggLTMycHg7fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9z
aXRpb246MCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLW5le2JhY2tncm91bmQtcG9zaXRp
b246LTE2cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRp
b246LTMycHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi00OHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0
aW9uOi02NHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3d7YmFja2dyb3VuZC1wb3Np
dGlvbjotODBweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotOTZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLW53e2JhY2tncm91bmQtcG9z
aXRpb246LTExMnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbi1ze2JhY2tncm91bmQt
cG9zaXRpb246LTEyOHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTQ0cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1lLXd7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1zZS1u
d3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0
b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC00OHB4O30udWktaWNvbi1hcnJvd3Ro
aWNrc3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTQ4cHg7fS51aS1pY29uLWFy
cm93dGhpY2tzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtNDhweDt9LnVpLWlj
b24tYXJyb3d0aGlja3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4O30u
dWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTY0cHg7
fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHgg
LTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246
LTMycHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ze2JhY2tncm91bmQtcG9z
aXRpb246LTQ4cHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtd3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1w
b3NpdGlvbjotODBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZXR1cm4tMS1le2JhY2tncm91bmQt
cG9zaXRpb246LTk2cHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtc3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xMTJweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xMjhweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZXti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNjRweDt9LnVpLWljb24tYXJyb3ctNHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOjAgLTgwcHg7fS51aS1pY29uLWFycm93LTQtZGlhZ3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xNnB4IC04MHB4O30udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRp
b246LTMycHggLTgwcHg7fS51aS1pY29uLW5ld3dpbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4
IC04MHB4O30udWktaWNvbi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTgwcHg7
fS51aS1pY29uLXNodWZmbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweDt9LnVpLWlj
b24tdHJhbnNmZXItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTgwcHg7fS51aS1pY29u
LXRyYW5zZmVydGhpY2stZS13e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC04MHB4O30udWkt
aWNvbi1mb2xkZXItY29sbGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweDt9LnVpLWlj
b24tZm9sZGVyLW9wZW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtOTZweDt9LnVpLWljb24t
ZG9jdW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTZweDt9LnVpLWljb24tZG9jdW1l
bnQtYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC05NnB4O30udWktaWNvbi1ub3Rle2JhY2tn
cm91bmQtcG9zaXRpb246LTY0cHggLTk2cHg7fS51aS1pY29uLW1haWwtY2xvc2Vke2JhY2tncm91
bmQtcG9zaXRpb246LTgwcHggLTk2cHg7fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi05NnB4IC05NnB4O30udWktaWNvbi1zdWl0Y2FzZXtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xMTJweCAtOTZweDt9LnVpLWljb24tY29tbWVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhw
eCAtOTZweDt9LnVpLWljb24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4
O30udWktaWNvbi1wcmludHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtOTZweDt9LnVpLWlj
b24tdHJhc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTk2cHg7fS51aS1pY29uLWxvY2tl
ZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtOTZweDt9LnVpLWljb24tdW5sb2NrZWR7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTk2cHg7fS51aS1pY29uLWJvb2ttYXJre2JhY2tncm91
bmQtcG9zaXRpb246LTIyNHB4IC05NnB4O30udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjQwcHggLTk2cHg7fS51aS1pY29uLWhvbWV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMTJw
eDt9LnVpLWljb24tZmxhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMTJweDt9LnVpLWlj
b24tY2FsZW5kYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHg7fS51aS1pY29uLWNh
cnR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTEycHg7fS51aS1pY29uLXBlbmNpbHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMTJweDt9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1w
b3NpdGlvbjotODBweCAtMTEycHg7fS51aS1pY29uLWRpc2t7YmFja2dyb3VuZC1wb3NpdGlvbjot
OTZweCAtMTEycHg7fS51aS1pY29uLWNhbGN1bGF0b3J7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEy
cHggLTExMnB4O30udWktaWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTEx
MnB4O30udWktaWNvbi16b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMTJweDt9
LnVpLWljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMTJweDt9LnVpLWlj
b24td3JlbmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweDt9LnVpLWljb24tZ2Vh
cntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTEycHg7fS51aS1pY29uLWhlYXJ0e2JhY2tn
cm91bmQtcG9zaXRpb246LTIwOHB4IC0xMTJweDt9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0yMjRweCAtMTEycHg7fS51aS1pY29uLWxpbmt7YmFja2dyb3VuZC1wb3NpdGlvbjot
MjQwcHggLTExMnB4O30udWktaWNvbi1jYW5jZWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhw
eDt9LnVpLWljb24tcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweDt9LnVpLWlj
b24tcGx1c3RoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTEyOHB4O30udWktaWNvbi1t
aW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMjhweDt9LnVpLWljb24tbWludXN0aGlj
a3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMjhweDt9LnVpLWljb24tY2xvc2V7YmFja2dy
b3VuZC1wb3NpdGlvbjotODBweCAtMTI4cHg7fS51aS1pY29uLWNsb3NldGhpY2t7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotOTZweCAtMTI4cHg7fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xMTJweCAtMTI4cHg7fS51aS1pY29uLWxpZ2h0YnVsYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
MjhweCAtMTI4cHg7fS51aS1pY29uLXNjaXNzb3Jze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4
IC0xMjhweDt9LnVpLWljb24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0x
MjhweDt9LnVpLWljb24tY29weXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTI4cHg7fS51
aS1pY29uLWNvbnRhY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyOHB4O30udWktaWNv
bi1pbWFnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHg7fS51aS1pY29uLXZpZGVv
e2JhY2tncm91bmQtcG9zaXRpb246LTIyNHB4IC0xMjhweDt9LnVpLWljb24tc2NyaXB0e2JhY2tn
cm91bmQtcG9zaXRpb246LTI0MHB4IC0xMjhweDt9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1w
b3NpdGlvbjowIC0xNDRweDt9LnVpLWljb24taW5mb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4
IC0xNDRweDt9LnVpLWljb24tbm90aWNle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE0NHB4
O30udWktaWNvbi1oZWxwe2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4O30udWktaWNv
bi1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNDRweDt9LnVpLWljb24tYnVsbGV0
e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE0NHB4O30udWktaWNvbi1yYWRpby1vZmZ7YmFj
a2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTQ0cHg7fS51aS1pY29uLXJhZGlvLW9ue2JhY2tncm91
bmQtcG9zaXRpb246LTExMnB4IC0xNDRweDt9LnVpLWljb24tcGluLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTI4cHggLTE0NHB4O30udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NDRweCAtMTQ0cHg7fS51aS1pY29uLXBsYXl7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNjBweDt9
LnVpLWljb24tcGF1c2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTYwcHg7fS51aS1pY29u
LXNlZWstbmV4dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweDt9LnVpLWljb24tc2Vl
ay1wcmV2e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE2MHB4O30udWktaWNvbi1zZWVrLWVu
ZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1zdGFydHti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1maXJzdHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc3RvcHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi05NnB4IC0xNjBweDt9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTEycHggLTE2MHB4O30udWktaWNvbi12b2x1bWUtb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTEy
OHB4IC0xNjBweDt9LnVpLWljb24tdm9sdW1lLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4
IC0xNjBweDt9LnVpLWljb24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweDt9LnVp
LWljb24tc2lnbmFsLWRpYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTc2cHg7fS51aS1p
Y29uLXNpZ25hbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNzZweDt9LnVpLWljb24tYmF0
dGVyeS0we2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4O30udWktaWNvbi1iYXR0ZXJ5
LTF7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnktMnti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tn
cm91bmQtcG9zaXRpb246LTk2cHggLTE3NnB4O30udWktaWNvbi1jaXJjbGUtcGx1c3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOjAgLTE5MnB4O30udWktaWNvbi1jaXJjbGUtbWludXN7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0zMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWV7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotNDhweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ze2JhY2tn
cm91bmQtcG9zaXRpb246LTY0cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3ti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xl
LW57YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJv
dy1le2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWFy
cm93LXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUt
YXJyb3ctd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTkycHg7fS51aS1pY29uLWNpcmNs
ZS1hcnJvdy1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xOTJweDt9LnVpLWljb24tY2ly
Y2xlLXpvb21pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHg7fS51aS1pY29uLWNp
cmNsZS16b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xOTJweDt9LnVpLWljb24t
Y2lyY2xlLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xOTJweDt9LnVpLWljb24t
Y2lyY2xlc21hbGwtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4O30udWktaWNvbi1j
aXJjbGVzbWFsbC1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0yMDhweDt9LnVpLWlj
b24tY2lyY2xlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjA4cHg7fS51
aS1pY29uLXNxdWFyZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHg7
fS51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIw
OHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4
IC0yMDhweDt9LnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlv
bjowIC0yMjRweDt9LnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbHtiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0zMnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFs
e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTIyNHB4O30udWktaWNvbi1ncmlwc21hbGwtZGlh
Z29uYWwtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjI0cHg7fS51aS1pY29uLWdyaXAt
ZGlhZ29uYWwtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjI0cHg7fS51aS1jb3JuZXIt
YWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRsey1tb3otYm9y
ZGVyLXJhZGl1cy10b3BsZWZ0OjRweDstd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4
Oy1raHRtbC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVz
OjRweDt9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci10b3AsLnVpLWNvcm5lci1yaWdodCwudWkt
Y29ybmVyLXRyey1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDo0cHg7LXdlYmtpdC1ib3JkZXIt
dG9wLXJpZ2h0LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDti
b3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90
dG9tLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLWJsey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0
b21sZWZ0OjRweDstd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1i
b3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRw
eDt9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWkt
Y29ybmVyLWJyey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHg7LXdlYmtpdC1ib3Jk
ZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFk
aXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7fS51aS13aWRnZXQtb3Zlcmxh
eXtiYWNrZ3JvdW5kOiNhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5w
bmcpIDUwJSA1MCUgcmVwZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7
fS51aS13aWRnZXQtc2hhZG93e21hcmdpbjotOHB4IDAgMCAtOHB4O3BhZGRpbmc6OHB4O2JhY2tn
cm91bmQ6I2FhYSB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAl
IDUwJSByZXBlYXQteDtvcGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTstbW96LWJv
cmRlci1yYWRpdXM6OHB4Oy1raHRtbC1ib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJvcmRlci1y
YWRpdXM6OHB4O2JvcmRlci1yYWRpdXM6OHB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LXVpLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LXVpLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LXVpLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxMyBAQAorLyohCisgKiBqUXVl
cnkgVUkgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSQorICovCisoZnVuY3Rpb24oYSxjKXtmdW5jdGlv
biBkKGgsZyl7dmFyIGk9aC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCJhcmVhIj09PWkpe2c9
aC5wYXJlbnROb2RlO2k9Zy5uYW1lO2lmKCFoLmhyZWZ8fCFpfHxnLm5vZGVOYW1lLnRvTG93ZXJD
YXNlKCkhPT0ibWFwIilyZXR1cm4gZmFsc2U7aD1hKCJpbWdbdXNlbWFwPSMiK2krIl0iKVswXTty
ZXR1cm4hIWgmJmUoaCl9cmV0dXJuKC9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVj
dC8udGVzdChpKT8haC5kaXNhYmxlZDoiYSI9PWk/aC5ocmVmfHxnOmcpJiZlKGgpfWZ1bmN0aW9u
IGUoaCl7cmV0dXJuIWEoaCkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXty
ZXR1cm4gYS5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGEuZXhwci5maWx0
ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1hLnVpPWEudWl8fHt9O2lmKCFhLnVpLnZlcnNpb24p
e2EuZXh0ZW5kKGEudWkse3ZlcnNpb246IjEuOC4xNSIsCitrZXlDb2RlOntBTFQ6MTgsQkFDS1NQ
QUNFOjgsQ0FQU19MT0NLOjIwLENPTU1BOjE4OCxDT01NQU5EOjkxLENPTU1BTkRfTEVGVDo5MSxD
T01NQU5EX1JJR0hUOjkzLENPTlRST0w6MTcsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVS
OjEzLEVTQ0FQRToyNyxIT01FOjM2LElOU0VSVDo0NSxMRUZUOjM3LE1FTlU6OTMsTlVNUEFEX0FE
RDoxMDcsTlVNUEFEX0RFQ0lNQUw6MTEwLE5VTVBBRF9ESVZJREU6MTExLE5VTVBBRF9FTlRFUjox
MDgsTlVNUEFEX01VTFRJUExZOjEwNixOVU1QQURfU1VCVFJBQ1Q6MTA5LFBBR0VfRE9XTjozNCxQ
QUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU0hJRlQ6MTYsU1BBQ0U6MzIsVEFCOjksVVA6
MzgsV0lORE9XUzo5MX19KTthLmZuLmV4dGVuZCh7cHJvcEF0dHI6YS5mbi5wcm9wfHxhLmZuLmF0
dHIsX2ZvY3VzOmEuZm4uZm9jdXMsZm9jdXM6ZnVuY3Rpb24oaCxnKXtyZXR1cm4gdHlwZW9mIGg9
PT0ibnVtYmVyIj90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT0KK3RoaXM7c2V0VGltZW91dChm
dW5jdGlvbigpe2EoaSkuZm9jdXMoKTtnJiZnLmNhbGwoaSl9LGgpfSk6dGhpcy5fZm9jdXMuYXBw
bHkodGhpcyxhcmd1bWVudHMpfSxzY3JvbGxQYXJlbnQ6ZnVuY3Rpb24oKXt2YXIgaDtoPWEuYnJv
d3Nlci5tc2llJiYvKHN0YXRpY3xyZWxhdGl2ZSkvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikp
fHwvYWJzb2x1dGUvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpP3RoaXMucGFyZW50cygpLmZp
bHRlcihmdW5jdGlvbigpe3JldHVybi8ocmVsYXRpdmV8YWJzb2x1dGV8Zml4ZWQpLy50ZXN0KGEu
Y3VyQ1NTKHRoaXMsInBvc2l0aW9uIiwxKSkmJi8oYXV0b3xzY3JvbGwpLy50ZXN0KGEuY3VyQ1NT
KHRoaXMsIm92ZXJmbG93IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKSthLmN1ckNT
Uyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTp0aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVu
Y3Rpb24oKXtyZXR1cm4vKGF1dG98c2Nyb2xsKS8udGVzdChhLmN1ckNTUyh0aGlzLAorIm92ZXJm
bG93IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVy
Zmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4vZml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9u
IikpfHwhaC5sZW5ndGg/YShkb2N1bWVudCk6aH0sekluZGV4OmZ1bmN0aW9uKGgpe2lmKGghPT1j
KXJldHVybiB0aGlzLmNzcygiekluZGV4IixoKTtpZih0aGlzLmxlbmd0aCl7aD1hKHRoaXNbMF0p
O2Zvcih2YXIgZztoLmxlbmd0aCYmaFswXSE9PWRvY3VtZW50Oyl7Zz1oLmNzcygicG9zaXRpb24i
KTtpZihnPT09ImFic29sdXRlInx8Zz09PSJyZWxhdGl2ZSJ8fGc9PT0iZml4ZWQiKXtnPXBhcnNl
SW50KGguY3NzKCJ6SW5kZXgiKSwxMCk7aWYoIWlzTmFOKGcpJiZnIT09MClyZXR1cm4gZ31oPWgu
cGFyZW50KCl9fXJldHVybiAwfSxkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRo
aXMuYmluZCgoYS5zdXBwb3J0LnNlbGVjdHN0YXJ0PyJzZWxlY3RzdGFydCI6CisibW91c2Vkb3du
IikrIi51aS1kaXNhYmxlU2VsZWN0aW9uIixmdW5jdGlvbihoKXtoLnByZXZlbnREZWZhdWx0KCl9
KX0sZW5hYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5iaW5kKCIudWktZGlz
YWJsZVNlbGVjdGlvbiIpfX0pO2EuZWFjaChbIldpZHRoIiwiSGVpZ2h0Il0sZnVuY3Rpb24oaCxn
KXtmdW5jdGlvbiBpKGwsbyxuLGspe2EuZWFjaChiLGZ1bmN0aW9uKCl7by09cGFyc2VGbG9hdChh
LmN1ckNTUyhsLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MDtpZihuKW8tPXBhcnNlRmxvYXQoYS5j
dXJDU1MobCwiYm9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO2lmKGspby09cGFyc2VGbG9h
dChhLmN1ckNTUyhsLCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwfSk7cmV0dXJuIG99dmFyIGI9Zz09
PSJXaWR0aCI/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJvdHRvbSJdLGY9Zy50b0xvd2VyQ2Fz
ZSgpLGo9e2lubmVyV2lkdGg6YS5mbi5pbm5lcldpZHRoLGlubmVySGVpZ2h0OmEuZm4uaW5uZXJI
ZWlnaHQsCitvdXRlcldpZHRoOmEuZm4ub3V0ZXJXaWR0aCxvdXRlckhlaWdodDphLmZuLm91dGVy
SGVpZ2h0fTthLmZuWyJpbm5lciIrZ109ZnVuY3Rpb24obCl7aWYobD09PWMpcmV0dXJuIGpbImlu
bmVyIitnXS5jYWxsKHRoaXMpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmNz
cyhmLGkodGhpcyxsKSsicHgiKX0pfTthLmZuWyJvdXRlciIrZ109ZnVuY3Rpb24obCxvKXtpZih0
eXBlb2YgbCE9PSJudW1iZXIiKXJldHVybiBqWyJvdXRlciIrZ10uY2FsbCh0aGlzLGwpO3JldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmNzcyhmLGkodGhpcyxsLHRydWUsbykrInB4
Iil9KX19KTthLmV4dGVuZChhLmV4cHJbIjoiXSx7ZGF0YTpmdW5jdGlvbihoLGcsaSl7cmV0dXJu
ISFhLmRhdGEoaCxpWzNdKX0sZm9jdXNhYmxlOmZ1bmN0aW9uKGgpe3JldHVybiBkKGgsIWlzTmFO
KGEuYXR0cihoLCJ0YWJpbmRleCIpKSl9LHRhYmJhYmxlOmZ1bmN0aW9uKGgpe3ZhciBnPWEuYXR0
cihoLAorInRhYmluZGV4IiksaT1pc05hTihnKTtyZXR1cm4oaXx8Zz49MCkmJmQoaCwhaSl9fSk7
YShmdW5jdGlvbigpe3ZhciBoPWRvY3VtZW50LmJvZHksZz1oLmFwcGVuZENoaWxkKGc9ZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2EuZXh0ZW5kKGcuc3R5bGUse21pbkhlaWdodDoiMTAw
cHgiLGhlaWdodDoiYXV0byIscGFkZGluZzowLGJvcmRlcldpZHRoOjB9KTthLnN1cHBvcnQubWlu
SGVpZ2h0PWcub2Zmc2V0SGVpZ2h0PT09MTAwO2Euc3VwcG9ydC5zZWxlY3RzdGFydD0ib25zZWxl
Y3RzdGFydCJpbiBnO2gucmVtb3ZlQ2hpbGQoZykuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthLmV4
dGVuZChhLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbihoLGcsaSl7aD1hLnVpW2hdLnByb3RvdHlw
ZTtmb3IodmFyIGIgaW4gaSl7aC5wbHVnaW5zW2JdPWgucGx1Z2luc1tiXXx8W107aC5wbHVnaW5z
W2JdLnB1c2goW2csaVtiXV0pfX0sY2FsbDpmdW5jdGlvbihoLGcsaSl7aWYoKGc9aC5wbHVnaW5z
W2ddKSYmCitoLmVsZW1lbnRbMF0ucGFyZW50Tm9kZSlmb3IodmFyIGI9MDtiPGcubGVuZ3RoO2Ir
KyloLm9wdGlvbnNbZ1tiXVswXV0mJmdbYl1bMV0uYXBwbHkoaC5lbGVtZW50LGkpfX0sY29udGFp
bnM6ZnVuY3Rpb24oaCxnKXtyZXR1cm4gZG9jdW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/
aC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihnKSYxNjpoIT09ZyYmaC5jb250YWlucyhnKX0saGFz
U2Nyb2xsOmZ1bmN0aW9uKGgsZyl7aWYoYShoKS5jc3MoIm92ZXJmbG93Iik9PT0iaGlkZGVuIily
ZXR1cm4gZmFsc2U7Zz1nJiZnPT09ImxlZnQiPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIjt2YXIg
aT1mYWxzZTtpZihoW2ddPjApcmV0dXJuIHRydWU7aFtnXT0xO2k9aFtnXT4wO2hbZ109MDtyZXR1
cm4gaX0saXNPdmVyQXhpczpmdW5jdGlvbihoLGcsaSl7cmV0dXJuIGg+ZyYmaDxnK2l9LGlzT3Zl
cjpmdW5jdGlvbihoLGcsaSxiLGYsail7cmV0dXJuIGEudWkuaXNPdmVyQXhpcyhoLGksZikmJgor
YS51aS5pc092ZXJBeGlzKGcsYixqKX19KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEsYyl7aWYo
YS5jbGVhbkRhdGEpe3ZhciBkPWEuY2xlYW5EYXRhO2EuY2xlYW5EYXRhPWZ1bmN0aW9uKGgpe2Zv
cih2YXIgZz0wLGk7KGk9aFtnXSkhPW51bGw7ZysrKWEoaSkudHJpZ2dlckhhbmRsZXIoInJlbW92
ZSIpO2QoaCl9fWVsc2V7dmFyIGU9YS5mbi5yZW1vdmU7YS5mbi5yZW1vdmU9ZnVuY3Rpb24oaCxn
KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIWcpaWYoIWh8fGEuZmlsdGVyKGgsW3Ro
aXNdKS5sZW5ndGgpYSgiKiIsdGhpcykuYWRkKFt0aGlzXSkuZWFjaChmdW5jdGlvbigpe2EodGhp
cykudHJpZ2dlckhhbmRsZXIoInJlbW92ZSIpfSk7cmV0dXJuIGUuY2FsbChhKHRoaXMpLGgsZyl9
KX19YS53aWRnZXQ9ZnVuY3Rpb24oaCxnLGkpe3ZhciBiPWguc3BsaXQoIi4iKVswXSxmO2g9aC5z
cGxpdCgiLiIpWzFdO2Y9YisiLSIraDtpZighaSl7aT1nO2c9YS5XaWRnZXR9YS5leHByWyI6Il1b
Zl09ZnVuY3Rpb24oail7cmV0dXJuISFhLmRhdGEoaiwKK2gpfTthW2JdPWFbYl18fHt9O2FbYl1b
aF09ZnVuY3Rpb24oaixsKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaixs
KX07Zz1uZXcgZztnLm9wdGlvbnM9YS5leHRlbmQodHJ1ZSx7fSxnLm9wdGlvbnMpO2FbYl1baF0u
cHJvdG90eXBlPWEuZXh0ZW5kKHRydWUsZyx7bmFtZXNwYWNlOmIsd2lkZ2V0TmFtZTpoLHdpZGdl
dEV2ZW50UHJlZml4OmFbYl1baF0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxoLHdpZGdl
dEJhc2VDbGFzczpmfSxpKTthLndpZGdldC5icmlkZ2UoaCxhW2JdW2hdKX07YS53aWRnZXQuYnJp
ZGdlPWZ1bmN0aW9uKGgsZyl7YS5mbltoXT1mdW5jdGlvbihpKXt2YXIgYj10eXBlb2YgaT09PSJz
dHJpbmciLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGo9dGhpcztp
PSFiJiZmLmxlbmd0aD9hLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGldLmNvbmNhdChmKSk6aTtp
ZihiJiZpLmNoYXJBdCgwKT09PSJfIilyZXR1cm4gajsKK2I/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGw9YS5kYXRhKHRoaXMsaCksbz1sJiZhLmlzRnVuY3Rpb24obFtpXSk/bFtpXS5hcHBseShs
LGYpOmw7aWYobyE9PWwmJm8hPT1jKXtqPW87cmV0dXJuIGZhbHNlfX0pOnRoaXMuZWFjaChmdW5j
dGlvbigpe3ZhciBsPWEuZGF0YSh0aGlzLGgpO2w/bC5vcHRpb24oaXx8e30pLl9pbml0KCk6YS5k
YXRhKHRoaXMsaCxuZXcgZyhpLHRoaXMpKX0pO3JldHVybiBqfX07YS5XaWRnZXQ9ZnVuY3Rpb24o
aCxnKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaCxnKX07YS5XaWRnZXQu
cHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLG9wdGlv
bnM6e2Rpc2FibGVkOmZhbHNlfSxfY3JlYXRlV2lkZ2V0OmZ1bmN0aW9uKGgsZyl7YS5kYXRhKGcs
dGhpcy53aWRnZXROYW1lLHRoaXMpO3RoaXMuZWxlbWVudD1hKGcpO3RoaXMub3B0aW9ucz1hLmV4
dGVuZCh0cnVlLHt9LHRoaXMub3B0aW9ucywKK3RoaXMuX2dldENyZWF0ZU9wdGlvbnMoKSxoKTt2
YXIgaT10aGlzO3RoaXMuZWxlbWVudC5iaW5kKCJyZW1vdmUuIit0aGlzLndpZGdldE5hbWUsZnVu
Y3Rpb24oKXtpLmRlc3Ryb3koKX0pO3RoaXMuX2NyZWF0ZSgpO3RoaXMuX3RyaWdnZXIoImNyZWF0
ZSIpO3RoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gYS5t
ZXRhZGF0YSYmYS5tZXRhZGF0YS5nZXQodGhpcy5lbGVtZW50WzBdKVt0aGlzLndpZGdldE5hbWVd
fSxfY3JlYXRlOmZ1bmN0aW9uKCl7fSxfaW5pdDpmdW5jdGlvbigpe30sZGVzdHJveTpmdW5jdGlv
bigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlRGF0YSh0
aGlzLndpZGdldE5hbWUpO3RoaXMud2lkZ2V0KCkudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUp
LnJlbW92ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVDbGFzcyh0aGlzLndpZGdldEJhc2VD
bGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LAord2lkZ2V0OmZ1bmN0aW9uKCl7
cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGgsZyl7dmFyIGk9aDtpZihhcmd1
bWVudHMubGVuZ3RoPT09MClyZXR1cm4gYS5leHRlbmQoe30sdGhpcy5vcHRpb25zKTtpZih0eXBl
b2YgaD09PSJzdHJpbmciKXtpZihnPT09YylyZXR1cm4gdGhpcy5vcHRpb25zW2hdO2k9e307aVto
XT1nfXRoaXMuX3NldE9wdGlvbnMoaSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9u
KGgpe3ZhciBnPXRoaXM7YS5lYWNoKGgsZnVuY3Rpb24oaSxiKXtnLl9zZXRPcHRpb24oaSxiKX0p
O3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGgsZyl7dGhpcy5vcHRpb25zW2hdPWc7
aWYoaD09PSJkaXNhYmxlZCIpdGhpcy53aWRnZXQoKVtnPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNz
Il0odGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLmF0
dHIoImFyaWEtZGlzYWJsZWQiLGcpO3JldHVybiB0aGlzfSwKK2VuYWJsZTpmdW5jdGlvbigpe3Jl
dHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixmYWxzZSl9LGRpc2FibGU6ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdHJ1ZSl9LF90cmlnZ2VyOmZ1bmN0
aW9uKGgsZyxpKXt2YXIgYj10aGlzLm9wdGlvbnNbaF07Zz1hLkV2ZW50KGcpO2cudHlwZT0oaD09
PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/aDp0aGlzLndpZGdldEV2ZW50UHJlZml4K2gpLnRvTG93
ZXJDYXNlKCk7aT1pfHx7fTtpZihnLm9yaWdpbmFsRXZlbnQpe2g9YS5ldmVudC5wcm9wcy5sZW5n
dGg7Zm9yKHZhciBmO2g7KXtmPWEuZXZlbnQucHJvcHNbLS1oXTtnW2ZdPWcub3JpZ2luYWxFdmVu
dFtmXX19dGhpcy5lbGVtZW50LnRyaWdnZXIoZyxpKTtyZXR1cm4hKGEuaXNGdW5jdGlvbihiKSYm
Yi5jYWxsKHRoaXMuZWxlbWVudFswXSxnLGkpPT09ZmFsc2V8fGcuaXNEZWZhdWx0UHJldmVudGVk
KCkpfX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlv
bnM6e2NhbmNlbDoiOmlucHV0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0
OmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhp
cy53aWRnZXROYW1lLGZ1bmN0aW9uKGQpe3JldHVybiBjLl9tb3VzZURvd24oZCl9KS5iaW5kKCJj
bGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihkKXtpZih0cnVlPT09YS5kYXRhKGQudGFy
Z2V0LGMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iikpe2EucmVtb3ZlRGF0YShkLnRh
cmdldCxjLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpO2Quc3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uKCk7cmV0dXJuIGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVz
dHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSl9
LF9tb3VzZURvd246ZnVuY3Rpb24oYyl7Yy5vcmlnaW5hbEV2ZW50PQorYy5vcmlnaW5hbEV2ZW50
fHx7fTtpZighYy5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZCl7dGhpcy5fbW91c2VTdGFydGVk
JiZ0aGlzLl9tb3VzZVVwKGMpO3RoaXMuX21vdXNlRG93bkV2ZW50PWM7dmFyIGQ9dGhpcyxlPWMu
d2hpY2g9PTEsaD10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YShjLnRhcmdl
dCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWV8fGh8fCF0
aGlzLl9tb3VzZUNhcHR1cmUoYykpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlz
Lm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGlt
ZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2QubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlv
bnMuZGVsYXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYykmJnRoaXMuX21vdXNlRGVsYXlN
ZXQoYykpe3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGMpIT09CitmYWxzZTtp
ZighdGhpcy5fbW91c2VTdGFydGVkKXtjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRy
dWU9PT1hLmRhdGEoYy50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQi
KSYmYS5yZW1vdmVEYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2
ZW50Iik7dGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIGQuX21vdXNl
TW92ZShnKX07dGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGcpe3JldHVybiBkLl9tb3Vz
ZVVwKGcpfTthKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhp
cy5fbW91c2VNb3ZlRGVsZWdhdGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhp
cy5fbW91c2VVcERlbGVnYXRlKTtjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGMub3JpZ2luYWxF
dmVudC5tb3VzZUhhbmRsZWQ9dHJ1ZX19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oYyl7aWYoYS5icm93
c2VyLm1zaWUmJgorIShkb2N1bWVudC5kb2N1bWVudE1vZGU+PTkpJiYhYy5idXR0b24pcmV0dXJu
IHRoaXMuX21vdXNlVXAoYyk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZURyYWco
Yyk7cmV0dXJuIGMucHJldmVudERlZmF1bHQoKX1pZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGMp
JiZ0aGlzLl9tb3VzZURlbGF5TWV0KGMpKSh0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VT
dGFydCh0aGlzLl9tb3VzZURvd25FdmVudCxjKSE9PWZhbHNlKT90aGlzLl9tb3VzZURyYWcoYyk6
dGhpcy5fbW91c2VVcChjKTtyZXR1cm4hdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5j
dGlvbihjKXthKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0
aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1l
LHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3Vz
ZVN0YXJ0ZWQ9CitmYWxzZTtjLnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZh
LmRhdGEoYy50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUp
O3RoaXMuX21vdXNlU3RvcChjKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0
aW9uKGMpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdl
WC1jLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1jLnBhZ2VZKSk+
PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpm
dW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlv
bigpe3JldHVybiB0cnVlfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndpZGdldCgidWku
ZHJhZ2dhYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoiZHJhZyIsb3B0aW9uczp7
YWRkQ2xhc3Nlczp0cnVlLGFwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFsc2UsY29ubmVjdFRvU29y
dGFibGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDpmYWxz
ZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFsIixpZnJhbWVGaXg6ZmFs
c2Usb3BhY2l0eTpmYWxzZSxyZWZyZXNoUG9zaXRpb25zOmZhbHNlLHJldmVydDpmYWxzZSxyZXZl
cnREdXJhdGlvbjo1MDAsc2NvcGU6ImRlZmF1bHQiLHNjcm9sbDp0cnVlLHNjcm9sbFNlbnNpdGl2
aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ZmFsc2Usc25hcE1vZGU6ImJvdGgiLHNuYXBUb2xl
cmFuY2U6MjAsc3RhY2s6ZmFsc2UsekluZGV4OmZhbHNlfSxfY3JlYXRlOmZ1bmN0aW9uKCl7aWYo
dGhpcy5vcHRpb25zLmhlbHBlcj09Cisib3JpZ2luYWwiJiYhL14oPzpyfGF8ZikvLnRlc3QodGhp
cy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBdLnN0eWxlLnBvc2l0aW9u
PSJyZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFz
cygidWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95
OmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtZW50LmRhdGEoImRyYWdnYWJsZSIpKXt0aGlzLmVsZW1l
bnQucmVtb3ZlRGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dhYmxlIikucmVtb3ZlQ2xh
c3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2Fi
bGVkIik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9fSxfbW91c2VDYXB0dXJlOmZ1
bmN0aW9uKGMpe3ZhciBkPQordGhpcy5vcHRpb25zO2lmKHRoaXMuaGVscGVyfHxkLmRpc2FibGVk
fHxhKGMudGFyZ2V0KS5pcygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSlyZXR1cm4gZmFsc2U7dGhp
cy5oYW5kbGU9dGhpcy5fZ2V0SGFuZGxlKGMpO2lmKCF0aGlzLmhhbmRsZSlyZXR1cm4gZmFsc2U7
YShkLmlmcmFtZUZpeD09PXRydWU/ImlmcmFtZSI6ZC5pZnJhbWVGaXgpLmVhY2goZnVuY3Rpb24o
KXthKCc8ZGl2IGNsYXNzPSJ1aS1kcmFnZ2FibGUtaWZyYW1lRml4IiBzdHlsZT0iYmFja2dyb3Vu
ZDogI2ZmZjsiPjwvZGl2PicpLmNzcyh7d2lkdGg6dGhpcy5vZmZzZXRXaWR0aCsicHgiLGhlaWdo
dDp0aGlzLm9mZnNldEhlaWdodCsicHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsb3BhY2l0eToiMC4w
MDEiLHpJbmRleDoxRTN9KS5jc3MoYSh0aGlzKS5vZmZzZXQoKSkuYXBwZW5kVG8oImJvZHkiKX0p
O3JldHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnM7
dGhpcy5oZWxwZXI9Cit0aGlzLl9jcmVhdGVIZWxwZXIoYyk7dGhpcy5fY2FjaGVIZWxwZXJQcm9w
b3J0aW9ucygpO2lmKGEudWkuZGRtYW5hZ2VyKWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpczt0
aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9z
aXRpb24iKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlz
Lm9mZnNldD10aGlzLnBvc2l0aW9uQWJzPXRoaXMuZWxlbWVudC5vZmZzZXQoKTt0aGlzLm9mZnNl
dD17dG9wOnRoaXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5vZmZzZXQu
bGVmdC10aGlzLm1hcmdpbnMubGVmdH07YS5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0
OmMucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6Yy5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBh
cmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9m
ZnNldCgpfSk7Cit0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5l
cmF0ZVBvc2l0aW9uKGMpO3RoaXMub3JpZ2luYWxQYWdlWD1jLnBhZ2VYO3RoaXMub3JpZ2luYWxQ
YWdlWT1jLnBhZ2VZO2QuY3Vyc29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoZC5j
dXJzb3JBdCk7ZC5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1lbnQoKTtpZih0aGlzLl90
cmlnZ2VyKCJzdGFydCIsYyk9PT1mYWxzZSl7dGhpcy5fY2xlYXIoKTtyZXR1cm4gZmFsc2V9dGhp
cy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2EudWkuZGRtYW5hZ2VyJiYhZC5kcm9wQmVoYXZp
b3VyJiZhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGMpO3RoaXMuaGVscGVyLmFk
ZENsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLl9tb3VzZURyYWcoYyx0cnVlKTth
LnVpLmRkbWFuYWdlciYmYS51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsYyk7cmV0dXJuIHRy
dWV9LAorX21vdXNlRHJhZzpmdW5jdGlvbihjLGQpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJh
dGVQb3NpdGlvbihjKTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJh
YnNvbHV0ZSIpO2lmKCFkKXtkPXRoaXMuX3VpSGFzaCgpO2lmKHRoaXMuX3RyaWdnZXIoImRyYWci
LGMsZCk9PT1mYWxzZSl7dGhpcy5fbW91c2VVcCh7fSk7cmV0dXJuIGZhbHNlfXRoaXMucG9zaXRp
b249ZC5wb3NpdGlvbn1pZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0i
eSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9uLmxlZnQrInB4IjtpZigh
dGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIpdGhpcy5oZWxwZXJbMF0u
c3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7YS51aS5kZG1hbmFnZXImJmEudWkuZGRt
YW5hZ2VyLmRyYWcodGhpcyxjKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7
dmFyIGQ9CitmYWxzZTtpZihhLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0aW9ucy5kcm9wQmVoYXZp
b3VyKWQ9YS51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGMpO2lmKHRoaXMuZHJvcHBlZCl7ZD10aGlz
LmRyb3BwZWQ7dGhpcy5kcm9wcGVkPWZhbHNlfWlmKCghdGhpcy5lbGVtZW50WzBdfHwhdGhpcy5l
bGVtZW50WzBdLnBhcmVudE5vZGUpJiZ0aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiKXJl
dHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0PT0iaW52YWxpZCImJiFkfHx0aGlzLm9w
dGlvbnMucmV2ZXJ0PT0idmFsaWQiJiZkfHx0aGlzLm9wdGlvbnMucmV2ZXJ0PT09dHJ1ZXx8YS5p
c0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwo
dGhpcy5lbGVtZW50LGQpKXt2YXIgZT10aGlzO2EodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5v
cmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwKKzEw
KSxmdW5jdGlvbigpe2UuX3RyaWdnZXIoInN0b3AiLGMpIT09ZmFsc2UmJmUuX2NsZWFyKCl9KX1l
bHNlIHRoaXMuX3RyaWdnZXIoInN0b3AiLGMpIT09ZmFsc2UmJnRoaXMuX2NsZWFyKCk7cmV0dXJu
IGZhbHNlfSxfbW91c2VVcDpmdW5jdGlvbihjKXt0aGlzLm9wdGlvbnMuaWZyYW1lRml4PT09dHJ1
ZSYmYSgiZGl2LnVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMpfSk7YS51aS5kZG1hbmFnZXImJmEudWkuZGRtYW5h
Z2VyLmRyYWdTdG9wKHRoaXMsYyk7cmV0dXJuIGEudWkubW91c2UucHJvdG90eXBlLl9tb3VzZVVw
LmNhbGwodGhpcyxjKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIuaXMoIi51aS1kcmFn
Z2FibGUtZHJhZ2dpbmciKT90aGlzLl9tb3VzZVVwKHt9KTp0aGlzLl9jbGVhcigpO3JldHVybiB0
aGlzfSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKGMpe3ZhciBkPSF0aGlzLm9wdGlvbnMuaGFuZGxlfHwK
KyFhKHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5sZW5ndGg/dHJ1ZTpmYWxzZTth
KHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5maW5kKCIqIikuYW5kU2VsZigpLmVh
Y2goZnVuY3Rpb24oKXtpZih0aGlzPT1jLnRhcmdldClkPXRydWV9KTtyZXR1cm4gZH0sX2NyZWF0
ZUhlbHBlcjpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnM7Yz1hLmlzRnVuY3Rpb24oZC5o
ZWxwZXIpP2EoZC5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtjXSkpOmQuaGVscGVyPT0i
Y2xvbmUiP3RoaXMuZWxlbWVudC5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIik6dGhpcy5lbGVtZW50
O2MucGFyZW50cygiYm9keSIpLmxlbmd0aHx8Yy5hcHBlbmRUbyhkLmFwcGVuZFRvPT0icGFyZW50
Ij90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTpkLmFwcGVuZFRvKTtjWzBdIT10aGlzLmVsZW1l
bnRbMF0mJiEvKGZpeGVkfGFic29sdXRlKS8udGVzdChjLmNzcygicG9zaXRpb24iKSkmJgorYy5j
c3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTtyZXR1cm4gY30sX2FkanVzdE9mZnNldEZyb21IZWxw
ZXI6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGM9PSJzdHJpbmciKWM9Yy5zcGxpdCgiICIpO2lmKGEu
aXNBcnJheShjKSljPXtsZWZ0OitjWzBdLHRvcDorY1sxXXx8MH07aWYoImxlZnQiaW4gYyl0aGlz
Lm9mZnNldC5jbGljay5sZWZ0PWMubGVmdCt0aGlzLm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4g
Yyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYy5y
aWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9wImluIGMpdGhpcy5vZmZzZXQuY2xpY2sudG9w
PWMudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJvdHRvbSJpbiBjKXRoaXMub2Zmc2V0LmNsaWNr
LnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1jLmJvdHRvbSt0aGlzLm1hcmdpbnMu
dG9wfSxfZ2V0UGFyZW50T2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZzZXRQYXJlbnQ9Cit0aGlz
LmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYz10aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtp
Zih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9j
dW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJl
bnRbMF0pKXtjLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTtjLnRvcCs9dGhp
cy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3Vt
ZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50
WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiJiZhLmJyb3dzZXIubXNpZSljPXt0b3A6
MCxsZWZ0OjB9O3JldHVybnt0b3A6Yy50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNz
cygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6Yy5sZWZ0KyhwYXJzZUludCh0aGlzLm9m
ZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLAorMTApfHwwKX19LF9nZXRSZWxhdGl2
ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3NzUG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBj
PXRoaXMuZWxlbWVudC5wb3NpdGlvbigpO3JldHVybnt0b3A6Yy50b3AtKHBhcnNlSW50KHRoaXMu
aGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxs
ZWZ0OmMubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9j
YWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5l
bGVtZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5lbGVtZW50
LmNzcygibWFyZ2luVG9wIiksMTApfHwwLHJpZ2h0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3Mo
Im1hcmdpblJpZ2h0IiksMTApfHwwLGJvdHRvbTpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJt
YXJnaW5Cb3R0b20iKSwKKzEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9u
KCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgp
LGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0
aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zO2lmKGMuY29udGFpbm1lbnQ9PSJwYXJlbnQiKWMuY29u
dGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihjLmNvbnRhaW5tZW50PT0iZG9j
dW1lbnQifHxjLmNvbnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRhaW5tZW50PVtjLmNvbnRh
aW5tZW50PT0iZG9jdW1lbnQiPzA6YSh3aW5kb3cpLnNjcm9sbExlZnQoKS10aGlzLm9mZnNldC5y
ZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LGMuY29udGFpbm1lbnQ9PSJkb2N1
bWVudCI/MDphKHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRo
aXMub2Zmc2V0LnBhcmVudC50b3AsCisoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2lu
ZG93KS5zY3JvbGxMZWZ0KCkpK2EoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3
aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMu
bGVmdCwoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2luZG93KS5zY3JvbGxUb3AoKSkr
KGEoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLmhlaWdodCgpfHxk
b2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRp
b25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8d2luZG93fHBhcmVu
dCkkLy50ZXN0KGMuY29udGFpbm1lbnQpJiZjLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yIT1BcnJh
eSl7Yz1hKGMuY29udGFpbm1lbnQpO3ZhciBkPWNbMF07aWYoZCl7Yy5vZmZzZXQoKTt2YXIgZT1h
KGQpLmNzcygib3ZlcmZsb3ciKSE9CisiaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVsocGFyc2VJ
bnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3Nz
KCJwYWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0
aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKSwoZT9N
YXRoLm1heChkLnNjcm9sbFdpZHRoLGQub2Zmc2V0V2lkdGgpOmQub2Zmc2V0V2lkdGgpLShwYXJz
ZUludChhKGQpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYShkKS5j
c3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10
aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKGU/TWF0aC5tYXgoZC5zY3JvbGxI
ZWlnaHQsZC5vZmZzZXRIZWlnaHQpOmQub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoYShkKS5jc3Mo
ImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApLShwYXJzZUludChhKGQpLmNzcygicGFkZGluZ0Jv
dHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5z
LnRvcC10aGlzLm1hcmdpbnMuYm90dG9tXTt0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcj1jfX1lbHNl
IGlmKGMuY29udGFpbm1lbnQuY29uc3RydWN0b3I9PUFycmF5KXRoaXMuY29udGFpbm1lbnQ9Yy5j
b250YWlubWVudH0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGMsZCl7aWYoIWQpZD10aGlz
LnBvc2l0aW9uO2M9Yz09ImFic29sdXRlIj8xOi0xO3ZhciBlPXRoaXMuY3NzUG9zaXRpb249PSJh
YnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5z
KHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQ
YXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFt
ZSk7cmV0dXJue3RvcDpkLnRvcCsKK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCpjK3RoaXMub2Zm
c2V0LnBhcmVudC50b3AqYy0oYS5icm93c2VyLnNhZmFyaSYmYS5icm93c2VyLnZlcnNpb248NTI2
JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/
LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRvcCgpKSpjKSxsZWZ0
OmQubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmMrdGhpcy5vZmZzZXQucGFyZW50Lmxl
ZnQqYy0oYS5icm93c2VyLnNhZmFyaSYmYS5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bv
c2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xs
UGFyZW50LnNjcm9sbExlZnQoKTpoPzA6ZS5zY3JvbGxMZWZ0KCkpKmMpfX0sX2dlbmVyYXRlUG9z
aXRpb246ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5jc3NQb3NpdGlvbj09
ImFic29sdXRlIiYmCishKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250
YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zm
c2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChlWzBdLnRh
Z05hbWUpLGc9Yy5wYWdlWCxpPWMucGFnZVk7aWYodGhpcy5vcmlnaW5hbFBvc2l0aW9uKXt2YXIg
YjtpZih0aGlzLmNvbnRhaW5tZW50KXtpZih0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcil7Yj10aGlz
LnJlbGF0aXZlX2NvbnRhaW5lci5vZmZzZXQoKTtiPVt0aGlzLmNvbnRhaW5tZW50WzBdK2IubGVm
dCx0aGlzLmNvbnRhaW5tZW50WzFdK2IudG9wLHRoaXMuY29udGFpbm1lbnRbMl0rYi5sZWZ0LHRo
aXMuY29udGFpbm1lbnRbM10rYi50b3BdfWVsc2UgYj10aGlzLmNvbnRhaW5tZW50O2lmKGMucGFn
ZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdKWc9YlswXSt0aGlzLm9mZnNldC5jbGljay5s
ZWZ0OworaWYoYy5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8YlsxXSlpPWJbMV0rdGhpcy5v
ZmZzZXQuY2xpY2sudG9wO2lmKGMucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5iWzJdKWc9
YlsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMucGFnZVktdGhpcy5vZmZzZXQuY2xpY2su
dG9wPmJbM10paT1iWzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihkLmdyaWQpe2k9ZC5ncmlk
WzFdP3RoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChpLXRoaXMub3JpZ2luYWxQYWdlWSkv
ZC5ncmlkWzFdKSpkLmdyaWRbMV06dGhpcy5vcmlnaW5hbFBhZ2VZO2k9Yj8hKGktdGhpcy5vZmZz
ZXQuY2xpY2sudG9wPGJbMV18fGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPmJbM10pP2k6IShpLXRo
aXMub2Zmc2V0LmNsaWNrLnRvcDxiWzFdKT9pLWQuZ3JpZFsxXTppK2QuZ3JpZFsxXTppO2c9ZC5n
cmlkWzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChnLXRoaXMub3JpZ2luYWxQYWdl
WCkvCitkLmdyaWRbMF0pKmQuZ3JpZFswXTp0aGlzLm9yaWdpbmFsUGFnZVg7Zz1iPyEoZy10aGlz
Lm9mZnNldC5jbGljay5sZWZ0PGJbMF18fGctdGhpcy5vZmZzZXQuY2xpY2subGVmdD5iWzJdKT9n
OiEoZy10aGlzLm9mZnNldC5jbGljay5sZWZ0PGJbMF0pP2ctZC5ncmlkWzBdOmcrZC5ncmlkWzBd
Omd9fXJldHVybnt0b3A6aS10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRp
dmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nl
ci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRp
b249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRv
cCgpKSxsZWZ0OmctdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5s
ZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhhLmJyb3dzZXIuc2FmYXJpJiZhLmJyb3dzZXIu
dmVyc2lvbjwKKzUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRp
b249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpoPzA6ZS5zY3JvbGxM
ZWZ0KCkpfX0sX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIucmVtb3ZlQ2xhc3MoInVpLWRy
YWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuaGVscGVyWzBdIT10aGlzLmVsZW1lbnRbMF0mJiF0aGlz
LmNhbmNlbEhlbHBlclJlbW92YWwmJnRoaXMuaGVscGVyLnJlbW92ZSgpO3RoaXMuaGVscGVyPW51
bGw7dGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNlfSxfdHJpZ2dlcjpmdW5jdGlvbihjLGQs
ZSl7ZT1lfHx0aGlzLl91aUhhc2goKTthLnVpLnBsdWdpbi5jYWxsKHRoaXMsYyxbZCxlXSk7aWYo
Yz09ImRyYWciKXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29s
dXRlIik7cmV0dXJuIGEuV2lkZ2V0LnByb3RvdHlwZS5fdHJpZ2dlci5jYWxsKHRoaXMsYyxkLAor
ZSl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxw
ZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQ
b3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSk7YS5leHRlbmQoYS51aS5kcmFnZ2Fi
bGUse3ZlcnNpb246IjEuOC4xNSJ9KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5l
Y3RUb1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oYyxkKXt2YXIgZT1hKHRoaXMpLmRhdGEoImRy
YWdnYWJsZSIpLGg9ZS5vcHRpb25zLGc9YS5leHRlbmQoe30sZCx7aXRlbTplLmVsZW1lbnR9KTtl
LnNvcnRhYmxlcz1bXTthKGguY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rpb24oKXt2YXIg
aT1hLmRhdGEodGhpcywic29ydGFibGUiKTtpZihpJiYhaS5vcHRpb25zLmRpc2FibGVkKXtlLnNv
cnRhYmxlcy5wdXNoKHtpbnN0YW5jZTppLHNob3VsZFJldmVydDppLm9wdGlvbnMucmV2ZXJ0fSk7
CitpLnJlZnJlc2hQb3NpdGlvbnMoKTtpLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyxnKX19KX0sc3Rv
cDpmdW5jdGlvbihjLGQpe3ZhciBlPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksaD1hLmV4dGVu
ZCh7fSxkLHtpdGVtOmUuZWxlbWVudH0pO2EuZWFjaChlLnNvcnRhYmxlcyxmdW5jdGlvbigpe2lm
KHRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0wO2UuY2FuY2VsSGVs
cGVyUmVtb3ZhbD10cnVlO3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZTtp
Zih0aGlzLnNob3VsZFJldmVydCl0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PXRydWU7dGhp
cy5pbnN0YW5jZS5fbW91c2VTdG9wKGMpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhp
cy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7ZS5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIiYm
dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1l
bHNle3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0KK2ZhbHNlO3RoaXMuaW5zdGFu
Y2UuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGMsaCl9fSl9LGRyYWc6ZnVuY3Rpb24oYyxkKXt2YXIg
ZT1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGg9dGhpczthLmVhY2goZS5zb3J0YWJsZXMsZnVu
Y3Rpb24oKXt0aGlzLmluc3RhbmNlLnBvc2l0aW9uQWJzPWUucG9zaXRpb25BYnM7dGhpcy5pbnN0
YW5jZS5oZWxwZXJQcm9wb3J0aW9ucz1lLmhlbHBlclByb3BvcnRpb25zO3RoaXMuaW5zdGFuY2Uu
b2Zmc2V0LmNsaWNrPWUub2Zmc2V0LmNsaWNrO2lmKHRoaXMuaW5zdGFuY2UuX2ludGVyc2VjdHNX
aXRoKHRoaXMuaW5zdGFuY2UuY29udGFpbmVyQ2FjaGUpKXtpZighdGhpcy5pbnN0YW5jZS5pc092
ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTE7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbT1hKGgp
LmNsb25lKCkucmVtb3ZlQXR0cigiaWQiKS5hcHBlbmRUbyh0aGlzLmluc3RhbmNlLmVsZW1lbnQp
LmRhdGEoInNvcnRhYmxlLWl0ZW0iLHRydWUpOwordGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxw
ZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcjt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVs
cGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGQuaGVscGVyWzBdfTtjLnRhcmdldD10aGlzLmluc3RhbmNl
LmN1cnJlbnRJdGVtWzBdO3RoaXMuaW5zdGFuY2UuX21vdXNlQ2FwdHVyZShjLHRydWUpO3RoaXMu
aW5zdGFuY2UuX21vdXNlU3RhcnQoYyx0cnVlLHRydWUpO3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNs
aWNrLnRvcD1lLm9mZnNldC5jbGljay50b3A7dGhpcy5pbnN0YW5jZS5vZmZzZXQuY2xpY2subGVm
dD1lLm9mZnNldC5jbGljay5sZWZ0O3RoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC5sZWZ0LT1l
Lm9mZnNldC5wYXJlbnQubGVmdC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdDt0aGlz
Lmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wLT1lLm9mZnNldC5wYXJlbnQudG9wLXRoaXMuaW5z
dGFuY2Uub2Zmc2V0LnBhcmVudC50b3A7CitlLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIixjKTtlLmRy
b3BwZWQ9dGhpcy5pbnN0YW5jZS5lbGVtZW50O2UuY3VycmVudEl0ZW09ZS5lbGVtZW50O3RoaXMu
aW5zdGFuY2UuZnJvbU91dHNpZGU9ZX10aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtJiZ0aGlzLmlu
c3RhbmNlLl9tb3VzZURyYWcoYyl9ZWxzZSBpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5p
bnN0YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0
aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIo
Im91dCIsYyx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5jZSkpO3RoaXMuaW5zdGFu
Y2UuX21vdXNlU3RvcChjLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhpcy5p
bnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5yZW1vdmUo
KTt0aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVyJiYKK3RoaXMuaW5zdGFuY2UucGxhY2Vob2xkZXIu
cmVtb3ZlKCk7ZS5fdHJpZ2dlcigiZnJvbVNvcnRhYmxlIixjKTtlLmRyb3BwZWQ9ZmFsc2V9fSl9
fSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjdXJzb3IiLHtzdGFydDpmdW5jdGlvbigp
e3ZhciBjPWEoImJvZHkiKSxkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihj
LmNzcygiY3Vyc29yIikpZC5fY3Vyc29yPWMuY3NzKCJjdXJzb3IiKTtjLmNzcygiY3Vyc29yIixk
LmN1cnNvcil9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIp
Lm9wdGlvbnM7Yy5fY3Vyc29yJiZhKCJib2R5IikuY3NzKCJjdXJzb3IiLGMuX2N1cnNvcil9fSk7
YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJvcGFjaXR5Iix7c3RhcnQ6ZnVuY3Rpb24oYyxk
KXtjPWEoZC5oZWxwZXIpO2Q9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGMu
Y3NzKCJvcGFjaXR5IikpZC5fb3BhY2l0eT0KK2MuY3NzKCJvcGFjaXR5Iik7Yy5jc3MoIm9wYWNp
dHkiLGQub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24oYyxkKXtjPWEodGhpcykuZGF0YSgiZHJhZ2dh
YmxlIikub3B0aW9ucztjLl9vcGFjaXR5JiZhKGQuaGVscGVyKS5jc3MoIm9wYWNpdHkiLGMuX29w
YWNpdHkpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Nyb2xsIix7c3RhcnQ6ZnVu
Y3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpO2lmKGMuc2Nyb2xsUGFyZW50
WzBdIT1kb2N1bWVudCYmYy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKWMub3ZlcmZs
b3dPZmZzZXQ9Yy5zY3JvbGxQYXJlbnQub2Zmc2V0KCl9LGRyYWc6ZnVuY3Rpb24oYyl7dmFyIGQ9
YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxlPWQub3B0aW9ucyxoPWZhbHNlO2lmKGQuc2Nyb2xs
UGFyZW50WzBdIT1kb2N1bWVudCYmZC5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKXtp
ZighZS5heGlzfHxlLmF4aXMhPQorIngiKWlmKGQub3ZlcmZsb3dPZmZzZXQudG9wK2Quc2Nyb2xs
UGFyZW50WzBdLm9mZnNldEhlaWdodC1jLnBhZ2VZPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpZC5zY3Jv
bGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWg9ZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Uuc2Ny
b2xsU3BlZWQ7ZWxzZSBpZihjLnBhZ2VZLWQub3ZlcmZsb3dPZmZzZXQudG9wPGUuc2Nyb2xsU2Vu
c2l0aXZpdHkpZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWg9ZC5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsVG9wLWUuc2Nyb2xsU3BlZWQ7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieSIpaWYoZC5vdmVy
Zmxvd09mZnNldC5sZWZ0K2Quc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWMucGFnZVg8ZS5z
Y3JvbGxTZW5zaXRpdml0eSlkLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWg9ZC5zY3JvbGxQ
YXJlbnRbMF0uc2Nyb2xsTGVmdCtlLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWC1kLm92ZXJm
bG93T2Zmc2V0LmxlZnQ8CitlLnNjcm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNj
cm9sbExlZnQ9aD1kLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWUuc2Nyb2xsU3BlZWR9ZWxz
ZXtpZighZS5heGlzfHxlLmF4aXMhPSJ4IilpZihjLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRv
cCgpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1hKGRvY3VtZW50KS5zY3JvbGxUb3AoYShkb2N1bWVu
dCkuc2Nyb2xsVG9wKCktZS5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykuaGVpZ2h0KCkt
KGMucGFnZVktYShkb2N1bWVudCkuc2Nyb2xsVG9wKCkpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1h
KGRvY3VtZW50KS5zY3JvbGxUb3AoYShkb2N1bWVudCkuc2Nyb2xsVG9wKCkrZS5zY3JvbGxTcGVl
ZCk7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieSIpaWYoYy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCk8ZS5zY3JvbGxTZW5zaXRpdml0eSloPWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoYShkb2N1
bWVudCkuc2Nyb2xsTGVmdCgpLQorZS5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykud2lk
dGgoKS0oYy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGUuc2Nyb2xsU2Vuc2l0aXZp
dHkpaD1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStlLnNj
cm9sbFNwZWVkKX1oIT09ZmFsc2UmJmEudWkuZGRtYW5hZ2VyJiYhZS5kcm9wQmVoYXZpb3VyJiZh
LnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhkLGMpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJh
Z2dhYmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFn
Z2FibGUiKSxkPWMub3B0aW9ucztjLnNuYXBFbGVtZW50cz1bXTthKGQuc25hcC5jb25zdHJ1Y3Rv
ciE9U3RyaW5nP2Quc25hcC5pdGVtc3x8IjpkYXRhKGRyYWdnYWJsZSkiOmQuc25hcCkuZWFjaChm
dW5jdGlvbigpe3ZhciBlPWEodGhpcyksaD1lLm9mZnNldCgpO3RoaXMhPWMuZWxlbWVudFswXSYm
Yy5zbmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLAord2lkdGg6ZS5vdXRlcldpZHRoKCksaGVp
Z2h0OmUub3V0ZXJIZWlnaHQoKSx0b3A6aC50b3AsbGVmdDpoLmxlZnR9KX0pfSxkcmFnOmZ1bmN0
aW9uKGMsZCl7Zm9yKHZhciBlPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksaD1lLm9wdGlvbnMs
Zz1oLnNuYXBUb2xlcmFuY2UsaT1kLm9mZnNldC5sZWZ0LGI9aStlLmhlbHBlclByb3BvcnRpb25z
LndpZHRoLGY9ZC5vZmZzZXQudG9wLGo9ZitlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsPWUu
c25hcEVsZW1lbnRzLmxlbmd0aC0xO2w+PTA7bC0tKXt2YXIgbz1lLnNuYXBFbGVtZW50c1tsXS5s
ZWZ0LG49bytlLnNuYXBFbGVtZW50c1tsXS53aWR0aCxrPWUuc25hcEVsZW1lbnRzW2xdLnRvcCxt
PWsrZS5zbmFwRWxlbWVudHNbbF0uaGVpZ2h0O2lmKG8tZzxpJiZpPG4rZyYmay1nPGYmJmY8bStn
fHxvLWc8aSYmaTxuK2cmJmstZzxqJiZqPG0rZ3x8by1nPGImJmI8bitnJiZrLWc8ZiYmZjxtK2d8
fG8tZzxiJiZiPG4rZyYmay1nPGomJgorajxtK2cpe2lmKGguc25hcE1vZGUhPSJpbm5lciIpe3Zh
ciBwPU1hdGguYWJzKGstaik8PWcscT1NYXRoLmFicyhtLWYpPD1nLHM9TWF0aC5hYnMoby1iKTw9
ZyxyPU1hdGguYWJzKG4taSk8PWc7aWYocClkLnBvc2l0aW9uLnRvcD1lLl9jb252ZXJ0UG9zaXRp
b25UbygicmVsYXRpdmUiLHt0b3A6ay1lLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9
KS50b3AtZS5tYXJnaW5zLnRvcDtpZihxKWQucG9zaXRpb24udG9wPWUuX2NvbnZlcnRQb3NpdGlv
blRvKCJyZWxhdGl2ZSIse3RvcDptLGxlZnQ6MH0pLnRvcC1lLm1hcmdpbnMudG9wO2lmKHMpZC5w
b3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6
by1lLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1lLm1hcmdpbnMubGVmdDtpZihyKWQu
cG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0
Om59KS5sZWZ0LWUubWFyZ2lucy5sZWZ0fXZhciB1PQorcHx8cXx8c3x8cjtpZihoLnNuYXBNb2Rl
IT0ib3V0ZXIiKXtwPU1hdGguYWJzKGstZik8PWc7cT1NYXRoLmFicyhtLWopPD1nO3M9TWF0aC5h
YnMoby1pKTw9ZztyPU1hdGguYWJzKG4tYik8PWc7aWYocClkLnBvc2l0aW9uLnRvcD1lLl9jb252
ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6ayxsZWZ0OjB9KS50b3AtZS5tYXJnaW5zLnRv
cDtpZihxKWQucG9zaXRpb24udG9wPWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3Rv
cDptLWUuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1lLm1hcmdpbnMudG9w
O2lmKHMpZC5wb3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3Rv
cDowLGxlZnQ6b30pLmxlZnQtZS5tYXJnaW5zLmxlZnQ7aWYocilkLnBvc2l0aW9uLmxlZnQ9ZS5f
Y29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpuLWUuaGVscGVyUHJvcG9y
dGlvbnMud2lkdGh9KS5sZWZ0LWUubWFyZ2lucy5sZWZ0fWlmKCFlLnNuYXBFbGVtZW50c1tsXS5z
bmFwcGluZyYmCisocHx8cXx8c3x8cnx8dSkpZS5vcHRpb25zLnNuYXAuc25hcCYmZS5vcHRpb25z
LnNuYXAuc25hcC5jYWxsKGUuZWxlbWVudCxjLGEuZXh0ZW5kKGUuX3VpSGFzaCgpLHtzbmFwSXRl
bTplLnNuYXBFbGVtZW50c1tsXS5pdGVtfSkpO2Uuc25hcEVsZW1lbnRzW2xdLnNuYXBwaW5nPXB8
fHF8fHN8fHJ8fHV9ZWxzZXtlLnNuYXBFbGVtZW50c1tsXS5zbmFwcGluZyYmZS5vcHRpb25zLnNu
YXAucmVsZWFzZSYmZS5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKGUuZWxlbWVudCxjLGEuZXh0
ZW5kKGUuX3VpSGFzaCgpLHtzbmFwSXRlbTplLnNuYXBFbGVtZW50c1tsXS5pdGVtfSkpO2Uuc25h
cEVsZW1lbnRzW2xdLnNuYXBwaW5nPWZhbHNlfX19fSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2Fi
bGUiLCJzdGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFnZ2Fi
bGUiKS5vcHRpb25zO2M9YS5tYWtlQXJyYXkoYShjLnN0YWNrKSkuc29ydChmdW5jdGlvbihlLGgp
e3JldHVybihwYXJzZUludChhKGUpLmNzcygiekluZGV4IiksCisxMCl8fDApLShwYXJzZUludChh
KGgpLmNzcygiekluZGV4IiksMTApfHwwKX0pO2lmKGMubGVuZ3RoKXt2YXIgZD1wYXJzZUludChj
WzBdLnN0eWxlLnpJbmRleCl8fDA7YShjKS5lYWNoKGZ1bmN0aW9uKGUpe3RoaXMuc3R5bGUueklu
ZGV4PWQrZX0pO3RoaXNbMF0uc3R5bGUuekluZGV4PWQrYy5sZW5ndGh9fX0pO2EudWkucGx1Z2lu
LmFkZCgiZHJhZ2dhYmxlIiwiekluZGV4Iix7c3RhcnQ6ZnVuY3Rpb24oYyxkKXtjPWEoZC5oZWxw
ZXIpO2Q9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGMuY3NzKCJ6SW5kZXgi
KSlkLl96SW5kZXg9Yy5jc3MoInpJbmRleCIpO2MuY3NzKCJ6SW5kZXgiLGQuekluZGV4KX0sc3Rv
cDpmdW5jdGlvbihjLGQpe2M9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2MuX3pJ
bmRleCYmYShkLmhlbHBlcikuY3NzKCJ6SW5kZXgiLGMuX3pJbmRleCl9fSl9KShqUXVlcnkpOwor
KGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt3aWRnZXRFdmVudFByZWZpeDoi
ZHJvcCIsb3B0aW9uczp7YWNjZXB0OiIqIixhY3RpdmVDbGFzczpmYWxzZSxhZGRDbGFzc2VzOnRy
dWUsZ3JlZWR5OmZhbHNlLGhvdmVyQ2xhc3M6ZmFsc2Usc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5j
ZToiaW50ZXJzZWN0In0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucyxkPWMu
YWNjZXB0O3RoaXMuaXNvdmVyPTA7dGhpcy5pc291dD0xO3RoaXMuYWNjZXB0PWEuaXNGdW5jdGlv
bihkKT9kOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKGQpfTt0aGlzLnByb3BvcnRpb25zPXt3aWR0
aDp0aGlzLmVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OnRoaXMuZWxlbWVudFswXS5vZmZz
ZXRIZWlnaHR9O2EudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5zY29wZV09YS51aS5kZG1hbmFn
ZXIuZHJvcHBhYmxlc1tjLnNjb3BlXXx8W107YS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLnNj
b3BlXS5wdXNoKHRoaXMpOworYy5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVp
LWRyb3BwYWJsZSIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7Zm9yKHZhciBjPWEudWkuZGRtYW5hZ2Vy
LmRyb3BwYWJsZXNbdGhpcy5vcHRpb25zLnNjb3BlXSxkPTA7ZDxjLmxlbmd0aDtkKyspY1tkXT09
dGhpcyYmYy5zcGxpY2UoZCwxKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJs
ZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJkcm9wcGFibGUiKS51bmJpbmQo
Ii5kcm9wcGFibGUiKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihjLGQpe2lmKGM9
PSJhY2NlcHQiKXRoaXMuYWNjZXB0PWEuaXNGdW5jdGlvbihkKT9kOmZ1bmN0aW9uKGUpe3JldHVy
biBlLmlzKGQpfTthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3Vt
ZW50cyl9LF9hY3RpdmF0ZTpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdlci5jdXJyZW50
O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmCit0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5v
cHRpb25zLmFjdGl2ZUNsYXNzKTtkJiZ0aGlzLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyx0aGlzLnVp
KGQpKX0sX2RlYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1hbmFnZXIuY3VycmVu
dDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlz
Lm9wdGlvbnMuYWN0aXZlQ2xhc3MpO2QmJnRoaXMuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGMsdGhp
cy51aShkKSl9LF9vdmVyOmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7
aWYoISghZHx8KGQuY3VycmVudEl0ZW18fGQuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSkp
aWYodGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZC5jdXJyZW50SXRlbXx8ZC5lbGVt
ZW50KSl7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlz
Lm9wdGlvbnMuaG92ZXJDbGFzcyk7Cit0aGlzLl90cmlnZ2VyKCJvdmVyIixjLHRoaXMudWkoZCkp
fX0sX291dDpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdlci5jdXJyZW50O2lmKCEoIWR8
fChkLmN1cnJlbnRJdGVtfHxkLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0pKWlmKHRoaXMu
YWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGQuY3VycmVudEl0ZW18fGQuZWxlbWVudCkpe3Ro
aXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRp
b25zLmhvdmVyQ2xhc3MpO3RoaXMuX3RyaWdnZXIoIm91dCIsYyx0aGlzLnVpKGQpKX19LF9kcm9w
OmZ1bmN0aW9uKGMsZCl7dmFyIGU9ZHx8YS51aS5kZG1hbmFnZXIuY3VycmVudDtpZighZXx8KGUu
Y3VycmVudEl0ZW18fGUuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSlyZXR1cm4gZmFsc2U7
dmFyIGg9ZmFsc2U7dGhpcy5lbGVtZW50LmZpbmQoIjpkYXRhKGRyb3BwYWJsZSkiKS5ub3QoIi51
aS1kcmFnZ2FibGUtZHJhZ2dpbmciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9CithLmRhdGEodGhp
cywiZHJvcHBhYmxlIik7aWYoZy5vcHRpb25zLmdyZWVkeSYmIWcub3B0aW9ucy5kaXNhYmxlZCYm
Zy5vcHRpb25zLnNjb3BlPT1lLm9wdGlvbnMuc2NvcGUmJmcuYWNjZXB0LmNhbGwoZy5lbGVtZW50
WzBdLGUuY3VycmVudEl0ZW18fGUuZWxlbWVudCkmJmEudWkuaW50ZXJzZWN0KGUsYS5leHRlbmQo
Zyx7b2Zmc2V0OmcuZWxlbWVudC5vZmZzZXQoKX0pLGcub3B0aW9ucy50b2xlcmFuY2UpKXtoPXRy
dWU7cmV0dXJuIGZhbHNlfX0pO2lmKGgpcmV0dXJuIGZhbHNlO2lmKHRoaXMuYWNjZXB0LmNhbGwo
dGhpcy5lbGVtZW50WzBdLGUuY3VycmVudEl0ZW18fGUuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5h
Y3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVD
bGFzcyk7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0
aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigiZHJvcCIsCitjLHRoaXMudWko
ZSkpO3JldHVybiB0aGlzLmVsZW1lbnR9cmV0dXJuIGZhbHNlfSx1aTpmdW5jdGlvbihjKXtyZXR1
cm57ZHJhZ2dhYmxlOmMuY3VycmVudEl0ZW18fGMuZWxlbWVudCxoZWxwZXI6Yy5oZWxwZXIscG9z
aXRpb246Yy5wb3NpdGlvbixvZmZzZXQ6Yy5wb3NpdGlvbkFic319fSk7YS5leHRlbmQoYS51aS5k
cm9wcGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KTthLnVpLmludGVyc2VjdD1mdW5jdGlvbihjLGQs
ZSl7aWYoIWQub2Zmc2V0KXJldHVybiBmYWxzZTt2YXIgaD0oYy5wb3NpdGlvbkFic3x8Yy5wb3Np
dGlvbi5hYnNvbHV0ZSkubGVmdCxnPWgrYy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxpPShjLnBv
c2l0aW9uQWJzfHxjLnBvc2l0aW9uLmFic29sdXRlKS50b3AsYj1pK2MuaGVscGVyUHJvcG9ydGlv
bnMuaGVpZ2h0LGY9ZC5vZmZzZXQubGVmdCxqPWYrZC5wcm9wb3J0aW9ucy53aWR0aCxsPWQub2Zm
c2V0LnRvcCxvPWwrZC5wcm9wb3J0aW9ucy5oZWlnaHQ7Citzd2l0Y2goZSl7Y2FzZSAiZml0Ijpy
ZXR1cm4gZjw9aCYmZzw9aiYmbDw9aSYmYjw9bztjYXNlICJpbnRlcnNlY3QiOnJldHVybiBmPGgr
Yy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZnLWMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgv
MjxqJiZsPGkrYy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmYi1jLmhlbHBlclByb3BvcnRp
b25zLmhlaWdodC8yPG87Y2FzZSAicG9pbnRlciI6cmV0dXJuIGEudWkuaXNPdmVyKChjLnBvc2l0
aW9uQWJzfHxjLnBvc2l0aW9uLmFic29sdXRlKS50b3ArKGMuY2xpY2tPZmZzZXR8fGMub2Zmc2V0
LmNsaWNrKS50b3AsKGMucG9zaXRpb25BYnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrKGMu
Y2xpY2tPZmZzZXR8fGMub2Zmc2V0LmNsaWNrKS5sZWZ0LGwsZixkLnByb3BvcnRpb25zLmhlaWdo
dCxkLnByb3BvcnRpb25zLndpZHRoKTtjYXNlICJ0b3VjaCI6cmV0dXJuKGk+PWwmJmk8PW98fGI+
PWwmJmI8PW98fGk8bCYmYj5vKSYmKGg+PQorZiYmaDw9anx8Zz49ZiYmZzw9anx8aDxmJiZnPmop
O2RlZmF1bHQ6cmV0dXJuIGZhbHNlfX07YS51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9w
cGFibGVzOnsiZGVmYXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKGMsZCl7dmFyIGU9
YS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLm9wdGlvbnMuc2NvcGVdfHxbXSxoPWQ/ZC50eXBl
Om51bGwsZz0oYy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KS5maW5kKCI6ZGF0YShkcm9wcGFibGUp
IikuYW5kU2VsZigpLGk9MDthOmZvcig7aTxlLmxlbmd0aDtpKyspaWYoIShlW2ldLm9wdGlvbnMu
ZGlzYWJsZWR8fGMmJiFlW2ldLmFjY2VwdC5jYWxsKGVbaV0uZWxlbWVudFswXSxjLmN1cnJlbnRJ
dGVtfHxjLmVsZW1lbnQpKSl7Zm9yKHZhciBiPTA7YjxnLmxlbmd0aDtiKyspaWYoZ1tiXT09ZVtp
XS5lbGVtZW50WzBdKXtlW2ldLnByb3BvcnRpb25zLmhlaWdodD0wO2NvbnRpbnVlIGF9ZVtpXS52
aXNpYmxlPWVbaV0uZWxlbWVudC5jc3MoImRpc3BsYXkiKSE9Cisibm9uZSI7aWYoZVtpXS52aXNp
YmxlKXtoPT0ibW91c2Vkb3duIiYmZVtpXS5fYWN0aXZhdGUuY2FsbChlW2ldLGQpO2VbaV0ub2Zm
c2V0PWVbaV0uZWxlbWVudC5vZmZzZXQoKTtlW2ldLnByb3BvcnRpb25zPXt3aWR0aDplW2ldLmVs
ZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OmVbaV0uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9
fX19LGRyb3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT1mYWxzZTthLmVhY2goYS51aS5kZG1hbmFnZXIu
ZHJvcHBhYmxlc1tjLm9wdGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9u
cyl7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxlJiZhLnVpLmludGVyc2Vj
dChjLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSkpZT1lfHx0aGlzLl9kcm9wLmNhbGwodGhp
cyxkKTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJnRoaXMuYWNjZXB0
LmNhbGwodGhpcy5lbGVtZW50WzBdLGMuY3VycmVudEl0ZW18fAorYy5lbGVtZW50KSl7dGhpcy5p
c291dD0xO3RoaXMuaXNvdmVyPTA7dGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsZCl9fX0pO3Jl
dHVybiBlfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYyxkKXtjLmVsZW1lbnQucGFyZW50c1VudGlsKCJi
b2R5IikuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXtjLm9wdGlvbnMucmVmcmVz
aFBvc2l0aW9uc3x8YS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYyxkKX0pfSxkcmFnOmZ1
bmN0aW9uKGMsZCl7Yy5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmEudWkuZGRtYW5hZ2VyLnBy
ZXBhcmVPZmZzZXRzKGMsZCk7YS5lYWNoKGEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRp
b25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhp
cy5ncmVlZHlDaGlsZHx8IXRoaXMudmlzaWJsZSkpe3ZhciBlPWEudWkuaW50ZXJzZWN0KGMsdGhp
cyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKTtpZihlPQorIWUmJnRoaXMuaXNvdmVyPT0xPyJpc291
dCI6ZSYmdGhpcy5pc292ZXI9PTA/Imlzb3ZlciI6bnVsbCl7dmFyIGg7aWYodGhpcy5vcHRpb25z
LmdyZWVkeSl7dmFyIGc9dGhpcy5lbGVtZW50LnBhcmVudHMoIjpkYXRhKGRyb3BwYWJsZSk6ZXEo
MCkiKTtpZihnLmxlbmd0aCl7aD1hLmRhdGEoZ1swXSwiZHJvcHBhYmxlIik7aC5ncmVlZHlDaGls
ZD1lPT0iaXNvdmVyIj8xOjB9fWlmKGgmJmU9PSJpc292ZXIiKXtoLmlzb3Zlcj0wO2guaXNvdXQ9
MTtoLl9vdXQuY2FsbChoLGQpfXRoaXNbZV09MTt0aGlzW2U9PSJpc291dCI/Imlzb3ZlciI6Imlz
b3V0Il09MDt0aGlzW2U9PSJpc292ZXIiPyJfb3ZlciI6Il9vdXQiXS5jYWxsKHRoaXMsZCk7aWYo
aCYmZT09Imlzb3V0Iil7aC5pc291dD0wO2guaXNvdmVyPTE7aC5fb3Zlci5jYWxsKGgsZCl9fX19
KX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYyxkKXtjLmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5Iiku
dW5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIik7CitjLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8
YS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYyxkKX19fSkoalF1ZXJ5KTsKKyhmdW5jdGlv
bihhKXthLndpZGdldCgidWkucmVzaXphYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZp
eDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXplOmZhbHNlLGFuaW1hdGU6ZmFsc2UsYW5pbWF0
ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ZmFsc2Us
YXV0b0hpZGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsZ2hvc3Q6ZmFsc2UsZ3JpZDpmYWxzZSxo
YW5kbGVzOiJlLHMsc2UiLGhlbHBlcjpmYWxzZSxtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxs
LG1pbkhlaWdodDoxMCxtaW5XaWR0aDoxMCx6SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7
dmFyIGU9dGhpcyxoPXRoaXMub3B0aW9uczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXJlc2l6
YWJsZSIpO2EuZXh0ZW5kKHRoaXMse19hc3BlY3RSYXRpbzohIWguYXNwZWN0UmF0aW8sYXNwZWN0
UmF0aW86aC5hc3BlY3RSYXRpbyxvcmlnaW5hbEVsZW1lbnQ6dGhpcy5lbGVtZW50LAorX3Byb3Bv
cnRpb25hbGx5UmVzaXplRWxlbWVudHM6W10sX2hlbHBlcjpoLmhlbHBlcnx8aC5naG9zdHx8aC5h
bmltYXRlP2guaGVscGVyfHwidWktcmVzaXphYmxlLWhlbHBlciI6bnVsbH0pO2lmKHRoaXMuZWxl
bWVudFswXS5ub2RlTmFtZS5tYXRjaCgvY2FudmFzfHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0
b258aW1nL2kpKXsvcmVsYXRpdmUvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkm
JmEuYnJvd3Nlci5vcGVyYSYmdGhpcy5lbGVtZW50LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0
b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSk7dGhpcy5lbGVtZW50LndyYXAoYSgnPGRpdiBjbGFzcz0i
dWktd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47Ij48L2Rpdj4nKS5jc3Moe3Bvc2l0
aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVy
V2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCksCit0b3A6dGhpcy5lbGVt
ZW50LmNzcygidG9wIiksbGVmdDp0aGlzLmVsZW1lbnQuY3NzKCJsZWZ0Iil9KSk7dGhpcy5lbGVt
ZW50PXRoaXMuZWxlbWVudC5wYXJlbnQoKS5kYXRhKCJyZXNpemFibGUiLHRoaXMuZWxlbWVudC5k
YXRhKCJyZXNpemFibGUiKSk7dGhpcy5lbGVtZW50SXNXcmFwcGVyPXRydWU7dGhpcy5lbGVtZW50
LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxt
YXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdo
dDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRo
aXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luQm90dG9tIil9KTt0aGlzLm9yaWdpbmFsRWxl
bWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJv
dHRvbTowfSk7dGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlPQordGhpcy5vcmlnaW5hbEVsZW1lbnQu
Y3NzKCJyZXNpemUiKTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsIm5vbmUiKTt0
aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLnB1c2godGhpcy5vcmlnaW5hbEVsZW1l
bnQuY3NzKHtwb3NpdGlvbjoic3RhdGljIix6b29tOjEsZGlzcGxheToiYmxvY2sifSkpO3RoaXMu
b3JpZ2luYWxFbGVtZW50LmNzcyh7bWFyZ2luOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFy
Z2luIil9KTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfXRoaXMuaGFuZGxlcz1oLmhhbmRs
ZXN8fCghYSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkubGVuZ3RoPyJlLHMs
c2UiOntuOiIudWktcmVzaXphYmxlLW4iLGU6Ii51aS1yZXNpemFibGUtZSIsczoiLnVpLXJlc2l6
YWJsZS1zIix3OiIudWktcmVzaXphYmxlLXciLHNlOiIudWktcmVzaXphYmxlLXNlIixzdzoiLnVp
LXJlc2l6YWJsZS1zdyIsbmU6Ii51aS1yZXNpemFibGUtbmUiLAorbnc6Ii51aS1yZXNpemFibGUt
bncifSk7aWYodGhpcy5oYW5kbGVzLmNvbnN0cnVjdG9yPT1TdHJpbmcpe2lmKHRoaXMuaGFuZGxl
cz09ImFsbCIpdGhpcy5oYW5kbGVzPSJuLGUscyx3LHNlLHN3LG5lLG53Ijt2YXIgZz10aGlzLmhh
bmRsZXMuc3BsaXQoIiwiKTt0aGlzLmhhbmRsZXM9e307Zm9yKHZhciBpPTA7aTxnLmxlbmd0aDtp
Kyspe3ZhciBiPWEudHJpbShnW2ldKSxmPWEoJzxkaXYgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5k
bGUgJysoInVpLXJlc2l6YWJsZS0iK2IpKyciPjwvZGl2PicpOy9zd3xzZXxuZXxudy8udGVzdChi
KSYmZi5jc3Moe3pJbmRleDorK2guekluZGV4fSk7InNlIj09YiYmZi5hZGRDbGFzcygidWktaWNv
biB1aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSIpO3RoaXMuaGFuZGxlc1tiXT0iLnVpLXJl
c2l6YWJsZS0iK2I7dGhpcy5lbGVtZW50LmFwcGVuZChmKX19dGhpcy5fcmVuZGVyQXhpcz1mdW5j
dGlvbihqKXtqPWp8fHRoaXMuZWxlbWVudDtmb3IodmFyIGwgaW4gdGhpcy5oYW5kbGVzKXtpZih0
aGlzLmhhbmRsZXNbbF0uY29uc3RydWN0b3I9PQorU3RyaW5nKXRoaXMuaGFuZGxlc1tsXT1hKHRo
aXMuaGFuZGxlc1tsXSx0aGlzLmVsZW1lbnQpLnNob3coKTtpZih0aGlzLmVsZW1lbnRJc1dyYXBw
ZXImJnRoaXMub3JpZ2luYWxFbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC90ZXh0YXJlYXxpbnB1
dHxzZWxlY3R8YnV0dG9uL2kpKXt2YXIgbz1hKHRoaXMuaGFuZGxlc1tsXSx0aGlzLmVsZW1lbnQp
LG49MDtuPS9zd3xuZXxud3xzZXxufHMvLnRlc3QobCk/by5vdXRlckhlaWdodCgpOm8ub3V0ZXJX
aWR0aCgpO289WyJwYWRkaW5nIiwvbmV8bnd8bi8udGVzdChsKT8iVG9wIjovc2V8c3d8cy8udGVz
dChsKT8iQm90dG9tIjovXmUkLy50ZXN0KGwpPyJSaWdodCI6IkxlZnQiXS5qb2luKCIiKTtqLmNz
cyhvLG4pO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCl9YSh0aGlzLmhhbmRsZXNbbF0pfX07
dGhpcy5fcmVuZGVyQXhpcyh0aGlzLmVsZW1lbnQpO3RoaXMuX2hhbmRsZXM9YSgiLnVpLXJlc2l6
YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkuZGlzYWJsZVNlbGVjdGlvbigpOwordGhpcy5faGFu
ZGxlcy5tb3VzZW92ZXIoZnVuY3Rpb24oKXtpZighZS5yZXNpemluZyl7aWYodGhpcy5jbGFzc05h
bWUpdmFyIGo9dGhpcy5jbGFzc05hbWUubWF0Y2goL3VpLXJlc2l6YWJsZS0oc2V8c3d8bmV8bnd8
bnxlfHN8dykvaSk7ZS5heGlzPWomJmpbMV0/alsxXToic2UifX0pO2lmKGguYXV0b0hpZGUpe3Ro
aXMuX2hhbmRsZXMuaGlkZSgpO2EodGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxl
LWF1dG9oaWRlIikuaG92ZXIoZnVuY3Rpb24oKXtpZighaC5kaXNhYmxlZCl7YSh0aGlzKS5yZW1v
dmVDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIik7ZS5faGFuZGxlcy5zaG93KCl9fSxmdW5j
dGlvbigpe2lmKCFoLmRpc2FibGVkKWlmKCFlLnJlc2l6aW5nKXthKHRoaXMpLmFkZENsYXNzKCJ1
aS1yZXNpemFibGUtYXV0b2hpZGUiKTtlLl9oYW5kbGVzLmhpZGUoKX19KX10aGlzLl9tb3VzZUlu
aXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX21vdXNlRGVzdHJveSgpOwordmFyIGU9ZnVu
Y3Rpb24oZyl7YShnKS5yZW1vdmVDbGFzcygidWktcmVzaXphYmxlIHVpLXJlc2l6YWJsZS1kaXNh
YmxlZCB1aS1yZXNpemFibGUtcmVzaXppbmciKS5yZW1vdmVEYXRhKCJyZXNpemFibGUiKS51bmJp
bmQoIi5yZXNpemFibGUiKS5maW5kKCIudWktcmVzaXphYmxlLWhhbmRsZSIpLnJlbW92ZSgpfTtp
Zih0aGlzLmVsZW1lbnRJc1dyYXBwZXIpe2UodGhpcy5lbGVtZW50KTt2YXIgaD10aGlzLmVsZW1l
bnQ7aC5hZnRlcih0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOmguY3NzKCJwb3Np
dGlvbiIpLHdpZHRoOmgub3V0ZXJXaWR0aCgpLGhlaWdodDpoLm91dGVySGVpZ2h0KCksdG9wOmgu
Y3NzKCJ0b3AiKSxsZWZ0OmguY3NzKCJsZWZ0Iil9KSkucmVtb3ZlKCl9dGhpcy5vcmlnaW5hbEVs
ZW1lbnQuY3NzKCJyZXNpemUiLHRoaXMub3JpZ2luYWxSZXNpemVTdHlsZSk7ZSh0aGlzLm9yaWdp
bmFsRWxlbWVudCk7cmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7dmFyIGg9
CitmYWxzZTtmb3IodmFyIGcgaW4gdGhpcy5oYW5kbGVzKWlmKGEodGhpcy5oYW5kbGVzW2ddKVsw
XT09ZS50YXJnZXQpaD10cnVlO3JldHVybiF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmh9LF9tb3Vz
ZVN0YXJ0OmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMub3B0aW9ucyxnPXRoaXMuZWxlbWVudC5wb3Np
dGlvbigpLGk9dGhpcy5lbGVtZW50O3RoaXMucmVzaXppbmc9dHJ1ZTt0aGlzLmRvY3VtZW50U2Ny
b2xsPXt0b3A6YShkb2N1bWVudCkuc2Nyb2xsVG9wKCksbGVmdDphKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCl9O2lmKGkuaXMoIi51aS1kcmFnZ2FibGUiKXx8L2Fic29sdXRlLy50ZXN0KGkuY3NzKCJw
b3NpdGlvbiIpKSlpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6Zy50b3AsbGVmdDpnLmxl
ZnR9KTthLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChpLmNzcygicG9zaXRpb24iKSkm
JmkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KTsKK3Ro
aXMuX3JlbmRlclByb3h5KCk7Zz1jKHRoaXMuaGVscGVyLmNzcygibGVmdCIpKTt2YXIgYj1jKHRo
aXMuaGVscGVyLmNzcygidG9wIikpO2lmKGguY29udGFpbm1lbnQpe2crPWEoaC5jb250YWlubWVu
dCkuc2Nyb2xsTGVmdCgpfHwwO2IrPWEoaC5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDB9dGhp
cy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7dGhpcy5wb3NpdGlvbj17bGVmdDpnLHRvcDpi
fTt0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0aDppLm91dGVyV2lkdGgoKSxoZWlnaHQ6aS5v
dXRlckhlaWdodCgpfTp7d2lkdGg6aS53aWR0aCgpLGhlaWdodDppLmhlaWdodCgpfTt0aGlzLm9y
aWdpbmFsU2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRoOmkub3V0ZXJXaWR0aCgpLGhlaWdodDppLm91
dGVySGVpZ2h0KCl9Ont3aWR0aDppLndpZHRoKCksaGVpZ2h0OmkuaGVpZ2h0KCl9O3RoaXMub3Jp
Z2luYWxQb3NpdGlvbj17bGVmdDpnLHRvcDpifTt0aGlzLnNpemVEaWZmPQore3dpZHRoOmkub3V0
ZXJXaWR0aCgpLWkud2lkdGgoKSxoZWlnaHQ6aS5vdXRlckhlaWdodCgpLWkuaGVpZ2h0KCl9O3Ro
aXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uPXtsZWZ0OmUucGFnZVgsdG9wOmUucGFnZVl9O3RoaXMu
YXNwZWN0UmF0aW89dHlwZW9mIGguYXNwZWN0UmF0aW89PSJudW1iZXIiP2guYXNwZWN0UmF0aW86
dGhpcy5vcmlnaW5hbFNpemUud2lkdGgvdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0fHwxO2g9YSgi
LnVpLXJlc2l6YWJsZS0iK3RoaXMuYXhpcykuY3NzKCJjdXJzb3IiKTthKCJib2R5IikuY3NzKCJj
dXJzb3IiLGg9PSJhdXRvIj90aGlzLmF4aXMrIi1yZXNpemUiOmgpO2kuYWRkQ2xhc3MoInVpLXJl
c2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RhcnQiLGUpO3JldHVybiB0cnVl
fSxfbW91c2VEcmFnOmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMuaGVscGVyLGc9dGhpcy5vcmlnaW5h
bE1vdXNlUG9zaXRpb24saT10aGlzLl9jaGFuZ2VbdGhpcy5heGlzXTsKK2lmKCFpKXJldHVybiBm
YWxzZTtnPWkuYXBwbHkodGhpcyxbZSxlLnBhZ2VYLWcubGVmdHx8MCxlLnBhZ2VZLWcudG9wfHww
XSk7dGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJpZXMoZS5zaGlmdEtleSk7aWYodGhpcy5fYXNw
ZWN0UmF0aW98fGUuc2hpZnRLZXkpZz10aGlzLl91cGRhdGVSYXRpbyhnLGUpO2c9dGhpcy5fcmVz
cGVjdFNpemUoZyxlKTt0aGlzLl9wcm9wYWdhdGUoInJlc2l6ZSIsZSk7aC5jc3Moe3RvcDp0aGlz
LnBvc2l0aW9uLnRvcCsicHgiLGxlZnQ6dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsd2lkdGg6dGhp
cy5zaXplLndpZHRoKyJweCIsaGVpZ2h0OnRoaXMuc2l6ZS5oZWlnaHQrInB4In0pOyF0aGlzLl9o
ZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9w
cm9wb3J0aW9uYWxseVJlc2l6ZSgpO3RoaXMuX3VwZGF0ZUNhY2hlKGcpO3RoaXMuX3RyaWdnZXIo
InJlc2l6ZSIsZSx0aGlzLnVpKCkpO3JldHVybiBmYWxzZX0sCitfbW91c2VTdG9wOmZ1bmN0aW9u
KGUpe3RoaXMucmVzaXppbmc9ZmFsc2U7dmFyIGg9dGhpcy5vcHRpb25zLGc9dGhpcztpZih0aGlz
Ll9oZWxwZXIpe3ZhciBpPXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsYj1pLmxl
bmd0aCYmL3RleHRhcmVhL2kudGVzdChpWzBdLm5vZGVOYW1lKTtpPWImJmEudWkuaGFzU2Nyb2xs
KGlbMF0sImxlZnQiKT8wOmcuc2l6ZURpZmYuaGVpZ2h0O2I9Yj8wOmcuc2l6ZURpZmYud2lkdGg7
Yj17d2lkdGg6Zy5oZWxwZXIud2lkdGgoKS1iLGhlaWdodDpnLmhlbHBlci5oZWlnaHQoKS1pfTtp
PXBhcnNlSW50KGcuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGcucG9zaXRpb24ubGVmdC1nLm9y
aWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFyIGY9cGFyc2VJbnQoZy5lbGVtZW50LmNzcygi
dG9wIiksMTApKyhnLnBvc2l0aW9uLnRvcC1nLm9yaWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDto
LmFuaW1hdGV8fHRoaXMuZWxlbWVudC5jc3MoYS5leHRlbmQoYiwKK3t0b3A6ZixsZWZ0Oml9KSk7
Zy5oZWxwZXIuaGVpZ2h0KGcuc2l6ZS5oZWlnaHQpO2cuaGVscGVyLndpZHRoKGcuc2l6ZS53aWR0
aCk7dGhpcy5faGVscGVyJiYhaC5hbmltYXRlJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgp
fWEoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3Mo
InVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsZSk7dGhpcy5f
aGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTtyZXR1cm4gZmFsc2V9LF91cGRhdGVWaXJ0dWFs
Qm91bmRhcmllczpmdW5jdGlvbihlKXt2YXIgaD10aGlzLm9wdGlvbnMsZyxpLGI7aD17bWluV2lk
dGg6ZChoLm1pbldpZHRoKT9oLm1pbldpZHRoOjAsbWF4V2lkdGg6ZChoLm1heFdpZHRoKT9oLm1h
eFdpZHRoOkluZmluaXR5LG1pbkhlaWdodDpkKGgubWluSGVpZ2h0KT9oLm1pbkhlaWdodDowLG1h
eEhlaWdodDpkKGgubWF4SGVpZ2h0KT9oLm1heEhlaWdodDoKK0luZmluaXR5fTtpZih0aGlzLl9h
c3BlY3RSYXRpb3x8ZSl7ZT1oLm1pbkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvO2k9aC5taW5XaWR0
aC90aGlzLmFzcGVjdFJhdGlvO2c9aC5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztiPWgubWF4
V2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihlPmgubWluV2lkdGgpaC5taW5XaWR0aD1lO2lmKGk+
aC5taW5IZWlnaHQpaC5taW5IZWlnaHQ9aTtpZihnPGgubWF4V2lkdGgpaC5tYXhXaWR0aD1nO2lm
KGI8aC5tYXhIZWlnaHQpaC5tYXhIZWlnaHQ9Yn10aGlzLl92Qm91bmRhcmllcz1ofSxfdXBkYXRl
Q2FjaGU6ZnVuY3Rpb24oZSl7dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7aWYoZChl
LmxlZnQpKXRoaXMucG9zaXRpb24ubGVmdD1lLmxlZnQ7aWYoZChlLnRvcCkpdGhpcy5wb3NpdGlv
bi50b3A9ZS50b3A7aWYoZChlLmhlaWdodCkpdGhpcy5zaXplLmhlaWdodD1lLmhlaWdodDtpZihk
KGUud2lkdGgpKXRoaXMuc2l6ZS53aWR0aD0KK2Uud2lkdGh9LF91cGRhdGVSYXRpbzpmdW5jdGlv
bihlKXt2YXIgaD10aGlzLnBvc2l0aW9uLGc9dGhpcy5zaXplLGk9dGhpcy5heGlzO2lmKGQoZS5o
ZWlnaHQpKWUud2lkdGg9ZS5oZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztlbHNlIGlmKGQoZS53aWR0
aCkpZS5oZWlnaHQ9ZS53aWR0aC90aGlzLmFzcGVjdFJhdGlvO2lmKGk9PSJzdyIpe2UubGVmdD1o
LmxlZnQrKGcud2lkdGgtZS53aWR0aCk7ZS50b3A9bnVsbH1pZihpPT0ibnciKXtlLnRvcD1oLnRv
cCsoZy5oZWlnaHQtZS5oZWlnaHQpO2UubGVmdD1oLmxlZnQrKGcud2lkdGgtZS53aWR0aCl9cmV0
dXJuIGV9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbihlKXt2YXIgaD10aGlzLl92Qm91bmRhcmllcyxn
PXRoaXMuYXhpcyxpPWQoZS53aWR0aCkmJmgubWF4V2lkdGgmJmgubWF4V2lkdGg8ZS53aWR0aCxi
PWQoZS5oZWlnaHQpJiZoLm1heEhlaWdodCYmaC5tYXhIZWlnaHQ8ZS5oZWlnaHQsZj1kKGUud2lk
dGgpJiZoLm1pbldpZHRoJiYKK2gubWluV2lkdGg+ZS53aWR0aCxqPWQoZS5oZWlnaHQpJiZoLm1p
bkhlaWdodCYmaC5taW5IZWlnaHQ+ZS5oZWlnaHQ7aWYoZillLndpZHRoPWgubWluV2lkdGg7aWYo
aillLmhlaWdodD1oLm1pbkhlaWdodDtpZihpKWUud2lkdGg9aC5tYXhXaWR0aDtpZihiKWUuaGVp
Z2h0PWgubWF4SGVpZ2h0O3ZhciBsPXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3Jp
Z2luYWxTaXplLndpZHRoLG89dGhpcy5wb3NpdGlvbi50b3ArdGhpcy5zaXplLmhlaWdodCxuPS9z
d3xud3x3Ly50ZXN0KGcpO2c9L253fG5lfG4vLnRlc3QoZyk7aWYoZiYmbillLmxlZnQ9bC1oLm1p
bldpZHRoO2lmKGkmJm4pZS5sZWZ0PWwtaC5tYXhXaWR0aDtpZihqJiZnKWUudG9wPW8taC5taW5I
ZWlnaHQ7aWYoYiYmZyllLnRvcD1vLWgubWF4SGVpZ2h0O2lmKChoPSFlLndpZHRoJiYhZS5oZWln
aHQpJiYhZS5sZWZ0JiZlLnRvcCllLnRvcD1udWxsO2Vsc2UgaWYoaCYmIWUudG9wJiZlLmxlZnQp
ZS5sZWZ0PQorbnVsbDtyZXR1cm4gZX0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7
aWYodGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGgpZm9yKHZhciBlPXRo
aXMuaGVscGVyfHx0aGlzLmVsZW1lbnQsaD0wO2g8dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVF
bGVtZW50cy5sZW5ndGg7aCsrKXt2YXIgZz10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1l
bnRzW2hdO2lmKCF0aGlzLmJvcmRlckRpZil7dmFyIGk9W2cuY3NzKCJib3JkZXJUb3BXaWR0aCIp
LGcuY3NzKCJib3JkZXJSaWdodFdpZHRoIiksZy5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksZy5j
c3MoImJvcmRlckxlZnRXaWR0aCIpXSxiPVtnLmNzcygicGFkZGluZ1RvcCIpLGcuY3NzKCJwYWRk
aW5nUmlnaHQiKSxnLmNzcygicGFkZGluZ0JvdHRvbSIpLGcuY3NzKCJwYWRkaW5nTGVmdCIpXTt0
aGlzLmJvcmRlckRpZj1hLm1hcChpLGZ1bmN0aW9uKGYsail7Zj1wYXJzZUludChmLDEwKXx8Cisw
O2o9cGFyc2VJbnQoYltqXSwxMCl8fDA7cmV0dXJuIGYran0pfWEuYnJvd3Nlci5tc2llJiYoYShl
KS5pcygiOmhpZGRlbiIpfHxhKGUpLnBhcmVudHMoIjpoaWRkZW4iKS5sZW5ndGgpfHxnLmNzcyh7
aGVpZ2h0OmUuaGVpZ2h0KCktdGhpcy5ib3JkZXJEaWZbMF0tdGhpcy5ib3JkZXJEaWZbMl18fDAs
d2lkdGg6ZS53aWR0aCgpLXRoaXMuYm9yZGVyRGlmWzFdLXRoaXMuYm9yZGVyRGlmWzNdfHwwfSl9
fSxfcmVuZGVyUHJveHk6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50
T2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTtpZih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVy
PXRoaXMuaGVscGVyfHxhKCc8ZGl2IHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2
YXIgaD1hLmJyb3dzZXIubXNpZSYmYS5icm93c2VyLnZlcnNpb248NyxnPWg/MTowO2g9aD8yOi0x
O3RoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1l
bnQub3V0ZXJXaWR0aCgpKworaCxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkraCxw
b3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6dGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtZysicHgiLHRv
cDp0aGlzLmVsZW1lbnRPZmZzZXQudG9wLWcrInB4Iix6SW5kZXg6KytlLnpJbmRleH0pO3RoaXMu
aGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJsZVNlbGVjdGlvbigpfWVsc2UgdGhpcy5oZWxw
ZXI9dGhpcy5lbGVtZW50fSxfY2hhbmdlOntlOmZ1bmN0aW9uKGUsaCl7cmV0dXJue3dpZHRoOnRo
aXMub3JpZ2luYWxTaXplLndpZHRoK2h9fSx3OmZ1bmN0aW9uKGUsaCl7cmV0dXJue2xlZnQ6dGhp
cy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQraCx3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC1o
fX0sbjpmdW5jdGlvbihlLGgsZyl7cmV0dXJue3RvcDp0aGlzLm9yaWdpbmFsUG9zaXRpb24udG9w
K2csaGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodC1nfX0sczpmdW5jdGlvbihlLGgsZyl7
cmV0dXJue2hlaWdodDp0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQrCitnfX0sc2U6ZnVuY3Rpb24o
ZSxoLGcpe3JldHVybiBhLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50
cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZSxoLGddKSl9LHN3OmZ1bmN0aW9uKGUsaCxn
KXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRo
aXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2UsaCxnXSkpfSxuZTpmdW5jdGlvbihlLGgsZyl7cmV0
dXJuIGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9j
aGFuZ2UuZS5hcHBseSh0aGlzLFtlLGgsZ10pKX0sbnc6ZnVuY3Rpb24oZSxoLGcpe3JldHVybiBh
LmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdl
LncuYXBwbHkodGhpcyxbZSxoLGddKSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKGUsaCl7YS51aS5w
bHVnaW4uY2FsbCh0aGlzLGUsW2gsdGhpcy51aSgpXSk7CitlIT0icmVzaXplIiYmdGhpcy5fdHJp
Z2dlcihlLGgsdGhpcy51aSgpKX0scGx1Z2luczp7fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmln
aW5hbEVsZW1lbnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVs
cGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3Jp
Z2luYWxTaXplOnRoaXMub3JpZ2luYWxTaXplLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5h
bFBvc2l0aW9ufX19KTthLmV4dGVuZChhLnVpLnJlc2l6YWJsZSx7dmVyc2lvbjoiMS44LjE1In0p
O2EudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYWxzb1Jlc2l6ZSIse3N0YXJ0OmZ1bmN0aW9u
KCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKS5vcHRpb25zLGg9ZnVuY3Rpb24oZyl7
YShnKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9YSh0aGlzKTtpLmRhdGEoInJlc2l6YWJsZS1hbHNv
cmVzaXplIix7d2lkdGg6cGFyc2VJbnQoaS53aWR0aCgpLAorMTApLGhlaWdodDpwYXJzZUludChp
LmhlaWdodCgpLDEwKSxsZWZ0OnBhcnNlSW50KGkuY3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUlu
dChpLmNzcygidG9wIiksMTApLHBvc2l0aW9uOmkuY3NzKCJwb3NpdGlvbiIpfSl9KX07aWYodHlw
ZW9mIGUuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFlLmFsc29SZXNpemUucGFyZW50Tm9kZSlpZihl
LmFsc29SZXNpemUubGVuZ3RoKXtlLmFsc29SZXNpemU9ZS5hbHNvUmVzaXplWzBdO2goZS5hbHNv
UmVzaXplKX1lbHNlIGEuZWFjaChlLmFsc29SZXNpemUsZnVuY3Rpb24oZyl7aChnKX0pO2Vsc2Ug
aChlLmFsc29SZXNpemUpfSxyZXNpemU6ZnVuY3Rpb24oZSxoKXt2YXIgZz1hKHRoaXMpLmRhdGEo
InJlc2l6YWJsZSIpO2U9Zy5vcHRpb25zO3ZhciBpPWcub3JpZ2luYWxTaXplLGI9Zy5vcmlnaW5h
bFBvc2l0aW9uLGY9e2hlaWdodDpnLnNpemUuaGVpZ2h0LWkuaGVpZ2h0fHwwLHdpZHRoOmcuc2l6
ZS53aWR0aC1pLndpZHRofHwwLHRvcDpnLnBvc2l0aW9uLnRvcC0KK2IudG9wfHwwLGxlZnQ6Zy5w
b3NpdGlvbi5sZWZ0LWIubGVmdHx8MH0saj1mdW5jdGlvbihsLG8pe2EobCkuZWFjaChmdW5jdGlv
bigpe3ZhciBuPWEodGhpcyksaz1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIiks
bT17fSxwPW8mJm8ubGVuZ3RoP286bi5wYXJlbnRzKGgub3JpZ2luYWxFbGVtZW50WzBdKS5sZW5n
dGg/WyJ3aWR0aCIsImhlaWdodCJdOlsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJsZWZ0Il07YS5l
YWNoKHAsZnVuY3Rpb24ocSxzKXtpZigocT0oa1tzXXx8MCkrKGZbc118fDApKSYmcT49MCltW3Nd
PXF8fG51bGx9KTtpZihhLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChuLmNzcygicG9z
aXRpb24iKSkpe2cuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbj10cnVlO24uY3NzKHtwb3NpdGlv
bjoiYWJzb2x1dGUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1uLmNzcyhtKX0pfTt0eXBlb2Yg
ZS5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWUuYWxzb1Jlc2l6ZS5ub2RlVHlwZT8KK2EuZWFjaChl
LmFsc29SZXNpemUsZnVuY3Rpb24obCxvKXtqKGwsbyl9KTpqKGUuYWxzb1Jlc2l6ZSl9LHN0b3A6
ZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9
ZnVuY3Rpb24oaSl7YShpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtiLmNzcyh7cG9z
aXRpb246Yi5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpLnBvc2l0aW9ufSl9KX07aWYoZS5f
cmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uKXtlLl9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249ZmFs
c2U7dHlwZW9mIGguYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFoLmFsc29SZXNpemUubm9kZVR5cGU/
YS5lYWNoKGguYWxzb1Jlc2l6ZSxmdW5jdGlvbihpKXtnKGkpfSk6ZyhoLmFsc29SZXNpemUpfWEo
dGhpcykucmVtb3ZlRGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiKX19KTthLnVpLnBsdWdpbi5h
ZGQoInJlc2l6YWJsZSIsImFuaW1hdGUiLHtzdG9wOmZ1bmN0aW9uKGUpe3ZhciBoPQorYSh0aGlz
KS5kYXRhKCJyZXNpemFibGUiKSxnPWgub3B0aW9ucyxpPWguX3Byb3BvcnRpb25hbGx5UmVzaXpl
RWxlbWVudHMsYj1pLmxlbmd0aCYmL3RleHRhcmVhL2kudGVzdChpWzBdLm5vZGVOYW1lKSxmPWIm
JmEudWkuaGFzU2Nyb2xsKGlbMF0sImxlZnQiKT8wOmguc2l6ZURpZmYuaGVpZ2h0O2I9e3dpZHRo
Omguc2l6ZS53aWR0aC0oYj8wOmguc2l6ZURpZmYud2lkdGgpLGhlaWdodDpoLnNpemUuaGVpZ2h0
LWZ9O2Y9cGFyc2VJbnQoaC5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsoaC5wb3NpdGlvbi5sZWZ0
LWgub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbDt2YXIgaj1wYXJzZUludChoLmVsZW1lbnQu
Y3NzKCJ0b3AiKSwxMCkrKGgucG9zaXRpb24udG9wLWgub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxu
dWxsO2guZWxlbWVudC5hbmltYXRlKGEuZXh0ZW5kKGIsaiYmZj97dG9wOmosbGVmdDpmfTp7fSks
e2R1cmF0aW9uOmcuYW5pbWF0ZUR1cmF0aW9uLGVhc2luZzpnLmFuaW1hdGVFYXNpbmcsCitzdGVw
OmZ1bmN0aW9uKCl7dmFyIGw9e3dpZHRoOnBhcnNlSW50KGguZWxlbWVudC5jc3MoIndpZHRoIiks
MTApLGhlaWdodDpwYXJzZUludChoLmVsZW1lbnQuY3NzKCJoZWlnaHQiKSwxMCksdG9wOnBhcnNl
SW50KGguZWxlbWVudC5jc3MoInRvcCIpLDEwKSxsZWZ0OnBhcnNlSW50KGguZWxlbWVudC5jc3Mo
ImxlZnQiKSwxMCl9O2kmJmkubGVuZ3RoJiZhKGlbMF0pLmNzcyh7d2lkdGg6bC53aWR0aCxoZWln
aHQ6bC5oZWlnaHR9KTtoLl91cGRhdGVDYWNoZShsKTtoLl9wcm9wYWdhdGUoInJlc2l6ZSIsZSl9
fSl9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJjb250YWlubWVudCIse3N0YXJ0OmZ1
bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUuZWxlbWVudCxnPWUu
b3B0aW9ucy5jb250YWlubWVudDtpZihoPWcgaW5zdGFuY2VvZiBhP2cuZ2V0KDApOi9wYXJlbnQv
LnRlc3QoZyk/aC5wYXJlbnQoKS5nZXQoMCk6Zyl7ZS5jb250YWluZXJFbGVtZW50PQorYShoKTtp
ZigvZG9jdW1lbnQvLnRlc3QoZyl8fGc9PWRvY3VtZW50KXtlLmNvbnRhaW5lck9mZnNldD17bGVm
dDowLHRvcDowfTtlLmNvbnRhaW5lclBvc2l0aW9uPXtsZWZ0OjAsdG9wOjB9O2UucGFyZW50RGF0
YT17ZWxlbWVudDphKGRvY3VtZW50KSxsZWZ0OjAsdG9wOjAsd2lkdGg6YShkb2N1bWVudCkud2lk
dGgoKSxoZWlnaHQ6YShkb2N1bWVudCkuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9k
ZS5zY3JvbGxIZWlnaHR9fWVsc2V7dmFyIGk9YShoKSxiPVtdO2EoWyJUb3AiLCJSaWdodCIsIkxl
ZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihsLG8pe2JbbF09YyhpLmNzcygicGFkZGluZyIr
bykpfSk7ZS5jb250YWluZXJPZmZzZXQ9aS5vZmZzZXQoKTtlLmNvbnRhaW5lclBvc2l0aW9uPWku
cG9zaXRpb24oKTtlLmNvbnRhaW5lclNpemU9e2hlaWdodDppLmlubmVySGVpZ2h0KCktYlszXSx3
aWR0aDppLmlubmVyV2lkdGgoKS1iWzFdfTtnPWUuY29udGFpbmVyT2Zmc2V0OwordmFyIGY9ZS5j
b250YWluZXJTaXplLmhlaWdodCxqPWUuY29udGFpbmVyU2l6ZS53aWR0aDtqPWEudWkuaGFzU2Ny
b2xsKGgsImxlZnQiKT9oLnNjcm9sbFdpZHRoOmo7Zj1hLnVpLmhhc1Njcm9sbChoKT9oLnNjcm9s
bEhlaWdodDpmO2UucGFyZW50RGF0YT17ZWxlbWVudDpoLGxlZnQ6Zy5sZWZ0LHRvcDpnLnRvcCx3
aWR0aDpqLGhlaWdodDpmfX19fSxyZXNpemU6ZnVuY3Rpb24oZSl7dmFyIGg9YSh0aGlzKS5kYXRh
KCJyZXNpemFibGUiKSxnPWgub3B0aW9ucyxpPWguY29udGFpbmVyT2Zmc2V0LGI9aC5wb3NpdGlv
bjtlPWguX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5O3ZhciBmPXt0b3A6MCxsZWZ0OjB9LGo9aC5j
b250YWluZXJFbGVtZW50O2lmKGpbMF0hPWRvY3VtZW50JiYvc3RhdGljLy50ZXN0KGouY3NzKCJw
b3NpdGlvbiIpKSlmPWk7aWYoYi5sZWZ0PChoLl9oZWxwZXI/aS5sZWZ0OjApKXtoLnNpemUud2lk
dGgrPWguX2hlbHBlcj9oLnBvc2l0aW9uLmxlZnQtaS5sZWZ0OgoraC5wb3NpdGlvbi5sZWZ0LWYu
bGVmdDtpZihlKWguc2l6ZS5oZWlnaHQ9aC5zaXplLndpZHRoL2cuYXNwZWN0UmF0aW87aC5wb3Np
dGlvbi5sZWZ0PWcuaGVscGVyP2kubGVmdDowfWlmKGIudG9wPChoLl9oZWxwZXI/aS50b3A6MCkp
e2guc2l6ZS5oZWlnaHQrPWguX2hlbHBlcj9oLnBvc2l0aW9uLnRvcC1pLnRvcDpoLnBvc2l0aW9u
LnRvcDtpZihlKWguc2l6ZS53aWR0aD1oLnNpemUuaGVpZ2h0KmcuYXNwZWN0UmF0aW87aC5wb3Np
dGlvbi50b3A9aC5faGVscGVyP2kudG9wOjB9aC5vZmZzZXQubGVmdD1oLnBhcmVudERhdGEubGVm
dCtoLnBvc2l0aW9uLmxlZnQ7aC5vZmZzZXQudG9wPWgucGFyZW50RGF0YS50b3AraC5wb3NpdGlv
bi50b3A7Zz1NYXRoLmFicygoaC5faGVscGVyP2gub2Zmc2V0LmxlZnQtZi5sZWZ0Omgub2Zmc2V0
LmxlZnQtZi5sZWZ0KStoLnNpemVEaWZmLndpZHRoKTtpPU1hdGguYWJzKChoLl9oZWxwZXI/aC5v
ZmZzZXQudG9wLWYudG9wOmgub2Zmc2V0LnRvcC0KK2kudG9wKStoLnNpemVEaWZmLmhlaWdodCk7
Yj1oLmNvbnRhaW5lckVsZW1lbnQuZ2V0KDApPT1oLmVsZW1lbnQucGFyZW50KCkuZ2V0KDApO2Y9
L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KGguY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9u
IikpO2lmKGImJmYpZy09aC5wYXJlbnREYXRhLmxlZnQ7aWYoZytoLnNpemUud2lkdGg+PWgucGFy
ZW50RGF0YS53aWR0aCl7aC5zaXplLndpZHRoPWgucGFyZW50RGF0YS53aWR0aC1nO2lmKGUpaC5z
aXplLmhlaWdodD1oLnNpemUud2lkdGgvaC5hc3BlY3RSYXRpb31pZihpK2guc2l6ZS5oZWlnaHQ+
PWgucGFyZW50RGF0YS5oZWlnaHQpe2guc2l6ZS5oZWlnaHQ9aC5wYXJlbnREYXRhLmhlaWdodC1p
O2lmKGUpaC5zaXplLndpZHRoPWguc2l6ZS5oZWlnaHQqaC5hc3BlY3RSYXRpb319LHN0b3A6ZnVu
Y3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5j
b250YWluZXJPZmZzZXQsaT1lLmNvbnRhaW5lclBvc2l0aW9uLAorYj1lLmNvbnRhaW5lckVsZW1l
bnQsZj1hKGUuaGVscGVyKSxqPWYub2Zmc2V0KCksbD1mLm91dGVyV2lkdGgoKS1lLnNpemVEaWZm
LndpZHRoO2Y9Zi5vdXRlckhlaWdodCgpLWUuc2l6ZURpZmYuaGVpZ2h0O2UuX2hlbHBlciYmIWgu
YW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGIuY3NzKCJwb3NpdGlvbiIpKSYmYSh0aGlzKS5jc3Mo
e2xlZnQ6ai5sZWZ0LWkubGVmdC1nLmxlZnQsd2lkdGg6bCxoZWlnaHQ6Zn0pO2UuX2hlbHBlciYm
IWguYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChiLmNzcygicG9zaXRpb24iKSkmJmEodGhpcykuY3Nz
KHtsZWZ0OmoubGVmdC1pLmxlZnQtZy5sZWZ0LHdpZHRoOmwsaGVpZ2h0OmZ9KX19KTthLnVpLnBs
dWdpbi5hZGQoInJlc2l6YWJsZSIsImdob3N0Iix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZT1hKHRo
aXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5zaXplO2UuZ2hvc3Q9ZS5vcmln
aW5hbEVsZW1lbnQuY2xvbmUoKTtlLmdob3N0LmNzcyh7b3BhY2l0eTowLjI1LAorZGlzcGxheToi
YmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmcuaGVpZ2h0LHdpZHRoOmcud2lkdGgs
bWFyZ2luOjAsbGVmdDowLHRvcDowfSkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFk
ZENsYXNzKHR5cGVvZiBoLmdob3N0PT0ic3RyaW5nIj9oLmdob3N0OiIiKTtlLmdob3N0LmFwcGVu
ZFRvKGUuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNp
emFibGUiKTtlLmdob3N0JiZlLmdob3N0LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6
ZS5zaXplLmhlaWdodCx3aWR0aDplLnNpemUud2lkdGh9KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBl
PWEodGhpcykuZGF0YSgicmVzaXphYmxlIik7ZS5naG9zdCYmZS5oZWxwZXImJmUuaGVscGVyLmdl
dCgwKS5yZW1vdmVDaGlsZChlLmdob3N0LmdldCgwKSl9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNp
emFibGUiLCJncmlkIix7cmVzaXplOmZ1bmN0aW9uKCl7dmFyIGU9CithKHRoaXMpLmRhdGEoInJl
c2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5zaXplLGk9ZS5vcmlnaW5hbFNpemUsYj1lLm9yaWdp
bmFsUG9zaXRpb24sZj1lLmF4aXM7aC5ncmlkPXR5cGVvZiBoLmdyaWQ9PSJudW1iZXIiP1toLmdy
aWQsaC5ncmlkXTpoLmdyaWQ7dmFyIGo9TWF0aC5yb3VuZCgoZy53aWR0aC1pLndpZHRoKS8oaC5n
cmlkWzBdfHwxKSkqKGguZ3JpZFswXXx8MSk7aD1NYXRoLnJvdW5kKChnLmhlaWdodC1pLmhlaWdo
dCkvKGguZ3JpZFsxXXx8MSkpKihoLmdyaWRbMV18fDEpO2lmKC9eKHNlfHN8ZSkkLy50ZXN0KGYp
KXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9aS5oZWlnaHQraH1lbHNlIGlm
KC9eKG5lKSQvLnRlc3QoZikpe2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdodD1p
LmhlaWdodCtoO2UucG9zaXRpb24udG9wPWIudG9wLWh9ZWxzZXtpZigvXihzdykkLy50ZXN0KGYp
KXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9CitpLmhlaWdodCtofWVsc2V7
ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVpZ2h0PWkuaGVpZ2h0K2g7ZS5wb3NpdGlv
bi50b3A9Yi50b3AtaH1lLnBvc2l0aW9uLmxlZnQ9Yi5sZWZ0LWp9fX0pO3ZhciBjPWZ1bmN0aW9u
KGUpe3JldHVybiBwYXJzZUludChlLDEwKXx8MH0sZD1mdW5jdGlvbihlKXtyZXR1cm4haXNOYU4o
cGFyc2VJbnQoZSwxMCkpfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLnNl
bGVjdGFibGUiLGEudWkubW91c2Use29wdGlvbnM6e2FwcGVuZFRvOiJib2R5IixhdXRvUmVmcmVz
aDp0cnVlLGRpc3RhbmNlOjAsZmlsdGVyOiIqIix0b2xlcmFuY2U6InRvdWNoIn0sX2NyZWF0ZTpm
dW5jdGlvbigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RhYmxl
Iik7dGhpcy5kcmFnZ2VkPWZhbHNlO3ZhciBkO3RoaXMucmVmcmVzaD1mdW5jdGlvbigpe2Q9YShj
Lm9wdGlvbnMuZmlsdGVyLGMuZWxlbWVudFswXSk7ZC5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0
aGlzKSxoPWUub2Zmc2V0KCk7YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIse2VsZW1lbnQ6
dGhpcywkZWxlbWVudDplLGxlZnQ6aC5sZWZ0LHRvcDpoLnRvcCxyaWdodDpoLmxlZnQrZS5vdXRl
cldpZHRoKCksYm90dG9tOmgudG9wK2Uub3V0ZXJIZWlnaHQoKSxzdGFydHNlbGVjdGVkOmZhbHNl
LHNlbGVjdGVkOmUuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIiksCitzZWxlY3Rpbmc6ZS5oYXNDbGFz
cygidWktc2VsZWN0aW5nIiksdW5zZWxlY3Rpbmc6ZS5oYXNDbGFzcygidWktdW5zZWxlY3Rpbmci
KX0pfSl9O3RoaXMucmVmcmVzaCgpO3RoaXMuc2VsZWN0ZWVzPWQuYWRkQ2xhc3MoInVpLXNlbGVj
dGVlIik7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5oZWxwZXI9YSgiPGRpdiBjbGFzcz0ndWktc2Vs
ZWN0YWJsZS1oZWxwZXInPjwvZGl2PiIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rl
ZXMucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVlIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZS1pdGVt
Iik7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RhYmxlIHVpLXNlbGVjdGFibGUt
ZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlIikudW5iaW5kKCIuc2VsZWN0YWJsZSIp
O3RoaXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0aGlzfSxfbW91c2VTdGFydDpmdW5jdGlvbihj
KXt2YXIgZD10aGlzO3RoaXMub3Bvcz1bYy5wYWdlWCwKK2MucGFnZVldO2lmKCF0aGlzLm9wdGlv
bnMuZGlzYWJsZWQpe3ZhciBlPXRoaXMub3B0aW9uczt0aGlzLnNlbGVjdGVlcz1hKGUuZmlsdGVy
LHRoaXMuZWxlbWVudFswXSk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpO2EoZS5hcHBlbmRUbyku
YXBwZW5kKHRoaXMuaGVscGVyKTt0aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yy5jbGllbnRYLHRvcDpj
LmNsaWVudFksd2lkdGg6MCxoZWlnaHQ6MH0pO2UuYXV0b1JlZnJlc2gmJnRoaXMucmVmcmVzaCgp
O3RoaXMuc2VsZWN0ZWVzLmZpbHRlcigiLnVpLXNlbGVjdGVkIikuZWFjaChmdW5jdGlvbigpe3Zh
ciBoPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtoLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtp
ZighYy5tZXRhS2V5KXtoLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2guc2Vs
ZWN0ZWQ9ZmFsc2U7aC4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtoLnVuc2Vs
ZWN0aW5nPXRydWU7ZC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLAorYyx7dW5zZWxlY3Rpbmc6aC5l
bGVtZW50fSl9fSk7YShjLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIGg9YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2lmKGgpe3ZhciBnPSFjLm1l
dGFLZXl8fCFoLiRlbGVtZW50Lmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpO2guJGVsZW1lbnQucmVt
b3ZlQ2xhc3MoZz8idWktdW5zZWxlY3RpbmciOiJ1aS1zZWxlY3RlZCIpLmFkZENsYXNzKGc/InVp
LXNlbGVjdGluZyI6InVpLXVuc2VsZWN0aW5nIik7aC51bnNlbGVjdGluZz0hZztoLnNlbGVjdGlu
Zz1nOyhoLnNlbGVjdGVkPWcpP2QuX3RyaWdnZXIoInNlbGVjdGluZyIsYyx7c2VsZWN0aW5nOmgu
ZWxlbWVudH0pOmQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpoLmVsZW1l
bnR9KTtyZXR1cm4gZmFsc2V9fSl9fSxfbW91c2VEcmFnOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXM7
dGhpcy5kcmFnZ2VkPXRydWU7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCl7dmFyIGU9Cit0aGlz
Lm9wdGlvbnMsaD10aGlzLm9wb3NbMF0sZz10aGlzLm9wb3NbMV0saT1jLnBhZ2VYLGI9Yy5wYWdl
WTtpZihoPmkpe3ZhciBmPWk7aT1oO2g9Zn1pZihnPmIpe2Y9YjtiPWc7Zz1mfXRoaXMuaGVscGVy
LmNzcyh7bGVmdDpoLHRvcDpnLHdpZHRoOmktaCxoZWlnaHQ6Yi1nfSk7dGhpcy5zZWxlY3RlZXMu
ZWFjaChmdW5jdGlvbigpe3ZhciBqPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpZigh
KCFqfHxqLmVsZW1lbnQ9PWQuZWxlbWVudFswXSkpe3ZhciBsPWZhbHNlO2lmKGUudG9sZXJhbmNl
PT0idG91Y2giKWw9IShqLmxlZnQ+aXx8ai5yaWdodDxofHxqLnRvcD5ifHxqLmJvdHRvbTxnKTtl
bHNlIGlmKGUudG9sZXJhbmNlPT0iZml0IilsPWoubGVmdD5oJiZqLnJpZ2h0PGkmJmoudG9wPmcm
JmouYm90dG9tPGI7aWYobCl7aWYoai5zZWxlY3RlZCl7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygi
dWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPWZhbHNlfWlmKGoudW5zZWxlY3Rpbmcpe2ouJGVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7CitqLnVuc2VsZWN0aW5nPWZhbHNlfWlm
KCFqLnNlbGVjdGluZyl7ai4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIik7ai5zZWxl
Y3Rpbmc9dHJ1ZTtkLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3NlbGVjdGluZzpqLmVsZW1lbnR9
KX19ZWxzZXtpZihqLnNlbGVjdGluZylpZihjLm1ldGFLZXkmJmouc3RhcnRzZWxlY3RlZCl7ai4k
ZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7ai5zZWxlY3Rpbmc9ZmFsc2U7ai4k
ZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPXRydWV9ZWxzZXtqLiRl
bGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKTtqLnNlbGVjdGluZz1mYWxzZTtpZihq
LnN0YXJ0c2VsZWN0ZWQpe2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ai51
bnNlbGVjdGluZz10cnVlfWQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpq
LmVsZW1lbnR9KX1pZihqLnNlbGVjdGVkKWlmKCFjLm1ldGFLZXkmJgorIWouc3RhcnRzZWxlY3Rl
ZCl7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPWZhbHNl
O2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ai51bnNlbGVjdGluZz10cnVl
O2QuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpqLmVsZW1lbnR9KX19fX0p
O3JldHVybiBmYWxzZX19LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpczt0aGlzLmRy
YWdnZWQ9ZmFsc2U7YSgiLnVpLXVuc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVu
Y3Rpb24oKXt2YXIgZT1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZS4kZWxlbWVudC5y
ZW1vdmVDbGFzcygidWktdW5zZWxlY3RpbmciKTtlLnVuc2VsZWN0aW5nPWZhbHNlO2Uuc3RhcnRz
ZWxlY3RlZD1mYWxzZTtkLl90cmlnZ2VyKCJ1bnNlbGVjdGVkIixjLHt1bnNlbGVjdGVkOmUuZWxl
bWVudH0pfSk7YSgiLnVpLXNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIGU9CithLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZS4kZWxlbWVudC5yZW1v
dmVDbGFzcygidWktc2VsZWN0aW5nIikuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIik7ZS5zZWxlY3Rp
bmc9ZmFsc2U7ZS5zZWxlY3RlZD10cnVlO2Uuc3RhcnRzZWxlY3RlZD10cnVlO2QuX3RyaWdnZXIo
InNlbGVjdGVkIixjLHtzZWxlY3RlZDplLmVsZW1lbnR9KX0pO3RoaXMuX3RyaWdnZXIoInN0b3Ai
LGMpO3RoaXMuaGVscGVyLnJlbW92ZSgpO3JldHVybiBmYWxzZX19KTthLmV4dGVuZChhLnVpLnNl
bGVjdGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53
aWRnZXQoInVpLnNvcnRhYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoic29ydCIs
b3B0aW9uczp7YXBwZW5kVG86InBhcmVudCIsYXhpczpmYWxzZSxjb25uZWN0V2l0aDpmYWxzZSxj
b250YWlubWVudDpmYWxzZSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OmZhbHNlLGRyb3BPbkVtcHR5
OnRydWUsZm9yY2VQbGFjZWhvbGRlclNpemU6ZmFsc2UsZm9yY2VIZWxwZXJTaXplOmZhbHNlLGdy
aWQ6ZmFsc2UsaGFuZGxlOmZhbHNlLGhlbHBlcjoib3JpZ2luYWwiLGl0ZW1zOiI+ICoiLG9wYWNp
dHk6ZmFsc2UscGxhY2Vob2xkZXI6ZmFsc2UscmV2ZXJ0OmZhbHNlLHNjcm9sbDp0cnVlLHNjcm9s
bFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6
ImludGVyc2VjdCIsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0
aW9uczt0aGlzLmNvbnRhaW5lckNhY2hlPXt9O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc29y
dGFibGUiKTsKK3RoaXMucmVmcmVzaCgpO3RoaXMuZmxvYXRpbmc9dGhpcy5pdGVtcy5sZW5ndGg/
Yy5heGlzPT09IngifHwvbGVmdHxyaWdodC8udGVzdCh0aGlzLml0ZW1zWzBdLml0ZW0uY3NzKCJm
bG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3Mo
ImRpc3BsYXkiKSk6ZmFsc2U7dGhpcy5vZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMu
X21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS1zb3J0YWJsZSB1aS1zb3J0YWJsZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEoInNvcnRhYmxl
IikudW5iaW5kKCIuc29ydGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtmb3IodmFyIGM9dGhp
cy5pdGVtcy5sZW5ndGgtMTtjPj0wO2MtLSl0aGlzLml0ZW1zW2NdLml0ZW0ucmVtb3ZlRGF0YSgi
c29ydGFibGUtaXRlbSIpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGMsZCl7aWYo
Yz09PQorImRpc2FibGVkIil7dGhpcy5vcHRpb25zW2NdPWQ7dGhpcy53aWRnZXQoKVtkPyJhZGRD
bGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXNvcnRhYmxlLWRpc2FibGVkIil9ZWxzZSBhLldpZGdl
dC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9tb3VzZUNhcHR1
cmU6ZnVuY3Rpb24oYyxkKXtpZih0aGlzLnJldmVydGluZylyZXR1cm4gZmFsc2U7aWYodGhpcy5v
cHRpb25zLmRpc2FibGVkfHx0aGlzLm9wdGlvbnMudHlwZT09InN0YXRpYyIpcmV0dXJuIGZhbHNl
O3RoaXMuX3JlZnJlc2hJdGVtcyhjKTt2YXIgZT1udWxsLGg9dGhpczthKGMudGFyZ2V0KS5wYXJl
bnRzKCkuZWFjaChmdW5jdGlvbigpe2lmKGEuZGF0YSh0aGlzLCJzb3J0YWJsZS1pdGVtIik9PWgp
e2U9YSh0aGlzKTtyZXR1cm4gZmFsc2V9fSk7aWYoYS5kYXRhKGMudGFyZ2V0LCJzb3J0YWJsZS1p
dGVtIik9PWgpZT1hKGMudGFyZ2V0KTtpZighZSlyZXR1cm4gZmFsc2U7aWYodGhpcy5vcHRpb25z
LmhhbmRsZSYmCishZCl7dmFyIGc9ZmFsc2U7YSh0aGlzLm9wdGlvbnMuaGFuZGxlLGUpLmZpbmQo
IioiKS5hbmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe2lmKHRoaXM9PWMudGFyZ2V0KWc9dHJ1ZX0p
O2lmKCFnKXJldHVybiBmYWxzZX10aGlzLmN1cnJlbnRJdGVtPWU7dGhpcy5fcmVtb3ZlQ3VycmVu
dHNGcm9tSXRlbXMoKTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyxkLGUpe2Q9
dGhpcy5vcHRpb25zO3ZhciBoPXRoaXM7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXM7dGhpcy5y
ZWZyZXNoUG9zaXRpb25zKCk7dGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKGMpO3RoaXMu
X2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLnNjcm9s
bFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLmN1cnJl
bnRJdGVtLm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFy
Z2lucy50b3AsCitsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9O3RoaXMu
aGVscGVyLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpO3RoaXMuY3NzUG9zaXRpb249dGhpcy5o
ZWxwZXIuY3NzKCJwb3NpdGlvbiIpO2EuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDpj
LnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmMucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJl
bnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZz
ZXQoKX0pO3RoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGMpO3Ro
aXMub3JpZ2luYWxQYWdlWD1jLnBhZ2VYO3RoaXMub3JpZ2luYWxQYWdlWT1jLnBhZ2VZO2QuY3Vy
c29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoZC5jdXJzb3JBdCk7dGhpcy5kb21Q
b3NpdGlvbj17cHJldjp0aGlzLmN1cnJlbnRJdGVtLnByZXYoKVswXSxwYXJlbnQ6dGhpcy5jdXJy
ZW50SXRlbS5wYXJlbnQoKVswXX07Cit0aGlzLmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVsw
XSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCk7dGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKTtkLmNv
bnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpO2lmKGQuY3Vyc29yKXtpZihhKCJib2R5
IikuY3NzKCJjdXJzb3IiKSl0aGlzLl9zdG9yZWRDdXJzb3I9YSgiYm9keSIpLmNzcygiY3Vyc29y
Iik7YSgiYm9keSIpLmNzcygiY3Vyc29yIixkLmN1cnNvcil9aWYoZC5vcGFjaXR5KXtpZih0aGlz
LmhlbHBlci5jc3MoIm9wYWNpdHkiKSl0aGlzLl9zdG9yZWRPcGFjaXR5PXRoaXMuaGVscGVyLmNz
cygib3BhY2l0eSIpO3RoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsZC5vcGFjaXR5KX1pZihkLnpJ
bmRleCl7aWYodGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiKSl0aGlzLl9zdG9yZWRaSW5kZXg9dGhp
cy5oZWxwZXIuY3NzKCJ6SW5kZXgiKTt0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsZC56SW5kZXgp
fWlmKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT0KK2RvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFsw
XS50YWdOYW1lIT0iSFRNTCIpdGhpcy5vdmVyZmxvd09mZnNldD10aGlzLnNjcm9sbFBhcmVudC5v
ZmZzZXQoKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsYyx0aGlzLl91aUhhc2goKSk7dGhpcy5fcHJl
c2VydmVIZWxwZXJQcm9wb3J0aW9uc3x8dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2lm
KCFlKWZvcihlPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLmNvbnRhaW5l
cnNbZV0uX3RyaWdnZXIoImFjdGl2YXRlIixjLGguX3VpSGFzaCh0aGlzKSk7aWYoYS51aS5kZG1h
bmFnZXIpYS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzO2EudWkuZGRtYW5hZ2VyJiYhZC5kcm9w
QmVoYXZpb3VyJiZhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGMpO3RoaXMuZHJh
Z2dpbmc9dHJ1ZTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7dGhp
cy5fbW91c2VEcmFnKGMpOworcmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dGhp
cy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGMpO3RoaXMucG9zaXRpb25BYnM9dGhp
cy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMubGFzdFBvc2l0aW9uQWJz
KXRoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnM7aWYodGhpcy5vcHRpb25zLnNj
cm9sbCl7dmFyIGQ9dGhpcy5vcHRpb25zLGU9ZmFsc2U7aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0h
PWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpe2lmKHRoaXMu
b3ZlcmZsb3dPZmZzZXQudG9wK3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC1jLnBh
Z2VZPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWU9
dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Quc2Nyb2xsU3BlZWQ7ZWxzZSBpZihjLnBh
Z2VZLXRoaXMub3ZlcmZsb3dPZmZzZXQudG9wPAorZC5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxUb3A9ZT10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3At
ZC5zY3JvbGxTcGVlZDtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQrdGhpcy5zY3JvbGxQYXJl
bnRbMF0ub2Zmc2V0V2lkdGgtYy5wYWdlWDxkLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbExlZnQ9ZT10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0K2Qu
c2Nyb2xsU3BlZWQ7ZWxzZSBpZihjLnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxkLnNj
cm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9ZT10aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWQuc2Nyb2xsU3BlZWR9ZWxzZXtpZihjLnBhZ2VZLWEo
ZG9jdW1lbnQpLnNjcm9sbFRvcCgpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1hKGRvY3VtZW50KS5z
Y3JvbGxUb3AoYShkb2N1bWVudCkuc2Nyb2xsVG9wKCktCitkLnNjcm9sbFNwZWVkKTtlbHNlIGlm
KGEod2luZG93KS5oZWlnaHQoKS0oYy5wYWdlWS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8ZC5z
Y3JvbGxTZW5zaXRpdml0eSllPWEoZG9jdW1lbnQpLnNjcm9sbFRvcChhKGRvY3VtZW50KS5zY3Jv
bGxUb3AoKStkLnNjcm9sbFNwZWVkKTtpZihjLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9sbExlZnQo
KTxkLnNjcm9sbFNlbnNpdGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3VtZW50
KS5zY3JvbGxMZWZ0KCktZC5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykud2lkdGgoKS0o
Yy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1h
KGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStkLnNjcm9sbFNw
ZWVkKX1lIT09ZmFsc2UmJmEudWkuZGRtYW5hZ2VyJiYhZC5kcm9wQmVoYXZpb3VyJiZhLnVpLmRk
bWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLAorYyl9dGhpcy5wb3NpdGlvbkFicz10aGlzLl9j
b252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMu
b3B0aW9ucy5heGlzIT0ieSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9u
LmxlZnQrInB4IjtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIp
dGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7Zm9yKGQ9dGhp
cy5pdGVtcy5sZW5ndGgtMTtkPj0wO2QtLSl7ZT10aGlzLml0ZW1zW2RdO3ZhciBoPWUuaXRlbVsw
XSxnPXRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlcihlKTtpZihnKWlmKGghPXRoaXMuY3VycmVu
dEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbZz09MT8ibmV4dCI6InByZXYiXSgpWzBdIT1oJiYh
YS51aS5jb250YWlucyh0aGlzLnBsYWNlaG9sZGVyWzBdLGgpJiYodGhpcy5vcHRpb25zLnR5cGU9
PSJzZW1pLWR5bmFtaWMiPyFhLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSwKK2gpOnRydWUp
KXt0aGlzLmRpcmVjdGlvbj1nPT0xPyJkb3duIjoidXAiO2lmKHRoaXMub3B0aW9ucy50b2xlcmFu
Y2U9PSJwb2ludGVyInx8dGhpcy5faW50ZXJzZWN0c1dpdGhTaWRlcyhlKSl0aGlzLl9yZWFycmFu
Z2UoYyxlKTtlbHNlIGJyZWFrO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsYyx0aGlzLl91aUhhc2go
KSk7YnJlYWt9fXRoaXMuX2NvbnRhY3RDb250YWluZXJzKGMpO2EudWkuZGRtYW5hZ2VyJiZhLnVp
LmRkbWFuYWdlci5kcmFnKHRoaXMsYyk7dGhpcy5fdHJpZ2dlcigic29ydCIsYyx0aGlzLl91aUhh
c2goKSk7dGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztyZXR1cm4gZmFsc2V9
LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyxkKXtpZihjKXthLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0
aW9ucy5kcm9wQmVoYXZpb3VyJiZhLnVpLmRkbWFuYWdlci5kcm9wKHRoaXMsYyk7aWYodGhpcy5v
cHRpb25zLnJldmVydCl7dmFyIGU9dGhpcztkPWUucGxhY2Vob2xkZXIub2Zmc2V0KCk7CitlLnJl
dmVydGluZz10cnVlO2EodGhpcy5oZWxwZXIpLmFuaW1hdGUoe2xlZnQ6ZC5sZWZ0LXRoaXMub2Zm
c2V0LnBhcmVudC5sZWZ0LWUubWFyZ2lucy5sZWZ0Kyh0aGlzLm9mZnNldFBhcmVudFswXT09ZG9j
dW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbExlZnQpLHRvcDpkLnRvcC10
aGlzLm9mZnNldC5wYXJlbnQudG9wLWUubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBd
PT1kb2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKX0scGFyc2VJ
bnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe2UuX2NsZWFyKGMpfSl9
ZWxzZSB0aGlzLl9jbGVhcihjLGQpO3JldHVybiBmYWxzZX19LGNhbmNlbDpmdW5jdGlvbigpe3Zh
ciBjPXRoaXM7aWYodGhpcy5kcmFnZ2luZyl7dGhpcy5fbW91c2VVcCh7dGFyZ2V0Om51bGx9KTt0
aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiP3RoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMu
X3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpOgordGhpcy5jdXJy
ZW50SXRlbS5zaG93KCk7Zm9yKHZhciBkPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtkPj0wO2Qt
LSl7dGhpcy5jb250YWluZXJzW2RdLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixudWxsLGMuX3VpSGFz
aCh0aGlzKSk7aWYodGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMu
Y29udGFpbmVyc1tkXS5fdHJpZ2dlcigib3V0IixudWxsLGMuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19fWlmKHRoaXMucGxhY2Vob2xkZXIp
e3RoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5wbGFjZWhvbGRlclswXS5wYXJl
bnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3RoaXMub3B0aW9ucy5oZWxw
ZXIhPSJvcmlnaW5hbCImJnRoaXMuaGVscGVyJiZ0aGlzLmhlbHBlclswXS5wYXJlbnROb2RlJiZ0
aGlzLmhlbHBlci5yZW1vdmUoKTthLmV4dGVuZCh0aGlzLHtoZWxwZXI6bnVsbCwKK2RyYWdnaW5n
OmZhbHNlLHJldmVydGluZzpmYWxzZSxfbm9GaW5hbFNvcnQ6bnVsbH0pO3RoaXMuZG9tUG9zaXRp
b24ucHJldj9hKHRoaXMuZG9tUG9zaXRpb24ucHJldikuYWZ0ZXIodGhpcy5jdXJyZW50SXRlbSk6
YSh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKX1yZXR1
cm4gdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMuX2dldEl0ZW1zQXNqUXVl
cnkoYyYmYy5jb25uZWN0ZWQpLGU9W107Yz1jfHx7fTthKGQpLmVhY2goZnVuY3Rpb24oKXt2YXIg
aD0oYShjLml0ZW18fHRoaXMpLmF0dHIoYy5hdHRyaWJ1dGV8fCJpZCIpfHwiIikubWF0Y2goYy5l
eHByZXNzaW9ufHwvKC4rKVstPV9dKC4rKS8pO2lmKGgpZS5wdXNoKChjLmtleXx8aFsxXSsiW10i
KSsiPSIrKGMua2V5JiZjLmV4cHJlc3Npb24/aFsxXTpoWzJdKSl9KTshZS5sZW5ndGgmJmMua2V5
JiZlLnB1c2goYy5rZXkrIj0iKTtyZXR1cm4gZS5qb2luKCImIil9LAordG9BcnJheTpmdW5jdGlv
bihjKXt2YXIgZD10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KGMmJmMuY29ubmVjdGVkKSxlPVtdO2M9
Y3x8e307ZC5lYWNoKGZ1bmN0aW9uKCl7ZS5wdXNoKGEoYy5pdGVtfHx0aGlzKS5hdHRyKGMuYXR0
cmlidXRlfHwiaWQiKXx8IiIpfSk7cmV0dXJuIGV9LF9pbnRlcnNlY3RzV2l0aDpmdW5jdGlvbihj
KXt2YXIgZD10aGlzLnBvc2l0aW9uQWJzLmxlZnQsZT1kK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
d2lkdGgsaD10aGlzLnBvc2l0aW9uQWJzLnRvcCxnPWgrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5o
ZWlnaHQsaT1jLmxlZnQsYj1pK2Mud2lkdGgsZj1jLnRvcCxqPWYrYy5oZWlnaHQsbD10aGlzLm9m
ZnNldC5jbGljay50b3Asbz10aGlzLm9mZnNldC5jbGljay5sZWZ0O2w9aCtsPmYmJmgrbDxqJiZk
K28+aSYmZCtvPGI7cmV0dXJuIHRoaXMub3B0aW9ucy50b2xlcmFuY2U9PSJwb2ludGVyInx8dGhp
cy5vcHRpb25zLmZvcmNlUG9pbnRlckZvckNvbnRhaW5lcnN8fAordGhpcy5vcHRpb25zLnRvbGVy
YW5jZSE9InBvaW50ZXIiJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/Indp
ZHRoIjoiaGVpZ2h0Il0+Y1t0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP2w6aTxkK3Ro
aXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmZS10aGlzLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLzI8YiYmZjxoK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzImJmctdGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxqfSxfaW50ZXJzZWN0c1dpdGhQb2ludGVyOmZ1bmN0aW9u
KGMpe3ZhciBkPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNl
dC5jbGljay50b3AsYy50b3AsYy5oZWlnaHQpO2M9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRp
b25BYnMubGVmdCt0aGlzLm9mZnNldC5jbGljay5sZWZ0LGMubGVmdCxjLndpZHRoKTtkPWQmJmM7
Yz10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKTsKK3ZhciBlPXRoaXMuX2dldERyYWdI
b3Jpem9udGFsRGlyZWN0aW9uKCk7aWYoIWQpcmV0dXJuIGZhbHNlO3JldHVybiB0aGlzLmZsb2F0
aW5nP2UmJmU9PSJyaWdodCJ8fGM9PSJkb3duIj8yOjE6YyYmKGM9PSJkb3duIj8yOjEpfSxfaW50
ZXJzZWN0c1dpdGhTaWRlczpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmlzT3ZlckF4aXModGhpcy5w
b3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGMudG9wK2MuaGVpZ2h0LzIsYy5o
ZWlnaHQpO2M9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMubGVmdCt0aGlzLm9mZnNl
dC5jbGljay5sZWZ0LGMubGVmdCtjLndpZHRoLzIsYy53aWR0aCk7dmFyIGU9dGhpcy5fZ2V0RHJh
Z1ZlcnRpY2FsRGlyZWN0aW9uKCksaD10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigp
O3JldHVybiB0aGlzLmZsb2F0aW5nJiZoP2g9PSJyaWdodCImJmN8fGg9PSJsZWZ0IiYmIWM6ZSYm
KGU9PSJkb3duIiYmZHx8ZT09InVwIiYmIWQpfSwKK19nZXREcmFnVmVydGljYWxEaXJlY3Rpb246
ZnVuY3Rpb24oKXt2YXIgYz10aGlzLnBvc2l0aW9uQWJzLnRvcC10aGlzLmxhc3RQb3NpdGlvbkFi
cy50b3A7cmV0dXJuIGMhPTAmJihjPjA/ImRvd24iOiJ1cCIpfSxfZ2V0RHJhZ0hvcml6b250YWxE
aXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgYz10aGlzLnBvc2l0aW9uQWJzLmxlZnQtdGhpcy5sYXN0
UG9zaXRpb25BYnMubGVmdDtyZXR1cm4gYyE9MCYmKGM+MD8icmlnaHQiOiJsZWZ0Iil9LHJlZnJl
c2g6ZnVuY3Rpb24oYyl7dGhpcy5fcmVmcmVzaEl0ZW1zKGMpO3RoaXMucmVmcmVzaFBvc2l0aW9u
cygpO3JldHVybiB0aGlzfSxfY29ubmVjdFdpdGg6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlv
bnM7cmV0dXJuIGMuY29ubmVjdFdpdGguY29uc3RydWN0b3I9PVN0cmluZz9bYy5jb25uZWN0V2l0
aF06Yy5jb25uZWN0V2l0aH0sX2dldEl0ZW1zQXNqUXVlcnk6ZnVuY3Rpb24oYyl7dmFyIGQ9W10s
ZT1bXSxoPXRoaXMuX2Nvbm5lY3RXaXRoKCk7CitpZihoJiZjKWZvcihjPWgubGVuZ3RoLTE7Yz49
MDtjLS0pZm9yKHZhciBnPWEoaFtjXSksaT1nLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgYj1hLmRh
dGEoZ1tpXSwic29ydGFibGUiKTtpZihiJiZiIT10aGlzJiYhYi5vcHRpb25zLmRpc2FibGVkKWUu
cHVzaChbYS5pc0Z1bmN0aW9uKGIub3B0aW9ucy5pdGVtcyk/Yi5vcHRpb25zLml0ZW1zLmNhbGwo
Yi5lbGVtZW50KTphKGIub3B0aW9ucy5pdGVtcyxiLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxl
LWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksYl0pfWUucHVzaChbYS5p
c0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhp
cy5lbGVtZW50LG51bGwse29wdGlvbnM6dGhpcy5vcHRpb25zLGl0ZW06dGhpcy5jdXJyZW50SXRl
bX0pOmEodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUt
aGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSwKK3RoaXNdKTtmb3IoYz1l
Lmxlbmd0aC0xO2M+PTA7Yy0tKWVbY11bMF0uZWFjaChmdW5jdGlvbigpe2QucHVzaCh0aGlzKX0p
O3JldHVybiBhKGQpfSxfcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXM6ZnVuY3Rpb24oKXtmb3IodmFy
IGM9dGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YShzb3J0YWJsZS1pdGVtKSIpLGQ9MDtkPHRo
aXMuaXRlbXMubGVuZ3RoO2QrKylmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKyljW2VdPT10aGlz
Lml0ZW1zW2RdLml0ZW1bMF0mJnRoaXMuaXRlbXMuc3BsaWNlKGQsMSl9LF9yZWZyZXNoSXRlbXM6
ZnVuY3Rpb24oYyl7dGhpcy5pdGVtcz1bXTt0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBkPXRo
aXMuaXRlbXMsZT1bW2EuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9u
cy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSxjLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTph
KHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLAordGhpc11dLGg9dGhpcy5fY29ubmVj
dFdpdGgoKTtpZihoKWZvcih2YXIgZz1oLmxlbmd0aC0xO2c+PTA7Zy0tKWZvcih2YXIgaT1hKGhb
Z10pLGI9aS5sZW5ndGgtMTtiPj0wO2ItLSl7dmFyIGY9YS5kYXRhKGlbYl0sInNvcnRhYmxlIik7
aWYoZiYmZiE9dGhpcyYmIWYub3B0aW9ucy5kaXNhYmxlZCl7ZS5wdXNoKFthLmlzRnVuY3Rpb24o
Zi5vcHRpb25zLml0ZW1zKT9mLm9wdGlvbnMuaXRlbXMuY2FsbChmLmVsZW1lbnRbMF0sYyx7aXRl
bTp0aGlzLmN1cnJlbnRJdGVtfSk6YShmLm9wdGlvbnMuaXRlbXMsZi5lbGVtZW50KSxmXSk7dGhp
cy5jb250YWluZXJzLnB1c2goZil9fWZvcihnPWUubGVuZ3RoLTE7Zz49MDtnLS0pe2M9ZVtnXVsx
XTtoPWVbZ11bMF07Yj0wO2ZvcihpPWgubGVuZ3RoO2I8aTtiKyspe2Y9YShoW2JdKTtmLmRhdGEo
InNvcnRhYmxlLWl0ZW0iLGMpO2QucHVzaCh7aXRlbTpmLGluc3RhbmNlOmMsd2lkdGg6MCxoZWln
aHQ6MCxsZWZ0OjAsdG9wOjB9KX19fSxyZWZyZXNoUG9zaXRpb25zOmZ1bmN0aW9uKGMpe2lmKHRo
aXMub2Zmc2V0UGFyZW50JiYKK3RoaXMuaGVscGVyKXRoaXMub2Zmc2V0LnBhcmVudD10aGlzLl9n
ZXRQYXJlbnRPZmZzZXQoKTtmb3IodmFyIGQ9dGhpcy5pdGVtcy5sZW5ndGgtMTtkPj0wO2QtLSl7
dmFyIGU9dGhpcy5pdGVtc1tkXTtpZighKGUuaW5zdGFuY2UhPXRoaXMuY3VycmVudENvbnRhaW5l
ciYmdGhpcy5jdXJyZW50Q29udGFpbmVyJiZlLml0ZW1bMF0hPXRoaXMuY3VycmVudEl0ZW1bMF0p
KXt2YXIgaD10aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudD9hKHRoaXMub3B0aW9ucy50b2xl
cmFuY2VFbGVtZW50LGUuaXRlbSk6ZS5pdGVtO2lmKCFjKXtlLndpZHRoPWgub3V0ZXJXaWR0aCgp
O2UuaGVpZ2h0PWgub3V0ZXJIZWlnaHQoKX1oPWgub2Zmc2V0KCk7ZS5sZWZ0PWgubGVmdDtlLnRv
cD1oLnRvcH19aWYodGhpcy5vcHRpb25zLmN1c3RvbSYmdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZy
ZXNoQ29udGFpbmVycyl0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzLmNhbGwo
dGhpcyk7ZWxzZSBmb3IoZD0KK3RoaXMuY29udGFpbmVycy5sZW5ndGgtMTtkPj0wO2QtLSl7aD10
aGlzLmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vZmZzZXQoKTt0aGlzLmNvbnRhaW5lcnNbZF0uY29u
dGFpbmVyQ2FjaGUubGVmdD1oLmxlZnQ7dGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hl
LnRvcD1oLnRvcDt0aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUud2lkdGg9dGhpcy5j
b250YWluZXJzW2RdLmVsZW1lbnQub3V0ZXJXaWR0aCgpO3RoaXMuY29udGFpbmVyc1tkXS5jb250
YWluZXJDYWNoZS5oZWlnaHQ9dGhpcy5jb250YWluZXJzW2RdLmVsZW1lbnQub3V0ZXJIZWlnaHQo
KX1yZXR1cm4gdGhpc30sX2NyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKGMpe3ZhciBkPWN8fHRo
aXMsZT1kLm9wdGlvbnM7aWYoIWUucGxhY2Vob2xkZXJ8fGUucGxhY2Vob2xkZXIuY29uc3RydWN0
b3I9PVN0cmluZyl7dmFyIGg9ZS5wbGFjZWhvbGRlcjtlLnBsYWNlaG9sZGVyPXtlbGVtZW50OmZ1
bmN0aW9uKCl7dmFyIGc9CithKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZC5jdXJyZW50SXRlbVsw
XS5ub2RlTmFtZSkpLmFkZENsYXNzKGh8fGQuY3VycmVudEl0ZW1bMF0uY2xhc3NOYW1lKyIgdWkt
c29ydGFibGUtcGxhY2Vob2xkZXIiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIilb
MF07aWYoIWgpZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3JldHVybiBnfSx1cGRhdGU6ZnVu
Y3Rpb24oZyxpKXtpZighKGgmJiFlLmZvcmNlUGxhY2Vob2xkZXJTaXplKSl7aS5oZWlnaHQoKXx8
aS5oZWlnaHQoZC5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpLXBhcnNlSW50KGQuY3VycmVudEl0
ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsMTApLXBhcnNlSW50KGQuY3VycmVudEl0ZW0uY3NzKCJw
YWRkaW5nQm90dG9tIil8fDAsMTApKTtpLndpZHRoKCl8fGkud2lkdGgoZC5jdXJyZW50SXRlbS5p
bm5lcldpZHRoKCktcGFyc2VJbnQoZC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAs
MTApLXBhcnNlSW50KGQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8CiswLDEwKSl9
fX19ZC5wbGFjZWhvbGRlcj1hKGUucGxhY2Vob2xkZXIuZWxlbWVudC5jYWxsKGQuZWxlbWVudCxk
LmN1cnJlbnRJdGVtKSk7ZC5jdXJyZW50SXRlbS5hZnRlcihkLnBsYWNlaG9sZGVyKTtlLnBsYWNl
aG9sZGVyLnVwZGF0ZShkLGQucGxhY2Vob2xkZXIpfSxfY29udGFjdENvbnRhaW5lcnM6ZnVuY3Rp
b24oYyl7Zm9yKHZhciBkPW51bGwsZT1udWxsLGg9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2g+
PTA7aC0tKWlmKCFhLnVpLmNvbnRhaW5zKHRoaXMuY3VycmVudEl0ZW1bMF0sdGhpcy5jb250YWlu
ZXJzW2hdLmVsZW1lbnRbMF0pKWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVy
c1toXS5jb250YWluZXJDYWNoZSkpe2lmKCEoZCYmYS51aS5jb250YWlucyh0aGlzLmNvbnRhaW5l
cnNbaF0uZWxlbWVudFswXSxkLmVsZW1lbnRbMF0pKSl7ZD10aGlzLmNvbnRhaW5lcnNbaF07ZT1o
fX1lbHNlIGlmKHRoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyKXt0aGlzLmNv
bnRhaW5lcnNbaF0uX3RyaWdnZXIoIm91dCIsCitjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH1pZihkKWlmKHRoaXMuY29udGFpbmVy
cy5sZW5ndGg9PT0xKXt0aGlzLmNvbnRhaW5lcnNbZV0uX3RyaWdnZXIoIm92ZXIiLGMsdGhpcy5f
dWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcj0xfWVs
c2UgaWYodGhpcy5jdXJyZW50Q29udGFpbmVyIT10aGlzLmNvbnRhaW5lcnNbZV0pe2Q9MUU0O2g9
bnVsbDtmb3IodmFyIGc9dGhpcy5wb3NpdGlvbkFic1t0aGlzLmNvbnRhaW5lcnNbZV0uZmxvYXRp
bmc/ImxlZnQiOiJ0b3AiXSxpPXRoaXMuaXRlbXMubGVuZ3RoLTE7aT49MDtpLS0paWYoYS51aS5j
b250YWlucyh0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSx0aGlzLml0ZW1zW2ldLml0ZW1b
MF0pKXt2YXIgYj10aGlzLml0ZW1zW2ldW3RoaXMuY29udGFpbmVyc1tlXS5mbG9hdGluZz8ibGVm
dCI6InRvcCJdO2lmKE1hdGguYWJzKGItCitnKTxkKXtkPU1hdGguYWJzKGItZyk7aD10aGlzLml0
ZW1zW2ldfX1pZihofHx0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpe3RoaXMuY3VycmVudENvbnRh
aW5lcj10aGlzLmNvbnRhaW5lcnNbZV07aD90aGlzLl9yZWFycmFuZ2UoYyxoLG51bGwsdHJ1ZSk6
dGhpcy5fcmVhcnJhbmdlKGMsbnVsbCx0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudCx0cnVlKTt0
aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGMsdGhpcy5fdWlIYXNoKCkpO3RoaXMuY29udGFpbmVyc1tl
XS5fdHJpZ2dlcigiY2hhbmdlIixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5vcHRpb25zLnBs
YWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlcik7
dGhpcy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJvdmVyIixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7
dGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19fSxfY3JlYXRlSGVscGVy
OmZ1bmN0aW9uKGMpe3ZhciBkPQordGhpcy5vcHRpb25zO2M9YS5pc0Z1bmN0aW9uKGQuaGVscGVy
KT9hKGQuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbYyx0aGlzLmN1cnJlbnRJdGVtXSkp
OmQuaGVscGVyPT0iY2xvbmUiP3RoaXMuY3VycmVudEl0ZW0uY2xvbmUoKTp0aGlzLmN1cnJlbnRJ
dGVtO2MucGFyZW50cygiYm9keSIpLmxlbmd0aHx8YShkLmFwcGVuZFRvIT0icGFyZW50Ij9kLmFw
cGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoY1sw
XSk7aWYoY1swXT09dGhpcy5jdXJyZW50SXRlbVswXSl0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRo
aXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0u
c3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRv
cDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygi
bGVmdCIpfTtpZihjWzBdLnN0eWxlLndpZHRoPT0KKyIifHxkLmZvcmNlSGVscGVyU2l6ZSljLndp
ZHRoKHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSk7aWYoY1swXS5zdHlsZS5oZWlnaHQ9PSIifHxk
LmZvcmNlSGVscGVyU2l6ZSljLmhlaWdodCh0aGlzLmN1cnJlbnRJdGVtLmhlaWdodCgpKTtyZXR1
cm4gY30sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGM9PSJz
dHJpbmciKWM9Yy5zcGxpdCgiICIpO2lmKGEuaXNBcnJheShjKSljPXtsZWZ0OitjWzBdLHRvcDor
Y1sxXXx8MH07aWYoImxlZnQiaW4gYyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PWMubGVmdCt0aGlz
Lm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4gYyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMu
aGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYy5yaWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9w
ImluIGMpdGhpcy5vZmZzZXQuY2xpY2sudG9wPWMudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJv
dHRvbSJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD0KK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
aGVpZ2h0LWMuYm90dG9tK3RoaXMubWFyZ2lucy50b3B9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rp
b24oKXt0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYz10
aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUi
JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3Jv
bGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKXtjLmxlZnQrPXRoaXMuc2Nyb2xsUGFy
ZW50LnNjcm9sbExlZnQoKTtjLnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYo
dGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBd
LnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0
bWwiJiZhLmJyb3dzZXIubXNpZSljPQore3RvcDowLGxlZnQ6MH07cmV0dXJue3RvcDpjLnRvcCso
cGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCks
bGVmdDpjLmxlZnQrKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyTGVmdFdp
ZHRoIiksMTApfHwwKX19LF9nZXRSZWxhdGl2ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3Nz
UG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBjPXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTty
ZXR1cm57dG9wOmMudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkr
dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDpjLmxlZnQtKHBhcnNlSW50KHRoaXMu
aGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgp
fX1lbHNlIHJldHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhp
cy5tYXJnaW5zPXtsZWZ0OnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5MZWZ0
IiksCisxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5Ub3Ai
KSwxMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVy
UHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5o
ZWxwZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBjPXRo
aXMub3B0aW9ucztpZihjLmNvbnRhaW5tZW50PT0icGFyZW50IiljLmNvbnRhaW5tZW50PXRoaXMu
aGVscGVyWzBdLnBhcmVudE5vZGU7aWYoYy5jb250YWlubWVudD09ImRvY3VtZW50Inx8Yy5jb250
YWlubWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2
ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9w
LXRoaXMub2Zmc2V0LnBhcmVudC50b3AsYShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPworZG9j
dW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5t
YXJnaW5zLmxlZnQsKGEoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cp
LmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8
d2luZG93fHBhcmVudCkkLy50ZXN0KGMuY29udGFpbm1lbnQpKXt2YXIgZD1hKGMuY29udGFpbm1l
bnQpWzBdO2M9YShjLmNvbnRhaW5tZW50KS5vZmZzZXQoKTt2YXIgZT1hKGQpLmNzcygib3ZlcmZs
b3ciKSE9ImhpZGRlbiI7dGhpcy5jb250YWlubWVudD1bYy5sZWZ0KyhwYXJzZUludChhKGQpLmNz
cygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYShkKS5jc3MoInBhZGRpbmdM
ZWZ0IiksMTApfHwwKS10aGlzLm1hcmdpbnMubGVmdCxjLnRvcCsocGFyc2VJbnQoYShkKS5jc3Mo
ImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApKyhwYXJzZUludChhKGQpLmNzcygicGFkZGluZ1Rv
cCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxjLmxlZnQrKGU/TWF0aC5tYXgoZC5zY3JvbGxX
aWR0aCxkLm9mZnNldFdpZHRoKTpkLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoYShkKS5jc3MoImJv
cmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nUmlnaHQi
KSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQs
Yy50b3ArKGU/TWF0aC5tYXgoZC5zY3JvbGxIZWlnaHQsZC5vZmZzZXRIZWlnaHQpOmQub2Zmc2V0
SGVpZ2h0KS0ocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFy
c2VJbnQoYShkKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9y
dGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdfX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0
aW9uKGMsZCl7aWYoIWQpZD0KK3RoaXMucG9zaXRpb247Yz1jPT0iYWJzb2x1dGUiPzE6LTE7dmFy
IGU9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9
ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQ
YXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxoPS8oaHRtbHxi
b2R5KS9pLnRlc3QoZVswXS50YWdOYW1lKTtyZXR1cm57dG9wOmQudG9wK3RoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcCpjK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqYy0oYS5icm93c2VyLnNhZmFyaSYm
dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6ZS5zY3JvbGxUb3AoKSkqYyksbGVmdDpk
LmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpjK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0
KmMtKGEuYnJvd3Nlci5zYWZhcmkmJgordGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6aD8w
OmUuc2Nyb2xsTGVmdCgpKSpjKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGMpe3ZhciBk
PXRoaXMub3B0aW9ucyxlPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3Jv
bGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBd
LHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJl
bnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFtZSk7aWYodGhpcy5jc3NQb3NpdGlv
bj09InJlbGF0aXZlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Ny
b2xsUGFyZW50WzBdIT10aGlzLm9mZnNldFBhcmVudFswXSkpdGhpcy5vZmZzZXQucmVsYXRpdmU9
dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKTsKK3ZhciBnPWMucGFnZVgsaT1jLnBhZ2VZO2lmKHRo
aXMub3JpZ2luYWxQb3NpdGlvbil7aWYodGhpcy5jb250YWlubWVudCl7aWYoYy5wYWdlWC10aGlz
Lm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pZz10aGlzLmNvbnRhaW5tZW50
WzBdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYy5wYWdlWS10aGlzLm9mZnNldC5jbGljay50
b3A8dGhpcy5jb250YWlubWVudFsxXSlpPXRoaXMuY29udGFpbm1lbnRbMV0rdGhpcy5vZmZzZXQu
Y2xpY2sudG9wO2lmKGMucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5t
ZW50WzJdKWc9dGhpcy5jb250YWlubWVudFsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMu
cGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10paT10aGlzLmNv
bnRhaW5tZW50WzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihkLmdyaWQpe2k9dGhpcy5vcmln
aW5hbFBhZ2VZK01hdGgucm91bmQoKGktCit0aGlzLm9yaWdpbmFsUGFnZVkpL2QuZ3JpZFsxXSkq
ZC5ncmlkWzFdO2k9dGhpcy5jb250YWlubWVudD8hKGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRo
aXMuY29udGFpbm1lbnRbMV18fGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1l
bnRbM10pP2k6IShpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKT9p
LWQuZ3JpZFsxXTppK2QuZ3JpZFsxXTppO2c9dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQo
KGctdGhpcy5vcmlnaW5hbFBhZ2VYKS9kLmdyaWRbMF0pKmQuZ3JpZFswXTtnPXRoaXMuY29udGFp
bm1lbnQ/IShnLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXXx8Zy10
aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pP2c6IShnLXRoaXMub2Zm
c2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSk/Zy1kLmdyaWRbMF06ZytkLmdyaWRb
MF06Z319cmV0dXJue3RvcDppLQordGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKyhhLmJyb3dzZXIuc2FmYXJpJiZ0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5z
Y3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUuc2Nyb2xsVG9wKCkpLGxlZnQ6Zy10aGlzLm9m
ZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFy
ZW50LmxlZnQrKGEuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0
aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6
aD8wOmUuc2Nyb2xsTGVmdCgpKX19LF9yZWFycmFuZ2U6ZnVuY3Rpb24oYyxkLGUsaCl7ZT9lWzBd
LmFwcGVuZENoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pOmQuaXRlbVswXS5wYXJlbnROb2RlLmlu
c2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyWzBdLAordGhpcy5kaXJlY3Rpb249PSJkb3duIj9k
Lml0ZW1bMF06ZC5pdGVtWzBdLm5leHRTaWJsaW5nKTt0aGlzLmNvdW50ZXI9dGhpcy5jb3VudGVy
PysrdGhpcy5jb3VudGVyOjE7dmFyIGc9dGhpcyxpPXRoaXMuY291bnRlcjt3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpe2k9PWcuY291bnRlciYmZy5yZWZyZXNoUG9zaXRpb25zKCFoKX0sMCl9
LF9jbGVhcjpmdW5jdGlvbihjLGQpe3RoaXMucmV2ZXJ0aW5nPWZhbHNlO3ZhciBlPVtdOyF0aGlz
Ll9ub0ZpbmFsU29ydCYmdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGgmJnRoaXMucGxh
Y2Vob2xkZXIuYmVmb3JlKHRoaXMuY3VycmVudEl0ZW0pO3RoaXMuX25vRmluYWxTb3J0PW51bGw7
aWYodGhpcy5oZWxwZXJbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pe2Zvcih2YXIgaCBpbiB0aGlz
Ll9zdG9yZWRDU1MpaWYodGhpcy5fc3RvcmVkQ1NTW2hdPT0iYXV0byJ8fHRoaXMuX3N0b3JlZENT
U1toXT09InN0YXRpYyIpdGhpcy5fc3RvcmVkQ1NTW2hdPQorIiI7dGhpcy5jdXJyZW50SXRlbS5j
c3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxz
ZSB0aGlzLmN1cnJlbnRJdGVtLnNob3coKTt0aGlzLmZyb21PdXRzaWRlJiYhZCYmZS5wdXNoKGZ1
bmN0aW9uKGcpe3RoaXMuX3RyaWdnZXIoInJlY2VpdmUiLGcsdGhpcy5fdWlIYXNoKHRoaXMuZnJv
bU91dHNpZGUpKX0pO2lmKCh0aGlzLmZyb21PdXRzaWRlfHx0aGlzLmRvbVBvc2l0aW9uLnByZXYh
PXRoaXMuY3VycmVudEl0ZW0ucHJldigpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpWzBdfHx0
aGlzLmRvbVBvc2l0aW9uLnBhcmVudCE9dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXSkmJiFk
KWUucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLGcsdGhpcy5fdWlIYXNo
KCkpfSk7aWYoIWEudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1b
MF0pKXtkfHxlLnB1c2goZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIiwKK2csdGhp
cy5fdWlIYXNoKCkpfSk7Zm9yKGg9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2g+PTA7aC0tKWlm
KGEudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2hdLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50
SXRlbVswXSkmJiFkKXtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3Ry
aWdnZXIoInJlY2VpdmUiLGksdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNv
bnRhaW5lcnNbaF0pKTtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3Ry
aWdnZXIoInVwZGF0ZSIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29u
dGFpbmVyc1toXSkpfX1mb3IoaD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7aD49MDtoLS0pe2R8
fGUucHVzaChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5fdHJpZ2dlcigiZGVhY3Rp
dmF0ZSIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLAordGhpcy5jb250YWluZXJz
W2hdKSk7aWYodGhpcy5jb250YWluZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXIpe2UucHVzaChm
dW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5fdHJpZ2dlcigib3V0IixpLHRoaXMuX3Vp
SGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2hdKSk7dGhpcy5jb250YWlu
ZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19dGhpcy5fc3RvcmVkQ3Vyc29yJiZhKCJib2R5
IikuY3NzKCJjdXJzb3IiLHRoaXMuX3N0b3JlZEN1cnNvcik7dGhpcy5fc3RvcmVkT3BhY2l0eSYm
dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iix0aGlzLl9zdG9yZWRPcGFjaXR5KTtpZih0aGlzLl9z
dG9yZWRaSW5kZXgpdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLHRoaXMuX3N0b3JlZFpJbmRleD09
ImF1dG8iPyIiOnRoaXMuX3N0b3JlZFpJbmRleCk7dGhpcy5kcmFnZ2luZz1mYWxzZTtpZih0aGlz
LmNhbmNlbEhlbHBlclJlbW92YWwpe2lmKCFkKXt0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIiwK
K2MsdGhpcy5fdWlIYXNoKCkpO2ZvcihoPTA7aDxlLmxlbmd0aDtoKyspZVtoXS5jYWxsKHRoaXMs
Yyk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYyx0aGlzLl91aUhhc2goKSl9cmV0dXJuIGZhbHNlfWR8
fHRoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLGMsdGhpcy5fdWlIYXNoKCkpO3RoaXMucGxhY2Vo
b2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTt0aGlz
LmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7dGhp
cy5oZWxwZXI9bnVsbDtpZighZCl7Zm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNhbGwodGhp
cyxjKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjLHRoaXMuX3VpSGFzaCgpKX10aGlzLmZyb21PdXRz
aWRlPWZhbHNlO3JldHVybiB0cnVlfSxfdHJpZ2dlcjpmdW5jdGlvbigpe2EuV2lkZ2V0LnByb3Rv
dHlwZS5fdHJpZ2dlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk9PT1mYWxzZSYmdGhpcy5jYW5jZWwo
KX0sCitfdWlIYXNoOmZ1bmN0aW9uKGMpe3ZhciBkPWN8fHRoaXM7cmV0dXJue2hlbHBlcjpkLmhl
bHBlcixwbGFjZWhvbGRlcjpkLnBsYWNlaG9sZGVyfHxhKFtdKSxwb3NpdGlvbjpkLnBvc2l0aW9u
LG9yaWdpbmFsUG9zaXRpb246ZC5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDpkLnBvc2l0aW9uQWJz
LGl0ZW06ZC5jdXJyZW50SXRlbSxzZW5kZXI6Yz9jLmVsZW1lbnQ6bnVsbH19fSk7YS5leHRlbmQo
YS51aS5zb3J0YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKK2pRdWVyeS5lZmZl
Y3RzfHxmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGQobil7dmFyIGs7aWYobiYmbi5jb25zdHJ1Y3Rv
cj09QXJyYXkmJm4ubGVuZ3RoPT0zKXJldHVybiBuO2lmKGs9L3JnYlwoXHMqKFswLTldezEsM30p
XHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8uZXhlYyhuKSlyZXR1
cm5bcGFyc2VJbnQoa1sxXSwxMCkscGFyc2VJbnQoa1syXSwxMCkscGFyc2VJbnQoa1szXSwxMCld
O2lmKGs9L3JnYlwoXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/Olwu
WzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccypcKS8uZXhlYyhuKSly
ZXR1cm5bcGFyc2VGbG9hdChrWzFdKSoyLjU1LHBhcnNlRmxvYXQoa1syXSkqMi41NSxwYXJzZUZs
b2F0KGtbM10pKjIuNTVdO2lmKGs9LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShb
YS1mQS1GMC05XXsyfSkvLmV4ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0sCisxNikscGFyc2VJ
bnQoa1syXSwxNikscGFyc2VJbnQoa1szXSwxNildO2lmKGs9LyMoW2EtZkEtRjAtOV0pKFthLWZB
LUYwLTldKShbYS1mQS1GMC05XSkvLmV4ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0ra1sxXSwx
NikscGFyc2VJbnQoa1syXStrWzJdLDE2KSxwYXJzZUludChrWzNdK2tbM10sMTYpXTtpZigvcmdi
YVwoMCwgMCwgMCwgMFwpLy5leGVjKG4pKXJldHVybiBqLnRyYW5zcGFyZW50O3JldHVybiBqW2Eu
dHJpbShuKS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBlKG4sayl7dmFyIG07ZG97bT1hLmN1ckNT
UyhuLGspO2lmKG0hPSIiJiZtIT0idHJhbnNwYXJlbnQifHxhLm5vZGVOYW1lKG4sImJvZHkiKSli
cmVhaztrPSJiYWNrZ3JvdW5kQ29sb3IifXdoaWxlKG49bi5wYXJlbnROb2RlKTtyZXR1cm4gZCht
KX1mdW5jdGlvbiBoKCl7dmFyIG49ZG9jdW1lbnQuZGVmYXVsdFZpZXc/ZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLG51bGwpOnRoaXMuY3VycmVudFN0eWxlLAoraz17
fSxtLHA7aWYobiYmbi5sZW5ndGgmJm5bMF0mJm5bblswXV0pZm9yKHZhciBxPW4ubGVuZ3RoO3Et
LTspe209bltxXTtpZih0eXBlb2YgblttXT09InN0cmluZyIpe3A9bS5yZXBsYWNlKC9cLShcdykv
ZyxmdW5jdGlvbihzLHIpe3JldHVybiByLnRvVXBwZXJDYXNlKCl9KTtrW3BdPW5bbV19fWVsc2Ug
Zm9yKG0gaW4gbilpZih0eXBlb2YgblttXT09PSJzdHJpbmciKWtbbV09blttXTtyZXR1cm4ga31m
dW5jdGlvbiBnKG4pe3ZhciBrLG07Zm9yKGsgaW4gbil7bT1uW2tdO2lmKG09PW51bGx8fGEuaXNG
dW5jdGlvbihtKXx8ayBpbiBvfHwvc2Nyb2xsYmFyLy50ZXN0KGspfHwhL2NvbG9yL2kudGVzdChr
KSYmaXNOYU4ocGFyc2VGbG9hdChtKSkpZGVsZXRlIG5ba119cmV0dXJuIG59ZnVuY3Rpb24gaShu
LGspe3ZhciBtPXtfOjB9LHA7Zm9yKHAgaW4gaylpZihuW3BdIT1rW3BdKW1bcF09a1twXTtyZXR1
cm4gbX1mdW5jdGlvbiBiKG4sayxtLHApe2lmKHR5cGVvZiBuPT0ib2JqZWN0Iil7cD0KK2s7bT1u
dWxsO2s9bjtuPWsuZWZmZWN0fWlmKGEuaXNGdW5jdGlvbihrKSl7cD1rO209bnVsbDtrPXt9fWlm
KHR5cGVvZiBrPT0ibnVtYmVyInx8YS5meC5zcGVlZHNba10pe3A9bTttPWs7az17fX1pZihhLmlz
RnVuY3Rpb24obSkpe3A9bTttPW51bGx9az1rfHx7fTttPW18fGsuZHVyYXRpb247bT1hLmZ4Lm9m
Zj8wOnR5cGVvZiBtPT0ibnVtYmVyIj9tOm0gaW4gYS5meC5zcGVlZHM/YS5meC5zcGVlZHNbbV06
YS5meC5zcGVlZHMuX2RlZmF1bHQ7cD1wfHxrLmNvbXBsZXRlO3JldHVybltuLGssbSxwXX1mdW5j
dGlvbiBmKG4pe2lmKCFufHx0eXBlb2Ygbj09PSJudW1iZXIifHxhLmZ4LnNwZWVkc1tuXSlyZXR1
cm4gdHJ1ZTtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiYhYS5lZmZlY3RzW25dKXJldHVybiB0cnVl
O3JldHVybiBmYWxzZX1hLmVmZmVjdHM9e307YS5lYWNoKFsiYmFja2dyb3VuZENvbG9yIiwiYm9y
ZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwKKyJi
b3JkZXJUb3BDb2xvciIsImJvcmRlckNvbG9yIiwiY29sb3IiLCJvdXRsaW5lQ29sb3IiXSxmdW5j
dGlvbihuLGspe2EuZnguc3RlcFtrXT1mdW5jdGlvbihtKXtpZighbS5jb2xvckluaXQpe20uc3Rh
cnQ9ZShtLmVsZW0sayk7bS5lbmQ9ZChtLmVuZCk7bS5jb2xvckluaXQ9dHJ1ZX1tLmVsZW0uc3R5
bGVba109InJnYigiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KG0ucG9zKihtLmVuZFswXS1t
LnN0YXJ0WzBdKSttLnN0YXJ0WzBdLDEwKSwyNTUpLDApKyIsIitNYXRoLm1heChNYXRoLm1pbihw
YXJzZUludChtLnBvcyoobS5lbmRbMV0tbS5zdGFydFsxXSkrbS5zdGFydFsxXSwxMCksMjU1KSww
KSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQobS5wb3MqKG0uZW5kWzJdLW0uc3RhcnRb
Ml0pK20uc3RhcnRbMl0sMTApLDI1NSksMCkrIikifX0pO3ZhciBqPXthcXVhOlswLDI1NSwyNTVd
LGF6dXJlOlsyNDAsMjU1LDI1NV0sYmVpZ2U6WzI0NSwyNDUsMjIwXSxibGFjazpbMCwKKzAsMF0s
Ymx1ZTpbMCwwLDI1NV0sYnJvd246WzE2NSw0Miw0Ml0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1
ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dyZXk6WzE2OSwxNjksMTY5XSxk
YXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtraGFraTpbMTg5LDE4MywxMDddLGRhcmttYWdlbnRhOlsx
MzksMCwxMzldLGRhcmtvbGl2ZWdyZWVuOls4NSwxMDcsNDddLGRhcmtvcmFuZ2U6WzI1NSwxNDAs
MF0sZGFya29yY2hpZDpbMTUzLDUwLDIwNF0sZGFya3JlZDpbMTM5LDAsMF0sZGFya3NhbG1vbjpb
MjMzLDE1MCwxMjJdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMV0sZnVjaHNpYTpbMjU1LDAsMjU1XSxn
b2xkOlsyNTUsMjE1LDBdLGdyZWVuOlswLDEyOCwwXSxpbmRpZ286Wzc1LDAsMTMwXSxraGFraTpb
MjQwLDIzMCwxNDBdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y3lhbjpbMjI0LDI1NSwy
NTVdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwKKzIxMSwyMTFdLGxp
Z2h0cGluazpbMjU1LDE4MiwxOTNdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwy
NTUsMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG5hdnk6WzAsMCwxMjhd
LG9saXZlOlsxMjgsMTI4LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxwaW5rOlsyNTUsMTkyLDIwM10s
cHVycGxlOlsxMjgsMCwxMjhdLHZpb2xldDpbMTI4LDAsMTI4XSxyZWQ6WzI1NSwwLDBdLHNpbHZl
cjpbMTkyLDE5MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0seWVsbG93OlsyNTUsMjU1LDBdLHRy
YW5zcGFyZW50OlsyNTUsMjU1LDI1NV19LGw9WyJhZGQiLCJyZW1vdmUiLCJ0b2dnbGUiXSxvPXti
b3JkZXI6MSxib3JkZXJCb3R0b206MSxib3JkZXJDb2xvcjoxLGJvcmRlckxlZnQ6MSxib3JkZXJS
aWdodDoxLGJvcmRlclRvcDoxLGJvcmRlcldpZHRoOjEsbWFyZ2luOjEscGFkZGluZzoxfTthLmVm
ZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKG4sayxtLAorcCl7aWYoYS5pc0Z1bmN0aW9uKG0p
KXtwPW07bT1udWxsfXJldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIHE9YSh0aGlzKSxz
PXEuYXR0cigic3R5bGUiKXx8IiAiLHI9ZyhoLmNhbGwodGhpcykpLHUsdj1xLmF0dHIoImNsYXNz
Iik7YS5lYWNoKGwsZnVuY3Rpb24odyx4KXtuW3hdJiZxW3grIkNsYXNzIl0oblt4XSl9KTt1PWco
aC5jYWxsKHRoaXMpKTtxLmF0dHIoImNsYXNzIix2KTtxLmFuaW1hdGUoaShyLHUpLHtxdWV1ZTpm
YWxzZSxkdXJhdGlvbjprLGVhc2luZzptLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5lYWNoKGwsZnVu
Y3Rpb24odyx4KXtuW3hdJiZxW3grIkNsYXNzIl0oblt4XSl9KTtpZih0eXBlb2YgcS5hdHRyKCJz
dHlsZSIpPT0ib2JqZWN0Iil7cS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9IiI7cS5hdHRyKCJzdHls
ZSIpLmNzc1RleHQ9c31lbHNlIHEuYXR0cigic3R5bGUiLHMpO3AmJnAuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2EuZGVxdWV1ZSh0aGlzKX19KX0pfTsKK2EuZm4uZXh0ZW5kKHtfYWRkQ2xhc3M6YS5m
bi5hZGRDbGFzcyxhZGRDbGFzczpmdW5jdGlvbihuLGssbSxwKXtyZXR1cm4gaz9hLmVmZmVjdHMu
YW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW3thZGQ6bn0sayxtLHBdKTp0aGlzLl9hZGRDbGFzcyhu
KX0sX3JlbW92ZUNsYXNzOmEuZm4ucmVtb3ZlQ2xhc3MscmVtb3ZlQ2xhc3M6ZnVuY3Rpb24obixr
LG0scCl7cmV0dXJuIGs/YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7cmVtb3Zl
Om59LGssbSxwXSk6dGhpcy5fcmVtb3ZlQ2xhc3Mobil9LF90b2dnbGVDbGFzczphLmZuLnRvZ2ds
ZUNsYXNzLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHR5cGVvZiBrPT0i
Ym9vbGVhbiJ8fGs9PT1jP20/YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFtrP3th
ZGQ6bn06e3JlbW92ZTpufSxtLHAscV0pOnRoaXMuX3RvZ2dsZUNsYXNzKG4sayk6YS5lZmZlY3Rz
LmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLAorW3t0b2dnbGU6bn0sayxtLHBdKX0sc3dpdGNoQ2xh
c3M6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gYS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBs
eSh0aGlzLFt7YWRkOmsscmVtb3ZlOm59LG0scCxxXSl9fSk7YS5leHRlbmQoYS5lZmZlY3RzLHt2
ZXJzaW9uOiIxLjguMTUiLHNhdmU6ZnVuY3Rpb24obixrKXtmb3IodmFyIG09MDttPGsubGVuZ3Ro
O20rKylrW21dIT09bnVsbCYmbi5kYXRhKCJlYy5zdG9yYWdlLiIra1ttXSxuWzBdLnN0eWxlW2tb
bV1dKX0scmVzdG9yZTpmdW5jdGlvbihuLGspe2Zvcih2YXIgbT0wO208ay5sZW5ndGg7bSsrKWtb
bV0hPT1udWxsJiZuLmNzcyhrW21dLG4uZGF0YSgiZWMuc3RvcmFnZS4iK2tbbV0pKX0sc2V0TW9k
ZTpmdW5jdGlvbihuLGspe2lmKGs9PSJ0b2dnbGUiKWs9bi5pcygiOmhpZGRlbiIpPyJzaG93Ijoi
aGlkZSI7cmV0dXJuIGt9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKG4sayl7dmFyIG07c3dpdGNoKG5b
MF0pe2Nhc2UgInRvcCI6bT0KKzA7YnJlYWs7Y2FzZSAibWlkZGxlIjptPTAuNTticmVhaztjYXNl
ICJib3R0b20iOm09MTticmVhaztkZWZhdWx0Om09blswXS9rLmhlaWdodH1zd2l0Y2goblsxXSl7
Y2FzZSAibGVmdCI6bj0wO2JyZWFrO2Nhc2UgImNlbnRlciI6bj0wLjU7YnJlYWs7Y2FzZSAicmln
aHQiOm49MTticmVhaztkZWZhdWx0Om49blsxXS9rLndpZHRofXJldHVybnt4Om4seTptfX0sY3Jl
YXRlV3JhcHBlcjpmdW5jdGlvbihuKXtpZihuLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFw
cGVyIikpcmV0dXJuIG4ucGFyZW50KCk7dmFyIGs9e3dpZHRoOm4ub3V0ZXJXaWR0aCh0cnVlKSxo
ZWlnaHQ6bi5vdXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOm4uY3NzKCJmbG9hdCIpfSxtPWEoIjxk
aXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6
IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBh
ZGRpbmc6MH0pOworbi53cmFwKG0pO209bi5wYXJlbnQoKTtpZihuLmNzcygicG9zaXRpb24iKT09
InN0YXRpYyIpe20uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSk7bi5jc3Moe3Bvc2l0aW9uOiJy
ZWxhdGl2ZSJ9KX1lbHNle2EuZXh0ZW5kKGsse3Bvc2l0aW9uOm4uY3NzKCJwb3NpdGlvbiIpLHpJ
bmRleDpuLmNzcygiei1pbmRleCIpfSk7YS5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJp
Z2h0Il0sZnVuY3Rpb24ocCxxKXtrW3FdPW4uY3NzKHEpO2lmKGlzTmFOKHBhcnNlSW50KGtbcV0s
MTApKSlrW3FdPSJhdXRvIn0pO24uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDowLGxlZnQ6
MCxyaWdodDoiYXV0byIsYm90dG9tOiJhdXRvIn0pfXJldHVybiBtLmNzcyhrKS5zaG93KCl9LHJl
bW92ZVdyYXBwZXI6ZnVuY3Rpb24obil7aWYobi5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3Jh
cHBlciIpKXJldHVybiBuLnBhcmVudCgpLnJlcGxhY2VXaXRoKG4pO3JldHVybiBufSxzZXRUcmFu
c2l0aW9uOmZ1bmN0aW9uKG4sCitrLG0scCl7cD1wfHx7fTthLmVhY2goayxmdW5jdGlvbihxLHMp
e3VuaXQ9bi5jc3NVbml0KHMpO2lmKHVuaXRbMF0+MClwW3NdPXVuaXRbMF0qbSt1bml0WzFdfSk7
cmV0dXJuIHB9fSk7YS5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbihuKXt2YXIgaz1iLmFwcGx5
KHRoaXMsYXJndW1lbnRzKSxtPXtvcHRpb25zOmtbMV0sZHVyYXRpb246a1syXSxjYWxsYmFjazpr
WzNdfTtrPW0ub3B0aW9ucy5tb2RlO3ZhciBwPWEuZWZmZWN0c1tuXTtpZihhLmZ4Lm9mZnx8IXAp
cmV0dXJuIGs/dGhpc1trXShtLmR1cmF0aW9uLG0uY2FsbGJhY2spOnRoaXMuZWFjaChmdW5jdGlv
bigpe20uY2FsbGJhY2smJm0uY2FsbGJhY2suY2FsbCh0aGlzKX0pO3JldHVybiBwLmNhbGwodGhp
cyxtKX0sX3Nob3c6YS5mbi5zaG93LHNob3c6ZnVuY3Rpb24obil7aWYoZihuKSlyZXR1cm4gdGhp
cy5fc2hvdy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgaz1iLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKTsKK2tbMV0ubW9kZT0ic2hvdyI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMs
ayl9fSxfaGlkZTphLmZuLmhpZGUsaGlkZTpmdW5jdGlvbihuKXtpZihmKG4pKXJldHVybiB0aGlz
Ll9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBrPWIuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2tbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsayl9
fSxfX3RvZ2dsZTphLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24obil7aWYoZihuKXx8dHlwZW9m
IG49PT0iYm9vbGVhbiJ8fGEuaXNGdW5jdGlvbihuKSlyZXR1cm4gdGhpcy5fX3RvZ2dsZS5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgaz1iLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtrWzFd
Lm1vZGU9InRvZ2dsZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsayl9fSxjc3NVbml0
OmZ1bmN0aW9uKG4pe3ZhciBrPXRoaXMuY3NzKG4pLG09W107YS5lYWNoKFsiZW0iLCJweCIsIiUi
LAorInB0Il0sZnVuY3Rpb24ocCxxKXtpZihrLmluZGV4T2YocSk+MCltPVtwYXJzZUZsb2F0KGsp
LHFdfSk7cmV0dXJuIG19fSk7YS5lYXNpbmcuanN3aW5nPWEuZWFzaW5nLnN3aW5nO2EuZXh0ZW5k
KGEuZWFzaW5nLHtkZWY6ImVhc2VPdXRRdWFkIixzd2luZzpmdW5jdGlvbihuLGssbSxwLHEpe3Jl
dHVybiBhLmVhc2luZ1thLmVhc2luZy5kZWZdKG4sayxtLHAscSl9LGVhc2VJblF1YWQ6ZnVuY3Rp
b24obixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayttfSxlYXNlT3V0UXVhZDpmdW5jdGlvbihu
LGssbSxwLHEpe3JldHVybi1wKihrLz1xKSooay0yKSttfSxlYXNlSW5PdXRRdWFkOmZ1bmN0aW9u
KG4sayxtLHAscSl7aWYoKGsvPXEvMik8MSlyZXR1cm4gcC8yKmsqayttO3JldHVybi1wLzIqKC0t
ayooay0yKS0xKSttfSxlYXNlSW5DdWJpYzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwKihr
Lz1xKSprKmsrbX0sZWFzZU91dEN1YmljOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqCiso
KGs9ay9xLTEpKmsqaysxKSttfSxlYXNlSW5PdXRDdWJpYzpmdW5jdGlvbihuLGssbSxwLHEpe2lm
KChrLz1xLzIpPDEpcmV0dXJuIHAvMiprKmsqayttO3JldHVybiBwLzIqKChrLT0yKSprKmsrMikr
bX0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayprKmsr
bX0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuLXAqKChrPWsvcS0xKSpr
Kmsqay0xKSttfSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIp
PDEpcmV0dXJuIHAvMiprKmsqayprK207cmV0dXJuLXAvMiooKGstPTIpKmsqayprLTIpK219LGVh
c2VJblF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKGsvPXEpKmsqayprKmsrbX0s
ZWFzZU91dFF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKChrPWsvcS0xKSprKmsq
ayprKzEpK219LGVhc2VJbk91dFF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7aWYoKGsvPQorcS8y
KTwxKXJldHVybiBwLzIqayprKmsqayprK207cmV0dXJuIHAvMiooKGstPTIpKmsqayprKmsrMikr
bX0sZWFzZUluU2luZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybi1wKk1hdGguY29zKGsvcSoo
TWF0aC5QSS8yKSkrcCttfSxlYXNlT3V0U2luZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBw
Kk1hdGguc2luKGsvcSooTWF0aC5QSS8yKSkrbX0sZWFzZUluT3V0U2luZTpmdW5jdGlvbihuLGss
bSxwLHEpe3JldHVybi1wLzIqKE1hdGguY29zKE1hdGguUEkqay9xKS0xKSttfSxlYXNlSW5FeHBv
OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIGs9PTA/bTpwKk1hdGgucG93KDIsMTAqKGsvcS0x
KSkrbX0sZWFzZU91dEV4cG86ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gaz09cT9tK3A6cCoo
LU1hdGgucG93KDIsLTEwKmsvcSkrMSkrbX0sZWFzZUluT3V0RXhwbzpmdW5jdGlvbihuLGssbSxw
LHEpe2lmKGs9PTApcmV0dXJuIG07aWYoaz09cSlyZXR1cm4gbStwO2lmKChrLz0KK3EvMik8MSly
ZXR1cm4gcC8yKk1hdGgucG93KDIsMTAqKGstMSkpK207cmV0dXJuIHAvMiooLU1hdGgucG93KDIs
LTEwKi0taykrMikrbX0sZWFzZUluQ2lyYzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybi1wKihN
YXRoLnNxcnQoMS0oay89cSkqayktMSkrbX0sZWFzZU91dENpcmM6ZnVuY3Rpb24obixrLG0scCxx
KXtyZXR1cm4gcCpNYXRoLnNxcnQoMS0oaz1rL3EtMSkqaykrbX0sZWFzZUluT3V0Q2lyYzpmdW5j
dGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIpPDEpcmV0dXJuLXAvMiooTWF0aC5zcXJ0KDEtaypr
KS0xKSttO3JldHVybiBwLzIqKE1hdGguc3FydCgxLShrLT0yKSprKSsxKSttfSxlYXNlSW5FbGFz
dGljOmZ1bmN0aW9uKG4sayxtLHAscSl7bj0xLjcwMTU4O3ZhciBzPTAscj1wO2lmKGs9PTApcmV0
dXJuIG07aWYoKGsvPXEpPT0xKXJldHVybiBtK3A7c3x8KHM9cSowLjMpO2lmKHI8TWF0aC5hYnMo
cCkpe3I9cDtuPXMvNH1lbHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFzaW4ocC8KK3IpO3JldHVy
bi0ocipNYXRoLnBvdygyLDEwKihrLT0xKSkqTWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykp
K219LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKG4sayxtLHAscSl7bj0xLjcwMTU4O3ZhciBzPTAs
cj1wO2lmKGs9PTApcmV0dXJuIG07aWYoKGsvPXEpPT0xKXJldHVybiBtK3A7c3x8KHM9cSowLjMp
O2lmKHI8TWF0aC5hYnMocCkpe3I9cDtuPXMvNH1lbHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFz
aW4ocC9yKTtyZXR1cm4gcipNYXRoLnBvdygyLC0xMCprKSpNYXRoLnNpbigoaypxLW4pKjIqTWF0
aC5QSS9zKStwK219LGVhc2VJbk91dEVsYXN0aWM6ZnVuY3Rpb24obixrLG0scCxxKXtuPTEuNzAx
NTg7dmFyIHM9MCxyPXA7aWYoaz09MClyZXR1cm4gbTtpZigoay89cS8yKT09MilyZXR1cm4gbStw
O3N8fChzPXEqMC4zKjEuNSk7aWYocjxNYXRoLmFicyhwKSl7cj1wO249cy80fWVsc2Ugbj1zLygy
Kk1hdGguUEkpKk1hdGguYXNpbihwL3IpO2lmKGs8MSlyZXR1cm4tMC41KgorcipNYXRoLnBvdygy
LDEwKihrLT0xKSkqTWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykrbTtyZXR1cm4gcipNYXRo
LnBvdygyLC0xMCooay09MSkpKk1hdGguc2luKChrKnEtbikqMipNYXRoLlBJL3MpKjAuNStwK219
LGVhc2VJbkJhY2s6ZnVuY3Rpb24obixrLG0scCxxLHMpe2lmKHM9PWMpcz0xLjcwMTU4O3JldHVy
biBwKihrLz1xKSprKigocysxKSprLXMpK219LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKG4sayxtLHAs
cSxzKXtpZihzPT1jKXM9MS43MDE1ODtyZXR1cm4gcCooKGs9ay9xLTEpKmsqKChzKzEpKmsrcykr
MSkrbX0sZWFzZUluT3V0QmFjazpmdW5jdGlvbihuLGssbSxwLHEscyl7aWYocz09YylzPTEuNzAx
NTg7aWYoKGsvPXEvMik8MSlyZXR1cm4gcC8yKmsqayooKChzKj0xLjUyNSkrMSkqay1zKSttO3Jl
dHVybiBwLzIqKChrLT0yKSprKigoKHMqPTEuNTI1KSsxKSprK3MpKzIpK219LGVhc2VJbkJvdW5j
ZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwLWEuZWFzaW5nLmVhc2VPdXRCb3VuY2UobiwK
K3EtaywwLHAscSkrbX0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybihr
Lz1xKTwxLzIuNzU/cCo3LjU2MjUqayprK206azwyLzIuNzU/cCooNy41NjI1KihrLT0xLjUvMi43
NSkqayswLjc1KSttOms8Mi41LzIuNzU/cCooNy41NjI1KihrLT0yLjI1LzIuNzUpKmsrMC45Mzc1
KSttOnAqKDcuNTYyNSooay09Mi42MjUvMi43NSkqayswLjk4NDM3NSkrbX0sZWFzZUluT3V0Qm91
bmNlOmZ1bmN0aW9uKG4sayxtLHAscSl7aWYoazxxLzIpcmV0dXJuIGEuZWFzaW5nLmVhc2VJbkJv
dW5jZShuLGsqMiwwLHAscSkqMC41K207cmV0dXJuIGEuZWFzaW5nLmVhc2VPdXRCb3VuY2Uobixr
KjItcSwwLHAscSkqMC41K3AqMC41K219fSl9KGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZl
Y3RzLmJsaW5kPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9
YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEu
ZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuZGly
ZWN0aW9ufHwidmVydGljYWwiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7dmFyIGk9YS5l
ZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pLGI9Zz09InZl
cnRpY2FsIj8iaGVpZ2h0Ijoid2lkdGgiO2c9Zz09InZlcnRpY2FsIj9pLmhlaWdodCgpOmkud2lk
dGgoKTtoPT0ic2hvdyImJmkuY3NzKGIsMCk7dmFyIGY9e307ZltiXT1oPT0ic2hvdyI/ZzowO2ku
YW5pbWF0ZShmLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2g9PSJoaWRl
IiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCwKK2UpO2EuZWZmZWN0cy5yZW1vdmVXcmFw
cGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1bWVudHMpO2QuZGVx
dWV1ZSgpfSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5ib3VuY2U9ZnVu
Y3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJw
b3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1v
ZGUoZCxjLm9wdGlvbnMubW9kZXx8ImVmZmVjdCIpLGc9Yy5vcHRpb25zLmRpcmVjdGlvbnx8InVw
IixpPWMub3B0aW9ucy5kaXN0YW5jZXx8MjAsYj1jLm9wdGlvbnMudGltZXN8fDUsZj1jLmR1cmF0
aW9ufHwyNTA7L3Nob3d8aGlkZS8udGVzdChoKSYmZS5wdXNoKCJvcGFjaXR5Iik7YS5lZmZlY3Rz
LnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKTt2YXIgaj1nPT0i
dXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVwInx8Zz09ImxlZnQiPyJwb3MiOiJu
ZWciO2k9Yy5vcHRpb25zLmRpc3RhbmNlfHwoaj09InRvcCI/ZC5vdXRlckhlaWdodCh7bWFyZ2lu
OnRydWV9KS8zOmQub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KS8KKzMpO2lmKGg9PSJzaG93Iilk
LmNzcygib3BhY2l0eSIsMCkuY3NzKGosZz09InBvcyI/LWk6aSk7aWYoaD09ImhpZGUiKWkvPWIq
MjtoIT0iaGlkZSImJmItLTtpZihoPT0ic2hvdyIpe3ZhciBsPXtvcGFjaXR5OjF9O2xbal09KGc9
PSJwb3MiPyIrPSI6Ii09IikraTtkLmFuaW1hdGUobCxmLzIsYy5vcHRpb25zLmVhc2luZyk7aS89
MjtiLS19Zm9yKGw9MDtsPGI7bCsrKXt2YXIgbz17fSxuPXt9O29bal09KGc9PSJwb3MiPyItPSI6
Iis9IikraTtuW2pdPShnPT0icG9zIj8iKz0iOiItPSIpK2k7ZC5hbmltYXRlKG8sZi8yLGMub3B0
aW9ucy5lYXNpbmcpLmFuaW1hdGUobixmLzIsYy5vcHRpb25zLmVhc2luZyk7aT1oPT0iaGlkZSI/
aSoyOmkvMn1pZihoPT0iaGlkZSIpe2w9e29wYWNpdHk6MH07bFtqXT0oZz09InBvcyI/Ii09Ijoi
Kz0iKStpO2QuYW5pbWF0ZShsLGYvMixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7ZC5oaWRl
KCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTsKK2Mu
Y2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9ZWxzZXtvPXt9O249
e307b1tqXT0oZz09InBvcyI/Ii09IjoiKz0iKStpO25bal09KGc9PSJwb3MiPyIrPSI6Ii09Iikr
aTtkLmFuaW1hdGUobyxmLzIsYy5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShuLGYvMixjLm9wdGlv
bnMuZWFzaW5nLGZ1bmN0aW9uKCl7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVt
b3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRz
KX0pfWQucXVldWUoImZ4IixmdW5jdGlvbigpe2QuZGVxdWV1ZSgpfSk7ZC5kZXF1ZXVlKCl9KX19
KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5jbGlwPWZ1bmN0aW9uKGMpe3JldHVy
biB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3Ai
LCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLGg9YS5lZmZlY3RzLnNl
dE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxnPWMub3B0aW9ucy5kaXJlY3Rpb258fCJ2
ZXJ0aWNhbCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTt2YXIgaT1hLmVmZmVjdHMuY3Jl
YXRlV3JhcHBlcihkKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSk7aT1kWzBdLnRhZ05hbWU9PSJJ
TUciP2k6ZDt2YXIgYj17c2l6ZTpnPT0idmVydGljYWwiPyJoZWlnaHQiOiJ3aWR0aCIscG9zaXRp
b246Zz09InZlcnRpY2FsIj8idG9wIjoibGVmdCJ9O2c9Zz09InZlcnRpY2FsIj9pLmhlaWdodCgp
Omkud2lkdGgoKTtpZihoPT0ic2hvdyIpe2kuY3NzKGIuc2l6ZSwwKTtpLmNzcyhiLnBvc2l0aW9u
LAorZy8yKX12YXIgZj17fTtmW2Iuc2l6ZV09aD09InNob3ciP2c6MDtmW2IucG9zaXRpb25dPWg9
PSJzaG93Ij8wOmcvMjtpLmFuaW1hdGUoZix7cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlv
bixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2g9PSJoaWRlIiYm
ZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihk
KTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KGRbMF0sYXJndW1lbnRzKTtkLmRlcXVldWUo
KX19KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmRyb3A9ZnVuY3Rpb24o
Yyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlv
biIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm9wYWNpdHkiXSxoPWEuZWZmZWN0cy5z
ZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuZGlyZWN0aW9ufHwi
bGVmdCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBl
cihkKTt2YXIgaT1nPT0idXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVwInx8Zz09
ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBiPWMub3B0aW9ucy5kaXN0YW5jZXx8KGk9PSJ0b3AiP2Qu
b3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkvMjpkLm91dGVyV2lkdGgoe21hcmdpbjp0cnVlfSkv
Mik7aWYoaD09InNob3ciKWQuY3NzKCJvcGFjaXR5IiwwKS5jc3MoaSxnPT0icG9zIj8tYjpiKTt2
YXIgZj17b3BhY2l0eTpoPT0KKyJzaG93Ij8xOjB9O2ZbaV09KGg9PSJzaG93Ij9nPT0icG9zIj8i
Kz0iOiItPSI6Zz09InBvcyI/Ii09IjoiKz0iKStiO2QuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxk
dXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0
aW9uKCl7aD09ImhpZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0
cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1
bWVudHMpO2QuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVj
dHMuZXhwbG9kZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBk
PWMub3B0aW9ucy5waWVjZXM/TWF0aC5yb3VuZChNYXRoLnNxcnQoYy5vcHRpb25zLnBpZWNlcykp
OjMsZT1jLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGMub3B0aW9ucy5waWVj
ZXMpKTozO2Mub3B0aW9ucy5tb2RlPWMub3B0aW9ucy5tb2RlPT0idG9nZ2xlIj9hKHRoaXMpLmlz
KCI6dmlzaWJsZSIpPyJoaWRlIjoic2hvdyI6Yy5vcHRpb25zLm1vZGU7dmFyIGg9YSh0aGlzKS5z
aG93KCkuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksZz1oLm9mZnNldCgpO2cudG9wLT1wYXJz
ZUludChoLmNzcygibWFyZ2luVG9wIiksMTApfHwwO2cubGVmdC09cGFyc2VJbnQoaC5jc3MoIm1h
cmdpbkxlZnQiKSwxMCl8fDA7Zm9yKHZhciBpPWgub3V0ZXJXaWR0aCh0cnVlKSxiPWgub3V0ZXJI
ZWlnaHQodHJ1ZSksZj0wO2Y8ZDtmKyspZm9yKHZhciBqPQorMDtqPGU7aisrKWguY2xvbmUoKS5h
cHBlbmRUbygiYm9keSIpLndyYXAoIjxkaXY+PC9kaXY+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1
dGUiLHZpc2liaWxpdHk6InZpc2libGUiLGxlZnQ6LWoqKGkvZSksdG9wOi1mKihiL2QpfSkucGFy
ZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9zaXRpb246ImFic29s
dXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDppL2UsaGVpZ2h0OmIvZCxsZWZ0OmcubGVmdCtq
KihpL2UpKyhjLm9wdGlvbnMubW9kZT09InNob3ciPyhqLU1hdGguZmxvb3IoZS8yKSkqKGkvZSk6
MCksdG9wOmcudG9wK2YqKGIvZCkrKGMub3B0aW9ucy5tb2RlPT0ic2hvdyI/KGYtTWF0aC5mbG9v
cihkLzIpKSooYi9kKTowKSxvcGFjaXR5OmMub3B0aW9ucy5tb2RlPT0ic2hvdyI/MDoxfSkuYW5p
bWF0ZSh7bGVmdDpnLmxlZnQraiooaS9lKSsoYy5vcHRpb25zLm1vZGU9PSJzaG93Ij8wOihqLU1h
dGguZmxvb3IoZS8yKSkqKGkvZSkpLHRvcDpnLnRvcCsKK2YqKGIvZCkrKGMub3B0aW9ucy5tb2Rl
PT0ic2hvdyI/MDooZi1NYXRoLmZsb29yKGQvMikpKihiL2QpKSxvcGFjaXR5OmMub3B0aW9ucy5t
b2RlPT0ic2hvdyI/MTowfSxjLmR1cmF0aW9ufHw1MDApO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtj
Lm9wdGlvbnMubW9kZT09InNob3ciP2guY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pOmguY3Nz
KHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLmhpZGUoKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFw
cGx5KGhbMF0pO2guZGVxdWV1ZSgpO2EoImRpdi51aS1lZmZlY3RzLWV4cGxvZGUiKS5yZW1vdmUo
KX0sYy5kdXJhdGlvbnx8NTAwKX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3Rz
LmZhZGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRo
aXMpLGU9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKTtkLmFuaW1h
dGUoe29wYWNpdHk6ZX0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMu
b3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtjLmNhbGxiYWNrJiZjLmNhbGxiYWNr
LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CisoZnVu
Y3Rpb24oYSl7YS5lZmZlY3RzLmZvbGQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVu
Y3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQi
LCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxn
PWMub3B0aW9ucy5zaXplfHwxNSxpPSEhYy5vcHRpb25zLmhvcml6Rmlyc3QsYj1jLmR1cmF0aW9u
P2MuZHVyYXRpb24vMjphLmZ4LnNwZWVkcy5fZGVmYXVsdC8yO2EuZWZmZWN0cy5zYXZlKGQsZSk7
ZC5zaG93KCk7dmFyIGY9YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoi
aGlkZGVuIn0pLGo9aD09InNob3ciIT1pLGw9aj9bIndpZHRoIiwiaGVpZ2h0Il06WyJoZWlnaHQi
LCJ3aWR0aCJdO2o9aj9bZi53aWR0aCgpLGYuaGVpZ2h0KCldOltmLmhlaWdodCgpLGYud2lkdGgo
KV07dmFyIG89LyhbMC05XSspJS8uZXhlYyhnKTtpZihvKWc9cGFyc2VJbnQob1sxXSwKKzEwKS8x
MDAqaltoPT0iaGlkZSI/MDoxXTtpZihoPT0ic2hvdyIpZi5jc3MoaT97aGVpZ2h0OjAsd2lkdGg6
Z306e2hlaWdodDpnLHdpZHRoOjB9KTtpPXt9O289e307aVtsWzBdXT1oPT0ic2hvdyI/alswXTpn
O29bbFsxXV09aD09InNob3ciP2pbMV06MDtmLmFuaW1hdGUoaSxiLGMub3B0aW9ucy5lYXNpbmcp
LmFuaW1hdGUobyxiLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlk
ZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5j
YWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBdLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9KX0p
fX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmhpZ2hsaWdodD1mdW5jdGlvbihj
KXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bImJhY2tncm91
bmRJbWFnZSIsImJhY2tncm91bmRDb2xvciIsIm9wYWNpdHkiXSxoPWEuZWZmZWN0cy5zZXRNb2Rl
KGQsYy5vcHRpb25zLm1vZGV8fCJzaG93IiksZz17YmFja2dyb3VuZENvbG9yOmQuY3NzKCJiYWNr
Z3JvdW5kQ29sb3IiKX07aWYoaD09ImhpZGUiKWcub3BhY2l0eT0wO2EuZWZmZWN0cy5zYXZlKGQs
ZSk7ZC5zaG93KCkuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6Im5vbmUiLGJhY2tncm91bmRDb2xvcjpj
Lm9wdGlvbnMuY29sb3J8fCIjZmZmZjk5In0pLmFuaW1hdGUoZyx7cXVldWU6ZmFsc2UsZHVyYXRp
b246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigp
e2g9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTtoPT0ic2hvdyImJiFh
LnN1cHBvcnQub3BhY2l0eSYmCit0aGlzLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7
Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9
fSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5wdWxzYXRlPWZ1bmN0aW9u
KGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0
cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJzaG93Iik7dGltZXM9KGMub3B0aW9ucy50aW1l
c3x8NSkqMi0xO2R1cmF0aW9uPWMuZHVyYXRpb24/Yy5kdXJhdGlvbi8yOmEuZnguc3BlZWRzLl9k
ZWZhdWx0LzI7aXNWaXNpYmxlPWQuaXMoIjp2aXNpYmxlIik7YW5pbWF0ZVRvPTA7aWYoIWlzVmlz
aWJsZSl7ZC5jc3MoIm9wYWNpdHkiLDApLnNob3coKTthbmltYXRlVG89MX1pZihlPT0iaGlkZSIm
JmlzVmlzaWJsZXx8ZT09InNob3ciJiYhaXNWaXNpYmxlKXRpbWVzLS07Zm9yKGU9MDtlPHRpbWVz
O2UrKyl7ZC5hbmltYXRlKHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sYy5vcHRpb25zLmVh
c2luZyk7YW5pbWF0ZVRvPShhbmltYXRlVG8rMSklMn1kLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0
ZVRvfSxkdXJhdGlvbiwKK2Mub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthbmltYXRlVG89PTAm
JmQuaGlkZSgpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpfSk7
ZC5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKCl9KS5kZXF1ZXVlKCl9KX19KShqUXVl
cnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5wdWZmPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlz
LnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5v
cHRpb25zLm1vZGV8fCJoaWRlIiksaD1wYXJzZUludChjLm9wdGlvbnMucGVyY2VudCwxMCl8fDE1
MCxnPWgvMTAwLGk9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgoKX07YS5leHRlbmQo
Yy5vcHRpb25zLHtmYWRlOnRydWUsbW9kZTplLHBlcmNlbnQ6ZT09ImhpZGUiP2g6MTAwLGZyb206
ZT09ImhpZGUiP2k6e2hlaWdodDppLmhlaWdodCpnLHdpZHRoOmkud2lkdGgqZ319KTtkLmVmZmVj
dCgic2NhbGUiLGMub3B0aW9ucyxjLmR1cmF0aW9uLGMuY2FsbGJhY2spO2QuZGVxdWV1ZSgpfSl9
O2EuZWZmZWN0cy5zY2FsZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigp
e3ZhciBkPWEodGhpcyksZT1hLmV4dGVuZCh0cnVlLHt9LGMub3B0aW9ucyksaD1hLmVmZmVjdHMu
c2V0TW9kZShkLAorYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxnPXBhcnNlSW50KGMub3B0aW9u
cy5wZXJjZW50LDEwKXx8KHBhcnNlSW50KGMub3B0aW9ucy5wZXJjZW50LDEwKT09MD8wOmg9PSJo
aWRlIj8wOjEwMCksaT1jLm9wdGlvbnMuZGlyZWN0aW9ufHwiYm90aCIsYj1jLm9wdGlvbnMub3Jp
Z2luO2lmKGghPSJlZmZlY3QiKXtlLm9yaWdpbj1ifHxbIm1pZGRsZSIsImNlbnRlciJdO2UucmVz
dG9yZT10cnVlfWI9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgoKX07ZC5mcm9tPWMu
b3B0aW9ucy5mcm9tfHwoaD09InNob3ciP3toZWlnaHQ6MCx3aWR0aDowfTpiKTtnPXt5OmkhPSJo
b3Jpem9udGFsIj9nLzEwMDoxLHg6aSE9InZlcnRpY2FsIj9nLzEwMDoxfTtkLnRvPXtoZWlnaHQ6
Yi5oZWlnaHQqZy55LHdpZHRoOmIud2lkdGgqZy54fTtpZihjLm9wdGlvbnMuZmFkZSl7aWYoaD09
InNob3ciKXtkLmZyb20ub3BhY2l0eT0wO2QudG8ub3BhY2l0eT0xfWlmKGg9PSJoaWRlIil7ZC5m
cm9tLm9wYWNpdHk9CisxO2QudG8ub3BhY2l0eT0wfX1lLmZyb209ZC5mcm9tO2UudG89ZC50bztl
Lm1vZGU9aDtkLmVmZmVjdCgic2l6ZSIsZSxjLmR1cmF0aW9uLGMuY2FsbGJhY2spO2QuZGVxdWV1
ZSgpfSl9O2EuZWZmZWN0cy5zaXplPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0
aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwi
cmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGg9WyJwb3NpdGlv
biIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGc9
WyJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Il0saT1bImZvbnRTaXplIl0sYj1bImJvcmRlclRv
cFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJd
LGY9WyJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwicGFkZGluZ0xlZnQiLCJw
YWRkaW5nUmlnaHQiXSwKK2o9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImVm
ZmVjdCIpLGw9Yy5vcHRpb25zLnJlc3RvcmV8fGZhbHNlLG89Yy5vcHRpb25zLnNjYWxlfHwiYm90
aCIsbj1jLm9wdGlvbnMub3JpZ2luLGs9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgo
KX07ZC5mcm9tPWMub3B0aW9ucy5mcm9tfHxrO2QudG89Yy5vcHRpb25zLnRvfHxrO2lmKG4pe249
YS5lZmZlY3RzLmdldEJhc2VsaW5lKG4sayk7ZC5mcm9tLnRvcD0oay5oZWlnaHQtZC5mcm9tLmhl
aWdodCkqbi55O2QuZnJvbS5sZWZ0PShrLndpZHRoLWQuZnJvbS53aWR0aCkqbi54O2QudG8udG9w
PShrLmhlaWdodC1kLnRvLmhlaWdodCkqbi55O2QudG8ubGVmdD0oay53aWR0aC1kLnRvLndpZHRo
KSpuLnh9dmFyIG09e2Zyb206e3k6ZC5mcm9tLmhlaWdodC9rLmhlaWdodCx4OmQuZnJvbS53aWR0
aC9rLndpZHRofSx0bzp7eTpkLnRvLmhlaWdodC9rLmhlaWdodCx4OmQudG8ud2lkdGgvay53aWR0
aH19OworaWYobz09ImJveCJ8fG89PSJib3RoIil7aWYobS5mcm9tLnkhPW0udG8ueSl7ZT1lLmNv
bmNhdChiKTtkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxiLG0uZnJvbS55LGQuZnJv
bSk7ZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGIsbS50by55LGQudG8pfWlmKG0uZnJv
bS54IT1tLnRvLngpe2U9ZS5jb25jYXQoZik7ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9u
KGQsZixtLmZyb20ueCxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxmLG0u
dG8ueCxkLnRvKX19aWYobz09ImNvbnRlbnQifHxvPT0iYm90aCIpaWYobS5mcm9tLnkhPW0udG8u
eSl7ZT1lLmNvbmNhdChpKTtkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxpLG0uZnJv
bS55LGQuZnJvbSk7ZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGksbS50by55LGQudG8p
fWEuZWZmZWN0cy5zYXZlKGQsbD9lOmgpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFwcGVy
KGQpOworZC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIikuY3NzKGQuZnJvbSk7aWYobz09ImNvbnRl
bnQifHxvPT0iYm90aCIpe2I9Yi5jb25jYXQoWyJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iXSku
Y29uY2F0KGkpO2Y9Zi5jb25jYXQoWyJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiXSk7Zz1lLmNv
bmNhdChiKS5jb25jYXQoZik7ZC5maW5kKCIqW3dpZHRoXSIpLmVhY2goZnVuY3Rpb24oKXtjaGls
ZD1hKHRoaXMpO2wmJmEuZWZmZWN0cy5zYXZlKGNoaWxkLGcpO3ZhciBwPXtoZWlnaHQ6Y2hpbGQu
aGVpZ2h0KCksd2lkdGg6Y2hpbGQud2lkdGgoKX07Y2hpbGQuZnJvbT17aGVpZ2h0OnAuaGVpZ2h0
Km0uZnJvbS55LHdpZHRoOnAud2lkdGgqbS5mcm9tLnh9O2NoaWxkLnRvPXtoZWlnaHQ6cC5oZWln
aHQqbS50by55LHdpZHRoOnAud2lkdGgqbS50by54fTtpZihtLmZyb20ueSE9bS50by55KXtjaGls
ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGNoaWxkLGIsbS5mcm9tLnksY2hpbGQuZnJv
bSk7CitjaGlsZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxiLG0udG8ueSxjaGls
ZC50byl9aWYobS5mcm9tLnghPW0udG8ueCl7Y2hpbGQuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNp
dGlvbihjaGlsZCxmLG0uZnJvbS54LGNoaWxkLmZyb20pO2NoaWxkLnRvPWEuZWZmZWN0cy5zZXRU
cmFuc2l0aW9uKGNoaWxkLGYsbS50by54LGNoaWxkLnRvKX1jaGlsZC5jc3MoY2hpbGQuZnJvbSk7
Y2hpbGQuYW5pbWF0ZShjaGlsZC50byxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rp
b24oKXtsJiZhLmVmZmVjdHMucmVzdG9yZShjaGlsZCxnKX0pfSl9ZC5hbmltYXRlKGQudG8se3F1
ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29t
cGxldGU6ZnVuY3Rpb24oKXtkLnRvLm9wYWNpdHk9PT0wJiZkLmNzcygib3BhY2l0eSIsZC5mcm9t
Lm9wYWNpdHkpO2o9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCwKK2w/ZTpo
KTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24o
YSl7YS5lZmZlY3RzLnNoYWtlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwicmln
aHQiXTthLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiZWZmZWN0Iik7dmFyIGg9
Yy5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiLGc9Yy5vcHRpb25zLmRpc3RhbmNlfHwyMCxpPWMu
b3B0aW9ucy50aW1lc3x8MyxiPWMuZHVyYXRpb258fGMub3B0aW9ucy5kdXJhdGlvbnx8MTQwO2Eu
ZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCk7dmFy
IGY9aD09InVwInx8aD09ImRvd24iPyJ0b3AiOiJsZWZ0IixqPWg9PSJ1cCJ8fGg9PSJsZWZ0Ij8i
cG9zIjoibmVnIjtoPXt9O3ZhciBsPXt9LG89e307aFtmXT0oaj09InBvcyI/Ii09IjoiKz0iKStn
O2xbZl09KGo9PSJwb3MiPyIrPSI6Ii09IikrZyoyO29bZl09Cisoaj09InBvcyI/Ii09IjoiKz0i
KStnKjI7ZC5hbmltYXRlKGgsYixjLm9wdGlvbnMuZWFzaW5nKTtmb3IoZz0xO2c8aTtnKyspZC5h
bmltYXRlKGwsYixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG8sYixjLm9wdGlvbnMuZWFzaW5n
KTtkLmFuaW1hdGUobCxiLGMub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoaCxiLzIsYy5vcHRpb25z
LmVhc2luZyxmdW5jdGlvbigpe2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92
ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9
KTtkLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtkLmRlcXVldWUoKX0pO2QuZGVxdWV1ZSgpfSl9fSko
alF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMuc2xpZGU9ZnVuY3Rpb24oYyl7cmV0dXJu
IHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIs
ImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMu
bW9kZXx8InNob3ciKSxnPWMub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjthLmVmZmVjdHMuc2F2
ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpLmNzcyh7b3ZlcmZsb3c6
ImhpZGRlbiJ9KTt2YXIgaT1nPT0idXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVw
Inx8Zz09ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBiPWMub3B0aW9ucy5kaXN0YW5jZXx8KGk9PSJ0
b3AiP2Qub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSk6ZC5vdXRlcldpZHRoKHttYXJnaW46dHJ1
ZX0pKTtpZihoPT0ic2hvdyIpZC5jc3MoaSxnPT0icG9zIj9pc05hTihiKT8iLSIrYjotYjpiKTsK
K3ZhciBmPXt9O2ZbaV09KGg9PSJzaG93Ij9nPT0icG9zIj8iKz0iOiItPSI6Zz09InBvcyI/Ii09
IjoiKz0iKStiO2QuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVh
c2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aD09ImhpZGUiJiZkLmhp
ZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGQpO2Mu
Y2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2QuZGVxdWV1ZSgpfX0p
fSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMudHJhbnNmZXI9ZnVuY3Rpb24o
Yyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YShjLm9wdGlv
bnMudG8pLGg9ZS5vZmZzZXQoKTtlPXt0b3A6aC50b3AsbGVmdDpoLmxlZnQsaGVpZ2h0OmUuaW5u
ZXJIZWlnaHQoKSx3aWR0aDplLmlubmVyV2lkdGgoKX07aD1kLm9mZnNldCgpO3ZhciBnPWEoJzxk
aXYgY2xhc3M9InVpLWVmZmVjdHMtdHJhbnNmZXIiPjwvZGl2PicpLmFwcGVuZFRvKGRvY3VtZW50
LmJvZHkpLmFkZENsYXNzKGMub3B0aW9ucy5jbGFzc05hbWUpLmNzcyh7dG9wOmgudG9wLGxlZnQ6
aC5sZWZ0LGhlaWdodDpkLmlubmVySGVpZ2h0KCksd2lkdGg6ZC5pbm5lcldpZHRoKCkscG9zaXRp
b246ImFic29sdXRlIn0pLmFuaW1hdGUoZSxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVu
Y3Rpb24oKXtnLnJlbW92ZSgpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1
bWVudHMpOworZC5kZXF1ZXVlKCl9KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRn
ZXQoInVpLmFjY29yZGlvbiIse29wdGlvbnM6e2FjdGl2ZTowLGFuaW1hdGVkOiJzbGlkZSIsYXV0
b0hlaWdodDp0cnVlLGNsZWFyU3R5bGU6ZmFsc2UsY29sbGFwc2libGU6ZmFsc2UsZXZlbnQ6ImNs
aWNrIixmaWxsU3BhY2U6ZmFsc2UsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChs
aSk6ZXZlbiIsaWNvbnM6e2hlYWRlcjoidWktaWNvbi10cmlhbmdsZS0xLWUiLGhlYWRlclNlbGVj
dGVkOiJ1aS1pY29uLXRyaWFuZ2xlLTEtcyJ9LG5hdmlnYXRpb246ZmFsc2UsbmF2aWdhdGlvbkZp
bHRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhyZWYudG9Mb3dlckNhc2UoKT09PWxvY2F0aW9u
LmhyZWYudG9Mb3dlckNhc2UoKX19LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9Yy5v
cHRpb25zO2MucnVubmluZz0wO2MuZWxlbWVudC5hZGRDbGFzcygidWktYWNjb3JkaW9uIHVpLXdp
ZGdldCB1aS1oZWxwZXItcmVzZXQiKS5jaGlsZHJlbigibGkiKS5hZGRDbGFzcygidWktYWNjb3Jk
aW9uLWxpLWZpeCIpO2MuaGVhZGVycz0KK2MuZWxlbWVudC5maW5kKGQuaGVhZGVyKS5hZGRDbGFz
cygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1oZWxwZXItcmVzZXQgdWktc3RhdGUtZGVmYXVsdCB1
aS1jb3JuZXItYWxsIikuYmluZCgibW91c2VlbnRlci5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7ZC5k
aXNhYmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmJpbmQoIm1vdXNl
bGVhdmUuYWNjb3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLWhvdmVyIil9KS5iaW5kKCJmb2N1cy5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7
ZC5kaXNhYmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJpbmQoImJs
dXIuYWNjb3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xhc3Mo
InVpLXN0YXRlLWZvY3VzIil9KTtjLmhlYWRlcnMubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRp
b24tY29udGVudCB1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJv
dHRvbSIpOworaWYoZC5uYXZpZ2F0aW9uKXt2YXIgZT1jLmVsZW1lbnQuZmluZCgiYSIpLmZpbHRl
cihkLm5hdmlnYXRpb25GaWx0ZXIpLmVxKDApO2lmKGUubGVuZ3RoKXt2YXIgaD1lLmNsb3Nlc3Qo
Ii51aS1hY2NvcmRpb24taGVhZGVyIik7Yy5hY3RpdmU9aC5sZW5ndGg/aDplLmNsb3Nlc3QoIi51
aS1hY2NvcmRpb24tY29udGVudCIpLnByZXYoKX19Yy5hY3RpdmU9Yy5fZmluZEFjdGl2ZShjLmFj
dGl2ZXx8ZC5hY3RpdmUpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLXN0YXRlLWFjdGl2
ZSIpLnRvZ2dsZUNsYXNzKCJ1aS1jb3JuZXItYWxsIikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci10
b3AiKTtjLmFjdGl2ZS5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2
ZSIpO2MuX2NyZWF0ZUljb25zKCk7Yy5yZXNpemUoKTtjLmVsZW1lbnQuYXR0cigicm9sZSIsInRh
Ymxpc3QiKTtjLmhlYWRlcnMuYXR0cigicm9sZSIsInRhYiIpLmJpbmQoImtleWRvd24uYWNjb3Jk
aW9uIiwKK2Z1bmN0aW9uKGcpe3JldHVybiBjLl9rZXlkb3duKGcpfSkubmV4dCgpLmF0dHIoInJv
bGUiLCJ0YWJwYW5lbCIpO2MuaGVhZGVycy5ub3QoYy5hY3RpdmV8fCIiKS5hdHRyKHsiYXJpYS1l
eHBhbmRlZCI6ImZhbHNlIiwiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLm5l
eHQoKS5oaWRlKCk7Yy5hY3RpdmUubGVuZ3RoP2MuYWN0aXZlLmF0dHIoeyJhcmlhLWV4cGFuZGVk
IjoidHJ1ZSIsImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJJbmRleDowfSk6Yy5oZWFkZXJzLmVx
KDApLmF0dHIoInRhYkluZGV4IiwwKTthLmJyb3dzZXIuc2FmYXJpfHxjLmhlYWRlcnMuZmluZCgi
YSIpLmF0dHIoInRhYkluZGV4IiwtMSk7ZC5ldmVudCYmYy5oZWFkZXJzLmJpbmQoZC5ldmVudC5z
cGxpdCgiICIpLmpvaW4oIi5hY2NvcmRpb24gIikrIi5hY2NvcmRpb24iLGZ1bmN0aW9uKGcpe2Mu
X2NsaWNrSGFuZGxlci5jYWxsKGMsZyx0aGlzKTtnLnByZXZlbnREZWZhdWx0KCl9KX0sX2NyZWF0
ZUljb25zOmZ1bmN0aW9uKCl7dmFyIGM9Cit0aGlzLm9wdGlvbnM7aWYoYy5pY29ucyl7YSgiPHNw
YW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1aS1pY29uICIrYy5pY29ucy5oZWFkZXIpLnByZXBlbmRU
byh0aGlzLmhlYWRlcnMpO3RoaXMuYWN0aXZlLmNoaWxkcmVuKCIudWktaWNvbiIpLnRvZ2dsZUNs
YXNzKGMuaWNvbnMuaGVhZGVyKS50b2dnbGVDbGFzcyhjLmljb25zLmhlYWRlclNlbGVjdGVkKTt0
aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfX0sX2Rlc3Ryb3lJY29u
czpmdW5jdGlvbigpe3RoaXMuaGVhZGVycy5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmUoKTt0
aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfSxkZXN0cm95OmZ1
bmN0aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
YWNjb3JkaW9uIHVpLXdpZGdldCB1aS1oZWxwZXItcmVzZXQiKS5yZW1vdmVBdHRyKCJyb2xlIik7
dGhpcy5oZWFkZXJzLnVuYmluZCgiLmFjY29yZGlvbiIpLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRp
b24taGVhZGVyIHVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1oZWxwZXItcmVzZXQgdWktc3RhdGUt
ZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCB1
aS1jb3JuZXItdG9wIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZXhwYW5k
ZWQiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKTsK
K3RoaXMuaGVhZGVycy5maW5kKCJhIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKTt0aGlzLl9kZXN0
cm95SWNvbnMoKTt2YXIgZD10aGlzLmhlYWRlcnMubmV4dCgpLmNzcygiZGlzcGxheSIsIiIpLnJl
bW92ZUF0dHIoInJvbGUiKS5yZW1vdmVDbGFzcygidWktaGVscGVyLXJlc2V0IHVpLXdpZGdldC1j
b250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktYWNjb3JkaW9uLWNvbnRlbnQgdWktYWNjb3JkaW9u
LWNvbnRlbnQtYWN0aXZlIHVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIp
O2lmKGMuYXV0b0hlaWdodHx8Yy5maWxsSGVpZ2h0KWQuY3NzKCJoZWlnaHQiLCIiKTtyZXR1cm4g
YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlvbjpmdW5jdGlv
bihjLGQpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRz
KTtjPT0iYWN0aXZlIiYmdGhpcy5hY3RpdmF0ZShkKTtpZihjPT0iaWNvbnMiKXt0aGlzLl9kZXN0
cm95SWNvbnMoKTsKK2QmJnRoaXMuX2NyZWF0ZUljb25zKCl9aWYoYz09ImRpc2FibGVkIil0aGlz
LmhlYWRlcnMuYWRkKHRoaXMuaGVhZGVycy5uZXh0KCkpW2Q/ImFkZENsYXNzIjoicmVtb3ZlQ2xh
c3MiXSgidWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LF9rZXlkb3du
OmZ1bmN0aW9uKGMpe2lmKCEodGhpcy5vcHRpb25zLmRpc2FibGVkfHxjLmFsdEtleXx8Yy5jdHJs
S2V5KSl7dmFyIGQ9YS51aS5rZXlDb2RlLGU9dGhpcy5oZWFkZXJzLmxlbmd0aCxoPXRoaXMuaGVh
ZGVycy5pbmRleChjLnRhcmdldCksZz1mYWxzZTtzd2l0Y2goYy5rZXlDb2RlKXtjYXNlIGQuUklH
SFQ6Y2FzZSBkLkRPV046Zz10aGlzLmhlYWRlcnNbKGgrMSklZV07YnJlYWs7Y2FzZSBkLkxFRlQ6
Y2FzZSBkLlVQOmc9dGhpcy5oZWFkZXJzWyhoLTErZSklZV07YnJlYWs7Y2FzZSBkLlNQQUNFOmNh
c2UgZC5FTlRFUjp0aGlzLl9jbGlja0hhbmRsZXIoe3RhcmdldDpjLnRhcmdldH0sYy50YXJnZXQp
OworYy5wcmV2ZW50RGVmYXVsdCgpfWlmKGcpe2EoYy50YXJnZXQpLmF0dHIoInRhYkluZGV4Iiwt
MSk7YShnKS5hdHRyKCJ0YWJJbmRleCIsMCk7Zy5mb2N1cygpO3JldHVybiBmYWxzZX1yZXR1cm4g
dHJ1ZX19LHJlc2l6ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucyxkO2lmKGMuZmlsbFNw
YWNlKXtpZihhLmJyb3dzZXIubXNpZSl7dmFyIGU9dGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygi
b3ZlcmZsb3ciKTt0aGlzLmVsZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIp
fWQ9dGhpcy5lbGVtZW50LnBhcmVudCgpLmhlaWdodCgpO2EuYnJvd3Nlci5tc2llJiZ0aGlzLmVs
ZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIsZSk7dGhpcy5oZWFkZXJzLmVhY2goZnVuY3Rp
b24oKXtkLT1hKHRoaXMpLm91dGVySGVpZ2h0KHRydWUpfSk7dGhpcy5oZWFkZXJzLm5leHQoKS5l
YWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5oZWlnaHQoTWF0aC5tYXgoMCxkLWEodGhpcykuaW5uZXJI
ZWlnaHQoKSsKK2EodGhpcykuaGVpZ2h0KCkpKX0pLmNzcygib3ZlcmZsb3ciLCJhdXRvIil9ZWxz
ZSBpZihjLmF1dG9IZWlnaHQpe2Q9MDt0aGlzLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24o
KXtkPU1hdGgubWF4KGQsYSh0aGlzKS5oZWlnaHQoIiIpLmhlaWdodCgpKX0pLmhlaWdodChkKX1y
ZXR1cm4gdGhpc30sYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dGhpcy5vcHRpb25zLmFjdGl2ZT1jO2M9
dGhpcy5fZmluZEFjdGl2ZShjKVswXTt0aGlzLl9jbGlja0hhbmRsZXIoe3RhcmdldDpjfSxjKTty
ZXR1cm4gdGhpc30sX2ZpbmRBY3RpdmU6ZnVuY3Rpb24oYyl7cmV0dXJuIGM/dHlwZW9mIGM9PT0i
bnVtYmVyIj90aGlzLmhlYWRlcnMuZmlsdGVyKCI6ZXEoIitjKyIpIik6dGhpcy5oZWFkZXJzLm5v
dCh0aGlzLmhlYWRlcnMubm90KGMpKTpjPT09ZmFsc2U/YShbXSk6dGhpcy5oZWFkZXJzLmZpbHRl
cigiOmVxKDApIil9LF9jbGlja0hhbmRsZXI6ZnVuY3Rpb24oYyxkKXt2YXIgZT10aGlzLm9wdGlv
bnM7CitpZighZS5kaXNhYmxlZClpZihjLnRhcmdldCl7Yz1hKGMuY3VycmVudFRhcmdldHx8ZCk7
ZD1jWzBdPT09dGhpcy5hY3RpdmVbMF07ZS5hY3RpdmU9ZS5jb2xsYXBzaWJsZSYmZD9mYWxzZTp0
aGlzLmhlYWRlcnMuaW5kZXgoYyk7aWYoISh0aGlzLnJ1bm5pbmd8fCFlLmNvbGxhcHNpYmxlJiZk
KSl7dmFyIGg9dGhpcy5hY3RpdmU7Zj1jLm5leHQoKTtpPXRoaXMuYWN0aXZlLm5leHQoKTtiPXtv
cHRpb25zOmUsbmV3SGVhZGVyOmQmJmUuY29sbGFwc2libGU/YShbXSk6YyxvbGRIZWFkZXI6dGhp
cy5hY3RpdmUsbmV3Q29udGVudDpkJiZlLmNvbGxhcHNpYmxlP2EoW10pOmYsb2xkQ29udGVudDpp
fTt2YXIgZz10aGlzLmhlYWRlcnMuaW5kZXgodGhpcy5hY3RpdmVbMF0pPnRoaXMuaGVhZGVycy5p
bmRleChjWzBdKTt0aGlzLmFjdGl2ZT1kP2EoW10pOmM7dGhpcy5fdG9nZ2xlKGYsaSxiLGQsZyk7
aC5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygi
dWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVt
b3ZlQ2xhc3MoZS5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZS5pY29ucy5oZWFkZXIp
OworaWYoIWQpe2MucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmNoaWxkcmVuKCIudWkt
aWNvbiIpLnJlbW92ZUNsYXNzKGUuaWNvbnMuaGVhZGVyKS5hZGRDbGFzcyhlLmljb25zLmhlYWRl
clNlbGVjdGVkKTtjLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZl
Iil9fX1lbHNlIGlmKGUuY29sbGFwc2libGUpe3RoaXMuYWN0aXZlLnJlbW92ZUNsYXNzKCJ1aS1z
dGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVp
LWNvcm5lci1hbGwiKS5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhlLmljb25zLmhl
YWRlclNlbGVjdGVkKS5hZGRDbGFzcyhlLmljb25zLmhlYWRlcik7dGhpcy5hY3RpdmUubmV4dCgp
LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTt2YXIgaT10aGlzLmFjdGl2
ZS5uZXh0KCksCitiPXtvcHRpb25zOmUsbmV3SGVhZGVyOmEoW10pLG9sZEhlYWRlcjplLmFjdGl2
ZSxuZXdDb250ZW50OmEoW10pLG9sZENvbnRlbnQ6aX0sZj10aGlzLmFjdGl2ZT1hKFtdKTt0aGlz
Ll90b2dnbGUoZixpLGIpfX0sX3RvZ2dsZTpmdW5jdGlvbihjLGQsZSxoLGcpe3ZhciBpPXRoaXMs
Yj1pLm9wdGlvbnM7aS50b1Nob3c9YztpLnRvSGlkZT1kO2kuZGF0YT1lO3ZhciBmPWZ1bmN0aW9u
KCl7aWYoaSlyZXR1cm4gaS5fY29tcGxldGVkLmFwcGx5KGksYXJndW1lbnRzKX07aS5fdHJpZ2dl
cigiY2hhbmdlc3RhcnQiLG51bGwsaS5kYXRhKTtpLnJ1bm5pbmc9ZC5zaXplKCk9PT0wP2Muc2l6
ZSgpOmQuc2l6ZSgpO2lmKGIuYW5pbWF0ZWQpe2U9e307ZT1iLmNvbGxhcHNpYmxlJiZoP3t0b1No
b3c6YShbXSksdG9IaWRlOmQsY29tcGxldGU6Zixkb3duOmcsYXV0b0hlaWdodDpiLmF1dG9IZWln
aHR8fGIuZmlsbFNwYWNlfTp7dG9TaG93OmMsdG9IaWRlOmQsY29tcGxldGU6Zixkb3duOmcsYXV0
b0hlaWdodDpiLmF1dG9IZWlnaHR8fAorYi5maWxsU3BhY2V9O2lmKCFiLnByb3hpZWQpYi5wcm94
aWVkPWIuYW5pbWF0ZWQ7aWYoIWIucHJveGllZER1cmF0aW9uKWIucHJveGllZER1cmF0aW9uPWIu
ZHVyYXRpb247Yi5hbmltYXRlZD1hLmlzRnVuY3Rpb24oYi5wcm94aWVkKT9iLnByb3hpZWQoZSk6
Yi5wcm94aWVkO2IuZHVyYXRpb249YS5pc0Z1bmN0aW9uKGIucHJveGllZER1cmF0aW9uKT9iLnBy
b3hpZWREdXJhdGlvbihlKTpiLnByb3hpZWREdXJhdGlvbjtoPWEudWkuYWNjb3JkaW9uLmFuaW1h
dGlvbnM7dmFyIGo9Yi5kdXJhdGlvbixsPWIuYW5pbWF0ZWQ7aWYobCYmIWhbbF0mJiFhLmVhc2lu
Z1tsXSlsPSJzbGlkZSI7aFtsXXx8KGhbbF09ZnVuY3Rpb24obyl7dGhpcy5zbGlkZShvLHtlYXNp
bmc6bCxkdXJhdGlvbjpqfHw3MDB9KX0pO2hbbF0oZSl9ZWxzZXtpZihiLmNvbGxhcHNpYmxlJiZo
KWMudG9nZ2xlKCk7ZWxzZXtkLmhpZGUoKTtjLnNob3coKX1mKHRydWUpfWQucHJldigpLmF0dHIo
eyJhcmlhLWV4cGFuZGVkIjoiZmFsc2UiLAorImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsdGFiSW5k
ZXg6LTF9KS5ibHVyKCk7Yy5wcmV2KCkuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJ0cnVlIiwiYXJp
YS1zZWxlY3RlZCI6InRydWUiLHRhYkluZGV4OjB9KS5mb2N1cygpfSxfY29tcGxldGVkOmZ1bmN0
aW9uKGMpe3RoaXMucnVubmluZz1jPzA6LS10aGlzLnJ1bm5pbmc7aWYoIXRoaXMucnVubmluZyl7
dGhpcy5vcHRpb25zLmNsZWFyU3R5bGUmJnRoaXMudG9TaG93LmFkZCh0aGlzLnRvSGlkZSkuY3Nz
KHtoZWlnaHQ6IiIsb3ZlcmZsb3c6IiJ9KTt0aGlzLnRvSGlkZS5yZW1vdmVDbGFzcygidWktYWNj
b3JkaW9uLWNvbnRlbnQtYWN0aXZlIik7aWYodGhpcy50b0hpZGUubGVuZ3RoKXRoaXMudG9IaWRl
LnBhcmVudCgpWzBdLmNsYXNzTmFtZT10aGlzLnRvSGlkZS5wYXJlbnQoKVswXS5jbGFzc05hbWU7
dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixudWxsLHRoaXMuZGF0YSl9fX0pO2EuZXh0ZW5kKGEudWku
YWNjb3JkaW9uLHt2ZXJzaW9uOiIxLjguMTUiLAorYW5pbWF0aW9uczp7c2xpZGU6ZnVuY3Rpb24o
YyxkKXtjPWEuZXh0ZW5kKHtlYXNpbmc6InN3aW5nIixkdXJhdGlvbjozMDB9LGMsZCk7aWYoYy50
b0hpZGUuc2l6ZSgpKWlmKGMudG9TaG93LnNpemUoKSl7dmFyIGU9Yy50b1Nob3cuY3NzKCJvdmVy
ZmxvdyIpLGg9MCxnPXt9LGk9e30sYjtkPWMudG9TaG93O2I9ZFswXS5zdHlsZS53aWR0aDtkLndp
ZHRoKHBhcnNlSW50KGQucGFyZW50KCkud2lkdGgoKSwxMCktcGFyc2VJbnQoZC5jc3MoInBhZGRp
bmdMZWZ0IiksMTApLXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCktKHBhcnNlSW50
KGQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChkLmNzcygiYm9yZGVy
UmlnaHRXaWR0aCIpLDEwKXx8MCkpO2EuZWFjaChbImhlaWdodCIsInBhZGRpbmdUb3AiLCJwYWRk
aW5nQm90dG9tIl0sZnVuY3Rpb24oZixqKXtpW2pdPSJoaWRlIjtmPSgiIithLmNzcyhjLnRvU2hv
d1swXSxqKSkubWF0Y2goL14oW1xkKy0uXSspKC4qKSQvKTsKK2dbal09e3ZhbHVlOmZbMV0sdW5p
dDpmWzJdfHwicHgifX0pO2MudG9TaG93LmNzcyh7aGVpZ2h0OjAsb3ZlcmZsb3c6ImhpZGRlbiJ9
KS5zaG93KCk7Yy50b0hpZGUuZmlsdGVyKCI6aGlkZGVuIikuZWFjaChjLmNvbXBsZXRlKS5lbmQo
KS5maWx0ZXIoIjp2aXNpYmxlIikuYW5pbWF0ZShpLHtzdGVwOmZ1bmN0aW9uKGYsail7aWYoai5w
cm9wPT0iaGVpZ2h0IiloPWouZW5kLWouc3RhcnQ9PT0wPzA6KGoubm93LWouc3RhcnQpLyhqLmVu
ZC1qLnN0YXJ0KTtjLnRvU2hvd1swXS5zdHlsZVtqLnByb3BdPWgqZ1tqLnByb3BdLnZhbHVlK2db
ai5wcm9wXS51bml0fSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLmVhc2luZyxjb21wbGV0
ZTpmdW5jdGlvbigpe2MuYXV0b0hlaWdodHx8Yy50b1Nob3cuY3NzKCJoZWlnaHQiLCIiKTtjLnRv
U2hvdy5jc3Moe3dpZHRoOmIsb3ZlcmZsb3c6ZX0pO2MuY29tcGxldGUoKX19KX1lbHNlIGMudG9I
aWRlLmFuaW1hdGUoe2hlaWdodDoiaGlkZSIsCitwYWRkaW5nVG9wOiJoaWRlIixwYWRkaW5nQm90
dG9tOiJoaWRlIn0sYyk7ZWxzZSBjLnRvU2hvdy5hbmltYXRlKHtoZWlnaHQ6InNob3ciLHBhZGRp
bmdUb3A6InNob3ciLHBhZGRpbmdCb3R0b206InNob3cifSxjKX0sYm91bmNlc2xpZGU6ZnVuY3Rp
b24oYyl7dGhpcy5zbGlkZShjLHtlYXNpbmc6Yy5kb3duPyJlYXNlT3V0Qm91bmNlIjoic3dpbmci
LGR1cmF0aW9uOmMuZG93bj8xRTM6MjAwfSl9fX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXt2
YXIgYz0wO2Eud2lkZ2V0KCJ1aS5hdXRvY29tcGxldGUiLHtvcHRpb25zOnthcHBlbmRUbzoiYm9k
eSIsYXV0b0ZvY3VzOmZhbHNlLGRlbGF5OjMwMCxtaW5MZW5ndGg6MSxwb3NpdGlvbjp7bXk6Imxl
ZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHNvdXJjZTpudWxsfSxw
ZW5kaW5nOjAsX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMsZT10aGlzLmVsZW1lbnRbMF0u
b3duZXJEb2N1bWVudCxoO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWlu
cHV0IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIikuYXR0cih7cm9sZToidGV4dGJveCIsImFy
aWEtYXV0b2NvbXBsZXRlIjoibGlzdCIsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pLmJpbmQoImtl
eWRvd24uYXV0b2NvbXBsZXRlIixmdW5jdGlvbihnKXtpZighKGQub3B0aW9ucy5kaXNhYmxlZHx8
ZC5lbGVtZW50LnByb3BBdHRyKCJyZWFkT25seSIpKSl7aD0KK2ZhbHNlO3ZhciBpPWEudWkua2V5
Q29kZTtzd2l0Y2goZy5rZXlDb2RlKXtjYXNlIGkuUEFHRV9VUDpkLl9tb3ZlKCJwcmV2aW91c1Bh
Z2UiLGcpO2JyZWFrO2Nhc2UgaS5QQUdFX0RPV046ZC5fbW92ZSgibmV4dFBhZ2UiLGcpO2JyZWFr
O2Nhc2UgaS5VUDpkLl9tb3ZlKCJwcmV2aW91cyIsZyk7Zy5wcmV2ZW50RGVmYXVsdCgpO2JyZWFr
O2Nhc2UgaS5ET1dOOmQuX21vdmUoIm5leHQiLGcpO2cucHJldmVudERlZmF1bHQoKTticmVhaztj
YXNlIGkuRU5URVI6Y2FzZSBpLk5VTVBBRF9FTlRFUjppZihkLm1lbnUuYWN0aXZlKXtoPXRydWU7
Zy5wcmV2ZW50RGVmYXVsdCgpfWNhc2UgaS5UQUI6aWYoIWQubWVudS5hY3RpdmUpcmV0dXJuO2Qu
bWVudS5zZWxlY3QoZyk7YnJlYWs7Y2FzZSBpLkVTQ0FQRTpkLmVsZW1lbnQudmFsKGQudGVybSk7
ZC5jbG9zZShnKTticmVhaztkZWZhdWx0OmNsZWFyVGltZW91dChkLnNlYXJjaGluZyk7ZC5zZWFy
Y2hpbmc9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGQudGVybSE9CitkLmVsZW1lbnQudmFsKCkp
e2Quc2VsZWN0ZWRJdGVtPW51bGw7ZC5zZWFyY2gobnVsbCxnKX19LGQub3B0aW9ucy5kZWxheSk7
YnJlYWt9fX0pLmJpbmQoImtleXByZXNzLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oZyl7aWYoaCl7
aD1mYWxzZTtnLnByZXZlbnREZWZhdWx0KCl9fSkuYmluZCgiZm9jdXMuYXV0b2NvbXBsZXRlIixm
dW5jdGlvbigpe2lmKCFkLm9wdGlvbnMuZGlzYWJsZWQpe2Quc2VsZWN0ZWRJdGVtPW51bGw7ZC5w
cmV2aW91cz1kLmVsZW1lbnQudmFsKCl9fSkuYmluZCgiYmx1ci5hdXRvY29tcGxldGUiLGZ1bmN0
aW9uKGcpe2lmKCFkLm9wdGlvbnMuZGlzYWJsZWQpe2NsZWFyVGltZW91dChkLnNlYXJjaGluZyk7
ZC5jbG9zaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmNsb3NlKGcpO2QuX2NoYW5nZShnKX0s
MTUwKX19KTt0aGlzLl9pbml0U291cmNlKCk7dGhpcy5yZXNwb25zZT1mdW5jdGlvbigpe3JldHVy
biBkLl9yZXNwb25zZS5hcHBseShkLGFyZ3VtZW50cyl9OwordGhpcy5tZW51PWEoIjx1bD48L3Vs
PiIpLmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUiKS5hcHBlbmRUbyhhKHRoaXMub3B0aW9ucy5h
cHBlbmRUb3x8ImJvZHkiLGUpWzBdKS5tb3VzZWRvd24oZnVuY3Rpb24oZyl7dmFyIGk9ZC5tZW51
LmVsZW1lbnRbMF07YShnLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aHx8
c2V0VGltZW91dChmdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9uZSgibW91c2Vkb3duIixmdW5jdGlv
bihiKXtiLnRhcmdldCE9PWQuZWxlbWVudFswXSYmYi50YXJnZXQhPT1pJiYhYS51aS5jb250YWlu
cyhpLGIudGFyZ2V0KSYmZC5jbG9zZSgpfSl9LDEpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjbGVh
clRpbWVvdXQoZC5jbG9zaW5nKX0sMTMpfSkubWVudSh7Zm9jdXM6ZnVuY3Rpb24oZyxpKXtpPWku
aXRlbS5kYXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIpO2ZhbHNlIT09ZC5fdHJpZ2dlcigiZm9jdXMi
LGcse2l0ZW06aX0pJiYvXmtleS8udGVzdChnLm9yaWdpbmFsRXZlbnQudHlwZSkmJgorZC5lbGVt
ZW50LnZhbChpLnZhbHVlKX0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZyxpKXt2YXIgYj1pLml0ZW0uZGF0
YSgiaXRlbS5hdXRvY29tcGxldGUiKSxmPWQucHJldmlvdXM7aWYoZC5lbGVtZW50WzBdIT09ZS5h
Y3RpdmVFbGVtZW50KXtkLmVsZW1lbnQuZm9jdXMoKTtkLnByZXZpb3VzPWY7c2V0VGltZW91dChm
dW5jdGlvbigpe2QucHJldmlvdXM9ZjtkLnNlbGVjdGVkSXRlbT1ifSwxKX1mYWxzZSE9PWQuX3Ry
aWdnZXIoInNlbGVjdCIsZyx7aXRlbTpifSkmJmQuZWxlbWVudC52YWwoYi52YWx1ZSk7ZC50ZXJt
PWQuZWxlbWVudC52YWwoKTtkLmNsb3NlKGcpO2Quc2VsZWN0ZWRJdGVtPWJ9LGJsdXI6ZnVuY3Rp
b24oKXtkLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSYmZC5lbGVtZW50LnZhbCgpIT09ZC50
ZXJtJiZkLmVsZW1lbnQudmFsKGQudGVybSl9fSkuekluZGV4KHRoaXMuZWxlbWVudC56SW5kZXgo
KSsxKS5jc3Moe3RvcDowLGxlZnQ6MH0pLmhpZGUoKS5kYXRhKCJtZW51Iik7CithLmZuLmJnaWZy
YW1lJiZ0aGlzLm1lbnUuZWxlbWVudC5iZ2lmcmFtZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhp
cy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtaW5wdXQiKS5yZW1vdmVBdHRy
KCJhdXRvY29tcGxldGUiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1hdXRv
Y29tcGxldGUiKS5yZW1vdmVBdHRyKCJhcmlhLWhhc3BvcHVwIik7dGhpcy5tZW51LmVsZW1lbnQu
cmVtb3ZlKCk7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlv
bjpmdW5jdGlvbihkLGUpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMs
YXJndW1lbnRzKTtkPT09InNvdXJjZSImJnRoaXMuX2luaXRTb3VyY2UoKTtpZihkPT09ImFwcGVu
ZFRvIil0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyhhKGV8fCJib2R5Iix0aGlzLmVsZW1lbnRb
MF0ub3duZXJEb2N1bWVudClbMF0pO2Q9PT0iZGlzYWJsZWQiJiYKK2UmJnRoaXMueGhyJiZ0aGlz
Lnhoci5hYm9ydCgpfSxfaW5pdFNvdXJjZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMsZSxoO2lmKGEu
aXNBcnJheSh0aGlzLm9wdGlvbnMuc291cmNlKSl7ZT10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMu
c291cmNlPWZ1bmN0aW9uKGcsaSl7aShhLnVpLmF1dG9jb21wbGV0ZS5maWx0ZXIoZSxnLnRlcm0p
KX19ZWxzZSBpZih0eXBlb2YgdGhpcy5vcHRpb25zLnNvdXJjZT09PSJzdHJpbmciKXtoPXRoaXMu
b3B0aW9ucy5zb3VyY2U7dGhpcy5zb3VyY2U9ZnVuY3Rpb24oZyxpKXtkLnhociYmZC54aHIuYWJv
cnQoKTtkLnhocj1hLmFqYXgoe3VybDpoLGRhdGE6ZyxkYXRhVHlwZToianNvbiIsYXV0b2NvbXBs
ZXRlUmVxdWVzdDorK2Msc3VjY2VzczpmdW5jdGlvbihiKXt0aGlzLmF1dG9jb21wbGV0ZVJlcXVl
c3Q9PT1jJiZpKGIpfSxlcnJvcjpmdW5jdGlvbigpe3RoaXMuYXV0b2NvbXBsZXRlUmVxdWVzdD09
PWMmJmkoW10pfX0pfX1lbHNlIHRoaXMuc291cmNlPQordGhpcy5vcHRpb25zLnNvdXJjZX0sc2Vh
cmNoOmZ1bmN0aW9uKGQsZSl7ZD1kIT1udWxsP2Q6dGhpcy5lbGVtZW50LnZhbCgpO3RoaXMudGVy
bT10aGlzLmVsZW1lbnQudmFsKCk7aWYoZC5sZW5ndGg8dGhpcy5vcHRpb25zLm1pbkxlbmd0aCly
ZXR1cm4gdGhpcy5jbG9zZShlKTtjbGVhclRpbWVvdXQodGhpcy5jbG9zaW5nKTtpZih0aGlzLl90
cmlnZ2VyKCJzZWFyY2giLGUpIT09ZmFsc2UpcmV0dXJuIHRoaXMuX3NlYXJjaChkKX0sX3NlYXJj
aDpmdW5jdGlvbihkKXt0aGlzLnBlbmRpbmcrKzt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1
dG9jb21wbGV0ZS1sb2FkaW5nIik7dGhpcy5zb3VyY2Uoe3Rlcm06ZH0sdGhpcy5yZXNwb25zZSl9
LF9yZXNwb25zZTpmdW5jdGlvbihkKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZkJiZkLmxl
bmd0aCl7ZD10aGlzLl9ub3JtYWxpemUoZCk7dGhpcy5fc3VnZ2VzdChkKTt0aGlzLl90cmlnZ2Vy
KCJvcGVuIil9ZWxzZSB0aGlzLmNsb3NlKCk7Cit0aGlzLnBlbmRpbmctLTt0aGlzLnBlbmRpbmd8
fHRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciKX0sY2xv
c2U6ZnVuY3Rpb24oZCl7Y2xlYXJUaW1lb3V0KHRoaXMuY2xvc2luZyk7aWYodGhpcy5tZW51LmVs
ZW1lbnQuaXMoIjp2aXNpYmxlIikpe3RoaXMubWVudS5lbGVtZW50LmhpZGUoKTt0aGlzLm1lbnUu
ZGVhY3RpdmF0ZSgpO3RoaXMuX3RyaWdnZXIoImNsb3NlIixkKX19LF9jaGFuZ2U6ZnVuY3Rpb24o
ZCl7dGhpcy5wcmV2aW91cyE9PXRoaXMuZWxlbWVudC52YWwoKSYmdGhpcy5fdHJpZ2dlcigiY2hh
bmdlIixkLHtpdGVtOnRoaXMuc2VsZWN0ZWRJdGVtfSl9LF9ub3JtYWxpemU6ZnVuY3Rpb24oZCl7
aWYoZC5sZW5ndGgmJmRbMF0ubGFiZWwmJmRbMF0udmFsdWUpcmV0dXJuIGQ7cmV0dXJuIGEubWFw
KGQsZnVuY3Rpb24oZSl7aWYodHlwZW9mIGU9PT0ic3RyaW5nIilyZXR1cm57bGFiZWw6ZSx2YWx1
ZTplfTtyZXR1cm4gYS5leHRlbmQoe2xhYmVsOmUubGFiZWx8fAorZS52YWx1ZSx2YWx1ZTplLnZh
bHVlfHxlLmxhYmVsfSxlKX0pfSxfc3VnZ2VzdDpmdW5jdGlvbihkKXt2YXIgZT10aGlzLm1lbnUu
ZWxlbWVudC5lbXB0eSgpLnpJbmRleCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSk7dGhpcy5fcmVu
ZGVyTWVudShlLGQpO3RoaXMubWVudS5kZWFjdGl2YXRlKCk7dGhpcy5tZW51LnJlZnJlc2goKTtl
LnNob3coKTt0aGlzLl9yZXNpemVNZW51KCk7ZS5wb3NpdGlvbihhLmV4dGVuZCh7b2Y6dGhpcy5l
bGVtZW50fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKTt0aGlzLm9wdGlvbnMuYXV0b0ZvY3VzJiZ0
aGlzLm1lbnUubmV4dChuZXcgYS5FdmVudCgibW91c2VvdmVyIikpfSxfcmVzaXplTWVudTpmdW5j
dGlvbigpe3ZhciBkPXRoaXMubWVudS5lbGVtZW50O2Qub3V0ZXJXaWR0aChNYXRoLm1heChkLndp
ZHRoKCIiKS5vdXRlcldpZHRoKCksdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSkpfSxfcmVuZGVy
TWVudTpmdW5jdGlvbihkLGUpe3ZhciBoPXRoaXM7CithLmVhY2goZSxmdW5jdGlvbihnLGkpe2gu
X3JlbmRlckl0ZW0oZCxpKX0pfSxfcmVuZGVySXRlbTpmdW5jdGlvbihkLGUpe3JldHVybiBhKCI8
bGk+PC9saT4iKS5kYXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIsZSkuYXBwZW5kKGEoIjxhPjwvYT4i
KS50ZXh0KGUubGFiZWwpKS5hcHBlbmRUbyhkKX0sX21vdmU6ZnVuY3Rpb24oZCxlKXtpZih0aGlz
Lm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSlpZih0aGlzLm1lbnUuZmlyc3QoKSYmL15wcmV2
aW91cy8udGVzdChkKXx8dGhpcy5tZW51Lmxhc3QoKSYmL15uZXh0Ly50ZXN0KGQpKXt0aGlzLmVs
ZW1lbnQudmFsKHRoaXMudGVybSk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKX1lbHNlIHRoaXMubWVu
dVtkXShlKTtlbHNlIHRoaXMuc2VhcmNoKG51bGwsZSl9LHdpZGdldDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLm1lbnUuZWxlbWVudH19KTthLmV4dGVuZChhLnVpLmF1dG9jb21wbGV0ZSx7ZXNjYXBl
UmVnZXg6ZnVuY3Rpb24oZCl7cmV0dXJuIGQucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNc
c10vZywKKyJcXCQmIil9LGZpbHRlcjpmdW5jdGlvbihkLGUpe3ZhciBoPW5ldyBSZWdFeHAoYS51
aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoZSksImkiKTtyZXR1cm4gYS5ncmVwKGQsZnVuY3Rp
b24oZyl7cmV0dXJuIGgudGVzdChnLmxhYmVsfHxnLnZhbHVlfHxnKX0pfX0pfSkoalF1ZXJ5KTsK
KyhmdW5jdGlvbihhKXthLndpZGdldCgidWkubWVudSIse19jcmVhdGU6ZnVuY3Rpb24oKXt2YXIg
Yz10aGlzO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0
LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLmF0dHIoe3JvbGU6Imxpc3Rib3giLCJhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQiOiJ1aS1hY3RpdmUtbWVudWl0ZW0ifSkuY2xpY2soZnVuY3Rpb24oZCl7aWYo
YShkLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSBhIikubGVuZ3RoKXtkLnByZXZlbnRE
ZWZhdWx0KCk7Yy5zZWxlY3QoZCl9fSk7dGhpcy5yZWZyZXNoKCl9LHJlZnJlc2g6ZnVuY3Rpb24o
KXt2YXIgYz10aGlzO3RoaXMuZWxlbWVudC5jaGlsZHJlbigibGk6bm90KC51aS1tZW51LWl0ZW0p
OmhhcyhhKSIpLmFkZENsYXNzKCJ1aS1tZW51LWl0ZW0iKS5hdHRyKCJyb2xlIiwibWVudWl0ZW0i
KS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCJ1aS1jb3JuZXItYWxsIikuYXR0cigidGFiaW5kZXgi
LAorLTEpLm1vdXNlZW50ZXIoZnVuY3Rpb24oZCl7Yy5hY3RpdmF0ZShkLGEodGhpcykucGFyZW50
KCkpfSkubW91c2VsZWF2ZShmdW5jdGlvbigpe2MuZGVhY3RpdmF0ZSgpfSl9LGFjdGl2YXRlOmZ1
bmN0aW9uKGMsZCl7dGhpcy5kZWFjdGl2YXRlKCk7aWYodGhpcy5oYXNTY3JvbGwoKSl7dmFyIGU9
ZC5vZmZzZXQoKS50b3AtdGhpcy5lbGVtZW50Lm9mZnNldCgpLnRvcCxoPXRoaXMuZWxlbWVudC5z
Y3JvbGxUb3AoKSxnPXRoaXMuZWxlbWVudC5oZWlnaHQoKTtpZihlPDApdGhpcy5lbGVtZW50LnNj
cm9sbFRvcChoK2UpO2Vsc2UgZT49ZyYmdGhpcy5lbGVtZW50LnNjcm9sbFRvcChoK2UtZytkLmhl
aWdodCgpKX10aGlzLmFjdGl2ZT1kLmVxKDApLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIikuYXR0cigiaWQiLCJ1aS1hY3RpdmUtbWVudWl0ZW0iKS5lbmQoKTt0aGlzLl90
cmlnZ2VyKCJmb2N1cyIsYyx7aXRlbTpkfSl9LGRlYWN0aXZhdGU6ZnVuY3Rpb24oKXtpZih0aGlz
LmFjdGl2ZSl7dGhpcy5hY3RpdmUuY2hpbGRyZW4oImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
aG92ZXIiKS5yZW1vdmVBdHRyKCJpZCIpOwordGhpcy5fdHJpZ2dlcigiYmx1ciIpO3RoaXMuYWN0
aXZlPW51bGx9fSxuZXh0OmZ1bmN0aW9uKGMpe3RoaXMubW92ZSgibmV4dCIsIi51aS1tZW51LWl0
ZW06Zmlyc3QiLGMpfSxwcmV2aW91czpmdW5jdGlvbihjKXt0aGlzLm1vdmUoInByZXYiLCIudWkt
bWVudS1pdGVtOmxhc3QiLGMpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZSYm
IXRoaXMuYWN0aXZlLnByZXZBbGwoIi51aS1tZW51LWl0ZW0iKS5sZW5ndGh9LGxhc3Q6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5uZXh0QWxsKCIudWktbWVudS1p
dGVtIikubGVuZ3RofSxtb3ZlOmZ1bmN0aW9uKGMsZCxlKXtpZih0aGlzLmFjdGl2ZSl7Yz10aGlz
LmFjdGl2ZVtjKyJBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKDApO2MubGVuZ3RoP3RoaXMuYWN0
aXZhdGUoZSxjKTp0aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxkcmVuKGQpKX1lbHNl
IHRoaXMuYWN0aXZhdGUoZSwKK3RoaXMuZWxlbWVudC5jaGlsZHJlbihkKSl9LG5leHRQYWdlOmZ1
bmN0aW9uKGMpe2lmKHRoaXMuaGFzU2Nyb2xsKCkpaWYoIXRoaXMuYWN0aXZlfHx0aGlzLmxhc3Qo
KSl0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtOmZp
cnN0IikpO2Vsc2V7dmFyIGQ9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLGU9dGhpcy5lbGVtZW50
LmhlaWdodCgpLGg9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVy
KGZ1bmN0aW9uKCl7dmFyIGc9YSh0aGlzKS5vZmZzZXQoKS50b3AtZC1lK2EodGhpcykuaGVpZ2h0
KCk7cmV0dXJuIGc8MTAmJmc+LTEwfSk7aC5sZW5ndGh8fChoPXRoaXMuZWxlbWVudC5jaGlsZHJl
bigiLnVpLW1lbnUtaXRlbTpsYXN0IikpO3RoaXMuYWN0aXZhdGUoYyxoKX1lbHNlIHRoaXMuYWN0
aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0iKS5maWx0ZXIoIXRo
aXMuYWN0aXZlfHwKK3RoaXMubGFzdCgpPyI6Zmlyc3QiOiI6bGFzdCIpKX0scHJldmlvdXNQYWdl
OmZ1bmN0aW9uKGMpe2lmKHRoaXMuaGFzU2Nyb2xsKCkpaWYoIXRoaXMuYWN0aXZlfHx0aGlzLmZp
cnN0KCkpdGhpcy5hY3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRl
bTpsYXN0IikpO2Vsc2V7dmFyIGQ9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLGU9dGhpcy5lbGVt
ZW50LmhlaWdodCgpO3Jlc3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0i
KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgaD1hKHRoaXMpLm9mZnNldCgpLnRvcC1kK2UtYSh0aGlz
KS5oZWlnaHQoKTtyZXR1cm4gaDwxMCYmaD4tMTB9KTtyZXN1bHQubGVuZ3RofHwocmVzdWx0PXRo
aXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbTpmaXJzdCIpKTt0aGlzLmFjdGl2YXRl
KGMscmVzdWx0KX1lbHNlIHRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51
aS1tZW51LWl0ZW0iKS5maWx0ZXIoIXRoaXMuYWN0aXZlfHwKK3RoaXMuZmlyc3QoKT8iOmxhc3Qi
OiI6Zmlyc3QiKSl9LGhhc1Njcm9sbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuaGVp
Z2h0KCk8dGhpcy5lbGVtZW50W2EuZm4ucHJvcD8icHJvcCI6ImF0dHIiXSgic2Nyb2xsSGVpZ2h0
Iil9LHNlbGVjdDpmdW5jdGlvbihjKXt0aGlzLl90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7aXRlbTp0
aGlzLmFjdGl2ZX0pfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXt2YXIgYyxkLGUsaCxnPWZ1
bmN0aW9uKCl7dmFyIGI9YSh0aGlzKS5maW5kKCI6dWktYnV0dG9uIik7c2V0VGltZW91dChmdW5j
dGlvbigpe2IuYnV0dG9uKCJyZWZyZXNoIil9LDEpfSxpPWZ1bmN0aW9uKGIpe3ZhciBmPWIubmFt
ZSxqPWIuZm9ybSxsPWEoW10pO2lmKGYpbD1qP2EoaikuZmluZCgiW25hbWU9JyIrZisiJ10iKTph
KCJbbmFtZT0nIitmKyInXSIsYi5vd25lckRvY3VtZW50KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1
cm4hdGhpcy5mb3JtfSk7cmV0dXJuIGx9O2Eud2lkZ2V0KCJ1aS5idXR0b24iLHtvcHRpb25zOntk
aXNhYmxlZDpudWxsLHRleHQ6dHJ1ZSxsYWJlbDpudWxsLGljb25zOntwcmltYXJ5Om51bGwsc2Vj
b25kYXJ5Om51bGx9fSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsb3Nlc3QoImZv
cm0iKS51bmJpbmQoInJlc2V0LmJ1dHRvbiIpLmJpbmQoInJlc2V0LmJ1dHRvbiIsZyk7aWYodHlw
ZW9mIHRoaXMub3B0aW9ucy5kaXNhYmxlZCE9PQorImJvb2xlYW4iKXRoaXMub3B0aW9ucy5kaXNh
YmxlZD10aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIik7dGhpcy5fZGV0ZXJtaW5lQnV0
dG9uVHlwZSgpO3RoaXMuaGFzVGl0bGU9ISF0aGlzLmJ1dHRvbkVsZW1lbnQuYXR0cigidGl0bGUi
KTt2YXIgYj10aGlzLGY9dGhpcy5vcHRpb25zLGo9dGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhp
cy50eXBlPT09InJhZGlvIixsPSJ1aS1zdGF0ZS1ob3ZlciIrKCFqPyIgdWktc3RhdGUtYWN0aXZl
IjoiIik7aWYoZi5sYWJlbD09PW51bGwpZi5sYWJlbD10aGlzLmJ1dHRvbkVsZW1lbnQuaHRtbCgp
O2lmKHRoaXMuZWxlbWVudC5pcygiOmRpc2FibGVkIikpZi5kaXNhYmxlZD10cnVlO3RoaXMuYnV0
dG9uRWxlbWVudC5hZGRDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0
IHVpLWNvcm5lci1hbGwiKS5hdHRyKCJyb2xlIiwiYnV0dG9uIikuYmluZCgibW91c2VlbnRlci5i
dXR0b24iLGZ1bmN0aW9uKCl7aWYoIWYuZGlzYWJsZWQpe2EodGhpcykuYWRkQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIik7Cit0aGlzPT09YyYmYSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZl
Iil9fSkuYmluZCgibW91c2VsZWF2ZS5idXR0b24iLGZ1bmN0aW9uKCl7Zi5kaXNhYmxlZHx8YSh0
aGlzKS5yZW1vdmVDbGFzcyhsKX0pLmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYo
Zi5kaXNhYmxlZCl7by5wcmV2ZW50RGVmYXVsdCgpO28uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9u
KCl9fSk7dGhpcy5lbGVtZW50LmJpbmQoImZvY3VzLmJ1dHRvbiIsZnVuY3Rpb24oKXtiLmJ1dHRv
bkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KS5iaW5kKCJibHVyLmJ1dHRvbiIs
ZnVuY3Rpb24oKXtiLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9
KTtpZihqKXt0aGlzLmVsZW1lbnQuYmluZCgiY2hhbmdlLmJ1dHRvbiIsZnVuY3Rpb24oKXtofHxi
LnJlZnJlc2goKX0pO3RoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJtb3VzZWRvd24uYnV0dG9uIixm
dW5jdGlvbihvKXtpZighZi5kaXNhYmxlZCl7aD0KK2ZhbHNlO2Q9by5wYWdlWDtlPW8ucGFnZVl9
fSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKG8pe2lmKCFmLmRpc2FibGVkKWlmKGQh
PT1vLnBhZ2VYfHxlIT09by5wYWdlWSloPXRydWV9KX1pZih0aGlzLnR5cGU9PT0iY2hlY2tib3gi
KXRoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJjbGljay5idXR0b24iLGZ1bmN0aW9uKCl7aWYoZi5k
aXNhYmxlZHx8aClyZXR1cm4gZmFsc2U7YSh0aGlzKS50b2dnbGVDbGFzcygidWktc3RhdGUtYWN0
aXZlIik7Yi5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsYi5lbGVtZW50WzBdLmNo
ZWNrZWQpfSk7ZWxzZSBpZih0aGlzLnR5cGU9PT0icmFkaW8iKXRoaXMuYnV0dG9uRWxlbWVudC5i
aW5kKCJjbGljay5idXR0b24iLGZ1bmN0aW9uKCl7aWYoZi5kaXNhYmxlZHx8aClyZXR1cm4gZmFs
c2U7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7Yi5idXR0b25FbGVtZW50LmF0
dHIoImFyaWEtcHJlc3NlZCIsInRydWUiKTsKK3ZhciBvPWIuZWxlbWVudFswXTtpKG8pLm5vdChv
KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVt
b3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9
KTtlbHNle3RoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJtb3VzZWRvd24uYnV0dG9uIixmdW5jdGlv
bigpe2lmKGYuZGlzYWJsZWQpcmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRl
LWFjdGl2ZSIpO2M9dGhpczthKGRvY3VtZW50KS5vbmUoIm1vdXNldXAiLGZ1bmN0aW9uKCl7Yz1u
dWxsfSl9KS5iaW5kKCJtb3VzZXVwLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihmLmRpc2FibGVkKXJl
dHVybiBmYWxzZTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0pLmJpbmQo
ImtleWRvd24uYnV0dG9uIixmdW5jdGlvbihvKXtpZihmLmRpc2FibGVkKXJldHVybiBmYWxzZTtp
ZihvLmtleUNvZGU9PWEudWkua2V5Q29kZS5TUEFDRXx8CitvLmtleUNvZGU9PWEudWkua2V5Q29k
ZS5FTlRFUilhKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0pLmJpbmQoImtleXVw
LmJ1dHRvbiIsZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUi
KX0pO3RoaXMuYnV0dG9uRWxlbWVudC5pcygiYSIpJiZ0aGlzLmJ1dHRvbkVsZW1lbnQua2V5dXAo
ZnVuY3Rpb24obyl7by5rZXlDb2RlPT09YS51aS5rZXlDb2RlLlNQQUNFJiZhKHRoaXMpLmNsaWNr
KCl9KX10aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixmLmRpc2FibGVkKTt0aGlzLl9yZXNldEJ1
dHRvbigpfSxfZGV0ZXJtaW5lQnV0dG9uVHlwZTpmdW5jdGlvbigpe3RoaXMudHlwZT10aGlzLmVs
ZW1lbnQuaXMoIjpjaGVja2JveCIpPyJjaGVja2JveCI6dGhpcy5lbGVtZW50LmlzKCI6cmFkaW8i
KT8icmFkaW8iOnRoaXMuZWxlbWVudC5pcygiaW5wdXQiKT8iaW5wdXQiOiJidXR0b24iO2lmKHRo
aXMudHlwZT09PSJjaGVja2JveCJ8fHRoaXMudHlwZT09PQorInJhZGlvIil7dmFyIGI9dGhpcy5l
bGVtZW50LnBhcmVudHMoKS5maWx0ZXIoIjpsYXN0IiksZj0ibGFiZWxbZm9yPSIrdGhpcy5lbGVt
ZW50LmF0dHIoImlkIikrIl0iO3RoaXMuYnV0dG9uRWxlbWVudD1iLmZpbmQoZik7aWYoIXRoaXMu
YnV0dG9uRWxlbWVudC5sZW5ndGgpe2I9Yi5sZW5ndGg/Yi5zaWJsaW5ncygpOnRoaXMuZWxlbWVu
dC5zaWJsaW5ncygpO3RoaXMuYnV0dG9uRWxlbWVudD1iLmZpbHRlcihmKTtpZighdGhpcy5idXR0
b25FbGVtZW50Lmxlbmd0aCl0aGlzLmJ1dHRvbkVsZW1lbnQ9Yi5maW5kKGYpfXRoaXMuZWxlbWVu
dC5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIik7KGI9dGhpcy5lbGVtZW50
LmlzKCI6Y2hlY2tlZCIpKSYmdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1h
Y3RpdmUiKTt0aGlzLmJ1dHRvbkVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIixiKX1lbHNlIHRo
aXMuYnV0dG9uRWxlbWVudD10aGlzLmVsZW1lbnR9LAord2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXMuYnV0dG9uRWxlbWVudH0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1v
dmVDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIik7dGhpcy5idXR0b25FbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29y
bmVyLWFsbCB1aS1zdGF0ZS1ob3ZlciB1aS1zdGF0ZS1hY3RpdmUgIHVpLWJ1dHRvbi1pY29ucy1v
bmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMgdWktYnV0dG9uLXRl
eHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10
ZXh0LW9ubHkiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1wcmVzc2VkIiku
aHRtbCh0aGlzLmJ1dHRvbkVsZW1lbnQuZmluZCgiLnVpLWJ1dHRvbi10ZXh0IikuaHRtbCgpKTt0
aGlzLmhhc1RpdGxlfHx0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQXR0cigidGl0bGUiKTsKK2Eu
V2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24o
YixmKXthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7
aWYoYj09PSJkaXNhYmxlZCIpZj90aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIix0cnVl
KTp0aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIixmYWxzZSk7ZWxzZSB0aGlzLl9yZXNl
dEJ1dHRvbigpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LmlzKCI6ZGlz
YWJsZWQiKTtiIT09dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLl9zZXRPcHRpb24oImRpc2Fi
bGVkIixiKTtpZih0aGlzLnR5cGU9PT0icmFkaW8iKWkodGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1
bmN0aW9uKCl7YSh0aGlzKS5pcygiOmNoZWNrZWQiKT9hKHRoaXMpLmJ1dHRvbigid2lkZ2V0Iiku
YWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsCisidHJ1ZSIp
OmEodGhpcykuYnV0dG9uKCJ3aWRnZXQiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiku
YXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09ImNoZWNr
Ym94Iil0aGlzLmVsZW1lbnQuaXMoIjpjaGVja2VkIik/dGhpcy5idXR0b25FbGVtZW50LmFkZENs
YXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik6dGhpcy5i
dXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXBy
ZXNzZWQiLCJmYWxzZSIpfSxfcmVzZXRCdXR0b246ZnVuY3Rpb24oKXtpZih0aGlzLnR5cGU9PT0i
aW5wdXQiKXRoaXMub3B0aW9ucy5sYWJlbCYmdGhpcy5lbGVtZW50LnZhbCh0aGlzLm9wdGlvbnMu
bGFiZWwpO2Vsc2V7dmFyIGI9dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1idXR0
b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10ZXh0LWljb25zIHVp
LWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSB1
aS1idXR0b24tdGV4dC1vbmx5IiksCitmPWEoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWkt
YnV0dG9uLXRleHQiKS5odG1sKHRoaXMub3B0aW9ucy5sYWJlbCkuYXBwZW5kVG8oYi5lbXB0eSgp
KS50ZXh0KCksaj10aGlzLm9wdGlvbnMuaWNvbnMsbD1qLnByaW1hcnkmJmouc2Vjb25kYXJ5LG89
W107aWYoai5wcmltYXJ5fHxqLnNlY29uZGFyeSl7aWYodGhpcy5vcHRpb25zLnRleHQpby5wdXNo
KCJ1aS1idXR0b24tdGV4dC1pY29uIisobD8icyI6ai5wcmltYXJ5PyItcHJpbWFyeSI6Ii1zZWNv
bmRhcnkiKSk7ai5wcmltYXJ5JiZiLnByZXBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNv
bi1wcmltYXJ5IHVpLWljb24gIitqLnByaW1hcnkrIic+PC9zcGFuPiIpO2ouc2Vjb25kYXJ5JiZi
LmFwcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSB1aS1pY29uICIr
ai5zZWNvbmRhcnkrIic+PC9zcGFuPiIpO2lmKCF0aGlzLm9wdGlvbnMudGV4dCl7by5wdXNoKGw/
InVpLWJ1dHRvbi1pY29ucy1vbmx5IjoKKyJ1aS1idXR0b24taWNvbi1vbmx5Iik7dGhpcy5oYXNU
aXRsZXx8Yi5hdHRyKCJ0aXRsZSIsZil9fWVsc2Ugby5wdXNoKCJ1aS1idXR0b24tdGV4dC1vbmx5
Iik7Yi5hZGRDbGFzcyhvLmpvaW4oIiAiKSl9fX0pO2Eud2lkZ2V0KCJ1aS5idXR0b25zZXQiLHtv
cHRpb25zOntpdGVtczoiOmJ1dHRvbiwgOnN1Ym1pdCwgOnJlc2V0LCA6Y2hlY2tib3gsIDpyYWRp
bywgYSwgOmRhdGEoYnV0dG9uKSJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWJ1dHRvbnNldCIpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMucmVmcmVzaCgpfSxf
c2V0T3B0aW9uOmZ1bmN0aW9uKGIsZil7Yj09PSJkaXNhYmxlZCImJnRoaXMuYnV0dG9ucy5idXR0
b24oIm9wdGlvbiIsYixmKTthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlz
LGFyZ3VtZW50cyl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQuY3NzKCJk
aXJlY3Rpb24iKT09PQorImx0ciI7dGhpcy5idXR0b25zPXRoaXMuZWxlbWVudC5maW5kKHRoaXMu
b3B0aW9ucy5pdGVtcykuZmlsdGVyKCI6dWktYnV0dG9uIikuYnV0dG9uKCJyZWZyZXNoIikuZW5k
KCkubm90KCI6dWktYnV0dG9uIikuYnV0dG9uKCkuZW5kKCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJu
IGEodGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxs
IHVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCIpLmZpbHRlcigiOmZpcnN0IikuYWRkQ2xh
c3MoYj8idWktY29ybmVyLWxlZnQiOiJ1aS1jb3JuZXItcmlnaHQiKS5lbmQoKS5maWx0ZXIoIjps
YXN0IikuYWRkQ2xhc3MoYj8idWktY29ybmVyLXJpZ2h0IjoidWktY29ybmVyLWxlZnQiKS5lbmQo
KS5lbmQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
YnV0dG9uc2V0Iik7dGhpcy5idXR0b25zLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1
dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWxlZnQgdWktY29ybmVy
LXJpZ2h0IikuZW5kKCkuYnV0dG9uKCJkZXN0cm95Iik7CithLldpZGdldC5wcm90b3R5cGUuZGVz
dHJveS5jYWxsKHRoaXMpfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGQo
KXt0aGlzLmRlYnVnPWZhbHNlO3RoaXMuX2N1ckluc3Q9bnVsbDt0aGlzLl9rZXlFdmVudD1mYWxz
ZTt0aGlzLl9kaXNhYmxlZElucHV0cz1bXTt0aGlzLl9pbkRpYWxvZz10aGlzLl9kYXRlcGlja2Vy
U2hvd2luZz1mYWxzZTt0aGlzLl9tYWluRGl2SWQ9InVpLWRhdGVwaWNrZXItZGl2Ijt0aGlzLl9p
bmxpbmVDbGFzcz0idWktZGF0ZXBpY2tlci1pbmxpbmUiO3RoaXMuX2FwcGVuZENsYXNzPSJ1aS1k
YXRlcGlja2VyLWFwcGVuZCI7dGhpcy5fdHJpZ2dlckNsYXNzPSJ1aS1kYXRlcGlja2VyLXRyaWdn
ZXIiO3RoaXMuX2RpYWxvZ0NsYXNzPSJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7dGhpcy5fZGlzYWJs
ZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWRpc2FibGVkIjt0aGlzLl91bnNlbGVjdGFibGVDbGFzcz0i
dWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiO3RoaXMuX2N1cnJlbnRDbGFzcz0idWktZGF0ZXBp
Y2tlci1jdXJyZW50LWRheSI7dGhpcy5fZGF5T3ZlckNsYXNzPQorInVpLWRhdGVwaWNrZXItZGF5
cy1jZWxsLW92ZXIiO3RoaXMucmVnaW9uYWw9W107dGhpcy5yZWdpb25hbFsiIl09e2Nsb3NlVGV4
dDoiRG9uZSIscHJldlRleHQ6IlByZXYiLG5leHRUZXh0OiJOZXh0IixjdXJyZW50VGV4dDoiVG9k
YXkiLG1vbnRoTmFtZXM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5
IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIi
LCJEZWNlbWJlciJdLG1vbnRoTmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1h
eSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsi
U3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5
IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1
IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsCisiTW8iLCJUdSIsIldlIiwiVGgiLCJG
ciIsIlNhIl0sd2Vla0hlYWRlcjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTow
LGlzUlRMOmZhbHNlLHNob3dNb250aEFmdGVyWWVhcjpmYWxzZSx5ZWFyU3VmZml4OiIifTt0aGlz
Ll9kZWZhdWx0cz17c2hvd09uOiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6
e30sZGVmYXVsdERhdGU6bnVsbCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9u
SW1hZ2U6IiIsYnV0dG9uSW1hZ2VPbmx5OmZhbHNlLGhpZGVJZk5vUHJldk5leHQ6ZmFsc2UsbmF2
aWdhdGlvbkFzRGF0ZUZvcm1hdDpmYWxzZSxnb3RvQ3VycmVudDpmYWxzZSxjaGFuZ2VNb250aDpm
YWxzZSxjaGFuZ2VZZWFyOmZhbHNlLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250
aHM6ZmFsc2Usc2VsZWN0T3RoZXJNb250aHM6ZmFsc2Usc2hvd1dlZWs6ZmFsc2UsY2FsY3VsYXRl
V2Vlazp0aGlzLmlzbzg2MDFXZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIiwKK21pbkRhdGU6bnVs
bCxtYXhEYXRlOm51bGwsZHVyYXRpb246ImZhc3QiLGJlZm9yZVNob3dEYXk6bnVsbCxiZWZvcmVT
aG93Om51bGwsb25TZWxlY3Q6bnVsbCxvbkNoYW5nZU1vbnRoWWVhcjpudWxsLG9uQ2xvc2U6bnVs
bCxudW1iZXJPZk1vbnRoczoxLHNob3dDdXJyZW50QXRQb3M6MCxzdGVwTW9udGhzOjEsc3RlcEJp
Z01vbnRoczoxMixhbHRGaWVsZDoiIixhbHRGb3JtYXQ6IiIsY29uc3RyYWluSW5wdXQ6dHJ1ZSxz
aG93QnV0dG9uUGFuZWw6ZmFsc2UsYXV0b1NpemU6ZmFsc2UsZGlzYWJsZWQ6ZmFsc2V9O2EuZXh0
ZW5kKHRoaXMuX2RlZmF1bHRzLHRoaXMucmVnaW9uYWxbIiJdKTt0aGlzLmRwRGl2PWUoYSgnPGRp
diBpZD0iJyt0aGlzLl9tYWluRGl2SWQrJyIgY2xhc3M9InVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48L2Rp
dj4nKSl9ZnVuY3Rpb24gZShiKXtyZXR1cm4gYi5iaW5kKCJtb3VzZW91dCIsCitmdW5jdGlvbihm
KXtmPWEoZi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVp
LWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2YubGVuZ3Ro
JiZmLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciB1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIg
dWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9KS5iaW5kKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKGYp
e2Y9YShmLnRhcmdldCkuY2xvc2VzdCgiYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAudWkt
ZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIik7aWYoIShhLmRh
dGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGkuaW5saW5lP2IucGFyZW50KClbMF06aS5p
bnB1dFswXSl8fCFmLmxlbmd0aCkpe2YucGFyZW50cygiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIi
KS5maW5kKCJhIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CitmLmFkZENsYXNzKCJ1
aS1zdGF0ZS1ob3ZlciIpO2YuaGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldiIpJiZmLmFkZENs
YXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKTtmLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2Vy
LW5leHQiKSYmZi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9fSl9ZnVuY3Rp
b24gaChiLGYpe2EuZXh0ZW5kKGIsZik7Zm9yKHZhciBqIGluIGYpaWYoZltqXT09bnVsbHx8Zltq
XT09YyliW2pdPWZbal07cmV0dXJuIGJ9YS5leHRlbmQoYS51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lv
bjoiMS44LjE1In19KTt2YXIgZz0obmV3IERhdGUpLmdldFRpbWUoKSxpO2EuZXh0ZW5kKGQucHJv
dG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxsb2c6ZnVu
Y3Rpb24oKXt0aGlzLmRlYnVnJiZjb25zb2xlLmxvZy5hcHBseSgiIixhcmd1bWVudHMpfSxfd2lk
Z2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSwKK3NldERlZmF1bHRz
OmZ1bmN0aW9uKGIpe2godGhpcy5fZGVmYXVsdHMsYnx8e30pO3JldHVybiB0aGlzfSxfYXR0YWNo
RGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYpe3ZhciBqPW51bGw7Zm9yKHZhciBsIGluIHRoaXMuX2Rl
ZmF1bHRzKXt2YXIgbz1iLmdldEF0dHJpYnV0ZSgiZGF0ZToiK2wpO2lmKG8pe2o9anx8e307dHJ5
e2pbbF09ZXZhbChvKX1jYXRjaChuKXtqW2xdPW99fX1sPWIubm9kZU5hbWUudG9Mb3dlckNhc2Uo
KTtvPWw9PSJkaXYifHxsPT0ic3BhbiI7aWYoIWIuaWQpe3RoaXMudXVpZCs9MTtiLmlkPSJkcCIr
dGhpcy51dWlkfXZhciBrPXRoaXMuX25ld0luc3QoYShiKSxvKTtrLnNldHRpbmdzPWEuZXh0ZW5k
KHt9LGZ8fHt9LGp8fHt9KTtpZihsPT0iaW5wdXQiKXRoaXMuX2Nvbm5lY3REYXRlcGlja2VyKGIs
ayk7ZWxzZSBvJiZ0aGlzLl9pbmxpbmVEYXRlcGlja2VyKGIsayl9LF9uZXdJbnN0OmZ1bmN0aW9u
KGIsZil7cmV0dXJue2lkOmJbMF0uaWQucmVwbGFjZSgvKFteQS1aYS16MC05Xy1dKS9nLAorIlxc
XFwkMSIpLGlucHV0OmIsc2VsZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFy
OjAsZHJhd01vbnRoOjAsZHJhd1llYXI6MCxpbmxpbmU6ZixkcERpdjohZj90aGlzLmRwRGl2OmUo
YSgnPGRpdiBjbGFzcz0iJyt0aGlzLl9pbmxpbmVDbGFzcysnIHVpLWRhdGVwaWNrZXIgdWktd2lk
Z2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48
L2Rpdj4nKSl9fSxfY29ubmVjdERhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXt2YXIgaj1hKGIpO2Yu
YXBwZW5kPWEoW10pO2YudHJpZ2dlcj1hKFtdKTtpZighai5oYXNDbGFzcyh0aGlzLm1hcmtlckNs
YXNzTmFtZSkpe3RoaXMuX2F0dGFjaG1lbnRzKGosZik7ai5hZGRDbGFzcyh0aGlzLm1hcmtlckNs
YXNzTmFtZSkua2V5ZG93bih0aGlzLl9kb0tleURvd24pLmtleXByZXNzKHRoaXMuX2RvS2V5UHJl
c3MpLmtleXVwKHRoaXMuX2RvS2V5VXApLmJpbmQoInNldERhdGEuZGF0ZXBpY2tlciIsCitmdW5j
dGlvbihsLG8sbil7Zi5zZXR0aW5nc1tvXT1ufSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixm
dW5jdGlvbihsLG8pe3JldHVybiB0aGlzLl9nZXQoZixvKX0pO3RoaXMuX2F1dG9TaXplKGYpO2Eu
ZGF0YShiLCJkYXRlcGlja2VyIixmKTtmLnNldHRpbmdzLmRpc2FibGVkJiZ0aGlzLl9kaXNhYmxl
RGF0ZXBpY2tlcihiKX19LF9hdHRhY2htZW50czpmdW5jdGlvbihiLGYpe3ZhciBqPXRoaXMuX2dl
dChmLCJhcHBlbmRUZXh0IiksbD10aGlzLl9nZXQoZiwiaXNSVEwiKTtmLmFwcGVuZCYmZi5hcHBl
bmQucmVtb3ZlKCk7aWYoail7Zi5hcHBlbmQ9YSgnPHNwYW4gY2xhc3M9IicrdGhpcy5fYXBwZW5k
Q2xhc3MrJyI+JytqKyI8L3NwYW4+Iik7YltsPyJiZWZvcmUiOiJhZnRlciJdKGYuYXBwZW5kKX1i
LnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKTtmLnRyaWdnZXImJmYudHJpZ2dl
ci5yZW1vdmUoKTtqPXRoaXMuX2dldChmLCJzaG93T24iKTtpZihqPT0KKyJmb2N1cyJ8fGo9PSJi
b3RoIiliLmZvY3VzKHRoaXMuX3Nob3dEYXRlcGlja2VyKTtpZihqPT0iYnV0dG9uInx8aj09ImJv
dGgiKXtqPXRoaXMuX2dldChmLCJidXR0b25UZXh0Iik7dmFyIG89dGhpcy5fZ2V0KGYsImJ1dHRv
bkltYWdlIik7Zi50cmlnZ2VyPWEodGhpcy5fZ2V0KGYsImJ1dHRvbkltYWdlT25seSIpP2EoIjxp
bWcvPiIpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuYXR0cih7c3JjOm8sYWx0OmosdGl0
bGU6an0pOmEoJzxidXR0b24gdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlz
Ll90cmlnZ2VyQ2xhc3MpLmh0bWwobz09IiI/ajphKCI8aW1nLz4iKS5hdHRyKHtzcmM6byxhbHQ6
aix0aXRsZTpqfSkpKTtiW2w/ImJlZm9yZSI6ImFmdGVyIl0oZi50cmlnZ2VyKTtmLnRyaWdnZXIu
Y2xpY2soZnVuY3Rpb24oKXthLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZhLmRhdGVw
aWNrZXIuX2xhc3RJbnB1dD09YlswXT9hLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6Cith
LmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKGJbMF0pO3JldHVybiBmYWxzZX0pfX0sX2F1dG9T
aXplOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2dldChiLCJhdXRvU2l6ZSIpJiYhYi5pbmxpbmUpe3Zh
ciBmPW5ldyBEYXRlKDIwMDksMTEsMjApLGo9dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKTtpZihq
Lm1hdGNoKC9bRE1dLykpe3ZhciBsPWZ1bmN0aW9uKG8pe2Zvcih2YXIgbj0wLGs9MCxtPTA7bTxv
Lmxlbmd0aDttKyspaWYob1ttXS5sZW5ndGg+bil7bj1vW21dLmxlbmd0aDtrPW19cmV0dXJuIGt9
O2Yuc2V0TW9udGgobCh0aGlzLl9nZXQoYixqLm1hdGNoKC9NTS8pPyJtb250aE5hbWVzIjoibW9u
dGhOYW1lc1Nob3J0IikpKTtmLnNldERhdGUobCh0aGlzLl9nZXQoYixqLm1hdGNoKC9ERC8pPyJk
YXlOYW1lcyI6ImRheU5hbWVzU2hvcnQiKSkrMjAtZi5nZXREYXkoKSl9Yi5pbnB1dC5hdHRyKCJz
aXplIix0aGlzLl9mb3JtYXREYXRlKGIsZikubGVuZ3RoKX19LF9pbmxpbmVEYXRlcGlja2VyOmZ1
bmN0aW9uKGIsCitmKXt2YXIgaj1hKGIpO2lmKCFqLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NO
YW1lKSl7ai5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuYXBwZW5kKGYuZHBEaXYpLmJp
bmQoInNldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24obCxvLG4pe2Yuc2V0dGluZ3Nbb109bn0p
LmJpbmQoImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24obCxvKXtyZXR1cm4gdGhpcy5fZ2V0
KGYsbyl9KTthLmRhdGEoYiwiZGF0ZXBpY2tlciIsZik7dGhpcy5fc2V0RGF0ZShmLHRoaXMuX2dl
dERlZmF1bHREYXRlKGYpLHRydWUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZik7dGhpcy5fdXBk
YXRlQWx0ZXJuYXRlKGYpO2Yuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlj
a2VyKGIpO2YuZHBEaXYuY3NzKCJkaXNwbGF5IiwiYmxvY2siKX19LF9kaWFsb2dEYXRlcGlja2Vy
OmZ1bmN0aW9uKGIsZixqLGwsbyl7Yj10aGlzLl9kaWFsb2dJbnN0O2lmKCFiKXt0aGlzLnV1aWQr
PQorMTt0aGlzLl9kaWFsb2dJbnB1dD1hKCc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicrKCJkcCIr
dGhpcy51dWlkKSsnIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lk
dGg6IDBweDsgei1pbmRleDogLTEwOyIvPicpO3RoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhp
cy5fZG9LZXlEb3duKTthKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KTtiPXRoaXMu
X2RpYWxvZ0luc3Q9dGhpcy5fbmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCxmYWxzZSk7Yi5zZXR0
aW5ncz17fTthLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGIpfWgoYi5z
ZXR0aW5ncyxsfHx7fSk7Zj1mJiZmLmNvbnN0cnVjdG9yPT1EYXRlP3RoaXMuX2Zvcm1hdERhdGUo
YixmKTpmO3RoaXMuX2RpYWxvZ0lucHV0LnZhbChmKTt0aGlzLl9wb3M9bz9vLmxlbmd0aD9vOltv
LnBhZ2VYLG8ucGFnZVldOm51bGw7aWYoIXRoaXMuX3Bvcyl0aGlzLl9wb3M9W2RvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC8KKzItMTAwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSxkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuY2xpZW50SGVpZ2h0LzItMTUwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny
b2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCldO3RoaXMuX2RpYWxvZ0lucHV0LmNzcygi
bGVmdCIsdGhpcy5fcG9zWzBdKzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7
Yi5zZXR0aW5ncy5vblNlbGVjdD1qO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRD
bGFzcyh0aGlzLl9kaWFsb2dDbGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9n
SW5wdXRbMF0pO2EuYmxvY2tVSSYmYS5ibG9ja1VJKHRoaXMuZHBEaXYpO2EuZGF0YSh0aGlzLl9k
aWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYik7cmV0dXJuIHRoaXN9LF9kZXN0cm95RGF0ZXBp
Y2tlcjpmdW5jdGlvbihiKXt2YXIgZj0KK2EoYiksaj1hLmRhdGEoYiwiZGF0ZXBpY2tlciIpO2lm
KGYuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgbD1iLm5vZGVOYW1lLnRvTG93
ZXJDYXNlKCk7YS5yZW1vdmVEYXRhKGIsImRhdGVwaWNrZXIiKTtpZihsPT0iaW5wdXQiKXtqLmFw
cGVuZC5yZW1vdmUoKTtqLnRyaWdnZXIucmVtb3ZlKCk7Zi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtl
ckNsYXNzTmFtZSkudW5iaW5kKCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNrZXIpLnVuYmluZCgi
a2V5ZG93biIsdGhpcy5fZG9LZXlEb3duKS51bmJpbmQoImtleXByZXNzIix0aGlzLl9kb0tleVBy
ZXNzKS51bmJpbmQoImtleXVwIix0aGlzLl9kb0tleVVwKX1lbHNlIGlmKGw9PSJkaXYifHxsPT0i
c3BhbiIpZi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuZW1wdHkoKX19LF9lbmFi
bGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPWEoYiksaj1hLmRhdGEoYiwiZGF0ZXBpY2tl
ciIpO2lmKGYuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgbD0KK2Iubm9kZU5h
bWUudG9Mb3dlckNhc2UoKTtpZihsPT0iaW5wdXQiKXtiLmRpc2FibGVkPWZhbHNlO2oudHJpZ2dl
ci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPWZhbHNlfSku
ZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSl9ZWxzZSBp
ZihsPT0iZGl2Inx8bD09InNwYW4iKXtmPWYuY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNsYXNz
KTtmLmNoaWxkcmVuKCkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Zi5maW5kKCJz
ZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLnJl
bW92ZUF0dHIoImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9YS5tYXAodGhpcy5fZGlz
YWJsZWRJbnB1dHMsZnVuY3Rpb24obyl7cmV0dXJuIG89PWI/bnVsbDpvfSl9fSxfZGlzYWJsZURh
dGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9YShiKSxqPWEuZGF0YShiLAorImRhdGVwaWNrZXIi
KTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGw9Yi5ub2RlTmFtZS50
b0xvd2VyQ2FzZSgpO2lmKGw9PSJpbnB1dCIpe2IuZGlzYWJsZWQ9dHJ1ZTtqLnRyaWdnZXIuZmls
dGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD10cnVlfSkuZW5kKCku
ZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjAuNSIsY3Vyc29yOiJkZWZhdWx0In0pfWVsc2Ug
aWYobD09ImRpdiJ8fGw9PSJzcGFuIil7Zj1mLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFz
cyk7Zi5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2YuZmluZCgic2Vs
ZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5hdHRy
KCJkaXNhYmxlZCIsImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9YS5tYXAodGhpcy5f
ZGlzYWJsZWRJbnB1dHMsZnVuY3Rpb24obyl7cmV0dXJuIG89PQorYj9udWxsOm99KTt0aGlzLl9k
aXNhYmxlZElucHV0c1t0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGhdPWJ9fSxfaXNEaXNhYmxl
ZERhdGVwaWNrZXI6ZnVuY3Rpb24oYil7aWYoIWIpcmV0dXJuIGZhbHNlO2Zvcih2YXIgZj0wO2Y8
dGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoO2YrKylpZih0aGlzLl9kaXNhYmxlZElucHV0c1tm
XT09YilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9LF9nZXRJbnN0OmZ1bmN0aW9uKGIpe3RyeXty
ZXR1cm4gYS5kYXRhKGIsImRhdGVwaWNrZXIiKX1jYXRjaChmKXt0aHJvdyJNaXNzaW5nIGluc3Rh
bmNlIGRhdGEgZm9yIHRoaXMgZGF0ZXBpY2tlciI7fX0sX29wdGlvbkRhdGVwaWNrZXI6ZnVuY3Rp
b24oYixmLGope3ZhciBsPXRoaXMuX2dldEluc3QoYik7aWYoYXJndW1lbnRzLmxlbmd0aD09MiYm
dHlwZW9mIGY9PSJzdHJpbmciKXJldHVybiBmPT0iZGVmYXVsdHMiP2EuZXh0ZW5kKHt9LGEuZGF0
ZXBpY2tlci5fZGVmYXVsdHMpOmw/Zj09ImFsbCI/CithLmV4dGVuZCh7fSxsLnNldHRpbmdzKTp0
aGlzLl9nZXQobCxmKTpudWxsO3ZhciBvPWZ8fHt9O2lmKHR5cGVvZiBmPT0ic3RyaW5nIil7bz17
fTtvW2ZdPWp9aWYobCl7dGhpcy5fY3VySW5zdD09bCYmdGhpcy5faGlkZURhdGVwaWNrZXIoKTt2
YXIgbj10aGlzLl9nZXREYXRlRGF0ZXBpY2tlcihiLHRydWUpLGs9dGhpcy5fZ2V0TWluTWF4RGF0
ZShsLCJtaW4iKSxtPXRoaXMuX2dldE1pbk1heERhdGUobCwibWF4Iik7aChsLnNldHRpbmdzLG8p
O2lmKGshPT1udWxsJiZvLmRhdGVGb3JtYXQhPT1jJiZvLm1pbkRhdGU9PT1jKWwuc2V0dGluZ3Mu
bWluRGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsayk7aWYobSE9PW51bGwmJm8uZGF0ZUZvcm1hdCE9
PWMmJm8ubWF4RGF0ZT09PWMpbC5zZXR0aW5ncy5tYXhEYXRlPXRoaXMuX2Zvcm1hdERhdGUobCxt
KTt0aGlzLl9hdHRhY2htZW50cyhhKGIpLGwpO3RoaXMuX2F1dG9TaXplKGwpO3RoaXMuX3NldERh
dGUobCxuKTt0aGlzLl91cGRhdGVBbHRlcm5hdGUobCk7Cit0aGlzLl91cGRhdGVEYXRlcGlja2Vy
KGwpfX0sX2NoYW5nZURhdGVwaWNrZXI6ZnVuY3Rpb24oYixmLGope3RoaXMuX29wdGlvbkRhdGVw
aWNrZXIoYixmLGopfSxfcmVmcmVzaERhdGVwaWNrZXI6ZnVuY3Rpb24oYil7KGI9dGhpcy5fZ2V0
SW5zdChiKSkmJnRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYil9LF9zZXREYXRlRGF0ZXBpY2tlcjpm
dW5jdGlvbihiLGYpe2lmKGI9dGhpcy5fZ2V0SW5zdChiKSl7dGhpcy5fc2V0RGF0ZShiLGYpO3Ro
aXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGIpfX0sX2dldERh
dGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIsZil7KGI9dGhpcy5fZ2V0SW5zdChiKSkmJiFiLmlubGlu
ZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChiLGYpO3JldHVybiBiP3RoaXMuX2dldERhdGUoYik6
bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbihiKXt2YXIgZj1hLmRhdGVwaWNrZXIuX2dldEluc3Qo
Yi50YXJnZXQpLGo9dHJ1ZSxsPWYuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpOworZi5f
a2V5RXZlbnQ9dHJ1ZTtpZihhLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKXN3aXRjaChi
LmtleUNvZGUpe2Nhc2UgOTphLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7aj1mYWxzZTti
cmVhaztjYXNlIDEzOmo9YSgidGQuIithLmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcysiOm5vdCgu
IithLmRhdGVwaWNrZXIuX2N1cnJlbnRDbGFzcysiKSIsZi5kcERpdik7alswXSYmYS5kYXRlcGlj
a2VyLl9zZWxlY3REYXkoYi50YXJnZXQsZi5zZWxlY3RlZE1vbnRoLGYuc2VsZWN0ZWRZZWFyLGpb
MF0pO2lmKGI9YS5kYXRlcGlja2VyLl9nZXQoZiwib25TZWxlY3QiKSl7aj1hLmRhdGVwaWNrZXIu
X2Zvcm1hdERhdGUoZik7Yi5hcHBseShmLmlucHV0P2YuaW5wdXRbMF06bnVsbCxbaixmXSl9ZWxz
ZSBhLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7cmV0dXJuIGZhbHNlO2Nhc2UgMjc6YS5k
YXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6YS5kYXRlcGlja2VyLl9h
ZGp1c3REYXRlKGIudGFyZ2V0LAorYi5jdHJsS2V5Py1hLmRhdGVwaWNrZXIuX2dldChmLCJzdGVw
QmlnTW9udGhzIik6LWEuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFr
O2Nhc2UgMzQ6YS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LGIuY3RybEtleT8rYS5k
YXRlcGlja2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOithLmRhdGVwaWNrZXIuX2dldChmLCJz
dGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM1OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEu
ZGF0ZXBpY2tlci5fY2xlYXJEYXRlKGIudGFyZ2V0KTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2Jy
ZWFrO2Nhc2UgMzY6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9nb3RvVG9k
YXkoYi50YXJnZXQpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNzppZihiLmN0
cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsbD8rMTot
MSwiRCIpO2o9CitiLmN0cmxLZXl8fGIubWV0YUtleTtpZihiLm9yaWdpbmFsRXZlbnQuYWx0S2V5
KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCxiLmN0cmxLZXk/LWEuZGF0ZXBpY2tl
ci5fZ2V0KGYsInN0ZXBCaWdNb250aHMiKTotYS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcE1vbnRo
cyIpLCJNIik7YnJlYWs7Y2FzZSAzODppZihiLmN0cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNr
ZXIuX2FkanVzdERhdGUoYi50YXJnZXQsLTcsIkQiKTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2Jy
ZWFrO2Nhc2UgMzk6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3RE
YXRlKGIudGFyZ2V0LGw/LTE6KzEsIkQiKTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2lmKGIub3Jp
Z2luYWxFdmVudC5hbHRLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LGIuY3Ry
bEtleT8rYS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOithLmRhdGVwaWNrZXIu
X2dldChmLAorInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgNDA6aWYoYi5jdHJsS2V5fHxi
Lm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LCs3LCJEIik7aj1iLmN0
cmxLZXl8fGIubWV0YUtleTticmVhaztkZWZhdWx0Omo9ZmFsc2V9ZWxzZSBpZihiLmtleUNvZGU9
PTM2JiZiLmN0cmxLZXkpYS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0aGlzKTtlbHNlIGo9
ZmFsc2U7aWYoail7Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSxfZG9L
ZXlQcmVzczpmdW5jdGlvbihiKXt2YXIgZj1hLmRhdGVwaWNrZXIuX2dldEluc3QoYi50YXJnZXQp
O2lmKGEuZGF0ZXBpY2tlci5fZ2V0KGYsImNvbnN0cmFpbklucHV0Iikpe2Y9YS5kYXRlcGlja2Vy
Ll9wb3NzaWJsZUNoYXJzKGEuZGF0ZXBpY2tlci5fZ2V0KGYsImRhdGVGb3JtYXQiKSk7dmFyIGo9
U3RyaW5nLmZyb21DaGFyQ29kZShiLmNoYXJDb2RlPT1jP2Iua2V5Q29kZTpiLmNoYXJDb2RlKTsK
K3JldHVybiBiLmN0cmxLZXl8fGIubWV0YUtleXx8ajwiICJ8fCFmfHxmLmluZGV4T2Yoaik+LTF9
fSxfZG9LZXlVcDpmdW5jdGlvbihiKXtiPWEuZGF0ZXBpY2tlci5fZ2V0SW5zdChiLnRhcmdldCk7
aWYoYi5pbnB1dC52YWwoKSE9Yi5sYXN0VmFsKXRyeXtpZihhLmRhdGVwaWNrZXIucGFyc2VEYXRl
KGEuZGF0ZXBpY2tlci5fZ2V0KGIsImRhdGVGb3JtYXQiKSxiLmlucHV0P2IuaW5wdXQudmFsKCk6
bnVsbCxhLmRhdGVwaWNrZXIuX2dldEZvcm1hdENvbmZpZyhiKSkpe2EuZGF0ZXBpY2tlci5fc2V0
RGF0ZUZyb21GaWVsZChiKTthLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZShiKTthLmRhdGVw
aWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoYil9fWNhdGNoKGYpe2EuZGF0ZXBpY2tlci5sb2coZil9
cmV0dXJuIHRydWV9LF9zaG93RGF0ZXBpY2tlcjpmdW5jdGlvbihiKXtiPWIudGFyZ2V0fHxiO2lm
KGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9ImlucHV0IiliPWEoImlucHV0IiwKK2IucGFyZW50
Tm9kZSlbMF07aWYoIShhLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGIpfHxhLmRh
dGVwaWNrZXIuX2xhc3RJbnB1dD09Yikpe3ZhciBmPWEuZGF0ZXBpY2tlci5fZ2V0SW5zdChiKTtp
ZihhLmRhdGVwaWNrZXIuX2N1ckluc3QmJmEuZGF0ZXBpY2tlci5fY3VySW5zdCE9Zil7YS5kYXRl
cGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmYS5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShh
LmRhdGVwaWNrZXIuX2N1ckluc3QpO2EuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRy
dWUsdHJ1ZSl9dmFyIGo9YS5kYXRlcGlja2VyLl9nZXQoZiwiYmVmb3JlU2hvdyIpO2goZi5zZXR0
aW5ncyxqP2ouYXBwbHkoYixbYixmXSk6e30pO2YubGFzdFZhbD1udWxsO2EuZGF0ZXBpY2tlci5f
bGFzdElucHV0PWI7YS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGYpO2lmKGEuZGF0ZXBp
Y2tlci5faW5EaWFsb2cpYi52YWx1ZT0iIjtpZighYS5kYXRlcGlja2VyLl9wb3Mpe2EuZGF0ZXBp
Y2tlci5fcG9zPQorYS5kYXRlcGlja2VyLl9maW5kUG9zKGIpO2EuZGF0ZXBpY2tlci5fcG9zWzFd
Kz1iLm9mZnNldEhlaWdodH12YXIgbD1mYWxzZTthKGIpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9u
KCl7bHw9YSh0aGlzKS5jc3MoInBvc2l0aW9uIik9PSJmaXhlZCI7cmV0dXJuIWx9KTtpZihsJiZh
LmJyb3dzZXIub3BlcmEpe2EuZGF0ZXBpY2tlci5fcG9zWzBdLT1kb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuc2Nyb2xsTGVmdDthLmRhdGVwaWNrZXIuX3Bvc1sxXS09ZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbFRvcH1qPXtsZWZ0OmEuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDphLmRhdGVw
aWNrZXIuX3Bvc1sxXX07YS5kYXRlcGlja2VyLl9wb3M9bnVsbDtmLmRwRGl2LmVtcHR5KCk7Zi5k
cERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBw
eCJ9KTthLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoZik7aj1hLmRhdGVwaWNrZXIuX2No
ZWNrT2Zmc2V0KGYsCitqLGwpO2YuZHBEaXYuY3NzKHtwb3NpdGlvbjphLmRhdGVwaWNrZXIuX2lu
RGlhbG9nJiZhLmJsb2NrVUk/InN0YXRpYyI6bD8iZml4ZWQiOiJhYnNvbHV0ZSIsZGlzcGxheToi
bm9uZSIsbGVmdDpqLmxlZnQrInB4Iix0b3A6ai50b3ArInB4In0pO2lmKCFmLmlubGluZSl7aj1h
LmRhdGVwaWNrZXIuX2dldChmLCJzaG93QW5pbSIpO3ZhciBvPWEuZGF0ZXBpY2tlci5fZ2V0KGYs
ImR1cmF0aW9uIiksbj1mdW5jdGlvbigpe3ZhciBrPWYuZHBEaXYuZmluZCgiaWZyYW1lLnVpLWRh
dGVwaWNrZXItY292ZXIiKTtpZihrLmxlbmd0aCl7dmFyIG09YS5kYXRlcGlja2VyLl9nZXRCb3Jk
ZXJzKGYuZHBEaXYpO2suY3NzKHtsZWZ0Oi1tWzBdLHRvcDotbVsxXSx3aWR0aDpmLmRwRGl2Lm91
dGVyV2lkdGgoKSxoZWlnaHQ6Zi5kcERpdi5vdXRlckhlaWdodCgpfSl9fTtmLmRwRGl2LnpJbmRl
eChhKGIpLnpJbmRleCgpKzEpO2EuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmc9dHJ1ZTth
LmVmZmVjdHMmJgorYS5lZmZlY3RzW2pdP2YuZHBEaXYuc2hvdyhqLGEuZGF0ZXBpY2tlci5fZ2V0
KGYsInNob3dPcHRpb25zIiksbyxuKTpmLmRwRGl2W2p8fCJzaG93Il0oaj9vOm51bGwsbik7aWYo
IWp8fCFvKW4oKTtmLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYhZi5pbnB1dC5pcygiOmRpc2FibGVk
IikmJmYuaW5wdXQuZm9jdXMoKTthLmRhdGVwaWNrZXIuX2N1ckluc3Q9Zn19fSxfdXBkYXRlRGF0
ZXBpY2tlcjpmdW5jdGlvbihiKXt0aGlzLm1heFJvd3M9NDt2YXIgZj1hLmRhdGVwaWNrZXIuX2dl
dEJvcmRlcnMoYi5kcERpdik7aT1iO2IuZHBEaXYuZW1wdHkoKS5hcHBlbmQodGhpcy5fZ2VuZXJh
dGVIVE1MKGIpKTt2YXIgaj1iLmRwRGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVy
Iik7ai5sZW5ndGgmJmouY3NzKHtsZWZ0Oi1mWzBdLHRvcDotZlsxXSx3aWR0aDpiLmRwRGl2Lm91
dGVyV2lkdGgoKSxoZWlnaHQ6Yi5kcERpdi5vdXRlckhlaWdodCgpfSk7Yi5kcERpdi5maW5kKCIu
IisKK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKS5tb3VzZW92ZXIoKTtmPXRoaXMuX2dldE51bWJl
ck9mTW9udGhzKGIpO2o9ZlsxXTtiLmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11
bHRpLTIgdWktZGF0ZXBpY2tlci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRo
KCIiKTtqPjEmJmIuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIitqKS5jc3Mo
IndpZHRoIiwxNypqKyJlbSIpO2IuZHBEaXZbKGZbMF0hPTF8fGZbMV0hPTE/ImFkZCI6InJlbW92
ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLW11bHRpIik7Yi5kcERpdlsodGhpcy5fZ2V0KGIs
ImlzUlRMIik/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpO2I9
PWEuZGF0ZXBpY2tlci5fY3VySW5zdCYmYS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYm
Yi5pbnB1dCYmYi5pbnB1dC5pcygiOnZpc2libGUiKSYmIWIuaW5wdXQuaXMoIjpkaXNhYmxlZCIp
JiYKK2IuaW5wdXRbMF0hPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmIuaW5wdXQuZm9jdXMoKTtp
ZihiLnllYXJzaHRtbCl7dmFyIGw9Yi55ZWFyc2h0bWw7c2V0VGltZW91dChmdW5jdGlvbigpe2w9
PT1iLnllYXJzaHRtbCYmYi55ZWFyc2h0bWwmJmIuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVw
aWNrZXIteWVhcjpmaXJzdCIpLnJlcGxhY2VXaXRoKGIueWVhcnNodG1sKTtsPWIueWVhcnNodG1s
PW51bGx9LDApfX0sX2dldEJvcmRlcnM6ZnVuY3Rpb24oYil7dmFyIGY9ZnVuY3Rpb24oail7cmV0
dXJue3RoaW46MSxtZWRpdW06Mix0aGljazozfVtqXXx8an07cmV0dXJuW3BhcnNlRmxvYXQoZihi
LmNzcygiYm9yZGVyLWxlZnQtd2lkdGgiKSkpLHBhcnNlRmxvYXQoZihiLmNzcygiYm9yZGVyLXRv
cC13aWR0aCIpKSldfSxfY2hlY2tPZmZzZXQ6ZnVuY3Rpb24oYixmLGope3ZhciBsPWIuZHBEaXYu
b3V0ZXJXaWR0aCgpLG89Yi5kcERpdi5vdXRlckhlaWdodCgpLG49Yi5pbnB1dD9iLmlucHV0Lm91
dGVyV2lkdGgoKToKKzAsaz1iLmlucHV0P2IuaW5wdXQub3V0ZXJIZWlnaHQoKTowLG09ZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoK2EoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSxw
PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQrYShkb2N1bWVudCkuc2Nyb2xs
VG9wKCk7Zi5sZWZ0LT10aGlzLl9nZXQoYiwiaXNSVEwiKT9sLW46MDtmLmxlZnQtPWomJmYubGVm
dD09Yi5pbnB1dC5vZmZzZXQoKS5sZWZ0P2EoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowO2YudG9w
LT1qJiZmLnRvcD09Yi5pbnB1dC5vZmZzZXQoKS50b3Araz9hKGRvY3VtZW50KS5zY3JvbGxUb3Ao
KTowO2YubGVmdC09TWF0aC5taW4oZi5sZWZ0LGYubGVmdCtsPm0mJm0+bD9NYXRoLmFicyhmLmxl
ZnQrbC1tKTowKTtmLnRvcC09TWF0aC5taW4oZi50b3AsZi50b3Arbz5wJiZwPm8/TWF0aC5hYnMo
bytrKTowKTtyZXR1cm4gZn0sX2ZpbmRQb3M6ZnVuY3Rpb24oYil7Zm9yKHZhciBmPXRoaXMuX2dl
dCh0aGlzLl9nZXRJbnN0KGIpLAorImlzUlRMIik7YiYmKGIudHlwZT09ImhpZGRlbiJ8fGIubm9k
ZVR5cGUhPTF8fGEuZXhwci5maWx0ZXJzLmhpZGRlbihiKSk7KWI9YltmPyJwcmV2aW91c1NpYmxp
bmciOiJuZXh0U2libGluZyJdO2I9YShiKS5vZmZzZXQoKTtyZXR1cm5bYi5sZWZ0LGIudG9wXX0s
X3RyaWdnZXJPbkNsb3NlOmZ1bmN0aW9uKGIpe3ZhciBmPXRoaXMuX2dldChiLCJvbkNsb3NlIik7
aWYoZilmLmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtiLmlucHV0P2IuaW5wdXQudmFs
KCk6IiIsYl0pfSxfaGlkZURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fY3VySW5z
dDtpZighKCFmfHxiJiZmIT1hLmRhdGEoYiwiZGF0ZXBpY2tlciIpKSlpZih0aGlzLl9kYXRlcGlj
a2VyU2hvd2luZyl7Yj10aGlzLl9nZXQoZiwic2hvd0FuaW0iKTt2YXIgaj10aGlzLl9nZXQoZiwi
ZHVyYXRpb24iKSxsPWZ1bmN0aW9uKCl7YS5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGYpO3RoaXMu
X2N1ckluc3Q9CitudWxsfTthLmVmZmVjdHMmJmEuZWZmZWN0c1tiXT9mLmRwRGl2LmhpZGUoYixh
LmRhdGVwaWNrZXIuX2dldChmLCJzaG93T3B0aW9ucyIpLGosbCk6Zi5kcERpdltiPT0ic2xpZGVE
b3duIj8ic2xpZGVVcCI6Yj09ImZhZGVJbiI/ImZhZGVPdXQiOiJoaWRlIl0oYj9qOm51bGwsbCk7
Ynx8bCgpO2EuZGF0ZXBpY2tlci5fdHJpZ2dlck9uQ2xvc2UoZik7dGhpcy5fZGF0ZXBpY2tlclNo
b3dpbmc9ZmFsc2U7dGhpcy5fbGFzdElucHV0PW51bGw7aWYodGhpcy5faW5EaWFsb2cpe3RoaXMu
X2RpYWxvZ0lucHV0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBw
eCJ9KTtpZihhLmJsb2NrVUkpe2EudW5ibG9ja1VJKCk7YSgiYm9keSIpLmFwcGVuZCh0aGlzLmRw
RGl2KX19dGhpcy5faW5EaWFsb2c9ZmFsc2V9fSxfdGlkeURpYWxvZzpmdW5jdGlvbihiKXtiLmRw
RGl2LnJlbW92ZUNsYXNzKHRoaXMuX2RpYWxvZ0NsYXNzKS51bmJpbmQoIi51aS1kYXRlcGlja2Vy
LWNhbGVuZGFyIil9LAorX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihiKXtpZihhLmRhdGVw
aWNrZXIuX2N1ckluc3Qpe2I9YShiLnRhcmdldCk7YlswXS5pZCE9YS5kYXRlcGlja2VyLl9tYWlu
RGl2SWQmJmIucGFyZW50cygiIyIrYS5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYm
IWIuaGFzQ2xhc3MoYS5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJiFiLmhhc0NsYXNzKGEu
ZGF0ZXBpY2tlci5fdHJpZ2dlckNsYXNzKSYmYS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2lu
ZyYmIShhLmRhdGVwaWNrZXIuX2luRGlhbG9nJiZhLmJsb2NrVUkpJiZhLmRhdGVwaWNrZXIuX2hp
ZGVEYXRlcGlja2VyKCl9fSxfYWRqdXN0RGF0ZTpmdW5jdGlvbihiLGYsail7Yj1hKGIpO3ZhciBs
PXRoaXMuX2dldEluc3QoYlswXSk7aWYoIXRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKGJbMF0p
KXt0aGlzLl9hZGp1c3RJbnN0RGF0ZShsLGYrKGo9PSJNIj90aGlzLl9nZXQobCwic2hvd0N1cnJl
bnRBdFBvcyIpOgorMCksaik7dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihsKX19LF9nb3RvVG9kYXk6
ZnVuY3Rpb24oYil7Yj1hKGIpO3ZhciBmPXRoaXMuX2dldEluc3QoYlswXSk7aWYodGhpcy5fZ2V0
KGYsImdvdG9DdXJyZW50IikmJmYuY3VycmVudERheSl7Zi5zZWxlY3RlZERheT1mLmN1cnJlbnRE
YXk7Zi5kcmF3TW9udGg9Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRoO2YuZHJhd1llYXI9
Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcn1lbHNle3ZhciBqPW5ldyBEYXRlO2Yuc2VsZWN0
ZWREYXk9ai5nZXREYXRlKCk7Zi5kcmF3TW9udGg9Zi5zZWxlY3RlZE1vbnRoPWouZ2V0TW9udGgo
KTtmLmRyYXdZZWFyPWYuc2VsZWN0ZWRZZWFyPWouZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlD
aGFuZ2UoZik7dGhpcy5fYWRqdXN0RGF0ZShiKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihi
LGYsail7Yj1hKGIpO3ZhciBsPXRoaXMuX2dldEluc3QoYlswXSk7bFsic2VsZWN0ZWQiKyhqPT0i
TSI/CisiTW9udGgiOiJZZWFyIildPWxbImRyYXciKyhqPT0iTSI/Ik1vbnRoIjoiWWVhciIpXT1w
YXJzZUludChmLm9wdGlvbnNbZi5zZWxlY3RlZEluZGV4XS52YWx1ZSwxMCk7dGhpcy5fbm90aWZ5
Q2hhbmdlKGwpO3RoaXMuX2FkanVzdERhdGUoYil9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYixmLGos
bCl7dmFyIG89YShiKTtpZighKGEobCkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3Mp
fHx0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihvWzBdKSkpe289dGhpcy5fZ2V0SW5zdChvWzBd
KTtvLnNlbGVjdGVkRGF5PW8uY3VycmVudERheT1hKCJhIixsKS5odG1sKCk7by5zZWxlY3RlZE1v
bnRoPW8uY3VycmVudE1vbnRoPWY7by5zZWxlY3RlZFllYXI9by5jdXJyZW50WWVhcj1qO3RoaXMu
X3NlbGVjdERhdGUoYix0aGlzLl9mb3JtYXREYXRlKG8sby5jdXJyZW50RGF5LG8uY3VycmVudE1v
bnRoLG8uY3VycmVudFllYXIpKX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYil7Yj1hKGIpOwordGhp
cy5fZ2V0SW5zdChiWzBdKTt0aGlzLl9zZWxlY3REYXRlKGIsIiIpfSxfc2VsZWN0RGF0ZTpmdW5j
dGlvbihiLGYpe2I9dGhpcy5fZ2V0SW5zdChhKGIpWzBdKTtmPWYhPW51bGw/Zjp0aGlzLl9mb3Jt
YXREYXRlKGIpO2IuaW5wdXQmJmIuaW5wdXQudmFsKGYpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShi
KTt2YXIgaj10aGlzLl9nZXQoYiwib25TZWxlY3QiKTtpZihqKWouYXBwbHkoYi5pbnB1dD9iLmlu
cHV0WzBdOm51bGwsW2YsYl0pO2Vsc2UgYi5pbnB1dCYmYi5pbnB1dC50cmlnZ2VyKCJjaGFuZ2Ui
KTtpZihiLmlubGluZSl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO2Vsc2V7dGhpcy5faGlkZURh
dGVwaWNrZXIoKTt0aGlzLl9sYXN0SW5wdXQ9Yi5pbnB1dFswXTtiLmlucHV0LmZvY3VzKCk7dGhp
cy5fbGFzdElucHV0PW51bGx9fSxfdXBkYXRlQWx0ZXJuYXRlOmZ1bmN0aW9uKGIpe3ZhciBmPXRo
aXMuX2dldChiLCJhbHRGaWVsZCIpO2lmKGYpe3ZhciBqPXRoaXMuX2dldChiLAorImFsdEZvcm1h
dCIpfHx0aGlzLl9nZXQoYiwiZGF0ZUZvcm1hdCIpLGw9dGhpcy5fZ2V0RGF0ZShiKSxvPXRoaXMu
Zm9ybWF0RGF0ZShqLGwsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGIpKTthKGYpLmVhY2goZnVuY3Rp
b24oKXthKHRoaXMpLnZhbChvKX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihiKXtiPWIuZ2V0RGF5
KCk7cmV0dXJuW2I+MCYmYjw2LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYil7Yj1uZXcgRGF0
ZShiLmdldFRpbWUoKSk7Yi5zZXREYXRlKGIuZ2V0RGF0ZSgpKzQtKGIuZ2V0RGF5KCl8fDcpKTt2
YXIgZj1iLmdldFRpbWUoKTtiLnNldE1vbnRoKDApO2Iuc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5m
bG9vcihNYXRoLnJvdW5kKChmLWIpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYixm
LGope2lmKGI9PW51bGx8fGY9PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2Y9dHlwZW9m
IGY9PSJvYmplY3QiP2YudG9TdHJpbmcoKTpmKyIiO2lmKGY9PQorIiIpcmV0dXJuIG51bGw7dmFy
IGw9KGo/ai5zaG9ydFllYXJDdXRvZmY6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1
dG9mZjtsPXR5cGVvZiBsIT0ic3RyaW5nIj9sOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDAr
cGFyc2VJbnQobCwxMCk7Zm9yKHZhciBvPShqP2ouZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5f
ZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxuPShqP2ouZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1
bHRzLmRheU5hbWVzLGs9KGo/ai5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRz
Lm1vbnRoTmFtZXNTaG9ydCxtPShqP2oubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMu
bW9udGhOYW1lcyxwPWo9LTEscT0tMSxzPS0xLHI9ZmFsc2UsdT1mdW5jdGlvbih6KXsoej1IKzE8
Yi5sZW5ndGgmJmIuY2hhckF0KEgrMSk9PXopJiZIKys7cmV0dXJuIHp9LHY9ZnVuY3Rpb24oeil7
dmFyIEk9dSh6KTt6PW5ldyBSZWdFeHAoIl5cXGR7MSwiKworKHo9PSJAIj8xNDp6PT0iISI/MjA6
ej09InkiJiZJPzQ6ej09Im8iPzM6MikrIn0iKTt6PWYuc3Vic3RyaW5nKHkpLm1hdGNoKHopO2lm
KCF6KXRocm93Ik1pc3NpbmcgbnVtYmVyIGF0IHBvc2l0aW9uICIreTt5Kz16WzBdLmxlbmd0aDty
ZXR1cm4gcGFyc2VJbnQoelswXSwxMCl9LHc9ZnVuY3Rpb24oeixJLE4pe3o9YS5tYXAodSh6KT9O
OkksZnVuY3Rpb24oRCxFKXtyZXR1cm5bW0UsRF1dfSkuc29ydChmdW5jdGlvbihELEUpe3JldHVy
bi0oRFsxXS5sZW5ndGgtRVsxXS5sZW5ndGgpfSk7dmFyIEo9LTE7YS5lYWNoKHosZnVuY3Rpb24o
RCxFKXtEPUVbMV07aWYoZi5zdWJzdHIoeSxELmxlbmd0aCkudG9Mb3dlckNhc2UoKT09RC50b0xv
d2VyQ2FzZSgpKXtKPUVbMF07eSs9RC5sZW5ndGg7cmV0dXJuIGZhbHNlfX0pO2lmKEohPS0xKXJl
dHVybiBKKzE7ZWxzZSB0aHJvdyJVbmtub3duIG5hbWUgYXQgcG9zaXRpb24gIit5O30seD1mdW5j
dGlvbigpe2lmKGYuY2hhckF0KHkpIT1iLmNoYXJBdChIKSl0aHJvdyJVbmV4cGVjdGVkIGxpdGVy
YWwgYXQgcG9zaXRpb24gIisKK3k7eSsrfSx5PTAsSD0wO0g8Yi5sZW5ndGg7SCsrKWlmKHIpaWYo
Yi5jaGFyQXQoSCk9PSInIiYmIXUoIiciKSlyPWZhbHNlO2Vsc2UgeCgpO2Vsc2Ugc3dpdGNoKGIu
Y2hhckF0KEgpKXtjYXNlICJkIjpxPXYoImQiKTticmVhaztjYXNlICJEIjp3KCJEIixvLG4pO2Jy
ZWFrO2Nhc2UgIm8iOnM9digibyIpO2JyZWFrO2Nhc2UgIm0iOnA9digibSIpO2JyZWFrO2Nhc2Ug
Ik0iOnA9dygiTSIsayxtKTticmVhaztjYXNlICJ5IjpqPXYoInkiKTticmVhaztjYXNlICJAIjp2
YXIgQz1uZXcgRGF0ZSh2KCJAIikpO2o9Qy5nZXRGdWxsWWVhcigpO3A9Qy5nZXRNb250aCgpKzE7
cT1DLmdldERhdGUoKTticmVhaztjYXNlICIhIjpDPW5ldyBEYXRlKCh2KCIhIiktdGhpcy5fdGlj
a3NUbzE5NzApLzFFNCk7aj1DLmdldEZ1bGxZZWFyKCk7cD1DLmdldE1vbnRoKCkrMTtxPUMuZ2V0
RGF0ZSgpO2JyZWFrO2Nhc2UgIiciOmlmKHUoIiciKSl4KCk7ZWxzZSByPXRydWU7YnJlYWs7ZGVm
YXVsdDp4KCl9aWYoeTwKK2YubGVuZ3RoKXRocm93IkV4dHJhL3VucGFyc2VkIGNoYXJhY3RlcnMg
Zm91bmQgaW4gZGF0ZTogIitmLnN1YnN0cmluZyh5KTtpZihqPT0tMSlqPShuZXcgRGF0ZSkuZ2V0
RnVsbFllYXIoKTtlbHNlIGlmKGo8MTAwKWorPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKS0obmV3
IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwKyhqPD1sPzA6LTEwMCk7aWYocz4tMSl7cD0xO3E9cztk
b3tsPXRoaXMuX2dldERheXNJbk1vbnRoKGoscC0xKTtpZihxPD1sKWJyZWFrO3ArKztxLT1sfXdo
aWxlKDEpfUM9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaixwLTEscSkpO2lm
KEMuZ2V0RnVsbFllYXIoKSE9anx8Qy5nZXRNb250aCgpKzEhPXB8fEMuZ2V0RGF0ZSgpIT1xKXRo
cm93IkludmFsaWQgZGF0ZSI7cmV0dXJuIEN9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRk
IE0geXkiLElTT184NjAxOiJ5eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRE
LCBkZC1NLXkiLAorUkZDXzEwMzY6IkQsIGQgTSB5IixSRkNfMTEyMzoiRCwgZCBNIHl5IixSRkNf
MjgyMjoiRCwgZCBNIHl5IixSU1M6IkQsIGQgTSB5IixUSUNLUzoiISIsVElNRVNUQU1QOiJAIixX
M0M6Inl5LW1tLWRkIixfdGlja3NUbzE5NzA6KDcxODY4NStNYXRoLmZsb29yKDQ5Mi41KS1NYXRo
LmZsb29yKDE5LjcpK01hdGguZmxvb3IoNC45MjUpKSoyNCo2MCo2MCoxRTcsZm9ybWF0RGF0ZTpm
dW5jdGlvbihiLGYsail7aWYoIWYpcmV0dXJuIiI7dmFyIGw9KGo/ai5kYXlOYW1lc1Nob3J0Om51
bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LG89KGo/ai5kYXlOYW1lczpudWxsKXx8
dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsbj0oaj9qLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhp
cy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0O2o9KGo/ai5tb250aE5hbWVzOm51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5tb250aE5hbWVzO3ZhciBrPWZ1bmN0aW9uKHUpeyh1PXIrMTxiLmxlbmd0aCYm
CitiLmNoYXJBdChyKzEpPT11KSYmcisrO3JldHVybiB1fSxtPWZ1bmN0aW9uKHUsdix3KXt2PSIi
K3Y7aWYoayh1KSlmb3IoO3YubGVuZ3RoPHc7KXY9IjAiK3Y7cmV0dXJuIHZ9LHA9ZnVuY3Rpb24o
dSx2LHcseCl7cmV0dXJuIGsodSk/eFt2XTp3W3ZdfSxxPSIiLHM9ZmFsc2U7aWYoZilmb3IodmFy
IHI9MDtyPGIubGVuZ3RoO3IrKylpZihzKWlmKGIuY2hhckF0KHIpPT0iJyImJiFrKCInIikpcz1m
YWxzZTtlbHNlIHErPWIuY2hhckF0KHIpO2Vsc2Ugc3dpdGNoKGIuY2hhckF0KHIpKXtjYXNlICJk
IjpxKz1tKCJkIixmLmdldERhdGUoKSwyKTticmVhaztjYXNlICJEIjpxKz1wKCJEIixmLmdldERh
eSgpLGwsbyk7YnJlYWs7Y2FzZSAibyI6cSs9bSgibyIsTWF0aC5yb3VuZCgoKG5ldyBEYXRlKGYu
Z2V0RnVsbFllYXIoKSxmLmdldE1vbnRoKCksZi5nZXREYXRlKCkpKS5nZXRUaW1lKCktKG5ldyBE
YXRlKGYuZ2V0RnVsbFllYXIoKSwwLDApKS5nZXRUaW1lKCkpLzg2NEU1KSwzKTsKK2JyZWFrO2Nh
c2UgIm0iOnErPW0oIm0iLGYuZ2V0TW9udGgoKSsxLDIpO2JyZWFrO2Nhc2UgIk0iOnErPXAoIk0i
LGYuZ2V0TW9udGgoKSxuLGopO2JyZWFrO2Nhc2UgInkiOnErPWsoInkiKT9mLmdldEZ1bGxZZWFy
KCk6KGYuZ2V0WWVhcigpJTEwMDwxMD8iMCI6IiIpK2YuZ2V0WWVhcigpJTEwMDticmVhaztjYXNl
ICJAIjpxKz1mLmdldFRpbWUoKTticmVhaztjYXNlICIhIjpxKz1mLmdldFRpbWUoKSoxRTQrdGhp
cy5fdGlja3NUbzE5NzA7YnJlYWs7Y2FzZSAiJyI6aWYoaygiJyIpKXErPSInIjtlbHNlIHM9dHJ1
ZTticmVhaztkZWZhdWx0OnErPWIuY2hhckF0KHIpfXJldHVybiBxfSxfcG9zc2libGVDaGFyczpm
dW5jdGlvbihiKXtmb3IodmFyIGY9IiIsaj1mYWxzZSxsPWZ1bmN0aW9uKG4peyhuPW8rMTxiLmxl
bmd0aCYmYi5jaGFyQXQobysxKT09bikmJm8rKztyZXR1cm4gbn0sbz0wO288Yi5sZW5ndGg7bysr
KWlmKGopaWYoYi5jaGFyQXQobyk9PSInIiYmIWwoIiciKSlqPQorZmFsc2U7ZWxzZSBmKz1iLmNo
YXJBdChvKTtlbHNlIHN3aXRjaChiLmNoYXJBdChvKSl7Y2FzZSAiZCI6Y2FzZSAibSI6Y2FzZSAi
eSI6Y2FzZSAiQCI6Zis9IjAxMjM0NTY3ODkiO2JyZWFrO2Nhc2UgIkQiOmNhc2UgIk0iOnJldHVy
biBudWxsO2Nhc2UgIiciOmlmKGwoIiciKSlmKz0iJyI7ZWxzZSBqPXRydWU7YnJlYWs7ZGVmYXVs
dDpmKz1iLmNoYXJBdChvKX1yZXR1cm4gZn0sX2dldDpmdW5jdGlvbihiLGYpe3JldHVybiBiLnNl
dHRpbmdzW2ZdIT09Yz9iLnNldHRpbmdzW2ZdOnRoaXMuX2RlZmF1bHRzW2ZdfSxfc2V0RGF0ZUZy
b21GaWVsZDpmdW5jdGlvbihiLGYpe2lmKGIuaW5wdXQudmFsKCkhPWIubGFzdFZhbCl7dmFyIGo9
dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKSxsPWIubGFzdFZhbD1iLmlucHV0P2IuaW5wdXQudmFs
KCk6bnVsbCxvLG47bz1uPXRoaXMuX2dldERlZmF1bHREYXRlKGIpO3ZhciBrPXRoaXMuX2dldEZv
cm1hdENvbmZpZyhiKTt0cnl7bz10aGlzLnBhcnNlRGF0ZShqLAorbCxrKXx8bn1jYXRjaChtKXt0
aGlzLmxvZyhtKTtsPWY/IiI6bH1iLnNlbGVjdGVkRGF5PW8uZ2V0RGF0ZSgpO2IuZHJhd01vbnRo
PWIuc2VsZWN0ZWRNb250aD1vLmdldE1vbnRoKCk7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1v
LmdldEZ1bGxZZWFyKCk7Yi5jdXJyZW50RGF5PWw/by5nZXREYXRlKCk6MDtiLmN1cnJlbnRNb250
aD1sP28uZ2V0TW9udGgoKTowO2IuY3VycmVudFllYXI9bD9vLmdldEZ1bGxZZWFyKCk6MDt0aGlz
Ll9hZGp1c3RJbnN0RGF0ZShiKX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihiKXtyZXR1cm4g
dGhpcy5fcmVzdHJpY3RNaW5NYXgoYix0aGlzLl9kZXRlcm1pbmVEYXRlKGIsdGhpcy5fZ2V0KGIs
ImRlZmF1bHREYXRlIiksbmV3IERhdGUpKX0sX2RldGVybWluZURhdGU6ZnVuY3Rpb24oYixmLGop
e3ZhciBsPWZ1bmN0aW9uKG4pe3ZhciBrPW5ldyBEYXRlO2suc2V0RGF0ZShrLmdldERhdGUoKStu
KTtyZXR1cm4ga30sbz1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIGEuZGF0ZXBpY2tlci5wYXJzZURh
dGUoYS5kYXRlcGlja2VyLl9nZXQoYiwKKyJkYXRlRm9ybWF0IiksbixhLmRhdGVwaWNrZXIuX2dl
dEZvcm1hdENvbmZpZyhiKSl9Y2F0Y2goayl7fXZhciBtPShuLnRvTG93ZXJDYXNlKCkubWF0Y2go
L15jLyk/YS5kYXRlcGlja2VyLl9nZXREYXRlKGIpOm51bGwpfHxuZXcgRGF0ZSxwPW0uZ2V0RnVs
bFllYXIoKSxxPW0uZ2V0TW9udGgoKTttPW0uZ2V0RGF0ZSgpO2Zvcih2YXIgcz0vKFsrLV0/WzAt
OV0rKVxzKihkfER8d3xXfG18TXx5fFkpPy9nLHI9cy5leGVjKG4pO3I7KXtzd2l0Y2goclsyXXx8
ImQiKXtjYXNlICJkIjpjYXNlICJEIjptKz1wYXJzZUludChyWzFdLDEwKTticmVhaztjYXNlICJ3
IjpjYXNlICJXIjptKz1wYXJzZUludChyWzFdLDEwKSo3O2JyZWFrO2Nhc2UgIm0iOmNhc2UgIk0i
OnErPXBhcnNlSW50KHJbMV0sMTApO209TWF0aC5taW4obSxhLmRhdGVwaWNrZXIuX2dldERheXNJ
bk1vbnRoKHAscSkpO2JyZWFrO2Nhc2UgInkiOmNhc2UgIlkiOnArPXBhcnNlSW50KHJbMV0sMTAp
O209TWF0aC5taW4obSwKK2EuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgocCxxKSk7YnJlYWt9
cj1zLmV4ZWMobil9cmV0dXJuIG5ldyBEYXRlKHAscSxtKX07aWYoZj0oZj1mPT1udWxsfHxmPT09
IiI/ajp0eXBlb2YgZj09InN0cmluZyI/byhmKTp0eXBlb2YgZj09Im51bWJlciI/aXNOYU4oZik/
ajpsKGYpOm5ldyBEYXRlKGYuZ2V0VGltZSgpKSkmJmYudG9TdHJpbmcoKT09IkludmFsaWQgRGF0
ZSI/ajpmKXtmLnNldEhvdXJzKDApO2Yuc2V0TWludXRlcygwKTtmLnNldFNlY29uZHMoMCk7Zi5z
ZXRNaWxsaXNlY29uZHMoMCl9cmV0dXJuIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KGYpfSxf
ZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24oYil7aWYoIWIpcmV0dXJuIG51bGw7Yi5zZXRI
b3VycyhiLmdldEhvdXJzKCk+MTI/Yi5nZXRIb3VycygpKzI6MCk7cmV0dXJuIGJ9LF9zZXREYXRl
OmZ1bmN0aW9uKGIsZixqKXt2YXIgbD0hZixvPWIuc2VsZWN0ZWRNb250aCxuPWIuc2VsZWN0ZWRZ
ZWFyOworZj10aGlzLl9yZXN0cmljdE1pbk1heChiLHRoaXMuX2RldGVybWluZURhdGUoYixmLG5l
dyBEYXRlKSk7Yi5zZWxlY3RlZERheT1iLmN1cnJlbnREYXk9Zi5nZXREYXRlKCk7Yi5kcmF3TW9u
dGg9Yi5zZWxlY3RlZE1vbnRoPWIuY3VycmVudE1vbnRoPWYuZ2V0TW9udGgoKTtiLmRyYXdZZWFy
PWIuc2VsZWN0ZWRZZWFyPWIuY3VycmVudFllYXI9Zi5nZXRGdWxsWWVhcigpO2lmKChvIT1iLnNl
bGVjdGVkTW9udGh8fG4hPWIuc2VsZWN0ZWRZZWFyKSYmIWopdGhpcy5fbm90aWZ5Q2hhbmdlKGIp
O3RoaXMuX2FkanVzdEluc3REYXRlKGIpO2lmKGIuaW5wdXQpYi5pbnB1dC52YWwobD8iIjp0aGlz
Ll9mb3JtYXREYXRlKGIpKTtpZihqPXRoaXMuX2dldChiLCJvblNlbGVjdCIpKXtsPXRoaXMuX2Zv
cm1hdERhdGUoYik7ai5hcHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVsbCxbbCxiXSl9fSxfZ2V0
RGF0ZTpmdW5jdGlvbihiKXtyZXR1cm4hYi5jdXJyZW50WWVhcnx8Yi5pbnB1dCYmYi5pbnB1dC52
YWwoKT09CisiIj9udWxsOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuY3Vy
cmVudFllYXIsYi5jdXJyZW50TW9udGgsYi5jdXJyZW50RGF5KSl9LF9nZW5lcmF0ZUhUTUw6ZnVu
Y3Rpb24oYil7dmFyIGY9bmV3IERhdGU7Zj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcg
RGF0ZShmLmdldEZ1bGxZZWFyKCksZi5nZXRNb250aCgpLGYuZ2V0RGF0ZSgpKSk7dmFyIGo9dGhp
cy5fZ2V0KGIsImlzUlRMIiksbD10aGlzLl9nZXQoYiwic2hvd0J1dHRvblBhbmVsIiksbz10aGlz
Ll9nZXQoYiwiaGlkZUlmTm9QcmV2TmV4dCIpLG49dGhpcy5fZ2V0KGIsIm5hdmlnYXRpb25Bc0Rh
dGVGb3JtYXQiKSxrPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGIpLG09dGhpcy5fZ2V0KGIsInNo
b3dDdXJyZW50QXRQb3MiKSxwPXRoaXMuX2dldChiLCJzdGVwTW9udGhzIikscT1rWzBdIT0xfHxr
WzFdIT0xLHM9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIWIuY3VycmVudERheT9uZXcgRGF0
ZSg5OTk5LAorOSw5KTpuZXcgRGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRoLGIuY3Vy
cmVudERheSkpLHI9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtaW4iKSx1PXRoaXMuX2dldE1pbk1h
eERhdGUoYiwibWF4Iik7bT1iLmRyYXdNb250aC1tO3ZhciB2PWIuZHJhd1llYXI7aWYobTwwKXtt
Kz0xMjt2LS19aWYodSl7dmFyIHc9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUo
dS5nZXRGdWxsWWVhcigpLHUuZ2V0TW9udGgoKS1rWzBdKmtbMV0rMSx1LmdldERhdGUoKSkpO2Zv
cih3PXImJnc8cj9yOnc7dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixtLDEp
KT53Oyl7bS0tO2lmKG08MCl7bT0xMTt2LS19fX1iLmRyYXdNb250aD1tO2IuZHJhd1llYXI9djt3
PXRoaXMuX2dldChiLCJwcmV2VGV4dCIpO3c9IW4/dzp0aGlzLmZvcm1hdERhdGUodyx0aGlzLl9k
YXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0tcCwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29u
ZmlnKGIpKTsKK3c9dGhpcy5fY2FuQWRqdXN0TW9udGgoYiwtMSx2LG0pPyc8YSBjbGFzcz0idWkt
ZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crIi5k
YXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIitiLmlkKyInLCAtIitwKyIsICdNJyk7XCIgdGl0bGU9
XCIiK3crJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJyso
aj8iZSI6InciKSsnIj4nK3crIjwvc3Bhbj48L2E+IjpvPyIiOic8YSBjbGFzcz0idWktZGF0ZXBp
Y2tlci1wcmV2IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK3crJyI+
PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoaj8iZSI6Inci
KSsnIj4nK3crIjwvc3Bhbj48L2E+Ijt2YXIgeD10aGlzLl9nZXQoYiwibmV4dFRleHQiKTt4PSFu
P3g6dGhpcy5mb3JtYXREYXRlKHgsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUo
diwKK20rcCwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGIpKTtvPXRoaXMuX2NhbkFkanVzdE1v
bnRoKGIsKzEsdixtKT8nPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxs
IiBvbmNsaWNrPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYi5p
ZCsiJywgKyIrcCsiLCAnTScpO1wiIHRpdGxlPVwiIit4KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29u
IHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGo/InciOiJlIikrJyI+Jyt4KyI8L3NwYW4+PC9h
PiI6bz8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0
YXRlLWRpc2FibGVkIiB0aXRsZT0iJyt4KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24t
Y2lyY2xlLXRyaWFuZ2xlLScrKGo/InciOiJlIikrJyI+Jyt4KyI8L3NwYW4+PC9hPiI7cD10aGlz
Ll9nZXQoYiwiY3VycmVudFRleHQiKTt4PXRoaXMuX2dldChiLCJnb3RvQ3VycmVudCIpJiYKK2Iu
Y3VycmVudERheT9zOmY7cD0hbj9wOnRoaXMuZm9ybWF0RGF0ZShwLHgsdGhpcy5fZ2V0Rm9ybWF0
Q29uZmlnKGIpKTtuPSFiLmlubGluZT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ1aS1k
YXRlcGlja2VyLWNsb3NlIHVpLXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktcHJpbWFyeSB1aS1j
b3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlfJytnKycuZGF0ZXBpY2tlci5faGlkZURhdGVw
aWNrZXIoKTsiPicrdGhpcy5fZ2V0KGIsImNsb3NlVGV4dCIpKyI8L2J1dHRvbj4iOiIiO2w9bD8n
PGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50Ij4n
KyhqP246IiIpKyh0aGlzLl9pc0luUmFuZ2UoYix4KT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNs
YXNzPSJ1aS1kYXRlcGlja2VyLWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1z
ZWNvbmRhcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrCitnKyIuZGF0ZXBp
Y2tlci5fZ290b1RvZGF5KCcjIitiLmlkKyInKTtcIj4iK3ArIjwvYnV0dG9uPiI6IiIpKyhqPyIi
Om4pKyI8L2Rpdj4iOiIiO249cGFyc2VJbnQodGhpcy5fZ2V0KGIsImZpcnN0RGF5IiksMTApO249
aXNOYU4obik/MDpuO3A9dGhpcy5fZ2V0KGIsInNob3dXZWVrIik7eD10aGlzLl9nZXQoYiwiZGF5
TmFtZXMiKTt0aGlzLl9nZXQoYiwiZGF5TmFtZXNTaG9ydCIpO3ZhciB5PXRoaXMuX2dldChiLCJk
YXlOYW1lc01pbiIpLEg9dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXMiKSxDPXRoaXMuX2dldChiLCJt
b250aE5hbWVzU2hvcnQiKSx6PXRoaXMuX2dldChiLCJiZWZvcmVTaG93RGF5IiksST10aGlzLl9n
ZXQoYiwic2hvd090aGVyTW9udGhzIiksTj10aGlzLl9nZXQoYiwic2VsZWN0T3RoZXJNb250aHMi
KTt0aGlzLl9nZXQoYiwiY2FsY3VsYXRlV2VlayIpO2Zvcih2YXIgSj10aGlzLl9nZXREZWZhdWx0
RGF0ZShiKSxEPSIiLEU9MDtFPGtbMF07RSsrKXt2YXIgUD0KKyIiO3RoaXMubWF4Um93cz00O2Zv
cih2YXIgTD0wO0w8a1sxXTtMKyspe3ZhciBRPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKHYsbSxiLnNlbGVjdGVkRGF5KSksQj0iIHVpLWNvcm5lci1hbGwiLEY9IiI7aWYocSl7
Ris9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItZ3JvdXAnO2lmKGtbMV0+MSlzd2l0Y2goTCl7
Y2FzZSAwOkYrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1maXJzdCI7Qj0iIHVpLWNvcm5lci0iKyhq
PyJyaWdodCI6ImxlZnQiKTticmVhaztjYXNlIGtbMV0tMTpGKz0iIHVpLWRhdGVwaWNrZXItZ3Jv
dXAtbGFzdCI7Qj0iIHVpLWNvcm5lci0iKyhqPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0
OkYrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUiO0I9IiI7YnJlYWt9Ris9JyI+J31GKz0n
PGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxw
ZXItY2xlYXJmaXgnK0IrJyI+JysoL2FsbHxsZWZ0Ly50ZXN0KEIpJiYKK0U9PTA/aj9vOnc6IiIp
KygvYWxsfHJpZ2h0Ly50ZXN0KEIpJiZFPT0wP2o/dzpvOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRo
WWVhckhlYWRlcihiLG0sdixyLHUsRT4wfHxMPjAsSCxDKSsnPC9kaXY+PHRhYmxlIGNsYXNzPSJ1
aS1kYXRlcGlja2VyLWNhbGVuZGFyIj48dGhlYWQ+PHRyPic7dmFyIEc9cD8nPHRoIGNsYXNzPSJ1
aS1kYXRlcGlja2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChiLCJ3ZWVrSGVhZGVyIikrIjwvdGg+
IjoiIjtmb3IoQj0wO0I8NztCKyspe3ZhciBBPShCK24pJTc7Rys9Ijx0aCIrKChCK24rNiklNz49
NT8nIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXdlZWstZW5kIic6IiIpKyc+PHNwYW4gdGl0bGU9Iicr
eFtBXSsnIj4nK3lbQV0rIjwvc3Bhbj48L3RoPiJ9Ris9RysiPC90cj48L3RoZWFkPjx0Ym9keT4i
O0c9dGhpcy5fZ2V0RGF5c0luTW9udGgodixtKTtpZih2PT1iLnNlbGVjdGVkWWVhciYmbT09Yi5z
ZWxlY3RlZE1vbnRoKWIuc2VsZWN0ZWREYXk9TWF0aC5taW4oYi5zZWxlY3RlZERheSwKK0cpO0I9
KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aCh2LG0pLW4rNyklNztHPU1hdGguY2VpbCgoQitHKS83
KTt0aGlzLm1heFJvd3M9Rz1xP3RoaXMubWF4Um93cz5HP3RoaXMubWF4Um93czpHOkc7QT10aGlz
Ll9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0sMS1CKSk7Zm9yKHZhciBSPTA7UjxH
O1IrKyl7Ris9Ijx0cj4iO3ZhciBTPSFwPyIiOic8dGQgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vl
ay1jb2wiPicrdGhpcy5fZ2V0KGIsImNhbGN1bGF0ZVdlZWsiKShBKSsiPC90ZD4iO2ZvcihCPTA7
Qjw3O0IrKyl7dmFyIE09ej96LmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtBXSk6W3Ry
dWUsIiJdLEs9QS5nZXRNb250aCgpIT1tLE89SyYmIU58fCFNWzBdfHxyJiZBPHJ8fHUmJkE+dTtT
Kz0nPHRkIGNsYXNzPSInKygoQituKzYpJTc+PTU/IiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIjoi
IikrKEs/IiB1aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIjoiIikrKEEuZ2V0VGltZSgpPT0KK1Eu
Z2V0VGltZSgpJiZtPT1iLnNlbGVjdGVkTW9udGgmJmIuX2tleUV2ZW50fHxKLmdldFRpbWUoKT09
QS5nZXRUaW1lKCkmJkouZ2V0VGltZSgpPT1RLmdldFRpbWUoKT8iICIrdGhpcy5fZGF5T3ZlckNs
YXNzOiIiKSsoTz8iICIrdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MrIiB1aS1zdGF0ZS1kaXNhYmxl
ZCI6IiIpKyhLJiYhST8iIjoiICIrTVsxXSsoQS5nZXRUaW1lKCk9PXMuZ2V0VGltZSgpPyIgIit0
aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyhBLmdldFRpbWUoKT09Zi5nZXRUaW1lKCk/IiB1aS1kYXRl
cGlja2VyLXRvZGF5IjoiIikpKyciJysoKCFLfHxJKSYmTVsyXT8nIHRpdGxlPSInK01bMl0rJyIn
OiIiKSsoTz8iIjonIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crIi5kYXRlcGlja2VyLl9zZWxlY3RE
YXkoJyMiK2IuaWQrIicsIitBLmdldE1vbnRoKCkrIiwiK0EuZ2V0RnVsbFllYXIoKSsnLCB0aGlz
KTtyZXR1cm4gZmFsc2U7IicpKyI+IisoSyYmIUk/IiYjeGEwOyI6Tz8nPHNwYW4gY2xhc3M9InVp
LXN0YXRlLWRlZmF1bHQiPicrCitBLmdldERhdGUoKSsiPC9zcGFuPiI6JzxhIGNsYXNzPSJ1aS1z
dGF0ZS1kZWZhdWx0JysoQS5nZXRUaW1lKCk9PWYuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxp
Z2h0IjoiIikrKEEuZ2V0VGltZSgpPT1zLmdldFRpbWUoKT8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIp
KyhLPyIgdWktcHJpb3JpdHktc2Vjb25kYXJ5IjoiIikrJyIgaHJlZj0iIyI+JytBLmdldERhdGUo
KSsiPC9hPiIpKyI8L3RkPiI7QS5zZXREYXRlKEEuZ2V0RGF0ZSgpKzEpO0E9dGhpcy5fZGF5bGln
aHRTYXZpbmdBZGp1c3QoQSl9Ris9UysiPC90cj4ifW0rKztpZihtPjExKXttPTA7disrfUYrPSI8
L3Rib2R5PjwvdGFibGU+IisocT8iPC9kaXY+Iisoa1swXT4wJiZMPT1rWzFdLTE/JzxkaXYgY2xh
c3M9InVpLWRhdGVwaWNrZXItcm93LWJyZWFrIj48L2Rpdj4nOiIiKToiIik7UCs9Rn1EKz1QfUQr
PWwrKGEuYnJvd3Nlci5tc2llJiZwYXJzZUludChhLmJyb3dzZXIudmVyc2lvbiwxMCk8NyYmIWIu
aW5saW5lPyc8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDpmYWxzZTsiIGNsYXNzPSJ1aS1kYXRlcGlj
a2VyLWNvdmVyIiBmcmFtZWJvcmRlcj0iMCI+PC9pZnJhbWU+JzoKKyIiKTtiLl9rZXlFdmVudD1m
YWxzZTtyZXR1cm4gRH0sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGIsZixqLGws
byxuLGssbSl7dmFyIHA9dGhpcy5fZ2V0KGIsImNoYW5nZU1vbnRoIikscT10aGlzLl9nZXQoYiwi
Y2hhbmdlWWVhciIpLHM9dGhpcy5fZ2V0KGIsInNob3dNb250aEFmdGVyWWVhciIpLHI9JzxkaXYg
Y2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicsdT0iIjtpZihufHwhcCl1Kz0nPHNwYW4gY2xh
c3M9InVpLWRhdGVwaWNrZXItbW9udGgiPicra1tmXSsiPC9zcGFuPiI7ZWxzZXtrPWwmJmwuZ2V0
RnVsbFllYXIoKT09ajt2YXIgdj1vJiZvLmdldEZ1bGxZZWFyKCk9PWo7dSs9JzxzZWxlY3QgY2xh
c3M9InVpLWRhdGVwaWNrZXItbW9udGgiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBp
Y2tlci5fc2VsZWN0TW9udGhZZWFyKCcjIitiLmlkKyInLCB0aGlzLCAnTScpO1wiID4iO2Zvcih2
YXIgdz0wO3c8MTI7dysrKWlmKCgha3x8dz49bC5nZXRNb250aCgpKSYmCisoIXZ8fHc8PW8uZ2V0
TW9udGgoKSkpdSs9JzxvcHRpb24gdmFsdWU9IicrdysnIicrKHc9PWY/JyBzZWxlY3RlZD0ic2Vs
ZWN0ZWQiJzoiIikrIj4iK21bd10rIjwvb3B0aW9uPiI7dSs9Ijwvc2VsZWN0PiJ9c3x8KHIrPXUr
KG58fCEocCYmcSk/IiYjeGEwOyI6IiIpKTtpZighYi55ZWFyc2h0bWwpe2IueWVhcnNodG1sPSIi
O2lmKG58fCFxKXIrPSc8c3BhbiBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIj4nK2orIjwvc3Bh
bj4iO2Vsc2V7bT10aGlzLl9nZXQoYiwieWVhclJhbmdlIikuc3BsaXQoIjoiKTt2YXIgeD0obmV3
IERhdGUpLmdldEZ1bGxZZWFyKCk7az1mdW5jdGlvbih5KXt5PXkubWF0Y2goL2NbKy1dLiovKT9q
K3BhcnNlSW50KHkuc3Vic3RyaW5nKDEpLDEwKTp5Lm1hdGNoKC9bKy1dLiovKT94K3BhcnNlSW50
KHksMTApOnBhcnNlSW50KHksMTApO3JldHVybiBpc05hTih5KT94Onl9O2Y9ayhtWzBdKTttPU1h
dGgubWF4KGYsayhtWzFdfHwiIikpO2Y9bD9NYXRoLm1heChmLAorbC5nZXRGdWxsWWVhcigpKTpm
O209bz9NYXRoLm1pbihtLG8uZ2V0RnVsbFllYXIoKSk6bTtmb3IoYi55ZWFyc2h0bWwrPSc8c2Vs
ZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXllYXIiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytnKyIu
ZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKCcjIitiLmlkKyInLCB0aGlzLCAnWScpO1wiID4i
O2Y8PW07ZisrKWIueWVhcnNodG1sKz0nPG9wdGlvbiB2YWx1ZT0iJytmKyciJysoZj09aj8nIHNl
bGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrZisiPC9vcHRpb24+IjtiLnllYXJzaHRtbCs9Ijwv
c2VsZWN0PiI7cis9Yi55ZWFyc2h0bWw7Yi55ZWFyc2h0bWw9bnVsbH19cis9dGhpcy5fZ2V0KGIs
InllYXJTdWZmaXgiKTtpZihzKXIrPShufHwhKHAmJnEpPyImI3hhMDsiOiIiKSt1O3IrPSI8L2Rp
dj4iO3JldHVybiByfSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oYixmLGope3ZhciBsPWIuZHJh
d1llYXIrKGo9PSJZIj9mOjApLG89Yi5kcmF3TW9udGgrCisoaj09Ik0iP2Y6MCk7Zj1NYXRoLm1p
bihiLnNlbGVjdGVkRGF5LHRoaXMuX2dldERheXNJbk1vbnRoKGwsbykpKyhqPT0iRCI/ZjowKTts
PXRoaXMuX3Jlc3RyaWN0TWluTWF4KGIsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERh
dGUobCxvLGYpKSk7Yi5zZWxlY3RlZERheT1sLmdldERhdGUoKTtiLmRyYXdNb250aD1iLnNlbGVj
dGVkTW9udGg9bC5nZXRNb250aCgpO2IuZHJhd1llYXI9Yi5zZWxlY3RlZFllYXI9bC5nZXRGdWxs
WWVhcigpO2lmKGo9PSJNInx8aj09IlkiKXRoaXMuX25vdGlmeUNoYW5nZShiKX0sX3Jlc3RyaWN0
TWluTWF4OmZ1bmN0aW9uKGIsZil7dmFyIGo9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtaW4iKTti
PXRoaXMuX2dldE1pbk1heERhdGUoYiwibWF4Iik7Zj1qJiZmPGo/ajpmO3JldHVybiBmPWImJmY+
Yj9iOmZ9LF9ub3RpZnlDaGFuZ2U6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fZ2V0KGIsIm9uQ2hh
bmdlTW9udGhZZWFyIik7aWYoZilmLmFwcGx5KGIuaW5wdXQ/CitiLmlucHV0WzBdOm51bGwsW2Iu
c2VsZWN0ZWRZZWFyLGIuc2VsZWN0ZWRNb250aCsxLGJdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1
bmN0aW9uKGIpe2I9dGhpcy5fZ2V0KGIsIm51bWJlck9mTW9udGhzIik7cmV0dXJuIGI9PW51bGw/
WzEsMV06dHlwZW9mIGI9PSJudW1iZXIiP1sxLGJdOmJ9LF9nZXRNaW5NYXhEYXRlOmZ1bmN0aW9u
KGIsZil7cmV0dXJuIHRoaXMuX2RldGVybWluZURhdGUoYix0aGlzLl9nZXQoYixmKyJEYXRlIiks
bnVsbCl9LF9nZXREYXlzSW5Nb250aDpmdW5jdGlvbihiLGYpe3JldHVybiAzMi10aGlzLl9kYXls
aWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShiLGYsMzIpKS5nZXREYXRlKCl9LF9nZXRGaXJzdERh
eU9mTW9udGg6ZnVuY3Rpb24oYixmKXtyZXR1cm4obmV3IERhdGUoYixmLDEpKS5nZXREYXkoKX0s
X2NhbkFkanVzdE1vbnRoOmZ1bmN0aW9uKGIsZixqLGwpe3ZhciBvPXRoaXMuX2dldE51bWJlck9m
TW9udGhzKGIpO2o9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaiwKK2wrKGY8
MD9mOm9bMF0qb1sxXSksMSkpO2Y8MCYmai5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGou
Z2V0RnVsbFllYXIoKSxqLmdldE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGIsail9
LF9pc0luUmFuZ2U6ZnVuY3Rpb24oYixmKXt2YXIgaj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1p
biIpO2I9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtYXgiKTtyZXR1cm4oIWp8fGYuZ2V0VGltZSgp
Pj1qLmdldFRpbWUoKSkmJighYnx8Zi5nZXRUaW1lKCk8PWIuZ2V0VGltZSgpKX0sX2dldEZvcm1h
dENvbmZpZzpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9nZXQoYiwic2hvcnRZZWFyQ3V0b2ZmIik7
Zj10eXBlb2YgZiE9InN0cmluZyI/ZjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNl
SW50KGYsMTApO3JldHVybntzaG9ydFllYXJDdXRvZmY6ZixkYXlOYW1lc1Nob3J0OnRoaXMuX2dl
dChiLCJkYXlOYW1lc1Nob3J0IiksZGF5TmFtZXM6dGhpcy5fZ2V0KGIsCisiZGF5TmFtZXMiKSxt
b250aE5hbWVzU2hvcnQ6dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXNTaG9ydCIpLG1vbnRoTmFtZXM6
dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXMiKX19LF9mb3JtYXREYXRlOmZ1bmN0aW9uKGIsZixqLGwp
e2lmKCFmKXtiLmN1cnJlbnREYXk9Yi5zZWxlY3RlZERheTtiLmN1cnJlbnRNb250aD1iLnNlbGVj
dGVkTW9udGg7Yi5jdXJyZW50WWVhcj1iLnNlbGVjdGVkWWVhcn1mPWY/dHlwZW9mIGY9PSJvYmpl
Y3QiP2Y6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobCxqLGYpKTp0aGlzLl9k
YXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRo
LGIuY3VycmVudERheSkpO3JldHVybiB0aGlzLmZvcm1hdERhdGUodGhpcy5fZ2V0KGIsImRhdGVG
b3JtYXQiKSxmLHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSl9fSk7YS5mbi5kYXRlcGlja2VyPWZ1
bmN0aW9uKGIpe2lmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczsKK2lmKCFhLmRhdGVwaWNrZXIu
aW5pdGlhbGl6ZWQpe2EoZG9jdW1lbnQpLm1vdXNlZG93bihhLmRhdGVwaWNrZXIuX2NoZWNrRXh0
ZXJuYWxDbGljaykuZmluZCgiYm9keSIpLmFwcGVuZChhLmRhdGVwaWNrZXIuZHBEaXYpO2EuZGF0
ZXBpY2tlci5pbml0aWFsaXplZD10cnVlfXZhciBmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywxKTtpZih0eXBlb2YgYj09InN0cmluZyImJihiPT0iaXNEaXNhYmxlZCJ8fGI9
PSJnZXREYXRlInx8Yj09IndpZGdldCIpKXJldHVybiBhLmRhdGVwaWNrZXJbIl8iK2IrIkRhdGVw
aWNrZXIiXS5hcHBseShhLmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChmKSk7aWYoYj09Im9w
dGlvbiImJmFyZ3VtZW50cy5sZW5ndGg9PTImJnR5cGVvZiBhcmd1bWVudHNbMV09PSJzdHJpbmci
KXJldHVybiBhLmRhdGVwaWNrZXJbIl8iK2IrIkRhdGVwaWNrZXIiXS5hcHBseShhLmRhdGVwaWNr
ZXIsW3RoaXNbMF1dLmNvbmNhdChmKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3R5cGVv
ZiBiPT0KKyJzdHJpbmciP2EuZGF0ZXBpY2tlclsiXyIrYisiRGF0ZXBpY2tlciJdLmFwcGx5KGEu
ZGF0ZXBpY2tlcixbdGhpc10uY29uY2F0KGYpKTphLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNr
ZXIodGhpcyxiKX0pfTthLmRhdGVwaWNrZXI9bmV3IGQ7YS5kYXRlcGlja2VyLmluaXRpYWxpemVk
PWZhbHNlO2EuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2EuZGF0ZXBpY2tl
ci52ZXJzaW9uPSIxLjguMTUiO3dpbmRvd1siRFBfalF1ZXJ5XyIrZ109YX0pKGpRdWVyeSk7Ciso
ZnVuY3Rpb24oYSxjKXt2YXIgZD17YnV0dG9uczp0cnVlLGhlaWdodDp0cnVlLG1heEhlaWdodDp0
cnVlLG1heFdpZHRoOnRydWUsbWluSGVpZ2h0OnRydWUsbWluV2lkdGg6dHJ1ZSx3aWR0aDp0cnVl
fSxlPXttYXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhlaWdodDp0cnVlLG1pbldpZHRo
OnRydWV9LGg9YS5hdHRyRm58fHt2YWw6dHJ1ZSxjc3M6dHJ1ZSxodG1sOnRydWUsdGV4dDp0cnVl
LGRhdGE6dHJ1ZSx3aWR0aDp0cnVlLGhlaWdodDp0cnVlLG9mZnNldDp0cnVlLGNsaWNrOnRydWV9
O2Eud2lkZ2V0KCJ1aS5kaWFsb2ciLHtvcHRpb25zOnthdXRvT3Blbjp0cnVlLGJ1dHRvbnM6e30s
Y2xvc2VPbkVzY2FwZTp0cnVlLGNsb3NlVGV4dDoiY2xvc2UiLGRpYWxvZ0NsYXNzOiIiLGRyYWdn
YWJsZTp0cnVlLGhpZGU6bnVsbCxoZWlnaHQ6ImF1dG8iLG1heEhlaWdodDpmYWxzZSxtYXhXaWR0
aDpmYWxzZSxtaW5IZWlnaHQ6MTUwLG1pbldpZHRoOjE1MCxtb2RhbDpmYWxzZSwKK3Bvc2l0aW9u
OntteToiY2VudGVyIixhdDoiY2VudGVyIixjb2xsaXNpb246ImZpdCIsdXNpbmc6ZnVuY3Rpb24o
Zyl7dmFyIGk9YSh0aGlzKS5jc3MoZykub2Zmc2V0KCkudG9wO2k8MCYmYSh0aGlzKS5jc3MoInRv
cCIsZy50b3AtaSl9fSxyZXNpemFibGU6dHJ1ZSxzaG93Om51bGwsc3RhY2s6dHJ1ZSx0aXRsZToi
Iix3aWR0aDozMDAsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMub3JpZ2luYWxU
aXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKTtpZih0eXBlb2YgdGhpcy5vcmlnaW5hbFRp
dGxlIT09InN0cmluZyIpdGhpcy5vcmlnaW5hbFRpdGxlPSIiO3RoaXMub3B0aW9ucy50aXRsZT10
aGlzLm9wdGlvbnMudGl0bGV8fHRoaXMub3JpZ2luYWxUaXRsZTt2YXIgZz10aGlzLGk9Zy5vcHRp
b25zLGI9aS50aXRsZXx8IiYjMTYwOyIsZj1hLnVpLmRpYWxvZy5nZXRUaXRsZUlkKGcuZWxlbWVu
dCksaj0oZy51aURpYWxvZz1hKCI8ZGl2PjwvZGl2PiIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5
KS5oaWRlKCkuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQg
dWktY29ybmVyLWFsbCAiKworaS5kaWFsb2dDbGFzcykuY3NzKHt6SW5kZXg6aS56SW5kZXh9KS5h
dHRyKCJ0YWJJbmRleCIsLTEpLmNzcygib3V0bGluZSIsMCkua2V5ZG93bihmdW5jdGlvbihuKXtp
ZihpLmNsb3NlT25Fc2NhcGUmJm4ua2V5Q29kZSYmbi5rZXlDb2RlPT09YS51aS5rZXlDb2RlLkVT
Q0FQRSl7Zy5jbG9zZShuKTtuLnByZXZlbnREZWZhdWx0KCl9fSkuYXR0cih7cm9sZToiZGlhbG9n
IiwiYXJpYS1sYWJlbGxlZGJ5IjpmfSkubW91c2Vkb3duKGZ1bmN0aW9uKG4pe2cubW92ZVRvVG9w
KGZhbHNlLG4pfSk7Zy5lbGVtZW50LnNob3coKS5yZW1vdmVBdHRyKCJ0aXRsZSIpLmFkZENsYXNz
KCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmFwcGVuZFRvKGopO3ZhciBs
PShnLnVpRGlhbG9nVGl0bGViYXI9YSgiPGRpdj48L2Rpdj4iKSkuYWRkQ2xhc3MoInVpLWRpYWxv
Zy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWNsZWFy
Zml4IikucHJlcGVuZFRvKGopLAorbz1hKCc8YSBocmVmPSIjIj48L2E+JykuYWRkQ2xhc3MoInVp
LWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRv
biIpLmhvdmVyKGZ1bmN0aW9uKCl7by5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rp
b24oKXtvLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtv
LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmx1cihmdW5jdGlvbigpe28ucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLWZvY3VzIil9KS5jbGljayhmdW5jdGlvbihuKXtnLmNsb3NlKG4pO3JldHVy
biBmYWxzZX0pLmFwcGVuZFRvKGwpOyhnLnVpRGlhbG9nVGl0bGViYXJDbG9zZVRleHQ9YSgiPHNw
YW4+PC9zcGFuPiIpKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siKS50ZXh0
KGkuY2xvc2VUZXh0KS5hcHBlbmRUbyhvKTthKCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVp
LWRpYWxvZy10aXRsZSIpLmF0dHIoImlkIiwKK2YpLmh0bWwoYikucHJlcGVuZFRvKGwpO2lmKGEu
aXNGdW5jdGlvbihpLmJlZm9yZWNsb3NlKSYmIWEuaXNGdW5jdGlvbihpLmJlZm9yZUNsb3NlKSlp
LmJlZm9yZUNsb3NlPWkuYmVmb3JlY2xvc2U7bC5maW5kKCIqIikuYWRkKGwpLmRpc2FibGVTZWxl
Y3Rpb24oKTtpLmRyYWdnYWJsZSYmYS5mbi5kcmFnZ2FibGUmJmcuX21ha2VEcmFnZ2FibGUoKTtp
LnJlc2l6YWJsZSYmYS5mbi5yZXNpemFibGUmJmcuX21ha2VSZXNpemFibGUoKTtnLl9jcmVhdGVC
dXR0b25zKGkuYnV0dG9ucyk7Zy5faXNPcGVuPWZhbHNlO2EuZm4uYmdpZnJhbWUmJmouYmdpZnJh
bWUoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0b09wZW4mJnRoaXMub3Blbigp
fSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGc9dGhpcztnLm92ZXJsYXkmJmcub3ZlcmxheS5kZXN0
cm95KCk7Zy51aURpYWxvZy5oaWRlKCk7Zy5lbGVtZW50LnVuYmluZCgiLmRpYWxvZyIpLnJlbW92
ZURhdGEoImRpYWxvZyIpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQt
Y29udGVudCIpLmhpZGUoKS5hcHBlbmRUbygiYm9keSIpOworZy51aURpYWxvZy5yZW1vdmUoKTtn
Lm9yaWdpbmFsVGl0bGUmJmcuZWxlbWVudC5hdHRyKCJ0aXRsZSIsZy5vcmlnaW5hbFRpdGxlKTty
ZXR1cm4gZ30sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWlEaWFsb2d9LGNsb3NlOmZ1
bmN0aW9uKGcpe3ZhciBpPXRoaXMsYixmO2lmKGZhbHNlIT09aS5fdHJpZ2dlcigiYmVmb3JlQ2xv
c2UiLGcpKXtpLm92ZXJsYXkmJmkub3ZlcmxheS5kZXN0cm95KCk7aS51aURpYWxvZy51bmJpbmQo
ImtleXByZXNzLnVpLWRpYWxvZyIpO2kuX2lzT3Blbj1mYWxzZTtpZihpLm9wdGlvbnMuaGlkZSlp
LnVpRGlhbG9nLmhpZGUoaS5vcHRpb25zLmhpZGUsZnVuY3Rpb24oKXtpLl90cmlnZ2VyKCJjbG9z
ZSIsZyl9KTtlbHNle2kudWlEaWFsb2cuaGlkZSgpO2kuX3RyaWdnZXIoImNsb3NlIixnKX1hLnVp
LmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpO2lmKGkub3B0aW9ucy5tb2RhbCl7Yj0wO2EoIi51aS1k
aWFsb2ciKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcyE9PQoraS51aURpYWxvZ1swXSl7Zj1hKHRo
aXMpLmNzcygiei1pbmRleCIpO2lzTmFOKGYpfHwoYj1NYXRoLm1heChiLGYpKX19KTthLnVpLmRp
YWxvZy5tYXhaPWJ9cmV0dXJuIGl9fSxpc09wZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNP
cGVufSxtb3ZlVG9Ub3A6ZnVuY3Rpb24oZyxpKXt2YXIgYj10aGlzLGY9Yi5vcHRpb25zO2lmKGYu
bW9kYWwmJiFnfHwhZi5zdGFjayYmIWYubW9kYWwpcmV0dXJuIGIuX3RyaWdnZXIoImZvY3VzIixp
KTtpZihmLnpJbmRleD5hLnVpLmRpYWxvZy5tYXhaKWEudWkuZGlhbG9nLm1heFo9Zi56SW5kZXg7
aWYoYi5vdmVybGF5KXthLnVpLmRpYWxvZy5tYXhaKz0xO2Iub3ZlcmxheS4kZWwuY3NzKCJ6LWlu
ZGV4IixhLnVpLmRpYWxvZy5vdmVybGF5Lm1heFo9YS51aS5kaWFsb2cubWF4Wil9Zz17c2Nyb2xs
VG9wOmIuZWxlbWVudC5zY3JvbGxUb3AoKSxzY3JvbGxMZWZ0OmIuZWxlbWVudC5zY3JvbGxMZWZ0
KCl9O2EudWkuZGlhbG9nLm1heForPTE7CitiLnVpRGlhbG9nLmNzcygiei1pbmRleCIsYS51aS5k
aWFsb2cubWF4Wik7Yi5lbGVtZW50LmF0dHIoZyk7Yi5fdHJpZ2dlcigiZm9jdXMiLGkpO3JldHVy
biBifSxvcGVuOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2lzT3Blbil7dmFyIGc9dGhpcyxpPWcub3B0
aW9ucyxiPWcudWlEaWFsb2c7Zy5vdmVybGF5PWkubW9kYWw/bmV3IGEudWkuZGlhbG9nLm92ZXJs
YXkoZyk6bnVsbDtnLl9zaXplKCk7Zy5fcG9zaXRpb24oaS5wb3NpdGlvbik7Yi5zaG93KGkuc2hv
dyk7Zy5tb3ZlVG9Ub3AodHJ1ZSk7aS5tb2RhbCYmYi5iaW5kKCJrZXlwcmVzcy51aS1kaWFsb2ci
LGZ1bmN0aW9uKGYpe2lmKGYua2V5Q29kZT09PWEudWkua2V5Q29kZS5UQUIpe3ZhciBqPWEoIjp0
YWJiYWJsZSIsdGhpcyksbD1qLmZpbHRlcigiOmZpcnN0Iik7aj1qLmZpbHRlcigiOmxhc3QiKTtp
ZihmLnRhcmdldD09PWpbMF0mJiFmLnNoaWZ0S2V5KXtsLmZvY3VzKDEpO3JldHVybiBmYWxzZX1l
bHNlIGlmKGYudGFyZ2V0PT09CitsWzBdJiZmLnNoaWZ0S2V5KXtqLmZvY3VzKDEpO3JldHVybiBm
YWxzZX19fSk7YShnLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIikuZ2V0KCkuY29uY2F0KGIuZmlu
ZCgiLnVpLWRpYWxvZy1idXR0b25wYW5lIDp0YWJiYWJsZSIpLmdldCgpLmNvbmNhdChiLmdldCgp
KSkpLmVxKDApLmZvY3VzKCk7Zy5faXNPcGVuPXRydWU7Zy5fdHJpZ2dlcigib3BlbiIpO3JldHVy
biBnfX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oZyl7dmFyIGk9dGhpcyxiPWZhbHNlLGY9YSgi
PGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNv
bnRlbnQgdWktaGVscGVyLWNsZWFyZml4Iiksaj1hKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1
aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8oZik7aS51aURpYWxvZy5maW5kKCIudWktZGlh
bG9nLWJ1dHRvbnBhbmUiKS5yZW1vdmUoKTt0eXBlb2YgZz09PSJvYmplY3QiJiZnIT09bnVsbCYm
YS5lYWNoKGcsCitmdW5jdGlvbigpe3JldHVybiEoYj10cnVlKX0pO2lmKGIpe2EuZWFjaChnLGZ1
bmN0aW9uKGwsbyl7bz1hLmlzRnVuY3Rpb24obyk/e2NsaWNrOm8sdGV4dDpsfTpvO3ZhciBuPWEo
JzxidXR0b24gdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5jbGljayhmdW5jdGlvbigpe28uY2xp
Y2suYXBwbHkoaS5lbGVtZW50WzBdLGFyZ3VtZW50cyl9KS5hcHBlbmRUbyhqKTthLmVhY2gobyxm
dW5jdGlvbihrLG0pe2lmKGshPT0iY2xpY2siKWsgaW4gaD9uW2tdKG0pOm4uYXR0cihrLG0pfSk7
YS5mbi5idXR0b24mJm4uYnV0dG9uKCl9KTtmLmFwcGVuZFRvKGkudWlEaWFsb2cpfX0sX21ha2VE
cmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGwpe3JldHVybntwb3NpdGlvbjpsLnBvc2l0
aW9uLG9mZnNldDpsLm9mZnNldH19dmFyIGk9dGhpcyxiPWkub3B0aW9ucyxmPWEoZG9jdW1lbnQp
LGo7aS51aURpYWxvZy5kcmFnZ2FibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50LCAudWkt
ZGlhbG9nLXRpdGxlYmFyLWNsb3NlIiwKK2hhbmRsZToiLnVpLWRpYWxvZy10aXRsZWJhciIsY29u
dGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihsLG8pe2o9Yi5oZWlnaHQ9PT0iYXV0
byI/ImF1dG8iOmEodGhpcykuaGVpZ2h0KCk7YSh0aGlzKS5oZWlnaHQoYSh0aGlzKS5oZWlnaHQo
KSkuYWRkQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpO2kuX3RyaWdnZXIoImRyYWdTdGFydCIs
bCxnKG8pKX0sZHJhZzpmdW5jdGlvbihsLG8pe2kuX3RyaWdnZXIoImRyYWciLGwsZyhvKSl9LHN0
b3A6ZnVuY3Rpb24obCxvKXtiLnBvc2l0aW9uPVtvLnBvc2l0aW9uLmxlZnQtZi5zY3JvbGxMZWZ0
KCksby5wb3NpdGlvbi50b3AtZi5zY3JvbGxUb3AoKV07YSh0aGlzKS5yZW1vdmVDbGFzcygidWkt
ZGlhbG9nLWRyYWdnaW5nIikuaGVpZ2h0KGopO2kuX3RyaWdnZXIoImRyYWdTdG9wIixsLGcobykp
O2EudWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKCl9fSl9LF9tYWtlUmVzaXphYmxlOmZ1bmN0aW9u
KGcpe2Z1bmN0aW9uIGkobCl7cmV0dXJue29yaWdpbmFsUG9zaXRpb246bC5vcmlnaW5hbFBvc2l0
aW9uLAorb3JpZ2luYWxTaXplOmwub3JpZ2luYWxTaXplLHBvc2l0aW9uOmwucG9zaXRpb24sc2l6
ZTpsLnNpemV9fWc9Zz09PWM/dGhpcy5vcHRpb25zLnJlc2l6YWJsZTpnO3ZhciBiPXRoaXMsZj1i
Lm9wdGlvbnMsaj1iLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKTtnPXR5cGVvZiBnPT09InN0cmlu
ZyI/ZzoibixlLHMsdyxzZSxzdyxuZSxudyI7Yi51aURpYWxvZy5yZXNpemFibGUoe2NhbmNlbDoi
LnVpLWRpYWxvZy1jb250ZW50Iixjb250YWlubWVudDoiZG9jdW1lbnQiLGFsc29SZXNpemU6Yi5l
bGVtZW50LG1heFdpZHRoOmYubWF4V2lkdGgsbWF4SGVpZ2h0OmYubWF4SGVpZ2h0LG1pbldpZHRo
OmYubWluV2lkdGgsbWluSGVpZ2h0OmIuX21pbkhlaWdodCgpLGhhbmRsZXM6ZyxzdGFydDpmdW5j
dGlvbihsLG8pe2EodGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2IuX3RyaWdn
ZXIoInJlc2l6ZVN0YXJ0IixsLGkobykpfSxyZXNpemU6ZnVuY3Rpb24obCxvKXtiLl90cmlnZ2Vy
KCJyZXNpemUiLAorbCxpKG8pKX0sc3RvcDpmdW5jdGlvbihsLG8pe2EodGhpcykucmVtb3ZlQ2xh
c3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2YuaGVpZ2h0PWEodGhpcykuaGVpZ2h0KCk7Zi53aWR0
aD1hKHRoaXMpLndpZHRoKCk7Yi5fdHJpZ2dlcigicmVzaXplU3RvcCIsbCxpKG8pKTthLnVpLmRp
YWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pLmNzcygicG9zaXRpb24iLGopLmZpbmQoIi51aS1yZXNp
emFibGUtc2UiKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UiKX0s
X21pbkhlaWdodDpmdW5jdGlvbigpe3ZhciBnPXRoaXMub3B0aW9ucztyZXR1cm4gZy5oZWlnaHQ9
PT0iYXV0byI/Zy5taW5IZWlnaHQ6TWF0aC5taW4oZy5taW5IZWlnaHQsZy5oZWlnaHQpfSxfcG9z
aXRpb246ZnVuY3Rpb24oZyl7dmFyIGk9W10sYj1bMCwwXSxmO2lmKGcpe2lmKHR5cGVvZiBnPT09
InN0cmluZyJ8fHR5cGVvZiBnPT09Im9iamVjdCImJiIwImluIGcpe2k9Zy5zcGxpdD9nLnNwbGl0
KCIgIik6CitbZ1swXSxnWzFdXTtpZihpLmxlbmd0aD09PTEpaVsxXT1pWzBdO2EuZWFjaChbImxl
ZnQiLCJ0b3AiXSxmdW5jdGlvbihqLGwpe2lmKCtpW2pdPT09aVtqXSl7YltqXT1pW2pdO2lbal09
bH19KTtnPXtteTppLmpvaW4oIiAiKSxhdDppLmpvaW4oIiAiKSxvZmZzZXQ6Yi5qb2luKCIgIil9
fWc9YS5leHRlbmQoe30sYS51aS5kaWFsb2cucHJvdG90eXBlLm9wdGlvbnMucG9zaXRpb24sZyl9
ZWxzZSBnPWEudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBvc2l0aW9uOyhmPXRoaXMudWlE
aWFsb2cuaXMoIjp2aXNpYmxlIikpfHx0aGlzLnVpRGlhbG9nLnNob3coKTt0aGlzLnVpRGlhbG9n
LmNzcyh7dG9wOjAsbGVmdDowfSkucG9zaXRpb24oYS5leHRlbmQoe29mOndpbmRvd30sZykpO2Z8
fHRoaXMudWlEaWFsb2cuaGlkZSgpfSxfc2V0T3B0aW9uczpmdW5jdGlvbihnKXt2YXIgaT10aGlz
LGI9e30sZj1mYWxzZTthLmVhY2goZyxmdW5jdGlvbihqLGwpe2kuX3NldE9wdGlvbihqLGwpOwor
aWYoaiBpbiBkKWY9dHJ1ZTtpZihqIGluIGUpYltqXT1sfSk7ZiYmdGhpcy5fc2l6ZSgpO3RoaXMu
dWlEaWFsb2cuaXMoIjpkYXRhKHJlc2l6YWJsZSkiKSYmdGhpcy51aURpYWxvZy5yZXNpemFibGUo
Im9wdGlvbiIsYil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZyxpKXt2YXIgYj10aGlzLGY9Yi51aURp
YWxvZztzd2l0Y2goZyl7Y2FzZSAiYmVmb3JlY2xvc2UiOmc9ImJlZm9yZUNsb3NlIjticmVhaztj
YXNlICJidXR0b25zIjpiLl9jcmVhdGVCdXR0b25zKGkpO2JyZWFrO2Nhc2UgImNsb3NlVGV4dCI6
Yi51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0LnRleHQoIiIraSk7YnJlYWs7Y2FzZSAiZGlhbG9n
Q2xhc3MiOmYucmVtb3ZlQ2xhc3MoYi5vcHRpb25zLmRpYWxvZ0NsYXNzKS5hZGRDbGFzcygidWkt
ZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsICIraSk7YnJl
YWs7Y2FzZSAiZGlzYWJsZWQiOmk/Zi5hZGRDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik6Citm
LnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctZGlzYWJsZWQiKTticmVhaztjYXNlICJkcmFnZ2FibGUi
OnZhciBqPWYuaXMoIjpkYXRhKGRyYWdnYWJsZSkiKTtqJiYhaSYmZi5kcmFnZ2FibGUoImRlc3Ry
b3kiKTshaiYmaSYmYi5fbWFrZURyYWdnYWJsZSgpO2JyZWFrO2Nhc2UgInBvc2l0aW9uIjpiLl9w
b3NpdGlvbihpKTticmVhaztjYXNlICJyZXNpemFibGUiOihqPWYuaXMoIjpkYXRhKHJlc2l6YWJs
ZSkiKSkmJiFpJiZmLnJlc2l6YWJsZSgiZGVzdHJveSIpO2omJnR5cGVvZiBpPT09InN0cmluZyIm
JmYucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIixpKTshaiYmaSE9PWZhbHNlJiZiLl9tYWtl
UmVzaXphYmxlKGkpO2JyZWFrO2Nhc2UgInRpdGxlIjphKCIudWktZGlhbG9nLXRpdGxlIixiLnVp
RGlhbG9nVGl0bGViYXIpLmh0bWwoIiIrKGl8fCImIzE2MDsiKSk7YnJlYWt9YS5XaWRnZXQucHJv
dG90eXBlLl9zZXRPcHRpb24uYXBwbHkoYixhcmd1bWVudHMpfSxfc2l6ZTpmdW5jdGlvbigpe3Zh
ciBnPQordGhpcy5vcHRpb25zLGksYixmPXRoaXMudWlEaWFsb2cuaXMoIjp2aXNpYmxlIik7dGhp
cy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5IZWlnaHQ6MCxoZWlnaHQ6MH0p
O2lmKGcubWluV2lkdGg+Zy53aWR0aClnLndpZHRoPWcubWluV2lkdGg7aT10aGlzLnVpRGlhbG9n
LmNzcyh7aGVpZ2h0OiJhdXRvIix3aWR0aDpnLndpZHRofSkuaGVpZ2h0KCk7Yj1NYXRoLm1heCgw
LGcubWluSGVpZ2h0LWkpO2lmKGcuaGVpZ2h0PT09ImF1dG8iKWlmKGEuc3VwcG9ydC5taW5IZWln
aHQpdGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OmIsaGVpZ2h0OiJhdXRvIn0pO2Vsc2V7dGhp
cy51aURpYWxvZy5zaG93KCk7Zz10aGlzLmVsZW1lbnQuY3NzKCJoZWlnaHQiLCJhdXRvIikuaGVp
Z2h0KCk7Znx8dGhpcy51aURpYWxvZy5oaWRlKCk7dGhpcy5lbGVtZW50LmhlaWdodChNYXRoLm1h
eChnLGIpKX1lbHNlIHRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoZy5oZWlnaHQtCitpLDAp
KTt0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cucmVz
aXphYmxlKCJvcHRpb24iLCJtaW5IZWlnaHQiLHRoaXMuX21pbkhlaWdodCgpKX19KTthLmV4dGVu
ZChhLnVpLmRpYWxvZyx7dmVyc2lvbjoiMS44LjE1Iix1dWlkOjAsbWF4WjowLGdldFRpdGxlSWQ6
ZnVuY3Rpb24oZyl7Zz1nLmF0dHIoImlkIik7aWYoIWcpe3RoaXMudXVpZCs9MTtnPXRoaXMudXVp
ZH1yZXR1cm4idWktZGlhbG9nLXRpdGxlLSIrZ30sb3ZlcmxheTpmdW5jdGlvbihnKXt0aGlzLiRl
bD1hLnVpLmRpYWxvZy5vdmVybGF5LmNyZWF0ZShnKX19KTthLmV4dGVuZChhLnVpLmRpYWxvZy5v
dmVybGF5LHtpbnN0YW5jZXM6W10sb2xkSW5zdGFuY2VzOltdLG1heFo6MCxldmVudHM6YS5tYXAo
ImZvY3VzLG1vdXNlZG93bixtb3VzZXVwLGtleWRvd24sa2V5cHJlc3MsY2xpY2siLnNwbGl0KCIs
IiksZnVuY3Rpb24oZyl7cmV0dXJuIGcrIi5kaWFsb2ctb3ZlcmxheSJ9KS5qb2luKCIgIiksCitj
cmVhdGU6ZnVuY3Rpb24oZyl7aWYodGhpcy5pbnN0YW5jZXMubGVuZ3RoPT09MCl7c2V0VGltZW91
dChmdW5jdGlvbigpe2EudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFuY2VzLmxlbmd0aCYmYShkb2N1
bWVudCkuYmluZChhLnVpLmRpYWxvZy5vdmVybGF5LmV2ZW50cyxmdW5jdGlvbihiKXtpZihhKGIu
dGFyZ2V0KS56SW5kZXgoKTxhLnVpLmRpYWxvZy5vdmVybGF5Lm1heFopcmV0dXJuIGZhbHNlfSl9
LDEpO2EoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZGlhbG9nLW92ZXJsYXkiLGZ1bmN0aW9uKGIp
e2lmKGcub3B0aW9ucy5jbG9zZU9uRXNjYXBlJiZiLmtleUNvZGUmJmIua2V5Q29kZT09PWEudWku
a2V5Q29kZS5FU0NBUEUpe2cuY2xvc2UoYik7Yi5wcmV2ZW50RGVmYXVsdCgpfX0pO2Eod2luZG93
KS5iaW5kKCJyZXNpemUuZGlhbG9nLW92ZXJsYXkiLGEudWkuZGlhbG9nLm92ZXJsYXkucmVzaXpl
KX12YXIgaT0odGhpcy5vbGRJbnN0YW5jZXMucG9wKCl8fGEoIjxkaXY+PC9kaXY+IikuYWRkQ2xh
c3MoInVpLXdpZGdldC1vdmVybGF5IikpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLmNzcyh7d2lk
dGg6dGhpcy53aWR0aCgpLAoraGVpZ2h0OnRoaXMuaGVpZ2h0KCl9KTthLmZuLmJnaWZyYW1lJiZp
LmJnaWZyYW1lKCk7dGhpcy5pbnN0YW5jZXMucHVzaChpKTtyZXR1cm4gaX0sZGVzdHJveTpmdW5j
dGlvbihnKXt2YXIgaT1hLmluQXJyYXkoZyx0aGlzLmluc3RhbmNlcyk7aSE9LTEmJnRoaXMub2xk
SW5zdGFuY2VzLnB1c2godGhpcy5pbnN0YW5jZXMuc3BsaWNlKGksMSlbMF0pO3RoaXMuaW5zdGFu
Y2VzLmxlbmd0aD09PTAmJmEoW2RvY3VtZW50LHdpbmRvd10pLnVuYmluZCgiLmRpYWxvZy1vdmVy
bGF5Iik7Zy5yZW1vdmUoKTt2YXIgYj0wO2EuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbigp
e2I9TWF0aC5tYXgoYix0aGlzLmNzcygiei1pbmRleCIpKX0pO3RoaXMubWF4Wj1ifSxoZWlnaHQ6
ZnVuY3Rpb24oKXt2YXIgZyxpO2lmKGEuYnJvd3Nlci5tc2llJiZhLmJyb3dzZXIudmVyc2lvbjw3
KXtnPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsZG9jdW1l
bnQuYm9keS5zY3JvbGxIZWlnaHQpOworaT1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQub2Zmc2V0SGVpZ2h0LGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0KTtyZXR1cm4gZzxpP2Eo
d2luZG93KS5oZWlnaHQoKSsicHgiOmcrInB4In1lbHNlIHJldHVybiBhKGRvY3VtZW50KS5oZWln
aHQoKSsicHgifSx3aWR0aDpmdW5jdGlvbigpe3ZhciBnLGk7aWYoYS5icm93c2VyLm1zaWUpe2c9
TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoLGRvY3VtZW50LmJv
ZHkuc2Nyb2xsV2lkdGgpO2k9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNl
dFdpZHRoLGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO3JldHVybiBnPGk/YSh3aW5kb3cpLndp
ZHRoKCkrInB4IjpnKyJweCJ9ZWxzZSByZXR1cm4gYShkb2N1bWVudCkud2lkdGgoKSsicHgifSxy
ZXNpemU6ZnVuY3Rpb24oKXt2YXIgZz1hKFtdKTthLmVhY2goYS51aS5kaWFsb2cub3ZlcmxheS5p
bnN0YW5jZXMsZnVuY3Rpb24oKXtnPQorZy5hZGQodGhpcyl9KTtnLmNzcyh7d2lkdGg6MCxoZWln
aHQ6MH0pLmNzcyh7d2lkdGg6YS51aS5kaWFsb2cub3ZlcmxheS53aWR0aCgpLGhlaWdodDphLnVp
LmRpYWxvZy5vdmVybGF5LmhlaWdodCgpfSl9fSk7YS5leHRlbmQoYS51aS5kaWFsb2cub3Zlcmxh
eS5wcm90b3R5cGUse2Rlc3Ryb3k6ZnVuY3Rpb24oKXthLnVpLmRpYWxvZy5vdmVybGF5LmRlc3Ry
b3kodGhpcy4kZWwpfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLnVpPWEudWl8fHt9O3Zh
ciBjPS9sZWZ0fGNlbnRlcnxyaWdodC8sZD0vdG9wfGNlbnRlcnxib3R0b20vLGU9YS5mbi5wb3Np
dGlvbixoPWEuZm4ub2Zmc2V0O2EuZm4ucG9zaXRpb249ZnVuY3Rpb24oZyl7aWYoIWd8fCFnLm9m
KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtnPWEuZXh0ZW5kKHt9LGcpO3ZhciBpPWEo
Zy5vZiksYj1pWzBdLGY9KGcuY29sbGlzaW9ufHwiZmxpcCIpLnNwbGl0KCIgIiksaj1nLm9mZnNl
dD9nLm9mZnNldC5zcGxpdCgiICIpOlswLDBdLGwsbyxuO2lmKGIubm9kZVR5cGU9PT05KXtsPWku
d2lkdGgoKTtvPWkuaGVpZ2h0KCk7bj17dG9wOjAsbGVmdDowfX1lbHNlIGlmKGIuc2V0VGltZW91
dCl7bD1pLndpZHRoKCk7bz1pLmhlaWdodCgpO249e3RvcDppLnNjcm9sbFRvcCgpLGxlZnQ6aS5z
Y3JvbGxMZWZ0KCl9fWVsc2UgaWYoYi5wcmV2ZW50RGVmYXVsdCl7Zy5hdD0ibGVmdCB0b3AiO2w9
bz0wO249e3RvcDpnLm9mLnBhZ2VZLAorbGVmdDpnLm9mLnBhZ2VYfX1lbHNle2w9aS5vdXRlcldp
ZHRoKCk7bz1pLm91dGVySGVpZ2h0KCk7bj1pLm9mZnNldCgpfWEuZWFjaChbIm15IiwiYXQiXSxm
dW5jdGlvbigpe3ZhciBrPShnW3RoaXNdfHwiIikuc3BsaXQoIiAiKTtpZihrLmxlbmd0aD09PTEp
az1jLnRlc3Qoa1swXSk/ay5jb25jYXQoWyJjZW50ZXIiXSk6ZC50ZXN0KGtbMF0pP1siY2VudGVy
Il0uY29uY2F0KGspOlsiY2VudGVyIiwiY2VudGVyIl07a1swXT1jLnRlc3Qoa1swXSk/a1swXToi
Y2VudGVyIjtrWzFdPWQudGVzdChrWzFdKT9rWzFdOiJjZW50ZXIiO2dbdGhpc109a30pO2lmKGYu
bGVuZ3RoPT09MSlmWzFdPWZbMF07alswXT1wYXJzZUludChqWzBdLDEwKXx8MDtpZihqLmxlbmd0
aD09PTEpalsxXT1qWzBdO2pbMV09cGFyc2VJbnQoalsxXSwxMCl8fDA7aWYoZy5hdFswXT09PSJy
aWdodCIpbi5sZWZ0Kz1sO2Vsc2UgaWYoZy5hdFswXT09PSJjZW50ZXIiKW4ubGVmdCs9bC8yO2lm
KGcuYXRbMV09PT0iYm90dG9tIiluLnRvcCs9CitvO2Vsc2UgaWYoZy5hdFsxXT09PSJjZW50ZXIi
KW4udG9wKz1vLzI7bi5sZWZ0Kz1qWzBdO24udG9wKz1qWzFdO3JldHVybiB0aGlzLmVhY2goZnVu
Y3Rpb24oKXt2YXIgaz1hKHRoaXMpLG09ay5vdXRlcldpZHRoKCkscD1rLm91dGVySGVpZ2h0KCks
cT1wYXJzZUludChhLmN1ckNTUyh0aGlzLCJtYXJnaW5MZWZ0Iix0cnVlKSl8fDAscz1wYXJzZUlu
dChhLmN1ckNTUyh0aGlzLCJtYXJnaW5Ub3AiLHRydWUpKXx8MCxyPW0rcSsocGFyc2VJbnQoYS5j
dXJDU1ModGhpcywibWFyZ2luUmlnaHQiLHRydWUpKXx8MCksdT1wK3MrKHBhcnNlSW50KGEuY3Vy
Q1NTKHRoaXMsIm1hcmdpbkJvdHRvbSIsdHJ1ZSkpfHwwKSx2PWEuZXh0ZW5kKHt9LG4pLHc7aWYo
Zy5teVswXT09PSJyaWdodCIpdi5sZWZ0LT1tO2Vsc2UgaWYoZy5teVswXT09PSJjZW50ZXIiKXYu
bGVmdC09bS8yO2lmKGcubXlbMV09PT0iYm90dG9tIil2LnRvcC09cDtlbHNlIGlmKGcubXlbMV09
PT0iY2VudGVyIil2LnRvcC09CitwLzI7di5sZWZ0PU1hdGgucm91bmQodi5sZWZ0KTt2LnRvcD1N
YXRoLnJvdW5kKHYudG9wKTt3PXtsZWZ0OnYubGVmdC1xLHRvcDp2LnRvcC1zfTthLmVhY2goWyJs
ZWZ0IiwidG9wIl0sZnVuY3Rpb24oeCx5KXthLnVpLnBvc2l0aW9uW2ZbeF1dJiZhLnVpLnBvc2l0
aW9uW2ZbeF1dW3ldKHYse3RhcmdldFdpZHRoOmwsdGFyZ2V0SGVpZ2h0Om8sZWxlbVdpZHRoOm0s
ZWxlbUhlaWdodDpwLGNvbGxpc2lvblBvc2l0aW9uOncsY29sbGlzaW9uV2lkdGg6cixjb2xsaXNp
b25IZWlnaHQ6dSxvZmZzZXQ6aixteTpnLm15LGF0OmcuYXR9KX0pO2EuZm4uYmdpZnJhbWUmJmsu
YmdpZnJhbWUoKTtrLm9mZnNldChhLmV4dGVuZCh2LHt1c2luZzpnLnVzaW5nfSkpfSl9O2EudWku
cG9zaXRpb249e2ZpdDp7bGVmdDpmdW5jdGlvbihnLGkpe3ZhciBiPWEod2luZG93KTtiPWkuY29s
bGlzaW9uUG9zaXRpb24ubGVmdCtpLmNvbGxpc2lvbldpZHRoLWIud2lkdGgoKS1iLnNjcm9sbExl
ZnQoKTtnLmxlZnQ9CitiPjA/Zy5sZWZ0LWI6TWF0aC5tYXgoZy5sZWZ0LWkuY29sbGlzaW9uUG9z
aXRpb24ubGVmdCxnLmxlZnQpfSx0b3A6ZnVuY3Rpb24oZyxpKXt2YXIgYj1hKHdpbmRvdyk7Yj1p
LmNvbGxpc2lvblBvc2l0aW9uLnRvcCtpLmNvbGxpc2lvbkhlaWdodC1iLmhlaWdodCgpLWIuc2Ny
b2xsVG9wKCk7Zy50b3A9Yj4wP2cudG9wLWI6TWF0aC5tYXgoZy50b3AtaS5jb2xsaXNpb25Qb3Np
dGlvbi50b3AsZy50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbihnLGkpe2lmKGkuYXRbMF0hPT0i
Y2VudGVyIil7dmFyIGI9YSh3aW5kb3cpO2I9aS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2kuY29s
bGlzaW9uV2lkdGgtYi53aWR0aCgpLWIuc2Nyb2xsTGVmdCgpO3ZhciBmPWkubXlbMF09PT0ibGVm
dCI/LWkuZWxlbVdpZHRoOmkubXlbMF09PT0icmlnaHQiP2kuZWxlbVdpZHRoOjAsaj1pLmF0WzBd
PT09ImxlZnQiP2kudGFyZ2V0V2lkdGg6LWkudGFyZ2V0V2lkdGgsbD0tMippLm9mZnNldFswXTtn
LmxlZnQrPQoraS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0PDA/ZitqK2w6Yj4wP2YraitsOjB9fSx0
b3A6ZnVuY3Rpb24oZyxpKXtpZihpLmF0WzFdIT09ImNlbnRlciIpe3ZhciBiPWEod2luZG93KTti
PWkuY29sbGlzaW9uUG9zaXRpb24udG9wK2kuY29sbGlzaW9uSGVpZ2h0LWIuaGVpZ2h0KCktYi5z
Y3JvbGxUb3AoKTt2YXIgZj1pLm15WzFdPT09InRvcCI/LWkuZWxlbUhlaWdodDppLm15WzFdPT09
ImJvdHRvbSI/aS5lbGVtSGVpZ2h0OjAsaj1pLmF0WzFdPT09InRvcCI/aS50YXJnZXRIZWlnaHQ6
LWkudGFyZ2V0SGVpZ2h0LGw9LTIqaS5vZmZzZXRbMV07Zy50b3ArPWkuY29sbGlzaW9uUG9zaXRp
b24udG9wPDA/ZitqK2w6Yj4wP2YraitsOjB9fX19O2lmKCFhLm9mZnNldC5zZXRPZmZzZXQpe2Eu
b2Zmc2V0LnNldE9mZnNldD1mdW5jdGlvbihnLGkpe2lmKC9zdGF0aWMvLnRlc3QoYS5jdXJDU1Mo
ZywicG9zaXRpb24iKSkpZy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3ZhciBiPWEoZyksCitm
PWIub2Zmc2V0KCksaj1wYXJzZUludChhLmN1ckNTUyhnLCJ0b3AiLHRydWUpLDEwKXx8MCxsPXBh
cnNlSW50KGEuY3VyQ1NTKGcsImxlZnQiLHRydWUpLDEwKXx8MDtmPXt0b3A6aS50b3AtZi50b3Ar
aixsZWZ0OmkubGVmdC1mLmxlZnQrbH07InVzaW5nImluIGk/aS51c2luZy5jYWxsKGcsZik6Yi5j
c3MoZil9O2EuZm4ub2Zmc2V0PWZ1bmN0aW9uKGcpe3ZhciBpPXRoaXNbMF07aWYoIWl8fCFpLm93
bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoZylyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7
YS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZyl9KTtyZXR1cm4gaC5jYWxsKHRoaXMpfX19KShqUXVl
cnkpOworKGZ1bmN0aW9uKGEsYyl7YS53aWRnZXQoInVpLnByb2dyZXNzYmFyIix7b3B0aW9uczp7
dmFsdWU6MCxtYXg6MTAwfSxtaW46MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFk
ZENsYXNzKCJ1aS1wcm9ncmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWFsbCIpLmF0dHIoe3JvbGU6InByb2dyZXNzYmFyIiwiYXJpYS12YWx1ZW1pbiI6dGhpcy5t
aW4sImFyaWEtdmFsdWVtYXgiOnRoaXMub3B0aW9ucy5tYXgsImFyaWEtdmFsdWVub3ciOnRoaXMu
X3ZhbHVlKCl9KTt0aGlzLnZhbHVlRGl2PWEoIjxkaXYgY2xhc3M9J3VpLXByb2dyZXNzYmFyLXZh
bHVlIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWxlZnQnPjwvZGl2PiIpLmFwcGVuZFRvKHRo
aXMuZWxlbWVudCk7dGhpcy5vbGRWYWx1ZT10aGlzLl92YWx1ZSgpO3RoaXMuX3JlZnJlc2hWYWx1
ZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1wcm9n
cmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLnJlbW92
ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbWluIikucmVtb3ZlQXR0cigiYXJp
YS12YWx1ZW1heCIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVub3ciKTsKK3RoaXMudmFsdWVEaXYu
cmVtb3ZlKCk7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyxhcmd1bWVudHMp
fSx2YWx1ZTpmdW5jdGlvbihkKXtpZihkPT09YylyZXR1cm4gdGhpcy5fdmFsdWUoKTt0aGlzLl9z
ZXRPcHRpb24oInZhbHVlIixkKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihkLGUp
e2lmKGQ9PT0idmFsdWUiKXt0aGlzLm9wdGlvbnMudmFsdWU9ZTt0aGlzLl9yZWZyZXNoVmFsdWUo
KTt0aGlzLl92YWx1ZSgpPT09dGhpcy5vcHRpb25zLm1heCYmdGhpcy5fdHJpZ2dlcigiY29tcGxl
dGUiKX1hLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9
LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3B0aW9ucy52YWx1ZTtpZih0eXBlb2YgZCE9
PSJudW1iZXIiKWQ9MDtyZXR1cm4gTWF0aC5taW4odGhpcy5vcHRpb25zLm1heCxNYXRoLm1heCh0
aGlzLm1pbixkKSl9LF9wZXJjZW50YWdlOmZ1bmN0aW9uKCl7cmV0dXJuIDEwMCoKK3RoaXMuX3Zh
bHVlKCkvdGhpcy5vcHRpb25zLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciBkPXRo
aXMudmFsdWUoKSxlPXRoaXMuX3BlcmNlbnRhZ2UoKTtpZih0aGlzLm9sZFZhbHVlIT09ZCl7dGhp
cy5vbGRWYWx1ZT1kO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIpfXRoaXMudmFsdWVEaXYudG9nZ2xl
KGQ+dGhpcy5taW4pLnRvZ2dsZUNsYXNzKCJ1aS1jb3JuZXItcmlnaHQiLGQ9PT10aGlzLm9wdGlv
bnMubWF4KS53aWR0aChlLnRvRml4ZWQoMCkrIiUiKTt0aGlzLmVsZW1lbnQuYXR0cigiYXJpYS12
YWx1ZW5vdyIsZCl9fSk7YS5leHRlbmQoYS51aS5wcm9ncmVzc2Jhcix7dmVyc2lvbjoiMS44LjE1
In0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndpZGdldCgidWkuc2xpZGVyIixhLnVpLm1v
dXNlLHt3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ZmFsc2UsZGlz
dGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTpmYWxz
ZSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRo
aXMsZD10aGlzLm9wdGlvbnMsZT10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUi
KS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiksaD1kLnZhbHVlcyYm
ZC52YWx1ZXMubGVuZ3RofHwxLGc9W107dGhpcy5fbW91c2VTbGlkaW5nPXRoaXMuX2tleVNsaWRp
bmc9ZmFsc2U7dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX2hhbmRsZUluZGV4PW51bGw7dGhp
cy5fZGV0ZWN0T3JpZW50YXRpb24oKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIisKK3RoaXMub3JpZW50YXRpb24rIiB1aS13aWRn
ZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIrKGQuZGlzYWJsZWQ/IiB1aS1zbGlk
ZXItZGlzYWJsZWQgdWktZGlzYWJsZWQiOiIiKSk7dGhpcy5yYW5nZT1hKFtdKTtpZihkLnJhbmdl
KXtpZihkLnJhbmdlPT09dHJ1ZSl7aWYoIWQudmFsdWVzKWQudmFsdWVzPVt0aGlzLl92YWx1ZU1p
bigpLHRoaXMuX3ZhbHVlTWluKCldO2lmKGQudmFsdWVzLmxlbmd0aCYmZC52YWx1ZXMubGVuZ3Ro
IT09MilkLnZhbHVlcz1bZC52YWx1ZXNbMF0sZC52YWx1ZXNbMF1dfXRoaXMucmFuZ2U9YSgiPGRp
dj48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zbGlkZXItcmFu
Z2UgdWktd2lkZ2V0LWhlYWRlciIrKGQucmFuZ2U9PT0ibWluInx8ZC5yYW5nZT09PSJtYXgiPyIg
dWktc2xpZGVyLXJhbmdlLSIrZC5yYW5nZToiIikpfWZvcih2YXIgaT1lLmxlbmd0aDtpPGg7aSs9
MSlnLnB1c2goIjxhIGNsYXNzPSd1aS1zbGlkZXItaGFuZGxlIHVpLXN0YXRlLWRlZmF1bHQgdWkt
Y29ybmVyLWFsbCcgaHJlZj0nIyc+PC9hPiIpOwordGhpcy5oYW5kbGVzPWUuYWRkKGEoZy5qb2lu
KCIiKSkuYXBwZW5kVG8oYy5lbGVtZW50KSk7dGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDAp
O3RoaXMuaGFuZGxlcy5hZGQodGhpcy5yYW5nZSkuZmlsdGVyKCJhIikuY2xpY2soZnVuY3Rpb24o
Yil7Yi5wcmV2ZW50RGVmYXVsdCgpfSkuaG92ZXIoZnVuY3Rpb24oKXtkLmRpc2FibGVkfHxhKHRo
aXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxmdW5jdGlvbigpe2EodGhpcykucmVtb3Zl
Q2xhc3MoInVpLXN0YXRlLWhvdmVyIil9KS5mb2N1cyhmdW5jdGlvbigpe2lmKGQuZGlzYWJsZWQp
YSh0aGlzKS5ibHVyKCk7ZWxzZXthKCIudWktc2xpZGVyIC51aS1zdGF0ZS1mb2N1cyIpLnJlbW92
ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3Vz
Iil9fSkuYmx1cihmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3Vz
Iil9KTt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihiKXthKHRoaXMpLmRhdGEoImluZGV4LnVp
LXNsaWRlci1oYW5kbGUiLAorYil9KTt0aGlzLmhhbmRsZXMua2V5ZG93bihmdW5jdGlvbihiKXt2
YXIgZj10cnVlLGo9YSh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiksbCxvLG47
aWYoIWMub3B0aW9ucy5kaXNhYmxlZCl7c3dpdGNoKGIua2V5Q29kZSl7Y2FzZSBhLnVpLmtleUNv
ZGUuSE9NRTpjYXNlIGEudWkua2V5Q29kZS5FTkQ6Y2FzZSBhLnVpLmtleUNvZGUuUEFHRV9VUDpj
YXNlIGEudWkua2V5Q29kZS5QQUdFX0RPV046Y2FzZSBhLnVpLmtleUNvZGUuVVA6Y2FzZSBhLnVp
LmtleUNvZGUuUklHSFQ6Y2FzZSBhLnVpLmtleUNvZGUuRE9XTjpjYXNlIGEudWkua2V5Q29kZS5M
RUZUOmY9ZmFsc2U7aWYoIWMuX2tleVNsaWRpbmcpe2MuX2tleVNsaWRpbmc9dHJ1ZTthKHRoaXMp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtsPWMuX3N0YXJ0KGIsaik7aWYobD09PWZhbHNl
KXJldHVybn1icmVha31uPWMub3B0aW9ucy5zdGVwO2w9Yy5vcHRpb25zLnZhbHVlcyYmYy5vcHRp
b25zLnZhbHVlcy5sZW5ndGg/Cisobz1jLnZhbHVlcyhqKSk6KG89Yy52YWx1ZSgpKTtzd2l0Y2go
Yi5rZXlDb2RlKXtjYXNlIGEudWkua2V5Q29kZS5IT01FOm89Yy5fdmFsdWVNaW4oKTticmVhaztj
YXNlIGEudWkua2V5Q29kZS5FTkQ6bz1jLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgYS51aS5rZXlD
b2RlLlBBR0VfVVA6bz1jLl90cmltQWxpZ25WYWx1ZShsKyhjLl92YWx1ZU1heCgpLWMuX3ZhbHVl
TWluKCkpLzUpO2JyZWFrO2Nhc2UgYS51aS5rZXlDb2RlLlBBR0VfRE9XTjpvPWMuX3RyaW1BbGln
blZhbHVlKGwtKGMuX3ZhbHVlTWF4KCktYy5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBhLnVp
LmtleUNvZGUuVVA6Y2FzZSBhLnVpLmtleUNvZGUuUklHSFQ6aWYobD09PWMuX3ZhbHVlTWF4KCkp
cmV0dXJuO289Yy5fdHJpbUFsaWduVmFsdWUobCtuKTticmVhaztjYXNlIGEudWkua2V5Q29kZS5E
T1dOOmNhc2UgYS51aS5rZXlDb2RlLkxFRlQ6aWYobD09PWMuX3ZhbHVlTWluKCkpcmV0dXJuO289
Yy5fdHJpbUFsaWduVmFsdWUobC0KK24pO2JyZWFrfWMuX3NsaWRlKGIsaixvKTtyZXR1cm4gZn19
KS5rZXl1cChmdW5jdGlvbihiKXt2YXIgZj1hKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1o
YW5kbGUiKTtpZihjLl9rZXlTbGlkaW5nKXtjLl9rZXlTbGlkaW5nPWZhbHNlO2MuX3N0b3AoYixm
KTtjLl9jaGFuZ2UoYixmKTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX19
KTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxkZXN0cm95OmZ1
bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZSgpO3RoaXMucmFuZ2UucmVtb3ZlKCk7dGhpcy5l
bGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLWhvcml6b250YWwgdWktc2xp
ZGVyLXZlcnRpY2FsIHVpLXNsaWRlci1kaXNhYmxlZCB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRl
bnQgdWktY29ybmVyLWFsbCIpLnJlbW92ZURhdGEoInNsaWRlciIpLnVuYmluZCgiLnNsaWRlciIp
O3RoaXMuX21vdXNlRGVzdHJveSgpOworcmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rp
b24oYyl7dmFyIGQ9dGhpcy5vcHRpb25zLGUsaCxnLGksYjtpZihkLmRpc2FibGVkKXJldHVybiBm
YWxzZTt0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhl
aWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX07dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMu
ZWxlbWVudC5vZmZzZXQoKTtlPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDpjLnBhZ2VYLHk6
Yy5wYWdlWX0pO2g9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzE7aT10aGlzO3Ro
aXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGYpe3ZhciBqPU1hdGguYWJzKGUtaS52YWx1ZXMoZikp
O2lmKGg+ail7aD1qO2c9YSh0aGlzKTtiPWZ9fSk7aWYoZC5yYW5nZT09PXRydWUmJnRoaXMudmFs
dWVzKDEpPT09ZC5taW4pe2IrPTE7Zz1hKHRoaXMuaGFuZGxlc1tiXSl9aWYodGhpcy5fc3RhcnQo
YyxiKT09PWZhbHNlKXJldHVybiBmYWxzZTsKK3RoaXMuX21vdXNlU2xpZGluZz10cnVlO2kuX2hh
bmRsZUluZGV4PWI7Zy5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKTtkPWcub2Zm
c2V0KCk7dGhpcy5fY2xpY2tPZmZzZXQ9IWEoYy50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCku
aXMoIi51aS1zbGlkZXItaGFuZGxlIik/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6Yy5wYWdlWC1kLmxl
ZnQtZy53aWR0aCgpLzIsdG9wOmMucGFnZVktZC50b3AtZy5oZWlnaHQoKS8yLShwYXJzZUludChn
LmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChnLmNzcygiYm9yZGVyQm90
dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChnLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX07
dGhpcy5oYW5kbGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShjLGIs
ZSk7cmV0dXJuIHRoaXMuX2FuaW1hdGVPZmY9dHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXty
ZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihjKXt2YXIgZD0KK3RoaXMuX25vcm1WYWx1
ZUZyb21Nb3VzZSh7eDpjLnBhZ2VYLHk6Yy5wYWdlWX0pO3RoaXMuX3NsaWRlKGMsdGhpcy5faGFu
ZGxlSW5kZXgsZCk7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMpe3RoaXMuaGFu
ZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5fbW91c2VTbGlkaW5nPWZh
bHNlO3RoaXMuX3N0b3AoYyx0aGlzLl9oYW5kbGVJbmRleCk7dGhpcy5fY2hhbmdlKGMsdGhpcy5f
aGFuZGxlSW5kZXgpO3RoaXMuX2NsaWNrT2Zmc2V0PXRoaXMuX2hhbmRsZUluZGV4PW51bGw7cmV0
dXJuIHRoaXMuX2FuaW1hdGVPZmY9ZmFsc2V9LF9kZXRlY3RPcmllbnRhdGlvbjpmdW5jdGlvbigp
e3RoaXMub3JpZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIj8i
dmVydGljYWwiOiJob3Jpem9udGFsIn0sX25vcm1WYWx1ZUZyb21Nb3VzZTpmdW5jdGlvbihjKXt2
YXIgZDtpZih0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtkPQordGhpcy5lbGVtZW50
U2l6ZS53aWR0aDtjPWMueC10aGlzLmVsZW1lbnRPZmZzZXQubGVmdC0odGhpcy5fY2xpY2tPZmZz
ZXQ/dGhpcy5fY2xpY2tPZmZzZXQubGVmdDowKX1lbHNle2Q9dGhpcy5lbGVtZW50U2l6ZS5oZWln
aHQ7Yz1jLnktdGhpcy5lbGVtZW50T2Zmc2V0LnRvcC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5f
Y2xpY2tPZmZzZXQudG9wOjApfWQ9Yy9kO2lmKGQ+MSlkPTE7aWYoZDwwKWQ9MDtpZih0aGlzLm9y
aWVudGF0aW9uPT09InZlcnRpY2FsIilkPTEtZDtjPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFs
dWVNaW4oKTtyZXR1cm4gdGhpcy5fdHJpbUFsaWduVmFsdWUodGhpcy5fdmFsdWVNaW4oKStkKmMp
fSxfc3RhcnQ6ZnVuY3Rpb24oYyxkKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1
ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1
ZXMubGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpOworZS52YWx1ZXM9dGhpcy52YWx1ZXMo
KX1yZXR1cm4gdGhpcy5fdHJpZ2dlcigic3RhcnQiLGMsZSl9LF9zbGlkZTpmdW5jdGlvbihjLGQs
ZSl7dmFyIGg7aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5n
dGgpe2g9dGhpcy52YWx1ZXMoZD8wOjEpO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoPT09
MiYmdGhpcy5vcHRpb25zLnJhbmdlPT09dHJ1ZSYmKGQ9PT0wJiZlPmh8fGQ9PT0xJiZlPGgpKWU9
aDtpZihlIT09dGhpcy52YWx1ZXMoZCkpe2g9dGhpcy52YWx1ZXMoKTtoW2RdPWU7Yz10aGlzLl90
cmlnZ2VyKCJzbGlkZSIsYyx7aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1ZTplLHZhbHVlczpo
fSk7dGhpcy52YWx1ZXMoZD8wOjEpO2MhPT1mYWxzZSYmdGhpcy52YWx1ZXMoZCxlLHRydWUpfX1l
bHNlIGlmKGUhPT10aGlzLnZhbHVlKCkpe2M9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGMse2hhbmRs
ZTp0aGlzLmhhbmRsZXNbZF0sdmFsdWU6ZX0pOworYyE9PWZhbHNlJiZ0aGlzLnZhbHVlKGUpfX0s
X3N0b3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1ZTp0
aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMu
bGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpO2UudmFsdWVzPXRoaXMudmFsdWVzKCl9dGhp
cy5fdHJpZ2dlcigic3RvcCIsYyxlKX0sX2NoYW5nZTpmdW5jdGlvbihjLGQpe2lmKCF0aGlzLl9r
ZXlTbGlkaW5nJiYhdGhpcy5fbW91c2VTbGlkaW5nKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxl
c1tkXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0
aW9ucy52YWx1ZXMubGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpO2UudmFsdWVzPXRoaXMu
dmFsdWVzKCl9dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixjLGUpfX0sdmFsdWU6ZnVuY3Rpb24oYyl7
aWYoYXJndW1lbnRzLmxlbmd0aCl7dGhpcy5vcHRpb25zLnZhbHVlPQordGhpcy5fdHJpbUFsaWdu
VmFsdWUoYyk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCl9ZWxzZSBy
ZXR1cm4gdGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGMsZCl7dmFyIGUsaCxnO2lmKGFy
Z3VtZW50cy5sZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1tjXT10aGlzLl90cmltQWxpZ25W
YWx1ZShkKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxjKX1lbHNlIGlm
KGFyZ3VtZW50cy5sZW5ndGgpaWYoYS5pc0FycmF5KGFyZ3VtZW50c1swXSkpe2U9dGhpcy5vcHRp
b25zLnZhbHVlcztoPWFyZ3VtZW50c1swXTtmb3IoZz0wO2c8ZS5sZW5ndGg7Zys9MSl7ZVtnXT10
aGlzLl90cmltQWxpZ25WYWx1ZShoW2ddKTt0aGlzLl9jaGFuZ2UobnVsbCxnKX10aGlzLl9yZWZy
ZXNoVmFsdWUoKX1lbHNlIHJldHVybiB0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMu
dmFsdWVzLmxlbmd0aD90aGlzLl92YWx1ZXMoYyk6Cit0aGlzLnZhbHVlKCk7ZWxzZSByZXR1cm4g
dGhpcy5fdmFsdWVzKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYyxkKXt2YXIgZSxoPTA7aWYoYS5p
c0FycmF5KHRoaXMub3B0aW9ucy52YWx1ZXMpKWg9dGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7
YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO3N3aXRj
aChjKXtjYXNlICJkaXNhYmxlZCI6aWYoZCl7dGhpcy5oYW5kbGVzLmZpbHRlcigiLnVpLXN0YXRl
LWZvY3VzIikuYmx1cigpO3RoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIi
KTt0aGlzLmhhbmRsZXMucHJvcEF0dHIoImRpc2FibGVkIix0cnVlKTt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWRpc2FibGVkIil9ZWxzZXt0aGlzLmhhbmRsZXMucHJvcEF0dHIoImRpc2FibGVk
IixmYWxzZSk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kaXNhYmxlZCIpfWJyZWFrO2Nh
c2UgIm9yaWVudGF0aW9uIjp0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOwordGhpcy5lbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5h
ZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbik7dGhpcy5fcmVmcmVzaFZhbHVl
KCk7YnJlYWs7Y2FzZSAidmFsdWUiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZyZXNo
VmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCwwKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFr
O2Nhc2UgInZhbHVlcyI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgp
O2ZvcihlPTA7ZTxoO2UrPTEpdGhpcy5fY2hhbmdlKG51bGwsZSk7dGhpcy5fYW5pbWF0ZU9mZj1m
YWxzZTticmVha319LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucy52YWx1ZTty
ZXR1cm4gYz10aGlzLl90cmltQWxpZ25WYWx1ZShjKX0sX3ZhbHVlczpmdW5jdGlvbihjKXt2YXIg
ZCxlO2lmKGFyZ3VtZW50cy5sZW5ndGgpe2Q9dGhpcy5vcHRpb25zLnZhbHVlc1tjXTsKK3JldHVy
biBkPXRoaXMuX3RyaW1BbGlnblZhbHVlKGQpfWVsc2V7ZD10aGlzLm9wdGlvbnMudmFsdWVzLnNs
aWNlKCk7Zm9yKGU9MDtlPGQubGVuZ3RoO2UrPTEpZFtlXT10aGlzLl90cmltQWxpZ25WYWx1ZShk
W2VdKTtyZXR1cm4gZH19LF90cmltQWxpZ25WYWx1ZTpmdW5jdGlvbihjKXtpZihjPD10aGlzLl92
YWx1ZU1pbigpKXJldHVybiB0aGlzLl92YWx1ZU1pbigpO2lmKGM+PXRoaXMuX3ZhbHVlTWF4KCkp
cmV0dXJuIHRoaXMuX3ZhbHVlTWF4KCk7dmFyIGQ9dGhpcy5vcHRpb25zLnN0ZXA+MD90aGlzLm9w
dGlvbnMuc3RlcDoxLGU9KGMtdGhpcy5fdmFsdWVNaW4oKSklZDtjPWMtZTtpZihNYXRoLmFicyhl
KSoyPj1kKWMrPWU+MD9kOi1kO3JldHVybiBwYXJzZUZsb2F0KGMudG9GaXhlZCg1KSl9LF92YWx1
ZU1pbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWlufSxfdmFsdWVNYXg6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3Zh
ciBjPQordGhpcy5vcHRpb25zLnJhbmdlLGQ9dGhpcy5vcHRpb25zLGU9dGhpcyxoPSF0aGlzLl9h
bmltYXRlT2ZmP2QuYW5pbWF0ZTpmYWxzZSxnLGk9e30sYixmLGosbDtpZih0aGlzLm9wdGlvbnMu
dmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl0aGlzLmhhbmRsZXMuZWFjaChmdW5j
dGlvbihvKXtnPShlLnZhbHVlcyhvKS1lLl92YWx1ZU1pbigpKS8oZS5fdmFsdWVNYXgoKS1lLl92
YWx1ZU1pbigpKSoxMDA7aVtlLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90
dG9tIl09ZysiJSI7YSh0aGlzKS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKGksZC5hbmlt
YXRlKTtpZihlLm9wdGlvbnMucmFuZ2U9PT10cnVlKWlmKGUub3JpZW50YXRpb249PT0iaG9yaXpv
bnRhbCIpe2lmKG89PT0wKWUucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3MiXSh7bGVm
dDpnKyIlIn0sZC5hbmltYXRlKTtpZihvPT09MSllLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7
d2lkdGg6Zy0KK2IrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSl9ZWxzZXtp
ZihvPT09MCllLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpnKyIl
In0sZC5hbmltYXRlKTtpZihvPT09MSllLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0
OmctYisiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmFuaW1hdGV9KX1iPWd9KTtlbHNle2Y9
dGhpcy52YWx1ZSgpO2o9dGhpcy5fdmFsdWVNaW4oKTtsPXRoaXMuX3ZhbHVlTWF4KCk7Zz1sIT09
aj8oZi1qKS8obC1qKSoxMDA6MDtpW2Uub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCI/ImxlZnQi
OiJib3R0b20iXT1nKyIlIjt0aGlzLmhhbmRsZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJd
KGksZC5hbmltYXRlKTtpZihjPT09Im1pbiImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRh
bCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDpnKyIlIn0s
CitkLmFuaW1hdGUpO2lmKGM9PT0ibWF4IiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFs
Iil0aGlzLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6MTAwLWcrIiUifSx7cXVldWU6
ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSk7aWYoYz09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9u
PT09InZlcnRpY2FsIil0aGlzLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oe2hl
aWdodDpnKyIlIn0sZC5hbmltYXRlKTtpZihjPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0i
dmVydGljYWwiKXRoaXMucmFuZ2VbaD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6MTAwLWcrIiUi
fSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSl9fX0pO2EuZXh0ZW5kKGEudWkuc2xp
ZGVyLHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVlcnkpOworKGZ1bmN0aW9uKGEsYyl7ZnVuY3Rp
b24gZCgpe3JldHVybisraH1mdW5jdGlvbiBlKCl7cmV0dXJuKytnfXZhciBoPTAsZz0wO2Eud2lk
Z2V0KCJ1aS50YWJzIix7b3B0aW9uczp7YWRkOm51bGwsYWpheE9wdGlvbnM6bnVsbCxjYWNoZTpm
YWxzZSxjb29raWU6bnVsbCxjb2xsYXBzaWJsZTpmYWxzZSxkaXNhYmxlOm51bGwsZGlzYWJsZWQ6
W10sZW5hYmxlOm51bGwsZXZlbnQ6ImNsaWNrIixmeDpudWxsLGlkUHJlZml4OiJ1aS10YWJzLSIs
bG9hZDpudWxsLHBhbmVsVGVtcGxhdGU6IjxkaXY+PC9kaXY+IixyZW1vdmU6bnVsbCxzZWxlY3Q6
bnVsbCxzaG93Om51bGwsc3Bpbm5lcjoiPGVtPkxvYWRpbmcmIzgyMzA7PC9lbT4iLHRhYlRlbXBs
YXRlOiI8bGk+PGEgaHJlZj0nI3tocmVmfSc+PHNwYW4+I3tsYWJlbH08L3NwYW4+PC9hPjwvbGk+
In0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX3RhYmlmeSh0cnVlKX0sX3NldE9wdGlvbjpmdW5j
dGlvbihpLGIpe2lmKGk9PSJzZWxlY3RlZCIpdGhpcy5vcHRpb25zLmNvbGxhcHNpYmxlJiYKK2I9
PXRoaXMub3B0aW9ucy5zZWxlY3RlZHx8dGhpcy5zZWxlY3QoYik7ZWxzZXt0aGlzLm9wdGlvbnNb
aV09Yjt0aGlzLl90YWJpZnkoKX19LF90YWJJZDpmdW5jdGlvbihpKXtyZXR1cm4gaS50aXRsZSYm
aS50aXRsZS5yZXBsYWNlKC9ccy9nLCJfIikucmVwbGFjZSgvW15cd1x1MDBjMC1cdUZGRkYtXS9n
LCIiKXx8dGhpcy5vcHRpb25zLmlkUHJlZml4K2QoKX0sX3Nhbml0aXplU2VsZWN0b3I6ZnVuY3Rp
b24oaSl7cmV0dXJuIGkucmVwbGFjZSgvOi9nLCJcXDoiKX0sX2Nvb2tpZTpmdW5jdGlvbigpe3Zh
ciBpPXRoaXMuY29va2llfHwodGhpcy5jb29raWU9dGhpcy5vcHRpb25zLmNvb2tpZS5uYW1lfHwi
dWktdGFicy0iK2UoKSk7cmV0dXJuIGEuY29va2llLmFwcGx5KG51bGwsW2ldLmNvbmNhdChhLm1h
a2VBcnJheShhcmd1bWVudHMpKSl9LF91aTpmdW5jdGlvbihpLGIpe3JldHVybnt0YWI6aSxwYW5l
bDpiLGluZGV4OnRoaXMuYW5jaG9ycy5pbmRleChpKX19LF9jbGVhbnVwOmZ1bmN0aW9uKCl7dGhp
cy5saXMuZmlsdGVyKCIudWktc3RhdGUtcHJvY2Vzc2luZyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0
ZS1wcm9jZXNzaW5nIikuZmluZCgic3BhbjpkYXRhKGxhYmVsLnRhYnMpIikuZWFjaChmdW5jdGlv
bigpe3ZhciBpPQorYSh0aGlzKTtpLmh0bWwoaS5kYXRhKCJsYWJlbC50YWJzIikpLnJlbW92ZURh
dGEoImxhYmVsLnRhYnMiKX0pfSxfdGFiaWZ5OmZ1bmN0aW9uKGkpe2Z1bmN0aW9uIGIocix1KXty
LmNzcygiZGlzcGxheSIsIiIpOyFhLnN1cHBvcnQub3BhY2l0eSYmdS5vcGFjaXR5JiZyWzBdLnN0
eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIil9dmFyIGY9dGhpcyxqPXRoaXMub3B0aW9ucyxs
PS9eIy4rLzt0aGlzLmxpc3Q9dGhpcy5lbGVtZW50LmZpbmQoIm9sLHVsIikuZXEoMCk7dGhpcy5s
aXM9YSgiID4gbGk6aGFzKGFbaHJlZl0pIix0aGlzLmxpc3QpO3RoaXMuYW5jaG9ycz10aGlzLmxp
cy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYSgiYSIsdGhpcylbMF19KTt0aGlzLnBhbmVscz1hKFtd
KTt0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbihyLHUpe3ZhciB2PWEodSkuYXR0cigiaHJlZiIp
LHc9di5zcGxpdCgiIyIpWzBdLHg7aWYodyYmKHc9PT1sb2NhdGlvbi50b1N0cmluZygpLnNwbGl0
KCIjIilbMF18fAorKHg9YSgiYmFzZSIpWzBdKSYmdz09PXguaHJlZikpe3Y9dS5oYXNoO3UuaHJl
Zj12fWlmKGwudGVzdCh2KSlmLnBhbmVscz1mLnBhbmVscy5hZGQoZi5lbGVtZW50LmZpbmQoZi5f
c2FuaXRpemVTZWxlY3Rvcih2KSkpO2Vsc2UgaWYodiYmdiE9PSIjIil7YS5kYXRhKHUsImhyZWYu
dGFicyIsdik7YS5kYXRhKHUsImxvYWQudGFicyIsdi5yZXBsYWNlKC8jLiokLywiIikpO3Y9Zi5f
dGFiSWQodSk7dS5ocmVmPSIjIit2O3U9Zi5lbGVtZW50LmZpbmQoIiMiK3YpO2lmKCF1Lmxlbmd0
aCl7dT1hKGoucGFuZWxUZW1wbGF0ZSkuYXR0cigiaWQiLHYpLmFkZENsYXNzKCJ1aS10YWJzLXBh
bmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKS5pbnNlcnRBZnRlcihmLnBh
bmVsc1tyLTFdfHxmLmxpc3QpO3UuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKX1mLnBhbmVscz1m
LnBhbmVscy5hZGQodSl9ZWxzZSBqLmRpc2FibGVkLnB1c2gocil9KTtpZihpKXt0aGlzLmVsZW1l
bnQuYWRkQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5l
ci1hbGwiKTsKK3RoaXMubGlzdC5hZGRDbGFzcygidWktdGFicy1uYXYgdWktaGVscGVyLXJlc2V0
IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiKTt0aGlz
Lmxpcy5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIik7dGhpcy5wYW5l
bHMuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJv
dHRvbSIpO2lmKGouc2VsZWN0ZWQ9PT1jKXtsb2NhdGlvbi5oYXNoJiZ0aGlzLmFuY2hvcnMuZWFj
aChmdW5jdGlvbihyLHUpe2lmKHUuaGFzaD09bG9jYXRpb24uaGFzaCl7ai5zZWxlY3RlZD1yO3Jl
dHVybiBmYWxzZX19KTtpZih0eXBlb2Ygai5zZWxlY3RlZCE9PSJudW1iZXIiJiZqLmNvb2tpZSlq
LnNlbGVjdGVkPXBhcnNlSW50KGYuX2Nvb2tpZSgpLDEwKTtpZih0eXBlb2Ygai5zZWxlY3RlZCE9
PSJudW1iZXIiJiZ0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikubGVuZ3RoKWou
c2VsZWN0ZWQ9Cit0aGlzLmxpcy5pbmRleCh0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVj
dGVkIikpO2ouc2VsZWN0ZWQ9ai5zZWxlY3RlZHx8KHRoaXMubGlzLmxlbmd0aD8wOi0xKX1lbHNl
IGlmKGouc2VsZWN0ZWQ9PT1udWxsKWouc2VsZWN0ZWQ9LTE7ai5zZWxlY3RlZD1qLnNlbGVjdGVk
Pj0wJiZ0aGlzLmFuY2hvcnNbai5zZWxlY3RlZF18fGouc2VsZWN0ZWQ8MD9qLnNlbGVjdGVkOjA7
ai5kaXNhYmxlZD1hLnVuaXF1ZShqLmRpc2FibGVkLmNvbmNhdChhLm1hcCh0aGlzLmxpcy5maWx0
ZXIoIi51aS1zdGF0ZS1kaXNhYmxlZCIpLGZ1bmN0aW9uKHIpe3JldHVybiBmLmxpcy5pbmRleChy
KX0pKSkuc29ydCgpO2EuaW5BcnJheShqLnNlbGVjdGVkLGouZGlzYWJsZWQpIT0tMSYmai5kaXNh
YmxlZC5zcGxpY2UoYS5pbkFycmF5KGouc2VsZWN0ZWQsai5kaXNhYmxlZCksMSk7dGhpcy5wYW5l
bHMuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO3RoaXMubGlzLnJlbW92ZUNsYXNzKCJ1aS10YWJz
LXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpOworaWYoai5zZWxlY3RlZD49MCYmdGhpcy5hbmNo
b3JzLmxlbmd0aCl7Zi5lbGVtZW50LmZpbmQoZi5fc2FuaXRpemVTZWxlY3RvcihmLmFuY2hvcnNb
ai5zZWxlY3RlZF0uaGFzaCkpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxpcy5l
cShqLnNlbGVjdGVkKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUi
KTtmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7Zi5fdHJpZ2dlcigic2hvdyIsbnVs
bCxmLl91aShmLmFuY2hvcnNbai5zZWxlY3RlZF0sZi5lbGVtZW50LmZpbmQoZi5fc2FuaXRpemVT
ZWxlY3RvcihmLmFuY2hvcnNbai5zZWxlY3RlZF0uaGFzaCkpWzBdKSl9KTt0aGlzLmxvYWQoai5z
ZWxlY3RlZCl9YSh3aW5kb3cpLmJpbmQoInVubG9hZCIsZnVuY3Rpb24oKXtmLmxpcy5hZGQoZi5h
bmNob3JzKS51bmJpbmQoIi50YWJzIik7Zi5saXM9Zi5hbmNob3JzPWYucGFuZWxzPW51bGx9KX1l
bHNlIGouc2VsZWN0ZWQ9dGhpcy5saXMuaW5kZXgodGhpcy5saXMuZmlsdGVyKCIudWktdGFicy1z
ZWxlY3RlZCIpKTsKK3RoaXMuZWxlbWVudFtqLmNvbGxhcHNpYmxlPyJhZGRDbGFzcyI6InJlbW92
ZUNsYXNzIl0oInVpLXRhYnMtY29sbGFwc2libGUiKTtqLmNvb2tpZSYmdGhpcy5fY29va2llKGou
c2VsZWN0ZWQsai5jb29raWUpO2k9MDtmb3IodmFyIG87bz10aGlzLmxpc1tpXTtpKyspYShvKVth
LmluQXJyYXkoaSxqLmRpc2FibGVkKSE9LTEmJiFhKG8pLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVj
dGVkIik/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktc3RhdGUtZGlzYWJsZWQiKTtqLmNh
Y2hlPT09ZmFsc2UmJnRoaXMuYW5jaG9ycy5yZW1vdmVEYXRhKCJjYWNoZS50YWJzIik7dGhpcy5s
aXMuYWRkKHRoaXMuYW5jaG9ycykudW5iaW5kKCIudGFicyIpO2lmKGouZXZlbnQhPT0ibW91c2Vv
dmVyIil7dmFyIG49ZnVuY3Rpb24ocix1KXt1LmlzKCI6bm90KC51aS1zdGF0ZS1kaXNhYmxlZCki
KSYmdS5hZGRDbGFzcygidWktc3RhdGUtIityKX0saz1mdW5jdGlvbihyLHUpe3UucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLSIrCityKX07dGhpcy5saXMuYmluZCgibW91c2VvdmVyLnRhYnMiLGZ1bmN0
aW9uKCl7bigiaG92ZXIiLGEodGhpcykpfSk7dGhpcy5saXMuYmluZCgibW91c2VvdXQudGFicyIs
ZnVuY3Rpb24oKXtrKCJob3ZlciIsYSh0aGlzKSl9KTt0aGlzLmFuY2hvcnMuYmluZCgiZm9jdXMu
dGFicyIsZnVuY3Rpb24oKXtuKCJmb2N1cyIsYSh0aGlzKS5jbG9zZXN0KCJsaSIpKX0pO3RoaXMu
YW5jaG9ycy5iaW5kKCJibHVyLnRhYnMiLGZ1bmN0aW9uKCl7aygiZm9jdXMiLGEodGhpcykuY2xv
c2VzdCgibGkiKSl9KX12YXIgbSxwO2lmKGouZngpaWYoYS5pc0FycmF5KGouZngpKXttPWouZnhb
MF07cD1qLmZ4WzFdfWVsc2UgbT1wPWouZng7dmFyIHE9cD9mdW5jdGlvbihyLHUpe2EocikuY2xv
c2VzdCgibGkiKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTt1
LmhpZGUoKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIikuYW5pbWF0ZShwLHAuZHVyYXRpb258
fCJub3JtYWwiLAorZnVuY3Rpb24oKXtiKHUscCk7Zi5fdHJpZ2dlcigic2hvdyIsbnVsbCxmLl91
aShyLHVbMF0pKX0pfTpmdW5jdGlvbihyLHUpe2EocikuY2xvc2VzdCgibGkiKS5hZGRDbGFzcygi
dWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTt1LnJlbW92ZUNsYXNzKCJ1aS10YWJz
LWhpZGUiKTtmLl90cmlnZ2VyKCJzaG93IixudWxsLGYuX3VpKHIsdVswXSkpfSxzPW0/ZnVuY3Rp
b24ocix1KXt1LmFuaW1hdGUobSxtLmR1cmF0aW9ufHwibm9ybWFsIixmdW5jdGlvbigpe2YubGlz
LnJlbW92ZUNsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO3UuYWRkQ2xh
c3MoInVpLXRhYnMtaGlkZSIpO2IodSxtKTtmLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpfSl9OmZ1
bmN0aW9uKHIsdSl7Zi5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUt
YWN0aXZlIik7dS5hZGRDbGFzcygidWktdGFicy1oaWRlIik7Zi5lbGVtZW50LmRlcXVldWUoInRh
YnMiKX07Cit0aGlzLmFuY2hvcnMuYmluZChqLmV2ZW50KyIudGFicyIsZnVuY3Rpb24oKXt2YXIg
cj10aGlzLHU9YShyKS5jbG9zZXN0KCJsaSIpLHY9Zi5wYW5lbHMuZmlsdGVyKCI6bm90KC51aS10
YWJzLWhpZGUpIiksdz1mLmVsZW1lbnQuZmluZChmLl9zYW5pdGl6ZVNlbGVjdG9yKHIuaGFzaCkp
O2lmKHUuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmIWouY29sbGFwc2libGV8fHUuaGFz
Q2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fHUuaGFzQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3Np
bmciKXx8Zi5wYW5lbHMuZmlsdGVyKCI6YW5pbWF0ZWQiKS5sZW5ndGh8fGYuX3RyaWdnZXIoInNl
bGVjdCIsbnVsbCxmLl91aSh0aGlzLHdbMF0pKT09PWZhbHNlKXt0aGlzLmJsdXIoKTtyZXR1cm4g
ZmFsc2V9ai5zZWxlY3RlZD1mLmFuY2hvcnMuaW5kZXgodGhpcyk7Zi5hYm9ydCgpO2lmKGouY29s
bGFwc2libGUpaWYodS5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpKXtqLnNlbGVjdGVkPQor
LTE7ai5jb29raWUmJmYuX2Nvb2tpZShqLnNlbGVjdGVkLGouY29va2llKTtmLmVsZW1lbnQucXVl
dWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhyLHYpfSkuZGVxdWV1ZSgidGFicyIpO3RoaXMuYmx1cigp
O3JldHVybiBmYWxzZX1lbHNlIGlmKCF2Lmxlbmd0aCl7ai5jb29raWUmJmYuX2Nvb2tpZShqLnNl
bGVjdGVkLGouY29va2llKTtmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cShyLHcp
fSk7Zi5sb2FkKGYuYW5jaG9ycy5pbmRleCh0aGlzKSk7dGhpcy5ibHVyKCk7cmV0dXJuIGZhbHNl
fWouY29va2llJiZmLl9jb29raWUoai5zZWxlY3RlZCxqLmNvb2tpZSk7aWYody5sZW5ndGgpe3Yu
bGVuZ3RoJiZmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhyLHYpfSk7Zi5lbGVt
ZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3Eocix3KX0pO2YubG9hZChmLmFuY2hvcnMuaW5k
ZXgodGhpcykpfWVsc2UgdGhyb3cialF1ZXJ5IFVJIFRhYnM6IE1pc21hdGNoaW5nIGZyYWdtZW50
IGlkZW50aWZpZXIuIjsKK2EuYnJvd3Nlci5tc2llJiZ0aGlzLmJsdXIoKX0pO3RoaXMuYW5jaG9y
cy5iaW5kKCJjbGljay50YWJzIixmdW5jdGlvbigpe3JldHVybiBmYWxzZX0pfSxfZ2V0SW5kZXg6
ZnVuY3Rpb24oaSl7aWYodHlwZW9mIGk9PSJzdHJpbmciKWk9dGhpcy5hbmNob3JzLmluZGV4KHRo
aXMuYW5jaG9ycy5maWx0ZXIoIltocmVmJD0iK2krIl0iKSk7cmV0dXJuIGl9LGRlc3Ryb3k6ZnVu
Y3Rpb24oKXt2YXIgaT10aGlzLm9wdGlvbnM7dGhpcy5hYm9ydCgpO3RoaXMuZWxlbWVudC51bmJp
bmQoIi50YWJzIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250
ZW50IHVpLWNvcm5lci1hbGwgdWktdGFicy1jb2xsYXBzaWJsZSIpLnJlbW92ZURhdGEoInRhYnMi
KTt0aGlzLmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1o
ZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIik7dGhpcy5hbmNo
b3JzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj0KK2EuZGF0YSh0aGlzLCJocmVmLnRhYnMiKTtpZihi
KXRoaXMuaHJlZj1iO3ZhciBmPWEodGhpcykudW5iaW5kKCIudGFicyIpO2EuZWFjaChbImhyZWYi
LCJsb2FkIiwiY2FjaGUiXSxmdW5jdGlvbihqLGwpe2YucmVtb3ZlRGF0YShsKyIudGFicyIpfSl9
KTt0aGlzLmxpcy51bmJpbmQoIi50YWJzIikuYWRkKHRoaXMucGFuZWxzKS5lYWNoKGZ1bmN0aW9u
KCl7YS5kYXRhKHRoaXMsImRlc3Ryb3kudGFicyIpP2EodGhpcykucmVtb3ZlKCk6YSh0aGlzKS5y
ZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIHVpLXRhYnMtc2VsZWN0
ZWQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWhvdmVyIHVpLXN0YXRlLWZvY3VzIHVpLXN0YXRl
LWRpc2FibGVkIHVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRv
bSB1aS10YWJzLWhpZGUiKX0pO2kuY29va2llJiZ0aGlzLl9jb29raWUobnVsbCxpLmNvb2tpZSk7
cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihpLAorYixmKXtpZihmPT09YylmPXRoaXMuYW5jaG9y
cy5sZW5ndGg7dmFyIGo9dGhpcyxsPXRoaXMub3B0aW9ucztiPWEobC50YWJUZW1wbGF0ZS5yZXBs
YWNlKC8jXHtocmVmXH0vZyxpKS5yZXBsYWNlKC8jXHtsYWJlbFx9L2csYikpO2k9IWkuaW5kZXhP
ZigiIyIpP2kucmVwbGFjZSgiIyIsIiIpOnRoaXMuX3RhYklkKGEoImEiLGIpWzBdKTtiLmFkZENs
YXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKS5kYXRhKCJkZXN0cm95LnRhYnMi
LHRydWUpO3ZhciBvPWouZWxlbWVudC5maW5kKCIjIitpKTtvLmxlbmd0aHx8KG89YShsLnBhbmVs
VGVtcGxhdGUpLmF0dHIoImlkIixpKS5kYXRhKCJkZXN0cm95LnRhYnMiLHRydWUpKTtvLmFkZENs
YXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWkt
dGFicy1oaWRlIik7aWYoZj49dGhpcy5saXMubGVuZ3RoKXtiLmFwcGVuZFRvKHRoaXMubGlzdCk7
by5hcHBlbmRUbyh0aGlzLmxpc3RbMF0ucGFyZW50Tm9kZSl9ZWxzZXtiLmluc2VydEJlZm9yZSh0
aGlzLmxpc1tmXSk7CitvLmluc2VydEJlZm9yZSh0aGlzLnBhbmVsc1tmXSl9bC5kaXNhYmxlZD1h
Lm1hcChsLmRpc2FibGVkLGZ1bmN0aW9uKG4pe3JldHVybiBuPj1mPysrbjpufSk7dGhpcy5fdGFi
aWZ5KCk7aWYodGhpcy5hbmNob3JzLmxlbmd0aD09MSl7bC5zZWxlY3RlZD0wO2IuYWRkQ2xhc3Mo
InVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7by5yZW1vdmVDbGFzcygidWktdGFi
cy1oaWRlIik7dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe2ouX3RyaWdnZXIo
InNob3ciLG51bGwsai5fdWkoai5hbmNob3JzWzBdLGoucGFuZWxzWzBdKSl9KTt0aGlzLmxvYWQo
MCl9dGhpcy5fdHJpZ2dlcigiYWRkIixudWxsLHRoaXMuX3VpKHRoaXMuYW5jaG9yc1tmXSx0aGlz
LnBhbmVsc1tmXSkpO3JldHVybiB0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJ
bmRleChpKTt2YXIgYj10aGlzLm9wdGlvbnMsZj10aGlzLmxpcy5lcShpKS5yZW1vdmUoKSxqPXRo
aXMucGFuZWxzLmVxKGkpLnJlbW92ZSgpOworaWYoZi5oYXNDbGFzcygidWktdGFicy1zZWxlY3Rl
ZCIpJiZ0aGlzLmFuY2hvcnMubGVuZ3RoPjEpdGhpcy5zZWxlY3QoaSsoaSsxPHRoaXMuYW5jaG9y
cy5sZW5ndGg/MTotMSkpO2IuZGlzYWJsZWQ9YS5tYXAoYS5ncmVwKGIuZGlzYWJsZWQsZnVuY3Rp
b24obCl7cmV0dXJuIGwhPWl9KSxmdW5jdGlvbihsKXtyZXR1cm4gbD49aT8tLWw6bH0pO3RoaXMu
X3RhYmlmeSgpO3RoaXMuX3RyaWdnZXIoInJlbW92ZSIsbnVsbCx0aGlzLl91aShmLmZpbmQoImEi
KVswXSxqWzBdKSk7cmV0dXJuIHRoaXN9LGVuYWJsZTpmdW5jdGlvbihpKXtpPXRoaXMuX2dldElu
ZGV4KGkpO3ZhciBiPXRoaXMub3B0aW9ucztpZihhLmluQXJyYXkoaSxiLmRpc2FibGVkKSE9LTEp
e3RoaXMubGlzLmVxKGkpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZGlzYWJs
ZWQ9YS5ncmVwKGIuZGlzYWJsZWQsZnVuY3Rpb24oZil7cmV0dXJuIGYhPWl9KTt0aGlzLl90cmln
Z2VyKCJlbmFibGUiLG51bGwsCit0aGlzLl91aSh0aGlzLmFuY2hvcnNbaV0sdGhpcy5wYW5lbHNb
aV0pKTtyZXR1cm4gdGhpc319LGRpc2FibGU6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJbmRleChp
KTt2YXIgYj10aGlzLm9wdGlvbnM7aWYoaSE9Yi5zZWxlY3RlZCl7dGhpcy5saXMuZXEoaSkuYWRk
Q2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Yi5kaXNhYmxlZC5wdXNoKGkpO2IuZGlzYWJsZWQu
c29ydCgpO3RoaXMuX3RyaWdnZXIoImRpc2FibGUiLG51bGwsdGhpcy5fdWkodGhpcy5hbmNob3Jz
W2ldLHRoaXMucGFuZWxzW2ldKSl9cmV0dXJuIHRoaXN9LHNlbGVjdDpmdW5jdGlvbihpKXtpPXRo
aXMuX2dldEluZGV4KGkpO2lmKGk9PS0xKWlmKHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSYmdGhp
cy5vcHRpb25zLnNlbGVjdGVkIT0tMSlpPXRoaXMub3B0aW9ucy5zZWxlY3RlZDtlbHNlIHJldHVy
biB0aGlzO3RoaXMuYW5jaG9ycy5lcShpKS50cmlnZ2VyKHRoaXMub3B0aW9ucy5ldmVudCsiLnRh
YnMiKTtyZXR1cm4gdGhpc30sCitsb2FkOmZ1bmN0aW9uKGkpe2k9dGhpcy5fZ2V0SW5kZXgoaSk7
dmFyIGI9dGhpcyxmPXRoaXMub3B0aW9ucyxqPXRoaXMuYW5jaG9ycy5lcShpKVswXSxsPWEuZGF0
YShqLCJsb2FkLnRhYnMiKTt0aGlzLmFib3J0KCk7aWYoIWx8fHRoaXMuZWxlbWVudC5xdWV1ZSgi
dGFicyIpLmxlbmd0aCE9PTAmJmEuZGF0YShqLCJjYWNoZS50YWJzIikpdGhpcy5lbGVtZW50LmRl
cXVldWUoInRhYnMiKTtlbHNle3RoaXMubGlzLmVxKGkpLmFkZENsYXNzKCJ1aS1zdGF0ZS1wcm9j
ZXNzaW5nIik7aWYoZi5zcGlubmVyKXt2YXIgbz1hKCJzcGFuIixqKTtvLmRhdGEoImxhYmVsLnRh
YnMiLG8uaHRtbCgpKS5odG1sKGYuc3Bpbm5lcil9dGhpcy54aHI9YS5hamF4KGEuZXh0ZW5kKHt9
LGYuYWpheE9wdGlvbnMse3VybDpsLHN1Y2Nlc3M6ZnVuY3Rpb24obixrKXtiLmVsZW1lbnQuZmlu
ZChiLl9zYW5pdGl6ZVNlbGVjdG9yKGouaGFzaCkpLmh0bWwobik7Yi5fY2xlYW51cCgpO2YuY2Fj
aGUmJmEuZGF0YShqLAorImNhY2hlLnRhYnMiLHRydWUpO2IuX3RyaWdnZXIoImxvYWQiLG51bGws
Yi5fdWkoYi5hbmNob3JzW2ldLGIucGFuZWxzW2ldKSk7dHJ5e2YuYWpheE9wdGlvbnMuc3VjY2Vz
cyhuLGspfWNhdGNoKG0pe319LGVycm9yOmZ1bmN0aW9uKG4sayl7Yi5fY2xlYW51cCgpO2IuX3Ry
aWdnZXIoImxvYWQiLG51bGwsYi5fdWkoYi5hbmNob3JzW2ldLGIucGFuZWxzW2ldKSk7dHJ5e2Yu
YWpheE9wdGlvbnMuZXJyb3IobixrLGksail9Y2F0Y2gobSl7fX19KSk7Yi5lbGVtZW50LmRlcXVl
dWUoInRhYnMiKTtyZXR1cm4gdGhpc319LGFib3J0OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnF1
ZXVlKFtdKTt0aGlzLnBhbmVscy5zdG9wKGZhbHNlLHRydWUpO3RoaXMuZWxlbWVudC5xdWV1ZSgi
dGFicyIsdGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikuc3BsaWNlKC0yLDIpKTtpZih0aGlzLnho
cil7dGhpcy54aHIuYWJvcnQoKTtkZWxldGUgdGhpcy54aHJ9dGhpcy5fY2xlYW51cCgpO3JldHVy
biB0aGlzfSwKK3VybDpmdW5jdGlvbihpLGIpe3RoaXMuYW5jaG9ycy5lcShpKS5yZW1vdmVEYXRh
KCJjYWNoZS50YWJzIikuZGF0YSgibG9hZC50YWJzIixiKTtyZXR1cm4gdGhpc30sbGVuZ3RoOmZ1
bmN0aW9uKCl7cmV0dXJuIHRoaXMuYW5jaG9ycy5sZW5ndGh9fSk7YS5leHRlbmQoYS51aS50YWJz
LHt2ZXJzaW9uOiIxLjguMTUifSk7YS5leHRlbmQoYS51aS50YWJzLnByb3RvdHlwZSx7cm90YXRp
b246bnVsbCxyb3RhdGU6ZnVuY3Rpb24oaSxiKXt2YXIgZj10aGlzLGo9dGhpcy5vcHRpb25zLGw9
Zi5fcm90YXRlfHwoZi5fcm90YXRlPWZ1bmN0aW9uKG8pe2NsZWFyVGltZW91dChmLnJvdGF0aW9u
KTtmLnJvdGF0aW9uPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbj1qLnNlbGVjdGVkO2Yuc2Vs
ZWN0KCsrbjxmLmFuY2hvcnMubGVuZ3RoP246MCl9LGkpO28mJm8uc3RvcFByb3BhZ2F0aW9uKCl9
KTtiPWYuX3Vucm90YXRlfHwoZi5fdW5yb3RhdGU9IWI/ZnVuY3Rpb24obyl7by5jbGllbnRYJiYK
K2Yucm90YXRlKG51bGwpfTpmdW5jdGlvbigpe3Q9ai5zZWxlY3RlZDtsKCl9KTtpZihpKXt0aGlz
LmVsZW1lbnQuYmluZCgidGFic3Nob3ciLGwpO3RoaXMuYW5jaG9ycy5iaW5kKGouZXZlbnQrIi50
YWJzIixiKTtsKCl9ZWxzZXtjbGVhclRpbWVvdXQoZi5yb3RhdGlvbik7dGhpcy5lbGVtZW50LnVu
YmluZCgidGFic3Nob3ciLGwpO3RoaXMuYW5jaG9ycy51bmJpbmQoai5ldmVudCsiLnRhYnMiLGIp
O2RlbGV0ZSB0aGlzLl9yb3RhdGU7ZGVsZXRlIHRoaXMuX3Vucm90YXRlfXJldHVybiB0aGlzfX0p
fSkoalF1ZXJ5KTsKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ibGluZC5taW4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLmJsaW5kLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuYmxpbmQubWluLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBC
bGluZCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9q
cXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BM
IFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisg
KiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvQmxpbmQKKyAqCisgKiBEZXBlbmRz
OgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oYil7Yi5lZmZlY3Rz
LmJsaW5kPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGE9Yih0
aGlzKSxnPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxmPWIuZWZm
ZWN0cy5zZXRNb2RlKGEsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZD1jLm9wdGlvbnMuZGlyZWN0
aW9ufHwidmVydGljYWwiO2IuZWZmZWN0cy5zYXZlKGEsZyk7YS5zaG93KCk7dmFyIGU9Yi5lZmZl
Y3RzLmNyZWF0ZVdyYXBwZXIoYSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pLGg9ZD09InZlcnRp
Y2FsIj8iaGVpZ2h0Ijoid2lkdGgiO2Q9ZD09InZlcnRpY2FsIj9lLmhlaWdodCgpOmUud2lkdGgo
KTtmPT0ic2hvdyImJmUuY3NzKGgsMCk7dmFyIGk9e307aVtoXT1mPT0ic2hvdyI/ZDowO2UuYW5p
bWF0ZShpLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2Y9PSJoaWRlIiYm
YS5oaWRlKCk7Yi5lZmZlY3RzLnJlc3RvcmUoYSwKK2cpO2IuZWZmZWN0cy5yZW1vdmVXcmFwcGVy
KGEpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoYVswXSxhcmd1bWVudHMpO2EuZGVxdWV1
ZSgpfSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmJsaW5kLm1p
bi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29uClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0
cy5ib3VuY2UubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKy8qCisgKiBq
UXVlcnkgVUkgRWZmZWN0cyBCb3VuY2UgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFV
VEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1
bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5
Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0Jv
dW5jZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhm
dW5jdGlvbihlKXtlLmVmZmVjdHMuYm91bmNlPWZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnF1ZXVl
KGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKSxsPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJs
ZWZ0IiwicmlnaHQiXSxoPWUuZWZmZWN0cy5zZXRNb2RlKGEsYi5vcHRpb25zLm1vZGV8fCJlZmZl
Y3QiKSxkPWIub3B0aW9ucy5kaXJlY3Rpb258fCJ1cCIsYz1iLm9wdGlvbnMuZGlzdGFuY2V8fDIw
LG09Yi5vcHRpb25zLnRpbWVzfHw1LGk9Yi5kdXJhdGlvbnx8MjUwOy9zaG93fGhpZGUvLnRlc3Qo
aCkmJmwucHVzaCgib3BhY2l0eSIpO2UuZWZmZWN0cy5zYXZlKGEsbCk7YS5zaG93KCk7ZS5lZmZl
Y3RzLmNyZWF0ZVdyYXBwZXIoYSk7dmFyIGY9ZD09InVwInx8ZD09ImRvd24iPyJ0b3AiOiJsZWZ0
IjtkPWQ9PSJ1cCJ8fGQ9PSJsZWZ0Ij8icG9zIjoibmVnIjtjPWIub3B0aW9ucy5kaXN0YW5jZXx8
KGY9PSJ0b3AiP2Eub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkvMzphLm91dGVyV2lkdGgoe21h
cmdpbjp0cnVlfSkvCiszKTtpZihoPT0ic2hvdyIpYS5jc3MoIm9wYWNpdHkiLDApLmNzcyhmLGQ9
PSJwb3MiPy1jOmMpO2lmKGg9PSJoaWRlIiljLz1tKjI7aCE9ImhpZGUiJiZtLS07aWYoaD09InNo
b3ciKXt2YXIgZz17b3BhY2l0eToxfTtnW2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmlt
YXRlKGcsaS8yLGIub3B0aW9ucy5lYXNpbmcpO2MvPTI7bS0tfWZvcihnPTA7ZzxtO2crKyl7dmFy
IGo9e30saz17fTtqW2ZdPShkPT0icG9zIj8iLT0iOiIrPSIpK2M7a1tmXT0oZD09InBvcyI/Iis9
IjoiLT0iKStjO2EuYW5pbWF0ZShqLGkvMixiLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKGssaS8y
LGIub3B0aW9ucy5lYXNpbmcpO2M9aD09ImhpZGUiP2MqMjpjLzJ9aWYoaD09ImhpZGUiKXtnPXtv
cGFjaXR5OjB9O2dbZl09KGQ9PSJwb3MiPyItPSI6Iis9IikrYzthLmFuaW1hdGUoZyxpLzIsYi5v
cHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2EuaGlkZSgpO2UuZWZmZWN0cy5yZXN0b3JlKGEsbCk7
ZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7CitiLmNhbGxiYWNrJiZiLmNhbGxiYWNrLmFwcGx5
KHRoaXMsYXJndW1lbnRzKX0pfWVsc2V7aj17fTtrPXt9O2pbZl09KGQ9PSJwb3MiPyItPSI6Iis9
IikrYztrW2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmltYXRlKGosaS8yLGIub3B0aW9u
cy5lYXNpbmcpLmFuaW1hdGUoayxpLzIsYi5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2UuZWZm
ZWN0cy5yZXN0b3JlKGEsbCk7ZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYm
Yi5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1hLnF1ZXVlKCJmeCIsZnVuY3Rpb24o
KXthLmRlcXVldWUoKX0pO2EuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMK
IyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmNsaXAubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5jbGlwLm1pbi5qcwkobm9u
ZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LmVmZmVjdHMuY2xpcC5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIENsaXAgMS44LjE1CisgKgorICogQ29w
eXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICog
RHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisg
KiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNv
bS9VSS9FZmZlY3RzL0NsaXAKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29y
ZS5qcworICovCisoZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmNsaXA9ZnVuY3Rpb24oZSl7cmV0dXJu
IHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1iKHRoaXMpLGk9WyJwb3NpdGlvbiIsInRvcCIs
ImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0sZj1iLmVmZmVjdHMuc2V0
TW9kZShhLGUub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGM9ZS5vcHRpb25zLmRpcmVjdGlvbnx8InZl
cnRpY2FsIjtiLmVmZmVjdHMuc2F2ZShhLGkpO2Euc2hvdygpO3ZhciBkPWIuZWZmZWN0cy5jcmVh
dGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KTtkPWFbMF0udGFnTmFtZT09IklN
RyI/ZDphO3ZhciBnPXtzaXplOmM9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6IndpZHRoIixwb3NpdGlv
bjpjPT0idmVydGljYWwiPyJ0b3AiOiJsZWZ0In07Yz1jPT0idmVydGljYWwiP2QuaGVpZ2h0KCk6
ZC53aWR0aCgpO2lmKGY9PSJzaG93Iil7ZC5jc3MoZy5zaXplLDApO2QuY3NzKGcucG9zaXRpb24s
CitjLzIpfXZhciBoPXt9O2hbZy5zaXplXT1mPT0ic2hvdyI/YzowO2hbZy5wb3NpdGlvbl09Zj09
InNob3ciPzA6Yy8yO2QuYW5pbWF0ZShoLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjplLmR1cmF0aW9u
LGVhc2luZzplLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zj09ImhpZGUiJiZh
LmhpZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGkpO2IuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEp
O2UuY2FsbGJhY2smJmUuY2FsbGJhY2suYXBwbHkoYVswXSxhcmd1bWVudHMpO2EuZGVxdWV1ZSgp
fX0pfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5jbGlwLm1pbi5q
cwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29uClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5jb3JlLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LmVmZmVjdHMuY29yZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNvcmUu
bWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBqUXVlcnkgVUkg
RWZmZWN0cyAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAq
CisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvCisgKi8KK2pRdWVyeS5lZmZl
Y3RzfHxmdW5jdGlvbihmLGope2Z1bmN0aW9uIG0oYyl7dmFyIGE7aWYoYyYmYy5jb25zdHJ1Y3Rv
cj09QXJyYXkmJmMubGVuZ3RoPT0zKXJldHVybiBjO2lmKGE9L3JnYlwoXHMqKFswLTldezEsM30p
XHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8uZXhlYyhjKSlyZXR1
cm5bcGFyc2VJbnQoYVsxXSwxMCkscGFyc2VJbnQoYVsyXSwxMCkscGFyc2VJbnQoYVszXSwxMCld
O2lmKGE9L3JnYlwoXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/Olwu
WzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccypcKS8uZXhlYyhjKSly
ZXR1cm5bcGFyc2VGbG9hdChhWzFdKSoyLjU1LHBhcnNlRmxvYXQoYVsyXSkqMi41NSxwYXJzZUZs
b2F0KGFbM10pKjIuNTVdO2lmKGE9LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShb
YS1mQS1GMC05XXsyfSkvLmV4ZWMoYykpcmV0dXJuW3BhcnNlSW50KGFbMV0sCisxNikscGFyc2VJ
bnQoYVsyXSwxNikscGFyc2VJbnQoYVszXSwxNildO2lmKGE9LyMoW2EtZkEtRjAtOV0pKFthLWZB
LUYwLTldKShbYS1mQS1GMC05XSkvLmV4ZWMoYykpcmV0dXJuW3BhcnNlSW50KGFbMV0rYVsxXSwx
NikscGFyc2VJbnQoYVsyXSthWzJdLDE2KSxwYXJzZUludChhWzNdK2FbM10sMTYpXTtpZigvcmdi
YVwoMCwgMCwgMCwgMFwpLy5leGVjKGMpKXJldHVybiBuLnRyYW5zcGFyZW50O3JldHVybiBuW2Yu
dHJpbShjKS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBzKGMsYSl7dmFyIGI7ZG97Yj1mLmN1ckNT
UyhjLGEpO2lmKGIhPSIiJiZiIT0idHJhbnNwYXJlbnQifHxmLm5vZGVOYW1lKGMsImJvZHkiKSli
cmVhazthPSJiYWNrZ3JvdW5kQ29sb3IifXdoaWxlKGM9Yy5wYXJlbnROb2RlKTtyZXR1cm4gbShi
KX1mdW5jdGlvbiBvKCl7dmFyIGM9ZG9jdW1lbnQuZGVmYXVsdFZpZXc/ZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLG51bGwpOnRoaXMuY3VycmVudFN0eWxlLAorYT17
fSxiLGQ7aWYoYyYmYy5sZW5ndGgmJmNbMF0mJmNbY1swXV0pZm9yKHZhciBlPWMubGVuZ3RoO2Ut
LTspe2I9Y1tlXTtpZih0eXBlb2YgY1tiXT09InN0cmluZyIpe2Q9Yi5yZXBsYWNlKC9cLShcdykv
ZyxmdW5jdGlvbihnLGgpe3JldHVybiBoLnRvVXBwZXJDYXNlKCl9KTthW2RdPWNbYl19fWVsc2Ug
Zm9yKGIgaW4gYylpZih0eXBlb2YgY1tiXT09PSJzdHJpbmciKWFbYl09Y1tiXTtyZXR1cm4gYX1m
dW5jdGlvbiBwKGMpe3ZhciBhLGI7Zm9yKGEgaW4gYyl7Yj1jW2FdO2lmKGI9PW51bGx8fGYuaXNG
dW5jdGlvbihiKXx8YSBpbiB0fHwvc2Nyb2xsYmFyLy50ZXN0KGEpfHwhL2NvbG9yL2kudGVzdChh
KSYmaXNOYU4ocGFyc2VGbG9hdChiKSkpZGVsZXRlIGNbYV19cmV0dXJuIGN9ZnVuY3Rpb24gdShj
LGEpe3ZhciBiPXtfOjB9LGQ7Zm9yKGQgaW4gYSlpZihjW2RdIT1hW2RdKWJbZF09YVtkXTtyZXR1
cm4gYn1mdW5jdGlvbiBrKGMsYSxiLGQpe2lmKHR5cGVvZiBjPT0ib2JqZWN0Iil7ZD0KK2E7Yj1u
dWxsO2E9YztjPWEuZWZmZWN0fWlmKGYuaXNGdW5jdGlvbihhKSl7ZD1hO2I9bnVsbDthPXt9fWlm
KHR5cGVvZiBhPT0ibnVtYmVyInx8Zi5meC5zcGVlZHNbYV0pe2Q9YjtiPWE7YT17fX1pZihmLmlz
RnVuY3Rpb24oYikpe2Q9YjtiPW51bGx9YT1hfHx7fTtiPWJ8fGEuZHVyYXRpb247Yj1mLmZ4Lm9m
Zj8wOnR5cGVvZiBiPT0ibnVtYmVyIj9iOmIgaW4gZi5meC5zcGVlZHM/Zi5meC5zcGVlZHNbYl06
Zi5meC5zcGVlZHMuX2RlZmF1bHQ7ZD1kfHxhLmNvbXBsZXRlO3JldHVybltjLGEsYixkXX1mdW5j
dGlvbiBsKGMpe2lmKCFjfHx0eXBlb2YgYz09PSJudW1iZXIifHxmLmZ4LnNwZWVkc1tjXSlyZXR1
cm4gdHJ1ZTtpZih0eXBlb2YgYz09PSJzdHJpbmciJiYhZi5lZmZlY3RzW2NdKXJldHVybiB0cnVl
O3JldHVybiBmYWxzZX1mLmVmZmVjdHM9e307Zi5lYWNoKFsiYmFja2dyb3VuZENvbG9yIiwiYm9y
ZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwKKyJi
b3JkZXJUb3BDb2xvciIsImJvcmRlckNvbG9yIiwiY29sb3IiLCJvdXRsaW5lQ29sb3IiXSxmdW5j
dGlvbihjLGEpe2YuZnguc3RlcFthXT1mdW5jdGlvbihiKXtpZighYi5jb2xvckluaXQpe2Iuc3Rh
cnQ9cyhiLmVsZW0sYSk7Yi5lbmQ9bShiLmVuZCk7Yi5jb2xvckluaXQ9dHJ1ZX1iLmVsZW0uc3R5
bGVbYV09InJnYigiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KGIucG9zKihiLmVuZFswXS1i
LnN0YXJ0WzBdKStiLnN0YXJ0WzBdLDEwKSwyNTUpLDApKyIsIitNYXRoLm1heChNYXRoLm1pbihw
YXJzZUludChiLnBvcyooYi5lbmRbMV0tYi5zdGFydFsxXSkrYi5zdGFydFsxXSwxMCksMjU1KSww
KSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQoYi5wb3MqKGIuZW5kWzJdLWIuc3RhcnRb
Ml0pK2Iuc3RhcnRbMl0sMTApLDI1NSksMCkrIikifX0pO3ZhciBuPXthcXVhOlswLDI1NSwyNTVd
LGF6dXJlOlsyNDAsMjU1LDI1NV0sYmVpZ2U6WzI0NSwyNDUsMjIwXSxibGFjazpbMCwKKzAsMF0s
Ymx1ZTpbMCwwLDI1NV0sYnJvd246WzE2NSw0Miw0Ml0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1
ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dyZXk6WzE2OSwxNjksMTY5XSxk
YXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtraGFraTpbMTg5LDE4MywxMDddLGRhcmttYWdlbnRhOlsx
MzksMCwxMzldLGRhcmtvbGl2ZWdyZWVuOls4NSwxMDcsNDddLGRhcmtvcmFuZ2U6WzI1NSwxNDAs
MF0sZGFya29yY2hpZDpbMTUzLDUwLDIwNF0sZGFya3JlZDpbMTM5LDAsMF0sZGFya3NhbG1vbjpb
MjMzLDE1MCwxMjJdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMV0sZnVjaHNpYTpbMjU1LDAsMjU1XSxn
b2xkOlsyNTUsMjE1LDBdLGdyZWVuOlswLDEyOCwwXSxpbmRpZ286Wzc1LDAsMTMwXSxraGFraTpb
MjQwLDIzMCwxNDBdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y3lhbjpbMjI0LDI1NSwy
NTVdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwKKzIxMSwyMTFdLGxp
Z2h0cGluazpbMjU1LDE4MiwxOTNdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwy
NTUsMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG5hdnk6WzAsMCwxMjhd
LG9saXZlOlsxMjgsMTI4LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxwaW5rOlsyNTUsMTkyLDIwM10s
cHVycGxlOlsxMjgsMCwxMjhdLHZpb2xldDpbMTI4LDAsMTI4XSxyZWQ6WzI1NSwwLDBdLHNpbHZl
cjpbMTkyLDE5MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0seWVsbG93OlsyNTUsMjU1LDBdLHRy
YW5zcGFyZW50OlsyNTUsMjU1LDI1NV19LHE9WyJhZGQiLCJyZW1vdmUiLCJ0b2dnbGUiXSx0PXti
b3JkZXI6MSxib3JkZXJCb3R0b206MSxib3JkZXJDb2xvcjoxLGJvcmRlckxlZnQ6MSxib3JkZXJS
aWdodDoxLGJvcmRlclRvcDoxLGJvcmRlcldpZHRoOjEsbWFyZ2luOjEscGFkZGluZzoxfTtmLmVm
ZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKGMsYSxiLAorZCl7aWYoZi5pc0Z1bmN0aW9uKGIp
KXtkPWI7Yj1udWxsfXJldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGU9Zih0aGlzKSxn
PWUuYXR0cigic3R5bGUiKXx8IiAiLGg9cChvLmNhbGwodGhpcykpLHIsdj1lLmF0dHIoImNsYXNz
Iik7Zi5lYWNoKHEsZnVuY3Rpb24odyxpKXtjW2ldJiZlW2krIkNsYXNzIl0oY1tpXSl9KTtyPXAo
by5jYWxsKHRoaXMpKTtlLmF0dHIoImNsYXNzIix2KTtlLmFuaW1hdGUodShoLHIpLHtxdWV1ZTpm
YWxzZSxkdXJhdGlvbjphLGVhc2luZzpiLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zi5lYWNoKHEsZnVu
Y3Rpb24odyxpKXtjW2ldJiZlW2krIkNsYXNzIl0oY1tpXSl9KTtpZih0eXBlb2YgZS5hdHRyKCJz
dHlsZSIpPT0ib2JqZWN0Iil7ZS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9IiI7ZS5hdHRyKCJzdHls
ZSIpLmNzc1RleHQ9Z31lbHNlIGUuYXR0cigic3R5bGUiLGcpO2QmJmQuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2YuZGVxdWV1ZSh0aGlzKX19KX0pfTsKK2YuZm4uZXh0ZW5kKHtfYWRkQ2xhc3M6Zi5m
bi5hZGRDbGFzcyxhZGRDbGFzczpmdW5jdGlvbihjLGEsYixkKXtyZXR1cm4gYT9mLmVmZmVjdHMu
YW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW3thZGQ6Y30sYSxiLGRdKTp0aGlzLl9hZGRDbGFzcyhj
KX0sX3JlbW92ZUNsYXNzOmYuZm4ucmVtb3ZlQ2xhc3MscmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYyxh
LGIsZCl7cmV0dXJuIGE/Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7cmVtb3Zl
OmN9LGEsYixkXSk6dGhpcy5fcmVtb3ZlQ2xhc3MoYyl9LF90b2dnbGVDbGFzczpmLmZuLnRvZ2ds
ZUNsYXNzLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIHR5cGVvZiBhPT0i
Ym9vbGVhbiJ8fGE9PT1qP2I/Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFthP3th
ZGQ6Y306e3JlbW92ZTpjfSxiLGQsZV0pOnRoaXMuX3RvZ2dsZUNsYXNzKGMsYSk6Zi5lZmZlY3Rz
LmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLAorW3t0b2dnbGU6Y30sYSxiLGRdKX0sc3dpdGNoQ2xh
c3M6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBs
eSh0aGlzLFt7YWRkOmEscmVtb3ZlOmN9LGIsZCxlXSl9fSk7Zi5leHRlbmQoZi5lZmZlY3RzLHt2
ZXJzaW9uOiIxLjguMTUiLHNhdmU6ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3Ro
O2IrKylhW2JdIT09bnVsbCYmYy5kYXRhKCJlYy5zdG9yYWdlLiIrYVtiXSxjWzBdLnN0eWxlW2Fb
Yl1dKX0scmVzdG9yZTpmdW5jdGlvbihjLGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWFb
Yl0hPT1udWxsJiZjLmNzcyhhW2JdLGMuZGF0YSgiZWMuc3RvcmFnZS4iK2FbYl0pKX0sc2V0TW9k
ZTpmdW5jdGlvbihjLGEpe2lmKGE9PSJ0b2dnbGUiKWE9Yy5pcygiOmhpZGRlbiIpPyJzaG93Ijoi
aGlkZSI7cmV0dXJuIGF9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKGMsYSl7dmFyIGI7c3dpdGNoKGNb
MF0pe2Nhc2UgInRvcCI6Yj0KKzA7YnJlYWs7Y2FzZSAibWlkZGxlIjpiPTAuNTticmVhaztjYXNl
ICJib3R0b20iOmI9MTticmVhaztkZWZhdWx0OmI9Y1swXS9hLmhlaWdodH1zd2l0Y2goY1sxXSl7
Y2FzZSAibGVmdCI6Yz0wO2JyZWFrO2Nhc2UgImNlbnRlciI6Yz0wLjU7YnJlYWs7Y2FzZSAicmln
aHQiOmM9MTticmVhaztkZWZhdWx0OmM9Y1sxXS9hLndpZHRofXJldHVybnt4OmMseTpifX0sY3Jl
YXRlV3JhcHBlcjpmdW5jdGlvbihjKXtpZihjLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFw
cGVyIikpcmV0dXJuIGMucGFyZW50KCk7dmFyIGE9e3dpZHRoOmMub3V0ZXJXaWR0aCh0cnVlKSxo
ZWlnaHQ6Yy5vdXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOmMuY3NzKCJmbG9hdCIpfSxiPWYoIjxk
aXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6
IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBh
ZGRpbmc6MH0pOworYy53cmFwKGIpO2I9Yy5wYXJlbnQoKTtpZihjLmNzcygicG9zaXRpb24iKT09
InN0YXRpYyIpe2IuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSk7Yy5jc3Moe3Bvc2l0aW9uOiJy
ZWxhdGl2ZSJ9KX1lbHNle2YuZXh0ZW5kKGEse3Bvc2l0aW9uOmMuY3NzKCJwb3NpdGlvbiIpLHpJ
bmRleDpjLmNzcygiei1pbmRleCIpfSk7Zi5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJp
Z2h0Il0sZnVuY3Rpb24oZCxlKXthW2VdPWMuY3NzKGUpO2lmKGlzTmFOKHBhcnNlSW50KGFbZV0s
MTApKSlhW2VdPSJhdXRvIn0pO2MuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDowLGxlZnQ6
MCxyaWdodDoiYXV0byIsYm90dG9tOiJhdXRvIn0pfXJldHVybiBiLmNzcyhhKS5zaG93KCl9LHJl
bW92ZVdyYXBwZXI6ZnVuY3Rpb24oYyl7aWYoYy5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3Jh
cHBlciIpKXJldHVybiBjLnBhcmVudCgpLnJlcGxhY2VXaXRoKGMpO3JldHVybiBjfSxzZXRUcmFu
c2l0aW9uOmZ1bmN0aW9uKGMsCithLGIsZCl7ZD1kfHx7fTtmLmVhY2goYSxmdW5jdGlvbihlLGcp
e3VuaXQ9Yy5jc3NVbml0KGcpO2lmKHVuaXRbMF0+MClkW2ddPXVuaXRbMF0qYit1bml0WzFdfSk7
cmV0dXJuIGR9fSk7Zi5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbihjKXt2YXIgYT1rLmFwcGx5
KHRoaXMsYXJndW1lbnRzKSxiPXtvcHRpb25zOmFbMV0sZHVyYXRpb246YVsyXSxjYWxsYmFjazph
WzNdfTthPWIub3B0aW9ucy5tb2RlO3ZhciBkPWYuZWZmZWN0c1tjXTtpZihmLmZ4Lm9mZnx8IWQp
cmV0dXJuIGE/dGhpc1thXShiLmR1cmF0aW9uLGIuY2FsbGJhY2spOnRoaXMuZWFjaChmdW5jdGlv
bigpe2IuY2FsbGJhY2smJmIuY2FsbGJhY2suY2FsbCh0aGlzKX0pO3JldHVybiBkLmNhbGwodGhp
cyxiKX0sX3Nob3c6Zi5mbi5zaG93LHNob3c6ZnVuY3Rpb24oYyl7aWYobChjKSlyZXR1cm4gdGhp
cy5fc2hvdy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKTsKK2FbMV0ubW9kZT0ic2hvdyI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMs
YSl9fSxfaGlkZTpmLmZuLmhpZGUsaGlkZTpmdW5jdGlvbihjKXtpZihsKGMpKXJldHVybiB0aGlz
Ll9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBhPWsuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2FbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsYSl9
fSxfX3RvZ2dsZTpmLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYyl7aWYobChjKXx8dHlwZW9m
IGM9PT0iYm9vbGVhbiJ8fGYuaXNGdW5jdGlvbihjKSlyZXR1cm4gdGhpcy5fX3RvZ2dsZS5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthWzFd
Lm1vZGU9InRvZ2dsZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsYSl9fSxjc3NVbml0
OmZ1bmN0aW9uKGMpe3ZhciBhPXRoaXMuY3NzKGMpLGI9W107Zi5lYWNoKFsiZW0iLCJweCIsIiUi
LAorInB0Il0sZnVuY3Rpb24oZCxlKXtpZihhLmluZGV4T2YoZSk+MCliPVtwYXJzZUZsb2F0KGEp
LGVdfSk7cmV0dXJuIGJ9fSk7Zi5lYXNpbmcuanN3aW5nPWYuZWFzaW5nLnN3aW5nO2YuZXh0ZW5k
KGYuZWFzaW5nLHtkZWY6ImVhc2VPdXRRdWFkIixzd2luZzpmdW5jdGlvbihjLGEsYixkLGUpe3Jl
dHVybiBmLmVhc2luZ1tmLmVhc2luZy5kZWZdKGMsYSxiLGQsZSl9LGVhc2VJblF1YWQ6ZnVuY3Rp
b24oYyxhLGIsZCxlKXtyZXR1cm4gZCooYS89ZSkqYStifSxlYXNlT3V0UXVhZDpmdW5jdGlvbihj
LGEsYixkLGUpe3JldHVybi1kKihhLz1lKSooYS0yKStifSxlYXNlSW5PdXRRdWFkOmZ1bmN0aW9u
KGMsYSxiLGQsZSl7aWYoKGEvPWUvMik8MSlyZXR1cm4gZC8yKmEqYStiO3JldHVybi1kLzIqKC0t
YSooYS0yKS0xKStifSxlYXNlSW5DdWJpYzpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihh
Lz1lKSphKmErYn0sZWFzZU91dEN1YmljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqCiso
KGE9YS9lLTEpKmEqYSsxKStifSxlYXNlSW5PdXRDdWJpYzpmdW5jdGlvbihjLGEsYixkLGUpe2lm
KChhLz1lLzIpPDEpcmV0dXJuIGQvMiphKmEqYStiO3JldHVybiBkLzIqKChhLT0yKSphKmErMikr
Yn0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCooYS89ZSkqYSphKmEr
Yn0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuLWQqKChhPWEvZS0xKSph
KmEqYS0xKStifSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihjLGEsYixkLGUpe2lmKChhLz1lLzIp
PDEpcmV0dXJuIGQvMiphKmEqYSphK2I7cmV0dXJuLWQvMiooKGEtPTIpKmEqYSphLTIpK2J9LGVh
c2VJblF1aW50OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKGEvPWUpKmEqYSphKmErYn0s
ZWFzZU91dFF1aW50OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKChhPWEvZS0xKSphKmEq
YSphKzEpK2J9LGVhc2VJbk91dFF1aW50OmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoKGEvPQorZS8y
KTwxKXJldHVybiBkLzIqYSphKmEqYSphK2I7cmV0dXJuIGQvMiooKGEtPTIpKmEqYSphKmErMikr
Yn0sZWFzZUluU2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKk1hdGguY29zKGEvZSoo
TWF0aC5QSS8yKSkrZCtifSxlYXNlT3V0U2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBk
Kk1hdGguc2luKGEvZSooTWF0aC5QSS8yKSkrYn0sZWFzZUluT3V0U2luZTpmdW5jdGlvbihjLGEs
YixkLGUpe3JldHVybi1kLzIqKE1hdGguY29zKE1hdGguUEkqYS9lKS0xKStifSxlYXNlSW5FeHBv
OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGE9PTA/YjpkKk1hdGgucG93KDIsMTAqKGEvZS0x
KSkrYn0sZWFzZU91dEV4cG86ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gYT09ZT9iK2Q6ZCoo
LU1hdGgucG93KDIsLTEwKmEvZSkrMSkrYn0sZWFzZUluT3V0RXhwbzpmdW5jdGlvbihjLGEsYixk
LGUpe2lmKGE9PTApcmV0dXJuIGI7aWYoYT09ZSlyZXR1cm4gYitkO2lmKChhLz0KK2UvMik8MSly
ZXR1cm4gZC8yKk1hdGgucG93KDIsMTAqKGEtMSkpK2I7cmV0dXJuIGQvMiooLU1hdGgucG93KDIs
LTEwKi0tYSkrMikrYn0sZWFzZUluQ2lyYzpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKihN
YXRoLnNxcnQoMS0oYS89ZSkqYSktMSkrYn0sZWFzZU91dENpcmM6ZnVuY3Rpb24oYyxhLGIsZCxl
KXtyZXR1cm4gZCpNYXRoLnNxcnQoMS0oYT1hL2UtMSkqYSkrYn0sZWFzZUluT3V0Q2lyYzpmdW5j
dGlvbihjLGEsYixkLGUpe2lmKChhLz1lLzIpPDEpcmV0dXJuLWQvMiooTWF0aC5zcXJ0KDEtYSph
KS0xKStiO3JldHVybiBkLzIqKE1hdGguc3FydCgxLShhLT0yKSphKSsxKStifSxlYXNlSW5FbGFz
dGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7Yz0xLjcwMTU4O3ZhciBnPTAsaD1kO2lmKGE9PTApcmV0
dXJuIGI7aWYoKGEvPWUpPT0xKXJldHVybiBiK2Q7Z3x8KGc9ZSowLjMpO2lmKGg8TWF0aC5hYnMo
ZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJKSpNYXRoLmFzaW4oZC8KK2gpO3JldHVy
bi0oaCpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykp
K2J9LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7Yz0xLjcwMTU4O3ZhciBnPTAs
aD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUpPT0xKXJldHVybiBiK2Q7Z3x8KGc9ZSowLjMp
O2lmKGg8TWF0aC5hYnMoZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJKSpNYXRoLmFz
aW4oZC9oKTtyZXR1cm4gaCpNYXRoLnBvdygyLC0xMCphKSpNYXRoLnNpbigoYSplLWMpKjIqTWF0
aC5QSS9nKStkK2J9LGVhc2VJbk91dEVsYXN0aWM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtjPTEuNzAx
NTg7dmFyIGc9MCxoPWQ7aWYoYT09MClyZXR1cm4gYjtpZigoYS89ZS8yKT09MilyZXR1cm4gYitk
O2d8fChnPWUqMC4zKjEuNSk7aWYoaDxNYXRoLmFicyhkKSl7aD1kO2M9Zy80fWVsc2UgYz1nLygy
Kk1hdGguUEkpKk1hdGguYXNpbihkL2gpO2lmKGE8MSlyZXR1cm4tMC41KgoraCpNYXRoLnBvdygy
LDEwKihhLT0xKSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykrYjtyZXR1cm4gaCpNYXRo
LnBvdygyLC0xMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpKjAuNStkK2J9
LGVhc2VJbkJhY2s6ZnVuY3Rpb24oYyxhLGIsZCxlLGcpe2lmKGc9PWopZz0xLjcwMTU4O3JldHVy
biBkKihhLz1lKSphKigoZysxKSphLWcpK2J9LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKGMsYSxiLGQs
ZSxnKXtpZihnPT1qKWc9MS43MDE1ODtyZXR1cm4gZCooKGE9YS9lLTEpKmEqKChnKzEpKmErZykr
MSkrYn0sZWFzZUluT3V0QmFjazpmdW5jdGlvbihjLGEsYixkLGUsZyl7aWYoZz09ailnPTEuNzAx
NTg7aWYoKGEvPWUvMik8MSlyZXR1cm4gZC8yKmEqYSooKChnKj0xLjUyNSkrMSkqYS1nKStiO3Jl
dHVybiBkLzIqKChhLT0yKSphKigoKGcqPTEuNTI1KSsxKSphK2cpKzIpK2J9LGVhc2VJbkJvdW5j
ZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkLWYuZWFzaW5nLmVhc2VPdXRCb3VuY2UoYywK
K2UtYSwwLGQsZSkrYn0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybihh
Lz1lKTwxLzIuNzU/ZCo3LjU2MjUqYSphK2I6YTwyLzIuNzU/ZCooNy41NjI1KihhLT0xLjUvMi43
NSkqYSswLjc1KStiOmE8Mi41LzIuNzU/ZCooNy41NjI1KihhLT0yLjI1LzIuNzUpKmErMC45Mzc1
KStiOmQqKDcuNTYyNSooYS09Mi42MjUvMi43NSkqYSswLjk4NDM3NSkrYn0sZWFzZUluT3V0Qm91
bmNlOmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoYTxlLzIpcmV0dXJuIGYuZWFzaW5nLmVhc2VJbkJv
dW5jZShjLGEqMiwwLGQsZSkqMC41K2I7cmV0dXJuIGYuZWFzaW5nLmVhc2VPdXRCb3VuY2UoYyxh
KjItZSwwLGQsZSkqMC41K2QqMC41K2J9fSl9KGpRdWVyeSk7CkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZHJvcC5t
aW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzCShub25leGlzdGVudCkKKysr
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5kcm9wLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgor
ICogalF1ZXJ5IFVJIEVmZmVjdHMgRHJvcCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMv
RHJvcAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhm
dW5jdGlvbihjKXtjLmVmZmVjdHMuZHJvcD1mdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5xdWV1ZShm
dW5jdGlvbigpe3ZhciBhPWModGhpcyksaD1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVm
dCIsInJpZ2h0Iiwib3BhY2l0eSJdLGU9Yy5lZmZlY3RzLnNldE1vZGUoYSxkLm9wdGlvbnMubW9k
ZXx8ImhpZGUiKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjtjLmVmZmVjdHMuc2F2ZShh
LGgpO2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpO3ZhciBmPWI9PSJ1cCJ8fGI9
PSJkb3duIj8idG9wIjoibGVmdCI7Yj1iPT0idXAifHxiPT0ibGVmdCI/InBvcyI6Im5lZyI7dmFy
IGc9ZC5vcHRpb25zLmRpc3RhbmNlfHwoZj09InRvcCI/YS5vdXRlckhlaWdodCh7bWFyZ2luOnRy
dWV9KS8yOmEub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KS8yKTtpZihlPT0ic2hvdyIpYS5jc3Mo
Im9wYWNpdHkiLDApLmNzcyhmLGI9PSJwb3MiPy1nOmcpO3ZhciBpPXtvcGFjaXR5OmU9PQorInNo
b3ciPzE6MH07aVtmXT0oZT09InNob3ciP2I9PSJwb3MiPyIrPSI6Ii09IjpiPT0icG9zIj8iLT0i
OiIrPSIpK2c7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFz
aW5nOmQub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtlPT0iaGlkZSImJmEuaGlk
ZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5j
YWxsYmFjayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9
KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWluLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkuZWZmZWN0cy5leHBsb2RlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZXhw
bG9kZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBAQAorLyoKKyAqIGpRdWVy
eSBVSSBFZmZlY3RzIEV4cGxvZGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhP
UlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRl
ciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9y
Zy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0V4cGxv
ZGUKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVu
Y3Rpb24oail7ai5lZmZlY3RzLmV4cGxvZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUo
ZnVuY3Rpb24oKXt2YXIgYz1hLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGEu
b3B0aW9ucy5waWVjZXMpKTozLGQ9YS5vcHRpb25zLnBpZWNlcz9NYXRoLnJvdW5kKE1hdGguc3Fy
dChhLm9wdGlvbnMucGllY2VzKSk6MzthLm9wdGlvbnMubW9kZT1hLm9wdGlvbnMubW9kZT09InRv
Z2dsZSI/aih0aGlzKS5pcygiOnZpc2libGUiKT8iaGlkZSI6InNob3ciOmEub3B0aW9ucy5tb2Rl
O3ZhciBiPWoodGhpcykuc2hvdygpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLGc9Yi5vZmZz
ZXQoKTtnLnRvcC09cGFyc2VJbnQoYi5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MDtnLmxlZnQtPXBh
cnNlSW50KGIuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwO2Zvcih2YXIgaD1iLm91dGVyV2lkdGgo
dHJ1ZSksaT1iLm91dGVySGVpZ2h0KHRydWUpLGU9MDtlPGM7ZSsrKWZvcih2YXIgZj0KKzA7Zjxk
O2YrKyliLmNsb25lKCkuYXBwZW5kVG8oImJvZHkiKS53cmFwKCI8ZGl2PjwvZGl2PiIpLmNzcyh7
cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJ2aXNpYmxlIixsZWZ0Oi1mKihoL2QpLHRv
cDotZSooaS9jKX0pLnBhcmVudCgpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLWV4cGxvZGUiKS5jc3Mo
e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6aC9kLGhlaWdodDpp
L2MsbGVmdDpnLmxlZnQrZiooaC9kKSsoYS5vcHRpb25zLm1vZGU9PSJzaG93Ij8oZi1NYXRoLmZs
b29yKGQvMikpKihoL2QpOjApLHRvcDpnLnRvcCtlKihpL2MpKyhhLm9wdGlvbnMubW9kZT09InNo
b3ciPyhlLU1hdGguZmxvb3IoYy8yKSkqKGkvYyk6MCksb3BhY2l0eTphLm9wdGlvbnMubW9kZT09
InNob3ciPzA6MX0pLmFuaW1hdGUoe2xlZnQ6Zy5sZWZ0K2YqKGgvZCkrKGEub3B0aW9ucy5tb2Rl
PT0ic2hvdyI/MDooZi1NYXRoLmZsb29yKGQvMikpKihoL2QpKSx0b3A6Zy50b3ArCitlKihpL2Mp
KyhhLm9wdGlvbnMubW9kZT09InNob3ciPzA6KGUtTWF0aC5mbG9vcihjLzIpKSooaS9jKSksb3Bh
Y2l0eTphLm9wdGlvbnMubW9kZT09InNob3ciPzE6MH0sYS5kdXJhdGlvbnx8NTAwKTtzZXRUaW1l
b3V0KGZ1bmN0aW9uKCl7YS5vcHRpb25zLm1vZGU9PSJzaG93Ij9iLmNzcyh7dmlzaWJpbGl0eToi
dmlzaWJsZSJ9KTpiLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KS5oaWRlKCk7YS5jYWxsYmFj
ayYmYS5jYWxsYmFjay5hcHBseShiWzBdKTtiLmRlcXVldWUoKTtqKCJkaXYudWktZWZmZWN0cy1l
eHBsb2RlIikucmVtb3ZlKCl9LGEuZHVyYXRpb258fDUwMCl9KX19KShqUXVlcnkpOwoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFs
bG93LXRhYnMKIyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS5lZmZlY3RzLmZhZGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5mYWRlLm1p
bi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZmFkZS5taW4uanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMyBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIEZhZGUgMS44LjE1Cisg
KgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fi
b3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGlj
ZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3Mu
anF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0ZhZGUKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVm
ZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmZhZGU9ZnVuY3Rpb24o
YSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYz1iKHRoaXMpLGQ9Yi5lZmZlY3Rz
LnNldE1vZGUoYyxhLm9wdGlvbnMubW9kZXx8ImhpZGUiKTtjLmFuaW1hdGUoe29wYWNpdHk6ZH0s
e3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzaW5nOmEub3B0aW9ucy5lYXNpbmcs
Y29tcGxldGU6ZnVuY3Rpb24oKXthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKTtjLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LmVmZmVjdHMuZmFkZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCww
ICsxICMjCitvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMu
Zm9sZC5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZvbGQubWluLmpzCShub25leGlzdGVu
dCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkuZWZmZWN0cy5mb2xkLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBA
CisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgRm9sZCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQg
MjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6
Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0Vm
ZmVjdHMvRm9sZAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisg
Ki8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMuZm9sZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5x
dWV1ZShmdW5jdGlvbigpe3ZhciBiPWModGhpcyksaj1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9t
IiwibGVmdCIsInJpZ2h0Il0sZD1jLmVmZmVjdHMuc2V0TW9kZShiLGEub3B0aW9ucy5tb2RlfHwi
aGlkZSIpLGc9YS5vcHRpb25zLnNpemV8fDE1LGg9ISFhLm9wdGlvbnMuaG9yaXpGaXJzdCxrPWEu
ZHVyYXRpb24/YS5kdXJhdGlvbi8yOmMuZnguc3BlZWRzLl9kZWZhdWx0LzI7Yy5lZmZlY3RzLnNh
dmUoYixqKTtiLnNob3coKTt2YXIgZT1jLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihiKS5jc3Moe292
ZXJmbG93OiJoaWRkZW4ifSksZj1kPT0ic2hvdyIhPWgsbD1mP1sid2lkdGgiLCJoZWlnaHQiXTpb
ImhlaWdodCIsIndpZHRoIl07Zj1mP1tlLndpZHRoKCksZS5oZWlnaHQoKV06W2UuaGVpZ2h0KCks
ZS53aWR0aCgpXTt2YXIgaT0vKFswLTldKyklLy5leGVjKGcpO2lmKGkpZz1wYXJzZUludChpWzFd
LAorMTApLzEwMCpmW2Q9PSJoaWRlIj8wOjFdO2lmKGQ9PSJzaG93IillLmNzcyhoP3toZWlnaHQ6
MCx3aWR0aDpnfTp7aGVpZ2h0Omcsd2lkdGg6MH0pO2g9e307aT17fTtoW2xbMF1dPWQ9PSJzaG93
Ij9mWzBdOmc7aVtsWzFdXT1kPT0ic2hvdyI/ZlsxXTowO2UuYW5pbWF0ZShoLGssYS5vcHRpb25z
LmVhc2luZykuYW5pbWF0ZShpLGssYS5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2Q9PSJoaWRl
IiYmYi5oaWRlKCk7Yy5lZmZlY3RzLnJlc3RvcmUoYixqKTtjLmVmZmVjdHMucmVtb3ZlV3JhcHBl
cihiKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KGJbMF0sYXJndW1lbnRzKTtiLmRlcXVl
dWUoKX0pfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5mb2xkLm1p
bi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29uClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5oaWdobGlnaHQubWluLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS91aS9qcXVlcnkuZWZmZWN0cy5oaWdobGlnaHQubWluLmpzCShub25leGlzdGVudCkKKysr
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5oaWdobGlnaHQubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAK
Ky8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBIaWdobGlnaHQgMS44LjE1CisgKgorICogQ29weXJp
Z2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVh
bCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBo
dHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9V
SS9FZmZlY3RzL0hpZ2hsaWdodAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5j
b3JlLmpzCisgKi8KKyhmdW5jdGlvbihiKXtiLmVmZmVjdHMuaGlnaGxpZ2h0PWZ1bmN0aW9uKGMp
e3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGE9Yih0aGlzKSxlPVsiYmFja2dyb3Vu
ZEltYWdlIiwiYmFja2dyb3VuZENvbG9yIiwib3BhY2l0eSJdLGQ9Yi5lZmZlY3RzLnNldE1vZGUo
YSxjLm9wdGlvbnMubW9kZXx8InNob3ciKSxmPXtiYWNrZ3JvdW5kQ29sb3I6YS5jc3MoImJhY2tn
cm91bmRDb2xvciIpfTtpZihkPT0iaGlkZSIpZi5vcGFjaXR5PTA7Yi5lZmZlY3RzLnNhdmUoYSxl
KTthLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9yOmMu
b3B0aW9ucy5jb2xvcnx8IiNmZmZmOTkifSkuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlv
bjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7
ZD09ImhpZGUiJiZhLmhpZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGUpO2Q9PSJzaG93IiYmIWIu
c3VwcG9ydC5vcGFjaXR5JiYKK3RoaXMuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtj
LmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthLmRlcXVldWUoKX19
KX0pfX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuaGlnaGxpZ2h0Lm1p
bi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29uClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5wdWxzYXRlLm1pbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LmVmZmVjdHMucHVsc2F0ZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLnB1bHNhdGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisg
KiBqUXVlcnkgVUkgRWZmZWN0cyBQdWxzYXRlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRWZmZWN0
cy9QdWxzYXRlCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKKyAq
LworKGZ1bmN0aW9uKGQpe2QuZWZmZWN0cy5wdWxzYXRlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlz
LnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0aGlzKSxjPWQuZWZmZWN0cy5zZXRNb2RlKGIsYS5v
cHRpb25zLm1vZGV8fCJzaG93Iik7dGltZXM9KGEub3B0aW9ucy50aW1lc3x8NSkqMi0xO2R1cmF0
aW9uPWEuZHVyYXRpb24/YS5kdXJhdGlvbi8yOmQuZnguc3BlZWRzLl9kZWZhdWx0LzI7aXNWaXNp
YmxlPWIuaXMoIjp2aXNpYmxlIik7YW5pbWF0ZVRvPTA7aWYoIWlzVmlzaWJsZSl7Yi5jc3MoIm9w
YWNpdHkiLDApLnNob3coKTthbmltYXRlVG89MX1pZihjPT0iaGlkZSImJmlzVmlzaWJsZXx8Yz09
InNob3ciJiYhaXNWaXNpYmxlKXRpbWVzLS07Zm9yKGM9MDtjPHRpbWVzO2MrKyl7Yi5hbmltYXRl
KHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sYS5vcHRpb25zLmVhc2luZyk7YW5pbWF0ZVRv
PShhbmltYXRlVG8rMSklMn1iLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0ZVRvfSxkdXJhdGlvbiwK
K2Eub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthbmltYXRlVG89PTAmJmIuaGlkZSgpO2EuY2Fs
bGJhY2smJmEuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpfSk7Yi5xdWV1ZSgiZngiLGZ1
bmN0aW9uKCl7Yi5kZXF1ZXVlKCl9KS5kZXF1ZXVlKCl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3VpL2pxdWVyeS5lZmZlY3RzLnB1bHNhdGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93
LXRhYnMKIyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS5lZmZlY3RzLnNjYWxlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2NhbGUubWlu
LmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zY2FsZS5taW4uanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIFNjYWxlIDEuOC4xNQor
ICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9h
Ym91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxp
Y2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2Nz
LmpxdWVyeS5jb20vVUkvRWZmZWN0cy9TY2FsZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnku
ZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMucHVmZj1mdW5jdGlv
bihiKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksZT1jLmVmZmVj
dHMuc2V0TW9kZShhLGIub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9cGFyc2VJbnQoYi5vcHRpb25z
LnBlcmNlbnQsMTApfHwxNTAsaD1nLzEwMCxpPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndp
ZHRoKCl9O2MuZXh0ZW5kKGIub3B0aW9ucyx7ZmFkZTp0cnVlLG1vZGU6ZSxwZXJjZW50OmU9PSJo
aWRlIj9nOjEwMCxmcm9tOmU9PSJoaWRlIj9pOntoZWlnaHQ6aS5oZWlnaHQqaCx3aWR0aDppLndp
ZHRoKmh9fSk7YS5lZmZlY3QoInNjYWxlIixiLm9wdGlvbnMsYi5kdXJhdGlvbixiLmNhbGxiYWNr
KTthLmRlcXVldWUoKX0pfTtjLmVmZmVjdHMuc2NhbGU9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMu
cXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGU9Yy5leHRlbmQodHJ1ZSx7fSxiLm9wdGlv
bnMpLGc9Yy5lZmZlY3RzLnNldE1vZGUoYSwKK2Iub3B0aW9ucy5tb2RlfHwiZWZmZWN0IiksaD1w
YXJzZUludChiLm9wdGlvbnMucGVyY2VudCwxMCl8fChwYXJzZUludChiLm9wdGlvbnMucGVyY2Vu
dCwxMCk9PTA/MDpnPT0iaGlkZSI/MDoxMDApLGk9Yi5vcHRpb25zLmRpcmVjdGlvbnx8ImJvdGgi
LGY9Yi5vcHRpb25zLm9yaWdpbjtpZihnIT0iZWZmZWN0Iil7ZS5vcmlnaW49Znx8WyJtaWRkbGUi
LCJjZW50ZXIiXTtlLnJlc3RvcmU9dHJ1ZX1mPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndp
ZHRoKCl9O2EuZnJvbT1iLm9wdGlvbnMuZnJvbXx8KGc9PSJzaG93Ij97aGVpZ2h0OjAsd2lkdGg6
MH06Zik7aD17eTppIT0iaG9yaXpvbnRhbCI/aC8xMDA6MSx4OmkhPSJ2ZXJ0aWNhbCI/aC8xMDA6
MX07YS50bz17aGVpZ2h0OmYuaGVpZ2h0KmgueSx3aWR0aDpmLndpZHRoKmgueH07aWYoYi5vcHRp
b25zLmZhZGUpe2lmKGc9PSJzaG93Iil7YS5mcm9tLm9wYWNpdHk9MDthLnRvLm9wYWNpdHk9MX1p
ZihnPT0iaGlkZSIpe2EuZnJvbS5vcGFjaXR5PQorMTthLnRvLm9wYWNpdHk9MH19ZS5mcm9tPWEu
ZnJvbTtlLnRvPWEudG87ZS5tb2RlPWc7YS5lZmZlY3QoInNpemUiLGUsYi5kdXJhdGlvbixiLmNh
bGxiYWNrKTthLmRlcXVldWUoKX0pfTtjLmVmZmVjdHMuc2l6ZT1mdW5jdGlvbihiKXtyZXR1cm4g
dGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwi
Ym90dG9tIiwibGVmdCIsInJpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsIm9wYWNp
dHkiXSxnPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJvdmVyZmxv
dyIsIm9wYWNpdHkiXSxoPVsid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLGk9WyJmb250U2l6
ZSJdLGY9WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ1RvcCIs
InBhZGRpbmdCb3R0b20iXSxrPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIs
InBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sCitwPWMuZWZmZWN0cy5zZXRNb2RlKGEsYi5v
cHRpb25zLm1vZGV8fCJlZmZlY3QiKSxuPWIub3B0aW9ucy5yZXN0b3JlfHxmYWxzZSxtPWIub3B0
aW9ucy5zY2FsZXx8ImJvdGgiLGw9Yi5vcHRpb25zLm9yaWdpbixqPXtoZWlnaHQ6YS5oZWlnaHQo
KSx3aWR0aDphLndpZHRoKCl9O2EuZnJvbT1iLm9wdGlvbnMuZnJvbXx8ajthLnRvPWIub3B0aW9u
cy50b3x8ajtpZihsKXtsPWMuZWZmZWN0cy5nZXRCYXNlbGluZShsLGopO2EuZnJvbS50b3A9KGou
aGVpZ2h0LWEuZnJvbS5oZWlnaHQpKmwueTthLmZyb20ubGVmdD0oai53aWR0aC1hLmZyb20ud2lk
dGgpKmwueDthLnRvLnRvcD0oai5oZWlnaHQtYS50by5oZWlnaHQpKmwueTthLnRvLmxlZnQ9KGou
d2lkdGgtYS50by53aWR0aCkqbC54fXZhciBkPXtmcm9tOnt5OmEuZnJvbS5oZWlnaHQvai5oZWln
aHQseDphLmZyb20ud2lkdGgvai53aWR0aH0sdG86e3k6YS50by5oZWlnaHQvai5oZWlnaHQseDph
LnRvLndpZHRoL2oud2lkdGh9fTsKK2lmKG09PSJib3gifHxtPT0iYm90aCIpe2lmKGQuZnJvbS55
IT1kLnRvLnkpe2U9ZS5jb25jYXQoZik7YS5mcm9tPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEs
ZixkLmZyb20ueSxhLmZyb20pO2EudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxmLGQudG8u
eSxhLnRvKX1pZihkLmZyb20ueCE9ZC50by54KXtlPWUuY29uY2F0KGspO2EuZnJvbT1jLmVmZmVj
dHMuc2V0VHJhbnNpdGlvbihhLGssZC5mcm9tLngsYS5mcm9tKTthLnRvPWMuZWZmZWN0cy5zZXRU
cmFuc2l0aW9uKGEsayxkLnRvLngsYS50byl9fWlmKG09PSJjb250ZW50Inx8bT09ImJvdGgiKWlm
KGQuZnJvbS55IT1kLnRvLnkpe2U9ZS5jb25jYXQoaSk7YS5mcm9tPWMuZWZmZWN0cy5zZXRUcmFu
c2l0aW9uKGEsaSxkLmZyb20ueSxhLmZyb20pO2EudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24o
YSxpLGQudG8ueSxhLnRvKX1jLmVmZmVjdHMuc2F2ZShhLG4/ZTpnKTthLnNob3coKTtjLmVmZmVj
dHMuY3JlYXRlV3JhcHBlcihhKTsKK2EuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNzcyhhLmZy
b20pO2lmKG09PSJjb250ZW50Inx8bT09ImJvdGgiKXtmPWYuY29uY2F0KFsibWFyZ2luVG9wIiwi
bWFyZ2luQm90dG9tIl0pLmNvbmNhdChpKTtrPWsuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdp
blJpZ2h0Il0pO2g9ZS5jb25jYXQoZikuY29uY2F0KGspO2EuZmluZCgiKlt3aWR0aF0iKS5lYWNo
KGZ1bmN0aW9uKCl7Y2hpbGQ9Yyh0aGlzKTtuJiZjLmVmZmVjdHMuc2F2ZShjaGlsZCxoKTt2YXIg
bz17aGVpZ2h0OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNoaWxkLndpZHRoKCl9O2NoaWxkLmZyb209
e2hlaWdodDpvLmhlaWdodCpkLmZyb20ueSx3aWR0aDpvLndpZHRoKmQuZnJvbS54fTtjaGlsZC50
bz17aGVpZ2h0Om8uaGVpZ2h0KmQudG8ueSx3aWR0aDpvLndpZHRoKmQudG8ueH07aWYoZC5mcm9t
LnkhPWQudG8ueSl7Y2hpbGQuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxmLGQu
ZnJvbS55LGNoaWxkLmZyb20pOworY2hpbGQudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hp
bGQsZixkLnRvLnksY2hpbGQudG8pfWlmKGQuZnJvbS54IT1kLnRvLngpe2NoaWxkLmZyb209Yy5l
ZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsayxkLmZyb20ueCxjaGlsZC5mcm9tKTtjaGlsZC50
bz1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxrLGQudG8ueCxjaGlsZC50byl9Y2hpbGQu
Y3NzKGNoaWxkLmZyb20pO2NoaWxkLmFuaW1hdGUoY2hpbGQudG8sYi5kdXJhdGlvbixiLm9wdGlv
bnMuZWFzaW5nLGZ1bmN0aW9uKCl7biYmYy5lZmZlY3RzLnJlc3RvcmUoY2hpbGQsaCl9KX0pfWEu
YW5pbWF0ZShhLnRvLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmR1cmF0aW9uLGVhc2luZzpiLm9w
dGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS50by5vcGFjaXR5PT09MCYmYS5jc3Mo
Im9wYWNpdHkiLGEuZnJvbS5vcGFjaXR5KTtwPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5y
ZXN0b3JlKGEsCituP2U6Zyk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYm
Yi5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVl
cnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNjYWxlLm1pbi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zaGFrZS5taW4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLnNoYWtlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2hha2UubWluLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBT
aGFrZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9q
cXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BM
IFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisg
KiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvU2hha2UKKyAqCisgKiBEZXBlbmRz
OgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oZCl7ZC5lZmZlY3Rz
LnNoYWtlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0
aGlzKSxqPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXTtkLmVmZmVj
dHMuc2V0TW9kZShiLGEub3B0aW9ucy5tb2RlfHwiZWZmZWN0Iik7dmFyIGM9YS5vcHRpb25zLmRp
cmVjdGlvbnx8ImxlZnQiLGU9YS5vcHRpb25zLmRpc3RhbmNlfHwyMCxsPWEub3B0aW9ucy50aW1l
c3x8MyxmPWEuZHVyYXRpb258fGEub3B0aW9ucy5kdXJhdGlvbnx8MTQwO2QuZWZmZWN0cy5zYXZl
KGIsaik7Yi5zaG93KCk7ZC5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYik7dmFyIGc9Yz09InVwInx8
Yz09ImRvd24iPyJ0b3AiOiJsZWZ0IixoPWM9PSJ1cCJ8fGM9PSJsZWZ0Ij8icG9zIjoibmVnIjtj
PXt9O3ZhciBpPXt9LGs9e307Y1tnXT0oaD09InBvcyI/Ii09IjoiKz0iKStlO2lbZ109KGg9PSJw
b3MiPyIrPSI6Ii09IikrZSoyO2tbZ109CisoaD09InBvcyI/Ii09IjoiKz0iKStlKjI7Yi5hbmlt
YXRlKGMsZixhLm9wdGlvbnMuZWFzaW5nKTtmb3IoZT0xO2U8bDtlKyspYi5hbmltYXRlKGksZixh
Lm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKGssZixhLm9wdGlvbnMuZWFzaW5nKTtiLmFuaW1hdGUo
aSxmLGEub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoYyxmLzIsYS5vcHRpb25zLmVhc2luZyxmdW5j
dGlvbigpe2QuZWZmZWN0cy5yZXN0b3JlKGIsaik7ZC5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYik7
YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KTtiLnF1ZXVlKCJm
eCIsZnVuY3Rpb24oKXtiLmRlcXVldWUoKX0pO2IuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKClBy
b3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zaGFrZS5taW4uanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
YWxsb3ctdGFicwojIyAtMCwwICsxICMjCitvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LmVmZmVjdHMuc2xpZGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zbGlk
ZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNsaWRlLm1pbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS44
LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWku
Y29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9u
IDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDov
L2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL1NsaWRlCisgKgorICogRGVwZW5kczoKKyAqCWpx
dWVyeS5lZmZlY3RzLmNvcmUuanMKKyAqLworKGZ1bmN0aW9uKGMpe2MuZWZmZWN0cy5zbGlkZT1m
dW5jdGlvbihkKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksaD1b
InBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0sZj1jLmVmZmVjdHMuc2V0
TW9kZShhLGQub3B0aW9ucy5tb2RlfHwic2hvdyIpLGI9ZC5vcHRpb25zLmRpcmVjdGlvbnx8Imxl
ZnQiO2MuZWZmZWN0cy5zYXZlKGEsaCk7YS5zaG93KCk7Yy5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIo
YSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO3ZhciBnPWI9PSJ1cCJ8fGI9PSJkb3duIj8idG9w
IjoibGVmdCI7Yj1iPT0idXAifHxiPT0ibGVmdCI/InBvcyI6Im5lZyI7dmFyIGU9ZC5vcHRpb25z
LmRpc3RhbmNlfHwoZz09InRvcCI/YS5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9KTphLm91dGVy
V2lkdGgoe21hcmdpbjp0cnVlfSkpO2lmKGY9PSJzaG93IilhLmNzcyhnLGI9PSJwb3MiP2lzTmFO
KGUpPyItIitlOi1lOmUpOwordmFyIGk9e307aVtnXT0oZj09InNob3ciP2I9PSJwb3MiPyIrPSI6
Ii09IjpiPT0icG9zIj8iLT0iOiIrPSIpK2U7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNlLGR1cmF0
aW9uOmQuZHVyYXRpb24sZWFzaW5nOmQub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24o
KXtmPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJl
bW92ZVdyYXBwZXIoYSk7ZC5jYWxsYmFjayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50
cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLnNsaWRlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEg
IyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy50cmFu
c2Zlci5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnRyYW5zZmVyLm1pbi5qcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LmVmZmVjdHMudHJhbnNmZXIubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBUcmFuc2ZlciAxLjguMTUKKyAqCisg
KiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQp
CisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNl
cy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVl
cnkuY29tL1VJL0VmZmVjdHMvVHJhbnNmZXIKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVm
ZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oZSl7ZS5lZmZlY3RzLnRyYW5zZmVyPWZ1bmN0
aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKSxjPWUoYS5v
cHRpb25zLnRvKSxkPWMub2Zmc2V0KCk7Yz17dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0LGhlaWdodDpj
LmlubmVySGVpZ2h0KCksd2lkdGg6Yy5pbm5lcldpZHRoKCl9O2Q9Yi5vZmZzZXQoKTt2YXIgZj1l
KCc8ZGl2IGNsYXNzPSJ1aS1lZmZlY3RzLXRyYW5zZmVyIj48L2Rpdj4nKS5hcHBlbmRUbyhkb2N1
bWVudC5ib2R5KS5hZGRDbGFzcyhhLm9wdGlvbnMuY2xhc3NOYW1lKS5jc3Moe3RvcDpkLnRvcCxs
ZWZ0OmQubGVmdCxoZWlnaHQ6Yi5pbm5lckhlaWdodCgpLHdpZHRoOmIuaW5uZXJXaWR0aCgpLHBv
c2l0aW9uOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGMsYS5kdXJhdGlvbixhLm9wdGlvbnMuZWFzaW5n
LGZ1bmN0aW9uKCl7Zi5yZW1vdmUoKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KGJbMF0s
YXJndW1lbnRzKTsKK2IuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS5lZmZlY3RzLnRyYW5zZmVyLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJz
CiMjIC0wLDAgKzEgIyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
dWkuYWNjb3JkaW9uLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uanMJKG5v
bmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQWNjb3JkaW9uIDEuOC4xNQorICoKKyAqIENvcHly
aWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1
YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICog
aHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20v
VUkvQWNjb3JkaW9uCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS5jb3JlLmpzCisgKglq
cXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLndpZGdldCgidWkuYWNjb3Jk
aW9uIix7b3B0aW9uczp7YWN0aXZlOjAsYW5pbWF0ZWQ6InNsaWRlIixhdXRvSGVpZ2h0OnRydWUs
Y2xlYXJTdHlsZTpmYWxzZSxjb2xsYXBzaWJsZTpmYWxzZSxldmVudDoiY2xpY2siLGZpbGxTcGFj
ZTpmYWxzZSxoZWFkZXI6Ij4gbGkgPiA6Zmlyc3QtY2hpbGQsPiA6bm90KGxpKTpldmVuIixpY29u
czp7aGVhZGVyOiJ1aS1pY29uLXRyaWFuZ2xlLTEtZSIsaGVhZGVyU2VsZWN0ZWQ6InVpLWljb24t
dHJpYW5nbGUtMS1zIn0sbmF2aWdhdGlvbjpmYWxzZSxuYXZpZ2F0aW9uRmlsdGVyOmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMuaHJlZi50b0xvd2VyQ2FzZSgpPT09bG9jYXRpb24uaHJlZi50b0xvd2Vy
Q2FzZSgpfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1hLm9wdGlvbnM7YS5ydW5u
aW5nPTA7YS5lbGVtZW50LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBl
ci1yZXNldCIpLmNoaWxkcmVuKCJsaSIpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tbGktZml4Iik7
CithLmhlYWRlcnM9YS5lbGVtZW50LmZpbmQoYi5oZWFkZXIpLmFkZENsYXNzKCJ1aS1hY2NvcmRp
b24taGVhZGVyIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwi
KS5iaW5kKCJtb3VzZWVudGVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxjKHRo
aXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmluZCgibW91c2VsZWF2ZS5hY2NvcmRp
b24iLGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
aG92ZXIiKX0pLmJpbmQoImZvY3VzLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxj
KHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmluZCgiYmx1ci5hY2NvcmRpb24i
LGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9j
dXMiKX0pO2EuaGVhZGVycy5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50IHVp
LWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIik7CitpZihi
Lm5hdmlnYXRpb24pe3ZhciBkPWEuZWxlbWVudC5maW5kKCJhIikuZmlsdGVyKGIubmF2aWdhdGlv
bkZpbHRlcikuZXEoMCk7aWYoZC5sZW5ndGgpe3ZhciBoPWQuY2xvc2VzdCgiLnVpLWFjY29yZGlv
bi1oZWFkZXIiKTthLmFjdGl2ZT1oLmxlbmd0aD9oOmQuY2xvc2VzdCgiLnVpLWFjY29yZGlvbi1j
b250ZW50IikucHJldigpfX1hLmFjdGl2ZT1hLl9maW5kQWN0aXZlKGEuYWN0aXZlfHxiLmFjdGl2
ZSkuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIikudG9nZ2xlQ2xh
c3MoInVpLWNvcm5lci1hbGwiKS50b2dnbGVDbGFzcygidWktY29ybmVyLXRvcCIpO2EuYWN0aXZl
Lm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIik7YS5fY3JlYXRl
SWNvbnMoKTthLnJlc2l6ZSgpO2EuZWxlbWVudC5hdHRyKCJyb2xlIiwidGFibGlzdCIpO2EuaGVh
ZGVycy5hdHRyKCJyb2xlIiwidGFiIikuYmluZCgia2V5ZG93bi5hY2NvcmRpb24iLAorZnVuY3Rp
b24oZil7cmV0dXJuIGEuX2tleWRvd24oZil9KS5uZXh0KCkuYXR0cigicm9sZSIsInRhYnBhbmVs
Iik7YS5oZWFkZXJzLm5vdChhLmFjdGl2ZXx8IiIpLmF0dHIoeyJhcmlhLWV4cGFuZGVkIjoiZmFs
c2UiLCJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLHRhYkluZGV4Oi0xfSkubmV4dCgpLmhpZGUoKTth
LmFjdGl2ZS5sZW5ndGg/YS5hY3RpdmUuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJ0cnVlIiwiYXJp
YS1zZWxlY3RlZCI6InRydWUiLHRhYkluZGV4OjB9KTphLmhlYWRlcnMuZXEoMCkuYXR0cigidGFi
SW5kZXgiLDApO2MuYnJvd3Nlci5zYWZhcml8fGEuaGVhZGVycy5maW5kKCJhIikuYXR0cigidGFi
SW5kZXgiLC0xKTtiLmV2ZW50JiZhLmhlYWRlcnMuYmluZChiLmV2ZW50LnNwbGl0KCIgIikuam9p
bigiLmFjY29yZGlvbiAiKSsiLmFjY29yZGlvbiIsZnVuY3Rpb24oZil7YS5fY2xpY2tIYW5kbGVy
LmNhbGwoYSxmLHRoaXMpO2YucHJldmVudERlZmF1bHQoKX0pfSxfY3JlYXRlSWNvbnM6ZnVuY3Rp
b24oKXt2YXIgYT0KK3RoaXMub3B0aW9ucztpZihhLmljb25zKXtjKCI8c3Bhbj48L3NwYW4+Iiku
YWRkQ2xhc3MoInVpLWljb24gIithLmljb25zLmhlYWRlcikucHJlcGVuZFRvKHRoaXMuaGVhZGVy
cyk7dGhpcy5hY3RpdmUuY2hpbGRyZW4oIi51aS1pY29uIikudG9nZ2xlQ2xhc3MoYS5pY29ucy5o
ZWFkZXIpLnRvZ2dsZUNsYXNzKGEuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpO3RoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9fSxfZGVzdHJveUljb25zOmZ1bmN0aW9uKCl7
dGhpcy5oZWFkZXJzLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZSgpO3RoaXMuZWxlbWVudC5y
ZW1vdmVDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIg
YT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24gdWkt
d2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLnJlbW92ZUF0dHIoInJvbGUiKTt0aGlzLmhlYWRlcnMu
dW5iaW5kKCIuYWNjb3JkaW9uIikucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWkt
YWNjb3JkaW9uLWRpc2FibGVkIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNv
cm5lci1hbGwgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkIHVpLWNvcm5lci10b3Ai
KS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1leHBhbmRlZCIpLnJlbW92ZUF0
dHIoImFyaWEtc2VsZWN0ZWQiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIpOwordGhpcy5oZWFkZXJz
LmZpbmQoImEiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIpO3RoaXMuX2Rlc3Ryb3lJY29ucygpO3Zh
ciBiPXRoaXMuaGVhZGVycy5uZXh0KCkuY3NzKCJkaXNwbGF5IiwiIikucmVtb3ZlQXR0cigicm9s
ZSIpLnJlbW92ZUNsYXNzKCJ1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWJvdHRvbSB1aS1hY2NvcmRpb24tY29udGVudCB1aS1hY2NvcmRpb24tY29udGVudC1hY3Rp
dmUgdWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIik7aWYoYS5hdXRvSGVp
Z2h0fHxhLmZpbGxIZWlnaHQpYi5jc3MoImhlaWdodCIsIiIpO3JldHVybiBjLldpZGdldC5wcm90
b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7Yy5XaWRn
ZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO2E9PSJhY3RpdmUi
JiZ0aGlzLmFjdGl2YXRlKGIpO2lmKGE9PSJpY29ucyIpe3RoaXMuX2Rlc3Ryb3lJY29ucygpOwor
YiYmdGhpcy5fY3JlYXRlSWNvbnMoKX1pZihhPT0iZGlzYWJsZWQiKXRoaXMuaGVhZGVycy5hZGQo
dGhpcy5oZWFkZXJzLm5leHQoKSlbYj8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS1hY2Nv
cmRpb24tZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sX2tleWRvd246ZnVuY3Rpb24oYSl7
aWYoISh0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fGEuYWx0S2V5fHxhLmN0cmxLZXkpKXt2YXIgYj1j
LnVpLmtleUNvZGUsZD10aGlzLmhlYWRlcnMubGVuZ3RoLGg9dGhpcy5oZWFkZXJzLmluZGV4KGEu
dGFyZ2V0KSxmPWZhbHNlO3N3aXRjaChhLmtleUNvZGUpe2Nhc2UgYi5SSUdIVDpjYXNlIGIuRE9X
TjpmPXRoaXMuaGVhZGVyc1soaCsxKSVkXTticmVhaztjYXNlIGIuTEVGVDpjYXNlIGIuVVA6Zj10
aGlzLmhlYWRlcnNbKGgtMStkKSVkXTticmVhaztjYXNlIGIuU1BBQ0U6Y2FzZSBiLkVOVEVSOnRo
aXMuX2NsaWNrSGFuZGxlcih7dGFyZ2V0OmEudGFyZ2V0fSxhLnRhcmdldCk7CithLnByZXZlbnRE
ZWZhdWx0KCl9aWYoZil7YyhhLnRhcmdldCkuYXR0cigidGFiSW5kZXgiLC0xKTtjKGYpLmF0dHIo
InRhYkluZGV4IiwwKTtmLmZvY3VzKCk7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX0scmVzaXpl
OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLGI7aWYoYS5maWxsU3BhY2Upe2lmKGMuYnJv
d3Nlci5tc2llKXt2YXIgZD10aGlzLmVsZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIpO3Ro
aXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIil9Yj10aGlzLmVsZW1l
bnQucGFyZW50KCkuaGVpZ2h0KCk7Yy5icm93c2VyLm1zaWUmJnRoaXMuZWxlbWVudC5wYXJlbnQo
KS5jc3MoIm92ZXJmbG93IixkKTt0aGlzLmhlYWRlcnMuZWFjaChmdW5jdGlvbigpe2ItPWModGhp
cykub3V0ZXJIZWlnaHQodHJ1ZSl9KTt0aGlzLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24o
KXtjKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGItYyh0aGlzKS5pbm5lckhlaWdodCgpKworYyh0
aGlzKS5oZWlnaHQoKSkpfSkuY3NzKCJvdmVyZmxvdyIsImF1dG8iKX1lbHNlIGlmKGEuYXV0b0hl
aWdodCl7Yj0wO3RoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe2I9TWF0aC5tYXgo
YixjKHRoaXMpLmhlaWdodCgiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KGIpfXJldHVybiB0aGlzfSxh
Y3RpdmF0ZTpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnMuYWN0aXZlPWE7YT10aGlzLl9maW5kQWN0
aXZlKGEpWzBdO3RoaXMuX2NsaWNrSGFuZGxlcih7dGFyZ2V0OmF9LGEpO3JldHVybiB0aGlzfSxf
ZmluZEFjdGl2ZTpmdW5jdGlvbihhKXtyZXR1cm4gYT90eXBlb2YgYT09PSJudW1iZXIiP3RoaXMu
aGVhZGVycy5maWx0ZXIoIjplcSgiK2ErIikiKTp0aGlzLmhlYWRlcnMubm90KHRoaXMuaGVhZGVy
cy5ub3QoYSkpOmE9PT1mYWxzZT9jKFtdKTp0aGlzLmhlYWRlcnMuZmlsdGVyKCI6ZXEoMCkiKX0s
X2NsaWNrSGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBkPXRoaXMub3B0aW9uczsKK2lmKCFkLmRp
c2FibGVkKWlmKGEudGFyZ2V0KXthPWMoYS5jdXJyZW50VGFyZ2V0fHxiKTtiPWFbMF09PT10aGlz
LmFjdGl2ZVswXTtkLmFjdGl2ZT1kLmNvbGxhcHNpYmxlJiZiP2ZhbHNlOnRoaXMuaGVhZGVycy5p
bmRleChhKTtpZighKHRoaXMucnVubmluZ3x8IWQuY29sbGFwc2libGUmJmIpKXt2YXIgaD10aGlz
LmFjdGl2ZTtqPWEubmV4dCgpO2c9dGhpcy5hY3RpdmUubmV4dCgpO2U9e29wdGlvbnM6ZCxuZXdI
ZWFkZXI6YiYmZC5jb2xsYXBzaWJsZT9jKFtdKTphLG9sZEhlYWRlcjp0aGlzLmFjdGl2ZSxuZXdD
b250ZW50OmImJmQuY29sbGFwc2libGU/YyhbXSk6aixvbGRDb250ZW50Omd9O3ZhciBmPXRoaXMu
aGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZVswXSk+dGhpcy5oZWFkZXJzLmluZGV4KGFbMF0pO3Ro
aXMuYWN0aXZlPWI/YyhbXSk6YTt0aGlzLl90b2dnbGUoaixnLGUsYixmKTtoLnJlbW92ZUNsYXNz
KCJ1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZh
dWx0IHVpLWNvcm5lci1hbGwiKS5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhkLmlj
b25zLmhlYWRlclNlbGVjdGVkKS5hZGRDbGFzcyhkLmljb25zLmhlYWRlcik7CitpZighYil7YS5y
ZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYWRkQ2xhc3MoInVp
LXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVtb3Zl
Q2xhc3MoZC5pY29ucy5oZWFkZXIpLmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpO2Eu
bmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKX19fWVsc2UgaWYo
ZC5jb2xsYXBzaWJsZSl7dGhpcy5hY3RpdmUucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1
aS1jb3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIp
LmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNzKGQuaWNvbnMuaGVhZGVyU2VsZWN0ZWQp
LmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyKTt0aGlzLmFjdGl2ZS5uZXh0KCkuYWRkQ2xhc3MoInVp
LWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO3ZhciBnPXRoaXMuYWN0aXZlLm5leHQoKSwKK2U9
e29wdGlvbnM6ZCxuZXdIZWFkZXI6YyhbXSksb2xkSGVhZGVyOmQuYWN0aXZlLG5ld0NvbnRlbnQ6
YyhbXSksb2xkQ29udGVudDpnfSxqPXRoaXMuYWN0aXZlPWMoW10pO3RoaXMuX3RvZ2dsZShqLGcs
ZSl9fSxfdG9nZ2xlOmZ1bmN0aW9uKGEsYixkLGgsZil7dmFyIGc9dGhpcyxlPWcub3B0aW9ucztn
LnRvU2hvdz1hO2cudG9IaWRlPWI7Zy5kYXRhPWQ7dmFyIGo9ZnVuY3Rpb24oKXtpZihnKXJldHVy
biBnLl9jb21wbGV0ZWQuYXBwbHkoZyxhcmd1bWVudHMpfTtnLl90cmlnZ2VyKCJjaGFuZ2VzdGFy
dCIsbnVsbCxnLmRhdGEpO2cucnVubmluZz1iLnNpemUoKT09PTA/YS5zaXplKCk6Yi5zaXplKCk7
aWYoZS5hbmltYXRlZCl7ZD17fTtkPWUuY29sbGFwc2libGUmJmg/e3RvU2hvdzpjKFtdKSx0b0hp
ZGU6Yixjb21wbGV0ZTpqLGRvd246ZixhdXRvSGVpZ2h0OmUuYXV0b0hlaWdodHx8ZS5maWxsU3Bh
Y2V9Ont0b1Nob3c6YSx0b0hpZGU6Yixjb21wbGV0ZTpqLGRvd246ZixhdXRvSGVpZ2h0OmUuYXV0
b0hlaWdodHx8CitlLmZpbGxTcGFjZX07aWYoIWUucHJveGllZCllLnByb3hpZWQ9ZS5hbmltYXRl
ZDtpZighZS5wcm94aWVkRHVyYXRpb24pZS5wcm94aWVkRHVyYXRpb249ZS5kdXJhdGlvbjtlLmFu
aW1hdGVkPWMuaXNGdW5jdGlvbihlLnByb3hpZWQpP2UucHJveGllZChkKTplLnByb3hpZWQ7ZS5k
dXJhdGlvbj1jLmlzRnVuY3Rpb24oZS5wcm94aWVkRHVyYXRpb24pP2UucHJveGllZER1cmF0aW9u
KGQpOmUucHJveGllZER1cmF0aW9uO2g9Yy51aS5hY2NvcmRpb24uYW5pbWF0aW9uczt2YXIgaT1l
LmR1cmF0aW9uLGs9ZS5hbmltYXRlZDtpZihrJiYhaFtrXSYmIWMuZWFzaW5nW2tdKWs9InNsaWRl
IjtoW2tdfHwoaFtrXT1mdW5jdGlvbihsKXt0aGlzLnNsaWRlKGwse2Vhc2luZzprLGR1cmF0aW9u
Oml8fDcwMH0pfSk7aFtrXShkKX1lbHNle2lmKGUuY29sbGFwc2libGUmJmgpYS50b2dnbGUoKTtl
bHNle2IuaGlkZSgpO2Euc2hvdygpfWoodHJ1ZSl9Yi5wcmV2KCkuYXR0cih7ImFyaWEtZXhwYW5k
ZWQiOiJmYWxzZSIsCisiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLmJsdXIo
KTthLnByZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6InRydWUiLCJhcmlhLXNlbGVjdGVkIjoi
dHJ1ZSIsdGFiSW5kZXg6MH0pLmZvY3VzKCl9LF9jb21wbGV0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5y
dW5uaW5nPWE/MDotLXRoaXMucnVubmluZztpZighdGhpcy5ydW5uaW5nKXt0aGlzLm9wdGlvbnMu
Y2xlYXJTdHlsZSYmdGhpcy50b1Nob3cuYWRkKHRoaXMudG9IaWRlKS5jc3Moe2hlaWdodDoiIixv
dmVyZmxvdzoiIn0pO3RoaXMudG9IaWRlLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVu
dC1hY3RpdmUiKTtpZih0aGlzLnRvSGlkZS5sZW5ndGgpdGhpcy50b0hpZGUucGFyZW50KClbMF0u
Y2xhc3NOYW1lPXRoaXMudG9IaWRlLnBhcmVudCgpWzBdLmNsYXNzTmFtZTt0aGlzLl90cmlnZ2Vy
KCJjaGFuZ2UiLG51bGwsdGhpcy5kYXRhKX19fSk7Yy5leHRlbmQoYy51aS5hY2NvcmRpb24se3Zl
cnNpb246IjEuOC4xNSIsCithbmltYXRpb25zOntzbGlkZTpmdW5jdGlvbihhLGIpe2E9Yy5leHRl
bmQoe2Vhc2luZzoic3dpbmciLGR1cmF0aW9uOjMwMH0sYSxiKTtpZihhLnRvSGlkZS5zaXplKCkp
aWYoYS50b1Nob3cuc2l6ZSgpKXt2YXIgZD1hLnRvU2hvdy5jc3MoIm92ZXJmbG93IiksaD0wLGY9
e30sZz17fSxlO2I9YS50b1Nob3c7ZT1iWzBdLnN0eWxlLndpZHRoO2Iud2lkdGgocGFyc2VJbnQo
Yi5wYXJlbnQoKS53aWR0aCgpLDEwKS1wYXJzZUludChiLmNzcygicGFkZGluZ0xlZnQiKSwxMCkt
cGFyc2VJbnQoYi5jc3MoInBhZGRpbmdSaWdodCIpLDEwKS0ocGFyc2VJbnQoYi5jc3MoImJvcmRl
ckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGIuY3NzKCJib3JkZXJSaWdodFdpZHRoIiks
MTApfHwwKSk7Yy5lYWNoKFsiaGVpZ2h0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxm
dW5jdGlvbihqLGkpe2dbaV09ImhpZGUiO2o9KCIiK2MuY3NzKGEudG9TaG93WzBdLGkpKS5tYXRj
aCgvXihbXGQrLS5dKykoLiopJC8pOworZltpXT17dmFsdWU6alsxXSx1bml0OmpbMl18fCJweCJ9
fSk7YS50b1Nob3cuY3NzKHtoZWlnaHQ6MCxvdmVyZmxvdzoiaGlkZGVuIn0pLnNob3coKTthLnRv
SGlkZS5maWx0ZXIoIjpoaWRkZW4iKS5lYWNoKGEuY29tcGxldGUpLmVuZCgpLmZpbHRlcigiOnZp
c2libGUiKS5hbmltYXRlKGcse3N0ZXA6ZnVuY3Rpb24oaixpKXtpZihpLnByb3A9PSJoZWlnaHQi
KWg9aS5lbmQtaS5zdGFydD09PTA/MDooaS5ub3ctaS5zdGFydCkvKGkuZW5kLWkuc3RhcnQpO2Eu
dG9TaG93WzBdLnN0eWxlW2kucHJvcF09aCpmW2kucHJvcF0udmFsdWUrZltpLnByb3BdLnVuaXR9
LGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzaW5nOmEuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7
YS5hdXRvSGVpZ2h0fHxhLnRvU2hvdy5jc3MoImhlaWdodCIsIiIpO2EudG9TaG93LmNzcyh7d2lk
dGg6ZSxvdmVyZmxvdzpkfSk7YS5jb21wbGV0ZSgpfX0pfWVsc2UgYS50b0hpZGUuYW5pbWF0ZSh7
aGVpZ2h0OiJoaWRlIiwKK3BhZGRpbmdUb3A6ImhpZGUiLHBhZGRpbmdCb3R0b206ImhpZGUifSxh
KTtlbHNlIGEudG9TaG93LmFuaW1hdGUoe2hlaWdodDoic2hvdyIscGFkZGluZ1RvcDoic2hvdyIs
cGFkZGluZ0JvdHRvbToic2hvdyJ9LGEpfSxib3VuY2VzbGlkZTpmdW5jdGlvbihhKXt0aGlzLnNs
aWRlKGEse2Vhc2luZzphLmRvd24/ImVhc2VPdXRCb3VuY2UiOiJzd2luZyIsZHVyYXRpb246YS5k
b3duPzFFMzoyMDB9KX19fSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2Nv
cmRpb24ubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIwor
b24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hdXRvY29tcGxldGUu
bWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5qcwkobm9uZXhpc3RlbnQp
CisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBA
QAorLyoKKyAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0
IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBs
aWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRw
Oi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9B
dXRvY29tcGxldGUKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpx
dWVyeS51aS53aWRnZXQuanMKKyAqCWpxdWVyeS51aS5wb3NpdGlvbi5qcworICovCisoZnVuY3Rp
b24oZCl7dmFyIGU9MDtkLndpZGdldCgidWkuYXV0b2NvbXBsZXRlIix7b3B0aW9uczp7YXBwZW5k
VG86ImJvZHkiLGF1dG9Gb2N1czpmYWxzZSxkZWxheTozMDAsbWluTGVuZ3RoOjEscG9zaXRpb246
e215OiJsZWZ0IHRvcCIsYXQ6ImxlZnQgYm90dG9tIixjb2xsaXNpb246Im5vbmUifSxzb3VyY2U6
bnVsbH0scGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9dGhpcy5lbGVt
ZW50WzBdLm93bmVyRG9jdW1lbnQsZzt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1dG9jb21w
bGV0ZS1pbnB1dCIpLmF0dHIoImF1dG9jb21wbGV0ZSIsIm9mZiIpLmF0dHIoe3JvbGU6InRleHRi
b3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Imxpc3QiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KS5i
aW5kKCJrZXlkb3duLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oYyl7aWYoIShhLm9wdGlvbnMuZGlz
YWJsZWR8fGEuZWxlbWVudC5wcm9wQXR0cigicmVhZE9ubHkiKSkpe2c9CitmYWxzZTt2YXIgZj1k
LnVpLmtleUNvZGU7c3dpdGNoKGMua2V5Q29kZSl7Y2FzZSBmLlBBR0VfVVA6YS5fbW92ZSgicHJl
dmlvdXNQYWdlIixjKTticmVhaztjYXNlIGYuUEFHRV9ET1dOOmEuX21vdmUoIm5leHRQYWdlIixj
KTticmVhaztjYXNlIGYuVVA6YS5fbW92ZSgicHJldmlvdXMiLGMpO2MucHJldmVudERlZmF1bHQo
KTticmVhaztjYXNlIGYuRE9XTjphLl9tb3ZlKCJuZXh0IixjKTtjLnByZXZlbnREZWZhdWx0KCk7
YnJlYWs7Y2FzZSBmLkVOVEVSOmNhc2UgZi5OVU1QQURfRU5URVI6aWYoYS5tZW51LmFjdGl2ZSl7
Zz10cnVlO2MucHJldmVudERlZmF1bHQoKX1jYXNlIGYuVEFCOmlmKCFhLm1lbnUuYWN0aXZlKXJl
dHVybjthLm1lbnUuc2VsZWN0KGMpO2JyZWFrO2Nhc2UgZi5FU0NBUEU6YS5lbGVtZW50LnZhbChh
LnRlcm0pO2EuY2xvc2UoYyk7YnJlYWs7ZGVmYXVsdDpjbGVhclRpbWVvdXQoYS5zZWFyY2hpbmcp
O2Euc2VhcmNoaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihhLnRlcm0hPQorYS5lbGVtZW50
LnZhbCgpKXthLnNlbGVjdGVkSXRlbT1udWxsO2Euc2VhcmNoKG51bGwsYyl9fSxhLm9wdGlvbnMu
ZGVsYXkpO2JyZWFrfX19KS5iaW5kKCJrZXlwcmVzcy5hdXRvY29tcGxldGUiLGZ1bmN0aW9uKGMp
e2lmKGcpe2c9ZmFsc2U7Yy5wcmV2ZW50RGVmYXVsdCgpfX0pLmJpbmQoImZvY3VzLmF1dG9jb21w
bGV0ZSIsZnVuY3Rpb24oKXtpZighYS5vcHRpb25zLmRpc2FibGVkKXthLnNlbGVjdGVkSXRlbT1u
dWxsO2EucHJldmlvdXM9YS5lbGVtZW50LnZhbCgpfX0pLmJpbmQoImJsdXIuYXV0b2NvbXBsZXRl
IixmdW5jdGlvbihjKXtpZighYS5vcHRpb25zLmRpc2FibGVkKXtjbGVhclRpbWVvdXQoYS5zZWFy
Y2hpbmcpO2EuY2xvc2luZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jbG9zZShjKTthLl9jaGFu
Z2UoYyl9LDE1MCl9fSk7dGhpcy5faW5pdFNvdXJjZSgpO3RoaXMucmVzcG9uc2U9ZnVuY3Rpb24o
KXtyZXR1cm4gYS5fcmVzcG9uc2UuYXBwbHkoYSxhcmd1bWVudHMpfTsKK3RoaXMubWVudT1kKCI8
dWw+PC91bD4iKS5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlIikuYXBwZW5kVG8oZCh0aGlzLm9w
dGlvbnMuYXBwZW5kVG98fCJib2R5IixiKVswXSkubW91c2Vkb3duKGZ1bmN0aW9uKGMpe3ZhciBm
PWEubWVudS5lbGVtZW50WzBdO2QoYy50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0iKS5s
ZW5ndGh8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkKGRvY3VtZW50KS5vbmUoIm1vdXNlZG93biIs
ZnVuY3Rpb24oaCl7aC50YXJnZXQhPT1hLmVsZW1lbnRbMF0mJmgudGFyZ2V0IT09ZiYmIWQudWku
Y29udGFpbnMoZixoLnRhcmdldCkmJmEuY2xvc2UoKX0pfSwxKTtzZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7Y2xlYXJUaW1lb3V0KGEuY2xvc2luZyl9LDEzKX0pLm1lbnUoe2ZvY3VzOmZ1bmN0aW9uKGMs
Zil7Zj1mLml0ZW0uZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiKTtmYWxzZSE9PWEuX3RyaWdnZXIo
ImZvY3VzIixjLHtpdGVtOmZ9KSYmL15rZXkvLnRlc3QoYy5vcmlnaW5hbEV2ZW50LnR5cGUpJiYK
K2EuZWxlbWVudC52YWwoZi52YWx1ZSl9LHNlbGVjdGVkOmZ1bmN0aW9uKGMsZil7dmFyIGg9Zi5p
dGVtLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIiksaT1hLnByZXZpb3VzO2lmKGEuZWxlbWVudFsw
XSE9PWIuYWN0aXZlRWxlbWVudCl7YS5lbGVtZW50LmZvY3VzKCk7YS5wcmV2aW91cz1pO3NldFRp
bWVvdXQoZnVuY3Rpb24oKXthLnByZXZpb3VzPWk7YS5zZWxlY3RlZEl0ZW09aH0sMSl9ZmFsc2Uh
PT1hLl90cmlnZ2VyKCJzZWxlY3QiLGMse2l0ZW06aH0pJiZhLmVsZW1lbnQudmFsKGgudmFsdWUp
O2EudGVybT1hLmVsZW1lbnQudmFsKCk7YS5jbG9zZShjKTthLnNlbGVjdGVkSXRlbT1ofSxibHVy
OmZ1bmN0aW9uKCl7YS5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJmEuZWxlbWVudC52YWwo
KSE9PWEudGVybSYmYS5lbGVtZW50LnZhbChhLnRlcm0pfX0pLnpJbmRleCh0aGlzLmVsZW1lbnQu
ekluZGV4KCkrMSkuY3NzKHt0b3A6MCxsZWZ0OjB9KS5oaWRlKCkuZGF0YSgibWVudSIpOworZC5m
bi5iZ2lmcmFtZSYmdGhpcy5tZW51LmVsZW1lbnQuYmdpZnJhbWUoKX0sZGVzdHJveTpmdW5jdGlv
bigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBsZXRlLWlucHV0IikucmVt
b3ZlQXR0cigiYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFy
aWEtYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigiYXJpYS1oYXNwb3B1cCIpO3RoaXMubWVudS5l
bGVtZW50LnJlbW92ZSgpO2QuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LF9z
ZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtkLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7YT09PSJzb3VyY2UiJiZ0aGlzLl9pbml0U291cmNlKCk7aWYoYT09
PSJhcHBlbmRUbyIpdGhpcy5tZW51LmVsZW1lbnQuYXBwZW5kVG8oZChifHwiYm9keSIsdGhpcy5l
bGVtZW50WzBdLm93bmVyRG9jdW1lbnQpWzBdKTthPT09ImRpc2FibGVkIiYmCitiJiZ0aGlzLnho
ciYmdGhpcy54aHIuYWJvcnQoKX0sX2luaXRTb3VyY2U6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGIs
ZztpZihkLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSkpe2I9dGhpcy5vcHRpb25zLnNvdXJj
ZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihjLGYpe2YoZC51aS5hdXRvY29tcGxldGUuZmlsdGVyKGIs
Yy50ZXJtKSl9fWVsc2UgaWYodHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2U9PT0ic3RyaW5nIil7
Zz10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMuc291cmNlPWZ1bmN0aW9uKGMsZil7YS54aHImJmEu
eGhyLmFib3J0KCk7YS54aHI9ZC5hamF4KHt1cmw6ZyxkYXRhOmMsZGF0YVR5cGU6Impzb24iLGF1
dG9jb21wbGV0ZVJlcXVlc3Q6KytlLHN1Y2Nlc3M6ZnVuY3Rpb24oaCl7dGhpcy5hdXRvY29tcGxl
dGVSZXF1ZXN0PT09ZSYmZihoKX0sZXJyb3I6ZnVuY3Rpb24oKXt0aGlzLmF1dG9jb21wbGV0ZVJl
cXVlc3Q9PT1lJiZmKFtdKX19KX19ZWxzZSB0aGlzLnNvdXJjZT0KK3RoaXMub3B0aW9ucy5zb3Vy
Y2V9LHNlYXJjaDpmdW5jdGlvbihhLGIpe2E9YSE9bnVsbD9hOnRoaXMuZWxlbWVudC52YWwoKTt0
aGlzLnRlcm09dGhpcy5lbGVtZW50LnZhbCgpO2lmKGEubGVuZ3RoPHRoaXMub3B0aW9ucy5taW5M
ZW5ndGgpcmV0dXJuIHRoaXMuY2xvc2UoYik7Y2xlYXJUaW1lb3V0KHRoaXMuY2xvc2luZyk7aWYo
dGhpcy5fdHJpZ2dlcigic2VhcmNoIixiKSE9PWZhbHNlKXJldHVybiB0aGlzLl9zZWFyY2goYSl9
LF9zZWFyY2g6ZnVuY3Rpb24oYSl7dGhpcy5wZW5kaW5nKys7dGhpcy5lbGVtZW50LmFkZENsYXNz
KCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpO3RoaXMuc291cmNlKHt0ZXJtOmF9LHRoaXMucmVz
cG9uc2UpfSxfcmVzcG9uc2U6ZnVuY3Rpb24oYSl7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYm
YSYmYS5sZW5ndGgpe2E9dGhpcy5fbm9ybWFsaXplKGEpO3RoaXMuX3N1Z2dlc3QoYSk7dGhpcy5f
dHJpZ2dlcigib3BlbiIpfWVsc2UgdGhpcy5jbG9zZSgpOwordGhpcy5wZW5kaW5nLS07dGhpcy5w
ZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5n
Iil9LGNsb3NlOmZ1bmN0aW9uKGEpe2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMu
bWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKXt0aGlzLm1lbnUuZWxlbWVudC5oaWRlKCk7dGhp
cy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLl90cmlnZ2VyKCJjbG9zZSIsYSl9fSxfY2hhbmdlOmZ1
bmN0aW9uKGEpe3RoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdn
ZXIoImNoYW5nZSIsYSx7aXRlbTp0aGlzLnNlbGVjdGVkSXRlbX0pfSxfbm9ybWFsaXplOmZ1bmN0
aW9uKGEpe2lmKGEubGVuZ3RoJiZhWzBdLmxhYmVsJiZhWzBdLnZhbHVlKXJldHVybiBhO3JldHVy
biBkLm1hcChhLGZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBiPT09InN0cmluZyIpcmV0dXJue2xhYmVs
OmIsdmFsdWU6Yn07cmV0dXJuIGQuZXh0ZW5kKHtsYWJlbDpiLmxhYmVsfHwKK2IudmFsdWUsdmFs
dWU6Yi52YWx1ZXx8Yi5sYWJlbH0sYil9KX0sX3N1Z2dlc3Q6ZnVuY3Rpb24oYSl7dmFyIGI9dGhp
cy5tZW51LmVsZW1lbnQuZW1wdHkoKS56SW5kZXgodGhpcy5lbGVtZW50LnpJbmRleCgpKzEpO3Ro
aXMuX3JlbmRlck1lbnUoYixhKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgpO3RoaXMubWVudS5yZWZy
ZXNoKCk7Yi5zaG93KCk7dGhpcy5fcmVzaXplTWVudSgpO2IucG9zaXRpb24oZC5leHRlbmQoe29m
OnRoaXMuZWxlbWVudH0sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSk7dGhpcy5vcHRpb25zLmF1dG9G
b2N1cyYmdGhpcy5tZW51Lm5leHQobmV3IGQuRXZlbnQoIm1vdXNlb3ZlciIpKX0sX3Jlc2l6ZU1l
bnU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm1lbnUuZWxlbWVudDthLm91dGVyV2lkdGgoTWF0aC5t
YXgoYS53aWR0aCgiIikub3V0ZXJXaWR0aCgpLHRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCkpKX0s
X3JlbmRlck1lbnU6ZnVuY3Rpb24oYSxiKXt2YXIgZz10aGlzOworZC5lYWNoKGIsZnVuY3Rpb24o
YyxmKXtnLl9yZW5kZXJJdGVtKGEsZil9KX0sX3JlbmRlckl0ZW06ZnVuY3Rpb24oYSxiKXtyZXR1
cm4gZCgiPGxpPjwvbGk+IikuZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiLGIpLmFwcGVuZChkKCI8
YT48L2E+IikudGV4dChiLmxhYmVsKSkuYXBwZW5kVG8oYSl9LF9tb3ZlOmZ1bmN0aW9uKGEsYil7
aWYodGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikpaWYodGhpcy5tZW51LmZpcnN0KCkm
Ji9ecHJldmlvdXMvLnRlc3QoYSl8fHRoaXMubWVudS5sYXN0KCkmJi9ebmV4dC8udGVzdChhKSl7
dGhpcy5lbGVtZW50LnZhbCh0aGlzLnRlcm0pO3RoaXMubWVudS5kZWFjdGl2YXRlKCl9ZWxzZSB0
aGlzLm1lbnVbYV0oYik7ZWxzZSB0aGlzLnNlYXJjaChudWxsLGIpfSx3aWRnZXQ6ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnR9fSk7ZC5leHRlbmQoZC51aS5hdXRvY29tcGxldGUs
e2VzY2FwZVJlZ2V4OmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1stW1xde30oKSorPy4s
XFxeJHwjXHNdL2csCisiXFwkJiIpfSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgZz1uZXcgUmVn
RXhwKGQudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4KGIpLCJpIik7cmV0dXJuIGQuZ3JlcChh
LGZ1bmN0aW9uKGMpe3JldHVybiBnLnRlc3QoYy5sYWJlbHx8Yy52YWx1ZXx8Yyl9KX19KX0pKGpR
dWVyeSk7CisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLm1lbnUiLHtfY3JlYXRlOmZ1bmN0aW9u
KCl7dmFyIGU9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLW1lbnUgdWktd2lkZ2V0IHVp
LXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJsaXN0Ym94IiwiYXJp
YS1hY3RpdmVkZXNjZW5kYW50IjoidWktYWN0aXZlLW1lbnVpdGVtIn0pLmNsaWNrKGZ1bmN0aW9u
KGEpe2lmKGQoYS50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0gYSIpLmxlbmd0aCl7YS5w
cmV2ZW50RGVmYXVsdCgpO2Uuc2VsZWN0KGEpfX0pO3RoaXMucmVmcmVzaCgpfSxyZWZyZXNoOmZ1
bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmVsZW1lbnQuY2hpbGRyZW4oImxpOm5vdCgudWktbWVu
dS1pdGVtKTpoYXMoYSkiKS5hZGRDbGFzcygidWktbWVudS1pdGVtIikuYXR0cigicm9sZSIsIm1l
bnVpdGVtIikuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygidWktY29ybmVyLWFsbCIpLmF0dHIoInRh
YmluZGV4IiwKKy0xKS5tb3VzZWVudGVyKGZ1bmN0aW9uKGEpe2UuYWN0aXZhdGUoYSxkKHRoaXMp
LnBhcmVudCgpKX0pLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXtlLmRlYWN0aXZhdGUoKX0pfSxhY3Rp
dmF0ZTpmdW5jdGlvbihlLGEpe3RoaXMuZGVhY3RpdmF0ZSgpO2lmKHRoaXMuaGFzU2Nyb2xsKCkp
e3ZhciBiPWEub2Zmc2V0KCkudG9wLXRoaXMuZWxlbWVudC5vZmZzZXQoKS50b3AsZz10aGlzLmVs
ZW1lbnQuc2Nyb2xsVG9wKCksYz10aGlzLmVsZW1lbnQuaGVpZ2h0KCk7aWYoYjwwKXRoaXMuZWxl
bWVudC5zY3JvbGxUb3AoZytiKTtlbHNlIGI+PWMmJnRoaXMuZWxlbWVudC5zY3JvbGxUb3AoZyti
LWMrYS5oZWlnaHQoKSl9dGhpcy5hY3RpdmU9YS5lcSgwKS5jaGlsZHJlbigiYSIpLmFkZENsYXNz
KCJ1aS1zdGF0ZS1ob3ZlciIpLmF0dHIoImlkIiwidWktYWN0aXZlLW1lbnVpdGVtIikuZW5kKCk7
dGhpcy5fdHJpZ2dlcigiZm9jdXMiLGUse2l0ZW06YX0pfSxkZWFjdGl2YXRlOmZ1bmN0aW9uKCl7
aWYodGhpcy5hY3RpdmUpe3RoaXMuYWN0aXZlLmNoaWxkcmVuKCJhIikucmVtb3ZlQ2xhc3MoInVp
LXN0YXRlLWhvdmVyIikucmVtb3ZlQXR0cigiaWQiKTsKK3RoaXMuX3RyaWdnZXIoImJsdXIiKTt0
aGlzLmFjdGl2ZT1udWxsfX0sbmV4dDpmdW5jdGlvbihlKXt0aGlzLm1vdmUoIm5leHQiLCIudWkt
bWVudS1pdGVtOmZpcnN0IixlKX0scHJldmlvdXM6ZnVuY3Rpb24oZSl7dGhpcy5tb3ZlKCJwcmV2
IiwiLnVpLW1lbnUtaXRlbTpsYXN0IixlKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5h
Y3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWktbWVudS1pdGVtIikubGVuZ3RofSxsYXN0
OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUubmV4dEFsbCgiLnVp
LW1lbnUtaXRlbSIpLmxlbmd0aH0sbW92ZTpmdW5jdGlvbihlLGEsYil7aWYodGhpcy5hY3RpdmUp
e2U9dGhpcy5hY3RpdmVbZSsiQWxsIl0oIi51aS1tZW51LWl0ZW0iKS5lcSgwKTtlLmxlbmd0aD90
aGlzLmFjdGl2YXRlKGIsZSk6dGhpcy5hY3RpdmF0ZShiLHRoaXMuZWxlbWVudC5jaGlsZHJlbihh
KSl9ZWxzZSB0aGlzLmFjdGl2YXRlKGIsCit0aGlzLmVsZW1lbnQuY2hpbGRyZW4oYSkpfSxuZXh0
UGFnZTpmdW5jdGlvbihlKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8dGhp
cy5sYXN0KCkpdGhpcy5hY3RpdmF0ZShlLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUt
aXRlbTpmaXJzdCIpKTtlbHNle3ZhciBhPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxiPXRoaXMu
ZWxlbWVudC5oZWlnaHQoKSxnPXRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbSIp
LmZpbHRlcihmdW5jdGlvbigpe3ZhciBjPWQodGhpcykub2Zmc2V0KCkudG9wLWEtYitkKHRoaXMp
LmhlaWdodCgpO3JldHVybiBjPDEwJiZjPi0xMH0pO2cubGVuZ3RofHwoZz10aGlzLmVsZW1lbnQu
Y2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTt0aGlzLmFjdGl2YXRlKGUsZyl9ZWxzZSB0
aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmls
dGVyKCF0aGlzLmFjdGl2ZXx8Cit0aGlzLmxhc3QoKT8iOmZpcnN0IjoiOmxhc3QiKSl9LHByZXZp
b3VzUGFnZTpmdW5jdGlvbihlKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8
dGhpcy5maXJzdCgpKXRoaXMuYWN0aXZhdGUoZSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1t
ZW51LWl0ZW06bGFzdCIpKTtlbHNle3ZhciBhPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxiPXRo
aXMuZWxlbWVudC5oZWlnaHQoKTtyZXN1bHQ9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVu
dS1pdGVtIikuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGc9ZCh0aGlzKS5vZmZzZXQoKS50b3AtYSti
LWQodGhpcykuaGVpZ2h0KCk7cmV0dXJuIGc8MTAmJmc+LTEwfSk7cmVzdWx0Lmxlbmd0aHx8KHJl
c3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06Zmlyc3QiKSk7dGhpcy5h
Y3RpdmF0ZShlLHJlc3VsdCl9ZWxzZSB0aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxk
cmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKCF0aGlzLmFjdGl2ZXx8Cit0aGlzLmZpcnN0KCk/
IjpsYXN0IjoiOmZpcnN0IikpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVt
ZW50LmhlaWdodCgpPHRoaXMuZWxlbWVudFtkLmZuLnByb3A/InByb3AiOiJhdHRyIl0oInNjcm9s
bEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24oZSl7dGhpcy5fdHJpZ2dlcigic2VsZWN0ZWQiLGUs
e2l0ZW06dGhpcy5hY3RpdmV9KX19KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVp
LmF1dG9jb21wbGV0ZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCww
ICsxICMjCitvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmJ1dHRv
bi5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5idXR0b24ubWluLmpzCShub25leGlzdGVudCkKKysr
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
dWkuYnV0dG9uLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisvKgorICog
alF1ZXJ5IFVJIEJ1dHRvbiAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50
eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRo
ZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xp
Y2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0J1dHRvbgorICoKKyAqIERl
cGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLndpZGdldC5qcworICov
CisoZnVuY3Rpb24oYil7dmFyIGgsaSxqLGcsbD1mdW5jdGlvbigpe3ZhciBhPWIodGhpcykuZmlu
ZCgiOnVpLWJ1dHRvbiIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLmJ1dHRvbigicmVmcmVzaCIp
fSwxKX0saz1mdW5jdGlvbihhKXt2YXIgYz1hLm5hbWUsZT1hLmZvcm0sZj1iKFtdKTtpZihjKWY9
ZT9iKGUpLmZpbmQoIltuYW1lPSciK2MrIiddIik6YigiW25hbWU9JyIrYysiJ10iLGEub3duZXJE
b2N1bWVudCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZm9ybX0pO3JldHVybiBmfTti
LndpZGdldCgidWkuYnV0dG9uIix7b3B0aW9uczp7ZGlzYWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFi
ZWw6bnVsbCxpY29uczp7cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5j
dGlvbigpe3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0b24i
KS5iaW5kKCJyZXNldC5idXR0b24iLGwpO2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWQh
PT0KKyJib29sZWFuIil0aGlzLm9wdGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50LnByb3BBdHRy
KCJkaXNhYmxlZCIpO3RoaXMuX2RldGVybWluZUJ1dHRvblR5cGUoKTt0aGlzLmhhc1RpdGxlPSEh
dGhpcy5idXR0b25FbGVtZW50LmF0dHIoInRpdGxlIik7dmFyIGE9dGhpcyxjPXRoaXMub3B0aW9u
cyxlPXRoaXMudHlwZT09PSJjaGVja2JveCJ8fHRoaXMudHlwZT09PSJyYWRpbyIsZj0idWktc3Rh
dGUtaG92ZXIiKyghZT8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIpO2lmKGMubGFiZWw9PT1udWxsKWMu
bGFiZWw9dGhpcy5idXR0b25FbGVtZW50Lmh0bWwoKTtpZih0aGlzLmVsZW1lbnQuaXMoIjpkaXNh
YmxlZCIpKWMuZGlzYWJsZWQ9dHJ1ZTt0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLWJ1
dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYXR0cigicm9s
ZSIsImJ1dHRvbiIpLmJpbmQoIm1vdXNlZW50ZXIuYnV0dG9uIixmdW5jdGlvbigpe2lmKCFjLmRp
c2FibGVkKXtiKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwordGhpcz09PWgmJmIo
dGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfX0pLmJpbmQoIm1vdXNlbGVhdmUuYnV0
dG9uIixmdW5jdGlvbigpe2MuZGlzYWJsZWR8fGIodGhpcykucmVtb3ZlQ2xhc3MoZil9KS5iaW5k
KCJjbGljay5idXR0b24iLGZ1bmN0aW9uKGQpe2lmKGMuZGlzYWJsZWQpe2QucHJldmVudERlZmF1
bHQoKTtkLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfX0pO3RoaXMuZWxlbWVudC5iaW5kKCJm
b2N1cy5idXR0b24iLGZ1bmN0aW9uKCl7YS5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0
ZS1mb2N1cyIpfSkuYmluZCgiYmx1ci5idXR0b24iLGZ1bmN0aW9uKCl7YS5idXR0b25FbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7aWYoZSl7dGhpcy5lbGVtZW50LmJpbmQo
ImNoYW5nZS5idXR0b24iLGZ1bmN0aW9uKCl7Z3x8YS5yZWZyZXNoKCl9KTt0aGlzLmJ1dHRvbkVs
ZW1lbnQuYmluZCgibW91c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24oZCl7aWYoIWMuZGlzYWJsZWQp
e2c9CitmYWxzZTtpPWQucGFnZVg7aj1kLnBhZ2VZfX0pLmJpbmQoIm1vdXNldXAuYnV0dG9uIixm
dW5jdGlvbihkKXtpZighYy5kaXNhYmxlZClpZihpIT09ZC5wYWdlWHx8aiE9PWQucGFnZVkpZz10
cnVlfSl9aWYodGhpcy50eXBlPT09ImNoZWNrYm94Iil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgi
Y2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlzYWJsZWR8fGcpcmV0dXJuIGZhbHNlO2Io
dGhpcykudG9nZ2xlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2EuYnV0dG9uRWxlbWVudC5hdHRy
KCJhcmlhLXByZXNzZWQiLGEuZWxlbWVudFswXS5jaGVja2VkKX0pO2Vsc2UgaWYodGhpcy50eXBl
PT09InJhZGlvIil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlv
bigpe2lmKGMuZGlzYWJsZWR8fGcpcmV0dXJuIGZhbHNlO2IodGhpcykuYWRkQ2xhc3MoInVpLXN0
YXRlLWFjdGl2ZSIpO2EuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7
Cit2YXIgZD1hLmVsZW1lbnRbMF07ayhkKS5ub3QoZCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIo
dGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUi
KS5hdHRyKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpfSk7ZWxzZXt0aGlzLmJ1dHRvbkVsZW1lbnQu
YmluZCgibW91c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihjLmRpc2FibGVkKXJldHVybiBm
YWxzZTtiKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtoPXRoaXM7Yihkb2N1bWVu
dCkub25lKCJtb3VzZXVwIixmdW5jdGlvbigpe2g9bnVsbH0pfSkuYmluZCgibW91c2V1cC5idXR0
b24iLGZ1bmN0aW9uKCl7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7Yih0aGlzKS5yZW1vdmVD
bGFzcygidWktc3RhdGUtYWN0aXZlIil9KS5iaW5kKCJrZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24o
ZCl7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7aWYoZC5rZXlDb2RlPT1iLnVpLmtleUNvZGUu
U1BBQ0V8fAorZC5rZXlDb2RlPT1iLnVpLmtleUNvZGUuRU5URVIpYih0aGlzKS5hZGRDbGFzcygi
dWktc3RhdGUtYWN0aXZlIil9KS5iaW5kKCJrZXl1cC5idXR0b24iLGZ1bmN0aW9uKCl7Yih0aGlz
KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuaXMo
ImEiKSYmdGhpcy5idXR0b25FbGVtZW50LmtleXVwKGZ1bmN0aW9uKGQpe2Qua2V5Q29kZT09PWIu
dWkua2V5Q29kZS5TUEFDRSYmYih0aGlzKS5jbGljaygpfSl9dGhpcy5fc2V0T3B0aW9uKCJkaXNh
YmxlZCIsYy5kaXNhYmxlZCk7dGhpcy5fcmVzZXRCdXR0b24oKX0sX2RldGVybWluZUJ1dHRvblR5
cGU6ZnVuY3Rpb24oKXt0aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tib3giKT8iY2hl
Y2tib3giOnRoaXMuZWxlbWVudC5pcygiOnJhZGlvIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMo
ImlucHV0Iik/ImlucHV0IjoiYnV0dG9uIjtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlz
LnR5cGU9PT0KKyJyYWRpbyIpe3ZhciBhPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkuZmlsdGVyKCI6
bGFzdCIpLGM9ImxhYmVsW2Zvcj0iK3RoaXMuZWxlbWVudC5hdHRyKCJpZCIpKyJdIjt0aGlzLmJ1
dHRvbkVsZW1lbnQ9YS5maW5kKGMpO2lmKCF0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RoKXthPWEu
bGVuZ3RoP2Euc2libGluZ3MoKTp0aGlzLmVsZW1lbnQuc2libGluZ3MoKTt0aGlzLmJ1dHRvbkVs
ZW1lbnQ9YS5maWx0ZXIoYyk7aWYoIXRoaXMuYnV0dG9uRWxlbWVudC5sZW5ndGgpdGhpcy5idXR0
b25FbGVtZW50PWEuZmluZChjKX10aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWhlbHBlci1oaWRk
ZW4tYWNjZXNzaWJsZSIpOyhhPXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKSkmJnRoaXMuYnV0
dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5idXR0b25FbGVtZW50
LmF0dHIoImFyaWEtcHJlc3NlZCIsYSl9ZWxzZSB0aGlzLmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVt
ZW50fSwKK3dpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbkVsZW1lbnR9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4t
YWNjZXNzaWJsZSIpO3RoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uIHVp
LXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtaG92ZXIgdWkt
c3RhdGUtYWN0aXZlICB1aS1idXR0b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVp
LWJ1dHRvbi10ZXh0LWljb25zIHVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24t
dGV4dC1pY29uLXNlY29uZGFyeSB1aS1idXR0b24tdGV4dC1vbmx5IikucmVtb3ZlQXR0cigicm9s
ZSIpLnJlbW92ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZp
bmQoIi51aS1idXR0b24tdGV4dCIpLmh0bWwoKSk7dGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25F
bGVtZW50LnJlbW92ZUF0dHIoInRpdGxlIik7CitiLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5j
YWxsKHRoaXMpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYyl7Yi5XaWRnZXQucHJvdG90eXBlLl9z
ZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGE9PT0iZGlzYWJsZWQiKWM/dGhpcy5l
bGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk6dGhpcy5lbGVtZW50LnByb3BBdHRyKCJk
aXNhYmxlZCIsZmFsc2UpO2Vsc2UgdGhpcy5fcmVzZXRCdXR0b24oKX0scmVmcmVzaDpmdW5jdGlv
bigpe3ZhciBhPXRoaXMuZWxlbWVudC5pcygiOmRpc2FibGVkIik7YSE9PXRoaXMub3B0aW9ucy5k
aXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsYSk7aWYodGhpcy50eXBlPT09InJh
ZGlvIilrKHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe2IodGhpcykuaXMoIjpjaGVj
a2VkIik/Yih0aGlzKS5idXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUi
KS5hdHRyKCJhcmlhLXByZXNzZWQiLAorInRydWUiKTpiKHRoaXMpLmJ1dHRvbigid2lkZ2V0Iiku
cmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNl
Iil9KTtlbHNlIGlmKHRoaXMudHlwZT09PSJjaGVja2JveCIpdGhpcy5lbGVtZW50LmlzKCI6Y2hl
Y2tlZCIpP3RoaXMuYnV0dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0
cigiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpOnRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygi
dWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0sX3Jlc2V0QnV0
dG9uOmZ1bmN0aW9uKCl7aWYodGhpcy50eXBlPT09ImlucHV0Iil0aGlzLm9wdGlvbnMubGFiZWwm
JnRoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKTtlbHNle3ZhciBhPXRoaXMuYnV0
dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWlj
b24tb25seSB1aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkg
dWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIpLAorYz1i
KCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9w
dGlvbnMubGFiZWwpLmFwcGVuZFRvKGEuZW1wdHkoKSkudGV4dCgpLGU9dGhpcy5vcHRpb25zLmlj
b25zLGY9ZS5wcmltYXJ5JiZlLnNlY29uZGFyeSxkPVtdO2lmKGUucHJpbWFyeXx8ZS5zZWNvbmRh
cnkpe2lmKHRoaXMub3B0aW9ucy50ZXh0KWQucHVzaCgidWktYnV0dG9uLXRleHQtaWNvbiIrKGY/
InMiOmUucHJpbWFyeT8iLXByaW1hcnkiOiItc2Vjb25kYXJ5IikpO2UucHJpbWFyeSYmYS5wcmVw
ZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tcHJpbWFyeSB1aS1pY29uICIrZS5wcmlt
YXJ5KyInPjwvc3Bhbj4iKTtlLnNlY29uZGFyeSYmYS5hcHBlbmQoIjxzcGFuIGNsYXNzPSd1aS1i
dXR0b24taWNvbi1zZWNvbmRhcnkgdWktaWNvbiAiK2Uuc2Vjb25kYXJ5KyInPjwvc3Bhbj4iKTtp
ZighdGhpcy5vcHRpb25zLnRleHQpe2QucHVzaChmPyJ1aS1idXR0b24taWNvbnMtb25seSI6Cisi
dWktYnV0dG9uLWljb24tb25seSIpO3RoaXMuaGFzVGl0bGV8fGEuYXR0cigidGl0bGUiLGMpfX1l
bHNlIGQucHVzaCgidWktYnV0dG9uLXRleHQtb25seSIpO2EuYWRkQ2xhc3MoZC5qb2luKCIgIikp
fX19KTtiLndpZGdldCgidWkuYnV0dG9uc2V0Iix7b3B0aW9uczp7aXRlbXM6IjpidXR0b24sIDpz
dWJtaXQsIDpyZXNldCwgOmNoZWNrYm94LCA6cmFkaW8sIGEsIDpkYXRhKGJ1dHRvbikifSxfY3Jl
YXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b25zZXQiKX0sX2lu
aXQ6ZnVuY3Rpb24oKXt0aGlzLnJlZnJlc2goKX0sX3NldE9wdGlvbjpmdW5jdGlvbihhLGMpe2E9
PT0iZGlzYWJsZWQiJiZ0aGlzLmJ1dHRvbnMuYnV0dG9uKCJvcHRpb24iLGEsYyk7Yi5XaWRnZXQu
cHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyZWZyZXNoOmZ1bmN0
aW9uKCl7dmFyIGE9dGhpcy5lbGVtZW50LmNzcygiZGlyZWN0aW9uIik9PT0KKyJsdHIiO3RoaXMu
YnV0dG9ucz10aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpbHRlcigiOnVp
LWJ1dHRvbiIpLmJ1dHRvbigicmVmcmVzaCIpLmVuZCgpLm5vdCgiOnVpLWJ1dHRvbiIpLmJ1dHRv
bigpLmVuZCgpLm1hcChmdW5jdGlvbigpe3JldHVybiBiKHRoaXMpLmJ1dHRvbigid2lkZ2V0Iilb
MF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXIt
cmlnaHQiKS5maWx0ZXIoIjpmaXJzdCIpLmFkZENsYXNzKGE/InVpLWNvcm5lci1sZWZ0IjoidWkt
Y29ybmVyLXJpZ2h0IikuZW5kKCkuZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKGE/InVpLWNvcm5l
ci1yaWdodCI6InVpLWNvcm5lci1sZWZ0IikuZW5kKCkuZW5kKCl9LGRlc3Ryb3k6ZnVuY3Rpb24o
KXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWJ1dHRvbnNldCIpO3RoaXMuYnV0dG9ucy5t
YXAoZnVuY3Rpb24oKXtyZXR1cm4gYih0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3Zl
Q2xhc3MoInVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmJ1dHRvbigiZGVz
dHJveSIpOworYi5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVy
eSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmJ1dHRvbi5taW4uanMKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LnVpLmNvcmUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuY29yZS5taW4uanMJ
KG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE4IEBACisvKiEKKyAqIGpRdWVyeSBVSSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJCisgKi8KKyhm
dW5jdGlvbihjLGope2Z1bmN0aW9uIGsoYSxiKXt2YXIgZD1hLm5vZGVOYW1lLnRvTG93ZXJDYXNl
KCk7aWYoImFyZWEiPT09ZCl7Yj1hLnBhcmVudE5vZGU7ZD1iLm5hbWU7aWYoIWEuaHJlZnx8IWR8
fGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJtYXAiKXJldHVybiBmYWxzZTthPWMoImltZ1t1
c2VtYXA9IyIrZCsiXSIpWzBdO3JldHVybiEhYSYmbChhKX1yZXR1cm4oL2lucHV0fHNlbGVjdHx0
ZXh0YXJlYXxidXR0b258b2JqZWN0Ly50ZXN0KGQpPyFhLmRpc2FibGVkOiJhIj09ZD9hLmhyZWZ8
fGI6YikmJmwoYSl9ZnVuY3Rpb24gbChhKXtyZXR1cm4hYyhhKS5wYXJlbnRzKCkuYW5kU2VsZigp
LmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBjLmN1ckNTUyh0aGlzLCJ2aXNpYmlsaXR5Iik9PT0i
aGlkZGVuInx8Yy5leHByLmZpbHRlcnMuaGlkZGVuKHRoaXMpfSkubGVuZ3RofWMudWk9Yy51aXx8
e307aWYoIWMudWkudmVyc2lvbil7Yy5leHRlbmQoYy51aSx7dmVyc2lvbjoiMS44LjE1IiwKK2tl
eUNvZGU6e0FMVDoxOCxCQUNLU1BBQ0U6OCxDQVBTX0xPQ0s6MjAsQ09NTUE6MTg4LENPTU1BTkQ6
OTEsQ09NTUFORF9MRUZUOjkxLENPTU1BTkRfUklHSFQ6OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYs
RE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6
MzcsTUVOVTo5MyxOVU1QQURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklE
RToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFD
VDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTSElGVDox
NixTUEFDRTozMixUQUI6OSxVUDozOCxXSU5ET1dTOjkxfX0pO2MuZm4uZXh0ZW5kKHtwcm9wQXR0
cjpjLmZuLnByb3B8fGMuZm4uYXR0cixfZm9jdXM6Yy5mbi5mb2N1cyxmb2N1czpmdW5jdGlvbihh
LGIpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBk
PQordGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyhkKS5mb2N1cygpO2ImJmIuY2FsbChkKX0s
YSl9KTp0aGlzLl9mb2N1cy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHNjcm9sbFBhcmVudDpmdW5j
dGlvbigpe3ZhciBhO2E9Yy5icm93c2VyLm1zaWUmJi8oc3RhdGljfHJlbGF0aXZlKS8udGVzdCh0
aGlzLmNzcygicG9zaXRpb24iKSl8fC9hYnNvbHV0ZS8udGVzdCh0aGlzLmNzcygicG9zaXRpb24i
KSk/dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhyZWxhdGl2ZXxhYnNv
bHV0ZXxmaXhlZCkvLnRlc3QoYy5jdXJDU1ModGhpcywicG9zaXRpb24iLDEpKSYmLyhhdXRvfHNj
cm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZsb3ciLDEpK2MuY3VyQ1NTKHRoaXMsIm92
ZXJmbG93LXkiLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApOnRoaXMu
cGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybi8oYXV0b3xzY3JvbGwpLy50ZXN0KGMu
Y3VyQ1NTKHRoaXMsCisib3ZlcmZsb3ciLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEp
K2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApO3JldHVybi9maXhlZC8udGVz
dCh0aGlzLmNzcygicG9zaXRpb24iKSl8fCFhLmxlbmd0aD9jKGRvY3VtZW50KTphfSx6SW5kZXg6
ZnVuY3Rpb24oYSl7aWYoYSE9PWopcmV0dXJuIHRoaXMuY3NzKCJ6SW5kZXgiLGEpO2lmKHRoaXMu
bGVuZ3RoKXthPWModGhpc1swXSk7Zm9yKHZhciBiO2EubGVuZ3RoJiZhWzBdIT09ZG9jdW1lbnQ7
KXtiPWEuY3NzKCJwb3NpdGlvbiIpO2lmKGI9PT0iYWJzb2x1dGUifHxiPT09InJlbGF0aXZlInx8
Yj09PSJmaXhlZCIpe2I9cGFyc2VJbnQoYS5jc3MoInpJbmRleCIpLDEwKTtpZighaXNOYU4oYikm
JmIhPT0wKXJldHVybiBifWE9YS5wYXJlbnQoKX19cmV0dXJuIDB9LGRpc2FibGVTZWxlY3Rpb246
ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iaW5kKChjLnN1cHBvcnQuc2VsZWN0c3RhcnQ/InNlbGVj
dHN0YXJ0IjoKKyJtb3VzZWRvd24iKSsiLnVpLWRpc2FibGVTZWxlY3Rpb24iLGZ1bmN0aW9uKGEp
e2EucHJldmVudERlZmF1bHQoKX0pfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy51bmJpbmQoIi51aS1kaXNhYmxlU2VsZWN0aW9uIil9fSk7Yy5lYWNoKFsiV2lkdGgiLCJI
ZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZixnLG0sbil7Yy5lYWNoKGUsZnVuY3Rp
b24oKXtnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsInBhZGRpbmciK3RoaXMsdHJ1ZSkpfHwwO2lm
KG0pZy09cGFyc2VGbG9hdChjLmN1ckNTUyhmLCJib3JkZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8
fDA7aWYobilnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsIm1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9
KTtyZXR1cm4gZ312YXIgZT1iPT09IldpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90
dG9tIl0saD1iLnRvTG93ZXJDYXNlKCksaT17aW5uZXJXaWR0aDpjLmZuLmlubmVyV2lkdGgsaW5u
ZXJIZWlnaHQ6Yy5mbi5pbm5lckhlaWdodCwKK291dGVyV2lkdGg6Yy5mbi5vdXRlcldpZHRoLG91
dGVySGVpZ2h0OmMuZm4ub3V0ZXJIZWlnaHR9O2MuZm5bImlubmVyIitiXT1mdW5jdGlvbihmKXtp
ZihmPT09ailyZXR1cm4gaVsiaW5uZXIiK2JdLmNhbGwodGhpcyk7cmV0dXJuIHRoaXMuZWFjaChm
dW5jdGlvbigpe2ModGhpcykuY3NzKGgsZCh0aGlzLGYpKyJweCIpfSl9O2MuZm5bIm91dGVyIiti
XT1mdW5jdGlvbihmLGcpe2lmKHR5cGVvZiBmIT09Im51bWJlciIpcmV0dXJuIGlbIm91dGVyIiti
XS5jYWxsKHRoaXMsZik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2ModGhpcykuY3NzKGgs
ZCh0aGlzLGYsdHJ1ZSxnKSsicHgiKX0pfX0pO2MuZXh0ZW5kKGMuZXhwclsiOiJdLHtkYXRhOmZ1
bmN0aW9uKGEsYixkKXtyZXR1cm4hIWMuZGF0YShhLGRbM10pfSxmb2N1c2FibGU6ZnVuY3Rpb24o
YSl7cmV0dXJuIGsoYSwhaXNOYU4oYy5hdHRyKGEsInRhYmluZGV4IikpKX0sdGFiYmFibGU6ZnVu
Y3Rpb24oYSl7dmFyIGI9Yy5hdHRyKGEsCisidGFiaW5kZXgiKSxkPWlzTmFOKGIpO3JldHVybihk
fHxiPj0wKSYmayhhLCFkKX19KTtjKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuYm9keSxiPWEu
YXBwZW5kQ2hpbGQoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Yy5leHRlbmQoYi5z
dHlsZSx7bWluSGVpZ2h0OiIxMDBweCIsaGVpZ2h0OiJhdXRvIixwYWRkaW5nOjAsYm9yZGVyV2lk
dGg6MH0pO2Muc3VwcG9ydC5taW5IZWlnaHQ9Yi5vZmZzZXRIZWlnaHQ9PT0xMDA7Yy5zdXBwb3J0
LnNlbGVjdHN0YXJ0PSJvbnNlbGVjdHN0YXJ0ImluIGI7YS5yZW1vdmVDaGlsZChiKS5zdHlsZS5k
aXNwbGF5PSJub25lIn0pO2MuZXh0ZW5kKGMudWkse3BsdWdpbjp7YWRkOmZ1bmN0aW9uKGEsYixk
KXthPWMudWlbYV0ucHJvdG90eXBlO2Zvcih2YXIgZSBpbiBkKXthLnBsdWdpbnNbZV09YS5wbHVn
aW5zW2VdfHxbXTthLnBsdWdpbnNbZV0ucHVzaChbYixkW2VdXSl9fSxjYWxsOmZ1bmN0aW9uKGEs
YixkKXtpZigoYj1hLnBsdWdpbnNbYl0pJiYKK2EuZWxlbWVudFswXS5wYXJlbnROb2RlKWZvcih2
YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWEub3B0aW9uc1tiW2VdWzBdXSYmYltlXVsxXS5hcHBseShh
LmVsZW1lbnQsZCl9fSxjb250YWluczpmdW5jdGlvbihhLGIpe3JldHVybiBkb2N1bWVudC5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2OmEhPT1i
JiZhLmNvbnRhaW5zKGIpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oYSxiKXtpZihjKGEpLmNzcygib3Zl
cmZsb3ciKT09PSJoaWRkZW4iKXJldHVybiBmYWxzZTtiPWImJmI9PT0ibGVmdCI/InNjcm9sbExl
ZnQiOiJzY3JvbGxUb3AiO3ZhciBkPWZhbHNlO2lmKGFbYl0+MClyZXR1cm4gdHJ1ZTthW2JdPTE7
ZD1hW2JdPjA7YVtiXT0wO3JldHVybiBkfSxpc092ZXJBeGlzOmZ1bmN0aW9uKGEsYixkKXtyZXR1
cm4gYT5iJiZhPGIrZH0saXNPdmVyOmZ1bmN0aW9uKGEsYixkLGUsaCxpKXtyZXR1cm4gYy51aS5p
c092ZXJBeGlzKGEsZCxoKSYmCitjLnVpLmlzT3ZlckF4aXMoYixlLGkpfX0pfX0pKGpRdWVyeSk7
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLmRhdGVwaWNrZXIubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGF0ZXBpY2tlci5t
aW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kYXRlcGlja2VyLm1pbi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDgzIEBACisvKgorICogalF1ZXJ5IFVJIERhdGVwaWNrZXIgMS44LjE1Cisg
KgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fi
b3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGlj
ZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3Mu
anF1ZXJ5LmNvbS9VSS9EYXRlcGlja2VyCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS5j
b3JlLmpzCisgKi8KKyhmdW5jdGlvbihkLEMpe2Z1bmN0aW9uIE0oKXt0aGlzLmRlYnVnPWZhbHNl
O3RoaXMuX2N1ckluc3Q9bnVsbDt0aGlzLl9rZXlFdmVudD1mYWxzZTt0aGlzLl9kaXNhYmxlZElu
cHV0cz1bXTt0aGlzLl9pbkRpYWxvZz10aGlzLl9kYXRlcGlja2VyU2hvd2luZz1mYWxzZTt0aGlz
Ll9tYWluRGl2SWQ9InVpLWRhdGVwaWNrZXItZGl2Ijt0aGlzLl9pbmxpbmVDbGFzcz0idWktZGF0
ZXBpY2tlci1pbmxpbmUiO3RoaXMuX2FwcGVuZENsYXNzPSJ1aS1kYXRlcGlja2VyLWFwcGVuZCI7
dGhpcy5fdHJpZ2dlckNsYXNzPSJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiO3RoaXMuX2RpYWxvZ0Ns
YXNzPSJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7dGhpcy5fZGlzYWJsZUNsYXNzPSJ1aS1kYXRlcGlj
a2VyLWRpc2FibGVkIjt0aGlzLl91bnNlbGVjdGFibGVDbGFzcz0idWktZGF0ZXBpY2tlci11bnNl
bGVjdGFibGUiO3RoaXMuX2N1cnJlbnRDbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSI7
dGhpcy5fZGF5T3ZlckNsYXNzPQorInVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIiO3RoaXMu
cmVnaW9uYWw9W107dGhpcy5yZWdpb25hbFsiIl09e2Nsb3NlVGV4dDoiRG9uZSIscHJldlRleHQ6
IlByZXYiLG5leHRUZXh0OiJOZXh0IixjdXJyZW50VGV4dDoiVG9kYXkiLG1vbnRoTmFtZXM6WyJK
YW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJB
dWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRo
TmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1
ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsiU3VuZGF5IiwiTW9uZGF5Iiwi
VHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlO
YW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5
TmFtZXNNaW46WyJTdSIsCisiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sd2Vla0hlYWRl
cjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTowLGlzUlRMOmZhbHNlLHNob3dN
b250aEFmdGVyWWVhcjpmYWxzZSx5ZWFyU3VmZml4OiIifTt0aGlzLl9kZWZhdWx0cz17c2hvd09u
OiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6e30sZGVmYXVsdERhdGU6bnVs
bCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9uSW1hZ2U6IiIsYnV0dG9uSW1h
Z2VPbmx5OmZhbHNlLGhpZGVJZk5vUHJldk5leHQ6ZmFsc2UsbmF2aWdhdGlvbkFzRGF0ZUZvcm1h
dDpmYWxzZSxnb3RvQ3VycmVudDpmYWxzZSxjaGFuZ2VNb250aDpmYWxzZSxjaGFuZ2VZZWFyOmZh
bHNlLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250aHM6ZmFsc2Usc2VsZWN0T3Ro
ZXJNb250aHM6ZmFsc2Usc2hvd1dlZWs6ZmFsc2UsY2FsY3VsYXRlV2Vlazp0aGlzLmlzbzg2MDFX
ZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIiwKK21pbkRhdGU6bnVsbCxtYXhEYXRlOm51bGwsZHVy
YXRpb246ImZhc3QiLGJlZm9yZVNob3dEYXk6bnVsbCxiZWZvcmVTaG93Om51bGwsb25TZWxlY3Q6
bnVsbCxvbkNoYW5nZU1vbnRoWWVhcjpudWxsLG9uQ2xvc2U6bnVsbCxudW1iZXJPZk1vbnRoczox
LHNob3dDdXJyZW50QXRQb3M6MCxzdGVwTW9udGhzOjEsc3RlcEJpZ01vbnRoczoxMixhbHRGaWVs
ZDoiIixhbHRGb3JtYXQ6IiIsY29uc3RyYWluSW5wdXQ6dHJ1ZSxzaG93QnV0dG9uUGFuZWw6ZmFs
c2UsYXV0b1NpemU6ZmFsc2UsZGlzYWJsZWQ6ZmFsc2V9O2QuZXh0ZW5kKHRoaXMuX2RlZmF1bHRz
LHRoaXMucmVnaW9uYWxbIiJdKTt0aGlzLmRwRGl2PU4oZCgnPGRpdiBpZD0iJyt0aGlzLl9tYWlu
RGl2SWQrJyIgY2xhc3M9InVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50
IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48L2Rpdj4nKSl9ZnVuY3Rpb24gTihh
KXtyZXR1cm4gYS5iaW5kKCJtb3VzZW91dCIsCitmdW5jdGlvbihiKXtiPWQoYi50YXJnZXQpLmNs
b3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwg
LnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2IubGVuZ3RoJiZiLnJlbW92ZUNsYXNzKCJ1
aS1zdGF0ZS1ob3ZlciB1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgdWktZGF0ZXBpY2tlci1uZXh0
LWhvdmVyIil9KS5iaW5kKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKGIpe2I9ZChiLnRhcmdldCkuY2xv
c2VzdCgiYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0LCAu
dWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIik7aWYoIShkLmRhdGVwaWNrZXIuX2lzRGlzYWJs
ZWREYXRlcGlja2VyKEouaW5saW5lP2EucGFyZW50KClbMF06Si5pbnB1dFswXSl8fCFiLmxlbmd0
aCkpe2IucGFyZW50cygiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKS5maW5kKCJhIikucmVtb3Zl
Q2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CitiLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpO2Iu
aGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldiIpJiZiLmFkZENsYXNzKCJ1aS1kYXRlcGlja2Vy
LXByZXYtaG92ZXIiKTtiLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQiKSYmYi5hZGRDbGFz
cygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9fSl9ZnVuY3Rpb24gSChhLGIpe2QuZXh0ZW5k
KGEsYik7Zm9yKHZhciBjIGluIGIpaWYoYltjXT09bnVsbHx8YltjXT09QylhW2NdPWJbY107cmV0
dXJuIGF9ZC5leHRlbmQoZC51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lvbjoiMS44LjE1In19KTt2YXIg
Qj0obmV3IERhdGUpLmdldFRpbWUoKSxKO2QuZXh0ZW5kKE0ucHJvdG90eXBlLHttYXJrZXJDbGFz
c05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxsb2c6ZnVuY3Rpb24oKXt0aGlzLmRlYnVn
JiZjb25zb2xlLmxvZy5hcHBseSgiIixhcmd1bWVudHMpfSxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5j
dGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSwKK3NldERlZmF1bHRzOmZ1bmN0aW9uKGEpe0godGhp
cy5fZGVmYXVsdHMsYXx8e30pO3JldHVybiB0aGlzfSxfYXR0YWNoRGF0ZXBpY2tlcjpmdW5jdGlv
bihhLGIpe3ZhciBjPW51bGw7Zm9yKHZhciBlIGluIHRoaXMuX2RlZmF1bHRzKXt2YXIgZj1hLmdl
dEF0dHJpYnV0ZSgiZGF0ZToiK2UpO2lmKGYpe2M9Y3x8e307dHJ5e2NbZV09ZXZhbChmKX1jYXRj
aChoKXtjW2VdPWZ9fX1lPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtmPWU9PSJkaXYifHxlPT0i
c3BhbiI7aWYoIWEuaWQpe3RoaXMudXVpZCs9MTthLmlkPSJkcCIrdGhpcy51dWlkfXZhciBpPXRo
aXMuX25ld0luc3QoZChhKSxmKTtpLnNldHRpbmdzPWQuZXh0ZW5kKHt9LGJ8fHt9LGN8fHt9KTtp
ZihlPT0iaW5wdXQiKXRoaXMuX2Nvbm5lY3REYXRlcGlja2VyKGEsaSk7ZWxzZSBmJiZ0aGlzLl9p
bmxpbmVEYXRlcGlja2VyKGEsaSl9LF9uZXdJbnN0OmZ1bmN0aW9uKGEsYil7cmV0dXJue2lkOmFb
MF0uaWQucmVwbGFjZSgvKFteQS1aYS16MC05Xy1dKS9nLAorIlxcXFwkMSIpLGlucHV0OmEsc2Vs
ZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFyOjAsZHJhd01vbnRoOjAsZHJh
d1llYXI6MCxpbmxpbmU6YixkcERpdjohYj90aGlzLmRwRGl2Ok4oZCgnPGRpdiBjbGFzcz0iJyt0
aGlzLl9pbmxpbmVDbGFzcysnIHVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250
ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48L2Rpdj4nKSl9fSxfY29ubmVj
dERhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kKGEpO2IuYXBwZW5kPWQoW10pO2IudHJp
Z2dlcj1kKFtdKTtpZighYy5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3RoaXMuX2F0
dGFjaG1lbnRzKGMsYik7Yy5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkua2V5ZG93bih0
aGlzLl9kb0tleURvd24pLmtleXByZXNzKHRoaXMuX2RvS2V5UHJlc3MpLmtleXVwKHRoaXMuX2Rv
S2V5VXApLmJpbmQoInNldERhdGEuZGF0ZXBpY2tlciIsCitmdW5jdGlvbihlLGYsaCl7Yi5zZXR0
aW5nc1tmXT1ofSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihlLGYpe3JldHVy
biB0aGlzLl9nZXQoYixmKX0pO3RoaXMuX2F1dG9TaXplKGIpO2QuZGF0YShhLCJkYXRlcGlja2Vy
IixiKTtiLnNldHRpbmdzLmRpc2FibGVkJiZ0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlcihhKX19LF9h
dHRhY2htZW50czpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldChiLCJhcHBlbmRUZXh0Iiks
ZT10aGlzLl9nZXQoYiwiaXNSVEwiKTtiLmFwcGVuZCYmYi5hcHBlbmQucmVtb3ZlKCk7aWYoYyl7
Yi5hcHBlbmQ9ZCgnPHNwYW4gY2xhc3M9IicrdGhpcy5fYXBwZW5kQ2xhc3MrJyI+JytjKyI8L3Nw
YW4+Iik7YVtlPyJiZWZvcmUiOiJhZnRlciJdKGIuYXBwZW5kKX1hLnVuYmluZCgiZm9jdXMiLHRo
aXMuX3Nob3dEYXRlcGlja2VyKTtiLnRyaWdnZXImJmIudHJpZ2dlci5yZW1vdmUoKTtjPXRoaXMu
X2dldChiLCJzaG93T24iKTtpZihjPT0KKyJmb2N1cyJ8fGM9PSJib3RoIilhLmZvY3VzKHRoaXMu
X3Nob3dEYXRlcGlja2VyKTtpZihjPT0iYnV0dG9uInx8Yz09ImJvdGgiKXtjPXRoaXMuX2dldChi
LCJidXR0b25UZXh0Iik7dmFyIGY9dGhpcy5fZ2V0KGIsImJ1dHRvbkltYWdlIik7Yi50cmlnZ2Vy
PWQodGhpcy5fZ2V0KGIsImJ1dHRvbkltYWdlT25seSIpP2QoIjxpbWcvPiIpLmFkZENsYXNzKHRo
aXMuX3RyaWdnZXJDbGFzcykuYXR0cih7c3JjOmYsYWx0OmMsdGl0bGU6Y30pOmQoJzxidXR0b24g
dHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3MpLmh0
bWwoZj09IiI/YzpkKCI8aW1nLz4iKS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSkpKTthW2U/
ImJlZm9yZSI6ImFmdGVyIl0oYi50cmlnZ2VyKTtiLnRyaWdnZXIuY2xpY2soZnVuY3Rpb24oKXtk
LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD09
YVswXT9kLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6CitkLmRhdGVwaWNrZXIuX3Nob3dE
YXRlcGlja2VyKGFbMF0pO3JldHVybiBmYWxzZX0pfX0sX2F1dG9TaXplOmZ1bmN0aW9uKGEpe2lm
KHRoaXMuX2dldChhLCJhdXRvU2l6ZSIpJiYhYS5pbmxpbmUpe3ZhciBiPW5ldyBEYXRlKDIwMDks
MTEsMjApLGM9dGhpcy5fZ2V0KGEsImRhdGVGb3JtYXQiKTtpZihjLm1hdGNoKC9bRE1dLykpe3Zh
ciBlPWZ1bmN0aW9uKGYpe2Zvcih2YXIgaD0wLGk9MCxnPTA7ZzxmLmxlbmd0aDtnKyspaWYoZltn
XS5sZW5ndGg+aCl7aD1mW2ddLmxlbmd0aDtpPWd9cmV0dXJuIGl9O2Iuc2V0TW9udGgoZSh0aGlz
Ll9nZXQoYSxjLm1hdGNoKC9NTS8pPyJtb250aE5hbWVzIjoibW9udGhOYW1lc1Nob3J0IikpKTti
LnNldERhdGUoZSh0aGlzLl9nZXQoYSxjLm1hdGNoKC9ERC8pPyJkYXlOYW1lcyI6ImRheU5hbWVz
U2hvcnQiKSkrMjAtYi5nZXREYXkoKSl9YS5pbnB1dC5hdHRyKCJzaXplIix0aGlzLl9mb3JtYXRE
YXRlKGEsYikubGVuZ3RoKX19LF9pbmxpbmVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsCitiKXt2YXIg
Yz1kKGEpO2lmKCFjLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7Yy5hZGRDbGFzcyh0
aGlzLm1hcmtlckNsYXNzTmFtZSkuYXBwZW5kKGIuZHBEaXYpLmJpbmQoInNldERhdGEuZGF0ZXBp
Y2tlciIsZnVuY3Rpb24oZSxmLGgpe2Iuc2V0dGluZ3NbZl09aH0pLmJpbmQoImdldERhdGEuZGF0
ZXBpY2tlciIsZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5fZ2V0KGIsZil9KTtkLmRhdGEoYSwi
ZGF0ZXBpY2tlciIsYik7dGhpcy5fc2V0RGF0ZShiLHRoaXMuX2dldERlZmF1bHREYXRlKGIpLHRy
dWUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGIpO2Iu
c2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKGEpO2IuZHBEaXYuY3Nz
KCJkaXNwbGF5IiwiYmxvY2siKX19LF9kaWFsb2dEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYixjLGUs
Zil7YT10aGlzLl9kaWFsb2dJbnN0O2lmKCFhKXt0aGlzLnV1aWQrPQorMTt0aGlzLl9kaWFsb2dJ
bnB1dD1kKCc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicrKCJkcCIrdGhpcy51dWlkKSsnIiBzdHls
ZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lkdGg6IDBweDsgei1pbmRleDog
LTEwOyIvPicpO3RoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKTtkKCJi
b2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KTthPXRoaXMuX2RpYWxvZ0luc3Q9dGhpcy5f
bmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCxmYWxzZSk7YS5zZXR0aW5ncz17fTtkLmRhdGEodGhp
cy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGEpfUgoYS5zZXR0aW5ncyxlfHx7fSk7Yj1i
JiZiLmNvbnN0cnVjdG9yPT1EYXRlP3RoaXMuX2Zvcm1hdERhdGUoYSxiKTpiO3RoaXMuX2RpYWxv
Z0lucHV0LnZhbChiKTt0aGlzLl9wb3M9Zj9mLmxlbmd0aD9mOltmLnBhZ2VYLGYucGFnZVldOm51
bGw7aWYoIXRoaXMuX3Bvcyl0aGlzLl9wb3M9W2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGll
bnRXaWR0aC8KKzItMTAwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9j
dW1lbnQuYm9keS5zY3JvbGxMZWZ0KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVp
Z2h0LzItMTUwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5i
b2R5LnNjcm9sbFRvcCldO3RoaXMuX2RpYWxvZ0lucHV0LmNzcygibGVmdCIsdGhpcy5fcG9zWzBd
KzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7YS5zZXR0aW5ncy5vblNlbGVj
dD1jO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dD
bGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pO2QuYmxvY2tV
SSYmZC5ibG9ja1VJKHRoaXMuZHBEaXYpO2QuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0
ZXBpY2tlciIsYSk7cmV0dXJuIHRoaXN9LF9kZXN0cm95RGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2
YXIgYj0KK2QoYSksYz1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3ModGhpcy5t
YXJrZXJDbGFzc05hbWUpKXt2YXIgZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7ZC5yZW1vdmVE
YXRhKGEsImRhdGVwaWNrZXIiKTtpZihlPT0iaW5wdXQiKXtjLmFwcGVuZC5yZW1vdmUoKTtjLnRy
aWdnZXIucmVtb3ZlKCk7Yi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkudW5iaW5k
KCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNrZXIpLnVuYmluZCgia2V5ZG93biIsdGhpcy5fZG9L
ZXlEb3duKS51bmJpbmQoImtleXByZXNzIix0aGlzLl9kb0tleVByZXNzKS51bmJpbmQoImtleXVw
Iix0aGlzLl9kb0tleVVwKX1lbHNlIGlmKGU9PSJkaXYifHxlPT0ic3BhbiIpYi5yZW1vdmVDbGFz
cyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuZW1wdHkoKX19LF9lbmFibGVEYXRlcGlja2VyOmZ1bmN0
aW9uKGEpe3ZhciBiPWQoYSksYz1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3Mo
dGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgZT0KK2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtp
ZihlPT0iaW5wdXQiKXthLmRpc2FibGVkPWZhbHNlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIp
LmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPWZhbHNlfSkuZW5kKCkuZmlsdGVyKCJpbWci
KS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSl9ZWxzZSBpZihlPT0iZGl2Inx8ZT09InNw
YW4iKXtiPWIuY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNsYXNzKTtiLmNoaWxkcmVuKCkucmVt
b3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Yi5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tl
ci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLnJlbW92ZUF0dHIoImRpc2FibGVk
Iil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9ZC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsZnVuY3Rp
b24oZil7cmV0dXJuIGY9PWE/bnVsbDpmfSl9fSxfZGlzYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24o
YSl7dmFyIGI9ZChhKSxjPWQuZGF0YShhLAorImRhdGVwaWNrZXIiKTtpZihiLmhhc0NsYXNzKHRo
aXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGU9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGU9
PSJpbnB1dCIpe2EuZGlzYWJsZWQ9dHJ1ZTtjLnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNo
KGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD10cnVlfSkuZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Mo
e29wYWNpdHk6IjAuNSIsY3Vyc29yOiJkZWZhdWx0In0pfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJz
cGFuIil7Yj1iLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Yi5jaGlsZHJlbigpLmFk
ZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXIt
bW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5hdHRyKCJkaXNhYmxlZCIsImRpc2Fi
bGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9ZC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsZnVu
Y3Rpb24oZil7cmV0dXJuIGY9PQorYT9udWxsOmZ9KTt0aGlzLl9kaXNhYmxlZElucHV0c1t0aGlz
Ll9kaXNhYmxlZElucHV0cy5sZW5ndGhdPWF9fSxfaXNEaXNhYmxlZERhdGVwaWNrZXI6ZnVuY3Rp
b24oYSl7aWYoIWEpcmV0dXJuIGZhbHNlO2Zvcih2YXIgYj0wO2I8dGhpcy5fZGlzYWJsZWRJbnB1
dHMubGVuZ3RoO2IrKylpZih0aGlzLl9kaXNhYmxlZElucHV0c1tiXT09YSlyZXR1cm4gdHJ1ZTty
ZXR1cm4gZmFsc2V9LF9nZXRJbnN0OmZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gZC5kYXRhKGEsImRh
dGVwaWNrZXIiKX1jYXRjaChiKXt0aHJvdyJNaXNzaW5nIGluc3RhbmNlIGRhdGEgZm9yIHRoaXMg
ZGF0ZXBpY2tlciI7fX0sX29wdGlvbkRhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPXRo
aXMuX2dldEluc3QoYSk7aWYoYXJndW1lbnRzLmxlbmd0aD09MiYmdHlwZW9mIGI9PSJzdHJpbmci
KXJldHVybiBiPT0iZGVmYXVsdHMiP2QuZXh0ZW5kKHt9LGQuZGF0ZXBpY2tlci5fZGVmYXVsdHMp
OmU/Yj09ImFsbCI/CitkLmV4dGVuZCh7fSxlLnNldHRpbmdzKTp0aGlzLl9nZXQoZSxiKTpudWxs
O3ZhciBmPWJ8fHt9O2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7Zj17fTtmW2JdPWN9aWYoZSl7dGhp
cy5fY3VySW5zdD09ZSYmdGhpcy5faGlkZURhdGVwaWNrZXIoKTt2YXIgaD10aGlzLl9nZXREYXRl
RGF0ZXBpY2tlcihhLHRydWUpLGk9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtaW4iKSxnPXRoaXMu
X2dldE1pbk1heERhdGUoZSwibWF4Iik7SChlLnNldHRpbmdzLGYpO2lmKGkhPT1udWxsJiZmLmRh
dGVGb3JtYXQhPT1DJiZmLm1pbkRhdGU9PT1DKWUuc2V0dGluZ3MubWluRGF0ZT10aGlzLl9mb3Jt
YXREYXRlKGUsaSk7aWYoZyE9PW51bGwmJmYuZGF0ZUZvcm1hdCE9PUMmJmYubWF4RGF0ZT09PUMp
ZS5zZXR0aW5ncy5tYXhEYXRlPXRoaXMuX2Zvcm1hdERhdGUoZSxnKTt0aGlzLl9hdHRhY2htZW50
cyhkKGEpLGUpO3RoaXMuX2F1dG9TaXplKGUpO3RoaXMuX3NldERhdGUoZSxoKTt0aGlzLl91cGRh
dGVBbHRlcm5hdGUoZSk7Cit0aGlzLl91cGRhdGVEYXRlcGlja2VyKGUpfX0sX2NoYW5nZURhdGVw
aWNrZXI6ZnVuY3Rpb24oYSxiLGMpe3RoaXMuX29wdGlvbkRhdGVwaWNrZXIoYSxiLGMpfSxfcmVm
cmVzaERhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7KGE9dGhpcy5fZ2V0SW5zdChhKSkmJnRoaXMuX3Vw
ZGF0ZURhdGVwaWNrZXIoYSl9LF9zZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpe2lmKGE9
dGhpcy5fZ2V0SW5zdChhKSl7dGhpcy5fc2V0RGF0ZShhLGIpO3RoaXMuX3VwZGF0ZURhdGVwaWNr
ZXIoYSk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpfX0sX2dldERhdGVEYXRlcGlja2VyOmZ1bmN0
aW9uKGEsYil7KGE9dGhpcy5fZ2V0SW5zdChhKSkmJiFhLmlubGluZSYmdGhpcy5fc2V0RGF0ZUZy
b21GaWVsZChhLGIpO3JldHVybiBhP3RoaXMuX2dldERhdGUoYSk6bnVsbH0sX2RvS2V5RG93bjpm
dW5jdGlvbihhKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpLGM9dHJ1ZSxl
PWIuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpOworYi5fa2V5RXZlbnQ9dHJ1ZTtpZihk
LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKXN3aXRjaChhLmtleUNvZGUpe2Nhc2UgOTpk
LmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7Yz1mYWxzZTticmVhaztjYXNlIDEzOmM9ZCgi
dGQuIitkLmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcysiOm5vdCguIitkLmRhdGVwaWNrZXIuX2N1
cnJlbnRDbGFzcysiKSIsYi5kcERpdik7Y1swXSYmZC5kYXRlcGlja2VyLl9zZWxlY3REYXkoYS50
YXJnZXQsYi5zZWxlY3RlZE1vbnRoLGIuc2VsZWN0ZWRZZWFyLGNbMF0pO2lmKGE9ZC5kYXRlcGlj
a2VyLl9nZXQoYiwib25TZWxlY3QiKSl7Yz1kLmRhdGVwaWNrZXIuX2Zvcm1hdERhdGUoYik7YS5h
cHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVsbCxbYyxiXSl9ZWxzZSBkLmRhdGVwaWNrZXIuX2hp
ZGVEYXRlcGlja2VyKCk7cmV0dXJuIGZhbHNlO2Nhc2UgMjc6ZC5kYXRlcGlja2VyLl9oaWRlRGF0
ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6ZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0
LAorYS5jdHJsS2V5Py1kLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwQmlnTW9udGhzIik6LWQuZGF0
ZXBpY2tlci5fZ2V0KGIsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzQ6ZC5kYXRlcGlj
a2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGEuY3RybEtleT8rZC5kYXRlcGlja2VyLl9nZXQoYiwi
c3RlcEJpZ01vbnRocyIpOitkLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0iKTti
cmVhaztjYXNlIDM1OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fY2xlYXJE
YXRlKGEudGFyZ2V0KTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzY6aWYoYS5j
dHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlja2VyLl9nb3RvVG9kYXkoYS50YXJnZXQpO2M9YS5j
dHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNzppZihhLmN0cmxLZXl8fGEubWV0YUtleSlk
LmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsZT8rMTotMSwiRCIpO2M9CithLmN0cmxL
ZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRq
dXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/LWQuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdN
b250aHMiKTotZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2Fz
ZSAzODppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50
YXJnZXQsLTcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6aWYoYS5j
dHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGU/LTE6
KzEsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2lmKGEub3JpZ2luYWxFdmVudC5hbHRLZXkp
ZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGEuY3RybEtleT8rZC5kYXRlcGlja2Vy
Ll9nZXQoYiwic3RlcEJpZ01vbnRocyIpOitkLmRhdGVwaWNrZXIuX2dldChiLAorInN0ZXBNb250
aHMiKSwiTSIpO2JyZWFrO2Nhc2UgNDA6aWYoYS5jdHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlj
a2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LCs3LCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTti
cmVhaztkZWZhdWx0OmM9ZmFsc2V9ZWxzZSBpZihhLmtleUNvZGU9PTM2JiZhLmN0cmxLZXkpZC5k
YXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0aGlzKTtlbHNlIGM9ZmFsc2U7aWYoYyl7YS5wcmV2
ZW50RGVmYXVsdCgpO2Euc3RvcFByb3BhZ2F0aW9uKCl9fSxfZG9LZXlQcmVzczpmdW5jdGlvbihh
KXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpO2lmKGQuZGF0ZXBpY2tlci5f
Z2V0KGIsImNvbnN0cmFpbklucHV0Iikpe2I9ZC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKGQu
ZGF0ZXBpY2tlci5fZ2V0KGIsImRhdGVGb3JtYXQiKSk7dmFyIGM9U3RyaW5nLmZyb21DaGFyQ29k
ZShhLmNoYXJDb2RlPT1DP2Eua2V5Q29kZTphLmNoYXJDb2RlKTsKK3JldHVybiBhLmN0cmxLZXl8
fGEubWV0YUtleXx8YzwiICJ8fCFifHxiLmluZGV4T2YoYyk+LTF9fSxfZG9LZXlVcDpmdW5jdGlv
bihhKXthPWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhLnRhcmdldCk7aWYoYS5pbnB1dC52YWwoKSE9
YS5sYXN0VmFsKXRyeXtpZihkLmRhdGVwaWNrZXIucGFyc2VEYXRlKGQuZGF0ZXBpY2tlci5fZ2V0
KGEsImRhdGVGb3JtYXQiKSxhLmlucHV0P2EuaW5wdXQudmFsKCk6bnVsbCxkLmRhdGVwaWNrZXIu
X2dldEZvcm1hdENvbmZpZyhhKSkpe2QuZGF0ZXBpY2tlci5fc2V0RGF0ZUZyb21GaWVsZChhKTtk
LmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZShhKTtkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVw
aWNrZXIoYSl9fWNhdGNoKGIpe2QuZGF0ZXBpY2tlci5sb2coYil9cmV0dXJuIHRydWV9LF9zaG93
RGF0ZXBpY2tlcjpmdW5jdGlvbihhKXthPWEudGFyZ2V0fHxhO2lmKGEubm9kZU5hbWUudG9Mb3dl
ckNhc2UoKSE9ImlucHV0IilhPWQoImlucHV0IiwKK2EucGFyZW50Tm9kZSlbMF07aWYoIShkLmRh
dGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGEpfHxkLmRhdGVwaWNrZXIuX2xhc3RJbnB1
dD09YSkpe3ZhciBiPWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhKTtpZihkLmRhdGVwaWNrZXIuX2N1
ckluc3QmJmQuZGF0ZXBpY2tlci5fY3VySW5zdCE9Yil7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2Vy
U2hvd2luZyYmZC5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShkLmRhdGVwaWNrZXIuX2N1cklu
c3QpO2QuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRydWUsdHJ1ZSl9dmFyIGM9ZC5k
YXRlcGlja2VyLl9nZXQoYiwiYmVmb3JlU2hvdyIpO0goYi5zZXR0aW5ncyxjP2MuYXBwbHkoYSxb
YSxiXSk6e30pO2IubGFzdFZhbD1udWxsO2QuZGF0ZXBpY2tlci5fbGFzdElucHV0PWE7ZC5kYXRl
cGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGIpO2lmKGQuZGF0ZXBpY2tlci5faW5EaWFsb2cpYS52
YWx1ZT0iIjtpZighZC5kYXRlcGlja2VyLl9wb3Mpe2QuZGF0ZXBpY2tlci5fcG9zPQorZC5kYXRl
cGlja2VyLl9maW5kUG9zKGEpO2QuZGF0ZXBpY2tlci5fcG9zWzFdKz1hLm9mZnNldEhlaWdodH12
YXIgZT1mYWxzZTtkKGEpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKCl7ZXw9ZCh0aGlzKS5jc3Mo
InBvc2l0aW9uIik9PSJmaXhlZCI7cmV0dXJuIWV9KTtpZihlJiZkLmJyb3dzZXIub3BlcmEpe2Qu
ZGF0ZXBpY2tlci5fcG9zWzBdLT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDtk
LmRhdGVwaWNrZXIuX3Bvc1sxXS09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcH1j
PXtsZWZ0OmQuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDpkLmRhdGVwaWNrZXIuX3Bvc1sxXX07ZC5k
YXRlcGlja2VyLl9wb3M9bnVsbDtiLmRwRGl2LmVtcHR5KCk7Yi5kcERpdi5jc3Moe3Bvc2l0aW9u
OiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBweCJ9KTtkLmRhdGVwaWNrZXIu
X3VwZGF0ZURhdGVwaWNrZXIoYik7Yz1kLmRhdGVwaWNrZXIuX2NoZWNrT2Zmc2V0KGIsCitjLGUp
O2IuZHBEaXYuY3NzKHtwb3NpdGlvbjpkLmRhdGVwaWNrZXIuX2luRGlhbG9nJiZkLmJsb2NrVUk/
InN0YXRpYyI6ZT8iZml4ZWQiOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsbGVmdDpjLmxlZnQr
InB4Iix0b3A6Yy50b3ArInB4In0pO2lmKCFiLmlubGluZSl7Yz1kLmRhdGVwaWNrZXIuX2dldChi
LCJzaG93QW5pbSIpO3ZhciBmPWQuZGF0ZXBpY2tlci5fZ2V0KGIsImR1cmF0aW9uIiksaD1mdW5j
dGlvbigpe3ZhciBpPWIuZHBEaXYuZmluZCgiaWZyYW1lLnVpLWRhdGVwaWNrZXItY292ZXIiKTtp
ZihpLmxlbmd0aCl7dmFyIGc9ZC5kYXRlcGlja2VyLl9nZXRCb3JkZXJzKGIuZHBEaXYpO2kuY3Nz
KHtsZWZ0Oi1nWzBdLHRvcDotZ1sxXSx3aWR0aDpiLmRwRGl2Lm91dGVyV2lkdGgoKSxoZWlnaHQ6
Yi5kcERpdi5vdXRlckhlaWdodCgpfSl9fTtiLmRwRGl2LnpJbmRleChkKGEpLnpJbmRleCgpKzEp
O2QuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmc9dHJ1ZTtkLmVmZmVjdHMmJgorZC5lZmZl
Y3RzW2NdP2IuZHBEaXYuc2hvdyhjLGQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dPcHRpb25zIiks
ZixoKTpiLmRwRGl2W2N8fCJzaG93Il0oYz9mOm51bGwsaCk7aWYoIWN8fCFmKWgoKTtiLmlucHV0
LmlzKCI6dmlzaWJsZSIpJiYhYi5pbnB1dC5pcygiOmRpc2FibGVkIikmJmIuaW5wdXQuZm9jdXMo
KTtkLmRhdGVwaWNrZXIuX2N1ckluc3Q9Yn19fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihh
KXt0aGlzLm1heFJvd3M9NDt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYS5kcERpdik7
Sj1hO2EuZHBEaXYuZW1wdHkoKS5hcHBlbmQodGhpcy5fZ2VuZXJhdGVIVE1MKGEpKTt2YXIgYz1h
LmRwRGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVyIik7Yy5sZW5ndGgmJmMuY3Nz
KHtsZWZ0Oi1iWzBdLHRvcDotYlsxXSx3aWR0aDphLmRwRGl2Lm91dGVyV2lkdGgoKSxoZWlnaHQ6
YS5kcERpdi5vdXRlckhlaWdodCgpfSk7YS5kcERpdi5maW5kKCIuIisKK3RoaXMuX2RheU92ZXJD
bGFzcysiIGEiKS5tb3VzZW92ZXIoKTtiPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGEpO2M9Ylsx
XTthLmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRpLTIgdWktZGF0ZXBpY2tl
ci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRoKCIiKTtjPjEmJmEuZHBEaXYu
YWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIitjKS5jc3MoIndpZHRoIiwxNypjKyJlbSIp
O2EuZHBEaXZbKGJbMF0hPTF8fGJbMV0hPTE/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1k
YXRlcGlja2VyLW11bHRpIik7YS5kcERpdlsodGhpcy5fZ2V0KGEsImlzUlRMIik/ImFkZCI6InJl
bW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpO2E9PWQuZGF0ZXBpY2tlci5fY3Vy
SW5zdCYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmYS5pbnB1dCYmYS5pbnB1dC5p
cygiOnZpc2libGUiKSYmIWEuaW5wdXQuaXMoIjpkaXNhYmxlZCIpJiYKK2EuaW5wdXRbMF0hPWRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQmJmEuaW5wdXQuZm9jdXMoKTtpZihhLnllYXJzaHRtbCl7dmFy
IGU9YS55ZWFyc2h0bWw7c2V0VGltZW91dChmdW5jdGlvbigpe2U9PT1hLnllYXJzaHRtbCYmYS55
ZWFyc2h0bWwmJmEuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcjpmaXJzdCIp
LnJlcGxhY2VXaXRoKGEueWVhcnNodG1sKTtlPWEueWVhcnNodG1sPW51bGx9LDApfX0sX2dldEJv
cmRlcnM6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyl7cmV0dXJue3RoaW46MSxtZWRpdW06
Mix0aGljazozfVtjXXx8Y307cmV0dXJuW3BhcnNlRmxvYXQoYihhLmNzcygiYm9yZGVyLWxlZnQt
d2lkdGgiKSkpLHBhcnNlRmxvYXQoYihhLmNzcygiYm9yZGVyLXRvcC13aWR0aCIpKSldfSxfY2hl
Y2tPZmZzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWEuZHBEaXYub3V0ZXJXaWR0aCgpLGY9YS5k
cERpdi5vdXRlckhlaWdodCgpLGg9YS5pbnB1dD9hLmlucHV0Lm91dGVyV2lkdGgoKToKKzAsaT1h
LmlucHV0P2EuaW5wdXQub3V0ZXJIZWlnaHQoKTowLGc9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LmNsaWVudFdpZHRoK2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSxqPWRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5jbGllbnRIZWlnaHQrZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk7Yi5sZWZ0LT10aGlz
Ll9nZXQoYSwiaXNSVEwiKT9lLWg6MDtiLmxlZnQtPWMmJmIubGVmdD09YS5pbnB1dC5vZmZzZXQo
KS5sZWZ0P2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowO2IudG9wLT1jJiZiLnRvcD09YS5pbnB1
dC5vZmZzZXQoKS50b3AraT9kKGRvY3VtZW50KS5zY3JvbGxUb3AoKTowO2IubGVmdC09TWF0aC5t
aW4oYi5sZWZ0LGIubGVmdCtlPmcmJmc+ZT9NYXRoLmFicyhiLmxlZnQrZS1nKTowKTtiLnRvcC09
TWF0aC5taW4oYi50b3AsYi50b3ArZj5qJiZqPmY/TWF0aC5hYnMoZitpKTowKTtyZXR1cm4gYn0s
X2ZpbmRQb3M6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMuX2dldCh0aGlzLl9nZXRJbnN0KGEp
LAorImlzUlRMIik7YSYmKGEudHlwZT09ImhpZGRlbiJ8fGEubm9kZVR5cGUhPTF8fGQuZXhwci5m
aWx0ZXJzLmhpZGRlbihhKSk7KWE9YVtiPyJwcmV2aW91c1NpYmxpbmciOiJuZXh0U2libGluZyJd
O2E9ZChhKS5vZmZzZXQoKTtyZXR1cm5bYS5sZWZ0LGEudG9wXX0sX3RyaWdnZXJPbkNsb3NlOmZ1
bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldChhLCJvbkNsb3NlIik7aWYoYiliLmFwcGx5KGEuaW5w
dXQ/YS5pbnB1dFswXTpudWxsLFthLmlucHV0P2EuaW5wdXQudmFsKCk6IiIsYV0pfSxfaGlkZURh
dGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fY3VySW5zdDtpZighKCFifHxhJiZiIT1k
LmRhdGEoYSwiZGF0ZXBpY2tlciIpKSlpZih0aGlzLl9kYXRlcGlja2VyU2hvd2luZyl7YT10aGlz
Ll9nZXQoYiwic2hvd0FuaW0iKTt2YXIgYz10aGlzLl9nZXQoYiwiZHVyYXRpb24iKSxlPWZ1bmN0
aW9uKCl7ZC5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGIpO3RoaXMuX2N1ckluc3Q9CitudWxsfTtk
LmVmZmVjdHMmJmQuZWZmZWN0c1thXT9iLmRwRGl2LmhpZGUoYSxkLmRhdGVwaWNrZXIuX2dldChi
LCJzaG93T3B0aW9ucyIpLGMsZSk6Yi5kcERpdlthPT0ic2xpZGVEb3duIj8ic2xpZGVVcCI6YT09
ImZhZGVJbiI/ImZhZGVPdXQiOiJoaWRlIl0oYT9jOm51bGwsZSk7YXx8ZSgpO2QuZGF0ZXBpY2tl
ci5fdHJpZ2dlck9uQ2xvc2UoYik7dGhpcy5fZGF0ZXBpY2tlclNob3dpbmc9ZmFsc2U7dGhpcy5f
bGFzdElucHV0PW51bGw7aWYodGhpcy5faW5EaWFsb2cpe3RoaXMuX2RpYWxvZ0lucHV0LmNzcyh7
cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBweCJ9KTtpZihkLmJsb2NrVUkp
e2QudW5ibG9ja1VJKCk7ZCgiYm9keSIpLmFwcGVuZCh0aGlzLmRwRGl2KX19dGhpcy5faW5EaWFs
b2c9ZmFsc2V9fSxfdGlkeURpYWxvZzpmdW5jdGlvbihhKXthLmRwRGl2LnJlbW92ZUNsYXNzKHRo
aXMuX2RpYWxvZ0NsYXNzKS51bmJpbmQoIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIil9LAorX2No
ZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihhKXtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3Qpe2E9
ZChhLnRhcmdldCk7YVswXS5pZCE9ZC5kYXRlcGlja2VyLl9tYWluRGl2SWQmJmEucGFyZW50cygi
IyIrZC5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYmIWEuaGFzQ2xhc3MoZC5kYXRl
cGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJiFhLmhhc0NsYXNzKGQuZGF0ZXBpY2tlci5fdHJpZ2dl
ckNsYXNzKSYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmIShkLmRhdGVwaWNrZXIu
X2luRGlhbG9nJiZkLmJsb2NrVUkpJiZkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCl9fSxf
YWRqdXN0RGF0ZTpmdW5jdGlvbihhLGIsYyl7YT1kKGEpO3ZhciBlPXRoaXMuX2dldEluc3QoYVsw
XSk7aWYoIXRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKGFbMF0pKXt0aGlzLl9hZGp1c3RJbnN0
RGF0ZShlLGIrKGM9PSJNIj90aGlzLl9nZXQoZSwic2hvd0N1cnJlbnRBdFBvcyIpOgorMCksYyk7
dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihlKX19LF9nb3RvVG9kYXk6ZnVuY3Rpb24oYSl7YT1kKGEp
O3ZhciBiPXRoaXMuX2dldEluc3QoYVswXSk7aWYodGhpcy5fZ2V0KGIsImdvdG9DdXJyZW50Iikm
JmIuY3VycmVudERheSl7Yi5zZWxlY3RlZERheT1iLmN1cnJlbnREYXk7Yi5kcmF3TW9udGg9Yi5z
ZWxlY3RlZE1vbnRoPWIuY3VycmVudE1vbnRoO2IuZHJhd1llYXI9Yi5zZWxlY3RlZFllYXI9Yi5j
dXJyZW50WWVhcn1lbHNle3ZhciBjPW5ldyBEYXRlO2Iuc2VsZWN0ZWREYXk9Yy5nZXREYXRlKCk7
Yi5kcmF3TW9udGg9Yi5zZWxlY3RlZE1vbnRoPWMuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2Vs
ZWN0ZWRZZWFyPWMuZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlDaGFuZ2UoYik7dGhpcy5fYWRq
dXN0RGF0ZShhKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihhLGIsYyl7YT1kKGEpO3ZhciBl
PXRoaXMuX2dldEluc3QoYVswXSk7ZVsic2VsZWN0ZWQiKyhjPT0iTSI/CisiTW9udGgiOiJZZWFy
IildPWVbImRyYXciKyhjPT0iTSI/Ik1vbnRoIjoiWWVhciIpXT1wYXJzZUludChiLm9wdGlvbnNb
Yi5zZWxlY3RlZEluZGV4XS52YWx1ZSwxMCk7dGhpcy5fbm90aWZ5Q2hhbmdlKGUpO3RoaXMuX2Fk
anVzdERhdGUoYSl9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGY9ZChhKTtpZigh
KGQoZSkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MpfHx0aGlzLl9pc0Rpc2FibGVk
RGF0ZXBpY2tlcihmWzBdKSkpe2Y9dGhpcy5fZ2V0SW5zdChmWzBdKTtmLnNlbGVjdGVkRGF5PWYu
Y3VycmVudERheT1kKCJhIixlKS5odG1sKCk7Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRo
PWI7Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcj1jO3RoaXMuX3NlbGVjdERhdGUoYSx0aGlz
Ll9mb3JtYXREYXRlKGYsZi5jdXJyZW50RGF5LGYuY3VycmVudE1vbnRoLGYuY3VycmVudFllYXIp
KX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYSl7YT1kKGEpOwordGhpcy5fZ2V0SW5zdChhWzBdKTt0
aGlzLl9zZWxlY3REYXRlKGEsIiIpfSxfc2VsZWN0RGF0ZTpmdW5jdGlvbihhLGIpe2E9dGhpcy5f
Z2V0SW5zdChkKGEpWzBdKTtiPWIhPW51bGw/Yjp0aGlzLl9mb3JtYXREYXRlKGEpO2EuaW5wdXQm
JmEuaW5wdXQudmFsKGIpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShhKTt2YXIgYz10aGlzLl9nZXQo
YSwib25TZWxlY3QiKTtpZihjKWMuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW2IsYV0p
O2Vsc2UgYS5pbnB1dCYmYS5pbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKTtpZihhLmlubGluZSl0aGlz
Ll91cGRhdGVEYXRlcGlja2VyKGEpO2Vsc2V7dGhpcy5faGlkZURhdGVwaWNrZXIoKTt0aGlzLl9s
YXN0SW5wdXQ9YS5pbnB1dFswXTthLmlucHV0LmZvY3VzKCk7dGhpcy5fbGFzdElucHV0PW51bGx9
fSxfdXBkYXRlQWx0ZXJuYXRlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldChhLCJhbHRGaWVs
ZCIpO2lmKGIpe3ZhciBjPXRoaXMuX2dldChhLAorImFsdEZvcm1hdCIpfHx0aGlzLl9nZXQoYSwi
ZGF0ZUZvcm1hdCIpLGU9dGhpcy5fZ2V0RGF0ZShhKSxmPXRoaXMuZm9ybWF0RGF0ZShjLGUsdGhp
cy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKTtkKGIpLmVhY2goZnVuY3Rpb24oKXtkKHRoaXMpLnZhbChm
KX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihhKXthPWEuZ2V0RGF5KCk7cmV0dXJuW2E+MCYmYTw2
LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYSl7YT1uZXcgRGF0ZShhLmdldFRpbWUoKSk7YS5z
ZXREYXRlKGEuZ2V0RGF0ZSgpKzQtKGEuZ2V0RGF5KCl8fDcpKTt2YXIgYj1hLmdldFRpbWUoKTth
LnNldE1vbnRoKDApO2Euc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJvdW5kKChi
LWEpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PW51bGx8fGI9
PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2I9dHlwZW9mIGI9PSJvYmplY3QiP2IudG9T
dHJpbmcoKTpiKyIiO2lmKGI9PQorIiIpcmV0dXJuIG51bGw7dmFyIGU9KGM/Yy5zaG9ydFllYXJD
dXRvZmY6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1dG9mZjtlPXR5cGVvZiBlIT0i
c3RyaW5nIj9lOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArcGFyc2VJbnQoZSwxMCk7Zm9y
KHZhciBmPShjP2MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNT
aG9ydCxoPShjP2MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGk9KGM/
Yy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCxn
PShjP2MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcyxqPWM9LTEs
bD0tMSx1PS0xLGs9ZmFsc2Usbz1mdW5jdGlvbihwKXsocD1BKzE8YS5sZW5ndGgmJmEuY2hhckF0
KEErMSk9PXApJiZBKys7cmV0dXJuIHB9LG09ZnVuY3Rpb24ocCl7dmFyIEQ9byhwKTtwPW5ldyBS
ZWdFeHAoIl5cXGR7MSwiKworKHA9PSJAIj8xNDpwPT0iISI/MjA6cD09InkiJiZEPzQ6cD09Im8i
PzM6MikrIn0iKTtwPWIuc3Vic3RyaW5nKHEpLm1hdGNoKHApO2lmKCFwKXRocm93Ik1pc3Npbmcg
bnVtYmVyIGF0IHBvc2l0aW9uICIrcTtxKz1wWzBdLmxlbmd0aDtyZXR1cm4gcGFyc2VJbnQocFsw
XSwxMCl9LG49ZnVuY3Rpb24ocCxELEspe3A9ZC5tYXAobyhwKT9LOkQsZnVuY3Rpb24odyx4KXty
ZXR1cm5bW3gsd11dfSkuc29ydChmdW5jdGlvbih3LHgpe3JldHVybi0od1sxXS5sZW5ndGgteFsx
XS5sZW5ndGgpfSk7dmFyIEU9LTE7ZC5lYWNoKHAsZnVuY3Rpb24odyx4KXt3PXhbMV07aWYoYi5z
dWJzdHIocSx3Lmxlbmd0aCkudG9Mb3dlckNhc2UoKT09dy50b0xvd2VyQ2FzZSgpKXtFPXhbMF07
cSs9dy5sZW5ndGg7cmV0dXJuIGZhbHNlfX0pO2lmKEUhPS0xKXJldHVybiBFKzE7ZWxzZSB0aHJv
dyJVbmtub3duIG5hbWUgYXQgcG9zaXRpb24gIitxO30scz1mdW5jdGlvbigpe2lmKGIuY2hhckF0
KHEpIT1hLmNoYXJBdChBKSl0aHJvdyJVbmV4cGVjdGVkIGxpdGVyYWwgYXQgcG9zaXRpb24gIisK
K3E7cSsrfSxxPTAsQT0wO0E8YS5sZW5ndGg7QSsrKWlmKGspaWYoYS5jaGFyQXQoQSk9PSInIiYm
IW8oIiciKSlrPWZhbHNlO2Vsc2UgcygpO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KEEpKXtjYXNlICJk
IjpsPW0oImQiKTticmVhaztjYXNlICJEIjpuKCJEIixmLGgpO2JyZWFrO2Nhc2UgIm8iOnU9bSgi
byIpO2JyZWFrO2Nhc2UgIm0iOmo9bSgibSIpO2JyZWFrO2Nhc2UgIk0iOmo9bigiTSIsaSxnKTti
cmVhaztjYXNlICJ5IjpjPW0oInkiKTticmVhaztjYXNlICJAIjp2YXIgdj1uZXcgRGF0ZShtKCJA
IikpO2M9di5nZXRGdWxsWWVhcigpO2o9di5nZXRNb250aCgpKzE7bD12LmdldERhdGUoKTticmVh
aztjYXNlICIhIjp2PW5ldyBEYXRlKChtKCIhIiktdGhpcy5fdGlja3NUbzE5NzApLzFFNCk7Yz12
LmdldEZ1bGxZZWFyKCk7aj12LmdldE1vbnRoKCkrMTtsPXYuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2Ug
IiciOmlmKG8oIiciKSlzKCk7ZWxzZSBrPXRydWU7YnJlYWs7ZGVmYXVsdDpzKCl9aWYocTwKK2Iu
bGVuZ3RoKXRocm93IkV4dHJhL3VucGFyc2VkIGNoYXJhY3RlcnMgZm91bmQgaW4gZGF0ZTogIiti
LnN1YnN0cmluZyhxKTtpZihjPT0tMSljPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKTtlbHNlIGlm
KGM8MTAwKWMrPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKS0obmV3IERhdGUpLmdldEZ1bGxZZWFy
KCklMTAwKyhjPD1lPzA6LTEwMCk7aWYodT4tMSl7aj0xO2w9dTtkb3tlPXRoaXMuX2dldERheXNJ
bk1vbnRoKGMsai0xKTtpZihsPD1lKWJyZWFrO2orKztsLT1lfXdoaWxlKDEpfXY9dGhpcy5fZGF5
bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYyxqLTEsbCkpO2lmKHYuZ2V0RnVsbFllYXIoKSE9
Y3x8di5nZXRNb250aCgpKzEhPWp8fHYuZ2V0RGF0ZSgpIT1sKXRocm93IkludmFsaWQgZGF0ZSI7
cmV0dXJuIHZ9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRkIE0geXkiLElTT184NjAxOiJ5
eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRELCBkZC1NLXkiLAorUkZDXzEw
MzY6IkQsIGQgTSB5IixSRkNfMTEyMzoiRCwgZCBNIHl5IixSRkNfMjgyMjoiRCwgZCBNIHl5IixS
U1M6IkQsIGQgTSB5IixUSUNLUzoiISIsVElNRVNUQU1QOiJAIixXM0M6Inl5LW1tLWRkIixfdGlj
a3NUbzE5NzA6KDcxODY4NStNYXRoLmZsb29yKDQ5Mi41KS1NYXRoLmZsb29yKDE5LjcpK01hdGgu
Zmxvb3IoNC45MjUpKSoyNCo2MCo2MCoxRTcsZm9ybWF0RGF0ZTpmdW5jdGlvbihhLGIsYyl7aWYo
IWIpcmV0dXJuIiI7dmFyIGU9KGM/Yy5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0
cy5kYXlOYW1lc1Nob3J0LGY9KGM/Yy5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5
TmFtZXMsaD0oYz9jLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhO
YW1lc1Nob3J0O2M9KGM/Yy5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5h
bWVzO3ZhciBpPWZ1bmN0aW9uKG8peyhvPWsrMTxhLmxlbmd0aCYmCithLmNoYXJBdChrKzEpPT1v
KSYmaysrO3JldHVybiBvfSxnPWZ1bmN0aW9uKG8sbSxuKXttPSIiK207aWYoaShvKSlmb3IoO20u
bGVuZ3RoPG47KW09IjAiK207cmV0dXJuIG19LGo9ZnVuY3Rpb24obyxtLG4scyl7cmV0dXJuIGko
byk/c1ttXTpuW21dfSxsPSIiLHU9ZmFsc2U7aWYoYilmb3IodmFyIGs9MDtrPGEubGVuZ3RoO2sr
KylpZih1KWlmKGEuY2hhckF0KGspPT0iJyImJiFpKCInIikpdT1mYWxzZTtlbHNlIGwrPWEuY2hh
ckF0KGspO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KGspKXtjYXNlICJkIjpsKz1nKCJkIixiLmdldERh
dGUoKSwyKTticmVhaztjYXNlICJEIjpsKz1qKCJEIixiLmdldERheSgpLGUsZik7YnJlYWs7Y2Fz
ZSAibyI6bCs9ZygibyIsTWF0aC5yb3VuZCgoKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSxiLmdl
dE1vbnRoKCksYi5nZXREYXRlKCkpKS5nZXRUaW1lKCktKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIo
KSwwLDApKS5nZXRUaW1lKCkpLzg2NEU1KSwzKTsKK2JyZWFrO2Nhc2UgIm0iOmwrPWcoIm0iLGIu
Z2V0TW9udGgoKSsxLDIpO2JyZWFrO2Nhc2UgIk0iOmwrPWooIk0iLGIuZ2V0TW9udGgoKSxoLGMp
O2JyZWFrO2Nhc2UgInkiOmwrPWkoInkiKT9iLmdldEZ1bGxZZWFyKCk6KGIuZ2V0WWVhcigpJTEw
MDwxMD8iMCI6IiIpK2IuZ2V0WWVhcigpJTEwMDticmVhaztjYXNlICJAIjpsKz1iLmdldFRpbWUo
KTticmVhaztjYXNlICIhIjpsKz1iLmdldFRpbWUoKSoxRTQrdGhpcy5fdGlja3NUbzE5NzA7YnJl
YWs7Y2FzZSAiJyI6aWYoaSgiJyIpKWwrPSInIjtlbHNlIHU9dHJ1ZTticmVhaztkZWZhdWx0Omwr
PWEuY2hhckF0KGspfXJldHVybiBsfSxfcG9zc2libGVDaGFyczpmdW5jdGlvbihhKXtmb3IodmFy
IGI9IiIsYz1mYWxzZSxlPWZ1bmN0aW9uKGgpeyhoPWYrMTxhLmxlbmd0aCYmYS5jaGFyQXQoZisx
KT09aCkmJmYrKztyZXR1cm4gaH0sZj0wO2Y8YS5sZW5ndGg7ZisrKWlmKGMpaWYoYS5jaGFyQXQo
Zik9PSInIiYmIWUoIiciKSljPQorZmFsc2U7ZWxzZSBiKz1hLmNoYXJBdChmKTtlbHNlIHN3aXRj
aChhLmNoYXJBdChmKSl7Y2FzZSAiZCI6Y2FzZSAibSI6Y2FzZSAieSI6Y2FzZSAiQCI6Yis9IjAx
MjM0NTY3ODkiO2JyZWFrO2Nhc2UgIkQiOmNhc2UgIk0iOnJldHVybiBudWxsO2Nhc2UgIiciOmlm
KGUoIiciKSliKz0iJyI7ZWxzZSBjPXRydWU7YnJlYWs7ZGVmYXVsdDpiKz1hLmNoYXJBdChmKX1y
ZXR1cm4gYn0sX2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBhLnNldHRpbmdzW2JdIT09Qz9hLnNl
dHRpbmdzW2JdOnRoaXMuX2RlZmF1bHRzW2JdfSxfc2V0RGF0ZUZyb21GaWVsZDpmdW5jdGlvbihh
LGIpe2lmKGEuaW5wdXQudmFsKCkhPWEubGFzdFZhbCl7dmFyIGM9dGhpcy5fZ2V0KGEsImRhdGVG
b3JtYXQiKSxlPWEubGFzdFZhbD1hLmlucHV0P2EuaW5wdXQudmFsKCk6bnVsbCxmLGg7Zj1oPXRo
aXMuX2dldERlZmF1bHREYXRlKGEpO3ZhciBpPXRoaXMuX2dldEZvcm1hdENvbmZpZyhhKTt0cnl7
Zj10aGlzLnBhcnNlRGF0ZShjLAorZSxpKXx8aH1jYXRjaChnKXt0aGlzLmxvZyhnKTtlPWI/IiI6
ZX1hLnNlbGVjdGVkRGF5PWYuZ2V0RGF0ZSgpO2EuZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1m
LmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1mLmdldEZ1bGxZZWFyKCk7YS5j
dXJyZW50RGF5PWU/Zi5nZXREYXRlKCk6MDthLmN1cnJlbnRNb250aD1lP2YuZ2V0TW9udGgoKTow
O2EuY3VycmVudFllYXI9ZT9mLmdldEZ1bGxZZWFyKCk6MDt0aGlzLl9hZGp1c3RJbnN0RGF0ZShh
KX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5N
YXgoYSx0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsImRlZmF1bHREYXRlIiksbmV3
IERhdGUpKX0sX2RldGVybWluZURhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWZ1bmN0aW9uKGgp
e3ZhciBpPW5ldyBEYXRlO2kuc2V0RGF0ZShpLmdldERhdGUoKStoKTtyZXR1cm4gaX0sZj1mdW5j
dGlvbihoKXt0cnl7cmV0dXJuIGQuZGF0ZXBpY2tlci5wYXJzZURhdGUoZC5kYXRlcGlja2VyLl9n
ZXQoYSwKKyJkYXRlRm9ybWF0IiksaCxkLmRhdGVwaWNrZXIuX2dldEZvcm1hdENvbmZpZyhhKSl9
Y2F0Y2goaSl7fXZhciBnPShoLnRvTG93ZXJDYXNlKCkubWF0Y2goL15jLyk/ZC5kYXRlcGlja2Vy
Ll9nZXREYXRlKGEpOm51bGwpfHxuZXcgRGF0ZSxqPWcuZ2V0RnVsbFllYXIoKSxsPWcuZ2V0TW9u
dGgoKTtnPWcuZ2V0RGF0ZSgpO2Zvcih2YXIgdT0vKFsrLV0/WzAtOV0rKVxzKihkfER8d3xXfG18
TXx5fFkpPy9nLGs9dS5leGVjKGgpO2s7KXtzd2l0Y2goa1syXXx8ImQiKXtjYXNlICJkIjpjYXNl
ICJEIjpnKz1wYXJzZUludChrWzFdLDEwKTticmVhaztjYXNlICJ3IjpjYXNlICJXIjpnKz1wYXJz
ZUludChrWzFdLDEwKSo3O2JyZWFrO2Nhc2UgIm0iOmNhc2UgIk0iOmwrPXBhcnNlSW50KGtbMV0s
MTApO2c9TWF0aC5taW4oZyxkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGosbCkpO2JyZWFr
O2Nhc2UgInkiOmNhc2UgIlkiOmorPXBhcnNlSW50KGtbMV0sMTApO2c9TWF0aC5taW4oZywKK2Qu
ZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWt9az11LmV4ZWMoaCl9cmV0dXJu
IG5ldyBEYXRlKGosbCxnKX07aWYoYj0oYj1iPT1udWxsfHxiPT09IiI/Yzp0eXBlb2YgYj09InN0
cmluZyI/ZihiKTp0eXBlb2YgYj09Im51bWJlciI/aXNOYU4oYik/YzplKGIpOm5ldyBEYXRlKGIu
Z2V0VGltZSgpKSkmJmIudG9TdHJpbmcoKT09IkludmFsaWQgRGF0ZSI/YzpiKXtiLnNldEhvdXJz
KDApO2Iuc2V0TWludXRlcygwKTtiLnNldFNlY29uZHMoMCk7Yi5zZXRNaWxsaXNlY29uZHMoMCl9
cmV0dXJuIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KGIpfSxfZGF5bGlnaHRTYXZpbmdBZGp1
c3Q6ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7YS5zZXRIb3VycyhhLmdldEhvdXJzKCk+
MTI/YS5nZXRIb3VycygpKzI6MCk7cmV0dXJuIGF9LF9zZXREYXRlOmZ1bmN0aW9uKGEsYixjKXt2
YXIgZT0hYixmPWEuc2VsZWN0ZWRNb250aCxoPWEuc2VsZWN0ZWRZZWFyOworYj10aGlzLl9yZXN0
cmljdE1pbk1heChhLHRoaXMuX2RldGVybWluZURhdGUoYSxiLG5ldyBEYXRlKSk7YS5zZWxlY3Rl
ZERheT1hLmN1cnJlbnREYXk9Yi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRo
PWEuY3VycmVudE1vbnRoPWIuZ2V0TW9udGgoKTthLmRyYXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWEu
Y3VycmVudFllYXI9Yi5nZXRGdWxsWWVhcigpO2lmKChmIT1hLnNlbGVjdGVkTW9udGh8fGghPWEu
c2VsZWN0ZWRZZWFyKSYmIWMpdGhpcy5fbm90aWZ5Q2hhbmdlKGEpO3RoaXMuX2FkanVzdEluc3RE
YXRlKGEpO2lmKGEuaW5wdXQpYS5pbnB1dC52YWwoZT8iIjp0aGlzLl9mb3JtYXREYXRlKGEpKTtp
ZihjPXRoaXMuX2dldChhLCJvblNlbGVjdCIpKXtlPXRoaXMuX2Zvcm1hdERhdGUoYSk7Yy5hcHBs
eShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbZSxhXSl9fSxfZ2V0RGF0ZTpmdW5jdGlvbihhKXty
ZXR1cm4hYS5jdXJyZW50WWVhcnx8YS5pbnB1dCYmYS5pbnB1dC52YWwoKT09CisiIj9udWxsOnRo
aXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEuY3VycmVudFllYXIsYS5jdXJyZW50
TW9udGgsYS5jdXJyZW50RGF5KSl9LF9nZW5lcmF0ZUhUTUw6ZnVuY3Rpb24oYSl7dmFyIGI9bmV3
IERhdGU7Yj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShiLmdldEZ1bGxZZWFy
KCksYi5nZXRNb250aCgpLGIuZ2V0RGF0ZSgpKSk7dmFyIGM9dGhpcy5fZ2V0KGEsImlzUlRMIiks
ZT10aGlzLl9nZXQoYSwic2hvd0J1dHRvblBhbmVsIiksZj10aGlzLl9nZXQoYSwiaGlkZUlmTm9Q
cmV2TmV4dCIpLGg9dGhpcy5fZ2V0KGEsIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSxpPXRoaXMu
X2dldE51bWJlck9mTW9udGhzKGEpLGc9dGhpcy5fZ2V0KGEsInNob3dDdXJyZW50QXRQb3MiKSxq
PXRoaXMuX2dldChhLCJzdGVwTW9udGhzIiksbD1pWzBdIT0xfHxpWzFdIT0xLHU9dGhpcy5fZGF5
bGlnaHRTYXZpbmdBZGp1c3QoIWEuY3VycmVudERheT9uZXcgRGF0ZSg5OTk5LAorOSw5KTpuZXcg
RGF0ZShhLmN1cnJlbnRZZWFyLGEuY3VycmVudE1vbnRoLGEuY3VycmVudERheSkpLGs9dGhpcy5f
Z2V0TWluTWF4RGF0ZShhLCJtaW4iKSxvPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWF4Iik7Zz1h
LmRyYXdNb250aC1nO3ZhciBtPWEuZHJhd1llYXI7aWYoZzwwKXtnKz0xMjttLS19aWYobyl7dmFy
IG49dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoby5nZXRGdWxsWWVhcigpLG8u
Z2V0TW9udGgoKS1pWzBdKmlbMV0rMSxvLmdldERhdGUoKSkpO2ZvcihuPWsmJm48az9rOm47dGhp
cy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLDEpKT5uOyl7Zy0tO2lmKGc8MCl7
Zz0xMTttLS19fX1hLmRyYXdNb250aD1nO2EuZHJhd1llYXI9bTtuPXRoaXMuX2dldChhLCJwcmV2
VGV4dCIpO249IWg/bjp0aGlzLmZvcm1hdERhdGUobix0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVz
dChuZXcgRGF0ZShtLGctaiwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKTsKK249dGhpcy5f
Y2FuQWRqdXN0TW9udGgoYSwtMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVp
LWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0IrIi5kYXRlcGlja2VyLl9hZGp1c3RE
YXRlKCcjIithLmlkKyInLCAtIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK24rJyI+PHNwYW4gY2xh
c3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8iZSI6InciKSsnIj4nK24r
Ijwvc3Bhbj48L2E+IjpmPyIiOic8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5l
ci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK24rJyI+PHNwYW4gY2xhc3M9InVpLWlj
b24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8iZSI6InciKSsnIj4nK24rIjwvc3Bhbj48
L2E+Ijt2YXIgcz10aGlzLl9nZXQoYSwibmV4dFRleHQiKTtzPSFoP3M6dGhpcy5mb3JtYXREYXRl
KHMsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSwKK2craiwxKSksdGhpcy5f
Z2V0Rm9ybWF0Q29uZmlnKGEpKTtmPXRoaXMuX2NhbkFkanVzdE1vbnRoKGEsKzEsbSxnKT8nPGEg
Y2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVl
cnlfJytCKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYS5pZCsiJywgKyIraisiLCAnTScp
O1wiIHRpdGxlPVwiIitzKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRy
aWFuZ2xlLScrKGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9
InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRs
ZT0iJytzKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScr
KGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI7aj10aGlzLl9nZXQoYSwiY3VycmVudFRl
eHQiKTtzPXRoaXMuX2dldChhLCJnb3RvQ3VycmVudCIpJiYKK2EuY3VycmVudERheT91OmI7aj0h
aD9qOnRoaXMuZm9ybWF0RGF0ZShqLHMsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKTtoPSFhLmlu
bGluZT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ1aS1kYXRlcGlja2VyLWNsb3NlIHVp
LXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktcHJpbWFyeSB1aS1jb3JuZXItYWxsIiBvbmNsaWNr
PSJEUF9qUXVlcnlfJytCKycuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsiPicrdGhpcy5f
Z2V0KGEsImNsb3NlVGV4dCIpKyI8L2J1dHRvbj4iOiIiO2U9ZT8nPGRpdiBjbGFzcz0idWktZGF0
ZXBpY2tlci1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50Ij4nKyhjP2g6IiIpKyh0aGlzLl9p
c0luUmFuZ2UoYSxzKT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ1aS1kYXRlcGlja2Vy
LWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1zZWNvbmRhcnkgdWktY29ybmVy
LWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrCitCKyIuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCcj
IithLmlkKyInKTtcIj4iK2orIjwvYnV0dG9uPiI6IiIpKyhjPyIiOmgpKyI8L2Rpdj4iOiIiO2g9
cGFyc2VJbnQodGhpcy5fZ2V0KGEsImZpcnN0RGF5IiksMTApO2g9aXNOYU4oaCk/MDpoO2o9dGhp
cy5fZ2V0KGEsInNob3dXZWVrIik7cz10aGlzLl9nZXQoYSwiZGF5TmFtZXMiKTt0aGlzLl9nZXQo
YSwiZGF5TmFtZXNTaG9ydCIpO3ZhciBxPXRoaXMuX2dldChhLCJkYXlOYW1lc01pbiIpLEE9dGhp
cy5fZ2V0KGEsIm1vbnRoTmFtZXMiKSx2PXRoaXMuX2dldChhLCJtb250aE5hbWVzU2hvcnQiKSxw
PXRoaXMuX2dldChhLCJiZWZvcmVTaG93RGF5IiksRD10aGlzLl9nZXQoYSwic2hvd090aGVyTW9u
dGhzIiksSz10aGlzLl9nZXQoYSwic2VsZWN0T3RoZXJNb250aHMiKTt0aGlzLl9nZXQoYSwiY2Fs
Y3VsYXRlV2VlayIpO2Zvcih2YXIgRT10aGlzLl9nZXREZWZhdWx0RGF0ZShhKSx3PSIiLHg9MDt4
PGlbMF07eCsrKXt2YXIgTz0KKyIiO3RoaXMubWF4Um93cz00O2Zvcih2YXIgRz0wO0c8aVsxXTtH
Kyspe3ZhciBQPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZyxhLnNlbGVj
dGVkRGF5KSksdD0iIHVpLWNvcm5lci1hbGwiLHk9IiI7aWYobCl7eSs9JzxkaXYgY2xhc3M9InVp
LWRhdGVwaWNrZXItZ3JvdXAnO2lmKGlbMV0+MSlzd2l0Y2goRyl7Y2FzZSAwOnkrPSIgdWktZGF0
ZXBpY2tlci1ncm91cC1maXJzdCI7dD0iIHVpLWNvcm5lci0iKyhjPyJyaWdodCI6ImxlZnQiKTti
cmVhaztjYXNlIGlbMV0tMTp5Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCI7dD0iIHVpLWNv
cm5lci0iKyhjPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0OnkrPSIgdWktZGF0ZXBpY2tl
ci1ncm91cC1taWRkbGUiO3Q9IiI7YnJlYWt9eSs9JyI+J315Kz0nPGRpdiBjbGFzcz0idWktZGF0
ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXgnK3QrJyI+
JysoL2FsbHxsZWZ0Ly50ZXN0KHQpJiYKK3g9PTA/Yz9mOm46IiIpKygvYWxsfHJpZ2h0Ly50ZXN0
KHQpJiZ4PT0wP2M/bjpmOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcihhLGcsbSxr
LG8seD4wfHxHPjAsQSx2KSsnPC9kaXY+PHRhYmxlIGNsYXNzPSJ1aS1kYXRlcGlja2VyLWNhbGVu
ZGFyIj48dGhlYWQ+PHRyPic7dmFyIHo9aj8nPHRoIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXdlZWst
Y29sIj4nK3RoaXMuX2dldChhLCJ3ZWVrSGVhZGVyIikrIjwvdGg+IjoiIjtmb3IodD0wO3Q8Nzt0
Kyspe3ZhciByPSh0K2gpJTc7eis9Ijx0aCIrKCh0K2grNiklNz49NT8nIGNsYXNzPSJ1aS1kYXRl
cGlja2VyLXdlZWstZW5kIic6IiIpKyc+PHNwYW4gdGl0bGU9Iicrc1tyXSsnIj4nK3Fbcl0rIjwv
c3Bhbj48L3RoPiJ9eSs9eisiPC90cj48L3RoZWFkPjx0Ym9keT4iO3o9dGhpcy5fZ2V0RGF5c0lu
TW9udGgobSxnKTtpZihtPT1hLnNlbGVjdGVkWWVhciYmZz09YS5zZWxlY3RlZE1vbnRoKWEuc2Vs
ZWN0ZWREYXk9TWF0aC5taW4oYS5zZWxlY3RlZERheSwKK3opO3Q9KHRoaXMuX2dldEZpcnN0RGF5
T2ZNb250aChtLGcpLWgrNyklNzt6PU1hdGguY2VpbCgodCt6KS83KTt0aGlzLm1heFJvd3M9ej1s
P3RoaXMubWF4Um93cz56P3RoaXMubWF4Um93czp6Ono7cj10aGlzLl9kYXlsaWdodFNhdmluZ0Fk
anVzdChuZXcgRGF0ZShtLGcsMS10KSk7Zm9yKHZhciBRPTA7UTx6O1ErKyl7eSs9Ijx0cj4iO3Zh
ciBSPSFqPyIiOic8dGQgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1jb2wiPicrdGhpcy5fZ2V0
KGEsImNhbGN1bGF0ZVdlZWsiKShyKSsiPC90ZD4iO2Zvcih0PTA7dDw3O3QrKyl7dmFyIEk9cD9w
LmFwcGx5KGEuaW5wdXQ/YS5pbnB1dFswXTpudWxsLFtyXSk6W3RydWUsIiJdLEY9ci5nZXRNb250
aCgpIT1nLEw9RiYmIUt8fCFJWzBdfHxrJiZyPGt8fG8mJnI+bztSKz0nPHRkIGNsYXNzPSInKygo
dCtoKzYpJTc+PTU/IiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIjoiIikrKEY/IiB1aS1kYXRlcGlj
a2VyLW90aGVyLW1vbnRoIjoiIikrKHIuZ2V0VGltZSgpPT0KK1AuZ2V0VGltZSgpJiZnPT1hLnNl
bGVjdGVkTW9udGgmJmEuX2tleUV2ZW50fHxFLmdldFRpbWUoKT09ci5nZXRUaW1lKCkmJkUuZ2V0
VGltZSgpPT1QLmdldFRpbWUoKT8iICIrdGhpcy5fZGF5T3ZlckNsYXNzOiIiKSsoTD8iICIrdGhp
cy5fdW5zZWxlY3RhYmxlQ2xhc3MrIiB1aS1zdGF0ZS1kaXNhYmxlZCI6IiIpKyhGJiYhRD8iIjoi
ICIrSVsxXSsoci5nZXRUaW1lKCk9PXUuZ2V0VGltZSgpPyIgIit0aGlzLl9jdXJyZW50Q2xhc3M6
IiIpKyhyLmdldFRpbWUoKT09Yi5nZXRUaW1lKCk/IiB1aS1kYXRlcGlja2VyLXRvZGF5IjoiIikp
KyciJysoKCFGfHxEKSYmSVsyXT8nIHRpdGxlPSInK0lbMl0rJyInOiIiKSsoTD8iIjonIG9uY2xp
Y2s9IkRQX2pRdWVyeV8nK0IrIi5kYXRlcGlja2VyLl9zZWxlY3REYXkoJyMiK2EuaWQrIicsIity
LmdldE1vbnRoKCkrIiwiK3IuZ2V0RnVsbFllYXIoKSsnLCB0aGlzKTtyZXR1cm4gZmFsc2U7Iicp
KyI+IisoRiYmIUQ/IiYjeGEwOyI6TD8nPHNwYW4gY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQiPicr
CityLmdldERhdGUoKSsiPC9zcGFuPiI6JzxhIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0Jysoci5n
ZXRUaW1lKCk9PWIuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxpZ2h0IjoiIikrKHIuZ2V0VGlt
ZSgpPT11LmdldFRpbWUoKT8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIpKyhGPyIgdWktcHJpb3JpdHkt
c2Vjb25kYXJ5IjoiIikrJyIgaHJlZj0iIyI+JytyLmdldERhdGUoKSsiPC9hPiIpKyI8L3RkPiI7
ci5zZXREYXRlKHIuZ2V0RGF0ZSgpKzEpO3I9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3Qocil9
eSs9UisiPC90cj4ifWcrKztpZihnPjExKXtnPTA7bSsrfXkrPSI8L3Rib2R5PjwvdGFibGU+Iiso
bD8iPC9kaXY+IisoaVswXT4wJiZHPT1pWzFdLTE/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXIt
cm93LWJyZWFrIj48L2Rpdj4nOiIiKToiIik7Tys9eX13Kz1PfXcrPWUrKGQuYnJvd3Nlci5tc2ll
JiZwYXJzZUludChkLmJyb3dzZXIudmVyc2lvbiwxMCk8NyYmIWEuaW5saW5lPyc8aWZyYW1lIHNy
Yz0iamF2YXNjcmlwdDpmYWxzZTsiIGNsYXNzPSJ1aS1kYXRlcGlja2VyLWNvdmVyIiBmcmFtZWJv
cmRlcj0iMCI+PC9pZnJhbWU+JzoKKyIiKTthLl9rZXlFdmVudD1mYWxzZTtyZXR1cm4gd30sX2dl
bmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGEsYixjLGUsZixoLGksZyl7dmFyIGo9dGhp
cy5fZ2V0KGEsImNoYW5nZU1vbnRoIiksbD10aGlzLl9nZXQoYSwiY2hhbmdlWWVhciIpLHU9dGhp
cy5fZ2V0KGEsInNob3dNb250aEFmdGVyWWVhciIpLGs9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNr
ZXItdGl0bGUiPicsbz0iIjtpZihofHwhailvKz0nPHNwYW4gY2xhc3M9InVpLWRhdGVwaWNrZXIt
bW9udGgiPicraVtiXSsiPC9zcGFuPiI7ZWxzZXtpPWUmJmUuZ2V0RnVsbFllYXIoKT09Yzt2YXIg
bT1mJiZmLmdldEZ1bGxZZWFyKCk9PWM7bys9JzxzZWxlY3QgY2xhc3M9InVpLWRhdGVwaWNrZXIt
bW9udGgiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytCKyIuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZ
ZWFyKCcjIithLmlkKyInLCB0aGlzLCAnTScpO1wiID4iO2Zvcih2YXIgbj0wO248MTI7bisrKWlm
KCghaXx8bj49ZS5nZXRNb250aCgpKSYmCisoIW18fG48PWYuZ2V0TW9udGgoKSkpbys9JzxvcHRp
b24gdmFsdWU9IicrbisnIicrKG49PWI/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzoiIikrIj4iK2db
bl0rIjwvb3B0aW9uPiI7bys9Ijwvc2VsZWN0PiJ9dXx8KGsrPW8rKGh8fCEoaiYmbCk/IiYjeGEw
OyI6IiIpKTtpZighYS55ZWFyc2h0bWwpe2EueWVhcnNodG1sPSIiO2lmKGh8fCFsKWsrPSc8c3Bh
biBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIj4nK2MrIjwvc3Bhbj4iO2Vsc2V7Zz10aGlzLl9n
ZXQoYSwieWVhclJhbmdlIikuc3BsaXQoIjoiKTt2YXIgcz0obmV3IERhdGUpLmdldEZ1bGxZZWFy
KCk7aT1mdW5jdGlvbihxKXtxPXEubWF0Y2goL2NbKy1dLiovKT9jK3BhcnNlSW50KHEuc3Vic3Ry
aW5nKDEpLDEwKTpxLm1hdGNoKC9bKy1dLiovKT9zK3BhcnNlSW50KHEsMTApOnBhcnNlSW50KHEs
MTApO3JldHVybiBpc05hTihxKT9zOnF9O2I9aShnWzBdKTtnPU1hdGgubWF4KGIsaShnWzFdfHwi
IikpO2I9ZT9NYXRoLm1heChiLAorZS5nZXRGdWxsWWVhcigpKTpiO2c9Zj9NYXRoLm1pbihnLGYu
Z2V0RnVsbFllYXIoKSk6Zztmb3IoYS55ZWFyc2h0bWwrPSc8c2VsZWN0IGNsYXNzPSJ1aS1kYXRl
cGlja2VyLXllYXIiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytCKyIuZGF0ZXBpY2tlci5fc2VsZWN0
TW9udGhZZWFyKCcjIithLmlkKyInLCB0aGlzLCAnWScpO1wiID4iO2I8PWc7YisrKWEueWVhcnNo
dG1sKz0nPG9wdGlvbiB2YWx1ZT0iJytiKyciJysoYj09Yz8nIHNlbGVjdGVkPSJzZWxlY3RlZCIn
OiIiKSsiPiIrYisiPC9vcHRpb24+IjthLnllYXJzaHRtbCs9Ijwvc2VsZWN0PiI7ays9YS55ZWFy
c2h0bWw7YS55ZWFyc2h0bWw9bnVsbH19ays9dGhpcy5fZ2V0KGEsInllYXJTdWZmaXgiKTtpZih1
KWsrPShofHwhKGomJmwpPyImI3hhMDsiOiIiKStvO2srPSI8L2Rpdj4iO3JldHVybiBrfSxfYWRq
dXN0SW5zdERhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWEuZHJhd1llYXIrKGM9PSJZIj9iOjAp
LGY9YS5kcmF3TW9udGgrCisoYz09Ik0iP2I6MCk7Yj1NYXRoLm1pbihhLnNlbGVjdGVkRGF5LHRo
aXMuX2dldERheXNJbk1vbnRoKGUsZikpKyhjPT0iRCI/YjowKTtlPXRoaXMuX3Jlc3RyaWN0TWlu
TWF4KGEsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZSxmLGIpKSk7YS5zZWxl
Y3RlZERheT1lLmdldERhdGUoKTthLmRyYXdNb250aD1hLnNlbGVjdGVkTW9udGg9ZS5nZXRNb250
aCgpO2EuZHJhd1llYXI9YS5zZWxlY3RlZFllYXI9ZS5nZXRGdWxsWWVhcigpO2lmKGM9PSJNInx8
Yz09IlkiKXRoaXMuX25vdGlmeUNoYW5nZShhKX0sX3Jlc3RyaWN0TWluTWF4OmZ1bmN0aW9uKGEs
Yil7dmFyIGM9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtaW4iKTthPXRoaXMuX2dldE1pbk1heERh
dGUoYSwibWF4Iik7Yj1jJiZiPGM/YzpiO3JldHVybiBiPWEmJmI+YT9hOmJ9LF9ub3RpZnlDaGFu
Z2U6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0KGEsIm9uQ2hhbmdlTW9udGhZZWFyIik7aWYo
YiliLmFwcGx5KGEuaW5wdXQ/CithLmlucHV0WzBdOm51bGwsW2Euc2VsZWN0ZWRZZWFyLGEuc2Vs
ZWN0ZWRNb250aCsxLGFdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1bmN0aW9uKGEpe2E9dGhpcy5f
Z2V0KGEsIm51bWJlck9mTW9udGhzIik7cmV0dXJuIGE9PW51bGw/WzEsMV06dHlwZW9mIGE9PSJu
dW1iZXIiP1sxLGFdOmF9LF9nZXRNaW5NYXhEYXRlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMu
X2RldGVybWluZURhdGUoYSx0aGlzLl9nZXQoYSxiKyJEYXRlIiksbnVsbCl9LF9nZXREYXlzSW5N
b250aDpmdW5jdGlvbihhLGIpe3JldHVybiAzMi10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChu
ZXcgRGF0ZShhLGIsMzIpKS5nZXREYXRlKCl9LF9nZXRGaXJzdERheU9mTW9udGg6ZnVuY3Rpb24o
YSxiKXtyZXR1cm4obmV3IERhdGUoYSxiLDEpKS5nZXREYXkoKX0sX2NhbkFkanVzdE1vbnRoOmZ1
bmN0aW9uKGEsYixjLGUpe3ZhciBmPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGEpO2M9dGhpcy5f
ZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYywKK2UrKGI8MD9iOmZbMF0qZlsxXSksMSkp
O2I8MCYmYy5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGMuZ2V0RnVsbFllYXIoKSxjLmdl
dE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGEsYyl9LF9pc0luUmFuZ2U6ZnVuY3Rp
b24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWlu
TWF4RGF0ZShhLCJtYXgiKTtyZXR1cm4oIWN8fGIuZ2V0VGltZSgpPj1jLmdldFRpbWUoKSkmJigh
YXx8Yi5nZXRUaW1lKCk8PWEuZ2V0VGltZSgpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihh
KXt2YXIgYj10aGlzLl9nZXQoYSwic2hvcnRZZWFyQ3V0b2ZmIik7Yj10eXBlb2YgYiE9InN0cmlu
ZyI/YjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNlSW50KGIsMTApO3JldHVybntz
aG9ydFllYXJDdXRvZmY6YixkYXlOYW1lc1Nob3J0OnRoaXMuX2dldChhLCJkYXlOYW1lc1Nob3J0
IiksZGF5TmFtZXM6dGhpcy5fZ2V0KGEsCisiZGF5TmFtZXMiKSxtb250aE5hbWVzU2hvcnQ6dGhp
cy5fZ2V0KGEsIm1vbnRoTmFtZXNTaG9ydCIpLG1vbnRoTmFtZXM6dGhpcy5fZ2V0KGEsIm1vbnRo
TmFtZXMiKX19LF9mb3JtYXREYXRlOmZ1bmN0aW9uKGEsYixjLGUpe2lmKCFiKXthLmN1cnJlbnRE
YXk9YS5zZWxlY3RlZERheTthLmN1cnJlbnRNb250aD1hLnNlbGVjdGVkTW9udGg7YS5jdXJyZW50
WWVhcj1hLnNlbGVjdGVkWWVhcn1iPWI/dHlwZW9mIGI9PSJvYmplY3QiP2I6dGhpcy5fZGF5bGln
aHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZSxjLGIpKTp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVz
dChuZXcgRGF0ZShhLmN1cnJlbnRZZWFyLGEuY3VycmVudE1vbnRoLGEuY3VycmVudERheSkpO3Jl
dHVybiB0aGlzLmZvcm1hdERhdGUodGhpcy5fZ2V0KGEsImRhdGVGb3JtYXQiKSxiLHRoaXMuX2dl
dEZvcm1hdENvbmZpZyhhKSl9fSk7ZC5mbi5kYXRlcGlja2VyPWZ1bmN0aW9uKGEpe2lmKCF0aGlz
Lmxlbmd0aClyZXR1cm4gdGhpczsKK2lmKCFkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQpe2QoZG9j
dW1lbnQpLm1vdXNlZG93bihkLmRhdGVwaWNrZXIuX2NoZWNrRXh0ZXJuYWxDbGljaykuZmluZCgi
Ym9keSIpLmFwcGVuZChkLmRhdGVwaWNrZXIuZHBEaXYpO2QuZGF0ZXBpY2tlci5pbml0aWFsaXpl
ZD10cnVlfXZhciBiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtpZih0
eXBlb2YgYT09InN0cmluZyImJihhPT0iaXNEaXNhYmxlZCJ8fGE9PSJnZXREYXRlInx8YT09Indp
ZGdldCIpKXJldHVybiBkLmRhdGVwaWNrZXJbIl8iK2ErIkRhdGVwaWNrZXIiXS5hcHBseShkLmRh
dGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChiKSk7aWYoYT09Im9wdGlvbiImJmFyZ3VtZW50cy5s
ZW5ndGg9PTImJnR5cGVvZiBhcmd1bWVudHNbMV09PSJzdHJpbmciKXJldHVybiBkLmRhdGVwaWNr
ZXJbIl8iK2ErIkRhdGVwaWNrZXIiXS5hcHBseShkLmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNh
dChiKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3R5cGVvZiBhPT0KKyJzdHJpbmciP2Qu
ZGF0ZXBpY2tlclsiXyIrYSsiRGF0ZXBpY2tlciJdLmFwcGx5KGQuZGF0ZXBpY2tlcixbdGhpc10u
Y29uY2F0KGIpKTpkLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNrZXIodGhpcyxhKX0pfTtkLmRh
dGVwaWNrZXI9bmV3IE07ZC5kYXRlcGlja2VyLmluaXRpYWxpemVkPWZhbHNlO2QuZGF0ZXBpY2tl
ci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2QuZGF0ZXBpY2tlci52ZXJzaW9uPSIxLjguMTUi
O3dpbmRvd1siRFBfalF1ZXJ5XyIrQl09ZH0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLmRhdGVwaWNrZXIubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAs
MCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kaWFs
b2cubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGlhbG9nLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLmRpYWxvZy5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAq
IGpRdWVyeSBVSSBEaWFsb2cgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMu
dHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0
aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9s
aWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EaWFsb2cKKyAqCisgKiBE
ZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS53aWRnZXQuanMKKyAq
ICBqcXVlcnkudWkuYnV0dG9uLmpzCisgKglqcXVlcnkudWkuZHJhZ2dhYmxlLmpzCisgKglqcXVl
cnkudWkubW91c2UuanMKKyAqCWpxdWVyeS51aS5wb3NpdGlvbi5qcworICoJanF1ZXJ5LnVpLnJl
c2l6YWJsZS5qcworICovCisoZnVuY3Rpb24oYyxsKXt2YXIgbT17YnV0dG9uczp0cnVlLGhlaWdo
dDp0cnVlLG1heEhlaWdodDp0cnVlLG1heFdpZHRoOnRydWUsbWluSGVpZ2h0OnRydWUsbWluV2lk
dGg6dHJ1ZSx3aWR0aDp0cnVlfSxuPXttYXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhl
aWdodDp0cnVlLG1pbldpZHRoOnRydWV9LG89Yy5hdHRyRm58fHt2YWw6dHJ1ZSxjc3M6dHJ1ZSxo
dG1sOnRydWUsdGV4dDp0cnVlLGRhdGE6dHJ1ZSx3aWR0aDp0cnVlLGhlaWdodDp0cnVlLG9mZnNl
dDp0cnVlLGNsaWNrOnRydWV9O2Mud2lkZ2V0KCJ1aS5kaWFsb2ciLHtvcHRpb25zOnthdXRvT3Bl
bjp0cnVlLGJ1dHRvbnM6e30sY2xvc2VPbkVzY2FwZTp0cnVlLGNsb3NlVGV4dDoiY2xvc2UiLGRp
YWxvZ0NsYXNzOiIiLGRyYWdnYWJsZTp0cnVlLGhpZGU6bnVsbCxoZWlnaHQ6ImF1dG8iLG1heEhl
aWdodDpmYWxzZSxtYXhXaWR0aDpmYWxzZSxtaW5IZWlnaHQ6MTUwLG1pbldpZHRoOjE1MCxtb2Rh
bDpmYWxzZSwKK3Bvc2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixjb2xsaXNpb246ImZp
dCIsdXNpbmc6ZnVuY3Rpb24oYSl7dmFyIGI9Yyh0aGlzKS5jc3MoYSkub2Zmc2V0KCkudG9wO2I8
MCYmYyh0aGlzKS5jc3MoInRvcCIsYS50b3AtYil9fSxyZXNpemFibGU6dHJ1ZSxzaG93Om51bGws
c3RhY2s6dHJ1ZSx0aXRsZToiIix3aWR0aDozMDAsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlv
bigpe3RoaXMub3JpZ2luYWxUaXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKTtpZih0eXBl
b2YgdGhpcy5vcmlnaW5hbFRpdGxlIT09InN0cmluZyIpdGhpcy5vcmlnaW5hbFRpdGxlPSIiO3Ro
aXMub3B0aW9ucy50aXRsZT10aGlzLm9wdGlvbnMudGl0bGV8fHRoaXMub3JpZ2luYWxUaXRsZTt2
YXIgYT10aGlzLGI9YS5vcHRpb25zLGQ9Yi50aXRsZXx8IiYjMTYwOyIsZT1jLnVpLmRpYWxvZy5n
ZXRUaXRsZUlkKGEuZWxlbWVudCksZz0oYS51aURpYWxvZz1jKCI8ZGl2PjwvZGl2PiIpKS5hcHBl
bmRUbyhkb2N1bWVudC5ib2R5KS5oaWRlKCkuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQg
dWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCAiKworYi5kaWFsb2dDbGFzcykuY3NzKHt6
SW5kZXg6Yi56SW5kZXh9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLmNzcygib3V0bGluZSIsMCkua2V5
ZG93bihmdW5jdGlvbihpKXtpZihiLmNsb3NlT25Fc2NhcGUmJmkua2V5Q29kZSYmaS5rZXlDb2Rl
PT09Yy51aS5rZXlDb2RlLkVTQ0FQRSl7YS5jbG9zZShpKTtpLnByZXZlbnREZWZhdWx0KCl9fSku
YXR0cih7cm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5IjplfSkubW91c2Vkb3duKGZ1bmN0
aW9uKGkpe2EubW92ZVRvVG9wKGZhbHNlLGkpfSk7YS5lbGVtZW50LnNob3coKS5yZW1vdmVBdHRy
KCJ0aXRsZSIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIp
LmFwcGVuZFRvKGcpO3ZhciBmPShhLnVpRGlhbG9nVGl0bGViYXI9YygiPGRpdj48L2Rpdj4iKSku
YWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1h
bGwgdWktaGVscGVyLWNsZWFyZml4IikucHJlcGVuZFRvKGcpLAoraD1jKCc8YSBocmVmPSIjIj48
L2E+JykuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiku
YXR0cigicm9sZSIsImJ1dHRvbiIpLmhvdmVyKGZ1bmN0aW9uKCl7aC5hZGRDbGFzcygidWktc3Rh
dGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtoLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSku
Zm9jdXMoZnVuY3Rpb24oKXtoLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmx1cihmdW5j
dGlvbigpe2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KS5jbGljayhmdW5jdGlvbihp
KXthLmNsb3NlKGkpO3JldHVybiBmYWxzZX0pLmFwcGVuZFRvKGYpOyhhLnVpRGlhbG9nVGl0bGVi
YXJDbG9zZVRleHQ9YygiPHNwYW4+PC9zcGFuPiIpKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29u
LWNsb3NldGhpY2siKS50ZXh0KGIuY2xvc2VUZXh0KS5hcHBlbmRUbyhoKTtjKCI8c3Bhbj48L3Nw
YW4+IikuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZSIpLmF0dHIoImlkIiwKK2UpLmh0bWwoZCku
cHJlcGVuZFRvKGYpO2lmKGMuaXNGdW5jdGlvbihiLmJlZm9yZWNsb3NlKSYmIWMuaXNGdW5jdGlv
bihiLmJlZm9yZUNsb3NlKSliLmJlZm9yZUNsb3NlPWIuYmVmb3JlY2xvc2U7Zi5maW5kKCIqIiku
YWRkKGYpLmRpc2FibGVTZWxlY3Rpb24oKTtiLmRyYWdnYWJsZSYmYy5mbi5kcmFnZ2FibGUmJmEu
X21ha2VEcmFnZ2FibGUoKTtiLnJlc2l6YWJsZSYmYy5mbi5yZXNpemFibGUmJmEuX21ha2VSZXNp
emFibGUoKTthLl9jcmVhdGVCdXR0b25zKGIuYnV0dG9ucyk7YS5faXNPcGVuPWZhbHNlO2MuZm4u
YmdpZnJhbWUmJmcuYmdpZnJhbWUoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0
b09wZW4mJnRoaXMub3BlbigpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLm92ZXJs
YXkmJmEub3ZlcmxheS5kZXN0cm95KCk7YS51aURpYWxvZy5oaWRlKCk7YS5lbGVtZW50LnVuYmlu
ZCgiLmRpYWxvZyIpLnJlbW92ZURhdGEoImRpYWxvZyIpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ct
Y29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmhpZGUoKS5hcHBlbmRUbygiYm9keSIpOworYS51
aURpYWxvZy5yZW1vdmUoKTthLm9yaWdpbmFsVGl0bGUmJmEuZWxlbWVudC5hdHRyKCJ0aXRsZSIs
YS5vcmlnaW5hbFRpdGxlKTtyZXR1cm4gYX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu
dWlEaWFsb2d9LGNsb3NlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsZCxlO2lmKGZhbHNlIT09Yi5f
dHJpZ2dlcigiYmVmb3JlQ2xvc2UiLGEpKXtiLm92ZXJsYXkmJmIub3ZlcmxheS5kZXN0cm95KCk7
Yi51aURpYWxvZy51bmJpbmQoImtleXByZXNzLnVpLWRpYWxvZyIpO2IuX2lzT3Blbj1mYWxzZTtp
ZihiLm9wdGlvbnMuaGlkZSliLnVpRGlhbG9nLmhpZGUoYi5vcHRpb25zLmhpZGUsZnVuY3Rpb24o
KXtiLl90cmlnZ2VyKCJjbG9zZSIsYSl9KTtlbHNle2IudWlEaWFsb2cuaGlkZSgpO2IuX3RyaWdn
ZXIoImNsb3NlIixhKX1jLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpO2lmKGIub3B0aW9ucy5t
b2RhbCl7ZD0wO2MoIi51aS1kaWFsb2ciKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcyE9PQorYi51
aURpYWxvZ1swXSl7ZT1jKHRoaXMpLmNzcygiei1pbmRleCIpO2lzTmFOKGUpfHwoZD1NYXRoLm1h
eChkLGUpKX19KTtjLnVpLmRpYWxvZy5tYXhaPWR9cmV0dXJuIGJ9fSxpc09wZW46ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5faXNPcGVufSxtb3ZlVG9Ub3A6ZnVuY3Rpb24oYSxiKXt2YXIgZD10aGlz
LGU9ZC5vcHRpb25zO2lmKGUubW9kYWwmJiFhfHwhZS5zdGFjayYmIWUubW9kYWwpcmV0dXJuIGQu
X3RyaWdnZXIoImZvY3VzIixiKTtpZihlLnpJbmRleD5jLnVpLmRpYWxvZy5tYXhaKWMudWkuZGlh
bG9nLm1heFo9ZS56SW5kZXg7aWYoZC5vdmVybGF5KXtjLnVpLmRpYWxvZy5tYXhaKz0xO2Qub3Zl
cmxheS4kZWwuY3NzKCJ6LWluZGV4IixjLnVpLmRpYWxvZy5vdmVybGF5Lm1heFo9Yy51aS5kaWFs
b2cubWF4Wil9YT17c2Nyb2xsVG9wOmQuZWxlbWVudC5zY3JvbGxUb3AoKSxzY3JvbGxMZWZ0OmQu
ZWxlbWVudC5zY3JvbGxMZWZ0KCl9O2MudWkuZGlhbG9nLm1heForPTE7CitkLnVpRGlhbG9nLmNz
cygiei1pbmRleCIsYy51aS5kaWFsb2cubWF4Wik7ZC5lbGVtZW50LmF0dHIoYSk7ZC5fdHJpZ2dl
cigiZm9jdXMiLGIpO3JldHVybiBkfSxvcGVuOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2lzT3Blbil7
dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxkPWEudWlEaWFsb2c7YS5vdmVybGF5PWIubW9kYWw/bmV3
IGMudWkuZGlhbG9nLm92ZXJsYXkoYSk6bnVsbDthLl9zaXplKCk7YS5fcG9zaXRpb24oYi5wb3Np
dGlvbik7ZC5zaG93KGIuc2hvdyk7YS5tb3ZlVG9Ub3AodHJ1ZSk7Yi5tb2RhbCYmZC5iaW5kKCJr
ZXlwcmVzcy51aS1kaWFsb2ciLGZ1bmN0aW9uKGUpe2lmKGUua2V5Q29kZT09PWMudWkua2V5Q29k
ZS5UQUIpe3ZhciBnPWMoIjp0YWJiYWJsZSIsdGhpcyksZj1nLmZpbHRlcigiOmZpcnN0Iik7Zz1n
LmZpbHRlcigiOmxhc3QiKTtpZihlLnRhcmdldD09PWdbMF0mJiFlLnNoaWZ0S2V5KXtmLmZvY3Vz
KDEpO3JldHVybiBmYWxzZX1lbHNlIGlmKGUudGFyZ2V0PT09CitmWzBdJiZlLnNoaWZ0S2V5KXtn
LmZvY3VzKDEpO3JldHVybiBmYWxzZX19fSk7YyhhLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIiku
Z2V0KCkuY29uY2F0KGQuZmluZCgiLnVpLWRpYWxvZy1idXR0b25wYW5lIDp0YWJiYWJsZSIpLmdl
dCgpLmNvbmNhdChkLmdldCgpKSkpLmVxKDApLmZvY3VzKCk7YS5faXNPcGVuPXRydWU7YS5fdHJp
Z2dlcigib3BlbiIpO3JldHVybiBhfX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oYSl7dmFyIGI9
dGhpcyxkPWZhbHNlLGU9YygiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRv
bnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiksZz1jKCI8ZGl2Pjwv
ZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8oZSk7Yi51aURp
YWxvZy5maW5kKCIudWktZGlhbG9nLWJ1dHRvbnBhbmUiKS5yZW1vdmUoKTt0eXBlb2YgYT09PSJv
YmplY3QiJiZhIT09bnVsbCYmYy5lYWNoKGEsCitmdW5jdGlvbigpe3JldHVybiEoZD10cnVlKX0p
O2lmKGQpe2MuZWFjaChhLGZ1bmN0aW9uKGYsaCl7aD1jLmlzRnVuY3Rpb24oaCk/e2NsaWNrOmgs
dGV4dDpmfTpoO3ZhciBpPWMoJzxidXR0b24gdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5jbGlj
ayhmdW5jdGlvbigpe2guY2xpY2suYXBwbHkoYi5lbGVtZW50WzBdLGFyZ3VtZW50cyl9KS5hcHBl
bmRUbyhnKTtjLmVhY2goaCxmdW5jdGlvbihqLGspe2lmKGohPT0iY2xpY2siKWogaW4gbz9pW2pd
KGspOmkuYXR0cihqLGspfSk7Yy5mbi5idXR0b24mJmkuYnV0dG9uKCl9KTtlLmFwcGVuZFRvKGIu
dWlEaWFsb2cpfX0sX21ha2VEcmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGYpe3JldHVy
bntwb3NpdGlvbjpmLnBvc2l0aW9uLG9mZnNldDpmLm9mZnNldH19dmFyIGI9dGhpcyxkPWIub3B0
aW9ucyxlPWMoZG9jdW1lbnQpLGc7Yi51aURpYWxvZy5kcmFnZ2FibGUoe2NhbmNlbDoiLnVpLWRp
YWxvZy1jb250ZW50LCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIiwKK2hhbmRsZToiLnVpLWRp
YWxvZy10aXRsZWJhciIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihmLGgp
e2c9ZC5oZWlnaHQ9PT0iYXV0byI/ImF1dG8iOmModGhpcykuaGVpZ2h0KCk7Yyh0aGlzKS5oZWln
aHQoYyh0aGlzKS5oZWlnaHQoKSkuYWRkQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpO2IuX3Ry
aWdnZXIoImRyYWdTdGFydCIsZixhKGgpKX0sZHJhZzpmdW5jdGlvbihmLGgpe2IuX3RyaWdnZXIo
ImRyYWciLGYsYShoKSl9LHN0b3A6ZnVuY3Rpb24oZixoKXtkLnBvc2l0aW9uPVtoLnBvc2l0aW9u
LmxlZnQtZS5zY3JvbGxMZWZ0KCksaC5wb3NpdGlvbi50b3AtZS5zY3JvbGxUb3AoKV07Yyh0aGlz
KS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRyYWdnaW5nIikuaGVpZ2h0KGcpO2IuX3RyaWdnZXIo
ImRyYWdTdG9wIixmLGEoaCkpO2MudWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKCl9fSl9LF9tYWtl
UmVzaXphYmxlOmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZil7cmV0dXJue29yaWdpbmFsUG9zaXRp
b246Zi5vcmlnaW5hbFBvc2l0aW9uLAorb3JpZ2luYWxTaXplOmYub3JpZ2luYWxTaXplLHBvc2l0
aW9uOmYucG9zaXRpb24sc2l6ZTpmLnNpemV9fWE9YT09PWw/dGhpcy5vcHRpb25zLnJlc2l6YWJs
ZTphO3ZhciBkPXRoaXMsZT1kLm9wdGlvbnMsZz1kLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKTth
PXR5cGVvZiBhPT09InN0cmluZyI/YToibixlLHMsdyxzZSxzdyxuZSxudyI7ZC51aURpYWxvZy5y
ZXNpemFibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50Iixjb250YWlubWVudDoiZG9jdW1l
bnQiLGFsc29SZXNpemU6ZC5lbGVtZW50LG1heFdpZHRoOmUubWF4V2lkdGgsbWF4SGVpZ2h0OmUu
bWF4SGVpZ2h0LG1pbldpZHRoOmUubWluV2lkdGgsbWluSGVpZ2h0OmQuX21pbkhlaWdodCgpLGhh
bmRsZXM6YSxzdGFydDpmdW5jdGlvbihmLGgpe2ModGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1y
ZXNpemluZyIpO2QuX3RyaWdnZXIoInJlc2l6ZVN0YXJ0IixmLGIoaCkpfSxyZXNpemU6ZnVuY3Rp
b24oZixoKXtkLl90cmlnZ2VyKCJyZXNpemUiLAorZixiKGgpKX0sc3RvcDpmdW5jdGlvbihmLGgp
e2ModGhpcykucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2UuaGVpZ2h0PWModGhp
cykuaGVpZ2h0KCk7ZS53aWR0aD1jKHRoaXMpLndpZHRoKCk7ZC5fdHJpZ2dlcigicmVzaXplU3Rv
cCIsZixiKGgpKTtjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pLmNzcygicG9zaXRpb24i
LGcpLmZpbmQoIi51aS1yZXNpemFibGUtc2UiKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdy
aXAtZGlhZ29uYWwtc2UiKX0sX21pbkhlaWdodDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9u
cztyZXR1cm4gYS5oZWlnaHQ9PT0iYXV0byI/YS5taW5IZWlnaHQ6TWF0aC5taW4oYS5taW5IZWln
aHQsYS5oZWlnaHQpfSxfcG9zaXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9W10sZD1bMCwwXSxlO2lm
KGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyJ8fHR5cGVvZiBhPT09Im9iamVjdCImJiIwImluIGEp
e2I9YS5zcGxpdD9hLnNwbGl0KCIgIik6CitbYVswXSxhWzFdXTtpZihiLmxlbmd0aD09PTEpYlsx
XT1iWzBdO2MuZWFjaChbImxlZnQiLCJ0b3AiXSxmdW5jdGlvbihnLGYpe2lmKCtiW2ddPT09Yltn
XSl7ZFtnXT1iW2ddO2JbZ109Zn19KTthPXtteTpiLmpvaW4oIiAiKSxhdDpiLmpvaW4oIiAiKSxv
ZmZzZXQ6ZC5qb2luKCIgIil9fWE9Yy5leHRlbmQoe30sYy51aS5kaWFsb2cucHJvdG90eXBlLm9w
dGlvbnMucG9zaXRpb24sYSl9ZWxzZSBhPWMudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBv
c2l0aW9uOyhlPXRoaXMudWlEaWFsb2cuaXMoIjp2aXNpYmxlIikpfHx0aGlzLnVpRGlhbG9nLnNo
b3coKTt0aGlzLnVpRGlhbG9nLmNzcyh7dG9wOjAsbGVmdDowfSkucG9zaXRpb24oYy5leHRlbmQo
e29mOndpbmRvd30sYSkpO2V8fHRoaXMudWlEaWFsb2cuaGlkZSgpfSxfc2V0T3B0aW9uczpmdW5j
dGlvbihhKXt2YXIgYj10aGlzLGQ9e30sZT1mYWxzZTtjLmVhY2goYSxmdW5jdGlvbihnLGYpe2Iu
X3NldE9wdGlvbihnLGYpOworaWYoZyBpbiBtKWU9dHJ1ZTtpZihnIGluIG4pZFtnXT1mfSk7ZSYm
dGhpcy5fc2l6ZSgpO3RoaXMudWlEaWFsb2cuaXMoIjpkYXRhKHJlc2l6YWJsZSkiKSYmdGhpcy51
aURpYWxvZy5yZXNpemFibGUoIm9wdGlvbiIsZCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXt2
YXIgZD10aGlzLGU9ZC51aURpYWxvZztzd2l0Y2goYSl7Y2FzZSAiYmVmb3JlY2xvc2UiOmE9ImJl
Zm9yZUNsb3NlIjticmVhaztjYXNlICJidXR0b25zIjpkLl9jcmVhdGVCdXR0b25zKGIpO2JyZWFr
O2Nhc2UgImNsb3NlVGV4dCI6ZC51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0LnRleHQoIiIrYik7
YnJlYWs7Y2FzZSAiZGlhbG9nQ2xhc3MiOmUucmVtb3ZlQ2xhc3MoZC5vcHRpb25zLmRpYWxvZ0Ns
YXNzKS5hZGRDbGFzcygidWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1j
b3JuZXItYWxsICIrYik7YnJlYWs7Y2FzZSAiZGlzYWJsZWQiOmI/ZS5hZGRDbGFzcygidWktZGlh
bG9nLWRpc2FibGVkIik6CitlLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctZGlzYWJsZWQiKTticmVh
aztjYXNlICJkcmFnZ2FibGUiOnZhciBnPWUuaXMoIjpkYXRhKGRyYWdnYWJsZSkiKTtnJiYhYiYm
ZS5kcmFnZ2FibGUoImRlc3Ryb3kiKTshZyYmYiYmZC5fbWFrZURyYWdnYWJsZSgpO2JyZWFrO2Nh
c2UgInBvc2l0aW9uIjpkLl9wb3NpdGlvbihiKTticmVhaztjYXNlICJyZXNpemFibGUiOihnPWUu
aXMoIjpkYXRhKHJlc2l6YWJsZSkiKSkmJiFiJiZlLnJlc2l6YWJsZSgiZGVzdHJveSIpO2cmJnR5
cGVvZiBiPT09InN0cmluZyImJmUucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIixiKTshZyYm
YiE9PWZhbHNlJiZkLl9tYWtlUmVzaXphYmxlKGIpO2JyZWFrO2Nhc2UgInRpdGxlIjpjKCIudWkt
ZGlhbG9nLXRpdGxlIixkLnVpRGlhbG9nVGl0bGViYXIpLmh0bWwoIiIrKGJ8fCImIzE2MDsiKSk7
YnJlYWt9Yy5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkoZCxhcmd1bWVudHMpfSxf
c2l6ZTpmdW5jdGlvbigpe3ZhciBhPQordGhpcy5vcHRpb25zLGIsZCxlPXRoaXMudWlEaWFsb2cu
aXMoIjp2aXNpYmxlIik7dGhpcy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5I
ZWlnaHQ6MCxoZWlnaHQ6MH0pO2lmKGEubWluV2lkdGg+YS53aWR0aClhLndpZHRoPWEubWluV2lk
dGg7Yj10aGlzLnVpRGlhbG9nLmNzcyh7aGVpZ2h0OiJhdXRvIix3aWR0aDphLndpZHRofSkuaGVp
Z2h0KCk7ZD1NYXRoLm1heCgwLGEubWluSGVpZ2h0LWIpO2lmKGEuaGVpZ2h0PT09ImF1dG8iKWlm
KGMuc3VwcG9ydC5taW5IZWlnaHQpdGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OmQsaGVpZ2h0
OiJhdXRvIn0pO2Vsc2V7dGhpcy51aURpYWxvZy5zaG93KCk7YT10aGlzLmVsZW1lbnQuY3NzKCJo
ZWlnaHQiLCJhdXRvIikuaGVpZ2h0KCk7ZXx8dGhpcy51aURpYWxvZy5oaWRlKCk7dGhpcy5lbGVt
ZW50LmhlaWdodChNYXRoLm1heChhLGQpKX1lbHNlIHRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5t
YXgoYS5oZWlnaHQtCitiLDApKTt0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikm
JnRoaXMudWlEaWFsb2cucmVzaXphYmxlKCJvcHRpb24iLCJtaW5IZWlnaHQiLHRoaXMuX21pbkhl
aWdodCgpKX19KTtjLmV4dGVuZChjLnVpLmRpYWxvZyx7dmVyc2lvbjoiMS44LjE1Iix1dWlkOjAs
bWF4WjowLGdldFRpdGxlSWQ6ZnVuY3Rpb24oYSl7YT1hLmF0dHIoImlkIik7aWYoIWEpe3RoaXMu
dXVpZCs9MTthPXRoaXMudXVpZH1yZXR1cm4idWktZGlhbG9nLXRpdGxlLSIrYX0sb3ZlcmxheTpm
dW5jdGlvbihhKXt0aGlzLiRlbD1jLnVpLmRpYWxvZy5vdmVybGF5LmNyZWF0ZShhKX19KTtjLmV4
dGVuZChjLnVpLmRpYWxvZy5vdmVybGF5LHtpbnN0YW5jZXM6W10sb2xkSW5zdGFuY2VzOltdLG1h
eFo6MCxldmVudHM6Yy5tYXAoImZvY3VzLG1vdXNlZG93bixtb3VzZXVwLGtleWRvd24sa2V5cHJl
c3MsY2xpY2siLnNwbGl0KCIsIiksZnVuY3Rpb24oYSl7cmV0dXJuIGErIi5kaWFsb2ctb3Zlcmxh
eSJ9KS5qb2luKCIgIiksCitjcmVhdGU6ZnVuY3Rpb24oYSl7aWYodGhpcy5pbnN0YW5jZXMubGVu
Z3RoPT09MCl7c2V0VGltZW91dChmdW5jdGlvbigpe2MudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFu
Y2VzLmxlbmd0aCYmYyhkb2N1bWVudCkuYmluZChjLnVpLmRpYWxvZy5vdmVybGF5LmV2ZW50cyxm
dW5jdGlvbihkKXtpZihjKGQudGFyZ2V0KS56SW5kZXgoKTxjLnVpLmRpYWxvZy5vdmVybGF5Lm1h
eFopcmV0dXJuIGZhbHNlfSl9LDEpO2MoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZGlhbG9nLW92
ZXJsYXkiLGZ1bmN0aW9uKGQpe2lmKGEub3B0aW9ucy5jbG9zZU9uRXNjYXBlJiZkLmtleUNvZGUm
JmQua2V5Q29kZT09PWMudWkua2V5Q29kZS5FU0NBUEUpe2EuY2xvc2UoZCk7ZC5wcmV2ZW50RGVm
YXVsdCgpfX0pO2Mod2luZG93KS5iaW5kKCJyZXNpemUuZGlhbG9nLW92ZXJsYXkiLGMudWkuZGlh
bG9nLm92ZXJsYXkucmVzaXplKX12YXIgYj0odGhpcy5vbGRJbnN0YW5jZXMucG9wKCl8fGMoIjxk
aXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLXdpZGdldC1vdmVybGF5IikpLmFwcGVuZFRvKGRvY3Vt
ZW50LmJvZHkpLmNzcyh7d2lkdGg6dGhpcy53aWR0aCgpLAoraGVpZ2h0OnRoaXMuaGVpZ2h0KCl9
KTtjLmZuLmJnaWZyYW1lJiZiLmJnaWZyYW1lKCk7dGhpcy5pbnN0YW5jZXMucHVzaChiKTtyZXR1
cm4gYn0sZGVzdHJveTpmdW5jdGlvbihhKXt2YXIgYj1jLmluQXJyYXkoYSx0aGlzLmluc3RhbmNl
cyk7YiE9LTEmJnRoaXMub2xkSW5zdGFuY2VzLnB1c2godGhpcy5pbnN0YW5jZXMuc3BsaWNlKGIs
MSlbMF0pO3RoaXMuaW5zdGFuY2VzLmxlbmd0aD09PTAmJmMoW2RvY3VtZW50LHdpbmRvd10pLnVu
YmluZCgiLmRpYWxvZy1vdmVybGF5Iik7YS5yZW1vdmUoKTt2YXIgZD0wO2MuZWFjaCh0aGlzLmlu
c3RhbmNlcyxmdW5jdGlvbigpe2Q9TWF0aC5tYXgoZCx0aGlzLmNzcygiei1pbmRleCIpKX0pO3Ro
aXMubWF4Wj1kfSxoZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYSxiO2lmKGMuYnJvd3Nlci5tc2llJiZj
LmJyb3dzZXIudmVyc2lvbjw3KXthPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxIZWlnaHQsZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQpOworYj1NYXRoLm1heChkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LGRvY3VtZW50LmJvZHkub2Zmc2V0SGVp
Z2h0KTtyZXR1cm4gYTxiP2Mod2luZG93KS5oZWlnaHQoKSsicHgiOmErInB4In1lbHNlIHJldHVy
biBjKGRvY3VtZW50KS5oZWlnaHQoKSsicHgifSx3aWR0aDpmdW5jdGlvbigpe3ZhciBhLGI7aWYo
Yy5icm93c2VyLm1zaWUpe2E9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bFdpZHRoLGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgpO2I9TWF0aC5tYXgoZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoLGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO3JldHVy
biBhPGI/Yyh3aW5kb3cpLndpZHRoKCkrInB4IjphKyJweCJ9ZWxzZSByZXR1cm4gYyhkb2N1bWVu
dCkud2lkdGgoKSsicHgifSxyZXNpemU6ZnVuY3Rpb24oKXt2YXIgYT1jKFtdKTtjLmVhY2goYy51
aS5kaWFsb2cub3ZlcmxheS5pbnN0YW5jZXMsZnVuY3Rpb24oKXthPQorYS5hZGQodGhpcyl9KTth
LmNzcyh7d2lkdGg6MCxoZWlnaHQ6MH0pLmNzcyh7d2lkdGg6Yy51aS5kaWFsb2cub3ZlcmxheS53
aWR0aCgpLGhlaWdodDpjLnVpLmRpYWxvZy5vdmVybGF5LmhlaWdodCgpfSl9fSk7Yy5leHRlbmQo
Yy51aS5kaWFsb2cub3ZlcmxheS5wcm90b3R5cGUse2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjLnVpLmRp
YWxvZy5vdmVybGF5LmRlc3Ryb3kodGhpcy4kZWwpfX0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkuZGlhbG9nLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMj
IC0wLDAgKzEgIyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
ZHJhZ2dhYmxlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanMJKG5vbmV4
aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3VpL2pxdWVyeS51aS5kcmFnZ2FibGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgRHJhZ2dhYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdo
dCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwg
bGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0
cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkv
RHJhZ2dhYmxlcworICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1
ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihk
KXtkLndpZGdldCgidWkuZHJhZ2dhYmxlIixkLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoi
ZHJhZyIsb3B0aW9uczp7YWRkQ2xhc3Nlczp0cnVlLGFwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFs
c2UsY29ubmVjdFRvU29ydGFibGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRv
IixjdXJzb3JBdDpmYWxzZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFs
IixpZnJhbWVGaXg6ZmFsc2Usb3BhY2l0eTpmYWxzZSxyZWZyZXNoUG9zaXRpb25zOmZhbHNlLHJl
dmVydDpmYWxzZSxyZXZlcnREdXJhdGlvbjo1MDAsc2NvcGU6ImRlZmF1bHQiLHNjcm9sbDp0cnVl
LHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ZmFsc2Usc25hcE1vZGU6
ImJvdGgiLHNuYXBUb2xlcmFuY2U6MjAsc3RhY2s6ZmFsc2UsekluZGV4OmZhbHNlfSxfY3JlYXRl
OmZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmhlbHBlcj09Cisib3JpZ2luYWwiJiYhL14oPzpy
fGF8ZikvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBd
LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMu
ZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0
aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNl
SW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtZW50LmRhdGEoImRyYWdnYWJs
ZSIpKXt0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dh
YmxlIikucmVtb3ZlQ2xhc3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWkt
ZHJhZ2dhYmxlLWRpc2FibGVkIik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9fSxf
bW91c2VDYXB0dXJlOmZ1bmN0aW9uKGEpe3ZhciBiPQordGhpcy5vcHRpb25zO2lmKHRoaXMuaGVs
cGVyfHxiLmRpc2FibGVkfHxkKGEudGFyZ2V0KS5pcygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSly
ZXR1cm4gZmFsc2U7dGhpcy5oYW5kbGU9dGhpcy5fZ2V0SGFuZGxlKGEpO2lmKCF0aGlzLmhhbmRs
ZSlyZXR1cm4gZmFsc2U7ZChiLmlmcmFtZUZpeD09PXRydWU/ImlmcmFtZSI6Yi5pZnJhbWVGaXgp
LmVhY2goZnVuY3Rpb24oKXtkKCc8ZGl2IGNsYXNzPSJ1aS1kcmFnZ2FibGUtaWZyYW1lRml4IiBz
dHlsZT0iYmFja2dyb3VuZDogI2ZmZjsiPjwvZGl2PicpLmNzcyh7d2lkdGg6dGhpcy5vZmZzZXRX
aWR0aCsicHgiLGhlaWdodDp0aGlzLm9mZnNldEhlaWdodCsicHgiLHBvc2l0aW9uOiJhYnNvbHV0
ZSIsb3BhY2l0eToiMC4wMDEiLHpJbmRleDoxRTN9KS5jc3MoZCh0aGlzKS5vZmZzZXQoKSkuYXBw
ZW5kVG8oImJvZHkiKX0pO3JldHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihhKXt2YXIg
Yj10aGlzLm9wdGlvbnM7dGhpcy5oZWxwZXI9Cit0aGlzLl9jcmVhdGVIZWxwZXIoYSk7dGhpcy5f
Y2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2lmKGQudWkuZGRtYW5hZ2VyKWQudWkuZGRtYW5hZ2Vy
LmN1cnJlbnQ9dGhpczt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMu
aGVscGVyLmNzcygicG9zaXRpb24iKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3Jv
bGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLnBvc2l0aW9uQWJzPXRoaXMuZWxlbWVudC5vZmZz
ZXQoKTt0aGlzLm9mZnNldD17dG9wOnRoaXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLGxl
ZnQ6dGhpcy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07ZC5leHRlbmQodGhpcy5vZmZz
ZXQse2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6YS5wYWdlWS10aGlz
Lm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlz
Ll9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7Cit0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5wb3Np
dGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGEpO3RoaXMub3JpZ2luYWxQYWdlWD1hLnBhZ2VY
O3RoaXMub3JpZ2luYWxQYWdlWT1hLnBhZ2VZO2IuY3Vyc29yQXQmJnRoaXMuX2FkanVzdE9mZnNl
dEZyb21IZWxwZXIoYi5jdXJzb3JBdCk7Yi5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1l
bnQoKTtpZih0aGlzLl90cmlnZ2VyKCJzdGFydCIsYSk9PT1mYWxzZSl7dGhpcy5fY2xlYXIoKTty
ZXR1cm4gZmFsc2V9dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2QudWkuZGRtYW5hZ2Vy
JiYhYi5kcm9wQmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGEp
O3RoaXMuaGVscGVyLmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLl9tb3Vz
ZURyYWcoYSx0cnVlKTtkLnVpLmRkbWFuYWdlciYmZC51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRo
aXMsYSk7cmV0dXJuIHRydWV9LAorX21vdXNlRHJhZzpmdW5jdGlvbihhLGIpe3RoaXMucG9zaXRp
b249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihhKTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZl
cnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO2lmKCFiKXtiPXRoaXMuX3VpSGFzaCgpO2lmKHRoaXMu
X3RyaWdnZXIoImRyYWciLGEsYik9PT1mYWxzZSl7dGhpcy5fbW91c2VVcCh7fSk7cmV0dXJuIGZh
bHNlfXRoaXMucG9zaXRpb249Yi5wb3NpdGlvbn1pZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMu
b3B0aW9ucy5heGlzIT0ieSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9u
LmxlZnQrInB4IjtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIp
dGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7ZC51aS5kZG1h
bmFnZXImJmQudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxhKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0
b3A6ZnVuY3Rpb24oYSl7dmFyIGI9CitmYWxzZTtpZihkLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0
aW9ucy5kcm9wQmVoYXZpb3VyKWI9ZC51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGEpO2lmKHRoaXMu
ZHJvcHBlZCl7Yj10aGlzLmRyb3BwZWQ7dGhpcy5kcm9wcGVkPWZhbHNlfWlmKCghdGhpcy5lbGVt
ZW50WzBdfHwhdGhpcy5lbGVtZW50WzBdLnBhcmVudE5vZGUpJiZ0aGlzLm9wdGlvbnMuaGVscGVy
PT0ib3JpZ2luYWwiKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0PT0iaW52YWxp
ZCImJiFifHx0aGlzLm9wdGlvbnMucmV2ZXJ0PT0idmFsaWQiJiZifHx0aGlzLm9wdGlvbnMucmV2
ZXJ0PT09dHJ1ZXx8ZC5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlv
bnMucmV2ZXJ0LmNhbGwodGhpcy5lbGVtZW50LGIpKXt2YXIgYz10aGlzO2QodGhpcy5oZWxwZXIp
LmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZl
cnREdXJhdGlvbiwKKzEwKSxmdW5jdGlvbigpe2MuX3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2Um
JmMuX2NsZWFyKCl9KX1lbHNlIHRoaXMuX3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2UmJnRoaXMu
X2NsZWFyKCk7cmV0dXJuIGZhbHNlfSxfbW91c2VVcDpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnMu
aWZyYW1lRml4PT09dHJ1ZSYmZCgiZGl2LnVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiKS5lYWNoKGZ1
bmN0aW9uKCl7dGhpcy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMpfSk7ZC51aS5kZG1hbmFn
ZXImJmQudWkuZGRtYW5hZ2VyLmRyYWdTdG9wKHRoaXMsYSk7cmV0dXJuIGQudWkubW91c2UucHJv
dG90eXBlLl9tb3VzZVVwLmNhbGwodGhpcyxhKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oZWxw
ZXIuaXMoIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciKT90aGlzLl9tb3VzZVVwKHt9KTp0aGlzLl9j
bGVhcigpO3JldHVybiB0aGlzfSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPSF0aGlzLm9w
dGlvbnMuaGFuZGxlfHwKKyFkKHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5sZW5n
dGg/dHJ1ZTpmYWxzZTtkKHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5maW5kKCIq
IikuYW5kU2VsZigpLmVhY2goZnVuY3Rpb24oKXtpZih0aGlzPT1hLnRhcmdldCliPXRydWV9KTty
ZXR1cm4gYn0sX2NyZWF0ZUhlbHBlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnM7YT1k
LmlzRnVuY3Rpb24oYi5oZWxwZXIpP2QoYi5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFth
XSkpOmIuaGVscGVyPT0iY2xvbmUiP3RoaXMuZWxlbWVudC5jbG9uZSgpLnJlbW92ZUF0dHIoImlk
Iik6dGhpcy5lbGVtZW50O2EucGFyZW50cygiYm9keSIpLmxlbmd0aHx8YS5hcHBlbmRUbyhiLmFw
cGVuZFRvPT0icGFyZW50Ij90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTpiLmFwcGVuZFRvKTth
WzBdIT10aGlzLmVsZW1lbnRbMF0mJiEvKGZpeGVkfGFic29sdXRlKS8udGVzdChhLmNzcygicG9z
aXRpb24iKSkmJgorYS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTtyZXR1cm4gYX0sX2FkanVz
dE9mZnNldEZyb21IZWxwZXI6ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKWE9YS5z
cGxpdCgiICIpO2lmKGQuaXNBcnJheShhKSlhPXtsZWZ0OithWzBdLHRvcDorYVsxXXx8MH07aWYo
ImxlZnQiaW4gYSl0aGlzLm9mZnNldC5jbGljay5sZWZ0PWEubGVmdCt0aGlzLm1hcmdpbnMubGVm
dDtpZigicmlnaHQiaW4gYSl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9y
dGlvbnMud2lkdGgtYS5yaWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9wImluIGEpdGhpcy5v
ZmZzZXQuY2xpY2sudG9wPWEudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJvdHRvbSJpbiBhKXRo
aXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1hLmJvdHRv
bSt0aGlzLm1hcmdpbnMudG9wfSxfZ2V0UGFyZW50T2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZz
ZXRQYXJlbnQ9Cit0aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYT10aGlzLm9mZnNldFBh
cmVudC5vZmZzZXQoKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiZ0aGlzLnNjcm9s
bFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0s
dGhpcy5vZmZzZXRQYXJlbnRbMF0pKXthLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExl
ZnQoKTthLnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZzZXRQ
YXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJnRo
aXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiJiZkLmJyb3dz
ZXIubXNpZSlhPXt0b3A6MCxsZWZ0OjB9O3JldHVybnt0b3A6YS50b3ArKHBhcnNlSW50KHRoaXMu
b2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6YS5sZWZ0Kyhw
YXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLAorMTApfHww
KX19LF9nZXRSZWxhdGl2ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3NzUG9zaXRpb249PSJy
ZWxhdGl2ZSIpe3ZhciBhPXRoaXMuZWxlbWVudC5wb3NpdGlvbigpO3JldHVybnt0b3A6YS50b3At
KHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVu
dC5zY3JvbGxUb3AoKSxsZWZ0OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0
IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3Rv
cDowLGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6
cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJ
bnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luVG9wIiksMTApfHwwLHJpZ2h0OnBhcnNlSW50KHRo
aXMuZWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksMTApfHwwLGJvdHRvbTpwYXJzZUludCh0aGlz
LmVsZW1lbnQuY3NzKCJtYXJnaW5Cb3R0b20iKSwKKzEwKXx8MH19LF9jYWNoZUhlbHBlclByb3Bv
cnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxw
ZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENv
bnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO2lmKGEuY29udGFpbm1lbnQ9
PSJwYXJlbnQiKWEuY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihhLmNv
bnRhaW5tZW50PT0iZG9jdW1lbnQifHxhLmNvbnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRh
aW5tZW50PVthLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6ZCh3aW5kb3cpLnNjcm9sbExlZnQo
KS10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LGEuY29u
dGFpbm1lbnQ9PSJkb2N1bWVudCI/MDpkKHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vZmZzZXQu
cmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3AsCisoYS5jb250YWlubWVudD09ImRv
Y3VtZW50Ij8wOmQod2luZG93KS5zY3JvbGxMZWZ0KCkpK2QoYS5jb250YWlubWVudD09ImRvY3Vt
ZW50Ij9kb2N1bWVudDp3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0
aC10aGlzLm1hcmdpbnMubGVmdCwoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmQod2luZG93
KS5zY3JvbGxUb3AoKSkrKGQoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5k
b3cpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlz
LmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1l
bnR8d2luZG93fHBhcmVudCkkLy50ZXN0KGEuY29udGFpbm1lbnQpJiZhLmNvbnRhaW5tZW50LmNv
bnN0cnVjdG9yIT1BcnJheSl7YT1kKGEuY29udGFpbm1lbnQpO3ZhciBiPWFbMF07aWYoYil7YS5v
ZmZzZXQoKTt2YXIgYz1kKGIpLmNzcygib3ZlcmZsb3ciKSE9CisiaGlkZGVuIjt0aGlzLmNvbnRh
aW5tZW50PVsocGFyc2VJbnQoZChiKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBh
cnNlSW50KGQoYikuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KGQoYikuY3Nz
KCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nVG9w
IiksMTApfHwwKSwoYz9NYXRoLm1heChiLnNjcm9sbFdpZHRoLGIub2Zmc2V0V2lkdGgpOmIub2Zm
c2V0V2lkdGgpLShwYXJzZUludChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0o
cGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9w
b3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKGM/TWF0
aC5tYXgoYi5zY3JvbGxIZWlnaHQsYi5vZmZzZXRIZWlnaHQpOmIub2Zmc2V0SGVpZ2h0KS0ocGFy
c2VJbnQoZChiKS5jc3MoImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApLShwYXJzZUludChkKGIp
LmNzcygicGFkZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWln
aHQtdGhpcy5tYXJnaW5zLnRvcC10aGlzLm1hcmdpbnMuYm90dG9tXTt0aGlzLnJlbGF0aXZlX2Nv
bnRhaW5lcj1hfX1lbHNlIGlmKGEuY29udGFpbm1lbnQuY29uc3RydWN0b3I9PUFycmF5KXRoaXMu
Y29udGFpbm1lbnQ9YS5jb250YWlubWVudH0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGEs
Yil7aWYoIWIpYj10aGlzLnBvc2l0aW9uO2E9YT09ImFic29sdXRlIj8xOi0xO3ZhciBjPXRoaXMu
Y3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50
JiZkLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBd
KSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsZj0vKGh0bWx8Ym9keSkvaS50
ZXN0KGNbMF0udGFnTmFtZSk7cmV0dXJue3RvcDpiLnRvcCsKK3RoaXMub2Zmc2V0LnJlbGF0aXZl
LnRvcCphK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqYS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93
c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9z
aXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmY/MDpjLnNjcm9s
bFRvcCgpKSphKSxsZWZ0OmIubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmErdGhpcy5v
ZmZzZXQucGFyZW50LmxlZnQqYS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248
NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhl
ZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpmPzA6Yy5zY3JvbGxMZWZ0KCkpKmEp
fX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zLGM9dGhp
cy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmCishKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1
bWVudCYmZC51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVu
dFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGY9LyhodG1sfGJvZHkp
L2kudGVzdChjWzBdLnRhZ05hbWUpLGU9YS5wYWdlWCxoPWEucGFnZVk7aWYodGhpcy5vcmlnaW5h
bFBvc2l0aW9uKXt2YXIgZztpZih0aGlzLmNvbnRhaW5tZW50KXtpZih0aGlzLnJlbGF0aXZlX2Nv
bnRhaW5lcil7Zz10aGlzLnJlbGF0aXZlX2NvbnRhaW5lci5vZmZzZXQoKTtnPVt0aGlzLmNvbnRh
aW5tZW50WzBdK2cubGVmdCx0aGlzLmNvbnRhaW5tZW50WzFdK2cudG9wLHRoaXMuY29udGFpbm1l
bnRbMl0rZy5sZWZ0LHRoaXMuY29udGFpbm1lbnRbM10rZy50b3BdfWVsc2UgZz10aGlzLmNvbnRh
aW5tZW50O2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDxnWzBdKWU9Z1swXSt0aGlz
Lm9mZnNldC5jbGljay5sZWZ0OworaWYoYS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8Z1sx
XSloPWdbMV0rdGhpcy5vZmZzZXQuY2xpY2sudG9wO2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xp
Y2subGVmdD5nWzJdKWU9Z1syXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGEucGFnZVktdGhp
cy5vZmZzZXQuY2xpY2sudG9wPmdbM10paD1nWzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihi
LmdyaWQpe2g9Yi5ncmlkWzFdP3RoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChoLXRoaXMu
b3JpZ2luYWxQYWdlWSkvYi5ncmlkWzFdKSpiLmdyaWRbMV06dGhpcy5vcmlnaW5hbFBhZ2VZO2g9
Zz8hKGgtdGhpcy5vZmZzZXQuY2xpY2sudG9wPGdbMV18fGgtdGhpcy5vZmZzZXQuY2xpY2sudG9w
PmdbM10pP2g6IShoLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxnWzFdKT9oLWIuZ3JpZFsxXTpoK2Iu
Z3JpZFsxXTpoO2U9Yi5ncmlkWzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChlLXRo
aXMub3JpZ2luYWxQYWdlWCkvCitiLmdyaWRbMF0pKmIuZ3JpZFswXTp0aGlzLm9yaWdpbmFsUGFn
ZVg7ZT1nPyEoZS10aGlzLm9mZnNldC5jbGljay5sZWZ0PGdbMF18fGUtdGhpcy5vZmZzZXQuY2xp
Y2subGVmdD5nWzJdKT9lOiEoZS10aGlzLm9mZnNldC5jbGljay5sZWZ0PGdbMF0pP2UtYi5ncmlk
WzBdOmUrYi5ncmlkWzBdOmV9fXJldHVybnt0b3A6aC10aGlzLm9mZnNldC5jbGljay50b3AtdGhp
cy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5z
YWZhcmkmJmQuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8w
OnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgp
OmY/MDpjLnNjcm9sbFRvcCgpKSxsZWZ0OmUtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9m
ZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhkLmJyb3dzZXIuc2Fm
YXJpJiZkLmJyb3dzZXIudmVyc2lvbjwKKzUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8w
OnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQo
KTpmPzA6Yy5zY3JvbGxMZWZ0KCkpfX0sX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIucmVt
b3ZlQ2xhc3MoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuaGVscGVyWzBdIT10aGlzLmVs
ZW1lbnRbMF0mJiF0aGlzLmNhbmNlbEhlbHBlclJlbW92YWwmJnRoaXMuaGVscGVyLnJlbW92ZSgp
O3RoaXMuaGVscGVyPW51bGw7dGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNlfSxfdHJpZ2dl
cjpmdW5jdGlvbihhLGIsYyl7Yz1jfHx0aGlzLl91aUhhc2goKTtkLnVpLnBsdWdpbi5jYWxsKHRo
aXMsYSxbYixjXSk7aWYoYT09ImRyYWciKXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBv
c2l0aW9uVG8oImFic29sdXRlIik7cmV0dXJuIGQuV2lkZ2V0LnByb3RvdHlwZS5fdHJpZ2dlci5j
YWxsKHRoaXMsYSxiLAorYyl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybnto
ZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9u
OnRoaXMub3JpZ2luYWxQb3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSk7ZC5leHRl
bmQoZC51aS5kcmFnZ2FibGUse3ZlcnNpb246IjEuOC4xNSJ9KTtkLnVpLnBsdWdpbi5hZGQoImRy
YWdnYWJsZSIsImNvbm5lY3RUb1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1k
KHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9Yy5vcHRpb25zLGU9ZC5leHRlbmQoe30sYix7aXRl
bTpjLmVsZW1lbnR9KTtjLnNvcnRhYmxlcz1bXTtkKGYuY29ubmVjdFRvU29ydGFibGUpLmVhY2go
ZnVuY3Rpb24oKXt2YXIgaD1kLmRhdGEodGhpcywic29ydGFibGUiKTtpZihoJiYhaC5vcHRpb25z
LmRpc2FibGVkKXtjLnNvcnRhYmxlcy5wdXNoKHtpbnN0YW5jZTpoLHNob3VsZFJldmVydDpoLm9w
dGlvbnMucmV2ZXJ0fSk7CitoLnJlZnJlc2hQb3NpdGlvbnMoKTtoLl90cmlnZ2VyKCJhY3RpdmF0
ZSIsYSxlKX19KX0sc3RvcDpmdW5jdGlvbihhLGIpe3ZhciBjPWQodGhpcykuZGF0YSgiZHJhZ2dh
YmxlIiksZj1kLmV4dGVuZCh7fSxiLHtpdGVtOmMuZWxlbWVudH0pO2QuZWFjaChjLnNvcnRhYmxl
cyxmdW5jdGlvbigpe2lmKHRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zl
cj0wO2MuY2FuY2VsSGVscGVyUmVtb3ZhbD10cnVlO3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVy
UmVtb3ZhbD1mYWxzZTtpZih0aGlzLnNob3VsZFJldmVydCl0aGlzLmluc3RhbmNlLm9wdGlvbnMu
cmV2ZXJ0PXRydWU7dGhpcy5pbnN0YW5jZS5fbW91c2VTdG9wKGEpO3RoaXMuaW5zdGFuY2Uub3B0
aW9ucy5oZWxwZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7Yy5vcHRpb25zLmhlbHBl
cj09Im9yaWdpbmFsIiYmdGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIs
bGVmdDoiYXV0byJ9KX1lbHNle3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0KK2Zh
bHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGEsZil9fSl9LGRyYWc6ZnVu
Y3Rpb24oYSxiKXt2YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9dGhpcztkLmVhY2go
Yy5zb3J0YWJsZXMsZnVuY3Rpb24oKXt0aGlzLmluc3RhbmNlLnBvc2l0aW9uQWJzPWMucG9zaXRp
b25BYnM7dGhpcy5pbnN0YW5jZS5oZWxwZXJQcm9wb3J0aW9ucz1jLmhlbHBlclByb3BvcnRpb25z
O3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrPWMub2Zmc2V0LmNsaWNrO2lmKHRoaXMuaW5zdGFu
Y2UuX2ludGVyc2VjdHNXaXRoKHRoaXMuaW5zdGFuY2UuY29udGFpbmVyQ2FjaGUpKXtpZighdGhp
cy5pbnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTE7dGhpcy5pbnN0YW5jZS5j
dXJyZW50SXRlbT1kKGYpLmNsb25lKCkucmVtb3ZlQXR0cigiaWQiKS5hcHBlbmRUbyh0aGlzLmlu
c3RhbmNlLmVsZW1lbnQpLmRhdGEoInNvcnRhYmxlLWl0ZW0iLHRydWUpOwordGhpcy5pbnN0YW5j
ZS5vcHRpb25zLl9oZWxwZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcjt0aGlzLmluc3Rh
bmNlLm9wdGlvbnMuaGVscGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGIuaGVscGVyWzBdfTthLnRhcmdl
dD10aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtWzBdO3RoaXMuaW5zdGFuY2UuX21vdXNlQ2FwdHVy
ZShhLHRydWUpO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RhcnQoYSx0cnVlLHRydWUpO3RoaXMuaW5z
dGFuY2Uub2Zmc2V0LmNsaWNrLnRvcD1jLm9mZnNldC5jbGljay50b3A7dGhpcy5pbnN0YW5jZS5v
ZmZzZXQuY2xpY2subGVmdD1jLm9mZnNldC5jbGljay5sZWZ0O3RoaXMuaW5zdGFuY2Uub2Zmc2V0
LnBhcmVudC5sZWZ0LT1jLm9mZnNldC5wYXJlbnQubGVmdC10aGlzLmluc3RhbmNlLm9mZnNldC5w
YXJlbnQubGVmdDt0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wLT1jLm9mZnNldC5wYXJl
bnQudG9wLXRoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC50b3A7CitjLl90cmlnZ2VyKCJ0b1Nv
cnRhYmxlIixhKTtjLmRyb3BwZWQ9dGhpcy5pbnN0YW5jZS5lbGVtZW50O2MuY3VycmVudEl0ZW09
Yy5lbGVtZW50O3RoaXMuaW5zdGFuY2UuZnJvbU91dHNpZGU9Y310aGlzLmluc3RhbmNlLmN1cnJl
bnRJdGVtJiZ0aGlzLmluc3RhbmNlLl9tb3VzZURyYWcoYSl9ZWxzZSBpZih0aGlzLmluc3RhbmNl
LmlzT3Zlcil7dGhpcy5pbnN0YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBl
clJlbW92YWw9dHJ1ZTt0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5z
dGFuY2UuX3RyaWdnZXIoIm91dCIsYSx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5j
ZSkpO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RvcChhLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9u
cy5oZWxwZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7dGhpcy5pbnN0YW5jZS5jdXJy
ZW50SXRlbS5yZW1vdmUoKTt0aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVyJiYKK3RoaXMuaW5zdGFu
Y2UucGxhY2Vob2xkZXIucmVtb3ZlKCk7Yy5fdHJpZ2dlcigiZnJvbVNvcnRhYmxlIixhKTtjLmRy
b3BwZWQ9ZmFsc2V9fSl9fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjdXJzb3IiLHtz
dGFydDpmdW5jdGlvbigpe3ZhciBhPWQoImJvZHkiKSxiPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxl
Iikub3B0aW9ucztpZihhLmNzcygiY3Vyc29yIikpYi5fY3Vyc29yPWEuY3NzKCJjdXJzb3IiKTth
LmNzcygiY3Vyc29yIixiLmN1cnNvcil9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYT1kKHRoaXMpLmRh
dGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7YS5fY3Vyc29yJiZkKCJib2R5IikuY3NzKCJjdXJzb3Ii
LGEuX2N1cnNvcil9fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJvcGFjaXR5Iix7c3Rh
cnQ6ZnVuY3Rpb24oYSxiKXthPWQoYi5oZWxwZXIpO2I9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUi
KS5vcHRpb25zO2lmKGEuY3NzKCJvcGFjaXR5IikpYi5fb3BhY2l0eT0KK2EuY3NzKCJvcGFjaXR5
Iik7YS5jc3MoIm9wYWNpdHkiLGIub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXthPWQodGhp
cykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9uczthLl9vcGFjaXR5JiZkKGIuaGVscGVyKS5jc3Mo
Im9wYWNpdHkiLGEuX29wYWNpdHkpfX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Ny
b2xsIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpO2lm
KGEuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9
IkhUTUwiKWEub3ZlcmZsb3dPZmZzZXQ9YS5zY3JvbGxQYXJlbnQub2Zmc2V0KCl9LGRyYWc6ZnVu
Y3Rpb24oYSl7dmFyIGI9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxjPWIub3B0aW9ucyxmPWZh
bHNlO2lmKGIuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYi5zY3JvbGxQYXJlbnRbMF0udGFn
TmFtZSE9IkhUTUwiKXtpZighYy5heGlzfHxjLmF4aXMhPQorIngiKWlmKGIub3ZlcmZsb3dPZmZz
ZXQudG9wK2Iuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC1hLnBhZ2VZPGMuc2Nyb2xsU2Vu
c2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsVG9wK2Muc2Nyb2xsU3BlZWQ7ZWxzZSBpZihhLnBhZ2VZLWIub3ZlcmZsb3dPZmZzZXQu
dG9wPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5z
Y3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLWMuc2Nyb2xsU3BlZWQ7aWYoIWMuYXhpc3x8Yy5heGlz
IT0ieSIpaWYoYi5vdmVyZmxvd09mZnNldC5sZWZ0K2Iuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdp
ZHRoLWEucGFnZVg8Yy5zY3JvbGxTZW5zaXRpdml0eSliLnNjcm9sbFBhcmVudFswXS5zY3JvbGxM
ZWZ0PWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCtjLnNjcm9sbFNwZWVkO2Vsc2UgaWYo
YS5wYWdlWC1iLm92ZXJmbG93T2Zmc2V0LmxlZnQ8CitjLnNjcm9sbFNlbnNpdGl2aXR5KWIuc2Ny
b2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9Zj1iLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWMu
c2Nyb2xsU3BlZWR9ZWxzZXtpZighYy5heGlzfHxjLmF4aXMhPSJ4IilpZihhLnBhZ2VZLWQoZG9j
dW1lbnQpLnNjcm9sbFRvcCgpPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpZj1kKGRvY3VtZW50KS5zY3Jv
bGxUb3AoZChkb2N1bWVudCkuc2Nyb2xsVG9wKCktYy5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdp
bmRvdykuaGVpZ2h0KCktKGEucGFnZVktZChkb2N1bWVudCkuc2Nyb2xsVG9wKCkpPGMuc2Nyb2xs
U2Vuc2l0aXZpdHkpZj1kKGRvY3VtZW50KS5zY3JvbGxUb3AoZChkb2N1bWVudCkuc2Nyb2xsVG9w
KCkrYy5zY3JvbGxTcGVlZCk7aWYoIWMuYXhpc3x8Yy5heGlzIT0ieSIpaWYoYS5wYWdlWC1kKGRv
Y3VtZW50KS5zY3JvbGxMZWZ0KCk8Yy5zY3JvbGxTZW5zaXRpdml0eSlmPWQoZG9jdW1lbnQpLnNj
cm9sbExlZnQoZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLQorYy5zY3JvbGxTcGVlZCk7ZWxzZSBp
ZihkKHdpbmRvdykud2lkdGgoKS0oYS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGMu
c2Nyb2xsU2Vuc2l0aXZpdHkpZj1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNj
cm9sbExlZnQoKStjLnNjcm9sbFNwZWVkKX1mIT09ZmFsc2UmJmQudWkuZGRtYW5hZ2VyJiYhYy5k
cm9wQmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhiLGEpfX0pO2QudWku
cGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0
aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxiPWEub3B0aW9uczthLnNuYXBFbGVtZW50cz1bXTtkKGIu
c25hcC5jb25zdHJ1Y3RvciE9U3RyaW5nP2Iuc25hcC5pdGVtc3x8IjpkYXRhKGRyYWdnYWJsZSki
OmIuc25hcCkuZWFjaChmdW5jdGlvbigpe3ZhciBjPWQodGhpcyksZj1jLm9mZnNldCgpO3RoaXMh
PWEuZWxlbWVudFswXSYmYS5zbmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLAord2lkdGg6Yy5v
dXRlcldpZHRoKCksaGVpZ2h0OmMub3V0ZXJIZWlnaHQoKSx0b3A6Zi50b3AsbGVmdDpmLmxlZnR9
KX0pfSxkcmFnOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxl
IiksZj1jLm9wdGlvbnMsZT1mLnNuYXBUb2xlcmFuY2UsaD1iLm9mZnNldC5sZWZ0LGc9aCtjLmhl
bHBlclByb3BvcnRpb25zLndpZHRoLG49Yi5vZmZzZXQudG9wLG89bitjLmhlbHBlclByb3BvcnRp
b25zLmhlaWdodCxpPWMuc25hcEVsZW1lbnRzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgaj1jLnNu
YXBFbGVtZW50c1tpXS5sZWZ0LGw9aitjLnNuYXBFbGVtZW50c1tpXS53aWR0aCxrPWMuc25hcEVs
ZW1lbnRzW2ldLnRvcCxtPWsrYy5zbmFwRWxlbWVudHNbaV0uaGVpZ2h0O2lmKGotZTxoJiZoPGwr
ZSYmay1lPG4mJm48bStlfHxqLWU8aCYmaDxsK2UmJmstZTxvJiZvPG0rZXx8ai1lPGcmJmc8bCtl
JiZrLWU8biYmbjxtK2V8fGotZTxnJiZnPGwrZSYmay1lPG8mJgorbzxtK2Upe2lmKGYuc25hcE1v
ZGUhPSJpbm5lciIpe3ZhciBwPU1hdGguYWJzKGstbyk8PWUscT1NYXRoLmFicyhtLW4pPD1lLHI9
TWF0aC5hYnMoai1nKTw9ZSxzPU1hdGguYWJzKGwtaCk8PWU7aWYocCliLnBvc2l0aW9uLnRvcD1j
Ll9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6ay1jLmhlbHBlclByb3BvcnRpb25z
LmhlaWdodCxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtpZihxKWIucG9zaXRpb24udG9wPWMu
X2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDptLGxlZnQ6MH0pLnRvcC1jLm1hcmdp
bnMudG9wO2lmKHIpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2
ZSIse3RvcDowLGxlZnQ6ai1jLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1jLm1hcmdp
bnMubGVmdDtpZihzKWIucG9zaXRpb24ubGVmdD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRp
dmUiLHt0b3A6MCxsZWZ0Omx9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0fXZhciB0PQorcHx8cXx8cnx8
cztpZihmLnNuYXBNb2RlIT0ib3V0ZXIiKXtwPU1hdGguYWJzKGstbik8PWU7cT1NYXRoLmFicyht
LW8pPD1lO3I9TWF0aC5hYnMoai1oKTw9ZTtzPU1hdGguYWJzKGwtZyk8PWU7aWYocCliLnBvc2l0
aW9uLnRvcD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6ayxsZWZ0OjB9KS50
b3AtYy5tYXJnaW5zLnRvcDtpZihxKWIucG9zaXRpb24udG9wPWMuX2NvbnZlcnRQb3NpdGlvblRv
KCJyZWxhdGl2ZSIse3RvcDptLWMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRv
cC1jLm1hcmdpbnMudG9wO2lmKHIpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRv
KCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6an0pLmxlZnQtYy5tYXJnaW5zLmxlZnQ7aWYocyliLnBv
c2l0aW9uLmxlZnQ9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDps
LWMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0fWlmKCFjLnNu
YXBFbGVtZW50c1tpXS5zbmFwcGluZyYmCisocHx8cXx8cnx8c3x8dCkpYy5vcHRpb25zLnNuYXAu
c25hcCYmYy5vcHRpb25zLnNuYXAuc25hcC5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3Vp
SGFzaCgpLHtzbmFwSXRlbTpjLnNuYXBFbGVtZW50c1tpXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRz
W2ldLnNuYXBwaW5nPXB8fHF8fHJ8fHN8fHR9ZWxzZXtjLnNuYXBFbGVtZW50c1tpXS5zbmFwcGlu
ZyYmYy5vcHRpb25zLnNuYXAucmVsZWFzZSYmYy5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKGMu
ZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3VpSGFzaCgpLHtzbmFwSXRlbTpjLnNuYXBFbGVtZW50c1tp
XS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2ldLnNuYXBwaW5nPWZhbHNlfX19fSk7ZC51aS5wbHVn
aW4uYWRkKCJkcmFnZ2FibGUiLCJzdGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlz
KS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2E9ZC5tYWtlQXJyYXkoZChhLnN0YWNrKSkuc29y
dChmdW5jdGlvbihjLGYpe3JldHVybihwYXJzZUludChkKGMpLmNzcygiekluZGV4IiksCisxMCl8
fDApLShwYXJzZUludChkKGYpLmNzcygiekluZGV4IiksMTApfHwwKX0pO2lmKGEubGVuZ3RoKXt2
YXIgYj1wYXJzZUludChhWzBdLnN0eWxlLnpJbmRleCl8fDA7ZChhKS5lYWNoKGZ1bmN0aW9uKGMp
e3RoaXMuc3R5bGUuekluZGV4PWIrY30pO3RoaXNbMF0uc3R5bGUuekluZGV4PWIrYS5sZW5ndGh9
fX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiekluZGV4Iix7c3RhcnQ6ZnVuY3Rpb24o
YSxiKXthPWQoYi5oZWxwZXIpO2I9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lm
KGEuY3NzKCJ6SW5kZXgiKSliLl96SW5kZXg9YS5jc3MoInpJbmRleCIpO2EuY3NzKCJ6SW5kZXgi
LGIuekluZGV4KX0sc3RvcDpmdW5jdGlvbihhLGIpe2E9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUi
KS5vcHRpb25zO2EuX3pJbmRleCYmZChiLmhlbHBlcikuY3NzKCJ6SW5kZXgiLGEuX3pJbmRleCl9
fSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kcmFnZ2FibGUubWluLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kcm9wcGFibGUubWluLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkudWkuZHJvcHBhYmxlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3BwYWJsZS5taW4u
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIGpRdWVyeSBVSSBEcm9w
cGFibGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Ecm9wcGFibGVzCisgKgorICogRGVwZW5kczoK
KyAqCWpxdWVyeS51aS5jb3JlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKglqcXVlcnku
dWkubW91c2UuanMKKyAqCWpxdWVyeS51aS5kcmFnZ2FibGUuanMKKyAqLworKGZ1bmN0aW9uKGQp
e2Qud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt3aWRnZXRFdmVudFByZWZpeDoiZHJvcCIsb3B0aW9u
czp7YWNjZXB0OiIqIixhY3RpdmVDbGFzczpmYWxzZSxhZGRDbGFzc2VzOnRydWUsZ3JlZWR5OmZh
bHNlLGhvdmVyQ2xhc3M6ZmFsc2Usc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0
In0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucyxiPWEuYWNjZXB0O3RoaXMu
aXNvdmVyPTA7dGhpcy5pc291dD0xO3RoaXMuYWNjZXB0PWQuaXNGdW5jdGlvbihiKT9iOmZ1bmN0
aW9uKGMpe3JldHVybiBjLmlzKGIpfTt0aGlzLnByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmVsZW1l
bnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OnRoaXMuZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9O2Qu
dWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5zY29wZV09ZC51aS5kZG1hbmFnZXIuZHJvcHBhYmxl
c1thLnNjb3BlXXx8W107ZC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1thLnNjb3BlXS5wdXNoKHRo
aXMpOworYS5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyb3BwYWJsZSIp
fSxkZXN0cm95OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPWQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNb
dGhpcy5vcHRpb25zLnNjb3BlXSxiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT09dGhpcyYmYS5zcGxp
Y2UoYiwxKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFi
bGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJkcm9wcGFibGUiKS51bmJpbmQoIi5kcm9wcGFibGUi
KTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihhLGIpe2lmKGE9PSJhY2NlcHQiKXRo
aXMuYWNjZXB0PWQuaXNGdW5jdGlvbihiKT9iOmZ1bmN0aW9uKGMpe3JldHVybiBjLmlzKGIpfTtk
LldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9hY3Rp
dmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMub3B0aW9u
cy5hY3RpdmVDbGFzcyYmCit0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2
ZUNsYXNzKTtiJiZ0aGlzLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYSx0aGlzLnVpKGIpKX0sX2RlYWN0
aXZhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLm9wdGlv
bnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuYWN0
aXZlQ2xhc3MpO2ImJnRoaXMuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGEsdGhpcy51aShiKSl9LF9v
dmVyOmZ1bmN0aW9uKGEpe3ZhciBiPWQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7aWYoISghYnx8KGIu
Y3VycmVudEl0ZW18fGIuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSkpaWYodGhpcy5hY2Nl
cHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYi5jdXJyZW50SXRlbXx8Yi5lbGVtZW50KSl7dGhpcy5v
cHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuaG92
ZXJDbGFzcyk7Cit0aGlzLl90cmlnZ2VyKCJvdmVyIixhLHRoaXMudWkoYikpfX0sX291dDpmdW5j
dGlvbihhKXt2YXIgYj1kLnVpLmRkbWFuYWdlci5jdXJyZW50O2lmKCEoIWJ8fChiLmN1cnJlbnRJ
dGVtfHxiLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0pKWlmKHRoaXMuYWNjZXB0LmNhbGwo
dGhpcy5lbGVtZW50WzBdLGIuY3VycmVudEl0ZW18fGIuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5o
b3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xh
c3MpO3RoaXMuX3RyaWdnZXIoIm91dCIsYSx0aGlzLnVpKGIpKX19LF9kcm9wOmZ1bmN0aW9uKGEs
Yil7dmFyIGM9Ynx8ZC51aS5kZG1hbmFnZXIuY3VycmVudDtpZighY3x8KGMuY3VycmVudEl0ZW18
fGMuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSlyZXR1cm4gZmFsc2U7dmFyIGU9ZmFsc2U7
dGhpcy5lbGVtZW50LmZpbmQoIjpkYXRhKGRyb3BwYWJsZSkiKS5ub3QoIi51aS1kcmFnZ2FibGUt
ZHJhZ2dpbmciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9CitkLmRhdGEodGhpcywiZHJvcHBhYmxl
Iik7aWYoZy5vcHRpb25zLmdyZWVkeSYmIWcub3B0aW9ucy5kaXNhYmxlZCYmZy5vcHRpb25zLnNj
b3BlPT1jLm9wdGlvbnMuc2NvcGUmJmcuYWNjZXB0LmNhbGwoZy5lbGVtZW50WzBdLGMuY3VycmVu
dEl0ZW18fGMuZWxlbWVudCkmJmQudWkuaW50ZXJzZWN0KGMsZC5leHRlbmQoZyx7b2Zmc2V0Omcu
ZWxlbWVudC5vZmZzZXQoKX0pLGcub3B0aW9ucy50b2xlcmFuY2UpKXtlPXRydWU7cmV0dXJuIGZh
bHNlfX0pO2lmKGUpcmV0dXJuIGZhbHNlO2lmKHRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50
WzBdLGMuY3VycmVudEl0ZW18fGMuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYm
dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7dGhpcy5v
cHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMu
aG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigiZHJvcCIsCithLHRoaXMudWkoYykpO3JldHVybiB0
aGlzLmVsZW1lbnR9cmV0dXJuIGZhbHNlfSx1aTpmdW5jdGlvbihhKXtyZXR1cm57ZHJhZ2dhYmxl
OmEuY3VycmVudEl0ZW18fGEuZWxlbWVudCxoZWxwZXI6YS5oZWxwZXIscG9zaXRpb246YS5wb3Np
dGlvbixvZmZzZXQ6YS5wb3NpdGlvbkFic319fSk7ZC5leHRlbmQoZC51aS5kcm9wcGFibGUse3Zl
cnNpb246IjEuOC4xNSJ9KTtkLnVpLmludGVyc2VjdD1mdW5jdGlvbihhLGIsYyl7aWYoIWIub2Zm
c2V0KXJldHVybiBmYWxzZTt2YXIgZT0oYS5wb3NpdGlvbkFic3x8YS5wb3NpdGlvbi5hYnNvbHV0
ZSkubGVmdCxnPWUrYS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxmPShhLnBvc2l0aW9uQWJzfHxh
LnBvc2l0aW9uLmFic29sdXRlKS50b3AsaD1mK2EuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGk9
Yi5vZmZzZXQubGVmdCxrPWkrYi5wcm9wb3J0aW9ucy53aWR0aCxqPWIub2Zmc2V0LnRvcCxsPWor
Yi5wcm9wb3J0aW9ucy5oZWlnaHQ7Citzd2l0Y2goYyl7Y2FzZSAiZml0IjpyZXR1cm4gaTw9ZSYm
Zzw9ayYmajw9ZiYmaDw9bDtjYXNlICJpbnRlcnNlY3QiOnJldHVybiBpPGUrYS5oZWxwZXJQcm9w
b3J0aW9ucy53aWR0aC8yJiZnLWEuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMjxrJiZqPGYrYS5o
ZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmaC1hLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8y
PGw7Y2FzZSAicG9pbnRlciI6cmV0dXJuIGQudWkuaXNPdmVyKChhLnBvc2l0aW9uQWJzfHxhLnBv
c2l0aW9uLmFic29sdXRlKS50b3ArKGEuY2xpY2tPZmZzZXR8fGEub2Zmc2V0LmNsaWNrKS50b3As
KGEucG9zaXRpb25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrKGEuY2xpY2tPZmZzZXR8
fGEub2Zmc2V0LmNsaWNrKS5sZWZ0LGosaSxiLnByb3BvcnRpb25zLmhlaWdodCxiLnByb3BvcnRp
b25zLndpZHRoKTtjYXNlICJ0b3VjaCI6cmV0dXJuKGY+PWomJmY8PWx8fGg+PWomJmg8PWx8fGY8
aiYmaD5sKSYmKGU+PQoraSYmZTw9a3x8Zz49aSYmZzw9a3x8ZTxpJiZnPmspO2RlZmF1bHQ6cmV0
dXJuIGZhbHNlfX07ZC51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9wcGFibGVzOnsiZGVm
YXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZC51aS5kZG1hbmFn
ZXIuZHJvcHBhYmxlc1thLm9wdGlvbnMuc2NvcGVdfHxbXSxlPWI/Yi50eXBlOm51bGwsZz0oYS5j
dXJyZW50SXRlbXx8YS5lbGVtZW50KS5maW5kKCI6ZGF0YShkcm9wcGFibGUpIikuYW5kU2VsZigp
LGY9MDthOmZvcig7ZjxjLmxlbmd0aDtmKyspaWYoIShjW2ZdLm9wdGlvbnMuZGlzYWJsZWR8fGEm
JiFjW2ZdLmFjY2VwdC5jYWxsKGNbZl0uZWxlbWVudFswXSxhLmN1cnJlbnRJdGVtfHxhLmVsZW1l
bnQpKSl7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspaWYoZ1toXT09Y1tmXS5lbGVtZW50WzBd
KXtjW2ZdLnByb3BvcnRpb25zLmhlaWdodD0wO2NvbnRpbnVlIGF9Y1tmXS52aXNpYmxlPWNbZl0u
ZWxlbWVudC5jc3MoImRpc3BsYXkiKSE9Cisibm9uZSI7aWYoY1tmXS52aXNpYmxlKXtlPT0ibW91
c2Vkb3duIiYmY1tmXS5fYWN0aXZhdGUuY2FsbChjW2ZdLGIpO2NbZl0ub2Zmc2V0PWNbZl0uZWxl
bWVudC5vZmZzZXQoKTtjW2ZdLnByb3BvcnRpb25zPXt3aWR0aDpjW2ZdLmVsZW1lbnRbMF0ub2Zm
c2V0V2lkdGgsaGVpZ2h0OmNbZl0uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9fX19LGRyb3A6ZnVu
Y3Rpb24oYSxiKXt2YXIgYz1mYWxzZTtkLmVhY2goZC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1th
Lm9wdGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucyl7aWYoIXRoaXMu
b3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxlJiZkLnVpLmludGVyc2VjdChhLHRoaXMsdGhp
cy5vcHRpb25zLnRvbGVyYW5jZSkpYz1jfHx0aGlzLl9kcm9wLmNhbGwodGhpcyxiKTtpZighdGhp
cy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5l
bGVtZW50WzBdLGEuY3VycmVudEl0ZW18fAorYS5lbGVtZW50KSl7dGhpcy5pc291dD0xO3RoaXMu
aXNvdmVyPTA7dGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsYil9fX0pO3JldHVybiBjfSxkcmFn
U3RhcnQ6ZnVuY3Rpb24oYSxiKXthLmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5IikuYmluZCgi
c2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXthLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8
ZC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYSxiKX0pfSxkcmFnOmZ1bmN0aW9uKGEsYil7
YS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRz
KGEsYik7ZC5lYWNoKGQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5vcHRpb25zLnNjb3BlXXx8
W10sZnVuY3Rpb24oKXtpZighKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5ncmVlZHlDaGls
ZHx8IXRoaXMudmlzaWJsZSkpe3ZhciBjPWQudWkuaW50ZXJzZWN0KGEsdGhpcyx0aGlzLm9wdGlv
bnMudG9sZXJhbmNlKTtpZihjPQorIWMmJnRoaXMuaXNvdmVyPT0xPyJpc291dCI6YyYmdGhpcy5p
c292ZXI9PTA/Imlzb3ZlciI6bnVsbCl7dmFyIGU7aWYodGhpcy5vcHRpb25zLmdyZWVkeSl7dmFy
IGc9dGhpcy5lbGVtZW50LnBhcmVudHMoIjpkYXRhKGRyb3BwYWJsZSk6ZXEoMCkiKTtpZihnLmxl
bmd0aCl7ZT1kLmRhdGEoZ1swXSwiZHJvcHBhYmxlIik7ZS5ncmVlZHlDaGlsZD1jPT0iaXNvdmVy
Ij8xOjB9fWlmKGUmJmM9PSJpc292ZXIiKXtlLmlzb3Zlcj0wO2UuaXNvdXQ9MTtlLl9vdXQuY2Fs
bChlLGIpfXRoaXNbY109MTt0aGlzW2M9PSJpc291dCI/Imlzb3ZlciI6Imlzb3V0Il09MDt0aGlz
W2M9PSJpc292ZXIiPyJfb3ZlciI6Il9vdXQiXS5jYWxsKHRoaXMsYik7aWYoZSYmYz09Imlzb3V0
Iil7ZS5pc291dD0wO2UuaXNvdmVyPTE7ZS5fb3Zlci5jYWxsKGUsYil9fX19KX0sZHJhZ1N0b3A6
ZnVuY3Rpb24oYSxiKXthLmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5IikudW5iaW5kKCJzY3Jv
bGwuZHJvcHBhYmxlIik7CithLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8ZC51aS5kZG1hbmFn
ZXIucHJlcGFyZU9mZnNldHMoYSxiKX19fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
dWkuZHJvcHBhYmxlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAg
KzEgIyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkubW91c2Uu
bWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS91aS9qcXVlcnkudWkubW91c2UubWluLmpzCShub25leGlzdGVudCkKKysrIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
bW91c2UubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcgQEAKKy8qIQorICogalF1
ZXJ5IFVJIE1vdXNlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAo
aHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1J
VCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5z
ZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTW91c2UKKyAqCisgKiBEZXBlbmRz
OgorICoJanF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oYil7Yi53aWRnZXQoInVp
Lm1vdXNlIix7b3B0aW9uczp7Y2FuY2VsOiI6aW5wdXQsb3B0aW9uIixkaXN0YW5jZToxLGRlbGF5
OjB9LF9tb3VzZUluaXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZWxlbWVudC5iaW5kKCJt
b3VzZWRvd24uIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oYyl7cmV0dXJuIGEuX21vdXNlRG93
bihjKX0pLmJpbmQoImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGMpe2lmKHRydWU9
PT1iLmRhdGEoYy50YXJnZXQsYS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSl7Yi5y
ZW1vdmVEYXRhKGMudGFyZ2V0LGEud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iik7Yy5z
dG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtyZXR1cm4gZmFsc2V9fSk7dGhpcy5zdGFydGVkPWZh
bHNlfSxfbW91c2VEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhp
cy53aWRnZXROYW1lKX0sX21vdXNlRG93bjpmdW5jdGlvbihhKXthLm9yaWdpbmFsRXZlbnQ9Cith
Lm9yaWdpbmFsRXZlbnR8fHt9O2lmKCFhLm9yaWdpbmFsRXZlbnQubW91c2VIYW5kbGVkKXt0aGlz
Ll9tb3VzZVN0YXJ0ZWQmJnRoaXMuX21vdXNlVXAoYSk7dGhpcy5fbW91c2VEb3duRXZlbnQ9YTt2
YXIgYz10aGlzLGU9YS53aGljaD09MSxmPXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsPT0ic3Ry
aW5nIj9iKGEudGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDpmYWxz
ZTtpZighZXx8Znx8IXRoaXMuX21vdXNlQ2FwdHVyZShhKSlyZXR1cm4gdHJ1ZTt0aGlzLm1vdXNl
RGVsYXlNZXQ9IXRoaXMub3B0aW9ucy5kZWxheTtpZighdGhpcy5tb3VzZURlbGF5TWV0KXRoaXMu
X21vdXNlRGVsYXlUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5tb3VzZURlbGF5TWV0PXRy
dWV9LHRoaXMub3B0aW9ucy5kZWxheSk7aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChhKSYmdGhp
cy5fbW91c2VEZWxheU1ldChhKSl7dGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQo
YSkhPT0KK2ZhbHNlO2lmKCF0aGlzLl9tb3VzZVN0YXJ0ZWQpe2EucHJldmVudERlZmF1bHQoKTty
ZXR1cm4gdHJ1ZX19dHJ1ZT09PWIuZGF0YShhLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2
ZW50Q2xpY2tFdmVudCIpJiZiLnJlbW92ZURhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIu
cHJldmVudENsaWNrRXZlbnQiKTt0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihkKXty
ZXR1cm4gYy5fbW91c2VNb3ZlKGQpfTt0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZCl7
cmV0dXJuIGMuX21vdXNlVXAoZCl9O2IoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMu
d2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkuYmluZCgibW91c2V1cC4iK3RoaXMu
d2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2EucHJldmVudERlZmF1bHQoKTtyZXR1
cm4gYS5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZD10cnVlfX0sX21vdXNlTW92ZTpmdW5jdGlv
bihhKXtpZihiLmJyb3dzZXIubXNpZSYmCishKGRvY3VtZW50LmRvY3VtZW50TW9kZT49OSkmJiFh
LmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChhKTtpZih0aGlzLl9tb3VzZVN0YXJ0ZWQpe3Ro
aXMuX21vdXNlRHJhZyhhKTtyZXR1cm4gYS5wcmV2ZW50RGVmYXVsdCgpfWlmKHRoaXMuX21vdXNl
RGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkpKHRoaXMuX21vdXNlU3RhcnRl
ZD10aGlzLl9tb3VzZVN0YXJ0KHRoaXMuX21vdXNlRG93bkV2ZW50LGEpIT09ZmFsc2UpP3RoaXMu
X21vdXNlRHJhZyhhKTp0aGlzLl9tb3VzZVVwKGEpO3JldHVybiF0aGlzLl9tb3VzZVN0YXJ0ZWR9
LF9tb3VzZVVwOmZ1bmN0aW9uKGEpe2IoZG9jdW1lbnQpLnVuYmluZCgibW91c2Vtb3ZlLiIrdGhp
cy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS51bmJpbmQoIm1vdXNldXAuIit0
aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKTtpZih0aGlzLl9tb3VzZVN0YXJ0
ZWQpe3RoaXMuX21vdXNlU3RhcnRlZD0KK2ZhbHNlO2EudGFyZ2V0PT10aGlzLl9tb3VzZURvd25F
dmVudC50YXJnZXQmJmIuZGF0YShhLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xp
Y2tFdmVudCIsdHJ1ZSk7dGhpcy5fbW91c2VTdG9wKGEpfXJldHVybiBmYWxzZX0sX21vdXNlRGlz
dGFuY2VNZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKHRoaXMuX21vdXNl
RG93bkV2ZW50LnBhZ2VYLWEucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBh
Z2VZLWEucGFnZVkpKT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5j
dGlvbigpe3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7
fSxfbW91c2VEcmFnOmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VD
YXB0dXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9fSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS51aS5tb3VzZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAt
MCwwICsxICMjCitvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnBv
c2l0aW9uLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnBvc2l0aW9uLm1pbi5qcwkobm9uZXhpc3Rl
bnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLnBvc2l0aW9uLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBA
CisvKgorICogalF1ZXJ5IFVJIFBvc2l0aW9uIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUG9zaXRp
b24KKyAqLworKGZ1bmN0aW9uKGMpe2MudWk9Yy51aXx8e307dmFyIG49L2xlZnR8Y2VudGVyfHJp
Z2h0LyxvPS90b3B8Y2VudGVyfGJvdHRvbS8sdD1jLmZuLnBvc2l0aW9uLHU9Yy5mbi5vZmZzZXQ7
Yy5mbi5wb3NpdGlvbj1mdW5jdGlvbihiKXtpZighYnx8IWIub2YpcmV0dXJuIHQuYXBwbHkodGhp
cyxhcmd1bWVudHMpO2I9Yy5leHRlbmQoe30sYik7dmFyIGE9YyhiLm9mKSxkPWFbMF0sZz0oYi5j
b2xsaXNpb258fCJmbGlwIikuc3BsaXQoIiAiKSxlPWIub2Zmc2V0P2Iub2Zmc2V0LnNwbGl0KCIg
Iik6WzAsMF0saCxrLGo7aWYoZC5ub2RlVHlwZT09PTkpe2g9YS53aWR0aCgpO2s9YS5oZWlnaHQo
KTtqPXt0b3A6MCxsZWZ0OjB9fWVsc2UgaWYoZC5zZXRUaW1lb3V0KXtoPWEud2lkdGgoKTtrPWEu
aGVpZ2h0KCk7aj17dG9wOmEuc2Nyb2xsVG9wKCksbGVmdDphLnNjcm9sbExlZnQoKX19ZWxzZSBp
ZihkLnByZXZlbnREZWZhdWx0KXtiLmF0PSJsZWZ0IHRvcCI7aD1rPTA7aj17dG9wOmIub2YucGFn
ZVksCitsZWZ0OmIub2YucGFnZVh9fWVsc2V7aD1hLm91dGVyV2lkdGgoKTtrPWEub3V0ZXJIZWln
aHQoKTtqPWEub2Zmc2V0KCl9Yy5lYWNoKFsibXkiLCJhdCJdLGZ1bmN0aW9uKCl7dmFyIGY9KGJb
dGhpc118fCIiKS5zcGxpdCgiICIpO2lmKGYubGVuZ3RoPT09MSlmPW4udGVzdChmWzBdKT9mLmNv
bmNhdChbImNlbnRlciJdKTpvLnRlc3QoZlswXSk/WyJjZW50ZXIiXS5jb25jYXQoZik6WyJjZW50
ZXIiLCJjZW50ZXIiXTtmWzBdPW4udGVzdChmWzBdKT9mWzBdOiJjZW50ZXIiO2ZbMV09by50ZXN0
KGZbMV0pP2ZbMV06ImNlbnRlciI7Ylt0aGlzXT1mfSk7aWYoZy5sZW5ndGg9PT0xKWdbMV09Z1sw
XTtlWzBdPXBhcnNlSW50KGVbMF0sMTApfHwwO2lmKGUubGVuZ3RoPT09MSllWzFdPWVbMF07ZVsx
XT1wYXJzZUludChlWzFdLDEwKXx8MDtpZihiLmF0WzBdPT09InJpZ2h0IilqLmxlZnQrPWg7ZWxz
ZSBpZihiLmF0WzBdPT09ImNlbnRlciIpai5sZWZ0Kz1oLzI7aWYoYi5hdFsxXT09PSJib3R0b20i
KWoudG9wKz0KK2s7ZWxzZSBpZihiLmF0WzFdPT09ImNlbnRlciIpai50b3ArPWsvMjtqLmxlZnQr
PWVbMF07ai50b3ArPWVbMV07cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWModGhp
cyksbD1mLm91dGVyV2lkdGgoKSxtPWYub3V0ZXJIZWlnaHQoKSxwPXBhcnNlSW50KGMuY3VyQ1NT
KHRoaXMsIm1hcmdpbkxlZnQiLHRydWUpKXx8MCxxPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1h
cmdpblRvcCIsdHJ1ZSkpfHwwLHY9bCtwKyhwYXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5S
aWdodCIsdHJ1ZSkpfHwwKSx3PW0rcSsocGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luQm90
dG9tIix0cnVlKSl8fDApLGk9Yy5leHRlbmQoe30saikscjtpZihiLm15WzBdPT09InJpZ2h0Iilp
LmxlZnQtPWw7ZWxzZSBpZihiLm15WzBdPT09ImNlbnRlciIpaS5sZWZ0LT1sLzI7aWYoYi5teVsx
XT09PSJib3R0b20iKWkudG9wLT1tO2Vsc2UgaWYoYi5teVsxXT09PSJjZW50ZXIiKWkudG9wLT0K
K20vMjtpLmxlZnQ9TWF0aC5yb3VuZChpLmxlZnQpO2kudG9wPU1hdGgucm91bmQoaS50b3ApO3I9
e2xlZnQ6aS5sZWZ0LXAsdG9wOmkudG9wLXF9O2MuZWFjaChbImxlZnQiLCJ0b3AiXSxmdW5jdGlv
bihzLHgpe2MudWkucG9zaXRpb25bZ1tzXV0mJmMudWkucG9zaXRpb25bZ1tzXV1beF0oaSx7dGFy
Z2V0V2lkdGg6aCx0YXJnZXRIZWlnaHQ6ayxlbGVtV2lkdGg6bCxlbGVtSGVpZ2h0Om0sY29sbGlz
aW9uUG9zaXRpb246cixjb2xsaXNpb25XaWR0aDp2LGNvbGxpc2lvbkhlaWdodDp3LG9mZnNldDpl
LG15OmIubXksYXQ6Yi5hdH0pfSk7Yy5mbi5iZ2lmcmFtZSYmZi5iZ2lmcmFtZSgpO2Yub2Zmc2V0
KGMuZXh0ZW5kKGkse3VzaW5nOmIudXNpbmd9KSl9KX07Yy51aS5wb3NpdGlvbj17Zml0OntsZWZ0
OmZ1bmN0aW9uKGIsYSl7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0
K2EuY29sbGlzaW9uV2lkdGgtZC53aWR0aCgpLWQuc2Nyb2xsTGVmdCgpO2IubGVmdD0KK2Q+MD9i
LmxlZnQtZDpNYXRoLm1heChiLmxlZnQtYS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0LGIubGVmdCl9
LHRvcDpmdW5jdGlvbihiLGEpe3ZhciBkPWMod2luZG93KTtkPWEuY29sbGlzaW9uUG9zaXRpb24u
dG9wK2EuY29sbGlzaW9uSGVpZ2h0LWQuaGVpZ2h0KCktZC5zY3JvbGxUb3AoKTtiLnRvcD1kPjA/
Yi50b3AtZDpNYXRoLm1heChiLnRvcC1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCxiLnRvcCl9fSxm
bGlwOntsZWZ0OmZ1bmN0aW9uKGIsYSl7aWYoYS5hdFswXSE9PSJjZW50ZXIiKXt2YXIgZD1jKHdp
bmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQrYS5jb2xsaXNpb25XaWR0aC1kLndpZHRo
KCktZC5zY3JvbGxMZWZ0KCk7dmFyIGc9YS5teVswXT09PSJsZWZ0Ij8tYS5lbGVtV2lkdGg6YS5t
eVswXT09PSJyaWdodCI/YS5lbGVtV2lkdGg6MCxlPWEuYXRbMF09PT0ibGVmdCI/YS50YXJnZXRX
aWR0aDotYS50YXJnZXRXaWR0aCxoPS0yKmEub2Zmc2V0WzBdO2IubGVmdCs9CithLmNvbGxpc2lv
blBvc2l0aW9uLmxlZnQ8MD9nK2UraDpkPjA/ZytlK2g6MH19LHRvcDpmdW5jdGlvbihiLGEpe2lm
KGEuYXRbMV0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlv
bi50b3ArYS5jb2xsaXNpb25IZWlnaHQtZC5oZWlnaHQoKS1kLnNjcm9sbFRvcCgpO3ZhciBnPWEu
bXlbMV09PT0idG9wIj8tYS5lbGVtSGVpZ2h0OmEubXlbMV09PT0iYm90dG9tIj9hLmVsZW1IZWln
aHQ6MCxlPWEuYXRbMV09PT0idG9wIj9hLnRhcmdldEhlaWdodDotYS50YXJnZXRIZWlnaHQsaD0t
MiphLm9mZnNldFsxXTtiLnRvcCs9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3A8MD9nK2UraDpkPjA/
ZytlK2g6MH19fX07aWYoIWMub2Zmc2V0LnNldE9mZnNldCl7Yy5vZmZzZXQuc2V0T2Zmc2V0PWZ1
bmN0aW9uKGIsYSl7aWYoL3N0YXRpYy8udGVzdChjLmN1ckNTUyhiLCJwb3NpdGlvbiIpKSliLnN0
eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dmFyIGQ9YyhiKSwKK2c9ZC5vZmZzZXQoKSxlPXBhcnNl
SW50KGMuY3VyQ1NTKGIsInRvcCIsdHJ1ZSksMTApfHwwLGg9cGFyc2VJbnQoYy5jdXJDU1MoYiwi
bGVmdCIsdHJ1ZSksMTApfHwwO2c9e3RvcDphLnRvcC1nLnRvcCtlLGxlZnQ6YS5sZWZ0LWcubGVm
dCtofTsidXNpbmciaW4gYT9hLnVzaW5nLmNhbGwoYixnKTpkLmNzcyhnKX07Yy5mbi5vZmZzZXQ9
ZnVuY3Rpb24oYil7dmFyIGE9dGhpc1swXTtpZighYXx8IWEub3duZXJEb2N1bWVudClyZXR1cm4g
bnVsbDtpZihiKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLm9mZnNldC5zZXRPZmZzZXQo
dGhpcyxiKX0pO3JldHVybiB1LmNhbGwodGhpcyl9fX0pKGpRdWVyeSk7CkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnByb2dy
ZXNzYmFyLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5qcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE2IEBACisvKgorICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIDEuOC4xNQorICoKKyAqIENvcHly
aWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1
YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICog
aHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20v
VUkvUHJvZ3Jlc3NiYXIKKyAqCisgKiBEZXBlbmRzOgorICogICBqcXVlcnkudWkuY29yZS5qcwor
ICogICBqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihiLGQpe2Iud2lkZ2V0KCJ1
aS5wcm9ncmVzc2JhciIse29wdGlvbnM6e3ZhbHVlOjAsbWF4OjEwMH0sbWluOjAsX2NyZWF0ZTpm
dW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2Jh
ciIsImFyaWEtdmFsdWVtaW4iOnRoaXMubWluLCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMu
bWF4LCJhcmlhLXZhbHVlbm93Ijp0aGlzLl92YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1iKCI8ZGl2
IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1s
ZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpO3RoaXMub2xkVmFsdWU9dGhpcy5f
dmFsdWUoKTt0aGlzLl9yZWZyZXNoVmFsdWUoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxl
bWVudC5yZW1vdmVDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250
ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12
YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZh
bHVlbm93Iik7Cit0aGlzLnZhbHVlRGl2LnJlbW92ZSgpO2IuV2lkZ2V0LnByb3RvdHlwZS5kZXN0
cm95LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdmFsdWU6ZnVuY3Rpb24oYSl7aWYoYT09PWQpcmV0
dXJuIHRoaXMuX3ZhbHVlKCk7dGhpcy5fc2V0T3B0aW9uKCJ2YWx1ZSIsYSk7cmV0dXJuIHRoaXN9
LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxjKXtpZihhPT09InZhbHVlIil7dGhpcy5vcHRpb25zLnZh
bHVlPWM7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fdmFsdWUoKT09PXRoaXMub3B0aW9ucy5t
YXgmJnRoaXMuX3RyaWdnZXIoImNvbXBsZXRlIil9Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRp
b24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9w
dGlvbnMudmFsdWU7aWYodHlwZW9mIGEhPT0ibnVtYmVyIilhPTA7cmV0dXJuIE1hdGgubWluKHRo
aXMub3B0aW9ucy5tYXgsTWF0aC5tYXgodGhpcy5taW4sYSkpfSxfcGVyY2VudGFnZTpmdW5jdGlv
bigpe3JldHVybiAxMDAqCit0aGlzLl92YWx1ZSgpL3RoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNo
VmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZhbHVlKCksYz10aGlzLl9wZXJjZW50YWdlKCk7
aWYodGhpcy5vbGRWYWx1ZSE9PWEpe3RoaXMub2xkVmFsdWU9YTt0aGlzLl90cmlnZ2VyKCJjaGFu
Z2UiKX10aGlzLnZhbHVlRGl2LnRvZ2dsZShhPnRoaXMubWluKS50b2dnbGVDbGFzcygidWktY29y
bmVyLXJpZ2h0IixhPT09dGhpcy5vcHRpb25zLm1heCkud2lkdGgoYy50b0ZpeGVkKDApKyIlIik7
dGhpcy5lbGVtZW50LmF0dHIoImFyaWEtdmFsdWVub3ciLGEpfX0pO2IuZXh0ZW5kKGIudWkucHJv
Z3Jlc3NiYXIse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7CkluZGV4OiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnJlc2l6YWJs
ZS5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5yZXNpemFibGUubWluLmpzCShub25leGlzdGVudCkK
KysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkudWkucmVzaXphYmxlLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisv
KgorICogalF1ZXJ5IFVJIFJlc2l6YWJsZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Jlc2l6YWJs
ZXMKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS5t
b3VzZS5qcworICoJanF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oZSl7ZS53aWRn
ZXQoInVpLnJlc2l6YWJsZSIsZS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InJlc2l6ZSIs
b3B0aW9uczp7YWxzb1Jlc2l6ZTpmYWxzZSxhbmltYXRlOmZhbHNlLGFuaW1hdGVEdXJhdGlvbjoi
c2xvdyIsYW5pbWF0ZUVhc2luZzoic3dpbmciLGFzcGVjdFJhdGlvOmZhbHNlLGF1dG9IaWRlOmZh
bHNlLGNvbnRhaW5tZW50OmZhbHNlLGdob3N0OmZhbHNlLGdyaWQ6ZmFsc2UsaGFuZGxlczoiZSxz
LHNlIixoZWxwZXI6ZmFsc2UsbWF4SGVpZ2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtaW5IZWlnaHQ6
MTAsbWluV2lkdGg6MTAsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBiPXRoaXMs
YT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1yZXNpemFibGUiKTtlLmV4
dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86ISFhLmFzcGVjdFJhdGlvLGFzcGVjdFJhdGlvOmEuYXNw
ZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVudCwKK19wcm9wb3J0aW9uYWxseVJl
c2l6ZUVsZW1lbnRzOltdLF9oZWxwZXI6YS5oZWxwZXJ8fGEuZ2hvc3R8fGEuYW5pbWF0ZT9hLmhl
bHBlcnx8InVpLXJlc2l6YWJsZS1oZWxwZXIiOm51bGx9KTtpZih0aGlzLmVsZW1lbnRbMF0ubm9k
ZU5hbWUubWF0Y2goL2NhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZy9pKSl7
L3JlbGF0aXZlLy50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIikpJiZlLmJyb3dzZXIu
b3BlcmEmJnRoaXMuZWxlbWVudC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIixs
ZWZ0OiJhdXRvIn0pO3RoaXMuZWxlbWVudC53cmFwKGUoJzxkaXYgY2xhc3M9InVpLXdyYXBwZXIi
IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyI+PC9kaXY+JykuY3NzKHtwb3NpdGlvbjp0aGlzLmVs
ZW1lbnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVp
Z2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLAordG9wOnRoaXMuZWxlbWVudC5jc3MoInRv
cCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNzcygibGVmdCIpfSkpO3RoaXMuZWxlbWVudD10aGlzLmVs
ZW1lbnQucGFyZW50KCkuZGF0YSgicmVzaXphYmxlIix0aGlzLmVsZW1lbnQuZGF0YSgicmVzaXph
YmxlIikpO3RoaXMuZWxlbWVudElzV3JhcHBlcj10cnVlO3RoaXMuZWxlbWVudC5jc3Moe21hcmdp
bkxlZnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksbWFyZ2luVG9wOnRo
aXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luVG9wIiksbWFyZ2luUmlnaHQ6dGhpcy5vcmln
aW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLG1hcmdpbkJvdHRvbTp0aGlzLm9yaWdpbmFs
RWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpfSk7dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtt
YXJnaW5MZWZ0OjAsbWFyZ2luVG9wOjAsbWFyZ2luUmlnaHQ6MCxtYXJnaW5Cb3R0b206MH0pO3Ro
aXMub3JpZ2luYWxSZXNpemVTdHlsZT0KK3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXpl
Iik7dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLCJub25lIik7dGhpcy5fcHJvcG9y
dGlvbmFsbHlSZXNpemVFbGVtZW50cy5wdXNoKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9z
aXRpb246InN0YXRpYyIsem9vbToxLGRpc3BsYXk6ImJsb2NrIn0pKTt0aGlzLm9yaWdpbmFsRWxl
bWVudC5jc3Moe21hcmdpbjp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbiIpfSk7dGhp
cy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX10aGlzLmhhbmRsZXM9YS5oYW5kbGVzfHwoIWUoIi51
aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmxlbmd0aD8iZSxzLHNlIjp7bjoiLnVp
LXJlc2l6YWJsZS1uIixlOiIudWktcmVzaXphYmxlLWUiLHM6Ii51aS1yZXNpemFibGUtcyIsdzoi
LnVpLXJlc2l6YWJsZS13IixzZToiLnVpLXJlc2l6YWJsZS1zZSIsc3c6Ii51aS1yZXNpemFibGUt
c3ciLG5lOiIudWktcmVzaXphYmxlLW5lIiwKK253OiIudWktcmVzaXphYmxlLW53In0pO2lmKHRo
aXMuaGFuZGxlcy5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtpZih0aGlzLmhhbmRsZXM9PSJhbGwiKXRo
aXMuaGFuZGxlcz0ibixlLHMsdyxzZSxzdyxuZSxudyI7dmFyIGM9dGhpcy5oYW5kbGVzLnNwbGl0
KCIsIik7dGhpcy5oYW5kbGVzPXt9O2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj1l
LnRyaW0oY1tkXSksZz1lKCc8ZGl2IGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlICcrKCJ1aS1y
ZXNpemFibGUtIitmKSsnIj48L2Rpdj4nKTsvc3d8c2V8bmV8bncvLnRlc3QoZikmJmcuY3NzKHt6
SW5kZXg6KythLnpJbmRleH0pOyJzZSI9PWYmJmcuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1n
cmlwc21hbGwtZGlhZ29uYWwtc2UiKTt0aGlzLmhhbmRsZXNbZl09Ii51aS1yZXNpemFibGUtIitm
O3RoaXMuZWxlbWVudC5hcHBlbmQoZyl9fXRoaXMuX3JlbmRlckF4aXM9ZnVuY3Rpb24oaCl7aD1o
fHx0aGlzLmVsZW1lbnQ7Zm9yKHZhciBpIGluIHRoaXMuaGFuZGxlcyl7aWYodGhpcy5oYW5kbGVz
W2ldLmNvbnN0cnVjdG9yPT0KK1N0cmluZyl0aGlzLmhhbmRsZXNbaV09ZSh0aGlzLmhhbmRsZXNb
aV0sdGhpcy5lbGVtZW50KS5zaG93KCk7aWYodGhpcy5lbGVtZW50SXNXcmFwcGVyJiZ0aGlzLm9y
aWdpbmFsRWxlbWVudFswXS5ub2RlTmFtZS5tYXRjaCgvdGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1
dHRvbi9pKSl7dmFyIGo9ZSh0aGlzLmhhbmRsZXNbaV0sdGhpcy5lbGVtZW50KSxsPTA7bD0vc3d8
bmV8bnd8c2V8bnxzLy50ZXN0KGkpP2oub3V0ZXJIZWlnaHQoKTpqLm91dGVyV2lkdGgoKTtqPVsi
cGFkZGluZyIsL25lfG53fG4vLnRlc3QoaSk/IlRvcCI6L3NlfHN3fHMvLnRlc3QoaSk/IkJvdHRv
bSI6L15lJC8udGVzdChpKT8iUmlnaHQiOiJMZWZ0Il0uam9pbigiIik7aC5jc3MoaixsKTt0aGlz
Ll9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfWUodGhpcy5oYW5kbGVzW2ldKX19O3RoaXMuX3JlbmRl
ckF4aXModGhpcy5lbGVtZW50KTt0aGlzLl9oYW5kbGVzPWUoIi51aS1yZXNpemFibGUtaGFuZGxl
Iix0aGlzLmVsZW1lbnQpLmRpc2FibGVTZWxlY3Rpb24oKTsKK3RoaXMuX2hhbmRsZXMubW91c2Vv
dmVyKGZ1bmN0aW9uKCl7aWYoIWIucmVzaXppbmcpe2lmKHRoaXMuY2xhc3NOYW1lKXZhciBoPXRo
aXMuY2xhc3NOYW1lLm1hdGNoKC91aS1yZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kp
O2IuYXhpcz1oJiZoWzFdP2hbMV06InNlIn19KTtpZihhLmF1dG9IaWRlKXt0aGlzLl9oYW5kbGVz
LmhpZGUoKTtlKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIp
LmhvdmVyKGZ1bmN0aW9uKCl7aWYoIWEuZGlzYWJsZWQpe2UodGhpcykucmVtb3ZlQ2xhc3MoInVp
LXJlc2l6YWJsZS1hdXRvaGlkZSIpO2IuX2hhbmRsZXMuc2hvdygpfX0sZnVuY3Rpb24oKXtpZigh
YS5kaXNhYmxlZClpZighYi5yZXNpemluZyl7ZSh0aGlzKS5hZGRDbGFzcygidWktcmVzaXphYmxl
LWF1dG9oaWRlIik7Yi5faGFuZGxlcy5oaWRlKCl9fSl9dGhpcy5fbW91c2VJbml0KCl9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3VzZURlc3Ryb3koKTsKK3ZhciBiPWZ1bmN0aW9uKGMpe2Uo
YykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVz
aXphYmxlLXJlc2l6aW5nIikucmVtb3ZlRGF0YSgicmVzaXphYmxlIikudW5iaW5kKCIucmVzaXph
YmxlIikuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5yZW1vdmUoKX07aWYodGhpcy5lbGVt
ZW50SXNXcmFwcGVyKXtiKHRoaXMuZWxlbWVudCk7dmFyIGE9dGhpcy5lbGVtZW50O2EuYWZ0ZXIo
dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjphLmNzcygicG9zaXRpb24iKSx3aWR0
aDphLm91dGVyV2lkdGgoKSxoZWlnaHQ6YS5vdXRlckhlaWdodCgpLHRvcDphLmNzcygidG9wIiks
bGVmdDphLmNzcygibGVmdCIpfSkpLnJlbW92ZSgpfXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygi
cmVzaXplIix0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGUpO2IodGhpcy5vcmlnaW5hbEVsZW1lbnQp
O3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGIpe3ZhciBhPQorZmFsc2U7Zm9y
KHZhciBjIGluIHRoaXMuaGFuZGxlcylpZihlKHRoaXMuaGFuZGxlc1tjXSlbMF09PWIudGFyZ2V0
KWE9dHJ1ZTtyZXR1cm4hdGhpcy5vcHRpb25zLmRpc2FibGVkJiZhfSxfbW91c2VTdGFydDpmdW5j
dGlvbihiKXt2YXIgYT10aGlzLm9wdGlvbnMsYz10aGlzLmVsZW1lbnQucG9zaXRpb24oKSxkPXRo
aXMuZWxlbWVudDt0aGlzLnJlc2l6aW5nPXRydWU7dGhpcy5kb2N1bWVudFNjcm9sbD17dG9wOmUo
ZG9jdW1lbnQpLnNjcm9sbFRvcCgpLGxlZnQ6ZShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpfTtpZihk
LmlzKCIudWktZHJhZ2dhYmxlIil8fC9hYnNvbHV0ZS8udGVzdChkLmNzcygicG9zaXRpb24iKSkp
ZC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmMudG9wLGxlZnQ6Yy5sZWZ0fSk7ZS5icm93
c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRlc3QoZC5jc3MoInBvc2l0aW9uIikpJiZkLmNzcyh7cG9z
aXRpb246InJlbGF0aXZlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSk7Cit0aGlzLl9yZW5kZXJQ
cm94eSgpO2M9bSh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSk7dmFyIGY9bSh0aGlzLmhlbHBlci5j
c3MoInRvcCIpKTtpZihhLmNvbnRhaW5tZW50KXtjKz1lKGEuY29udGFpbm1lbnQpLnNjcm9sbExl
ZnQoKXx8MDtmKz1lKGEuY29udGFpbm1lbnQpLnNjcm9sbFRvcCgpfHwwfXRoaXMub2Zmc2V0PXRo
aXMuaGVscGVyLm9mZnNldCgpO3RoaXMucG9zaXRpb249e2xlZnQ6Yyx0b3A6Zn07dGhpcy5zaXpl
PXRoaXMuX2hlbHBlcj97d2lkdGg6ZC5vdXRlcldpZHRoKCksaGVpZ2h0OmQub3V0ZXJIZWlnaHQo
KX06e3dpZHRoOmQud2lkdGgoKSxoZWlnaHQ6ZC5oZWlnaHQoKX07dGhpcy5vcmlnaW5hbFNpemU9
dGhpcy5faGVscGVyP3t3aWR0aDpkLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZC5vdXRlckhlaWdodCgp
fTp7d2lkdGg6ZC53aWR0aCgpLGhlaWdodDpkLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsUG9zaXRp
b249e2xlZnQ6Yyx0b3A6Zn07dGhpcy5zaXplRGlmZj0KK3t3aWR0aDpkLm91dGVyV2lkdGgoKS1k
LndpZHRoKCksaGVpZ2h0OmQub3V0ZXJIZWlnaHQoKS1kLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFs
TW91c2VQb3NpdGlvbj17bGVmdDpiLnBhZ2VYLHRvcDpiLnBhZ2VZfTt0aGlzLmFzcGVjdFJhdGlv
PXR5cGVvZiBhLmFzcGVjdFJhdGlvPT0ibnVtYmVyIj9hLmFzcGVjdFJhdGlvOnRoaXMub3JpZ2lu
YWxTaXplLndpZHRoL3RoaXMub3JpZ2luYWxTaXplLmhlaWdodHx8MTthPWUoIi51aS1yZXNpemFi
bGUtIit0aGlzLmF4aXMpLmNzcygiY3Vyc29yIik7ZSgiYm9keSIpLmNzcygiY3Vyc29yIixhPT0i
YXV0byI/dGhpcy5heGlzKyItcmVzaXplIjphKTtkLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVz
aXppbmciKTt0aGlzLl9wcm9wYWdhdGUoInN0YXJ0IixiKTtyZXR1cm4gdHJ1ZX0sX21vdXNlRHJh
ZzpmdW5jdGlvbihiKXt2YXIgYT10aGlzLmhlbHBlcixjPXRoaXMub3JpZ2luYWxNb3VzZVBvc2l0
aW9uLGQ9dGhpcy5fY2hhbmdlW3RoaXMuYXhpc107CitpZighZClyZXR1cm4gZmFsc2U7Yz1kLmFw
cGx5KHRoaXMsW2IsYi5wYWdlWC1jLmxlZnR8fDAsYi5wYWdlWS1jLnRvcHx8MF0pO3RoaXMuX3Vw
ZGF0ZVZpcnR1YWxCb3VuZGFyaWVzKGIuc2hpZnRLZXkpO2lmKHRoaXMuX2FzcGVjdFJhdGlvfHxi
LnNoaWZ0S2V5KWM9dGhpcy5fdXBkYXRlUmF0aW8oYyxiKTtjPXRoaXMuX3Jlc3BlY3RTaXplKGMs
Yik7dGhpcy5fcHJvcGFnYXRlKCJyZXNpemUiLGIpO2EuY3NzKHt0b3A6dGhpcy5wb3NpdGlvbi50
b3ArInB4IixsZWZ0OnRoaXMucG9zaXRpb24ubGVmdCsicHgiLHdpZHRoOnRoaXMuc2l6ZS53aWR0
aCsicHgiLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0KyJweCJ9KTshdGhpcy5faGVscGVyJiZ0aGlz
Ll9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aCYmdGhpcy5fcHJvcG9ydGlvbmFs
bHlSZXNpemUoKTt0aGlzLl91cGRhdGVDYWNoZShjKTt0aGlzLl90cmlnZ2VyKCJyZXNpemUiLGIs
dGhpcy51aSgpKTtyZXR1cm4gZmFsc2V9LAorX21vdXNlU3RvcDpmdW5jdGlvbihiKXt0aGlzLnJl
c2l6aW5nPWZhbHNlO3ZhciBhPXRoaXMub3B0aW9ucyxjPXRoaXM7aWYodGhpcy5faGVscGVyKXt2
YXIgZD10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGY9ZC5sZW5ndGgmJi90ZXh0
YXJlYS9pLnRlc3QoZFswXS5ub2RlTmFtZSk7ZD1mJiZlLnVpLmhhc1Njcm9sbChkWzBdLCJsZWZ0
Iik/MDpjLnNpemVEaWZmLmhlaWdodDtmPWY/MDpjLnNpemVEaWZmLndpZHRoO2Y9e3dpZHRoOmMu
aGVscGVyLndpZHRoKCktZixoZWlnaHQ6Yy5oZWxwZXIuaGVpZ2h0KCktZH07ZD1wYXJzZUludChj
LmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApKyhjLnBvc2l0aW9uLmxlZnQtYy5vcmlnaW5hbFBvc2l0
aW9uLmxlZnQpfHxudWxsO3ZhciBnPXBhcnNlSW50KGMuZWxlbWVudC5jc3MoInRvcCIpLDEwKSso
Yy5wb3NpdGlvbi50b3AtYy5vcmlnaW5hbFBvc2l0aW9uLnRvcCl8fG51bGw7YS5hbmltYXRlfHx0
aGlzLmVsZW1lbnQuY3NzKGUuZXh0ZW5kKGYsCit7dG9wOmcsbGVmdDpkfSkpO2MuaGVscGVyLmhl
aWdodChjLnNpemUuaGVpZ2h0KTtjLmhlbHBlci53aWR0aChjLnNpemUud2lkdGgpO3RoaXMuX2hl
bHBlciYmIWEuYW5pbWF0ZSYmdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX1lKCJib2R5Iiku
Y3NzKCJjdXJzb3IiLCJhdXRvIik7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFi
bGUtcmVzaXppbmciKTt0aGlzLl9wcm9wYWdhdGUoInN0b3AiLGIpO3RoaXMuX2hlbHBlciYmdGhp
cy5oZWxwZXIucmVtb3ZlKCk7cmV0dXJuIGZhbHNlfSxfdXBkYXRlVmlydHVhbEJvdW5kYXJpZXM6
ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5vcHRpb25zLGMsZCxmO2E9e21pbldpZHRoOmsoYS5taW5X
aWR0aCk/YS5taW5XaWR0aDowLG1heFdpZHRoOmsoYS5tYXhXaWR0aCk/YS5tYXhXaWR0aDpJbmZp
bml0eSxtaW5IZWlnaHQ6ayhhLm1pbkhlaWdodCk/YS5taW5IZWlnaHQ6MCxtYXhIZWlnaHQ6ayhh
Lm1heEhlaWdodCk/YS5tYXhIZWlnaHQ6CitJbmZpbml0eX07aWYodGhpcy5fYXNwZWN0UmF0aW98
fGIpe2I9YS5taW5IZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztkPWEubWluV2lkdGgvdGhpcy5hc3Bl
Y3RSYXRpbztjPWEubWF4SGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87Zj1hLm1heFdpZHRoL3RoaXMu
YXNwZWN0UmF0aW87aWYoYj5hLm1pbldpZHRoKWEubWluV2lkdGg9YjtpZihkPmEubWluSGVpZ2h0
KWEubWluSGVpZ2h0PWQ7aWYoYzxhLm1heFdpZHRoKWEubWF4V2lkdGg9YztpZihmPGEubWF4SGVp
Z2h0KWEubWF4SGVpZ2h0PWZ9dGhpcy5fdkJvdW5kYXJpZXM9YX0sX3VwZGF0ZUNhY2hlOmZ1bmN0
aW9uKGIpe3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpO2lmKGsoYi5sZWZ0KSl0aGlz
LnBvc2l0aW9uLmxlZnQ9Yi5sZWZ0O2lmKGsoYi50b3ApKXRoaXMucG9zaXRpb24udG9wPWIudG9w
O2lmKGsoYi5oZWlnaHQpKXRoaXMuc2l6ZS5oZWlnaHQ9Yi5oZWlnaHQ7aWYoayhiLndpZHRoKSl0
aGlzLnNpemUud2lkdGg9CitiLndpZHRofSxfdXBkYXRlUmF0aW86ZnVuY3Rpb24oYil7dmFyIGE9
dGhpcy5wb3NpdGlvbixjPXRoaXMuc2l6ZSxkPXRoaXMuYXhpcztpZihrKGIuaGVpZ2h0KSliLndp
ZHRoPWIuaGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87ZWxzZSBpZihrKGIud2lkdGgpKWIuaGVpZ2h0
PWIud2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihkPT0ic3ciKXtiLmxlZnQ9YS5sZWZ0KyhjLndp
ZHRoLWIud2lkdGgpO2IudG9wPW51bGx9aWYoZD09Im53Iil7Yi50b3A9YS50b3ArKGMuaGVpZ2h0
LWIuaGVpZ2h0KTtiLmxlZnQ9YS5sZWZ0KyhjLndpZHRoLWIud2lkdGgpfXJldHVybiBifSxfcmVz
cGVjdFNpemU6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5fdkJvdW5kYXJpZXMsYz10aGlzLmF4aXMs
ZD1rKGIud2lkdGgpJiZhLm1heFdpZHRoJiZhLm1heFdpZHRoPGIud2lkdGgsZj1rKGIuaGVpZ2h0
KSYmYS5tYXhIZWlnaHQmJmEubWF4SGVpZ2h0PGIuaGVpZ2h0LGc9ayhiLndpZHRoKSYmYS5taW5X
aWR0aCYmCithLm1pbldpZHRoPmIud2lkdGgsaD1rKGIuaGVpZ2h0KSYmYS5taW5IZWlnaHQmJmEu
bWluSGVpZ2h0PmIuaGVpZ2h0O2lmKGcpYi53aWR0aD1hLm1pbldpZHRoO2lmKGgpYi5oZWlnaHQ9
YS5taW5IZWlnaHQ7aWYoZCliLndpZHRoPWEubWF4V2lkdGg7aWYoZiliLmhlaWdodD1hLm1heEhl
aWdodDt2YXIgaT10aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVmdCt0aGlzLm9yaWdpbmFsU2l6ZS53
aWR0aCxqPXRoaXMucG9zaXRpb24udG9wK3RoaXMuc2l6ZS5oZWlnaHQsbD0vc3d8bnd8dy8udGVz
dChjKTtjPS9ud3xuZXxuLy50ZXN0KGMpO2lmKGcmJmwpYi5sZWZ0PWktYS5taW5XaWR0aDtpZihk
JiZsKWIubGVmdD1pLWEubWF4V2lkdGg7aWYoaCYmYyliLnRvcD1qLWEubWluSGVpZ2h0O2lmKGYm
JmMpYi50b3A9ai1hLm1heEhlaWdodDtpZigoYT0hYi53aWR0aCYmIWIuaGVpZ2h0KSYmIWIubGVm
dCYmYi50b3ApYi50b3A9bnVsbDtlbHNlIGlmKGEmJiFiLnRvcCYmYi5sZWZ0KWIubGVmdD0KK251
bGw7cmV0dXJuIGJ9LF9wcm9wb3J0aW9uYWxseVJlc2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMuX3By
b3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKWZvcih2YXIgYj10aGlzLmhlbHBlcnx8
dGhpcy5lbGVtZW50LGE9MDthPHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVu
Z3RoO2ErKyl7dmFyIGM9dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1thXTtpZigh
dGhpcy5ib3JkZXJEaWYpe3ZhciBkPVtjLmNzcygiYm9yZGVyVG9wV2lkdGgiKSxjLmNzcygiYm9y
ZGVyUmlnaHRXaWR0aCIpLGMuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLGMuY3NzKCJib3JkZXJM
ZWZ0V2lkdGgiKV0sZj1bYy5jc3MoInBhZGRpbmdUb3AiKSxjLmNzcygicGFkZGluZ1JpZ2h0Iiks
Yy5jc3MoInBhZGRpbmdCb3R0b20iKSxjLmNzcygicGFkZGluZ0xlZnQiKV07dGhpcy5ib3JkZXJE
aWY9ZS5tYXAoZCxmdW5jdGlvbihnLGgpe2c9cGFyc2VJbnQoZywxMCl8fAorMDtoPXBhcnNlSW50
KGZbaF0sMTApfHwwO3JldHVybiBnK2h9KX1lLmJyb3dzZXIubXNpZSYmKGUoYikuaXMoIjpoaWRk
ZW4iKXx8ZShiKS5wYXJlbnRzKCI6aGlkZGVuIikubGVuZ3RoKXx8Yy5jc3Moe2hlaWdodDpiLmhl
aWdodCgpLXRoaXMuYm9yZGVyRGlmWzBdLXRoaXMuYm9yZGVyRGlmWzJdfHwwLHdpZHRoOmIud2lk
dGgoKS10aGlzLmJvcmRlckRpZlsxXS10aGlzLmJvcmRlckRpZlszXXx8MH0pfX0sX3JlbmRlclBy
b3h5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudE9mZnNldD10aGlz
LmVsZW1lbnQub2Zmc2V0KCk7aWYodGhpcy5faGVscGVyKXt0aGlzLmhlbHBlcj10aGlzLmhlbHBl
cnx8ZSgnPGRpdiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuOyI+PC9kaXY+Jyk7dmFyIGE9ZS5icm93
c2VyLm1zaWUmJmUuYnJvd3Nlci52ZXJzaW9uPDcsYz1hPzE6MDthPWE/MjotMTt0aGlzLmhlbHBl
ci5hZGRDbGFzcyh0aGlzLl9oZWxwZXIpLmNzcyh7d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lk
dGgoKSsKK2EsaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpK2EscG9zaXRpb246ImFi
c29sdXRlIixsZWZ0OnRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LWMrInB4Iix0b3A6dGhpcy5lbGVt
ZW50T2Zmc2V0LnRvcC1jKyJweCIsekluZGV4OisrYi56SW5kZXh9KTt0aGlzLmhlbHBlci5hcHBl
bmRUbygiYm9keSIpLmRpc2FibGVTZWxlY3Rpb24oKX1lbHNlIHRoaXMuaGVscGVyPXRoaXMuZWxl
bWVudH0sX2NoYW5nZTp7ZTpmdW5jdGlvbihiLGEpe3JldHVybnt3aWR0aDp0aGlzLm9yaWdpbmFs
U2l6ZS53aWR0aCthfX0sdzpmdW5jdGlvbihiLGEpe3JldHVybntsZWZ0OnRoaXMub3JpZ2luYWxQ
b3NpdGlvbi5sZWZ0K2Esd2lkdGg6dGhpcy5vcmlnaW5hbFNpemUud2lkdGgtYX19LG46ZnVuY3Rp
b24oYixhLGMpe3JldHVybnt0b3A6dGhpcy5vcmlnaW5hbFBvc2l0aW9uLnRvcCtjLGhlaWdodDp0
aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQtY319LHM6ZnVuY3Rpb24oYixhLGMpe3JldHVybntoZWln
aHQ6dGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0KworY319LHNlOmZ1bmN0aW9uKGIsYSxjKXtyZXR1
cm4gZS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2No
YW5nZS5lLmFwcGx5KHRoaXMsW2IsYSxjXSkpfSxzdzpmdW5jdGlvbihiLGEsYyl7cmV0dXJuIGUu
ZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2Uu
dy5hcHBseSh0aGlzLFtiLGEsY10pKX0sbmU6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVu
ZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBw
bHkodGhpcyxbYixhLGNdKSl9LG53OmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4gZS5leHRlbmQodGhp
cy5fY2hhbmdlLm4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRo
aXMsW2IsYSxjXSkpfX0sX3Byb3BhZ2F0ZTpmdW5jdGlvbihiLGEpe2UudWkucGx1Z2luLmNhbGwo
dGhpcyxiLFthLHRoaXMudWkoKV0pOworYiE9InJlc2l6ZSImJnRoaXMuX3RyaWdnZXIoYixhLHRo
aXMudWkoKSl9LHBsdWdpbnM6e30sdWk6ZnVuY3Rpb24oKXtyZXR1cm57b3JpZ2luYWxFbGVtZW50
OnRoaXMub3JpZ2luYWxFbGVtZW50LGVsZW1lbnQ6dGhpcy5lbGVtZW50LGhlbHBlcjp0aGlzLmhl
bHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0aW9uLHNpemU6dGhpcy5zaXplLG9yaWdpbmFsU2l6ZTp0
aGlzLm9yaWdpbmFsU2l6ZSxvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3NpdGlvbn19
fSk7ZS5leHRlbmQoZS51aS5yZXNpemFibGUse3ZlcnNpb246IjEuOC4xNSJ9KTtlLnVpLnBsdWdp
bi5hZGQoInJlc2l6YWJsZSIsImFsc29SZXNpemUiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBiPWUo
dGhpcykuZGF0YSgicmVzaXphYmxlIikub3B0aW9ucyxhPWZ1bmN0aW9uKGMpe2UoYykuZWFjaChm
dW5jdGlvbigpe3ZhciBkPWUodGhpcyk7ZC5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIse3dp
ZHRoOnBhcnNlSW50KGQud2lkdGgoKSwKKzEwKSxoZWlnaHQ6cGFyc2VJbnQoZC5oZWlnaHQoKSwx
MCksbGVmdDpwYXJzZUludChkLmNzcygibGVmdCIpLDEwKSx0b3A6cGFyc2VJbnQoZC5jc3MoInRv
cCIpLDEwKSxwb3NpdGlvbjpkLmNzcygicG9zaXRpb24iKX0pfSl9O2lmKHR5cGVvZiBiLmFsc29S
ZXNpemU9PSJvYmplY3QiJiYhYi5hbHNvUmVzaXplLnBhcmVudE5vZGUpaWYoYi5hbHNvUmVzaXpl
Lmxlbmd0aCl7Yi5hbHNvUmVzaXplPWIuYWxzb1Jlc2l6ZVswXTthKGIuYWxzb1Jlc2l6ZSl9ZWxz
ZSBlLmVhY2goYi5hbHNvUmVzaXplLGZ1bmN0aW9uKGMpe2EoYyl9KTtlbHNlIGEoYi5hbHNvUmVz
aXplKX0scmVzaXplOmZ1bmN0aW9uKGIsYSl7dmFyIGM9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUi
KTtiPWMub3B0aW9uczt2YXIgZD1jLm9yaWdpbmFsU2l6ZSxmPWMub3JpZ2luYWxQb3NpdGlvbixn
PXtoZWlnaHQ6Yy5zaXplLmhlaWdodC1kLmhlaWdodHx8MCx3aWR0aDpjLnNpemUud2lkdGgtZC53
aWR0aHx8MCx0b3A6Yy5wb3NpdGlvbi50b3AtCitmLnRvcHx8MCxsZWZ0OmMucG9zaXRpb24ubGVm
dC1mLmxlZnR8fDB9LGg9ZnVuY3Rpb24oaSxqKXtlKGkpLmVhY2goZnVuY3Rpb24oKXt2YXIgbD1l
KHRoaXMpLHE9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpLHA9e30scj1qJiZq
Lmxlbmd0aD9qOmwucGFyZW50cyhhLm9yaWdpbmFsRWxlbWVudFswXSkubGVuZ3RoP1sid2lkdGgi
LCJoZWlnaHQiXTpbIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwibGVmdCJdO2UuZWFjaChyLGZ1bmN0
aW9uKG4sbyl7aWYoKG49KHFbb118fDApKyhnW29dfHwwKSkmJm4+PTApcFtvXT1ufHxudWxsfSk7
aWYoZS5icm93c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRlc3QobC5jc3MoInBvc2l0aW9uIikpKXtj
Ll9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249dHJ1ZTtsLmNzcyh7cG9zaXRpb246ImFic29sdXRl
Iix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSl9bC5jc3MocCl9KX07dHlwZW9mIGIuYWxzb1Jlc2l6
ZT09Im9iamVjdCImJiFiLmFsc29SZXNpemUubm9kZVR5cGU/CitlLmVhY2goYi5hbHNvUmVzaXpl
LGZ1bmN0aW9uKGksail7aChpLGopfSk6aChiLmFsc29SZXNpemUpfSxzdG9wOmZ1bmN0aW9uKCl7
dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWZ1bmN0aW9uKGQp
e2UoZCkuZWFjaChmdW5jdGlvbigpe3ZhciBmPWUodGhpcyk7Zi5jc3Moe3Bvc2l0aW9uOmYuZGF0
YSgicmVzaXphYmxlLWFsc29yZXNpemUiKS5wb3NpdGlvbn0pfSl9O2lmKGIuX3JldmVydFRvUmVs
YXRpdmVQb3NpdGlvbil7Yi5fcmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uPWZhbHNlO3R5cGVvZiBh
LmFsc29SZXNpemU9PSJvYmplY3QiJiYhYS5hbHNvUmVzaXplLm5vZGVUeXBlP2UuZWFjaChhLmFs
c29SZXNpemUsZnVuY3Rpb24oZCl7YyhkKX0pOmMoYS5hbHNvUmVzaXplKX1lKHRoaXMpLnJlbW92
ZURhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIil9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFi
bGUiLCJhbmltYXRlIix7c3RvcDpmdW5jdGlvbihiKXt2YXIgYT0KK2UodGhpcykuZGF0YSgicmVz
aXphYmxlIiksYz1hLm9wdGlvbnMsZD1hLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGY9
ZC5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoZFswXS5ub2RlTmFtZSksZz1mJiZlLnVpLmhhc1Nj
cm9sbChkWzBdLCJsZWZ0Iik/MDphLnNpemVEaWZmLmhlaWdodDtmPXt3aWR0aDphLnNpemUud2lk
dGgtKGY/MDphLnNpemVEaWZmLndpZHRoKSxoZWlnaHQ6YS5zaXplLmhlaWdodC1nfTtnPXBhcnNl
SW50KGEuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGEucG9zaXRpb24ubGVmdC1hLm9yaWdpbmFs
UG9zaXRpb24ubGVmdCl8fG51bGw7dmFyIGg9cGFyc2VJbnQoYS5lbGVtZW50LmNzcygidG9wIiks
MTApKyhhLnBvc2l0aW9uLnRvcC1hLm9yaWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDthLmVsZW1l
bnQuYW5pbWF0ZShlLmV4dGVuZChmLGgmJmc/e3RvcDpoLGxlZnQ6Z306e30pLHtkdXJhdGlvbjpj
LmFuaW1hdGVEdXJhdGlvbixlYXNpbmc6Yy5hbmltYXRlRWFzaW5nLAorc3RlcDpmdW5jdGlvbigp
e3ZhciBpPXt3aWR0aDpwYXJzZUludChhLmVsZW1lbnQuY3NzKCJ3aWR0aCIpLDEwKSxoZWlnaHQ6
cGFyc2VJbnQoYS5lbGVtZW50LmNzcygiaGVpZ2h0IiksMTApLHRvcDpwYXJzZUludChhLmVsZW1l
bnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpwYXJzZUludChhLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTAp
fTtkJiZkLmxlbmd0aCYmZShkWzBdKS5jc3Moe3dpZHRoOmkud2lkdGgsaGVpZ2h0OmkuaGVpZ2h0
fSk7YS5fdXBkYXRlQ2FjaGUoaSk7YS5fcHJvcGFnYXRlKCJyZXNpemUiLGIpfX0pfX0pO2UudWku
cGx1Z2luLmFkZCgicmVzaXphYmxlIiwiY29udGFpbm1lbnQiLHtzdGFydDpmdW5jdGlvbigpe3Zh
ciBiPWUodGhpcykuZGF0YSgicmVzaXphYmxlIiksYT1iLmVsZW1lbnQsYz1iLm9wdGlvbnMuY29u
dGFpbm1lbnQ7aWYoYT1jIGluc3RhbmNlb2YgZT9jLmdldCgwKTovcGFyZW50Ly50ZXN0KGMpP2Eu
cGFyZW50KCkuZ2V0KDApOmMpe2IuY29udGFpbmVyRWxlbWVudD0KK2UoYSk7aWYoL2RvY3VtZW50
Ly50ZXN0KGMpfHxjPT1kb2N1bWVudCl7Yi5jb250YWluZXJPZmZzZXQ9e2xlZnQ6MCx0b3A6MH07
Yi5jb250YWluZXJQb3NpdGlvbj17bGVmdDowLHRvcDowfTtiLnBhcmVudERhdGE9e2VsZW1lbnQ6
ZShkb2N1bWVudCksbGVmdDowLHRvcDowLHdpZHRoOmUoZG9jdW1lbnQpLndpZHRoKCksaGVpZ2h0
OmUoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVp
Z2h0fX1lbHNle3ZhciBkPWUoYSksZj1bXTtlKFsiVG9wIiwiUmlnaHQiLCJMZWZ0IiwiQm90dG9t
Il0pLmVhY2goZnVuY3Rpb24oaSxqKXtmW2ldPW0oZC5jc3MoInBhZGRpbmciK2opKX0pO2IuY29u
dGFpbmVyT2Zmc2V0PWQub2Zmc2V0KCk7Yi5jb250YWluZXJQb3NpdGlvbj1kLnBvc2l0aW9uKCk7
Yi5jb250YWluZXJTaXplPXtoZWlnaHQ6ZC5pbm5lckhlaWdodCgpLWZbM10sd2lkdGg6ZC5pbm5l
cldpZHRoKCktZlsxXX07Yz1iLmNvbnRhaW5lck9mZnNldDsKK3ZhciBnPWIuY29udGFpbmVyU2l6
ZS5oZWlnaHQsaD1iLmNvbnRhaW5lclNpemUud2lkdGg7aD1lLnVpLmhhc1Njcm9sbChhLCJsZWZ0
Iik/YS5zY3JvbGxXaWR0aDpoO2c9ZS51aS5oYXNTY3JvbGwoYSk/YS5zY3JvbGxIZWlnaHQ6Zzti
LnBhcmVudERhdGE9e2VsZW1lbnQ6YSxsZWZ0OmMubGVmdCx0b3A6Yy50b3Asd2lkdGg6aCxoZWln
aHQ6Z319fX0scmVzaXplOmZ1bmN0aW9uKGIpe3ZhciBhPWUodGhpcykuZGF0YSgicmVzaXphYmxl
IiksYz1hLm9wdGlvbnMsZD1hLmNvbnRhaW5lck9mZnNldCxmPWEucG9zaXRpb247Yj1hLl9hc3Bl
Y3RSYXRpb3x8Yi5zaGlmdEtleTt2YXIgZz17dG9wOjAsbGVmdDowfSxoPWEuY29udGFpbmVyRWxl
bWVudDtpZihoWzBdIT1kb2N1bWVudCYmL3N0YXRpYy8udGVzdChoLmNzcygicG9zaXRpb24iKSkp
Zz1kO2lmKGYubGVmdDwoYS5faGVscGVyP2QubGVmdDowKSl7YS5zaXplLndpZHRoKz1hLl9oZWxw
ZXI/YS5wb3NpdGlvbi5sZWZ0LWQubGVmdDoKK2EucG9zaXRpb24ubGVmdC1nLmxlZnQ7aWYoYilh
LnNpemUuaGVpZ2h0PWEuc2l6ZS53aWR0aC9jLmFzcGVjdFJhdGlvO2EucG9zaXRpb24ubGVmdD1j
LmhlbHBlcj9kLmxlZnQ6MH1pZihmLnRvcDwoYS5faGVscGVyP2QudG9wOjApKXthLnNpemUuaGVp
Z2h0Kz1hLl9oZWxwZXI/YS5wb3NpdGlvbi50b3AtZC50b3A6YS5wb3NpdGlvbi50b3A7aWYoYilh
LnNpemUud2lkdGg9YS5zaXplLmhlaWdodCpjLmFzcGVjdFJhdGlvO2EucG9zaXRpb24udG9wPWEu
X2hlbHBlcj9kLnRvcDowfWEub2Zmc2V0LmxlZnQ9YS5wYXJlbnREYXRhLmxlZnQrYS5wb3NpdGlv
bi5sZWZ0O2Eub2Zmc2V0LnRvcD1hLnBhcmVudERhdGEudG9wK2EucG9zaXRpb24udG9wO2M9TWF0
aC5hYnMoKGEuX2hlbHBlcj9hLm9mZnNldC5sZWZ0LWcubGVmdDphLm9mZnNldC5sZWZ0LWcubGVm
dCkrYS5zaXplRGlmZi53aWR0aCk7ZD1NYXRoLmFicygoYS5faGVscGVyP2Eub2Zmc2V0LnRvcC1n
LnRvcDphLm9mZnNldC50b3AtCitkLnRvcCkrYS5zaXplRGlmZi5oZWlnaHQpO2Y9YS5jb250YWlu
ZXJFbGVtZW50LmdldCgwKT09YS5lbGVtZW50LnBhcmVudCgpLmdldCgwKTtnPS9yZWxhdGl2ZXxh
YnNvbHV0ZS8udGVzdChhLmNvbnRhaW5lckVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKTtpZihmJiZn
KWMtPWEucGFyZW50RGF0YS5sZWZ0O2lmKGMrYS5zaXplLndpZHRoPj1hLnBhcmVudERhdGEud2lk
dGgpe2Euc2l6ZS53aWR0aD1hLnBhcmVudERhdGEud2lkdGgtYztpZihiKWEuc2l6ZS5oZWlnaHQ9
YS5zaXplLndpZHRoL2EuYXNwZWN0UmF0aW99aWYoZCthLnNpemUuaGVpZ2h0Pj1hLnBhcmVudERh
dGEuaGVpZ2h0KXthLnNpemUuaGVpZ2h0PWEucGFyZW50RGF0YS5oZWlnaHQtZDtpZihiKWEuc2l6
ZS53aWR0aD1hLnNpemUuaGVpZ2h0KmEuYXNwZWN0UmF0aW99fSxzdG9wOmZ1bmN0aW9uKCl7dmFy
IGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWIuY29udGFpbmVyT2Zm
c2V0LGQ9Yi5jb250YWluZXJQb3NpdGlvbiwKK2Y9Yi5jb250YWluZXJFbGVtZW50LGc9ZShiLmhl
bHBlciksaD1nLm9mZnNldCgpLGk9Zy5vdXRlcldpZHRoKCktYi5zaXplRGlmZi53aWR0aDtnPWcu
b3V0ZXJIZWlnaHQoKS1iLnNpemVEaWZmLmhlaWdodDtiLl9oZWxwZXImJiFhLmFuaW1hdGUmJi9y
ZWxhdGl2ZS8udGVzdChmLmNzcygicG9zaXRpb24iKSkmJmUodGhpcykuY3NzKHtsZWZ0OmgubGVm
dC1kLmxlZnQtYy5sZWZ0LHdpZHRoOmksaGVpZ2h0Omd9KTtiLl9oZWxwZXImJiFhLmFuaW1hdGUm
Ji9zdGF0aWMvLnRlc3QoZi5jc3MoInBvc2l0aW9uIikpJiZlKHRoaXMpLmNzcyh7bGVmdDpoLmxl
ZnQtZC5sZWZ0LWMubGVmdCx3aWR0aDppLGhlaWdodDpnfSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJy
ZXNpemFibGUiLCJnaG9zdCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJy
ZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWIuc2l6ZTtiLmdob3N0PWIub3JpZ2luYWxFbGVtZW50
LmNsb25lKCk7Yi5naG9zdC5jc3Moe29wYWNpdHk6MC4yNSwKK2Rpc3BsYXk6ImJsb2NrIixwb3Np
dGlvbjoicmVsYXRpdmUiLGhlaWdodDpjLmhlaWdodCx3aWR0aDpjLndpZHRoLG1hcmdpbjowLGxl
ZnQ6MCx0b3A6MH0pLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtZ2hvc3QiKS5hZGRDbGFzcyh0eXBl
b2YgYS5naG9zdD09InN0cmluZyI/YS5naG9zdDoiIik7Yi5naG9zdC5hcHBlbmRUbyhiLmhlbHBl
cil9LHJlc2l6ZTpmdW5jdGlvbigpe3ZhciBiPWUodGhpcykuZGF0YSgicmVzaXphYmxlIik7Yi5n
aG9zdCYmYi5naG9zdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmIuc2l6ZS5oZWln
aHQsd2lkdGg6Yi5zaXplLndpZHRofSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRh
dGEoInJlc2l6YWJsZSIpO2IuZ2hvc3QmJmIuaGVscGVyJiZiLmhlbHBlci5nZXQoMCkucmVtb3Zl
Q2hpbGQoYi5naG9zdC5nZXQoMCkpfX0pO2UudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ3Jp
ZCIse3Jlc2l6ZTpmdW5jdGlvbigpe3ZhciBiPQorZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxh
PWIub3B0aW9ucyxjPWIuc2l6ZSxkPWIub3JpZ2luYWxTaXplLGY9Yi5vcmlnaW5hbFBvc2l0aW9u
LGc9Yi5heGlzO2EuZ3JpZD10eXBlb2YgYS5ncmlkPT0ibnVtYmVyIj9bYS5ncmlkLGEuZ3JpZF06
YS5ncmlkO3ZhciBoPU1hdGgucm91bmQoKGMud2lkdGgtZC53aWR0aCkvKGEuZ3JpZFswXXx8MSkp
KihhLmdyaWRbMF18fDEpO2E9TWF0aC5yb3VuZCgoYy5oZWlnaHQtZC5oZWlnaHQpLyhhLmdyaWRb
MV18fDEpKSooYS5ncmlkWzFdfHwxKTtpZigvXihzZXxzfGUpJC8udGVzdChnKSl7Yi5zaXplLndp
ZHRoPWQud2lkdGgraDtiLnNpemUuaGVpZ2h0PWQuaGVpZ2h0K2F9ZWxzZSBpZigvXihuZSkkLy50
ZXN0KGcpKXtiLnNpemUud2lkdGg9ZC53aWR0aCtoO2Iuc2l6ZS5oZWlnaHQ9ZC5oZWlnaHQrYTti
LnBvc2l0aW9uLnRvcD1mLnRvcC1hfWVsc2V7aWYoL14oc3cpJC8udGVzdChnKSl7Yi5zaXplLndp
ZHRoPWQud2lkdGgraDtiLnNpemUuaGVpZ2h0PQorZC5oZWlnaHQrYX1lbHNle2Iuc2l6ZS53aWR0
aD1kLndpZHRoK2g7Yi5zaXplLmhlaWdodD1kLmhlaWdodCthO2IucG9zaXRpb24udG9wPWYudG9w
LWF9Yi5wb3NpdGlvbi5sZWZ0PWYubGVmdC1ofX19KTt2YXIgbT1mdW5jdGlvbihiKXtyZXR1cm4g
cGFyc2VJbnQoYiwxMCl8fDB9LGs9ZnVuY3Rpb24oYil7cmV0dXJuIWlzTmFOKHBhcnNlSW50KGIs
MTApKX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5yZXNpemFibGUubWluLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworb24KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zZWxlY3RhYmxlLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc2VsZWN0YWJs
ZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorLyoKKyAqIGpRdWVyeSBV
SSBTZWxlY3RhYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAo
aHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1J
VCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5z
ZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2VsZWN0YWJsZXMKKyAqCisgKiBE
ZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS5tb3VzZS5qcworICoJ
anF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oZSl7ZS53aWRnZXQoInVpLnNlbGVj
dGFibGUiLGUudWkubW91c2Use29wdGlvbnM6e2FwcGVuZFRvOiJib2R5IixhdXRvUmVmcmVzaDp0
cnVlLGRpc3RhbmNlOjAsZmlsdGVyOiIqIix0b2xlcmFuY2U6InRvdWNoIn0sX2NyZWF0ZTpmdW5j
dGlvbigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RhYmxlIik7
dGhpcy5kcmFnZ2VkPWZhbHNlO3ZhciBmO3RoaXMucmVmcmVzaD1mdW5jdGlvbigpe2Y9ZShjLm9w
dGlvbnMuZmlsdGVyLGMuZWxlbWVudFswXSk7Zi5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9ZSh0aGlz
KSxiPWQub2Zmc2V0KCk7ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIse2VsZW1lbnQ6dGhp
cywkZWxlbWVudDpkLGxlZnQ6Yi5sZWZ0LHRvcDpiLnRvcCxyaWdodDpiLmxlZnQrZC5vdXRlcldp
ZHRoKCksYm90dG9tOmIudG9wK2Qub3V0ZXJIZWlnaHQoKSxzdGFydHNlbGVjdGVkOmZhbHNlLHNl
bGVjdGVkOmQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIiksCitzZWxlY3Rpbmc6ZC5oYXNDbGFzcygi
dWktc2VsZWN0aW5nIiksdW5zZWxlY3Rpbmc6ZC5oYXNDbGFzcygidWktdW5zZWxlY3RpbmciKX0p
fSl9O3RoaXMucmVmcmVzaCgpO3RoaXMuc2VsZWN0ZWVzPWYuYWRkQ2xhc3MoInVpLXNlbGVjdGVl
Iik7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5oZWxwZXI9ZSgiPGRpdiBjbGFzcz0ndWktc2VsZWN0
YWJsZS1oZWxwZXInPjwvZGl2PiIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZXMu
cmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVlIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZS1pdGVtIik7
dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RhYmxlIHVpLXNlbGVjdGFibGUtZGlz
YWJsZWQiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlIikudW5iaW5kKCIuc2VsZWN0YWJsZSIpO3Ro
aXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0aGlzfSxfbW91c2VTdGFydDpmdW5jdGlvbihjKXt2
YXIgZj10aGlzO3RoaXMub3Bvcz1bYy5wYWdlWCwKK2MucGFnZVldO2lmKCF0aGlzLm9wdGlvbnMu
ZGlzYWJsZWQpe3ZhciBkPXRoaXMub3B0aW9uczt0aGlzLnNlbGVjdGVlcz1lKGQuZmlsdGVyLHRo
aXMuZWxlbWVudFswXSk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpO2UoZC5hcHBlbmRUbykuYXBw
ZW5kKHRoaXMuaGVscGVyKTt0aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yy5jbGllbnRYLHRvcDpjLmNs
aWVudFksd2lkdGg6MCxoZWlnaHQ6MH0pO2QuYXV0b1JlZnJlc2gmJnRoaXMucmVmcmVzaCgpO3Ro
aXMuc2VsZWN0ZWVzLmZpbHRlcigiLnVpLXNlbGVjdGVkIikuZWFjaChmdW5jdGlvbigpe3ZhciBi
PWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtiLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtpZigh
Yy5tZXRhS2V5KXtiLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2Iuc2VsZWN0
ZWQ9ZmFsc2U7Yi4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtiLnVuc2VsZWN0
aW5nPXRydWU7Zi5fdHJpZ2dlcigidW5zZWxlY3RpbmciLAorYyx7dW5zZWxlY3Rpbmc6Yi5lbGVt
ZW50fSl9fSk7ZShjLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGI9ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2lmKGIpe3ZhciBnPSFjLm1ldGFL
ZXl8fCFiLiRlbGVtZW50Lmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpO2IuJGVsZW1lbnQucmVtb3Zl
Q2xhc3MoZz8idWktdW5zZWxlY3RpbmciOiJ1aS1zZWxlY3RlZCIpLmFkZENsYXNzKGc/InVpLXNl
bGVjdGluZyI6InVpLXVuc2VsZWN0aW5nIik7Yi51bnNlbGVjdGluZz0hZztiLnNlbGVjdGluZz1n
OyhiLnNlbGVjdGVkPWcpP2YuX3RyaWdnZXIoInNlbGVjdGluZyIsYyx7c2VsZWN0aW5nOmIuZWxl
bWVudH0pOmYuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpiLmVsZW1lbnR9
KTtyZXR1cm4gZmFsc2V9fSl9fSxfbW91c2VEcmFnOmZ1bmN0aW9uKGMpe3ZhciBmPXRoaXM7dGhp
cy5kcmFnZ2VkPXRydWU7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCl7dmFyIGQ9Cit0aGlzLm9w
dGlvbnMsYj10aGlzLm9wb3NbMF0sZz10aGlzLm9wb3NbMV0saD1jLnBhZ2VYLGk9Yy5wYWdlWTtp
ZihiPmgpe3ZhciBqPWg7aD1iO2I9an1pZihnPmkpe2o9aTtpPWc7Zz1qfXRoaXMuaGVscGVyLmNz
cyh7bGVmdDpiLHRvcDpnLHdpZHRoOmgtYixoZWlnaHQ6aS1nfSk7dGhpcy5zZWxlY3RlZXMuZWFj
aChmdW5jdGlvbigpe3ZhciBhPWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpZighKCFh
fHxhLmVsZW1lbnQ9PWYuZWxlbWVudFswXSkpe3ZhciBrPWZhbHNlO2lmKGQudG9sZXJhbmNlPT0i
dG91Y2giKWs9IShhLmxlZnQ+aHx8YS5yaWdodDxifHxhLnRvcD5pfHxhLmJvdHRvbTxnKTtlbHNl
IGlmKGQudG9sZXJhbmNlPT0iZml0IilrPWEubGVmdD5iJiZhLnJpZ2h0PGgmJmEudG9wPmcmJmEu
Ym90dG9tPGk7aWYoayl7aWYoYS5zZWxlY3RlZCl7YS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
c2VsZWN0ZWQiKTthLnNlbGVjdGVkPWZhbHNlfWlmKGEudW5zZWxlY3Rpbmcpe2EuJGVsZW1lbnQu
cmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7CithLnVuc2VsZWN0aW5nPWZhbHNlfWlmKCFh
LnNlbGVjdGluZyl7YS4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIik7YS5zZWxlY3Rp
bmc9dHJ1ZTtmLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3NlbGVjdGluZzphLmVsZW1lbnR9KX19
ZWxzZXtpZihhLnNlbGVjdGluZylpZihjLm1ldGFLZXkmJmEuc3RhcnRzZWxlY3RlZCl7YS4kZWxl
bWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7YS5zZWxlY3Rpbmc9ZmFsc2U7YS4kZWxl
bWVudC5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTthLnNlbGVjdGVkPXRydWV9ZWxzZXthLiRlbGVt
ZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKTthLnNlbGVjdGluZz1mYWxzZTtpZihhLnN0
YXJ0c2VsZWN0ZWQpe2EuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7YS51bnNl
bGVjdGluZz10cnVlfWYuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzphLmVs
ZW1lbnR9KX1pZihhLnNlbGVjdGVkKWlmKCFjLm1ldGFLZXkmJgorIWEuc3RhcnRzZWxlY3RlZCl7
YS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWQiKTthLnNlbGVjdGVkPWZhbHNlO2Eu
JGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7YS51bnNlbGVjdGluZz10cnVlO2Yu
X3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzphLmVsZW1lbnR9KX19fX0pO3Jl
dHVybiBmYWxzZX19LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7dmFyIGY9dGhpczt0aGlzLmRyYWdn
ZWQ9ZmFsc2U7ZSgiLnVpLXVuc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rp
b24oKXt2YXIgZD1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZC4kZWxlbWVudC5yZW1v
dmVDbGFzcygidWktdW5zZWxlY3RpbmciKTtkLnVuc2VsZWN0aW5nPWZhbHNlO2Quc3RhcnRzZWxl
Y3RlZD1mYWxzZTtmLl90cmlnZ2VyKCJ1bnNlbGVjdGVkIixjLHt1bnNlbGVjdGVkOmQuZWxlbWVu
dH0pfSk7ZSgiLnVpLXNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGQ9CitlLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZC4kZWxlbWVudC5yZW1vdmVD
bGFzcygidWktc2VsZWN0aW5nIikuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIik7ZC5zZWxlY3Rpbmc9
ZmFsc2U7ZC5zZWxlY3RlZD10cnVlO2Quc3RhcnRzZWxlY3RlZD10cnVlO2YuX3RyaWdnZXIoInNl
bGVjdGVkIixjLHtzZWxlY3RlZDpkLmVsZW1lbnR9KX0pO3RoaXMuX3RyaWdnZXIoInN0b3AiLGMp
O3RoaXMuaGVscGVyLnJlbW92ZSgpO3JldHVybiBmYWxzZX19KTtlLmV4dGVuZChlLnVpLnNlbGVj
dGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLnNlbGVjdGFibGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAs
MCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlk
ZXIubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc2xpZGVyLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLnNsaWRlci5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IGpRdWVyeSBVSSBTbGlkZXIgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMu
dHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0
aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9s
aWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIKKyAqCisgKiBE
ZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS5tb3VzZS5qcworICoJ
anF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLnNsaWRl
ciIsZC51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRl
OmZhbHNlLGRpc3RhbmNlOjAsbWF4OjEwMCxtaW46MCxvcmllbnRhdGlvbjoiaG9yaXpvbnRhbCIs
cmFuZ2U6ZmFsc2Usc3RlcDoxLHZhbHVlOjAsdmFsdWVzOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24o
KXt2YXIgYT10aGlzLGI9dGhpcy5vcHRpb25zLGM9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlk
ZXItaGFuZGxlIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLGY9
Yi52YWx1ZXMmJmIudmFsdWVzLmxlbmd0aHx8MSxlPVtdO3RoaXMuX21vdXNlU2xpZGluZz10aGlz
Ll9rZXlTbGlkaW5nPWZhbHNlO3RoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9oYW5kbGVJbmRl
eD1udWxsO3RoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrCit0aGlzLm9yaWVudGF0aW9u
KyIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKyhiLmRpc2FibGVk
PyIgdWktc2xpZGVyLWRpc2FibGVkIHVpLWRpc2FibGVkIjoiIikpO3RoaXMucmFuZ2U9ZChbXSk7
aWYoYi5yYW5nZSl7aWYoYi5yYW5nZT09PXRydWUpe2lmKCFiLnZhbHVlcyliLnZhbHVlcz1bdGhp
cy5fdmFsdWVNaW4oKSx0aGlzLl92YWx1ZU1pbigpXTtpZihiLnZhbHVlcy5sZW5ndGgmJmIudmFs
dWVzLmxlbmd0aCE9PTIpYi52YWx1ZXM9W2IudmFsdWVzWzBdLGIudmFsdWVzWzBdXX10aGlzLnJh
bmdlPWQoIjxkaXY+PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWkt
c2xpZGVyLXJhbmdlIHVpLXdpZGdldC1oZWFkZXIiKyhiLnJhbmdlPT09Im1pbiJ8fGIucmFuZ2U9
PT0ibWF4Ij8iIHVpLXNsaWRlci1yYW5nZS0iK2IucmFuZ2U6IiIpKX1mb3IodmFyIGo9Yy5sZW5n
dGg7ajxmO2orPTEpZS5wdXNoKCI8YSBjbGFzcz0ndWktc2xpZGVyLWhhbmRsZSB1aS1zdGF0ZS1k
ZWZhdWx0IHVpLWNvcm5lci1hbGwnIGhyZWY9JyMnPjwvYT4iKTsKK3RoaXMuaGFuZGxlcz1jLmFk
ZChkKGUuam9pbigiIikpLmFwcGVuZFRvKGEuZWxlbWVudCkpO3RoaXMuaGFuZGxlPXRoaXMuaGFu
ZGxlcy5lcSgwKTt0aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRlcigiYSIpLmNsaWNr
KGZ1bmN0aW9uKGcpe2cucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0aW9uKCl7Yi5kaXNh
YmxlZHx8ZCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtkKHRo
aXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtpZihi
LmRpc2FibGVkKWQodGhpcykuYmx1cigpO2Vsc2V7ZCgiLnVpLXNsaWRlciAudWktc3RhdGUtZm9j
dXMiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1z
dGF0ZS1mb2N1cyIpfX0pLmJsdXIoZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1z
dGF0ZS1mb2N1cyIpfSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZyl7ZCh0aGlzKS5kYXRh
KCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiwKK2cpfSk7dGhpcy5oYW5kbGVzLmtleWRvd24oZnVu
Y3Rpb24oZyl7dmFyIGs9dHJ1ZSxsPWQodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVyLWhhbmRs
ZSIpLGksaCxtO2lmKCFhLm9wdGlvbnMuZGlzYWJsZWQpe3N3aXRjaChnLmtleUNvZGUpe2Nhc2Ug
ZC51aS5rZXlDb2RlLkhPTUU6Y2FzZSBkLnVpLmtleUNvZGUuRU5EOmNhc2UgZC51aS5rZXlDb2Rl
LlBBR0VfVVA6Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgZC51aS5rZXlDb2RlLlVQ
OmNhc2UgZC51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZC51aS5rZXlDb2RlLkRPV046Y2FzZSBkLnVp
LmtleUNvZGUuTEVGVDprPWZhbHNlO2lmKCFhLl9rZXlTbGlkaW5nKXthLl9rZXlTbGlkaW5nPXRy
dWU7ZCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7aT1hLl9zdGFydChnLGwpO2lm
KGk9PT1mYWxzZSlyZXR1cm59YnJlYWt9bT1hLm9wdGlvbnMuc3RlcDtpPWEub3B0aW9ucy52YWx1
ZXMmJmEub3B0aW9ucy52YWx1ZXMubGVuZ3RoPworKGg9YS52YWx1ZXMobCkpOihoPWEudmFsdWUo
KSk7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBkLnVpLmtleUNvZGUuSE9NRTpoPWEuX3ZhbHVlTWlu
KCk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuRU5EOmg9YS5fdmFsdWVNYXgoKTticmVhaztjYXNl
IGQudWkua2V5Q29kZS5QQUdFX1VQOmg9YS5fdHJpbUFsaWduVmFsdWUoaSsoYS5fdmFsdWVNYXgo
KS1hLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGQudWkua2V5Q29kZS5QQUdFX0RPV046aD1h
Ll90cmltQWxpZ25WYWx1ZShpLShhLl92YWx1ZU1heCgpLWEuX3ZhbHVlTWluKCkpLzUpO2JyZWFr
O2Nhc2UgZC51aS5rZXlDb2RlLlVQOmNhc2UgZC51aS5rZXlDb2RlLlJJR0hUOmlmKGk9PT1hLl92
YWx1ZU1heCgpKXJldHVybjtoPWEuX3RyaW1BbGlnblZhbHVlKGkrbSk7YnJlYWs7Y2FzZSBkLnVp
LmtleUNvZGUuRE9XTjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOmlmKGk9PT1hLl92YWx1ZU1pbigp
KXJldHVybjtoPWEuX3RyaW1BbGlnblZhbHVlKGktCittKTticmVha31hLl9zbGlkZShnLGwsaCk7
cmV0dXJuIGt9fSkua2V5dXAoZnVuY3Rpb24oZyl7dmFyIGs9ZCh0aGlzKS5kYXRhKCJpbmRleC51
aS1zbGlkZXItaGFuZGxlIik7aWYoYS5fa2V5U2xpZGluZyl7YS5fa2V5U2xpZGluZz1mYWxzZTth
Ll9zdG9wKGcsayk7YS5fY2hhbmdlKGcsayk7ZCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
YWN0aXZlIil9fSk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0s
ZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlzLnJhbmdlLnJlbW92
ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci1ob3Jpem9u
dGFsIHVpLXNsaWRlci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWktd2lkZ2V0IHVpLXdp
ZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlkZXIiKS51bmJpbmQo
Ii5zbGlkZXIiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTsKK3JldHVybiB0aGlzfSxfbW91c2VDYXB0
dXJlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9ucyxjLGYsZSxqLGc7aWYoYi5kaXNhYmxl
ZClyZXR1cm4gZmFsc2U7dGhpcy5lbGVtZW50U2l6ZT17d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVy
V2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCl9O3RoaXMuZWxlbWVudE9m
ZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7Yz10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6
YS5wYWdlWCx5OmEucGFnZVl9KTtmPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSsx
O2o9dGhpczt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihrKXt2YXIgbD1NYXRoLmFicyhjLWou
dmFsdWVzKGspKTtpZihmPmwpe2Y9bDtlPWQodGhpcyk7Zz1rfX0pO2lmKGIucmFuZ2U9PT10cnVl
JiZ0aGlzLnZhbHVlcygxKT09PWIubWluKXtnKz0xO2U9ZCh0aGlzLmhhbmRsZXNbZ10pfWlmKHRo
aXMuX3N0YXJ0KGEsZyk9PT1mYWxzZSlyZXR1cm4gZmFsc2U7Cit0aGlzLl9tb3VzZVNsaWRpbmc9
dHJ1ZTtqLl9oYW5kbGVJbmRleD1nO2UuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmZvY3Vz
KCk7Yj1lLm9mZnNldCgpO3RoaXMuX2NsaWNrT2Zmc2V0PSFkKGEudGFyZ2V0KS5wYXJlbnRzKCku
YW5kU2VsZigpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpP3tsZWZ0OjAsdG9wOjB9OntsZWZ0OmEu
cGFnZVgtYi5sZWZ0LWUud2lkdGgoKS8yLHRvcDphLnBhZ2VZLWIudG9wLWUuaGVpZ2h0KCkvMi0o
cGFyc2VJbnQoZS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZS5jc3Mo
ImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZS5jc3MoIm1hcmdpblRvcCIp
LDEwKXx8MCl9O3RoaXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92ZXIiKXx8dGhpcy5f
c2xpZGUoYSxnLGMpO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPXRydWV9LF9tb3VzZVN0YXJ0OmZ1
bmN0aW9uKCl7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYSl7dmFyIGI9Cit0aGlz
Ll9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6YS5wYWdlWCx5OmEucGFnZVl9KTt0aGlzLl9zbGlkZShh
LHRoaXMuX2hhbmRsZUluZGV4LGIpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihh
KXt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuX21vdXNl
U2xpZGluZz1mYWxzZTt0aGlzLl9zdG9wKGEsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NoYW5n
ZShhLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlzLl9oYW5kbGVJbmRl
eD1udWxsO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0T3JpZW50YXRpb246
ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJ2
ZXJ0aWNhbCI/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVu
Y3Rpb24oYSl7dmFyIGI7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil7Yj0KK3Ro
aXMuZWxlbWVudFNpemUud2lkdGg7YT1hLngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMu
X2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCl9ZWxzZXtiPXRoaXMuZWxlbWVu
dFNpemUuaGVpZ2h0O2E9YS55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zm
c2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKX1iPWEvYjtpZihiPjEpYj0xO2lmKGI8MCliPTA7
aWYodGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpYj0xLWI7YT10aGlzLl92YWx1ZU1heCgp
LXRoaXMuX3ZhbHVlTWluKCk7cmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKHRoaXMuX3ZhbHVl
TWluKCkrYiphKX0sX3N0YXJ0OmZ1bmN0aW9uKGEsYil7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRs
ZXNbYl0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9w
dGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTsKK2MudmFsdWVzPXRo
aXMudmFsdWVzKCl9cmV0dXJuIHRoaXMuX3RyaWdnZXIoInN0YXJ0IixhLGMpfSxfc2xpZGU6ZnVu
Y3Rpb24oYSxiLGMpe3ZhciBmO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52
YWx1ZXMubGVuZ3RoKXtmPXRoaXMudmFsdWVzKGI/MDoxKTtpZih0aGlzLm9wdGlvbnMudmFsdWVz
Lmxlbmd0aD09PTImJnRoaXMub3B0aW9ucy5yYW5nZT09PXRydWUmJihiPT09MCYmYz5mfHxiPT09
MSYmYzxmKSljPWY7aWYoYyE9PXRoaXMudmFsdWVzKGIpKXtmPXRoaXMudmFsdWVzKCk7ZltiXT1j
O2E9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGEse2hhbmRsZTp0aGlzLmhhbmRsZXNbYl0sdmFsdWU6
Yyx2YWx1ZXM6Zn0pO3RoaXMudmFsdWVzKGI/MDoxKTthIT09ZmFsc2UmJnRoaXMudmFsdWVzKGIs
Yyx0cnVlKX19ZWxzZSBpZihjIT09dGhpcy52YWx1ZSgpKXthPXRoaXMuX3RyaWdnZXIoInNsaWRl
IixhLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2JdLHZhbHVlOmN9KTsKK2EhPT1mYWxzZSYmdGhpcy52
YWx1ZShjKX19LF9zdG9wOmZ1bmN0aW9uKGEsYil7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNb
Yl0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlv
bnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTtjLnZhbHVlcz10aGlzLnZh
bHVlcygpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGEsYyl9LF9jaGFuZ2U6ZnVuY3Rpb24oYSxiKXtp
ZighdGhpcy5fa2V5U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFyIGM9e2hhbmRsZTp0
aGlzLmhhbmRsZXNbYl0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVz
JiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTtjLnZh
bHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYSxjKX19LHZhbHVlOmZ1
bmN0aW9uKGEpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52YWx1ZT0KK3RoaXMu
X3RyaW1BbGlnblZhbHVlKGEpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxs
LDApfWVsc2UgcmV0dXJuIHRoaXMuX3ZhbHVlKCl9LHZhbHVlczpmdW5jdGlvbihhLGIpe3ZhciBj
LGYsZTtpZihhcmd1bWVudHMubGVuZ3RoPjEpe3RoaXMub3B0aW9ucy52YWx1ZXNbYV09dGhpcy5f
dHJpbUFsaWduVmFsdWUoYik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGws
YSl9ZWxzZSBpZihhcmd1bWVudHMubGVuZ3RoKWlmKGQuaXNBcnJheShhcmd1bWVudHNbMF0pKXtj
PXRoaXMub3B0aW9ucy52YWx1ZXM7Zj1hcmd1bWVudHNbMF07Zm9yKGU9MDtlPGMubGVuZ3RoO2Ur
PTEpe2NbZV09dGhpcy5fdHJpbUFsaWduVmFsdWUoZltlXSk7dGhpcy5fY2hhbmdlKG51bGwsZSl9
dGhpcy5fcmVmcmVzaFZhbHVlKCl9ZWxzZSByZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhp
cy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKGEpOgordGhpcy52YWx1ZSgpO2Vs
c2UgcmV0dXJuIHRoaXMuX3ZhbHVlcygpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGMs
Zj0wO2lmKGQuaXNBcnJheSh0aGlzLm9wdGlvbnMudmFsdWVzKSlmPXRoaXMub3B0aW9ucy52YWx1
ZXMubGVuZ3RoO2QuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1l
bnRzKTtzd2l0Y2goYSl7Y2FzZSAiZGlzYWJsZWQiOmlmKGIpe3RoaXMuaGFuZGxlcy5maWx0ZXIo
Ii51aS1zdGF0ZS1mb2N1cyIpLmJsdXIoKTt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIik7dGhpcy5oYW5kbGVzLnByb3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5kbGVzLnByb3BBdHRy
KCJkaXNhYmxlZCIsZmFsc2UpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktZGlzYWJsZWQi
KX1icmVhaztjYXNlICJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsKK3Ro
aXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZl
cnRpY2FsIikuYWRkQ2xhc3MoInVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRpb24pO3RoaXMuX3Jl
ZnJlc2hWYWx1ZSgpO2JyZWFrO2Nhc2UgInZhbHVlIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhp
cy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCk7dGhpcy5fYW5pbWF0ZU9mZj1m
YWxzZTticmVhaztjYXNlICJ2YWx1ZXMiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZy
ZXNoVmFsdWUoKTtmb3IoYz0wO2M8ZjtjKz0xKXRoaXMuX2NoYW5nZShudWxsLGMpO3RoaXMuX2Fu
aW1hdGVPZmY9ZmFsc2U7YnJlYWt9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlv
bnMudmFsdWU7cmV0dXJuIGE9dGhpcy5fdHJpbUFsaWduVmFsdWUoYSl9LF92YWx1ZXM6ZnVuY3Rp
b24oYSl7dmFyIGIsYztpZihhcmd1bWVudHMubGVuZ3RoKXtiPXRoaXMub3B0aW9ucy52YWx1ZXNb
YV07CityZXR1cm4gYj10aGlzLl90cmltQWxpZ25WYWx1ZShiKX1lbHNle2I9dGhpcy5vcHRpb25z
LnZhbHVlcy5zbGljZSgpO2ZvcihjPTA7YzxiLmxlbmd0aDtjKz0xKWJbY109dGhpcy5fdHJpbUFs
aWduVmFsdWUoYltjXSk7cmV0dXJuIGJ9fSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oYSl7aWYo
YTw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihhPj10aGlzLl92
YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBiPXRoaXMub3B0aW9ucy5zdGVw
PjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxjPShhLXRoaXMuX3ZhbHVlTWluKCkpJWI7YT1hLWM7aWYo
TWF0aC5hYnMoYykqMj49YilhKz1jPjA/YjotYjtyZXR1cm4gcGFyc2VGbG9hdChhLnRvRml4ZWQo
NSkpfSxfdmFsdWVNaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1pbn0sX3ZhbHVl
TWF4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFsdWU6ZnVu
Y3Rpb24oKXt2YXIgYT0KK3RoaXMub3B0aW9ucy5yYW5nZSxiPXRoaXMub3B0aW9ucyxjPXRoaXMs
Zj0hdGhpcy5fYW5pbWF0ZU9mZj9iLmFuaW1hdGU6ZmFsc2UsZSxqPXt9LGcsayxsLGk7aWYodGhp
cy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpdGhpcy5oYW5kbGVz
LmVhY2goZnVuY3Rpb24oaCl7ZT0oYy52YWx1ZXMoaCktYy5fdmFsdWVNaW4oKSkvKGMuX3ZhbHVl
TWF4KCktYy5fdmFsdWVNaW4oKSkqMTAwO2pbYy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8i
bGVmdCI6ImJvdHRvbSJdPWUrIiUiO2QodGhpcykuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3Mi
XShqLGIuYW5pbWF0ZSk7aWYoYy5vcHRpb25zLnJhbmdlPT09dHJ1ZSlpZihjLm9yaWVudGF0aW9u
PT09Imhvcml6b250YWwiKXtpZihoPT09MCljLnJhbmdlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoi
Y3NzIl0oe2xlZnQ6ZSsiJSJ9LGIuYW5pbWF0ZSk7aWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRl
IjoiY3NzIl0oe3dpZHRoOmUtCitnKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuYW5pbWF0
ZX0pfWVsc2V7aWYoaD09PTApYy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHti
b3R0b206ZSsiJSJ9LGIuYW5pbWF0ZSk7aWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRlIjoiY3Nz
Il0oe2hlaWdodDplLWcrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246Yi5hbmltYXRlfSl9Zz1l
fSk7ZWxzZXtrPXRoaXMudmFsdWUoKTtsPXRoaXMuX3ZhbHVlTWluKCk7aT10aGlzLl92YWx1ZU1h
eCgpO2U9aSE9PWw/KGstbCkvKGktbCkqMTAwOjA7altjLm9yaWVudGF0aW9uPT09Imhvcml6b250
YWwiPyJsZWZ0IjoiYm90dG9tIl09ZSsiJSI7dGhpcy5oYW5kbGUuc3RvcCgxLDEpW2Y/ImFuaW1h
dGUiOiJjc3MiXShqLGIuYW5pbWF0ZSk7aWYoYT09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9uPT09
Imhvcml6b250YWwiKXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7d2lk
dGg6ZSsiJSJ9LAorYi5hbmltYXRlKTtpZihhPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0i
aG9yaXpvbnRhbCIpdGhpcy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1lKyIl
In0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuYW5pbWF0ZX0pO2lmKGE9PT0ibWluIiYmdGhpcy5v
cmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6
ImNzcyJdKHtoZWlnaHQ6ZSsiJSJ9LGIuYW5pbWF0ZSk7aWYoYT09PSJtYXgiJiZ0aGlzLm9yaWVu
dGF0aW9uPT09InZlcnRpY2FsIil0aGlzLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0
OjEwMC1lKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuYW5pbWF0ZX0pfX19KTtkLmV4dGVu
ZChkLnVpLnNsaWRlcix7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkuc2xpZGVyLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMj
IC0wLDAgKzEgIyMKK29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
c29ydGFibGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc29ydGFibGUubWluLmpzCShub25leGlz
dGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkuc29ydGFibGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAg
QEAKKy8qCisgKiBqUXVlcnkgVUkgU29ydGFibGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIw
MTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNl
bnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8v
anF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Tb3J0
YWJsZXMKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51
aS5tb3VzZS5qcworICoJanF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oZCl7ZC53
aWRnZXQoInVpLnNvcnRhYmxlIixkLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoic29ydCIs
b3B0aW9uczp7YXBwZW5kVG86InBhcmVudCIsYXhpczpmYWxzZSxjb25uZWN0V2l0aDpmYWxzZSxj
b250YWlubWVudDpmYWxzZSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OmZhbHNlLGRyb3BPbkVtcHR5
OnRydWUsZm9yY2VQbGFjZWhvbGRlclNpemU6ZmFsc2UsZm9yY2VIZWxwZXJTaXplOmZhbHNlLGdy
aWQ6ZmFsc2UsaGFuZGxlOmZhbHNlLGhlbHBlcjoib3JpZ2luYWwiLGl0ZW1zOiI+ICoiLG9wYWNp
dHk6ZmFsc2UscGxhY2Vob2xkZXI6ZmFsc2UscmV2ZXJ0OmZhbHNlLHNjcm9sbDp0cnVlLHNjcm9s
bFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6
ImludGVyc2VjdCIsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0
aW9uczt0aGlzLmNvbnRhaW5lckNhY2hlPXt9O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc29y
dGFibGUiKTsKK3RoaXMucmVmcmVzaCgpO3RoaXMuZmxvYXRpbmc9dGhpcy5pdGVtcy5sZW5ndGg/
YS5heGlzPT09IngifHwvbGVmdHxyaWdodC8udGVzdCh0aGlzLml0ZW1zWzBdLml0ZW0uY3NzKCJm
bG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3Mo
ImRpc3BsYXkiKSk6ZmFsc2U7dGhpcy5vZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMu
X21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS1zb3J0YWJsZSB1aS1zb3J0YWJsZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEoInNvcnRhYmxl
IikudW5iaW5kKCIuc29ydGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtmb3IodmFyIGE9dGhp
cy5pdGVtcy5sZW5ndGgtMTthPj0wO2EtLSl0aGlzLml0ZW1zW2FdLml0ZW0ucmVtb3ZlRGF0YSgi
c29ydGFibGUtaXRlbSIpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7aWYo
YT09PQorImRpc2FibGVkIil7dGhpcy5vcHRpb25zW2FdPWI7dGhpcy53aWRnZXQoKVtiPyJhZGRD
bGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXNvcnRhYmxlLWRpc2FibGVkIil9ZWxzZSBkLldpZGdl
dC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9tb3VzZUNhcHR1
cmU6ZnVuY3Rpb24oYSxiKXtpZih0aGlzLnJldmVydGluZylyZXR1cm4gZmFsc2U7aWYodGhpcy5v
cHRpb25zLmRpc2FibGVkfHx0aGlzLm9wdGlvbnMudHlwZT09InN0YXRpYyIpcmV0dXJuIGZhbHNl
O3RoaXMuX3JlZnJlc2hJdGVtcyhhKTt2YXIgYz1udWxsLGU9dGhpcztkKGEudGFyZ2V0KS5wYXJl
bnRzKCkuZWFjaChmdW5jdGlvbigpe2lmKGQuZGF0YSh0aGlzLCJzb3J0YWJsZS1pdGVtIik9PWUp
e2M9ZCh0aGlzKTtyZXR1cm4gZmFsc2V9fSk7aWYoZC5kYXRhKGEudGFyZ2V0LCJzb3J0YWJsZS1p
dGVtIik9PWUpYz1kKGEudGFyZ2V0KTtpZighYylyZXR1cm4gZmFsc2U7aWYodGhpcy5vcHRpb25z
LmhhbmRsZSYmCishYil7dmFyIGY9ZmFsc2U7ZCh0aGlzLm9wdGlvbnMuaGFuZGxlLGMpLmZpbmQo
IioiKS5hbmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe2lmKHRoaXM9PWEudGFyZ2V0KWY9dHJ1ZX0p
O2lmKCFmKXJldHVybiBmYWxzZX10aGlzLmN1cnJlbnRJdGVtPWM7dGhpcy5fcmVtb3ZlQ3VycmVu
dHNGcm9tSXRlbXMoKTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYSxiLGMpe2I9
dGhpcy5vcHRpb25zO3ZhciBlPXRoaXM7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXM7dGhpcy5y
ZWZyZXNoUG9zaXRpb25zKCk7dGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKGEpO3RoaXMu
X2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLnNjcm9s
bFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLmN1cnJl
bnRJdGVtLm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFy
Z2lucy50b3AsCitsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9O3RoaXMu
aGVscGVyLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpO3RoaXMuY3NzUG9zaXRpb249dGhpcy5o
ZWxwZXIuY3NzKCJwb3NpdGlvbiIpO2QuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDph
LnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmEucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJl
bnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZz
ZXQoKX0pO3RoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGEpO3Ro
aXMub3JpZ2luYWxQYWdlWD1hLnBhZ2VYO3RoaXMub3JpZ2luYWxQYWdlWT1hLnBhZ2VZO2IuY3Vy
c29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoYi5jdXJzb3JBdCk7dGhpcy5kb21Q
b3NpdGlvbj17cHJldjp0aGlzLmN1cnJlbnRJdGVtLnByZXYoKVswXSxwYXJlbnQ6dGhpcy5jdXJy
ZW50SXRlbS5wYXJlbnQoKVswXX07Cit0aGlzLmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVsw
XSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCk7dGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKTtiLmNv
bnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpO2lmKGIuY3Vyc29yKXtpZihkKCJib2R5
IikuY3NzKCJjdXJzb3IiKSl0aGlzLl9zdG9yZWRDdXJzb3I9ZCgiYm9keSIpLmNzcygiY3Vyc29y
Iik7ZCgiYm9keSIpLmNzcygiY3Vyc29yIixiLmN1cnNvcil9aWYoYi5vcGFjaXR5KXtpZih0aGlz
LmhlbHBlci5jc3MoIm9wYWNpdHkiKSl0aGlzLl9zdG9yZWRPcGFjaXR5PXRoaXMuaGVscGVyLmNz
cygib3BhY2l0eSIpO3RoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsYi5vcGFjaXR5KX1pZihiLnpJ
bmRleCl7aWYodGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiKSl0aGlzLl9zdG9yZWRaSW5kZXg9dGhp
cy5oZWxwZXIuY3NzKCJ6SW5kZXgiKTt0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsYi56SW5kZXgp
fWlmKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT0KK2RvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFsw
XS50YWdOYW1lIT0iSFRNTCIpdGhpcy5vdmVyZmxvd09mZnNldD10aGlzLnNjcm9sbFBhcmVudC5v
ZmZzZXQoKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsYSx0aGlzLl91aUhhc2goKSk7dGhpcy5fcHJl
c2VydmVIZWxwZXJQcm9wb3J0aW9uc3x8dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2lm
KCFjKWZvcihjPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtjPj0wO2MtLSl0aGlzLmNvbnRhaW5l
cnNbY10uX3RyaWdnZXIoImFjdGl2YXRlIixhLGUuX3VpSGFzaCh0aGlzKSk7aWYoZC51aS5kZG1h
bmFnZXIpZC51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzO2QudWkuZGRtYW5hZ2VyJiYhYi5kcm9w
QmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGEpO3RoaXMuZHJh
Z2dpbmc9dHJ1ZTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7dGhp
cy5fbW91c2VEcmFnKGEpOworcmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYSl7dGhp
cy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGEpO3RoaXMucG9zaXRpb25BYnM9dGhp
cy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMubGFzdFBvc2l0aW9uQWJz
KXRoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnM7aWYodGhpcy5vcHRpb25zLnNj
cm9sbCl7dmFyIGI9dGhpcy5vcHRpb25zLGM9ZmFsc2U7aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0h
PWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpe2lmKHRoaXMu
b3ZlcmZsb3dPZmZzZXQudG9wK3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC1hLnBh
Z2VZPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWM9
dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Iuc2Nyb2xsU3BlZWQ7ZWxzZSBpZihhLnBh
Z2VZLXRoaXMub3ZlcmZsb3dPZmZzZXQudG9wPAorYi5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxUb3A9Yz10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3At
Yi5zY3JvbGxTcGVlZDtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQrdGhpcy5zY3JvbGxQYXJl
bnRbMF0ub2Zmc2V0V2lkdGgtYS5wYWdlWDxiLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbExlZnQ9Yz10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0K2Iu
c2Nyb2xsU3BlZWQ7ZWxzZSBpZihhLnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxiLnNj
cm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9Yz10aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWIuc2Nyb2xsU3BlZWR9ZWxzZXtpZihhLnBhZ2VZLWQo
ZG9jdW1lbnQpLnNjcm9sbFRvcCgpPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpYz1kKGRvY3VtZW50KS5z
Y3JvbGxUb3AoZChkb2N1bWVudCkuc2Nyb2xsVG9wKCktCitiLnNjcm9sbFNwZWVkKTtlbHNlIGlm
KGQod2luZG93KS5oZWlnaHQoKS0oYS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8Yi5z
Y3JvbGxTZW5zaXRpdml0eSljPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50KS5zY3Jv
bGxUb3AoKStiLnNjcm9sbFNwZWVkKTtpZihhLnBhZ2VYLWQoZG9jdW1lbnQpLnNjcm9sbExlZnQo
KTxiLnNjcm9sbFNlbnNpdGl2aXR5KWM9ZChkb2N1bWVudCkuc2Nyb2xsTGVmdChkKGRvY3VtZW50
KS5zY3JvbGxMZWZ0KCktYi5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdpbmRvdykud2lkdGgoKS0o
YS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpYz1k
KGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStiLnNjcm9sbFNw
ZWVkKX1jIT09ZmFsc2UmJmQudWkuZGRtYW5hZ2VyJiYhYi5kcm9wQmVoYXZpb3VyJiZkLnVpLmRk
bWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLAorYSl9dGhpcy5wb3NpdGlvbkFicz10aGlzLl9j
b252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMu
b3B0aW9ucy5heGlzIT0ieSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9u
LmxlZnQrInB4IjtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIp
dGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7Zm9yKGI9dGhp
cy5pdGVtcy5sZW5ndGgtMTtiPj0wO2ItLSl7Yz10aGlzLml0ZW1zW2JdO3ZhciBlPWMuaXRlbVsw
XSxmPXRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlcihjKTtpZihmKWlmKGUhPXRoaXMuY3VycmVu
dEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbZj09MT8ibmV4dCI6InByZXYiXSgpWzBdIT1lJiYh
ZC51aS5jb250YWlucyh0aGlzLnBsYWNlaG9sZGVyWzBdLGUpJiYodGhpcy5vcHRpb25zLnR5cGU9
PSJzZW1pLWR5bmFtaWMiPyFkLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSwKK2UpOnRydWUp
KXt0aGlzLmRpcmVjdGlvbj1mPT0xPyJkb3duIjoidXAiO2lmKHRoaXMub3B0aW9ucy50b2xlcmFu
Y2U9PSJwb2ludGVyInx8dGhpcy5faW50ZXJzZWN0c1dpdGhTaWRlcyhjKSl0aGlzLl9yZWFycmFu
Z2UoYSxjKTtlbHNlIGJyZWFrO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsYSx0aGlzLl91aUhhc2go
KSk7YnJlYWt9fXRoaXMuX2NvbnRhY3RDb250YWluZXJzKGEpO2QudWkuZGRtYW5hZ2VyJiZkLnVp
LmRkbWFuYWdlci5kcmFnKHRoaXMsYSk7dGhpcy5fdHJpZ2dlcigic29ydCIsYSx0aGlzLl91aUhh
c2goKSk7dGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztyZXR1cm4gZmFsc2V9
LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYSxiKXtpZihhKXtkLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0
aW9ucy5kcm9wQmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5kcm9wKHRoaXMsYSk7aWYodGhpcy5v
cHRpb25zLnJldmVydCl7dmFyIGM9dGhpcztiPWMucGxhY2Vob2xkZXIub2Zmc2V0KCk7CitjLnJl
dmVydGluZz10cnVlO2QodGhpcy5oZWxwZXIpLmFuaW1hdGUoe2xlZnQ6Yi5sZWZ0LXRoaXMub2Zm
c2V0LnBhcmVudC5sZWZ0LWMubWFyZ2lucy5sZWZ0Kyh0aGlzLm9mZnNldFBhcmVudFswXT09ZG9j
dW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbExlZnQpLHRvcDpiLnRvcC10
aGlzLm9mZnNldC5wYXJlbnQudG9wLWMubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBd
PT1kb2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKX0scGFyc2VJ
bnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe2MuX2NsZWFyKGEpfSl9
ZWxzZSB0aGlzLl9jbGVhcihhLGIpO3JldHVybiBmYWxzZX19LGNhbmNlbDpmdW5jdGlvbigpe3Zh
ciBhPXRoaXM7aWYodGhpcy5kcmFnZ2luZyl7dGhpcy5fbW91c2VVcCh7dGFyZ2V0Om51bGx9KTt0
aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiP3RoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMu
X3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpOgordGhpcy5jdXJy
ZW50SXRlbS5zaG93KCk7Zm9yKHZhciBiPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtiPj0wO2It
LSl7dGhpcy5jb250YWluZXJzW2JdLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixudWxsLGEuX3VpSGFz
aCh0aGlzKSk7aWYodGhpcy5jb250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMu
Y29udGFpbmVyc1tiXS5fdHJpZ2dlcigib3V0IixudWxsLGEuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19fWlmKHRoaXMucGxhY2Vob2xkZXIp
e3RoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5wbGFjZWhvbGRlclswXS5wYXJl
bnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3RoaXMub3B0aW9ucy5oZWxw
ZXIhPSJvcmlnaW5hbCImJnRoaXMuaGVscGVyJiZ0aGlzLmhlbHBlclswXS5wYXJlbnROb2RlJiZ0
aGlzLmhlbHBlci5yZW1vdmUoKTtkLmV4dGVuZCh0aGlzLHtoZWxwZXI6bnVsbCwKK2RyYWdnaW5n
OmZhbHNlLHJldmVydGluZzpmYWxzZSxfbm9GaW5hbFNvcnQ6bnVsbH0pO3RoaXMuZG9tUG9zaXRp
b24ucHJldj9kKHRoaXMuZG9tUG9zaXRpb24ucHJldikuYWZ0ZXIodGhpcy5jdXJyZW50SXRlbSk6
ZCh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKX1yZXR1
cm4gdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldEl0ZW1zQXNqUXVl
cnkoYSYmYS5jb25uZWN0ZWQpLGM9W107YT1hfHx7fTtkKGIpLmVhY2goZnVuY3Rpb24oKXt2YXIg
ZT0oZChhLml0ZW18fHRoaXMpLmF0dHIoYS5hdHRyaWJ1dGV8fCJpZCIpfHwiIikubWF0Y2goYS5l
eHByZXNzaW9ufHwvKC4rKVstPV9dKC4rKS8pO2lmKGUpYy5wdXNoKChhLmtleXx8ZVsxXSsiW10i
KSsiPSIrKGEua2V5JiZhLmV4cHJlc3Npb24/ZVsxXTplWzJdKSl9KTshYy5sZW5ndGgmJmEua2V5
JiZjLnB1c2goYS5rZXkrIj0iKTtyZXR1cm4gYy5qb2luKCImIil9LAordG9BcnJheTpmdW5jdGlv
bihhKXt2YXIgYj10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KGEmJmEuY29ubmVjdGVkKSxjPVtdO2E9
YXx8e307Yi5lYWNoKGZ1bmN0aW9uKCl7Yy5wdXNoKGQoYS5pdGVtfHx0aGlzKS5hdHRyKGEuYXR0
cmlidXRlfHwiaWQiKXx8IiIpfSk7cmV0dXJuIGN9LF9pbnRlcnNlY3RzV2l0aDpmdW5jdGlvbihh
KXt2YXIgYj10aGlzLnBvc2l0aW9uQWJzLmxlZnQsYz1iK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
d2lkdGgsZT10aGlzLnBvc2l0aW9uQWJzLnRvcCxmPWUrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5o
ZWlnaHQsZz1hLmxlZnQsaD1nK2Eud2lkdGgsaT1hLnRvcCxrPWkrYS5oZWlnaHQsaj10aGlzLm9m
ZnNldC5jbGljay50b3AsbD10aGlzLm9mZnNldC5jbGljay5sZWZ0O2o9ZStqPmkmJmUrajxrJiZi
K2w+ZyYmYitsPGg7cmV0dXJuIHRoaXMub3B0aW9ucy50b2xlcmFuY2U9PSJwb2ludGVyInx8dGhp
cy5vcHRpb25zLmZvcmNlUG9pbnRlckZvckNvbnRhaW5lcnN8fAordGhpcy5vcHRpb25zLnRvbGVy
YW5jZSE9InBvaW50ZXIiJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/Indp
ZHRoIjoiaGVpZ2h0Il0+YVt0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP2o6ZzxiK3Ro
aXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmYy10aGlzLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLzI8aCYmaTxlK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzImJmYtdGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxrfSxfaW50ZXJzZWN0c1dpdGhQb2ludGVyOmZ1bmN0aW9u
KGEpe3ZhciBiPWQudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNl
dC5jbGljay50b3AsYS50b3AsYS5oZWlnaHQpO2E9ZC51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRp
b25BYnMubGVmdCt0aGlzLm9mZnNldC5jbGljay5sZWZ0LGEubGVmdCxhLndpZHRoKTtiPWImJmE7
YT10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKTsKK3ZhciBjPXRoaXMuX2dldERyYWdI
b3Jpem9udGFsRGlyZWN0aW9uKCk7aWYoIWIpcmV0dXJuIGZhbHNlO3JldHVybiB0aGlzLmZsb2F0
aW5nP2MmJmM9PSJyaWdodCJ8fGE9PSJkb3duIj8yOjE6YSYmKGE9PSJkb3duIj8yOjEpfSxfaW50
ZXJzZWN0c1dpdGhTaWRlczpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmlzT3ZlckF4aXModGhpcy5w
b3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGEudG9wK2EuaGVpZ2h0LzIsYS5o
ZWlnaHQpO2E9ZC51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMubGVmdCt0aGlzLm9mZnNl
dC5jbGljay5sZWZ0LGEubGVmdCthLndpZHRoLzIsYS53aWR0aCk7dmFyIGM9dGhpcy5fZ2V0RHJh
Z1ZlcnRpY2FsRGlyZWN0aW9uKCksZT10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigp
O3JldHVybiB0aGlzLmZsb2F0aW5nJiZlP2U9PSJyaWdodCImJmF8fGU9PSJsZWZ0IiYmIWE6YyYm
KGM9PSJkb3duIiYmYnx8Yz09InVwIiYmIWIpfSwKK19nZXREcmFnVmVydGljYWxEaXJlY3Rpb246
ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnBvc2l0aW9uQWJzLnRvcC10aGlzLmxhc3RQb3NpdGlvbkFi
cy50b3A7cmV0dXJuIGEhPTAmJihhPjA/ImRvd24iOiJ1cCIpfSxfZ2V0RHJhZ0hvcml6b250YWxE
aXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnBvc2l0aW9uQWJzLmxlZnQtdGhpcy5sYXN0
UG9zaXRpb25BYnMubGVmdDtyZXR1cm4gYSE9MCYmKGE+MD8icmlnaHQiOiJsZWZ0Iil9LHJlZnJl
c2g6ZnVuY3Rpb24oYSl7dGhpcy5fcmVmcmVzaEl0ZW1zKGEpO3RoaXMucmVmcmVzaFBvc2l0aW9u
cygpO3JldHVybiB0aGlzfSxfY29ubmVjdFdpdGg6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlv
bnM7cmV0dXJuIGEuY29ubmVjdFdpdGguY29uc3RydWN0b3I9PVN0cmluZz9bYS5jb25uZWN0V2l0
aF06YS5jb25uZWN0V2l0aH0sX2dldEl0ZW1zQXNqUXVlcnk6ZnVuY3Rpb24oYSl7dmFyIGI9W10s
Yz1bXSxlPXRoaXMuX2Nvbm5lY3RXaXRoKCk7CitpZihlJiZhKWZvcihhPWUubGVuZ3RoLTE7YT49
MDthLS0pZm9yKHZhciBmPWQoZVthXSksZz1mLmxlbmd0aC0xO2c+PTA7Zy0tKXt2YXIgaD1kLmRh
dGEoZltnXSwic29ydGFibGUiKTtpZihoJiZoIT10aGlzJiYhaC5vcHRpb25zLmRpc2FibGVkKWMu
cHVzaChbZC5pc0Z1bmN0aW9uKGgub3B0aW9ucy5pdGVtcyk/aC5vcHRpb25zLml0ZW1zLmNhbGwo
aC5lbGVtZW50KTpkKGgub3B0aW9ucy5pdGVtcyxoLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxl
LWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksaF0pfWMucHVzaChbZC5p
c0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhp
cy5lbGVtZW50LG51bGwse29wdGlvbnM6dGhpcy5vcHRpb25zLGl0ZW06dGhpcy5jdXJyZW50SXRl
bX0pOmQodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUt
aGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSwKK3RoaXNdKTtmb3IoYT1j
Lmxlbmd0aC0xO2E+PTA7YS0tKWNbYV1bMF0uZWFjaChmdW5jdGlvbigpe2IucHVzaCh0aGlzKX0p
O3JldHVybiBkKGIpfSxfcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXM6ZnVuY3Rpb24oKXtmb3IodmFy
IGE9dGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YShzb3J0YWJsZS1pdGVtKSIpLGI9MDtiPHRo
aXMuaXRlbXMubGVuZ3RoO2IrKylmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPT10aGlz
Lml0ZW1zW2JdLml0ZW1bMF0mJnRoaXMuaXRlbXMuc3BsaWNlKGIsMSl9LF9yZWZyZXNoSXRlbXM6
ZnVuY3Rpb24oYSl7dGhpcy5pdGVtcz1bXTt0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBiPXRo
aXMuaXRlbXMsYz1bW2QuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9u
cy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSxhLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTpk
KHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLAordGhpc11dLGU9dGhpcy5fY29ubmVj
dFdpdGgoKTtpZihlKWZvcih2YXIgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKWZvcih2YXIgZz1kKGVb
Zl0pLGg9Zy5sZW5ndGgtMTtoPj0wO2gtLSl7dmFyIGk9ZC5kYXRhKGdbaF0sInNvcnRhYmxlIik7
aWYoaSYmaSE9dGhpcyYmIWkub3B0aW9ucy5kaXNhYmxlZCl7Yy5wdXNoKFtkLmlzRnVuY3Rpb24o
aS5vcHRpb25zLml0ZW1zKT9pLm9wdGlvbnMuaXRlbXMuY2FsbChpLmVsZW1lbnRbMF0sYSx7aXRl
bTp0aGlzLmN1cnJlbnRJdGVtfSk6ZChpLm9wdGlvbnMuaXRlbXMsaS5lbGVtZW50KSxpXSk7dGhp
cy5jb250YWluZXJzLnB1c2goaSl9fWZvcihmPWMubGVuZ3RoLTE7Zj49MDtmLS0pe2E9Y1tmXVsx
XTtlPWNbZl1bMF07aD0wO2ZvcihnPWUubGVuZ3RoO2g8ZztoKyspe2k9ZChlW2hdKTtpLmRhdGEo
InNvcnRhYmxlLWl0ZW0iLGEpO2IucHVzaCh7aXRlbTppLGluc3RhbmNlOmEsd2lkdGg6MCxoZWln
aHQ6MCxsZWZ0OjAsdG9wOjB9KX19fSxyZWZyZXNoUG9zaXRpb25zOmZ1bmN0aW9uKGEpe2lmKHRo
aXMub2Zmc2V0UGFyZW50JiYKK3RoaXMuaGVscGVyKXRoaXMub2Zmc2V0LnBhcmVudD10aGlzLl9n
ZXRQYXJlbnRPZmZzZXQoKTtmb3IodmFyIGI9dGhpcy5pdGVtcy5sZW5ndGgtMTtiPj0wO2ItLSl7
dmFyIGM9dGhpcy5pdGVtc1tiXTtpZighKGMuaW5zdGFuY2UhPXRoaXMuY3VycmVudENvbnRhaW5l
ciYmdGhpcy5jdXJyZW50Q29udGFpbmVyJiZjLml0ZW1bMF0hPXRoaXMuY3VycmVudEl0ZW1bMF0p
KXt2YXIgZT10aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudD9kKHRoaXMub3B0aW9ucy50b2xl
cmFuY2VFbGVtZW50LGMuaXRlbSk6Yy5pdGVtO2lmKCFhKXtjLndpZHRoPWUub3V0ZXJXaWR0aCgp
O2MuaGVpZ2h0PWUub3V0ZXJIZWlnaHQoKX1lPWUub2Zmc2V0KCk7Yy5sZWZ0PWUubGVmdDtjLnRv
cD1lLnRvcH19aWYodGhpcy5vcHRpb25zLmN1c3RvbSYmdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZy
ZXNoQ29udGFpbmVycyl0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzLmNhbGwo
dGhpcyk7ZWxzZSBmb3IoYj0KK3RoaXMuY29udGFpbmVycy5sZW5ndGgtMTtiPj0wO2ItLSl7ZT10
aGlzLmNvbnRhaW5lcnNbYl0uZWxlbWVudC5vZmZzZXQoKTt0aGlzLmNvbnRhaW5lcnNbYl0uY29u
dGFpbmVyQ2FjaGUubGVmdD1lLmxlZnQ7dGhpcy5jb250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hl
LnRvcD1lLnRvcDt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUud2lkdGg9dGhpcy5j
b250YWluZXJzW2JdLmVsZW1lbnQub3V0ZXJXaWR0aCgpO3RoaXMuY29udGFpbmVyc1tiXS5jb250
YWluZXJDYWNoZS5oZWlnaHQ9dGhpcy5jb250YWluZXJzW2JdLmVsZW1lbnQub3V0ZXJIZWlnaHQo
KX1yZXR1cm4gdGhpc30sX2NyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHRo
aXMsYz1iLm9wdGlvbnM7aWYoIWMucGxhY2Vob2xkZXJ8fGMucGxhY2Vob2xkZXIuY29uc3RydWN0
b3I9PVN0cmluZyl7dmFyIGU9Yy5wbGFjZWhvbGRlcjtjLnBsYWNlaG9sZGVyPXtlbGVtZW50OmZ1
bmN0aW9uKCl7dmFyIGY9CitkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYi5jdXJyZW50SXRlbVsw
XS5ub2RlTmFtZSkpLmFkZENsYXNzKGV8fGIuY3VycmVudEl0ZW1bMF0uY2xhc3NOYW1lKyIgdWkt
c29ydGFibGUtcGxhY2Vob2xkZXIiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIilb
MF07aWYoIWUpZi5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3JldHVybiBmfSx1cGRhdGU6ZnVu
Y3Rpb24oZixnKXtpZighKGUmJiFjLmZvcmNlUGxhY2Vob2xkZXJTaXplKSl7Zy5oZWlnaHQoKXx8
Zy5oZWlnaHQoYi5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpLXBhcnNlSW50KGIuY3VycmVudEl0
ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsMTApLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJw
YWRkaW5nQm90dG9tIil8fDAsMTApKTtnLndpZHRoKCl8fGcud2lkdGgoYi5jdXJyZW50SXRlbS5p
bm5lcldpZHRoKCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAs
MTApLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8CiswLDEwKSl9
fX19Yi5wbGFjZWhvbGRlcj1kKGMucGxhY2Vob2xkZXIuZWxlbWVudC5jYWxsKGIuZWxlbWVudCxi
LmN1cnJlbnRJdGVtKSk7Yi5jdXJyZW50SXRlbS5hZnRlcihiLnBsYWNlaG9sZGVyKTtjLnBsYWNl
aG9sZGVyLnVwZGF0ZShiLGIucGxhY2Vob2xkZXIpfSxfY29udGFjdENvbnRhaW5lcnM6ZnVuY3Rp
b24oYSl7Zm9yKHZhciBiPW51bGwsYz1udWxsLGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+
PTA7ZS0tKWlmKCFkLnVpLmNvbnRhaW5zKHRoaXMuY3VycmVudEl0ZW1bMF0sdGhpcy5jb250YWlu
ZXJzW2VdLmVsZW1lbnRbMF0pKWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVy
c1tlXS5jb250YWluZXJDYWNoZSkpe2lmKCEoYiYmZC51aS5jb250YWlucyh0aGlzLmNvbnRhaW5l
cnNbZV0uZWxlbWVudFswXSxiLmVsZW1lbnRbMF0pKSl7Yj10aGlzLmNvbnRhaW5lcnNbZV07Yz1l
fX1lbHNlIGlmKHRoaXMuY29udGFpbmVyc1tlXS5jb250YWluZXJDYWNoZS5vdmVyKXt0aGlzLmNv
bnRhaW5lcnNbZV0uX3RyaWdnZXIoIm91dCIsCithLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH1pZihiKWlmKHRoaXMuY29udGFpbmVy
cy5sZW5ndGg9PT0xKXt0aGlzLmNvbnRhaW5lcnNbY10uX3RyaWdnZXIoIm92ZXIiLGEsdGhpcy5f
dWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcj0xfWVs
c2UgaWYodGhpcy5jdXJyZW50Q29udGFpbmVyIT10aGlzLmNvbnRhaW5lcnNbY10pe2I9MUU0O2U9
bnVsbDtmb3IodmFyIGY9dGhpcy5wb3NpdGlvbkFic1t0aGlzLmNvbnRhaW5lcnNbY10uZmxvYXRp
bmc/ImxlZnQiOiJ0b3AiXSxnPXRoaXMuaXRlbXMubGVuZ3RoLTE7Zz49MDtnLS0paWYoZC51aS5j
b250YWlucyh0aGlzLmNvbnRhaW5lcnNbY10uZWxlbWVudFswXSx0aGlzLml0ZW1zW2ddLml0ZW1b
MF0pKXt2YXIgaD10aGlzLml0ZW1zW2ddW3RoaXMuY29udGFpbmVyc1tjXS5mbG9hdGluZz8ibGVm
dCI6InRvcCJdO2lmKE1hdGguYWJzKGgtCitmKTxiKXtiPU1hdGguYWJzKGgtZik7ZT10aGlzLml0
ZW1zW2ddfX1pZihlfHx0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpe3RoaXMuY3VycmVudENvbnRh
aW5lcj10aGlzLmNvbnRhaW5lcnNbY107ZT90aGlzLl9yZWFycmFuZ2UoYSxlLG51bGwsdHJ1ZSk6
dGhpcy5fcmVhcnJhbmdlKGEsbnVsbCx0aGlzLmNvbnRhaW5lcnNbY10uZWxlbWVudCx0cnVlKTt0
aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGEsdGhpcy5fdWlIYXNoKCkpO3RoaXMuY29udGFpbmVyc1tj
XS5fdHJpZ2dlcigiY2hhbmdlIixhLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5vcHRpb25zLnBs
YWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlcik7
dGhpcy5jb250YWluZXJzW2NdLl90cmlnZ2VyKCJvdmVyIixhLHRoaXMuX3VpSGFzaCh0aGlzKSk7
dGhpcy5jb250YWluZXJzW2NdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19fSxfY3JlYXRlSGVscGVy
OmZ1bmN0aW9uKGEpe3ZhciBiPQordGhpcy5vcHRpb25zO2E9ZC5pc0Z1bmN0aW9uKGIuaGVscGVy
KT9kKGIuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbYSx0aGlzLmN1cnJlbnRJdGVtXSkp
OmIuaGVscGVyPT0iY2xvbmUiP3RoaXMuY3VycmVudEl0ZW0uY2xvbmUoKTp0aGlzLmN1cnJlbnRJ
dGVtO2EucGFyZW50cygiYm9keSIpLmxlbmd0aHx8ZChiLmFwcGVuZFRvIT0icGFyZW50Ij9iLmFw
cGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoYVsw
XSk7aWYoYVswXT09dGhpcy5jdXJyZW50SXRlbVswXSl0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRo
aXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0u
c3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRv
cDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygi
bGVmdCIpfTtpZihhWzBdLnN0eWxlLndpZHRoPT0KKyIifHxiLmZvcmNlSGVscGVyU2l6ZSlhLndp
ZHRoKHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSk7aWYoYVswXS5zdHlsZS5oZWlnaHQ9PSIifHxi
LmZvcmNlSGVscGVyU2l6ZSlhLmhlaWdodCh0aGlzLmN1cnJlbnRJdGVtLmhlaWdodCgpKTtyZXR1
cm4gYX0sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJz
dHJpbmciKWE9YS5zcGxpdCgiICIpO2lmKGQuaXNBcnJheShhKSlhPXtsZWZ0OithWzBdLHRvcDor
YVsxXXx8MH07aWYoImxlZnQiaW4gYSl0aGlzLm9mZnNldC5jbGljay5sZWZ0PWEubGVmdCt0aGlz
Lm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4gYSl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMu
aGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYS5yaWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9w
ImluIGEpdGhpcy5vZmZzZXQuY2xpY2sudG9wPWEudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJv
dHRvbSJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD0KK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
aGVpZ2h0LWEuYm90dG9tK3RoaXMubWFyZ2lucy50b3B9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rp
b24oKXt0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYT10
aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUi
JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3Jv
bGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKXthLmxlZnQrPXRoaXMuc2Nyb2xsUGFy
ZW50LnNjcm9sbExlZnQoKTthLnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYo
dGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBd
LnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0
bWwiJiZkLmJyb3dzZXIubXNpZSlhPQore3RvcDowLGxlZnQ6MH07cmV0dXJue3RvcDphLnRvcCso
cGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCks
bGVmdDphLmxlZnQrKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyTGVmdFdp
ZHRoIiksMTApfHwwKX19LF9nZXRSZWxhdGl2ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3Nz
UG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBhPXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTty
ZXR1cm57dG9wOmEudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkr
dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDphLmxlZnQtKHBhcnNlSW50KHRoaXMu
aGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgp
fX1lbHNlIHJldHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhp
cy5tYXJnaW5zPXtsZWZ0OnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5MZWZ0
IiksCisxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5Ub3Ai
KSwxMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVy
UHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5o
ZWxwZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBhPXRo
aXMub3B0aW9ucztpZihhLmNvbnRhaW5tZW50PT0icGFyZW50IilhLmNvbnRhaW5tZW50PXRoaXMu
aGVscGVyWzBdLnBhcmVudE5vZGU7aWYoYS5jb250YWlubWVudD09ImRvY3VtZW50Inx8YS5jb250
YWlubWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2
ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9w
LXRoaXMub2Zmc2V0LnBhcmVudC50b3AsZChhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPworZG9j
dW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5t
YXJnaW5zLmxlZnQsKGQoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cp
LmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8
d2luZG93fHBhcmVudCkkLy50ZXN0KGEuY29udGFpbm1lbnQpKXt2YXIgYj1kKGEuY29udGFpbm1l
bnQpWzBdO2E9ZChhLmNvbnRhaW5tZW50KS5vZmZzZXQoKTt2YXIgYz1kKGIpLmNzcygib3ZlcmZs
b3ciKSE9ImhpZGRlbiI7dGhpcy5jb250YWlubWVudD1bYS5sZWZ0KyhwYXJzZUludChkKGIpLmNz
cygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdM
ZWZ0IiksMTApfHwwKS10aGlzLm1hcmdpbnMubGVmdCxhLnRvcCsocGFyc2VJbnQoZChiKS5jc3Mo
ImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ1Rv
cCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxhLmxlZnQrKGM/TWF0aC5tYXgoYi5zY3JvbGxX
aWR0aCxiLm9mZnNldFdpZHRoKTpiLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoZChiKS5jc3MoImJv
cmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nUmlnaHQi
KSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQs
YS50b3ArKGM/TWF0aC5tYXgoYi5zY3JvbGxIZWlnaHQsYi5vZmZzZXRIZWlnaHQpOmIub2Zmc2V0
SGVpZ2h0KS0ocGFyc2VJbnQoZChiKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFy
c2VJbnQoZChiKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9y
dGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdfX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0
aW9uKGEsYil7aWYoIWIpYj0KK3RoaXMucG9zaXRpb247YT1hPT0iYWJzb2x1dGUiPzE6LTE7dmFy
IGM9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9
ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQ
YXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxlPS8oaHRtbHxi
b2R5KS9pLnRlc3QoY1swXS50YWdOYW1lKTtyZXR1cm57dG9wOmIudG9wK3RoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcCphK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqYS0oZC5icm93c2VyLnNhZmFyaSYm
dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTplPzA6Yy5zY3JvbGxUb3AoKSkqYSksbGVmdDpi
LmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCphK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0
KmEtKGQuYnJvd3Nlci5zYWZhcmkmJgordGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6ZT8w
OmMuc2Nyb2xsTGVmdCgpKSphKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBi
PXRoaXMub3B0aW9ucyxjPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3Jv
bGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBd
LHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJl
bnQsZT0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFtZSk7aWYodGhpcy5jc3NQb3NpdGlv
bj09InJlbGF0aXZlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Ny
b2xsUGFyZW50WzBdIT10aGlzLm9mZnNldFBhcmVudFswXSkpdGhpcy5vZmZzZXQucmVsYXRpdmU9
dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKTsKK3ZhciBmPWEucGFnZVgsZz1hLnBhZ2VZO2lmKHRo
aXMub3JpZ2luYWxQb3NpdGlvbil7aWYodGhpcy5jb250YWlubWVudCl7aWYoYS5wYWdlWC10aGlz
Lm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pZj10aGlzLmNvbnRhaW5tZW50
WzBdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50
b3A8dGhpcy5jb250YWlubWVudFsxXSlnPXRoaXMuY29udGFpbm1lbnRbMV0rdGhpcy5vZmZzZXQu
Y2xpY2sudG9wO2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5t
ZW50WzJdKWY9dGhpcy5jb250YWlubWVudFsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGEu
cGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10pZz10aGlzLmNv
bnRhaW5tZW50WzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihiLmdyaWQpe2c9dGhpcy5vcmln
aW5hbFBhZ2VZK01hdGgucm91bmQoKGctCit0aGlzLm9yaWdpbmFsUGFnZVkpL2IuZ3JpZFsxXSkq
Yi5ncmlkWzFdO2c9dGhpcy5jb250YWlubWVudD8hKGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRo
aXMuY29udGFpbm1lbnRbMV18fGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1l
bnRbM10pP2c6IShnLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKT9n
LWIuZ3JpZFsxXTpnK2IuZ3JpZFsxXTpnO2Y9dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQo
KGYtdGhpcy5vcmlnaW5hbFBhZ2VYKS9iLmdyaWRbMF0pKmIuZ3JpZFswXTtmPXRoaXMuY29udGFp
bm1lbnQ/IShmLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXXx8Zi10
aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pP2Y6IShmLXRoaXMub2Zm
c2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSk/Zi1iLmdyaWRbMF06ZitiLmdyaWRb
MF06Zn19cmV0dXJue3RvcDpnLQordGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKyhkLmJyb3dzZXIuc2FmYXJpJiZ0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5z
Y3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6ZT8wOmMuc2Nyb2xsVG9wKCkpLGxlZnQ6Zi10aGlzLm9m
ZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFy
ZW50LmxlZnQrKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0
aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6
ZT8wOmMuc2Nyb2xsTGVmdCgpKX19LF9yZWFycmFuZ2U6ZnVuY3Rpb24oYSxiLGMsZSl7Yz9jWzBd
LmFwcGVuZENoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pOmIuaXRlbVswXS5wYXJlbnROb2RlLmlu
c2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyWzBdLAordGhpcy5kaXJlY3Rpb249PSJkb3duIj9i
Lml0ZW1bMF06Yi5pdGVtWzBdLm5leHRTaWJsaW5nKTt0aGlzLmNvdW50ZXI9dGhpcy5jb3VudGVy
PysrdGhpcy5jb3VudGVyOjE7dmFyIGY9dGhpcyxnPXRoaXMuY291bnRlcjt3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpe2c9PWYuY291bnRlciYmZi5yZWZyZXNoUG9zaXRpb25zKCFlKX0sMCl9
LF9jbGVhcjpmdW5jdGlvbihhLGIpe3RoaXMucmV2ZXJ0aW5nPWZhbHNlO3ZhciBjPVtdOyF0aGlz
Ll9ub0ZpbmFsU29ydCYmdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGgmJnRoaXMucGxh
Y2Vob2xkZXIuYmVmb3JlKHRoaXMuY3VycmVudEl0ZW0pO3RoaXMuX25vRmluYWxTb3J0PW51bGw7
aWYodGhpcy5oZWxwZXJbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pe2Zvcih2YXIgZSBpbiB0aGlz
Ll9zdG9yZWRDU1MpaWYodGhpcy5fc3RvcmVkQ1NTW2VdPT0iYXV0byJ8fHRoaXMuX3N0b3JlZENT
U1tlXT09InN0YXRpYyIpdGhpcy5fc3RvcmVkQ1NTW2VdPQorIiI7dGhpcy5jdXJyZW50SXRlbS5j
c3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxz
ZSB0aGlzLmN1cnJlbnRJdGVtLnNob3coKTt0aGlzLmZyb21PdXRzaWRlJiYhYiYmYy5wdXNoKGZ1
bmN0aW9uKGYpe3RoaXMuX3RyaWdnZXIoInJlY2VpdmUiLGYsdGhpcy5fdWlIYXNoKHRoaXMuZnJv
bU91dHNpZGUpKX0pO2lmKCh0aGlzLmZyb21PdXRzaWRlfHx0aGlzLmRvbVBvc2l0aW9uLnByZXYh
PXRoaXMuY3VycmVudEl0ZW0ucHJldigpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpWzBdfHx0
aGlzLmRvbVBvc2l0aW9uLnBhcmVudCE9dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXSkmJiFi
KWMucHVzaChmdW5jdGlvbihmKXt0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLGYsdGhpcy5fdWlIYXNo
KCkpfSk7aWYoIWQudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1b
MF0pKXtifHxjLnB1c2goZnVuY3Rpb24oZil7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIiwKK2YsdGhp
cy5fdWlIYXNoKCkpfSk7Zm9yKGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKWlm
KGQudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2VdLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50
SXRlbVswXSkmJiFiKXtjLnB1c2goZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGcpe2YuX3Ry
aWdnZXIoInJlY2VpdmUiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNv
bnRhaW5lcnNbZV0pKTtjLnB1c2goZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGcpe2YuX3Ry
aWdnZXIoInVwZGF0ZSIsZyx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29u
dGFpbmVyc1tlXSkpfX1mb3IoZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0pe2J8
fGMucHVzaChmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigiZGVhY3Rp
dmF0ZSIsZyx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLAordGhpcy5jb250YWluZXJz
W2VdKSk7aWYodGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXIpe2MucHVzaChm
dW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigib3V0IixnLHRoaXMuX3Vp
SGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2VdKSk7dGhpcy5jb250YWlu
ZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19dGhpcy5fc3RvcmVkQ3Vyc29yJiZkKCJib2R5
IikuY3NzKCJjdXJzb3IiLHRoaXMuX3N0b3JlZEN1cnNvcik7dGhpcy5fc3RvcmVkT3BhY2l0eSYm
dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iix0aGlzLl9zdG9yZWRPcGFjaXR5KTtpZih0aGlzLl9z
dG9yZWRaSW5kZXgpdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLHRoaXMuX3N0b3JlZFpJbmRleD09
ImF1dG8iPyIiOnRoaXMuX3N0b3JlZFpJbmRleCk7dGhpcy5kcmFnZ2luZz1mYWxzZTtpZih0aGlz
LmNhbmNlbEhlbHBlclJlbW92YWwpe2lmKCFiKXt0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIiwK
K2EsdGhpcy5fdWlIYXNoKCkpO2ZvcihlPTA7ZTxjLmxlbmd0aDtlKyspY1tlXS5jYWxsKHRoaXMs
YSk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYSx0aGlzLl91aUhhc2goKSl9cmV0dXJuIGZhbHNlfWJ8
fHRoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLGEsdGhpcy5fdWlIYXNoKCkpO3RoaXMucGxhY2Vo
b2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTt0aGlz
LmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7dGhp
cy5oZWxwZXI9bnVsbDtpZighYil7Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKyljW2VdLmNhbGwodGhp
cyxhKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixhLHRoaXMuX3VpSGFzaCgpKX10aGlzLmZyb21PdXRz
aWRlPWZhbHNlO3JldHVybiB0cnVlfSxfdHJpZ2dlcjpmdW5jdGlvbigpe2QuV2lkZ2V0LnByb3Rv
dHlwZS5fdHJpZ2dlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk9PT1mYWxzZSYmdGhpcy5jYW5jZWwo
KX0sCitfdWlIYXNoOmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHRoaXM7cmV0dXJue2hlbHBlcjpiLmhl
bHBlcixwbGFjZWhvbGRlcjpiLnBsYWNlaG9sZGVyfHxkKFtdKSxwb3NpdGlvbjpiLnBvc2l0aW9u
LG9yaWdpbmFsUG9zaXRpb246Yi5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDpiLnBvc2l0aW9uQWJz
LGl0ZW06Yi5jdXJyZW50SXRlbSxzZW5kZXI6YT9hLmVsZW1lbnQ6bnVsbH19fSk7ZC5leHRlbmQo
ZC51aS5zb3J0YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkuc29ydGFibGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMK
IyMgLTAsMCArMSAjIworb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51
aS50YWJzLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzCShub25leGlzdGVudCkK
KysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkudWkudGFicy5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAq
IGpRdWVyeSBVSSBUYWJzIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGFicworICoKKyAqIERlcGVu
ZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLndpZGdldC5qcworICovCiso
ZnVuY3Rpb24oZCxwKXtmdW5jdGlvbiB1KCl7cmV0dXJuKyt2fWZ1bmN0aW9uIHcoKXtyZXR1cm4r
K3h9dmFyIHY9MCx4PTA7ZC53aWRnZXQoInVpLnRhYnMiLHtvcHRpb25zOnthZGQ6bnVsbCxhamF4
T3B0aW9uczpudWxsLGNhY2hlOmZhbHNlLGNvb2tpZTpudWxsLGNvbGxhcHNpYmxlOmZhbHNlLGRp
c2FibGU6bnVsbCxkaXNhYmxlZDpbXSxlbmFibGU6bnVsbCxldmVudDoiY2xpY2siLGZ4Om51bGws
aWRQcmVmaXg6InVpLXRhYnMtIixsb2FkOm51bGwscGFuZWxUZW1wbGF0ZToiPGRpdj48L2Rpdj4i
LHJlbW92ZTpudWxsLHNlbGVjdDpudWxsLHNob3c6bnVsbCxzcGlubmVyOiI8ZW0+TG9hZGluZyYj
ODIzMDs8L2VtPiIsdGFiVGVtcGxhdGU6IjxsaT48YSBocmVmPScje2hyZWZ9Jz48c3Bhbj4je2xh
YmVsfTwvc3Bhbj48L2E+PC9saT4ifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fdGFiaWZ5KHRy
dWUpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGIsZSl7aWYoYj09InNlbGVjdGVkIil0aGlzLm9wdGlv
bnMuY29sbGFwc2libGUmJgorZT09dGhpcy5vcHRpb25zLnNlbGVjdGVkfHx0aGlzLnNlbGVjdChl
KTtlbHNle3RoaXMub3B0aW9uc1tiXT1lO3RoaXMuX3RhYmlmeSgpfX0sX3RhYklkOmZ1bmN0aW9u
KGIpe3JldHVybiBiLnRpdGxlJiZiLnRpdGxlLnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKC9b
Xlx3XHUwMGMwLVx1RkZGRi1dL2csIiIpfHx0aGlzLm9wdGlvbnMuaWRQcmVmaXgrdSgpfSxfc2Fu
aXRpemVTZWxlY3RvcjpmdW5jdGlvbihiKXtyZXR1cm4gYi5yZXBsYWNlKC86L2csIlxcOiIpfSxf
Y29va2llOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5jb29raWV8fCh0aGlzLmNvb2tpZT10aGlzLm9w
dGlvbnMuY29va2llLm5hbWV8fCJ1aS10YWJzLSIrdygpKTtyZXR1cm4gZC5jb29raWUuYXBwbHko
bnVsbCxbYl0uY29uY2F0KGQubWFrZUFycmF5KGFyZ3VtZW50cykpKX0sX3VpOmZ1bmN0aW9uKGIs
ZSl7cmV0dXJue3RhYjpiLHBhbmVsOmUsaW5kZXg6dGhpcy5hbmNob3JzLmluZGV4KGIpfX0sX2Ns
ZWFudXA6ZnVuY3Rpb24oKXt0aGlzLmxpcy5maWx0ZXIoIi51aS1zdGF0ZS1wcm9jZXNzaW5nIiku
cmVtb3ZlQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3NpbmciKS5maW5kKCJzcGFuOmRhdGEobGFiZWwu
dGFicykiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9CitkKHRoaXMpO2IuaHRtbChiLmRhdGEoImxh
YmVsLnRhYnMiKSkucmVtb3ZlRGF0YSgibGFiZWwudGFicyIpfSl9LF90YWJpZnk6ZnVuY3Rpb24o
Yil7ZnVuY3Rpb24gZShnLGYpe2cuY3NzKCJkaXNwbGF5IiwiIik7IWQuc3VwcG9ydC5vcGFjaXR5
JiZmLm9wYWNpdHkmJmdbMF0uc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKX12YXIgYT10
aGlzLGM9dGhpcy5vcHRpb25zLGg9L14jLisvO3RoaXMubGlzdD10aGlzLmVsZW1lbnQuZmluZCgi
b2wsdWwiKS5lcSgwKTt0aGlzLmxpcz1kKCIgPiBsaTpoYXMoYVtocmVmXSkiLHRoaXMubGlzdCk7
dGhpcy5hbmNob3JzPXRoaXMubGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBkKCJhIix0aGlzKVsw
XX0pO3RoaXMucGFuZWxzPWQoW10pO3RoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKGcsZil7dmFy
IGk9ZChmKS5hdHRyKCJocmVmIiksbD1pLnNwbGl0KCIjIilbMF0scTtpZihsJiYobD09PWxvY2F0
aW9uLnRvU3RyaW5nKCkuc3BsaXQoIiMiKVswXXx8CisocT1kKCJiYXNlIilbMF0pJiZsPT09cS5o
cmVmKSl7aT1mLmhhc2g7Zi5ocmVmPWl9aWYoaC50ZXN0KGkpKWEucGFuZWxzPWEucGFuZWxzLmFk
ZChhLmVsZW1lbnQuZmluZChhLl9zYW5pdGl6ZVNlbGVjdG9yKGkpKSk7ZWxzZSBpZihpJiZpIT09
IiMiKXtkLmRhdGEoZiwiaHJlZi50YWJzIixpKTtkLmRhdGEoZiwibG9hZC50YWJzIixpLnJlcGxh
Y2UoLyMuKiQvLCIiKSk7aT1hLl90YWJJZChmKTtmLmhyZWY9IiMiK2k7Zj1hLmVsZW1lbnQuZmlu
ZCgiIyIraSk7aWYoIWYubGVuZ3RoKXtmPWQoYy5wYW5lbFRlbXBsYXRlKS5hdHRyKCJpZCIsaSku
YWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRv
bSIpLmluc2VydEFmdGVyKGEucGFuZWxzW2ctMV18fGEubGlzdCk7Zi5kYXRhKCJkZXN0cm95LnRh
YnMiLHRydWUpfWEucGFuZWxzPWEucGFuZWxzLmFkZChmKX1lbHNlIGMuZGlzYWJsZWQucHVzaChn
KX0pO2lmKGIpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktdGFicyB1aS13aWRnZXQgdWktd2lk
Z2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpOwordGhpcy5saXN0LmFkZENsYXNzKCJ1aS10YWJz
LW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIg
dWktY29ybmVyLWFsbCIpO3RoaXMubGlzLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNv
cm5lci10b3AiKTt0aGlzLnBhbmVscy5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQt
Y29udGVudCB1aS1jb3JuZXItYm90dG9tIik7aWYoYy5zZWxlY3RlZD09PXApe2xvY2F0aW9uLmhh
c2gmJnRoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKGcsZil7aWYoZi5oYXNoPT1sb2NhdGlvbi5o
YXNoKXtjLnNlbGVjdGVkPWc7cmV0dXJuIGZhbHNlfX0pO2lmKHR5cGVvZiBjLnNlbGVjdGVkIT09
Im51bWJlciImJmMuY29va2llKWMuc2VsZWN0ZWQ9cGFyc2VJbnQoYS5fY29va2llKCksMTApO2lm
KHR5cGVvZiBjLnNlbGVjdGVkIT09Im51bWJlciImJnRoaXMubGlzLmZpbHRlcigiLnVpLXRhYnMt
c2VsZWN0ZWQiKS5sZW5ndGgpYy5zZWxlY3RlZD0KK3RoaXMubGlzLmluZGV4KHRoaXMubGlzLmZp
bHRlcigiLnVpLXRhYnMtc2VsZWN0ZWQiKSk7Yy5zZWxlY3RlZD1jLnNlbGVjdGVkfHwodGhpcy5s
aXMubGVuZ3RoPzA6LTEpfWVsc2UgaWYoYy5zZWxlY3RlZD09PW51bGwpYy5zZWxlY3RlZD0tMTtj
LnNlbGVjdGVkPWMuc2VsZWN0ZWQ+PTAmJnRoaXMuYW5jaG9yc1tjLnNlbGVjdGVkXXx8Yy5zZWxl
Y3RlZDwwP2Muc2VsZWN0ZWQ6MDtjLmRpc2FibGVkPWQudW5pcXVlKGMuZGlzYWJsZWQuY29uY2F0
KGQubWFwKHRoaXMubGlzLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIiksZnVuY3Rpb24oZyl7
cmV0dXJuIGEubGlzLmluZGV4KGcpfSkpKS5zb3J0KCk7ZC5pbkFycmF5KGMuc2VsZWN0ZWQsYy5k
aXNhYmxlZCkhPS0xJiZjLmRpc2FibGVkLnNwbGljZShkLmluQXJyYXkoYy5zZWxlY3RlZCxjLmRp
c2FibGVkKSwxKTt0aGlzLnBhbmVscy5hZGRDbGFzcygidWktdGFicy1oaWRlIik7dGhpcy5saXMu
cmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7CitpZihjLnNl
bGVjdGVkPj0wJiZ0aGlzLmFuY2hvcnMubGVuZ3RoKXthLmVsZW1lbnQuZmluZChhLl9zYW5pdGl6
ZVNlbGVjdG9yKGEuYW5jaG9yc1tjLnNlbGVjdGVkXS5oYXNoKSkucmVtb3ZlQ2xhc3MoInVpLXRh
YnMtaGlkZSIpO3RoaXMubGlzLmVxKGMuc2VsZWN0ZWQpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVj
dGVkIHVpLXN0YXRlLWFjdGl2ZSIpO2EuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXth
Ll90cmlnZ2VyKCJzaG93IixudWxsLGEuX3VpKGEuYW5jaG9yc1tjLnNlbGVjdGVkXSxhLmVsZW1l
bnQuZmluZChhLl9zYW5pdGl6ZVNlbGVjdG9yKGEuYW5jaG9yc1tjLnNlbGVjdGVkXS5oYXNoKSlb
MF0pKX0pO3RoaXMubG9hZChjLnNlbGVjdGVkKX1kKHdpbmRvdykuYmluZCgidW5sb2FkIixmdW5j
dGlvbigpe2EubGlzLmFkZChhLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTthLmxpcz1hLmFuY2hv
cnM9YS5wYW5lbHM9bnVsbH0pfWVsc2UgYy5zZWxlY3RlZD10aGlzLmxpcy5pbmRleCh0aGlzLmxp
cy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikpOwordGhpcy5lbGVtZW50W2MuY29sbGFwc2li
bGU/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktdGFicy1jb2xsYXBzaWJsZSIpO2MuY29v
a2llJiZ0aGlzLl9jb29raWUoYy5zZWxlY3RlZCxjLmNvb2tpZSk7Yj0wO2Zvcih2YXIgajtqPXRo
aXMubGlzW2JdO2IrKylkKGopW2QuaW5BcnJheShiLGMuZGlzYWJsZWQpIT0tMSYmIWQoaikuaGFz
Q2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS1z
dGF0ZS1kaXNhYmxlZCIpO2MuY2FjaGU9PT1mYWxzZSYmdGhpcy5hbmNob3JzLnJlbW92ZURhdGEo
ImNhY2hlLnRhYnMiKTt0aGlzLmxpcy5hZGQodGhpcy5hbmNob3JzKS51bmJpbmQoIi50YWJzIik7
aWYoYy5ldmVudCE9PSJtb3VzZW92ZXIiKXt2YXIgaz1mdW5jdGlvbihnLGYpe2YuaXMoIjpub3Qo
LnVpLXN0YXRlLWRpc2FibGVkKSIpJiZmLmFkZENsYXNzKCJ1aS1zdGF0ZS0iK2cpfSxuPWZ1bmN0
aW9uKGcsZil7Zi5yZW1vdmVDbGFzcygidWktc3RhdGUtIisKK2cpfTt0aGlzLmxpcy5iaW5kKCJt
b3VzZW92ZXIudGFicyIsZnVuY3Rpb24oKXtrKCJob3ZlciIsZCh0aGlzKSl9KTt0aGlzLmxpcy5i
aW5kKCJtb3VzZW91dC50YWJzIixmdW5jdGlvbigpe24oImhvdmVyIixkKHRoaXMpKX0pO3RoaXMu
YW5jaG9ycy5iaW5kKCJmb2N1cy50YWJzIixmdW5jdGlvbigpe2soImZvY3VzIixkKHRoaXMpLmNs
b3Nlc3QoImxpIikpfSk7dGhpcy5hbmNob3JzLmJpbmQoImJsdXIudGFicyIsZnVuY3Rpb24oKXtu
KCJmb2N1cyIsZCh0aGlzKS5jbG9zZXN0KCJsaSIpKX0pfXZhciBtLG87aWYoYy5meClpZihkLmlz
QXJyYXkoYy5meCkpe209Yy5meFswXTtvPWMuZnhbMV19ZWxzZSBtPW89Yy5meDt2YXIgcj1vP2Z1
bmN0aW9uKGcsZil7ZChnKS5jbG9zZXN0KCJsaSIpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVk
IHVpLXN0YXRlLWFjdGl2ZSIpO2YuaGlkZSgpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKS5h
bmltYXRlKG8sby5kdXJhdGlvbnx8Im5vcm1hbCIsCitmdW5jdGlvbigpe2UoZixvKTthLl90cmln
Z2VyKCJzaG93IixudWxsLGEuX3VpKGcsZlswXSkpfSl9OmZ1bmN0aW9uKGcsZil7ZChnKS5jbG9z
ZXN0KCJsaSIpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO2Yu
cmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpO2EuX3RyaWdnZXIoInNob3ciLG51bGwsYS5fdWko
ZyxmWzBdKSl9LHM9bT9mdW5jdGlvbihnLGYpe2YuYW5pbWF0ZShtLG0uZHVyYXRpb258fCJub3Jt
YWwiLGZ1bmN0aW9uKCl7YS5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3Rh
dGUtYWN0aXZlIik7Zi5hZGRDbGFzcygidWktdGFicy1oaWRlIik7ZShmLG0pO2EuZWxlbWVudC5k
ZXF1ZXVlKCJ0YWJzIil9KX06ZnVuY3Rpb24oZyxmKXthLmxpcy5yZW1vdmVDbGFzcygidWktdGFi
cy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtmLmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTth
LmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpfTsKK3RoaXMuYW5jaG9ycy5iaW5kKGMuZXZlbnQrIi50
YWJzIixmdW5jdGlvbigpe3ZhciBnPXRoaXMsZj1kKGcpLmNsb3Nlc3QoImxpIiksaT1hLnBhbmVs
cy5maWx0ZXIoIjpub3QoLnVpLXRhYnMtaGlkZSkiKSxsPWEuZWxlbWVudC5maW5kKGEuX3Nhbml0
aXplU2VsZWN0b3IoZy5oYXNoKSk7aWYoZi5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpJiYh
Yy5jb2xsYXBzaWJsZXx8Zi5oYXNDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKXx8Zi5oYXNDbGFz
cygidWktc3RhdGUtcHJvY2Vzc2luZyIpfHxhLnBhbmVscy5maWx0ZXIoIjphbmltYXRlZCIpLmxl
bmd0aHx8YS5fdHJpZ2dlcigic2VsZWN0IixudWxsLGEuX3VpKHRoaXMsbFswXSkpPT09ZmFsc2Up
e3RoaXMuYmx1cigpO3JldHVybiBmYWxzZX1jLnNlbGVjdGVkPWEuYW5jaG9ycy5pbmRleCh0aGlz
KTthLmFib3J0KCk7aWYoYy5jb2xsYXBzaWJsZSlpZihmLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVj
dGVkIikpe2Muc2VsZWN0ZWQ9CistMTtjLmNvb2tpZSYmYS5fY29va2llKGMuc2VsZWN0ZWQsYy5j
b29raWUpO2EuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtzKGcsaSl9KS5kZXF1ZXVl
KCJ0YWJzIik7dGhpcy5ibHVyKCk7cmV0dXJuIGZhbHNlfWVsc2UgaWYoIWkubGVuZ3RoKXtjLmNv
b2tpZSYmYS5fY29va2llKGMuc2VsZWN0ZWQsYy5jb29raWUpO2EuZWxlbWVudC5xdWV1ZSgidGFi
cyIsZnVuY3Rpb24oKXtyKGcsbCl9KTthLmxvYWQoYS5hbmNob3JzLmluZGV4KHRoaXMpKTt0aGlz
LmJsdXIoKTtyZXR1cm4gZmFsc2V9Yy5jb29raWUmJmEuX2Nvb2tpZShjLnNlbGVjdGVkLGMuY29v
a2llKTtpZihsLmxlbmd0aCl7aS5sZW5ndGgmJmEuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rp
b24oKXtzKGcsaSl9KTthLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cihnLGwpfSk7
YS5sb2FkKGEuYW5jaG9ycy5pbmRleCh0aGlzKSl9ZWxzZSB0aHJvdyJqUXVlcnkgVUkgVGFiczog
TWlzbWF0Y2hpbmcgZnJhZ21lbnQgaWRlbnRpZmllci4iOworZC5icm93c2VyLm1zaWUmJnRoaXMu
Ymx1cigpfSk7dGhpcy5hbmNob3JzLmJpbmQoImNsaWNrLnRhYnMiLGZ1bmN0aW9uKCl7cmV0dXJu
IGZhbHNlfSl9LF9nZXRJbmRleDpmdW5jdGlvbihiKXtpZih0eXBlb2YgYj09InN0cmluZyIpYj10
aGlzLmFuY2hvcnMuaW5kZXgodGhpcy5hbmNob3JzLmZpbHRlcigiW2hyZWYkPSIrYisiXSIpKTty
ZXR1cm4gYn0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9uczt0aGlzLmFib3J0
KCk7dGhpcy5lbGVtZW50LnVuYmluZCgiLnRhYnMiKS5yZW1vdmVDbGFzcygidWktdGFicyB1aS13
aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS10YWJzLWNvbGxhcHNpYmxl
IikucmVtb3ZlRGF0YSgidGFicyIpO3RoaXMubGlzdC5yZW1vdmVDbGFzcygidWktdGFicy1uYXYg
dWktaGVscGVyLXJlc2V0IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNv
cm5lci1hbGwiKTt0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbigpe3ZhciBlPQorZC5kYXRhKHRo
aXMsImhyZWYudGFicyIpO2lmKGUpdGhpcy5ocmVmPWU7dmFyIGE9ZCh0aGlzKS51bmJpbmQoIi50
YWJzIik7ZC5lYWNoKFsiaHJlZiIsImxvYWQiLCJjYWNoZSJdLGZ1bmN0aW9uKGMsaCl7YS5yZW1v
dmVEYXRhKGgrIi50YWJzIil9KX0pO3RoaXMubGlzLnVuYmluZCgiLnRhYnMiKS5hZGQodGhpcy5w
YW5lbHMpLmVhY2goZnVuY3Rpb24oKXtkLmRhdGEodGhpcywiZGVzdHJveS50YWJzIik/ZCh0aGlz
KS5yZW1vdmUoKTpkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5l
ci10b3AgdWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUgdWktc3RhdGUtaG92ZXIgdWkt
c3RhdGUtZm9jdXMgdWktc3RhdGUtZGlzYWJsZWQgdWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29u
dGVudCB1aS1jb3JuZXItYm90dG9tIHVpLXRhYnMtaGlkZSIpfSk7Yi5jb29raWUmJnRoaXMuX2Nv
b2tpZShudWxsLGIuY29va2llKTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uKGIsCitlLGEpe2lm
KGE9PT1wKWE9dGhpcy5hbmNob3JzLmxlbmd0aDt2YXIgYz10aGlzLGg9dGhpcy5vcHRpb25zO2U9
ZChoLnRhYlRlbXBsYXRlLnJlcGxhY2UoLyNce2hyZWZcfS9nLGIpLnJlcGxhY2UoLyNce2xhYmVs
XH0vZyxlKSk7Yj0hYi5pbmRleE9mKCIjIik/Yi5yZXBsYWNlKCIjIiwiIik6dGhpcy5fdGFiSWQo
ZCgiYSIsZSlbMF0pO2UuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIp
LmRhdGEoImRlc3Ryb3kudGFicyIsdHJ1ZSk7dmFyIGo9Yy5lbGVtZW50LmZpbmQoIiMiK2IpO2ou
bGVuZ3RofHwoaj1kKGgucGFuZWxUZW1wbGF0ZSkuYXR0cigiaWQiLGIpLmRhdGEoImRlc3Ryb3ku
dGFicyIsdHJ1ZSkpO2ouYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQg
dWktY29ybmVyLWJvdHRvbSB1aS10YWJzLWhpZGUiKTtpZihhPj10aGlzLmxpcy5sZW5ndGgpe2Uu
YXBwZW5kVG8odGhpcy5saXN0KTtqLmFwcGVuZFRvKHRoaXMubGlzdFswXS5wYXJlbnROb2RlKX1l
bHNle2UuaW5zZXJ0QmVmb3JlKHRoaXMubGlzW2FdKTsKK2ouaW5zZXJ0QmVmb3JlKHRoaXMucGFu
ZWxzW2FdKX1oLmRpc2FibGVkPWQubWFwKGguZGlzYWJsZWQsZnVuY3Rpb24oayl7cmV0dXJuIGs+
PWE/KytrOmt9KTt0aGlzLl90YWJpZnkoKTtpZih0aGlzLmFuY2hvcnMubGVuZ3RoPT0xKXtoLnNl
bGVjdGVkPTA7ZS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtq
LnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1
bmN0aW9uKCl7Yy5fdHJpZ2dlcigic2hvdyIsbnVsbCxjLl91aShjLmFuY2hvcnNbMF0sYy5wYW5l
bHNbMF0pKX0pO3RoaXMubG9hZCgwKX10aGlzLl90cmlnZ2VyKCJhZGQiLG51bGwsdGhpcy5fdWko
dGhpcy5hbmNob3JzW2FdLHRoaXMucGFuZWxzW2FdKSk7cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5j
dGlvbihiKXtiPXRoaXMuX2dldEluZGV4KGIpO3ZhciBlPXRoaXMub3B0aW9ucyxhPXRoaXMubGlz
LmVxKGIpLnJlbW92ZSgpLGM9dGhpcy5wYW5lbHMuZXEoYikucmVtb3ZlKCk7CitpZihhLmhhc0Ns
YXNzKCJ1aS10YWJzLXNlbGVjdGVkIikmJnRoaXMuYW5jaG9ycy5sZW5ndGg+MSl0aGlzLnNlbGVj
dChiKyhiKzE8dGhpcy5hbmNob3JzLmxlbmd0aD8xOi0xKSk7ZS5kaXNhYmxlZD1kLm1hcChkLmdy
ZXAoZS5kaXNhYmxlZCxmdW5jdGlvbihoKXtyZXR1cm4gaCE9Yn0pLGZ1bmN0aW9uKGgpe3JldHVy
biBoPj1iPy0taDpofSk7dGhpcy5fdGFiaWZ5KCk7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIixudWxs
LHRoaXMuX3VpKGEuZmluZCgiYSIpWzBdLGNbMF0pKTtyZXR1cm4gdGhpc30sZW5hYmxlOmZ1bmN0
aW9uKGIpe2I9dGhpcy5fZ2V0SW5kZXgoYik7dmFyIGU9dGhpcy5vcHRpb25zO2lmKGQuaW5BcnJh
eShiLGUuZGlzYWJsZWQpIT0tMSl7dGhpcy5saXMuZXEoYikucmVtb3ZlQ2xhc3MoInVpLXN0YXRl
LWRpc2FibGVkIik7ZS5kaXNhYmxlZD1kLmdyZXAoZS5kaXNhYmxlZCxmdW5jdGlvbihhKXtyZXR1
cm4gYSE9Yn0pO3RoaXMuX3RyaWdnZXIoImVuYWJsZSIsbnVsbCwKK3RoaXMuX3VpKHRoaXMuYW5j
aG9yc1tiXSx0aGlzLnBhbmVsc1tiXSkpO3JldHVybiB0aGlzfX0sZGlzYWJsZTpmdW5jdGlvbihi
KXtiPXRoaXMuX2dldEluZGV4KGIpO3ZhciBlPXRoaXMub3B0aW9ucztpZihiIT1lLnNlbGVjdGVk
KXt0aGlzLmxpcy5lcShiKS5hZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtlLmRpc2FibGVk
LnB1c2goYik7ZS5kaXNhYmxlZC5zb3J0KCk7dGhpcy5fdHJpZ2dlcigiZGlzYWJsZSIsbnVsbCx0
aGlzLl91aSh0aGlzLmFuY2hvcnNbYl0sdGhpcy5wYW5lbHNbYl0pKX1yZXR1cm4gdGhpc30sc2Vs
ZWN0OmZ1bmN0aW9uKGIpe2I9dGhpcy5fZ2V0SW5kZXgoYik7aWYoYj09LTEpaWYodGhpcy5vcHRp
b25zLmNvbGxhcHNpYmxlJiZ0aGlzLm9wdGlvbnMuc2VsZWN0ZWQhPS0xKWI9dGhpcy5vcHRpb25z
LnNlbGVjdGVkO2Vsc2UgcmV0dXJuIHRoaXM7dGhpcy5hbmNob3JzLmVxKGIpLnRyaWdnZXIodGhp
cy5vcHRpb25zLmV2ZW50KyIudGFicyIpO3JldHVybiB0aGlzfSwKK2xvYWQ6ZnVuY3Rpb24oYil7
Yj10aGlzLl9nZXRJbmRleChiKTt2YXIgZT10aGlzLGE9dGhpcy5vcHRpb25zLGM9dGhpcy5hbmNo
b3JzLmVxKGIpWzBdLGg9ZC5kYXRhKGMsImxvYWQudGFicyIpO3RoaXMuYWJvcnQoKTtpZighaHx8
dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikubGVuZ3RoIT09MCYmZC5kYXRhKGMsImNhY2hlLnRh
YnMiKSl0aGlzLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpO2Vsc2V7dGhpcy5saXMuZXEoYikuYWRk
Q2xhc3MoInVpLXN0YXRlLXByb2Nlc3NpbmciKTtpZihhLnNwaW5uZXIpe3ZhciBqPWQoInNwYW4i
LGMpO2ouZGF0YSgibGFiZWwudGFicyIsai5odG1sKCkpLmh0bWwoYS5zcGlubmVyKX10aGlzLnho
cj1kLmFqYXgoZC5leHRlbmQoe30sYS5hamF4T3B0aW9ucyx7dXJsOmgsc3VjY2VzczpmdW5jdGlv
bihrLG4pe2UuZWxlbWVudC5maW5kKGUuX3Nhbml0aXplU2VsZWN0b3IoYy5oYXNoKSkuaHRtbChr
KTtlLl9jbGVhbnVwKCk7YS5jYWNoZSYmZC5kYXRhKGMsCisiY2FjaGUudGFicyIsdHJ1ZSk7ZS5f
dHJpZ2dlcigibG9hZCIsbnVsbCxlLl91aShlLmFuY2hvcnNbYl0sZS5wYW5lbHNbYl0pKTt0cnl7
YS5hamF4T3B0aW9ucy5zdWNjZXNzKGssbil9Y2F0Y2gobSl7fX0sZXJyb3I6ZnVuY3Rpb24oayxu
KXtlLl9jbGVhbnVwKCk7ZS5fdHJpZ2dlcigibG9hZCIsbnVsbCxlLl91aShlLmFuY2hvcnNbYl0s
ZS5wYW5lbHNbYl0pKTt0cnl7YS5hamF4T3B0aW9ucy5lcnJvcihrLG4sYixjKX1jYXRjaChtKXt9
fX0pKTtlLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpO3JldHVybiB0aGlzfX0sYWJvcnQ6ZnVuY3Rp
b24oKXt0aGlzLmVsZW1lbnQucXVldWUoW10pO3RoaXMucGFuZWxzLnN0b3AoZmFsc2UsdHJ1ZSk7
dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIix0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiKS5zcGxp
Y2UoLTIsMikpO2lmKHRoaXMueGhyKXt0aGlzLnhoci5hYm9ydCgpO2RlbGV0ZSB0aGlzLnhocn10
aGlzLl9jbGVhbnVwKCk7cmV0dXJuIHRoaXN9LAordXJsOmZ1bmN0aW9uKGIsZSl7dGhpcy5hbmNo
b3JzLmVxKGIpLnJlbW92ZURhdGEoImNhY2hlLnRhYnMiKS5kYXRhKCJsb2FkLnRhYnMiLGUpO3Jl
dHVybiB0aGlzfSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmNob3JzLmxlbmd0aH19
KTtkLmV4dGVuZChkLnVpLnRhYnMse3ZlcnNpb246IjEuOC4xNSJ9KTtkLmV4dGVuZChkLnVpLnRh
YnMucHJvdG90eXBlLHtyb3RhdGlvbjpudWxsLHJvdGF0ZTpmdW5jdGlvbihiLGUpe3ZhciBhPXRo
aXMsYz10aGlzLm9wdGlvbnMsaD1hLl9yb3RhdGV8fChhLl9yb3RhdGU9ZnVuY3Rpb24oail7Y2xl
YXJUaW1lb3V0KGEucm90YXRpb24pO2Eucm90YXRpb249c2V0VGltZW91dChmdW5jdGlvbigpe3Zh
ciBrPWMuc2VsZWN0ZWQ7YS5zZWxlY3QoKytrPGEuYW5jaG9ycy5sZW5ndGg/azowKX0sYik7aiYm
ai5zdG9wUHJvcGFnYXRpb24oKX0pO2U9YS5fdW5yb3RhdGV8fChhLl91bnJvdGF0ZT0hZT9mdW5j
dGlvbihqKXtqLmNsaWVudFgmJgorYS5yb3RhdGUobnVsbCl9OmZ1bmN0aW9uKCl7dD1jLnNlbGVj
dGVkO2goKX0pO2lmKGIpe3RoaXMuZWxlbWVudC5iaW5kKCJ0YWJzc2hvdyIsaCk7dGhpcy5hbmNo
b3JzLmJpbmQoYy5ldmVudCsiLnRhYnMiLGUpO2goKX1lbHNle2NsZWFyVGltZW91dChhLnJvdGF0
aW9uKTt0aGlzLmVsZW1lbnQudW5iaW5kKCJ0YWJzc2hvdyIsaCk7dGhpcy5hbmNob3JzLnVuYmlu
ZChjLmV2ZW50KyIudGFicyIsZSk7ZGVsZXRlIHRoaXMuX3JvdGF0ZTtkZWxldGUgdGhpcy5fdW5y
b3RhdGV9cmV0dXJuIHRoaXN9fSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS50
YWJzLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK29u
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkud2lkZ2V0Lm1pbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LnVpLndpZGdldC5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQu
bWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKy8qIQorICogalF1ZXJ5IFVJ
IFdpZGdldCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAq
CisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1dpZGdldAorICovCisoZnVuY3Rpb24oYixq
KXtpZihiLmNsZWFuRGF0YSl7dmFyIGs9Yi5jbGVhbkRhdGE7Yi5jbGVhbkRhdGE9ZnVuY3Rpb24o
YSl7Zm9yKHZhciBjPTAsZDsoZD1hW2NdKSE9bnVsbDtjKyspYihkKS50cmlnZ2VySGFuZGxlcigi
cmVtb3ZlIik7ayhhKX19ZWxzZXt2YXIgbD1iLmZuLnJlbW92ZTtiLmZuLnJlbW92ZT1mdW5jdGlv
bihhLGMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZighYylpZighYXx8Yi5maWx0ZXIo
YSxbdGhpc10pLmxlbmd0aCliKCIqIix0aGlzKS5hZGQoW3RoaXNdKS5lYWNoKGZ1bmN0aW9uKCl7
Yih0aGlzKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9KTtyZXR1cm4gbC5jYWxsKGIodGhpcyks
YSxjKX0pfX1iLndpZGdldD1mdW5jdGlvbihhLGMsZCl7dmFyIGU9YS5zcGxpdCgiLiIpWzBdLGY7
YT1hLnNwbGl0KCIuIilbMV07Zj1lKyItIithO2lmKCFkKXtkPWM7Yz1iLldpZGdldH1iLmV4cHJb
IjoiXVtmXT1mdW5jdGlvbihoKXtyZXR1cm4hIWIuZGF0YShoLAorYSl9O2JbZV09YltlXXx8e307
YltlXVthXT1mdW5jdGlvbihoLGcpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdl
dChoLGcpfTtjPW5ldyBjO2Mub3B0aW9ucz1iLmV4dGVuZCh0cnVlLHt9LGMub3B0aW9ucyk7Yltl
XVthXS5wcm90b3R5cGU9Yi5leHRlbmQodHJ1ZSxjLHtuYW1lc3BhY2U6ZSx3aWRnZXROYW1lOmEs
d2lkZ2V0RXZlbnRQcmVmaXg6YltlXVthXS5wcm90b3R5cGUud2lkZ2V0RXZlbnRQcmVmaXh8fGEs
d2lkZ2V0QmFzZUNsYXNzOmZ9LGQpO2Iud2lkZ2V0LmJyaWRnZShhLGJbZV1bYV0pfTtiLndpZGdl
dC5icmlkZ2U9ZnVuY3Rpb24oYSxjKXtiLmZuW2FdPWZ1bmN0aW9uKGQpe3ZhciBlPXR5cGVvZiBk
PT09InN0cmluZyIsZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaD10
aGlzO2Q9IWUmJmYubGVuZ3RoP2IuZXh0ZW5kLmFwcGx5KG51bGwsW3RydWUsZF0uY29uY2F0KGYp
KTpkO2lmKGUmJmQuY2hhckF0KDApPT09Il8iKXJldHVybiBoOworZT90aGlzLmVhY2goZnVuY3Rp
b24oKXt2YXIgZz1iLmRhdGEodGhpcyxhKSxpPWcmJmIuaXNGdW5jdGlvbihnW2RdKT9nW2RdLmFw
cGx5KGcsZik6ZztpZihpIT09ZyYmaSE9PWope2g9aTtyZXR1cm4gZmFsc2V9fSk6dGhpcy5lYWNo
KGZ1bmN0aW9uKCl7dmFyIGc9Yi5kYXRhKHRoaXMsYSk7Zz9nLm9wdGlvbihkfHx7fSkuX2luaXQo
KTpiLmRhdGEodGhpcyxhLG5ldyBjKGQsdGhpcykpfSk7cmV0dXJuIGh9fTtiLldpZGdldD1mdW5j
dGlvbihhLGMpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChhLGMpfTtiLldp
ZGdldC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIs
b3B0aW9uczp7ZGlzYWJsZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oYSxjKXtiLmRh
dGEoYyx0aGlzLndpZGdldE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWIoYyk7dGhpcy5vcHRpb25z
PWIuZXh0ZW5kKHRydWUse30sdGhpcy5vcHRpb25zLAordGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygp
LGEpO3ZhciBkPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoInJlbW92ZS4iK3RoaXMud2lkZ2V0TmFt
ZSxmdW5jdGlvbigpe2QuZGVzdHJveSgpfSk7dGhpcy5fY3JlYXRlKCk7dGhpcy5fdHJpZ2dlcigi
Y3JlYXRlIik7dGhpcy5faW5pdCgpfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3JldHVy
biBiLm1ldGFkYXRhJiZiLm1ldGFkYXRhLmdldCh0aGlzLmVsZW1lbnRbMF0pW3RoaXMud2lkZ2V0
TmFtZV19LF9jcmVhdGU6ZnVuY3Rpb24oKXt9LF9pbml0OmZ1bmN0aW9uKCl7fSxkZXN0cm95OmZ1
bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVE
YXRhKHRoaXMud2lkZ2V0TmFtZSk7dGhpcy53aWRnZXQoKS51bmJpbmQoIi4iK3RoaXMud2lkZ2V0
TmFtZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0
QmFzZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sCit3aWRnZXQ6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5lbGVtZW50fSxvcHRpb246ZnVuY3Rpb24oYSxjKXt2YXIgZD1hO2lm
KGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiBiLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpO2lm
KHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGM9PT1qKXJldHVybiB0aGlzLm9wdGlvbnNbYV07ZD17
fTtkW2FdPWN9dGhpcy5fc2V0T3B0aW9ucyhkKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbnM6ZnVu
Y3Rpb24oYSl7dmFyIGM9dGhpcztiLmVhY2goYSxmdW5jdGlvbihkLGUpe2MuX3NldE9wdGlvbihk
LGUpfSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxjKXt0aGlzLm9wdGlvbnNb
YV09YztpZihhPT09ImRpc2FibGVkIil0aGlzLndpZGdldCgpW2M/ImFkZENsYXNzIjoicmVtb3Zl
Q2xhc3MiXSh0aGlzLndpZGdldEJhc2VDbGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVk
IikuYXR0cigiYXJpYS1kaXNhYmxlZCIsYyk7cmV0dXJuIHRoaXN9LAorZW5hYmxlOmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5j
dGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6
ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXRoaXMub3B0aW9uc1thXTtjPWIuRXZlbnQoYyk7Yy50eXBl
PShhPT09dGhpcy53aWRnZXRFdmVudFByZWZpeD9hOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrYSku
dG9Mb3dlckNhc2UoKTtkPWR8fHt9O2lmKGMub3JpZ2luYWxFdmVudCl7YT1iLmV2ZW50LnByb3Bz
Lmxlbmd0aDtmb3IodmFyIGY7YTspe2Y9Yi5ldmVudC5wcm9wc1stLWFdO2NbZl09Yy5vcmlnaW5h
bEV2ZW50W2ZdfX10aGlzLmVsZW1lbnQudHJpZ2dlcihjLGQpO3JldHVybiEoYi5pc0Z1bmN0aW9u
KGUpJiZlLmNhbGwodGhpcy5lbGVtZW50WzBdLGMsZCk9PT1mYWxzZXx8Yy5pc0RlZmF1bHRQcmV2
ZW50ZWQoKSl9fX0pKGpRdWVyeSk7CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFf
NDB4MTAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJp
bmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJn
X2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2Zs
YXRfMF9hYWFhYWFfNDB4MTAwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2Zs
YXRfMF9hYWFhYWFfNDB4MTAwLnBuZwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNnQUFBQmtDQVlBQUFE
MFpISjZBQUFBZTBsRVFWUm9nZTNPTVFIQUlCQUFNY0Mva2pkWgpKSFRJMEE0WEJka3o4NndmTzE4
SDNoUlVCVlZCVlZBVlZBVlZRVlZRRlZRRlZVRlZVQlZVQlZWQlZWQVZWQVZWUVZWUUZWUUZWVUZW
ClVCVlVCVlZCVlZBVlZBVlZRVlZRRlZRRlZVRlZVQlZVQlZWQlZWQVZWQVZWUVZWUUZWUUZWVUZW
VUJWVUY4TzhBOFdkWTZvcEFBQUEKQUVsRlRrU3VRbUNDCgpJbmRleDogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19m
bGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUg
bWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFz
ZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
aW1hZ2VzL3VpLWJnX2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5wbmcJKG5vbmV4aXN0ZW50KQorKysg
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1iZ19mbGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nCSh3b3JraW5nIGNvcHkpCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5w
bmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9w
bmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQUNnQUFBQmtDQVlBQUFEMFpISjZBQUFBZVVsRVFWUm9nZTNPTVFIQUlCQUFzVkwvbmg4SgpE
RGZBa0NqSW1wbjVIdmJmRHB3SVZvS1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BWZ0pWZ0pWb0tWWUNWWUNW
YUNsV0FsV0FsV2dwVmdKVmdKClZvS1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BWZ0pWZ0pWb0tWWUNWWUNW
YUNsV0FsV0FsV2dwVmdKVmdKVmh0cWl3VEVLVExYVGdBQUFBQkoKUlU1RXJrSmdnZz09CgpJbmRl
eDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1iZ19nbGFzc181NV9mYmY5ZWVfMXg0MDAucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzU1X2ZiZjllZV8xeDQwMC5wbmcJ
KG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc181NV9mYmY5ZWVfMXg0MDAucG5n
CSh3b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNz
XzU1X2ZiZjllZV8xeDQwMC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAt
MCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBR1FDQVlBQUFCdldBcmJBQUFBUDBsRVFWUTRqZTNQ
TVFyQU1BQkMwYS8zdjJ6WAowbUNYTmtPZ2M2QzRQQVJkNURxUEdLQ1U4bHVTOFNiQVFoaUNRUmdK
RTU2a1pUZmJiUDlSU3Zua0JzV2NFQVpSV2NncUFBQUFBRWxGClRrU3VRbUNDCgpJbmRleDogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2lt
YWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRp
c3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFn
ZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcJKG5vbmV4
aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nCSh3b3Jr
aW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2Zm
ZmZmZl8xeDQwMC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx
ICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtH
Z29BQUFBTlNVaEVVZ0FBQUFFQUFBR1FDQVlBQUFCdldBcmJBQUFBTUVsRVFWUTRqZTNMSVE0QUlC
VEQwTzNmLzh3cgpGZ21LaE15OHBLSkt3a2hTS2VWYmJHdUFQVTlmNFBJb3BUeGdBZVMwRFJ0STR5
SzBBQUFBQUVsRlRrU3VRbUNDCgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9kYWRhZGFf
MXg0MDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdf
Z2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ds
YXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19n
bGFzc183NV9kYWRhZGFfMXg0MDAucG5nCSh3b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBR1FDQVlB
QUFCdldBcmJBQUFBTmtsRVFWUTRqV040OHVUSmZ5WUdCZ2FHVVdLVQpHQ1dHTGZIdDJ6Y29pNUdS
RVlOZ1ltSkNaaUc0MklpQjk4d29NVXFNRXRnSUFNZGpDZHlnK2VFQkFBQUFBRWxGVGtTdVFtQ0MK
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2ZTZlNl8xeDQwMC5wbmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUt
dHlwZSA9IGltYWdlL3BuZwpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9lNmU2ZTZfMXg0
MDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAw
LnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2ZTZlNl8xeDQw
MC5wbmcJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdf
Z2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBl
CiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFHUUNBWUFBQUJ2V0FyYkFBQUFOVWxFUVZR
NGplM0xNUW9BSUJBRHdiMzgvNnQ1CndGWGFXQWlDdFVpYVladkY5aEJBQ09GYnVudFZWZTExQjBD
U2pqZUU4QndUaFFJSjhkaEVsMFlBQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWkt
YmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCklu
ZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nCShub25leGlzdGVudCkK
KysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZwkod29ya2luZyBjb3B5
KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0
MDAucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1h
Z2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFBRUFBQUdRQ0FZQUFBQnZXQXJiQUFBQVBrbEVRVlE0amUzUE1RcUFNQUJEMFovYy83
YUMKSUFYakpJaEQxMExKOHZnWnczMGVNVUFwWlYvR2haTmdTVGpvTFlFbFkvaE5NSi9TNmd1bGxD
a1BpQ0lQQ3I0TmlFd0FBQUFBU1VWTwpSSzVDWUlJPQoKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfaGln
aGxpZ2h0LXNvZnRfNzVfY2NjY2NjXzF4MTAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5n
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgx
MDAucG5nCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfNzVf
Y2NjY2NjXzF4MTAwLnBuZwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2lt
YWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUJrQ0FZ
QUFBQkhMRnBnQUFBQUxFbEVRVlFZbFdONDlPalJmeVlHQmdhR0lVVDgKLy84ZlNxQngwWWgvLy80
Ukw4dkF3QUFWUTJNTk93SUFsNmc2S2tPSndrOEFBQUFBU1VWT1JLNUNZSUk9CgpJbmRleDogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2lt
YWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3Bu
ZwpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcJKG5vbmV4aXN0ZW50KQorKysg
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcJKHdvcmtpbmcgY29weSkKClByb3Bl
cnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFB
QUR3Q0FNQUFBRFlTVXI1QUFBQTdWQk1WRVV1Zy84dWcvOHVnLzh1Zy84dWcvOHUKZy84dWcvOHVn
Lzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcv
OHVnLzh1Zy84dQpnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcv
OHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1CmcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcv
OHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHUKZy84dWcv
OHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84
dWcvOGxnY3lZQUFBQQpUblJTVGxNQUdCQXlCQWhRdjRPWkxpSlVjRUJtWUJvU3pRd2dQQlpDU0Vv
ZVdpWXdVaXlGTkllQncyckp6OGM0UkJ5OXVYeXJ0YVdOCnFhMnpLUDJmSk84S0JnS1BvMktWb2E5
czM1MUdQbTUra1dobzBrajlBQUFQaFVsRVFWUjRuTzFkaldMYnRoRUd5VWlxNVlTU0xYdHAKN0Zw
TE9tZnprbXhyMTI2dG1pMnAwM1JKMS9YZS8zRUdnQVJ4UHlBZ1JiSWsyL2hrU3o0Q0pPNCtIc0U3
QUpTVnlzakkyQU1VVU94YQpoWjJpQU5oekJ0WldyNEJvSVJTWUFWTjV1NFF3RHdRRFJiY3dmVWk1
S1Mzd0Z1RG1GblFMYTREdGIvL2Nxa3R3RDVRRUZGd2ZVczdQCm9DQ0E3eTRiRUpWRml6Y0lvYjhL
bWhBcGx3d3FWanQrOUZCbDN1SU5Rbml3RWlyeUV5dzlKSHFHcFFkRUZOaStCNFFRN1FPaUhoeXMK
SVBvQXhVcXh2ZHZ2QTlLNDJic0F2NFMyZnhmWU9lNTdJSlNSa1pHUmtaR3h4N2p4U0hESGNSQlhR
TVR5SWpJbkJnSHdCSi9iRXg4UApFQU5DK3VoYnBTU2dnQ0JBVk9EVmFicEkxUy9rNFdMWnBUbjZO
cE1ob1g5WTQwaHhZRVJGcE1jcVVzNEFsb0N0RFFkSUQxWWhueVhaCjJoTGpBWVdpTzlEeTFQREI3
dFBoSXFMeCt1TUI4Z3JaYVIrUXhsMi9DMlJrWkdSa1pHUms3QTdyQmY3SjBEUjUvTFVUanpVUElQ
U1AKR3ZRSmlWSmlCN2tjUUNpVU9KcmNGTnREWklmMnhhclEzYUd2TE54QVZJRkFhYno5MEJGaUJJ
bHljVEJoZ1d3T1dDSDBGTFlIbFBxdwpIYUN2Y0luMlpib3NDZXZmUFRSaUZGY2d2SHVrQ2pXd3Jj
M0dyR2gxZnNBb2Y4RWFVUmVLWGtDQjQvTXpGTm85N3FMcEZpS0ZZdi9rCk5SNVlReFFiUUVvZmta
Mk91RU9IcXFUNmdGVHBydThDTjd4LytqYVprWkdSa1pHUmNWK3gvckxVTmNNTXFVQXNjZ25Gb2Nt
cHFrVHoKcXltd1ZBUHhmSjVQbklVVVFPVUtUMDR0RWRXWnl2M0pDUVNuOTZXUzRwRDk3UWZ5VzI1
QTdOaFNBYnlobVZqMEZFbHRBNHZkaXlnQgppYlhob1VZZ3lrQ1VQN0h3UFREZUVxQUljSFZNa1pn
N1p4NGswdUZBTnM2M2hQUVhDb1JMQXdkZ0dzcjlBejdRdjdzZ1FHZ2cxYVBsCi9CSkxFeEJXZ0c0
UkZSTEZJbUdtSXF1UEMva2xFR3lDRzBBdUFYYUpKQytCOEZWZTlOWVFERWNYQjhnNkFRY2pZSjFn
b0pJZ2dIV0MKckZSMFM2a1JITjUrNEJ6Rmk4TmFvTjM1TlJ4VXZMK0pKZFpyN1BWNHdLNmZqOG5J
eU1qSXlOaHIzT3hkWEFZcTdGSFp3QjZiRFN6UwpoNHNGMHV0Q2hxbzBOQXZhVDFoTHpYd0Zpbm1D
em1lRHVjRVFLMThUVGFRb0ZnUDdiTkMrUlo0T1Q0VDZnUW9nREZZaysxUXhRbGoxCjlRR1NBV0tp
TFlwOFAwQWcxR2J6MVVMZldITGc5aVVuUU5LNVFRSmN1a20wNGJsS0xIMkdnRUpDWStIelhBWldD
dkhLY28zQnA2TUkKYUNqU1hYUkp5T3hlcWhuekVhRjkzTWZGR1cvTzE2WnZETDVUTTRNSklqdWp6
L2NIeXBrUXV1elJ3V0o5M0JLZEl0K3dDUkFQbDlrcAplMklra2IybUZnR2x4aC9pNDBkM0VIZmR2
b3lNakl5TXU0M3lsdC9JQW1HSG5ONWlJdDd3S2ZidjAxUkFjSnFGUmw5bGNqWVFTbmJRCnFLZ0M0
ZllPd1NKdDZONnRyRTB0d1o5a04vUHFOcFRRZUlDdnI0VExzRFlDMDZVN0JNanNoUyt2MS9hVDdJ
d1FZRDVMY2dSUVhNVDIKRnJCZkJMalo2MTUxakRFbGs5dFBGZnBVZ2syeXJlZ3VzWDI1Qkpid0FG
RWZNK1lJNnZHQXRpNGJUdGl6QitUamZRQ3JFUnloS2IyWAo4RDZBOXdYNzVQNHQ0bmVCWUplUDZw
ZGhnL2dRbDhNV3Z5dHplU1RqZ09RQnluUWRoL2lYS2R4T3JHSi9Sa1pHUnNiOVFtWGloR3I1Citn
OEdHZzl1VGgrS29WWnVOSXpWK0N3UnVjRkJFeXIxbVZqeDRpck94d00xQmhpckI2USsyZU5RaTRl
cVIrYUY2bUVMdG9NekNSN1YKOVJBRmUvWnZRb2dOaXlZOEZQU1VURnNMcDhUZVRtTXVpNW10dzdi
Y2FUMFl3MkFBNHdGUlFJbGtncSsxRFFyTmhrbW94UzVKcSt1NgpiTUFJR1JFQ0VBTmdYSFRnV3p3
Z0JPaERIMmwwb1RRNEQ4RDVOTWt0QmdOeXdBRU1qbzhyd0FUTVpyUFk3Skd4Qm9KQ2tJQkRRaUFZ
CjA5RUdUVWlCQ1drVXBJU2ZHUFI1QUF3QmZaaUcyejdBeWMxeWVLVHhpZDM5eEJOd2ZIcjRPMExB
NDhlUEZUdmhZckYxcjR0eUFvejkKbjJNQ3FFdUJ0cC82R0RSMG9BWWZHL1I2d0pFeEhZWkhmaHln
c3Y3ZkVXQ09qNGJZbXNQNUErcEw0TWtUZkFuTWxENEYrcjNib2JLdgpUeVRBMlAvdzdQTitBZ3Ey
UVc4cGlxTUNwVEJ3ZW5vS3ZYMEFIR2tHdFAyWUFQdlRFV0E3UVVUQXVkbjcvTnh0T0c0NndXTm1E
dHBCCkVrQnpON3JCRXZBRkhwK1lUQi9xOTdxUEFONGdIRnFnQmk4dUxzQzdxUENBNm1nNDFHLytF
ckJ5UHdFWERkb054UmhPeCtNNWpQRXoKUXVnUzBodCtiMS9ZM2dFbllNQUlBT0lCRTI5L2hJRHVj
RTh0bU1zTk9nSzRCMVJIRnU0VUNSbE1IenYweHpjYWpjZmRYV0RzMmg4VApBckJDa29EVUpZRExt
ejZ3N2lwM0JGUzB2ZTV3VFJ3QW42a2VNQTlJM1FZYmZTWjBES2J5dCs3T1hqR0kxaWRQY2ZOeUF5
ZkFNbENyCnphR3FwaFlyeEhvY0xIUkpWeWNuZkdVY2J0VCtqSXlNakl3OXg3Tm44ZkpTekcwVG1G
dE84clpUK1hUM1MzdWIrdEtKYmJMZDVkaVQKVnA1MCt6YWh5ZUhTc2xKL1lQclUwZnVhenJaTzJD
WjkyL1pDQ1ZYbEdSaVpLUEp5UFBSeHlJRldlWExRQlhKQktpcS8zZGl2RUFONgpad00yMDBRam03
RUpCWmVXbS9QUldWQ2JZSzdzN3UybDRYYUN6K2x6Z09mTWZoTW9uWHI3VFd6ZVpiOThkYmdJekJU
OFViOGVZWVVxCmZaNHJWSi9NRGJJRGdQcVR1bEoveHZudFdBdGpJaXNxbnd4T2tHejBuMDc3RkFS
b1k3OUdkQTZIUEU0ck95MTk2TmlNV0hUWmxTU0EKcGNPZ1hweS9mSFYyam9hTkt1M2Zmc0FuUmNC
ZjRLLzZOY0lHNnRJeGszSHlvWFBqQVNxZlVnWGJZTjVQenBMMm5qa1I5UU1qZURUVgpIRFRDZ1J1
eE9lZ2pvTzBGdkt6UC90L2dtVmRJMjQrRzdOSWU4Slg2V3YzZER5bGRNQSs0WUI1d3dUeWd0ZCtk
d1JxYVRxckxiMWw3CjN6VFNONTJDTnBuSHVRT1lQc0RibHliZ3hma1hoL29WdHIrTjFERUJKZGhS
SnlkL0JkL3ExeitjYk5yRDE3aVZLeWFqY252OWFyaE8Ka1JQZ3NydXVENkRtTlB3cEROckx3MkNv
VGdIbmk0eUFMcjBMMjkrdGlLQUVJUG44NjhlangvLzhycFdQM09FT2w1T245T3dwY1FtMApNaGFm
UC9leThmMXV2RE5JZ0dMUUc4ejRZTzk5RU5nZzk1ZXR3djR1WUpZWThmVUdIWUg2ajZmc2NIRlpN
ZnRsQWw5aSs5WEw3M1gzCk4vbitaU3RPemZWZlJ2WVhocmJkS09wRWdWUVRnL3dzRHVERDNrd09m
UU5NVEo1eSsvbHRVRFdMdW55eG5SRjQ2SXFsQnpHTVk0WDcKaW5nZ1JFRmlvSXlNakl5TUhXQ0lC
NlpOS0FjWHNlbzN2TFRRVGtWRTczNDhkbHdKSlN6MCt3TGZtaThCaFpxZnczRDR3dy93SFZMbgpF
ZDUvZmdZdlhzRFozTWxzdllVYmJuRGpEWjNNTjNUSkc0K2J4akFhRGw4VEJyaTlxeEV3MWNjYW8y
d1ROQU1MSG8yZitzanJYd2IvCjlxSG9ZcWdQTUJYSlRWZk9wbXJaSDIzeTZ1dm8wTEhTeVk2ZkhH
d0tmSEpsQXVNRnZPYmpEWXJJcXhCZ1FpMjBoN0hkL25ZVkxtbm8KK2VhTlVtL2VlSDJHQ3VvcG50
bmhCSkFsSTJBSG85Q0NoMUkxUXhVZEFicXFHWTlCQkx3eWMzVzR3WVZodlk4QTRCb0ljMWw1TTd2
bgpQV3BoWlc5L1NlczNuMzd5OWEwdUdxRndGUVpzUVFiZDM4NkRvZ3BnRWsrZHp5bnNBWk1KWHE4
K25zOU5ldWtKMFBZck5BVEdHZWZKClFsaGtMbzdEVFhyK3kzYk5pT3NEdnJYVHovQzJxMURYWkg4
NGlSTndyUDg4TmordTJEallFRTZSQnhEOUtuajE2dWpWSEM2N0E3NDIKMm8wMlJ3RDNnQit0N0Vi
bFd2dTlnZU9GeFNuZDNST21UK25KeVFraG9QbHN4Vk9OYy8zVEVkQm9zK2p0QStaemN3SGdUdkQx
Y0RqYQpZQ2NJdEE4dzlpODhBOGIrbXFTamM2UHZxZDk5OFFndUVRUG1RTWVvMjNPRE44NitwMC9i
bjFidUJrVDYrb0JoTlovUFlZNFpBSFliCjNQUmQ0TGtabVBYNjhOUnRNWm40QVN2ZEErcWYwak1B
NU1QOWVlZzI4TnVnOVFpTG5qNUEzM1UxTUFFUzZ4SEFVTnB6Lzl6RkFZRTEKZ3FRRE1UM0c2eEk5
cHdkdy9hSWdLb0hDUzFZR2xSblNxOXlDamRYamdOM2orTjI3WXlST0h4bXVOQWVOS1BwWXVYSXlJ
eU1qWXkwTQo4ZXJvczU5TUYvUFQyYzYwMlQ3ZUE3enZoSjlkci92ekRqWGFMcDRZYzUrMHdsbHp4
ekh2M2dkbU1NTTcvQ2NRektnVkJxWVRtRm4rClorbUttOEo3azBBNUYvamdDZmpRMVdCaFF5aU9x
RDBsWXVxQmIrQXl6TXc5SGEyRzNtNmM4cVF4K0FscW5JY2VRcCtTYjZpOVV5UVcKYmhyNTQrQWpu
WjBWelcyVEFOMERtQlQ2UFdtYzZqREJFMlBLMnUrbkY0M2R5UDdRMHQxcE9jWDJmZFJ2SDBtRjJR
NEpxTjM1cm5IagpWSWVhWGZJQVZ5VXV3L2FIQ0NpSnk5aUY1bDE2MjF6d2VJOEtaclBaOWlKZGI3
RFhKM1VTME9TcnRaMTBpbXQ3d0hZN1Flc0F6VU16CjFvWjNub0IzcUZKL0gxOGo5N0ZZdXc4UURO
NG9lS2YzMG9zdmNTVzJFeExvK1ZjYnVBdW8vc1VJbThmTUc5eG9jTzNFYTE5SjlnRlkKaXZuSEoy
S255Zm92WmxnVzN2NnlTeDMyYWJRaUl5TWpJeVBqaGxGRFRMeHB3SWdGTW5UcDZBM2c0SURLTlkr
c3Rrd0FNQW9JQWJhcwp4QlhxVVduZVNBV1RNanQ1MGxUcVQyOXJGanZYb2hqc0RObTJZUFhERmxJ
Q21ySk9aM3Q2dEhtOEFpRUFsMHNDZUxJSW9ySVJ0K2NGCmJldy9RUnNvQVhiNG8xWFNmb3l3em0w
RlRNQW9ZQk52THlGdTh2OEhwTEJ0RDFpS2dDMTd3SGI3QUk2ZDl3RmJ2Z3VBSUdUSGQ0RTkKd0c3
amdJeU1qSXlNKzQzNGMyUjNIZVYvRmZ4Nmp0WnU2aWpsOGg1OVQ2NTVqaFIrcmRIekRPUDZiZUFC
Q2hlYjhPOC9XRlhlT3l6ZwpmNW9BaFZZbkt4UDdDd2FBZjFhZkp1OGJTcmhTNnRkYVhlR25yUmVu
T3FPbHo5ZDZRd1luQS8zVExkK0dFN3FlM2NoQTVZRjVEZlkwCnZLM2FkZk9YL2d5TnAyQlcyNU1I
ZHhBQjlxdlJpaVAzL1hwUVFGR1lEVTQrTWkvLy9YdW1YRzhwanZhVUFPc0JHbGY0akp0K1lZRXoK
ZUV6QWR3MDZGMTlSM2p1TTdEMXdpdGE4NkdSMENLZkRIZ0x1WENjNEJyaTZ2TUxkZmpNYzRWTlNV
TnNkb2RvMnh1LzErWGwvSzUrYQp6OGpJeU1oWUcvejVnSlRNRjFHdEtxL2EzcnB5Q3Z6NWdKVE1s
OUd0S3EvYTNycHlDbWZRNFd3Wm1TK2tYRlZldGIxMTVTVDQ4d0VmCi9BR2NmRzFpdyt0V2JwYlMy
dkozblF4Y1ZyM2xIM3o1aDk3MkZVVEx6WXBPVms3bDVoRCtlWWNZd0RjQW5ld09vdHJaNE90clBE
dWMKcWkvTFJYMC9SUjRxeDdObjRVOGcrcWpmZnZ1TjZHZituQzg1dndhdUhqYVl5dWJxdldZS1k0
VkVmU1VNaXRkbkJDVDFVZTYzUjU0Mwo5bStPZ0NuNkRyb0FBYUhQVlF4S3RoL3drSmdIbUc4Ym1R
TXNUMEQ2RWpEZnZoVlJLTzN5d09RVWdSQTdubUwxdWF3Wm1IZjFrK0RQCkJ3UTZOZGNKK2s2TWQx
TEE1ZjVPTmRoSjh2WjVKMHZMSFQ5OXNya0dPam1KYmQvRzFyMk5yaXFuc2UxQVp0MUFhbFU1alcy
SHN1dUcKMHF2S0dSa1pHUmtaR1JHMGdjT055WHNQOXY4RDAvSWRKQURpQk5pWGwzMzI3V1JHZ09M
LzlIQy8wWHdsSVVSa1JoQzR0ejZaL2Z1NwpmVWYyZ0h2ZkI5ejN1MEJHUmtaR1JrYkdwbEhjbmtn
Z3VRb1NxdFVYdWhicy93UHRNd3FWMEhVSkF2ajV2azMyYjhJRHVMMjN5bjdxCkFYWjV1MzJoYlJY
N2QzbzgyRGYxRlpYdmJoOVFPZmh5eGxkci8rM3hnWFU5b0ttdnNIeXI3Ri9YQTI2OS9ldmVCWHJz
djdOOVFBTGUKL3R2akEwa1BXQVhHYnZlYmtiSG4rRC9KNW5NY0h6eDFVQUFBQUFCSlJVNUVya0pn
Z2c9PQoKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nCShu
b25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nCSh3b3Jr
aW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8y
NTZ4MjQwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMK
K2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBUUFBQUFEd0NBTUFBQURZU1VyNUFBQUE3VkJNVkVVaUlpSWlJaUlpSWlJaUlp
SWlJaUlpCklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWkKSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaQpJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpCklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUpkbWhIekFBQUEKVG5SU1RsTUFHQkF5QkFoUXY0T1pMaUpVY0VC
bVlCb1N6UXdnUEJaQ1NFb2VXaVl3VWl5Rk5JZUJ3MnJKejhjNFJCeTl1WHlydGFXTgpxYTJ6S1Ay
ZkpPOEtCZ0tQbzJLVm9hOXMzNTFHUG01K2tXaG8wa2o5QUFBUGhVbEVRVlI0bk8xZGpXTGJ0aEVH
eVVpcTVZU1NMWHRwCjdGcExPbWZ6a214cjEyNnRtaTJwMDNSSjEvWGUvM0VHZ0FSeFB5QWdSYklr
Mi9oa1N6NENKTzQrSHNFN0FKU1Z5c2pJMkFNVVVPeGEKaFoyaUFOaHpCdFpXcjRCb0lSU1lBVk41
dTRRd0R3UURSYmN3ZlVpNUtTM3dGdURtRm5RTGE0RHRiLy9jcWt0d0Q1UUVGRndmVXM3UApvQ0NB
N3k0YkVKVkZpemNJb2I4S21oQXBsd3dxVmp0KzlGQmwzdUlOUW5pd0VpcnlFeXc5SkhxR3BRZEVG
TmkrQjRRUTdRT2lIaHlzCklQb0F4VXF4dmR2dkE5SzQyYnNBdjRTMmZ4ZllPZTU3SUpTUmtaR1Jr
Wkd4eDdqeFNIREhjUkJYUU1UeUlqSW5CZ0h3QkovYkV4OFAKRUFOQyt1aGJwU1NnZ0NCQVZPRFZh
YnBJMVMvazRXTFpwVG42TnBNaG9YOVk0MGh4WUVSRnBNY3FVczRBbG9DdERRZElEMVlobnlYWgoy
aExqQVlXaU85RHkxUERCN3RQaElxTHgrdU1COGdyWmFSK1F4bDIvQzJSa1pHUmtaR1JrN0E3ckJm
N0owRFI1L0xVVGp6VVBJUFNQCkd2UUppVkppQjdrY1FDaVVPSnJjRk50RFpJZjJ4YXJRM2FHdkxO
eEFWSUZBYWJ6OTBCRmlCSWx5Y1RCaGdXd09XQ0gwRkxZSGxQcXcKSGFDdmNJbjJaYm9zQ2V2ZlBU
UmlGRmNndkh1a0NqV3dyYzNHckdoMWZzQW9mOEVhVVJlS1hrQ0I0L016Rk5vOTdxTHBGaUtGWXYv
awpOUjVZUXhRYlFFb2ZrWjJPdUVPSHFxVDZnRlRwcnU4Q043eC8ramFaa1pHUmtaR1JjVit4L3JM
VU5jTU1xVUFzY2duRm9jbXBxa1R6CnF5bXdWQVB4Zko1UG5JVVVRT1VLVDA0dEVkV1p5djNKQ1FT
bjk2V1M0cEQ5N1FmeVcyNUE3TmhTQWJ5aG1WajBGRWx0QTR2ZGl5Z0IKaWJYaG9VWWd5a0NVUDdI
d1BURGVFcUFJY0hWTWtaZzdaeDRrMHVGQU5zNjNoUFFYQ29STEF3ZGdHc3I5QXo3UXY3c2dRR2dn
MWFQbAovQkpMRXhCV2dHNFJGUkxGSW1HbUlxdVBDL2tsRUd5Q0cwQXVBWGFKSkMrQjhGVmU5TllR
REVjWEI4ZzZBUWNqWUoxZ29KSWdnSFdDCnJGUjBTNmtSSE41KzRCekZpOE5hb04zNU5SeFV2TCtK
SmRacjdQVjR3SzZmajhuSXlNakl5TmhyM094ZFhBWXE3Rkhad0I2YkRTelMKaDRzRjB1dENocW8w
TkF2YVQxaEx6WHdGaW5tQ3ptZUR1Y0VRSzE4VFRhUW9GZ1A3Yk5DK1JaNE9UNFQ2Z1FvZ0RGWWsr
MVF4UWxqMQo5UUdTQVdLaUxZcDhQMEFnMUdiejFVTGZXSExnOWlVblFOSzVRUUpjdWttMDRibEtM
SDJHZ0VKQ1krSHpYQVpXQ3ZIS2NvM0JwNk1JCmFDalNYWFJKeU94ZXFobnpFYUY5M01mRkdXL08x
Nlp2REw1VE00TUpJanVqei9jSHlwa1F1dXpSd1dKOTNCS2RJdCt3Q1JBUGw5a3AKZTJJa2tiMm1G
Z0dseGgvaTQwZDNFSGZkdm95TWpJeU11NDN5bHQvSUFtR0huTjVpSXQ3d0tmYnYwMVJBY0pxRlJs
OWxjallRU25iUQpxS2dDNGZZT3dTSnQ2TjZ0ckUwdHdaOWtOL1BxTnBUUWVJQ3ZyNFRMc0RZQzA2
VTdCTWpzaFMrdjEvYVQ3SXdRWUQ1TGNnUlFYTVQyCkZyQmZCTGpaNjE1MWpERWxrOXRQRmZwVWdr
MnlyZWd1c1gyNUJKYndBRkVmTStZSTZ2R0F0aTRiVHRpekIrVGpmUUNyRVJ5aEtiMlgKOEQ2QTl3
WDc1UDR0NG5lQllKZVA2cGRoZy9nUWw4TVd2eXR6ZVNUamdPUUJ5blFkaC9pWEtkeE9yR0ovUmta
R1JzYjlRbVhpaEdyNQorZzhHR2c5dVRoK0tvVlp1Tkl6VitDd1J1Y0ZCRXlyMW1Wang0aXJPeHdN
MUJoaXJCNlErMmVOUWk0ZXFSK2FGNm1FTHRvTXpDUjdWCjlSQUZlL1p2UW9nTml5WThGUFNVVEZz
THA4VGVUbU11aTVtdHc3YmNhVDBZdzJBQTR3RlJRSWxrZ3ErMURRck5oa21veFM1SnErdTYKYk1B
SUdSRUNFQU5nWEhUZ1d6d2dCT2hESDJsMG9UUTREOEQ1Tk1rdEJnTnl3QUVNam84cndBVE1aclBZ
N0pHeEJvSkNrSUJEUWlBWQowOUVHVFVpQkNXa1VwSVNmR1BSNUFBd0JmWmlHMno3QXljMXllS1R4
aWQzOXhCTndmSHI0TzBMQTQ4ZVBGVHZoWXJGMXI0dHlBb3o5Cm4yTUNxRXVCdHAvNkdEUjBvQVlm
Ry9SNndKRXhIWVpIZmh5Z3N2N2ZFV0NPajRiWW1zUDVBK3BMNE1rVGZBbk1sRDRGK3IzYm9iS3YK
VHlUQTJQL3c3UE4rQWdxMlFXOHBpcU1DcFRCd2Vub0t2WDBBSEdrR3RQMllBUHZURVdBN1FVVEF1
ZG43L054dE9HNDZ3V05tRHRwQgpFa0J6TjdyQkV2QUZIcCtZVEIvcTk3cVBBTjRnSEZxZ0JpOHVM
c0M3cVBDQTZtZzQxRy8rRXJCeVB3RVhEZG9OeFJoT3grTTVqUEV6ClF1Z1MwaHQrYjEvWTNnRW5Z
TUFJQU9JQkUyOS9oSUR1Y0U4dG1Nc05PZ0s0QjFSSEZ1NFVDUmxNSHp2MHh6Y2FqY2ZkWFdEczJo
OFQKQXJCQ2tvRFVKWURMbXo2dzdpcDNCRlMwdmU1d1RSd0FuNmtlTUE5STNRWWJmU1owREtieXQr
N09YakdJMWlkUGNmTnlBeWZBTWxDcgp6YUdxcGhZcnhIb2NMSFJKVnljbmZHVWNidFQrakl5TWpJ
dzl4N05uOGZKU3pHMFRtRnRPOHJaVCtYVDNTM3ViK3RLSmJiTGQ1ZGlUClZwNTAremFoeWVIU3Ns
Si9ZUHJVMGZ1YXpyWk8yQ1o5Mi9aQ0NWWGxHUmlaS1BKeVBQUnh5SUZXZVhMUUJYSkJLaXEvM2Rp
dkVBTjYKWndNMjAwUWptN0VKQlplV20vUFJXVkNiWUs3czd1Mmw0WGFDeitsemdPZk1maE1vblhy
N1RXemVaYjk4ZGJnSXpCVDhVYjhlWVlVcQpmWjRyVkovTURiSURnUHFUdWxKL3h2bnRXQXRqSWlz
cW53eE9rR3owbjA3N0ZBUm9ZNzlHZEE2SFBFNHJPeTE5Nk5pTVdIVFpsU1NBCnBjT2dYcHkvZkhW
MmpvYU5LdTNmZnNBblJjQmY0Sy82TmNJRzZ0SXhrM0h5b1hQakFTcWZVZ1hiWU41UHpwTDJuamtS
OVFNamVEVFYKSERUQ2dSdXhPZWdqb08wRnZLelAvdC9nbVZkSTI0K0c3TkllOEpYNld2M2REeWxk
TUErNFlCNXd3VHlndGQrZHdScWFUcXJMYjFsNwozelRTTjUyQ05wbkh1UU9ZUHNEYmx5Ymd4ZmtY
aC9vVnRyK04xREVCSmRoUkp5ZC9CZC9xMXorY2JOckQxN2lWS3lhamNudjlhcmhPCmtSUGdzcnV1
RDZEbU5Qd3BETnJMdzJDb1RnSG5pNHlBTHIwTDI5K3RpS0FFSVBuODY4ZWp4Ly84cnBXUDNPRU9s
NU9uOU93cGNRbTAKTWhhZlAvZXk4ZjF1dkROSWdHTFFHOHo0WU85OUVOZ2c5NWV0d3Y0dVlKWVk4
ZlVHSFlINmo2ZnNjSEZaTWZ0bEFsOWkrOVhMNzNYMwpOL24rWlN0T3pmVmZSdllYaHJiZEtPcEVn
VlFUZy93c0R1REQza3dPZlFOTVRKNXkrL2x0VURXTHVueXhuUkY0NklxbEJ6R01ZNFg3CmluZ2dS
RUZpb0l5TWpJeU1IV0NJQjZaTktBY1hzZW8zdkxUUVRrVkU3MzQ4ZGx3SkpTejArd0xmbWk4Qmha
cWZ3M0Q0d3cvd0hWTG4KRWQ1L2ZnWXZYc0RaM01sc3ZZVWJibkRqRFozTU4zVEpHNCtieGpBYURs
OFRCcmk5cXhFdzFjY2FvMndUTkFNTEhvMmYrc2pyWHdiLwo5cUhvWXFnUE1CWEpUVmZPcG1yWkgy
M3k2dXZvMExIU3lZNmZIR3dLZkhKbEF1TUZ2T2JqRFlySXF4QmdRaTIwaDdIZC9uWVZMbW5vCitl
YU5VbS9lZUgyR0N1b3BudG5oQkpBbEkyQUhvOUNDaDFJMVF4VWRBYnFxR1k5QkJMd3ljM1c0d1lW
aHZZOEE0Qm9JYzFsNU03dm4KUFdwaFpXOS9TZXMzbjM3eTlhMHVHcUZ3RlFac1FRYmQzODZEb2dw
Z0VrK2R6eW5zQVpNSlhxOCtuczlOZXVrSjBQWXJOQVRHR2VmSgpRbGhrTG83RFRYcit5M2JOaU9z
RHZyWFR6L0MycTFEWFpIODRpUk53clA4OE5qK3UyRGpZRUU2UkJ4RDlLbmoxNnVqVkhDNjdBNzQy
CjJvMDJSd0QzZ0IrdDdFYmxXdnU5Z2VPRnhTbmQzUk9tVCtuSnlRa2hvUGxzeFZPTmMvM1RFZEJv
cytqdEErWnpjd0hnVHZEMWNEamEKWUNjSXRBOHc5aTg4QThiK21xU2pjNlB2cWQ5OThRZ3VFUVBt
UU1lbzIzT0ROODYrcDAvYm4xYnVCa1Q2K29CaE5aL1BZWTRaQUhZYgozUFJkNExrWm1QWDY4TlJ0
TVpuNEFTdmRBK3FmMGpNQTVNUDllZWcyOE51ZzlRaUxuajVBMzNVMU1BRVM2eEhBVU5wei85ekZB
WUUxCmdxUURNVDNHNnhJOXB3ZHcvYUlnS29IQ1MxWUdsUm5TcTl5Q2pkWGpnTjNqK04yN1l5Uk9I
eG11TkFlTktQcFl1WEl5SXlNall5ME0KOGVyb3M1OU1GL1BUMmM2MDJUN2VBN3p2aEo5ZHIvdnpE
alhhTHA0WWM1KzB3bGx6eHpIdjNnZG1NTU03L0NjUXpLZ1ZCcVlUbUZuKwpaK21LbThKN2swQTVG
L2pnQ2ZqUTFXQmhReWlPcUQwbFl1cUJiK0F5ek13OUhhMkczbTZjOHFReCtBbHFuSWNlUXArU2I2
aTlVeVFXCmJocjU0K0FqblowVnpXMlRBTjBEbUJUNlBXbWM2akRCRTJQSzJ1K25GNDNkeVA3UTB0
MXBPY1gyZmRSdkgwbUYyUTRKcU4zNXJuSGoKVkllYVhmSUFWeVV1dy9hSENDaUp5OWlGNWwxNjIx
endlSThLWnJQWjlpSmRiN0RYSjNVUzBPU3J0WjEwaW10N3dIWTdRZXNBelVNegoxb1ozbm9CM3FG
Si9IMThqOTdGWXV3OFFETjRvZUtmMzBvc3ZjU1cyRXhMbytWY2J1QXVvL3NVSW04Zk1HOXhvY08z
RWExOUo5Z0ZZCml2bkhKMktueWZvdlpsZ1czdjZ5U3gzMmFiUWlJeU1qSXlQamhsRkRUTHhwd0ln
Rk1uVHA2QTNnNElES05ZK3N0a3dBTUFvSUFiYXMKeEJYcVVXbmVTQVdUTWp0NTBsVHFUMjlyRmp2
WG9oanNETm0yWVBYREZsSUNtckpPWjN0NnRIbThBaUVBbDBzQ2VMSUlvcklSdCtjRgpiZXcvUVJz
b0FYYjRvMVhTZm95d3ptMEZUTUFvWUJOdkx5RnU4djhIcExCdEQxaUtnQzE3d0hiN0FJNmQ5d0Zi
dmd1QUlHVEhkNEU5CndHN2pnSXlNakl5TSs0MzRjMlIzSGVWL0ZmeDZqdFp1NmlqbDhoNTlUNjU1
amhSK3JkSHpET1A2YmVBQkNoZWI4TzgvV0ZYZU95emcKZjVvQWhWWW5LeFA3Q3dhQWYxYWZKdThi
U3JoUzZ0ZGFYZUduclJlbk9xT2x6OWQ2UXdZbkEvM1RMZCtHRTdxZTNjaEE1WUY1RGZZMAp2SzNh
ZGZPWC9neU5wMkJXMjVNSGR4QUI5cXZSaWlQMy9YcFFRRkdZRFU0K01pLy8vWHVtWEc4cGp2YVVB
T3NCR2xmNGpKdCtZWUV6CmVFekFkdzA2RjE5UjNqdU03RDF3aXRhODZHUjBDS2ZESGdMdVhDYzRC
cmk2dk1MZGZqTWM0Vk5TVU5zZG9kbzJ4dS8xK1hsL0s1K2EKejhqSXlNaFlHL3o1Z0pUTUYxR3RL
cS9hM3JweUN2ejVnSlRNbDlHdEtxL2EzcnB5Q21mUTRXd1ptUytrWEZWZXRiMTE1U1Q0OHdFZgov
QUdjZkcxaXcrdFdicGJTMnZKM25ReGNWcjNsSDN6NWg5NzJGVVRMellwT1ZrN2w1aEQrZVljWXdE
Y0FuZXdPb3RyWjRPdHJQRHVjCnFpL0xSWDAvUlI0cXg3Tm40VThnK3FqZmZ2dU42R2YrbkM4NXZ3
YXVIamFZeXVicXZXWUtZNFZFZlNVTWl0ZG5CQ1QxVWU2M1I1NDMKOW0rT2dDbjZEcm9BQWFIUFZR
eEt0aC93a0pnSG1HOGJtUU1zVDBENkVqRGZ2aFZSS08zeXdPUVVnUkE3bm1MMXVhd1ptSGYxaytE
UApCd1E2TmRjSitrNk1kMUxBNWY1T05kaEo4dlo1SjB2TEhUOTlzcmtHT2ptSmJkL0cxcjJOcmlx
bnNlMUFadDFBYWxVNWpXMkhzdXVHCjBxdktHUmtaR1JrWkdSRzBnY09OeVhzUDl2OEQwL0lkSkFE
aUJOaVhsMzMyN1dSR2dPTC85SEMvMFh3bElVUmtSaEM0dHo2Wi9mdTcKZlVmMmdIdmZCOXozdTBC
R1JrWkdSa2JHcGxIY25rZ2d1UW9TcXRVWHVoYnMvd1B0TXdxVjBIVUpBdmo1dmszMmI4SUR1TDIz
eW43cQpBWFo1dTMyaGJSWDdkM284MkRmMUZaWHZiaDlRT2ZoeXhsZHIvKzN4Z1hVOW9LbXZzSHly
N0YvWEEyNjkvZXZlQlhyc3Y3TjlRQUxlCi90dmpBMGtQV0FYR2J2ZWJrYkhuK0QvSjVuTWNIengx
VUFBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4
MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCkluZGV4OiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25z
XzQ1NDU0NV8yNTZ4MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0
NV8yNTZ4MjQwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8y
NTZ4MjQwLnBuZwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91
aS1pY29uc180NTQ1NDVfMjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlw
ZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVBQUFBN1ZCTVZF
VkZSVVZGUlVWRlJVVkZSVVZGUlVWRgpSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJV
VkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGClJVVkZSVVZGUlVWRlJV
VkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVW
RlJVVkYKUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVW
RlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRgpSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVW
RlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVXRzJyTENBQUFBClRuUlNUbE1BR0JB
eUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJySno4YzRSQnk5
dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtqOUFBQVBoVWxF
UVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0bWkycDAzUkoxL1hl
LzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVVT3hhCmhaMmlBTmh6
QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0Yi8vY3FrdHdE
NVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5RkJsM3VJTlFuaXdF
aXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0MmJzQXY0UzJm
eGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JKL2JFeDhQCkVBTkMr
dWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZwTWNxVXM0QWxv
Q3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhnclphUitReGwyL0My
UmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3a2NRQ2lVT0pyY0ZO
dERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NIMEZMWUhsUHF3Ckhh
Q3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhFYVVSZUtYa0NCNC9N
ekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1OENON3gvK2ph
WmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQeGZKNVBuSVVVUU9V
S1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmowRkVsdEE0dmRpeWdC
CmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYzaFBRWENvUkxBd2Rn
R3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQQy9rbEVHeUNHMEF1
QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIwUzZrUkhONSs0QnpG
aThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlxN0ZIWndCNmJE
U3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRUYVFvRmdQN2JOQytS
WjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxmV0hMZzlpVW5R
Tks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pTWFhSSnlPeGVx
aG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndXSjkzQktkSXQrd0NS
QVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lBbUdIbk41aUl0
N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3WjlrTi9QcU5w
VFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpGckJmQkxqWjYx
NTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0aXpCK1RqZlFD
ckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVTVGpnT1FCeW5R
ZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5JelYrQ3dSdWNG
QkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016Q1I3Vgo5UkFGZS9a
dlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUlsa2dxKzFEUXJO
aGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0RDhENU5Na3RCZ055
d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tVcElTZkdQUjVBQXdC
ZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5QW96OQpuMk1D
cUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1QStwTDRNa1Rm
QW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9LdlgwQUhHa0d0
UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJFdkFGSHArWVRCL3E5
N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94K001alBFegpR
dWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIxUkhGdTRVQ1JsTUh6
djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZlNXdUUndBbjZrZU1B
OUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4SG9jTEhSSlZ5
Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0S0piYkxkNWRp
VApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1JpWktQSnlQUFJ4eUlG
V2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllLN3M3dTJsNFhh
Q3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZKL01EYklEZ1Bx
VHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kxOTZOaU1XSFRa
bFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNIeW9YUGpBU3Fm
VWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQL3QvZ21WZEkyNCtH
N05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pUU041MkNOcG5I
dVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2NiTnJEMTdpVkt5YWpj
bnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0aUtBRUlQbjg2
OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETklnR0xRRzh6NFlPOTlF
TmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDczWDMKTi9uK1pTdE96
ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1bnl4blJGNDZJ
cWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFUa1ZFNzM0OGRs
d0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2WVViYm5EakRa
M01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3Yi8KOXFIb1lx
Z1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZcklxeEJnUWky
MGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gxSTFReFVkQWJx
cUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2VzM24zN3k5YTB1R3FG
d0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFlyTkFUR0dlZkoKUWxo
a0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1MkRqWUVFNlJCeEQ5
S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JPbVQrbkp5UWto
b1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4OEE4YittcVNq
YzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9QWVk0WkFIWWIK
M1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlMbmo1QTMzVTFN
QUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlHbFJuU3E5eUNq
ZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlNRi9QVDJjNjAy
VDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6S2dWQnFZVG1G
bisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpNdzlIYTJHM202Yzhx
UXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQV21jNmpEQkUy
UEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJZWFYZklBVnlVdXcv
YUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFoxMGltdDd3SFk3UWVz
QXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4TG8rVmNidUF1
by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4MzJhYlFpSXlN
akl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhCWHFVV25lU0FX
VE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04QWlFQWwwc0NlTElJ
b3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4SHBMQnREMWlL
Z0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJSM0hlVi9GZng2
anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVPeXpnCmY1b0FoVllu
S3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5BLzNUTGQrR0U3cWUz
Y2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBRUUZHWURVNCtN
aS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIzanVNN0Qxd2l0YTg2
R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStYbC9LNSthCno4akl5
TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0V3dabVMra1hG
VmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVoOTcyRlVUTHpZ
cE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4N05uNFU4Zytx
amZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVlNjNSNTQzCjlt
K09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhWUktPM3l3T1FVZ1JB
N25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZaNUowdkxIVDk5c3Jr
R09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1JrWkdSa1pHUkcwZ2NP
TnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhDNHR6NlovZnU3
CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJzL3dQdE13cVYwSFVK
QXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5UU9maHl4bGRy
LyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZqQTBrUFdBWEdidmVi
a2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDogV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1p
Y29uc184ODg4ODhfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1pY29uc184ODg4ODhfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdl
cy91aS1pY29uc184ODg4ODhfMjU2eDI0MC5wbmcJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91
aS1pY29uc184ODg4ODhfMjU2eDI0MC5wbmcJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5n
ZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUR3Q0FNQUFB
RFlTVXI1QUFBQTdWQk1WRVdJaUlpSWlJaUlpSWlJaUlpSWlJaUkKaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SQppSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJCmlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUkKaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaWdoY3A3
QUFBQQpUblJTVGxNQUdCQXlCQWhRdjRPWkxpSlVjRUJtWUJvU3pRd2dQQlpDU0VvZVdpWXdVaXlG
TkllQncyckp6OGM0UkJ5OXVYeXJ0YVdOCnFhMnpLUDJmSk84S0JnS1BvMktWb2E5czM1MUdQbTUr
a1dobzBrajlBQUFQaFVsRVFWUjRuTzFkaldMYnRoRUd5VWlxNVlTU0xYdHAKN0ZwTE9tZnprbXhy
MTI2dG1pMnAwM1JKMS9YZS8zRUdnQVJ4UHlBZ1JiSWsyL2hrU3o0Q0pPNCtIc0U3QUpTVnlzakky
QU1VVU94YQpoWjJpQU5oekJ0WldyNEJvSVJTWUFWTjV1NFF3RHdRRFJiY3dmVWk1S1Mzd0Z1RG1G
blFMYTREdGIvL2Nxa3R3RDVRRUZGd2ZVczdQCm9DQ0E3eTRiRUpWRml6Y0lvYjhLbWhBcGx3d3FW
anQrOUZCbDN1SU5Rbml3RWlyeUV5dzlKSHFHcFFkRUZOaStCNFFRN1FPaUhoeXMKSVBvQXhVcXh2
ZHZ2QTlLNDJic0F2NFMyZnhmWU9lNTdJSlNSa1pHUmtaR3h4N2p4U0hESGNSQlhRTVR5SWpJbkJn
SHdCSi9iRXg4UApFQU5DK3VoYnBTU2dnQ0JBVk9EVmFicEkxUy9rNFdMWnBUbjZOcE1ob1g5WTQw
aHhZRVJGcE1jcVVzNEFsb0N0RFFkSUQxWWhueVhaCjJoTGpBWVdpTzlEeTFQREI3dFBoSXFMeCt1
TUI4Z3JaYVIrUXhsMi9DMlJrWkdSa1pHUms3QTdyQmY3SjBEUjUvTFVUanpVUElQU1AKR3ZRSmlW
SmlCN2tjUUNpVU9KcmNGTnREWklmMnhhclEzYUd2TE54QVZJRkFhYno5MEJGaUJJbHljVEJoZ1d3
T1dDSDBGTFlIbFBxdwpIYUN2Y0luMlpib3NDZXZmUFRSaUZGY2d2SHVrQ2pXd3JjM0dyR2gxZnNB
b2Y4RWFVUmVLWGtDQjQvTXpGTm85N3FMcEZpS0ZZdi9rCk5SNVlReFFiUUVvZmtaMk91RU9IcXFU
NmdGVHBydThDTjd4LytqYVprWkdSa1pHUmNWK3gvckxVTmNNTXFVQXNjZ25Gb2NtcHFrVHoKcXlt
d1ZBUHhmSjVQbklVVVFPVUtUMDR0RWRXWnl2M0pDUVNuOTZXUzRwRDk3UWZ5VzI1QTdOaFNBYnlo
bVZqMEZFbHRBNHZkaXlnQgppYlhob1VZZ3lrQ1VQN0h3UFREZUVxQUljSFZNa1pnN1p4NGswdUZB
TnM2M2hQUVhDb1JMQXdkZ0dzcjlBejdRdjdzZ1FHZ2cxYVBsCi9CSkxFeEJXZ0c0UkZSTEZJbUdt
SXF1UEMva2xFR3lDRzBBdUFYYUpKQytCOEZWZTlOWVFERWNYQjhnNkFRY2pZSjFnb0pJZ2dIV0MK
ckZSMFM2a1JITjUrNEJ6Rmk4TmFvTjM1TlJ4VXZMK0pKZFpyN1BWNHdLNmZqOG5JeU1qSXlOaHIz
T3hkWEFZcTdGSFp3QjZiRFN6UwpoNHNGMHV0Q2hxbzBOQXZhVDFoTHpYd0Zpbm1Dem1lRHVjRVFL
MThUVGFRb0ZnUDdiTkMrUlo0T1Q0VDZnUW9nREZZaysxUXhRbGoxCjlRR1NBV0tpTFlwOFAwQWcx
R2J6MVVMZldITGc5aVVuUU5LNVFRSmN1a20wNGJsS0xIMkdnRUpDWStIelhBWldDdkhLY28zQnA2
TUkKYUNqU1hYUkp5T3hlcWhuekVhRjkzTWZGR1cvTzE2WnZETDVUTTRNSklqdWp6L2NIeXBrUXV1
elJ3V0o5M0JLZEl0K3dDUkFQbDlrcAplMklra2IybUZnR2x4aC9pNDBkM0VIZmR2b3lNakl5TXU0
M3lsdC9JQW1HSG5ONWlJdDd3S2ZidjAxUkFjSnFGUmw5bGNqWVFTbmJRCnFLZ0M0ZllPd1NKdDZO
NnRyRTB0d1o5a04vUHFOcFRRZUlDdnI0VExzRFlDMDZVN0JNanNoUyt2MS9hVDdJd1FZRDVMY2dS
UVhNVDIKRnJCZkJMalo2MTUxakRFbGs5dFBGZnBVZ2syeXJlZ3VzWDI1Qkpid0FGRWZNK1lJNnZH
QXRpNGJUdGl6QitUamZRQ3JFUnloS2IyWAo4RDZBOXdYNzVQNHQ0bmVCWUplUDZwZGhnL2dRbDhN
V3Z5dHplU1RqZ09RQnluUWRoL2lYS2R4T3JHSi9Sa1pHUnNiOVFtWGloR3I1CitnOEdHZzl1VGgr
S29WWnVOSXpWK0N3UnVjRkJFeXIxbVZqeDRpck94d00xQmhpckI2USsyZU5RaTRlcVIrYUY2bUVM
dG9NekNSN1YKOVJBRmUvWnZRb2dOaXlZOEZQU1VURnNMcDhUZVRtTXVpNW10dzdiY2FUMFl3MkFB
NHdGUlFJbGtncSsxRFFyTmhrbW94UzVKcSt1NgpiTUFJR1JFQ0VBTmdYSFRnV3p3Z0JPaERIMmww
b1RRNEQ4RDVOTWt0QmdOeXdBRU1qbzhyd0FUTVpyUFk3Skd4Qm9KQ2tJQkRRaUFZCjA5RUdUVWlC
Q1drVXBJU2ZHUFI1QUF3QmZaaUcyejdBeWMxeWVLVHhpZDM5eEJOd2ZIcjRPMExBNDhlUEZUdmhZ
ckYxcjR0eUFvejkKbjJNQ3FFdUJ0cC82R0RSMG9BWWZHL1I2d0pFeEhZWkhmaHlnc3Y3ZkVXQ09q
NGJZbXNQNUErcEw0TWtUZkFuTWxENEYrcjNib2JLdgpUeVRBMlAvdzdQTitBZ3EyUVc4cGlxTUNw
VEJ3ZW5vS3ZYMEFIR2tHdFAyWUFQdlRFV0E3UVVUQXVkbjcvTnh0T0c0NndXTm1EdHBCCkVrQnpO
N3JCRXZBRkhwK1lUQi9xOTdxUEFONGdIRnFnQmk4dUxzQzdxUENBNm1nNDFHLytFckJ5UHdFWERk
b054UmhPeCtNNWpQRXoKUXVnUzBodCtiMS9ZM2dFbllNQUlBT0lCRTI5L2hJRHVjRTh0bU1zTk9n
SzRCMVJIRnU0VUNSbE1IenYweHpjYWpjZmRYV0RzMmg4VApBckJDa29EVUpZRExtejZ3N2lwM0JG
UzB2ZTV3VFJ3QW42a2VNQTlJM1FZYmZTWjBES2J5dCs3T1hqR0kxaWRQY2ZOeUF5ZkFNbENyCnph
R3FwaFlyeEhvY0xIUkpWeWNuZkdVY2J0VCtqSXlNakl3OXg3Tm44ZkpTekcwVG1GdE84clpUK1hU
M1MzdWIrdEtKYmJMZDVkaVQKVnA1MCt6YWh5ZUhTc2xKL1lQclUwZnVhenJaTzJDWjkyL1pDQ1ZY
bEdSaVpLUEp5UFBSeHlJRldlWExRQlhKQktpcS8zZGl2RUFONgpad00yMDBRam03RUpCWmVXbS9Q
UldWQ2JZSzdzN3UybDRYYUN6K2x6Z09mTWZoTW9uWHI3VFd6ZVpiOThkYmdJekJUOFViOGVZWVVx
CmZaNHJWSi9NRGJJRGdQcVR1bEoveHZudFdBdGpJaXNxbnd4T2tHejBuMDc3RkFSb1k3OUdkQTZI
UEU0ck95MTk2TmlNV0hUWmxTU0EKcGNPZ1hweS9mSFYyam9hTkt1M2Zmc0FuUmNCZjRLLzZOY0lH
NnRJeGszSHlvWFBqQVNxZlVnWGJZTjVQenBMMm5qa1I5UU1qZURUVgpIRFRDZ1J1eE9lZ2pvTzBG
dkt6UC90L2dtVmRJMjQrRzdOSWU4Slg2V3YzZER5bGRNQSs0WUI1d3dUeWd0ZCtkd1JxYVRxckxi
MWw3CjN6VFNONTJDTnBuSHVRT1lQc0RibHliZ3hma1hoL29WdHIrTjFERUJKZGhSSnlkL0JkL3Ex
eitjYk5yRDE3aVZLeWFqY252OWFyaE8Ka1JQZ3NydXVENkRtTlB3cEROckx3MkNvVGdIbmk0eUFM
cjBMMjkrdGlLQUVJUG44NjhlangvLzhycFdQM09FT2w1T245T3dwY1FtMApNaGFmUC9leThmMXV2
RE5JZ0dMUUc4ejRZTzk5RU5nZzk1ZXR3djR1WUpZWThmVUdIWUg2ajZmc2NIRlpNZnRsQWw5aSs5
WEw3M1gzCk4vbitaU3RPemZWZlJ2WVhocmJkS09wRWdWUVRnL3dzRHVERDNrd09mUU5NVEo1eSsv
bHRVRFdMdW55eG5SRjQ2SXFsQnpHTVk0WDcKaW5nZ1JFRmlvSXlNakl5TUhXQ0lCNlpOS0FjWHNl
bzN2TFRRVGtWRTczNDhkbHdKSlN6MCt3TGZtaThCaFpxZnczRDR3dy93SFZMbgpFZDUvZmdZdlhz
RFozTWxzdllVYmJuRGpEWjNNTjNUSkc0K2J4akFhRGw4VEJyaTlxeEV3MWNjYW8yd1ROQU1MSG8y
ZitzanJYd2IvCjlxSG9ZcWdQTUJYSlRWZk9wbXJaSDIzeTZ1dm8wTEhTeVk2ZkhHd0tmSEpsQXVN
RnZPYmpEWXJJcXhCZ1FpMjBoN0hkL25ZVkxtbm8KK2VhTlVtL2VlSDJHQ3VvcG50bmhCSkFsSTJB
SG85Q0NoMUkxUXhVZEFicXFHWTlCQkx3eWMzVzR3WVZodlk4QTRCb0ljMWw1TTd2bgpQV3BoWlc5
L1NlczNuMzd5OWEwdUdxRndGUVpzUVFiZDM4NkRvZ3BnRWsrZHp5bnNBWk1KWHE4K25zOU5ldWtK
MFBZck5BVEdHZWZKClFsaGtMbzdEVFhyK3kzYk5pT3NEdnJYVHovQzJxMURYWkg4NGlSTndyUDg4
TmordTJEallFRTZSQnhEOUtuajE2dWpWSEM2N0E3NDIKMm8wMlJ3RDNnQit0N0VibFd2dTlnZU9G
eFNuZDNST21UK25KeVFraG9QbHN4Vk9OYy8zVEVkQm9zK2p0QStaemN3SGdUdkQxY0RqYQpZQ2NJ
dEE4dzlpODhBOGIrbXFTamM2UHZxZDk5OFFndUVRUG1RTWVvMjNPRE44NitwMC9ibjFidUJrVDYr
b0JoTlovUFlZNFpBSFliCjNQUmQ0TGtabVBYNjhOUnRNWm40QVN2ZEErcWYwak1BNU1QOWVlZzI4
TnVnOVFpTG5qNUEzM1UxTUFFUzZ4SEFVTnB6Lzl6RkFZRTEKZ3FRRE1UM0c2eEk5cHdkdy9hSWdL
b0hDUzFZR2xSblNxOXlDamRYamdOM2orTjI3WXlST0h4bXVOQWVOS1BwWXVYSXlJeU1qWXkwTQo4
ZXJvczU5TUYvUFQyYzYwMlQ3ZUE3enZoSjlkci92ekRqWGFMcDRZYzUrMHdsbHp4ekh2M2dkbU1N
TTcvQ2NRektnVkJxWVRtRm4rClorbUttOEo3azBBNUYvamdDZmpRMVdCaFF5aU9xRDBsWXVxQmIr
QXl6TXc5SGEyRzNtNmM4cVF4K0FscW5JY2VRcCtTYjZpOVV5UVcKYmhyNTQrQWpuWjBWelcyVEFO
MERtQlQ2UFdtYzZqREJFMlBLMnUrbkY0M2R5UDdRMHQxcE9jWDJmZFJ2SDBtRjJRNEpxTjM1cm5I
agpWSWVhWGZJQVZ5VXV3L2FIQ0NpSnk5aUY1bDE2MjF6d2VJOEtaclBaOWlKZGI3RFhKM1VTME9T
cnRaMTBpbXQ3d0hZN1Flc0F6VU16CjFvWjNub0IzcUZKL0gxOGo5N0ZZdXc4UURONG9lS2YzMG9z
dmNTVzJFeExvK1ZjYnVBdW8vc1VJbThmTUc5eG9jTzNFYTE5SjlnRlkKaXZuSEoyS255Zm92Wmxn
VzN2NnlTeDMyYWJRaUl5TWpJeVBqaGxGRFRMeHB3SWdGTW5UcDZBM2c0SURLTlkrc3Rrd0FNQW9J
QWJhcwp4QlhxVVduZVNBV1RNanQ1MGxUcVQyOXJGanZYb2hqc0RObTJZUFhERmxJQ21ySk9aM3Q2
dEhtOEFpRUFsMHNDZUxJSW9ySVJ0K2NGCmJldy9RUnNvQVhiNG8xWFNmb3l3em0wRlRNQW9ZQk52
THlGdTh2OEhwTEJ0RDFpS2dDMTd3SGI3QUk2ZDl3RmJ2Z3VBSUdUSGQ0RTkKd0c3amdJeU1qSXlN
KzQzNGMyUjNIZVYvRmZ4Nmp0WnU2aWpsOGg1OVQ2NTVqaFIrcmRIekRPUDZiZUFCQ2hlYjhPOC9X
RlhlT3l6ZwpmNW9BaFZZbkt4UDdDd2FBZjFhZkp1OGJTcmhTNnRkYVhlR25yUmVuT3FPbHo5ZDZR
d1luQS8zVExkK0dFN3FlM2NoQTVZRjVEZlkwCnZLM2FkZk9YL2d5TnAyQlcyNU1IZHhBQjlxdlJp
aVAzL1hwUVFGR1lEVTQrTWkvLy9YdW1YRzhwanZhVUFPc0JHbGY0akp0K1lZRXoKZUV6QWR3MDZG
MTlSM2p1TTdEMXdpdGE4NkdSMENLZkRIZ0x1WENjNEJyaTZ2TUxkZmpNYzRWTlNVTnNkb2RvMnh1
LzErWGwvSzUrYQp6OGpJeU1oWUcvejVnSlRNRjFHdEtxL2EzcnB5Q3Z6NWdKVE1sOUd0S3EvYTNy
cHlDbWZRNFd3Wm1TK2tYRlZldGIxMTVTVDQ4d0VmCi9BR2NmRzFpdyt0V2JwYlMydkozblF4Y1Zy
M2xIM3o1aDk3MkZVVEx6WXBPVms3bDVoRCtlWWNZd0RjQW5ld09vdHJaNE90clBEdWMKcWkvTFJY
MC9SUjRxeDdObjRVOGcrcWpmZnZ1TjZHZituQzg1dndhdUhqYVl5dWJxdldZS1k0VkVmU1VNaXRk
bkJDVDFVZTYzUjU0Mwo5bStPZ0NuNkRyb0FBYUhQVlF4S3RoL3drSmdIbUc4Ym1RTXNUMEQ2RWpE
ZnZoVlJLTzN5d09RVWdSQTdubUwxdWF3Wm1IZjFrK0RQCkJ3UTZOZGNKK2s2TWQxTEE1ZjVPTmRo
Sjh2WjVKMHZMSFQ5OXNya0dPam1KYmQvRzFyMk5yaXFuc2UxQVp0MUFhbFU1alcySHN1dUcKMHF2
S0dSa1pHUmtaR1JHMGdjT055WHNQOXY4RDAvSWRKQURpQk5pWGwzMzI3V1JHZ09MLzlIQy8wWHds
SVVSa1JoQzR0ejZaL2Z1NwpmVWYyZ0h2ZkI5ejN1MEJHUmtaR1JrYkdwbEhjbmtnZ3VRb1NxdFVY
dWhicy93UHRNd3FWMEhVSkF2ajV2azMyYjhJRHVMMjN5bjdxCkFYWjV1MzJoYlJYN2QzbzgyRGYx
RlpYdmJoOVFPZmh5eGxkci8rM3hnWFU5b0ttdnNIeXI3Ri9YQTI2OS9ldmVCWHJzdjdOOVFBTGUK
L3R2akEwa1BXQVhHYnZlYmtiSG4rRC9KNW5NY0h6eDFVQUFBQUFCSlJVNUVya0pnZ2c9PQoKSW5k
ZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBp
bWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nCShub25leGlzdGVu
dCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nCSh3b3JraW5nIGNvcHkp
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zX2NkMGEwYV8yNTZ4MjQwLnBu
ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3Bu
ZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBUUFBQUFEd0NBTUFBQURZU1VyNUFBQUE3VkJNVkVYTkNnck5DZ3JOQ2dyTkNnck5DZ3JOCkNn
ck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck4KQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTgpDZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JO
CkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JO
Q2dyTkNnck5DZ3JxTjVqOEFBQUEKVG5SU1RsTUFHQkF5QkFoUXY0T1pMaUpVY0VCbVlCb1N6UXdn
UEJaQ1NFb2VXaVl3VWl5Rk5JZUJ3MnJKejhjNFJCeTl1WHlydGFXTgpxYTJ6S1AyZkpPOEtCZ0tQ
bzJLVm9hOXMzNTFHUG01K2tXaG8wa2o5QUFBUGhVbEVRVlI0bk8xZGpXTGJ0aEVHeVVpcTVZU1NM
WHRwCjdGcExPbWZ6a214cjEyNnRtaTJwMDNSSjEvWGUvM0VHZ0FSeFB5QWdSYklrMi9oa1N6NENK
TzQrSHNFN0FKU1Z5c2pJMkFNVVVPeGEKaFoyaUFOaHpCdFpXcjRCb0lSU1lBVk41dTRRd0R3UURS
YmN3ZlVpNUtTM3dGdURtRm5RTGE0RHRiLy9jcWt0d0Q1UUVGRndmVXM3UApvQ0NBN3k0YkVKVkZp
emNJb2I4S21oQXBsd3dxVmp0KzlGQmwzdUlOUW5pd0VpcnlFeXc5SkhxR3BRZEVGTmkrQjRRUTdR
T2lIaHlzCklQb0F4VXF4dmR2dkE5SzQyYnNBdjRTMmZ4ZllPZTU3SUpTUmtaR1JrWkd4eDdqeFNI
REhjUkJYUU1UeUlqSW5CZ0h3QkovYkV4OFAKRUFOQyt1aGJwU1NnZ0NCQVZPRFZhYnBJMVMvazRX
TFpwVG42TnBNaG9YOVk0MGh4WUVSRnBNY3FVczRBbG9DdERRZElEMVlobnlYWgoyaExqQVlXaU85
RHkxUERCN3RQaElxTHgrdU1COGdyWmFSK1F4bDIvQzJSa1pHUmtaR1JrN0E3ckJmN0owRFI1L0xV
VGp6VVBJUFNQCkd2UUppVkppQjdrY1FDaVVPSnJjRk50RFpJZjJ4YXJRM2FHdkxOeEFWSUZBYWJ6
OTBCRmlCSWx5Y1RCaGdXd09XQ0gwRkxZSGxQcXcKSGFDdmNJbjJaYm9zQ2V2ZlBUUmlGRmNndkh1
a0NqV3dyYzNHckdoMWZzQW9mOEVhVVJlS1hrQ0I0L016Rk5vOTdxTHBGaUtGWXYvawpOUjVZUXhR
YlFFb2ZrWjJPdUVPSHFxVDZnRlRwcnU4Q043eC8ramFaa1pHUmtaR1JjVit4L3JMVU5jTU1xVUFz
Y2duRm9jbXBxa1R6CnF5bXdWQVB4Zko1UG5JVVVRT1VLVDA0dEVkV1p5djNKQ1FTbjk2V1M0cEQ5
N1FmeVcyNUE3TmhTQWJ5aG1WajBGRWx0QTR2ZGl5Z0IKaWJYaG9VWWd5a0NVUDdId1BURGVFcUFJ
Y0hWTWtaZzdaeDRrMHVGQU5zNjNoUFFYQ29STEF3ZGdHc3I5QXo3UXY3c2dRR2dnMWFQbAovQkpM
RXhCV2dHNFJGUkxGSW1HbUlxdVBDL2tsRUd5Q0cwQXVBWGFKSkMrQjhGVmU5TllRREVjWEI4ZzZB
UWNqWUoxZ29KSWdnSFdDCnJGUjBTNmtSSE41KzRCekZpOE5hb04zNU5SeFV2TCtKSmRacjdQVjR3
SzZmajhuSXlNakl5TmhyM094ZFhBWXE3Rkhad0I2YkRTelMKaDRzRjB1dENocW8wTkF2YVQxaEx6
WHdGaW5tQ3ptZUR1Y0VRSzE4VFRhUW9GZ1A3Yk5DK1JaNE9UNFQ2Z1FvZ0RGWWsrMVF4UWxqMQo5
UUdTQVdLaUxZcDhQMEFnMUdiejFVTGZXSExnOWlVblFOSzVRUUpjdWttMDRibEtMSDJHZ0VKQ1kr
SHpYQVpXQ3ZIS2NvM0JwNk1JCmFDalNYWFJKeU94ZXFobnpFYUY5M01mRkdXL08xNlp2REw1VE00
TUpJanVqei9jSHlwa1F1dXpSd1dKOTNCS2RJdCt3Q1JBUGw5a3AKZTJJa2tiMm1GZ0dseGgvaTQw
ZDNFSGZkdm95TWpJeU11NDN5bHQvSUFtR0huTjVpSXQ3d0tmYnYwMVJBY0pxRlJsOWxjallRU25i
UQpxS2dDNGZZT3dTSnQ2TjZ0ckUwdHdaOWtOL1BxTnBUUWVJQ3ZyNFRMc0RZQzA2VTdCTWpzaFMr
djEvYVQ3SXdRWUQ1TGNnUlFYTVQyCkZyQmZCTGpaNjE1MWpERWxrOXRQRmZwVWdrMnlyZWd1c1gy
NUJKYndBRkVmTStZSTZ2R0F0aTRiVHRpekIrVGpmUUNyRVJ5aEtiMlgKOEQ2QTl3WDc1UDR0NG5l
QllKZVA2cGRoZy9nUWw4TVd2eXR6ZVNUamdPUUJ5blFkaC9pWEtkeE9yR0ovUmtaR1JzYjlRbVhp
aEdyNQorZzhHR2c5dVRoK0tvVlp1Tkl6VitDd1J1Y0ZCRXlyMW1Wang0aXJPeHdNMUJoaXJCNlEr
MmVOUWk0ZXFSK2FGNm1FTHRvTXpDUjdWCjlSQUZlL1p2UW9nTml5WThGUFNVVEZzTHA4VGVUbU11
aTVtdHc3YmNhVDBZdzJBQTR3RlJRSWxrZ3ErMURRck5oa21veFM1SnErdTYKYk1BSUdSRUNFQU5n
WEhUZ1d6d2dCT2hESDJsMG9UUTREOEQ1Tk1rdEJnTnl3QUVNam84cndBVE1aclBZN0pHeEJvSkNr
SUJEUWlBWQowOUVHVFVpQkNXa1VwSVNmR1BSNUFBd0JmWmlHMno3QXljMXllS1R4aWQzOXhCTndm
SHI0TzBMQTQ4ZVBGVHZoWXJGMXI0dHlBb3o5Cm4yTUNxRXVCdHAvNkdEUjBvQVlmRy9SNndKRXhI
WVpIZmh5Z3N2N2ZFV0NPajRiWW1zUDVBK3BMNE1rVGZBbk1sRDRGK3IzYm9iS3YKVHlUQTJQL3c3
UE4rQWdxMlFXOHBpcU1DcFRCd2Vub0t2WDBBSEdrR3RQMllBUHZURVdBN1FVVEF1ZG43L054dE9H
NDZ3V05tRHRwQgpFa0J6TjdyQkV2QUZIcCtZVEIvcTk3cVBBTjRnSEZxZ0JpOHVMc0M3cVBDQTZt
ZzQxRy8rRXJCeVB3RVhEZG9OeFJoT3grTTVqUEV6ClF1Z1MwaHQrYjEvWTNnRW5ZTUFJQU9JQkUy
OS9oSUR1Y0U4dG1Nc05PZ0s0QjFSSEZ1NFVDUmxNSHp2MHh6Y2FqY2ZkWFdEczJoOFQKQXJCQ2tv
RFVKWURMbXo2dzdpcDNCRlMwdmU1d1RSd0FuNmtlTUE5STNRWWJmU1owREtieXQrN09YakdJMWlk
UGNmTnlBeWZBTWxDcgp6YUdxcGhZcnhIb2NMSFJKVnljbmZHVWNidFQrakl5TWpJdzl4N05uOGZK
U3pHMFRtRnRPOHJaVCtYVDNTM3ViK3RLSmJiTGQ1ZGlUClZwNTAremFoeWVIU3NsSi9ZUHJVMGZ1
YXpyWk8yQ1o5Mi9aQ0NWWGxHUmlaS1BKeVBQUnh5SUZXZVhMUUJYSkJLaXEvM2RpdkVBTjYKWndN
MjAwUWptN0VKQlplV20vUFJXVkNiWUs3czd1Mmw0WGFDeitsemdPZk1maE1vblhyN1RXemVaYjk4
ZGJnSXpCVDhVYjhlWVlVcQpmWjRyVkovTURiSURnUHFUdWxKL3h2bnRXQXRqSWlzcW53eE9rR3ow
bjA3N0ZBUm9ZNzlHZEE2SFBFNHJPeTE5Nk5pTVdIVFpsU1NBCnBjT2dYcHkvZkhWMmpvYU5LdTNm
ZnNBblJjQmY0Sy82TmNJRzZ0SXhrM0h5b1hQakFTcWZVZ1hiWU41UHpwTDJuamtSOVFNamVEVFYK
SERUQ2dSdXhPZWdqb08wRnZLelAvdC9nbVZkSTI0K0c3TkllOEpYNld2M2REeWxkTUErNFlCNXd3
VHlndGQrZHdScWFUcXJMYjFsNwozelRTTjUyQ05wbkh1UU9ZUHNEYmx5Ymd4ZmtYaC9vVnRyK04x
REVCSmRoUkp5ZC9CZC9xMXorY2JOckQxN2lWS3lhamNudjlhcmhPCmtSUGdzcnV1RDZEbU5Qd3BE
TnJMdzJDb1RnSG5pNHlBTHIwTDI5K3RpS0FFSVBuODY4ZWp4Ly84cnBXUDNPRU9sNU9uOU93cGNR
bTAKTWhhZlAvZXk4ZjF1dkROSWdHTFFHOHo0WU85OUVOZ2c5NWV0d3Y0dVlKWVk4ZlVHSFlINmo2
ZnNjSEZaTWZ0bEFsOWkrOVhMNzNYMwpOL24rWlN0T3pmVmZSdllYaHJiZEtPcEVnVlFUZy93c0R1
REQza3dPZlFOTVRKNXkrL2x0VURXTHVueXhuUkY0NklxbEJ6R01ZNFg3CmluZ2dSRUZpb0l5TWpJ
eU1IV0NJQjZaTktBY1hzZW8zdkxUUVRrVkU3MzQ4ZGx3SkpTejArd0xmbWk4QmhacWZ3M0Q0d3cv
d0hWTG4KRWQ1L2ZnWXZYc0RaM01sc3ZZVWJibkRqRFozTU4zVEpHNCtieGpBYURsOFRCcmk5cXhF
dzFjY2FvMndUTkFNTEhvMmYrc2pyWHdiLwo5cUhvWXFnUE1CWEpUVmZPcG1yWkgyM3k2dXZvMExI
U3lZNmZIR3dLZkhKbEF1TUZ2T2JqRFlySXF4QmdRaTIwaDdIZC9uWVZMbW5vCitlYU5VbS9lZUgy
R0N1b3BudG5oQkpBbEkyQUhvOUNDaDFJMVF4VWRBYnFxR1k5QkJMd3ljM1c0d1lWaHZZOEE0Qm9J
YzFsNU03dm4KUFdwaFpXOS9TZXMzbjM3eTlhMHVHcUZ3RlFac1FRYmQzODZEb2dwZ0VrK2R6eW5z
QVpNSlhxOCtuczlOZXVrSjBQWXJOQVRHR2VmSgpRbGhrTG83RFRYcit5M2JOaU9zRHZyWFR6L0My
cTFEWFpIODRpUk53clA4OE5qK3UyRGpZRUU2UkJ4RDlLbmoxNnVqVkhDNjdBNzQyCjJvMDJSd0Qz
Z0IrdDdFYmxXdnU5Z2VPRnhTbmQzUk9tVCtuSnlRa2hvUGxzeFZPTmMvM1RFZEJvcytqdEErWnpj
d0hnVHZEMWNEamEKWUNjSXRBOHc5aTg4QThiK21xU2pjNlB2cWQ5OThRZ3VFUVBtUU1lbzIzT0RO
ODYrcDAvYm4xYnVCa1Q2K29CaE5aL1BZWTRaQUhZYgozUFJkNExrWm1QWDY4TlJ0TVpuNEFTdmRB
K3FmMGpNQTVNUDllZWcyOE51ZzlRaUxuajVBMzNVMU1BRVM2eEhBVU5wei85ekZBWUUxCmdxUURN
VDNHNnhJOXB3ZHcvYUlnS29IQ1MxWUdsUm5TcTl5Q2pkWGpnTjNqK04yN1l5Uk9IeG11TkFlTktQ
cFl1WEl5SXlNall5ME0KOGVyb3M1OU1GL1BUMmM2MDJUN2VBN3p2aEo5ZHIvdnpEalhhTHA0WWM1
KzB3bGx6eHpIdjNnZG1NTU03L0NjUXpLZ1ZCcVlUbUZuKwpaK21LbThKN2swQTVGL2pnQ2ZqUTFX
QmhReWlPcUQwbFl1cUJiK0F5ek13OUhhMkczbTZjOHFReCtBbHFuSWNlUXArU2I2aTlVeVFXCmJo
cjU0K0FqblowVnpXMlRBTjBEbUJUNlBXbWM2akRCRTJQSzJ1K25GNDNkeVA3UTB0MXBPY1gyZmRS
dkgwbUYyUTRKcU4zNXJuSGoKVkllYVhmSUFWeVV1dy9hSENDaUp5OWlGNWwxNjIxendlSThLWnJQ
WjlpSmRiN0RYSjNVUzBPU3J0WjEwaW10N3dIWTdRZXNBelVNegoxb1ozbm9CM3FGSi9IMThqOTdG
WXV3OFFETjRvZUtmMzBvc3ZjU1cyRXhMbytWY2J1QXVvL3NVSW04Zk1HOXhvY08zRWExOUo5Z0ZZ
Cml2bkhKMktueWZvdlpsZ1czdjZ5U3gzMmFiUWlJeU1qSXlQamhsRkRUTHhwd0lnRk1uVHA2QTNn
NElES05ZK3N0a3dBTUFvSUFiYXMKeEJYcVVXbmVTQVdUTWp0NTBsVHFUMjlyRmp2WG9oanNETm0y
WVBYREZsSUNtckpPWjN0NnRIbThBaUVBbDBzQ2VMSUlvcklSdCtjRgpiZXcvUVJzb0FYYjRvMVhT
Zm95d3ptMEZUTUFvWUJOdkx5RnU4djhIcExCdEQxaUtnQzE3d0hiN0FJNmQ5d0Zidmd1QUlHVEhk
NEU5CndHN2pnSXlNakl5TSs0MzRjMlIzSGVWL0ZmeDZqdFp1NmlqbDhoNTlUNjU1amhSK3JkSHpE
T1A2YmVBQkNoZWI4TzgvV0ZYZU95emcKZjVvQWhWWW5LeFA3Q3dhQWYxYWZKdThiU3JoUzZ0ZGFY
ZUduclJlbk9xT2x6OWQ2UXdZbkEvM1RMZCtHRTdxZTNjaEE1WUY1RGZZMAp2SzNhZGZPWC9neU5w
MkJXMjVNSGR4QUI5cXZSaWlQMy9YcFFRRkdZRFU0K01pLy8vWHVtWEc4cGp2YVVBT3NCR2xmNGpK
dCtZWUV6CmVFekFkdzA2RjE5UjNqdU03RDF3aXRhODZHUjBDS2ZESGdMdVhDYzRCcmk2dk1MZGZq
TWM0Vk5TVU5zZG9kbzJ4dS8xK1hsL0s1K2EKejhqSXlNaFlHL3o1Z0pUTUYxR3RLcS9hM3JweUN2
ejVnSlRNbDlHdEtxL2EzcnB5Q21mUTRXd1ptUytrWEZWZXRiMTE1U1Q0OHdFZgovQUdjZkcxaXcr
dFdicGJTMnZKM25ReGNWcjNsSDN6NWg5NzJGVVRMellwT1ZrN2w1aEQrZVljWXdEY0FuZXdPb3Ry
WjRPdHJQRHVjCnFpL0xSWDAvUlI0cXg3Tm40VThnK3FqZmZ2dU42R2YrbkM4NXZ3YXVIamFZeXVi
cXZXWUtZNFZFZlNVTWl0ZG5CQ1QxVWU2M1I1NDMKOW0rT2dDbjZEcm9BQWFIUFZReEt0aC93a0pn
SG1HOGJtUU1zVDBENkVqRGZ2aFZSS08zeXdPUVVnUkE3bm1MMXVhd1ptSGYxaytEUApCd1E2TmRj
SitrNk1kMUxBNWY1T05kaEo4dlo1SjB2TEhUOTlzcmtHT2ptSmJkL0cxcjJOcmlxbnNlMUFadDFB
YWxVNWpXMkhzdXVHCjBxdktHUmtaR1JrWkdSRzBnY09OeVhzUDl2OEQwL0lkSkFEaUJOaVhsMzMy
N1dSR2dPTC85SEMvMFh3bElVUmtSaEM0dHo2Wi9mdTcKZlVmMmdIdmZCOXozdTBCR1JrWkdSa2JH
cGxIY25rZ2d1UW9TcXRVWHVoYnMvd1B0TXdxVjBIVUpBdmo1dmszMmI4SUR1TDIzeW43cQpBWFo1
dTMyaGJSWDdkM284MkRmMUZaWHZiaDlRT2ZoeXhsZHIvKzN4Z1hVOW9LbXZzSHlyN0YvWEEyNjkv
ZXZlQlhyc3Y3TjlRQUxlCi90dmpBMGtQV0FYR2J2ZWJrYkhuK0QvSjVuTWNIengxVUFBQUFBQkpS
VTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341343</attachid>
            <date>2018-05-25 16:04:52 -0700</date>
            <delta_ts>2018-06-13 14:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185949-20180525160451.patch</filename>
            <type>text/plain</type>
            <size>540189</size>
            <attacher name="Roy Reapor">rreapor</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzIxNjYpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDE4
LTA1LTI1ICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5jb20+CisKKyAgICAgICAgalF1ZXJ5
IFVJIGltYWdlIGFzc2V0cyBhcmUgbWlzc2luZyBvbiB3ZWJraXQub3JnIHdlYnNpdGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU5NDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4
MTAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZzogQWRkZWQuCisg
ICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWkt
YmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZm
XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZzogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMv
dWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVm
MWVjXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfNzVfY2NjY2NjXzF4MTAw
LnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18y
ZTgzZmZfMjU2eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZzogQWRk
ZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFn
ZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2
eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvanF1ZXJ5LXVpLm1pbi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uY3NzOiBB
ZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2px
dWVyeS51aS5hbGwubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3M6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmJhc2UubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1pbi5jc3M6IEFkZGVkLgorICAgICAg
ICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUu
bWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWlu
LmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9qcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucmVzaXphYmxlLm1p
bi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuc2xpZGVyLm1pbi5j
c3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLnRhYnMubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzczogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmJsaW5kLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmNvcmUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmZhZGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZvbGQubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmhpZ2hsaWdodC5taW4u
anM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LmVmZmVjdHMucHVsc2F0ZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2NhbGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1p
bi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkuZWZmZWN0cy5zbGlkZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMudHJhbnNmZXIubWluLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24u
bWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS51aS5hdXRvY29tcGxldGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5idXR0b24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qczog
QWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
ZGF0ZXBpY2tlci5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxvZy5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanM6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3Bw
YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkucG9zaXRpb24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5t
aW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlkZXIubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51
aS5zb3J0YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQubWluLmpzOiBBZGRlZC4KKwog
MjAxOC0wNS0yMyAgUm95IFJlYXBvciAgPHJyZWFwb3JAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBTb3VyY2UgU2FucyBQcm8gZnJvbSBXZWJLaXQgd2Vic2l0ZQpJbmRleDogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS11
aS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnktdWkubWluLmNzcwkobm9uZXhpc3RlbnQp
CisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvanF1ZXJ5LXVpLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAor
LyoKKyAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAy
MDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGlj
ZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDov
L2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGhl
bWluZy9BUEkKKyAqLworLnVpLWhlbHBlci1oaWRkZW57ZGlzcGxheTpub25lO30udWktaGVscGVy
LWhpZGRlbi1hY2Nlc3NpYmxle3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtjbGlwOnJlY3Qo
MXB4IDFweCAxcHggMXB4KTtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTt9LnVpLWhlbHBlci1y
ZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEu
Mzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTAwJTtsaXN0LXN0eWxlOm5vbmU7fS51
aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6
MDtjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO30udWktaGVscGVyLWNsZWFyZml4e2Rpc3Bs
YXk6aW5saW5lLWJsb2NrO30vKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3Jr
IGluIE9wZXJhIFwqLyAqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeHtoZWlnaHQ6MSU7fS51aS1o
ZWxwZXItY2xlYXJmaXh7ZGlzcGxheTpibG9jazt9LyogZW5kIGNsZWFyZml4ICovIC51aS1oZWxw
ZXItemZpeHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNv
bHV0ZTtvcGFjaXR5OjA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7fS51aS1zdGF0ZS1kaXNhYmxl
ZHtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnQ7fS51aS1pY29ue2Rpc3BsYXk6YmxvY2s7dGV4dC1p
bmRlbnQ6LTk5OTk5cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVh
dDt9LnVpLXdpZGdldC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0
aDoxMDAlO2hlaWdodDoxMDAlO30udWktYWNjb3JkaW9ue3dpZHRoOjEwMCU7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1oZWFkZXJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7
bWFyZ2luLXRvcDoxcHg7em9vbToxO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tbGktZml4
e2Rpc3BsYXk6aW5saW5lO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2
ZXtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50O30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24t
aGVhZGVyIGF7ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO3BhZGRpbmc6LjVlbSAuNWVtIC41
ZW0gLjdlbTt9LnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhe3BhZGRp
bmctbGVmdDoyLjJlbTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAudWktaWNv
bntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi41ZW07dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51
aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRl
ci10b3A6MDttYXJnaW4tdG9wOi0ycHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDttYXJnaW4t
Ym90dG9tOjJweDtvdmVyZmxvdzphdXRvO2Rpc3BsYXk6bm9uZTt6b29tOjE7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZXtkaXNwbGF5OmJsb2NrO30udWktYXV0b2Nv
bXBsZXRle3Bvc2l0aW9uOmFic29sdXRlO2N1cnNvcjpkZWZhdWx0O30qIGh0bWwgLnVpLWF1dG9j
b21wbGV0ZXt3aWR0aDoxcHg7fS51aS1tZW51e2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjJweDtt
YXJnaW46MDtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7fS51aS1tZW51IC51aS1tZW51e21hcmdp
bi10b3A6LTNweDt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbXttYXJnaW46MDtwYWRkaW5nOjA7em9v
bToxO2Zsb2F0OmxlZnQ7Y2xlYXI6bGVmdDt3aWR0aDoxMDAlO30udWktbWVudSAudWktbWVudS1p
dGVtIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi4yZW0gLjRl
bTtsaW5lLWhlaWdodDoxLjU7em9vbToxO30udWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3Rh
dGUtaG92ZXIsLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWFjdGl2ZXtmb250LXdl
aWdodDpub3JtYWw7bWFyZ2luOi0xcHg7fS51aS1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7
cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO21hcmdpbi1yaWdodDouMWVtO3RleHQtZGVjb3Jh
dGlvbjpub25lIWltcG9ydGFudDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjt6b29t
OjE7b3ZlcmZsb3c6dmlzaWJsZTt9LnVpLWJ1dHRvbi1pY29uLW9ubHl7d2lkdGg6Mi4yZW07fWJ1
dHRvbi51aS1idXR0b24taWNvbi1vbmx5e3dpZHRoOjIuNGVtO30udWktYnV0dG9uLWljb25zLW9u
bHl7d2lkdGg6My40ZW07fWJ1dHRvbi51aS1idXR0b24taWNvbnMtb25seXt3aWR0aDozLjdlbTt9
LnVpLWJ1dHRvbiAudWktYnV0dG9uLXRleHR7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjQ7
fS51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtO30u
dWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi1pY29ucy1vbmx5
IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW07dGV4dC1pbmRlbnQ6LTk5OTk5OTlweDt9LnVp
LWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtIC40ZW0gMi4xZW07fS51aS1i
dXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMi4xZW0gLjRlbSAxZW07fS51aS1i
dXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZy1sZWZ0OjIuMWVtO3BhZGRp
bmctcmlnaHQ6Mi4xZW07fWlucHV0LnVpLWJ1dHRvbntwYWRkaW5nOi40ZW0gMWVtO30udWktYnV0
dG9uLWljb24tb25seSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1p
Y29uLC51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwudWktYnV0dG9uLXRl
eHQtaWNvbnMgLnVpLWljb24sLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29ue3Bvc2l0aW9u
OmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4O30udWktYnV0dG9uLWljb24tb25seSAu
dWktaWNvbntsZWZ0OjUwJTttYXJnaW4tbGVmdDotOHB4O30udWktYnV0dG9uLXRleHQtaWNvbi1w
cmltYXJ5IC51aS1idXR0b24taWNvbi1wcmltYXJ5LC51aS1idXR0b24tdGV4dC1pY29ucyAudWkt
YnV0dG9uLWljb24tcHJpbWFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29u
LXByaW1hcnl7bGVmdDouNWVtO30udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1
dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29u
LXNlY29uZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFy
eXtyaWdodDouNWVtO30udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29u
ZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeXtyaWdo
dDouNWVtO30udWktYnV0dG9uc2V0e21hcmdpbi1yaWdodDo3cHg7fS51aS1idXR0b25zZXQgLnVp
LWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotLjNlbTt9YnV0dG9uLnVpLWJ1dHRv
bjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjA7fS51aS1kYXRlcGlja2Vye3dp
ZHRoOjE3ZW07cGFkZGluZzouMmVtIC4yZW0gMDtkaXNwbGF5Om5vbmU7fS51aS1kYXRlcGlja2Vy
IC51aS1kYXRlcGlja2VyLWhlYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi4yZW0gMDt9
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwudWktZGF0ZXBpY2tlciAudWktZGF0
ZXBpY2tlci1uZXh0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7d2lkdGg6MS44ZW07aGVpZ2h0
OjEuOGVtO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLC51aS1kYXRl
cGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7dG9wOjFweDt9LnVpLWRhdGVwaWNrZXIg
LnVpLWRhdGVwaWNrZXItcHJldntsZWZ0OjJweDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNr
ZXItbmV4dHtyaWdodDoycHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92
ZXJ7bGVmdDoxcHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7cmln
aHQ6MXB4O30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sLnVpLWRhdGVw
aWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJz
b2x1dGU7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThweDt0b3A6NTAlO21hcmdpbi10b3A6LThweDt9
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGV7bWFyZ2luOjAgMi4zZW07bGluZS1o
ZWlnaHQ6MS44ZW07dGV4dC1hbGlnbjpjZW50ZXI7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXRpdGxlIHNlbGVjdHtmb250LXNpemU6MWVtO21hcmdpbjoxcHggMDt9LnVpLWRhdGVwaWNr
ZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhcnt3aWR0aDoxMDAlO30udWktZGF0ZXBp
Y2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwudWktZGF0ZXBpY2tlciBzZWxlY3QudWkt
ZGF0ZXBpY2tlci15ZWFye3dpZHRoOjQ5JTt9LnVpLWRhdGVwaWNrZXIgdGFibGV7d2lkdGg6MTAw
JTtmb250LXNpemU6LjllbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luOjAgMCAuNGVt
O30udWktZGF0ZXBpY2tlciB0aHtwYWRkaW5nOi43ZW0gLjNlbTt0ZXh0LWFsaWduOmNlbnRlcjtm
b250LXdlaWdodDpib2xkO2JvcmRlcjowO30udWktZGF0ZXBpY2tlciB0ZHtib3JkZXI6MDtwYWRk
aW5nOjFweDt9LnVpLWRhdGVwaWNrZXIgdGQgc3BhbiwudWktZGF0ZXBpY2tlciB0ZCBhe2Rpc3Bs
YXk6YmxvY2s7cGFkZGluZzouMmVtO3RleHQtYWxpZ246cmlnaHQ7dGV4dC1kZWNvcmF0aW9uOm5v
bmU7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7YmFja2dyb3VuZC1p
bWFnZTpub25lO21hcmdpbjouN2VtIDAgMCAwO3BhZGRpbmc6MCAuMmVtO2JvcmRlci1sZWZ0OjA7
Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbTowO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBp
Y2tlci1idXR0b25wYW5lIGJ1dHRvbntmbG9hdDpyaWdodDttYXJnaW46LjVlbSAuMmVtIC40ZW07
Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzouMmVtIC42ZW0gLjNlbSAuNmVtO3dpZHRoOmF1dG87b3Zl
cmZsb3c6dmlzaWJsZTt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBi
dXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50e2Zsb2F0OmxlZnQ7fS51aS1kYXRlcGlja2VyLnVp
LWRhdGVwaWNrZXItbXVsdGl7d2lkdGg6YXV0bzt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRh
dGVwaWNrZXItZ3JvdXB7ZmxvYXQ6bGVmdDt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVw
aWNrZXItZ3JvdXAgdGFibGV7d2lkdGg6OTUlO21hcmdpbjowIGF1dG8gLjRlbTt9LnVpLWRhdGVw
aWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDo1MCU7fS51aS1kYXRlcGlj
a2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6MzMuMyU7fS51aS1kYXRlcGlj
a2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6MjUlO30udWktZGF0ZXBpY2tl
ci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlcnti
b3JkZXItbGVmdC13aWR0aDowO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1n
cm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1sZWZ0LXdpZHRoOjA7fS51
aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7Y2xlYXI6bGVmdDt9
LnVpLWRhdGVwaWNrZXItcm93LWJyZWFre2NsZWFyOmJvdGg7d2lkdGg6MTAwJTtmb250LXNpemU6
MDt9LnVpLWRhdGVwaWNrZXItcnRse2RpcmVjdGlvbjpydGw7fS51aS1kYXRlcGlja2VyLXJ0bCAu
dWktZGF0ZXBpY2tlci1wcmV2e3JpZ2h0OjJweDtsZWZ0OmF1dG87fS51aS1kYXRlcGlja2VyLXJ0
bCAudWktZGF0ZXBpY2tlci1uZXh0e2xlZnQ6MnB4O3JpZ2h0OmF1dG87fS51aS1kYXRlcGlja2Vy
LXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVye3JpZ2h0OjFweDtsZWZ0OmF1dG87fS51aS1k
YXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVye2xlZnQ6MXB4O3JpZ2h0OmF1
dG87fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5le2NsZWFyOnJp
Z2h0O30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257
ZmxvYXQ6bGVmdDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUg
YnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudHtmbG9hdDpyaWdodDt9LnVpLWRhdGVwaWNrZXIt
cnRsIC51aS1kYXRlcGlja2VyLWdyb3Vwe2Zsb2F0OnJpZ2h0O30udWktZGF0ZXBpY2tlci1ydGwg
LnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJp
Z2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O30udWktZGF0ZXBpY2tlci1ydGwgLnVp
LWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlcntib3JkZXItcmln
aHQtd2lkdGg6MDtib3JkZXItbGVmdC13aWR0aDoxcHg7fS51aS1kYXRlcGlja2VyLWNvdmVye2Rp
c3BsYXk6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Zmls
dGVyOm1hc2soKTt0b3A6LTRweDtsZWZ0Oi00cHg7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O30u
dWktZGlhbG9ne3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6LjJlbTt3aWR0aDozMDBweDtvdmVy
ZmxvdzpoaWRkZW47fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0g
MWVtO3Bvc2l0aW9uOnJlbGF0aXZlO30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGV7ZmxvYXQ6
bGVmdDttYXJnaW46LjFlbSAxNnB4IC4xZW0gMDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxl
YmFyLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi4zZW07dG9wOjUwJTt3aWR0aDoxOXB4
O21hcmdpbjotMTBweCAwIDAgMDtwYWRkaW5nOjFweDtoZWlnaHQ6MThweDt9LnVpLWRpYWxvZyAu
dWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW46MXB4O30u
dWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsLnVpLWRpYWxvZyAudWkt
ZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmZvY3Vze3BhZGRpbmc6MDt9LnVpLWRpYWxvZyAudWktZGlh
bG9nLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjA7cGFkZGluZzouNWVtIDFlbTti
YWNrZ3JvdW5kOm5vbmU7b3ZlcmZsb3c6YXV0bzt6b29tOjE7fS51aS1kaWFsb2cgLnVpLWRpYWxv
Zy1idXR0b25wYW5le3RleHQtYWxpZ246bGVmdDtib3JkZXItd2lkdGg6MXB4IDAgMCAwO2JhY2tn
cm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjVlbSAwIDAgMDtwYWRkaW5nOi4zZW0gMWVtIC41ZW0g
LjRlbTt9LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25z
ZXR7ZmxvYXQ6cmlnaHQ7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbntt
YXJnaW46LjVlbSAuNGVtIC41ZW0gMDtjdXJzb3I6cG9pbnRlcjt9LnVpLWRpYWxvZyAudWktcmVz
aXphYmxlLXNle3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7cmlnaHQ6M3B4O2JvdHRvbTozcHg7fS51
aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhcntjdXJzb3I6bW92ZTt9LnVpLXByb2dyZXNz
YmFye2hlaWdodDoyZW07dGV4dC1hbGlnbjpsZWZ0O30udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dy
ZXNzYmFyLXZhbHVle21hcmdpbjotMXB4O2hlaWdodDoxMDAlO30udWktcmVzaXphYmxle3Bvc2l0
aW9uOnJlbGF0aXZlO30udWktcmVzaXphYmxlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtmb250
LXNpemU6LjFweDt6LWluZGV4Ojk5OTk5O2Rpc3BsYXk6YmxvY2s7fS51aS1yZXNpemFibGUtZGlz
YWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVz
aXphYmxlLWhhbmRsZXtkaXNwbGF5Om5vbmU7fS51aS1yZXNpemFibGUtbntjdXJzb3I6bi1yZXNp
emU7aGVpZ2h0OjdweDt3aWR0aDoxMDAlO3RvcDotNXB4O2xlZnQ6MDt9LnVpLXJlc2l6YWJsZS1z
e2N1cnNvcjpzLXJlc2l6ZTtoZWlnaHQ6N3B4O3dpZHRoOjEwMCU7Ym90dG9tOi01cHg7bGVmdDow
O30udWktcmVzaXphYmxlLWV7Y3Vyc29yOmUtcmVzaXplO3dpZHRoOjdweDtyaWdodDotNXB4O3Rv
cDowO2hlaWdodDoxMDAlO30udWktcmVzaXphYmxlLXd7Y3Vyc29yOnctcmVzaXplO3dpZHRoOjdw
eDtsZWZ0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1yZXNpemFibGUtc2V7Y3Vyc29yOnNl
LXJlc2l6ZTt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O3JpZ2h0OjFweDtib3R0b206MXB4O30udWkt
cmVzaXphYmxlLXN3e2N1cnNvcjpzdy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDot
NXB4O2JvdHRvbTotNXB4O30udWktcmVzaXphYmxlLW53e2N1cnNvcjpudy1yZXNpemU7d2lkdGg6
OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O3RvcDotNXB4O30udWktcmVzaXphYmxlLW5le2N1cnNv
cjpuZS1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7cmlnaHQ6LTVweDt0b3A6LTVweDt9LnVp
LXNlbGVjdGFibGUtaGVscGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwO2JvcmRlcjox
cHggZG90dGVkIGJsYWNrO30udWktc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246
bGVmdDt9LnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWlu
ZGV4OjI7d2lkdGg6MS4yZW07aGVpZ2h0OjEuMmVtO2N1cnNvcjpkZWZhdWx0O30udWktc2xpZGVy
IC51aS1zbGlkZXItcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO2ZvbnQtc2l6ZTou
N2VtO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjA7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fS51aS1z
bGlkZXItaG9yaXpvbnRhbHtoZWlnaHQ6LjhlbTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1z
bGlkZXItaGFuZGxle3RvcDotLjNlbTttYXJnaW4tbGVmdDotLjZlbTt9LnVpLXNsaWRlci1ob3Jp
em9udGFsIC51aS1zbGlkZXItcmFuZ2V7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1zbGlkZXItaG9y
aXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjA7fS51aS1zbGlkZXItaG9yaXpvbnRh
bCAudWktc2xpZGVyLXJhbmdlLW1heHtyaWdodDowO30udWktc2xpZGVyLXZlcnRpY2Fse3dpZHRo
Oi44ZW07aGVpZ2h0OjEwMHB4O30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxl
e2xlZnQ6LS4zZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tYm90dG9tOi0uNmVtO30udWktc2xpZGVy
LXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2V7bGVmdDowO3dpZHRoOjEwMCU7fS51aS1zbGlkZXIt
dmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW57Ym90dG9tOjA7fS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1yYW5nZS1tYXh7dG9wOjA7fS51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZl
O3BhZGRpbmc6LjJlbTt6b29tOjE7fS51aS10YWJzIC51aS10YWJzLW5hdnttYXJnaW46MDtwYWRk
aW5nOi4yZW0gLjJlbSAwO30udWktdGFicyAudWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25l
O2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDttYXJnaW46MCAuMmVtIDFweCAw
O2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcDt9
LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGF7ZmxvYXQ6bGVmdDtwYWRkaW5nOi41ZW0gMWVtO3Rl
eHQtZGVjb3JhdGlvbjpub25lO30udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxl
Y3RlZHttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1ib3R0b206MXB4O30udWktdGFicyAudWktdGFi
cy1uYXYgbGkudWktdGFicy1zZWxlY3RlZCBhLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1z
dGF0ZS1kaXNhYmxlZCBhLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNz
aW5nIGF7Y3Vyc29yOnRleHQ7fS51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhLC51aS10YWJzLnVp
LXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYXtjdXJz
b3I6cG9pbnRlcjt9LnVpLXRhYnMgLnVpLXRhYnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXIt
d2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTtiYWNrZ3JvdW5kOm5vbmU7fS51aS10YWJzIC51aS10
YWJzLWhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudDt9LnVpLXdpZGdldHtmb250LWZhbWlseTpW
ZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMWVtO30udWktd2lkZ2V0IC51aS13
aWRnZXR7Zm9udC1zaXplOjFlbTt9LnVpLXdpZGdldCBpbnB1dCwudWktd2lkZ2V0IHNlbGVjdCwu
dWktd2lkZ2V0IHRleHRhcmVhLC51aS13aWRnZXQgYnV0dG9ue2ZvbnQtZmFtaWx5OlZlcmRhbmEs
QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MWVtO30udWktd2lkZ2V0LWNvbnRlbnR7Ym9yZGVy
OjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2ZmZiB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfNzVf
ZmZmZmZmXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzIyMjt9LnVpLXdpZGdl
dC1jb250ZW50IGF7Y29sb3I6IzIyMjt9LnVpLXdpZGdldC1oZWFkZXJ7Ym9yZGVyOjFweCBzb2xp
ZCAjYWFhO2JhY2tncm91bmQ6I2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1
X2NjY2NjY18xeDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzIyMjtmb250LXdlaWdo
dDpib2xkO30udWktd2lkZ2V0LWhlYWRlciBhe2NvbG9yOiMyMjI7fS51aS1zdGF0ZS1kZWZhdWx0
LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWhlYWRlciAu
dWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNkM2QzZDM7YmFja2dyb3VuZDojZTZl
NmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZykgNTAlIDUwJSBy
ZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzU1NTt9LnVpLXN0YXRlLWRlZmF1bHQg
YSwudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVke2Nv
bG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1ob3ZlciwudWktd2lkZ2V0
LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zl
ciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywudWkt
d2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JhY2tn
cm91bmQ6I2RhZGFkYSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcp
IDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiMyMTIxMjE7fS51aS1z
dGF0ZS1ob3ZlciBhLC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVye2NvbG9yOiMyMTIxMjE7dGV4dC1k
ZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1jb250ZW50IC51aS1z
dGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZXtib3JkZXI6MXB4
IHNvbGlkICNhYWE7YmFja2dyb3VuZDojZmZmIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZm
ZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6
IzIxMjEyMTt9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLC51aS1z
dGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiMyMTIxMjE7dGV4dC1kZWNvcmF0aW9uOm5vbmU7
fS51aS13aWRnZXQgOmFjdGl2ZXtvdXRsaW5lOm5vbmU7fS51aS1zdGF0ZS1oaWdobGlnaHQsLnVp
LXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsLnVpLXdpZGdldC1oZWFkZXIgLnVp
LXN0YXRlLWhpZ2hsaWdodHtib3JkZXI6MXB4IHNvbGlkICNmY2VmYTE7YmFja2dyb3VuZDojZmJm
OWVlIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZykgNTAlIDUwJSBy
ZXBlYXQteDtjb2xvcjojMzYzNjM2O30udWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1j
b250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUt
aGlnaGxpZ2h0IGF7Y29sb3I6IzM2MzYzNjt9LnVpLXN0YXRlLWVycm9yLC51aS13aWRnZXQtY29u
dGVudCAudWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9ye2Jv
cmRlcjoxcHggc29saWQgI2NkMGEwYTtiYWNrZ3JvdW5kOiNmZWYxZWMgdXJsKGltYWdlcy91aS1i
Z19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O2NvbG9yOiNjZDBh
MGE7fS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3Ig
YSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xvcjojY2QwYTBhO30udWkt
c3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQs
LnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHR7Y29sb3I6I2NkMGEwYTt9LnVp
LXByaW9yaXR5LXByaW1hcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5
LC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5e2ZvbnQtd2VpZ2h0OmJvbGQ7
fS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1z
ZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeXtvcGFjaXR5
Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpub3JtYWw7fS51aS1zdGF0
ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLC51aS13aWRn
ZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtmaWx0ZXI6QWxwaGEoT3Bh
Y2l0eT0zNSk7YmFja2dyb3VuZC1pbWFnZTpub25lO30udWktaWNvbnt3aWR0aDoxNnB4O2hlaWdo
dDoxNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0
MC5wbmcpO30udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwo
aW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7fS51aS13aWRnZXQtaGVhZGVyIC51
aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0
MC5wbmcpO30udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChp
bWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWhvdmVyIC51aS1p
Y29uLC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbnti
YWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9
LnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWVycm9yIC51aS1pY29uLC51
aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91
aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpO30udWktaWNvbi1jYXJhdC0xLW57YmFja2dyb3Vu
ZC1wb3NpdGlvbjowIDA7fS51aS1pY29uLWNhcmF0LTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTZweCAwO30udWktaWNvbi1jYXJhdC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAwO30u
dWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMDt9LnVpLWljb24t
Y2FyYXQtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggMDt9LnVpLWljb24tY2FyYXQtMS1z
d3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDA7fS51aS1pY29uLWNhcmF0LTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi05NnB4IDA7fS51aS1pY29uLWNhcmF0LTEtbnd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTEycHggMDt9LnVpLWljb24tY2FyYXQtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTI4cHggMDt9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHgg
MDt9LnVpLWljb24tdHJpYW5nbGUtMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMTZweDt9LnVp
LWljb24tdHJpYW5nbGUtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNnB4O30udWkt
aWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTZweDt9LnVpLWlj
b24tdHJpYW5nbGUtMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNnB4O30udWktaWNv
bi10cmlhbmdsZS0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTZweDt9LnVpLWljb24t
dHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNnB4O30udWktaWNvbi10
cmlhbmdsZS0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTZweDt9LnVpLWljb24tdHJp
YW5nbGUtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTZweDt9LnVpLWljb24tdHJp
YW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2cHg7fS51aS1pY29uLXRy
aWFuZ2xlLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNnB4O30udWktaWNvbi1h
cnJvdy0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW5l
e2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHg7fS51aS1pY29uLWFycm93LTEtZXtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXNle2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTMycHg7fS51aS1pY29uLWFycm93LTEtc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXN3e2JhY2tncm91bmQtcG9zaXRp
b246LTgwcHggLTMycHg7fS51aS1pY29uLWFycm93LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05
NnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4
IC0zMnB4O30udWktaWNvbi1hcnJvdy0yLW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAt
MzJweDt9LnVpLWljb24tYXJyb3ctMi1uZS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAt
MzJweDt9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTMy
cHg7fS51aS1pY29uLWFycm93LTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTMy
cHg7fS51aS1pY29uLWFycm93c3RvcC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTMy
cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtNDhweDt9
LnVpLWljb24tYXJyb3d0aGljay0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC00OHB4
O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC00OHB4
O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNDhw
eDt9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNDhw
eDt9LnVpLWljb24tYXJyb3d0aGljay0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC00
OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4
IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTQ0cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTYwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1zZS1ud3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNzZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1ue2JhY2tncm91
bmQtcG9zaXRpb246LTE5MnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWV7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0
b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4O30udWktaWNvbi1hcnJvd3Jl
dHVybnRoaWNrLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTY0cHg7fS51aS1pY29uLWFycm93
cmV0dXJudGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTY0cHg7fS51aS1pY29u
LWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTY0cHg7fS51
aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTY0
cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC02
NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAt
NjRweDt9LnVpLWljb24tYXJyb3dyZXR1cm4tMS1le2JhY2tncm91bmQtcG9zaXRpb246LTk2cHgg
LTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJw
eCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
MjhweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNDRweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZXtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi0xNjBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNzZweCAtNjRweDt9LnVpLWljb24tYXJyb3ctNHtiYWNrZ3JvdW5kLXBvc2l0aW9u
OjAgLTgwcHg7fS51aS1pY29uLWFycm93LTQtZGlhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4
IC04MHB4O30udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTgwcHg7
fS51aS1pY29uLW5ld3dpbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC04MHB4O30udWktaWNv
bi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTgwcHg7fS51aS1pY29uLXNodWZm
bGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweDt9LnVpLWljb24tdHJhbnNmZXItZS13
e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTgwcHg7fS51aS1pY29uLXRyYW5zZmVydGhpY2st
ZS13e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC04MHB4O30udWktaWNvbi1mb2xkZXItY29s
bGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweDt9LnVpLWljb24tZm9sZGVyLW9wZW57
YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtOTZweDt9LnVpLWljb24tZG9jdW1lbnR7YmFja2dy
b3VuZC1wb3NpdGlvbjotMzJweCAtOTZweDt9LnVpLWljb24tZG9jdW1lbnQtYntiYWNrZ3JvdW5k
LXBvc2l0aW9uOi00OHB4IC05NnB4O30udWktaWNvbi1ub3Rle2JhY2tncm91bmQtcG9zaXRpb246
LTY0cHggLTk2cHg7fS51aS1pY29uLW1haWwtY2xvc2Vke2JhY2tncm91bmQtcG9zaXRpb246LTgw
cHggLTk2cHg7fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05
NnB4O30udWktaWNvbi1zdWl0Y2FzZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtOTZweDt9
LnVpLWljb24tY29tbWVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtOTZweDt9LnVpLWlj
b24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4O30udWktaWNvbi1wcmlu
dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtOTZweDt9LnVpLWljb24tdHJhc2h7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTc2cHggLTk2cHg7fS51aS1pY29uLWxvY2tlZHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xOTJweCAtOTZweDt9LnVpLWljb24tdW5sb2NrZWR7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjA4cHggLTk2cHg7fS51aS1pY29uLWJvb2ttYXJre2JhY2tncm91bmQtcG9zaXRpb246LTIy
NHB4IC05NnB4O30udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTk2cHg7
fS51aS1pY29uLWhvbWV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMTJweDt9LnVpLWljb24tZmxh
Z3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMTJweDt9LnVpLWljb24tY2FsZW5kYXJ7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHg7fS51aS1pY29uLWNhcnR7YmFja2dyb3VuZC1w
b3NpdGlvbjotNDhweCAtMTEycHg7fS51aS1pY29uLXBlbmNpbHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi02NHB4IC0xMTJweDt9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAt
MTEycHg7fS51aS1pY29uLWRpc2t7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTEycHg7fS51
aS1pY29uLWNhbGN1bGF0b3J7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTExMnB4O30udWkt
aWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTExMnB4O30udWktaWNvbi16
b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMTJweDt9LnVpLWljb24tc2VhcmNo
e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMTJweDt9LnVpLWljb24td3JlbmNoe2JhY2tn
cm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweDt9LnVpLWljb24tZ2VhcntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xOTJweCAtMTEycHg7fS51aS1pY29uLWhlYXJ0e2JhY2tncm91bmQtcG9zaXRpb246
LTIwOHB4IC0xMTJweDt9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAt
MTEycHg7fS51aS1pY29uLWxpbmt7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTExMnB4O30u
dWktaWNvbi1jYW5jZWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhweDt9LnVpLWljb24tcGx1
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweDt9LnVpLWljb24tcGx1c3RoaWNre2Jh
Y2tncm91bmQtcG9zaXRpb246LTMycHggLTEyOHB4O30udWktaWNvbi1taW51c3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi00OHB4IC0xMjhweDt9LnVpLWljb24tbWludXN0aGlja3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0xMjhweDt9LnVpLWljb24tY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjot
ODBweCAtMTI4cHg7fS51aS1pY29uLWNsb3NldGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZw
eCAtMTI4cHg7fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTI4cHg7
fS51aS1pY29uLWxpZ2h0YnVsYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTI4cHg7fS51
aS1pY29uLXNjaXNzb3Jze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMjhweDt9LnVpLWlj
b24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMjhweDt9LnVpLWljb24t
Y29weXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTI4cHg7fS51aS1pY29uLWNvbnRhY3R7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyOHB4O30udWktaWNvbi1pbWFnZXtiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHg7fS51aS1pY29uLXZpZGVve2JhY2tncm91bmQtcG9z
aXRpb246LTIyNHB4IC0xMjhweDt9LnVpLWljb24tc2NyaXB0e2JhY2tncm91bmQtcG9zaXRpb246
LTI0MHB4IC0xMjhweDt9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNDRw
eDt9LnVpLWljb24taW5mb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNDRweDt9LnVpLWlj
b24tbm90aWNle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE0NHB4O30udWktaWNvbi1oZWxw
e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4O30udWktaWNvbi1jaGVja3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi02NHB4IC0xNDRweDt9LnVpLWljb24tYnVsbGV0e2JhY2tncm91bmQtcG9z
aXRpb246LTgwcHggLTE0NHB4O30udWktaWNvbi1yYWRpby1vZmZ7YmFja2dyb3VuZC1wb3NpdGlv
bjotOTZweCAtMTQ0cHg7fS51aS1pY29uLXJhZGlvLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTEx
MnB4IC0xNDRweDt9LnVpLWljb24tcGluLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE0
NHB4O30udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTQ0cHg7fS51
aS1pY29uLXBsYXl7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNjBweDt9LnVpLWljb24tcGF1c2V7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTYwcHg7fS51aS1pY29uLXNlZWstbmV4dHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1wcmV2e2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTE2MHB4O30udWktaWNvbi1zZWVrLWVuZHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1zdGFydHtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1maXJzdHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi04MHB4IC0xNjBweDt9LnVpLWljb24tc3RvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0x
NjBweDt9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2MHB4O30u
dWktaWNvbi12b2x1bWUtb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xNjBweDt9LnVp
LWljb24tdm9sdW1lLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNjBweDt9LnVpLWlj
b24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweDt9LnVpLWljb24tc2lnbmFsLWRp
YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTc2cHg7fS51aS1pY29uLXNpZ25hbHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0we2JhY2tncm91
bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4O30udWktaWNvbi1iYXR0ZXJ5LTF7YmFja2dyb3VuZC1w
b3NpdGlvbjotNjRweCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnktMntiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tncm91bmQtcG9zaXRpb246
LTk2cHggLTE3NnB4O30udWktaWNvbi1jaXJjbGUtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAg
LTE5MnB4O30udWktaWNvbi1jaXJjbGUtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAt
MTkycHg7fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0x
OTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhw
eCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ze2JhY2tncm91bmQtcG9zaXRpb246
LTY0cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3tiYWNrZ3JvdW5kLXBvc2l0
aW9uOi04MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW57YmFja2dyb3VuZC1w
b3NpdGlvbjotOTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJvdy1le2JhY2tncm91bmQt
cG9zaXRpb246LTExMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWFycm93LXN7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtYXJyb3ctd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xNDRweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJvdy1ue2JhY2tn
cm91bmQtcG9zaXRpb246LTE2MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXpvb21pbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS16b29tb3V0e2Jh
Y2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWNoZWNre2Jh
Y2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlc21hbGwtcGx1
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4O30udWktaWNvbi1jaXJjbGVzbWFsbC1taW51
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0yMDhweDt9LnVpLWljb24tY2lyY2xlc21hbGwt
Y2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjA4cHg7fS51aS1pY29uLXNxdWFyZXNt
YWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHg7fS51aS1pY29uLXNxdWFy
ZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIwOHB4O30udWktaWNvbi1z
cXVhcmVzbWFsbC1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0yMDhweDt9LnVpLWlj
b24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMjRweDt9LnVp
LWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0y
MjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0z
MnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9z
aXRpb246LTQ4cHggLTIyNHB4O30udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2V7YmFja2dy
b3VuZC1wb3NpdGlvbjotNjRweCAtMjI0cHg7fS51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2V7YmFj
a2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjI0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXIt
dG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRsey1tb3otYm9yZGVyLXJhZGl1cy10b3Bs
ZWZ0OjRweDstd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXIt
dG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDt9LnVpLWNvcm5l
ci1hbGwsLnVpLWNvcm5lci10b3AsLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLXRyey1tb3ot
Ym9yZGVyLXJhZGl1cy10b3ByaWdodDo0cHg7LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1
czo0cHg7LWtodG1sLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0
LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90dG9tLC51aS1jb3JuZXIt
bGVmdCwudWktY29ybmVyLWJsey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OjRweDstd2Vi
a2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXItYm90dG9tLWxl
ZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDt9LnVpLWNvcm5lci1h
bGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLWJyey1tb3ot
Ym9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHg7LXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0
LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXIt
Ym90dG9tLXJpZ2h0LXJhZGl1czo0cHg7fS51aS13aWRnZXQtb3ZlcmxheXtiYWNrZ3JvdW5kOiNh
YWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVw
ZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7fS51aS13aWRnZXQtc2hh
ZG93e21hcmdpbjotOHB4IDAgMCAtOHB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQ6I2FhYSB1cmwo
aW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtv
cGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTstbW96LWJvcmRlci1yYWRpdXM6OHB4
Oy1raHRtbC1ib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJvcmRlci1yYWRpdXM6OHB4O2JvcmRl
ci1yYWRpdXM6OHB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmFjY29yZGlvbi5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYWNjb3JkaW9u
Lm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmNzcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIEFjY29yZGlv
biAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0FjY29yZGlvbiN0aGVtaW5nCisgKi8KKy51aS1hY2Nv
cmRpb257d2lkdGg6MTAwJTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlcntjdXJz
b3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjFweDt6b29tOjE7fS51aS1h
Y2NvcmRpb24gLnVpLWFjY29yZGlvbi1saS1maXh7ZGlzcGxheTppbmxpbmU7fS51aS1hY2NvcmRp
b24gLnVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZle2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7
fS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIgYXtkaXNwbGF5OmJsb2NrO2ZvbnQt
c2l6ZToxZW07cGFkZGluZzouNWVtIC41ZW0gLjVlbSAuN2VtO30udWktYWNjb3JkaW9uLWljb25z
IC51aS1hY2NvcmRpb24taGVhZGVyIGF7cGFkZGluZy1sZWZ0OjIuMmVtO30udWktYWNjb3JkaW9u
IC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LjVl
bTt0b3A6NTAlO21hcmdpbi10b3A6LThweDt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNv
bnRlbnR7cGFkZGluZzoxZW0gMi4yZW07Ym9yZGVyLXRvcDowO21hcmdpbi10b3A6LTJweDtwb3Np
dGlvbjpyZWxhdGl2ZTt0b3A6MXB4O21hcmdpbi1ib3R0b206MnB4O292ZXJmbG93OmF1dG87ZGlz
cGxheTpub25lO3pvb206MTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0
aXZle2Rpc3BsYXk6YmxvY2s7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9q
cXVlcnkudWkuYWxsLm1pbi5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hbGwubWluLmNz
cwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFsbC5taW4uY3NzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL1RoZW1pbmcKKyAqLworQGltcG9ydCAianF1ZXJ5LnVpLmJhc2UubWlu
LmNzcyI7QGltcG9ydCAianF1ZXJ5LnVpLnRoZW1lLm1pbi5jc3MiOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5hdXRvY29tcGxldGUubWluLmNzcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuOC4xNQorICoKKyAqIENv
cHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAq
IER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgor
ICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5j
b20vVUkvQXV0b2NvbXBsZXRlI3RoZW1pbmcKKyAqLworLnVpLWF1dG9jb21wbGV0ZXtwb3NpdGlv
bjphYnNvbHV0ZTtjdXJzb3I6ZGVmYXVsdDt9KiBodG1sIC51aS1hdXRvY29tcGxldGV7d2lkdGg6
MXB4O30udWktbWVudXtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzoycHg7bWFyZ2luOjA7ZGlzcGxh
eTpibG9jaztmbG9hdDpsZWZ0O30udWktbWVudSAudWktbWVudXttYXJnaW4tdG9wOi0zcHg7fS51
aS1tZW51IC51aS1tZW51LWl0ZW17bWFyZ2luOjA7cGFkZGluZzowO3pvb206MTtmbG9hdDpsZWZ0
O2NsZWFyOmxlZnQ7d2lkdGg6MTAwJTt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhe3RleHQtZGVj
b3JhdGlvbjpub25lO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouMmVtIC40ZW07bGluZS1oZWlnaHQ6
MS41O3pvb206MTt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLC51aS1t
ZW51IC51aS1tZW51LWl0ZW0gYS51aS1zdGF0ZS1hY3RpdmV7Zm9udC13ZWlnaHQ6bm9ybWFsO21h
cmdpbjotMXB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVp
LmJhc2UubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmJhc2UubWluLmNzcwkobm9u
ZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmJhc2UubWluLmNzcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjE1CisgKgor
ICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0
KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5z
ZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1
ZXJ5LmNvbS9VSS9UaGVtaW5nCisgKi8KK0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuY29yZS5taW4u
Y3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5hY2NvcmRpb24ubWluLmNzcyIpO0BpbXBvcnQg
dXJsKCJqcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5
LnVpLmJ1dHRvbi5taW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5kYXRlcGlja2VyLm1p
bi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5LnVpLmRpYWxvZy5taW4uY3NzIik7QGltcG9ydCB1
cmwoImpxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51
aS5yZXNpemFibGUubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuc2VsZWN0YWJsZS5t
aW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5zbGlkZXIubWluLmNzcyIpO0BpbXBvcnQg
dXJsKCJqcXVlcnkudWkudGFicy5taW4uY3NzIik7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5idXR0b24ubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmJ1dHRvbi5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1p
bi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBC
dXR0b24gMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9CdXR0b24jdGhlbWluZworICovCisudWktYnV0
dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MDttYXJn
aW4tcmlnaHQ6LjFlbTt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7Y3Vyc29yOnBvaW50
ZXI7dGV4dC1hbGlnbjpjZW50ZXI7em9vbToxO292ZXJmbG93OnZpc2libGU7fS51aS1idXR0b24t
aWNvbi1vbmx5e3dpZHRoOjIuMmVtO31idXR0b24udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoy
LjRlbTt9LnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuNGVtO31idXR0b24udWktYnV0dG9u
LWljb25zLW9ubHl7d2lkdGg6My43ZW07fS51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0e2Rpc3Bs
YXk6YmxvY2s7bGluZS1oZWlnaHQ6MS40O30udWktYnV0dG9uLXRleHQtb25seSAudWktYnV0dG9u
LXRleHR7cGFkZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10
ZXh0LC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVtO3Rl
eHQtaW5kZW50Oi05OTk5OTk5cHg7fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1
dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzou
NGVtIDFlbSAuNGVtIDIuMWVtO30udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1
dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzou
NGVtIDIuMWVtIC40ZW0gMWVtO30udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0
e3BhZGRpbmctbGVmdDoyLjFlbTtwYWRkaW5nLXJpZ2h0OjIuMWVtO31pbnB1dC51aS1idXR0b257
cGFkZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24sLnVpLWJ1dHRv
bi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRh
cnkgLnVpLWljb24sLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1pY29uLC51aS1idXR0b24taWNv
bnMtb25seSAudWktaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LThw
eDt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb257bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThw
eDt9LnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwu
dWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi1p
Y29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5e2xlZnQ6LjVlbTt9LnVpLWJ1dHRvbi10
ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi10
ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5
IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbi10ZXh0LWlj
b25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1i
dXR0b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbnNldHttYXJnaW4tcmln
aHQ6N3B4O30udWktYnV0dG9uc2V0IC51aS1idXR0b257bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmln
aHQ6LS4zZW07fWJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFk
ZGluZzowO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNv
cmUubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUubWluLmNzcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUubWluLmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjE1CisgKgorICog
Q29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQor
ICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMu
CisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5
LmNvbS9VSS9UaGVtaW5nL0FQSQorICovCisudWktaGVscGVyLWhpZGRlbntkaXNwbGF5Om5vbmU7
fS51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50
O2NsaXA6cmVjdCgxcHggMXB4IDFweCAxcHgpO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO30u
dWktaGVscGVyLXJlc2V0e21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDtvdXRsaW5lOjA7bGlu
ZS1oZWlnaHQ6MS4zO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMDAlO2xpc3Qtc3R5
bGU6bm9uZTt9LnVpLWhlbHBlci1jbGVhcmZpeDphZnRlcntjb250ZW50OiIuIjtkaXNwbGF5OmJs
b2NrO2hlaWdodDowO2NsZWFyOmJvdGg7dmlzaWJpbGl0eTpoaWRkZW47fS51aS1oZWxwZXItY2xl
YXJmaXh7ZGlzcGxheTppbmxpbmUtYmxvY2s7fS8qIHJlcXVpcmVkIGNvbW1lbnQgZm9yIGNsZWFy
Zml4IHRvIHdvcmsgaW4gT3BlcmEgXCovICogaHRtbCAudWktaGVscGVyLWNsZWFyZml4e2hlaWdo
dDoxJTt9LnVpLWhlbHBlci1jbGVhcmZpeHtkaXNwbGF5OmJsb2NrO30vKiBlbmQgY2xlYXJmaXgg
Ki8gLnVpLWhlbHBlci16Zml4e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bv
c2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTt9LnVpLXN0
YXRlLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0IWltcG9ydGFudDt9LnVpLWljb257ZGlzcGxheTpi
bG9jazt0ZXh0LWluZGVudDotOTk5OTlweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1yZXBl
YXQ6bm8tcmVwZWF0O30udWktd2lkZ2V0LW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7
bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9qcXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9q
cXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWku
ZGF0ZXBpY2tlci5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8qCisg
KiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVU
SE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVu
ZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnku
b3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RhdGVwaWNrZXIj
dGhlbWluZworICovCisudWktZGF0ZXBpY2tlcnt3aWR0aDoxN2VtO3BhZGRpbmc6LjJlbSAuMmVt
IDA7ZGlzcGxheTpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXJ7cG9z
aXRpb246cmVsYXRpdmU7cGFkZGluZzouMmVtIDA7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXByZXYsLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtwb3NpdGlvbjphYnNv
bHV0ZTt0b3A6MnB4O3dpZHRoOjEuOGVtO2hlaWdodDoxLjhlbTt9LnVpLWRhdGVwaWNrZXIgLnVp
LWRhdGVwaWNrZXItcHJldi1ob3ZlciwudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0
LWhvdmVye3RvcDoxcHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXZ7bGVmdDoy
cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHR7cmlnaHQ6MnB4O30udWktZGF0
ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVye2xlZnQ6MXB4O30udWktZGF0ZXBpY2tl
ciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVye3JpZ2h0OjFweDt9LnVpLWRhdGVwaWNrZXIgLnVp
LWRhdGVwaWNrZXItcHJldiBzcGFuLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQg
c3BhbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0
Oi04cHg7dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLXRpdGxle21hcmdpbjowIDIuM2VtO2xpbmUtaGVpZ2h0OjEuOGVtO3RleHQtYWxpZ246Y2Vu
dGVyO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3R7Zm9udC1zaXpl
OjFlbTttYXJnaW46MXB4IDA7fS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1v
bnRoLXllYXJ7d2lkdGg6MTAwJTt9LnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIt
bW9udGgsLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcnt3aWR0aDo0OSU7
fS51aS1kYXRlcGlja2VyIHRhYmxle3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07Ym9yZGVyLWNv
bGxhcHNlOmNvbGxhcHNlO21hcmdpbjowIDAgLjRlbTt9LnVpLWRhdGVwaWNrZXIgdGh7cGFkZGlu
ZzouN2VtIC4zZW07dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXI6MDt9
LnVpLWRhdGVwaWNrZXIgdGR7Ym9yZGVyOjA7cGFkZGluZzoxcHg7fS51aS1kYXRlcGlja2VyIHRk
IHNwYW4sLnVpLWRhdGVwaWNrZXIgdGQgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjJlbTt0ZXh0
LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0
ZXBpY2tlci1idXR0b25wYW5le2JhY2tncm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjdlbSAwIDAg
MDtwYWRkaW5nOjAgLjJlbTtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowO2JvcmRlci1ib3R0
b206MDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257Zmxv
YXQ6cmlnaHQ7bWFyZ2luOi41ZW0gLjJlbSAuNGVtO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6LjJl
bSAuNmVtIC4zZW0gLjZlbTt3aWR0aDphdXRvO292ZXJmbG93OnZpc2libGU7fS51aS1kYXRlcGlj
a2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVu
dHtmbG9hdDpsZWZ0O30udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpe3dpZHRoOmF1
dG87fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3Vwe2Zsb2F0OmxlZnQ7
fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxle3dpZHRoOjk1
JTttYXJnaW46MCBhdXRvIC40ZW07fS51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNr
ZXItZ3JvdXB7d2lkdGg6NTAlO30udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2Vy
LWdyb3Vwe3dpZHRoOjMzLjMlO30udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2Vy
LWdyb3Vwe3dpZHRoOjI1JTt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3Jv
dXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6MDt9LnVpLWRh
dGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2Vy
LWhlYWRlcntib3JkZXItbGVmdC13aWR0aDowO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0
ZXBpY2tlci1idXR0b25wYW5le2NsZWFyOmxlZnQ7fS51aS1kYXRlcGlja2VyLXJvdy1icmVha3tj
bGVhcjpib3RoO3dpZHRoOjEwMCU7Zm9udC1zaXplOjA7fS51aS1kYXRlcGlja2VyLXJ0bHtkaXJl
Y3Rpb246cnRsO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldntyaWdodDoy
cHg7bGVmdDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dHtsZWZ0
OjJweDtyaWdodDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldjpo
b3ZlcntyaWdodDoxcHg7bGVmdDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNr
ZXItbmV4dDpob3ZlcntsZWZ0OjFweDtyaWdodDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVp
LWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpyaWdodDt9LnVpLWRhdGVwaWNrZXItcnRsIC51
aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OmxlZnQ7fS51aS1kYXRlcGlja2Vy
LXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJl
bnR7ZmxvYXQ6cmlnaHQ7fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cHtm
bG9hdDpyaWdodDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3Qg
LnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXdp
ZHRoOjFweDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAu
dWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lk
dGg6MXB4O30udWktZGF0ZXBpY2tlci1jb3ZlcntkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztw
b3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2ZpbHRlcjptYXNrKCk7dG9wOi00cHg7bGVmdDot
NHB4O3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmRpYWxvZy5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuZGlhbG9nLm1p
bi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBE
aWFsb2cgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EaWFsb2cjdGhlbWluZworICovCisudWktZGlh
bG9ne3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6LjJlbTt3aWR0aDozMDBweDtvdmVyZmxvdzpo
aWRkZW47fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0gMWVtO3Bv
c2l0aW9uOnJlbGF0aXZlO30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGV7ZmxvYXQ6bGVmdDtt
YXJnaW46LjFlbSAxNnB4IC4xZW0gMDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNs
b3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi4zZW07dG9wOjUwJTt3aWR0aDoxOXB4O21hcmdp
bjotMTBweCAwIDAgMDtwYWRkaW5nOjFweDtoZWlnaHQ6MThweDt9LnVpLWRpYWxvZyAudWktZGlh
bG9nLXRpdGxlYmFyLWNsb3NlIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW46MXB4O30udWktZGlh
bG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsLnVpLWRpYWxvZyAudWktZGlhbG9n
LXRpdGxlYmFyLWNsb3NlOmZvY3Vze3BhZGRpbmc6MDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLWNv
bnRlbnR7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjA7cGFkZGluZzouNWVtIDFlbTtiYWNrZ3Jv
dW5kOm5vbmU7b3ZlcmZsb3c6YXV0bzt6b29tOjE7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0
b25wYW5le3RleHQtYWxpZ246bGVmdDtib3JkZXItd2lkdGg6MXB4IDAgMCAwO2JhY2tncm91bmQt
aW1hZ2U6bm9uZTttYXJnaW46LjVlbSAwIDAgMDtwYWRkaW5nOi4zZW0gMWVtIC41ZW0gLjRlbTt9
LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXR7Zmxv
YXQ6cmlnaHQ7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbnttYXJnaW46
LjVlbSAuNGVtIC41ZW0gMDtjdXJzb3I6cG9pbnRlcjt9LnVpLWRpYWxvZyAudWktcmVzaXphYmxl
LXNle3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7cmlnaHQ6M3B4O2JvdHRvbTozcHg7fS51aS1kcmFn
Z2FibGUgLnVpLWRpYWxvZy10aXRsZWJhcntjdXJzb3I6bW92ZTt9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uY3NzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzcwkobm9uZXhpc3RlbnQpCisrKyBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
anF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorLyoKKyAqIGpRdWVyeSBVSSBQcm9ncmVzc2JhciAxLjguMTUKKyAqCisgKiBDb3B5cmln
aHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFs
IGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0
dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJ
L1Byb2dyZXNzYmFyI3RoZW1pbmcKKyAqLworLnVpLXByb2dyZXNzYmFye2hlaWdodDoyZW07dGV4
dC1hbGlnbjpsZWZ0O30udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVle21hcmdp
bjotMXB4O2hlaWdodDoxMDAlO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
anF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucmVz
aXphYmxlLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5yZXNpemFibGUubWlu
LmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFJl
c2l6YWJsZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAq
CisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Jlc2l6YWJsZSN0aGVtaW5nCisgKi8KKy51
aS1yZXNpemFibGV7cG9zaXRpb246cmVsYXRpdmU7fS51aS1yZXNpemFibGUtaGFuZGxle3Bvc2l0
aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTouMXB4O3otaW5kZXg6OTk5OTk7ZGlzcGxheTpibG9jazt9
LnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSwudWktcmVzaXphYmxl
LWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxle2Rpc3BsYXk6bm9uZTt9LnVpLXJlc2l6YWJs
ZS1ue2N1cnNvcjpuLXJlc2l6ZTtoZWlnaHQ6N3B4O3dpZHRoOjEwMCU7dG9wOi01cHg7bGVmdDow
O30udWktcmVzaXphYmxlLXN7Y3Vyc29yOnMtcmVzaXplO2hlaWdodDo3cHg7d2lkdGg6MTAwJTti
b3R0b206LTVweDtsZWZ0OjA7fS51aS1yZXNpemFibGUtZXtjdXJzb3I6ZS1yZXNpemU7d2lkdGg6
N3B4O3JpZ2h0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1yZXNpemFibGUtd3tjdXJzb3I6
dy1yZXNpemU7d2lkdGg6N3B4O2xlZnQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJTt9LnVpLXJlc2l6
YWJsZS1zZXtjdXJzb3I6c2UtcmVzaXplO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6MXB4
O2JvdHRvbToxcHg7fS51aS1yZXNpemFibGUtc3d7Y3Vyc29yOnN3LXJlc2l6ZTt3aWR0aDo5cHg7
aGVpZ2h0OjlweDtsZWZ0Oi01cHg7Ym90dG9tOi01cHg7fS51aS1yZXNpemFibGUtbnd7Y3Vyc29y
Om53LXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtsZWZ0Oi01cHg7dG9wOi01cHg7fS51aS1y
ZXNpemFibGUtbmV7Y3Vyc29yOm5lLXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtyaWdodDot
NXB4O3RvcDotNXB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLnNlbGVjdGFibGUubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFi
bGUubWluLmNzcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNz
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFNlbGVj
dGFibGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TZWxlY3RhYmxlI3RoZW1pbmcKKyAqLworLnVp
LXNlbGVjdGFibGUtaGVscGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwO2JvcmRlcjox
cHggZG90dGVkIGJsYWNrO30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1
ZXJ5LnVpLnNsaWRlci5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuc2xpZGVyLm1p
bi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5zbGlkZXIubWluLmNzcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIFNsaWRlciAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL1NsaWRlciN0aGVtaW5nCisgKi8KKy51aS1zbGlkZXJ7cG9zaXRpb246
cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O30udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxle3Bv
c2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt3aWR0aDoxLjJlbTtoZWlnaHQ6MS4yZW07Y3Vyc29y
OmRlZmF1bHQ7fS51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTt6
LWluZGV4OjE7Zm9udC1zaXplOi43ZW07ZGlzcGxheTpibG9jaztib3JkZXI6MDtiYWNrZ3JvdW5k
LXBvc2l0aW9uOjAgMDt9LnVpLXNsaWRlci1ob3Jpem9udGFse2hlaWdodDouOGVtO30udWktc2xp
ZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGV7dG9wOi0uM2VtO21hcmdpbi1sZWZ0Oi0u
NmVtO30udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZXt0b3A6MDtoZWlnaHQ6
MTAwJTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWlue2xlZnQ6MDt9
LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3JpZ2h0OjA7fS51aS1z
bGlkZXItdmVydGljYWx7d2lkdGg6LjhlbTtoZWlnaHQ6MTAwcHg7fS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1oYW5kbGV7bGVmdDotLjNlbTttYXJnaW4tbGVmdDowO21hcmdpbi1ib3R0
b206LS42ZW07fS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZXtsZWZ0OjA7d2lk
dGg6MTAwJTt9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbntib3R0b206
MDt9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1heHt0b3A6MDt9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50YWJzLm1pbi5jc3MKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50YWJzLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2px
dWVyeS51aS50YWJzLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoK
KyAqIGpRdWVyeSBVSSBUYWJzIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JT
LnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIg
dGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcv
bGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGFicyN0aGVtaW5nCisg
Ki8KKy51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbTt6b29tOjE7fS51aS10
YWJzIC51aS10YWJzLW5hdnttYXJnaW46MDtwYWRkaW5nOi4yZW0gLjJlbSAwO30udWktdGFicyAu
dWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25lO2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRp
dmU7dG9wOjFweDttYXJnaW46MCAuMmVtIDFweCAwO2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnQ7
cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcDt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGF7
ZmxvYXQ6bGVmdDtwYWRkaW5nOi41ZW0gMWVtO3RleHQtZGVjb3JhdGlvbjpub25lO30udWktdGFi
cyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxlY3RlZHttYXJnaW4tYm90dG9tOjA7cGFkZGlu
Zy1ib3R0b206MXB4O30udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxlY3RlZCBh
LC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCBhLC51aS10YWJzIC51
aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNzaW5nIGF7Y3Vyc29yOnRleHQ7fS51aS10YWJz
IC51aS10YWJzLW5hdiBsaSBhLC51aS10YWJzLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMt
bmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYXtjdXJzb3I6cG9pbnRlcjt9LnVpLXRhYnMgLnVpLXRh
YnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXItd2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTti
YWNrZ3JvdW5kOm5vbmU7fS51aS10YWJzIC51aS10YWJzLWhpZGV7ZGlzcGxheTpub25lIWltcG9y
dGFudDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50aGVt
ZS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnRoZW1lLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMiBAQAorLyoKKyAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuOC4xNQorICoKKyAq
IENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkK
KyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVy
eS5jb20vVUkvVGhlbWluZy9BUEkKKyAqCisgKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVt
ZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8KKyAqLworLnVpLXdpZGdl
dHtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMWVtO30u
dWktd2lkZ2V0IC51aS13aWRnZXR7Zm9udC1zaXplOjFlbTt9LnVpLXdpZGdldCBpbnB1dCwudWkt
d2lkZ2V0IHNlbGVjdCwudWktd2lkZ2V0IHRleHRhcmVhLC51aS13aWRnZXQgYnV0dG9ue2ZvbnQt
ZmFtaWx5OlZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MWVtO30udWktd2lkZ2V0
LWNvbnRlbnR7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2ZmZiB1cmwoaW1hZ2Vz
L3VpLWJnX2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6
IzIyMjt9LnVpLXdpZGdldC1jb250ZW50IGF7Y29sb3I6IzIyMjt9LnVpLXdpZGdldC1oZWFkZXJ7
Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hp
Z2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6
IzIyMjtmb250LXdlaWdodDpib2xkO30udWktd2lkZ2V0LWhlYWRlciBhe2NvbG9yOiMyMjI7fS51
aS1zdGF0ZS1kZWZhdWx0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWkt
d2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNkM2QzZDM7
YmFja2dyb3VuZDojZTZlNmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAw
LnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzU1NTt9LnVp
LXN0YXRlLWRlZmF1bHQgYSwudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssLnVpLXN0YXRlLWRlZmF1
bHQgYTp2aXNpdGVke2NvbG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1o
b3ZlciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVy
IC51aS1zdGF0ZS1ob3ZlciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1z
dGF0ZS1mb2N1cywudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBz
b2xpZCAjOTk5O2JhY2tncm91bmQ6I2RhZGFkYSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2Rh
ZGFkYV8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9y
OiMyMTIxMjE7fS51aS1zdGF0ZS1ob3ZlciBhLC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVye2NvbG9y
OiMyMTIxMjE7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fS51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdl
dC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFj
dGl2ZXtib3JkZXI6MXB4IHNvbGlkICNhYWE7YmFja2dyb3VuZDojZmZmIHVybChpbWFnZXMvdWkt
YmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtmb250LXdlaWdo
dDpub3JtYWw7Y29sb3I6IzIxMjEyMTt9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3Rp
dmUgYTpsaW5rLC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiMyMTIxMjE7dGV4dC1k
ZWNvcmF0aW9uOm5vbmU7fS51aS13aWRnZXQgOmFjdGl2ZXtvdXRsaW5lOm5vbmU7fS51aS1zdGF0
ZS1oaWdobGlnaHQsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsLnVpLXdp
ZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodHtib3JkZXI6MXB4IHNvbGlkICNmY2VmYTE7
YmFja2dyb3VuZDojZmJmOWVlIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAw
LnBuZykgNTAlIDUwJSByZXBlYXQteDtjb2xvcjojMzYzNjM2O30udWktc3RhdGUtaGlnaGxpZ2h0
IGEsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhl
YWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGF7Y29sb3I6IzM2MzYzNjt9LnVpLXN0YXRlLWVycm9y
LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1oZWFkZXIgLnVp
LXN0YXRlLWVycm9ye2JvcmRlcjoxcHggc29saWQgI2NkMGEwYTtiYWNrZ3JvdW5kOiNmZWYxZWMg
dXJsKGltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVh
dC14O2NvbG9yOiNjZDBhMGE7fS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAu
dWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xv
cjojY2QwYTBhO30udWktc3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0
YXRlLWVycm9yLXRleHQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHR7Y29s
b3I6I2NkMGEwYTt9LnVpLXByaW9yaXR5LXByaW1hcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1w
cmlvcml0eS1wcmltYXJ5LC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5e2Zv
bnQtd2VpZ2h0OmJvbGQ7fS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50
IC51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNl
Y29uZGFyeXtvcGFjaXR5Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpu
b3JtYWw7fS51aS1zdGF0ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRp
c2FibGVkLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtm
aWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7YmFja2dyb3VuZC1pbWFnZTpub25lO30udWktaWNvbnt3
aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29u
c18yMjIyMjJfMjU2eDI0MC5wbmcpO30udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb257YmFja2dy
b3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7fS51aS13
aWRnZXQtaGVhZGVyIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29u
c18yMjIyMjJfMjU2eDI0MC5wbmcpO30udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbntiYWNrZ3Jv
dW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nKTt9LnVpLXN0
YXRlLWhvdmVyIC51aS1pY29uLC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbntiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWFj
dGl2ZSAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1
XzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbntiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWVy
cm9yIC51aS1pY29uLC51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29ue2JhY2tncm91bmQtaW1h
Z2U6dXJsKGltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpO30udWktaWNvbi1jYXJh
dC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fS51aS1pY29uLWNhcmF0LTEtbmV7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTZweCAwO30udWktaWNvbi1jYXJhdC0xLWV7YmFja2dyb3VuZC1wb3Np
dGlvbjotMzJweCAwO30udWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4
cHggMDt9LnVpLWljb24tY2FyYXQtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggMDt9LnVp
LWljb24tY2FyYXQtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDA7fS51aS1pY29uLWNh
cmF0LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDA7fS51aS1pY29uLWNhcmF0LTEtbnd7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggMDt9LnVpLWljb24tY2FyYXQtMi1uLXN7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTI4cHggMDt9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTQ0cHggMDt9LnVpLWljb24tdHJpYW5nbGUtMS1ue2JhY2tncm91bmQtcG9zaXRp
b246MCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NnB4IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJw
eCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4
IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAt
MTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0x
NnB4O30udWktaWNvbi10cmlhbmdsZS0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTZw
eDt9LnVpLWljb24tdHJpYW5nbGUtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTZw
eDt9LnVpLWljb24tdHJpYW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2
cHg7fS51aS1pY29uLXRyaWFuZ2xlLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0x
NnB4O30udWktaWNvbi1hcnJvdy0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zMnB4O30udWkt
aWNvbi1hcnJvdy0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHg7fS51aS1pY29u
LWFycm93LTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0zMnB4O30udWktaWNvbi1hcnJv
dy0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTMycHg7fS51aS1pY29uLWFycm93LTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXN3e2Jh
Y2tncm91bmQtcG9zaXRpb246LTgwcHggLTMycHg7fS51aS1pY29uLWFycm93LTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi05NnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQt
cG9zaXRpb246LTExMnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0yLW4tc3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xMjhweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMi1uZS1zd3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNDRweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTYwcHggLTMycHg7fS51aS1pY29uLWFycm93LTItc2Utbnd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTc2cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLW57YmFja2dyb3VuZC1wb3Np
dGlvbjotMTkycHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjA4cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLXN7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjI0cHggLTMycHg7fS51aS1pY29uLWFycm93c3RvcC0xLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMjQwcHggLTMycHg7fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9z
aXRpb246MCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLW5le2JhY2tncm91bmQtcG9zaXRp
b246LTE2cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRp
b246LTMycHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi00OHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0
aW9uOi02NHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc3d7YmFja2dyb3VuZC1wb3Np
dGlvbjotODBweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotOTZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLW53e2JhY2tncm91bmQtcG9z
aXRpb246LTExMnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbi1ze2JhY2tncm91bmQt
cG9zaXRpb246LTEyOHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTQ0cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1lLXd7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMi1zZS1u
d3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0
b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC00OHB4O30udWktaWNvbi1hcnJvd3Ro
aWNrc3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTQ4cHg7fS51aS1pY29uLWFy
cm93dGhpY2tzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtNDhweDt9LnVpLWlj
b24tYXJyb3d0aGlja3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4O30u
dWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTY0cHg7
fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHgg
LTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246
LTMycHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ze2JhY2tncm91bmQtcG9z
aXRpb246LTQ4cHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtd3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi02NHB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1w
b3NpdGlvbjotODBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZXR1cm4tMS1le2JhY2tncm91bmQt
cG9zaXRpb246LTk2cHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtc3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xMTJweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xMjhweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZXti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNjRweDt9LnVpLWljb24tYXJyb3ctNHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOjAgLTgwcHg7fS51aS1pY29uLWFycm93LTQtZGlhZ3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xNnB4IC04MHB4O30udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRp
b246LTMycHggLTgwcHg7fS51aS1pY29uLW5ld3dpbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4
IC04MHB4O30udWktaWNvbi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTgwcHg7
fS51aS1pY29uLXNodWZmbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweDt9LnVpLWlj
b24tdHJhbnNmZXItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTgwcHg7fS51aS1pY29u
LXRyYW5zZmVydGhpY2stZS13e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC04MHB4O30udWkt
aWNvbi1mb2xkZXItY29sbGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweDt9LnVpLWlj
b24tZm9sZGVyLW9wZW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtOTZweDt9LnVpLWljb24t
ZG9jdW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTZweDt9LnVpLWljb24tZG9jdW1l
bnQtYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC05NnB4O30udWktaWNvbi1ub3Rle2JhY2tn
cm91bmQtcG9zaXRpb246LTY0cHggLTk2cHg7fS51aS1pY29uLW1haWwtY2xvc2Vke2JhY2tncm91
bmQtcG9zaXRpb246LTgwcHggLTk2cHg7fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi05NnB4IC05NnB4O30udWktaWNvbi1zdWl0Y2FzZXtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xMTJweCAtOTZweDt9LnVpLWljb24tY29tbWVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhw
eCAtOTZweDt9LnVpLWljb24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4
O30udWktaWNvbi1wcmludHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtOTZweDt9LnVpLWlj
b24tdHJhc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTk2cHg7fS51aS1pY29uLWxvY2tl
ZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtOTZweDt9LnVpLWljb24tdW5sb2NrZWR7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTk2cHg7fS51aS1pY29uLWJvb2ttYXJre2JhY2tncm91
bmQtcG9zaXRpb246LTIyNHB4IC05NnB4O30udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjQwcHggLTk2cHg7fS51aS1pY29uLWhvbWV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMTJw
eDt9LnVpLWljb24tZmxhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMTJweDt9LnVpLWlj
b24tY2FsZW5kYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHg7fS51aS1pY29uLWNh
cnR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTEycHg7fS51aS1pY29uLXBlbmNpbHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMTJweDt9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1w
b3NpdGlvbjotODBweCAtMTEycHg7fS51aS1pY29uLWRpc2t7YmFja2dyb3VuZC1wb3NpdGlvbjot
OTZweCAtMTEycHg7fS51aS1pY29uLWNhbGN1bGF0b3J7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEy
cHggLTExMnB4O30udWktaWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTEx
MnB4O30udWktaWNvbi16b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMTJweDt9
LnVpLWljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMTJweDt9LnVpLWlj
b24td3JlbmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweDt9LnVpLWljb24tZ2Vh
cntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTEycHg7fS51aS1pY29uLWhlYXJ0e2JhY2tn
cm91bmQtcG9zaXRpb246LTIwOHB4IC0xMTJweDt9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0yMjRweCAtMTEycHg7fS51aS1pY29uLWxpbmt7YmFja2dyb3VuZC1wb3NpdGlvbjot
MjQwcHggLTExMnB4O30udWktaWNvbi1jYW5jZWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhw
eDt9LnVpLWljb24tcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweDt9LnVpLWlj
b24tcGx1c3RoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTEyOHB4O30udWktaWNvbi1t
aW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMjhweDt9LnVpLWljb24tbWludXN0aGlj
a3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMjhweDt9LnVpLWljb24tY2xvc2V7YmFja2dy
b3VuZC1wb3NpdGlvbjotODBweCAtMTI4cHg7fS51aS1pY29uLWNsb3NldGhpY2t7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotOTZweCAtMTI4cHg7fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xMTJweCAtMTI4cHg7fS51aS1pY29uLWxpZ2h0YnVsYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
MjhweCAtMTI4cHg7fS51aS1pY29uLXNjaXNzb3Jze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4
IC0xMjhweDt9LnVpLWljb24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0x
MjhweDt9LnVpLWljb24tY29weXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTI4cHg7fS51
aS1pY29uLWNvbnRhY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyOHB4O30udWktaWNv
bi1pbWFnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHg7fS51aS1pY29uLXZpZGVv
e2JhY2tncm91bmQtcG9zaXRpb246LTIyNHB4IC0xMjhweDt9LnVpLWljb24tc2NyaXB0e2JhY2tn
cm91bmQtcG9zaXRpb246LTI0MHB4IC0xMjhweDt9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1w
b3NpdGlvbjowIC0xNDRweDt9LnVpLWljb24taW5mb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4
IC0xNDRweDt9LnVpLWljb24tbm90aWNle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE0NHB4
O30udWktaWNvbi1oZWxwe2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4O30udWktaWNv
bi1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNDRweDt9LnVpLWljb24tYnVsbGV0
e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE0NHB4O30udWktaWNvbi1yYWRpby1vZmZ7YmFj
a2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTQ0cHg7fS51aS1pY29uLXJhZGlvLW9ue2JhY2tncm91
bmQtcG9zaXRpb246LTExMnB4IC0xNDRweDt9LnVpLWljb24tcGluLXd7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTI4cHggLTE0NHB4O30udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NDRweCAtMTQ0cHg7fS51aS1pY29uLXBsYXl7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNjBweDt9
LnVpLWljb24tcGF1c2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTYwcHg7fS51aS1pY29u
LXNlZWstbmV4dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweDt9LnVpLWljb24tc2Vl
ay1wcmV2e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE2MHB4O30udWktaWNvbi1zZWVrLWVu
ZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1zdGFydHti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc2Vlay1maXJzdHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweDt9LnVpLWljb24tc3RvcHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi05NnB4IC0xNjBweDt9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjot
MTEycHggLTE2MHB4O30udWktaWNvbi12b2x1bWUtb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTEy
OHB4IC0xNjBweDt9LnVpLWljb24tdm9sdW1lLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4
IC0xNjBweDt9LnVpLWljb24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweDt9LnVp
LWljb24tc2lnbmFsLWRpYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTc2cHg7fS51aS1p
Y29uLXNpZ25hbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNzZweDt9LnVpLWljb24tYmF0
dGVyeS0we2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4O30udWktaWNvbi1iYXR0ZXJ5
LTF7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnktMnti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNzZweDt9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tn
cm91bmQtcG9zaXRpb246LTk2cHggLTE3NnB4O30udWktaWNvbi1jaXJjbGUtcGx1c3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOjAgLTE5MnB4O30udWktaWNvbi1jaXJjbGUtbWludXN7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0zMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWV7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotNDhweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ze2JhY2tn
cm91bmQtcG9zaXRpb246LTY0cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3ti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFuZ2xl
LW57YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1hcnJv
dy1le2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLWFy
cm93LXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUt
YXJyb3ctd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTkycHg7fS51aS1pY29uLWNpcmNs
ZS1hcnJvdy1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xOTJweDt9LnVpLWljb24tY2ly
Y2xlLXpvb21pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHg7fS51aS1pY29uLWNp
cmNsZS16b29tb3V0e2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xOTJweDt9LnVpLWljb24t
Y2lyY2xlLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xOTJweDt9LnVpLWljb24t
Y2lyY2xlc21hbGwtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4O30udWktaWNvbi1j
aXJjbGVzbWFsbC1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0yMDhweDt9LnVpLWlj
b24tY2lyY2xlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjA4cHg7fS51
aS1pY29uLXNxdWFyZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHg7
fS51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIw
OHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4
IC0yMDhweDt9LnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlv
bjowIC0yMjRweDt9LnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbHtiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0zMnB4IC0yMjRweDt9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFs
e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTIyNHB4O30udWktaWNvbi1ncmlwc21hbGwtZGlh
Z29uYWwtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjI0cHg7fS51aS1pY29uLWdyaXAt
ZGlhZ29uYWwtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjI0cHg7fS51aS1jb3JuZXIt
YWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRsey1tb3otYm9y
ZGVyLXJhZGl1cy10b3BsZWZ0OjRweDstd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4
Oy1raHRtbC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVz
OjRweDt9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci10b3AsLnVpLWNvcm5lci1yaWdodCwudWkt
Y29ybmVyLXRyey1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDo0cHg7LXdlYmtpdC1ib3JkZXIt
dG9wLXJpZ2h0LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDti
b3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90
dG9tLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLWJsey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0
b21sZWZ0OjRweDstd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4Oy1raHRtbC1i
b3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRw
eDt9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWkt
Y29ybmVyLWJyey1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDo0cHg7LXdlYmtpdC1ib3Jk
ZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7LWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFk
aXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7fS51aS13aWRnZXQtb3Zlcmxh
eXtiYWNrZ3JvdW5kOiNhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5w
bmcpIDUwJSA1MCUgcmVwZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7
fS51aS13aWRnZXQtc2hhZG93e21hcmdpbjotOHB4IDAgMCAtOHB4O3BhZGRpbmc6OHB4O2JhY2tn
cm91bmQ6I2FhYSB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAl
IDUwJSByZXBlYXQteDtvcGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTstbW96LWJv
cmRlci1yYWRpdXM6OHB4Oy1raHRtbC1ib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJvcmRlci1y
YWRpdXM6OHB4O2JvcmRlci1yYWRpdXM6OHB4O30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LXVpLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LXVpLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LXVpLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxMyBAQAorLyohCisgKiBqUXVl
cnkgVUkgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSQorICovCisoZnVuY3Rpb24oYSxjKXtmdW5jdGlv
biBkKGgsZyl7dmFyIGk9aC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCJhcmVhIj09PWkpe2c9
aC5wYXJlbnROb2RlO2k9Zy5uYW1lO2lmKCFoLmhyZWZ8fCFpfHxnLm5vZGVOYW1lLnRvTG93ZXJD
YXNlKCkhPT0ibWFwIilyZXR1cm4gZmFsc2U7aD1hKCJpbWdbdXNlbWFwPSMiK2krIl0iKVswXTty
ZXR1cm4hIWgmJmUoaCl9cmV0dXJuKC9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVj
dC8udGVzdChpKT8haC5kaXNhYmxlZDoiYSI9PWk/aC5ocmVmfHxnOmcpJiZlKGgpfWZ1bmN0aW9u
IGUoaCl7cmV0dXJuIWEoaCkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXty
ZXR1cm4gYS5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGEuZXhwci5maWx0
ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1hLnVpPWEudWl8fHt9O2lmKCFhLnVpLnZlcnNpb24p
e2EuZXh0ZW5kKGEudWkse3ZlcnNpb246IjEuOC4xNSIsCitrZXlDb2RlOntBTFQ6MTgsQkFDS1NQ
QUNFOjgsQ0FQU19MT0NLOjIwLENPTU1BOjE4OCxDT01NQU5EOjkxLENPTU1BTkRfTEVGVDo5MSxD
T01NQU5EX1JJR0hUOjkzLENPTlRST0w6MTcsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVS
OjEzLEVTQ0FQRToyNyxIT01FOjM2LElOU0VSVDo0NSxMRUZUOjM3LE1FTlU6OTMsTlVNUEFEX0FE
RDoxMDcsTlVNUEFEX0RFQ0lNQUw6MTEwLE5VTVBBRF9ESVZJREU6MTExLE5VTVBBRF9FTlRFUjox
MDgsTlVNUEFEX01VTFRJUExZOjEwNixOVU1QQURfU1VCVFJBQ1Q6MTA5LFBBR0VfRE9XTjozNCxQ
QUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU0hJRlQ6MTYsU1BBQ0U6MzIsVEFCOjksVVA6
MzgsV0lORE9XUzo5MX19KTthLmZuLmV4dGVuZCh7cHJvcEF0dHI6YS5mbi5wcm9wfHxhLmZuLmF0
dHIsX2ZvY3VzOmEuZm4uZm9jdXMsZm9jdXM6ZnVuY3Rpb24oaCxnKXtyZXR1cm4gdHlwZW9mIGg9
PT0ibnVtYmVyIj90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT0KK3RoaXM7c2V0VGltZW91dChm
dW5jdGlvbigpe2EoaSkuZm9jdXMoKTtnJiZnLmNhbGwoaSl9LGgpfSk6dGhpcy5fZm9jdXMuYXBw
bHkodGhpcyxhcmd1bWVudHMpfSxzY3JvbGxQYXJlbnQ6ZnVuY3Rpb24oKXt2YXIgaDtoPWEuYnJv
d3Nlci5tc2llJiYvKHN0YXRpY3xyZWxhdGl2ZSkvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikp
fHwvYWJzb2x1dGUvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpP3RoaXMucGFyZW50cygpLmZp
bHRlcihmdW5jdGlvbigpe3JldHVybi8ocmVsYXRpdmV8YWJzb2x1dGV8Zml4ZWQpLy50ZXN0KGEu
Y3VyQ1NTKHRoaXMsInBvc2l0aW9uIiwxKSkmJi8oYXV0b3xzY3JvbGwpLy50ZXN0KGEuY3VyQ1NT
KHRoaXMsIm92ZXJmbG93IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKSthLmN1ckNT
Uyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTp0aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVu
Y3Rpb24oKXtyZXR1cm4vKGF1dG98c2Nyb2xsKS8udGVzdChhLmN1ckNTUyh0aGlzLAorIm92ZXJm
bG93IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKSthLmN1ckNTUyh0aGlzLCJvdmVy
Zmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4vZml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9u
IikpfHwhaC5sZW5ndGg/YShkb2N1bWVudCk6aH0sekluZGV4OmZ1bmN0aW9uKGgpe2lmKGghPT1j
KXJldHVybiB0aGlzLmNzcygiekluZGV4IixoKTtpZih0aGlzLmxlbmd0aCl7aD1hKHRoaXNbMF0p
O2Zvcih2YXIgZztoLmxlbmd0aCYmaFswXSE9PWRvY3VtZW50Oyl7Zz1oLmNzcygicG9zaXRpb24i
KTtpZihnPT09ImFic29sdXRlInx8Zz09PSJyZWxhdGl2ZSJ8fGc9PT0iZml4ZWQiKXtnPXBhcnNl
SW50KGguY3NzKCJ6SW5kZXgiKSwxMCk7aWYoIWlzTmFOKGcpJiZnIT09MClyZXR1cm4gZ31oPWgu
cGFyZW50KCl9fXJldHVybiAwfSxkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRo
aXMuYmluZCgoYS5zdXBwb3J0LnNlbGVjdHN0YXJ0PyJzZWxlY3RzdGFydCI6CisibW91c2Vkb3du
IikrIi51aS1kaXNhYmxlU2VsZWN0aW9uIixmdW5jdGlvbihoKXtoLnByZXZlbnREZWZhdWx0KCl9
KX0sZW5hYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5iaW5kKCIudWktZGlz
YWJsZVNlbGVjdGlvbiIpfX0pO2EuZWFjaChbIldpZHRoIiwiSGVpZ2h0Il0sZnVuY3Rpb24oaCxn
KXtmdW5jdGlvbiBpKGwsbyxuLGspe2EuZWFjaChiLGZ1bmN0aW9uKCl7by09cGFyc2VGbG9hdChh
LmN1ckNTUyhsLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MDtpZihuKW8tPXBhcnNlRmxvYXQoYS5j
dXJDU1MobCwiYm9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO2lmKGspby09cGFyc2VGbG9h
dChhLmN1ckNTUyhsLCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwfSk7cmV0dXJuIG99dmFyIGI9Zz09
PSJXaWR0aCI/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJvdHRvbSJdLGY9Zy50b0xvd2VyQ2Fz
ZSgpLGo9e2lubmVyV2lkdGg6YS5mbi5pbm5lcldpZHRoLGlubmVySGVpZ2h0OmEuZm4uaW5uZXJI
ZWlnaHQsCitvdXRlcldpZHRoOmEuZm4ub3V0ZXJXaWR0aCxvdXRlckhlaWdodDphLmZuLm91dGVy
SGVpZ2h0fTthLmZuWyJpbm5lciIrZ109ZnVuY3Rpb24obCl7aWYobD09PWMpcmV0dXJuIGpbImlu
bmVyIitnXS5jYWxsKHRoaXMpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmNz
cyhmLGkodGhpcyxsKSsicHgiKX0pfTthLmZuWyJvdXRlciIrZ109ZnVuY3Rpb24obCxvKXtpZih0
eXBlb2YgbCE9PSJudW1iZXIiKXJldHVybiBqWyJvdXRlciIrZ10uY2FsbCh0aGlzLGwpO3JldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmNzcyhmLGkodGhpcyxsLHRydWUsbykrInB4
Iil9KX19KTthLmV4dGVuZChhLmV4cHJbIjoiXSx7ZGF0YTpmdW5jdGlvbihoLGcsaSl7cmV0dXJu
ISFhLmRhdGEoaCxpWzNdKX0sZm9jdXNhYmxlOmZ1bmN0aW9uKGgpe3JldHVybiBkKGgsIWlzTmFO
KGEuYXR0cihoLCJ0YWJpbmRleCIpKSl9LHRhYmJhYmxlOmZ1bmN0aW9uKGgpe3ZhciBnPWEuYXR0
cihoLAorInRhYmluZGV4IiksaT1pc05hTihnKTtyZXR1cm4oaXx8Zz49MCkmJmQoaCwhaSl9fSk7
YShmdW5jdGlvbigpe3ZhciBoPWRvY3VtZW50LmJvZHksZz1oLmFwcGVuZENoaWxkKGc9ZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2EuZXh0ZW5kKGcuc3R5bGUse21pbkhlaWdodDoiMTAw
cHgiLGhlaWdodDoiYXV0byIscGFkZGluZzowLGJvcmRlcldpZHRoOjB9KTthLnN1cHBvcnQubWlu
SGVpZ2h0PWcub2Zmc2V0SGVpZ2h0PT09MTAwO2Euc3VwcG9ydC5zZWxlY3RzdGFydD0ib25zZWxl
Y3RzdGFydCJpbiBnO2gucmVtb3ZlQ2hpbGQoZykuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthLmV4
dGVuZChhLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbihoLGcsaSl7aD1hLnVpW2hdLnByb3RvdHlw
ZTtmb3IodmFyIGIgaW4gaSl7aC5wbHVnaW5zW2JdPWgucGx1Z2luc1tiXXx8W107aC5wbHVnaW5z
W2JdLnB1c2goW2csaVtiXV0pfX0sY2FsbDpmdW5jdGlvbihoLGcsaSl7aWYoKGc9aC5wbHVnaW5z
W2ddKSYmCitoLmVsZW1lbnRbMF0ucGFyZW50Tm9kZSlmb3IodmFyIGI9MDtiPGcubGVuZ3RoO2Ir
KyloLm9wdGlvbnNbZ1tiXVswXV0mJmdbYl1bMV0uYXBwbHkoaC5lbGVtZW50LGkpfX0sY29udGFp
bnM6ZnVuY3Rpb24oaCxnKXtyZXR1cm4gZG9jdW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/
aC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihnKSYxNjpoIT09ZyYmaC5jb250YWlucyhnKX0saGFz
U2Nyb2xsOmZ1bmN0aW9uKGgsZyl7aWYoYShoKS5jc3MoIm92ZXJmbG93Iik9PT0iaGlkZGVuIily
ZXR1cm4gZmFsc2U7Zz1nJiZnPT09ImxlZnQiPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIjt2YXIg
aT1mYWxzZTtpZihoW2ddPjApcmV0dXJuIHRydWU7aFtnXT0xO2k9aFtnXT4wO2hbZ109MDtyZXR1
cm4gaX0saXNPdmVyQXhpczpmdW5jdGlvbihoLGcsaSl7cmV0dXJuIGg+ZyYmaDxnK2l9LGlzT3Zl
cjpmdW5jdGlvbihoLGcsaSxiLGYsail7cmV0dXJuIGEudWkuaXNPdmVyQXhpcyhoLGksZikmJgor
YS51aS5pc092ZXJBeGlzKGcsYixqKX19KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEsYyl7aWYo
YS5jbGVhbkRhdGEpe3ZhciBkPWEuY2xlYW5EYXRhO2EuY2xlYW5EYXRhPWZ1bmN0aW9uKGgpe2Zv
cih2YXIgZz0wLGk7KGk9aFtnXSkhPW51bGw7ZysrKWEoaSkudHJpZ2dlckhhbmRsZXIoInJlbW92
ZSIpO2QoaCl9fWVsc2V7dmFyIGU9YS5mbi5yZW1vdmU7YS5mbi5yZW1vdmU9ZnVuY3Rpb24oaCxn
KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIWcpaWYoIWh8fGEuZmlsdGVyKGgsW3Ro
aXNdKS5sZW5ndGgpYSgiKiIsdGhpcykuYWRkKFt0aGlzXSkuZWFjaChmdW5jdGlvbigpe2EodGhp
cykudHJpZ2dlckhhbmRsZXIoInJlbW92ZSIpfSk7cmV0dXJuIGUuY2FsbChhKHRoaXMpLGgsZyl9
KX19YS53aWRnZXQ9ZnVuY3Rpb24oaCxnLGkpe3ZhciBiPWguc3BsaXQoIi4iKVswXSxmO2g9aC5z
cGxpdCgiLiIpWzFdO2Y9YisiLSIraDtpZighaSl7aT1nO2c9YS5XaWRnZXR9YS5leHByWyI6Il1b
Zl09ZnVuY3Rpb24oail7cmV0dXJuISFhLmRhdGEoaiwKK2gpfTthW2JdPWFbYl18fHt9O2FbYl1b
aF09ZnVuY3Rpb24oaixsKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaixs
KX07Zz1uZXcgZztnLm9wdGlvbnM9YS5leHRlbmQodHJ1ZSx7fSxnLm9wdGlvbnMpO2FbYl1baF0u
cHJvdG90eXBlPWEuZXh0ZW5kKHRydWUsZyx7bmFtZXNwYWNlOmIsd2lkZ2V0TmFtZTpoLHdpZGdl
dEV2ZW50UHJlZml4OmFbYl1baF0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxoLHdpZGdl
dEJhc2VDbGFzczpmfSxpKTthLndpZGdldC5icmlkZ2UoaCxhW2JdW2hdKX07YS53aWRnZXQuYnJp
ZGdlPWZ1bmN0aW9uKGgsZyl7YS5mbltoXT1mdW5jdGlvbihpKXt2YXIgYj10eXBlb2YgaT09PSJz
dHJpbmciLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGo9dGhpcztp
PSFiJiZmLmxlbmd0aD9hLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGldLmNvbmNhdChmKSk6aTtp
ZihiJiZpLmNoYXJBdCgwKT09PSJfIilyZXR1cm4gajsKK2I/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGw9YS5kYXRhKHRoaXMsaCksbz1sJiZhLmlzRnVuY3Rpb24obFtpXSk/bFtpXS5hcHBseShs
LGYpOmw7aWYobyE9PWwmJm8hPT1jKXtqPW87cmV0dXJuIGZhbHNlfX0pOnRoaXMuZWFjaChmdW5j
dGlvbigpe3ZhciBsPWEuZGF0YSh0aGlzLGgpO2w/bC5vcHRpb24oaXx8e30pLl9pbml0KCk6YS5k
YXRhKHRoaXMsaCxuZXcgZyhpLHRoaXMpKX0pO3JldHVybiBqfX07YS5XaWRnZXQ9ZnVuY3Rpb24o
aCxnKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaCxnKX07YS5XaWRnZXQu
cHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLG9wdGlv
bnM6e2Rpc2FibGVkOmZhbHNlfSxfY3JlYXRlV2lkZ2V0OmZ1bmN0aW9uKGgsZyl7YS5kYXRhKGcs
dGhpcy53aWRnZXROYW1lLHRoaXMpO3RoaXMuZWxlbWVudD1hKGcpO3RoaXMub3B0aW9ucz1hLmV4
dGVuZCh0cnVlLHt9LHRoaXMub3B0aW9ucywKK3RoaXMuX2dldENyZWF0ZU9wdGlvbnMoKSxoKTt2
YXIgaT10aGlzO3RoaXMuZWxlbWVudC5iaW5kKCJyZW1vdmUuIit0aGlzLndpZGdldE5hbWUsZnVu
Y3Rpb24oKXtpLmRlc3Ryb3koKX0pO3RoaXMuX2NyZWF0ZSgpO3RoaXMuX3RyaWdnZXIoImNyZWF0
ZSIpO3RoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gYS5t
ZXRhZGF0YSYmYS5tZXRhZGF0YS5nZXQodGhpcy5lbGVtZW50WzBdKVt0aGlzLndpZGdldE5hbWVd
fSxfY3JlYXRlOmZ1bmN0aW9uKCl7fSxfaW5pdDpmdW5jdGlvbigpe30sZGVzdHJveTpmdW5jdGlv
bigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlRGF0YSh0
aGlzLndpZGdldE5hbWUpO3RoaXMud2lkZ2V0KCkudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUp
LnJlbW92ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVDbGFzcyh0aGlzLndpZGdldEJhc2VD
bGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LAord2lkZ2V0OmZ1bmN0aW9uKCl7
cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGgsZyl7dmFyIGk9aDtpZihhcmd1
bWVudHMubGVuZ3RoPT09MClyZXR1cm4gYS5leHRlbmQoe30sdGhpcy5vcHRpb25zKTtpZih0eXBl
b2YgaD09PSJzdHJpbmciKXtpZihnPT09YylyZXR1cm4gdGhpcy5vcHRpb25zW2hdO2k9e307aVto
XT1nfXRoaXMuX3NldE9wdGlvbnMoaSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9u
KGgpe3ZhciBnPXRoaXM7YS5lYWNoKGgsZnVuY3Rpb24oaSxiKXtnLl9zZXRPcHRpb24oaSxiKX0p
O3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGgsZyl7dGhpcy5vcHRpb25zW2hdPWc7
aWYoaD09PSJkaXNhYmxlZCIpdGhpcy53aWRnZXQoKVtnPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNz
Il0odGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLmF0
dHIoImFyaWEtZGlzYWJsZWQiLGcpO3JldHVybiB0aGlzfSwKK2VuYWJsZTpmdW5jdGlvbigpe3Jl
dHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixmYWxzZSl9LGRpc2FibGU6ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdHJ1ZSl9LF90cmlnZ2VyOmZ1bmN0
aW9uKGgsZyxpKXt2YXIgYj10aGlzLm9wdGlvbnNbaF07Zz1hLkV2ZW50KGcpO2cudHlwZT0oaD09
PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/aDp0aGlzLndpZGdldEV2ZW50UHJlZml4K2gpLnRvTG93
ZXJDYXNlKCk7aT1pfHx7fTtpZihnLm9yaWdpbmFsRXZlbnQpe2g9YS5ldmVudC5wcm9wcy5sZW5n
dGg7Zm9yKHZhciBmO2g7KXtmPWEuZXZlbnQucHJvcHNbLS1oXTtnW2ZdPWcub3JpZ2luYWxFdmVu
dFtmXX19dGhpcy5lbGVtZW50LnRyaWdnZXIoZyxpKTtyZXR1cm4hKGEuaXNGdW5jdGlvbihiKSYm
Yi5jYWxsKHRoaXMuZWxlbWVudFswXSxnLGkpPT09ZmFsc2V8fGcuaXNEZWZhdWx0UHJldmVudGVk
KCkpfX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlv
bnM6e2NhbmNlbDoiOmlucHV0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0
OmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhp
cy53aWRnZXROYW1lLGZ1bmN0aW9uKGQpe3JldHVybiBjLl9tb3VzZURvd24oZCl9KS5iaW5kKCJj
bGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihkKXtpZih0cnVlPT09YS5kYXRhKGQudGFy
Z2V0LGMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iikpe2EucmVtb3ZlRGF0YShkLnRh
cmdldCxjLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpO2Quc3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uKCk7cmV0dXJuIGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVz
dHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSl9
LF9tb3VzZURvd246ZnVuY3Rpb24oYyl7Yy5vcmlnaW5hbEV2ZW50PQorYy5vcmlnaW5hbEV2ZW50
fHx7fTtpZighYy5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZCl7dGhpcy5fbW91c2VTdGFydGVk
JiZ0aGlzLl9tb3VzZVVwKGMpO3RoaXMuX21vdXNlRG93bkV2ZW50PWM7dmFyIGQ9dGhpcyxlPWMu
d2hpY2g9PTEsaD10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YShjLnRhcmdl
dCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWV8fGh8fCF0
aGlzLl9tb3VzZUNhcHR1cmUoYykpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlz
Lm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGlt
ZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2QubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlv
bnMuZGVsYXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYykmJnRoaXMuX21vdXNlRGVsYXlN
ZXQoYykpe3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGMpIT09CitmYWxzZTtp
ZighdGhpcy5fbW91c2VTdGFydGVkKXtjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRy
dWU9PT1hLmRhdGEoYy50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQi
KSYmYS5yZW1vdmVEYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2
ZW50Iik7dGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIGQuX21vdXNl
TW92ZShnKX07dGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGcpe3JldHVybiBkLl9tb3Vz
ZVVwKGcpfTthKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhp
cy5fbW91c2VNb3ZlRGVsZWdhdGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhp
cy5fbW91c2VVcERlbGVnYXRlKTtjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGMub3JpZ2luYWxF
dmVudC5tb3VzZUhhbmRsZWQ9dHJ1ZX19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oYyl7aWYoYS5icm93
c2VyLm1zaWUmJgorIShkb2N1bWVudC5kb2N1bWVudE1vZGU+PTkpJiYhYy5idXR0b24pcmV0dXJu
IHRoaXMuX21vdXNlVXAoYyk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZURyYWco
Yyk7cmV0dXJuIGMucHJldmVudERlZmF1bHQoKX1pZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGMp
JiZ0aGlzLl9tb3VzZURlbGF5TWV0KGMpKSh0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VT
dGFydCh0aGlzLl9tb3VzZURvd25FdmVudCxjKSE9PWZhbHNlKT90aGlzLl9tb3VzZURyYWcoYyk6
dGhpcy5fbW91c2VVcChjKTtyZXR1cm4hdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5j
dGlvbihjKXthKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0
aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1l
LHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3Vz
ZVN0YXJ0ZWQ9CitmYWxzZTtjLnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZh
LmRhdGEoYy50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUp
O3RoaXMuX21vdXNlU3RvcChjKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0
aW9uKGMpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdl
WC1jLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1jLnBhZ2VZKSk+
PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpm
dW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlv
bigpe3JldHVybiB0cnVlfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndpZGdldCgidWku
ZHJhZ2dhYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoiZHJhZyIsb3B0aW9uczp7
YWRkQ2xhc3Nlczp0cnVlLGFwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFsc2UsY29ubmVjdFRvU29y
dGFibGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDpmYWxz
ZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFsIixpZnJhbWVGaXg6ZmFs
c2Usb3BhY2l0eTpmYWxzZSxyZWZyZXNoUG9zaXRpb25zOmZhbHNlLHJldmVydDpmYWxzZSxyZXZl
cnREdXJhdGlvbjo1MDAsc2NvcGU6ImRlZmF1bHQiLHNjcm9sbDp0cnVlLHNjcm9sbFNlbnNpdGl2
aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ZmFsc2Usc25hcE1vZGU6ImJvdGgiLHNuYXBUb2xl
cmFuY2U6MjAsc3RhY2s6ZmFsc2UsekluZGV4OmZhbHNlfSxfY3JlYXRlOmZ1bmN0aW9uKCl7aWYo
dGhpcy5vcHRpb25zLmhlbHBlcj09Cisib3JpZ2luYWwiJiYhL14oPzpyfGF8ZikvLnRlc3QodGhp
cy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBdLnN0eWxlLnBvc2l0aW9u
PSJyZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFz
cygidWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95
OmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtZW50LmRhdGEoImRyYWdnYWJsZSIpKXt0aGlzLmVsZW1l
bnQucmVtb3ZlRGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dhYmxlIikucmVtb3ZlQ2xh
c3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2Fi
bGVkIik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9fSxfbW91c2VDYXB0dXJlOmZ1
bmN0aW9uKGMpe3ZhciBkPQordGhpcy5vcHRpb25zO2lmKHRoaXMuaGVscGVyfHxkLmRpc2FibGVk
fHxhKGMudGFyZ2V0KS5pcygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSlyZXR1cm4gZmFsc2U7dGhp
cy5oYW5kbGU9dGhpcy5fZ2V0SGFuZGxlKGMpO2lmKCF0aGlzLmhhbmRsZSlyZXR1cm4gZmFsc2U7
YShkLmlmcmFtZUZpeD09PXRydWU/ImlmcmFtZSI6ZC5pZnJhbWVGaXgpLmVhY2goZnVuY3Rpb24o
KXthKCc8ZGl2IGNsYXNzPSJ1aS1kcmFnZ2FibGUtaWZyYW1lRml4IiBzdHlsZT0iYmFja2dyb3Vu
ZDogI2ZmZjsiPjwvZGl2PicpLmNzcyh7d2lkdGg6dGhpcy5vZmZzZXRXaWR0aCsicHgiLGhlaWdo
dDp0aGlzLm9mZnNldEhlaWdodCsicHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsb3BhY2l0eToiMC4w
MDEiLHpJbmRleDoxRTN9KS5jc3MoYSh0aGlzKS5vZmZzZXQoKSkuYXBwZW5kVG8oImJvZHkiKX0p
O3JldHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnM7
dGhpcy5oZWxwZXI9Cit0aGlzLl9jcmVhdGVIZWxwZXIoYyk7dGhpcy5fY2FjaGVIZWxwZXJQcm9w
b3J0aW9ucygpO2lmKGEudWkuZGRtYW5hZ2VyKWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpczt0
aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9z
aXRpb24iKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlz
Lm9mZnNldD10aGlzLnBvc2l0aW9uQWJzPXRoaXMuZWxlbWVudC5vZmZzZXQoKTt0aGlzLm9mZnNl
dD17dG9wOnRoaXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5vZmZzZXQu
bGVmdC10aGlzLm1hcmdpbnMubGVmdH07YS5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0
OmMucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6Yy5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBh
cmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9m
ZnNldCgpfSk7Cit0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5l
cmF0ZVBvc2l0aW9uKGMpO3RoaXMub3JpZ2luYWxQYWdlWD1jLnBhZ2VYO3RoaXMub3JpZ2luYWxQ
YWdlWT1jLnBhZ2VZO2QuY3Vyc29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoZC5j
dXJzb3JBdCk7ZC5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1lbnQoKTtpZih0aGlzLl90
cmlnZ2VyKCJzdGFydCIsYyk9PT1mYWxzZSl7dGhpcy5fY2xlYXIoKTtyZXR1cm4gZmFsc2V9dGhp
cy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2EudWkuZGRtYW5hZ2VyJiYhZC5kcm9wQmVoYXZp
b3VyJiZhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGMpO3RoaXMuaGVscGVyLmFk
ZENsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLl9tb3VzZURyYWcoYyx0cnVlKTth
LnVpLmRkbWFuYWdlciYmYS51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsYyk7cmV0dXJuIHRy
dWV9LAorX21vdXNlRHJhZzpmdW5jdGlvbihjLGQpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJh
dGVQb3NpdGlvbihjKTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJh
YnNvbHV0ZSIpO2lmKCFkKXtkPXRoaXMuX3VpSGFzaCgpO2lmKHRoaXMuX3RyaWdnZXIoImRyYWci
LGMsZCk9PT1mYWxzZSl7dGhpcy5fbW91c2VVcCh7fSk7cmV0dXJuIGZhbHNlfXRoaXMucG9zaXRp
b249ZC5wb3NpdGlvbn1pZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0i
eSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9uLmxlZnQrInB4IjtpZigh
dGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIpdGhpcy5oZWxwZXJbMF0u
c3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7YS51aS5kZG1hbmFnZXImJmEudWkuZGRt
YW5hZ2VyLmRyYWcodGhpcyxjKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7
dmFyIGQ9CitmYWxzZTtpZihhLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0aW9ucy5kcm9wQmVoYXZp
b3VyKWQ9YS51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGMpO2lmKHRoaXMuZHJvcHBlZCl7ZD10aGlz
LmRyb3BwZWQ7dGhpcy5kcm9wcGVkPWZhbHNlfWlmKCghdGhpcy5lbGVtZW50WzBdfHwhdGhpcy5l
bGVtZW50WzBdLnBhcmVudE5vZGUpJiZ0aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiKXJl
dHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0PT0iaW52YWxpZCImJiFkfHx0aGlzLm9w
dGlvbnMucmV2ZXJ0PT0idmFsaWQiJiZkfHx0aGlzLm9wdGlvbnMucmV2ZXJ0PT09dHJ1ZXx8YS5p
c0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwo
dGhpcy5lbGVtZW50LGQpKXt2YXIgZT10aGlzO2EodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5v
cmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwKKzEw
KSxmdW5jdGlvbigpe2UuX3RyaWdnZXIoInN0b3AiLGMpIT09ZmFsc2UmJmUuX2NsZWFyKCl9KX1l
bHNlIHRoaXMuX3RyaWdnZXIoInN0b3AiLGMpIT09ZmFsc2UmJnRoaXMuX2NsZWFyKCk7cmV0dXJu
IGZhbHNlfSxfbW91c2VVcDpmdW5jdGlvbihjKXt0aGlzLm9wdGlvbnMuaWZyYW1lRml4PT09dHJ1
ZSYmYSgiZGl2LnVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMpfSk7YS51aS5kZG1hbmFnZXImJmEudWkuZGRtYW5h
Z2VyLmRyYWdTdG9wKHRoaXMsYyk7cmV0dXJuIGEudWkubW91c2UucHJvdG90eXBlLl9tb3VzZVVw
LmNhbGwodGhpcyxjKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIuaXMoIi51aS1kcmFn
Z2FibGUtZHJhZ2dpbmciKT90aGlzLl9tb3VzZVVwKHt9KTp0aGlzLl9jbGVhcigpO3JldHVybiB0
aGlzfSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKGMpe3ZhciBkPSF0aGlzLm9wdGlvbnMuaGFuZGxlfHwK
KyFhKHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5sZW5ndGg/dHJ1ZTpmYWxzZTth
KHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5maW5kKCIqIikuYW5kU2VsZigpLmVh
Y2goZnVuY3Rpb24oKXtpZih0aGlzPT1jLnRhcmdldClkPXRydWV9KTtyZXR1cm4gZH0sX2NyZWF0
ZUhlbHBlcjpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnM7Yz1hLmlzRnVuY3Rpb24oZC5o
ZWxwZXIpP2EoZC5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtjXSkpOmQuaGVscGVyPT0i
Y2xvbmUiP3RoaXMuZWxlbWVudC5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIik6dGhpcy5lbGVtZW50
O2MucGFyZW50cygiYm9keSIpLmxlbmd0aHx8Yy5hcHBlbmRUbyhkLmFwcGVuZFRvPT0icGFyZW50
Ij90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTpkLmFwcGVuZFRvKTtjWzBdIT10aGlzLmVsZW1l
bnRbMF0mJiEvKGZpeGVkfGFic29sdXRlKS8udGVzdChjLmNzcygicG9zaXRpb24iKSkmJgorYy5j
c3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTtyZXR1cm4gY30sX2FkanVzdE9mZnNldEZyb21IZWxw
ZXI6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGM9PSJzdHJpbmciKWM9Yy5zcGxpdCgiICIpO2lmKGEu
aXNBcnJheShjKSljPXtsZWZ0OitjWzBdLHRvcDorY1sxXXx8MH07aWYoImxlZnQiaW4gYyl0aGlz
Lm9mZnNldC5jbGljay5sZWZ0PWMubGVmdCt0aGlzLm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4g
Yyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYy5y
aWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9wImluIGMpdGhpcy5vZmZzZXQuY2xpY2sudG9w
PWMudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJvdHRvbSJpbiBjKXRoaXMub2Zmc2V0LmNsaWNr
LnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1jLmJvdHRvbSt0aGlzLm1hcmdpbnMu
dG9wfSxfZ2V0UGFyZW50T2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZzZXRQYXJlbnQ9Cit0aGlz
LmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYz10aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtp
Zih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9j
dW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJl
bnRbMF0pKXtjLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTtjLnRvcCs9dGhp
cy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3Vt
ZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50
WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiJiZhLmJyb3dzZXIubXNpZSljPXt0b3A6
MCxsZWZ0OjB9O3JldHVybnt0b3A6Yy50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNz
cygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6Yy5sZWZ0KyhwYXJzZUludCh0aGlzLm9m
ZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLAorMTApfHwwKX19LF9nZXRSZWxhdGl2
ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3NzUG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBj
PXRoaXMuZWxlbWVudC5wb3NpdGlvbigpO3JldHVybnt0b3A6Yy50b3AtKHBhcnNlSW50KHRoaXMu
aGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxs
ZWZ0OmMubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9j
YWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5l
bGVtZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5lbGVtZW50
LmNzcygibWFyZ2luVG9wIiksMTApfHwwLHJpZ2h0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3Mo
Im1hcmdpblJpZ2h0IiksMTApfHwwLGJvdHRvbTpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJt
YXJnaW5Cb3R0b20iKSwKKzEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9u
KCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgp
LGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0
aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zO2lmKGMuY29udGFpbm1lbnQ9PSJwYXJlbnQiKWMuY29u
dGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihjLmNvbnRhaW5tZW50PT0iZG9j
dW1lbnQifHxjLmNvbnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRhaW5tZW50PVtjLmNvbnRh
aW5tZW50PT0iZG9jdW1lbnQiPzA6YSh3aW5kb3cpLnNjcm9sbExlZnQoKS10aGlzLm9mZnNldC5y
ZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LGMuY29udGFpbm1lbnQ9PSJkb2N1
bWVudCI/MDphKHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRo
aXMub2Zmc2V0LnBhcmVudC50b3AsCisoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2lu
ZG93KS5zY3JvbGxMZWZ0KCkpK2EoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3
aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMu
bGVmdCwoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2luZG93KS5zY3JvbGxUb3AoKSkr
KGEoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLmhlaWdodCgpfHxk
b2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRp
b25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8d2luZG93fHBhcmVu
dCkkLy50ZXN0KGMuY29udGFpbm1lbnQpJiZjLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yIT1BcnJh
eSl7Yz1hKGMuY29udGFpbm1lbnQpO3ZhciBkPWNbMF07aWYoZCl7Yy5vZmZzZXQoKTt2YXIgZT1h
KGQpLmNzcygib3ZlcmZsb3ciKSE9CisiaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVsocGFyc2VJ
bnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3Nz
KCJwYWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0
aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKSwoZT9N
YXRoLm1heChkLnNjcm9sbFdpZHRoLGQub2Zmc2V0V2lkdGgpOmQub2Zmc2V0V2lkdGgpLShwYXJz
ZUludChhKGQpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYShkKS5j
c3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10
aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKGU/TWF0aC5tYXgoZC5zY3JvbGxI
ZWlnaHQsZC5vZmZzZXRIZWlnaHQpOmQub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoYShkKS5jc3Mo
ImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApLShwYXJzZUludChhKGQpLmNzcygicGFkZGluZ0Jv
dHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5z
LnRvcC10aGlzLm1hcmdpbnMuYm90dG9tXTt0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcj1jfX1lbHNl
IGlmKGMuY29udGFpbm1lbnQuY29uc3RydWN0b3I9PUFycmF5KXRoaXMuY29udGFpbm1lbnQ9Yy5j
b250YWlubWVudH0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGMsZCl7aWYoIWQpZD10aGlz
LnBvc2l0aW9uO2M9Yz09ImFic29sdXRlIj8xOi0xO3ZhciBlPXRoaXMuY3NzUG9zaXRpb249PSJh
YnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5z
KHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQ
YXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFt
ZSk7cmV0dXJue3RvcDpkLnRvcCsKK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCpjK3RoaXMub2Zm
c2V0LnBhcmVudC50b3AqYy0oYS5icm93c2VyLnNhZmFyaSYmYS5icm93c2VyLnZlcnNpb248NTI2
JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/
LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRvcCgpKSpjKSxsZWZ0
OmQubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmMrdGhpcy5vZmZzZXQucGFyZW50Lmxl
ZnQqYy0oYS5icm93c2VyLnNhZmFyaSYmYS5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bv
c2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xs
UGFyZW50LnNjcm9sbExlZnQoKTpoPzA6ZS5zY3JvbGxMZWZ0KCkpKmMpfX0sX2dlbmVyYXRlUG9z
aXRpb246ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5jc3NQb3NpdGlvbj09
ImFic29sdXRlIiYmCishKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250
YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zm
c2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChlWzBdLnRh
Z05hbWUpLGc9Yy5wYWdlWCxpPWMucGFnZVk7aWYodGhpcy5vcmlnaW5hbFBvc2l0aW9uKXt2YXIg
YjtpZih0aGlzLmNvbnRhaW5tZW50KXtpZih0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcil7Yj10aGlz
LnJlbGF0aXZlX2NvbnRhaW5lci5vZmZzZXQoKTtiPVt0aGlzLmNvbnRhaW5tZW50WzBdK2IubGVm
dCx0aGlzLmNvbnRhaW5tZW50WzFdK2IudG9wLHRoaXMuY29udGFpbm1lbnRbMl0rYi5sZWZ0LHRo
aXMuY29udGFpbm1lbnRbM10rYi50b3BdfWVsc2UgYj10aGlzLmNvbnRhaW5tZW50O2lmKGMucGFn
ZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdKWc9YlswXSt0aGlzLm9mZnNldC5jbGljay5s
ZWZ0OworaWYoYy5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8YlsxXSlpPWJbMV0rdGhpcy5v
ZmZzZXQuY2xpY2sudG9wO2lmKGMucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5iWzJdKWc9
YlsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMucGFnZVktdGhpcy5vZmZzZXQuY2xpY2su
dG9wPmJbM10paT1iWzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihkLmdyaWQpe2k9ZC5ncmlk
WzFdP3RoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChpLXRoaXMub3JpZ2luYWxQYWdlWSkv
ZC5ncmlkWzFdKSpkLmdyaWRbMV06dGhpcy5vcmlnaW5hbFBhZ2VZO2k9Yj8hKGktdGhpcy5vZmZz
ZXQuY2xpY2sudG9wPGJbMV18fGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPmJbM10pP2k6IShpLXRo
aXMub2Zmc2V0LmNsaWNrLnRvcDxiWzFdKT9pLWQuZ3JpZFsxXTppK2QuZ3JpZFsxXTppO2c9ZC5n
cmlkWzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChnLXRoaXMub3JpZ2luYWxQYWdl
WCkvCitkLmdyaWRbMF0pKmQuZ3JpZFswXTp0aGlzLm9yaWdpbmFsUGFnZVg7Zz1iPyEoZy10aGlz
Lm9mZnNldC5jbGljay5sZWZ0PGJbMF18fGctdGhpcy5vZmZzZXQuY2xpY2subGVmdD5iWzJdKT9n
OiEoZy10aGlzLm9mZnNldC5jbGljay5sZWZ0PGJbMF0pP2ctZC5ncmlkWzBdOmcrZC5ncmlkWzBd
Omd9fXJldHVybnt0b3A6aS10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRp
dmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nl
ci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRp
b249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRv
cCgpKSxsZWZ0OmctdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5s
ZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhhLmJyb3dzZXIuc2FmYXJpJiZhLmJyb3dzZXIu
dmVyc2lvbjwKKzUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRp
b249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpoPzA6ZS5zY3JvbGxM
ZWZ0KCkpfX0sX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIucmVtb3ZlQ2xhc3MoInVpLWRy
YWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuaGVscGVyWzBdIT10aGlzLmVsZW1lbnRbMF0mJiF0aGlz
LmNhbmNlbEhlbHBlclJlbW92YWwmJnRoaXMuaGVscGVyLnJlbW92ZSgpO3RoaXMuaGVscGVyPW51
bGw7dGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNlfSxfdHJpZ2dlcjpmdW5jdGlvbihjLGQs
ZSl7ZT1lfHx0aGlzLl91aUhhc2goKTthLnVpLnBsdWdpbi5jYWxsKHRoaXMsYyxbZCxlXSk7aWYo
Yz09ImRyYWciKXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29s
dXRlIik7cmV0dXJuIGEuV2lkZ2V0LnByb3RvdHlwZS5fdHJpZ2dlci5jYWxsKHRoaXMsYyxkLAor
ZSl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxw
ZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQ
b3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSk7YS5leHRlbmQoYS51aS5kcmFnZ2Fi
bGUse3ZlcnNpb246IjEuOC4xNSJ9KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5l
Y3RUb1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oYyxkKXt2YXIgZT1hKHRoaXMpLmRhdGEoImRy
YWdnYWJsZSIpLGg9ZS5vcHRpb25zLGc9YS5leHRlbmQoe30sZCx7aXRlbTplLmVsZW1lbnR9KTtl
LnNvcnRhYmxlcz1bXTthKGguY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rpb24oKXt2YXIg
aT1hLmRhdGEodGhpcywic29ydGFibGUiKTtpZihpJiYhaS5vcHRpb25zLmRpc2FibGVkKXtlLnNv
cnRhYmxlcy5wdXNoKHtpbnN0YW5jZTppLHNob3VsZFJldmVydDppLm9wdGlvbnMucmV2ZXJ0fSk7
CitpLnJlZnJlc2hQb3NpdGlvbnMoKTtpLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyxnKX19KX0sc3Rv
cDpmdW5jdGlvbihjLGQpe3ZhciBlPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksaD1hLmV4dGVu
ZCh7fSxkLHtpdGVtOmUuZWxlbWVudH0pO2EuZWFjaChlLnNvcnRhYmxlcyxmdW5jdGlvbigpe2lm
KHRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0wO2UuY2FuY2VsSGVs
cGVyUmVtb3ZhbD10cnVlO3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZTtp
Zih0aGlzLnNob3VsZFJldmVydCl0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PXRydWU7dGhp
cy5pbnN0YW5jZS5fbW91c2VTdG9wKGMpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhp
cy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7ZS5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIiYm
dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1l
bHNle3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0KK2ZhbHNlO3RoaXMuaW5zdGFu
Y2UuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGMsaCl9fSl9LGRyYWc6ZnVuY3Rpb24oYyxkKXt2YXIg
ZT1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGg9dGhpczthLmVhY2goZS5zb3J0YWJsZXMsZnVu
Y3Rpb24oKXt0aGlzLmluc3RhbmNlLnBvc2l0aW9uQWJzPWUucG9zaXRpb25BYnM7dGhpcy5pbnN0
YW5jZS5oZWxwZXJQcm9wb3J0aW9ucz1lLmhlbHBlclByb3BvcnRpb25zO3RoaXMuaW5zdGFuY2Uu
b2Zmc2V0LmNsaWNrPWUub2Zmc2V0LmNsaWNrO2lmKHRoaXMuaW5zdGFuY2UuX2ludGVyc2VjdHNX
aXRoKHRoaXMuaW5zdGFuY2UuY29udGFpbmVyQ2FjaGUpKXtpZighdGhpcy5pbnN0YW5jZS5pc092
ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTE7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbT1hKGgp
LmNsb25lKCkucmVtb3ZlQXR0cigiaWQiKS5hcHBlbmRUbyh0aGlzLmluc3RhbmNlLmVsZW1lbnQp
LmRhdGEoInNvcnRhYmxlLWl0ZW0iLHRydWUpOwordGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxw
ZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcjt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVs
cGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGQuaGVscGVyWzBdfTtjLnRhcmdldD10aGlzLmluc3RhbmNl
LmN1cnJlbnRJdGVtWzBdO3RoaXMuaW5zdGFuY2UuX21vdXNlQ2FwdHVyZShjLHRydWUpO3RoaXMu
aW5zdGFuY2UuX21vdXNlU3RhcnQoYyx0cnVlLHRydWUpO3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNs
aWNrLnRvcD1lLm9mZnNldC5jbGljay50b3A7dGhpcy5pbnN0YW5jZS5vZmZzZXQuY2xpY2subGVm
dD1lLm9mZnNldC5jbGljay5sZWZ0O3RoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC5sZWZ0LT1l
Lm9mZnNldC5wYXJlbnQubGVmdC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdDt0aGlz
Lmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wLT1lLm9mZnNldC5wYXJlbnQudG9wLXRoaXMuaW5z
dGFuY2Uub2Zmc2V0LnBhcmVudC50b3A7CitlLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIixjKTtlLmRy
b3BwZWQ9dGhpcy5pbnN0YW5jZS5lbGVtZW50O2UuY3VycmVudEl0ZW09ZS5lbGVtZW50O3RoaXMu
aW5zdGFuY2UuZnJvbU91dHNpZGU9ZX10aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtJiZ0aGlzLmlu
c3RhbmNlLl9tb3VzZURyYWcoYyl9ZWxzZSBpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5p
bnN0YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0
aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIo
Im91dCIsYyx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5jZSkpO3RoaXMuaW5zdGFu
Y2UuX21vdXNlU3RvcChjLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhpcy5p
bnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5yZW1vdmUo
KTt0aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVyJiYKK3RoaXMuaW5zdGFuY2UucGxhY2Vob2xkZXIu
cmVtb3ZlKCk7ZS5fdHJpZ2dlcigiZnJvbVNvcnRhYmxlIixjKTtlLmRyb3BwZWQ9ZmFsc2V9fSl9
fSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjdXJzb3IiLHtzdGFydDpmdW5jdGlvbigp
e3ZhciBjPWEoImJvZHkiKSxkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihj
LmNzcygiY3Vyc29yIikpZC5fY3Vyc29yPWMuY3NzKCJjdXJzb3IiKTtjLmNzcygiY3Vyc29yIixk
LmN1cnNvcil9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIp
Lm9wdGlvbnM7Yy5fY3Vyc29yJiZhKCJib2R5IikuY3NzKCJjdXJzb3IiLGMuX2N1cnNvcil9fSk7
YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJvcGFjaXR5Iix7c3RhcnQ6ZnVuY3Rpb24oYyxk
KXtjPWEoZC5oZWxwZXIpO2Q9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGMu
Y3NzKCJvcGFjaXR5IikpZC5fb3BhY2l0eT0KK2MuY3NzKCJvcGFjaXR5Iik7Yy5jc3MoIm9wYWNp
dHkiLGQub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24oYyxkKXtjPWEodGhpcykuZGF0YSgiZHJhZ2dh
YmxlIikub3B0aW9ucztjLl9vcGFjaXR5JiZhKGQuaGVscGVyKS5jc3MoIm9wYWNpdHkiLGMuX29w
YWNpdHkpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Nyb2xsIix7c3RhcnQ6ZnVu
Y3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpO2lmKGMuc2Nyb2xsUGFyZW50
WzBdIT1kb2N1bWVudCYmYy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKWMub3ZlcmZs
b3dPZmZzZXQ9Yy5zY3JvbGxQYXJlbnQub2Zmc2V0KCl9LGRyYWc6ZnVuY3Rpb24oYyl7dmFyIGQ9
YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxlPWQub3B0aW9ucyxoPWZhbHNlO2lmKGQuc2Nyb2xs
UGFyZW50WzBdIT1kb2N1bWVudCYmZC5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKXtp
ZighZS5heGlzfHxlLmF4aXMhPQorIngiKWlmKGQub3ZlcmZsb3dPZmZzZXQudG9wK2Quc2Nyb2xs
UGFyZW50WzBdLm9mZnNldEhlaWdodC1jLnBhZ2VZPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpZC5zY3Jv
bGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWg9ZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Uuc2Ny
b2xsU3BlZWQ7ZWxzZSBpZihjLnBhZ2VZLWQub3ZlcmZsb3dPZmZzZXQudG9wPGUuc2Nyb2xsU2Vu
c2l0aXZpdHkpZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWg9ZC5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsVG9wLWUuc2Nyb2xsU3BlZWQ7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieSIpaWYoZC5vdmVy
Zmxvd09mZnNldC5sZWZ0K2Quc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWMucGFnZVg8ZS5z
Y3JvbGxTZW5zaXRpdml0eSlkLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWg9ZC5zY3JvbGxQ
YXJlbnRbMF0uc2Nyb2xsTGVmdCtlLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWC1kLm92ZXJm
bG93T2Zmc2V0LmxlZnQ8CitlLnNjcm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNj
cm9sbExlZnQ9aD1kLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWUuc2Nyb2xsU3BlZWR9ZWxz
ZXtpZighZS5heGlzfHxlLmF4aXMhPSJ4IilpZihjLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRv
cCgpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1hKGRvY3VtZW50KS5zY3JvbGxUb3AoYShkb2N1bWVu
dCkuc2Nyb2xsVG9wKCktZS5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykuaGVpZ2h0KCkt
KGMucGFnZVktYShkb2N1bWVudCkuc2Nyb2xsVG9wKCkpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1h
KGRvY3VtZW50KS5zY3JvbGxUb3AoYShkb2N1bWVudCkuc2Nyb2xsVG9wKCkrZS5zY3JvbGxTcGVl
ZCk7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieSIpaWYoYy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCk8ZS5zY3JvbGxTZW5zaXRpdml0eSloPWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoYShkb2N1
bWVudCkuc2Nyb2xsTGVmdCgpLQorZS5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykud2lk
dGgoKS0oYy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGUuc2Nyb2xsU2Vuc2l0aXZp
dHkpaD1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStlLnNj
cm9sbFNwZWVkKX1oIT09ZmFsc2UmJmEudWkuZGRtYW5hZ2VyJiYhZS5kcm9wQmVoYXZpb3VyJiZh
LnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhkLGMpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJh
Z2dhYmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFn
Z2FibGUiKSxkPWMub3B0aW9ucztjLnNuYXBFbGVtZW50cz1bXTthKGQuc25hcC5jb25zdHJ1Y3Rv
ciE9U3RyaW5nP2Quc25hcC5pdGVtc3x8IjpkYXRhKGRyYWdnYWJsZSkiOmQuc25hcCkuZWFjaChm
dW5jdGlvbigpe3ZhciBlPWEodGhpcyksaD1lLm9mZnNldCgpO3RoaXMhPWMuZWxlbWVudFswXSYm
Yy5zbmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLAord2lkdGg6ZS5vdXRlcldpZHRoKCksaGVp
Z2h0OmUub3V0ZXJIZWlnaHQoKSx0b3A6aC50b3AsbGVmdDpoLmxlZnR9KX0pfSxkcmFnOmZ1bmN0
aW9uKGMsZCl7Zm9yKHZhciBlPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksaD1lLm9wdGlvbnMs
Zz1oLnNuYXBUb2xlcmFuY2UsaT1kLm9mZnNldC5sZWZ0LGI9aStlLmhlbHBlclByb3BvcnRpb25z
LndpZHRoLGY9ZC5vZmZzZXQudG9wLGo9ZitlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsPWUu
c25hcEVsZW1lbnRzLmxlbmd0aC0xO2w+PTA7bC0tKXt2YXIgbz1lLnNuYXBFbGVtZW50c1tsXS5s
ZWZ0LG49bytlLnNuYXBFbGVtZW50c1tsXS53aWR0aCxrPWUuc25hcEVsZW1lbnRzW2xdLnRvcCxt
PWsrZS5zbmFwRWxlbWVudHNbbF0uaGVpZ2h0O2lmKG8tZzxpJiZpPG4rZyYmay1nPGYmJmY8bStn
fHxvLWc8aSYmaTxuK2cmJmstZzxqJiZqPG0rZ3x8by1nPGImJmI8bitnJiZrLWc8ZiYmZjxtK2d8
fG8tZzxiJiZiPG4rZyYmay1nPGomJgorajxtK2cpe2lmKGguc25hcE1vZGUhPSJpbm5lciIpe3Zh
ciBwPU1hdGguYWJzKGstaik8PWcscT1NYXRoLmFicyhtLWYpPD1nLHM9TWF0aC5hYnMoby1iKTw9
ZyxyPU1hdGguYWJzKG4taSk8PWc7aWYocClkLnBvc2l0aW9uLnRvcD1lLl9jb252ZXJ0UG9zaXRp
b25UbygicmVsYXRpdmUiLHt0b3A6ay1lLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9
KS50b3AtZS5tYXJnaW5zLnRvcDtpZihxKWQucG9zaXRpb24udG9wPWUuX2NvbnZlcnRQb3NpdGlv
blRvKCJyZWxhdGl2ZSIse3RvcDptLGxlZnQ6MH0pLnRvcC1lLm1hcmdpbnMudG9wO2lmKHMpZC5w
b3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6
by1lLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1lLm1hcmdpbnMubGVmdDtpZihyKWQu
cG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0
Om59KS5sZWZ0LWUubWFyZ2lucy5sZWZ0fXZhciB1PQorcHx8cXx8c3x8cjtpZihoLnNuYXBNb2Rl
IT0ib3V0ZXIiKXtwPU1hdGguYWJzKGstZik8PWc7cT1NYXRoLmFicyhtLWopPD1nO3M9TWF0aC5h
YnMoby1pKTw9ZztyPU1hdGguYWJzKG4tYik8PWc7aWYocClkLnBvc2l0aW9uLnRvcD1lLl9jb252
ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6ayxsZWZ0OjB9KS50b3AtZS5tYXJnaW5zLnRv
cDtpZihxKWQucG9zaXRpb24udG9wPWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3Rv
cDptLWUuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1lLm1hcmdpbnMudG9w
O2lmKHMpZC5wb3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3Rv
cDowLGxlZnQ6b30pLmxlZnQtZS5tYXJnaW5zLmxlZnQ7aWYocilkLnBvc2l0aW9uLmxlZnQ9ZS5f
Y29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpuLWUuaGVscGVyUHJvcG9y
dGlvbnMud2lkdGh9KS5sZWZ0LWUubWFyZ2lucy5sZWZ0fWlmKCFlLnNuYXBFbGVtZW50c1tsXS5z
bmFwcGluZyYmCisocHx8cXx8c3x8cnx8dSkpZS5vcHRpb25zLnNuYXAuc25hcCYmZS5vcHRpb25z
LnNuYXAuc25hcC5jYWxsKGUuZWxlbWVudCxjLGEuZXh0ZW5kKGUuX3VpSGFzaCgpLHtzbmFwSXRl
bTplLnNuYXBFbGVtZW50c1tsXS5pdGVtfSkpO2Uuc25hcEVsZW1lbnRzW2xdLnNuYXBwaW5nPXB8
fHF8fHN8fHJ8fHV9ZWxzZXtlLnNuYXBFbGVtZW50c1tsXS5zbmFwcGluZyYmZS5vcHRpb25zLnNu
YXAucmVsZWFzZSYmZS5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKGUuZWxlbWVudCxjLGEuZXh0
ZW5kKGUuX3VpSGFzaCgpLHtzbmFwSXRlbTplLnNuYXBFbGVtZW50c1tsXS5pdGVtfSkpO2Uuc25h
cEVsZW1lbnRzW2xdLnNuYXBwaW5nPWZhbHNlfX19fSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2Fi
bGUiLCJzdGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFnZ2Fi
bGUiKS5vcHRpb25zO2M9YS5tYWtlQXJyYXkoYShjLnN0YWNrKSkuc29ydChmdW5jdGlvbihlLGgp
e3JldHVybihwYXJzZUludChhKGUpLmNzcygiekluZGV4IiksCisxMCl8fDApLShwYXJzZUludChh
KGgpLmNzcygiekluZGV4IiksMTApfHwwKX0pO2lmKGMubGVuZ3RoKXt2YXIgZD1wYXJzZUludChj
WzBdLnN0eWxlLnpJbmRleCl8fDA7YShjKS5lYWNoKGZ1bmN0aW9uKGUpe3RoaXMuc3R5bGUueklu
ZGV4PWQrZX0pO3RoaXNbMF0uc3R5bGUuekluZGV4PWQrYy5sZW5ndGh9fX0pO2EudWkucGx1Z2lu
LmFkZCgiZHJhZ2dhYmxlIiwiekluZGV4Iix7c3RhcnQ6ZnVuY3Rpb24oYyxkKXtjPWEoZC5oZWxw
ZXIpO2Q9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGMuY3NzKCJ6SW5kZXgi
KSlkLl96SW5kZXg9Yy5jc3MoInpJbmRleCIpO2MuY3NzKCJ6SW5kZXgiLGQuekluZGV4KX0sc3Rv
cDpmdW5jdGlvbihjLGQpe2M9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2MuX3pJ
bmRleCYmYShkLmhlbHBlcikuY3NzKCJ6SW5kZXgiLGMuX3pJbmRleCl9fSl9KShqUXVlcnkpOwor
KGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt3aWRnZXRFdmVudFByZWZpeDoi
ZHJvcCIsb3B0aW9uczp7YWNjZXB0OiIqIixhY3RpdmVDbGFzczpmYWxzZSxhZGRDbGFzc2VzOnRy
dWUsZ3JlZWR5OmZhbHNlLGhvdmVyQ2xhc3M6ZmFsc2Usc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5j
ZToiaW50ZXJzZWN0In0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucyxkPWMu
YWNjZXB0O3RoaXMuaXNvdmVyPTA7dGhpcy5pc291dD0xO3RoaXMuYWNjZXB0PWEuaXNGdW5jdGlv
bihkKT9kOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKGQpfTt0aGlzLnByb3BvcnRpb25zPXt3aWR0
aDp0aGlzLmVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OnRoaXMuZWxlbWVudFswXS5vZmZz
ZXRIZWlnaHR9O2EudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5zY29wZV09YS51aS5kZG1hbmFn
ZXIuZHJvcHBhYmxlc1tjLnNjb3BlXXx8W107YS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLnNj
b3BlXS5wdXNoKHRoaXMpOworYy5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVp
LWRyb3BwYWJsZSIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7Zm9yKHZhciBjPWEudWkuZGRtYW5hZ2Vy
LmRyb3BwYWJsZXNbdGhpcy5vcHRpb25zLnNjb3BlXSxkPTA7ZDxjLmxlbmd0aDtkKyspY1tkXT09
dGhpcyYmYy5zcGxpY2UoZCwxKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJs
ZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJkcm9wcGFibGUiKS51bmJpbmQo
Ii5kcm9wcGFibGUiKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihjLGQpe2lmKGM9
PSJhY2NlcHQiKXRoaXMuYWNjZXB0PWEuaXNGdW5jdGlvbihkKT9kOmZ1bmN0aW9uKGUpe3JldHVy
biBlLmlzKGQpfTthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3Vt
ZW50cyl9LF9hY3RpdmF0ZTpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdlci5jdXJyZW50
O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmCit0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5v
cHRpb25zLmFjdGl2ZUNsYXNzKTtkJiZ0aGlzLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyx0aGlzLnVp
KGQpKX0sX2RlYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1hbmFnZXIuY3VycmVu
dDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlz
Lm9wdGlvbnMuYWN0aXZlQ2xhc3MpO2QmJnRoaXMuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGMsdGhp
cy51aShkKSl9LF9vdmVyOmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7
aWYoISghZHx8KGQuY3VycmVudEl0ZW18fGQuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSkp
aWYodGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZC5jdXJyZW50SXRlbXx8ZC5lbGVt
ZW50KSl7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlz
Lm9wdGlvbnMuaG92ZXJDbGFzcyk7Cit0aGlzLl90cmlnZ2VyKCJvdmVyIixjLHRoaXMudWkoZCkp
fX0sX291dDpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdlci5jdXJyZW50O2lmKCEoIWR8
fChkLmN1cnJlbnRJdGVtfHxkLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0pKWlmKHRoaXMu
YWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGQuY3VycmVudEl0ZW18fGQuZWxlbWVudCkpe3Ro
aXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRp
b25zLmhvdmVyQ2xhc3MpO3RoaXMuX3RyaWdnZXIoIm91dCIsYyx0aGlzLnVpKGQpKX19LF9kcm9w
OmZ1bmN0aW9uKGMsZCl7dmFyIGU9ZHx8YS51aS5kZG1hbmFnZXIuY3VycmVudDtpZighZXx8KGUu
Y3VycmVudEl0ZW18fGUuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSlyZXR1cm4gZmFsc2U7
dmFyIGg9ZmFsc2U7dGhpcy5lbGVtZW50LmZpbmQoIjpkYXRhKGRyb3BwYWJsZSkiKS5ub3QoIi51
aS1kcmFnZ2FibGUtZHJhZ2dpbmciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9CithLmRhdGEodGhp
cywiZHJvcHBhYmxlIik7aWYoZy5vcHRpb25zLmdyZWVkeSYmIWcub3B0aW9ucy5kaXNhYmxlZCYm
Zy5vcHRpb25zLnNjb3BlPT1lLm9wdGlvbnMuc2NvcGUmJmcuYWNjZXB0LmNhbGwoZy5lbGVtZW50
WzBdLGUuY3VycmVudEl0ZW18fGUuZWxlbWVudCkmJmEudWkuaW50ZXJzZWN0KGUsYS5leHRlbmQo
Zyx7b2Zmc2V0OmcuZWxlbWVudC5vZmZzZXQoKX0pLGcub3B0aW9ucy50b2xlcmFuY2UpKXtoPXRy
dWU7cmV0dXJuIGZhbHNlfX0pO2lmKGgpcmV0dXJuIGZhbHNlO2lmKHRoaXMuYWNjZXB0LmNhbGwo
dGhpcy5lbGVtZW50WzBdLGUuY3VycmVudEl0ZW18fGUuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5h
Y3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVD
bGFzcyk7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0
aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigiZHJvcCIsCitjLHRoaXMudWko
ZSkpO3JldHVybiB0aGlzLmVsZW1lbnR9cmV0dXJuIGZhbHNlfSx1aTpmdW5jdGlvbihjKXtyZXR1
cm57ZHJhZ2dhYmxlOmMuY3VycmVudEl0ZW18fGMuZWxlbWVudCxoZWxwZXI6Yy5oZWxwZXIscG9z
aXRpb246Yy5wb3NpdGlvbixvZmZzZXQ6Yy5wb3NpdGlvbkFic319fSk7YS5leHRlbmQoYS51aS5k
cm9wcGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KTthLnVpLmludGVyc2VjdD1mdW5jdGlvbihjLGQs
ZSl7aWYoIWQub2Zmc2V0KXJldHVybiBmYWxzZTt2YXIgaD0oYy5wb3NpdGlvbkFic3x8Yy5wb3Np
dGlvbi5hYnNvbHV0ZSkubGVmdCxnPWgrYy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxpPShjLnBv
c2l0aW9uQWJzfHxjLnBvc2l0aW9uLmFic29sdXRlKS50b3AsYj1pK2MuaGVscGVyUHJvcG9ydGlv
bnMuaGVpZ2h0LGY9ZC5vZmZzZXQubGVmdCxqPWYrZC5wcm9wb3J0aW9ucy53aWR0aCxsPWQub2Zm
c2V0LnRvcCxvPWwrZC5wcm9wb3J0aW9ucy5oZWlnaHQ7Citzd2l0Y2goZSl7Y2FzZSAiZml0Ijpy
ZXR1cm4gZjw9aCYmZzw9aiYmbDw9aSYmYjw9bztjYXNlICJpbnRlcnNlY3QiOnJldHVybiBmPGgr
Yy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZnLWMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgv
MjxqJiZsPGkrYy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmYi1jLmhlbHBlclByb3BvcnRp
b25zLmhlaWdodC8yPG87Y2FzZSAicG9pbnRlciI6cmV0dXJuIGEudWkuaXNPdmVyKChjLnBvc2l0
aW9uQWJzfHxjLnBvc2l0aW9uLmFic29sdXRlKS50b3ArKGMuY2xpY2tPZmZzZXR8fGMub2Zmc2V0
LmNsaWNrKS50b3AsKGMucG9zaXRpb25BYnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrKGMu
Y2xpY2tPZmZzZXR8fGMub2Zmc2V0LmNsaWNrKS5sZWZ0LGwsZixkLnByb3BvcnRpb25zLmhlaWdo
dCxkLnByb3BvcnRpb25zLndpZHRoKTtjYXNlICJ0b3VjaCI6cmV0dXJuKGk+PWwmJmk8PW98fGI+
PWwmJmI8PW98fGk8bCYmYj5vKSYmKGg+PQorZiYmaDw9anx8Zz49ZiYmZzw9anx8aDxmJiZnPmop
O2RlZmF1bHQ6cmV0dXJuIGZhbHNlfX07YS51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9w
cGFibGVzOnsiZGVmYXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKGMsZCl7dmFyIGU9
YS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLm9wdGlvbnMuc2NvcGVdfHxbXSxoPWQ/ZC50eXBl
Om51bGwsZz0oYy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KS5maW5kKCI6ZGF0YShkcm9wcGFibGUp
IikuYW5kU2VsZigpLGk9MDthOmZvcig7aTxlLmxlbmd0aDtpKyspaWYoIShlW2ldLm9wdGlvbnMu
ZGlzYWJsZWR8fGMmJiFlW2ldLmFjY2VwdC5jYWxsKGVbaV0uZWxlbWVudFswXSxjLmN1cnJlbnRJ
dGVtfHxjLmVsZW1lbnQpKSl7Zm9yKHZhciBiPTA7YjxnLmxlbmd0aDtiKyspaWYoZ1tiXT09ZVtp
XS5lbGVtZW50WzBdKXtlW2ldLnByb3BvcnRpb25zLmhlaWdodD0wO2NvbnRpbnVlIGF9ZVtpXS52
aXNpYmxlPWVbaV0uZWxlbWVudC5jc3MoImRpc3BsYXkiKSE9Cisibm9uZSI7aWYoZVtpXS52aXNp
YmxlKXtoPT0ibW91c2Vkb3duIiYmZVtpXS5fYWN0aXZhdGUuY2FsbChlW2ldLGQpO2VbaV0ub2Zm
c2V0PWVbaV0uZWxlbWVudC5vZmZzZXQoKTtlW2ldLnByb3BvcnRpb25zPXt3aWR0aDplW2ldLmVs
ZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OmVbaV0uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9
fX19LGRyb3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT1mYWxzZTthLmVhY2goYS51aS5kZG1hbmFnZXIu
ZHJvcHBhYmxlc1tjLm9wdGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9u
cyl7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxlJiZhLnVpLmludGVyc2Vj
dChjLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSkpZT1lfHx0aGlzLl9kcm9wLmNhbGwodGhp
cyxkKTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJnRoaXMuYWNjZXB0
LmNhbGwodGhpcy5lbGVtZW50WzBdLGMuY3VycmVudEl0ZW18fAorYy5lbGVtZW50KSl7dGhpcy5p
c291dD0xO3RoaXMuaXNvdmVyPTA7dGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsZCl9fX0pO3Jl
dHVybiBlfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYyxkKXtjLmVsZW1lbnQucGFyZW50c1VudGlsKCJi
b2R5IikuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXtjLm9wdGlvbnMucmVmcmVz
aFBvc2l0aW9uc3x8YS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYyxkKX0pfSxkcmFnOmZ1
bmN0aW9uKGMsZCl7Yy5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmEudWkuZGRtYW5hZ2VyLnBy
ZXBhcmVPZmZzZXRzKGMsZCk7YS5lYWNoKGEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRp
b25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhp
cy5ncmVlZHlDaGlsZHx8IXRoaXMudmlzaWJsZSkpe3ZhciBlPWEudWkuaW50ZXJzZWN0KGMsdGhp
cyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKTtpZihlPQorIWUmJnRoaXMuaXNvdmVyPT0xPyJpc291
dCI6ZSYmdGhpcy5pc292ZXI9PTA/Imlzb3ZlciI6bnVsbCl7dmFyIGg7aWYodGhpcy5vcHRpb25z
LmdyZWVkeSl7dmFyIGc9dGhpcy5lbGVtZW50LnBhcmVudHMoIjpkYXRhKGRyb3BwYWJsZSk6ZXEo
MCkiKTtpZihnLmxlbmd0aCl7aD1hLmRhdGEoZ1swXSwiZHJvcHBhYmxlIik7aC5ncmVlZHlDaGls
ZD1lPT0iaXNvdmVyIj8xOjB9fWlmKGgmJmU9PSJpc292ZXIiKXtoLmlzb3Zlcj0wO2guaXNvdXQ9
MTtoLl9vdXQuY2FsbChoLGQpfXRoaXNbZV09MTt0aGlzW2U9PSJpc291dCI/Imlzb3ZlciI6Imlz
b3V0Il09MDt0aGlzW2U9PSJpc292ZXIiPyJfb3ZlciI6Il9vdXQiXS5jYWxsKHRoaXMsZCk7aWYo
aCYmZT09Imlzb3V0Iil7aC5pc291dD0wO2guaXNvdmVyPTE7aC5fb3Zlci5jYWxsKGgsZCl9fX19
KX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYyxkKXtjLmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5Iiku
dW5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIik7CitjLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8
YS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYyxkKX19fSkoalF1ZXJ5KTsKKyhmdW5jdGlv
bihhKXthLndpZGdldCgidWkucmVzaXphYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZp
eDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXplOmZhbHNlLGFuaW1hdGU6ZmFsc2UsYW5pbWF0
ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ZmFsc2Us
YXV0b0hpZGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsZ2hvc3Q6ZmFsc2UsZ3JpZDpmYWxzZSxo
YW5kbGVzOiJlLHMsc2UiLGhlbHBlcjpmYWxzZSxtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxs
LG1pbkhlaWdodDoxMCxtaW5XaWR0aDoxMCx6SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7
dmFyIGU9dGhpcyxoPXRoaXMub3B0aW9uczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXJlc2l6
YWJsZSIpO2EuZXh0ZW5kKHRoaXMse19hc3BlY3RSYXRpbzohIWguYXNwZWN0UmF0aW8sYXNwZWN0
UmF0aW86aC5hc3BlY3RSYXRpbyxvcmlnaW5hbEVsZW1lbnQ6dGhpcy5lbGVtZW50LAorX3Byb3Bv
cnRpb25hbGx5UmVzaXplRWxlbWVudHM6W10sX2hlbHBlcjpoLmhlbHBlcnx8aC5naG9zdHx8aC5h
bmltYXRlP2guaGVscGVyfHwidWktcmVzaXphYmxlLWhlbHBlciI6bnVsbH0pO2lmKHRoaXMuZWxl
bWVudFswXS5ub2RlTmFtZS5tYXRjaCgvY2FudmFzfHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0
b258aW1nL2kpKXsvcmVsYXRpdmUvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkm
JmEuYnJvd3Nlci5vcGVyYSYmdGhpcy5lbGVtZW50LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0
b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSk7dGhpcy5lbGVtZW50LndyYXAoYSgnPGRpdiBjbGFzcz0i
dWktd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47Ij48L2Rpdj4nKS5jc3Moe3Bvc2l0
aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVy
V2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCksCit0b3A6dGhpcy5lbGVt
ZW50LmNzcygidG9wIiksbGVmdDp0aGlzLmVsZW1lbnQuY3NzKCJsZWZ0Iil9KSk7dGhpcy5lbGVt
ZW50PXRoaXMuZWxlbWVudC5wYXJlbnQoKS5kYXRhKCJyZXNpemFibGUiLHRoaXMuZWxlbWVudC5k
YXRhKCJyZXNpemFibGUiKSk7dGhpcy5lbGVtZW50SXNXcmFwcGVyPXRydWU7dGhpcy5lbGVtZW50
LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxt
YXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdo
dDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRo
aXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luQm90dG9tIil9KTt0aGlzLm9yaWdpbmFsRWxl
bWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJv
dHRvbTowfSk7dGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlPQordGhpcy5vcmlnaW5hbEVsZW1lbnQu
Y3NzKCJyZXNpemUiKTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsIm5vbmUiKTt0
aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLnB1c2godGhpcy5vcmlnaW5hbEVsZW1l
bnQuY3NzKHtwb3NpdGlvbjoic3RhdGljIix6b29tOjEsZGlzcGxheToiYmxvY2sifSkpO3RoaXMu
b3JpZ2luYWxFbGVtZW50LmNzcyh7bWFyZ2luOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFy
Z2luIil9KTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfXRoaXMuaGFuZGxlcz1oLmhhbmRs
ZXN8fCghYSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkubGVuZ3RoPyJlLHMs
c2UiOntuOiIudWktcmVzaXphYmxlLW4iLGU6Ii51aS1yZXNpemFibGUtZSIsczoiLnVpLXJlc2l6
YWJsZS1zIix3OiIudWktcmVzaXphYmxlLXciLHNlOiIudWktcmVzaXphYmxlLXNlIixzdzoiLnVp
LXJlc2l6YWJsZS1zdyIsbmU6Ii51aS1yZXNpemFibGUtbmUiLAorbnc6Ii51aS1yZXNpemFibGUt
bncifSk7aWYodGhpcy5oYW5kbGVzLmNvbnN0cnVjdG9yPT1TdHJpbmcpe2lmKHRoaXMuaGFuZGxl
cz09ImFsbCIpdGhpcy5oYW5kbGVzPSJuLGUscyx3LHNlLHN3LG5lLG53Ijt2YXIgZz10aGlzLmhh
bmRsZXMuc3BsaXQoIiwiKTt0aGlzLmhhbmRsZXM9e307Zm9yKHZhciBpPTA7aTxnLmxlbmd0aDtp
Kyspe3ZhciBiPWEudHJpbShnW2ldKSxmPWEoJzxkaXYgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5k
bGUgJysoInVpLXJlc2l6YWJsZS0iK2IpKyciPjwvZGl2PicpOy9zd3xzZXxuZXxudy8udGVzdChi
KSYmZi5jc3Moe3pJbmRleDorK2guekluZGV4fSk7InNlIj09YiYmZi5hZGRDbGFzcygidWktaWNv
biB1aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSIpO3RoaXMuaGFuZGxlc1tiXT0iLnVpLXJl
c2l6YWJsZS0iK2I7dGhpcy5lbGVtZW50LmFwcGVuZChmKX19dGhpcy5fcmVuZGVyQXhpcz1mdW5j
dGlvbihqKXtqPWp8fHRoaXMuZWxlbWVudDtmb3IodmFyIGwgaW4gdGhpcy5oYW5kbGVzKXtpZih0
aGlzLmhhbmRsZXNbbF0uY29uc3RydWN0b3I9PQorU3RyaW5nKXRoaXMuaGFuZGxlc1tsXT1hKHRo
aXMuaGFuZGxlc1tsXSx0aGlzLmVsZW1lbnQpLnNob3coKTtpZih0aGlzLmVsZW1lbnRJc1dyYXBw
ZXImJnRoaXMub3JpZ2luYWxFbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC90ZXh0YXJlYXxpbnB1
dHxzZWxlY3R8YnV0dG9uL2kpKXt2YXIgbz1hKHRoaXMuaGFuZGxlc1tsXSx0aGlzLmVsZW1lbnQp
LG49MDtuPS9zd3xuZXxud3xzZXxufHMvLnRlc3QobCk/by5vdXRlckhlaWdodCgpOm8ub3V0ZXJX
aWR0aCgpO289WyJwYWRkaW5nIiwvbmV8bnd8bi8udGVzdChsKT8iVG9wIjovc2V8c3d8cy8udGVz
dChsKT8iQm90dG9tIjovXmUkLy50ZXN0KGwpPyJSaWdodCI6IkxlZnQiXS5qb2luKCIiKTtqLmNz
cyhvLG4pO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCl9YSh0aGlzLmhhbmRsZXNbbF0pfX07
dGhpcy5fcmVuZGVyQXhpcyh0aGlzLmVsZW1lbnQpO3RoaXMuX2hhbmRsZXM9YSgiLnVpLXJlc2l6
YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkuZGlzYWJsZVNlbGVjdGlvbigpOwordGhpcy5faGFu
ZGxlcy5tb3VzZW92ZXIoZnVuY3Rpb24oKXtpZighZS5yZXNpemluZyl7aWYodGhpcy5jbGFzc05h
bWUpdmFyIGo9dGhpcy5jbGFzc05hbWUubWF0Y2goL3VpLXJlc2l6YWJsZS0oc2V8c3d8bmV8bnd8
bnxlfHN8dykvaSk7ZS5heGlzPWomJmpbMV0/alsxXToic2UifX0pO2lmKGguYXV0b0hpZGUpe3Ro
aXMuX2hhbmRsZXMuaGlkZSgpO2EodGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxl
LWF1dG9oaWRlIikuaG92ZXIoZnVuY3Rpb24oKXtpZighaC5kaXNhYmxlZCl7YSh0aGlzKS5yZW1v
dmVDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIik7ZS5faGFuZGxlcy5zaG93KCl9fSxmdW5j
dGlvbigpe2lmKCFoLmRpc2FibGVkKWlmKCFlLnJlc2l6aW5nKXthKHRoaXMpLmFkZENsYXNzKCJ1
aS1yZXNpemFibGUtYXV0b2hpZGUiKTtlLl9oYW5kbGVzLmhpZGUoKX19KX10aGlzLl9tb3VzZUlu
aXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX21vdXNlRGVzdHJveSgpOwordmFyIGU9ZnVu
Y3Rpb24oZyl7YShnKS5yZW1vdmVDbGFzcygidWktcmVzaXphYmxlIHVpLXJlc2l6YWJsZS1kaXNh
YmxlZCB1aS1yZXNpemFibGUtcmVzaXppbmciKS5yZW1vdmVEYXRhKCJyZXNpemFibGUiKS51bmJp
bmQoIi5yZXNpemFibGUiKS5maW5kKCIudWktcmVzaXphYmxlLWhhbmRsZSIpLnJlbW92ZSgpfTtp
Zih0aGlzLmVsZW1lbnRJc1dyYXBwZXIpe2UodGhpcy5lbGVtZW50KTt2YXIgaD10aGlzLmVsZW1l
bnQ7aC5hZnRlcih0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOmguY3NzKCJwb3Np
dGlvbiIpLHdpZHRoOmgub3V0ZXJXaWR0aCgpLGhlaWdodDpoLm91dGVySGVpZ2h0KCksdG9wOmgu
Y3NzKCJ0b3AiKSxsZWZ0OmguY3NzKCJsZWZ0Iil9KSkucmVtb3ZlKCl9dGhpcy5vcmlnaW5hbEVs
ZW1lbnQuY3NzKCJyZXNpemUiLHRoaXMub3JpZ2luYWxSZXNpemVTdHlsZSk7ZSh0aGlzLm9yaWdp
bmFsRWxlbWVudCk7cmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7dmFyIGg9
CitmYWxzZTtmb3IodmFyIGcgaW4gdGhpcy5oYW5kbGVzKWlmKGEodGhpcy5oYW5kbGVzW2ddKVsw
XT09ZS50YXJnZXQpaD10cnVlO3JldHVybiF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmh9LF9tb3Vz
ZVN0YXJ0OmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMub3B0aW9ucyxnPXRoaXMuZWxlbWVudC5wb3Np
dGlvbigpLGk9dGhpcy5lbGVtZW50O3RoaXMucmVzaXppbmc9dHJ1ZTt0aGlzLmRvY3VtZW50U2Ny
b2xsPXt0b3A6YShkb2N1bWVudCkuc2Nyb2xsVG9wKCksbGVmdDphKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCl9O2lmKGkuaXMoIi51aS1kcmFnZ2FibGUiKXx8L2Fic29sdXRlLy50ZXN0KGkuY3NzKCJw
b3NpdGlvbiIpKSlpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6Zy50b3AsbGVmdDpnLmxl
ZnR9KTthLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChpLmNzcygicG9zaXRpb24iKSkm
JmkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KTsKK3Ro
aXMuX3JlbmRlclByb3h5KCk7Zz1jKHRoaXMuaGVscGVyLmNzcygibGVmdCIpKTt2YXIgYj1jKHRo
aXMuaGVscGVyLmNzcygidG9wIikpO2lmKGguY29udGFpbm1lbnQpe2crPWEoaC5jb250YWlubWVu
dCkuc2Nyb2xsTGVmdCgpfHwwO2IrPWEoaC5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDB9dGhp
cy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7dGhpcy5wb3NpdGlvbj17bGVmdDpnLHRvcDpi
fTt0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0aDppLm91dGVyV2lkdGgoKSxoZWlnaHQ6aS5v
dXRlckhlaWdodCgpfTp7d2lkdGg6aS53aWR0aCgpLGhlaWdodDppLmhlaWdodCgpfTt0aGlzLm9y
aWdpbmFsU2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRoOmkub3V0ZXJXaWR0aCgpLGhlaWdodDppLm91
dGVySGVpZ2h0KCl9Ont3aWR0aDppLndpZHRoKCksaGVpZ2h0OmkuaGVpZ2h0KCl9O3RoaXMub3Jp
Z2luYWxQb3NpdGlvbj17bGVmdDpnLHRvcDpifTt0aGlzLnNpemVEaWZmPQore3dpZHRoOmkub3V0
ZXJXaWR0aCgpLWkud2lkdGgoKSxoZWlnaHQ6aS5vdXRlckhlaWdodCgpLWkuaGVpZ2h0KCl9O3Ro
aXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uPXtsZWZ0OmUucGFnZVgsdG9wOmUucGFnZVl9O3RoaXMu
YXNwZWN0UmF0aW89dHlwZW9mIGguYXNwZWN0UmF0aW89PSJudW1iZXIiP2guYXNwZWN0UmF0aW86
dGhpcy5vcmlnaW5hbFNpemUud2lkdGgvdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0fHwxO2g9YSgi
LnVpLXJlc2l6YWJsZS0iK3RoaXMuYXhpcykuY3NzKCJjdXJzb3IiKTthKCJib2R5IikuY3NzKCJj
dXJzb3IiLGg9PSJhdXRvIj90aGlzLmF4aXMrIi1yZXNpemUiOmgpO2kuYWRkQ2xhc3MoInVpLXJl
c2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RhcnQiLGUpO3JldHVybiB0cnVl
fSxfbW91c2VEcmFnOmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMuaGVscGVyLGc9dGhpcy5vcmlnaW5h
bE1vdXNlUG9zaXRpb24saT10aGlzLl9jaGFuZ2VbdGhpcy5heGlzXTsKK2lmKCFpKXJldHVybiBm
YWxzZTtnPWkuYXBwbHkodGhpcyxbZSxlLnBhZ2VYLWcubGVmdHx8MCxlLnBhZ2VZLWcudG9wfHww
XSk7dGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJpZXMoZS5zaGlmdEtleSk7aWYodGhpcy5fYXNw
ZWN0UmF0aW98fGUuc2hpZnRLZXkpZz10aGlzLl91cGRhdGVSYXRpbyhnLGUpO2c9dGhpcy5fcmVz
cGVjdFNpemUoZyxlKTt0aGlzLl9wcm9wYWdhdGUoInJlc2l6ZSIsZSk7aC5jc3Moe3RvcDp0aGlz
LnBvc2l0aW9uLnRvcCsicHgiLGxlZnQ6dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsd2lkdGg6dGhp
cy5zaXplLndpZHRoKyJweCIsaGVpZ2h0OnRoaXMuc2l6ZS5oZWlnaHQrInB4In0pOyF0aGlzLl9o
ZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9w
cm9wb3J0aW9uYWxseVJlc2l6ZSgpO3RoaXMuX3VwZGF0ZUNhY2hlKGcpO3RoaXMuX3RyaWdnZXIo
InJlc2l6ZSIsZSx0aGlzLnVpKCkpO3JldHVybiBmYWxzZX0sCitfbW91c2VTdG9wOmZ1bmN0aW9u
KGUpe3RoaXMucmVzaXppbmc9ZmFsc2U7dmFyIGg9dGhpcy5vcHRpb25zLGc9dGhpcztpZih0aGlz
Ll9oZWxwZXIpe3ZhciBpPXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsYj1pLmxl
bmd0aCYmL3RleHRhcmVhL2kudGVzdChpWzBdLm5vZGVOYW1lKTtpPWImJmEudWkuaGFzU2Nyb2xs
KGlbMF0sImxlZnQiKT8wOmcuc2l6ZURpZmYuaGVpZ2h0O2I9Yj8wOmcuc2l6ZURpZmYud2lkdGg7
Yj17d2lkdGg6Zy5oZWxwZXIud2lkdGgoKS1iLGhlaWdodDpnLmhlbHBlci5oZWlnaHQoKS1pfTtp
PXBhcnNlSW50KGcuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGcucG9zaXRpb24ubGVmdC1nLm9y
aWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFyIGY9cGFyc2VJbnQoZy5lbGVtZW50LmNzcygi
dG9wIiksMTApKyhnLnBvc2l0aW9uLnRvcC1nLm9yaWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDto
LmFuaW1hdGV8fHRoaXMuZWxlbWVudC5jc3MoYS5leHRlbmQoYiwKK3t0b3A6ZixsZWZ0Oml9KSk7
Zy5oZWxwZXIuaGVpZ2h0KGcuc2l6ZS5oZWlnaHQpO2cuaGVscGVyLndpZHRoKGcuc2l6ZS53aWR0
aCk7dGhpcy5faGVscGVyJiYhaC5hbmltYXRlJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgp
fWEoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3Mo
InVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsZSk7dGhpcy5f
aGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTtyZXR1cm4gZmFsc2V9LF91cGRhdGVWaXJ0dWFs
Qm91bmRhcmllczpmdW5jdGlvbihlKXt2YXIgaD10aGlzLm9wdGlvbnMsZyxpLGI7aD17bWluV2lk
dGg6ZChoLm1pbldpZHRoKT9oLm1pbldpZHRoOjAsbWF4V2lkdGg6ZChoLm1heFdpZHRoKT9oLm1h
eFdpZHRoOkluZmluaXR5LG1pbkhlaWdodDpkKGgubWluSGVpZ2h0KT9oLm1pbkhlaWdodDowLG1h
eEhlaWdodDpkKGgubWF4SGVpZ2h0KT9oLm1heEhlaWdodDoKK0luZmluaXR5fTtpZih0aGlzLl9h
c3BlY3RSYXRpb3x8ZSl7ZT1oLm1pbkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvO2k9aC5taW5XaWR0
aC90aGlzLmFzcGVjdFJhdGlvO2c9aC5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztiPWgubWF4
V2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihlPmgubWluV2lkdGgpaC5taW5XaWR0aD1lO2lmKGk+
aC5taW5IZWlnaHQpaC5taW5IZWlnaHQ9aTtpZihnPGgubWF4V2lkdGgpaC5tYXhXaWR0aD1nO2lm
KGI8aC5tYXhIZWlnaHQpaC5tYXhIZWlnaHQ9Yn10aGlzLl92Qm91bmRhcmllcz1ofSxfdXBkYXRl
Q2FjaGU6ZnVuY3Rpb24oZSl7dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7aWYoZChl
LmxlZnQpKXRoaXMucG9zaXRpb24ubGVmdD1lLmxlZnQ7aWYoZChlLnRvcCkpdGhpcy5wb3NpdGlv
bi50b3A9ZS50b3A7aWYoZChlLmhlaWdodCkpdGhpcy5zaXplLmhlaWdodD1lLmhlaWdodDtpZihk
KGUud2lkdGgpKXRoaXMuc2l6ZS53aWR0aD0KK2Uud2lkdGh9LF91cGRhdGVSYXRpbzpmdW5jdGlv
bihlKXt2YXIgaD10aGlzLnBvc2l0aW9uLGc9dGhpcy5zaXplLGk9dGhpcy5heGlzO2lmKGQoZS5o
ZWlnaHQpKWUud2lkdGg9ZS5oZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztlbHNlIGlmKGQoZS53aWR0
aCkpZS5oZWlnaHQ9ZS53aWR0aC90aGlzLmFzcGVjdFJhdGlvO2lmKGk9PSJzdyIpe2UubGVmdD1o
LmxlZnQrKGcud2lkdGgtZS53aWR0aCk7ZS50b3A9bnVsbH1pZihpPT0ibnciKXtlLnRvcD1oLnRv
cCsoZy5oZWlnaHQtZS5oZWlnaHQpO2UubGVmdD1oLmxlZnQrKGcud2lkdGgtZS53aWR0aCl9cmV0
dXJuIGV9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbihlKXt2YXIgaD10aGlzLl92Qm91bmRhcmllcyxn
PXRoaXMuYXhpcyxpPWQoZS53aWR0aCkmJmgubWF4V2lkdGgmJmgubWF4V2lkdGg8ZS53aWR0aCxi
PWQoZS5oZWlnaHQpJiZoLm1heEhlaWdodCYmaC5tYXhIZWlnaHQ8ZS5oZWlnaHQsZj1kKGUud2lk
dGgpJiZoLm1pbldpZHRoJiYKK2gubWluV2lkdGg+ZS53aWR0aCxqPWQoZS5oZWlnaHQpJiZoLm1p
bkhlaWdodCYmaC5taW5IZWlnaHQ+ZS5oZWlnaHQ7aWYoZillLndpZHRoPWgubWluV2lkdGg7aWYo
aillLmhlaWdodD1oLm1pbkhlaWdodDtpZihpKWUud2lkdGg9aC5tYXhXaWR0aDtpZihiKWUuaGVp
Z2h0PWgubWF4SGVpZ2h0O3ZhciBsPXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3Jp
Z2luYWxTaXplLndpZHRoLG89dGhpcy5wb3NpdGlvbi50b3ArdGhpcy5zaXplLmhlaWdodCxuPS9z
d3xud3x3Ly50ZXN0KGcpO2c9L253fG5lfG4vLnRlc3QoZyk7aWYoZiYmbillLmxlZnQ9bC1oLm1p
bldpZHRoO2lmKGkmJm4pZS5sZWZ0PWwtaC5tYXhXaWR0aDtpZihqJiZnKWUudG9wPW8taC5taW5I
ZWlnaHQ7aWYoYiYmZyllLnRvcD1vLWgubWF4SGVpZ2h0O2lmKChoPSFlLndpZHRoJiYhZS5oZWln
aHQpJiYhZS5sZWZ0JiZlLnRvcCllLnRvcD1udWxsO2Vsc2UgaWYoaCYmIWUudG9wJiZlLmxlZnQp
ZS5sZWZ0PQorbnVsbDtyZXR1cm4gZX0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7
aWYodGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGgpZm9yKHZhciBlPXRo
aXMuaGVscGVyfHx0aGlzLmVsZW1lbnQsaD0wO2g8dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVF
bGVtZW50cy5sZW5ndGg7aCsrKXt2YXIgZz10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1l
bnRzW2hdO2lmKCF0aGlzLmJvcmRlckRpZil7dmFyIGk9W2cuY3NzKCJib3JkZXJUb3BXaWR0aCIp
LGcuY3NzKCJib3JkZXJSaWdodFdpZHRoIiksZy5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksZy5j
c3MoImJvcmRlckxlZnRXaWR0aCIpXSxiPVtnLmNzcygicGFkZGluZ1RvcCIpLGcuY3NzKCJwYWRk
aW5nUmlnaHQiKSxnLmNzcygicGFkZGluZ0JvdHRvbSIpLGcuY3NzKCJwYWRkaW5nTGVmdCIpXTt0
aGlzLmJvcmRlckRpZj1hLm1hcChpLGZ1bmN0aW9uKGYsail7Zj1wYXJzZUludChmLDEwKXx8Cisw
O2o9cGFyc2VJbnQoYltqXSwxMCl8fDA7cmV0dXJuIGYran0pfWEuYnJvd3Nlci5tc2llJiYoYShl
KS5pcygiOmhpZGRlbiIpfHxhKGUpLnBhcmVudHMoIjpoaWRkZW4iKS5sZW5ndGgpfHxnLmNzcyh7
aGVpZ2h0OmUuaGVpZ2h0KCktdGhpcy5ib3JkZXJEaWZbMF0tdGhpcy5ib3JkZXJEaWZbMl18fDAs
d2lkdGg6ZS53aWR0aCgpLXRoaXMuYm9yZGVyRGlmWzFdLXRoaXMuYm9yZGVyRGlmWzNdfHwwfSl9
fSxfcmVuZGVyUHJveHk6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50
T2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTtpZih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVy
PXRoaXMuaGVscGVyfHxhKCc8ZGl2IHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2
YXIgaD1hLmJyb3dzZXIubXNpZSYmYS5icm93c2VyLnZlcnNpb248NyxnPWg/MTowO2g9aD8yOi0x
O3RoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1l
bnQub3V0ZXJXaWR0aCgpKworaCxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkraCxw
b3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6dGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtZysicHgiLHRv
cDp0aGlzLmVsZW1lbnRPZmZzZXQudG9wLWcrInB4Iix6SW5kZXg6KytlLnpJbmRleH0pO3RoaXMu
aGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJsZVNlbGVjdGlvbigpfWVsc2UgdGhpcy5oZWxw
ZXI9dGhpcy5lbGVtZW50fSxfY2hhbmdlOntlOmZ1bmN0aW9uKGUsaCl7cmV0dXJue3dpZHRoOnRo
aXMub3JpZ2luYWxTaXplLndpZHRoK2h9fSx3OmZ1bmN0aW9uKGUsaCl7cmV0dXJue2xlZnQ6dGhp
cy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQraCx3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC1o
fX0sbjpmdW5jdGlvbihlLGgsZyl7cmV0dXJue3RvcDp0aGlzLm9yaWdpbmFsUG9zaXRpb24udG9w
K2csaGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodC1nfX0sczpmdW5jdGlvbihlLGgsZyl7
cmV0dXJue2hlaWdodDp0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQrCitnfX0sc2U6ZnVuY3Rpb24o
ZSxoLGcpe3JldHVybiBhLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50
cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZSxoLGddKSl9LHN3OmZ1bmN0aW9uKGUsaCxn
KXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRo
aXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2UsaCxnXSkpfSxuZTpmdW5jdGlvbihlLGgsZyl7cmV0
dXJuIGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9j
aGFuZ2UuZS5hcHBseSh0aGlzLFtlLGgsZ10pKX0sbnc6ZnVuY3Rpb24oZSxoLGcpe3JldHVybiBh
LmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdl
LncuYXBwbHkodGhpcyxbZSxoLGddKSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKGUsaCl7YS51aS5w
bHVnaW4uY2FsbCh0aGlzLGUsW2gsdGhpcy51aSgpXSk7CitlIT0icmVzaXplIiYmdGhpcy5fdHJp
Z2dlcihlLGgsdGhpcy51aSgpKX0scGx1Z2luczp7fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmln
aW5hbEVsZW1lbnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVs
cGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3Jp
Z2luYWxTaXplOnRoaXMub3JpZ2luYWxTaXplLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5h
bFBvc2l0aW9ufX19KTthLmV4dGVuZChhLnVpLnJlc2l6YWJsZSx7dmVyc2lvbjoiMS44LjE1In0p
O2EudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYWxzb1Jlc2l6ZSIse3N0YXJ0OmZ1bmN0aW9u
KCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKS5vcHRpb25zLGg9ZnVuY3Rpb24oZyl7
YShnKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9YSh0aGlzKTtpLmRhdGEoInJlc2l6YWJsZS1hbHNv
cmVzaXplIix7d2lkdGg6cGFyc2VJbnQoaS53aWR0aCgpLAorMTApLGhlaWdodDpwYXJzZUludChp
LmhlaWdodCgpLDEwKSxsZWZ0OnBhcnNlSW50KGkuY3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUlu
dChpLmNzcygidG9wIiksMTApLHBvc2l0aW9uOmkuY3NzKCJwb3NpdGlvbiIpfSl9KX07aWYodHlw
ZW9mIGUuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFlLmFsc29SZXNpemUucGFyZW50Tm9kZSlpZihl
LmFsc29SZXNpemUubGVuZ3RoKXtlLmFsc29SZXNpemU9ZS5hbHNvUmVzaXplWzBdO2goZS5hbHNv
UmVzaXplKX1lbHNlIGEuZWFjaChlLmFsc29SZXNpemUsZnVuY3Rpb24oZyl7aChnKX0pO2Vsc2Ug
aChlLmFsc29SZXNpemUpfSxyZXNpemU6ZnVuY3Rpb24oZSxoKXt2YXIgZz1hKHRoaXMpLmRhdGEo
InJlc2l6YWJsZSIpO2U9Zy5vcHRpb25zO3ZhciBpPWcub3JpZ2luYWxTaXplLGI9Zy5vcmlnaW5h
bFBvc2l0aW9uLGY9e2hlaWdodDpnLnNpemUuaGVpZ2h0LWkuaGVpZ2h0fHwwLHdpZHRoOmcuc2l6
ZS53aWR0aC1pLndpZHRofHwwLHRvcDpnLnBvc2l0aW9uLnRvcC0KK2IudG9wfHwwLGxlZnQ6Zy5w
b3NpdGlvbi5sZWZ0LWIubGVmdHx8MH0saj1mdW5jdGlvbihsLG8pe2EobCkuZWFjaChmdW5jdGlv
bigpe3ZhciBuPWEodGhpcyksaz1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIiks
bT17fSxwPW8mJm8ubGVuZ3RoP286bi5wYXJlbnRzKGgub3JpZ2luYWxFbGVtZW50WzBdKS5sZW5n
dGg/WyJ3aWR0aCIsImhlaWdodCJdOlsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJsZWZ0Il07YS5l
YWNoKHAsZnVuY3Rpb24ocSxzKXtpZigocT0oa1tzXXx8MCkrKGZbc118fDApKSYmcT49MCltW3Nd
PXF8fG51bGx9KTtpZihhLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChuLmNzcygicG9z
aXRpb24iKSkpe2cuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbj10cnVlO24uY3NzKHtwb3NpdGlv
bjoiYWJzb2x1dGUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1uLmNzcyhtKX0pfTt0eXBlb2Yg
ZS5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWUuYWxzb1Jlc2l6ZS5ub2RlVHlwZT8KK2EuZWFjaChl
LmFsc29SZXNpemUsZnVuY3Rpb24obCxvKXtqKGwsbyl9KTpqKGUuYWxzb1Jlc2l6ZSl9LHN0b3A6
ZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9
ZnVuY3Rpb24oaSl7YShpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtiLmNzcyh7cG9z
aXRpb246Yi5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpLnBvc2l0aW9ufSl9KX07aWYoZS5f
cmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uKXtlLl9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249ZmFs
c2U7dHlwZW9mIGguYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFoLmFsc29SZXNpemUubm9kZVR5cGU/
YS5lYWNoKGguYWxzb1Jlc2l6ZSxmdW5jdGlvbihpKXtnKGkpfSk6ZyhoLmFsc29SZXNpemUpfWEo
dGhpcykucmVtb3ZlRGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiKX19KTthLnVpLnBsdWdpbi5h
ZGQoInJlc2l6YWJsZSIsImFuaW1hdGUiLHtzdG9wOmZ1bmN0aW9uKGUpe3ZhciBoPQorYSh0aGlz
KS5kYXRhKCJyZXNpemFibGUiKSxnPWgub3B0aW9ucyxpPWguX3Byb3BvcnRpb25hbGx5UmVzaXpl
RWxlbWVudHMsYj1pLmxlbmd0aCYmL3RleHRhcmVhL2kudGVzdChpWzBdLm5vZGVOYW1lKSxmPWIm
JmEudWkuaGFzU2Nyb2xsKGlbMF0sImxlZnQiKT8wOmguc2l6ZURpZmYuaGVpZ2h0O2I9e3dpZHRo
Omguc2l6ZS53aWR0aC0oYj8wOmguc2l6ZURpZmYud2lkdGgpLGhlaWdodDpoLnNpemUuaGVpZ2h0
LWZ9O2Y9cGFyc2VJbnQoaC5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsoaC5wb3NpdGlvbi5sZWZ0
LWgub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbDt2YXIgaj1wYXJzZUludChoLmVsZW1lbnQu
Y3NzKCJ0b3AiKSwxMCkrKGgucG9zaXRpb24udG9wLWgub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxu
dWxsO2guZWxlbWVudC5hbmltYXRlKGEuZXh0ZW5kKGIsaiYmZj97dG9wOmosbGVmdDpmfTp7fSks
e2R1cmF0aW9uOmcuYW5pbWF0ZUR1cmF0aW9uLGVhc2luZzpnLmFuaW1hdGVFYXNpbmcsCitzdGVw
OmZ1bmN0aW9uKCl7dmFyIGw9e3dpZHRoOnBhcnNlSW50KGguZWxlbWVudC5jc3MoIndpZHRoIiks
MTApLGhlaWdodDpwYXJzZUludChoLmVsZW1lbnQuY3NzKCJoZWlnaHQiKSwxMCksdG9wOnBhcnNl
SW50KGguZWxlbWVudC5jc3MoInRvcCIpLDEwKSxsZWZ0OnBhcnNlSW50KGguZWxlbWVudC5jc3Mo
ImxlZnQiKSwxMCl9O2kmJmkubGVuZ3RoJiZhKGlbMF0pLmNzcyh7d2lkdGg6bC53aWR0aCxoZWln
aHQ6bC5oZWlnaHR9KTtoLl91cGRhdGVDYWNoZShsKTtoLl9wcm9wYWdhdGUoInJlc2l6ZSIsZSl9
fSl9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJjb250YWlubWVudCIse3N0YXJ0OmZ1
bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUuZWxlbWVudCxnPWUu
b3B0aW9ucy5jb250YWlubWVudDtpZihoPWcgaW5zdGFuY2VvZiBhP2cuZ2V0KDApOi9wYXJlbnQv
LnRlc3QoZyk/aC5wYXJlbnQoKS5nZXQoMCk6Zyl7ZS5jb250YWluZXJFbGVtZW50PQorYShoKTtp
ZigvZG9jdW1lbnQvLnRlc3QoZyl8fGc9PWRvY3VtZW50KXtlLmNvbnRhaW5lck9mZnNldD17bGVm
dDowLHRvcDowfTtlLmNvbnRhaW5lclBvc2l0aW9uPXtsZWZ0OjAsdG9wOjB9O2UucGFyZW50RGF0
YT17ZWxlbWVudDphKGRvY3VtZW50KSxsZWZ0OjAsdG9wOjAsd2lkdGg6YShkb2N1bWVudCkud2lk
dGgoKSxoZWlnaHQ6YShkb2N1bWVudCkuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9k
ZS5zY3JvbGxIZWlnaHR9fWVsc2V7dmFyIGk9YShoKSxiPVtdO2EoWyJUb3AiLCJSaWdodCIsIkxl
ZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihsLG8pe2JbbF09YyhpLmNzcygicGFkZGluZyIr
bykpfSk7ZS5jb250YWluZXJPZmZzZXQ9aS5vZmZzZXQoKTtlLmNvbnRhaW5lclBvc2l0aW9uPWku
cG9zaXRpb24oKTtlLmNvbnRhaW5lclNpemU9e2hlaWdodDppLmlubmVySGVpZ2h0KCktYlszXSx3
aWR0aDppLmlubmVyV2lkdGgoKS1iWzFdfTtnPWUuY29udGFpbmVyT2Zmc2V0OwordmFyIGY9ZS5j
b250YWluZXJTaXplLmhlaWdodCxqPWUuY29udGFpbmVyU2l6ZS53aWR0aDtqPWEudWkuaGFzU2Ny
b2xsKGgsImxlZnQiKT9oLnNjcm9sbFdpZHRoOmo7Zj1hLnVpLmhhc1Njcm9sbChoKT9oLnNjcm9s
bEhlaWdodDpmO2UucGFyZW50RGF0YT17ZWxlbWVudDpoLGxlZnQ6Zy5sZWZ0LHRvcDpnLnRvcCx3
aWR0aDpqLGhlaWdodDpmfX19fSxyZXNpemU6ZnVuY3Rpb24oZSl7dmFyIGg9YSh0aGlzKS5kYXRh
KCJyZXNpemFibGUiKSxnPWgub3B0aW9ucyxpPWguY29udGFpbmVyT2Zmc2V0LGI9aC5wb3NpdGlv
bjtlPWguX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5O3ZhciBmPXt0b3A6MCxsZWZ0OjB9LGo9aC5j
b250YWluZXJFbGVtZW50O2lmKGpbMF0hPWRvY3VtZW50JiYvc3RhdGljLy50ZXN0KGouY3NzKCJw
b3NpdGlvbiIpKSlmPWk7aWYoYi5sZWZ0PChoLl9oZWxwZXI/aS5sZWZ0OjApKXtoLnNpemUud2lk
dGgrPWguX2hlbHBlcj9oLnBvc2l0aW9uLmxlZnQtaS5sZWZ0OgoraC5wb3NpdGlvbi5sZWZ0LWYu
bGVmdDtpZihlKWguc2l6ZS5oZWlnaHQ9aC5zaXplLndpZHRoL2cuYXNwZWN0UmF0aW87aC5wb3Np
dGlvbi5sZWZ0PWcuaGVscGVyP2kubGVmdDowfWlmKGIudG9wPChoLl9oZWxwZXI/aS50b3A6MCkp
e2guc2l6ZS5oZWlnaHQrPWguX2hlbHBlcj9oLnBvc2l0aW9uLnRvcC1pLnRvcDpoLnBvc2l0aW9u
LnRvcDtpZihlKWguc2l6ZS53aWR0aD1oLnNpemUuaGVpZ2h0KmcuYXNwZWN0UmF0aW87aC5wb3Np
dGlvbi50b3A9aC5faGVscGVyP2kudG9wOjB9aC5vZmZzZXQubGVmdD1oLnBhcmVudERhdGEubGVm
dCtoLnBvc2l0aW9uLmxlZnQ7aC5vZmZzZXQudG9wPWgucGFyZW50RGF0YS50b3AraC5wb3NpdGlv
bi50b3A7Zz1NYXRoLmFicygoaC5faGVscGVyP2gub2Zmc2V0LmxlZnQtZi5sZWZ0Omgub2Zmc2V0
LmxlZnQtZi5sZWZ0KStoLnNpemVEaWZmLndpZHRoKTtpPU1hdGguYWJzKChoLl9oZWxwZXI/aC5v
ZmZzZXQudG9wLWYudG9wOmgub2Zmc2V0LnRvcC0KK2kudG9wKStoLnNpemVEaWZmLmhlaWdodCk7
Yj1oLmNvbnRhaW5lckVsZW1lbnQuZ2V0KDApPT1oLmVsZW1lbnQucGFyZW50KCkuZ2V0KDApO2Y9
L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KGguY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9u
IikpO2lmKGImJmYpZy09aC5wYXJlbnREYXRhLmxlZnQ7aWYoZytoLnNpemUud2lkdGg+PWgucGFy
ZW50RGF0YS53aWR0aCl7aC5zaXplLndpZHRoPWgucGFyZW50RGF0YS53aWR0aC1nO2lmKGUpaC5z
aXplLmhlaWdodD1oLnNpemUud2lkdGgvaC5hc3BlY3RSYXRpb31pZihpK2guc2l6ZS5oZWlnaHQ+
PWgucGFyZW50RGF0YS5oZWlnaHQpe2guc2l6ZS5oZWlnaHQ9aC5wYXJlbnREYXRhLmhlaWdodC1p
O2lmKGUpaC5zaXplLndpZHRoPWguc2l6ZS5oZWlnaHQqaC5hc3BlY3RSYXRpb319LHN0b3A6ZnVu
Y3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5j
b250YWluZXJPZmZzZXQsaT1lLmNvbnRhaW5lclBvc2l0aW9uLAorYj1lLmNvbnRhaW5lckVsZW1l
bnQsZj1hKGUuaGVscGVyKSxqPWYub2Zmc2V0KCksbD1mLm91dGVyV2lkdGgoKS1lLnNpemVEaWZm
LndpZHRoO2Y9Zi5vdXRlckhlaWdodCgpLWUuc2l6ZURpZmYuaGVpZ2h0O2UuX2hlbHBlciYmIWgu
YW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGIuY3NzKCJwb3NpdGlvbiIpKSYmYSh0aGlzKS5jc3Mo
e2xlZnQ6ai5sZWZ0LWkubGVmdC1nLmxlZnQsd2lkdGg6bCxoZWlnaHQ6Zn0pO2UuX2hlbHBlciYm
IWguYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChiLmNzcygicG9zaXRpb24iKSkmJmEodGhpcykuY3Nz
KHtsZWZ0OmoubGVmdC1pLmxlZnQtZy5sZWZ0LHdpZHRoOmwsaGVpZ2h0OmZ9KX19KTthLnVpLnBs
dWdpbi5hZGQoInJlc2l6YWJsZSIsImdob3N0Iix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZT1hKHRo
aXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5zaXplO2UuZ2hvc3Q9ZS5vcmln
aW5hbEVsZW1lbnQuY2xvbmUoKTtlLmdob3N0LmNzcyh7b3BhY2l0eTowLjI1LAorZGlzcGxheToi
YmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmcuaGVpZ2h0LHdpZHRoOmcud2lkdGgs
bWFyZ2luOjAsbGVmdDowLHRvcDowfSkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFk
ZENsYXNzKHR5cGVvZiBoLmdob3N0PT0ic3RyaW5nIj9oLmdob3N0OiIiKTtlLmdob3N0LmFwcGVu
ZFRvKGUuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNp
emFibGUiKTtlLmdob3N0JiZlLmdob3N0LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6
ZS5zaXplLmhlaWdodCx3aWR0aDplLnNpemUud2lkdGh9KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBl
PWEodGhpcykuZGF0YSgicmVzaXphYmxlIik7ZS5naG9zdCYmZS5oZWxwZXImJmUuaGVscGVyLmdl
dCgwKS5yZW1vdmVDaGlsZChlLmdob3N0LmdldCgwKSl9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNp
emFibGUiLCJncmlkIix7cmVzaXplOmZ1bmN0aW9uKCl7dmFyIGU9CithKHRoaXMpLmRhdGEoInJl
c2l6YWJsZSIpLGg9ZS5vcHRpb25zLGc9ZS5zaXplLGk9ZS5vcmlnaW5hbFNpemUsYj1lLm9yaWdp
bmFsUG9zaXRpb24sZj1lLmF4aXM7aC5ncmlkPXR5cGVvZiBoLmdyaWQ9PSJudW1iZXIiP1toLmdy
aWQsaC5ncmlkXTpoLmdyaWQ7dmFyIGo9TWF0aC5yb3VuZCgoZy53aWR0aC1pLndpZHRoKS8oaC5n
cmlkWzBdfHwxKSkqKGguZ3JpZFswXXx8MSk7aD1NYXRoLnJvdW5kKChnLmhlaWdodC1pLmhlaWdo
dCkvKGguZ3JpZFsxXXx8MSkpKihoLmdyaWRbMV18fDEpO2lmKC9eKHNlfHN8ZSkkLy50ZXN0KGYp
KXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9aS5oZWlnaHQraH1lbHNlIGlm
KC9eKG5lKSQvLnRlc3QoZikpe2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdodD1p
LmhlaWdodCtoO2UucG9zaXRpb24udG9wPWIudG9wLWh9ZWxzZXtpZigvXihzdykkLy50ZXN0KGYp
KXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9CitpLmhlaWdodCtofWVsc2V7
ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVpZ2h0PWkuaGVpZ2h0K2g7ZS5wb3NpdGlv
bi50b3A9Yi50b3AtaH1lLnBvc2l0aW9uLmxlZnQ9Yi5sZWZ0LWp9fX0pO3ZhciBjPWZ1bmN0aW9u
KGUpe3JldHVybiBwYXJzZUludChlLDEwKXx8MH0sZD1mdW5jdGlvbihlKXtyZXR1cm4haXNOYU4o
cGFyc2VJbnQoZSwxMCkpfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLnNl
bGVjdGFibGUiLGEudWkubW91c2Use29wdGlvbnM6e2FwcGVuZFRvOiJib2R5IixhdXRvUmVmcmVz
aDp0cnVlLGRpc3RhbmNlOjAsZmlsdGVyOiIqIix0b2xlcmFuY2U6InRvdWNoIn0sX2NyZWF0ZTpm
dW5jdGlvbigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RhYmxl
Iik7dGhpcy5kcmFnZ2VkPWZhbHNlO3ZhciBkO3RoaXMucmVmcmVzaD1mdW5jdGlvbigpe2Q9YShj
Lm9wdGlvbnMuZmlsdGVyLGMuZWxlbWVudFswXSk7ZC5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0
aGlzKSxoPWUub2Zmc2V0KCk7YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIse2VsZW1lbnQ6
dGhpcywkZWxlbWVudDplLGxlZnQ6aC5sZWZ0LHRvcDpoLnRvcCxyaWdodDpoLmxlZnQrZS5vdXRl
cldpZHRoKCksYm90dG9tOmgudG9wK2Uub3V0ZXJIZWlnaHQoKSxzdGFydHNlbGVjdGVkOmZhbHNl
LHNlbGVjdGVkOmUuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIiksCitzZWxlY3Rpbmc6ZS5oYXNDbGFz
cygidWktc2VsZWN0aW5nIiksdW5zZWxlY3Rpbmc6ZS5oYXNDbGFzcygidWktdW5zZWxlY3Rpbmci
KX0pfSl9O3RoaXMucmVmcmVzaCgpO3RoaXMuc2VsZWN0ZWVzPWQuYWRkQ2xhc3MoInVpLXNlbGVj
dGVlIik7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5oZWxwZXI9YSgiPGRpdiBjbGFzcz0ndWktc2Vs
ZWN0YWJsZS1oZWxwZXInPjwvZGl2PiIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rl
ZXMucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVlIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZS1pdGVt
Iik7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RhYmxlIHVpLXNlbGVjdGFibGUt
ZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlIikudW5iaW5kKCIuc2VsZWN0YWJsZSIp
O3RoaXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0aGlzfSxfbW91c2VTdGFydDpmdW5jdGlvbihj
KXt2YXIgZD10aGlzO3RoaXMub3Bvcz1bYy5wYWdlWCwKK2MucGFnZVldO2lmKCF0aGlzLm9wdGlv
bnMuZGlzYWJsZWQpe3ZhciBlPXRoaXMub3B0aW9uczt0aGlzLnNlbGVjdGVlcz1hKGUuZmlsdGVy
LHRoaXMuZWxlbWVudFswXSk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpO2EoZS5hcHBlbmRUbyku
YXBwZW5kKHRoaXMuaGVscGVyKTt0aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yy5jbGllbnRYLHRvcDpj
LmNsaWVudFksd2lkdGg6MCxoZWlnaHQ6MH0pO2UuYXV0b1JlZnJlc2gmJnRoaXMucmVmcmVzaCgp
O3RoaXMuc2VsZWN0ZWVzLmZpbHRlcigiLnVpLXNlbGVjdGVkIikuZWFjaChmdW5jdGlvbigpe3Zh
ciBoPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtoLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtp
ZighYy5tZXRhS2V5KXtoLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2guc2Vs
ZWN0ZWQ9ZmFsc2U7aC4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtoLnVuc2Vs
ZWN0aW5nPXRydWU7ZC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLAorYyx7dW5zZWxlY3Rpbmc6aC5l
bGVtZW50fSl9fSk7YShjLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIGg9YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2lmKGgpe3ZhciBnPSFjLm1l
dGFLZXl8fCFoLiRlbGVtZW50Lmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpO2guJGVsZW1lbnQucmVt
b3ZlQ2xhc3MoZz8idWktdW5zZWxlY3RpbmciOiJ1aS1zZWxlY3RlZCIpLmFkZENsYXNzKGc/InVp
LXNlbGVjdGluZyI6InVpLXVuc2VsZWN0aW5nIik7aC51bnNlbGVjdGluZz0hZztoLnNlbGVjdGlu
Zz1nOyhoLnNlbGVjdGVkPWcpP2QuX3RyaWdnZXIoInNlbGVjdGluZyIsYyx7c2VsZWN0aW5nOmgu
ZWxlbWVudH0pOmQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpoLmVsZW1l
bnR9KTtyZXR1cm4gZmFsc2V9fSl9fSxfbW91c2VEcmFnOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXM7
dGhpcy5kcmFnZ2VkPXRydWU7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCl7dmFyIGU9Cit0aGlz
Lm9wdGlvbnMsaD10aGlzLm9wb3NbMF0sZz10aGlzLm9wb3NbMV0saT1jLnBhZ2VYLGI9Yy5wYWdl
WTtpZihoPmkpe3ZhciBmPWk7aT1oO2g9Zn1pZihnPmIpe2Y9YjtiPWc7Zz1mfXRoaXMuaGVscGVy
LmNzcyh7bGVmdDpoLHRvcDpnLHdpZHRoOmktaCxoZWlnaHQ6Yi1nfSk7dGhpcy5zZWxlY3RlZXMu
ZWFjaChmdW5jdGlvbigpe3ZhciBqPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpZigh
KCFqfHxqLmVsZW1lbnQ9PWQuZWxlbWVudFswXSkpe3ZhciBsPWZhbHNlO2lmKGUudG9sZXJhbmNl
PT0idG91Y2giKWw9IShqLmxlZnQ+aXx8ai5yaWdodDxofHxqLnRvcD5ifHxqLmJvdHRvbTxnKTtl
bHNlIGlmKGUudG9sZXJhbmNlPT0iZml0IilsPWoubGVmdD5oJiZqLnJpZ2h0PGkmJmoudG9wPmcm
JmouYm90dG9tPGI7aWYobCl7aWYoai5zZWxlY3RlZCl7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygi
dWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPWZhbHNlfWlmKGoudW5zZWxlY3Rpbmcpe2ouJGVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7CitqLnVuc2VsZWN0aW5nPWZhbHNlfWlm
KCFqLnNlbGVjdGluZyl7ai4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIik7ai5zZWxl
Y3Rpbmc9dHJ1ZTtkLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3NlbGVjdGluZzpqLmVsZW1lbnR9
KX19ZWxzZXtpZihqLnNlbGVjdGluZylpZihjLm1ldGFLZXkmJmouc3RhcnRzZWxlY3RlZCl7ai4k
ZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7ai5zZWxlY3Rpbmc9ZmFsc2U7ai4k
ZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPXRydWV9ZWxzZXtqLiRl
bGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKTtqLnNlbGVjdGluZz1mYWxzZTtpZihq
LnN0YXJ0c2VsZWN0ZWQpe2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ai51
bnNlbGVjdGluZz10cnVlfWQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpq
LmVsZW1lbnR9KX1pZihqLnNlbGVjdGVkKWlmKCFjLm1ldGFLZXkmJgorIWouc3RhcnRzZWxlY3Rl
ZCl7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWQiKTtqLnNlbGVjdGVkPWZhbHNl
O2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ai51bnNlbGVjdGluZz10cnVl
O2QuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzpqLmVsZW1lbnR9KX19fX0p
O3JldHVybiBmYWxzZX19LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpczt0aGlzLmRy
YWdnZWQ9ZmFsc2U7YSgiLnVpLXVuc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVu
Y3Rpb24oKXt2YXIgZT1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZS4kZWxlbWVudC5y
ZW1vdmVDbGFzcygidWktdW5zZWxlY3RpbmciKTtlLnVuc2VsZWN0aW5nPWZhbHNlO2Uuc3RhcnRz
ZWxlY3RlZD1mYWxzZTtkLl90cmlnZ2VyKCJ1bnNlbGVjdGVkIixjLHt1bnNlbGVjdGVkOmUuZWxl
bWVudH0pfSk7YSgiLnVpLXNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIGU9CithLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7ZS4kZWxlbWVudC5yZW1v
dmVDbGFzcygidWktc2VsZWN0aW5nIikuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIik7ZS5zZWxlY3Rp
bmc9ZmFsc2U7ZS5zZWxlY3RlZD10cnVlO2Uuc3RhcnRzZWxlY3RlZD10cnVlO2QuX3RyaWdnZXIo
InNlbGVjdGVkIixjLHtzZWxlY3RlZDplLmVsZW1lbnR9KX0pO3RoaXMuX3RyaWdnZXIoInN0b3Ai
LGMpO3RoaXMuaGVscGVyLnJlbW92ZSgpO3JldHVybiBmYWxzZX19KTthLmV4dGVuZChhLnVpLnNl
bGVjdGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53
aWRnZXQoInVpLnNvcnRhYmxlIixhLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoic29ydCIs
b3B0aW9uczp7YXBwZW5kVG86InBhcmVudCIsYXhpczpmYWxzZSxjb25uZWN0V2l0aDpmYWxzZSxj
b250YWlubWVudDpmYWxzZSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OmZhbHNlLGRyb3BPbkVtcHR5
OnRydWUsZm9yY2VQbGFjZWhvbGRlclNpemU6ZmFsc2UsZm9yY2VIZWxwZXJTaXplOmZhbHNlLGdy
aWQ6ZmFsc2UsaGFuZGxlOmZhbHNlLGhlbHBlcjoib3JpZ2luYWwiLGl0ZW1zOiI+ICoiLG9wYWNp
dHk6ZmFsc2UscGxhY2Vob2xkZXI6ZmFsc2UscmV2ZXJ0OmZhbHNlLHNjcm9sbDp0cnVlLHNjcm9s
bFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6
ImludGVyc2VjdCIsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0
aW9uczt0aGlzLmNvbnRhaW5lckNhY2hlPXt9O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc29y
dGFibGUiKTsKK3RoaXMucmVmcmVzaCgpO3RoaXMuZmxvYXRpbmc9dGhpcy5pdGVtcy5sZW5ndGg/
Yy5heGlzPT09IngifHwvbGVmdHxyaWdodC8udGVzdCh0aGlzLml0ZW1zWzBdLml0ZW0uY3NzKCJm
bG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3Mo
ImRpc3BsYXkiKSk6ZmFsc2U7dGhpcy5vZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMu
X21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS1zb3J0YWJsZSB1aS1zb3J0YWJsZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEoInNvcnRhYmxl
IikudW5iaW5kKCIuc29ydGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtmb3IodmFyIGM9dGhp
cy5pdGVtcy5sZW5ndGgtMTtjPj0wO2MtLSl0aGlzLml0ZW1zW2NdLml0ZW0ucmVtb3ZlRGF0YSgi
c29ydGFibGUtaXRlbSIpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGMsZCl7aWYo
Yz09PQorImRpc2FibGVkIil7dGhpcy5vcHRpb25zW2NdPWQ7dGhpcy53aWRnZXQoKVtkPyJhZGRD
bGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXNvcnRhYmxlLWRpc2FibGVkIil9ZWxzZSBhLldpZGdl
dC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9tb3VzZUNhcHR1
cmU6ZnVuY3Rpb24oYyxkKXtpZih0aGlzLnJldmVydGluZylyZXR1cm4gZmFsc2U7aWYodGhpcy5v
cHRpb25zLmRpc2FibGVkfHx0aGlzLm9wdGlvbnMudHlwZT09InN0YXRpYyIpcmV0dXJuIGZhbHNl
O3RoaXMuX3JlZnJlc2hJdGVtcyhjKTt2YXIgZT1udWxsLGg9dGhpczthKGMudGFyZ2V0KS5wYXJl
bnRzKCkuZWFjaChmdW5jdGlvbigpe2lmKGEuZGF0YSh0aGlzLCJzb3J0YWJsZS1pdGVtIik9PWgp
e2U9YSh0aGlzKTtyZXR1cm4gZmFsc2V9fSk7aWYoYS5kYXRhKGMudGFyZ2V0LCJzb3J0YWJsZS1p
dGVtIik9PWgpZT1hKGMudGFyZ2V0KTtpZighZSlyZXR1cm4gZmFsc2U7aWYodGhpcy5vcHRpb25z
LmhhbmRsZSYmCishZCl7dmFyIGc9ZmFsc2U7YSh0aGlzLm9wdGlvbnMuaGFuZGxlLGUpLmZpbmQo
IioiKS5hbmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe2lmKHRoaXM9PWMudGFyZ2V0KWc9dHJ1ZX0p
O2lmKCFnKXJldHVybiBmYWxzZX10aGlzLmN1cnJlbnRJdGVtPWU7dGhpcy5fcmVtb3ZlQ3VycmVu
dHNGcm9tSXRlbXMoKTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyxkLGUpe2Q9
dGhpcy5vcHRpb25zO3ZhciBoPXRoaXM7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXM7dGhpcy5y
ZWZyZXNoUG9zaXRpb25zKCk7dGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKGMpO3RoaXMu
X2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLnNjcm9s
bFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLmN1cnJl
bnRJdGVtLm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFy
Z2lucy50b3AsCitsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9O3RoaXMu
aGVscGVyLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpO3RoaXMuY3NzUG9zaXRpb249dGhpcy5o
ZWxwZXIuY3NzKCJwb3NpdGlvbiIpO2EuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDpj
LnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmMucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJl
bnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZz
ZXQoKX0pO3RoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGMpO3Ro
aXMub3JpZ2luYWxQYWdlWD1jLnBhZ2VYO3RoaXMub3JpZ2luYWxQYWdlWT1jLnBhZ2VZO2QuY3Vy
c29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoZC5jdXJzb3JBdCk7dGhpcy5kb21Q
b3NpdGlvbj17cHJldjp0aGlzLmN1cnJlbnRJdGVtLnByZXYoKVswXSxwYXJlbnQ6dGhpcy5jdXJy
ZW50SXRlbS5wYXJlbnQoKVswXX07Cit0aGlzLmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVsw
XSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCk7dGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKTtkLmNv
bnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpO2lmKGQuY3Vyc29yKXtpZihhKCJib2R5
IikuY3NzKCJjdXJzb3IiKSl0aGlzLl9zdG9yZWRDdXJzb3I9YSgiYm9keSIpLmNzcygiY3Vyc29y
Iik7YSgiYm9keSIpLmNzcygiY3Vyc29yIixkLmN1cnNvcil9aWYoZC5vcGFjaXR5KXtpZih0aGlz
LmhlbHBlci5jc3MoIm9wYWNpdHkiKSl0aGlzLl9zdG9yZWRPcGFjaXR5PXRoaXMuaGVscGVyLmNz
cygib3BhY2l0eSIpO3RoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsZC5vcGFjaXR5KX1pZihkLnpJ
bmRleCl7aWYodGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiKSl0aGlzLl9zdG9yZWRaSW5kZXg9dGhp
cy5oZWxwZXIuY3NzKCJ6SW5kZXgiKTt0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsZC56SW5kZXgp
fWlmKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT0KK2RvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFsw
XS50YWdOYW1lIT0iSFRNTCIpdGhpcy5vdmVyZmxvd09mZnNldD10aGlzLnNjcm9sbFBhcmVudC5v
ZmZzZXQoKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsYyx0aGlzLl91aUhhc2goKSk7dGhpcy5fcHJl
c2VydmVIZWxwZXJQcm9wb3J0aW9uc3x8dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2lm
KCFlKWZvcihlPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLmNvbnRhaW5l
cnNbZV0uX3RyaWdnZXIoImFjdGl2YXRlIixjLGguX3VpSGFzaCh0aGlzKSk7aWYoYS51aS5kZG1h
bmFnZXIpYS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzO2EudWkuZGRtYW5hZ2VyJiYhZC5kcm9w
QmVoYXZpb3VyJiZhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGMpO3RoaXMuZHJh
Z2dpbmc9dHJ1ZTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7dGhp
cy5fbW91c2VEcmFnKGMpOworcmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dGhp
cy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGMpO3RoaXMucG9zaXRpb25BYnM9dGhp
cy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMubGFzdFBvc2l0aW9uQWJz
KXRoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnM7aWYodGhpcy5vcHRpb25zLnNj
cm9sbCl7dmFyIGQ9dGhpcy5vcHRpb25zLGU9ZmFsc2U7aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0h
PWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpe2lmKHRoaXMu
b3ZlcmZsb3dPZmZzZXQudG9wK3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC1jLnBh
Z2VZPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWU9
dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Quc2Nyb2xsU3BlZWQ7ZWxzZSBpZihjLnBh
Z2VZLXRoaXMub3ZlcmZsb3dPZmZzZXQudG9wPAorZC5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxUb3A9ZT10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3At
ZC5zY3JvbGxTcGVlZDtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQrdGhpcy5zY3JvbGxQYXJl
bnRbMF0ub2Zmc2V0V2lkdGgtYy5wYWdlWDxkLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbExlZnQ9ZT10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0K2Qu
c2Nyb2xsU3BlZWQ7ZWxzZSBpZihjLnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxkLnNj
cm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9ZT10aGlzLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWQuc2Nyb2xsU3BlZWR9ZWxzZXtpZihjLnBhZ2VZLWEo
ZG9jdW1lbnQpLnNjcm9sbFRvcCgpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1hKGRvY3VtZW50KS5z
Y3JvbGxUb3AoYShkb2N1bWVudCkuc2Nyb2xsVG9wKCktCitkLnNjcm9sbFNwZWVkKTtlbHNlIGlm
KGEod2luZG93KS5oZWlnaHQoKS0oYy5wYWdlWS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8ZC5z
Y3JvbGxTZW5zaXRpdml0eSllPWEoZG9jdW1lbnQpLnNjcm9sbFRvcChhKGRvY3VtZW50KS5zY3Jv
bGxUb3AoKStkLnNjcm9sbFNwZWVkKTtpZihjLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9sbExlZnQo
KTxkLnNjcm9sbFNlbnNpdGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3VtZW50
KS5zY3JvbGxMZWZ0KCktZC5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykud2lkdGgoKS0o
Yy5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1h
KGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStkLnNjcm9sbFNw
ZWVkKX1lIT09ZmFsc2UmJmEudWkuZGRtYW5hZ2VyJiYhZC5kcm9wQmVoYXZpb3VyJiZhLnVpLmRk
bWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLAorYyl9dGhpcy5wb3NpdGlvbkFicz10aGlzLl9j
b252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMu
b3B0aW9ucy5heGlzIT0ieSIpdGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9u
LmxlZnQrInB4IjtpZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIp
dGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7Zm9yKGQ9dGhp
cy5pdGVtcy5sZW5ndGgtMTtkPj0wO2QtLSl7ZT10aGlzLml0ZW1zW2RdO3ZhciBoPWUuaXRlbVsw
XSxnPXRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlcihlKTtpZihnKWlmKGghPXRoaXMuY3VycmVu
dEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbZz09MT8ibmV4dCI6InByZXYiXSgpWzBdIT1oJiYh
YS51aS5jb250YWlucyh0aGlzLnBsYWNlaG9sZGVyWzBdLGgpJiYodGhpcy5vcHRpb25zLnR5cGU9
PSJzZW1pLWR5bmFtaWMiPyFhLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSwKK2gpOnRydWUp
KXt0aGlzLmRpcmVjdGlvbj1nPT0xPyJkb3duIjoidXAiO2lmKHRoaXMub3B0aW9ucy50b2xlcmFu
Y2U9PSJwb2ludGVyInx8dGhpcy5faW50ZXJzZWN0c1dpdGhTaWRlcyhlKSl0aGlzLl9yZWFycmFu
Z2UoYyxlKTtlbHNlIGJyZWFrO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsYyx0aGlzLl91aUhhc2go
KSk7YnJlYWt9fXRoaXMuX2NvbnRhY3RDb250YWluZXJzKGMpO2EudWkuZGRtYW5hZ2VyJiZhLnVp
LmRkbWFuYWdlci5kcmFnKHRoaXMsYyk7dGhpcy5fdHJpZ2dlcigic29ydCIsYyx0aGlzLl91aUhh
c2goKSk7dGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztyZXR1cm4gZmFsc2V9
LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyxkKXtpZihjKXthLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0
aW9ucy5kcm9wQmVoYXZpb3VyJiZhLnVpLmRkbWFuYWdlci5kcm9wKHRoaXMsYyk7aWYodGhpcy5v
cHRpb25zLnJldmVydCl7dmFyIGU9dGhpcztkPWUucGxhY2Vob2xkZXIub2Zmc2V0KCk7CitlLnJl
dmVydGluZz10cnVlO2EodGhpcy5oZWxwZXIpLmFuaW1hdGUoe2xlZnQ6ZC5sZWZ0LXRoaXMub2Zm
c2V0LnBhcmVudC5sZWZ0LWUubWFyZ2lucy5sZWZ0Kyh0aGlzLm9mZnNldFBhcmVudFswXT09ZG9j
dW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbExlZnQpLHRvcDpkLnRvcC10
aGlzLm9mZnNldC5wYXJlbnQudG9wLWUubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBd
PT1kb2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKX0scGFyc2VJ
bnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe2UuX2NsZWFyKGMpfSl9
ZWxzZSB0aGlzLl9jbGVhcihjLGQpO3JldHVybiBmYWxzZX19LGNhbmNlbDpmdW5jdGlvbigpe3Zh
ciBjPXRoaXM7aWYodGhpcy5kcmFnZ2luZyl7dGhpcy5fbW91c2VVcCh7dGFyZ2V0Om51bGx9KTt0
aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiP3RoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMu
X3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpOgordGhpcy5jdXJy
ZW50SXRlbS5zaG93KCk7Zm9yKHZhciBkPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtkPj0wO2Qt
LSl7dGhpcy5jb250YWluZXJzW2RdLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixudWxsLGMuX3VpSGFz
aCh0aGlzKSk7aWYodGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMu
Y29udGFpbmVyc1tkXS5fdHJpZ2dlcigib3V0IixudWxsLGMuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19fWlmKHRoaXMucGxhY2Vob2xkZXIp
e3RoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5wbGFjZWhvbGRlclswXS5wYXJl
bnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3RoaXMub3B0aW9ucy5oZWxw
ZXIhPSJvcmlnaW5hbCImJnRoaXMuaGVscGVyJiZ0aGlzLmhlbHBlclswXS5wYXJlbnROb2RlJiZ0
aGlzLmhlbHBlci5yZW1vdmUoKTthLmV4dGVuZCh0aGlzLHtoZWxwZXI6bnVsbCwKK2RyYWdnaW5n
OmZhbHNlLHJldmVydGluZzpmYWxzZSxfbm9GaW5hbFNvcnQ6bnVsbH0pO3RoaXMuZG9tUG9zaXRp
b24ucHJldj9hKHRoaXMuZG9tUG9zaXRpb24ucHJldikuYWZ0ZXIodGhpcy5jdXJyZW50SXRlbSk6
YSh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKX1yZXR1
cm4gdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMuX2dldEl0ZW1zQXNqUXVl
cnkoYyYmYy5jb25uZWN0ZWQpLGU9W107Yz1jfHx7fTthKGQpLmVhY2goZnVuY3Rpb24oKXt2YXIg
aD0oYShjLml0ZW18fHRoaXMpLmF0dHIoYy5hdHRyaWJ1dGV8fCJpZCIpfHwiIikubWF0Y2goYy5l
eHByZXNzaW9ufHwvKC4rKVstPV9dKC4rKS8pO2lmKGgpZS5wdXNoKChjLmtleXx8aFsxXSsiW10i
KSsiPSIrKGMua2V5JiZjLmV4cHJlc3Npb24/aFsxXTpoWzJdKSl9KTshZS5sZW5ndGgmJmMua2V5
JiZlLnB1c2goYy5rZXkrIj0iKTtyZXR1cm4gZS5qb2luKCImIil9LAordG9BcnJheTpmdW5jdGlv
bihjKXt2YXIgZD10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KGMmJmMuY29ubmVjdGVkKSxlPVtdO2M9
Y3x8e307ZC5lYWNoKGZ1bmN0aW9uKCl7ZS5wdXNoKGEoYy5pdGVtfHx0aGlzKS5hdHRyKGMuYXR0
cmlidXRlfHwiaWQiKXx8IiIpfSk7cmV0dXJuIGV9LF9pbnRlcnNlY3RzV2l0aDpmdW5jdGlvbihj
KXt2YXIgZD10aGlzLnBvc2l0aW9uQWJzLmxlZnQsZT1kK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
d2lkdGgsaD10aGlzLnBvc2l0aW9uQWJzLnRvcCxnPWgrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5o
ZWlnaHQsaT1jLmxlZnQsYj1pK2Mud2lkdGgsZj1jLnRvcCxqPWYrYy5oZWlnaHQsbD10aGlzLm9m
ZnNldC5jbGljay50b3Asbz10aGlzLm9mZnNldC5jbGljay5sZWZ0O2w9aCtsPmYmJmgrbDxqJiZk
K28+aSYmZCtvPGI7cmV0dXJuIHRoaXMub3B0aW9ucy50b2xlcmFuY2U9PSJwb2ludGVyInx8dGhp
cy5vcHRpb25zLmZvcmNlUG9pbnRlckZvckNvbnRhaW5lcnN8fAordGhpcy5vcHRpb25zLnRvbGVy
YW5jZSE9InBvaW50ZXIiJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/Indp
ZHRoIjoiaGVpZ2h0Il0+Y1t0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP2w6aTxkK3Ro
aXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmZS10aGlzLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLzI8YiYmZjxoK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzImJmctdGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxqfSxfaW50ZXJzZWN0c1dpdGhQb2ludGVyOmZ1bmN0aW9u
KGMpe3ZhciBkPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNl
dC5jbGljay50b3AsYy50b3AsYy5oZWlnaHQpO2M9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRp
b25BYnMubGVmdCt0aGlzLm9mZnNldC5jbGljay5sZWZ0LGMubGVmdCxjLndpZHRoKTtkPWQmJmM7
Yz10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKTsKK3ZhciBlPXRoaXMuX2dldERyYWdI
b3Jpem9udGFsRGlyZWN0aW9uKCk7aWYoIWQpcmV0dXJuIGZhbHNlO3JldHVybiB0aGlzLmZsb2F0
aW5nP2UmJmU9PSJyaWdodCJ8fGM9PSJkb3duIj8yOjE6YyYmKGM9PSJkb3duIj8yOjEpfSxfaW50
ZXJzZWN0c1dpdGhTaWRlczpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmlzT3ZlckF4aXModGhpcy5w
b3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGMudG9wK2MuaGVpZ2h0LzIsYy5o
ZWlnaHQpO2M9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMubGVmdCt0aGlzLm9mZnNl
dC5jbGljay5sZWZ0LGMubGVmdCtjLndpZHRoLzIsYy53aWR0aCk7dmFyIGU9dGhpcy5fZ2V0RHJh
Z1ZlcnRpY2FsRGlyZWN0aW9uKCksaD10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigp
O3JldHVybiB0aGlzLmZsb2F0aW5nJiZoP2g9PSJyaWdodCImJmN8fGg9PSJsZWZ0IiYmIWM6ZSYm
KGU9PSJkb3duIiYmZHx8ZT09InVwIiYmIWQpfSwKK19nZXREcmFnVmVydGljYWxEaXJlY3Rpb246
ZnVuY3Rpb24oKXt2YXIgYz10aGlzLnBvc2l0aW9uQWJzLnRvcC10aGlzLmxhc3RQb3NpdGlvbkFi
cy50b3A7cmV0dXJuIGMhPTAmJihjPjA/ImRvd24iOiJ1cCIpfSxfZ2V0RHJhZ0hvcml6b250YWxE
aXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgYz10aGlzLnBvc2l0aW9uQWJzLmxlZnQtdGhpcy5sYXN0
UG9zaXRpb25BYnMubGVmdDtyZXR1cm4gYyE9MCYmKGM+MD8icmlnaHQiOiJsZWZ0Iil9LHJlZnJl
c2g6ZnVuY3Rpb24oYyl7dGhpcy5fcmVmcmVzaEl0ZW1zKGMpO3RoaXMucmVmcmVzaFBvc2l0aW9u
cygpO3JldHVybiB0aGlzfSxfY29ubmVjdFdpdGg6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlv
bnM7cmV0dXJuIGMuY29ubmVjdFdpdGguY29uc3RydWN0b3I9PVN0cmluZz9bYy5jb25uZWN0V2l0
aF06Yy5jb25uZWN0V2l0aH0sX2dldEl0ZW1zQXNqUXVlcnk6ZnVuY3Rpb24oYyl7dmFyIGQ9W10s
ZT1bXSxoPXRoaXMuX2Nvbm5lY3RXaXRoKCk7CitpZihoJiZjKWZvcihjPWgubGVuZ3RoLTE7Yz49
MDtjLS0pZm9yKHZhciBnPWEoaFtjXSksaT1nLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgYj1hLmRh
dGEoZ1tpXSwic29ydGFibGUiKTtpZihiJiZiIT10aGlzJiYhYi5vcHRpb25zLmRpc2FibGVkKWUu
cHVzaChbYS5pc0Z1bmN0aW9uKGIub3B0aW9ucy5pdGVtcyk/Yi5vcHRpb25zLml0ZW1zLmNhbGwo
Yi5lbGVtZW50KTphKGIub3B0aW9ucy5pdGVtcyxiLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxl
LWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksYl0pfWUucHVzaChbYS5p
c0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhp
cy5lbGVtZW50LG51bGwse29wdGlvbnM6dGhpcy5vcHRpb25zLGl0ZW06dGhpcy5jdXJyZW50SXRl
bX0pOmEodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUt
aGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSwKK3RoaXNdKTtmb3IoYz1l
Lmxlbmd0aC0xO2M+PTA7Yy0tKWVbY11bMF0uZWFjaChmdW5jdGlvbigpe2QucHVzaCh0aGlzKX0p
O3JldHVybiBhKGQpfSxfcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXM6ZnVuY3Rpb24oKXtmb3IodmFy
IGM9dGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YShzb3J0YWJsZS1pdGVtKSIpLGQ9MDtkPHRo
aXMuaXRlbXMubGVuZ3RoO2QrKylmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKyljW2VdPT10aGlz
Lml0ZW1zW2RdLml0ZW1bMF0mJnRoaXMuaXRlbXMuc3BsaWNlKGQsMSl9LF9yZWZyZXNoSXRlbXM6
ZnVuY3Rpb24oYyl7dGhpcy5pdGVtcz1bXTt0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBkPXRo
aXMuaXRlbXMsZT1bW2EuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9u
cy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSxjLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTph
KHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLAordGhpc11dLGg9dGhpcy5fY29ubmVj
dFdpdGgoKTtpZihoKWZvcih2YXIgZz1oLmxlbmd0aC0xO2c+PTA7Zy0tKWZvcih2YXIgaT1hKGhb
Z10pLGI9aS5sZW5ndGgtMTtiPj0wO2ItLSl7dmFyIGY9YS5kYXRhKGlbYl0sInNvcnRhYmxlIik7
aWYoZiYmZiE9dGhpcyYmIWYub3B0aW9ucy5kaXNhYmxlZCl7ZS5wdXNoKFthLmlzRnVuY3Rpb24o
Zi5vcHRpb25zLml0ZW1zKT9mLm9wdGlvbnMuaXRlbXMuY2FsbChmLmVsZW1lbnRbMF0sYyx7aXRl
bTp0aGlzLmN1cnJlbnRJdGVtfSk6YShmLm9wdGlvbnMuaXRlbXMsZi5lbGVtZW50KSxmXSk7dGhp
cy5jb250YWluZXJzLnB1c2goZil9fWZvcihnPWUubGVuZ3RoLTE7Zz49MDtnLS0pe2M9ZVtnXVsx
XTtoPWVbZ11bMF07Yj0wO2ZvcihpPWgubGVuZ3RoO2I8aTtiKyspe2Y9YShoW2JdKTtmLmRhdGEo
InNvcnRhYmxlLWl0ZW0iLGMpO2QucHVzaCh7aXRlbTpmLGluc3RhbmNlOmMsd2lkdGg6MCxoZWln
aHQ6MCxsZWZ0OjAsdG9wOjB9KX19fSxyZWZyZXNoUG9zaXRpb25zOmZ1bmN0aW9uKGMpe2lmKHRo
aXMub2Zmc2V0UGFyZW50JiYKK3RoaXMuaGVscGVyKXRoaXMub2Zmc2V0LnBhcmVudD10aGlzLl9n
ZXRQYXJlbnRPZmZzZXQoKTtmb3IodmFyIGQ9dGhpcy5pdGVtcy5sZW5ndGgtMTtkPj0wO2QtLSl7
dmFyIGU9dGhpcy5pdGVtc1tkXTtpZighKGUuaW5zdGFuY2UhPXRoaXMuY3VycmVudENvbnRhaW5l
ciYmdGhpcy5jdXJyZW50Q29udGFpbmVyJiZlLml0ZW1bMF0hPXRoaXMuY3VycmVudEl0ZW1bMF0p
KXt2YXIgaD10aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudD9hKHRoaXMub3B0aW9ucy50b2xl
cmFuY2VFbGVtZW50LGUuaXRlbSk6ZS5pdGVtO2lmKCFjKXtlLndpZHRoPWgub3V0ZXJXaWR0aCgp
O2UuaGVpZ2h0PWgub3V0ZXJIZWlnaHQoKX1oPWgub2Zmc2V0KCk7ZS5sZWZ0PWgubGVmdDtlLnRv
cD1oLnRvcH19aWYodGhpcy5vcHRpb25zLmN1c3RvbSYmdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZy
ZXNoQ29udGFpbmVycyl0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzLmNhbGwo
dGhpcyk7ZWxzZSBmb3IoZD0KK3RoaXMuY29udGFpbmVycy5sZW5ndGgtMTtkPj0wO2QtLSl7aD10
aGlzLmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vZmZzZXQoKTt0aGlzLmNvbnRhaW5lcnNbZF0uY29u
dGFpbmVyQ2FjaGUubGVmdD1oLmxlZnQ7dGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hl
LnRvcD1oLnRvcDt0aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUud2lkdGg9dGhpcy5j
b250YWluZXJzW2RdLmVsZW1lbnQub3V0ZXJXaWR0aCgpO3RoaXMuY29udGFpbmVyc1tkXS5jb250
YWluZXJDYWNoZS5oZWlnaHQ9dGhpcy5jb250YWluZXJzW2RdLmVsZW1lbnQub3V0ZXJIZWlnaHQo
KX1yZXR1cm4gdGhpc30sX2NyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKGMpe3ZhciBkPWN8fHRo
aXMsZT1kLm9wdGlvbnM7aWYoIWUucGxhY2Vob2xkZXJ8fGUucGxhY2Vob2xkZXIuY29uc3RydWN0
b3I9PVN0cmluZyl7dmFyIGg9ZS5wbGFjZWhvbGRlcjtlLnBsYWNlaG9sZGVyPXtlbGVtZW50OmZ1
bmN0aW9uKCl7dmFyIGc9CithKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZC5jdXJyZW50SXRlbVsw
XS5ub2RlTmFtZSkpLmFkZENsYXNzKGh8fGQuY3VycmVudEl0ZW1bMF0uY2xhc3NOYW1lKyIgdWkt
c29ydGFibGUtcGxhY2Vob2xkZXIiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIilb
MF07aWYoIWgpZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3JldHVybiBnfSx1cGRhdGU6ZnVu
Y3Rpb24oZyxpKXtpZighKGgmJiFlLmZvcmNlUGxhY2Vob2xkZXJTaXplKSl7aS5oZWlnaHQoKXx8
aS5oZWlnaHQoZC5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpLXBhcnNlSW50KGQuY3VycmVudEl0
ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsMTApLXBhcnNlSW50KGQuY3VycmVudEl0ZW0uY3NzKCJw
YWRkaW5nQm90dG9tIil8fDAsMTApKTtpLndpZHRoKCl8fGkud2lkdGgoZC5jdXJyZW50SXRlbS5p
bm5lcldpZHRoKCktcGFyc2VJbnQoZC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAs
MTApLXBhcnNlSW50KGQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8CiswLDEwKSl9
fX19ZC5wbGFjZWhvbGRlcj1hKGUucGxhY2Vob2xkZXIuZWxlbWVudC5jYWxsKGQuZWxlbWVudCxk
LmN1cnJlbnRJdGVtKSk7ZC5jdXJyZW50SXRlbS5hZnRlcihkLnBsYWNlaG9sZGVyKTtlLnBsYWNl
aG9sZGVyLnVwZGF0ZShkLGQucGxhY2Vob2xkZXIpfSxfY29udGFjdENvbnRhaW5lcnM6ZnVuY3Rp
b24oYyl7Zm9yKHZhciBkPW51bGwsZT1udWxsLGg9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2g+
PTA7aC0tKWlmKCFhLnVpLmNvbnRhaW5zKHRoaXMuY3VycmVudEl0ZW1bMF0sdGhpcy5jb250YWlu
ZXJzW2hdLmVsZW1lbnRbMF0pKWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVy
c1toXS5jb250YWluZXJDYWNoZSkpe2lmKCEoZCYmYS51aS5jb250YWlucyh0aGlzLmNvbnRhaW5l
cnNbaF0uZWxlbWVudFswXSxkLmVsZW1lbnRbMF0pKSl7ZD10aGlzLmNvbnRhaW5lcnNbaF07ZT1o
fX1lbHNlIGlmKHRoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyKXt0aGlzLmNv
bnRhaW5lcnNbaF0uX3RyaWdnZXIoIm91dCIsCitjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5j
b250YWluZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH1pZihkKWlmKHRoaXMuY29udGFpbmVy
cy5sZW5ndGg9PT0xKXt0aGlzLmNvbnRhaW5lcnNbZV0uX3RyaWdnZXIoIm92ZXIiLGMsdGhpcy5f
dWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcj0xfWVs
c2UgaWYodGhpcy5jdXJyZW50Q29udGFpbmVyIT10aGlzLmNvbnRhaW5lcnNbZV0pe2Q9MUU0O2g9
bnVsbDtmb3IodmFyIGc9dGhpcy5wb3NpdGlvbkFic1t0aGlzLmNvbnRhaW5lcnNbZV0uZmxvYXRp
bmc/ImxlZnQiOiJ0b3AiXSxpPXRoaXMuaXRlbXMubGVuZ3RoLTE7aT49MDtpLS0paWYoYS51aS5j
b250YWlucyh0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSx0aGlzLml0ZW1zW2ldLml0ZW1b
MF0pKXt2YXIgYj10aGlzLml0ZW1zW2ldW3RoaXMuY29udGFpbmVyc1tlXS5mbG9hdGluZz8ibGVm
dCI6InRvcCJdO2lmKE1hdGguYWJzKGItCitnKTxkKXtkPU1hdGguYWJzKGItZyk7aD10aGlzLml0
ZW1zW2ldfX1pZihofHx0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpe3RoaXMuY3VycmVudENvbnRh
aW5lcj10aGlzLmNvbnRhaW5lcnNbZV07aD90aGlzLl9yZWFycmFuZ2UoYyxoLG51bGwsdHJ1ZSk6
dGhpcy5fcmVhcnJhbmdlKGMsbnVsbCx0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudCx0cnVlKTt0
aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGMsdGhpcy5fdWlIYXNoKCkpO3RoaXMuY29udGFpbmVyc1tl
XS5fdHJpZ2dlcigiY2hhbmdlIixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5vcHRpb25zLnBs
YWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlcik7
dGhpcy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJvdmVyIixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7
dGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19fSxfY3JlYXRlSGVscGVy
OmZ1bmN0aW9uKGMpe3ZhciBkPQordGhpcy5vcHRpb25zO2M9YS5pc0Z1bmN0aW9uKGQuaGVscGVy
KT9hKGQuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbYyx0aGlzLmN1cnJlbnRJdGVtXSkp
OmQuaGVscGVyPT0iY2xvbmUiP3RoaXMuY3VycmVudEl0ZW0uY2xvbmUoKTp0aGlzLmN1cnJlbnRJ
dGVtO2MucGFyZW50cygiYm9keSIpLmxlbmd0aHx8YShkLmFwcGVuZFRvIT0icGFyZW50Ij9kLmFw
cGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoY1sw
XSk7aWYoY1swXT09dGhpcy5jdXJyZW50SXRlbVswXSl0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRo
aXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0u
c3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRv
cDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygi
bGVmdCIpfTtpZihjWzBdLnN0eWxlLndpZHRoPT0KKyIifHxkLmZvcmNlSGVscGVyU2l6ZSljLndp
ZHRoKHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSk7aWYoY1swXS5zdHlsZS5oZWlnaHQ9PSIifHxk
LmZvcmNlSGVscGVyU2l6ZSljLmhlaWdodCh0aGlzLmN1cnJlbnRJdGVtLmhlaWdodCgpKTtyZXR1
cm4gY30sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGM9PSJz
dHJpbmciKWM9Yy5zcGxpdCgiICIpO2lmKGEuaXNBcnJheShjKSljPXtsZWZ0OitjWzBdLHRvcDor
Y1sxXXx8MH07aWYoImxlZnQiaW4gYyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PWMubGVmdCt0aGlz
Lm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4gYyl0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMu
aGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYy5yaWdodCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9w
ImluIGMpdGhpcy5vZmZzZXQuY2xpY2sudG9wPWMudG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJv
dHRvbSJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD0KK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMu
aGVpZ2h0LWMuYm90dG9tK3RoaXMubWFyZ2lucy50b3B9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rp
b24oKXt0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYz10
aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUi
JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3Jv
bGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKXtjLmxlZnQrPXRoaXMuc2Nyb2xsUGFy
ZW50LnNjcm9sbExlZnQoKTtjLnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYo
dGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBd
LnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0
bWwiJiZhLmJyb3dzZXIubXNpZSljPQore3RvcDowLGxlZnQ6MH07cmV0dXJue3RvcDpjLnRvcCso
cGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCks
bGVmdDpjLmxlZnQrKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyTGVmdFdp
ZHRoIiksMTApfHwwKX19LF9nZXRSZWxhdGl2ZU9mZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3Nz
UG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBjPXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTty
ZXR1cm57dG9wOmMudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkr
dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDpjLmxlZnQtKHBhcnNlSW50KHRoaXMu
aGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgp
fX1lbHNlIHJldHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhp
cy5tYXJnaW5zPXtsZWZ0OnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5MZWZ0
IiksCisxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5Ub3Ai
KSwxMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVy
UHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5o
ZWxwZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBjPXRo
aXMub3B0aW9ucztpZihjLmNvbnRhaW5tZW50PT0icGFyZW50IiljLmNvbnRhaW5tZW50PXRoaXMu
aGVscGVyWzBdLnBhcmVudE5vZGU7aWYoYy5jb250YWlubWVudD09ImRvY3VtZW50Inx8Yy5jb250
YWlubWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2
ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9w
LXRoaXMub2Zmc2V0LnBhcmVudC50b3AsYShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPworZG9j
dW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5t
YXJnaW5zLmxlZnQsKGEoYy5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cp
LmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8
d2luZG93fHBhcmVudCkkLy50ZXN0KGMuY29udGFpbm1lbnQpKXt2YXIgZD1hKGMuY29udGFpbm1l
bnQpWzBdO2M9YShjLmNvbnRhaW5tZW50KS5vZmZzZXQoKTt2YXIgZT1hKGQpLmNzcygib3ZlcmZs
b3ciKSE9ImhpZGRlbiI7dGhpcy5jb250YWlubWVudD1bYy5sZWZ0KyhwYXJzZUludChhKGQpLmNz
cygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYShkKS5jc3MoInBhZGRpbmdM
ZWZ0IiksMTApfHwwKS10aGlzLm1hcmdpbnMubGVmdCxjLnRvcCsocGFyc2VJbnQoYShkKS5jc3Mo
ImJvcmRlclRvcFdpZHRoIiksCisxMCl8fDApKyhwYXJzZUludChhKGQpLmNzcygicGFkZGluZ1Rv
cCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxjLmxlZnQrKGU/TWF0aC5tYXgoZC5zY3JvbGxX
aWR0aCxkLm9mZnNldFdpZHRoKTpkLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoYShkKS5jc3MoImJv
cmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nUmlnaHQi
KSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQs
Yy50b3ArKGU/TWF0aC5tYXgoZC5zY3JvbGxIZWlnaHQsZC5vZmZzZXRIZWlnaHQpOmQub2Zmc2V0
SGVpZ2h0KS0ocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFy
c2VJbnQoYShkKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9y
dGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdfX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0
aW9uKGMsZCl7aWYoIWQpZD0KK3RoaXMucG9zaXRpb247Yz1jPT0iYWJzb2x1dGUiPzE6LTE7dmFy
IGU9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9
ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQ
YXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxoPS8oaHRtbHxi
b2R5KS9pLnRlc3QoZVswXS50YWdOYW1lKTtyZXR1cm57dG9wOmQudG9wK3RoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcCpjK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqYy0oYS5icm93c2VyLnNhZmFyaSYm
dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6ZS5zY3JvbGxUb3AoKSkqYyksbGVmdDpk
LmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpjK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0
KmMtKGEuYnJvd3Nlci5zYWZhcmkmJgordGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6aD8w
OmUuc2Nyb2xsTGVmdCgpKSpjKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGMpe3ZhciBk
PXRoaXMub3B0aW9ucyxlPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3Jv
bGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBd
LHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJl
bnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFtZSk7aWYodGhpcy5jc3NQb3NpdGlv
bj09InJlbGF0aXZlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Ny
b2xsUGFyZW50WzBdIT10aGlzLm9mZnNldFBhcmVudFswXSkpdGhpcy5vZmZzZXQucmVsYXRpdmU9
dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKTsKK3ZhciBnPWMucGFnZVgsaT1jLnBhZ2VZO2lmKHRo
aXMub3JpZ2luYWxQb3NpdGlvbil7aWYodGhpcy5jb250YWlubWVudCl7aWYoYy5wYWdlWC10aGlz
Lm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pZz10aGlzLmNvbnRhaW5tZW50
WzBdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYy5wYWdlWS10aGlzLm9mZnNldC5jbGljay50
b3A8dGhpcy5jb250YWlubWVudFsxXSlpPXRoaXMuY29udGFpbm1lbnRbMV0rdGhpcy5vZmZzZXQu
Y2xpY2sudG9wO2lmKGMucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5t
ZW50WzJdKWc9dGhpcy5jb250YWlubWVudFsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMu
cGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10paT10aGlzLmNv
bnRhaW5tZW50WzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihkLmdyaWQpe2k9dGhpcy5vcmln
aW5hbFBhZ2VZK01hdGgucm91bmQoKGktCit0aGlzLm9yaWdpbmFsUGFnZVkpL2QuZ3JpZFsxXSkq
ZC5ncmlkWzFdO2k9dGhpcy5jb250YWlubWVudD8hKGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRo
aXMuY29udGFpbm1lbnRbMV18fGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1l
bnRbM10pP2k6IShpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKT9p
LWQuZ3JpZFsxXTppK2QuZ3JpZFsxXTppO2c9dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQo
KGctdGhpcy5vcmlnaW5hbFBhZ2VYKS9kLmdyaWRbMF0pKmQuZ3JpZFswXTtnPXRoaXMuY29udGFp
bm1lbnQ/IShnLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXXx8Zy10
aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pP2c6IShnLXRoaXMub2Zm
c2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSk/Zy1kLmdyaWRbMF06ZytkLmdyaWRb
MF06Z319cmV0dXJue3RvcDppLQordGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zmc2V0LnJl
bGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKyhhLmJyb3dzZXIuc2FmYXJpJiZ0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5z
Y3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUuc2Nyb2xsVG9wKCkpLGxlZnQ6Zy10aGlzLm9m
ZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFy
ZW50LmxlZnQrKGEuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0
aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6
aD8wOmUuc2Nyb2xsTGVmdCgpKX19LF9yZWFycmFuZ2U6ZnVuY3Rpb24oYyxkLGUsaCl7ZT9lWzBd
LmFwcGVuZENoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pOmQuaXRlbVswXS5wYXJlbnROb2RlLmlu
c2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyWzBdLAordGhpcy5kaXJlY3Rpb249PSJkb3duIj9k
Lml0ZW1bMF06ZC5pdGVtWzBdLm5leHRTaWJsaW5nKTt0aGlzLmNvdW50ZXI9dGhpcy5jb3VudGVy
PysrdGhpcy5jb3VudGVyOjE7dmFyIGc9dGhpcyxpPXRoaXMuY291bnRlcjt3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpe2k9PWcuY291bnRlciYmZy5yZWZyZXNoUG9zaXRpb25zKCFoKX0sMCl9
LF9jbGVhcjpmdW5jdGlvbihjLGQpe3RoaXMucmV2ZXJ0aW5nPWZhbHNlO3ZhciBlPVtdOyF0aGlz
Ll9ub0ZpbmFsU29ydCYmdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGgmJnRoaXMucGxh
Y2Vob2xkZXIuYmVmb3JlKHRoaXMuY3VycmVudEl0ZW0pO3RoaXMuX25vRmluYWxTb3J0PW51bGw7
aWYodGhpcy5oZWxwZXJbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pe2Zvcih2YXIgaCBpbiB0aGlz
Ll9zdG9yZWRDU1MpaWYodGhpcy5fc3RvcmVkQ1NTW2hdPT0iYXV0byJ8fHRoaXMuX3N0b3JlZENT
U1toXT09InN0YXRpYyIpdGhpcy5fc3RvcmVkQ1NTW2hdPQorIiI7dGhpcy5jdXJyZW50SXRlbS5j
c3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxz
ZSB0aGlzLmN1cnJlbnRJdGVtLnNob3coKTt0aGlzLmZyb21PdXRzaWRlJiYhZCYmZS5wdXNoKGZ1
bmN0aW9uKGcpe3RoaXMuX3RyaWdnZXIoInJlY2VpdmUiLGcsdGhpcy5fdWlIYXNoKHRoaXMuZnJv
bU91dHNpZGUpKX0pO2lmKCh0aGlzLmZyb21PdXRzaWRlfHx0aGlzLmRvbVBvc2l0aW9uLnByZXYh
PXRoaXMuY3VycmVudEl0ZW0ucHJldigpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpWzBdfHx0
aGlzLmRvbVBvc2l0aW9uLnBhcmVudCE9dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXSkmJiFk
KWUucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLGcsdGhpcy5fdWlIYXNo
KCkpfSk7aWYoIWEudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1b
MF0pKXtkfHxlLnB1c2goZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIiwKK2csdGhp
cy5fdWlIYXNoKCkpfSk7Zm9yKGg9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2g+PTA7aC0tKWlm
KGEudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2hdLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50
SXRlbVswXSkmJiFkKXtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3Ry
aWdnZXIoInJlY2VpdmUiLGksdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNv
bnRhaW5lcnNbaF0pKTtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3Ry
aWdnZXIoInVwZGF0ZSIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29u
dGFpbmVyc1toXSkpfX1mb3IoaD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7aD49MDtoLS0pe2R8
fGUucHVzaChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5fdHJpZ2dlcigiZGVhY3Rp
dmF0ZSIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLAordGhpcy5jb250YWluZXJz
W2hdKSk7aWYodGhpcy5jb250YWluZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXIpe2UucHVzaChm
dW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5fdHJpZ2dlcigib3V0IixpLHRoaXMuX3Vp
SGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2hdKSk7dGhpcy5jb250YWlu
ZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19dGhpcy5fc3RvcmVkQ3Vyc29yJiZhKCJib2R5
IikuY3NzKCJjdXJzb3IiLHRoaXMuX3N0b3JlZEN1cnNvcik7dGhpcy5fc3RvcmVkT3BhY2l0eSYm
dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iix0aGlzLl9zdG9yZWRPcGFjaXR5KTtpZih0aGlzLl9z
dG9yZWRaSW5kZXgpdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLHRoaXMuX3N0b3JlZFpJbmRleD09
ImF1dG8iPyIiOnRoaXMuX3N0b3JlZFpJbmRleCk7dGhpcy5kcmFnZ2luZz1mYWxzZTtpZih0aGlz
LmNhbmNlbEhlbHBlclJlbW92YWwpe2lmKCFkKXt0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIiwK
K2MsdGhpcy5fdWlIYXNoKCkpO2ZvcihoPTA7aDxlLmxlbmd0aDtoKyspZVtoXS5jYWxsKHRoaXMs
Yyk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYyx0aGlzLl91aUhhc2goKSl9cmV0dXJuIGZhbHNlfWR8
fHRoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLGMsdGhpcy5fdWlIYXNoKCkpO3RoaXMucGxhY2Vo
b2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTt0aGlz
LmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7dGhp
cy5oZWxwZXI9bnVsbDtpZighZCl7Zm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNhbGwodGhp
cyxjKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjLHRoaXMuX3VpSGFzaCgpKX10aGlzLmZyb21PdXRz
aWRlPWZhbHNlO3JldHVybiB0cnVlfSxfdHJpZ2dlcjpmdW5jdGlvbigpe2EuV2lkZ2V0LnByb3Rv
dHlwZS5fdHJpZ2dlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk9PT1mYWxzZSYmdGhpcy5jYW5jZWwo
KX0sCitfdWlIYXNoOmZ1bmN0aW9uKGMpe3ZhciBkPWN8fHRoaXM7cmV0dXJue2hlbHBlcjpkLmhl
bHBlcixwbGFjZWhvbGRlcjpkLnBsYWNlaG9sZGVyfHxhKFtdKSxwb3NpdGlvbjpkLnBvc2l0aW9u
LG9yaWdpbmFsUG9zaXRpb246ZC5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDpkLnBvc2l0aW9uQWJz
LGl0ZW06ZC5jdXJyZW50SXRlbSxzZW5kZXI6Yz9jLmVsZW1lbnQ6bnVsbH19fSk7YS5leHRlbmQo
YS51aS5zb3J0YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKK2pRdWVyeS5lZmZl
Y3RzfHxmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGQobil7dmFyIGs7aWYobiYmbi5jb25zdHJ1Y3Rv
cj09QXJyYXkmJm4ubGVuZ3RoPT0zKXJldHVybiBuO2lmKGs9L3JnYlwoXHMqKFswLTldezEsM30p
XHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8uZXhlYyhuKSlyZXR1
cm5bcGFyc2VJbnQoa1sxXSwxMCkscGFyc2VJbnQoa1syXSwxMCkscGFyc2VJbnQoa1szXSwxMCld
O2lmKGs9L3JnYlwoXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/Olwu
WzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccypcKS8uZXhlYyhuKSly
ZXR1cm5bcGFyc2VGbG9hdChrWzFdKSoyLjU1LHBhcnNlRmxvYXQoa1syXSkqMi41NSxwYXJzZUZs
b2F0KGtbM10pKjIuNTVdO2lmKGs9LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShb
YS1mQS1GMC05XXsyfSkvLmV4ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0sCisxNikscGFyc2VJ
bnQoa1syXSwxNikscGFyc2VJbnQoa1szXSwxNildO2lmKGs9LyMoW2EtZkEtRjAtOV0pKFthLWZB
LUYwLTldKShbYS1mQS1GMC05XSkvLmV4ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0ra1sxXSwx
NikscGFyc2VJbnQoa1syXStrWzJdLDE2KSxwYXJzZUludChrWzNdK2tbM10sMTYpXTtpZigvcmdi
YVwoMCwgMCwgMCwgMFwpLy5leGVjKG4pKXJldHVybiBqLnRyYW5zcGFyZW50O3JldHVybiBqW2Eu
dHJpbShuKS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBlKG4sayl7dmFyIG07ZG97bT1hLmN1ckNT
UyhuLGspO2lmKG0hPSIiJiZtIT0idHJhbnNwYXJlbnQifHxhLm5vZGVOYW1lKG4sImJvZHkiKSli
cmVhaztrPSJiYWNrZ3JvdW5kQ29sb3IifXdoaWxlKG49bi5wYXJlbnROb2RlKTtyZXR1cm4gZCht
KX1mdW5jdGlvbiBoKCl7dmFyIG49ZG9jdW1lbnQuZGVmYXVsdFZpZXc/ZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLG51bGwpOnRoaXMuY3VycmVudFN0eWxlLAoraz17
fSxtLHA7aWYobiYmbi5sZW5ndGgmJm5bMF0mJm5bblswXV0pZm9yKHZhciBxPW4ubGVuZ3RoO3Et
LTspe209bltxXTtpZih0eXBlb2YgblttXT09InN0cmluZyIpe3A9bS5yZXBsYWNlKC9cLShcdykv
ZyxmdW5jdGlvbihzLHIpe3JldHVybiByLnRvVXBwZXJDYXNlKCl9KTtrW3BdPW5bbV19fWVsc2Ug
Zm9yKG0gaW4gbilpZih0eXBlb2YgblttXT09PSJzdHJpbmciKWtbbV09blttXTtyZXR1cm4ga31m
dW5jdGlvbiBnKG4pe3ZhciBrLG07Zm9yKGsgaW4gbil7bT1uW2tdO2lmKG09PW51bGx8fGEuaXNG
dW5jdGlvbihtKXx8ayBpbiBvfHwvc2Nyb2xsYmFyLy50ZXN0KGspfHwhL2NvbG9yL2kudGVzdChr
KSYmaXNOYU4ocGFyc2VGbG9hdChtKSkpZGVsZXRlIG5ba119cmV0dXJuIG59ZnVuY3Rpb24gaShu
LGspe3ZhciBtPXtfOjB9LHA7Zm9yKHAgaW4gaylpZihuW3BdIT1rW3BdKW1bcF09a1twXTtyZXR1
cm4gbX1mdW5jdGlvbiBiKG4sayxtLHApe2lmKHR5cGVvZiBuPT0ib2JqZWN0Iil7cD0KK2s7bT1u
dWxsO2s9bjtuPWsuZWZmZWN0fWlmKGEuaXNGdW5jdGlvbihrKSl7cD1rO209bnVsbDtrPXt9fWlm
KHR5cGVvZiBrPT0ibnVtYmVyInx8YS5meC5zcGVlZHNba10pe3A9bTttPWs7az17fX1pZihhLmlz
RnVuY3Rpb24obSkpe3A9bTttPW51bGx9az1rfHx7fTttPW18fGsuZHVyYXRpb247bT1hLmZ4Lm9m
Zj8wOnR5cGVvZiBtPT0ibnVtYmVyIj9tOm0gaW4gYS5meC5zcGVlZHM/YS5meC5zcGVlZHNbbV06
YS5meC5zcGVlZHMuX2RlZmF1bHQ7cD1wfHxrLmNvbXBsZXRlO3JldHVybltuLGssbSxwXX1mdW5j
dGlvbiBmKG4pe2lmKCFufHx0eXBlb2Ygbj09PSJudW1iZXIifHxhLmZ4LnNwZWVkc1tuXSlyZXR1
cm4gdHJ1ZTtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiYhYS5lZmZlY3RzW25dKXJldHVybiB0cnVl
O3JldHVybiBmYWxzZX1hLmVmZmVjdHM9e307YS5lYWNoKFsiYmFja2dyb3VuZENvbG9yIiwiYm9y
ZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwKKyJi
b3JkZXJUb3BDb2xvciIsImJvcmRlckNvbG9yIiwiY29sb3IiLCJvdXRsaW5lQ29sb3IiXSxmdW5j
dGlvbihuLGspe2EuZnguc3RlcFtrXT1mdW5jdGlvbihtKXtpZighbS5jb2xvckluaXQpe20uc3Rh
cnQ9ZShtLmVsZW0sayk7bS5lbmQ9ZChtLmVuZCk7bS5jb2xvckluaXQ9dHJ1ZX1tLmVsZW0uc3R5
bGVba109InJnYigiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KG0ucG9zKihtLmVuZFswXS1t
LnN0YXJ0WzBdKSttLnN0YXJ0WzBdLDEwKSwyNTUpLDApKyIsIitNYXRoLm1heChNYXRoLm1pbihw
YXJzZUludChtLnBvcyoobS5lbmRbMV0tbS5zdGFydFsxXSkrbS5zdGFydFsxXSwxMCksMjU1KSww
KSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQobS5wb3MqKG0uZW5kWzJdLW0uc3RhcnRb
Ml0pK20uc3RhcnRbMl0sMTApLDI1NSksMCkrIikifX0pO3ZhciBqPXthcXVhOlswLDI1NSwyNTVd
LGF6dXJlOlsyNDAsMjU1LDI1NV0sYmVpZ2U6WzI0NSwyNDUsMjIwXSxibGFjazpbMCwKKzAsMF0s
Ymx1ZTpbMCwwLDI1NV0sYnJvd246WzE2NSw0Miw0Ml0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1
ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dyZXk6WzE2OSwxNjksMTY5XSxk
YXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtraGFraTpbMTg5LDE4MywxMDddLGRhcmttYWdlbnRhOlsx
MzksMCwxMzldLGRhcmtvbGl2ZWdyZWVuOls4NSwxMDcsNDddLGRhcmtvcmFuZ2U6WzI1NSwxNDAs
MF0sZGFya29yY2hpZDpbMTUzLDUwLDIwNF0sZGFya3JlZDpbMTM5LDAsMF0sZGFya3NhbG1vbjpb
MjMzLDE1MCwxMjJdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMV0sZnVjaHNpYTpbMjU1LDAsMjU1XSxn
b2xkOlsyNTUsMjE1LDBdLGdyZWVuOlswLDEyOCwwXSxpbmRpZ286Wzc1LDAsMTMwXSxraGFraTpb
MjQwLDIzMCwxNDBdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y3lhbjpbMjI0LDI1NSwy
NTVdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwKKzIxMSwyMTFdLGxp
Z2h0cGluazpbMjU1LDE4MiwxOTNdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwy
NTUsMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG5hdnk6WzAsMCwxMjhd
LG9saXZlOlsxMjgsMTI4LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxwaW5rOlsyNTUsMTkyLDIwM10s
cHVycGxlOlsxMjgsMCwxMjhdLHZpb2xldDpbMTI4LDAsMTI4XSxyZWQ6WzI1NSwwLDBdLHNpbHZl
cjpbMTkyLDE5MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0seWVsbG93OlsyNTUsMjU1LDBdLHRy
YW5zcGFyZW50OlsyNTUsMjU1LDI1NV19LGw9WyJhZGQiLCJyZW1vdmUiLCJ0b2dnbGUiXSxvPXti
b3JkZXI6MSxib3JkZXJCb3R0b206MSxib3JkZXJDb2xvcjoxLGJvcmRlckxlZnQ6MSxib3JkZXJS
aWdodDoxLGJvcmRlclRvcDoxLGJvcmRlcldpZHRoOjEsbWFyZ2luOjEscGFkZGluZzoxfTthLmVm
ZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKG4sayxtLAorcCl7aWYoYS5pc0Z1bmN0aW9uKG0p
KXtwPW07bT1udWxsfXJldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIHE9YSh0aGlzKSxz
PXEuYXR0cigic3R5bGUiKXx8IiAiLHI9ZyhoLmNhbGwodGhpcykpLHUsdj1xLmF0dHIoImNsYXNz
Iik7YS5lYWNoKGwsZnVuY3Rpb24odyx4KXtuW3hdJiZxW3grIkNsYXNzIl0oblt4XSl9KTt1PWco
aC5jYWxsKHRoaXMpKTtxLmF0dHIoImNsYXNzIix2KTtxLmFuaW1hdGUoaShyLHUpLHtxdWV1ZTpm
YWxzZSxkdXJhdGlvbjprLGVhc2luZzptLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5lYWNoKGwsZnVu
Y3Rpb24odyx4KXtuW3hdJiZxW3grIkNsYXNzIl0oblt4XSl9KTtpZih0eXBlb2YgcS5hdHRyKCJz
dHlsZSIpPT0ib2JqZWN0Iil7cS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9IiI7cS5hdHRyKCJzdHls
ZSIpLmNzc1RleHQ9c31lbHNlIHEuYXR0cigic3R5bGUiLHMpO3AmJnAuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2EuZGVxdWV1ZSh0aGlzKX19KX0pfTsKK2EuZm4uZXh0ZW5kKHtfYWRkQ2xhc3M6YS5m
bi5hZGRDbGFzcyxhZGRDbGFzczpmdW5jdGlvbihuLGssbSxwKXtyZXR1cm4gaz9hLmVmZmVjdHMu
YW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW3thZGQ6bn0sayxtLHBdKTp0aGlzLl9hZGRDbGFzcyhu
KX0sX3JlbW92ZUNsYXNzOmEuZm4ucmVtb3ZlQ2xhc3MscmVtb3ZlQ2xhc3M6ZnVuY3Rpb24obixr
LG0scCl7cmV0dXJuIGs/YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7cmVtb3Zl
Om59LGssbSxwXSk6dGhpcy5fcmVtb3ZlQ2xhc3Mobil9LF90b2dnbGVDbGFzczphLmZuLnRvZ2ds
ZUNsYXNzLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHR5cGVvZiBrPT0i
Ym9vbGVhbiJ8fGs9PT1jP20/YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFtrP3th
ZGQ6bn06e3JlbW92ZTpufSxtLHAscV0pOnRoaXMuX3RvZ2dsZUNsYXNzKG4sayk6YS5lZmZlY3Rz
LmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLAorW3t0b2dnbGU6bn0sayxtLHBdKX0sc3dpdGNoQ2xh
c3M6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gYS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBs
eSh0aGlzLFt7YWRkOmsscmVtb3ZlOm59LG0scCxxXSl9fSk7YS5leHRlbmQoYS5lZmZlY3RzLHt2
ZXJzaW9uOiIxLjguMTUiLHNhdmU6ZnVuY3Rpb24obixrKXtmb3IodmFyIG09MDttPGsubGVuZ3Ro
O20rKylrW21dIT09bnVsbCYmbi5kYXRhKCJlYy5zdG9yYWdlLiIra1ttXSxuWzBdLnN0eWxlW2tb
bV1dKX0scmVzdG9yZTpmdW5jdGlvbihuLGspe2Zvcih2YXIgbT0wO208ay5sZW5ndGg7bSsrKWtb
bV0hPT1udWxsJiZuLmNzcyhrW21dLG4uZGF0YSgiZWMuc3RvcmFnZS4iK2tbbV0pKX0sc2V0TW9k
ZTpmdW5jdGlvbihuLGspe2lmKGs9PSJ0b2dnbGUiKWs9bi5pcygiOmhpZGRlbiIpPyJzaG93Ijoi
aGlkZSI7cmV0dXJuIGt9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKG4sayl7dmFyIG07c3dpdGNoKG5b
MF0pe2Nhc2UgInRvcCI6bT0KKzA7YnJlYWs7Y2FzZSAibWlkZGxlIjptPTAuNTticmVhaztjYXNl
ICJib3R0b20iOm09MTticmVhaztkZWZhdWx0Om09blswXS9rLmhlaWdodH1zd2l0Y2goblsxXSl7
Y2FzZSAibGVmdCI6bj0wO2JyZWFrO2Nhc2UgImNlbnRlciI6bj0wLjU7YnJlYWs7Y2FzZSAicmln
aHQiOm49MTticmVhaztkZWZhdWx0Om49blsxXS9rLndpZHRofXJldHVybnt4Om4seTptfX0sY3Jl
YXRlV3JhcHBlcjpmdW5jdGlvbihuKXtpZihuLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFw
cGVyIikpcmV0dXJuIG4ucGFyZW50KCk7dmFyIGs9e3dpZHRoOm4ub3V0ZXJXaWR0aCh0cnVlKSxo
ZWlnaHQ6bi5vdXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOm4uY3NzKCJmbG9hdCIpfSxtPWEoIjxk
aXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6
IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBh
ZGRpbmc6MH0pOworbi53cmFwKG0pO209bi5wYXJlbnQoKTtpZihuLmNzcygicG9zaXRpb24iKT09
InN0YXRpYyIpe20uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSk7bi5jc3Moe3Bvc2l0aW9uOiJy
ZWxhdGl2ZSJ9KX1lbHNle2EuZXh0ZW5kKGsse3Bvc2l0aW9uOm4uY3NzKCJwb3NpdGlvbiIpLHpJ
bmRleDpuLmNzcygiei1pbmRleCIpfSk7YS5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJp
Z2h0Il0sZnVuY3Rpb24ocCxxKXtrW3FdPW4uY3NzKHEpO2lmKGlzTmFOKHBhcnNlSW50KGtbcV0s
MTApKSlrW3FdPSJhdXRvIn0pO24uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDowLGxlZnQ6
MCxyaWdodDoiYXV0byIsYm90dG9tOiJhdXRvIn0pfXJldHVybiBtLmNzcyhrKS5zaG93KCl9LHJl
bW92ZVdyYXBwZXI6ZnVuY3Rpb24obil7aWYobi5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3Jh
cHBlciIpKXJldHVybiBuLnBhcmVudCgpLnJlcGxhY2VXaXRoKG4pO3JldHVybiBufSxzZXRUcmFu
c2l0aW9uOmZ1bmN0aW9uKG4sCitrLG0scCl7cD1wfHx7fTthLmVhY2goayxmdW5jdGlvbihxLHMp
e3VuaXQ9bi5jc3NVbml0KHMpO2lmKHVuaXRbMF0+MClwW3NdPXVuaXRbMF0qbSt1bml0WzFdfSk7
cmV0dXJuIHB9fSk7YS5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbihuKXt2YXIgaz1iLmFwcGx5
KHRoaXMsYXJndW1lbnRzKSxtPXtvcHRpb25zOmtbMV0sZHVyYXRpb246a1syXSxjYWxsYmFjazpr
WzNdfTtrPW0ub3B0aW9ucy5tb2RlO3ZhciBwPWEuZWZmZWN0c1tuXTtpZihhLmZ4Lm9mZnx8IXAp
cmV0dXJuIGs/dGhpc1trXShtLmR1cmF0aW9uLG0uY2FsbGJhY2spOnRoaXMuZWFjaChmdW5jdGlv
bigpe20uY2FsbGJhY2smJm0uY2FsbGJhY2suY2FsbCh0aGlzKX0pO3JldHVybiBwLmNhbGwodGhp
cyxtKX0sX3Nob3c6YS5mbi5zaG93LHNob3c6ZnVuY3Rpb24obil7aWYoZihuKSlyZXR1cm4gdGhp
cy5fc2hvdy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgaz1iLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKTsKK2tbMV0ubW9kZT0ic2hvdyI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMs
ayl9fSxfaGlkZTphLmZuLmhpZGUsaGlkZTpmdW5jdGlvbihuKXtpZihmKG4pKXJldHVybiB0aGlz
Ll9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBrPWIuYXBwbHkodGhpcyxhcmd1
bWVudHMpO2tbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsayl9
fSxfX3RvZ2dsZTphLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24obil7aWYoZihuKXx8dHlwZW9m
IG49PT0iYm9vbGVhbiJ8fGEuaXNGdW5jdGlvbihuKSlyZXR1cm4gdGhpcy5fX3RvZ2dsZS5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgaz1iLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtrWzFd
Lm1vZGU9InRvZ2dsZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsayl9fSxjc3NVbml0
OmZ1bmN0aW9uKG4pe3ZhciBrPXRoaXMuY3NzKG4pLG09W107YS5lYWNoKFsiZW0iLCJweCIsIiUi
LAorInB0Il0sZnVuY3Rpb24ocCxxKXtpZihrLmluZGV4T2YocSk+MCltPVtwYXJzZUZsb2F0KGsp
LHFdfSk7cmV0dXJuIG19fSk7YS5lYXNpbmcuanN3aW5nPWEuZWFzaW5nLnN3aW5nO2EuZXh0ZW5k
KGEuZWFzaW5nLHtkZWY6ImVhc2VPdXRRdWFkIixzd2luZzpmdW5jdGlvbihuLGssbSxwLHEpe3Jl
dHVybiBhLmVhc2luZ1thLmVhc2luZy5kZWZdKG4sayxtLHAscSl9LGVhc2VJblF1YWQ6ZnVuY3Rp
b24obixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayttfSxlYXNlT3V0UXVhZDpmdW5jdGlvbihu
LGssbSxwLHEpe3JldHVybi1wKihrLz1xKSooay0yKSttfSxlYXNlSW5PdXRRdWFkOmZ1bmN0aW9u
KG4sayxtLHAscSl7aWYoKGsvPXEvMik8MSlyZXR1cm4gcC8yKmsqayttO3JldHVybi1wLzIqKC0t
ayooay0yKS0xKSttfSxlYXNlSW5DdWJpYzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwKihr
Lz1xKSprKmsrbX0sZWFzZU91dEN1YmljOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqCiso
KGs9ay9xLTEpKmsqaysxKSttfSxlYXNlSW5PdXRDdWJpYzpmdW5jdGlvbihuLGssbSxwLHEpe2lm
KChrLz1xLzIpPDEpcmV0dXJuIHAvMiprKmsqayttO3JldHVybiBwLzIqKChrLT0yKSprKmsrMikr
bX0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayprKmsr
bX0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuLXAqKChrPWsvcS0xKSpr
Kmsqay0xKSttfSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIp
PDEpcmV0dXJuIHAvMiprKmsqayprK207cmV0dXJuLXAvMiooKGstPTIpKmsqayprLTIpK219LGVh
c2VJblF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKGsvPXEpKmsqayprKmsrbX0s
ZWFzZU91dFF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKChrPWsvcS0xKSprKmsq
ayprKzEpK219LGVhc2VJbk91dFF1aW50OmZ1bmN0aW9uKG4sayxtLHAscSl7aWYoKGsvPQorcS8y
KTwxKXJldHVybiBwLzIqayprKmsqayprK207cmV0dXJuIHAvMiooKGstPTIpKmsqayprKmsrMikr
bX0sZWFzZUluU2luZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybi1wKk1hdGguY29zKGsvcSoo
TWF0aC5QSS8yKSkrcCttfSxlYXNlT3V0U2luZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBw
Kk1hdGguc2luKGsvcSooTWF0aC5QSS8yKSkrbX0sZWFzZUluT3V0U2luZTpmdW5jdGlvbihuLGss
bSxwLHEpe3JldHVybi1wLzIqKE1hdGguY29zKE1hdGguUEkqay9xKS0xKSttfSxlYXNlSW5FeHBv
OmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIGs9PTA/bTpwKk1hdGgucG93KDIsMTAqKGsvcS0x
KSkrbX0sZWFzZU91dEV4cG86ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gaz09cT9tK3A6cCoo
LU1hdGgucG93KDIsLTEwKmsvcSkrMSkrbX0sZWFzZUluT3V0RXhwbzpmdW5jdGlvbihuLGssbSxw
LHEpe2lmKGs9PTApcmV0dXJuIG07aWYoaz09cSlyZXR1cm4gbStwO2lmKChrLz0KK3EvMik8MSly
ZXR1cm4gcC8yKk1hdGgucG93KDIsMTAqKGstMSkpK207cmV0dXJuIHAvMiooLU1hdGgucG93KDIs
LTEwKi0taykrMikrbX0sZWFzZUluQ2lyYzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybi1wKihN
YXRoLnNxcnQoMS0oay89cSkqayktMSkrbX0sZWFzZU91dENpcmM6ZnVuY3Rpb24obixrLG0scCxx
KXtyZXR1cm4gcCpNYXRoLnNxcnQoMS0oaz1rL3EtMSkqaykrbX0sZWFzZUluT3V0Q2lyYzpmdW5j
dGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIpPDEpcmV0dXJuLXAvMiooTWF0aC5zcXJ0KDEtaypr
KS0xKSttO3JldHVybiBwLzIqKE1hdGguc3FydCgxLShrLT0yKSprKSsxKSttfSxlYXNlSW5FbGFz
dGljOmZ1bmN0aW9uKG4sayxtLHAscSl7bj0xLjcwMTU4O3ZhciBzPTAscj1wO2lmKGs9PTApcmV0
dXJuIG07aWYoKGsvPXEpPT0xKXJldHVybiBtK3A7c3x8KHM9cSowLjMpO2lmKHI8TWF0aC5hYnMo
cCkpe3I9cDtuPXMvNH1lbHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFzaW4ocC8KK3IpO3JldHVy
bi0ocipNYXRoLnBvdygyLDEwKihrLT0xKSkqTWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykp
K219LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKG4sayxtLHAscSl7bj0xLjcwMTU4O3ZhciBzPTAs
cj1wO2lmKGs9PTApcmV0dXJuIG07aWYoKGsvPXEpPT0xKXJldHVybiBtK3A7c3x8KHM9cSowLjMp
O2lmKHI8TWF0aC5hYnMocCkpe3I9cDtuPXMvNH1lbHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFz
aW4ocC9yKTtyZXR1cm4gcipNYXRoLnBvdygyLC0xMCprKSpNYXRoLnNpbigoaypxLW4pKjIqTWF0
aC5QSS9zKStwK219LGVhc2VJbk91dEVsYXN0aWM6ZnVuY3Rpb24obixrLG0scCxxKXtuPTEuNzAx
NTg7dmFyIHM9MCxyPXA7aWYoaz09MClyZXR1cm4gbTtpZigoay89cS8yKT09MilyZXR1cm4gbStw
O3N8fChzPXEqMC4zKjEuNSk7aWYocjxNYXRoLmFicyhwKSl7cj1wO249cy80fWVsc2Ugbj1zLygy
Kk1hdGguUEkpKk1hdGguYXNpbihwL3IpO2lmKGs8MSlyZXR1cm4tMC41KgorcipNYXRoLnBvdygy
LDEwKihrLT0xKSkqTWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykrbTtyZXR1cm4gcipNYXRo
LnBvdygyLC0xMCooay09MSkpKk1hdGguc2luKChrKnEtbikqMipNYXRoLlBJL3MpKjAuNStwK219
LGVhc2VJbkJhY2s6ZnVuY3Rpb24obixrLG0scCxxLHMpe2lmKHM9PWMpcz0xLjcwMTU4O3JldHVy
biBwKihrLz1xKSprKigocysxKSprLXMpK219LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKG4sayxtLHAs
cSxzKXtpZihzPT1jKXM9MS43MDE1ODtyZXR1cm4gcCooKGs9ay9xLTEpKmsqKChzKzEpKmsrcykr
MSkrbX0sZWFzZUluT3V0QmFjazpmdW5jdGlvbihuLGssbSxwLHEscyl7aWYocz09YylzPTEuNzAx
NTg7aWYoKGsvPXEvMik8MSlyZXR1cm4gcC8yKmsqayooKChzKj0xLjUyNSkrMSkqay1zKSttO3Jl
dHVybiBwLzIqKChrLT0yKSprKigoKHMqPTEuNTI1KSsxKSprK3MpKzIpK219LGVhc2VJbkJvdW5j
ZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwLWEuZWFzaW5nLmVhc2VPdXRCb3VuY2UobiwK
K3EtaywwLHAscSkrbX0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybihr
Lz1xKTwxLzIuNzU/cCo3LjU2MjUqayprK206azwyLzIuNzU/cCooNy41NjI1KihrLT0xLjUvMi43
NSkqayswLjc1KSttOms8Mi41LzIuNzU/cCooNy41NjI1KihrLT0yLjI1LzIuNzUpKmsrMC45Mzc1
KSttOnAqKDcuNTYyNSooay09Mi42MjUvMi43NSkqayswLjk4NDM3NSkrbX0sZWFzZUluT3V0Qm91
bmNlOmZ1bmN0aW9uKG4sayxtLHAscSl7aWYoazxxLzIpcmV0dXJuIGEuZWFzaW5nLmVhc2VJbkJv
dW5jZShuLGsqMiwwLHAscSkqMC41K207cmV0dXJuIGEuZWFzaW5nLmVhc2VPdXRCb3VuY2Uobixr
KjItcSwwLHAscSkqMC41K3AqMC41K219fSl9KGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZl
Y3RzLmJsaW5kPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9
YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEu
ZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuZGly
ZWN0aW9ufHwidmVydGljYWwiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7dmFyIGk9YS5l
ZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pLGI9Zz09InZl
cnRpY2FsIj8iaGVpZ2h0Ijoid2lkdGgiO2c9Zz09InZlcnRpY2FsIj9pLmhlaWdodCgpOmkud2lk
dGgoKTtoPT0ic2hvdyImJmkuY3NzKGIsMCk7dmFyIGY9e307ZltiXT1oPT0ic2hvdyI/ZzowO2ku
YW5pbWF0ZShmLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2g9PSJoaWRl
IiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCwKK2UpO2EuZWZmZWN0cy5yZW1vdmVXcmFw
cGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1bWVudHMpO2QuZGVx
dWV1ZSgpfSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5ib3VuY2U9ZnVu
Y3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJw
b3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1v
ZGUoZCxjLm9wdGlvbnMubW9kZXx8ImVmZmVjdCIpLGc9Yy5vcHRpb25zLmRpcmVjdGlvbnx8InVw
IixpPWMub3B0aW9ucy5kaXN0YW5jZXx8MjAsYj1jLm9wdGlvbnMudGltZXN8fDUsZj1jLmR1cmF0
aW9ufHwyNTA7L3Nob3d8aGlkZS8udGVzdChoKSYmZS5wdXNoKCJvcGFjaXR5Iik7YS5lZmZlY3Rz
LnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKTt2YXIgaj1nPT0i
dXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVwInx8Zz09ImxlZnQiPyJwb3MiOiJu
ZWciO2k9Yy5vcHRpb25zLmRpc3RhbmNlfHwoaj09InRvcCI/ZC5vdXRlckhlaWdodCh7bWFyZ2lu
OnRydWV9KS8zOmQub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KS8KKzMpO2lmKGg9PSJzaG93Iilk
LmNzcygib3BhY2l0eSIsMCkuY3NzKGosZz09InBvcyI/LWk6aSk7aWYoaD09ImhpZGUiKWkvPWIq
MjtoIT0iaGlkZSImJmItLTtpZihoPT0ic2hvdyIpe3ZhciBsPXtvcGFjaXR5OjF9O2xbal09KGc9
PSJwb3MiPyIrPSI6Ii09IikraTtkLmFuaW1hdGUobCxmLzIsYy5vcHRpb25zLmVhc2luZyk7aS89
MjtiLS19Zm9yKGw9MDtsPGI7bCsrKXt2YXIgbz17fSxuPXt9O29bal09KGc9PSJwb3MiPyItPSI6
Iis9IikraTtuW2pdPShnPT0icG9zIj8iKz0iOiItPSIpK2k7ZC5hbmltYXRlKG8sZi8yLGMub3B0
aW9ucy5lYXNpbmcpLmFuaW1hdGUobixmLzIsYy5vcHRpb25zLmVhc2luZyk7aT1oPT0iaGlkZSI/
aSoyOmkvMn1pZihoPT0iaGlkZSIpe2w9e29wYWNpdHk6MH07bFtqXT0oZz09InBvcyI/Ii09Ijoi
Kz0iKStpO2QuYW5pbWF0ZShsLGYvMixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7ZC5oaWRl
KCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTsKK2Mu
Y2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9ZWxzZXtvPXt9O249
e307b1tqXT0oZz09InBvcyI/Ii09IjoiKz0iKStpO25bal09KGc9PSJwb3MiPyIrPSI6Ii09Iikr
aTtkLmFuaW1hdGUobyxmLzIsYy5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShuLGYvMixjLm9wdGlv
bnMuZWFzaW5nLGZ1bmN0aW9uKCl7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVt
b3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRz
KX0pfWQucXVldWUoImZ4IixmdW5jdGlvbigpe2QuZGVxdWV1ZSgpfSk7ZC5kZXF1ZXVlKCl9KX19
KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5jbGlwPWZ1bmN0aW9uKGMpe3JldHVy
biB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3Ai
LCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLGg9YS5lZmZlY3RzLnNl
dE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxnPWMub3B0aW9ucy5kaXJlY3Rpb258fCJ2
ZXJ0aWNhbCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTt2YXIgaT1hLmVmZmVjdHMuY3Jl
YXRlV3JhcHBlcihkKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSk7aT1kWzBdLnRhZ05hbWU9PSJJ
TUciP2k6ZDt2YXIgYj17c2l6ZTpnPT0idmVydGljYWwiPyJoZWlnaHQiOiJ3aWR0aCIscG9zaXRp
b246Zz09InZlcnRpY2FsIj8idG9wIjoibGVmdCJ9O2c9Zz09InZlcnRpY2FsIj9pLmhlaWdodCgp
Omkud2lkdGgoKTtpZihoPT0ic2hvdyIpe2kuY3NzKGIuc2l6ZSwwKTtpLmNzcyhiLnBvc2l0aW9u
LAorZy8yKX12YXIgZj17fTtmW2Iuc2l6ZV09aD09InNob3ciP2c6MDtmW2IucG9zaXRpb25dPWg9
PSJzaG93Ij8wOmcvMjtpLmFuaW1hdGUoZix7cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlv
bixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2g9PSJoaWRlIiYm
ZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihk
KTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KGRbMF0sYXJndW1lbnRzKTtkLmRlcXVldWUo
KX19KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmRyb3A9ZnVuY3Rpb24o
Yyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlv
biIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm9wYWNpdHkiXSxoPWEuZWZmZWN0cy5z
ZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuZGlyZWN0aW9ufHwi
bGVmdCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBl
cihkKTt2YXIgaT1nPT0idXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVwInx8Zz09
ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBiPWMub3B0aW9ucy5kaXN0YW5jZXx8KGk9PSJ0b3AiP2Qu
b3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkvMjpkLm91dGVyV2lkdGgoe21hcmdpbjp0cnVlfSkv
Mik7aWYoaD09InNob3ciKWQuY3NzKCJvcGFjaXR5IiwwKS5jc3MoaSxnPT0icG9zIj8tYjpiKTt2
YXIgZj17b3BhY2l0eTpoPT0KKyJzaG93Ij8xOjB9O2ZbaV09KGg9PSJzaG93Ij9nPT0icG9zIj8i
Kz0iOiItPSI6Zz09InBvcyI/Ii09IjoiKz0iKStiO2QuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxk
dXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0
aW9uKCl7aD09ImhpZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0
cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1
bWVudHMpO2QuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVj
dHMuZXhwbG9kZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBk
PWMub3B0aW9ucy5waWVjZXM/TWF0aC5yb3VuZChNYXRoLnNxcnQoYy5vcHRpb25zLnBpZWNlcykp
OjMsZT1jLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGMub3B0aW9ucy5waWVj
ZXMpKTozO2Mub3B0aW9ucy5tb2RlPWMub3B0aW9ucy5tb2RlPT0idG9nZ2xlIj9hKHRoaXMpLmlz
KCI6dmlzaWJsZSIpPyJoaWRlIjoic2hvdyI6Yy5vcHRpb25zLm1vZGU7dmFyIGg9YSh0aGlzKS5z
aG93KCkuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksZz1oLm9mZnNldCgpO2cudG9wLT1wYXJz
ZUludChoLmNzcygibWFyZ2luVG9wIiksMTApfHwwO2cubGVmdC09cGFyc2VJbnQoaC5jc3MoIm1h
cmdpbkxlZnQiKSwxMCl8fDA7Zm9yKHZhciBpPWgub3V0ZXJXaWR0aCh0cnVlKSxiPWgub3V0ZXJI
ZWlnaHQodHJ1ZSksZj0wO2Y8ZDtmKyspZm9yKHZhciBqPQorMDtqPGU7aisrKWguY2xvbmUoKS5h
cHBlbmRUbygiYm9keSIpLndyYXAoIjxkaXY+PC9kaXY+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1
dGUiLHZpc2liaWxpdHk6InZpc2libGUiLGxlZnQ6LWoqKGkvZSksdG9wOi1mKihiL2QpfSkucGFy
ZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9zaXRpb246ImFic29s
dXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDppL2UsaGVpZ2h0OmIvZCxsZWZ0OmcubGVmdCtq
KihpL2UpKyhjLm9wdGlvbnMubW9kZT09InNob3ciPyhqLU1hdGguZmxvb3IoZS8yKSkqKGkvZSk6
MCksdG9wOmcudG9wK2YqKGIvZCkrKGMub3B0aW9ucy5tb2RlPT0ic2hvdyI/KGYtTWF0aC5mbG9v
cihkLzIpKSooYi9kKTowKSxvcGFjaXR5OmMub3B0aW9ucy5tb2RlPT0ic2hvdyI/MDoxfSkuYW5p
bWF0ZSh7bGVmdDpnLmxlZnQraiooaS9lKSsoYy5vcHRpb25zLm1vZGU9PSJzaG93Ij8wOihqLU1h
dGguZmxvb3IoZS8yKSkqKGkvZSkpLHRvcDpnLnRvcCsKK2YqKGIvZCkrKGMub3B0aW9ucy5tb2Rl
PT0ic2hvdyI/MDooZi1NYXRoLmZsb29yKGQvMikpKihiL2QpKSxvcGFjaXR5OmMub3B0aW9ucy5t
b2RlPT0ic2hvdyI/MTowfSxjLmR1cmF0aW9ufHw1MDApO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtj
Lm9wdGlvbnMubW9kZT09InNob3ciP2guY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pOmguY3Nz
KHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLmhpZGUoKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFw
cGx5KGhbMF0pO2guZGVxdWV1ZSgpO2EoImRpdi51aS1lZmZlY3RzLWV4cGxvZGUiKS5yZW1vdmUo
KX0sYy5kdXJhdGlvbnx8NTAwKX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3Rz
LmZhZGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRo
aXMpLGU9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKTtkLmFuaW1h
dGUoe29wYWNpdHk6ZX0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMu
b3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtjLmNhbGxiYWNrJiZjLmNhbGxiYWNr
LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CisoZnVu
Y3Rpb24oYSl7YS5lZmZlY3RzLmZvbGQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVu
Y3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQi
LCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxn
PWMub3B0aW9ucy5zaXplfHwxNSxpPSEhYy5vcHRpb25zLmhvcml6Rmlyc3QsYj1jLmR1cmF0aW9u
P2MuZHVyYXRpb24vMjphLmZ4LnNwZWVkcy5fZGVmYXVsdC8yO2EuZWZmZWN0cy5zYXZlKGQsZSk7
ZC5zaG93KCk7dmFyIGY9YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoi
aGlkZGVuIn0pLGo9aD09InNob3ciIT1pLGw9aj9bIndpZHRoIiwiaGVpZ2h0Il06WyJoZWlnaHQi
LCJ3aWR0aCJdO2o9aj9bZi53aWR0aCgpLGYuaGVpZ2h0KCldOltmLmhlaWdodCgpLGYud2lkdGgo
KV07dmFyIG89LyhbMC05XSspJS8uZXhlYyhnKTtpZihvKWc9cGFyc2VJbnQob1sxXSwKKzEwKS8x
MDAqaltoPT0iaGlkZSI/MDoxXTtpZihoPT0ic2hvdyIpZi5jc3MoaT97aGVpZ2h0OjAsd2lkdGg6
Z306e2hlaWdodDpnLHdpZHRoOjB9KTtpPXt9O289e307aVtsWzBdXT1oPT0ic2hvdyI/alswXTpn
O29bbFsxXV09aD09InNob3ciP2pbMV06MDtmLmFuaW1hdGUoaSxiLGMub3B0aW9ucy5lYXNpbmcp
LmFuaW1hdGUobyxiLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlk
ZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5j
YWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBdLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9KX0p
fX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmhpZ2hsaWdodD1mdW5jdGlvbihj
KXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bImJhY2tncm91
bmRJbWFnZSIsImJhY2tncm91bmRDb2xvciIsIm9wYWNpdHkiXSxoPWEuZWZmZWN0cy5zZXRNb2Rl
KGQsYy5vcHRpb25zLm1vZGV8fCJzaG93IiksZz17YmFja2dyb3VuZENvbG9yOmQuY3NzKCJiYWNr
Z3JvdW5kQ29sb3IiKX07aWYoaD09ImhpZGUiKWcub3BhY2l0eT0wO2EuZWZmZWN0cy5zYXZlKGQs
ZSk7ZC5zaG93KCkuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6Im5vbmUiLGJhY2tncm91bmRDb2xvcjpj
Lm9wdGlvbnMuY29sb3J8fCIjZmZmZjk5In0pLmFuaW1hdGUoZyx7cXVldWU6ZmFsc2UsZHVyYXRp
b246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigp
e2g9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTtoPT0ic2hvdyImJiFh
LnN1cHBvcnQub3BhY2l0eSYmCit0aGlzLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7
Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9
fSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5wdWxzYXRlPWZ1bmN0aW9u
KGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0
cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJzaG93Iik7dGltZXM9KGMub3B0aW9ucy50aW1l
c3x8NSkqMi0xO2R1cmF0aW9uPWMuZHVyYXRpb24/Yy5kdXJhdGlvbi8yOmEuZnguc3BlZWRzLl9k
ZWZhdWx0LzI7aXNWaXNpYmxlPWQuaXMoIjp2aXNpYmxlIik7YW5pbWF0ZVRvPTA7aWYoIWlzVmlz
aWJsZSl7ZC5jc3MoIm9wYWNpdHkiLDApLnNob3coKTthbmltYXRlVG89MX1pZihlPT0iaGlkZSIm
JmlzVmlzaWJsZXx8ZT09InNob3ciJiYhaXNWaXNpYmxlKXRpbWVzLS07Zm9yKGU9MDtlPHRpbWVz
O2UrKyl7ZC5hbmltYXRlKHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sYy5vcHRpb25zLmVh
c2luZyk7YW5pbWF0ZVRvPShhbmltYXRlVG8rMSklMn1kLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0
ZVRvfSxkdXJhdGlvbiwKK2Mub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthbmltYXRlVG89PTAm
JmQuaGlkZSgpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpfSk7
ZC5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKCl9KS5kZXF1ZXVlKCl9KX19KShqUXVl
cnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5wdWZmPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlz
LnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5v
cHRpb25zLm1vZGV8fCJoaWRlIiksaD1wYXJzZUludChjLm9wdGlvbnMucGVyY2VudCwxMCl8fDE1
MCxnPWgvMTAwLGk9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgoKX07YS5leHRlbmQo
Yy5vcHRpb25zLHtmYWRlOnRydWUsbW9kZTplLHBlcmNlbnQ6ZT09ImhpZGUiP2g6MTAwLGZyb206
ZT09ImhpZGUiP2k6e2hlaWdodDppLmhlaWdodCpnLHdpZHRoOmkud2lkdGgqZ319KTtkLmVmZmVj
dCgic2NhbGUiLGMub3B0aW9ucyxjLmR1cmF0aW9uLGMuY2FsbGJhY2spO2QuZGVxdWV1ZSgpfSl9
O2EuZWZmZWN0cy5zY2FsZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigp
e3ZhciBkPWEodGhpcyksZT1hLmV4dGVuZCh0cnVlLHt9LGMub3B0aW9ucyksaD1hLmVmZmVjdHMu
c2V0TW9kZShkLAorYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxnPXBhcnNlSW50KGMub3B0aW9u
cy5wZXJjZW50LDEwKXx8KHBhcnNlSW50KGMub3B0aW9ucy5wZXJjZW50LDEwKT09MD8wOmg9PSJo
aWRlIj8wOjEwMCksaT1jLm9wdGlvbnMuZGlyZWN0aW9ufHwiYm90aCIsYj1jLm9wdGlvbnMub3Jp
Z2luO2lmKGghPSJlZmZlY3QiKXtlLm9yaWdpbj1ifHxbIm1pZGRsZSIsImNlbnRlciJdO2UucmVz
dG9yZT10cnVlfWI9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgoKX07ZC5mcm9tPWMu
b3B0aW9ucy5mcm9tfHwoaD09InNob3ciP3toZWlnaHQ6MCx3aWR0aDowfTpiKTtnPXt5OmkhPSJo
b3Jpem9udGFsIj9nLzEwMDoxLHg6aSE9InZlcnRpY2FsIj9nLzEwMDoxfTtkLnRvPXtoZWlnaHQ6
Yi5oZWlnaHQqZy55LHdpZHRoOmIud2lkdGgqZy54fTtpZihjLm9wdGlvbnMuZmFkZSl7aWYoaD09
InNob3ciKXtkLmZyb20ub3BhY2l0eT0wO2QudG8ub3BhY2l0eT0xfWlmKGg9PSJoaWRlIil7ZC5m
cm9tLm9wYWNpdHk9CisxO2QudG8ub3BhY2l0eT0wfX1lLmZyb209ZC5mcm9tO2UudG89ZC50bztl
Lm1vZGU9aDtkLmVmZmVjdCgic2l6ZSIsZSxjLmR1cmF0aW9uLGMuY2FsbGJhY2spO2QuZGVxdWV1
ZSgpfSl9O2EuZWZmZWN0cy5zaXplPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0
aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwi
cmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGg9WyJwb3NpdGlv
biIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGc9
WyJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Il0saT1bImZvbnRTaXplIl0sYj1bImJvcmRlclRv
cFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJd
LGY9WyJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwicGFkZGluZ0xlZnQiLCJw
YWRkaW5nUmlnaHQiXSwKK2o9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImVm
ZmVjdCIpLGw9Yy5vcHRpb25zLnJlc3RvcmV8fGZhbHNlLG89Yy5vcHRpb25zLnNjYWxlfHwiYm90
aCIsbj1jLm9wdGlvbnMub3JpZ2luLGs9e2hlaWdodDpkLmhlaWdodCgpLHdpZHRoOmQud2lkdGgo
KX07ZC5mcm9tPWMub3B0aW9ucy5mcm9tfHxrO2QudG89Yy5vcHRpb25zLnRvfHxrO2lmKG4pe249
YS5lZmZlY3RzLmdldEJhc2VsaW5lKG4sayk7ZC5mcm9tLnRvcD0oay5oZWlnaHQtZC5mcm9tLmhl
aWdodCkqbi55O2QuZnJvbS5sZWZ0PShrLndpZHRoLWQuZnJvbS53aWR0aCkqbi54O2QudG8udG9w
PShrLmhlaWdodC1kLnRvLmhlaWdodCkqbi55O2QudG8ubGVmdD0oay53aWR0aC1kLnRvLndpZHRo
KSpuLnh9dmFyIG09e2Zyb206e3k6ZC5mcm9tLmhlaWdodC9rLmhlaWdodCx4OmQuZnJvbS53aWR0
aC9rLndpZHRofSx0bzp7eTpkLnRvLmhlaWdodC9rLmhlaWdodCx4OmQudG8ud2lkdGgvay53aWR0
aH19OworaWYobz09ImJveCJ8fG89PSJib3RoIil7aWYobS5mcm9tLnkhPW0udG8ueSl7ZT1lLmNv
bmNhdChiKTtkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxiLG0uZnJvbS55LGQuZnJv
bSk7ZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGIsbS50by55LGQudG8pfWlmKG0uZnJv
bS54IT1tLnRvLngpe2U9ZS5jb25jYXQoZik7ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9u
KGQsZixtLmZyb20ueCxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxmLG0u
dG8ueCxkLnRvKX19aWYobz09ImNvbnRlbnQifHxvPT0iYm90aCIpaWYobS5mcm9tLnkhPW0udG8u
eSl7ZT1lLmNvbmNhdChpKTtkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxpLG0uZnJv
bS55LGQuZnJvbSk7ZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGksbS50by55LGQudG8p
fWEuZWZmZWN0cy5zYXZlKGQsbD9lOmgpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFwcGVy
KGQpOworZC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIikuY3NzKGQuZnJvbSk7aWYobz09ImNvbnRl
bnQifHxvPT0iYm90aCIpe2I9Yi5jb25jYXQoWyJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iXSku
Y29uY2F0KGkpO2Y9Zi5jb25jYXQoWyJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiXSk7Zz1lLmNv
bmNhdChiKS5jb25jYXQoZik7ZC5maW5kKCIqW3dpZHRoXSIpLmVhY2goZnVuY3Rpb24oKXtjaGls
ZD1hKHRoaXMpO2wmJmEuZWZmZWN0cy5zYXZlKGNoaWxkLGcpO3ZhciBwPXtoZWlnaHQ6Y2hpbGQu
aGVpZ2h0KCksd2lkdGg6Y2hpbGQud2lkdGgoKX07Y2hpbGQuZnJvbT17aGVpZ2h0OnAuaGVpZ2h0
Km0uZnJvbS55LHdpZHRoOnAud2lkdGgqbS5mcm9tLnh9O2NoaWxkLnRvPXtoZWlnaHQ6cC5oZWln
aHQqbS50by55LHdpZHRoOnAud2lkdGgqbS50by54fTtpZihtLmZyb20ueSE9bS50by55KXtjaGls
ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGNoaWxkLGIsbS5mcm9tLnksY2hpbGQuZnJv
bSk7CitjaGlsZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxiLG0udG8ueSxjaGls
ZC50byl9aWYobS5mcm9tLnghPW0udG8ueCl7Y2hpbGQuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNp
dGlvbihjaGlsZCxmLG0uZnJvbS54LGNoaWxkLmZyb20pO2NoaWxkLnRvPWEuZWZmZWN0cy5zZXRU
cmFuc2l0aW9uKGNoaWxkLGYsbS50by54LGNoaWxkLnRvKX1jaGlsZC5jc3MoY2hpbGQuZnJvbSk7
Y2hpbGQuYW5pbWF0ZShjaGlsZC50byxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rp
b24oKXtsJiZhLmVmZmVjdHMucmVzdG9yZShjaGlsZCxnKX0pfSl9ZC5hbmltYXRlKGQudG8se3F1
ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29t
cGxldGU6ZnVuY3Rpb24oKXtkLnRvLm9wYWNpdHk9PT0wJiZkLmNzcygib3BhY2l0eSIsZC5mcm9t
Lm9wYWNpdHkpO2o9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCwKK2w/ZTpo
KTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24o
YSl7YS5lZmZlY3RzLnNoYWtlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwicmln
aHQiXTthLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiZWZmZWN0Iik7dmFyIGg9
Yy5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiLGc9Yy5vcHRpb25zLmRpc3RhbmNlfHwyMCxpPWMu
b3B0aW9ucy50aW1lc3x8MyxiPWMuZHVyYXRpb258fGMub3B0aW9ucy5kdXJhdGlvbnx8MTQwO2Eu
ZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCk7dmFy
IGY9aD09InVwInx8aD09ImRvd24iPyJ0b3AiOiJsZWZ0IixqPWg9PSJ1cCJ8fGg9PSJsZWZ0Ij8i
cG9zIjoibmVnIjtoPXt9O3ZhciBsPXt9LG89e307aFtmXT0oaj09InBvcyI/Ii09IjoiKz0iKStn
O2xbZl09KGo9PSJwb3MiPyIrPSI6Ii09IikrZyoyO29bZl09Cisoaj09InBvcyI/Ii09IjoiKz0i
KStnKjI7ZC5hbmltYXRlKGgsYixjLm9wdGlvbnMuZWFzaW5nKTtmb3IoZz0xO2c8aTtnKyspZC5h
bmltYXRlKGwsYixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG8sYixjLm9wdGlvbnMuZWFzaW5n
KTtkLmFuaW1hdGUobCxiLGMub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoaCxiLzIsYy5vcHRpb25z
LmVhc2luZyxmdW5jdGlvbigpe2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92
ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9
KTtkLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtkLmRlcXVldWUoKX0pO2QuZGVxdWV1ZSgpfSl9fSko
alF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMuc2xpZGU9ZnVuY3Rpb24oYyl7cmV0dXJu
IHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIs
ImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGg9YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMu
bW9kZXx8InNob3ciKSxnPWMub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjthLmVmZmVjdHMuc2F2
ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpLmNzcyh7b3ZlcmZsb3c6
ImhpZGRlbiJ9KTt2YXIgaT1nPT0idXAifHxnPT0iZG93biI/InRvcCI6ImxlZnQiO2c9Zz09InVw
Inx8Zz09ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBiPWMub3B0aW9ucy5kaXN0YW5jZXx8KGk9PSJ0
b3AiP2Qub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSk6ZC5vdXRlcldpZHRoKHttYXJnaW46dHJ1
ZX0pKTtpZihoPT0ic2hvdyIpZC5jc3MoaSxnPT0icG9zIj9pc05hTihiKT8iLSIrYjotYjpiKTsK
K3ZhciBmPXt9O2ZbaV09KGg9PSJzaG93Ij9nPT0icG9zIj8iKz0iOiItPSI6Zz09InBvcyI/Ii09
IjoiKz0iKStiO2QuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVh
c2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aD09ImhpZGUiJiZkLmhp
ZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGQpO2Mu
Y2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2QuZGVxdWV1ZSgpfX0p
fSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMudHJhbnNmZXI9ZnVuY3Rpb24o
Yyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YShjLm9wdGlv
bnMudG8pLGg9ZS5vZmZzZXQoKTtlPXt0b3A6aC50b3AsbGVmdDpoLmxlZnQsaGVpZ2h0OmUuaW5u
ZXJIZWlnaHQoKSx3aWR0aDplLmlubmVyV2lkdGgoKX07aD1kLm9mZnNldCgpO3ZhciBnPWEoJzxk
aXYgY2xhc3M9InVpLWVmZmVjdHMtdHJhbnNmZXIiPjwvZGl2PicpLmFwcGVuZFRvKGRvY3VtZW50
LmJvZHkpLmFkZENsYXNzKGMub3B0aW9ucy5jbGFzc05hbWUpLmNzcyh7dG9wOmgudG9wLGxlZnQ6
aC5sZWZ0LGhlaWdodDpkLmlubmVySGVpZ2h0KCksd2lkdGg6ZC5pbm5lcldpZHRoKCkscG9zaXRp
b246ImFic29sdXRlIn0pLmFuaW1hdGUoZSxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVu
Y3Rpb24oKXtnLnJlbW92ZSgpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1
bWVudHMpOworZC5kZXF1ZXVlKCl9KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRn
ZXQoInVpLmFjY29yZGlvbiIse29wdGlvbnM6e2FjdGl2ZTowLGFuaW1hdGVkOiJzbGlkZSIsYXV0
b0hlaWdodDp0cnVlLGNsZWFyU3R5bGU6ZmFsc2UsY29sbGFwc2libGU6ZmFsc2UsZXZlbnQ6ImNs
aWNrIixmaWxsU3BhY2U6ZmFsc2UsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChs
aSk6ZXZlbiIsaWNvbnM6e2hlYWRlcjoidWktaWNvbi10cmlhbmdsZS0xLWUiLGhlYWRlclNlbGVj
dGVkOiJ1aS1pY29uLXRyaWFuZ2xlLTEtcyJ9LG5hdmlnYXRpb246ZmFsc2UsbmF2aWdhdGlvbkZp
bHRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhyZWYudG9Mb3dlckNhc2UoKT09PWxvY2F0aW9u
LmhyZWYudG9Mb3dlckNhc2UoKX19LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9Yy5v
cHRpb25zO2MucnVubmluZz0wO2MuZWxlbWVudC5hZGRDbGFzcygidWktYWNjb3JkaW9uIHVpLXdp
ZGdldCB1aS1oZWxwZXItcmVzZXQiKS5jaGlsZHJlbigibGkiKS5hZGRDbGFzcygidWktYWNjb3Jk
aW9uLWxpLWZpeCIpO2MuaGVhZGVycz0KK2MuZWxlbWVudC5maW5kKGQuaGVhZGVyKS5hZGRDbGFz
cygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1oZWxwZXItcmVzZXQgdWktc3RhdGUtZGVmYXVsdCB1
aS1jb3JuZXItYWxsIikuYmluZCgibW91c2VlbnRlci5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7ZC5k
aXNhYmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmJpbmQoIm1vdXNl
bGVhdmUuYWNjb3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLWhvdmVyIil9KS5iaW5kKCJmb2N1cy5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7
ZC5kaXNhYmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJpbmQoImJs
dXIuYWNjb3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xhc3Mo
InVpLXN0YXRlLWZvY3VzIil9KTtjLmhlYWRlcnMubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRp
b24tY29udGVudCB1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJv
dHRvbSIpOworaWYoZC5uYXZpZ2F0aW9uKXt2YXIgZT1jLmVsZW1lbnQuZmluZCgiYSIpLmZpbHRl
cihkLm5hdmlnYXRpb25GaWx0ZXIpLmVxKDApO2lmKGUubGVuZ3RoKXt2YXIgaD1lLmNsb3Nlc3Qo
Ii51aS1hY2NvcmRpb24taGVhZGVyIik7Yy5hY3RpdmU9aC5sZW5ndGg/aDplLmNsb3Nlc3QoIi51
aS1hY2NvcmRpb24tY29udGVudCIpLnByZXYoKX19Yy5hY3RpdmU9Yy5fZmluZEFjdGl2ZShjLmFj
dGl2ZXx8ZC5hY3RpdmUpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLXN0YXRlLWFjdGl2
ZSIpLnRvZ2dsZUNsYXNzKCJ1aS1jb3JuZXItYWxsIikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci10
b3AiKTtjLmFjdGl2ZS5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2
ZSIpO2MuX2NyZWF0ZUljb25zKCk7Yy5yZXNpemUoKTtjLmVsZW1lbnQuYXR0cigicm9sZSIsInRh
Ymxpc3QiKTtjLmhlYWRlcnMuYXR0cigicm9sZSIsInRhYiIpLmJpbmQoImtleWRvd24uYWNjb3Jk
aW9uIiwKK2Z1bmN0aW9uKGcpe3JldHVybiBjLl9rZXlkb3duKGcpfSkubmV4dCgpLmF0dHIoInJv
bGUiLCJ0YWJwYW5lbCIpO2MuaGVhZGVycy5ub3QoYy5hY3RpdmV8fCIiKS5hdHRyKHsiYXJpYS1l
eHBhbmRlZCI6ImZhbHNlIiwiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLm5l
eHQoKS5oaWRlKCk7Yy5hY3RpdmUubGVuZ3RoP2MuYWN0aXZlLmF0dHIoeyJhcmlhLWV4cGFuZGVk
IjoidHJ1ZSIsImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJJbmRleDowfSk6Yy5oZWFkZXJzLmVx
KDApLmF0dHIoInRhYkluZGV4IiwwKTthLmJyb3dzZXIuc2FmYXJpfHxjLmhlYWRlcnMuZmluZCgi
YSIpLmF0dHIoInRhYkluZGV4IiwtMSk7ZC5ldmVudCYmYy5oZWFkZXJzLmJpbmQoZC5ldmVudC5z
cGxpdCgiICIpLmpvaW4oIi5hY2NvcmRpb24gIikrIi5hY2NvcmRpb24iLGZ1bmN0aW9uKGcpe2Mu
X2NsaWNrSGFuZGxlci5jYWxsKGMsZyx0aGlzKTtnLnByZXZlbnREZWZhdWx0KCl9KX0sX2NyZWF0
ZUljb25zOmZ1bmN0aW9uKCl7dmFyIGM9Cit0aGlzLm9wdGlvbnM7aWYoYy5pY29ucyl7YSgiPHNw
YW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1aS1pY29uICIrYy5pY29ucy5oZWFkZXIpLnByZXBlbmRU
byh0aGlzLmhlYWRlcnMpO3RoaXMuYWN0aXZlLmNoaWxkcmVuKCIudWktaWNvbiIpLnRvZ2dsZUNs
YXNzKGMuaWNvbnMuaGVhZGVyKS50b2dnbGVDbGFzcyhjLmljb25zLmhlYWRlclNlbGVjdGVkKTt0
aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfX0sX2Rlc3Ryb3lJY29u
czpmdW5jdGlvbigpe3RoaXMuaGVhZGVycy5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmUoKTt0
aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfSxkZXN0cm95OmZ1
bmN0aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
YWNjb3JkaW9uIHVpLXdpZGdldCB1aS1oZWxwZXItcmVzZXQiKS5yZW1vdmVBdHRyKCJyb2xlIik7
dGhpcy5oZWFkZXJzLnVuYmluZCgiLmFjY29yZGlvbiIpLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRp
b24taGVhZGVyIHVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1oZWxwZXItcmVzZXQgdWktc3RhdGUt
ZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCB1
aS1jb3JuZXItdG9wIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZXhwYW5k
ZWQiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKTsK
K3RoaXMuaGVhZGVycy5maW5kKCJhIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKTt0aGlzLl9kZXN0
cm95SWNvbnMoKTt2YXIgZD10aGlzLmhlYWRlcnMubmV4dCgpLmNzcygiZGlzcGxheSIsIiIpLnJl
bW92ZUF0dHIoInJvbGUiKS5yZW1vdmVDbGFzcygidWktaGVscGVyLXJlc2V0IHVpLXdpZGdldC1j
b250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktYWNjb3JkaW9uLWNvbnRlbnQgdWktYWNjb3JkaW9u
LWNvbnRlbnQtYWN0aXZlIHVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIp
O2lmKGMuYXV0b0hlaWdodHx8Yy5maWxsSGVpZ2h0KWQuY3NzKCJoZWlnaHQiLCIiKTtyZXR1cm4g
YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlvbjpmdW5jdGlv
bihjLGQpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRz
KTtjPT0iYWN0aXZlIiYmdGhpcy5hY3RpdmF0ZShkKTtpZihjPT0iaWNvbnMiKXt0aGlzLl9kZXN0
cm95SWNvbnMoKTsKK2QmJnRoaXMuX2NyZWF0ZUljb25zKCl9aWYoYz09ImRpc2FibGVkIil0aGlz
LmhlYWRlcnMuYWRkKHRoaXMuaGVhZGVycy5uZXh0KCkpW2Q/ImFkZENsYXNzIjoicmVtb3ZlQ2xh
c3MiXSgidWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LF9rZXlkb3du
OmZ1bmN0aW9uKGMpe2lmKCEodGhpcy5vcHRpb25zLmRpc2FibGVkfHxjLmFsdEtleXx8Yy5jdHJs
S2V5KSl7dmFyIGQ9YS51aS5rZXlDb2RlLGU9dGhpcy5oZWFkZXJzLmxlbmd0aCxoPXRoaXMuaGVh
ZGVycy5pbmRleChjLnRhcmdldCksZz1mYWxzZTtzd2l0Y2goYy5rZXlDb2RlKXtjYXNlIGQuUklH
SFQ6Y2FzZSBkLkRPV046Zz10aGlzLmhlYWRlcnNbKGgrMSklZV07YnJlYWs7Y2FzZSBkLkxFRlQ6
Y2FzZSBkLlVQOmc9dGhpcy5oZWFkZXJzWyhoLTErZSklZV07YnJlYWs7Y2FzZSBkLlNQQUNFOmNh
c2UgZC5FTlRFUjp0aGlzLl9jbGlja0hhbmRsZXIoe3RhcmdldDpjLnRhcmdldH0sYy50YXJnZXQp
OworYy5wcmV2ZW50RGVmYXVsdCgpfWlmKGcpe2EoYy50YXJnZXQpLmF0dHIoInRhYkluZGV4Iiwt
MSk7YShnKS5hdHRyKCJ0YWJJbmRleCIsMCk7Zy5mb2N1cygpO3JldHVybiBmYWxzZX1yZXR1cm4g
dHJ1ZX19LHJlc2l6ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucyxkO2lmKGMuZmlsbFNw
YWNlKXtpZihhLmJyb3dzZXIubXNpZSl7dmFyIGU9dGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygi
b3ZlcmZsb3ciKTt0aGlzLmVsZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIp
fWQ9dGhpcy5lbGVtZW50LnBhcmVudCgpLmhlaWdodCgpO2EuYnJvd3Nlci5tc2llJiZ0aGlzLmVs
ZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIsZSk7dGhpcy5oZWFkZXJzLmVhY2goZnVuY3Rp
b24oKXtkLT1hKHRoaXMpLm91dGVySGVpZ2h0KHRydWUpfSk7dGhpcy5oZWFkZXJzLm5leHQoKS5l
YWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5oZWlnaHQoTWF0aC5tYXgoMCxkLWEodGhpcykuaW5uZXJI
ZWlnaHQoKSsKK2EodGhpcykuaGVpZ2h0KCkpKX0pLmNzcygib3ZlcmZsb3ciLCJhdXRvIil9ZWxz
ZSBpZihjLmF1dG9IZWlnaHQpe2Q9MDt0aGlzLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24o
KXtkPU1hdGgubWF4KGQsYSh0aGlzKS5oZWlnaHQoIiIpLmhlaWdodCgpKX0pLmhlaWdodChkKX1y
ZXR1cm4gdGhpc30sYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dGhpcy5vcHRpb25zLmFjdGl2ZT1jO2M9
dGhpcy5fZmluZEFjdGl2ZShjKVswXTt0aGlzLl9jbGlja0hhbmRsZXIoe3RhcmdldDpjfSxjKTty
ZXR1cm4gdGhpc30sX2ZpbmRBY3RpdmU6ZnVuY3Rpb24oYyl7cmV0dXJuIGM/dHlwZW9mIGM9PT0i
bnVtYmVyIj90aGlzLmhlYWRlcnMuZmlsdGVyKCI6ZXEoIitjKyIpIik6dGhpcy5oZWFkZXJzLm5v
dCh0aGlzLmhlYWRlcnMubm90KGMpKTpjPT09ZmFsc2U/YShbXSk6dGhpcy5oZWFkZXJzLmZpbHRl
cigiOmVxKDApIil9LF9jbGlja0hhbmRsZXI6ZnVuY3Rpb24oYyxkKXt2YXIgZT10aGlzLm9wdGlv
bnM7CitpZighZS5kaXNhYmxlZClpZihjLnRhcmdldCl7Yz1hKGMuY3VycmVudFRhcmdldHx8ZCk7
ZD1jWzBdPT09dGhpcy5hY3RpdmVbMF07ZS5hY3RpdmU9ZS5jb2xsYXBzaWJsZSYmZD9mYWxzZTp0
aGlzLmhlYWRlcnMuaW5kZXgoYyk7aWYoISh0aGlzLnJ1bm5pbmd8fCFlLmNvbGxhcHNpYmxlJiZk
KSl7dmFyIGg9dGhpcy5hY3RpdmU7Zj1jLm5leHQoKTtpPXRoaXMuYWN0aXZlLm5leHQoKTtiPXtv
cHRpb25zOmUsbmV3SGVhZGVyOmQmJmUuY29sbGFwc2libGU/YShbXSk6YyxvbGRIZWFkZXI6dGhp
cy5hY3RpdmUsbmV3Q29udGVudDpkJiZlLmNvbGxhcHNpYmxlP2EoW10pOmYsb2xkQ29udGVudDpp
fTt2YXIgZz10aGlzLmhlYWRlcnMuaW5kZXgodGhpcy5hY3RpdmVbMF0pPnRoaXMuaGVhZGVycy5p
bmRleChjWzBdKTt0aGlzLmFjdGl2ZT1kP2EoW10pOmM7dGhpcy5fdG9nZ2xlKGYsaSxiLGQsZyk7
aC5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygi
dWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVt
b3ZlQ2xhc3MoZS5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZS5pY29ucy5oZWFkZXIp
OworaWYoIWQpe2MucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmNoaWxkcmVuKCIudWkt
aWNvbiIpLnJlbW92ZUNsYXNzKGUuaWNvbnMuaGVhZGVyKS5hZGRDbGFzcyhlLmljb25zLmhlYWRl
clNlbGVjdGVkKTtjLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZl
Iil9fX1lbHNlIGlmKGUuY29sbGFwc2libGUpe3RoaXMuYWN0aXZlLnJlbW92ZUNsYXNzKCJ1aS1z
dGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVp
LWNvcm5lci1hbGwiKS5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhlLmljb25zLmhl
YWRlclNlbGVjdGVkKS5hZGRDbGFzcyhlLmljb25zLmhlYWRlcik7dGhpcy5hY3RpdmUubmV4dCgp
LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTt2YXIgaT10aGlzLmFjdGl2
ZS5uZXh0KCksCitiPXtvcHRpb25zOmUsbmV3SGVhZGVyOmEoW10pLG9sZEhlYWRlcjplLmFjdGl2
ZSxuZXdDb250ZW50OmEoW10pLG9sZENvbnRlbnQ6aX0sZj10aGlzLmFjdGl2ZT1hKFtdKTt0aGlz
Ll90b2dnbGUoZixpLGIpfX0sX3RvZ2dsZTpmdW5jdGlvbihjLGQsZSxoLGcpe3ZhciBpPXRoaXMs
Yj1pLm9wdGlvbnM7aS50b1Nob3c9YztpLnRvSGlkZT1kO2kuZGF0YT1lO3ZhciBmPWZ1bmN0aW9u
KCl7aWYoaSlyZXR1cm4gaS5fY29tcGxldGVkLmFwcGx5KGksYXJndW1lbnRzKX07aS5fdHJpZ2dl
cigiY2hhbmdlc3RhcnQiLG51bGwsaS5kYXRhKTtpLnJ1bm5pbmc9ZC5zaXplKCk9PT0wP2Muc2l6
ZSgpOmQuc2l6ZSgpO2lmKGIuYW5pbWF0ZWQpe2U9e307ZT1iLmNvbGxhcHNpYmxlJiZoP3t0b1No
b3c6YShbXSksdG9IaWRlOmQsY29tcGxldGU6Zixkb3duOmcsYXV0b0hlaWdodDpiLmF1dG9IZWln
aHR8fGIuZmlsbFNwYWNlfTp7dG9TaG93OmMsdG9IaWRlOmQsY29tcGxldGU6Zixkb3duOmcsYXV0
b0hlaWdodDpiLmF1dG9IZWlnaHR8fAorYi5maWxsU3BhY2V9O2lmKCFiLnByb3hpZWQpYi5wcm94
aWVkPWIuYW5pbWF0ZWQ7aWYoIWIucHJveGllZER1cmF0aW9uKWIucHJveGllZER1cmF0aW9uPWIu
ZHVyYXRpb247Yi5hbmltYXRlZD1hLmlzRnVuY3Rpb24oYi5wcm94aWVkKT9iLnByb3hpZWQoZSk6
Yi5wcm94aWVkO2IuZHVyYXRpb249YS5pc0Z1bmN0aW9uKGIucHJveGllZER1cmF0aW9uKT9iLnBy
b3hpZWREdXJhdGlvbihlKTpiLnByb3hpZWREdXJhdGlvbjtoPWEudWkuYWNjb3JkaW9uLmFuaW1h
dGlvbnM7dmFyIGo9Yi5kdXJhdGlvbixsPWIuYW5pbWF0ZWQ7aWYobCYmIWhbbF0mJiFhLmVhc2lu
Z1tsXSlsPSJzbGlkZSI7aFtsXXx8KGhbbF09ZnVuY3Rpb24obyl7dGhpcy5zbGlkZShvLHtlYXNp
bmc6bCxkdXJhdGlvbjpqfHw3MDB9KX0pO2hbbF0oZSl9ZWxzZXtpZihiLmNvbGxhcHNpYmxlJiZo
KWMudG9nZ2xlKCk7ZWxzZXtkLmhpZGUoKTtjLnNob3coKX1mKHRydWUpfWQucHJldigpLmF0dHIo
eyJhcmlhLWV4cGFuZGVkIjoiZmFsc2UiLAorImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsdGFiSW5k
ZXg6LTF9KS5ibHVyKCk7Yy5wcmV2KCkuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJ0cnVlIiwiYXJp
YS1zZWxlY3RlZCI6InRydWUiLHRhYkluZGV4OjB9KS5mb2N1cygpfSxfY29tcGxldGVkOmZ1bmN0
aW9uKGMpe3RoaXMucnVubmluZz1jPzA6LS10aGlzLnJ1bm5pbmc7aWYoIXRoaXMucnVubmluZyl7
dGhpcy5vcHRpb25zLmNsZWFyU3R5bGUmJnRoaXMudG9TaG93LmFkZCh0aGlzLnRvSGlkZSkuY3Nz
KHtoZWlnaHQ6IiIsb3ZlcmZsb3c6IiJ9KTt0aGlzLnRvSGlkZS5yZW1vdmVDbGFzcygidWktYWNj
b3JkaW9uLWNvbnRlbnQtYWN0aXZlIik7aWYodGhpcy50b0hpZGUubGVuZ3RoKXRoaXMudG9IaWRl
LnBhcmVudCgpWzBdLmNsYXNzTmFtZT10aGlzLnRvSGlkZS5wYXJlbnQoKVswXS5jbGFzc05hbWU7
dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixudWxsLHRoaXMuZGF0YSl9fX0pO2EuZXh0ZW5kKGEudWku
YWNjb3JkaW9uLHt2ZXJzaW9uOiIxLjguMTUiLAorYW5pbWF0aW9uczp7c2xpZGU6ZnVuY3Rpb24o
YyxkKXtjPWEuZXh0ZW5kKHtlYXNpbmc6InN3aW5nIixkdXJhdGlvbjozMDB9LGMsZCk7aWYoYy50
b0hpZGUuc2l6ZSgpKWlmKGMudG9TaG93LnNpemUoKSl7dmFyIGU9Yy50b1Nob3cuY3NzKCJvdmVy
ZmxvdyIpLGg9MCxnPXt9LGk9e30sYjtkPWMudG9TaG93O2I9ZFswXS5zdHlsZS53aWR0aDtkLndp
ZHRoKHBhcnNlSW50KGQucGFyZW50KCkud2lkdGgoKSwxMCktcGFyc2VJbnQoZC5jc3MoInBhZGRp
bmdMZWZ0IiksMTApLXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCktKHBhcnNlSW50
KGQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChkLmNzcygiYm9yZGVy
UmlnaHRXaWR0aCIpLDEwKXx8MCkpO2EuZWFjaChbImhlaWdodCIsInBhZGRpbmdUb3AiLCJwYWRk
aW5nQm90dG9tIl0sZnVuY3Rpb24oZixqKXtpW2pdPSJoaWRlIjtmPSgiIithLmNzcyhjLnRvU2hv
d1swXSxqKSkubWF0Y2goL14oW1xkKy0uXSspKC4qKSQvKTsKK2dbal09e3ZhbHVlOmZbMV0sdW5p
dDpmWzJdfHwicHgifX0pO2MudG9TaG93LmNzcyh7aGVpZ2h0OjAsb3ZlcmZsb3c6ImhpZGRlbiJ9
KS5zaG93KCk7Yy50b0hpZGUuZmlsdGVyKCI6aGlkZGVuIikuZWFjaChjLmNvbXBsZXRlKS5lbmQo
KS5maWx0ZXIoIjp2aXNpYmxlIikuYW5pbWF0ZShpLHtzdGVwOmZ1bmN0aW9uKGYsail7aWYoai5w
cm9wPT0iaGVpZ2h0IiloPWouZW5kLWouc3RhcnQ9PT0wPzA6KGoubm93LWouc3RhcnQpLyhqLmVu
ZC1qLnN0YXJ0KTtjLnRvU2hvd1swXS5zdHlsZVtqLnByb3BdPWgqZ1tqLnByb3BdLnZhbHVlK2db
ai5wcm9wXS51bml0fSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLmVhc2luZyxjb21wbGV0
ZTpmdW5jdGlvbigpe2MuYXV0b0hlaWdodHx8Yy50b1Nob3cuY3NzKCJoZWlnaHQiLCIiKTtjLnRv
U2hvdy5jc3Moe3dpZHRoOmIsb3ZlcmZsb3c6ZX0pO2MuY29tcGxldGUoKX19KX1lbHNlIGMudG9I
aWRlLmFuaW1hdGUoe2hlaWdodDoiaGlkZSIsCitwYWRkaW5nVG9wOiJoaWRlIixwYWRkaW5nQm90
dG9tOiJoaWRlIn0sYyk7ZWxzZSBjLnRvU2hvdy5hbmltYXRlKHtoZWlnaHQ6InNob3ciLHBhZGRp
bmdUb3A6InNob3ciLHBhZGRpbmdCb3R0b206InNob3cifSxjKX0sYm91bmNlc2xpZGU6ZnVuY3Rp
b24oYyl7dGhpcy5zbGlkZShjLHtlYXNpbmc6Yy5kb3duPyJlYXNlT3V0Qm91bmNlIjoic3dpbmci
LGR1cmF0aW9uOmMuZG93bj8xRTM6MjAwfSl9fX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXt2
YXIgYz0wO2Eud2lkZ2V0KCJ1aS5hdXRvY29tcGxldGUiLHtvcHRpb25zOnthcHBlbmRUbzoiYm9k
eSIsYXV0b0ZvY3VzOmZhbHNlLGRlbGF5OjMwMCxtaW5MZW5ndGg6MSxwb3NpdGlvbjp7bXk6Imxl
ZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHNvdXJjZTpudWxsfSxw
ZW5kaW5nOjAsX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMsZT10aGlzLmVsZW1lbnRbMF0u
b3duZXJEb2N1bWVudCxoO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWlu
cHV0IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIikuYXR0cih7cm9sZToidGV4dGJveCIsImFy
aWEtYXV0b2NvbXBsZXRlIjoibGlzdCIsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pLmJpbmQoImtl
eWRvd24uYXV0b2NvbXBsZXRlIixmdW5jdGlvbihnKXtpZighKGQub3B0aW9ucy5kaXNhYmxlZHx8
ZC5lbGVtZW50LnByb3BBdHRyKCJyZWFkT25seSIpKSl7aD0KK2ZhbHNlO3ZhciBpPWEudWkua2V5
Q29kZTtzd2l0Y2goZy5rZXlDb2RlKXtjYXNlIGkuUEFHRV9VUDpkLl9tb3ZlKCJwcmV2aW91c1Bh
Z2UiLGcpO2JyZWFrO2Nhc2UgaS5QQUdFX0RPV046ZC5fbW92ZSgibmV4dFBhZ2UiLGcpO2JyZWFr
O2Nhc2UgaS5VUDpkLl9tb3ZlKCJwcmV2aW91cyIsZyk7Zy5wcmV2ZW50RGVmYXVsdCgpO2JyZWFr
O2Nhc2UgaS5ET1dOOmQuX21vdmUoIm5leHQiLGcpO2cucHJldmVudERlZmF1bHQoKTticmVhaztj
YXNlIGkuRU5URVI6Y2FzZSBpLk5VTVBBRF9FTlRFUjppZihkLm1lbnUuYWN0aXZlKXtoPXRydWU7
Zy5wcmV2ZW50RGVmYXVsdCgpfWNhc2UgaS5UQUI6aWYoIWQubWVudS5hY3RpdmUpcmV0dXJuO2Qu
bWVudS5zZWxlY3QoZyk7YnJlYWs7Y2FzZSBpLkVTQ0FQRTpkLmVsZW1lbnQudmFsKGQudGVybSk7
ZC5jbG9zZShnKTticmVhaztkZWZhdWx0OmNsZWFyVGltZW91dChkLnNlYXJjaGluZyk7ZC5zZWFy
Y2hpbmc9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGQudGVybSE9CitkLmVsZW1lbnQudmFsKCkp
e2Quc2VsZWN0ZWRJdGVtPW51bGw7ZC5zZWFyY2gobnVsbCxnKX19LGQub3B0aW9ucy5kZWxheSk7
YnJlYWt9fX0pLmJpbmQoImtleXByZXNzLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oZyl7aWYoaCl7
aD1mYWxzZTtnLnByZXZlbnREZWZhdWx0KCl9fSkuYmluZCgiZm9jdXMuYXV0b2NvbXBsZXRlIixm
dW5jdGlvbigpe2lmKCFkLm9wdGlvbnMuZGlzYWJsZWQpe2Quc2VsZWN0ZWRJdGVtPW51bGw7ZC5w
cmV2aW91cz1kLmVsZW1lbnQudmFsKCl9fSkuYmluZCgiYmx1ci5hdXRvY29tcGxldGUiLGZ1bmN0
aW9uKGcpe2lmKCFkLm9wdGlvbnMuZGlzYWJsZWQpe2NsZWFyVGltZW91dChkLnNlYXJjaGluZyk7
ZC5jbG9zaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmNsb3NlKGcpO2QuX2NoYW5nZShnKX0s
MTUwKX19KTt0aGlzLl9pbml0U291cmNlKCk7dGhpcy5yZXNwb25zZT1mdW5jdGlvbigpe3JldHVy
biBkLl9yZXNwb25zZS5hcHBseShkLGFyZ3VtZW50cyl9OwordGhpcy5tZW51PWEoIjx1bD48L3Vs
PiIpLmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUiKS5hcHBlbmRUbyhhKHRoaXMub3B0aW9ucy5h
cHBlbmRUb3x8ImJvZHkiLGUpWzBdKS5tb3VzZWRvd24oZnVuY3Rpb24oZyl7dmFyIGk9ZC5tZW51
LmVsZW1lbnRbMF07YShnLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aHx8
c2V0VGltZW91dChmdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9uZSgibW91c2Vkb3duIixmdW5jdGlv
bihiKXtiLnRhcmdldCE9PWQuZWxlbWVudFswXSYmYi50YXJnZXQhPT1pJiYhYS51aS5jb250YWlu
cyhpLGIudGFyZ2V0KSYmZC5jbG9zZSgpfSl9LDEpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjbGVh
clRpbWVvdXQoZC5jbG9zaW5nKX0sMTMpfSkubWVudSh7Zm9jdXM6ZnVuY3Rpb24oZyxpKXtpPWku
aXRlbS5kYXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIpO2ZhbHNlIT09ZC5fdHJpZ2dlcigiZm9jdXMi
LGcse2l0ZW06aX0pJiYvXmtleS8udGVzdChnLm9yaWdpbmFsRXZlbnQudHlwZSkmJgorZC5lbGVt
ZW50LnZhbChpLnZhbHVlKX0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZyxpKXt2YXIgYj1pLml0ZW0uZGF0
YSgiaXRlbS5hdXRvY29tcGxldGUiKSxmPWQucHJldmlvdXM7aWYoZC5lbGVtZW50WzBdIT09ZS5h
Y3RpdmVFbGVtZW50KXtkLmVsZW1lbnQuZm9jdXMoKTtkLnByZXZpb3VzPWY7c2V0VGltZW91dChm
dW5jdGlvbigpe2QucHJldmlvdXM9ZjtkLnNlbGVjdGVkSXRlbT1ifSwxKX1mYWxzZSE9PWQuX3Ry
aWdnZXIoInNlbGVjdCIsZyx7aXRlbTpifSkmJmQuZWxlbWVudC52YWwoYi52YWx1ZSk7ZC50ZXJt
PWQuZWxlbWVudC52YWwoKTtkLmNsb3NlKGcpO2Quc2VsZWN0ZWRJdGVtPWJ9LGJsdXI6ZnVuY3Rp
b24oKXtkLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSYmZC5lbGVtZW50LnZhbCgpIT09ZC50
ZXJtJiZkLmVsZW1lbnQudmFsKGQudGVybSl9fSkuekluZGV4KHRoaXMuZWxlbWVudC56SW5kZXgo
KSsxKS5jc3Moe3RvcDowLGxlZnQ6MH0pLmhpZGUoKS5kYXRhKCJtZW51Iik7CithLmZuLmJnaWZy
YW1lJiZ0aGlzLm1lbnUuZWxlbWVudC5iZ2lmcmFtZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhp
cy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtaW5wdXQiKS5yZW1vdmVBdHRy
KCJhdXRvY29tcGxldGUiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1hdXRv
Y29tcGxldGUiKS5yZW1vdmVBdHRyKCJhcmlhLWhhc3BvcHVwIik7dGhpcy5tZW51LmVsZW1lbnQu
cmVtb3ZlKCk7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlv
bjpmdW5jdGlvbihkLGUpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMs
YXJndW1lbnRzKTtkPT09InNvdXJjZSImJnRoaXMuX2luaXRTb3VyY2UoKTtpZihkPT09ImFwcGVu
ZFRvIil0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyhhKGV8fCJib2R5Iix0aGlzLmVsZW1lbnRb
MF0ub3duZXJEb2N1bWVudClbMF0pO2Q9PT0iZGlzYWJsZWQiJiYKK2UmJnRoaXMueGhyJiZ0aGlz
Lnhoci5hYm9ydCgpfSxfaW5pdFNvdXJjZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMsZSxoO2lmKGEu
aXNBcnJheSh0aGlzLm9wdGlvbnMuc291cmNlKSl7ZT10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMu
c291cmNlPWZ1bmN0aW9uKGcsaSl7aShhLnVpLmF1dG9jb21wbGV0ZS5maWx0ZXIoZSxnLnRlcm0p
KX19ZWxzZSBpZih0eXBlb2YgdGhpcy5vcHRpb25zLnNvdXJjZT09PSJzdHJpbmciKXtoPXRoaXMu
b3B0aW9ucy5zb3VyY2U7dGhpcy5zb3VyY2U9ZnVuY3Rpb24oZyxpKXtkLnhociYmZC54aHIuYWJv
cnQoKTtkLnhocj1hLmFqYXgoe3VybDpoLGRhdGE6ZyxkYXRhVHlwZToianNvbiIsYXV0b2NvbXBs
ZXRlUmVxdWVzdDorK2Msc3VjY2VzczpmdW5jdGlvbihiKXt0aGlzLmF1dG9jb21wbGV0ZVJlcXVl
c3Q9PT1jJiZpKGIpfSxlcnJvcjpmdW5jdGlvbigpe3RoaXMuYXV0b2NvbXBsZXRlUmVxdWVzdD09
PWMmJmkoW10pfX0pfX1lbHNlIHRoaXMuc291cmNlPQordGhpcy5vcHRpb25zLnNvdXJjZX0sc2Vh
cmNoOmZ1bmN0aW9uKGQsZSl7ZD1kIT1udWxsP2Q6dGhpcy5lbGVtZW50LnZhbCgpO3RoaXMudGVy
bT10aGlzLmVsZW1lbnQudmFsKCk7aWYoZC5sZW5ndGg8dGhpcy5vcHRpb25zLm1pbkxlbmd0aCly
ZXR1cm4gdGhpcy5jbG9zZShlKTtjbGVhclRpbWVvdXQodGhpcy5jbG9zaW5nKTtpZih0aGlzLl90
cmlnZ2VyKCJzZWFyY2giLGUpIT09ZmFsc2UpcmV0dXJuIHRoaXMuX3NlYXJjaChkKX0sX3NlYXJj
aDpmdW5jdGlvbihkKXt0aGlzLnBlbmRpbmcrKzt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1
dG9jb21wbGV0ZS1sb2FkaW5nIik7dGhpcy5zb3VyY2Uoe3Rlcm06ZH0sdGhpcy5yZXNwb25zZSl9
LF9yZXNwb25zZTpmdW5jdGlvbihkKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZkJiZkLmxl
bmd0aCl7ZD10aGlzLl9ub3JtYWxpemUoZCk7dGhpcy5fc3VnZ2VzdChkKTt0aGlzLl90cmlnZ2Vy
KCJvcGVuIil9ZWxzZSB0aGlzLmNsb3NlKCk7Cit0aGlzLnBlbmRpbmctLTt0aGlzLnBlbmRpbmd8
fHRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciKX0sY2xv
c2U6ZnVuY3Rpb24oZCl7Y2xlYXJUaW1lb3V0KHRoaXMuY2xvc2luZyk7aWYodGhpcy5tZW51LmVs
ZW1lbnQuaXMoIjp2aXNpYmxlIikpe3RoaXMubWVudS5lbGVtZW50LmhpZGUoKTt0aGlzLm1lbnUu
ZGVhY3RpdmF0ZSgpO3RoaXMuX3RyaWdnZXIoImNsb3NlIixkKX19LF9jaGFuZ2U6ZnVuY3Rpb24o
ZCl7dGhpcy5wcmV2aW91cyE9PXRoaXMuZWxlbWVudC52YWwoKSYmdGhpcy5fdHJpZ2dlcigiY2hh
bmdlIixkLHtpdGVtOnRoaXMuc2VsZWN0ZWRJdGVtfSl9LF9ub3JtYWxpemU6ZnVuY3Rpb24oZCl7
aWYoZC5sZW5ndGgmJmRbMF0ubGFiZWwmJmRbMF0udmFsdWUpcmV0dXJuIGQ7cmV0dXJuIGEubWFw
KGQsZnVuY3Rpb24oZSl7aWYodHlwZW9mIGU9PT0ic3RyaW5nIilyZXR1cm57bGFiZWw6ZSx2YWx1
ZTplfTtyZXR1cm4gYS5leHRlbmQoe2xhYmVsOmUubGFiZWx8fAorZS52YWx1ZSx2YWx1ZTplLnZh
bHVlfHxlLmxhYmVsfSxlKX0pfSxfc3VnZ2VzdDpmdW5jdGlvbihkKXt2YXIgZT10aGlzLm1lbnUu
ZWxlbWVudC5lbXB0eSgpLnpJbmRleCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSk7dGhpcy5fcmVu
ZGVyTWVudShlLGQpO3RoaXMubWVudS5kZWFjdGl2YXRlKCk7dGhpcy5tZW51LnJlZnJlc2goKTtl
LnNob3coKTt0aGlzLl9yZXNpemVNZW51KCk7ZS5wb3NpdGlvbihhLmV4dGVuZCh7b2Y6dGhpcy5l
bGVtZW50fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKTt0aGlzLm9wdGlvbnMuYXV0b0ZvY3VzJiZ0
aGlzLm1lbnUubmV4dChuZXcgYS5FdmVudCgibW91c2VvdmVyIikpfSxfcmVzaXplTWVudTpmdW5j
dGlvbigpe3ZhciBkPXRoaXMubWVudS5lbGVtZW50O2Qub3V0ZXJXaWR0aChNYXRoLm1heChkLndp
ZHRoKCIiKS5vdXRlcldpZHRoKCksdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSkpfSxfcmVuZGVy
TWVudTpmdW5jdGlvbihkLGUpe3ZhciBoPXRoaXM7CithLmVhY2goZSxmdW5jdGlvbihnLGkpe2gu
X3JlbmRlckl0ZW0oZCxpKX0pfSxfcmVuZGVySXRlbTpmdW5jdGlvbihkLGUpe3JldHVybiBhKCI8
bGk+PC9saT4iKS5kYXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIsZSkuYXBwZW5kKGEoIjxhPjwvYT4i
KS50ZXh0KGUubGFiZWwpKS5hcHBlbmRUbyhkKX0sX21vdmU6ZnVuY3Rpb24oZCxlKXtpZih0aGlz
Lm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSlpZih0aGlzLm1lbnUuZmlyc3QoKSYmL15wcmV2
aW91cy8udGVzdChkKXx8dGhpcy5tZW51Lmxhc3QoKSYmL15uZXh0Ly50ZXN0KGQpKXt0aGlzLmVs
ZW1lbnQudmFsKHRoaXMudGVybSk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKX1lbHNlIHRoaXMubWVu
dVtkXShlKTtlbHNlIHRoaXMuc2VhcmNoKG51bGwsZSl9LHdpZGdldDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLm1lbnUuZWxlbWVudH19KTthLmV4dGVuZChhLnVpLmF1dG9jb21wbGV0ZSx7ZXNjYXBl
UmVnZXg6ZnVuY3Rpb24oZCl7cmV0dXJuIGQucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNc
c10vZywKKyJcXCQmIil9LGZpbHRlcjpmdW5jdGlvbihkLGUpe3ZhciBoPW5ldyBSZWdFeHAoYS51
aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoZSksImkiKTtyZXR1cm4gYS5ncmVwKGQsZnVuY3Rp
b24oZyl7cmV0dXJuIGgudGVzdChnLmxhYmVsfHxnLnZhbHVlfHxnKX0pfX0pfSkoalF1ZXJ5KTsK
KyhmdW5jdGlvbihhKXthLndpZGdldCgidWkubWVudSIse19jcmVhdGU6ZnVuY3Rpb24oKXt2YXIg
Yz10aGlzO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0
LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLmF0dHIoe3JvbGU6Imxpc3Rib3giLCJhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQiOiJ1aS1hY3RpdmUtbWVudWl0ZW0ifSkuY2xpY2soZnVuY3Rpb24oZCl7aWYo
YShkLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSBhIikubGVuZ3RoKXtkLnByZXZlbnRE
ZWZhdWx0KCk7Yy5zZWxlY3QoZCl9fSk7dGhpcy5yZWZyZXNoKCl9LHJlZnJlc2g6ZnVuY3Rpb24o
KXt2YXIgYz10aGlzO3RoaXMuZWxlbWVudC5jaGlsZHJlbigibGk6bm90KC51aS1tZW51LWl0ZW0p
OmhhcyhhKSIpLmFkZENsYXNzKCJ1aS1tZW51LWl0ZW0iKS5hdHRyKCJyb2xlIiwibWVudWl0ZW0i
KS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCJ1aS1jb3JuZXItYWxsIikuYXR0cigidGFiaW5kZXgi
LAorLTEpLm1vdXNlZW50ZXIoZnVuY3Rpb24oZCl7Yy5hY3RpdmF0ZShkLGEodGhpcykucGFyZW50
KCkpfSkubW91c2VsZWF2ZShmdW5jdGlvbigpe2MuZGVhY3RpdmF0ZSgpfSl9LGFjdGl2YXRlOmZ1
bmN0aW9uKGMsZCl7dGhpcy5kZWFjdGl2YXRlKCk7aWYodGhpcy5oYXNTY3JvbGwoKSl7dmFyIGU9
ZC5vZmZzZXQoKS50b3AtdGhpcy5lbGVtZW50Lm9mZnNldCgpLnRvcCxoPXRoaXMuZWxlbWVudC5z
Y3JvbGxUb3AoKSxnPXRoaXMuZWxlbWVudC5oZWlnaHQoKTtpZihlPDApdGhpcy5lbGVtZW50LnNj
cm9sbFRvcChoK2UpO2Vsc2UgZT49ZyYmdGhpcy5lbGVtZW50LnNjcm9sbFRvcChoK2UtZytkLmhl
aWdodCgpKX10aGlzLmFjdGl2ZT1kLmVxKDApLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIikuYXR0cigiaWQiLCJ1aS1hY3RpdmUtbWVudWl0ZW0iKS5lbmQoKTt0aGlzLl90
cmlnZ2VyKCJmb2N1cyIsYyx7aXRlbTpkfSl9LGRlYWN0aXZhdGU6ZnVuY3Rpb24oKXtpZih0aGlz
LmFjdGl2ZSl7dGhpcy5hY3RpdmUuY2hpbGRyZW4oImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
aG92ZXIiKS5yZW1vdmVBdHRyKCJpZCIpOwordGhpcy5fdHJpZ2dlcigiYmx1ciIpO3RoaXMuYWN0
aXZlPW51bGx9fSxuZXh0OmZ1bmN0aW9uKGMpe3RoaXMubW92ZSgibmV4dCIsIi51aS1tZW51LWl0
ZW06Zmlyc3QiLGMpfSxwcmV2aW91czpmdW5jdGlvbihjKXt0aGlzLm1vdmUoInByZXYiLCIudWkt
bWVudS1pdGVtOmxhc3QiLGMpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZSYm
IXRoaXMuYWN0aXZlLnByZXZBbGwoIi51aS1tZW51LWl0ZW0iKS5sZW5ndGh9LGxhc3Q6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5uZXh0QWxsKCIudWktbWVudS1p
dGVtIikubGVuZ3RofSxtb3ZlOmZ1bmN0aW9uKGMsZCxlKXtpZih0aGlzLmFjdGl2ZSl7Yz10aGlz
LmFjdGl2ZVtjKyJBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKDApO2MubGVuZ3RoP3RoaXMuYWN0
aXZhdGUoZSxjKTp0aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxkcmVuKGQpKX1lbHNl
IHRoaXMuYWN0aXZhdGUoZSwKK3RoaXMuZWxlbWVudC5jaGlsZHJlbihkKSl9LG5leHRQYWdlOmZ1
bmN0aW9uKGMpe2lmKHRoaXMuaGFzU2Nyb2xsKCkpaWYoIXRoaXMuYWN0aXZlfHx0aGlzLmxhc3Qo
KSl0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtOmZp
cnN0IikpO2Vsc2V7dmFyIGQ9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLGU9dGhpcy5lbGVtZW50
LmhlaWdodCgpLGg9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVy
KGZ1bmN0aW9uKCl7dmFyIGc9YSh0aGlzKS5vZmZzZXQoKS50b3AtZC1lK2EodGhpcykuaGVpZ2h0
KCk7cmV0dXJuIGc8MTAmJmc+LTEwfSk7aC5sZW5ndGh8fChoPXRoaXMuZWxlbWVudC5jaGlsZHJl
bigiLnVpLW1lbnUtaXRlbTpsYXN0IikpO3RoaXMuYWN0aXZhdGUoYyxoKX1lbHNlIHRoaXMuYWN0
aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0iKS5maWx0ZXIoIXRo
aXMuYWN0aXZlfHwKK3RoaXMubGFzdCgpPyI6Zmlyc3QiOiI6bGFzdCIpKX0scHJldmlvdXNQYWdl
OmZ1bmN0aW9uKGMpe2lmKHRoaXMuaGFzU2Nyb2xsKCkpaWYoIXRoaXMuYWN0aXZlfHx0aGlzLmZp
cnN0KCkpdGhpcy5hY3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRl
bTpsYXN0IikpO2Vsc2V7dmFyIGQ9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLGU9dGhpcy5lbGVt
ZW50LmhlaWdodCgpO3Jlc3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0i
KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgaD1hKHRoaXMpLm9mZnNldCgpLnRvcC1kK2UtYSh0aGlz
KS5oZWlnaHQoKTtyZXR1cm4gaDwxMCYmaD4tMTB9KTtyZXN1bHQubGVuZ3RofHwocmVzdWx0PXRo
aXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbTpmaXJzdCIpKTt0aGlzLmFjdGl2YXRl
KGMscmVzdWx0KX1lbHNlIHRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51
aS1tZW51LWl0ZW0iKS5maWx0ZXIoIXRoaXMuYWN0aXZlfHwKK3RoaXMuZmlyc3QoKT8iOmxhc3Qi
OiI6Zmlyc3QiKSl9LGhhc1Njcm9sbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuaGVp
Z2h0KCk8dGhpcy5lbGVtZW50W2EuZm4ucHJvcD8icHJvcCI6ImF0dHIiXSgic2Nyb2xsSGVpZ2h0
Iil9LHNlbGVjdDpmdW5jdGlvbihjKXt0aGlzLl90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7aXRlbTp0
aGlzLmFjdGl2ZX0pfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXt2YXIgYyxkLGUsaCxnPWZ1
bmN0aW9uKCl7dmFyIGI9YSh0aGlzKS5maW5kKCI6dWktYnV0dG9uIik7c2V0VGltZW91dChmdW5j
dGlvbigpe2IuYnV0dG9uKCJyZWZyZXNoIil9LDEpfSxpPWZ1bmN0aW9uKGIpe3ZhciBmPWIubmFt
ZSxqPWIuZm9ybSxsPWEoW10pO2lmKGYpbD1qP2EoaikuZmluZCgiW25hbWU9JyIrZisiJ10iKTph
KCJbbmFtZT0nIitmKyInXSIsYi5vd25lckRvY3VtZW50KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1
cm4hdGhpcy5mb3JtfSk7cmV0dXJuIGx9O2Eud2lkZ2V0KCJ1aS5idXR0b24iLHtvcHRpb25zOntk
aXNhYmxlZDpudWxsLHRleHQ6dHJ1ZSxsYWJlbDpudWxsLGljb25zOntwcmltYXJ5Om51bGwsc2Vj
b25kYXJ5Om51bGx9fSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsb3Nlc3QoImZv
cm0iKS51bmJpbmQoInJlc2V0LmJ1dHRvbiIpLmJpbmQoInJlc2V0LmJ1dHRvbiIsZyk7aWYodHlw
ZW9mIHRoaXMub3B0aW9ucy5kaXNhYmxlZCE9PQorImJvb2xlYW4iKXRoaXMub3B0aW9ucy5kaXNh
YmxlZD10aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIik7dGhpcy5fZGV0ZXJtaW5lQnV0
dG9uVHlwZSgpO3RoaXMuaGFzVGl0bGU9ISF0aGlzLmJ1dHRvbkVsZW1lbnQuYXR0cigidGl0bGUi
KTt2YXIgYj10aGlzLGY9dGhpcy5vcHRpb25zLGo9dGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhp
cy50eXBlPT09InJhZGlvIixsPSJ1aS1zdGF0ZS1ob3ZlciIrKCFqPyIgdWktc3RhdGUtYWN0aXZl
IjoiIik7aWYoZi5sYWJlbD09PW51bGwpZi5sYWJlbD10aGlzLmJ1dHRvbkVsZW1lbnQuaHRtbCgp
O2lmKHRoaXMuZWxlbWVudC5pcygiOmRpc2FibGVkIikpZi5kaXNhYmxlZD10cnVlO3RoaXMuYnV0
dG9uRWxlbWVudC5hZGRDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0
IHVpLWNvcm5lci1hbGwiKS5hdHRyKCJyb2xlIiwiYnV0dG9uIikuYmluZCgibW91c2VlbnRlci5i
dXR0b24iLGZ1bmN0aW9uKCl7aWYoIWYuZGlzYWJsZWQpe2EodGhpcykuYWRkQ2xhc3MoInVpLXN0
YXRlLWhvdmVyIik7Cit0aGlzPT09YyYmYSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZl
Iil9fSkuYmluZCgibW91c2VsZWF2ZS5idXR0b24iLGZ1bmN0aW9uKCl7Zi5kaXNhYmxlZHx8YSh0
aGlzKS5yZW1vdmVDbGFzcyhsKX0pLmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYo
Zi5kaXNhYmxlZCl7by5wcmV2ZW50RGVmYXVsdCgpO28uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9u
KCl9fSk7dGhpcy5lbGVtZW50LmJpbmQoImZvY3VzLmJ1dHRvbiIsZnVuY3Rpb24oKXtiLmJ1dHRv
bkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KS5iaW5kKCJibHVyLmJ1dHRvbiIs
ZnVuY3Rpb24oKXtiLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9
KTtpZihqKXt0aGlzLmVsZW1lbnQuYmluZCgiY2hhbmdlLmJ1dHRvbiIsZnVuY3Rpb24oKXtofHxi
LnJlZnJlc2goKX0pO3RoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJtb3VzZWRvd24uYnV0dG9uIixm
dW5jdGlvbihvKXtpZighZi5kaXNhYmxlZCl7aD0KK2ZhbHNlO2Q9by5wYWdlWDtlPW8ucGFnZVl9
fSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKG8pe2lmKCFmLmRpc2FibGVkKWlmKGQh
PT1vLnBhZ2VYfHxlIT09by5wYWdlWSloPXRydWV9KX1pZih0aGlzLnR5cGU9PT0iY2hlY2tib3gi
KXRoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJjbGljay5idXR0b24iLGZ1bmN0aW9uKCl7aWYoZi5k
aXNhYmxlZHx8aClyZXR1cm4gZmFsc2U7YSh0aGlzKS50b2dnbGVDbGFzcygidWktc3RhdGUtYWN0
aXZlIik7Yi5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsYi5lbGVtZW50WzBdLmNo
ZWNrZWQpfSk7ZWxzZSBpZih0aGlzLnR5cGU9PT0icmFkaW8iKXRoaXMuYnV0dG9uRWxlbWVudC5i
aW5kKCJjbGljay5idXR0b24iLGZ1bmN0aW9uKCl7aWYoZi5kaXNhYmxlZHx8aClyZXR1cm4gZmFs
c2U7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7Yi5idXR0b25FbGVtZW50LmF0
dHIoImFyaWEtcHJlc3NlZCIsInRydWUiKTsKK3ZhciBvPWIuZWxlbWVudFswXTtpKG8pLm5vdChv
KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVt
b3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9
KTtlbHNle3RoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJtb3VzZWRvd24uYnV0dG9uIixmdW5jdGlv
bigpe2lmKGYuZGlzYWJsZWQpcmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRl
LWFjdGl2ZSIpO2M9dGhpczthKGRvY3VtZW50KS5vbmUoIm1vdXNldXAiLGZ1bmN0aW9uKCl7Yz1u
dWxsfSl9KS5iaW5kKCJtb3VzZXVwLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihmLmRpc2FibGVkKXJl
dHVybiBmYWxzZTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0pLmJpbmQo
ImtleWRvd24uYnV0dG9uIixmdW5jdGlvbihvKXtpZihmLmRpc2FibGVkKXJldHVybiBmYWxzZTtp
ZihvLmtleUNvZGU9PWEudWkua2V5Q29kZS5TUEFDRXx8CitvLmtleUNvZGU9PWEudWkua2V5Q29k
ZS5FTlRFUilhKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0pLmJpbmQoImtleXVw
LmJ1dHRvbiIsZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUi
KX0pO3RoaXMuYnV0dG9uRWxlbWVudC5pcygiYSIpJiZ0aGlzLmJ1dHRvbkVsZW1lbnQua2V5dXAo
ZnVuY3Rpb24obyl7by5rZXlDb2RlPT09YS51aS5rZXlDb2RlLlNQQUNFJiZhKHRoaXMpLmNsaWNr
KCl9KX10aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixmLmRpc2FibGVkKTt0aGlzLl9yZXNldEJ1
dHRvbigpfSxfZGV0ZXJtaW5lQnV0dG9uVHlwZTpmdW5jdGlvbigpe3RoaXMudHlwZT10aGlzLmVs
ZW1lbnQuaXMoIjpjaGVja2JveCIpPyJjaGVja2JveCI6dGhpcy5lbGVtZW50LmlzKCI6cmFkaW8i
KT8icmFkaW8iOnRoaXMuZWxlbWVudC5pcygiaW5wdXQiKT8iaW5wdXQiOiJidXR0b24iO2lmKHRo
aXMudHlwZT09PSJjaGVja2JveCJ8fHRoaXMudHlwZT09PQorInJhZGlvIil7dmFyIGI9dGhpcy5l
bGVtZW50LnBhcmVudHMoKS5maWx0ZXIoIjpsYXN0IiksZj0ibGFiZWxbZm9yPSIrdGhpcy5lbGVt
ZW50LmF0dHIoImlkIikrIl0iO3RoaXMuYnV0dG9uRWxlbWVudD1iLmZpbmQoZik7aWYoIXRoaXMu
YnV0dG9uRWxlbWVudC5sZW5ndGgpe2I9Yi5sZW5ndGg/Yi5zaWJsaW5ncygpOnRoaXMuZWxlbWVu
dC5zaWJsaW5ncygpO3RoaXMuYnV0dG9uRWxlbWVudD1iLmZpbHRlcihmKTtpZighdGhpcy5idXR0
b25FbGVtZW50Lmxlbmd0aCl0aGlzLmJ1dHRvbkVsZW1lbnQ9Yi5maW5kKGYpfXRoaXMuZWxlbWVu
dC5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIik7KGI9dGhpcy5lbGVtZW50
LmlzKCI6Y2hlY2tlZCIpKSYmdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1h
Y3RpdmUiKTt0aGlzLmJ1dHRvbkVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIixiKX1lbHNlIHRo
aXMuYnV0dG9uRWxlbWVudD10aGlzLmVsZW1lbnR9LAord2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXMuYnV0dG9uRWxlbWVudH0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1v
dmVDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIik7dGhpcy5idXR0b25FbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29y
bmVyLWFsbCB1aS1zdGF0ZS1ob3ZlciB1aS1zdGF0ZS1hY3RpdmUgIHVpLWJ1dHRvbi1pY29ucy1v
bmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMgdWktYnV0dG9uLXRl
eHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10
ZXh0LW9ubHkiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1wcmVzc2VkIiku
aHRtbCh0aGlzLmJ1dHRvbkVsZW1lbnQuZmluZCgiLnVpLWJ1dHRvbi10ZXh0IikuaHRtbCgpKTt0
aGlzLmhhc1RpdGxlfHx0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQXR0cigidGl0bGUiKTsKK2Eu
V2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24o
YixmKXthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7
aWYoYj09PSJkaXNhYmxlZCIpZj90aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIix0cnVl
KTp0aGlzLmVsZW1lbnQucHJvcEF0dHIoImRpc2FibGVkIixmYWxzZSk7ZWxzZSB0aGlzLl9yZXNl
dEJ1dHRvbigpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LmlzKCI6ZGlz
YWJsZWQiKTtiIT09dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLl9zZXRPcHRpb24oImRpc2Fi
bGVkIixiKTtpZih0aGlzLnR5cGU9PT0icmFkaW8iKWkodGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1
bmN0aW9uKCl7YSh0aGlzKS5pcygiOmNoZWNrZWQiKT9hKHRoaXMpLmJ1dHRvbigid2lkZ2V0Iiku
YWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsCisidHJ1ZSIp
OmEodGhpcykuYnV0dG9uKCJ3aWRnZXQiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiku
YXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09ImNoZWNr
Ym94Iil0aGlzLmVsZW1lbnQuaXMoIjpjaGVja2VkIik/dGhpcy5idXR0b25FbGVtZW50LmFkZENs
YXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik6dGhpcy5i
dXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXBy
ZXNzZWQiLCJmYWxzZSIpfSxfcmVzZXRCdXR0b246ZnVuY3Rpb24oKXtpZih0aGlzLnR5cGU9PT0i
aW5wdXQiKXRoaXMub3B0aW9ucy5sYWJlbCYmdGhpcy5lbGVtZW50LnZhbCh0aGlzLm9wdGlvbnMu
bGFiZWwpO2Vsc2V7dmFyIGI9dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1idXR0
b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10ZXh0LWljb25zIHVp
LWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSB1
aS1idXR0b24tdGV4dC1vbmx5IiksCitmPWEoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWkt
YnV0dG9uLXRleHQiKS5odG1sKHRoaXMub3B0aW9ucy5sYWJlbCkuYXBwZW5kVG8oYi5lbXB0eSgp
KS50ZXh0KCksaj10aGlzLm9wdGlvbnMuaWNvbnMsbD1qLnByaW1hcnkmJmouc2Vjb25kYXJ5LG89
W107aWYoai5wcmltYXJ5fHxqLnNlY29uZGFyeSl7aWYodGhpcy5vcHRpb25zLnRleHQpby5wdXNo
KCJ1aS1idXR0b24tdGV4dC1pY29uIisobD8icyI6ai5wcmltYXJ5PyItcHJpbWFyeSI6Ii1zZWNv
bmRhcnkiKSk7ai5wcmltYXJ5JiZiLnByZXBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNv
bi1wcmltYXJ5IHVpLWljb24gIitqLnByaW1hcnkrIic+PC9zcGFuPiIpO2ouc2Vjb25kYXJ5JiZi
LmFwcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSB1aS1pY29uICIr
ai5zZWNvbmRhcnkrIic+PC9zcGFuPiIpO2lmKCF0aGlzLm9wdGlvbnMudGV4dCl7by5wdXNoKGw/
InVpLWJ1dHRvbi1pY29ucy1vbmx5IjoKKyJ1aS1idXR0b24taWNvbi1vbmx5Iik7dGhpcy5oYXNU
aXRsZXx8Yi5hdHRyKCJ0aXRsZSIsZil9fWVsc2Ugby5wdXNoKCJ1aS1idXR0b24tdGV4dC1vbmx5
Iik7Yi5hZGRDbGFzcyhvLmpvaW4oIiAiKSl9fX0pO2Eud2lkZ2V0KCJ1aS5idXR0b25zZXQiLHtv
cHRpb25zOntpdGVtczoiOmJ1dHRvbiwgOnN1Ym1pdCwgOnJlc2V0LCA6Y2hlY2tib3gsIDpyYWRp
bywgYSwgOmRhdGEoYnV0dG9uKSJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWJ1dHRvbnNldCIpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMucmVmcmVzaCgpfSxf
c2V0T3B0aW9uOmZ1bmN0aW9uKGIsZil7Yj09PSJkaXNhYmxlZCImJnRoaXMuYnV0dG9ucy5idXR0
b24oIm9wdGlvbiIsYixmKTthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlz
LGFyZ3VtZW50cyl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQuY3NzKCJk
aXJlY3Rpb24iKT09PQorImx0ciI7dGhpcy5idXR0b25zPXRoaXMuZWxlbWVudC5maW5kKHRoaXMu
b3B0aW9ucy5pdGVtcykuZmlsdGVyKCI6dWktYnV0dG9uIikuYnV0dG9uKCJyZWZyZXNoIikuZW5k
KCkubm90KCI6dWktYnV0dG9uIikuYnV0dG9uKCkuZW5kKCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJu
IGEodGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxs
IHVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCIpLmZpbHRlcigiOmZpcnN0IikuYWRkQ2xh
c3MoYj8idWktY29ybmVyLWxlZnQiOiJ1aS1jb3JuZXItcmlnaHQiKS5lbmQoKS5maWx0ZXIoIjps
YXN0IikuYWRkQ2xhc3MoYj8idWktY29ybmVyLXJpZ2h0IjoidWktY29ybmVyLWxlZnQiKS5lbmQo
KS5lbmQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
YnV0dG9uc2V0Iik7dGhpcy5idXR0b25zLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1
dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWxlZnQgdWktY29ybmVy
LXJpZ2h0IikuZW5kKCkuYnV0dG9uKCJkZXN0cm95Iik7CithLldpZGdldC5wcm90b3R5cGUuZGVz
dHJveS5jYWxsKHRoaXMpfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGQo
KXt0aGlzLmRlYnVnPWZhbHNlO3RoaXMuX2N1ckluc3Q9bnVsbDt0aGlzLl9rZXlFdmVudD1mYWxz
ZTt0aGlzLl9kaXNhYmxlZElucHV0cz1bXTt0aGlzLl9pbkRpYWxvZz10aGlzLl9kYXRlcGlja2Vy
U2hvd2luZz1mYWxzZTt0aGlzLl9tYWluRGl2SWQ9InVpLWRhdGVwaWNrZXItZGl2Ijt0aGlzLl9p
bmxpbmVDbGFzcz0idWktZGF0ZXBpY2tlci1pbmxpbmUiO3RoaXMuX2FwcGVuZENsYXNzPSJ1aS1k
YXRlcGlja2VyLWFwcGVuZCI7dGhpcy5fdHJpZ2dlckNsYXNzPSJ1aS1kYXRlcGlja2VyLXRyaWdn
ZXIiO3RoaXMuX2RpYWxvZ0NsYXNzPSJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7dGhpcy5fZGlzYWJs
ZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWRpc2FibGVkIjt0aGlzLl91bnNlbGVjdGFibGVDbGFzcz0i
dWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiO3RoaXMuX2N1cnJlbnRDbGFzcz0idWktZGF0ZXBp
Y2tlci1jdXJyZW50LWRheSI7dGhpcy5fZGF5T3ZlckNsYXNzPQorInVpLWRhdGVwaWNrZXItZGF5
cy1jZWxsLW92ZXIiO3RoaXMucmVnaW9uYWw9W107dGhpcy5yZWdpb25hbFsiIl09e2Nsb3NlVGV4
dDoiRG9uZSIscHJldlRleHQ6IlByZXYiLG5leHRUZXh0OiJOZXh0IixjdXJyZW50VGV4dDoiVG9k
YXkiLG1vbnRoTmFtZXM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5
IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIi
LCJEZWNlbWJlciJdLG1vbnRoTmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1h
eSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsi
U3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5
IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1
IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsCisiTW8iLCJUdSIsIldlIiwiVGgiLCJG
ciIsIlNhIl0sd2Vla0hlYWRlcjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTow
LGlzUlRMOmZhbHNlLHNob3dNb250aEFmdGVyWWVhcjpmYWxzZSx5ZWFyU3VmZml4OiIifTt0aGlz
Ll9kZWZhdWx0cz17c2hvd09uOiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6
e30sZGVmYXVsdERhdGU6bnVsbCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9u
SW1hZ2U6IiIsYnV0dG9uSW1hZ2VPbmx5OmZhbHNlLGhpZGVJZk5vUHJldk5leHQ6ZmFsc2UsbmF2
aWdhdGlvbkFzRGF0ZUZvcm1hdDpmYWxzZSxnb3RvQ3VycmVudDpmYWxzZSxjaGFuZ2VNb250aDpm
YWxzZSxjaGFuZ2VZZWFyOmZhbHNlLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250
aHM6ZmFsc2Usc2VsZWN0T3RoZXJNb250aHM6ZmFsc2Usc2hvd1dlZWs6ZmFsc2UsY2FsY3VsYXRl
V2Vlazp0aGlzLmlzbzg2MDFXZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIiwKK21pbkRhdGU6bnVs
bCxtYXhEYXRlOm51bGwsZHVyYXRpb246ImZhc3QiLGJlZm9yZVNob3dEYXk6bnVsbCxiZWZvcmVT
aG93Om51bGwsb25TZWxlY3Q6bnVsbCxvbkNoYW5nZU1vbnRoWWVhcjpudWxsLG9uQ2xvc2U6bnVs
bCxudW1iZXJPZk1vbnRoczoxLHNob3dDdXJyZW50QXRQb3M6MCxzdGVwTW9udGhzOjEsc3RlcEJp
Z01vbnRoczoxMixhbHRGaWVsZDoiIixhbHRGb3JtYXQ6IiIsY29uc3RyYWluSW5wdXQ6dHJ1ZSxz
aG93QnV0dG9uUGFuZWw6ZmFsc2UsYXV0b1NpemU6ZmFsc2UsZGlzYWJsZWQ6ZmFsc2V9O2EuZXh0
ZW5kKHRoaXMuX2RlZmF1bHRzLHRoaXMucmVnaW9uYWxbIiJdKTt0aGlzLmRwRGl2PWUoYSgnPGRp
diBpZD0iJyt0aGlzLl9tYWluRGl2SWQrJyIgY2xhc3M9InVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48L2Rp
dj4nKSl9ZnVuY3Rpb24gZShiKXtyZXR1cm4gYi5iaW5kKCJtb3VzZW91dCIsCitmdW5jdGlvbihm
KXtmPWEoZi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVp
LWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2YubGVuZ3Ro
JiZmLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciB1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIg
dWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9KS5iaW5kKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKGYp
e2Y9YShmLnRhcmdldCkuY2xvc2VzdCgiYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAudWkt
ZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIik7aWYoIShhLmRh
dGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGkuaW5saW5lP2IucGFyZW50KClbMF06aS5p
bnB1dFswXSl8fCFmLmxlbmd0aCkpe2YucGFyZW50cygiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIi
KS5maW5kKCJhIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CitmLmFkZENsYXNzKCJ1
aS1zdGF0ZS1ob3ZlciIpO2YuaGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldiIpJiZmLmFkZENs
YXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKTtmLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2Vy
LW5leHQiKSYmZi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9fSl9ZnVuY3Rp
b24gaChiLGYpe2EuZXh0ZW5kKGIsZik7Zm9yKHZhciBqIGluIGYpaWYoZltqXT09bnVsbHx8Zltq
XT09YyliW2pdPWZbal07cmV0dXJuIGJ9YS5leHRlbmQoYS51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lv
bjoiMS44LjE1In19KTt2YXIgZz0obmV3IERhdGUpLmdldFRpbWUoKSxpO2EuZXh0ZW5kKGQucHJv
dG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxsb2c6ZnVu
Y3Rpb24oKXt0aGlzLmRlYnVnJiZjb25zb2xlLmxvZy5hcHBseSgiIixhcmd1bWVudHMpfSxfd2lk
Z2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSwKK3NldERlZmF1bHRz
OmZ1bmN0aW9uKGIpe2godGhpcy5fZGVmYXVsdHMsYnx8e30pO3JldHVybiB0aGlzfSxfYXR0YWNo
RGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYpe3ZhciBqPW51bGw7Zm9yKHZhciBsIGluIHRoaXMuX2Rl
ZmF1bHRzKXt2YXIgbz1iLmdldEF0dHJpYnV0ZSgiZGF0ZToiK2wpO2lmKG8pe2o9anx8e307dHJ5
e2pbbF09ZXZhbChvKX1jYXRjaChuKXtqW2xdPW99fX1sPWIubm9kZU5hbWUudG9Mb3dlckNhc2Uo
KTtvPWw9PSJkaXYifHxsPT0ic3BhbiI7aWYoIWIuaWQpe3RoaXMudXVpZCs9MTtiLmlkPSJkcCIr
dGhpcy51dWlkfXZhciBrPXRoaXMuX25ld0luc3QoYShiKSxvKTtrLnNldHRpbmdzPWEuZXh0ZW5k
KHt9LGZ8fHt9LGp8fHt9KTtpZihsPT0iaW5wdXQiKXRoaXMuX2Nvbm5lY3REYXRlcGlja2VyKGIs
ayk7ZWxzZSBvJiZ0aGlzLl9pbmxpbmVEYXRlcGlja2VyKGIsayl9LF9uZXdJbnN0OmZ1bmN0aW9u
KGIsZil7cmV0dXJue2lkOmJbMF0uaWQucmVwbGFjZSgvKFteQS1aYS16MC05Xy1dKS9nLAorIlxc
XFwkMSIpLGlucHV0OmIsc2VsZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFy
OjAsZHJhd01vbnRoOjAsZHJhd1llYXI6MCxpbmxpbmU6ZixkcERpdjohZj90aGlzLmRwRGl2OmUo
YSgnPGRpdiBjbGFzcz0iJyt0aGlzLl9pbmxpbmVDbGFzcysnIHVpLWRhdGVwaWNrZXIgdWktd2lk
Z2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj48
L2Rpdj4nKSl9fSxfY29ubmVjdERhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXt2YXIgaj1hKGIpO2Yu
YXBwZW5kPWEoW10pO2YudHJpZ2dlcj1hKFtdKTtpZighai5oYXNDbGFzcyh0aGlzLm1hcmtlckNs
YXNzTmFtZSkpe3RoaXMuX2F0dGFjaG1lbnRzKGosZik7ai5hZGRDbGFzcyh0aGlzLm1hcmtlckNs
YXNzTmFtZSkua2V5ZG93bih0aGlzLl9kb0tleURvd24pLmtleXByZXNzKHRoaXMuX2RvS2V5UHJl
c3MpLmtleXVwKHRoaXMuX2RvS2V5VXApLmJpbmQoInNldERhdGEuZGF0ZXBpY2tlciIsCitmdW5j
dGlvbihsLG8sbil7Zi5zZXR0aW5nc1tvXT1ufSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixm
dW5jdGlvbihsLG8pe3JldHVybiB0aGlzLl9nZXQoZixvKX0pO3RoaXMuX2F1dG9TaXplKGYpO2Eu
ZGF0YShiLCJkYXRlcGlja2VyIixmKTtmLnNldHRpbmdzLmRpc2FibGVkJiZ0aGlzLl9kaXNhYmxl
RGF0ZXBpY2tlcihiKX19LF9hdHRhY2htZW50czpmdW5jdGlvbihiLGYpe3ZhciBqPXRoaXMuX2dl
dChmLCJhcHBlbmRUZXh0IiksbD10aGlzLl9nZXQoZiwiaXNSVEwiKTtmLmFwcGVuZCYmZi5hcHBl
bmQucmVtb3ZlKCk7aWYoail7Zi5hcHBlbmQ9YSgnPHNwYW4gY2xhc3M9IicrdGhpcy5fYXBwZW5k
Q2xhc3MrJyI+JytqKyI8L3NwYW4+Iik7YltsPyJiZWZvcmUiOiJhZnRlciJdKGYuYXBwZW5kKX1i
LnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKTtmLnRyaWdnZXImJmYudHJpZ2dl
ci5yZW1vdmUoKTtqPXRoaXMuX2dldChmLCJzaG93T24iKTtpZihqPT0KKyJmb2N1cyJ8fGo9PSJi
b3RoIiliLmZvY3VzKHRoaXMuX3Nob3dEYXRlcGlja2VyKTtpZihqPT0iYnV0dG9uInx8aj09ImJv
dGgiKXtqPXRoaXMuX2dldChmLCJidXR0b25UZXh0Iik7dmFyIG89dGhpcy5fZ2V0KGYsImJ1dHRv
bkltYWdlIik7Zi50cmlnZ2VyPWEodGhpcy5fZ2V0KGYsImJ1dHRvbkltYWdlT25seSIpP2EoIjxp
bWcvPiIpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuYXR0cih7c3JjOm8sYWx0OmosdGl0
bGU6an0pOmEoJzxidXR0b24gdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlz
Ll90cmlnZ2VyQ2xhc3MpLmh0bWwobz09IiI/ajphKCI8aW1nLz4iKS5hdHRyKHtzcmM6byxhbHQ6
aix0aXRsZTpqfSkpKTtiW2w/ImJlZm9yZSI6ImFmdGVyIl0oZi50cmlnZ2VyKTtmLnRyaWdnZXIu
Y2xpY2soZnVuY3Rpb24oKXthLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZhLmRhdGVw
aWNrZXIuX2xhc3RJbnB1dD09YlswXT9hLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6Cith
LmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKGJbMF0pO3JldHVybiBmYWxzZX0pfX0sX2F1dG9T
aXplOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2dldChiLCJhdXRvU2l6ZSIpJiYhYi5pbmxpbmUpe3Zh
ciBmPW5ldyBEYXRlKDIwMDksMTEsMjApLGo9dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKTtpZihq
Lm1hdGNoKC9bRE1dLykpe3ZhciBsPWZ1bmN0aW9uKG8pe2Zvcih2YXIgbj0wLGs9MCxtPTA7bTxv
Lmxlbmd0aDttKyspaWYob1ttXS5sZW5ndGg+bil7bj1vW21dLmxlbmd0aDtrPW19cmV0dXJuIGt9
O2Yuc2V0TW9udGgobCh0aGlzLl9nZXQoYixqLm1hdGNoKC9NTS8pPyJtb250aE5hbWVzIjoibW9u
dGhOYW1lc1Nob3J0IikpKTtmLnNldERhdGUobCh0aGlzLl9nZXQoYixqLm1hdGNoKC9ERC8pPyJk
YXlOYW1lcyI6ImRheU5hbWVzU2hvcnQiKSkrMjAtZi5nZXREYXkoKSl9Yi5pbnB1dC5hdHRyKCJz
aXplIix0aGlzLl9mb3JtYXREYXRlKGIsZikubGVuZ3RoKX19LF9pbmxpbmVEYXRlcGlja2VyOmZ1
bmN0aW9uKGIsCitmKXt2YXIgaj1hKGIpO2lmKCFqLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NO
YW1lKSl7ai5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuYXBwZW5kKGYuZHBEaXYpLmJp
bmQoInNldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24obCxvLG4pe2Yuc2V0dGluZ3Nbb109bn0p
LmJpbmQoImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24obCxvKXtyZXR1cm4gdGhpcy5fZ2V0
KGYsbyl9KTthLmRhdGEoYiwiZGF0ZXBpY2tlciIsZik7dGhpcy5fc2V0RGF0ZShmLHRoaXMuX2dl
dERlZmF1bHREYXRlKGYpLHRydWUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZik7dGhpcy5fdXBk
YXRlQWx0ZXJuYXRlKGYpO2Yuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlj
a2VyKGIpO2YuZHBEaXYuY3NzKCJkaXNwbGF5IiwiYmxvY2siKX19LF9kaWFsb2dEYXRlcGlja2Vy
OmZ1bmN0aW9uKGIsZixqLGwsbyl7Yj10aGlzLl9kaWFsb2dJbnN0O2lmKCFiKXt0aGlzLnV1aWQr
PQorMTt0aGlzLl9kaWFsb2dJbnB1dD1hKCc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicrKCJkcCIr
dGhpcy51dWlkKSsnIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lk
dGg6IDBweDsgei1pbmRleDogLTEwOyIvPicpO3RoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhp
cy5fZG9LZXlEb3duKTthKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KTtiPXRoaXMu
X2RpYWxvZ0luc3Q9dGhpcy5fbmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCxmYWxzZSk7Yi5zZXR0
aW5ncz17fTthLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGIpfWgoYi5z
ZXR0aW5ncyxsfHx7fSk7Zj1mJiZmLmNvbnN0cnVjdG9yPT1EYXRlP3RoaXMuX2Zvcm1hdERhdGUo
YixmKTpmO3RoaXMuX2RpYWxvZ0lucHV0LnZhbChmKTt0aGlzLl9wb3M9bz9vLmxlbmd0aD9vOltv
LnBhZ2VYLG8ucGFnZVldOm51bGw7aWYoIXRoaXMuX3Bvcyl0aGlzLl9wb3M9W2RvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC8KKzItMTAwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSxkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuY2xpZW50SGVpZ2h0LzItMTUwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny
b2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCldO3RoaXMuX2RpYWxvZ0lucHV0LmNzcygi
bGVmdCIsdGhpcy5fcG9zWzBdKzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7
Yi5zZXR0aW5ncy5vblNlbGVjdD1qO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRD
bGFzcyh0aGlzLl9kaWFsb2dDbGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9n
SW5wdXRbMF0pO2EuYmxvY2tVSSYmYS5ibG9ja1VJKHRoaXMuZHBEaXYpO2EuZGF0YSh0aGlzLl9k
aWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYik7cmV0dXJuIHRoaXN9LF9kZXN0cm95RGF0ZXBp
Y2tlcjpmdW5jdGlvbihiKXt2YXIgZj0KK2EoYiksaj1hLmRhdGEoYiwiZGF0ZXBpY2tlciIpO2lm
KGYuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgbD1iLm5vZGVOYW1lLnRvTG93
ZXJDYXNlKCk7YS5yZW1vdmVEYXRhKGIsImRhdGVwaWNrZXIiKTtpZihsPT0iaW5wdXQiKXtqLmFw
cGVuZC5yZW1vdmUoKTtqLnRyaWdnZXIucmVtb3ZlKCk7Zi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtl
ckNsYXNzTmFtZSkudW5iaW5kKCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNrZXIpLnVuYmluZCgi
a2V5ZG93biIsdGhpcy5fZG9LZXlEb3duKS51bmJpbmQoImtleXByZXNzIix0aGlzLl9kb0tleVBy
ZXNzKS51bmJpbmQoImtleXVwIix0aGlzLl9kb0tleVVwKX1lbHNlIGlmKGw9PSJkaXYifHxsPT0i
c3BhbiIpZi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuZW1wdHkoKX19LF9lbmFi
bGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPWEoYiksaj1hLmRhdGEoYiwiZGF0ZXBpY2tl
ciIpO2lmKGYuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgbD0KK2Iubm9kZU5h
bWUudG9Mb3dlckNhc2UoKTtpZihsPT0iaW5wdXQiKXtiLmRpc2FibGVkPWZhbHNlO2oudHJpZ2dl
ci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPWZhbHNlfSku
ZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSl9ZWxzZSBp
ZihsPT0iZGl2Inx8bD09InNwYW4iKXtmPWYuY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNsYXNz
KTtmLmNoaWxkcmVuKCkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Zi5maW5kKCJz
ZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLnJl
bW92ZUF0dHIoImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9YS5tYXAodGhpcy5fZGlz
YWJsZWRJbnB1dHMsZnVuY3Rpb24obyl7cmV0dXJuIG89PWI/bnVsbDpvfSl9fSxfZGlzYWJsZURh
dGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9YShiKSxqPWEuZGF0YShiLAorImRhdGVwaWNrZXIi
KTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGw9Yi5ub2RlTmFtZS50
b0xvd2VyQ2FzZSgpO2lmKGw9PSJpbnB1dCIpe2IuZGlzYWJsZWQ9dHJ1ZTtqLnRyaWdnZXIuZmls
dGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD10cnVlfSkuZW5kKCku
ZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjAuNSIsY3Vyc29yOiJkZWZhdWx0In0pfWVsc2Ug
aWYobD09ImRpdiJ8fGw9PSJzcGFuIil7Zj1mLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFz
cyk7Zi5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2YuZmluZCgic2Vs
ZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5hdHRy
KCJkaXNhYmxlZCIsImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9YS5tYXAodGhpcy5f
ZGlzYWJsZWRJbnB1dHMsZnVuY3Rpb24obyl7cmV0dXJuIG89PQorYj9udWxsOm99KTt0aGlzLl9k
aXNhYmxlZElucHV0c1t0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGhdPWJ9fSxfaXNEaXNhYmxl
ZERhdGVwaWNrZXI6ZnVuY3Rpb24oYil7aWYoIWIpcmV0dXJuIGZhbHNlO2Zvcih2YXIgZj0wO2Y8
dGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoO2YrKylpZih0aGlzLl9kaXNhYmxlZElucHV0c1tm
XT09YilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9LF9nZXRJbnN0OmZ1bmN0aW9uKGIpe3RyeXty
ZXR1cm4gYS5kYXRhKGIsImRhdGVwaWNrZXIiKX1jYXRjaChmKXt0aHJvdyJNaXNzaW5nIGluc3Rh
bmNlIGRhdGEgZm9yIHRoaXMgZGF0ZXBpY2tlciI7fX0sX29wdGlvbkRhdGVwaWNrZXI6ZnVuY3Rp
b24oYixmLGope3ZhciBsPXRoaXMuX2dldEluc3QoYik7aWYoYXJndW1lbnRzLmxlbmd0aD09MiYm
dHlwZW9mIGY9PSJzdHJpbmciKXJldHVybiBmPT0iZGVmYXVsdHMiP2EuZXh0ZW5kKHt9LGEuZGF0
ZXBpY2tlci5fZGVmYXVsdHMpOmw/Zj09ImFsbCI/CithLmV4dGVuZCh7fSxsLnNldHRpbmdzKTp0
aGlzLl9nZXQobCxmKTpudWxsO3ZhciBvPWZ8fHt9O2lmKHR5cGVvZiBmPT0ic3RyaW5nIil7bz17
fTtvW2ZdPWp9aWYobCl7dGhpcy5fY3VySW5zdD09bCYmdGhpcy5faGlkZURhdGVwaWNrZXIoKTt2
YXIgbj10aGlzLl9nZXREYXRlRGF0ZXBpY2tlcihiLHRydWUpLGs9dGhpcy5fZ2V0TWluTWF4RGF0
ZShsLCJtaW4iKSxtPXRoaXMuX2dldE1pbk1heERhdGUobCwibWF4Iik7aChsLnNldHRpbmdzLG8p
O2lmKGshPT1udWxsJiZvLmRhdGVGb3JtYXQhPT1jJiZvLm1pbkRhdGU9PT1jKWwuc2V0dGluZ3Mu
bWluRGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsayk7aWYobSE9PW51bGwmJm8uZGF0ZUZvcm1hdCE9
PWMmJm8ubWF4RGF0ZT09PWMpbC5zZXR0aW5ncy5tYXhEYXRlPXRoaXMuX2Zvcm1hdERhdGUobCxt
KTt0aGlzLl9hdHRhY2htZW50cyhhKGIpLGwpO3RoaXMuX2F1dG9TaXplKGwpO3RoaXMuX3NldERh
dGUobCxuKTt0aGlzLl91cGRhdGVBbHRlcm5hdGUobCk7Cit0aGlzLl91cGRhdGVEYXRlcGlja2Vy
KGwpfX0sX2NoYW5nZURhdGVwaWNrZXI6ZnVuY3Rpb24oYixmLGope3RoaXMuX29wdGlvbkRhdGVw
aWNrZXIoYixmLGopfSxfcmVmcmVzaERhdGVwaWNrZXI6ZnVuY3Rpb24oYil7KGI9dGhpcy5fZ2V0
SW5zdChiKSkmJnRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYil9LF9zZXREYXRlRGF0ZXBpY2tlcjpm
dW5jdGlvbihiLGYpe2lmKGI9dGhpcy5fZ2V0SW5zdChiKSl7dGhpcy5fc2V0RGF0ZShiLGYpO3Ro
aXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGIpfX0sX2dldERh
dGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIsZil7KGI9dGhpcy5fZ2V0SW5zdChiKSkmJiFiLmlubGlu
ZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChiLGYpO3JldHVybiBiP3RoaXMuX2dldERhdGUoYik6
bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbihiKXt2YXIgZj1hLmRhdGVwaWNrZXIuX2dldEluc3Qo
Yi50YXJnZXQpLGo9dHJ1ZSxsPWYuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpOworZi5f
a2V5RXZlbnQ9dHJ1ZTtpZihhLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKXN3aXRjaChi
LmtleUNvZGUpe2Nhc2UgOTphLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7aj1mYWxzZTti
cmVhaztjYXNlIDEzOmo9YSgidGQuIithLmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcysiOm5vdCgu
IithLmRhdGVwaWNrZXIuX2N1cnJlbnRDbGFzcysiKSIsZi5kcERpdik7alswXSYmYS5kYXRlcGlj
a2VyLl9zZWxlY3REYXkoYi50YXJnZXQsZi5zZWxlY3RlZE1vbnRoLGYuc2VsZWN0ZWRZZWFyLGpb
MF0pO2lmKGI9YS5kYXRlcGlja2VyLl9nZXQoZiwib25TZWxlY3QiKSl7aj1hLmRhdGVwaWNrZXIu
X2Zvcm1hdERhdGUoZik7Yi5hcHBseShmLmlucHV0P2YuaW5wdXRbMF06bnVsbCxbaixmXSl9ZWxz
ZSBhLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7cmV0dXJuIGZhbHNlO2Nhc2UgMjc6YS5k
YXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6YS5kYXRlcGlja2VyLl9h
ZGp1c3REYXRlKGIudGFyZ2V0LAorYi5jdHJsS2V5Py1hLmRhdGVwaWNrZXIuX2dldChmLCJzdGVw
QmlnTW9udGhzIik6LWEuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFr
O2Nhc2UgMzQ6YS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LGIuY3RybEtleT8rYS5k
YXRlcGlja2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOithLmRhdGVwaWNrZXIuX2dldChmLCJz
dGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM1OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEu
ZGF0ZXBpY2tlci5fY2xlYXJEYXRlKGIudGFyZ2V0KTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2Jy
ZWFrO2Nhc2UgMzY6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9nb3RvVG9k
YXkoYi50YXJnZXQpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNzppZihiLmN0
cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsbD8rMTot
MSwiRCIpO2o9CitiLmN0cmxLZXl8fGIubWV0YUtleTtpZihiLm9yaWdpbmFsRXZlbnQuYWx0S2V5
KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCxiLmN0cmxLZXk/LWEuZGF0ZXBpY2tl
ci5fZ2V0KGYsInN0ZXBCaWdNb250aHMiKTotYS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcE1vbnRo
cyIpLCJNIik7YnJlYWs7Y2FzZSAzODppZihiLmN0cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNr
ZXIuX2FkanVzdERhdGUoYi50YXJnZXQsLTcsIkQiKTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2Jy
ZWFrO2Nhc2UgMzk6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3RE
YXRlKGIudGFyZ2V0LGw/LTE6KzEsIkQiKTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5O2lmKGIub3Jp
Z2luYWxFdmVudC5hbHRLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LGIuY3Ry
bEtleT8rYS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOithLmRhdGVwaWNrZXIu
X2dldChmLAorInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgNDA6aWYoYi5jdHJsS2V5fHxi
Lm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LCs3LCJEIik7aj1iLmN0
cmxLZXl8fGIubWV0YUtleTticmVhaztkZWZhdWx0Omo9ZmFsc2V9ZWxzZSBpZihiLmtleUNvZGU9
PTM2JiZiLmN0cmxLZXkpYS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0aGlzKTtlbHNlIGo9
ZmFsc2U7aWYoail7Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSxfZG9L
ZXlQcmVzczpmdW5jdGlvbihiKXt2YXIgZj1hLmRhdGVwaWNrZXIuX2dldEluc3QoYi50YXJnZXQp
O2lmKGEuZGF0ZXBpY2tlci5fZ2V0KGYsImNvbnN0cmFpbklucHV0Iikpe2Y9YS5kYXRlcGlja2Vy
Ll9wb3NzaWJsZUNoYXJzKGEuZGF0ZXBpY2tlci5fZ2V0KGYsImRhdGVGb3JtYXQiKSk7dmFyIGo9
U3RyaW5nLmZyb21DaGFyQ29kZShiLmNoYXJDb2RlPT1jP2Iua2V5Q29kZTpiLmNoYXJDb2RlKTsK
K3JldHVybiBiLmN0cmxLZXl8fGIubWV0YUtleXx8ajwiICJ8fCFmfHxmLmluZGV4T2Yoaik+LTF9
fSxfZG9LZXlVcDpmdW5jdGlvbihiKXtiPWEuZGF0ZXBpY2tlci5fZ2V0SW5zdChiLnRhcmdldCk7
aWYoYi5pbnB1dC52YWwoKSE9Yi5sYXN0VmFsKXRyeXtpZihhLmRhdGVwaWNrZXIucGFyc2VEYXRl
KGEuZGF0ZXBpY2tlci5fZ2V0KGIsImRhdGVGb3JtYXQiKSxiLmlucHV0P2IuaW5wdXQudmFsKCk6
bnVsbCxhLmRhdGVwaWNrZXIuX2dldEZvcm1hdENvbmZpZyhiKSkpe2EuZGF0ZXBpY2tlci5fc2V0
RGF0ZUZyb21GaWVsZChiKTthLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZShiKTthLmRhdGVw
aWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoYil9fWNhdGNoKGYpe2EuZGF0ZXBpY2tlci5sb2coZil9
cmV0dXJuIHRydWV9LF9zaG93RGF0ZXBpY2tlcjpmdW5jdGlvbihiKXtiPWIudGFyZ2V0fHxiO2lm
KGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9ImlucHV0IiliPWEoImlucHV0IiwKK2IucGFyZW50
Tm9kZSlbMF07aWYoIShhLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGIpfHxhLmRh
dGVwaWNrZXIuX2xhc3RJbnB1dD09Yikpe3ZhciBmPWEuZGF0ZXBpY2tlci5fZ2V0SW5zdChiKTtp
ZihhLmRhdGVwaWNrZXIuX2N1ckluc3QmJmEuZGF0ZXBpY2tlci5fY3VySW5zdCE9Zil7YS5kYXRl
cGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmYS5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShh
LmRhdGVwaWNrZXIuX2N1ckluc3QpO2EuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRy
dWUsdHJ1ZSl9dmFyIGo9YS5kYXRlcGlja2VyLl9nZXQoZiwiYmVmb3JlU2hvdyIpO2goZi5zZXR0
aW5ncyxqP2ouYXBwbHkoYixbYixmXSk6e30pO2YubGFzdFZhbD1udWxsO2EuZGF0ZXBpY2tlci5f
bGFzdElucHV0PWI7YS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGYpO2lmKGEuZGF0ZXBp
Y2tlci5faW5EaWFsb2cpYi52YWx1ZT0iIjtpZighYS5kYXRlcGlja2VyLl9wb3Mpe2EuZGF0ZXBp
Y2tlci5fcG9zPQorYS5kYXRlcGlja2VyLl9maW5kUG9zKGIpO2EuZGF0ZXBpY2tlci5fcG9zWzFd
Kz1iLm9mZnNldEhlaWdodH12YXIgbD1mYWxzZTthKGIpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9u
KCl7bHw9YSh0aGlzKS5jc3MoInBvc2l0aW9uIik9PSJmaXhlZCI7cmV0dXJuIWx9KTtpZihsJiZh
LmJyb3dzZXIub3BlcmEpe2EuZGF0ZXBpY2tlci5fcG9zWzBdLT1kb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuc2Nyb2xsTGVmdDthLmRhdGVwaWNrZXIuX3Bvc1sxXS09ZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbFRvcH1qPXtsZWZ0OmEuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDphLmRhdGVw
aWNrZXIuX3Bvc1sxXX07YS5kYXRlcGlja2VyLl9wb3M9bnVsbDtmLmRwRGl2LmVtcHR5KCk7Zi5k
cERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBw
eCJ9KTthLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoZik7aj1hLmRhdGVwaWNrZXIuX2No
ZWNrT2Zmc2V0KGYsCitqLGwpO2YuZHBEaXYuY3NzKHtwb3NpdGlvbjphLmRhdGVwaWNrZXIuX2lu
RGlhbG9nJiZhLmJsb2NrVUk/InN0YXRpYyI6bD8iZml4ZWQiOiJhYnNvbHV0ZSIsZGlzcGxheToi
bm9uZSIsbGVmdDpqLmxlZnQrInB4Iix0b3A6ai50b3ArInB4In0pO2lmKCFmLmlubGluZSl7aj1h
LmRhdGVwaWNrZXIuX2dldChmLCJzaG93QW5pbSIpO3ZhciBvPWEuZGF0ZXBpY2tlci5fZ2V0KGYs
ImR1cmF0aW9uIiksbj1mdW5jdGlvbigpe3ZhciBrPWYuZHBEaXYuZmluZCgiaWZyYW1lLnVpLWRh
dGVwaWNrZXItY292ZXIiKTtpZihrLmxlbmd0aCl7dmFyIG09YS5kYXRlcGlja2VyLl9nZXRCb3Jk
ZXJzKGYuZHBEaXYpO2suY3NzKHtsZWZ0Oi1tWzBdLHRvcDotbVsxXSx3aWR0aDpmLmRwRGl2Lm91
dGVyV2lkdGgoKSxoZWlnaHQ6Zi5kcERpdi5vdXRlckhlaWdodCgpfSl9fTtmLmRwRGl2LnpJbmRl
eChhKGIpLnpJbmRleCgpKzEpO2EuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmc9dHJ1ZTth
LmVmZmVjdHMmJgorYS5lZmZlY3RzW2pdP2YuZHBEaXYuc2hvdyhqLGEuZGF0ZXBpY2tlci5fZ2V0
KGYsInNob3dPcHRpb25zIiksbyxuKTpmLmRwRGl2W2p8fCJzaG93Il0oaj9vOm51bGwsbik7aWYo
IWp8fCFvKW4oKTtmLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYhZi5pbnB1dC5pcygiOmRpc2FibGVk
IikmJmYuaW5wdXQuZm9jdXMoKTthLmRhdGVwaWNrZXIuX2N1ckluc3Q9Zn19fSxfdXBkYXRlRGF0
ZXBpY2tlcjpmdW5jdGlvbihiKXt0aGlzLm1heFJvd3M9NDt2YXIgZj1hLmRhdGVwaWNrZXIuX2dl
dEJvcmRlcnMoYi5kcERpdik7aT1iO2IuZHBEaXYuZW1wdHkoKS5hcHBlbmQodGhpcy5fZ2VuZXJh
dGVIVE1MKGIpKTt2YXIgaj1iLmRwRGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVy
Iik7ai5sZW5ndGgmJmouY3NzKHtsZWZ0Oi1mWzBdLHRvcDotZlsxXSx3aWR0aDpiLmRwRGl2Lm91
dGVyV2lkdGgoKSxoZWlnaHQ6Yi5kcERpdi5vdXRlckhlaWdodCgpfSk7Yi5kcERpdi5maW5kKCIu
IisKK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKS5tb3VzZW92ZXIoKTtmPXRoaXMuX2dldE51bWJl
ck9mTW9udGhzKGIpO2o9ZlsxXTtiLmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11
bHRpLTIgdWktZGF0ZXBpY2tlci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRo
KCIiKTtqPjEmJmIuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIitqKS5jc3Mo
IndpZHRoIiwxNypqKyJlbSIpO2IuZHBEaXZbKGZbMF0hPTF8fGZbMV0hPTE/ImFkZCI6InJlbW92
ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLW11bHRpIik7Yi5kcERpdlsodGhpcy5fZ2V0KGIs
ImlzUlRMIik/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpO2I9
PWEuZGF0ZXBpY2tlci5fY3VySW5zdCYmYS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYm
Yi5pbnB1dCYmYi5pbnB1dC5pcygiOnZpc2libGUiKSYmIWIuaW5wdXQuaXMoIjpkaXNhYmxlZCIp
JiYKK2IuaW5wdXRbMF0hPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmIuaW5wdXQuZm9jdXMoKTtp
ZihiLnllYXJzaHRtbCl7dmFyIGw9Yi55ZWFyc2h0bWw7c2V0VGltZW91dChmdW5jdGlvbigpe2w9
PT1iLnllYXJzaHRtbCYmYi55ZWFyc2h0bWwmJmIuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVw
aWNrZXIteWVhcjpmaXJzdCIpLnJlcGxhY2VXaXRoKGIueWVhcnNodG1sKTtsPWIueWVhcnNodG1s
PW51bGx9LDApfX0sX2dldEJvcmRlcnM6ZnVuY3Rpb24oYil7dmFyIGY9ZnVuY3Rpb24oail7cmV0
dXJue3RoaW46MSxtZWRpdW06Mix0aGljazozfVtqXXx8an07cmV0dXJuW3BhcnNlRmxvYXQoZihi
LmNzcygiYm9yZGVyLWxlZnQtd2lkdGgiKSkpLHBhcnNlRmxvYXQoZihiLmNzcygiYm9yZGVyLXRv
cC13aWR0aCIpKSldfSxfY2hlY2tPZmZzZXQ6ZnVuY3Rpb24oYixmLGope3ZhciBsPWIuZHBEaXYu
b3V0ZXJXaWR0aCgpLG89Yi5kcERpdi5vdXRlckhlaWdodCgpLG49Yi5pbnB1dD9iLmlucHV0Lm91
dGVyV2lkdGgoKToKKzAsaz1iLmlucHV0P2IuaW5wdXQub3V0ZXJIZWlnaHQoKTowLG09ZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoK2EoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSxw
PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQrYShkb2N1bWVudCkuc2Nyb2xs
VG9wKCk7Zi5sZWZ0LT10aGlzLl9nZXQoYiwiaXNSVEwiKT9sLW46MDtmLmxlZnQtPWomJmYubGVm
dD09Yi5pbnB1dC5vZmZzZXQoKS5sZWZ0P2EoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowO2YudG9w
LT1qJiZmLnRvcD09Yi5pbnB1dC5vZmZzZXQoKS50b3Araz9hKGRvY3VtZW50KS5zY3JvbGxUb3Ao
KTowO2YubGVmdC09TWF0aC5taW4oZi5sZWZ0LGYubGVmdCtsPm0mJm0+bD9NYXRoLmFicyhmLmxl
ZnQrbC1tKTowKTtmLnRvcC09TWF0aC5taW4oZi50b3AsZi50b3Arbz5wJiZwPm8/TWF0aC5hYnMo
bytrKTowKTtyZXR1cm4gZn0sX2ZpbmRQb3M6ZnVuY3Rpb24oYil7Zm9yKHZhciBmPXRoaXMuX2dl
dCh0aGlzLl9nZXRJbnN0KGIpLAorImlzUlRMIik7YiYmKGIudHlwZT09ImhpZGRlbiJ8fGIubm9k
ZVR5cGUhPTF8fGEuZXhwci5maWx0ZXJzLmhpZGRlbihiKSk7KWI9YltmPyJwcmV2aW91c1NpYmxp
bmciOiJuZXh0U2libGluZyJdO2I9YShiKS5vZmZzZXQoKTtyZXR1cm5bYi5sZWZ0LGIudG9wXX0s
X3RyaWdnZXJPbkNsb3NlOmZ1bmN0aW9uKGIpe3ZhciBmPXRoaXMuX2dldChiLCJvbkNsb3NlIik7
aWYoZilmLmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtiLmlucHV0P2IuaW5wdXQudmFs
KCk6IiIsYl0pfSxfaGlkZURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fY3VySW5z
dDtpZighKCFmfHxiJiZmIT1hLmRhdGEoYiwiZGF0ZXBpY2tlciIpKSlpZih0aGlzLl9kYXRlcGlj
a2VyU2hvd2luZyl7Yj10aGlzLl9nZXQoZiwic2hvd0FuaW0iKTt2YXIgaj10aGlzLl9nZXQoZiwi
ZHVyYXRpb24iKSxsPWZ1bmN0aW9uKCl7YS5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGYpO3RoaXMu
X2N1ckluc3Q9CitudWxsfTthLmVmZmVjdHMmJmEuZWZmZWN0c1tiXT9mLmRwRGl2LmhpZGUoYixh
LmRhdGVwaWNrZXIuX2dldChmLCJzaG93T3B0aW9ucyIpLGosbCk6Zi5kcERpdltiPT0ic2xpZGVE
b3duIj8ic2xpZGVVcCI6Yj09ImZhZGVJbiI/ImZhZGVPdXQiOiJoaWRlIl0oYj9qOm51bGwsbCk7
Ynx8bCgpO2EuZGF0ZXBpY2tlci5fdHJpZ2dlck9uQ2xvc2UoZik7dGhpcy5fZGF0ZXBpY2tlclNo
b3dpbmc9ZmFsc2U7dGhpcy5fbGFzdElucHV0PW51bGw7aWYodGhpcy5faW5EaWFsb2cpe3RoaXMu
X2RpYWxvZ0lucHV0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBw
eCJ9KTtpZihhLmJsb2NrVUkpe2EudW5ibG9ja1VJKCk7YSgiYm9keSIpLmFwcGVuZCh0aGlzLmRw
RGl2KX19dGhpcy5faW5EaWFsb2c9ZmFsc2V9fSxfdGlkeURpYWxvZzpmdW5jdGlvbihiKXtiLmRw
RGl2LnJlbW92ZUNsYXNzKHRoaXMuX2RpYWxvZ0NsYXNzKS51bmJpbmQoIi51aS1kYXRlcGlja2Vy
LWNhbGVuZGFyIil9LAorX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihiKXtpZihhLmRhdGVw
aWNrZXIuX2N1ckluc3Qpe2I9YShiLnRhcmdldCk7YlswXS5pZCE9YS5kYXRlcGlja2VyLl9tYWlu
RGl2SWQmJmIucGFyZW50cygiIyIrYS5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYm
IWIuaGFzQ2xhc3MoYS5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJiFiLmhhc0NsYXNzKGEu
ZGF0ZXBpY2tlci5fdHJpZ2dlckNsYXNzKSYmYS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2lu
ZyYmIShhLmRhdGVwaWNrZXIuX2luRGlhbG9nJiZhLmJsb2NrVUkpJiZhLmRhdGVwaWNrZXIuX2hp
ZGVEYXRlcGlja2VyKCl9fSxfYWRqdXN0RGF0ZTpmdW5jdGlvbihiLGYsail7Yj1hKGIpO3ZhciBs
PXRoaXMuX2dldEluc3QoYlswXSk7aWYoIXRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKGJbMF0p
KXt0aGlzLl9hZGp1c3RJbnN0RGF0ZShsLGYrKGo9PSJNIj90aGlzLl9nZXQobCwic2hvd0N1cnJl
bnRBdFBvcyIpOgorMCksaik7dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihsKX19LF9nb3RvVG9kYXk6
ZnVuY3Rpb24oYil7Yj1hKGIpO3ZhciBmPXRoaXMuX2dldEluc3QoYlswXSk7aWYodGhpcy5fZ2V0
KGYsImdvdG9DdXJyZW50IikmJmYuY3VycmVudERheSl7Zi5zZWxlY3RlZERheT1mLmN1cnJlbnRE
YXk7Zi5kcmF3TW9udGg9Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRoO2YuZHJhd1llYXI9
Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcn1lbHNle3ZhciBqPW5ldyBEYXRlO2Yuc2VsZWN0
ZWREYXk9ai5nZXREYXRlKCk7Zi5kcmF3TW9udGg9Zi5zZWxlY3RlZE1vbnRoPWouZ2V0TW9udGgo
KTtmLmRyYXdZZWFyPWYuc2VsZWN0ZWRZZWFyPWouZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlD
aGFuZ2UoZik7dGhpcy5fYWRqdXN0RGF0ZShiKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihi
LGYsail7Yj1hKGIpO3ZhciBsPXRoaXMuX2dldEluc3QoYlswXSk7bFsic2VsZWN0ZWQiKyhqPT0i
TSI/CisiTW9udGgiOiJZZWFyIildPWxbImRyYXciKyhqPT0iTSI/Ik1vbnRoIjoiWWVhciIpXT1w
YXJzZUludChmLm9wdGlvbnNbZi5zZWxlY3RlZEluZGV4XS52YWx1ZSwxMCk7dGhpcy5fbm90aWZ5
Q2hhbmdlKGwpO3RoaXMuX2FkanVzdERhdGUoYil9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYixmLGos
bCl7dmFyIG89YShiKTtpZighKGEobCkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3Mp
fHx0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihvWzBdKSkpe289dGhpcy5fZ2V0SW5zdChvWzBd
KTtvLnNlbGVjdGVkRGF5PW8uY3VycmVudERheT1hKCJhIixsKS5odG1sKCk7by5zZWxlY3RlZE1v
bnRoPW8uY3VycmVudE1vbnRoPWY7by5zZWxlY3RlZFllYXI9by5jdXJyZW50WWVhcj1qO3RoaXMu
X3NlbGVjdERhdGUoYix0aGlzLl9mb3JtYXREYXRlKG8sby5jdXJyZW50RGF5LG8uY3VycmVudE1v
bnRoLG8uY3VycmVudFllYXIpKX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYil7Yj1hKGIpOwordGhp
cy5fZ2V0SW5zdChiWzBdKTt0aGlzLl9zZWxlY3REYXRlKGIsIiIpfSxfc2VsZWN0RGF0ZTpmdW5j
dGlvbihiLGYpe2I9dGhpcy5fZ2V0SW5zdChhKGIpWzBdKTtmPWYhPW51bGw/Zjp0aGlzLl9mb3Jt
YXREYXRlKGIpO2IuaW5wdXQmJmIuaW5wdXQudmFsKGYpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShi
KTt2YXIgaj10aGlzLl9nZXQoYiwib25TZWxlY3QiKTtpZihqKWouYXBwbHkoYi5pbnB1dD9iLmlu
cHV0WzBdOm51bGwsW2YsYl0pO2Vsc2UgYi5pbnB1dCYmYi5pbnB1dC50cmlnZ2VyKCJjaGFuZ2Ui
KTtpZihiLmlubGluZSl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO2Vsc2V7dGhpcy5faGlkZURh
dGVwaWNrZXIoKTt0aGlzLl9sYXN0SW5wdXQ9Yi5pbnB1dFswXTtiLmlucHV0LmZvY3VzKCk7dGhp
cy5fbGFzdElucHV0PW51bGx9fSxfdXBkYXRlQWx0ZXJuYXRlOmZ1bmN0aW9uKGIpe3ZhciBmPXRo
aXMuX2dldChiLCJhbHRGaWVsZCIpO2lmKGYpe3ZhciBqPXRoaXMuX2dldChiLAorImFsdEZvcm1h
dCIpfHx0aGlzLl9nZXQoYiwiZGF0ZUZvcm1hdCIpLGw9dGhpcy5fZ2V0RGF0ZShiKSxvPXRoaXMu
Zm9ybWF0RGF0ZShqLGwsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGIpKTthKGYpLmVhY2goZnVuY3Rp
b24oKXthKHRoaXMpLnZhbChvKX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihiKXtiPWIuZ2V0RGF5
KCk7cmV0dXJuW2I+MCYmYjw2LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYil7Yj1uZXcgRGF0
ZShiLmdldFRpbWUoKSk7Yi5zZXREYXRlKGIuZ2V0RGF0ZSgpKzQtKGIuZ2V0RGF5KCl8fDcpKTt2
YXIgZj1iLmdldFRpbWUoKTtiLnNldE1vbnRoKDApO2Iuc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5m
bG9vcihNYXRoLnJvdW5kKChmLWIpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYixm
LGope2lmKGI9PW51bGx8fGY9PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2Y9dHlwZW9m
IGY9PSJvYmplY3QiP2YudG9TdHJpbmcoKTpmKyIiO2lmKGY9PQorIiIpcmV0dXJuIG51bGw7dmFy
IGw9KGo/ai5zaG9ydFllYXJDdXRvZmY6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1
dG9mZjtsPXR5cGVvZiBsIT0ic3RyaW5nIj9sOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDAr
cGFyc2VJbnQobCwxMCk7Zm9yKHZhciBvPShqP2ouZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5f
ZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxuPShqP2ouZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1
bHRzLmRheU5hbWVzLGs9KGo/ai5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRz
Lm1vbnRoTmFtZXNTaG9ydCxtPShqP2oubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMu
bW9udGhOYW1lcyxwPWo9LTEscT0tMSxzPS0xLHI9ZmFsc2UsdT1mdW5jdGlvbih6KXsoej1IKzE8
Yi5sZW5ndGgmJmIuY2hhckF0KEgrMSk9PXopJiZIKys7cmV0dXJuIHp9LHY9ZnVuY3Rpb24oeil7
dmFyIEk9dSh6KTt6PW5ldyBSZWdFeHAoIl5cXGR7MSwiKworKHo9PSJAIj8xNDp6PT0iISI/MjA6
ej09InkiJiZJPzQ6ej09Im8iPzM6MikrIn0iKTt6PWYuc3Vic3RyaW5nKHkpLm1hdGNoKHopO2lm
KCF6KXRocm93Ik1pc3NpbmcgbnVtYmVyIGF0IHBvc2l0aW9uICIreTt5Kz16WzBdLmxlbmd0aDty
ZXR1cm4gcGFyc2VJbnQoelswXSwxMCl9LHc9ZnVuY3Rpb24oeixJLE4pe3o9YS5tYXAodSh6KT9O
OkksZnVuY3Rpb24oRCxFKXtyZXR1cm5bW0UsRF1dfSkuc29ydChmdW5jdGlvbihELEUpe3JldHVy
bi0oRFsxXS5sZW5ndGgtRVsxXS5sZW5ndGgpfSk7dmFyIEo9LTE7YS5lYWNoKHosZnVuY3Rpb24o
RCxFKXtEPUVbMV07aWYoZi5zdWJzdHIoeSxELmxlbmd0aCkudG9Mb3dlckNhc2UoKT09RC50b0xv
d2VyQ2FzZSgpKXtKPUVbMF07eSs9RC5sZW5ndGg7cmV0dXJuIGZhbHNlfX0pO2lmKEohPS0xKXJl
dHVybiBKKzE7ZWxzZSB0aHJvdyJVbmtub3duIG5hbWUgYXQgcG9zaXRpb24gIit5O30seD1mdW5j
dGlvbigpe2lmKGYuY2hhckF0KHkpIT1iLmNoYXJBdChIKSl0aHJvdyJVbmV4cGVjdGVkIGxpdGVy
YWwgYXQgcG9zaXRpb24gIisKK3k7eSsrfSx5PTAsSD0wO0g8Yi5sZW5ndGg7SCsrKWlmKHIpaWYo
Yi5jaGFyQXQoSCk9PSInIiYmIXUoIiciKSlyPWZhbHNlO2Vsc2UgeCgpO2Vsc2Ugc3dpdGNoKGIu
Y2hhckF0KEgpKXtjYXNlICJkIjpxPXYoImQiKTticmVhaztjYXNlICJEIjp3KCJEIixvLG4pO2Jy
ZWFrO2Nhc2UgIm8iOnM9digibyIpO2JyZWFrO2Nhc2UgIm0iOnA9digibSIpO2JyZWFrO2Nhc2Ug
Ik0iOnA9dygiTSIsayxtKTticmVhaztjYXNlICJ5IjpqPXYoInkiKTticmVhaztjYXNlICJAIjp2
YXIgQz1uZXcgRGF0ZSh2KCJAIikpO2o9Qy5nZXRGdWxsWWVhcigpO3A9Qy5nZXRNb250aCgpKzE7
cT1DLmdldERhdGUoKTticmVhaztjYXNlICIhIjpDPW5ldyBEYXRlKCh2KCIhIiktdGhpcy5fdGlj
a3NUbzE5NzApLzFFNCk7aj1DLmdldEZ1bGxZZWFyKCk7cD1DLmdldE1vbnRoKCkrMTtxPUMuZ2V0
RGF0ZSgpO2JyZWFrO2Nhc2UgIiciOmlmKHUoIiciKSl4KCk7ZWxzZSByPXRydWU7YnJlYWs7ZGVm
YXVsdDp4KCl9aWYoeTwKK2YubGVuZ3RoKXRocm93IkV4dHJhL3VucGFyc2VkIGNoYXJhY3RlcnMg
Zm91bmQgaW4gZGF0ZTogIitmLnN1YnN0cmluZyh5KTtpZihqPT0tMSlqPShuZXcgRGF0ZSkuZ2V0
RnVsbFllYXIoKTtlbHNlIGlmKGo8MTAwKWorPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKS0obmV3
IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwKyhqPD1sPzA6LTEwMCk7aWYocz4tMSl7cD0xO3E9cztk
b3tsPXRoaXMuX2dldERheXNJbk1vbnRoKGoscC0xKTtpZihxPD1sKWJyZWFrO3ArKztxLT1sfXdo
aWxlKDEpfUM9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaixwLTEscSkpO2lm
KEMuZ2V0RnVsbFllYXIoKSE9anx8Qy5nZXRNb250aCgpKzEhPXB8fEMuZ2V0RGF0ZSgpIT1xKXRo
cm93IkludmFsaWQgZGF0ZSI7cmV0dXJuIEN9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRk
IE0geXkiLElTT184NjAxOiJ5eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRE
LCBkZC1NLXkiLAorUkZDXzEwMzY6IkQsIGQgTSB5IixSRkNfMTEyMzoiRCwgZCBNIHl5IixSRkNf
MjgyMjoiRCwgZCBNIHl5IixSU1M6IkQsIGQgTSB5IixUSUNLUzoiISIsVElNRVNUQU1QOiJAIixX
M0M6Inl5LW1tLWRkIixfdGlja3NUbzE5NzA6KDcxODY4NStNYXRoLmZsb29yKDQ5Mi41KS1NYXRo
LmZsb29yKDE5LjcpK01hdGguZmxvb3IoNC45MjUpKSoyNCo2MCo2MCoxRTcsZm9ybWF0RGF0ZTpm
dW5jdGlvbihiLGYsail7aWYoIWYpcmV0dXJuIiI7dmFyIGw9KGo/ai5kYXlOYW1lc1Nob3J0Om51
bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LG89KGo/ai5kYXlOYW1lczpudWxsKXx8
dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsbj0oaj9qLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhp
cy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0O2o9KGo/ai5tb250aE5hbWVzOm51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5tb250aE5hbWVzO3ZhciBrPWZ1bmN0aW9uKHUpeyh1PXIrMTxiLmxlbmd0aCYm
CitiLmNoYXJBdChyKzEpPT11KSYmcisrO3JldHVybiB1fSxtPWZ1bmN0aW9uKHUsdix3KXt2PSIi
K3Y7aWYoayh1KSlmb3IoO3YubGVuZ3RoPHc7KXY9IjAiK3Y7cmV0dXJuIHZ9LHA9ZnVuY3Rpb24o
dSx2LHcseCl7cmV0dXJuIGsodSk/eFt2XTp3W3ZdfSxxPSIiLHM9ZmFsc2U7aWYoZilmb3IodmFy
IHI9MDtyPGIubGVuZ3RoO3IrKylpZihzKWlmKGIuY2hhckF0KHIpPT0iJyImJiFrKCInIikpcz1m
YWxzZTtlbHNlIHErPWIuY2hhckF0KHIpO2Vsc2Ugc3dpdGNoKGIuY2hhckF0KHIpKXtjYXNlICJk
IjpxKz1tKCJkIixmLmdldERhdGUoKSwyKTticmVhaztjYXNlICJEIjpxKz1wKCJEIixmLmdldERh
eSgpLGwsbyk7YnJlYWs7Y2FzZSAibyI6cSs9bSgibyIsTWF0aC5yb3VuZCgoKG5ldyBEYXRlKGYu
Z2V0RnVsbFllYXIoKSxmLmdldE1vbnRoKCksZi5nZXREYXRlKCkpKS5nZXRUaW1lKCktKG5ldyBE
YXRlKGYuZ2V0RnVsbFllYXIoKSwwLDApKS5nZXRUaW1lKCkpLzg2NEU1KSwzKTsKK2JyZWFrO2Nh
c2UgIm0iOnErPW0oIm0iLGYuZ2V0TW9udGgoKSsxLDIpO2JyZWFrO2Nhc2UgIk0iOnErPXAoIk0i
LGYuZ2V0TW9udGgoKSxuLGopO2JyZWFrO2Nhc2UgInkiOnErPWsoInkiKT9mLmdldEZ1bGxZZWFy
KCk6KGYuZ2V0WWVhcigpJTEwMDwxMD8iMCI6IiIpK2YuZ2V0WWVhcigpJTEwMDticmVhaztjYXNl
ICJAIjpxKz1mLmdldFRpbWUoKTticmVhaztjYXNlICIhIjpxKz1mLmdldFRpbWUoKSoxRTQrdGhp
cy5fdGlja3NUbzE5NzA7YnJlYWs7Y2FzZSAiJyI6aWYoaygiJyIpKXErPSInIjtlbHNlIHM9dHJ1
ZTticmVhaztkZWZhdWx0OnErPWIuY2hhckF0KHIpfXJldHVybiBxfSxfcG9zc2libGVDaGFyczpm
dW5jdGlvbihiKXtmb3IodmFyIGY9IiIsaj1mYWxzZSxsPWZ1bmN0aW9uKG4peyhuPW8rMTxiLmxl
bmd0aCYmYi5jaGFyQXQobysxKT09bikmJm8rKztyZXR1cm4gbn0sbz0wO288Yi5sZW5ndGg7bysr
KWlmKGopaWYoYi5jaGFyQXQobyk9PSInIiYmIWwoIiciKSlqPQorZmFsc2U7ZWxzZSBmKz1iLmNo
YXJBdChvKTtlbHNlIHN3aXRjaChiLmNoYXJBdChvKSl7Y2FzZSAiZCI6Y2FzZSAibSI6Y2FzZSAi
eSI6Y2FzZSAiQCI6Zis9IjAxMjM0NTY3ODkiO2JyZWFrO2Nhc2UgIkQiOmNhc2UgIk0iOnJldHVy
biBudWxsO2Nhc2UgIiciOmlmKGwoIiciKSlmKz0iJyI7ZWxzZSBqPXRydWU7YnJlYWs7ZGVmYXVs
dDpmKz1iLmNoYXJBdChvKX1yZXR1cm4gZn0sX2dldDpmdW5jdGlvbihiLGYpe3JldHVybiBiLnNl
dHRpbmdzW2ZdIT09Yz9iLnNldHRpbmdzW2ZdOnRoaXMuX2RlZmF1bHRzW2ZdfSxfc2V0RGF0ZUZy
b21GaWVsZDpmdW5jdGlvbihiLGYpe2lmKGIuaW5wdXQudmFsKCkhPWIubGFzdFZhbCl7dmFyIGo9
dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKSxsPWIubGFzdFZhbD1iLmlucHV0P2IuaW5wdXQudmFs
KCk6bnVsbCxvLG47bz1uPXRoaXMuX2dldERlZmF1bHREYXRlKGIpO3ZhciBrPXRoaXMuX2dldEZv
cm1hdENvbmZpZyhiKTt0cnl7bz10aGlzLnBhcnNlRGF0ZShqLAorbCxrKXx8bn1jYXRjaChtKXt0
aGlzLmxvZyhtKTtsPWY/IiI6bH1iLnNlbGVjdGVkRGF5PW8uZ2V0RGF0ZSgpO2IuZHJhd01vbnRo
PWIuc2VsZWN0ZWRNb250aD1vLmdldE1vbnRoKCk7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1v
LmdldEZ1bGxZZWFyKCk7Yi5jdXJyZW50RGF5PWw/by5nZXREYXRlKCk6MDtiLmN1cnJlbnRNb250
aD1sP28uZ2V0TW9udGgoKTowO2IuY3VycmVudFllYXI9bD9vLmdldEZ1bGxZZWFyKCk6MDt0aGlz
Ll9hZGp1c3RJbnN0RGF0ZShiKX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihiKXtyZXR1cm4g
dGhpcy5fcmVzdHJpY3RNaW5NYXgoYix0aGlzLl9kZXRlcm1pbmVEYXRlKGIsdGhpcy5fZ2V0KGIs
ImRlZmF1bHREYXRlIiksbmV3IERhdGUpKX0sX2RldGVybWluZURhdGU6ZnVuY3Rpb24oYixmLGop
e3ZhciBsPWZ1bmN0aW9uKG4pe3ZhciBrPW5ldyBEYXRlO2suc2V0RGF0ZShrLmdldERhdGUoKStu
KTtyZXR1cm4ga30sbz1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIGEuZGF0ZXBpY2tlci5wYXJzZURh
dGUoYS5kYXRlcGlja2VyLl9nZXQoYiwKKyJkYXRlRm9ybWF0IiksbixhLmRhdGVwaWNrZXIuX2dl
dEZvcm1hdENvbmZpZyhiKSl9Y2F0Y2goayl7fXZhciBtPShuLnRvTG93ZXJDYXNlKCkubWF0Y2go
L15jLyk/YS5kYXRlcGlja2VyLl9nZXREYXRlKGIpOm51bGwpfHxuZXcgRGF0ZSxwPW0uZ2V0RnVs
bFllYXIoKSxxPW0uZ2V0TW9udGgoKTttPW0uZ2V0RGF0ZSgpO2Zvcih2YXIgcz0vKFsrLV0/WzAt
OV0rKVxzKihkfER8d3xXfG18TXx5fFkpPy9nLHI9cy5leGVjKG4pO3I7KXtzd2l0Y2goclsyXXx8
ImQiKXtjYXNlICJkIjpjYXNlICJEIjptKz1wYXJzZUludChyWzFdLDEwKTticmVhaztjYXNlICJ3
IjpjYXNlICJXIjptKz1wYXJzZUludChyWzFdLDEwKSo3O2JyZWFrO2Nhc2UgIm0iOmNhc2UgIk0i
OnErPXBhcnNlSW50KHJbMV0sMTApO209TWF0aC5taW4obSxhLmRhdGVwaWNrZXIuX2dldERheXNJ
bk1vbnRoKHAscSkpO2JyZWFrO2Nhc2UgInkiOmNhc2UgIlkiOnArPXBhcnNlSW50KHJbMV0sMTAp
O209TWF0aC5taW4obSwKK2EuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgocCxxKSk7YnJlYWt9
cj1zLmV4ZWMobil9cmV0dXJuIG5ldyBEYXRlKHAscSxtKX07aWYoZj0oZj1mPT1udWxsfHxmPT09
IiI/ajp0eXBlb2YgZj09InN0cmluZyI/byhmKTp0eXBlb2YgZj09Im51bWJlciI/aXNOYU4oZik/
ajpsKGYpOm5ldyBEYXRlKGYuZ2V0VGltZSgpKSkmJmYudG9TdHJpbmcoKT09IkludmFsaWQgRGF0
ZSI/ajpmKXtmLnNldEhvdXJzKDApO2Yuc2V0TWludXRlcygwKTtmLnNldFNlY29uZHMoMCk7Zi5z
ZXRNaWxsaXNlY29uZHMoMCl9cmV0dXJuIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KGYpfSxf
ZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24oYil7aWYoIWIpcmV0dXJuIG51bGw7Yi5zZXRI
b3VycyhiLmdldEhvdXJzKCk+MTI/Yi5nZXRIb3VycygpKzI6MCk7cmV0dXJuIGJ9LF9zZXREYXRl
OmZ1bmN0aW9uKGIsZixqKXt2YXIgbD0hZixvPWIuc2VsZWN0ZWRNb250aCxuPWIuc2VsZWN0ZWRZ
ZWFyOworZj10aGlzLl9yZXN0cmljdE1pbk1heChiLHRoaXMuX2RldGVybWluZURhdGUoYixmLG5l
dyBEYXRlKSk7Yi5zZWxlY3RlZERheT1iLmN1cnJlbnREYXk9Zi5nZXREYXRlKCk7Yi5kcmF3TW9u
dGg9Yi5zZWxlY3RlZE1vbnRoPWIuY3VycmVudE1vbnRoPWYuZ2V0TW9udGgoKTtiLmRyYXdZZWFy
PWIuc2VsZWN0ZWRZZWFyPWIuY3VycmVudFllYXI9Zi5nZXRGdWxsWWVhcigpO2lmKChvIT1iLnNl
bGVjdGVkTW9udGh8fG4hPWIuc2VsZWN0ZWRZZWFyKSYmIWopdGhpcy5fbm90aWZ5Q2hhbmdlKGIp
O3RoaXMuX2FkanVzdEluc3REYXRlKGIpO2lmKGIuaW5wdXQpYi5pbnB1dC52YWwobD8iIjp0aGlz
Ll9mb3JtYXREYXRlKGIpKTtpZihqPXRoaXMuX2dldChiLCJvblNlbGVjdCIpKXtsPXRoaXMuX2Zv
cm1hdERhdGUoYik7ai5hcHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVsbCxbbCxiXSl9fSxfZ2V0
RGF0ZTpmdW5jdGlvbihiKXtyZXR1cm4hYi5jdXJyZW50WWVhcnx8Yi5pbnB1dCYmYi5pbnB1dC52
YWwoKT09CisiIj9udWxsOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuY3Vy
cmVudFllYXIsYi5jdXJyZW50TW9udGgsYi5jdXJyZW50RGF5KSl9LF9nZW5lcmF0ZUhUTUw6ZnVu
Y3Rpb24oYil7dmFyIGY9bmV3IERhdGU7Zj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcg
RGF0ZShmLmdldEZ1bGxZZWFyKCksZi5nZXRNb250aCgpLGYuZ2V0RGF0ZSgpKSk7dmFyIGo9dGhp
cy5fZ2V0KGIsImlzUlRMIiksbD10aGlzLl9nZXQoYiwic2hvd0J1dHRvblBhbmVsIiksbz10aGlz
Ll9nZXQoYiwiaGlkZUlmTm9QcmV2TmV4dCIpLG49dGhpcy5fZ2V0KGIsIm5hdmlnYXRpb25Bc0Rh
dGVGb3JtYXQiKSxrPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGIpLG09dGhpcy5fZ2V0KGIsInNo
b3dDdXJyZW50QXRQb3MiKSxwPXRoaXMuX2dldChiLCJzdGVwTW9udGhzIikscT1rWzBdIT0xfHxr
WzFdIT0xLHM9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIWIuY3VycmVudERheT9uZXcgRGF0
ZSg5OTk5LAorOSw5KTpuZXcgRGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRoLGIuY3Vy
cmVudERheSkpLHI9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtaW4iKSx1PXRoaXMuX2dldE1pbk1h
eERhdGUoYiwibWF4Iik7bT1iLmRyYXdNb250aC1tO3ZhciB2PWIuZHJhd1llYXI7aWYobTwwKXtt
Kz0xMjt2LS19aWYodSl7dmFyIHc9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUo
dS5nZXRGdWxsWWVhcigpLHUuZ2V0TW9udGgoKS1rWzBdKmtbMV0rMSx1LmdldERhdGUoKSkpO2Zv
cih3PXImJnc8cj9yOnc7dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixtLDEp
KT53Oyl7bS0tO2lmKG08MCl7bT0xMTt2LS19fX1iLmRyYXdNb250aD1tO2IuZHJhd1llYXI9djt3
PXRoaXMuX2dldChiLCJwcmV2VGV4dCIpO3c9IW4/dzp0aGlzLmZvcm1hdERhdGUodyx0aGlzLl9k
YXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0tcCwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29u
ZmlnKGIpKTsKK3c9dGhpcy5fY2FuQWRqdXN0TW9udGgoYiwtMSx2LG0pPyc8YSBjbGFzcz0idWkt
ZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crIi5k
YXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIitiLmlkKyInLCAtIitwKyIsICdNJyk7XCIgdGl0bGU9
XCIiK3crJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJyso
aj8iZSI6InciKSsnIj4nK3crIjwvc3Bhbj48L2E+IjpvPyIiOic8YSBjbGFzcz0idWktZGF0ZXBp
Y2tlci1wcmV2IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK3crJyI+
PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoaj8iZSI6Inci
KSsnIj4nK3crIjwvc3Bhbj48L2E+Ijt2YXIgeD10aGlzLl9nZXQoYiwibmV4dFRleHQiKTt4PSFu
P3g6dGhpcy5mb3JtYXREYXRlKHgsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUo
diwKK20rcCwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGIpKTtvPXRoaXMuX2NhbkFkanVzdE1v
bnRoKGIsKzEsdixtKT8nPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxs
IiBvbmNsaWNrPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYi5p
ZCsiJywgKyIrcCsiLCAnTScpO1wiIHRpdGxlPVwiIit4KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29u
IHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGo/InciOiJlIikrJyI+Jyt4KyI8L3NwYW4+PC9h
PiI6bz8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0
YXRlLWRpc2FibGVkIiB0aXRsZT0iJyt4KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24t
Y2lyY2xlLXRyaWFuZ2xlLScrKGo/InciOiJlIikrJyI+Jyt4KyI8L3NwYW4+PC9hPiI7cD10aGlz
Ll9nZXQoYiwiY3VycmVudFRleHQiKTt4PXRoaXMuX2dldChiLCJnb3RvQ3VycmVudCIpJiYKK2Iu
Y3VycmVudERheT9zOmY7cD0hbj9wOnRoaXMuZm9ybWF0RGF0ZShwLHgsdGhpcy5fZ2V0Rm9ybWF0
Q29uZmlnKGIpKTtuPSFiLmlubGluZT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ1aS1k
YXRlcGlja2VyLWNsb3NlIHVpLXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktcHJpbWFyeSB1aS1j
b3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlfJytnKycuZGF0ZXBpY2tlci5faGlkZURhdGVw
aWNrZXIoKTsiPicrdGhpcy5fZ2V0KGIsImNsb3NlVGV4dCIpKyI8L2J1dHRvbj4iOiIiO2w9bD8n
PGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50Ij4n
KyhqP246IiIpKyh0aGlzLl9pc0luUmFuZ2UoYix4KT8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNs
YXNzPSJ1aS1kYXRlcGlja2VyLWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1z
ZWNvbmRhcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrCitnKyIuZGF0ZXBp
Y2tlci5fZ290b1RvZGF5KCcjIitiLmlkKyInKTtcIj4iK3ArIjwvYnV0dG9uPiI6IiIpKyhqPyIi
Om4pKyI8L2Rpdj4iOiIiO249cGFyc2VJbnQodGhpcy5fZ2V0KGIsImZpcnN0RGF5IiksMTApO249
aXNOYU4obik/MDpuO3A9dGhpcy5fZ2V0KGIsInNob3dXZWVrIik7eD10aGlzLl9nZXQoYiwiZGF5
TmFtZXMiKTt0aGlzLl9nZXQoYiwiZGF5TmFtZXNTaG9ydCIpO3ZhciB5PXRoaXMuX2dldChiLCJk
YXlOYW1lc01pbiIpLEg9dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXMiKSxDPXRoaXMuX2dldChiLCJt
b250aE5hbWVzU2hvcnQiKSx6PXRoaXMuX2dldChiLCJiZWZvcmVTaG93RGF5IiksST10aGlzLl9n
ZXQoYiwic2hvd090aGVyTW9udGhzIiksTj10aGlzLl9nZXQoYiwic2VsZWN0T3RoZXJNb250aHMi
KTt0aGlzLl9nZXQoYiwiY2FsY3VsYXRlV2VlayIpO2Zvcih2YXIgSj10aGlzLl9nZXREZWZhdWx0
RGF0ZShiKSxEPSIiLEU9MDtFPGtbMF07RSsrKXt2YXIgUD0KKyIiO3RoaXMubWF4Um93cz00O2Zv
cih2YXIgTD0wO0w8a1sxXTtMKyspe3ZhciBRPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKHYsbSxiLnNlbGVjdGVkRGF5KSksQj0iIHVpLWNvcm5lci1hbGwiLEY9IiI7aWYocSl7
Ris9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItZ3JvdXAnO2lmKGtbMV0+MSlzd2l0Y2goTCl7
Y2FzZSAwOkYrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1maXJzdCI7Qj0iIHVpLWNvcm5lci0iKyhq
PyJyaWdodCI6ImxlZnQiKTticmVhaztjYXNlIGtbMV0tMTpGKz0iIHVpLWRhdGVwaWNrZXItZ3Jv
dXAtbGFzdCI7Qj0iIHVpLWNvcm5lci0iKyhqPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0
OkYrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUiO0I9IiI7YnJlYWt9Ris9JyI+J31GKz0n
PGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxw
ZXItY2xlYXJmaXgnK0IrJyI+JysoL2FsbHxsZWZ0Ly50ZXN0KEIpJiYKK0U9PTA/aj9vOnc6IiIp
KygvYWxsfHJpZ2h0Ly50ZXN0KEIpJiZFPT0wP2o/dzpvOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRo
WWVhckhlYWRlcihiLG0sdixyLHUsRT4wfHxMPjAsSCxDKSsnPC9kaXY+PHRhYmxlIGNsYXNzPSJ1
aS1kYXRlcGlja2VyLWNhbGVuZGFyIj48dGhlYWQ+PHRyPic7dmFyIEc9cD8nPHRoIGNsYXNzPSJ1
aS1kYXRlcGlja2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChiLCJ3ZWVrSGVhZGVyIikrIjwvdGg+
IjoiIjtmb3IoQj0wO0I8NztCKyspe3ZhciBBPShCK24pJTc7Rys9Ijx0aCIrKChCK24rNiklNz49
NT8nIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXdlZWstZW5kIic6IiIpKyc+PHNwYW4gdGl0bGU9Iicr
eFtBXSsnIj4nK3lbQV0rIjwvc3Bhbj48L3RoPiJ9Ris9RysiPC90cj48L3RoZWFkPjx0Ym9keT4i
O0c9dGhpcy5fZ2V0RGF5c0luTW9udGgodixtKTtpZih2PT1iLnNlbGVjdGVkWWVhciYmbT09Yi5z
ZWxlY3RlZE1vbnRoKWIuc2VsZWN0ZWREYXk9TWF0aC5taW4oYi5zZWxlY3RlZERheSwKK0cpO0I9
KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aCh2LG0pLW4rNyklNztHPU1hdGguY2VpbCgoQitHKS83
KTt0aGlzLm1heFJvd3M9Rz1xP3RoaXMubWF4Um93cz5HP3RoaXMubWF4Um93czpHOkc7QT10aGlz
Ll9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0sMS1CKSk7Zm9yKHZhciBSPTA7UjxH
O1IrKyl7Ris9Ijx0cj4iO3ZhciBTPSFwPyIiOic8dGQgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vl
ay1jb2wiPicrdGhpcy5fZ2V0KGIsImNhbGN1bGF0ZVdlZWsiKShBKSsiPC90ZD4iO2ZvcihCPTA7
Qjw3O0IrKyl7dmFyIE09ej96LmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtBXSk6W3Ry
dWUsIiJdLEs9QS5nZXRNb250aCgpIT1tLE89SyYmIU58fCFNWzBdfHxyJiZBPHJ8fHUmJkE+dTtT
Kz0nPHRkIGNsYXNzPSInKygoQituKzYpJTc+PTU/IiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIjoi
IikrKEs/IiB1aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIjoiIikrKEEuZ2V0VGltZSgpPT0KK1Eu
Z2V0VGltZSgpJiZtPT1iLnNlbGVjdGVkTW9udGgmJmIuX2tleUV2ZW50fHxKLmdldFRpbWUoKT09
QS5nZXRUaW1lKCkmJkouZ2V0VGltZSgpPT1RLmdldFRpbWUoKT8iICIrdGhpcy5fZGF5T3ZlckNs
YXNzOiIiKSsoTz8iICIrdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MrIiB1aS1zdGF0ZS1kaXNhYmxl
ZCI6IiIpKyhLJiYhST8iIjoiICIrTVsxXSsoQS5nZXRUaW1lKCk9PXMuZ2V0VGltZSgpPyIgIit0
aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyhBLmdldFRpbWUoKT09Zi5nZXRUaW1lKCk/IiB1aS1kYXRl
cGlja2VyLXRvZGF5IjoiIikpKyciJysoKCFLfHxJKSYmTVsyXT8nIHRpdGxlPSInK01bMl0rJyIn
OiIiKSsoTz8iIjonIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crIi5kYXRlcGlja2VyLl9zZWxlY3RE
YXkoJyMiK2IuaWQrIicsIitBLmdldE1vbnRoKCkrIiwiK0EuZ2V0RnVsbFllYXIoKSsnLCB0aGlz
KTtyZXR1cm4gZmFsc2U7IicpKyI+IisoSyYmIUk/IiYjeGEwOyI6Tz8nPHNwYW4gY2xhc3M9InVp
LXN0YXRlLWRlZmF1bHQiPicrCitBLmdldERhdGUoKSsiPC9zcGFuPiI6JzxhIGNsYXNzPSJ1aS1z
dGF0ZS1kZWZhdWx0JysoQS5nZXRUaW1lKCk9PWYuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxp
Z2h0IjoiIikrKEEuZ2V0VGltZSgpPT1zLmdldFRpbWUoKT8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIp
KyhLPyIgdWktcHJpb3JpdHktc2Vjb25kYXJ5IjoiIikrJyIgaHJlZj0iIyI+JytBLmdldERhdGUo
KSsiPC9hPiIpKyI8L3RkPiI7QS5zZXREYXRlKEEuZ2V0RGF0ZSgpKzEpO0E9dGhpcy5fZGF5bGln
aHRTYXZpbmdBZGp1c3QoQSl9Ris9UysiPC90cj4ifW0rKztpZihtPjExKXttPTA7disrfUYrPSI8
L3Rib2R5PjwvdGFibGU+IisocT8iPC9kaXY+Iisoa1swXT4wJiZMPT1rWzFdLTE/JzxkaXYgY2xh
c3M9InVpLWRhdGVwaWNrZXItcm93LWJyZWFrIj48L2Rpdj4nOiIiKToiIik7UCs9Rn1EKz1QfUQr
PWwrKGEuYnJvd3Nlci5tc2llJiZwYXJzZUludChhLmJyb3dzZXIudmVyc2lvbiwxMCk8NyYmIWIu
aW5saW5lPyc8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDpmYWxzZTsiIGNsYXNzPSJ1aS1kYXRlcGlj
a2VyLWNvdmVyIiBmcmFtZWJvcmRlcj0iMCI+PC9pZnJhbWU+JzoKKyIiKTtiLl9rZXlFdmVudD1m
YWxzZTtyZXR1cm4gRH0sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGIsZixqLGws
byxuLGssbSl7dmFyIHA9dGhpcy5fZ2V0KGIsImNoYW5nZU1vbnRoIikscT10aGlzLl9nZXQoYiwi
Y2hhbmdlWWVhciIpLHM9dGhpcy5fZ2V0KGIsInNob3dNb250aEFmdGVyWWVhciIpLHI9JzxkaXYg
Y2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicsdT0iIjtpZihufHwhcCl1Kz0nPHNwYW4gY2xh
c3M9InVpLWRhdGVwaWNrZXItbW9udGgiPicra1tmXSsiPC9zcGFuPiI7ZWxzZXtrPWwmJmwuZ2V0
RnVsbFllYXIoKT09ajt2YXIgdj1vJiZvLmdldEZ1bGxZZWFyKCk9PWo7dSs9JzxzZWxlY3QgY2xh
c3M9InVpLWRhdGVwaWNrZXItbW9udGgiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBp
Y2tlci5fc2VsZWN0TW9udGhZZWFyKCcjIitiLmlkKyInLCB0aGlzLCAnTScpO1wiID4iO2Zvcih2
YXIgdz0wO3c8MTI7dysrKWlmKCgha3x8dz49bC5nZXRNb250aCgpKSYmCisoIXZ8fHc8PW8uZ2V0
TW9udGgoKSkpdSs9JzxvcHRpb24gdmFsdWU9IicrdysnIicrKHc9PWY/JyBzZWxlY3RlZD0ic2Vs
ZWN0ZWQiJzoiIikrIj4iK21bd10rIjwvb3B0aW9uPiI7dSs9Ijwvc2VsZWN0PiJ9c3x8KHIrPXUr
KG58fCEocCYmcSk/IiYjeGEwOyI6IiIpKTtpZighYi55ZWFyc2h0bWwpe2IueWVhcnNodG1sPSIi
O2lmKG58fCFxKXIrPSc8c3BhbiBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIj4nK2orIjwvc3Bh
bj4iO2Vsc2V7bT10aGlzLl9nZXQoYiwieWVhclJhbmdlIikuc3BsaXQoIjoiKTt2YXIgeD0obmV3
IERhdGUpLmdldEZ1bGxZZWFyKCk7az1mdW5jdGlvbih5KXt5PXkubWF0Y2goL2NbKy1dLiovKT9q
K3BhcnNlSW50KHkuc3Vic3RyaW5nKDEpLDEwKTp5Lm1hdGNoKC9bKy1dLiovKT94K3BhcnNlSW50
KHksMTApOnBhcnNlSW50KHksMTApO3JldHVybiBpc05hTih5KT94Onl9O2Y9ayhtWzBdKTttPU1h
dGgubWF4KGYsayhtWzFdfHwiIikpO2Y9bD9NYXRoLm1heChmLAorbC5nZXRGdWxsWWVhcigpKTpm
O209bz9NYXRoLm1pbihtLG8uZ2V0RnVsbFllYXIoKSk6bTtmb3IoYi55ZWFyc2h0bWwrPSc8c2Vs
ZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXllYXIiIG9uY2hhbmdlPSJEUF9qUXVlcnlfJytnKyIu
ZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKCcjIitiLmlkKyInLCB0aGlzLCAnWScpO1wiID4i
O2Y8PW07ZisrKWIueWVhcnNodG1sKz0nPG9wdGlvbiB2YWx1ZT0iJytmKyciJysoZj09aj8nIHNl
bGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrZisiPC9vcHRpb24+IjtiLnllYXJzaHRtbCs9Ijwv
c2VsZWN0PiI7cis9Yi55ZWFyc2h0bWw7Yi55ZWFyc2h0bWw9bnVsbH19cis9dGhpcy5fZ2V0KGIs
InllYXJTdWZmaXgiKTtpZihzKXIrPShufHwhKHAmJnEpPyImI3hhMDsiOiIiKSt1O3IrPSI8L2Rp
dj4iO3JldHVybiByfSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oYixmLGope3ZhciBsPWIuZHJh
d1llYXIrKGo9PSJZIj9mOjApLG89Yi5kcmF3TW9udGgrCisoaj09Ik0iP2Y6MCk7Zj1NYXRoLm1p
bihiLnNlbGVjdGVkRGF5LHRoaXMuX2dldERheXNJbk1vbnRoKGwsbykpKyhqPT0iRCI/ZjowKTts
PXRoaXMuX3Jlc3RyaWN0TWluTWF4KGIsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERh
dGUobCxvLGYpKSk7Yi5zZWxlY3RlZERheT1sLmdldERhdGUoKTtiLmRyYXdNb250aD1iLnNlbGVj
dGVkTW9udGg9bC5nZXRNb250aCgpO2IuZHJhd1llYXI9Yi5zZWxlY3RlZFllYXI9bC5nZXRGdWxs
WWVhcigpO2lmKGo9PSJNInx8aj09IlkiKXRoaXMuX25vdGlmeUNoYW5nZShiKX0sX3Jlc3RyaWN0
TWluTWF4OmZ1bmN0aW9uKGIsZil7dmFyIGo9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtaW4iKTti
PXRoaXMuX2dldE1pbk1heERhdGUoYiwibWF4Iik7Zj1qJiZmPGo/ajpmO3JldHVybiBmPWImJmY+
Yj9iOmZ9LF9ub3RpZnlDaGFuZ2U6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fZ2V0KGIsIm9uQ2hh
bmdlTW9udGhZZWFyIik7aWYoZilmLmFwcGx5KGIuaW5wdXQ/CitiLmlucHV0WzBdOm51bGwsW2Iu
c2VsZWN0ZWRZZWFyLGIuc2VsZWN0ZWRNb250aCsxLGJdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1
bmN0aW9uKGIpe2I9dGhpcy5fZ2V0KGIsIm51bWJlck9mTW9udGhzIik7cmV0dXJuIGI9PW51bGw/
WzEsMV06dHlwZW9mIGI9PSJudW1iZXIiP1sxLGJdOmJ9LF9nZXRNaW5NYXhEYXRlOmZ1bmN0aW9u
KGIsZil7cmV0dXJuIHRoaXMuX2RldGVybWluZURhdGUoYix0aGlzLl9nZXQoYixmKyJEYXRlIiks
bnVsbCl9LF9nZXREYXlzSW5Nb250aDpmdW5jdGlvbihiLGYpe3JldHVybiAzMi10aGlzLl9kYXls
aWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShiLGYsMzIpKS5nZXREYXRlKCl9LF9nZXRGaXJzdERh
eU9mTW9udGg6ZnVuY3Rpb24oYixmKXtyZXR1cm4obmV3IERhdGUoYixmLDEpKS5nZXREYXkoKX0s
X2NhbkFkanVzdE1vbnRoOmZ1bmN0aW9uKGIsZixqLGwpe3ZhciBvPXRoaXMuX2dldE51bWJlck9m
TW9udGhzKGIpO2o9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaiwKK2wrKGY8
MD9mOm9bMF0qb1sxXSksMSkpO2Y8MCYmai5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGou
Z2V0RnVsbFllYXIoKSxqLmdldE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGIsail9
LF9pc0luUmFuZ2U6ZnVuY3Rpb24oYixmKXt2YXIgaj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1p
biIpO2I9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtYXgiKTtyZXR1cm4oIWp8fGYuZ2V0VGltZSgp
Pj1qLmdldFRpbWUoKSkmJighYnx8Zi5nZXRUaW1lKCk8PWIuZ2V0VGltZSgpKX0sX2dldEZvcm1h
dENvbmZpZzpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9nZXQoYiwic2hvcnRZZWFyQ3V0b2ZmIik7
Zj10eXBlb2YgZiE9InN0cmluZyI/ZjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNl
SW50KGYsMTApO3JldHVybntzaG9ydFllYXJDdXRvZmY6ZixkYXlOYW1lc1Nob3J0OnRoaXMuX2dl
dChiLCJkYXlOYW1lc1Nob3J0IiksZGF5TmFtZXM6dGhpcy5fZ2V0KGIsCisiZGF5TmFtZXMiKSxt
b250aE5hbWVzU2hvcnQ6dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXNTaG9ydCIpLG1vbnRoTmFtZXM6
dGhpcy5fZ2V0KGIsIm1vbnRoTmFtZXMiKX19LF9mb3JtYXREYXRlOmZ1bmN0aW9uKGIsZixqLGwp
e2lmKCFmKXtiLmN1cnJlbnREYXk9Yi5zZWxlY3RlZERheTtiLmN1cnJlbnRNb250aD1iLnNlbGVj
dGVkTW9udGg7Yi5jdXJyZW50WWVhcj1iLnNlbGVjdGVkWWVhcn1mPWY/dHlwZW9mIGY9PSJvYmpl
Y3QiP2Y6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobCxqLGYpKTp0aGlzLl9k
YXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRo
LGIuY3VycmVudERheSkpO3JldHVybiB0aGlzLmZvcm1hdERhdGUodGhpcy5fZ2V0KGIsImRhdGVG
b3JtYXQiKSxmLHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSl9fSk7YS5mbi5kYXRlcGlja2VyPWZ1
bmN0aW9uKGIpe2lmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczsKK2lmKCFhLmRhdGVwaWNrZXIu
aW5pdGlhbGl6ZWQpe2EoZG9jdW1lbnQpLm1vdXNlZG93bihhLmRhdGVwaWNrZXIuX2NoZWNrRXh0
ZXJuYWxDbGljaykuZmluZCgiYm9keSIpLmFwcGVuZChhLmRhdGVwaWNrZXIuZHBEaXYpO2EuZGF0
ZXBpY2tlci5pbml0aWFsaXplZD10cnVlfXZhciBmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywxKTtpZih0eXBlb2YgYj09InN0cmluZyImJihiPT0iaXNEaXNhYmxlZCJ8fGI9
PSJnZXREYXRlInx8Yj09IndpZGdldCIpKXJldHVybiBhLmRhdGVwaWNrZXJbIl8iK2IrIkRhdGVw
aWNrZXIiXS5hcHBseShhLmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChmKSk7aWYoYj09Im9w
dGlvbiImJmFyZ3VtZW50cy5sZW5ndGg9PTImJnR5cGVvZiBhcmd1bWVudHNbMV09PSJzdHJpbmci
KXJldHVybiBhLmRhdGVwaWNrZXJbIl8iK2IrIkRhdGVwaWNrZXIiXS5hcHBseShhLmRhdGVwaWNr
ZXIsW3RoaXNbMF1dLmNvbmNhdChmKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3R5cGVv
ZiBiPT0KKyJzdHJpbmciP2EuZGF0ZXBpY2tlclsiXyIrYisiRGF0ZXBpY2tlciJdLmFwcGx5KGEu
ZGF0ZXBpY2tlcixbdGhpc10uY29uY2F0KGYpKTphLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNr
ZXIodGhpcyxiKX0pfTthLmRhdGVwaWNrZXI9bmV3IGQ7YS5kYXRlcGlja2VyLmluaXRpYWxpemVk
PWZhbHNlO2EuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2EuZGF0ZXBpY2tl
ci52ZXJzaW9uPSIxLjguMTUiO3dpbmRvd1siRFBfalF1ZXJ5XyIrZ109YX0pKGpRdWVyeSk7Ciso
ZnVuY3Rpb24oYSxjKXt2YXIgZD17YnV0dG9uczp0cnVlLGhlaWdodDp0cnVlLG1heEhlaWdodDp0
cnVlLG1heFdpZHRoOnRydWUsbWluSGVpZ2h0OnRydWUsbWluV2lkdGg6dHJ1ZSx3aWR0aDp0cnVl
fSxlPXttYXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhlaWdodDp0cnVlLG1pbldpZHRo
OnRydWV9LGg9YS5hdHRyRm58fHt2YWw6dHJ1ZSxjc3M6dHJ1ZSxodG1sOnRydWUsdGV4dDp0cnVl
LGRhdGE6dHJ1ZSx3aWR0aDp0cnVlLGhlaWdodDp0cnVlLG9mZnNldDp0cnVlLGNsaWNrOnRydWV9
O2Eud2lkZ2V0KCJ1aS5kaWFsb2ciLHtvcHRpb25zOnthdXRvT3Blbjp0cnVlLGJ1dHRvbnM6e30s
Y2xvc2VPbkVzY2FwZTp0cnVlLGNsb3NlVGV4dDoiY2xvc2UiLGRpYWxvZ0NsYXNzOiIiLGRyYWdn
YWJsZTp0cnVlLGhpZGU6bnVsbCxoZWlnaHQ6ImF1dG8iLG1heEhlaWdodDpmYWxzZSxtYXhXaWR0
aDpmYWxzZSxtaW5IZWlnaHQ6MTUwLG1pbldpZHRoOjE1MCxtb2RhbDpmYWxzZSwKK3Bvc2l0aW9u
OntteToiY2VudGVyIixhdDoiY2VudGVyIixjb2xsaXNpb246ImZpdCIsdXNpbmc6ZnVuY3Rpb24o
Zyl7dmFyIGk9YSh0aGlzKS5jc3MoZykub2Zmc2V0KCkudG9wO2k8MCYmYSh0aGlzKS5jc3MoInRv
cCIsZy50b3AtaSl9fSxyZXNpemFibGU6dHJ1ZSxzaG93Om51bGwsc3RhY2s6dHJ1ZSx0aXRsZToi
Iix3aWR0aDozMDAsekluZGV4OjFFM30sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMub3JpZ2luYWxU
aXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKTtpZih0eXBlb2YgdGhpcy5vcmlnaW5hbFRp
dGxlIT09InN0cmluZyIpdGhpcy5vcmlnaW5hbFRpdGxlPSIiO3RoaXMub3B0aW9ucy50aXRsZT10
aGlzLm9wdGlvbnMudGl0bGV8fHRoaXMub3JpZ2luYWxUaXRsZTt2YXIgZz10aGlzLGk9Zy5vcHRp
b25zLGI9aS50aXRsZXx8IiYjMTYwOyIsZj1hLnVpLmRpYWxvZy5nZXRUaXRsZUlkKGcuZWxlbWVu
dCksaj0oZy51aURpYWxvZz1hKCI8ZGl2PjwvZGl2PiIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5
KS5oaWRlKCkuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQg
dWktY29ybmVyLWFsbCAiKworaS5kaWFsb2dDbGFzcykuY3NzKHt6SW5kZXg6aS56SW5kZXh9KS5h
dHRyKCJ0YWJJbmRleCIsLTEpLmNzcygib3V0bGluZSIsMCkua2V5ZG93bihmdW5jdGlvbihuKXtp
ZihpLmNsb3NlT25Fc2NhcGUmJm4ua2V5Q29kZSYmbi5rZXlDb2RlPT09YS51aS5rZXlDb2RlLkVT
Q0FQRSl7Zy5jbG9zZShuKTtuLnByZXZlbnREZWZhdWx0KCl9fSkuYXR0cih7cm9sZToiZGlhbG9n
IiwiYXJpYS1sYWJlbGxlZGJ5IjpmfSkubW91c2Vkb3duKGZ1bmN0aW9uKG4pe2cubW92ZVRvVG9w
KGZhbHNlLG4pfSk7Zy5lbGVtZW50LnNob3coKS5yZW1vdmVBdHRyKCJ0aXRsZSIpLmFkZENsYXNz
KCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmFwcGVuZFRvKGopO3ZhciBs
PShnLnVpRGlhbG9nVGl0bGViYXI9YSgiPGRpdj48L2Rpdj4iKSkuYWRkQ2xhc3MoInVpLWRpYWxv
Zy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWNsZWFy
Zml4IikucHJlcGVuZFRvKGopLAorbz1hKCc8YSBocmVmPSIjIj48L2E+JykuYWRkQ2xhc3MoInVp
LWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRv
biIpLmhvdmVyKGZ1bmN0aW9uKCl7by5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rp
b24oKXtvLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtv
LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmx1cihmdW5jdGlvbigpe28ucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLWZvY3VzIil9KS5jbGljayhmdW5jdGlvbihuKXtnLmNsb3NlKG4pO3JldHVy
biBmYWxzZX0pLmFwcGVuZFRvKGwpOyhnLnVpRGlhbG9nVGl0bGViYXJDbG9zZVRleHQ9YSgiPHNw
YW4+PC9zcGFuPiIpKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siKS50ZXh0
KGkuY2xvc2VUZXh0KS5hcHBlbmRUbyhvKTthKCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVp
LWRpYWxvZy10aXRsZSIpLmF0dHIoImlkIiwKK2YpLmh0bWwoYikucHJlcGVuZFRvKGwpO2lmKGEu
aXNGdW5jdGlvbihpLmJlZm9yZWNsb3NlKSYmIWEuaXNGdW5jdGlvbihpLmJlZm9yZUNsb3NlKSlp
LmJlZm9yZUNsb3NlPWkuYmVmb3JlY2xvc2U7bC5maW5kKCIqIikuYWRkKGwpLmRpc2FibGVTZWxl
Y3Rpb24oKTtpLmRyYWdnYWJsZSYmYS5mbi5kcmFnZ2FibGUmJmcuX21ha2VEcmFnZ2FibGUoKTtp
LnJlc2l6YWJsZSYmYS5mbi5yZXNpemFibGUmJmcuX21ha2VSZXNpemFibGUoKTtnLl9jcmVhdGVC
dXR0b25zKGkuYnV0dG9ucyk7Zy5faXNPcGVuPWZhbHNlO2EuZm4uYmdpZnJhbWUmJmouYmdpZnJh
bWUoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0b09wZW4mJnRoaXMub3Blbigp
fSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGc9dGhpcztnLm92ZXJsYXkmJmcub3ZlcmxheS5kZXN0
cm95KCk7Zy51aURpYWxvZy5oaWRlKCk7Zy5lbGVtZW50LnVuYmluZCgiLmRpYWxvZyIpLnJlbW92
ZURhdGEoImRpYWxvZyIpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQt
Y29udGVudCIpLmhpZGUoKS5hcHBlbmRUbygiYm9keSIpOworZy51aURpYWxvZy5yZW1vdmUoKTtn
Lm9yaWdpbmFsVGl0bGUmJmcuZWxlbWVudC5hdHRyKCJ0aXRsZSIsZy5vcmlnaW5hbFRpdGxlKTty
ZXR1cm4gZ30sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWlEaWFsb2d9LGNsb3NlOmZ1
bmN0aW9uKGcpe3ZhciBpPXRoaXMsYixmO2lmKGZhbHNlIT09aS5fdHJpZ2dlcigiYmVmb3JlQ2xv
c2UiLGcpKXtpLm92ZXJsYXkmJmkub3ZlcmxheS5kZXN0cm95KCk7aS51aURpYWxvZy51bmJpbmQo
ImtleXByZXNzLnVpLWRpYWxvZyIpO2kuX2lzT3Blbj1mYWxzZTtpZihpLm9wdGlvbnMuaGlkZSlp
LnVpRGlhbG9nLmhpZGUoaS5vcHRpb25zLmhpZGUsZnVuY3Rpb24oKXtpLl90cmlnZ2VyKCJjbG9z
ZSIsZyl9KTtlbHNle2kudWlEaWFsb2cuaGlkZSgpO2kuX3RyaWdnZXIoImNsb3NlIixnKX1hLnVp
LmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpO2lmKGkub3B0aW9ucy5tb2RhbCl7Yj0wO2EoIi51aS1k
aWFsb2ciKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcyE9PQoraS51aURpYWxvZ1swXSl7Zj1hKHRo
aXMpLmNzcygiei1pbmRleCIpO2lzTmFOKGYpfHwoYj1NYXRoLm1heChiLGYpKX19KTthLnVpLmRp
YWxvZy5tYXhaPWJ9cmV0dXJuIGl9fSxpc09wZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNP
cGVufSxtb3ZlVG9Ub3A6ZnVuY3Rpb24oZyxpKXt2YXIgYj10aGlzLGY9Yi5vcHRpb25zO2lmKGYu
bW9kYWwmJiFnfHwhZi5zdGFjayYmIWYubW9kYWwpcmV0dXJuIGIuX3RyaWdnZXIoImZvY3VzIixp
KTtpZihmLnpJbmRleD5hLnVpLmRpYWxvZy5tYXhaKWEudWkuZGlhbG9nLm1heFo9Zi56SW5kZXg7
aWYoYi5vdmVybGF5KXthLnVpLmRpYWxvZy5tYXhaKz0xO2Iub3ZlcmxheS4kZWwuY3NzKCJ6LWlu
ZGV4IixhLnVpLmRpYWxvZy5vdmVybGF5Lm1heFo9YS51aS5kaWFsb2cubWF4Wil9Zz17c2Nyb2xs
VG9wOmIuZWxlbWVudC5zY3JvbGxUb3AoKSxzY3JvbGxMZWZ0OmIuZWxlbWVudC5zY3JvbGxMZWZ0
KCl9O2EudWkuZGlhbG9nLm1heForPTE7CitiLnVpRGlhbG9nLmNzcygiei1pbmRleCIsYS51aS5k
aWFsb2cubWF4Wik7Yi5lbGVtZW50LmF0dHIoZyk7Yi5fdHJpZ2dlcigiZm9jdXMiLGkpO3JldHVy
biBifSxvcGVuOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2lzT3Blbil7dmFyIGc9dGhpcyxpPWcub3B0
aW9ucyxiPWcudWlEaWFsb2c7Zy5vdmVybGF5PWkubW9kYWw/bmV3IGEudWkuZGlhbG9nLm92ZXJs
YXkoZyk6bnVsbDtnLl9zaXplKCk7Zy5fcG9zaXRpb24oaS5wb3NpdGlvbik7Yi5zaG93KGkuc2hv
dyk7Zy5tb3ZlVG9Ub3AodHJ1ZSk7aS5tb2RhbCYmYi5iaW5kKCJrZXlwcmVzcy51aS1kaWFsb2ci
LGZ1bmN0aW9uKGYpe2lmKGYua2V5Q29kZT09PWEudWkua2V5Q29kZS5UQUIpe3ZhciBqPWEoIjp0
YWJiYWJsZSIsdGhpcyksbD1qLmZpbHRlcigiOmZpcnN0Iik7aj1qLmZpbHRlcigiOmxhc3QiKTtp
ZihmLnRhcmdldD09PWpbMF0mJiFmLnNoaWZ0S2V5KXtsLmZvY3VzKDEpO3JldHVybiBmYWxzZX1l
bHNlIGlmKGYudGFyZ2V0PT09CitsWzBdJiZmLnNoaWZ0S2V5KXtqLmZvY3VzKDEpO3JldHVybiBm
YWxzZX19fSk7YShnLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIikuZ2V0KCkuY29uY2F0KGIuZmlu
ZCgiLnVpLWRpYWxvZy1idXR0b25wYW5lIDp0YWJiYWJsZSIpLmdldCgpLmNvbmNhdChiLmdldCgp
KSkpLmVxKDApLmZvY3VzKCk7Zy5faXNPcGVuPXRydWU7Zy5fdHJpZ2dlcigib3BlbiIpO3JldHVy
biBnfX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oZyl7dmFyIGk9dGhpcyxiPWZhbHNlLGY9YSgi
PGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNv
bnRlbnQgdWktaGVscGVyLWNsZWFyZml4Iiksaj1hKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1
aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8oZik7aS51aURpYWxvZy5maW5kKCIudWktZGlh
bG9nLWJ1dHRvbnBhbmUiKS5yZW1vdmUoKTt0eXBlb2YgZz09PSJvYmplY3QiJiZnIT09bnVsbCYm
YS5lYWNoKGcsCitmdW5jdGlvbigpe3JldHVybiEoYj10cnVlKX0pO2lmKGIpe2EuZWFjaChnLGZ1
bmN0aW9uKGwsbyl7bz1hLmlzRnVuY3Rpb24obyk/e2NsaWNrOm8sdGV4dDpsfTpvO3ZhciBuPWEo
JzxidXR0b24gdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4nKS5jbGljayhmdW5jdGlvbigpe28uY2xp
Y2suYXBwbHkoaS5lbGVtZW50WzBdLGFyZ3VtZW50cyl9KS5hcHBlbmRUbyhqKTthLmVhY2gobyxm
dW5jdGlvbihrLG0pe2lmKGshPT0iY2xpY2siKWsgaW4gaD9uW2tdKG0pOm4uYXR0cihrLG0pfSk7
YS5mbi5idXR0b24mJm4uYnV0dG9uKCl9KTtmLmFwcGVuZFRvKGkudWlEaWFsb2cpfX0sX21ha2VE
cmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGwpe3JldHVybntwb3NpdGlvbjpsLnBvc2l0
aW9uLG9mZnNldDpsLm9mZnNldH19dmFyIGk9dGhpcyxiPWkub3B0aW9ucyxmPWEoZG9jdW1lbnQp
LGo7aS51aURpYWxvZy5kcmFnZ2FibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50LCAudWkt
ZGlhbG9nLXRpdGxlYmFyLWNsb3NlIiwKK2hhbmRsZToiLnVpLWRpYWxvZy10aXRsZWJhciIsY29u
dGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihsLG8pe2o9Yi5oZWlnaHQ9PT0iYXV0
byI/ImF1dG8iOmEodGhpcykuaGVpZ2h0KCk7YSh0aGlzKS5oZWlnaHQoYSh0aGlzKS5oZWlnaHQo
KSkuYWRkQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpO2kuX3RyaWdnZXIoImRyYWdTdGFydCIs
bCxnKG8pKX0sZHJhZzpmdW5jdGlvbihsLG8pe2kuX3RyaWdnZXIoImRyYWciLGwsZyhvKSl9LHN0
b3A6ZnVuY3Rpb24obCxvKXtiLnBvc2l0aW9uPVtvLnBvc2l0aW9uLmxlZnQtZi5zY3JvbGxMZWZ0
KCksby5wb3NpdGlvbi50b3AtZi5zY3JvbGxUb3AoKV07YSh0aGlzKS5yZW1vdmVDbGFzcygidWkt
ZGlhbG9nLWRyYWdnaW5nIikuaGVpZ2h0KGopO2kuX3RyaWdnZXIoImRyYWdTdG9wIixsLGcobykp
O2EudWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKCl9fSl9LF9tYWtlUmVzaXphYmxlOmZ1bmN0aW9u
KGcpe2Z1bmN0aW9uIGkobCl7cmV0dXJue29yaWdpbmFsUG9zaXRpb246bC5vcmlnaW5hbFBvc2l0
aW9uLAorb3JpZ2luYWxTaXplOmwub3JpZ2luYWxTaXplLHBvc2l0aW9uOmwucG9zaXRpb24sc2l6
ZTpsLnNpemV9fWc9Zz09PWM/dGhpcy5vcHRpb25zLnJlc2l6YWJsZTpnO3ZhciBiPXRoaXMsZj1i
Lm9wdGlvbnMsaj1iLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKTtnPXR5cGVvZiBnPT09InN0cmlu
ZyI/ZzoibixlLHMsdyxzZSxzdyxuZSxudyI7Yi51aURpYWxvZy5yZXNpemFibGUoe2NhbmNlbDoi
LnVpLWRpYWxvZy1jb250ZW50Iixjb250YWlubWVudDoiZG9jdW1lbnQiLGFsc29SZXNpemU6Yi5l
bGVtZW50LG1heFdpZHRoOmYubWF4V2lkdGgsbWF4SGVpZ2h0OmYubWF4SGVpZ2h0LG1pbldpZHRo
OmYubWluV2lkdGgsbWluSGVpZ2h0OmIuX21pbkhlaWdodCgpLGhhbmRsZXM6ZyxzdGFydDpmdW5j
dGlvbihsLG8pe2EodGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2IuX3RyaWdn
ZXIoInJlc2l6ZVN0YXJ0IixsLGkobykpfSxyZXNpemU6ZnVuY3Rpb24obCxvKXtiLl90cmlnZ2Vy
KCJyZXNpemUiLAorbCxpKG8pKX0sc3RvcDpmdW5jdGlvbihsLG8pe2EodGhpcykucmVtb3ZlQ2xh
c3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2YuaGVpZ2h0PWEodGhpcykuaGVpZ2h0KCk7Zi53aWR0
aD1hKHRoaXMpLndpZHRoKCk7Yi5fdHJpZ2dlcigicmVzaXplU3RvcCIsbCxpKG8pKTthLnVpLmRp
YWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pLmNzcygicG9zaXRpb24iLGopLmZpbmQoIi51aS1yZXNp
emFibGUtc2UiKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UiKX0s
X21pbkhlaWdodDpmdW5jdGlvbigpe3ZhciBnPXRoaXMub3B0aW9ucztyZXR1cm4gZy5oZWlnaHQ9
PT0iYXV0byI/Zy5taW5IZWlnaHQ6TWF0aC5taW4oZy5taW5IZWlnaHQsZy5oZWlnaHQpfSxfcG9z
aXRpb246ZnVuY3Rpb24oZyl7dmFyIGk9W10sYj1bMCwwXSxmO2lmKGcpe2lmKHR5cGVvZiBnPT09
InN0cmluZyJ8fHR5cGVvZiBnPT09Im9iamVjdCImJiIwImluIGcpe2k9Zy5zcGxpdD9nLnNwbGl0
KCIgIik6CitbZ1swXSxnWzFdXTtpZihpLmxlbmd0aD09PTEpaVsxXT1pWzBdO2EuZWFjaChbImxl
ZnQiLCJ0b3AiXSxmdW5jdGlvbihqLGwpe2lmKCtpW2pdPT09aVtqXSl7YltqXT1pW2pdO2lbal09
bH19KTtnPXtteTppLmpvaW4oIiAiKSxhdDppLmpvaW4oIiAiKSxvZmZzZXQ6Yi5qb2luKCIgIil9
fWc9YS5leHRlbmQoe30sYS51aS5kaWFsb2cucHJvdG90eXBlLm9wdGlvbnMucG9zaXRpb24sZyl9
ZWxzZSBnPWEudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBvc2l0aW9uOyhmPXRoaXMudWlE
aWFsb2cuaXMoIjp2aXNpYmxlIikpfHx0aGlzLnVpRGlhbG9nLnNob3coKTt0aGlzLnVpRGlhbG9n
LmNzcyh7dG9wOjAsbGVmdDowfSkucG9zaXRpb24oYS5leHRlbmQoe29mOndpbmRvd30sZykpO2Z8
fHRoaXMudWlEaWFsb2cuaGlkZSgpfSxfc2V0T3B0aW9uczpmdW5jdGlvbihnKXt2YXIgaT10aGlz
LGI9e30sZj1mYWxzZTthLmVhY2goZyxmdW5jdGlvbihqLGwpe2kuX3NldE9wdGlvbihqLGwpOwor
aWYoaiBpbiBkKWY9dHJ1ZTtpZihqIGluIGUpYltqXT1sfSk7ZiYmdGhpcy5fc2l6ZSgpO3RoaXMu
dWlEaWFsb2cuaXMoIjpkYXRhKHJlc2l6YWJsZSkiKSYmdGhpcy51aURpYWxvZy5yZXNpemFibGUo
Im9wdGlvbiIsYil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZyxpKXt2YXIgYj10aGlzLGY9Yi51aURp
YWxvZztzd2l0Y2goZyl7Y2FzZSAiYmVmb3JlY2xvc2UiOmc9ImJlZm9yZUNsb3NlIjticmVhaztj
YXNlICJidXR0b25zIjpiLl9jcmVhdGVCdXR0b25zKGkpO2JyZWFrO2Nhc2UgImNsb3NlVGV4dCI6
Yi51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0LnRleHQoIiIraSk7YnJlYWs7Y2FzZSAiZGlhbG9n
Q2xhc3MiOmYucmVtb3ZlQ2xhc3MoYi5vcHRpb25zLmRpYWxvZ0NsYXNzKS5hZGRDbGFzcygidWkt
ZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsICIraSk7YnJl
YWs7Y2FzZSAiZGlzYWJsZWQiOmk/Zi5hZGRDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik6Citm
LnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctZGlzYWJsZWQiKTticmVhaztjYXNlICJkcmFnZ2FibGUi
OnZhciBqPWYuaXMoIjpkYXRhKGRyYWdnYWJsZSkiKTtqJiYhaSYmZi5kcmFnZ2FibGUoImRlc3Ry
b3kiKTshaiYmaSYmYi5fbWFrZURyYWdnYWJsZSgpO2JyZWFrO2Nhc2UgInBvc2l0aW9uIjpiLl9w
b3NpdGlvbihpKTticmVhaztjYXNlICJyZXNpemFibGUiOihqPWYuaXMoIjpkYXRhKHJlc2l6YWJs
ZSkiKSkmJiFpJiZmLnJlc2l6YWJsZSgiZGVzdHJveSIpO2omJnR5cGVvZiBpPT09InN0cmluZyIm
JmYucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIixpKTshaiYmaSE9PWZhbHNlJiZiLl9tYWtl
UmVzaXphYmxlKGkpO2JyZWFrO2Nhc2UgInRpdGxlIjphKCIudWktZGlhbG9nLXRpdGxlIixiLnVp
RGlhbG9nVGl0bGViYXIpLmh0bWwoIiIrKGl8fCImIzE2MDsiKSk7YnJlYWt9YS5XaWRnZXQucHJv
dG90eXBlLl9zZXRPcHRpb24uYXBwbHkoYixhcmd1bWVudHMpfSxfc2l6ZTpmdW5jdGlvbigpe3Zh
ciBnPQordGhpcy5vcHRpb25zLGksYixmPXRoaXMudWlEaWFsb2cuaXMoIjp2aXNpYmxlIik7dGhp
cy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5IZWlnaHQ6MCxoZWlnaHQ6MH0p
O2lmKGcubWluV2lkdGg+Zy53aWR0aClnLndpZHRoPWcubWluV2lkdGg7aT10aGlzLnVpRGlhbG9n
LmNzcyh7aGVpZ2h0OiJhdXRvIix3aWR0aDpnLndpZHRofSkuaGVpZ2h0KCk7Yj1NYXRoLm1heCgw
LGcubWluSGVpZ2h0LWkpO2lmKGcuaGVpZ2h0PT09ImF1dG8iKWlmKGEuc3VwcG9ydC5taW5IZWln
aHQpdGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OmIsaGVpZ2h0OiJhdXRvIn0pO2Vsc2V7dGhp
cy51aURpYWxvZy5zaG93KCk7Zz10aGlzLmVsZW1lbnQuY3NzKCJoZWlnaHQiLCJhdXRvIikuaGVp
Z2h0KCk7Znx8dGhpcy51aURpYWxvZy5oaWRlKCk7dGhpcy5lbGVtZW50LmhlaWdodChNYXRoLm1h
eChnLGIpKX1lbHNlIHRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoZy5oZWlnaHQtCitpLDAp
KTt0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cucmVz
aXphYmxlKCJvcHRpb24iLCJtaW5IZWlnaHQiLHRoaXMuX21pbkhlaWdodCgpKX19KTthLmV4dGVu
ZChhLnVpLmRpYWxvZyx7dmVyc2lvbjoiMS44LjE1Iix1dWlkOjAsbWF4WjowLGdldFRpdGxlSWQ6
ZnVuY3Rpb24oZyl7Zz1nLmF0dHIoImlkIik7aWYoIWcpe3RoaXMudXVpZCs9MTtnPXRoaXMudXVp
ZH1yZXR1cm4idWktZGlhbG9nLXRpdGxlLSIrZ30sb3ZlcmxheTpmdW5jdGlvbihnKXt0aGlzLiRl
bD1hLnVpLmRpYWxvZy5vdmVybGF5LmNyZWF0ZShnKX19KTthLmV4dGVuZChhLnVpLmRpYWxvZy5v
dmVybGF5LHtpbnN0YW5jZXM6W10sb2xkSW5zdGFuY2VzOltdLG1heFo6MCxldmVudHM6YS5tYXAo
ImZvY3VzLG1vdXNlZG93bixtb3VzZXVwLGtleWRvd24sa2V5cHJlc3MsY2xpY2siLnNwbGl0KCIs
IiksZnVuY3Rpb24oZyl7cmV0dXJuIGcrIi5kaWFsb2ctb3ZlcmxheSJ9KS5qb2luKCIgIiksCitj
cmVhdGU6ZnVuY3Rpb24oZyl7aWYodGhpcy5pbnN0YW5jZXMubGVuZ3RoPT09MCl7c2V0VGltZW91
dChmdW5jdGlvbigpe2EudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFuY2VzLmxlbmd0aCYmYShkb2N1
bWVudCkuYmluZChhLnVpLmRpYWxvZy5vdmVybGF5LmV2ZW50cyxmdW5jdGlvbihiKXtpZihhKGIu
dGFyZ2V0KS56SW5kZXgoKTxhLnVpLmRpYWxvZy5vdmVybGF5Lm1heFopcmV0dXJuIGZhbHNlfSl9
LDEpO2EoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZGlhbG9nLW92ZXJsYXkiLGZ1bmN0aW9uKGIp
e2lmKGcub3B0aW9ucy5jbG9zZU9uRXNjYXBlJiZiLmtleUNvZGUmJmIua2V5Q29kZT09PWEudWku
a2V5Q29kZS5FU0NBUEUpe2cuY2xvc2UoYik7Yi5wcmV2ZW50RGVmYXVsdCgpfX0pO2Eod2luZG93
KS5iaW5kKCJyZXNpemUuZGlhbG9nLW92ZXJsYXkiLGEudWkuZGlhbG9nLm92ZXJsYXkucmVzaXpl
KX12YXIgaT0odGhpcy5vbGRJbnN0YW5jZXMucG9wKCl8fGEoIjxkaXY+PC9kaXY+IikuYWRkQ2xh
c3MoInVpLXdpZGdldC1vdmVybGF5IikpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLmNzcyh7d2lk
dGg6dGhpcy53aWR0aCgpLAoraGVpZ2h0OnRoaXMuaGVpZ2h0KCl9KTthLmZuLmJnaWZyYW1lJiZp
LmJnaWZyYW1lKCk7dGhpcy5pbnN0YW5jZXMucHVzaChpKTtyZXR1cm4gaX0sZGVzdHJveTpmdW5j
dGlvbihnKXt2YXIgaT1hLmluQXJyYXkoZyx0aGlzLmluc3RhbmNlcyk7aSE9LTEmJnRoaXMub2xk
SW5zdGFuY2VzLnB1c2godGhpcy5pbnN0YW5jZXMuc3BsaWNlKGksMSlbMF0pO3RoaXMuaW5zdGFu
Y2VzLmxlbmd0aD09PTAmJmEoW2RvY3VtZW50LHdpbmRvd10pLnVuYmluZCgiLmRpYWxvZy1vdmVy
bGF5Iik7Zy5yZW1vdmUoKTt2YXIgYj0wO2EuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbigp
e2I9TWF0aC5tYXgoYix0aGlzLmNzcygiei1pbmRleCIpKX0pO3RoaXMubWF4Wj1ifSxoZWlnaHQ6
ZnVuY3Rpb24oKXt2YXIgZyxpO2lmKGEuYnJvd3Nlci5tc2llJiZhLmJyb3dzZXIudmVyc2lvbjw3
KXtnPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsZG9jdW1l
bnQuYm9keS5zY3JvbGxIZWlnaHQpOworaT1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQub2Zmc2V0SGVpZ2h0LGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0KTtyZXR1cm4gZzxpP2Eo
d2luZG93KS5oZWlnaHQoKSsicHgiOmcrInB4In1lbHNlIHJldHVybiBhKGRvY3VtZW50KS5oZWln
aHQoKSsicHgifSx3aWR0aDpmdW5jdGlvbigpe3ZhciBnLGk7aWYoYS5icm93c2VyLm1zaWUpe2c9
TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoLGRvY3VtZW50LmJv
ZHkuc2Nyb2xsV2lkdGgpO2k9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNl
dFdpZHRoLGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO3JldHVybiBnPGk/YSh3aW5kb3cpLndp
ZHRoKCkrInB4IjpnKyJweCJ9ZWxzZSByZXR1cm4gYShkb2N1bWVudCkud2lkdGgoKSsicHgifSxy
ZXNpemU6ZnVuY3Rpb24oKXt2YXIgZz1hKFtdKTthLmVhY2goYS51aS5kaWFsb2cub3ZlcmxheS5p
bnN0YW5jZXMsZnVuY3Rpb24oKXtnPQorZy5hZGQodGhpcyl9KTtnLmNzcyh7d2lkdGg6MCxoZWln
aHQ6MH0pLmNzcyh7d2lkdGg6YS51aS5kaWFsb2cub3ZlcmxheS53aWR0aCgpLGhlaWdodDphLnVp
LmRpYWxvZy5vdmVybGF5LmhlaWdodCgpfSl9fSk7YS5leHRlbmQoYS51aS5kaWFsb2cub3Zlcmxh
eS5wcm90b3R5cGUse2Rlc3Ryb3k6ZnVuY3Rpb24oKXthLnVpLmRpYWxvZy5vdmVybGF5LmRlc3Ry
b3kodGhpcy4kZWwpfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLnVpPWEudWl8fHt9O3Zh
ciBjPS9sZWZ0fGNlbnRlcnxyaWdodC8sZD0vdG9wfGNlbnRlcnxib3R0b20vLGU9YS5mbi5wb3Np
dGlvbixoPWEuZm4ub2Zmc2V0O2EuZm4ucG9zaXRpb249ZnVuY3Rpb24oZyl7aWYoIWd8fCFnLm9m
KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtnPWEuZXh0ZW5kKHt9LGcpO3ZhciBpPWEo
Zy5vZiksYj1pWzBdLGY9KGcuY29sbGlzaW9ufHwiZmxpcCIpLnNwbGl0KCIgIiksaj1nLm9mZnNl
dD9nLm9mZnNldC5zcGxpdCgiICIpOlswLDBdLGwsbyxuO2lmKGIubm9kZVR5cGU9PT05KXtsPWku
d2lkdGgoKTtvPWkuaGVpZ2h0KCk7bj17dG9wOjAsbGVmdDowfX1lbHNlIGlmKGIuc2V0VGltZW91
dCl7bD1pLndpZHRoKCk7bz1pLmhlaWdodCgpO249e3RvcDppLnNjcm9sbFRvcCgpLGxlZnQ6aS5z
Y3JvbGxMZWZ0KCl9fWVsc2UgaWYoYi5wcmV2ZW50RGVmYXVsdCl7Zy5hdD0ibGVmdCB0b3AiO2w9
bz0wO249e3RvcDpnLm9mLnBhZ2VZLAorbGVmdDpnLm9mLnBhZ2VYfX1lbHNle2w9aS5vdXRlcldp
ZHRoKCk7bz1pLm91dGVySGVpZ2h0KCk7bj1pLm9mZnNldCgpfWEuZWFjaChbIm15IiwiYXQiXSxm
dW5jdGlvbigpe3ZhciBrPShnW3RoaXNdfHwiIikuc3BsaXQoIiAiKTtpZihrLmxlbmd0aD09PTEp
az1jLnRlc3Qoa1swXSk/ay5jb25jYXQoWyJjZW50ZXIiXSk6ZC50ZXN0KGtbMF0pP1siY2VudGVy
Il0uY29uY2F0KGspOlsiY2VudGVyIiwiY2VudGVyIl07a1swXT1jLnRlc3Qoa1swXSk/a1swXToi
Y2VudGVyIjtrWzFdPWQudGVzdChrWzFdKT9rWzFdOiJjZW50ZXIiO2dbdGhpc109a30pO2lmKGYu
bGVuZ3RoPT09MSlmWzFdPWZbMF07alswXT1wYXJzZUludChqWzBdLDEwKXx8MDtpZihqLmxlbmd0
aD09PTEpalsxXT1qWzBdO2pbMV09cGFyc2VJbnQoalsxXSwxMCl8fDA7aWYoZy5hdFswXT09PSJy
aWdodCIpbi5sZWZ0Kz1sO2Vsc2UgaWYoZy5hdFswXT09PSJjZW50ZXIiKW4ubGVmdCs9bC8yO2lm
KGcuYXRbMV09PT0iYm90dG9tIiluLnRvcCs9CitvO2Vsc2UgaWYoZy5hdFsxXT09PSJjZW50ZXIi
KW4udG9wKz1vLzI7bi5sZWZ0Kz1qWzBdO24udG9wKz1qWzFdO3JldHVybiB0aGlzLmVhY2goZnVu
Y3Rpb24oKXt2YXIgaz1hKHRoaXMpLG09ay5vdXRlcldpZHRoKCkscD1rLm91dGVySGVpZ2h0KCks
cT1wYXJzZUludChhLmN1ckNTUyh0aGlzLCJtYXJnaW5MZWZ0Iix0cnVlKSl8fDAscz1wYXJzZUlu
dChhLmN1ckNTUyh0aGlzLCJtYXJnaW5Ub3AiLHRydWUpKXx8MCxyPW0rcSsocGFyc2VJbnQoYS5j
dXJDU1ModGhpcywibWFyZ2luUmlnaHQiLHRydWUpKXx8MCksdT1wK3MrKHBhcnNlSW50KGEuY3Vy
Q1NTKHRoaXMsIm1hcmdpbkJvdHRvbSIsdHJ1ZSkpfHwwKSx2PWEuZXh0ZW5kKHt9LG4pLHc7aWYo
Zy5teVswXT09PSJyaWdodCIpdi5sZWZ0LT1tO2Vsc2UgaWYoZy5teVswXT09PSJjZW50ZXIiKXYu
bGVmdC09bS8yO2lmKGcubXlbMV09PT0iYm90dG9tIil2LnRvcC09cDtlbHNlIGlmKGcubXlbMV09
PT0iY2VudGVyIil2LnRvcC09CitwLzI7di5sZWZ0PU1hdGgucm91bmQodi5sZWZ0KTt2LnRvcD1N
YXRoLnJvdW5kKHYudG9wKTt3PXtsZWZ0OnYubGVmdC1xLHRvcDp2LnRvcC1zfTthLmVhY2goWyJs
ZWZ0IiwidG9wIl0sZnVuY3Rpb24oeCx5KXthLnVpLnBvc2l0aW9uW2ZbeF1dJiZhLnVpLnBvc2l0
aW9uW2ZbeF1dW3ldKHYse3RhcmdldFdpZHRoOmwsdGFyZ2V0SGVpZ2h0Om8sZWxlbVdpZHRoOm0s
ZWxlbUhlaWdodDpwLGNvbGxpc2lvblBvc2l0aW9uOncsY29sbGlzaW9uV2lkdGg6cixjb2xsaXNp
b25IZWlnaHQ6dSxvZmZzZXQ6aixteTpnLm15LGF0OmcuYXR9KX0pO2EuZm4uYmdpZnJhbWUmJmsu
YmdpZnJhbWUoKTtrLm9mZnNldChhLmV4dGVuZCh2LHt1c2luZzpnLnVzaW5nfSkpfSl9O2EudWku
cG9zaXRpb249e2ZpdDp7bGVmdDpmdW5jdGlvbihnLGkpe3ZhciBiPWEod2luZG93KTtiPWkuY29s
bGlzaW9uUG9zaXRpb24ubGVmdCtpLmNvbGxpc2lvbldpZHRoLWIud2lkdGgoKS1iLnNjcm9sbExl
ZnQoKTtnLmxlZnQ9CitiPjA/Zy5sZWZ0LWI6TWF0aC5tYXgoZy5sZWZ0LWkuY29sbGlzaW9uUG9z
aXRpb24ubGVmdCxnLmxlZnQpfSx0b3A6ZnVuY3Rpb24oZyxpKXt2YXIgYj1hKHdpbmRvdyk7Yj1p
LmNvbGxpc2lvblBvc2l0aW9uLnRvcCtpLmNvbGxpc2lvbkhlaWdodC1iLmhlaWdodCgpLWIuc2Ny
b2xsVG9wKCk7Zy50b3A9Yj4wP2cudG9wLWI6TWF0aC5tYXgoZy50b3AtaS5jb2xsaXNpb25Qb3Np
dGlvbi50b3AsZy50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbihnLGkpe2lmKGkuYXRbMF0hPT0i
Y2VudGVyIil7dmFyIGI9YSh3aW5kb3cpO2I9aS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2kuY29s
bGlzaW9uV2lkdGgtYi53aWR0aCgpLWIuc2Nyb2xsTGVmdCgpO3ZhciBmPWkubXlbMF09PT0ibGVm
dCI/LWkuZWxlbVdpZHRoOmkubXlbMF09PT0icmlnaHQiP2kuZWxlbVdpZHRoOjAsaj1pLmF0WzBd
PT09ImxlZnQiP2kudGFyZ2V0V2lkdGg6LWkudGFyZ2V0V2lkdGgsbD0tMippLm9mZnNldFswXTtn
LmxlZnQrPQoraS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0PDA/ZitqK2w6Yj4wP2YraitsOjB9fSx0
b3A6ZnVuY3Rpb24oZyxpKXtpZihpLmF0WzFdIT09ImNlbnRlciIpe3ZhciBiPWEod2luZG93KTti
PWkuY29sbGlzaW9uUG9zaXRpb24udG9wK2kuY29sbGlzaW9uSGVpZ2h0LWIuaGVpZ2h0KCktYi5z
Y3JvbGxUb3AoKTt2YXIgZj1pLm15WzFdPT09InRvcCI/LWkuZWxlbUhlaWdodDppLm15WzFdPT09
ImJvdHRvbSI/aS5lbGVtSGVpZ2h0OjAsaj1pLmF0WzFdPT09InRvcCI/aS50YXJnZXRIZWlnaHQ6
LWkudGFyZ2V0SGVpZ2h0LGw9LTIqaS5vZmZzZXRbMV07Zy50b3ArPWkuY29sbGlzaW9uUG9zaXRp
b24udG9wPDA/ZitqK2w6Yj4wP2YraitsOjB9fX19O2lmKCFhLm9mZnNldC5zZXRPZmZzZXQpe2Eu
b2Zmc2V0LnNldE9mZnNldD1mdW5jdGlvbihnLGkpe2lmKC9zdGF0aWMvLnRlc3QoYS5jdXJDU1Mo
ZywicG9zaXRpb24iKSkpZy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3ZhciBiPWEoZyksCitm
PWIub2Zmc2V0KCksaj1wYXJzZUludChhLmN1ckNTUyhnLCJ0b3AiLHRydWUpLDEwKXx8MCxsPXBh
cnNlSW50KGEuY3VyQ1NTKGcsImxlZnQiLHRydWUpLDEwKXx8MDtmPXt0b3A6aS50b3AtZi50b3Ar
aixsZWZ0OmkubGVmdC1mLmxlZnQrbH07InVzaW5nImluIGk/aS51c2luZy5jYWxsKGcsZik6Yi5j
c3MoZil9O2EuZm4ub2Zmc2V0PWZ1bmN0aW9uKGcpe3ZhciBpPXRoaXNbMF07aWYoIWl8fCFpLm93
bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoZylyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7
YS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZyl9KTtyZXR1cm4gaC5jYWxsKHRoaXMpfX19KShqUXVl
cnkpOworKGZ1bmN0aW9uKGEsYyl7YS53aWRnZXQoInVpLnByb2dyZXNzYmFyIix7b3B0aW9uczp7
dmFsdWU6MCxtYXg6MTAwfSxtaW46MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFk
ZENsYXNzKCJ1aS1wcm9ncmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWFsbCIpLmF0dHIoe3JvbGU6InByb2dyZXNzYmFyIiwiYXJpYS12YWx1ZW1pbiI6dGhpcy5t
aW4sImFyaWEtdmFsdWVtYXgiOnRoaXMub3B0aW9ucy5tYXgsImFyaWEtdmFsdWVub3ciOnRoaXMu
X3ZhbHVlKCl9KTt0aGlzLnZhbHVlRGl2PWEoIjxkaXYgY2xhc3M9J3VpLXByb2dyZXNzYmFyLXZh
bHVlIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWxlZnQnPjwvZGl2PiIpLmFwcGVuZFRvKHRo
aXMuZWxlbWVudCk7dGhpcy5vbGRWYWx1ZT10aGlzLl92YWx1ZSgpO3RoaXMuX3JlZnJlc2hWYWx1
ZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1wcm9n
cmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLnJlbW92
ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbWluIikucmVtb3ZlQXR0cigiYXJp
YS12YWx1ZW1heCIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVub3ciKTsKK3RoaXMudmFsdWVEaXYu
cmVtb3ZlKCk7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyxhcmd1bWVudHMp
fSx2YWx1ZTpmdW5jdGlvbihkKXtpZihkPT09YylyZXR1cm4gdGhpcy5fdmFsdWUoKTt0aGlzLl9z
ZXRPcHRpb24oInZhbHVlIixkKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihkLGUp
e2lmKGQ9PT0idmFsdWUiKXt0aGlzLm9wdGlvbnMudmFsdWU9ZTt0aGlzLl9yZWZyZXNoVmFsdWUo
KTt0aGlzLl92YWx1ZSgpPT09dGhpcy5vcHRpb25zLm1heCYmdGhpcy5fdHJpZ2dlcigiY29tcGxl
dGUiKX1hLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9
LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3B0aW9ucy52YWx1ZTtpZih0eXBlb2YgZCE9
PSJudW1iZXIiKWQ9MDtyZXR1cm4gTWF0aC5taW4odGhpcy5vcHRpb25zLm1heCxNYXRoLm1heCh0
aGlzLm1pbixkKSl9LF9wZXJjZW50YWdlOmZ1bmN0aW9uKCl7cmV0dXJuIDEwMCoKK3RoaXMuX3Zh
bHVlKCkvdGhpcy5vcHRpb25zLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciBkPXRo
aXMudmFsdWUoKSxlPXRoaXMuX3BlcmNlbnRhZ2UoKTtpZih0aGlzLm9sZFZhbHVlIT09ZCl7dGhp
cy5vbGRWYWx1ZT1kO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIpfXRoaXMudmFsdWVEaXYudG9nZ2xl
KGQ+dGhpcy5taW4pLnRvZ2dsZUNsYXNzKCJ1aS1jb3JuZXItcmlnaHQiLGQ9PT10aGlzLm9wdGlv
bnMubWF4KS53aWR0aChlLnRvRml4ZWQoMCkrIiUiKTt0aGlzLmVsZW1lbnQuYXR0cigiYXJpYS12
YWx1ZW5vdyIsZCl9fSk7YS5leHRlbmQoYS51aS5wcm9ncmVzc2Jhcix7dmVyc2lvbjoiMS44LjE1
In0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndpZGdldCgidWkuc2xpZGVyIixhLnVpLm1v
dXNlLHt3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ZmFsc2UsZGlz
dGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTpmYWxz
ZSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRo
aXMsZD10aGlzLm9wdGlvbnMsZT10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUi
KS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiksaD1kLnZhbHVlcyYm
ZC52YWx1ZXMubGVuZ3RofHwxLGc9W107dGhpcy5fbW91c2VTbGlkaW5nPXRoaXMuX2tleVNsaWRp
bmc9ZmFsc2U7dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX2hhbmRsZUluZGV4PW51bGw7dGhp
cy5fZGV0ZWN0T3JpZW50YXRpb24oKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIisKK3RoaXMub3JpZW50YXRpb24rIiB1aS13aWRn
ZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIrKGQuZGlzYWJsZWQ/IiB1aS1zbGlk
ZXItZGlzYWJsZWQgdWktZGlzYWJsZWQiOiIiKSk7dGhpcy5yYW5nZT1hKFtdKTtpZihkLnJhbmdl
KXtpZihkLnJhbmdlPT09dHJ1ZSl7aWYoIWQudmFsdWVzKWQudmFsdWVzPVt0aGlzLl92YWx1ZU1p
bigpLHRoaXMuX3ZhbHVlTWluKCldO2lmKGQudmFsdWVzLmxlbmd0aCYmZC52YWx1ZXMubGVuZ3Ro
IT09MilkLnZhbHVlcz1bZC52YWx1ZXNbMF0sZC52YWx1ZXNbMF1dfXRoaXMucmFuZ2U9YSgiPGRp
dj48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zbGlkZXItcmFu
Z2UgdWktd2lkZ2V0LWhlYWRlciIrKGQucmFuZ2U9PT0ibWluInx8ZC5yYW5nZT09PSJtYXgiPyIg
dWktc2xpZGVyLXJhbmdlLSIrZC5yYW5nZToiIikpfWZvcih2YXIgaT1lLmxlbmd0aDtpPGg7aSs9
MSlnLnB1c2goIjxhIGNsYXNzPSd1aS1zbGlkZXItaGFuZGxlIHVpLXN0YXRlLWRlZmF1bHQgdWkt
Y29ybmVyLWFsbCcgaHJlZj0nIyc+PC9hPiIpOwordGhpcy5oYW5kbGVzPWUuYWRkKGEoZy5qb2lu
KCIiKSkuYXBwZW5kVG8oYy5lbGVtZW50KSk7dGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDAp
O3RoaXMuaGFuZGxlcy5hZGQodGhpcy5yYW5nZSkuZmlsdGVyKCJhIikuY2xpY2soZnVuY3Rpb24o
Yil7Yi5wcmV2ZW50RGVmYXVsdCgpfSkuaG92ZXIoZnVuY3Rpb24oKXtkLmRpc2FibGVkfHxhKHRo
aXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxmdW5jdGlvbigpe2EodGhpcykucmVtb3Zl
Q2xhc3MoInVpLXN0YXRlLWhvdmVyIil9KS5mb2N1cyhmdW5jdGlvbigpe2lmKGQuZGlzYWJsZWQp
YSh0aGlzKS5ibHVyKCk7ZWxzZXthKCIudWktc2xpZGVyIC51aS1zdGF0ZS1mb2N1cyIpLnJlbW92
ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3Vz
Iil9fSkuYmx1cihmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3Vz
Iil9KTt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihiKXthKHRoaXMpLmRhdGEoImluZGV4LnVp
LXNsaWRlci1oYW5kbGUiLAorYil9KTt0aGlzLmhhbmRsZXMua2V5ZG93bihmdW5jdGlvbihiKXt2
YXIgZj10cnVlLGo9YSh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiksbCxvLG47
aWYoIWMub3B0aW9ucy5kaXNhYmxlZCl7c3dpdGNoKGIua2V5Q29kZSl7Y2FzZSBhLnVpLmtleUNv
ZGUuSE9NRTpjYXNlIGEudWkua2V5Q29kZS5FTkQ6Y2FzZSBhLnVpLmtleUNvZGUuUEFHRV9VUDpj
YXNlIGEudWkua2V5Q29kZS5QQUdFX0RPV046Y2FzZSBhLnVpLmtleUNvZGUuVVA6Y2FzZSBhLnVp
LmtleUNvZGUuUklHSFQ6Y2FzZSBhLnVpLmtleUNvZGUuRE9XTjpjYXNlIGEudWkua2V5Q29kZS5M
RUZUOmY9ZmFsc2U7aWYoIWMuX2tleVNsaWRpbmcpe2MuX2tleVNsaWRpbmc9dHJ1ZTthKHRoaXMp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtsPWMuX3N0YXJ0KGIsaik7aWYobD09PWZhbHNl
KXJldHVybn1icmVha31uPWMub3B0aW9ucy5zdGVwO2w9Yy5vcHRpb25zLnZhbHVlcyYmYy5vcHRp
b25zLnZhbHVlcy5sZW5ndGg/Cisobz1jLnZhbHVlcyhqKSk6KG89Yy52YWx1ZSgpKTtzd2l0Y2go
Yi5rZXlDb2RlKXtjYXNlIGEudWkua2V5Q29kZS5IT01FOm89Yy5fdmFsdWVNaW4oKTticmVhaztj
YXNlIGEudWkua2V5Q29kZS5FTkQ6bz1jLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgYS51aS5rZXlD
b2RlLlBBR0VfVVA6bz1jLl90cmltQWxpZ25WYWx1ZShsKyhjLl92YWx1ZU1heCgpLWMuX3ZhbHVl
TWluKCkpLzUpO2JyZWFrO2Nhc2UgYS51aS5rZXlDb2RlLlBBR0VfRE9XTjpvPWMuX3RyaW1BbGln
blZhbHVlKGwtKGMuX3ZhbHVlTWF4KCktYy5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBhLnVp
LmtleUNvZGUuVVA6Y2FzZSBhLnVpLmtleUNvZGUuUklHSFQ6aWYobD09PWMuX3ZhbHVlTWF4KCkp
cmV0dXJuO289Yy5fdHJpbUFsaWduVmFsdWUobCtuKTticmVhaztjYXNlIGEudWkua2V5Q29kZS5E
T1dOOmNhc2UgYS51aS5rZXlDb2RlLkxFRlQ6aWYobD09PWMuX3ZhbHVlTWluKCkpcmV0dXJuO289
Yy5fdHJpbUFsaWduVmFsdWUobC0KK24pO2JyZWFrfWMuX3NsaWRlKGIsaixvKTtyZXR1cm4gZn19
KS5rZXl1cChmdW5jdGlvbihiKXt2YXIgZj1hKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1o
YW5kbGUiKTtpZihjLl9rZXlTbGlkaW5nKXtjLl9rZXlTbGlkaW5nPWZhbHNlO2MuX3N0b3AoYixm
KTtjLl9jaGFuZ2UoYixmKTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX19
KTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxkZXN0cm95OmZ1
bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZSgpO3RoaXMucmFuZ2UucmVtb3ZlKCk7dGhpcy5l
bGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLWhvcml6b250YWwgdWktc2xp
ZGVyLXZlcnRpY2FsIHVpLXNsaWRlci1kaXNhYmxlZCB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRl
bnQgdWktY29ybmVyLWFsbCIpLnJlbW92ZURhdGEoInNsaWRlciIpLnVuYmluZCgiLnNsaWRlciIp
O3RoaXMuX21vdXNlRGVzdHJveSgpOworcmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rp
b24oYyl7dmFyIGQ9dGhpcy5vcHRpb25zLGUsaCxnLGksYjtpZihkLmRpc2FibGVkKXJldHVybiBm
YWxzZTt0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhl
aWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX07dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMu
ZWxlbWVudC5vZmZzZXQoKTtlPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDpjLnBhZ2VYLHk6
Yy5wYWdlWX0pO2g9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzE7aT10aGlzO3Ro
aXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGYpe3ZhciBqPU1hdGguYWJzKGUtaS52YWx1ZXMoZikp
O2lmKGg+ail7aD1qO2c9YSh0aGlzKTtiPWZ9fSk7aWYoZC5yYW5nZT09PXRydWUmJnRoaXMudmFs
dWVzKDEpPT09ZC5taW4pe2IrPTE7Zz1hKHRoaXMuaGFuZGxlc1tiXSl9aWYodGhpcy5fc3RhcnQo
YyxiKT09PWZhbHNlKXJldHVybiBmYWxzZTsKK3RoaXMuX21vdXNlU2xpZGluZz10cnVlO2kuX2hh
bmRsZUluZGV4PWI7Zy5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKTtkPWcub2Zm
c2V0KCk7dGhpcy5fY2xpY2tPZmZzZXQ9IWEoYy50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCku
aXMoIi51aS1zbGlkZXItaGFuZGxlIik/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6Yy5wYWdlWC1kLmxl
ZnQtZy53aWR0aCgpLzIsdG9wOmMucGFnZVktZC50b3AtZy5oZWlnaHQoKS8yLShwYXJzZUludChn
LmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChnLmNzcygiYm9yZGVyQm90
dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChnLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX07
dGhpcy5oYW5kbGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShjLGIs
ZSk7cmV0dXJuIHRoaXMuX2FuaW1hdGVPZmY9dHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXty
ZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihjKXt2YXIgZD0KK3RoaXMuX25vcm1WYWx1
ZUZyb21Nb3VzZSh7eDpjLnBhZ2VYLHk6Yy5wYWdlWX0pO3RoaXMuX3NsaWRlKGMsdGhpcy5faGFu
ZGxlSW5kZXgsZCk7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMpe3RoaXMuaGFu
ZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5fbW91c2VTbGlkaW5nPWZh
bHNlO3RoaXMuX3N0b3AoYyx0aGlzLl9oYW5kbGVJbmRleCk7dGhpcy5fY2hhbmdlKGMsdGhpcy5f
aGFuZGxlSW5kZXgpO3RoaXMuX2NsaWNrT2Zmc2V0PXRoaXMuX2hhbmRsZUluZGV4PW51bGw7cmV0
dXJuIHRoaXMuX2FuaW1hdGVPZmY9ZmFsc2V9LF9kZXRlY3RPcmllbnRhdGlvbjpmdW5jdGlvbigp
e3RoaXMub3JpZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIj8i
dmVydGljYWwiOiJob3Jpem9udGFsIn0sX25vcm1WYWx1ZUZyb21Nb3VzZTpmdW5jdGlvbihjKXt2
YXIgZDtpZih0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtkPQordGhpcy5lbGVtZW50
U2l6ZS53aWR0aDtjPWMueC10aGlzLmVsZW1lbnRPZmZzZXQubGVmdC0odGhpcy5fY2xpY2tPZmZz
ZXQ/dGhpcy5fY2xpY2tPZmZzZXQubGVmdDowKX1lbHNle2Q9dGhpcy5lbGVtZW50U2l6ZS5oZWln
aHQ7Yz1jLnktdGhpcy5lbGVtZW50T2Zmc2V0LnRvcC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5f
Y2xpY2tPZmZzZXQudG9wOjApfWQ9Yy9kO2lmKGQ+MSlkPTE7aWYoZDwwKWQ9MDtpZih0aGlzLm9y
aWVudGF0aW9uPT09InZlcnRpY2FsIilkPTEtZDtjPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFs
dWVNaW4oKTtyZXR1cm4gdGhpcy5fdHJpbUFsaWduVmFsdWUodGhpcy5fdmFsdWVNaW4oKStkKmMp
fSxfc3RhcnQ6ZnVuY3Rpb24oYyxkKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1
ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1
ZXMubGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpOworZS52YWx1ZXM9dGhpcy52YWx1ZXMo
KX1yZXR1cm4gdGhpcy5fdHJpZ2dlcigic3RhcnQiLGMsZSl9LF9zbGlkZTpmdW5jdGlvbihjLGQs
ZSl7dmFyIGg7aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5n
dGgpe2g9dGhpcy52YWx1ZXMoZD8wOjEpO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoPT09
MiYmdGhpcy5vcHRpb25zLnJhbmdlPT09dHJ1ZSYmKGQ9PT0wJiZlPmh8fGQ9PT0xJiZlPGgpKWU9
aDtpZihlIT09dGhpcy52YWx1ZXMoZCkpe2g9dGhpcy52YWx1ZXMoKTtoW2RdPWU7Yz10aGlzLl90
cmlnZ2VyKCJzbGlkZSIsYyx7aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1ZTplLHZhbHVlczpo
fSk7dGhpcy52YWx1ZXMoZD8wOjEpO2MhPT1mYWxzZSYmdGhpcy52YWx1ZXMoZCxlLHRydWUpfX1l
bHNlIGlmKGUhPT10aGlzLnZhbHVlKCkpe2M9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGMse2hhbmRs
ZTp0aGlzLmhhbmRsZXNbZF0sdmFsdWU6ZX0pOworYyE9PWZhbHNlJiZ0aGlzLnZhbHVlKGUpfX0s
X3N0b3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1ZTp0
aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMu
bGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpO2UudmFsdWVzPXRoaXMudmFsdWVzKCl9dGhp
cy5fdHJpZ2dlcigic3RvcCIsYyxlKX0sX2NoYW5nZTpmdW5jdGlvbihjLGQpe2lmKCF0aGlzLl9r
ZXlTbGlkaW5nJiYhdGhpcy5fbW91c2VTbGlkaW5nKXt2YXIgZT17aGFuZGxlOnRoaXMuaGFuZGxl
c1tkXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0
aW9ucy52YWx1ZXMubGVuZ3RoKXtlLnZhbHVlPXRoaXMudmFsdWVzKGQpO2UudmFsdWVzPXRoaXMu
dmFsdWVzKCl9dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixjLGUpfX0sdmFsdWU6ZnVuY3Rpb24oYyl7
aWYoYXJndW1lbnRzLmxlbmd0aCl7dGhpcy5vcHRpb25zLnZhbHVlPQordGhpcy5fdHJpbUFsaWdu
VmFsdWUoYyk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCl9ZWxzZSBy
ZXR1cm4gdGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGMsZCl7dmFyIGUsaCxnO2lmKGFy
Z3VtZW50cy5sZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1tjXT10aGlzLl90cmltQWxpZ25W
YWx1ZShkKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxjKX1lbHNlIGlm
KGFyZ3VtZW50cy5sZW5ndGgpaWYoYS5pc0FycmF5KGFyZ3VtZW50c1swXSkpe2U9dGhpcy5vcHRp
b25zLnZhbHVlcztoPWFyZ3VtZW50c1swXTtmb3IoZz0wO2c8ZS5sZW5ndGg7Zys9MSl7ZVtnXT10
aGlzLl90cmltQWxpZ25WYWx1ZShoW2ddKTt0aGlzLl9jaGFuZ2UobnVsbCxnKX10aGlzLl9yZWZy
ZXNoVmFsdWUoKX1lbHNlIHJldHVybiB0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMu
dmFsdWVzLmxlbmd0aD90aGlzLl92YWx1ZXMoYyk6Cit0aGlzLnZhbHVlKCk7ZWxzZSByZXR1cm4g
dGhpcy5fdmFsdWVzKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYyxkKXt2YXIgZSxoPTA7aWYoYS5p
c0FycmF5KHRoaXMub3B0aW9ucy52YWx1ZXMpKWg9dGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7
YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO3N3aXRj
aChjKXtjYXNlICJkaXNhYmxlZCI6aWYoZCl7dGhpcy5oYW5kbGVzLmZpbHRlcigiLnVpLXN0YXRl
LWZvY3VzIikuYmx1cigpO3RoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIi
KTt0aGlzLmhhbmRsZXMucHJvcEF0dHIoImRpc2FibGVkIix0cnVlKTt0aGlzLmVsZW1lbnQuYWRk
Q2xhc3MoInVpLWRpc2FibGVkIil9ZWxzZXt0aGlzLmhhbmRsZXMucHJvcEF0dHIoImRpc2FibGVk
IixmYWxzZSk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kaXNhYmxlZCIpfWJyZWFrO2Nh
c2UgIm9yaWVudGF0aW9uIjp0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOwordGhpcy5lbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5h
ZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbik7dGhpcy5fcmVmcmVzaFZhbHVl
KCk7YnJlYWs7Y2FzZSAidmFsdWUiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZyZXNo
VmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCwwKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFr
O2Nhc2UgInZhbHVlcyI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgp
O2ZvcihlPTA7ZTxoO2UrPTEpdGhpcy5fY2hhbmdlKG51bGwsZSk7dGhpcy5fYW5pbWF0ZU9mZj1m
YWxzZTticmVha319LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucy52YWx1ZTty
ZXR1cm4gYz10aGlzLl90cmltQWxpZ25WYWx1ZShjKX0sX3ZhbHVlczpmdW5jdGlvbihjKXt2YXIg
ZCxlO2lmKGFyZ3VtZW50cy5sZW5ndGgpe2Q9dGhpcy5vcHRpb25zLnZhbHVlc1tjXTsKK3JldHVy
biBkPXRoaXMuX3RyaW1BbGlnblZhbHVlKGQpfWVsc2V7ZD10aGlzLm9wdGlvbnMudmFsdWVzLnNs
aWNlKCk7Zm9yKGU9MDtlPGQubGVuZ3RoO2UrPTEpZFtlXT10aGlzLl90cmltQWxpZ25WYWx1ZShk
W2VdKTtyZXR1cm4gZH19LF90cmltQWxpZ25WYWx1ZTpmdW5jdGlvbihjKXtpZihjPD10aGlzLl92
YWx1ZU1pbigpKXJldHVybiB0aGlzLl92YWx1ZU1pbigpO2lmKGM+PXRoaXMuX3ZhbHVlTWF4KCkp
cmV0dXJuIHRoaXMuX3ZhbHVlTWF4KCk7dmFyIGQ9dGhpcy5vcHRpb25zLnN0ZXA+MD90aGlzLm9w
dGlvbnMuc3RlcDoxLGU9KGMtdGhpcy5fdmFsdWVNaW4oKSklZDtjPWMtZTtpZihNYXRoLmFicyhl
KSoyPj1kKWMrPWU+MD9kOi1kO3JldHVybiBwYXJzZUZsb2F0KGMudG9GaXhlZCg1KSl9LF92YWx1
ZU1pbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWlufSxfdmFsdWVNYXg6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3Zh
ciBjPQordGhpcy5vcHRpb25zLnJhbmdlLGQ9dGhpcy5vcHRpb25zLGU9dGhpcyxoPSF0aGlzLl9h
bmltYXRlT2ZmP2QuYW5pbWF0ZTpmYWxzZSxnLGk9e30sYixmLGosbDtpZih0aGlzLm9wdGlvbnMu
dmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl0aGlzLmhhbmRsZXMuZWFjaChmdW5j
dGlvbihvKXtnPShlLnZhbHVlcyhvKS1lLl92YWx1ZU1pbigpKS8oZS5fdmFsdWVNYXgoKS1lLl92
YWx1ZU1pbigpKSoxMDA7aVtlLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90
dG9tIl09ZysiJSI7YSh0aGlzKS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKGksZC5hbmlt
YXRlKTtpZihlLm9wdGlvbnMucmFuZ2U9PT10cnVlKWlmKGUub3JpZW50YXRpb249PT0iaG9yaXpv
bnRhbCIpe2lmKG89PT0wKWUucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3MiXSh7bGVm
dDpnKyIlIn0sZC5hbmltYXRlKTtpZihvPT09MSllLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7
d2lkdGg6Zy0KK2IrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSl9ZWxzZXtp
ZihvPT09MCllLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpnKyIl
In0sZC5hbmltYXRlKTtpZihvPT09MSllLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0
OmctYisiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmFuaW1hdGV9KX1iPWd9KTtlbHNle2Y9
dGhpcy52YWx1ZSgpO2o9dGhpcy5fdmFsdWVNaW4oKTtsPXRoaXMuX3ZhbHVlTWF4KCk7Zz1sIT09
aj8oZi1qKS8obC1qKSoxMDA6MDtpW2Uub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCI/ImxlZnQi
OiJib3R0b20iXT1nKyIlIjt0aGlzLmhhbmRsZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJd
KGksZC5hbmltYXRlKTtpZihjPT09Im1pbiImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRh
bCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDpnKyIlIn0s
CitkLmFuaW1hdGUpO2lmKGM9PT0ibWF4IiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFs
Iil0aGlzLnJhbmdlW2g/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6MTAwLWcrIiUifSx7cXVldWU6
ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSk7aWYoYz09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9u
PT09InZlcnRpY2FsIil0aGlzLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oe2hl
aWdodDpnKyIlIn0sZC5hbmltYXRlKTtpZihjPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0i
dmVydGljYWwiKXRoaXMucmFuZ2VbaD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6MTAwLWcrIiUi
fSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5hbmltYXRlfSl9fX0pO2EuZXh0ZW5kKGEudWkuc2xp
ZGVyLHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVlcnkpOworKGZ1bmN0aW9uKGEsYyl7ZnVuY3Rp
b24gZCgpe3JldHVybisraH1mdW5jdGlvbiBlKCl7cmV0dXJuKytnfXZhciBoPTAsZz0wO2Eud2lk
Z2V0KCJ1aS50YWJzIix7b3B0aW9uczp7YWRkOm51bGwsYWpheE9wdGlvbnM6bnVsbCxjYWNoZTpm
YWxzZSxjb29raWU6bnVsbCxjb2xsYXBzaWJsZTpmYWxzZSxkaXNhYmxlOm51bGwsZGlzYWJsZWQ6
W10sZW5hYmxlOm51bGwsZXZlbnQ6ImNsaWNrIixmeDpudWxsLGlkUHJlZml4OiJ1aS10YWJzLSIs
bG9hZDpudWxsLHBhbmVsVGVtcGxhdGU6IjxkaXY+PC9kaXY+IixyZW1vdmU6bnVsbCxzZWxlY3Q6
bnVsbCxzaG93Om51bGwsc3Bpbm5lcjoiPGVtPkxvYWRpbmcmIzgyMzA7PC9lbT4iLHRhYlRlbXBs
YXRlOiI8bGk+PGEgaHJlZj0nI3tocmVmfSc+PHNwYW4+I3tsYWJlbH08L3NwYW4+PC9hPjwvbGk+
In0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX3RhYmlmeSh0cnVlKX0sX3NldE9wdGlvbjpmdW5j
dGlvbihpLGIpe2lmKGk9PSJzZWxlY3RlZCIpdGhpcy5vcHRpb25zLmNvbGxhcHNpYmxlJiYKK2I9
PXRoaXMub3B0aW9ucy5zZWxlY3RlZHx8dGhpcy5zZWxlY3QoYik7ZWxzZXt0aGlzLm9wdGlvbnNb
aV09Yjt0aGlzLl90YWJpZnkoKX19LF90YWJJZDpmdW5jdGlvbihpKXtyZXR1cm4gaS50aXRsZSYm
aS50aXRsZS5yZXBsYWNlKC9ccy9nLCJfIikucmVwbGFjZSgvW15cd1x1MDBjMC1cdUZGRkYtXS9n
LCIiKXx8dGhpcy5vcHRpb25zLmlkUHJlZml4K2QoKX0sX3Nhbml0aXplU2VsZWN0b3I6ZnVuY3Rp
b24oaSl7cmV0dXJuIGkucmVwbGFjZSgvOi9nLCJcXDoiKX0sX2Nvb2tpZTpmdW5jdGlvbigpe3Zh
ciBpPXRoaXMuY29va2llfHwodGhpcy5jb29raWU9dGhpcy5vcHRpb25zLmNvb2tpZS5uYW1lfHwi
dWktdGFicy0iK2UoKSk7cmV0dXJuIGEuY29va2llLmFwcGx5KG51bGwsW2ldLmNvbmNhdChhLm1h
a2VBcnJheShhcmd1bWVudHMpKSl9LF91aTpmdW5jdGlvbihpLGIpe3JldHVybnt0YWI6aSxwYW5l
bDpiLGluZGV4OnRoaXMuYW5jaG9ycy5pbmRleChpKX19LF9jbGVhbnVwOmZ1bmN0aW9uKCl7dGhp
cy5saXMuZmlsdGVyKCIudWktc3RhdGUtcHJvY2Vzc2luZyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0
ZS1wcm9jZXNzaW5nIikuZmluZCgic3BhbjpkYXRhKGxhYmVsLnRhYnMpIikuZWFjaChmdW5jdGlv
bigpe3ZhciBpPQorYSh0aGlzKTtpLmh0bWwoaS5kYXRhKCJsYWJlbC50YWJzIikpLnJlbW92ZURh
dGEoImxhYmVsLnRhYnMiKX0pfSxfdGFiaWZ5OmZ1bmN0aW9uKGkpe2Z1bmN0aW9uIGIocix1KXty
LmNzcygiZGlzcGxheSIsIiIpOyFhLnN1cHBvcnQub3BhY2l0eSYmdS5vcGFjaXR5JiZyWzBdLnN0
eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIil9dmFyIGY9dGhpcyxqPXRoaXMub3B0aW9ucyxs
PS9eIy4rLzt0aGlzLmxpc3Q9dGhpcy5lbGVtZW50LmZpbmQoIm9sLHVsIikuZXEoMCk7dGhpcy5s
aXM9YSgiID4gbGk6aGFzKGFbaHJlZl0pIix0aGlzLmxpc3QpO3RoaXMuYW5jaG9ycz10aGlzLmxp
cy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYSgiYSIsdGhpcylbMF19KTt0aGlzLnBhbmVscz1hKFtd
KTt0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbihyLHUpe3ZhciB2PWEodSkuYXR0cigiaHJlZiIp
LHc9di5zcGxpdCgiIyIpWzBdLHg7aWYodyYmKHc9PT1sb2NhdGlvbi50b1N0cmluZygpLnNwbGl0
KCIjIilbMF18fAorKHg9YSgiYmFzZSIpWzBdKSYmdz09PXguaHJlZikpe3Y9dS5oYXNoO3UuaHJl
Zj12fWlmKGwudGVzdCh2KSlmLnBhbmVscz1mLnBhbmVscy5hZGQoZi5lbGVtZW50LmZpbmQoZi5f
c2FuaXRpemVTZWxlY3Rvcih2KSkpO2Vsc2UgaWYodiYmdiE9PSIjIil7YS5kYXRhKHUsImhyZWYu
dGFicyIsdik7YS5kYXRhKHUsImxvYWQudGFicyIsdi5yZXBsYWNlKC8jLiokLywiIikpO3Y9Zi5f
dGFiSWQodSk7dS5ocmVmPSIjIit2O3U9Zi5lbGVtZW50LmZpbmQoIiMiK3YpO2lmKCF1Lmxlbmd0
aCl7dT1hKGoucGFuZWxUZW1wbGF0ZSkuYXR0cigiaWQiLHYpLmFkZENsYXNzKCJ1aS10YWJzLXBh
bmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKS5pbnNlcnRBZnRlcihmLnBh
bmVsc1tyLTFdfHxmLmxpc3QpO3UuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKX1mLnBhbmVscz1m
LnBhbmVscy5hZGQodSl9ZWxzZSBqLmRpc2FibGVkLnB1c2gocil9KTtpZihpKXt0aGlzLmVsZW1l
bnQuYWRkQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5l
ci1hbGwiKTsKK3RoaXMubGlzdC5hZGRDbGFzcygidWktdGFicy1uYXYgdWktaGVscGVyLXJlc2V0
IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiKTt0aGlz
Lmxpcy5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIik7dGhpcy5wYW5l
bHMuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJv
dHRvbSIpO2lmKGouc2VsZWN0ZWQ9PT1jKXtsb2NhdGlvbi5oYXNoJiZ0aGlzLmFuY2hvcnMuZWFj
aChmdW5jdGlvbihyLHUpe2lmKHUuaGFzaD09bG9jYXRpb24uaGFzaCl7ai5zZWxlY3RlZD1yO3Jl
dHVybiBmYWxzZX19KTtpZih0eXBlb2Ygai5zZWxlY3RlZCE9PSJudW1iZXIiJiZqLmNvb2tpZSlq
LnNlbGVjdGVkPXBhcnNlSW50KGYuX2Nvb2tpZSgpLDEwKTtpZih0eXBlb2Ygai5zZWxlY3RlZCE9
PSJudW1iZXIiJiZ0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikubGVuZ3RoKWou
c2VsZWN0ZWQ9Cit0aGlzLmxpcy5pbmRleCh0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVj
dGVkIikpO2ouc2VsZWN0ZWQ9ai5zZWxlY3RlZHx8KHRoaXMubGlzLmxlbmd0aD8wOi0xKX1lbHNl
IGlmKGouc2VsZWN0ZWQ9PT1udWxsKWouc2VsZWN0ZWQ9LTE7ai5zZWxlY3RlZD1qLnNlbGVjdGVk
Pj0wJiZ0aGlzLmFuY2hvcnNbai5zZWxlY3RlZF18fGouc2VsZWN0ZWQ8MD9qLnNlbGVjdGVkOjA7
ai5kaXNhYmxlZD1hLnVuaXF1ZShqLmRpc2FibGVkLmNvbmNhdChhLm1hcCh0aGlzLmxpcy5maWx0
ZXIoIi51aS1zdGF0ZS1kaXNhYmxlZCIpLGZ1bmN0aW9uKHIpe3JldHVybiBmLmxpcy5pbmRleChy
KX0pKSkuc29ydCgpO2EuaW5BcnJheShqLnNlbGVjdGVkLGouZGlzYWJsZWQpIT0tMSYmai5kaXNh
YmxlZC5zcGxpY2UoYS5pbkFycmF5KGouc2VsZWN0ZWQsai5kaXNhYmxlZCksMSk7dGhpcy5wYW5l
bHMuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO3RoaXMubGlzLnJlbW92ZUNsYXNzKCJ1aS10YWJz
LXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpOworaWYoai5zZWxlY3RlZD49MCYmdGhpcy5hbmNo
b3JzLmxlbmd0aCl7Zi5lbGVtZW50LmZpbmQoZi5fc2FuaXRpemVTZWxlY3RvcihmLmFuY2hvcnNb
ai5zZWxlY3RlZF0uaGFzaCkpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxpcy5l
cShqLnNlbGVjdGVkKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUi
KTtmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7Zi5fdHJpZ2dlcigic2hvdyIsbnVs
bCxmLl91aShmLmFuY2hvcnNbai5zZWxlY3RlZF0sZi5lbGVtZW50LmZpbmQoZi5fc2FuaXRpemVT
ZWxlY3RvcihmLmFuY2hvcnNbai5zZWxlY3RlZF0uaGFzaCkpWzBdKSl9KTt0aGlzLmxvYWQoai5z
ZWxlY3RlZCl9YSh3aW5kb3cpLmJpbmQoInVubG9hZCIsZnVuY3Rpb24oKXtmLmxpcy5hZGQoZi5h
bmNob3JzKS51bmJpbmQoIi50YWJzIik7Zi5saXM9Zi5hbmNob3JzPWYucGFuZWxzPW51bGx9KX1l
bHNlIGouc2VsZWN0ZWQ9dGhpcy5saXMuaW5kZXgodGhpcy5saXMuZmlsdGVyKCIudWktdGFicy1z
ZWxlY3RlZCIpKTsKK3RoaXMuZWxlbWVudFtqLmNvbGxhcHNpYmxlPyJhZGRDbGFzcyI6InJlbW92
ZUNsYXNzIl0oInVpLXRhYnMtY29sbGFwc2libGUiKTtqLmNvb2tpZSYmdGhpcy5fY29va2llKGou
c2VsZWN0ZWQsai5jb29raWUpO2k9MDtmb3IodmFyIG87bz10aGlzLmxpc1tpXTtpKyspYShvKVth
LmluQXJyYXkoaSxqLmRpc2FibGVkKSE9LTEmJiFhKG8pLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVj
dGVkIik/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktc3RhdGUtZGlzYWJsZWQiKTtqLmNh
Y2hlPT09ZmFsc2UmJnRoaXMuYW5jaG9ycy5yZW1vdmVEYXRhKCJjYWNoZS50YWJzIik7dGhpcy5s
aXMuYWRkKHRoaXMuYW5jaG9ycykudW5iaW5kKCIudGFicyIpO2lmKGouZXZlbnQhPT0ibW91c2Vv
dmVyIil7dmFyIG49ZnVuY3Rpb24ocix1KXt1LmlzKCI6bm90KC51aS1zdGF0ZS1kaXNhYmxlZCki
KSYmdS5hZGRDbGFzcygidWktc3RhdGUtIityKX0saz1mdW5jdGlvbihyLHUpe3UucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLSIrCityKX07dGhpcy5saXMuYmluZCgibW91c2VvdmVyLnRhYnMiLGZ1bmN0
aW9uKCl7bigiaG92ZXIiLGEodGhpcykpfSk7dGhpcy5saXMuYmluZCgibW91c2VvdXQudGFicyIs
ZnVuY3Rpb24oKXtrKCJob3ZlciIsYSh0aGlzKSl9KTt0aGlzLmFuY2hvcnMuYmluZCgiZm9jdXMu
dGFicyIsZnVuY3Rpb24oKXtuKCJmb2N1cyIsYSh0aGlzKS5jbG9zZXN0KCJsaSIpKX0pO3RoaXMu
YW5jaG9ycy5iaW5kKCJibHVyLnRhYnMiLGZ1bmN0aW9uKCl7aygiZm9jdXMiLGEodGhpcykuY2xv
c2VzdCgibGkiKSl9KX12YXIgbSxwO2lmKGouZngpaWYoYS5pc0FycmF5KGouZngpKXttPWouZnhb
MF07cD1qLmZ4WzFdfWVsc2UgbT1wPWouZng7dmFyIHE9cD9mdW5jdGlvbihyLHUpe2EocikuY2xv
c2VzdCgibGkiKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTt1
LmhpZGUoKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIikuYW5pbWF0ZShwLHAuZHVyYXRpb258
fCJub3JtYWwiLAorZnVuY3Rpb24oKXtiKHUscCk7Zi5fdHJpZ2dlcigic2hvdyIsbnVsbCxmLl91
aShyLHVbMF0pKX0pfTpmdW5jdGlvbihyLHUpe2EocikuY2xvc2VzdCgibGkiKS5hZGRDbGFzcygi
dWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTt1LnJlbW92ZUNsYXNzKCJ1aS10YWJz
LWhpZGUiKTtmLl90cmlnZ2VyKCJzaG93IixudWxsLGYuX3VpKHIsdVswXSkpfSxzPW0/ZnVuY3Rp
b24ocix1KXt1LmFuaW1hdGUobSxtLmR1cmF0aW9ufHwibm9ybWFsIixmdW5jdGlvbigpe2YubGlz
LnJlbW92ZUNsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO3UuYWRkQ2xh
c3MoInVpLXRhYnMtaGlkZSIpO2IodSxtKTtmLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpfSl9OmZ1
bmN0aW9uKHIsdSl7Zi5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUt
YWN0aXZlIik7dS5hZGRDbGFzcygidWktdGFicy1oaWRlIik7Zi5lbGVtZW50LmRlcXVldWUoInRh
YnMiKX07Cit0aGlzLmFuY2hvcnMuYmluZChqLmV2ZW50KyIudGFicyIsZnVuY3Rpb24oKXt2YXIg
cj10aGlzLHU9YShyKS5jbG9zZXN0KCJsaSIpLHY9Zi5wYW5lbHMuZmlsdGVyKCI6bm90KC51aS10
YWJzLWhpZGUpIiksdz1mLmVsZW1lbnQuZmluZChmLl9zYW5pdGl6ZVNlbGVjdG9yKHIuaGFzaCkp
O2lmKHUuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmIWouY29sbGFwc2libGV8fHUuaGFz
Q2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fHUuaGFzQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3Np
bmciKXx8Zi5wYW5lbHMuZmlsdGVyKCI6YW5pbWF0ZWQiKS5sZW5ndGh8fGYuX3RyaWdnZXIoInNl
bGVjdCIsbnVsbCxmLl91aSh0aGlzLHdbMF0pKT09PWZhbHNlKXt0aGlzLmJsdXIoKTtyZXR1cm4g
ZmFsc2V9ai5zZWxlY3RlZD1mLmFuY2hvcnMuaW5kZXgodGhpcyk7Zi5hYm9ydCgpO2lmKGouY29s
bGFwc2libGUpaWYodS5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpKXtqLnNlbGVjdGVkPQor
LTE7ai5jb29raWUmJmYuX2Nvb2tpZShqLnNlbGVjdGVkLGouY29va2llKTtmLmVsZW1lbnQucXVl
dWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhyLHYpfSkuZGVxdWV1ZSgidGFicyIpO3RoaXMuYmx1cigp
O3JldHVybiBmYWxzZX1lbHNlIGlmKCF2Lmxlbmd0aCl7ai5jb29raWUmJmYuX2Nvb2tpZShqLnNl
bGVjdGVkLGouY29va2llKTtmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cShyLHcp
fSk7Zi5sb2FkKGYuYW5jaG9ycy5pbmRleCh0aGlzKSk7dGhpcy5ibHVyKCk7cmV0dXJuIGZhbHNl
fWouY29va2llJiZmLl9jb29raWUoai5zZWxlY3RlZCxqLmNvb2tpZSk7aWYody5sZW5ndGgpe3Yu
bGVuZ3RoJiZmLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhyLHYpfSk7Zi5lbGVt
ZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3Eocix3KX0pO2YubG9hZChmLmFuY2hvcnMuaW5k
ZXgodGhpcykpfWVsc2UgdGhyb3cialF1ZXJ5IFVJIFRhYnM6IE1pc21hdGNoaW5nIGZyYWdtZW50
IGlkZW50aWZpZXIuIjsKK2EuYnJvd3Nlci5tc2llJiZ0aGlzLmJsdXIoKX0pO3RoaXMuYW5jaG9y
cy5iaW5kKCJjbGljay50YWJzIixmdW5jdGlvbigpe3JldHVybiBmYWxzZX0pfSxfZ2V0SW5kZXg6
ZnVuY3Rpb24oaSl7aWYodHlwZW9mIGk9PSJzdHJpbmciKWk9dGhpcy5hbmNob3JzLmluZGV4KHRo
aXMuYW5jaG9ycy5maWx0ZXIoIltocmVmJD0iK2krIl0iKSk7cmV0dXJuIGl9LGRlc3Ryb3k6ZnVu
Y3Rpb24oKXt2YXIgaT10aGlzLm9wdGlvbnM7dGhpcy5hYm9ydCgpO3RoaXMuZWxlbWVudC51bmJp
bmQoIi50YWJzIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250
ZW50IHVpLWNvcm5lci1hbGwgdWktdGFicy1jb2xsYXBzaWJsZSIpLnJlbW92ZURhdGEoInRhYnMi
KTt0aGlzLmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1o
ZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIik7dGhpcy5hbmNo
b3JzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj0KK2EuZGF0YSh0aGlzLCJocmVmLnRhYnMiKTtpZihi
KXRoaXMuaHJlZj1iO3ZhciBmPWEodGhpcykudW5iaW5kKCIudGFicyIpO2EuZWFjaChbImhyZWYi
LCJsb2FkIiwiY2FjaGUiXSxmdW5jdGlvbihqLGwpe2YucmVtb3ZlRGF0YShsKyIudGFicyIpfSl9
KTt0aGlzLmxpcy51bmJpbmQoIi50YWJzIikuYWRkKHRoaXMucGFuZWxzKS5lYWNoKGZ1bmN0aW9u
KCl7YS5kYXRhKHRoaXMsImRlc3Ryb3kudGFicyIpP2EodGhpcykucmVtb3ZlKCk6YSh0aGlzKS5y
ZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIHVpLXRhYnMtc2VsZWN0
ZWQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWhvdmVyIHVpLXN0YXRlLWZvY3VzIHVpLXN0YXRl
LWRpc2FibGVkIHVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRv
bSB1aS10YWJzLWhpZGUiKX0pO2kuY29va2llJiZ0aGlzLl9jb29raWUobnVsbCxpLmNvb2tpZSk7
cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihpLAorYixmKXtpZihmPT09YylmPXRoaXMuYW5jaG9y
cy5sZW5ndGg7dmFyIGo9dGhpcyxsPXRoaXMub3B0aW9ucztiPWEobC50YWJUZW1wbGF0ZS5yZXBs
YWNlKC8jXHtocmVmXH0vZyxpKS5yZXBsYWNlKC8jXHtsYWJlbFx9L2csYikpO2k9IWkuaW5kZXhP
ZigiIyIpP2kucmVwbGFjZSgiIyIsIiIpOnRoaXMuX3RhYklkKGEoImEiLGIpWzBdKTtiLmFkZENs
YXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKS5kYXRhKCJkZXN0cm95LnRhYnMi
LHRydWUpO3ZhciBvPWouZWxlbWVudC5maW5kKCIjIitpKTtvLmxlbmd0aHx8KG89YShsLnBhbmVs
VGVtcGxhdGUpLmF0dHIoImlkIixpKS5kYXRhKCJkZXN0cm95LnRhYnMiLHRydWUpKTtvLmFkZENs
YXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWkt
dGFicy1oaWRlIik7aWYoZj49dGhpcy5saXMubGVuZ3RoKXtiLmFwcGVuZFRvKHRoaXMubGlzdCk7
by5hcHBlbmRUbyh0aGlzLmxpc3RbMF0ucGFyZW50Tm9kZSl9ZWxzZXtiLmluc2VydEJlZm9yZSh0
aGlzLmxpc1tmXSk7CitvLmluc2VydEJlZm9yZSh0aGlzLnBhbmVsc1tmXSl9bC5kaXNhYmxlZD1h
Lm1hcChsLmRpc2FibGVkLGZ1bmN0aW9uKG4pe3JldHVybiBuPj1mPysrbjpufSk7dGhpcy5fdGFi
aWZ5KCk7aWYodGhpcy5hbmNob3JzLmxlbmd0aD09MSl7bC5zZWxlY3RlZD0wO2IuYWRkQ2xhc3Mo
InVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7by5yZW1vdmVDbGFzcygidWktdGFi
cy1oaWRlIik7dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe2ouX3RyaWdnZXIo
InNob3ciLG51bGwsai5fdWkoai5hbmNob3JzWzBdLGoucGFuZWxzWzBdKSl9KTt0aGlzLmxvYWQo
MCl9dGhpcy5fdHJpZ2dlcigiYWRkIixudWxsLHRoaXMuX3VpKHRoaXMuYW5jaG9yc1tmXSx0aGlz
LnBhbmVsc1tmXSkpO3JldHVybiB0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJ
bmRleChpKTt2YXIgYj10aGlzLm9wdGlvbnMsZj10aGlzLmxpcy5lcShpKS5yZW1vdmUoKSxqPXRo
aXMucGFuZWxzLmVxKGkpLnJlbW92ZSgpOworaWYoZi5oYXNDbGFzcygidWktdGFicy1zZWxlY3Rl
ZCIpJiZ0aGlzLmFuY2hvcnMubGVuZ3RoPjEpdGhpcy5zZWxlY3QoaSsoaSsxPHRoaXMuYW5jaG9y
cy5sZW5ndGg/MTotMSkpO2IuZGlzYWJsZWQ9YS5tYXAoYS5ncmVwKGIuZGlzYWJsZWQsZnVuY3Rp
b24obCl7cmV0dXJuIGwhPWl9KSxmdW5jdGlvbihsKXtyZXR1cm4gbD49aT8tLWw6bH0pO3RoaXMu
X3RhYmlmeSgpO3RoaXMuX3RyaWdnZXIoInJlbW92ZSIsbnVsbCx0aGlzLl91aShmLmZpbmQoImEi
KVswXSxqWzBdKSk7cmV0dXJuIHRoaXN9LGVuYWJsZTpmdW5jdGlvbihpKXtpPXRoaXMuX2dldElu
ZGV4KGkpO3ZhciBiPXRoaXMub3B0aW9ucztpZihhLmluQXJyYXkoaSxiLmRpc2FibGVkKSE9LTEp
e3RoaXMubGlzLmVxKGkpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZGlzYWJs
ZWQ9YS5ncmVwKGIuZGlzYWJsZWQsZnVuY3Rpb24oZil7cmV0dXJuIGYhPWl9KTt0aGlzLl90cmln
Z2VyKCJlbmFibGUiLG51bGwsCit0aGlzLl91aSh0aGlzLmFuY2hvcnNbaV0sdGhpcy5wYW5lbHNb
aV0pKTtyZXR1cm4gdGhpc319LGRpc2FibGU6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJbmRleChp
KTt2YXIgYj10aGlzLm9wdGlvbnM7aWYoaSE9Yi5zZWxlY3RlZCl7dGhpcy5saXMuZXEoaSkuYWRk
Q2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Yi5kaXNhYmxlZC5wdXNoKGkpO2IuZGlzYWJsZWQu
c29ydCgpO3RoaXMuX3RyaWdnZXIoImRpc2FibGUiLG51bGwsdGhpcy5fdWkodGhpcy5hbmNob3Jz
W2ldLHRoaXMucGFuZWxzW2ldKSl9cmV0dXJuIHRoaXN9LHNlbGVjdDpmdW5jdGlvbihpKXtpPXRo
aXMuX2dldEluZGV4KGkpO2lmKGk9PS0xKWlmKHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSYmdGhp
cy5vcHRpb25zLnNlbGVjdGVkIT0tMSlpPXRoaXMub3B0aW9ucy5zZWxlY3RlZDtlbHNlIHJldHVy
biB0aGlzO3RoaXMuYW5jaG9ycy5lcShpKS50cmlnZ2VyKHRoaXMub3B0aW9ucy5ldmVudCsiLnRh
YnMiKTtyZXR1cm4gdGhpc30sCitsb2FkOmZ1bmN0aW9uKGkpe2k9dGhpcy5fZ2V0SW5kZXgoaSk7
dmFyIGI9dGhpcyxmPXRoaXMub3B0aW9ucyxqPXRoaXMuYW5jaG9ycy5lcShpKVswXSxsPWEuZGF0
YShqLCJsb2FkLnRhYnMiKTt0aGlzLmFib3J0KCk7aWYoIWx8fHRoaXMuZWxlbWVudC5xdWV1ZSgi
dGFicyIpLmxlbmd0aCE9PTAmJmEuZGF0YShqLCJjYWNoZS50YWJzIikpdGhpcy5lbGVtZW50LmRl
cXVldWUoInRhYnMiKTtlbHNle3RoaXMubGlzLmVxKGkpLmFkZENsYXNzKCJ1aS1zdGF0ZS1wcm9j
ZXNzaW5nIik7aWYoZi5zcGlubmVyKXt2YXIgbz1hKCJzcGFuIixqKTtvLmRhdGEoImxhYmVsLnRh
YnMiLG8uaHRtbCgpKS5odG1sKGYuc3Bpbm5lcil9dGhpcy54aHI9YS5hamF4KGEuZXh0ZW5kKHt9
LGYuYWpheE9wdGlvbnMse3VybDpsLHN1Y2Nlc3M6ZnVuY3Rpb24obixrKXtiLmVsZW1lbnQuZmlu
ZChiLl9zYW5pdGl6ZVNlbGVjdG9yKGouaGFzaCkpLmh0bWwobik7Yi5fY2xlYW51cCgpO2YuY2Fj
aGUmJmEuZGF0YShqLAorImNhY2hlLnRhYnMiLHRydWUpO2IuX3RyaWdnZXIoImxvYWQiLG51bGws
Yi5fdWkoYi5hbmNob3JzW2ldLGIucGFuZWxzW2ldKSk7dHJ5e2YuYWpheE9wdGlvbnMuc3VjY2Vz
cyhuLGspfWNhdGNoKG0pe319LGVycm9yOmZ1bmN0aW9uKG4sayl7Yi5fY2xlYW51cCgpO2IuX3Ry
aWdnZXIoImxvYWQiLG51bGwsYi5fdWkoYi5hbmNob3JzW2ldLGIucGFuZWxzW2ldKSk7dHJ5e2Yu
YWpheE9wdGlvbnMuZXJyb3IobixrLGksail9Y2F0Y2gobSl7fX19KSk7Yi5lbGVtZW50LmRlcXVl
dWUoInRhYnMiKTtyZXR1cm4gdGhpc319LGFib3J0OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnF1
ZXVlKFtdKTt0aGlzLnBhbmVscy5zdG9wKGZhbHNlLHRydWUpO3RoaXMuZWxlbWVudC5xdWV1ZSgi
dGFicyIsdGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikuc3BsaWNlKC0yLDIpKTtpZih0aGlzLnho
cil7dGhpcy54aHIuYWJvcnQoKTtkZWxldGUgdGhpcy54aHJ9dGhpcy5fY2xlYW51cCgpO3JldHVy
biB0aGlzfSwKK3VybDpmdW5jdGlvbihpLGIpe3RoaXMuYW5jaG9ycy5lcShpKS5yZW1vdmVEYXRh
KCJjYWNoZS50YWJzIikuZGF0YSgibG9hZC50YWJzIixiKTtyZXR1cm4gdGhpc30sbGVuZ3RoOmZ1
bmN0aW9uKCl7cmV0dXJuIHRoaXMuYW5jaG9ycy5sZW5ndGh9fSk7YS5leHRlbmQoYS51aS50YWJz
LHt2ZXJzaW9uOiIxLjguMTUifSk7YS5leHRlbmQoYS51aS50YWJzLnByb3RvdHlwZSx7cm90YXRp
b246bnVsbCxyb3RhdGU6ZnVuY3Rpb24oaSxiKXt2YXIgZj10aGlzLGo9dGhpcy5vcHRpb25zLGw9
Zi5fcm90YXRlfHwoZi5fcm90YXRlPWZ1bmN0aW9uKG8pe2NsZWFyVGltZW91dChmLnJvdGF0aW9u
KTtmLnJvdGF0aW9uPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbj1qLnNlbGVjdGVkO2Yuc2Vs
ZWN0KCsrbjxmLmFuY2hvcnMubGVuZ3RoP246MCl9LGkpO28mJm8uc3RvcFByb3BhZ2F0aW9uKCl9
KTtiPWYuX3Vucm90YXRlfHwoZi5fdW5yb3RhdGU9IWI/ZnVuY3Rpb24obyl7by5jbGllbnRYJiYK
K2Yucm90YXRlKG51bGwpfTpmdW5jdGlvbigpe3Q9ai5zZWxlY3RlZDtsKCl9KTtpZihpKXt0aGlz
LmVsZW1lbnQuYmluZCgidGFic3Nob3ciLGwpO3RoaXMuYW5jaG9ycy5iaW5kKGouZXZlbnQrIi50
YWJzIixiKTtsKCl9ZWxzZXtjbGVhclRpbWVvdXQoZi5yb3RhdGlvbik7dGhpcy5lbGVtZW50LnVu
YmluZCgidGFic3Nob3ciLGwpO3RoaXMuYW5jaG9ycy51bmJpbmQoai5ldmVudCsiLnRhYnMiLGIp
O2RlbGV0ZSB0aGlzLl9yb3RhdGU7ZGVsZXRlIHRoaXMuX3Vucm90YXRlfXJldHVybiB0aGlzfX0p
fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpzCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LmVmZmVjdHMuYmxpbmQubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5i
bGluZC5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmJsaW5kLm1pbi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgQmxpbmQg
MS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0JsaW5kCisgKgorICogRGVwZW5kczoKKyAq
CWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKKyAqLworKGZ1bmN0aW9uKGIpe2IuZWZmZWN0cy5ibGlu
ZD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWIodGhpcyks
Zz1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0sZj1iLmVmZmVjdHMu
c2V0TW9kZShhLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGQ9Yy5vcHRpb25zLmRpcmVjdGlvbnx8
InZlcnRpY2FsIjtiLmVmZmVjdHMuc2F2ZShhLGcpO2Euc2hvdygpO3ZhciBlPWIuZWZmZWN0cy5j
cmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxoPWQ9PSJ2ZXJ0aWNhbCI/
ImhlaWdodCI6IndpZHRoIjtkPWQ9PSJ2ZXJ0aWNhbCI/ZS5oZWlnaHQoKTplLndpZHRoKCk7Zj09
InNob3ciJiZlLmNzcyhoLDApO3ZhciBpPXt9O2lbaF09Zj09InNob3ciP2Q6MDtlLmFuaW1hdGUo
aSxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtmPT0iaGlkZSImJmEuaGlk
ZSgpO2IuZWZmZWN0cy5yZXN0b3JlKGEsCitnKTtiLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihhKTtj
LmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KGFbMF0sYXJndW1lbnRzKTthLmRlcXVldWUoKX0p
fSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ibGluZC5taW4uanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3Vu
Y2UubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKy8qCisgKiBqUXVlcnkg
VUkgRWZmZWN0cyBCb3VuY2UgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMu
dHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0
aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9s
aWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0JvdW5jZQor
ICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlv
bihlKXtlLmVmZmVjdHMuYm91bmNlPWZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0
aW9uKCl7dmFyIGE9ZSh0aGlzKSxsPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwi
cmlnaHQiXSxoPWUuZWZmZWN0cy5zZXRNb2RlKGEsYi5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxk
PWIub3B0aW9ucy5kaXJlY3Rpb258fCJ1cCIsYz1iLm9wdGlvbnMuZGlzdGFuY2V8fDIwLG09Yi5v
cHRpb25zLnRpbWVzfHw1LGk9Yi5kdXJhdGlvbnx8MjUwOy9zaG93fGhpZGUvLnRlc3QoaCkmJmwu
cHVzaCgib3BhY2l0eSIpO2UuZWZmZWN0cy5zYXZlKGEsbCk7YS5zaG93KCk7ZS5lZmZlY3RzLmNy
ZWF0ZVdyYXBwZXIoYSk7dmFyIGY9ZD09InVwInx8ZD09ImRvd24iPyJ0b3AiOiJsZWZ0IjtkPWQ9
PSJ1cCJ8fGQ9PSJsZWZ0Ij8icG9zIjoibmVnIjtjPWIub3B0aW9ucy5kaXN0YW5jZXx8KGY9PSJ0
b3AiP2Eub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkvMzphLm91dGVyV2lkdGgoe21hcmdpbjp0
cnVlfSkvCiszKTtpZihoPT0ic2hvdyIpYS5jc3MoIm9wYWNpdHkiLDApLmNzcyhmLGQ9PSJwb3Mi
Py1jOmMpO2lmKGg9PSJoaWRlIiljLz1tKjI7aCE9ImhpZGUiJiZtLS07aWYoaD09InNob3ciKXt2
YXIgZz17b3BhY2l0eToxfTtnW2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmltYXRlKGcs
aS8yLGIub3B0aW9ucy5lYXNpbmcpO2MvPTI7bS0tfWZvcihnPTA7ZzxtO2crKyl7dmFyIGo9e30s
az17fTtqW2ZdPShkPT0icG9zIj8iLT0iOiIrPSIpK2M7a1tmXT0oZD09InBvcyI/Iis9IjoiLT0i
KStjO2EuYW5pbWF0ZShqLGkvMixiLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKGssaS8yLGIub3B0
aW9ucy5lYXNpbmcpO2M9aD09ImhpZGUiP2MqMjpjLzJ9aWYoaD09ImhpZGUiKXtnPXtvcGFjaXR5
OjB9O2dbZl09KGQ9PSJwb3MiPyItPSI6Iis9IikrYzthLmFuaW1hdGUoZyxpLzIsYi5vcHRpb25z
LmVhc2luZyxmdW5jdGlvbigpe2EuaGlkZSgpO2UuZWZmZWN0cy5yZXN0b3JlKGEsbCk7ZS5lZmZl
Y3RzLnJlbW92ZVdyYXBwZXIoYSk7CitiLmNhbGxiYWNrJiZiLmNhbGxiYWNrLmFwcGx5KHRoaXMs
YXJndW1lbnRzKX0pfWVsc2V7aj17fTtrPXt9O2pbZl09KGQ9PSJwb3MiPyItPSI6Iis9IikrYztr
W2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmltYXRlKGosaS8yLGIub3B0aW9ucy5lYXNp
bmcpLmFuaW1hdGUoayxpLzIsYi5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2UuZWZmZWN0cy5y
ZXN0b3JlKGEsbCk7ZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYmYi5jYWxs
YmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1hLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXthLmRl
cXVldWUoKX0pO2EuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5ib3VuY2UubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAs
MCArMSAjIworMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMu
Y2xpcC5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpzCShub25leGlzdGVu
dCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkuZWZmZWN0cy5jbGlwLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBA
CisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgQ2xpcCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQg
MjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6
Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0Vm
ZmVjdHMvQ2xpcAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisg
Ki8KKyhmdW5jdGlvbihiKXtiLmVmZmVjdHMuY2xpcD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5x
dWV1ZShmdW5jdGlvbigpe3ZhciBhPWIodGhpcyksaT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9t
IiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0Iiwid2lkdGgiXSxmPWIuZWZmZWN0cy5zZXRNb2RlKGEs
ZS5vcHRpb25zLm1vZGV8fCJoaWRlIiksYz1lLm9wdGlvbnMuZGlyZWN0aW9ufHwidmVydGljYWwi
O2IuZWZmZWN0cy5zYXZlKGEsaSk7YS5zaG93KCk7dmFyIGQ9Yi5lZmZlY3RzLmNyZWF0ZVdyYXBw
ZXIoYSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO2Q9YVswXS50YWdOYW1lPT0iSU1HIj9kOmE7
dmFyIGc9e3NpemU6Yz09InZlcnRpY2FsIj8iaGVpZ2h0Ijoid2lkdGgiLHBvc2l0aW9uOmM9PSJ2
ZXJ0aWNhbCI/InRvcCI6ImxlZnQifTtjPWM9PSJ2ZXJ0aWNhbCI/ZC5oZWlnaHQoKTpkLndpZHRo
KCk7aWYoZj09InNob3ciKXtkLmNzcyhnLnNpemUsMCk7ZC5jc3MoZy5wb3NpdGlvbiwKK2MvMil9
dmFyIGg9e307aFtnLnNpemVdPWY9PSJzaG93Ij9jOjA7aFtnLnBvc2l0aW9uXT1mPT0ic2hvdyI/
MDpjLzI7ZC5hbmltYXRlKGgse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmUuZHVyYXRpb24sZWFzaW5n
OmUub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtmPT0iaGlkZSImJmEuaGlkZSgp
O2IuZWZmZWN0cy5yZXN0b3JlKGEsaSk7Yi5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZS5jYWxs
YmFjayYmZS5jYWxsYmFjay5hcHBseShhWzBdLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19
KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuY29yZS5taW4uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmNvcmUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5jb3JlLm1pbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMg
MS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzLworICovCitqUXVlcnkuZWZmZWN0c3x8ZnVu
Y3Rpb24oZixqKXtmdW5jdGlvbiBtKGMpe3ZhciBhO2lmKGMmJmMuY29uc3RydWN0b3I9PUFycmF5
JiZjLmxlbmd0aD09MylyZXR1cm4gYztpZihhPS9yZ2JcKFxzKihbMC05XXsxLDN9KVxzKixccyoo
WzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqXCkvLmV4ZWMoYykpcmV0dXJuW3BhcnNl
SW50KGFbMV0sMTApLHBhcnNlSW50KGFbMl0sMTApLHBhcnNlSW50KGFbM10sMTApXTtpZihhPS9y
Z2JcKFxzKihbMC05XSsoPzpcLlswLTldKyk/KVwlXHMqLFxzKihbMC05XSsoPzpcLlswLTldKyk/
KVwlXHMqLFxzKihbMC05XSsoPzpcLlswLTldKyk/KVwlXHMqXCkvLmV4ZWMoYykpcmV0dXJuW3Bh
cnNlRmxvYXQoYVsxXSkqMi41NSxwYXJzZUZsb2F0KGFbMl0pKjIuNTUscGFyc2VGbG9hdChhWzNd
KSoyLjU1XTtpZihhPS8jKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAt
OV17Mn0pLy5leGVjKGMpKXJldHVybltwYXJzZUludChhWzFdLAorMTYpLHBhcnNlSW50KGFbMl0s
MTYpLHBhcnNlSW50KGFbM10sMTYpXTtpZihhPS8jKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSko
W2EtZkEtRjAtOV0pLy5leGVjKGMpKXJldHVybltwYXJzZUludChhWzFdK2FbMV0sMTYpLHBhcnNl
SW50KGFbMl0rYVsyXSwxNikscGFyc2VJbnQoYVszXSthWzNdLDE2KV07aWYoL3JnYmFcKDAsIDAs
IDAsIDBcKS8uZXhlYyhjKSlyZXR1cm4gbi50cmFuc3BhcmVudDtyZXR1cm4gbltmLnRyaW0oYyku
dG9Mb3dlckNhc2UoKV19ZnVuY3Rpb24gcyhjLGEpe3ZhciBiO2Rve2I9Zi5jdXJDU1MoYyxhKTtp
ZihiIT0iIiYmYiE9InRyYW5zcGFyZW50Inx8Zi5ub2RlTmFtZShjLCJib2R5IikpYnJlYWs7YT0i
YmFja2dyb3VuZENvbG9yIn13aGlsZShjPWMucGFyZW50Tm9kZSk7cmV0dXJuIG0oYil9ZnVuY3Rp
b24gbygpe3ZhciBjPWRvY3VtZW50LmRlZmF1bHRWaWV3P2RvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGhpcyxudWxsKTp0aGlzLmN1cnJlbnRTdHlsZSwKK2E9e30sYixkO2lm
KGMmJmMubGVuZ3RoJiZjWzBdJiZjW2NbMF1dKWZvcih2YXIgZT1jLmxlbmd0aDtlLS07KXtiPWNb
ZV07aWYodHlwZW9mIGNbYl09PSJzdHJpbmciKXtkPWIucmVwbGFjZSgvXC0oXHcpL2csZnVuY3Rp
b24oZyxoKXtyZXR1cm4gaC50b1VwcGVyQ2FzZSgpfSk7YVtkXT1jW2JdfX1lbHNlIGZvcihiIGlu
IGMpaWYodHlwZW9mIGNbYl09PT0ic3RyaW5nIilhW2JdPWNbYl07cmV0dXJuIGF9ZnVuY3Rpb24g
cChjKXt2YXIgYSxiO2ZvcihhIGluIGMpe2I9Y1thXTtpZihiPT1udWxsfHxmLmlzRnVuY3Rpb24o
Yil8fGEgaW4gdHx8L3Njcm9sbGJhci8udGVzdChhKXx8IS9jb2xvci9pLnRlc3QoYSkmJmlzTmFO
KHBhcnNlRmxvYXQoYikpKWRlbGV0ZSBjW2FdfXJldHVybiBjfWZ1bmN0aW9uIHUoYyxhKXt2YXIg
Yj17XzowfSxkO2ZvcihkIGluIGEpaWYoY1tkXSE9YVtkXSliW2RdPWFbZF07cmV0dXJuIGJ9ZnVu
Y3Rpb24gayhjLGEsYixkKXtpZih0eXBlb2YgYz09Im9iamVjdCIpe2Q9CithO2I9bnVsbDthPWM7
Yz1hLmVmZmVjdH1pZihmLmlzRnVuY3Rpb24oYSkpe2Q9YTtiPW51bGw7YT17fX1pZih0eXBlb2Yg
YT09Im51bWJlciJ8fGYuZnguc3BlZWRzW2FdKXtkPWI7Yj1hO2E9e319aWYoZi5pc0Z1bmN0aW9u
KGIpKXtkPWI7Yj1udWxsfWE9YXx8e307Yj1ifHxhLmR1cmF0aW9uO2I9Zi5meC5vZmY/MDp0eXBl
b2YgYj09Im51bWJlciI/YjpiIGluIGYuZnguc3BlZWRzP2YuZnguc3BlZWRzW2JdOmYuZnguc3Bl
ZWRzLl9kZWZhdWx0O2Q9ZHx8YS5jb21wbGV0ZTtyZXR1cm5bYyxhLGIsZF19ZnVuY3Rpb24gbChj
KXtpZighY3x8dHlwZW9mIGM9PT0ibnVtYmVyInx8Zi5meC5zcGVlZHNbY10pcmV0dXJuIHRydWU7
aWYodHlwZW9mIGM9PT0ic3RyaW5nIiYmIWYuZWZmZWN0c1tjXSlyZXR1cm4gdHJ1ZTtyZXR1cm4g
ZmFsc2V9Zi5lZmZlY3RzPXt9O2YuZWFjaChbImJhY2tncm91bmRDb2xvciIsImJvcmRlckJvdHRv
bUNvbG9yIiwiYm9yZGVyTGVmdENvbG9yIiwiYm9yZGVyUmlnaHRDb2xvciIsCisiYm9yZGVyVG9w
Q29sb3IiLCJib3JkZXJDb2xvciIsImNvbG9yIiwib3V0bGluZUNvbG9yIl0sZnVuY3Rpb24oYyxh
KXtmLmZ4LnN0ZXBbYV09ZnVuY3Rpb24oYil7aWYoIWIuY29sb3JJbml0KXtiLnN0YXJ0PXMoYi5l
bGVtLGEpO2IuZW5kPW0oYi5lbmQpO2IuY29sb3JJbml0PXRydWV9Yi5lbGVtLnN0eWxlW2FdPSJy
Z2IoIitNYXRoLm1heChNYXRoLm1pbihwYXJzZUludChiLnBvcyooYi5lbmRbMF0tYi5zdGFydFsw
XSkrYi5zdGFydFswXSwxMCksMjU1KSwwKSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQo
Yi5wb3MqKGIuZW5kWzFdLWIuc3RhcnRbMV0pK2Iuc3RhcnRbMV0sMTApLDI1NSksMCkrIiwiK01h
dGgubWF4KE1hdGgubWluKHBhcnNlSW50KGIucG9zKihiLmVuZFsyXS1iLnN0YXJ0WzJdKStiLnN0
YXJ0WzJdLDEwKSwyNTUpLDApKyIpIn19KTt2YXIgbj17YXF1YTpbMCwyNTUsMjU1XSxhenVyZTpb
MjQwLDI1NSwyNTVdLGJlaWdlOlsyNDUsMjQ1LDIyMF0sYmxhY2s6WzAsCiswLDBdLGJsdWU6WzAs
MCwyNTVdLGJyb3duOlsxNjUsNDIsNDJdLGN5YW46WzAsMjU1LDI1NV0sZGFya2JsdWU6WzAsMCwx
MzldLGRhcmtjeWFuOlswLDEzOSwxMzldLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2dyZWVu
OlswLDEwMCwwXSxkYXJra2hha2k6WzE4OSwxODMsMTA3XSxkYXJrbWFnZW50YTpbMTM5LDAsMTM5
XSxkYXJrb2xpdmVncmVlbjpbODUsMTA3LDQ3XSxkYXJrb3JhbmdlOlsyNTUsMTQwLDBdLGRhcmtv
cmNoaWQ6WzE1Myw1MCwyMDRdLGRhcmtyZWQ6WzEzOSwwLDBdLGRhcmtzYWxtb246WzIzMywxNTAs
MTIyXSxkYXJrdmlvbGV0OlsxNDgsMCwyMTFdLGZ1Y2hzaWE6WzI1NSwwLDI1NV0sZ29sZDpbMjU1
LDIxNSwwXSxncmVlbjpbMCwxMjgsMF0saW5kaWdvOls3NSwwLDEzMF0sa2hha2k6WzI0MCwyMzAs
MTQwXSxsaWdodGJsdWU6WzE3MywyMTYsMjMwXSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdo
dGdyZWVuOlsxNDQsMjM4LDE0NF0sbGlnaHRncmV5OlsyMTEsCisyMTEsMjExXSxsaWdodHBpbms6
WzI1NSwxODIsMTkzXSxsaWdodHllbGxvdzpbMjU1LDI1NSwyMjRdLGxpbWU6WzAsMjU1LDBdLG1h
Z2VudGE6WzI1NSwwLDI1NV0sbWFyb29uOlsxMjgsMCwwXSxuYXZ5OlswLDAsMTI4XSxvbGl2ZTpb
MTI4LDEyOCwwXSxvcmFuZ2U6WzI1NSwxNjUsMF0scGluazpbMjU1LDE5MiwyMDNdLHB1cnBsZTpb
MTI4LDAsMTI4XSx2aW9sZXQ6WzEyOCwwLDEyOF0scmVkOlsyNTUsMCwwXSxzaWx2ZXI6WzE5Miwx
OTIsMTkyXSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHllbGxvdzpbMjU1LDI1NSwwXSx0cmFuc3BhcmVu
dDpbMjU1LDI1NSwyNTVdfSxxPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0sdD17Ym9yZGVyOjEs
Ym9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxi
b3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07Zi5lZmZlY3RzLmFu
aW1hdGVDbGFzcz1mdW5jdGlvbihjLGEsYiwKK2Qpe2lmKGYuaXNGdW5jdGlvbihiKSl7ZD1iO2I9
bnVsbH1yZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBlPWYodGhpcyksZz1lLmF0dHIo
InN0eWxlIil8fCIgIixoPXAoby5jYWxsKHRoaXMpKSxyLHY9ZS5hdHRyKCJjbGFzcyIpO2YuZWFj
aChxLGZ1bmN0aW9uKHcsaSl7Y1tpXSYmZVtpKyJDbGFzcyJdKGNbaV0pfSk7cj1wKG8uY2FsbCh0
aGlzKSk7ZS5hdHRyKCJjbGFzcyIsdik7ZS5hbmltYXRlKHUoaCxyKSx7cXVldWU6ZmFsc2UsZHVy
YXRpb246YSxlYXNpbmc6Yixjb21wbGV0ZTpmdW5jdGlvbigpe2YuZWFjaChxLGZ1bmN0aW9uKHcs
aSl7Y1tpXSYmZVtpKyJDbGFzcyJdKGNbaV0pfSk7aWYodHlwZW9mIGUuYXR0cigic3R5bGUiKT09
Im9iamVjdCIpe2UuYXR0cigic3R5bGUiKS5jc3NUZXh0PSIiO2UuYXR0cigic3R5bGUiKS5jc3NU
ZXh0PWd9ZWxzZSBlLmF0dHIoInN0eWxlIixnKTtkJiZkLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtm
LmRlcXVldWUodGhpcyl9fSl9KX07CitmLmZuLmV4dGVuZCh7X2FkZENsYXNzOmYuZm4uYWRkQ2xh
c3MsYWRkQ2xhc3M6ZnVuY3Rpb24oYyxhLGIsZCl7cmV0dXJuIGE/Zi5lZmZlY3RzLmFuaW1hdGVD
bGFzcy5hcHBseSh0aGlzLFt7YWRkOmN9LGEsYixkXSk6dGhpcy5fYWRkQ2xhc3MoYyl9LF9yZW1v
dmVDbGFzczpmLmZuLnJlbW92ZUNsYXNzLHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGMsYSxiLGQpe3Jl
dHVybiBhP2YuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe3JlbW92ZTpjfSxhLGIs
ZF0pOnRoaXMuX3JlbW92ZUNsYXNzKGMpfSxfdG9nZ2xlQ2xhc3M6Zi5mbi50b2dnbGVDbGFzcyx0
b2dnbGVDbGFzczpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiB0eXBlb2YgYT09ImJvb2xlYW4i
fHxhPT09aj9iP2YuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbYT97YWRkOmN9Onty
ZW1vdmU6Y30sYixkLGVdKTp0aGlzLl90b2dnbGVDbGFzcyhjLGEpOmYuZWZmZWN0cy5hbmltYXRl
Q2xhc3MuYXBwbHkodGhpcywKK1t7dG9nZ2xlOmN9LGEsYixkXSl9LHN3aXRjaENsYXNzOmZ1bmN0
aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGYuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxb
e2FkZDphLHJlbW92ZTpjfSxiLGQsZV0pfX0pO2YuZXh0ZW5kKGYuZWZmZWN0cyx7dmVyc2lvbjoi
MS44LjE1IixzYXZlOmZ1bmN0aW9uKGMsYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspYVti
XSE9PW51bGwmJmMuZGF0YSgiZWMuc3RvcmFnZS4iK2FbYl0sY1swXS5zdHlsZVthW2JdXSl9LHJl
c3RvcmU6ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdIT09bnVs
bCYmYy5jc3MoYVtiXSxjLmRhdGEoImVjLnN0b3JhZ2UuIithW2JdKSl9LHNldE1vZGU6ZnVuY3Rp
b24oYyxhKXtpZihhPT0idG9nZ2xlIilhPWMuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiO3Jl
dHVybiBhfSxnZXRCYXNlbGluZTpmdW5jdGlvbihjLGEpe3ZhciBiO3N3aXRjaChjWzBdKXtjYXNl
ICJ0b3AiOmI9CiswO2JyZWFrO2Nhc2UgIm1pZGRsZSI6Yj0wLjU7YnJlYWs7Y2FzZSAiYm90dG9t
IjpiPTE7YnJlYWs7ZGVmYXVsdDpiPWNbMF0vYS5oZWlnaHR9c3dpdGNoKGNbMV0pe2Nhc2UgImxl
ZnQiOmM9MDticmVhaztjYXNlICJjZW50ZXIiOmM9MC41O2JyZWFrO2Nhc2UgInJpZ2h0IjpjPTE7
YnJlYWs7ZGVmYXVsdDpjPWNbMV0vYS53aWR0aH1yZXR1cm57eDpjLHk6Yn19LGNyZWF0ZVdyYXBw
ZXI6ZnVuY3Rpb24oYyl7aWYoYy5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJl
dHVybiBjLnBhcmVudCgpO3ZhciBhPXt3aWR0aDpjLm91dGVyV2lkdGgodHJ1ZSksaGVpZ2h0OmMu
b3V0ZXJIZWlnaHQodHJ1ZSksImZsb2F0IjpjLmNzcygiZmxvYXQiKX0sYj1mKCI8ZGl2PjwvZGl2
PiIpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXdyYXBwZXIiKS5jc3Moe2ZvbnRTaXplOiIxMDAlIixi
YWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixtYXJnaW46MCxwYWRkaW5nOjB9
KTsKK2Mud3JhcChiKTtiPWMucGFyZW50KCk7aWYoYy5jc3MoInBvc2l0aW9uIik9PSJzdGF0aWMi
KXtiLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pO2MuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUi
fSl9ZWxzZXtmLmV4dGVuZChhLHtwb3NpdGlvbjpjLmNzcygicG9zaXRpb24iKSx6SW5kZXg6Yy5j
c3MoInotaW5kZXgiKX0pO2YuZWFjaChbInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1
bmN0aW9uKGQsZSl7YVtlXT1jLmNzcyhlKTtpZihpc05hTihwYXJzZUludChhW2VdLDEwKSkpYVtl
XT0iYXV0byJ9KTtjLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6MCxsZWZ0OjAscmlnaHQ6
ImF1dG8iLGJvdHRvbToiYXV0byJ9KX1yZXR1cm4gYi5jc3MoYSkuc2hvdygpfSxyZW1vdmVXcmFw
cGVyOmZ1bmN0aW9uKGMpe2lmKGMucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSly
ZXR1cm4gYy5wYXJlbnQoKS5yZXBsYWNlV2l0aChjKTtyZXR1cm4gY30sc2V0VHJhbnNpdGlvbjpm
dW5jdGlvbihjLAorYSxiLGQpe2Q9ZHx8e307Zi5lYWNoKGEsZnVuY3Rpb24oZSxnKXt1bml0PWMu
Y3NzVW5pdChnKTtpZih1bml0WzBdPjApZFtnXT11bml0WzBdKmIrdW5pdFsxXX0pO3JldHVybiBk
fX0pO2YuZm4uZXh0ZW5kKHtlZmZlY3Q6ZnVuY3Rpb24oYyl7dmFyIGE9ay5hcHBseSh0aGlzLGFy
Z3VtZW50cyksYj17b3B0aW9uczphWzFdLGR1cmF0aW9uOmFbMl0sY2FsbGJhY2s6YVszXX07YT1i
Lm9wdGlvbnMubW9kZTt2YXIgZD1mLmVmZmVjdHNbY107aWYoZi5meC5vZmZ8fCFkKXJldHVybiBh
P3RoaXNbYV0oYi5kdXJhdGlvbixiLmNhbGxiYWNrKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmNh
bGxiYWNrJiZiLmNhbGxiYWNrLmNhbGwodGhpcyl9KTtyZXR1cm4gZC5jYWxsKHRoaXMsYil9LF9z
aG93OmYuZm4uc2hvdyxzaG93OmZ1bmN0aW9uKGMpe2lmKGwoYykpcmV0dXJuIHRoaXMuX3Nob3cu
YXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGE9ay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7
CithWzFdLm1vZGU9InNob3ciO3JldHVybiB0aGlzLmVmZmVjdC5hcHBseSh0aGlzLGEpfX0sX2hp
ZGU6Zi5mbi5oaWRlLGhpZGU6ZnVuY3Rpb24oYyl7aWYobChjKSlyZXR1cm4gdGhpcy5faGlkZS5h
cHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKTth
WzFdLm1vZGU9ImhpZGUiO3JldHVybiB0aGlzLmVmZmVjdC5hcHBseSh0aGlzLGEpfX0sX190b2dn
bGU6Zi5mbi50b2dnbGUsdG9nZ2xlOmZ1bmN0aW9uKGMpe2lmKGwoYyl8fHR5cGVvZiBjPT09ImJv
b2xlYW4ifHxmLmlzRnVuY3Rpb24oYykpcmV0dXJuIHRoaXMuX190b2dnbGUuYXBwbHkodGhpcyxh
cmd1bWVudHMpO2Vsc2V7dmFyIGE9ay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YVsxXS5tb2RlPSJ0
b2dnbGUiO3JldHVybiB0aGlzLmVmZmVjdC5hcHBseSh0aGlzLGEpfX0sY3NzVW5pdDpmdW5jdGlv
bihjKXt2YXIgYT10aGlzLmNzcyhjKSxiPVtdO2YuZWFjaChbImVtIiwicHgiLCIlIiwKKyJwdCJd
LGZ1bmN0aW9uKGQsZSl7aWYoYS5pbmRleE9mKGUpPjApYj1bcGFyc2VGbG9hdChhKSxlXX0pO3Jl
dHVybiBifX0pO2YuZWFzaW5nLmpzd2luZz1mLmVhc2luZy5zd2luZztmLmV4dGVuZChmLmVhc2lu
Zyx7ZGVmOiJlYXNlT3V0UXVhZCIsc3dpbmc6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZi5l
YXNpbmdbZi5lYXNpbmcuZGVmXShjLGEsYixkLGUpfSxlYXNlSW5RdWFkOmZ1bmN0aW9uKGMsYSxi
LGQsZSl7cmV0dXJuIGQqKGEvPWUpKmErYn0sZWFzZU91dFF1YWQ6ZnVuY3Rpb24oYyxhLGIsZCxl
KXtyZXR1cm4tZCooYS89ZSkqKGEtMikrYn0sZWFzZUluT3V0UXVhZDpmdW5jdGlvbihjLGEsYixk
LGUpe2lmKChhLz1lLzIpPDEpcmV0dXJuIGQvMiphKmErYjtyZXR1cm4tZC8yKigtLWEqKGEtMikt
MSkrYn0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCooYS89ZSkqYSph
K2J9LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKgorKChhPWEvZS0x
KSphKmErMSkrYn0sZWFzZUluT3V0Q3ViaWM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8y
KTwxKXJldHVybiBkLzIqYSphKmErYjtyZXR1cm4gZC8yKigoYS09MikqYSphKzIpK2J9LGVhc2VJ
blF1YXJ0OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKGEvPWUpKmEqYSphK2J9LGVhc2VP
dXRRdWFydDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKigoYT1hL2UtMSkqYSphKmEtMSkr
Yn0sZWFzZUluT3V0UXVhcnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVy
biBkLzIqYSphKmEqYStiO3JldHVybi1kLzIqKChhLT0yKSphKmEqYS0yKStifSxlYXNlSW5RdWlu
dDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihhLz1lKSphKmEqYSphK2J9LGVhc2VPdXRR
dWludDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKigoYT1hL2UtMSkqYSphKmEqYSsxKSti
fSxlYXNlSW5PdXRRdWludDpmdW5jdGlvbihjLGEsYixkLGUpe2lmKChhLz0KK2UvMik8MSlyZXR1
cm4gZC8yKmEqYSphKmEqYStiO3JldHVybiBkLzIqKChhLT0yKSphKmEqYSphKzIpK2J9LGVhc2VJ
blNpbmU6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4tZCpNYXRoLmNvcyhhL2UqKE1hdGguUEkv
MikpK2QrYn0sZWFzZU91dFNpbmU6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCpNYXRoLnNp
bihhL2UqKE1hdGguUEkvMikpK2J9LGVhc2VJbk91dFNpbmU6ZnVuY3Rpb24oYyxhLGIsZCxlKXty
ZXR1cm4tZC8yKihNYXRoLmNvcyhNYXRoLlBJKmEvZSktMSkrYn0sZWFzZUluRXhwbzpmdW5jdGlv
bihjLGEsYixkLGUpe3JldHVybiBhPT0wP2I6ZCpNYXRoLnBvdygyLDEwKihhL2UtMSkpK2J9LGVh
c2VPdXRFeHBvOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGE9PWU/YitkOmQqKC1NYXRoLnBv
dygyLC0xMCphL2UpKzEpK2J9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZihh
PT0wKXJldHVybiBiO2lmKGE9PWUpcmV0dXJuIGIrZDtpZigoYS89CitlLzIpPDEpcmV0dXJuIGQv
MipNYXRoLnBvdygyLDEwKihhLTEpKStiO3JldHVybiBkLzIqKC1NYXRoLnBvdygyLC0xMCotLWEp
KzIpK2J9LGVhc2VJbkNpcmM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4tZCooTWF0aC5zcXJ0
KDEtKGEvPWUpKmEpLTEpK2J9LGVhc2VPdXRDaXJjOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJu
IGQqTWF0aC5zcXJ0KDEtKGE9YS9lLTEpKmEpK2J9LGVhc2VJbk91dENpcmM6ZnVuY3Rpb24oYyxh
LGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybi1kLzIqKE1hdGguc3FydCgxLWEqYSktMSkrYjty
ZXR1cm4gZC8yKihNYXRoLnNxcnQoMS0oYS09MikqYSkrMSkrYn0sZWFzZUluRWxhc3RpYzpmdW5j
dGlvbihjLGEsYixkLGUpe2M9MS43MDE1ODt2YXIgZz0wLGg9ZDtpZihhPT0wKXJldHVybiBiO2lm
KChhLz1lKT09MSlyZXR1cm4gYitkO2d8fChnPWUqMC4zKTtpZihoPE1hdGguYWJzKGQpKXtoPWQ7
Yz1nLzR9ZWxzZSBjPWcvKDIqTWF0aC5QSSkqTWF0aC5hc2luKGQvCitoKTtyZXR1cm4tKGgqTWF0
aC5wb3coMiwxMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpKStifSxlYXNl
T3V0RWxhc3RpYzpmdW5jdGlvbihjLGEsYixkLGUpe2M9MS43MDE1ODt2YXIgZz0wLGg9ZDtpZihh
PT0wKXJldHVybiBiO2lmKChhLz1lKT09MSlyZXR1cm4gYitkO2d8fChnPWUqMC4zKTtpZihoPE1h
dGguYWJzKGQpKXtoPWQ7Yz1nLzR9ZWxzZSBjPWcvKDIqTWF0aC5QSSkqTWF0aC5hc2luKGQvaCk7
cmV0dXJuIGgqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykr
ZCtifSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7Yz0xLjcwMTU4O3ZhciBn
PTAsaD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUvMik9PTIpcmV0dXJuIGIrZDtnfHwoZz1l
KjAuMyoxLjUpO2lmKGg8TWF0aC5hYnMoZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJ
KSpNYXRoLmFzaW4oZC9oKTtpZihhPDEpcmV0dXJuLTAuNSoKK2gqTWF0aC5wb3coMiwxMCooYS09
MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpK2I7cmV0dXJuIGgqTWF0aC5wb3coMiwt
MTAqKGEtPTEpKSpNYXRoLnNpbigoYSplLWMpKjIqTWF0aC5QSS9nKSowLjUrZCtifSxlYXNlSW5C
YWNrOmZ1bmN0aW9uKGMsYSxiLGQsZSxnKXtpZihnPT1qKWc9MS43MDE1ODtyZXR1cm4gZCooYS89
ZSkqYSooKGcrMSkqYS1nKStifSxlYXNlT3V0QmFjazpmdW5jdGlvbihjLGEsYixkLGUsZyl7aWYo
Zz09ailnPTEuNzAxNTg7cmV0dXJuIGQqKChhPWEvZS0xKSphKigoZysxKSphK2cpKzEpK2J9LGVh
c2VJbk91dEJhY2s6ZnVuY3Rpb24oYyxhLGIsZCxlLGcpe2lmKGc9PWopZz0xLjcwMTU4O2lmKChh
Lz1lLzIpPDEpcmV0dXJuIGQvMiphKmEqKCgoZyo9MS41MjUpKzEpKmEtZykrYjtyZXR1cm4gZC8y
KigoYS09MikqYSooKChnKj0xLjUyNSkrMSkqYStnKSsyKStifSxlYXNlSW5Cb3VuY2U6ZnVuY3Rp
b24oYyxhLGIsZCxlKXtyZXR1cm4gZC1mLmVhc2luZy5lYXNlT3V0Qm91bmNlKGMsCitlLWEsMCxk
LGUpK2J9LGVhc2VPdXRCb3VuY2U6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4oYS89ZSk8MS8y
Ljc1P2QqNy41NjI1KmEqYStiOmE8Mi8yLjc1P2QqKDcuNTYyNSooYS09MS41LzIuNzUpKmErMC43
NSkrYjphPDIuNS8yLjc1P2QqKDcuNTYyNSooYS09Mi4yNS8yLjc1KSphKzAuOTM3NSkrYjpkKig3
LjU2MjUqKGEtPTIuNjI1LzIuNzUpKmErMC45ODQzNzUpK2J9LGVhc2VJbk91dEJvdW5jZTpmdW5j
dGlvbihjLGEsYixkLGUpe2lmKGE8ZS8yKXJldHVybiBmLmVhc2luZy5lYXNlSW5Cb3VuY2UoYyxh
KjIsMCxkLGUpKjAuNStiO3JldHVybiBmLmVhc2luZy5lYXNlT3V0Qm91bmNlKGMsYSoyLWUsMCxk
LGUpKjAuNStkKjAuNStifX0pfShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LmNvcmUubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIwor
MQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZHJvcC5taW4u
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzCShub25leGlzdGVudCkKKysrIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZm
ZWN0cy5kcm9wLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICog
alF1ZXJ5IFVJIEVmZmVjdHMgRHJvcCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVU
SE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVu
ZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnku
b3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRHJv
cAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5j
dGlvbihjKXtjLmVmZmVjdHMuZHJvcD1mdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5j
dGlvbigpe3ZhciBhPWModGhpcyksaD1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIs
InJpZ2h0Iiwib3BhY2l0eSJdLGU9Yy5lZmZlY3RzLnNldE1vZGUoYSxkLm9wdGlvbnMubW9kZXx8
ImhpZGUiKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjtjLmVmZmVjdHMuc2F2ZShhLGgp
O2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpO3ZhciBmPWI9PSJ1cCJ8fGI9PSJk
b3duIj8idG9wIjoibGVmdCI7Yj1iPT0idXAifHxiPT0ibGVmdCI/InBvcyI6Im5lZyI7dmFyIGc9
ZC5vcHRpb25zLmRpc3RhbmNlfHwoZj09InRvcCI/YS5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9
KS8yOmEub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KS8yKTtpZihlPT0ic2hvdyIpYS5jc3MoIm9w
YWNpdHkiLDApLmNzcyhmLGI9PSJwb3MiPy1nOmcpO3ZhciBpPXtvcGFjaXR5OmU9PQorInNob3ci
PzE6MH07aVtmXT0oZT09InNob3ciP2I9PSJwb3MiPyIrPSI6Ii09IjpiPT0icG9zIj8iLT0iOiIr
PSIpK2c7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzaW5n
OmQub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtlPT0iaGlkZSImJmEuaGlkZSgp
O2MuZWZmZWN0cy5yZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5jYWxs
YmFjayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19
KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZXhwbG9kZS5taW4uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVy
eS5lZmZlY3RzLmV4cGxvZGUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5leHBsb2Rl
Lm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACisvKgorICogalF1ZXJ5IFVJ
IEVmZmVjdHMgRXhwbG9kZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50
eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRo
ZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xp
Y2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRXhwbG9kZQor
ICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlv
bihqKXtqLmVmZmVjdHMuZXhwbG9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5j
dGlvbigpe3ZhciBjPWEub3B0aW9ucy5waWVjZXM/TWF0aC5yb3VuZChNYXRoLnNxcnQoYS5vcHRp
b25zLnBpZWNlcykpOjMsZD1hLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGEu
b3B0aW9ucy5waWVjZXMpKTozO2Eub3B0aW9ucy5tb2RlPWEub3B0aW9ucy5tb2RlPT0idG9nZ2xl
Ij9qKHRoaXMpLmlzKCI6dmlzaWJsZSIpPyJoaWRlIjoic2hvdyI6YS5vcHRpb25zLm1vZGU7dmFy
IGI9aih0aGlzKS5zaG93KCkuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksZz1iLm9mZnNldCgp
O2cudG9wLT1wYXJzZUludChiLmNzcygibWFyZ2luVG9wIiksMTApfHwwO2cubGVmdC09cGFyc2VJ
bnQoYi5jc3MoIm1hcmdpbkxlZnQiKSwxMCl8fDA7Zm9yKHZhciBoPWIub3V0ZXJXaWR0aCh0cnVl
KSxpPWIub3V0ZXJIZWlnaHQodHJ1ZSksZT0wO2U8YztlKyspZm9yKHZhciBmPQorMDtmPGQ7Zisr
KWIuY2xvbmUoKS5hcHBlbmRUbygiYm9keSIpLndyYXAoIjxkaXY+PC9kaXY+IikuY3NzKHtwb3Np
dGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6InZpc2libGUiLGxlZnQ6LWYqKGgvZCksdG9wOi1l
KihpL2MpfSkucGFyZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9z
aXRpb246ImFic29sdXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDpoL2QsaGVpZ2h0OmkvYyxs
ZWZ0OmcubGVmdCtmKihoL2QpKyhhLm9wdGlvbnMubW9kZT09InNob3ciPyhmLU1hdGguZmxvb3Io
ZC8yKSkqKGgvZCk6MCksdG9wOmcudG9wK2UqKGkvYykrKGEub3B0aW9ucy5tb2RlPT0ic2hvdyI/
KGUtTWF0aC5mbG9vcihjLzIpKSooaS9jKTowKSxvcGFjaXR5OmEub3B0aW9ucy5tb2RlPT0ic2hv
dyI/MDoxfSkuYW5pbWF0ZSh7bGVmdDpnLmxlZnQrZiooaC9kKSsoYS5vcHRpb25zLm1vZGU9PSJz
aG93Ij8wOihmLU1hdGguZmxvb3IoZC8yKSkqKGgvZCkpLHRvcDpnLnRvcCsKK2UqKGkvYykrKGEu
b3B0aW9ucy5tb2RlPT0ic2hvdyI/MDooZS1NYXRoLmZsb29yKGMvMikpKihpL2MpKSxvcGFjaXR5
OmEub3B0aW9ucy5tb2RlPT0ic2hvdyI/MTowfSxhLmR1cmF0aW9ufHw1MDApO3NldFRpbWVvdXQo
ZnVuY3Rpb24oKXthLm9wdGlvbnMubW9kZT09InNob3ciP2IuY3NzKHt2aXNpYmlsaXR5OiJ2aXNp
YmxlIn0pOmIuY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLmhpZGUoKTthLmNhbGxiYWNrJiZh
LmNhbGxiYWNrLmFwcGx5KGJbMF0pO2IuZGVxdWV1ZSgpO2ooImRpdi51aS1lZmZlY3RzLWV4cGxv
ZGUiKS5yZW1vdmUoKX0sYS5kdXJhdGlvbnx8NTAwKX0pfX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LmVmZmVjdHMuZXhwbG9kZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ct
dGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkuZWZmZWN0cy5mYWRlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZmFkZS5taW4uanMJ
KG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZhZGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTMgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBGYWRlIDEuOC4xNQorICoKKyAq
IENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkK
KyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVy
eS5jb20vVUkvRWZmZWN0cy9GYWRlCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS5lZmZlY3Rz
LmNvcmUuanMKKyAqLworKGZ1bmN0aW9uKGIpe2IuZWZmZWN0cy5mYWRlPWZ1bmN0aW9uKGEpe3Jl
dHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGM9Yih0aGlzKSxkPWIuZWZmZWN0cy5zZXRN
b2RlKGMsYS5vcHRpb25zLm1vZGV8fCJoaWRlIik7Yy5hbmltYXRlKHtvcGFjaXR5OmR9LHtxdWV1
ZTpmYWxzZSxkdXJhdGlvbjphLmR1cmF0aW9uLGVhc2luZzphLm9wdGlvbnMuZWFzaW5nLGNvbXBs
ZXRlOmZ1bmN0aW9uKCl7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50
cyk7Yy5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLmZhZGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAj
IworMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZm9sZC5t
aW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZvbGQubWluLmpzCShub25leGlzdGVudCkKKysr
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5mb2xkLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgor
ICogalF1ZXJ5IFVJIEVmZmVjdHMgRm9sZCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMv
Rm9sZAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhm
dW5jdGlvbihjKXtjLmVmZmVjdHMuZm9sZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShm
dW5jdGlvbigpe3ZhciBiPWModGhpcyksaj1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVm
dCIsInJpZ2h0Il0sZD1jLmVmZmVjdHMuc2V0TW9kZShiLGEub3B0aW9ucy5tb2RlfHwiaGlkZSIp
LGc9YS5vcHRpb25zLnNpemV8fDE1LGg9ISFhLm9wdGlvbnMuaG9yaXpGaXJzdCxrPWEuZHVyYXRp
b24/YS5kdXJhdGlvbi8yOmMuZnguc3BlZWRzLl9kZWZhdWx0LzI7Yy5lZmZlY3RzLnNhdmUoYixq
KTtiLnNob3coKTt2YXIgZT1jLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihiKS5jc3Moe292ZXJmbG93
OiJoaWRkZW4ifSksZj1kPT0ic2hvdyIhPWgsbD1mP1sid2lkdGgiLCJoZWlnaHQiXTpbImhlaWdo
dCIsIndpZHRoIl07Zj1mP1tlLndpZHRoKCksZS5oZWlnaHQoKV06W2UuaGVpZ2h0KCksZS53aWR0
aCgpXTt2YXIgaT0vKFswLTldKyklLy5leGVjKGcpO2lmKGkpZz1wYXJzZUludChpWzFdLAorMTAp
LzEwMCpmW2Q9PSJoaWRlIj8wOjFdO2lmKGQ9PSJzaG93IillLmNzcyhoP3toZWlnaHQ6MCx3aWR0
aDpnfTp7aGVpZ2h0Omcsd2lkdGg6MH0pO2g9e307aT17fTtoW2xbMF1dPWQ9PSJzaG93Ij9mWzBd
Omc7aVtsWzFdXT1kPT0ic2hvdyI/ZlsxXTowO2UuYW5pbWF0ZShoLGssYS5vcHRpb25zLmVhc2lu
ZykuYW5pbWF0ZShpLGssYS5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2Q9PSJoaWRlIiYmYi5o
aWRlKCk7Yy5lZmZlY3RzLnJlc3RvcmUoYixqKTtjLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihiKTth
LmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KGJbMF0sYXJndW1lbnRzKTtiLmRlcXVldWUoKX0p
fSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5mb2xkLm1pbi5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKKzEKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmhpZ2hsaWdodC5taW4uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS5lZmZlY3RzLmhpZ2hsaWdodC5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LmhpZ2hsaWdodC5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAq
IGpRdWVyeSBVSSBFZmZlY3RzIEhpZ2hsaWdodCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAx
MSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vu
c2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9q
cXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVj
dHMvSGlnaGxpZ2h0CisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMK
KyAqLworKGZ1bmN0aW9uKGIpe2IuZWZmZWN0cy5oaWdobGlnaHQ9ZnVuY3Rpb24oYyl7cmV0dXJu
IHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1iKHRoaXMpLGU9WyJiYWNrZ3JvdW5kSW1hZ2Ui
LCJiYWNrZ3JvdW5kQ29sb3IiLCJvcGFjaXR5Il0sZD1iLmVmZmVjdHMuc2V0TW9kZShhLGMub3B0
aW9ucy5tb2RlfHwic2hvdyIpLGY9e2JhY2tncm91bmRDb2xvcjphLmNzcygiYmFja2dyb3VuZENv
bG9yIil9O2lmKGQ9PSJoaWRlIilmLm9wYWNpdHk9MDtiLmVmZmVjdHMuc2F2ZShhLGUpO2Euc2hv
dygpLmNzcyh7YmFja2dyb3VuZEltYWdlOiJub25lIixiYWNrZ3JvdW5kQ29sb3I6Yy5vcHRpb25z
LmNvbG9yfHwiI2ZmZmY5OSJ9KS5hbmltYXRlKGYse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVy
YXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtkPT0iaGlk
ZSImJmEuaGlkZSgpO2IuZWZmZWN0cy5yZXN0b3JlKGEsZSk7ZD09InNob3ciJiYhYi5zdXBwb3J0
Lm9wYWNpdHkmJgordGhpcy5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO2MuY2FsbGJh
Y2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSko
alF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5oaWdobGlnaHQubWluLmpzCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMucHVsc2F0ZS5taW4uanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS5lZmZlY3RzLnB1bHNhdGUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5wdWxz
YXRlLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1ZXJ5
IFVJIEVmZmVjdHMgUHVsc2F0ZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9S
Uy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVy
IHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3Jn
L2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvUHVsc2F0
ZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5j
dGlvbihkKXtkLmVmZmVjdHMucHVsc2F0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShm
dW5jdGlvbigpe3ZhciBiPWQodGhpcyksYz1kLmVmZmVjdHMuc2V0TW9kZShiLGEub3B0aW9ucy5t
b2RlfHwic2hvdyIpO3RpbWVzPShhLm9wdGlvbnMudGltZXN8fDUpKjItMTtkdXJhdGlvbj1hLmR1
cmF0aW9uP2EuZHVyYXRpb24vMjpkLmZ4LnNwZWVkcy5fZGVmYXVsdC8yO2lzVmlzaWJsZT1iLmlz
KCI6dmlzaWJsZSIpO2FuaW1hdGVUbz0wO2lmKCFpc1Zpc2libGUpe2IuY3NzKCJvcGFjaXR5Iiww
KS5zaG93KCk7YW5pbWF0ZVRvPTF9aWYoYz09ImhpZGUiJiZpc1Zpc2libGV8fGM9PSJzaG93IiYm
IWlzVmlzaWJsZSl0aW1lcy0tO2ZvcihjPTA7Yzx0aW1lcztjKyspe2IuYW5pbWF0ZSh7b3BhY2l0
eTphbmltYXRlVG99LGR1cmF0aW9uLGEub3B0aW9ucy5lYXNpbmcpO2FuaW1hdGVUbz0oYW5pbWF0
ZVRvKzEpJTJ9Yi5hbmltYXRlKHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sCithLm9wdGlv
bnMuZWFzaW5nLGZ1bmN0aW9uKCl7YW5pbWF0ZVRvPT0wJiZiLmhpZGUoKTthLmNhbGxiYWNrJiZh
LmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO2IucXVldWUoImZ4IixmdW5jdGlvbigp
e2IuZGVxdWV1ZSgpfSkuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkuZWZmZWN0cy5wdWxzYXRlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMj
IC0wLDAgKzEgIyMKKzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZl
Y3RzLnNjYWxlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2NhbGUubWluLmpzCShub25l
eGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkuZWZmZWN0cy5zY2FsZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIFNjYWxlIDEuOC4xNQorICoKKyAqIENv
cHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAq
IER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgor
ICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5j
b20vVUkvRWZmZWN0cy9TY2FsZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5j
b3JlLmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMucHVmZj1mdW5jdGlvbihiKXtyZXR1
cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksZT1jLmVmZmVjdHMuc2V0TW9k
ZShhLGIub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9cGFyc2VJbnQoYi5vcHRpb25zLnBlcmNlbnQs
MTApfHwxNTAsaD1nLzEwMCxpPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2Mu
ZXh0ZW5kKGIub3B0aW9ucyx7ZmFkZTp0cnVlLG1vZGU6ZSxwZXJjZW50OmU9PSJoaWRlIj9nOjEw
MCxmcm9tOmU9PSJoaWRlIj9pOntoZWlnaHQ6aS5oZWlnaHQqaCx3aWR0aDppLndpZHRoKmh9fSk7
YS5lZmZlY3QoInNjYWxlIixiLm9wdGlvbnMsYi5kdXJhdGlvbixiLmNhbGxiYWNrKTthLmRlcXVl
dWUoKX0pfTtjLmVmZmVjdHMuc2NhbGU9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucXVldWUoZnVu
Y3Rpb24oKXt2YXIgYT1jKHRoaXMpLGU9Yy5leHRlbmQodHJ1ZSx7fSxiLm9wdGlvbnMpLGc9Yy5l
ZmZlY3RzLnNldE1vZGUoYSwKK2Iub3B0aW9ucy5tb2RlfHwiZWZmZWN0IiksaD1wYXJzZUludChi
Lm9wdGlvbnMucGVyY2VudCwxMCl8fChwYXJzZUludChiLm9wdGlvbnMucGVyY2VudCwxMCk9PTA/
MDpnPT0iaGlkZSI/MDoxMDApLGk9Yi5vcHRpb25zLmRpcmVjdGlvbnx8ImJvdGgiLGY9Yi5vcHRp
b25zLm9yaWdpbjtpZihnIT0iZWZmZWN0Iil7ZS5vcmlnaW49Znx8WyJtaWRkbGUiLCJjZW50ZXIi
XTtlLnJlc3RvcmU9dHJ1ZX1mPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2Eu
ZnJvbT1iLm9wdGlvbnMuZnJvbXx8KGc9PSJzaG93Ij97aGVpZ2h0OjAsd2lkdGg6MH06Zik7aD17
eTppIT0iaG9yaXpvbnRhbCI/aC8xMDA6MSx4OmkhPSJ2ZXJ0aWNhbCI/aC8xMDA6MX07YS50bz17
aGVpZ2h0OmYuaGVpZ2h0KmgueSx3aWR0aDpmLndpZHRoKmgueH07aWYoYi5vcHRpb25zLmZhZGUp
e2lmKGc9PSJzaG93Iil7YS5mcm9tLm9wYWNpdHk9MDthLnRvLm9wYWNpdHk9MX1pZihnPT0iaGlk
ZSIpe2EuZnJvbS5vcGFjaXR5PQorMTthLnRvLm9wYWNpdHk9MH19ZS5mcm9tPWEuZnJvbTtlLnRv
PWEudG87ZS5tb2RlPWc7YS5lZmZlY3QoInNpemUiLGUsYi5kdXJhdGlvbixiLmNhbGxiYWNrKTth
LmRlcXVldWUoKX0pfTtjLmVmZmVjdHMuc2l6ZT1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5xdWV1
ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwi
bGVmdCIsInJpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsIm9wYWNpdHkiXSxnPVsi
cG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJvdmVyZmxvdyIsIm9wYWNp
dHkiXSxoPVsid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLGk9WyJmb250U2l6ZSJdLGY9WyJi
b3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRpbmdC
b3R0b20iXSxrPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRpbmdM
ZWZ0IiwicGFkZGluZ1JpZ2h0Il0sCitwPWMuZWZmZWN0cy5zZXRNb2RlKGEsYi5vcHRpb25zLm1v
ZGV8fCJlZmZlY3QiKSxuPWIub3B0aW9ucy5yZXN0b3JlfHxmYWxzZSxtPWIub3B0aW9ucy5zY2Fs
ZXx8ImJvdGgiLGw9Yi5vcHRpb25zLm9yaWdpbixqPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDph
LndpZHRoKCl9O2EuZnJvbT1iLm9wdGlvbnMuZnJvbXx8ajthLnRvPWIub3B0aW9ucy50b3x8ajtp
ZihsKXtsPWMuZWZmZWN0cy5nZXRCYXNlbGluZShsLGopO2EuZnJvbS50b3A9KGouaGVpZ2h0LWEu
ZnJvbS5oZWlnaHQpKmwueTthLmZyb20ubGVmdD0oai53aWR0aC1hLmZyb20ud2lkdGgpKmwueDth
LnRvLnRvcD0oai5oZWlnaHQtYS50by5oZWlnaHQpKmwueTthLnRvLmxlZnQ9KGoud2lkdGgtYS50
by53aWR0aCkqbC54fXZhciBkPXtmcm9tOnt5OmEuZnJvbS5oZWlnaHQvai5oZWlnaHQseDphLmZy
b20ud2lkdGgvai53aWR0aH0sdG86e3k6YS50by5oZWlnaHQvai5oZWlnaHQseDphLnRvLndpZHRo
L2oud2lkdGh9fTsKK2lmKG09PSJib3gifHxtPT0iYm90aCIpe2lmKGQuZnJvbS55IT1kLnRvLnkp
e2U9ZS5jb25jYXQoZik7YS5mcm9tPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsZixkLmZyb20u
eSxhLmZyb20pO2EudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxmLGQudG8ueSxhLnRvKX1p
ZihkLmZyb20ueCE9ZC50by54KXtlPWUuY29uY2F0KGspO2EuZnJvbT1jLmVmZmVjdHMuc2V0VHJh
bnNpdGlvbihhLGssZC5mcm9tLngsYS5mcm9tKTthLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9u
KGEsayxkLnRvLngsYS50byl9fWlmKG09PSJjb250ZW50Inx8bT09ImJvdGgiKWlmKGQuZnJvbS55
IT1kLnRvLnkpe2U9ZS5jb25jYXQoaSk7YS5mcm9tPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEs
aSxkLmZyb20ueSxhLmZyb20pO2EudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxpLGQudG8u
eSxhLnRvKX1jLmVmZmVjdHMuc2F2ZShhLG4/ZTpnKTthLnNob3coKTtjLmVmZmVjdHMuY3JlYXRl
V3JhcHBlcihhKTsKK2EuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNzcyhhLmZyb20pO2lmKG09
PSJjb250ZW50Inx8bT09ImJvdGgiKXtmPWYuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2luQm90
dG9tIl0pLmNvbmNhdChpKTtrPWsuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0p
O2g9ZS5jb25jYXQoZikuY29uY2F0KGspO2EuZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0aW9u
KCl7Y2hpbGQ9Yyh0aGlzKTtuJiZjLmVmZmVjdHMuc2F2ZShjaGlsZCxoKTt2YXIgbz17aGVpZ2h0
OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNoaWxkLndpZHRoKCl9O2NoaWxkLmZyb209e2hlaWdodDpv
LmhlaWdodCpkLmZyb20ueSx3aWR0aDpvLndpZHRoKmQuZnJvbS54fTtjaGlsZC50bz17aGVpZ2h0
Om8uaGVpZ2h0KmQudG8ueSx3aWR0aDpvLndpZHRoKmQudG8ueH07aWYoZC5mcm9tLnkhPWQudG8u
eSl7Y2hpbGQuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxmLGQuZnJvbS55LGNo
aWxkLmZyb20pOworY2hpbGQudG89Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsZixkLnRv
LnksY2hpbGQudG8pfWlmKGQuZnJvbS54IT1kLnRvLngpe2NoaWxkLmZyb209Yy5lZmZlY3RzLnNl
dFRyYW5zaXRpb24oY2hpbGQsayxkLmZyb20ueCxjaGlsZC5mcm9tKTtjaGlsZC50bz1jLmVmZmVj
dHMuc2V0VHJhbnNpdGlvbihjaGlsZCxrLGQudG8ueCxjaGlsZC50byl9Y2hpbGQuY3NzKGNoaWxk
LmZyb20pO2NoaWxkLmFuaW1hdGUoY2hpbGQudG8sYi5kdXJhdGlvbixiLm9wdGlvbnMuZWFzaW5n
LGZ1bmN0aW9uKCl7biYmYy5lZmZlY3RzLnJlc3RvcmUoY2hpbGQsaCl9KX0pfWEuYW5pbWF0ZShh
LnRvLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmR1cmF0aW9uLGVhc2luZzpiLm9wdGlvbnMuZWFz
aW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS50by5vcGFjaXR5PT09MCYmYS5jc3MoIm9wYWNpdHki
LGEuZnJvbS5vcGFjaXR5KTtwPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEs
CituP2U6Zyk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYmYi5jYWxsYmFj
ay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNjYWxlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBh
bGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKKzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2hha2Uu
bWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zaGFrZS5taW4uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIFNoYWtlIDEuOC4x
NQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNv
bS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAy
IGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9k
b2NzLmpxdWVyeS5jb20vVUkvRWZmZWN0cy9TaGFrZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVl
cnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihkKXtkLmVmZmVjdHMuc2hha2U9ZnVu
Y3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYj1kKHRoaXMpLGo9WyJw
b3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdO2QuZWZmZWN0cy5zZXRNb2Rl
KGIsYS5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKTt2YXIgYz1hLm9wdGlvbnMuZGlyZWN0aW9ufHwi
bGVmdCIsZT1hLm9wdGlvbnMuZGlzdGFuY2V8fDIwLGw9YS5vcHRpb25zLnRpbWVzfHwzLGY9YS5k
dXJhdGlvbnx8YS5vcHRpb25zLmR1cmF0aW9ufHwxNDA7ZC5lZmZlY3RzLnNhdmUoYixqKTtiLnNo
b3coKTtkLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihiKTt2YXIgZz1jPT0idXAifHxjPT0iZG93biI/
InRvcCI6ImxlZnQiLGg9Yz09InVwInx8Yz09ImxlZnQiPyJwb3MiOiJuZWciO2M9e307dmFyIGk9
e30saz17fTtjW2ddPShoPT0icG9zIj8iLT0iOiIrPSIpK2U7aVtnXT0oaD09InBvcyI/Iis9Ijoi
LT0iKStlKjI7a1tnXT0KKyhoPT0icG9zIj8iLT0iOiIrPSIpK2UqMjtiLmFuaW1hdGUoYyxmLGEu
b3B0aW9ucy5lYXNpbmcpO2ZvcihlPTE7ZTxsO2UrKyliLmFuaW1hdGUoaSxmLGEub3B0aW9ucy5l
YXNpbmcpLmFuaW1hdGUoayxmLGEub3B0aW9ucy5lYXNpbmcpO2IuYW5pbWF0ZShpLGYsYS5vcHRp
b25zLmVhc2luZykuYW5pbWF0ZShjLGYvMixhLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7ZC5l
ZmZlY3RzLnJlc3RvcmUoYixqKTtkLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihiKTthLmNhbGxiYWNr
JiZhLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO2IucXVldWUoImZ4IixmdW5jdGlv
bigpe2IuZGVxdWV1ZSgpfSk7Yi5kZXF1ZXVlKCl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJz
CiMjIC0wLDAgKzEgIyMKKzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLnNsaWRlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2xpZGUubWluLmpzCShu
b25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zbGlkZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxNCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIFNsaWRlIDEuOC4xNQorICoKKyAq
IENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkK
KyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVy
eS5jb20vVUkvRWZmZWN0cy9TbGlkZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0
cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMuc2xpZGU9ZnVuY3Rpb24oZCl7
cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGg9WyJwb3NpdGlvbiIs
InRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGY9Yy5lZmZlY3RzLnNldE1vZGUoYSxkLm9w
dGlvbnMubW9kZXx8InNob3ciKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjtjLmVmZmVj
dHMuc2F2ZShhLGgpO2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3Zl
cmZsb3c6ImhpZGRlbiJ9KTt2YXIgZz1iPT0idXAifHxiPT0iZG93biI/InRvcCI6ImxlZnQiO2I9
Yj09InVwInx8Yj09ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBlPWQub3B0aW9ucy5kaXN0YW5jZXx8
KGc9PSJ0b3AiP2Eub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSk6YS5vdXRlcldpZHRoKHttYXJn
aW46dHJ1ZX0pKTtpZihmPT0ic2hvdyIpYS5jc3MoZyxiPT0icG9zIj9pc05hTihlKT8iLSIrZTot
ZTplKTsKK3ZhciBpPXt9O2lbZ109KGY9PSJzaG93Ij9iPT0icG9zIj8iKz0iOiItPSI6Yj09InBv
cyI/Ii09IjoiKz0iKStlO2EuYW5pbWF0ZShpLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmR1cmF0
aW9uLGVhc2luZzpkLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zj09ImhpZGUi
JiZhLmhpZGUoKTtjLmVmZmVjdHMucmVzdG9yZShhLGgpO2MuZWZmZWN0cy5yZW1vdmVXcmFwcGVy
KGEpO2QuY2FsbGJhY2smJmQuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2EuZGVxdWV1
ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zbGlkZS5t
aW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy50cmFuc2Zlci5taW4uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnRyYW5zZmVyLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVm
ZmVjdHMudHJhbnNmZXIubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8q
CisgKiBqUXVlcnkgVUkgRWZmZWN0cyBUcmFuc2ZlciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQg
MjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6
Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0Vm
ZmVjdHMvVHJhbnNmZXIKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5q
cworICovCisoZnVuY3Rpb24oZSl7ZS5lZmZlY3RzLnRyYW5zZmVyPWZ1bmN0aW9uKGEpe3JldHVy
biB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKSxjPWUoYS5vcHRpb25zLnRvKSxk
PWMub2Zmc2V0KCk7Yz17dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0LGhlaWdodDpjLmlubmVySGVpZ2h0
KCksd2lkdGg6Yy5pbm5lcldpZHRoKCl9O2Q9Yi5vZmZzZXQoKTt2YXIgZj1lKCc8ZGl2IGNsYXNz
PSJ1aS1lZmZlY3RzLXRyYW5zZmVyIj48L2Rpdj4nKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5h
ZGRDbGFzcyhhLm9wdGlvbnMuY2xhc3NOYW1lKS5jc3Moe3RvcDpkLnRvcCxsZWZ0OmQubGVmdCxo
ZWlnaHQ6Yi5pbm5lckhlaWdodCgpLHdpZHRoOmIuaW5uZXJXaWR0aCgpLHBvc2l0aW9uOiJhYnNv
bHV0ZSJ9KS5hbmltYXRlKGMsYS5kdXJhdGlvbixhLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7
Zi5yZW1vdmUoKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KGJbMF0sYXJndW1lbnRzKTsK
K2IuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LnRyYW5zZmVyLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEg
IyMKKzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24u
bWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYWNjb3JkaW9uLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLmFjY29yZGlvbi5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorLyoK
KyAqIGpRdWVyeSBVSSBBY2NvcmRpb24gMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFV
VEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1
bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5
Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24K
KyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS53aWRn
ZXQuanMKKyAqLworKGZ1bmN0aW9uKGMpe2Mud2lkZ2V0KCJ1aS5hY2NvcmRpb24iLHtvcHRpb25z
OnthY3RpdmU6MCxhbmltYXRlZDoic2xpZGUiLGF1dG9IZWlnaHQ6dHJ1ZSxjbGVhclN0eWxlOmZh
bHNlLGNvbGxhcHNpYmxlOmZhbHNlLGV2ZW50OiJjbGljayIsZmlsbFNwYWNlOmZhbHNlLGhlYWRl
cjoiPiBsaSA+IDpmaXJzdC1jaGlsZCw+IDpub3QobGkpOmV2ZW4iLGljb25zOntoZWFkZXI6InVp
LWljb24tdHJpYW5nbGUtMS1lIixoZWFkZXJTZWxlY3RlZDoidWktaWNvbi10cmlhbmdsZS0xLXMi
fSxuYXZpZ2F0aW9uOmZhbHNlLG5hdmlnYXRpb25GaWx0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5ocmVmLnRvTG93ZXJDYXNlKCk9PT1sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCl9fSxfY3Jl
YXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEub3B0aW9uczthLnJ1bm5pbmc9MDthLmVsZW1l
bnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikuY2hp
bGRyZW4oImxpIikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1saS1maXgiKTsKK2EuaGVhZGVycz1h
LmVsZW1lbnQuZmluZChiLmhlYWRlcikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWkt
aGVscGVyLXJlc2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmJpbmQoIm1vdXNl
ZW50ZXIuYWNjb3JkaW9uIixmdW5jdGlvbigpe2IuZGlzYWJsZWR8fGModGhpcykuYWRkQ2xhc3Mo
InVpLXN0YXRlLWhvdmVyIil9KS5iaW5kKCJtb3VzZWxlYXZlLmFjY29yZGlvbiIsZnVuY3Rpb24o
KXtiLmRpc2FibGVkfHxjKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmlu
ZCgiZm9jdXMuYWNjb3JkaW9uIixmdW5jdGlvbigpe2IuZGlzYWJsZWR8fGModGhpcykuYWRkQ2xh
c3MoInVpLXN0YXRlLWZvY3VzIil9KS5iaW5kKCJibHVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXti
LmRpc2FibGVkfHxjKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7YS5oZWFk
ZXJzLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQgdWktaGVscGVyLXJlc2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKTsKK2lmKGIubmF2aWdhdGlvbil7
dmFyIGQ9YS5lbGVtZW50LmZpbmQoImEiKS5maWx0ZXIoYi5uYXZpZ2F0aW9uRmlsdGVyKS5lcSgw
KTtpZihkLmxlbmd0aCl7dmFyIGg9ZC5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWhlYWRlciIpO2Eu
YWN0aXZlPWgubGVuZ3RoP2g6ZC5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWNvbnRlbnQiKS5wcmV2
KCl9fWEuYWN0aXZlPWEuX2ZpbmRBY3RpdmUoYS5hY3RpdmV8fGIuYWN0aXZlKS5hZGRDbGFzcygi
dWktc3RhdGUtZGVmYXVsdCB1aS1zdGF0ZS1hY3RpdmUiKS50b2dnbGVDbGFzcygidWktY29ybmVy
LWFsbCIpLnRvZ2dsZUNsYXNzKCJ1aS1jb3JuZXItdG9wIik7YS5hY3RpdmUubmV4dCgpLmFkZENs
YXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTthLl9jcmVhdGVJY29ucygpO2EucmVz
aXplKCk7YS5lbGVtZW50LmF0dHIoInJvbGUiLCJ0YWJsaXN0Iik7YS5oZWFkZXJzLmF0dHIoInJv
bGUiLCJ0YWIiKS5iaW5kKCJrZXlkb3duLmFjY29yZGlvbiIsCitmdW5jdGlvbihmKXtyZXR1cm4g
YS5fa2V5ZG93bihmKX0pLm5leHQoKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKTthLmhlYWRlcnMu
bm90KGEuYWN0aXZlfHwiIikuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsImFyaWEtc2Vs
ZWN0ZWQiOiJmYWxzZSIsdGFiSW5kZXg6LTF9KS5uZXh0KCkuaGlkZSgpO2EuYWN0aXZlLmxlbmd0
aD9hLmFjdGl2ZS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6InRydWUiLCJhcmlhLXNlbGVjdGVkIjoi
dHJ1ZSIsdGFiSW5kZXg6MH0pOmEuaGVhZGVycy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCk7Yy5i
cm93c2VyLnNhZmFyaXx8YS5oZWFkZXJzLmZpbmQoImEiKS5hdHRyKCJ0YWJJbmRleCIsLTEpO2Iu
ZXZlbnQmJmEuaGVhZGVycy5iaW5kKGIuZXZlbnQuc3BsaXQoIiAiKS5qb2luKCIuYWNjb3JkaW9u
ICIpKyIuYWNjb3JkaW9uIixmdW5jdGlvbihmKXthLl9jbGlja0hhbmRsZXIuY2FsbChhLGYsdGhp
cyk7Zi5wcmV2ZW50RGVmYXVsdCgpfSl9LF9jcmVhdGVJY29uczpmdW5jdGlvbigpe3ZhciBhPQor
dGhpcy5vcHRpb25zO2lmKGEuaWNvbnMpe2MoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWkt
aWNvbiAiK2EuaWNvbnMuaGVhZGVyKS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKTt0aGlzLmFjdGl2
ZS5jaGlsZHJlbigiLnVpLWljb24iKS50b2dnbGVDbGFzcyhhLmljb25zLmhlYWRlcikudG9nZ2xl
Q2xhc3MoYS5pY29ucy5oZWFkZXJTZWxlY3RlZCk7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1h
Y2NvcmRpb24taWNvbnMiKX19LF9kZXN0cm95SWNvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlYWRlcnMu
Y2hpbGRyZW4oIi51aS1pY29uIikucmVtb3ZlKCk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1hY2NvcmRpb24taWNvbnMiKX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9u
czt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVs
cGVyLXJlc2V0IikucmVtb3ZlQXR0cigicm9sZSIpO3RoaXMuaGVhZGVycy51bmJpbmQoIi5hY2Nv
cmRpb24iKS5yZW1vdmVDbGFzcygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1hY2NvcmRpb24tZGlz
YWJsZWQgdWktaGVscGVyLXJlc2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1z
dGF0ZS1hY3RpdmUgdWktc3RhdGUtZGlzYWJsZWQgdWktY29ybmVyLXRvcCIpLnJlbW92ZUF0dHIo
InJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigiYXJpYS1zZWxl
Y3RlZCIpLnJlbW92ZUF0dHIoInRhYkluZGV4Iik7Cit0aGlzLmhlYWRlcnMuZmluZCgiYSIpLnJl
bW92ZUF0dHIoInRhYkluZGV4Iik7dGhpcy5fZGVzdHJveUljb25zKCk7dmFyIGI9dGhpcy5oZWFk
ZXJzLm5leHQoKS5jc3MoImRpc3BsYXkiLCIiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQ2xh
c3MoInVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVp
LWFjY29yZGlvbi1jb250ZW50IHVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1hY2NvcmRp
b24tZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKTtpZihhLmF1dG9IZWlnaHR8fGEuZmlsbEhl
aWdodCliLmNzcygiaGVpZ2h0IiwiIik7cmV0dXJuIGMuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95
LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtjLldpZGdldC5wcm90b3R5cGUu
X3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YT09ImFjdGl2ZSImJnRoaXMuYWN0aXZh
dGUoYik7aWYoYT09Imljb25zIil7dGhpcy5fZGVzdHJveUljb25zKCk7CitiJiZ0aGlzLl9jcmVh
dGVJY29ucygpfWlmKGE9PSJkaXNhYmxlZCIpdGhpcy5oZWFkZXJzLmFkZCh0aGlzLmhlYWRlcnMu
bmV4dCgpKVtiPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLWFjY29yZGlvbi1kaXNhYmxl
ZCB1aS1zdGF0ZS1kaXNhYmxlZCIpfSxfa2V5ZG93bjpmdW5jdGlvbihhKXtpZighKHRoaXMub3B0
aW9ucy5kaXNhYmxlZHx8YS5hbHRLZXl8fGEuY3RybEtleSkpe3ZhciBiPWMudWkua2V5Q29kZSxk
PXRoaXMuaGVhZGVycy5sZW5ndGgsaD10aGlzLmhlYWRlcnMuaW5kZXgoYS50YXJnZXQpLGY9ZmFs
c2U7c3dpdGNoKGEua2V5Q29kZSl7Y2FzZSBiLlJJR0hUOmNhc2UgYi5ET1dOOmY9dGhpcy5oZWFk
ZXJzWyhoKzEpJWRdO2JyZWFrO2Nhc2UgYi5MRUZUOmNhc2UgYi5VUDpmPXRoaXMuaGVhZGVyc1so
aC0xK2QpJWRdO2JyZWFrO2Nhc2UgYi5TUEFDRTpjYXNlIGIuRU5URVI6dGhpcy5fY2xpY2tIYW5k
bGVyKHt0YXJnZXQ6YS50YXJnZXR9LGEudGFyZ2V0KTsKK2EucHJldmVudERlZmF1bHQoKX1pZihm
KXtjKGEudGFyZ2V0KS5hdHRyKCJ0YWJJbmRleCIsLTEpO2MoZikuYXR0cigidGFiSW5kZXgiLDAp
O2YuZm9jdXMoKTtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fSxyZXNpemU6ZnVuY3Rpb24oKXt2
YXIgYT10aGlzLm9wdGlvbnMsYjtpZihhLmZpbGxTcGFjZSl7aWYoYy5icm93c2VyLm1zaWUpe3Zh
ciBkPXRoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93Iik7dGhpcy5lbGVtZW50LnBh
cmVudCgpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKX1iPXRoaXMuZWxlbWVudC5wYXJlbnQoKS5o
ZWlnaHQoKTtjLmJyb3dzZXIubXNpZSYmdGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygib3ZlcmZs
b3ciLGQpO3RoaXMuaGVhZGVycy5lYWNoKGZ1bmN0aW9uKCl7Yi09Yyh0aGlzKS5vdXRlckhlaWdo
dCh0cnVlKX0pO3RoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe2ModGhpcykuaGVp
Z2h0KE1hdGgubWF4KDAsYi1jKHRoaXMpLmlubmVySGVpZ2h0KCkrCitjKHRoaXMpLmhlaWdodCgp
KSl9KS5jc3MoIm92ZXJmbG93IiwiYXV0byIpfWVsc2UgaWYoYS5hdXRvSGVpZ2h0KXtiPTA7dGhp
cy5oZWFkZXJzLm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7Yj1NYXRoLm1heChiLGModGhpcykuaGVp
Z2h0KCIiKS5oZWlnaHQoKSl9KS5oZWlnaHQoYil9cmV0dXJuIHRoaXN9LGFjdGl2YXRlOmZ1bmN0
aW9uKGEpe3RoaXMub3B0aW9ucy5hY3RpdmU9YTthPXRoaXMuX2ZpbmRBY3RpdmUoYSlbMF07dGhp
cy5fY2xpY2tIYW5kbGVyKHt0YXJnZXQ6YX0sYSk7cmV0dXJuIHRoaXN9LF9maW5kQWN0aXZlOmZ1
bmN0aW9uKGEpe3JldHVybiBhP3R5cGVvZiBhPT09Im51bWJlciI/dGhpcy5oZWFkZXJzLmZpbHRl
cigiOmVxKCIrYSsiKSIpOnRoaXMuaGVhZGVycy5ub3QodGhpcy5oZWFkZXJzLm5vdChhKSk6YT09
PWZhbHNlP2MoW10pOnRoaXMuaGVhZGVycy5maWx0ZXIoIjplcSgwKSIpfSxfY2xpY2tIYW5kbGVy
OmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcy5vcHRpb25zOworaWYoIWQuZGlzYWJsZWQpaWYoYS50
YXJnZXQpe2E9YyhhLmN1cnJlbnRUYXJnZXR8fGIpO2I9YVswXT09PXRoaXMuYWN0aXZlWzBdO2Qu
YWN0aXZlPWQuY29sbGFwc2libGUmJmI/ZmFsc2U6dGhpcy5oZWFkZXJzLmluZGV4KGEpO2lmKCEo
dGhpcy5ydW5uaW5nfHwhZC5jb2xsYXBzaWJsZSYmYikpe3ZhciBoPXRoaXMuYWN0aXZlO2o9YS5u
ZXh0KCk7Zz10aGlzLmFjdGl2ZS5uZXh0KCk7ZT17b3B0aW9uczpkLG5ld0hlYWRlcjpiJiZkLmNv
bGxhcHNpYmxlP2MoW10pOmEsb2xkSGVhZGVyOnRoaXMuYWN0aXZlLG5ld0NvbnRlbnQ6YiYmZC5j
b2xsYXBzaWJsZT9jKFtdKTpqLG9sZENvbnRlbnQ6Z307dmFyIGY9dGhpcy5oZWFkZXJzLmluZGV4
KHRoaXMuYWN0aXZlWzBdKT50aGlzLmhlYWRlcnMuaW5kZXgoYVswXSk7dGhpcy5hY3RpdmU9Yj9j
KFtdKTphO3RoaXMuX3RvZ2dsZShqLGcsZSxiLGYpO2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFj
dGl2ZSB1aS1jb3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVy
LWFsbCIpLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNzKGQuaWNvbnMuaGVhZGVyU2Vs
ZWN0ZWQpLmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyKTsKK2lmKCFiKXthLnJlbW92ZUNsYXNzKCJ1
aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZl
IHVpLWNvcm5lci10b3AiKS5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhkLmljb25z
LmhlYWRlcikuYWRkQ2xhc3MoZC5pY29ucy5oZWFkZXJTZWxlY3RlZCk7YS5uZXh0KCkuYWRkQ2xh
c3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpfX19ZWxzZSBpZihkLmNvbGxhcHNpYmxl
KXt0aGlzLmFjdGl2ZS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3Ai
KS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51
aS1pY29uIikucmVtb3ZlQ2xhc3MoZC5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZC5p
Y29ucy5oZWFkZXIpO3RoaXMuYWN0aXZlLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNv
bnRlbnQtYWN0aXZlIik7dmFyIGc9dGhpcy5hY3RpdmUubmV4dCgpLAorZT17b3B0aW9uczpkLG5l
d0hlYWRlcjpjKFtdKSxvbGRIZWFkZXI6ZC5hY3RpdmUsbmV3Q29udGVudDpjKFtdKSxvbGRDb250
ZW50Omd9LGo9dGhpcy5hY3RpdmU9YyhbXSk7dGhpcy5fdG9nZ2xlKGosZyxlKX19LF90b2dnbGU6
ZnVuY3Rpb24oYSxiLGQsaCxmKXt2YXIgZz10aGlzLGU9Zy5vcHRpb25zO2cudG9TaG93PWE7Zy50
b0hpZGU9YjtnLmRhdGE9ZDt2YXIgaj1mdW5jdGlvbigpe2lmKGcpcmV0dXJuIGcuX2NvbXBsZXRl
ZC5hcHBseShnLGFyZ3VtZW50cyl9O2cuX3RyaWdnZXIoImNoYW5nZXN0YXJ0IixudWxsLGcuZGF0
YSk7Zy5ydW5uaW5nPWIuc2l6ZSgpPT09MD9hLnNpemUoKTpiLnNpemUoKTtpZihlLmFuaW1hdGVk
KXtkPXt9O2Q9ZS5jb2xsYXBzaWJsZSYmaD97dG9TaG93OmMoW10pLHRvSGlkZTpiLGNvbXBsZXRl
OmosZG93bjpmLGF1dG9IZWlnaHQ6ZS5hdXRvSGVpZ2h0fHxlLmZpbGxTcGFjZX06e3RvU2hvdzph
LHRvSGlkZTpiLGNvbXBsZXRlOmosZG93bjpmLGF1dG9IZWlnaHQ6ZS5hdXRvSGVpZ2h0fHwKK2Uu
ZmlsbFNwYWNlfTtpZighZS5wcm94aWVkKWUucHJveGllZD1lLmFuaW1hdGVkO2lmKCFlLnByb3hp
ZWREdXJhdGlvbillLnByb3hpZWREdXJhdGlvbj1lLmR1cmF0aW9uO2UuYW5pbWF0ZWQ9Yy5pc0Z1
bmN0aW9uKGUucHJveGllZCk/ZS5wcm94aWVkKGQpOmUucHJveGllZDtlLmR1cmF0aW9uPWMuaXNG
dW5jdGlvbihlLnByb3hpZWREdXJhdGlvbik/ZS5wcm94aWVkRHVyYXRpb24oZCk6ZS5wcm94aWVk
RHVyYXRpb247aD1jLnVpLmFjY29yZGlvbi5hbmltYXRpb25zO3ZhciBpPWUuZHVyYXRpb24saz1l
LmFuaW1hdGVkO2lmKGsmJiFoW2tdJiYhYy5lYXNpbmdba10paz0ic2xpZGUiO2hba118fChoW2td
PWZ1bmN0aW9uKGwpe3RoaXMuc2xpZGUobCx7ZWFzaW5nOmssZHVyYXRpb246aXx8NzAwfSl9KTto
W2tdKGQpfWVsc2V7aWYoZS5jb2xsYXBzaWJsZSYmaClhLnRvZ2dsZSgpO2Vsc2V7Yi5oaWRlKCk7
YS5zaG93KCl9aih0cnVlKX1iLnByZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6ImZhbHNlIiwK
KyJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLHRhYkluZGV4Oi0xfSkuYmx1cigpO2EucHJldigpLmF0
dHIoeyJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJJbmRl
eDowfSkuZm9jdXMoKX0sX2NvbXBsZXRlZDpmdW5jdGlvbihhKXt0aGlzLnJ1bm5pbmc9YT8wOi0t
dGhpcy5ydW5uaW5nO2lmKCF0aGlzLnJ1bm5pbmcpe3RoaXMub3B0aW9ucy5jbGVhclN0eWxlJiZ0
aGlzLnRvU2hvdy5hZGQodGhpcy50b0hpZGUpLmNzcyh7aGVpZ2h0OiIiLG92ZXJmbG93OiIifSk7
dGhpcy50b0hpZGUucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO2lm
KHRoaXMudG9IaWRlLmxlbmd0aCl0aGlzLnRvSGlkZS5wYXJlbnQoKVswXS5jbGFzc05hbWU9dGhp
cy50b0hpZGUucGFyZW50KClbMF0uY2xhc3NOYW1lO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsbnVs
bCx0aGlzLmRhdGEpfX19KTtjLmV4dGVuZChjLnVpLmFjY29yZGlvbix7dmVyc2lvbjoiMS44LjE1
IiwKK2FuaW1hdGlvbnM6e3NsaWRlOmZ1bmN0aW9uKGEsYil7YT1jLmV4dGVuZCh7ZWFzaW5nOiJz
d2luZyIsZHVyYXRpb246MzAwfSxhLGIpO2lmKGEudG9IaWRlLnNpemUoKSlpZihhLnRvU2hvdy5z
aXplKCkpe3ZhciBkPWEudG9TaG93LmNzcygib3ZlcmZsb3ciKSxoPTAsZj17fSxnPXt9LGU7Yj1h
LnRvU2hvdztlPWJbMF0uc3R5bGUud2lkdGg7Yi53aWR0aChwYXJzZUludChiLnBhcmVudCgpLndp
ZHRoKCksMTApLXBhcnNlSW50KGIuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKS1wYXJzZUludChiLmNz
cygicGFkZGluZ1JpZ2h0IiksMTApLShwYXJzZUludChiLmNzcygiYm9yZGVyTGVmdFdpZHRoIiks
MTApfHwwKS0ocGFyc2VJbnQoYi5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwxMCl8fDApKTtjLmVh
Y2goWyJoZWlnaHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLGZ1bmN0aW9uKGosaSl7
Z1tpXT0iaGlkZSI7aj0oIiIrYy5jc3MoYS50b1Nob3dbMF0saSkpLm1hdGNoKC9eKFtcZCstLl0r
KSguKikkLyk7CitmW2ldPXt2YWx1ZTpqWzFdLHVuaXQ6alsyXXx8InB4In19KTthLnRvU2hvdy5j
c3Moe2hlaWdodDowLG92ZXJmbG93OiJoaWRkZW4ifSkuc2hvdygpO2EudG9IaWRlLmZpbHRlcigi
OmhpZGRlbiIpLmVhY2goYS5jb21wbGV0ZSkuZW5kKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmFuaW1h
dGUoZyx7c3RlcDpmdW5jdGlvbihqLGkpe2lmKGkucHJvcD09ImhlaWdodCIpaD1pLmVuZC1pLnN0
YXJ0PT09MD8wOihpLm5vdy1pLnN0YXJ0KS8oaS5lbmQtaS5zdGFydCk7YS50b1Nob3dbMF0uc3R5
bGVbaS5wcm9wXT1oKmZbaS5wcm9wXS52YWx1ZStmW2kucHJvcF0udW5pdH0sZHVyYXRpb246YS5k
dXJhdGlvbixlYXNpbmc6YS5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXthLmF1dG9IZWlnaHR8
fGEudG9TaG93LmNzcygiaGVpZ2h0IiwiIik7YS50b1Nob3cuY3NzKHt3aWR0aDplLG92ZXJmbG93
OmR9KTthLmNvbXBsZXRlKCl9fSl9ZWxzZSBhLnRvSGlkZS5hbmltYXRlKHtoZWlnaHQ6ImhpZGUi
LAorcGFkZGluZ1RvcDoiaGlkZSIscGFkZGluZ0JvdHRvbToiaGlkZSJ9LGEpO2Vsc2UgYS50b1No
b3cuYW5pbWF0ZSh7aGVpZ2h0OiJzaG93IixwYWRkaW5nVG9wOiJzaG93IixwYWRkaW5nQm90dG9t
OiJzaG93In0sYSl9LGJvdW5jZXNsaWRlOmZ1bmN0aW9uKGEpe3RoaXMuc2xpZGUoYSx7ZWFzaW5n
OmEuZG93bj8iZWFzZU91dEJvdW5jZSI6InN3aW5nIixkdXJhdGlvbjphLmRvd24/MUUzOjIwMH0p
fX19KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uanMK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hdXRvY29t
cGxldGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBqUXVl
cnkgVUkgQXV0b2NvbXBsZXRlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JT
LnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIg
dGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcv
bGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQXV0b2NvbXBsZXRlCisg
KgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS5jb3JlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0
LmpzCisgKglqcXVlcnkudWkucG9zaXRpb24uanMKKyAqLworKGZ1bmN0aW9uKGQpe3ZhciBlPTA7
ZC53aWRnZXQoInVpLmF1dG9jb21wbGV0ZSIse29wdGlvbnM6e2FwcGVuZFRvOiJib2R5IixhdXRv
Rm9jdXM6ZmFsc2UsZGVsYXk6MzAwLG1pbkxlbmd0aDoxLHBvc2l0aW9uOntteToibGVmdCB0b3Ai
LGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJub25lIn0sc291cmNlOm51bGx9LHBlbmRpbmc6
MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMuZWxlbWVudFswXS5vd25lckRv
Y3VtZW50LGc7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUtaW5wdXQiKS5h
dHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKS5hdHRyKHtyb2xlOiJ0ZXh0Ym94IiwiYXJpYS1hdXRv
Y29tcGxldGUiOiJsaXN0IiwiYXJpYS1oYXNwb3B1cCI6InRydWUifSkuYmluZCgia2V5ZG93bi5h
dXRvY29tcGxldGUiLGZ1bmN0aW9uKGMpe2lmKCEoYS5vcHRpb25zLmRpc2FibGVkfHxhLmVsZW1l
bnQucHJvcEF0dHIoInJlYWRPbmx5IikpKXtnPQorZmFsc2U7dmFyIGY9ZC51aS5rZXlDb2RlO3N3
aXRjaChjLmtleUNvZGUpe2Nhc2UgZi5QQUdFX1VQOmEuX21vdmUoInByZXZpb3VzUGFnZSIsYyk7
YnJlYWs7Y2FzZSBmLlBBR0VfRE9XTjphLl9tb3ZlKCJuZXh0UGFnZSIsYyk7YnJlYWs7Y2FzZSBm
LlVQOmEuX21vdmUoInByZXZpb3VzIixjKTtjLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBm
LkRPV046YS5fbW92ZSgibmV4dCIsYyk7Yy5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgZi5F
TlRFUjpjYXNlIGYuTlVNUEFEX0VOVEVSOmlmKGEubWVudS5hY3RpdmUpe2c9dHJ1ZTtjLnByZXZl
bnREZWZhdWx0KCl9Y2FzZSBmLlRBQjppZighYS5tZW51LmFjdGl2ZSlyZXR1cm47YS5tZW51LnNl
bGVjdChjKTticmVhaztjYXNlIGYuRVNDQVBFOmEuZWxlbWVudC52YWwoYS50ZXJtKTthLmNsb3Nl
KGMpO2JyZWFrO2RlZmF1bHQ6Y2xlYXJUaW1lb3V0KGEuc2VhcmNoaW5nKTthLnNlYXJjaGluZz1z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoYS50ZXJtIT0KK2EuZWxlbWVudC52YWwoKSl7YS5zZWxl
Y3RlZEl0ZW09bnVsbDthLnNlYXJjaChudWxsLGMpfX0sYS5vcHRpb25zLmRlbGF5KTticmVha319
fSkuYmluZCgia2V5cHJlc3MuYXV0b2NvbXBsZXRlIixmdW5jdGlvbihjKXtpZihnKXtnPWZhbHNl
O2MucHJldmVudERlZmF1bHQoKX19KS5iaW5kKCJmb2N1cy5hdXRvY29tcGxldGUiLGZ1bmN0aW9u
KCl7aWYoIWEub3B0aW9ucy5kaXNhYmxlZCl7YS5zZWxlY3RlZEl0ZW09bnVsbDthLnByZXZpb3Vz
PWEuZWxlbWVudC52YWwoKX19KS5iaW5kKCJibHVyLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oYyl7
aWYoIWEub3B0aW9ucy5kaXNhYmxlZCl7Y2xlYXJUaW1lb3V0KGEuc2VhcmNoaW5nKTthLmNsb3Np
bmc9c2V0VGltZW91dChmdW5jdGlvbigpe2EuY2xvc2UoYyk7YS5fY2hhbmdlKGMpfSwxNTApfX0p
O3RoaXMuX2luaXRTb3VyY2UoKTt0aGlzLnJlc3BvbnNlPWZ1bmN0aW9uKCl7cmV0dXJuIGEuX3Jl
c3BvbnNlLmFwcGx5KGEsYXJndW1lbnRzKX07Cit0aGlzLm1lbnU9ZCgiPHVsPjwvdWw+IikuYWRk
Q2xhc3MoInVpLWF1dG9jb21wbGV0ZSIpLmFwcGVuZFRvKGQodGhpcy5vcHRpb25zLmFwcGVuZFRv
fHwiYm9keSIsYilbMF0pLm1vdXNlZG93bihmdW5jdGlvbihjKXt2YXIgZj1hLm1lbnUuZWxlbWVu
dFswXTtkKGMudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikubGVuZ3RofHxzZXRUaW1l
b3V0KGZ1bmN0aW9uKCl7ZChkb2N1bWVudCkub25lKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGgpe2gu
dGFyZ2V0IT09YS5lbGVtZW50WzBdJiZoLnRhcmdldCE9PWYmJiFkLnVpLmNvbnRhaW5zKGYsaC50
YXJnZXQpJiZhLmNsb3NlKCl9KX0sMSk7c2V0VGltZW91dChmdW5jdGlvbigpe2NsZWFyVGltZW91
dChhLmNsb3NpbmcpfSwxMyl9KS5tZW51KHtmb2N1czpmdW5jdGlvbihjLGYpe2Y9Zi5pdGVtLmRh
dGEoIml0ZW0uYXV0b2NvbXBsZXRlIik7ZmFsc2UhPT1hLl90cmlnZ2VyKCJmb2N1cyIsYyx7aXRl
bTpmfSkmJi9ea2V5Ly50ZXN0KGMub3JpZ2luYWxFdmVudC50eXBlKSYmCithLmVsZW1lbnQudmFs
KGYudmFsdWUpfSxzZWxlY3RlZDpmdW5jdGlvbihjLGYpe3ZhciBoPWYuaXRlbS5kYXRhKCJpdGVt
LmF1dG9jb21wbGV0ZSIpLGk9YS5wcmV2aW91cztpZihhLmVsZW1lbnRbMF0hPT1iLmFjdGl2ZUVs
ZW1lbnQpe2EuZWxlbWVudC5mb2N1cygpO2EucHJldmlvdXM9aTtzZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7YS5wcmV2aW91cz1pO2Euc2VsZWN0ZWRJdGVtPWh9LDEpfWZhbHNlIT09YS5fdHJpZ2dlcigi
c2VsZWN0IixjLHtpdGVtOmh9KSYmYS5lbGVtZW50LnZhbChoLnZhbHVlKTthLnRlcm09YS5lbGVt
ZW50LnZhbCgpO2EuY2xvc2UoYyk7YS5zZWxlY3RlZEl0ZW09aH0sYmx1cjpmdW5jdGlvbigpe2Eu
bWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiZhLmVsZW1lbnQudmFsKCkhPT1hLnRlcm0mJmEu
ZWxlbWVudC52YWwoYS50ZXJtKX19KS56SW5kZXgodGhpcy5lbGVtZW50LnpJbmRleCgpKzEpLmNz
cyh7dG9wOjAsbGVmdDowfSkuaGlkZSgpLmRhdGEoIm1lbnUiKTsKK2QuZm4uYmdpZnJhbWUmJnRo
aXMubWVudS5lbGVtZW50LmJnaWZyYW1lKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLnJlbW92ZUF0dHIoImF1dG9j
b21wbGV0ZSIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWF1dG9jb21wbGV0
ZSIpLnJlbW92ZUF0dHIoImFyaWEtaGFzcG9wdXAiKTt0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUo
KTtkLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0aW9uOmZ1bmN0
aW9uKGEsYil7ZC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVu
dHMpO2E9PT0ic291cmNlIiYmdGhpcy5faW5pdFNvdXJjZSgpO2lmKGE9PT0iYXBwZW5kVG8iKXRo
aXMubWVudS5lbGVtZW50LmFwcGVuZFRvKGQoYnx8ImJvZHkiLHRoaXMuZWxlbWVudFswXS5vd25l
ckRvY3VtZW50KVswXSk7YT09PSJkaXNhYmxlZCImJgorYiYmdGhpcy54aHImJnRoaXMueGhyLmFi
b3J0KCl9LF9pbml0U291cmNlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiLGc7aWYoZC5pc0FycmF5
KHRoaXMub3B0aW9ucy5zb3VyY2UpKXtiPXRoaXMub3B0aW9ucy5zb3VyY2U7dGhpcy5zb3VyY2U9
ZnVuY3Rpb24oYyxmKXtmKGQudWkuYXV0b2NvbXBsZXRlLmZpbHRlcihiLGMudGVybSkpfX1lbHNl
IGlmKHR5cGVvZiB0aGlzLm9wdGlvbnMuc291cmNlPT09InN0cmluZyIpe2c9dGhpcy5vcHRpb25z
LnNvdXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihjLGYpe2EueGhyJiZhLnhoci5hYm9ydCgpO2Eu
eGhyPWQuYWpheCh7dXJsOmcsZGF0YTpjLGRhdGFUeXBlOiJqc29uIixhdXRvY29tcGxldGVSZXF1
ZXN0OisrZSxzdWNjZXNzOmZ1bmN0aW9uKGgpe3RoaXMuYXV0b2NvbXBsZXRlUmVxdWVzdD09PWUm
JmYoaCl9LGVycm9yOmZ1bmN0aW9uKCl7dGhpcy5hdXRvY29tcGxldGVSZXF1ZXN0PT09ZSYmZihb
XSl9fSl9fWVsc2UgdGhpcy5zb3VyY2U9Cit0aGlzLm9wdGlvbnMuc291cmNlfSxzZWFyY2g6ZnVu
Y3Rpb24oYSxiKXthPWEhPW51bGw/YTp0aGlzLmVsZW1lbnQudmFsKCk7dGhpcy50ZXJtPXRoaXMu
ZWxlbWVudC52YWwoKTtpZihhLmxlbmd0aDx0aGlzLm9wdGlvbnMubWluTGVuZ3RoKXJldHVybiB0
aGlzLmNsb3NlKGIpO2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMuX3RyaWdnZXIo
InNlYXJjaCIsYikhPT1mYWxzZSlyZXR1cm4gdGhpcy5fc2VhcmNoKGEpfSxfc2VhcmNoOmZ1bmN0
aW9uKGEpe3RoaXMucGVuZGluZysrO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBs
ZXRlLWxvYWRpbmciKTt0aGlzLnNvdXJjZSh7dGVybTphfSx0aGlzLnJlc3BvbnNlKX0sX3Jlc3Bv
bnNlOmZ1bmN0aW9uKGEpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmEmJmEubGVuZ3RoKXth
PXRoaXMuX25vcm1hbGl6ZShhKTt0aGlzLl9zdWdnZXN0KGEpO3RoaXMuX3RyaWdnZXIoIm9wZW4i
KX1lbHNlIHRoaXMuY2xvc2UoKTsKK3RoaXMucGVuZGluZy0tO3RoaXMucGVuZGluZ3x8dGhpcy5l
bGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpfSxjbG9zZTpmdW5j
dGlvbihhKXtjbGVhclRpbWVvdXQodGhpcy5jbG9zaW5nKTtpZih0aGlzLm1lbnUuZWxlbWVudC5p
cygiOnZpc2libGUiKSl7dGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpO3RoaXMubWVudS5kZWFjdGl2
YXRlKCk7dGhpcy5fdHJpZ2dlcigiY2xvc2UiLGEpfX0sX2NoYW5nZTpmdW5jdGlvbihhKXt0aGlz
LnByZXZpb3VzIT09dGhpcy5lbGVtZW50LnZhbCgpJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGEs
e2l0ZW06dGhpcy5zZWxlY3RlZEl0ZW19KX0sX25vcm1hbGl6ZTpmdW5jdGlvbihhKXtpZihhLmxl
bmd0aCYmYVswXS5sYWJlbCYmYVswXS52YWx1ZSlyZXR1cm4gYTtyZXR1cm4gZC5tYXAoYSxmdW5j
dGlvbihiKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybntsYWJlbDpiLHZhbHVlOmJ9O3Jl
dHVybiBkLmV4dGVuZCh7bGFiZWw6Yi5sYWJlbHx8CitiLnZhbHVlLHZhbHVlOmIudmFsdWV8fGIu
bGFiZWx9LGIpfSl9LF9zdWdnZXN0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubWVudS5lbGVtZW50
LmVtcHR5KCkuekluZGV4KHRoaXMuZWxlbWVudC56SW5kZXgoKSsxKTt0aGlzLl9yZW5kZXJNZW51
KGIsYSk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLm1lbnUucmVmcmVzaCgpO2Iuc2hvdygp
O3RoaXMuX3Jlc2l6ZU1lbnUoKTtiLnBvc2l0aW9uKGQuZXh0ZW5kKHtvZjp0aGlzLmVsZW1lbnR9
LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpO3RoaXMub3B0aW9ucy5hdXRvRm9jdXMmJnRoaXMubWVu
dS5uZXh0KG5ldyBkLkV2ZW50KCJtb3VzZW92ZXIiKSl9LF9yZXNpemVNZW51OmZ1bmN0aW9uKCl7
dmFyIGE9dGhpcy5tZW51LmVsZW1lbnQ7YS5vdXRlcldpZHRoKE1hdGgubWF4KGEud2lkdGgoIiIp
Lm91dGVyV2lkdGgoKSx0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKSl9LF9yZW5kZXJNZW51OmZ1
bmN0aW9uKGEsYil7dmFyIGc9dGhpczsKK2QuZWFjaChiLGZ1bmN0aW9uKGMsZil7Zy5fcmVuZGVy
SXRlbShhLGYpfSl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGQoIjxsaT48L2xp
PiIpLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIixiKS5hcHBlbmQoZCgiPGE+PC9hPiIpLnRleHQo
Yi5sYWJlbCkpLmFwcGVuZFRvKGEpfSxfbW92ZTpmdW5jdGlvbihhLGIpe2lmKHRoaXMubWVudS5l
bGVtZW50LmlzKCI6dmlzaWJsZSIpKWlmKHRoaXMubWVudS5maXJzdCgpJiYvXnByZXZpb3VzLy50
ZXN0KGEpfHx0aGlzLm1lbnUubGFzdCgpJiYvXm5leHQvLnRlc3QoYSkpe3RoaXMuZWxlbWVudC52
YWwodGhpcy50ZXJtKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgpfWVsc2UgdGhpcy5tZW51W2FdKGIp
O2Vsc2UgdGhpcy5zZWFyY2gobnVsbCxiKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu
bWVudS5lbGVtZW50fX0pO2QuZXh0ZW5kKGQudWkuYXV0b2NvbXBsZXRlLHtlc2NhcGVSZWdleDpm
dW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9bLVtcXXt9KCkqKz8uLFxcXiR8I1xzXS9nLAor
IlxcJCYiKX0sZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGc9bmV3IFJlZ0V4cChkLnVpLmF1dG9j
b21wbGV0ZS5lc2NhcGVSZWdleChiKSwiaSIpO3JldHVybiBkLmdyZXAoYSxmdW5jdGlvbihjKXty
ZXR1cm4gZy50ZXN0KGMubGFiZWx8fGMudmFsdWV8fGMpfSl9fSl9KShqUXVlcnkpOworKGZ1bmN0
aW9uKGQpe2Qud2lkZ2V0KCJ1aS5tZW51Iix7X2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7
dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVu
dCB1aS1jb3JuZXItYWxsIikuYXR0cih7cm9sZToibGlzdGJveCIsImFyaWEtYWN0aXZlZGVzY2Vu
ZGFudCI6InVpLWFjdGl2ZS1tZW51aXRlbSJ9KS5jbGljayhmdW5jdGlvbihhKXtpZihkKGEudGFy
Z2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIGEiKS5sZW5ndGgpe2EucHJldmVudERlZmF1bHQo
KTtlLnNlbGVjdChhKX19KTt0aGlzLnJlZnJlc2goKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBl
PXRoaXM7dGhpcy5lbGVtZW50LmNoaWxkcmVuKCJsaTpub3QoLnVpLW1lbnUtaXRlbSk6aGFzKGEp
IikuYWRkQ2xhc3MoInVpLW1lbnUtaXRlbSIpLmF0dHIoInJvbGUiLCJtZW51aXRlbSIpLmNoaWxk
cmVuKCJhIikuYWRkQ2xhc3MoInVpLWNvcm5lci1hbGwiKS5hdHRyKCJ0YWJpbmRleCIsCistMSku
bW91c2VlbnRlcihmdW5jdGlvbihhKXtlLmFjdGl2YXRlKGEsZCh0aGlzKS5wYXJlbnQoKSl9KS5t
b3VzZWxlYXZlKGZ1bmN0aW9uKCl7ZS5kZWFjdGl2YXRlKCl9KX0sYWN0aXZhdGU6ZnVuY3Rpb24o
ZSxhKXt0aGlzLmRlYWN0aXZhdGUoKTtpZih0aGlzLmhhc1Njcm9sbCgpKXt2YXIgYj1hLm9mZnNl
dCgpLnRvcC10aGlzLmVsZW1lbnQub2Zmc2V0KCkudG9wLGc9dGhpcy5lbGVtZW50LnNjcm9sbFRv
cCgpLGM9dGhpcy5lbGVtZW50LmhlaWdodCgpO2lmKGI8MCl0aGlzLmVsZW1lbnQuc2Nyb2xsVG9w
KGcrYik7ZWxzZSBiPj1jJiZ0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wKGcrYi1jK2EuaGVpZ2h0KCkp
fXRoaXMuYWN0aXZlPWEuZXEoMCkuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygidWktc3RhdGUtaG92
ZXIiKS5hdHRyKCJpZCIsInVpLWFjdGl2ZS1tZW51aXRlbSIpLmVuZCgpO3RoaXMuX3RyaWdnZXIo
ImZvY3VzIixlLHtpdGVtOmF9KX0sZGVhY3RpdmF0ZTpmdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZl
KXt0aGlzLmFjdGl2ZS5jaGlsZHJlbigiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIp
LnJlbW92ZUF0dHIoImlkIik7Cit0aGlzLl90cmlnZ2VyKCJibHVyIik7dGhpcy5hY3RpdmU9bnVs
bH19LG5leHQ6ZnVuY3Rpb24oZSl7dGhpcy5tb3ZlKCJuZXh0IiwiLnVpLW1lbnUtaXRlbTpmaXJz
dCIsZSl9LHByZXZpb3VzOmZ1bmN0aW9uKGUpe3RoaXMubW92ZSgicHJldiIsIi51aS1tZW51LWl0
ZW06bGFzdCIsZSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5h
Y3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbGFzdDpmdW5jdGlvbigpe3Jl
dHVybiB0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51LWl0ZW0iKS5s
ZW5ndGh9LG1vdmU6ZnVuY3Rpb24oZSxhLGIpe2lmKHRoaXMuYWN0aXZlKXtlPXRoaXMuYWN0aXZl
W2UrIkFsbCJdKCIudWktbWVudS1pdGVtIikuZXEoMCk7ZS5sZW5ndGg/dGhpcy5hY3RpdmF0ZShi
LGUpOnRoaXMuYWN0aXZhdGUoYix0aGlzLmVsZW1lbnQuY2hpbGRyZW4oYSkpfWVsc2UgdGhpcy5h
Y3RpdmF0ZShiLAordGhpcy5lbGVtZW50LmNoaWxkcmVuKGEpKX0sbmV4dFBhZ2U6ZnVuY3Rpb24o
ZSl7aWYodGhpcy5oYXNTY3JvbGwoKSlpZighdGhpcy5hY3RpdmV8fHRoaXMubGFzdCgpKXRoaXMu
YWN0aXZhdGUoZSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06Zmlyc3QiKSk7
ZWxzZXt2YXIgYT10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3AsYj10aGlzLmVsZW1lbnQuaGVpZ2h0
KCksZz10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0iKS5maWx0ZXIoZnVuY3Rp
b24oKXt2YXIgYz1kKHRoaXMpLm9mZnNldCgpLnRvcC1hLWIrZCh0aGlzKS5oZWlnaHQoKTtyZXR1
cm4gYzwxMCYmYz4tMTB9KTtnLmxlbmd0aHx8KGc9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWkt
bWVudS1pdGVtOmxhc3QiKSk7dGhpcy5hY3RpdmF0ZShlLGcpfWVsc2UgdGhpcy5hY3RpdmF0ZShl
LHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbSIpLmZpbHRlcighdGhpcy5hY3Rp
dmV8fAordGhpcy5sYXN0KCk/IjpmaXJzdCI6IjpsYXN0IikpfSxwcmV2aW91c1BhZ2U6ZnVuY3Rp
b24oZSl7aWYodGhpcy5oYXNTY3JvbGwoKSlpZighdGhpcy5hY3RpdmV8fHRoaXMuZmlyc3QoKSl0
aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtOmxhc3Qi
KSk7ZWxzZXt2YXIgYT10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3AsYj10aGlzLmVsZW1lbnQuaGVp
Z2h0KCk7cmVzdWx0PXRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbSIpLmZpbHRl
cihmdW5jdGlvbigpe3ZhciBnPWQodGhpcykub2Zmc2V0KCkudG9wLWErYi1kKHRoaXMpLmhlaWdo
dCgpO3JldHVybiBnPDEwJiZnPi0xMH0pO3Jlc3VsdC5sZW5ndGh8fChyZXN1bHQ9dGhpcy5lbGVt
ZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtOmZpcnN0IikpO3RoaXMuYWN0aXZhdGUoZSxyZXN1
bHQpfWVsc2UgdGhpcy5hY3RpdmF0ZShlLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUt
aXRlbSIpLmZpbHRlcighdGhpcy5hY3RpdmV8fAordGhpcy5maXJzdCgpPyI6bGFzdCI6IjpmaXJz
dCIpKX0saGFzU2Nyb2xsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5oZWlnaHQoKTx0
aGlzLmVsZW1lbnRbZC5mbi5wcm9wPyJwcm9wIjoiYXR0ciJdKCJzY3JvbGxIZWlnaHQiKX0sc2Vs
ZWN0OmZ1bmN0aW9uKGUpe3RoaXMuX3RyaWdnZXIoInNlbGVjdGVkIixlLHtpdGVtOnRoaXMuYWN0
aXZlfSl9fSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hdXRvY29tcGxldGUu
bWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmJ1dHRvbi5taW4uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS51aS5idXR0b24ubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYnV0dG9uLm1pbi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisvKgorICogalF1ZXJ5IFVJIEJ1dHRv
biAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0J1dHRvbgorICoKKyAqIERlcGVuZHM6CisgKglqcXVl
cnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oYil7
dmFyIGgsaSxqLGcsbD1mdW5jdGlvbigpe3ZhciBhPWIodGhpcykuZmluZCgiOnVpLWJ1dHRvbiIp
O3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLmJ1dHRvbigicmVmcmVzaCIpfSwxKX0saz1mdW5jdGlv
bihhKXt2YXIgYz1hLm5hbWUsZT1hLmZvcm0sZj1iKFtdKTtpZihjKWY9ZT9iKGUpLmZpbmQoIltu
YW1lPSciK2MrIiddIik6YigiW25hbWU9JyIrYysiJ10iLGEub3duZXJEb2N1bWVudCkuZmlsdGVy
KGZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZm9ybX0pO3JldHVybiBmfTtiLndpZGdldCgidWkuYnV0
dG9uIix7b3B0aW9uczp7ZGlzYWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFiZWw6bnVsbCxpY29uczp7
cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxl
bWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0b24iKS5iaW5kKCJyZXNldC5i
dXR0b24iLGwpO2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWQhPT0KKyJib29sZWFuIil0
aGlzLm9wdGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIpO3Ro
aXMuX2RldGVybWluZUJ1dHRvblR5cGUoKTt0aGlzLmhhc1RpdGxlPSEhdGhpcy5idXR0b25FbGVt
ZW50LmF0dHIoInRpdGxlIik7dmFyIGE9dGhpcyxjPXRoaXMub3B0aW9ucyxlPXRoaXMudHlwZT09
PSJjaGVja2JveCJ8fHRoaXMudHlwZT09PSJyYWRpbyIsZj0idWktc3RhdGUtaG92ZXIiKyghZT8i
IHVpLXN0YXRlLWFjdGl2ZSI6IiIpO2lmKGMubGFiZWw9PT1udWxsKWMubGFiZWw9dGhpcy5idXR0
b25FbGVtZW50Lmh0bWwoKTtpZih0aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpKWMuZGlzYWJs
ZWQ9dHJ1ZTt0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLWJ1dHRvbiB1aS13aWRnZXQg
dWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRvbiIpLmJp
bmQoIm1vdXNlZW50ZXIuYnV0dG9uIixmdW5jdGlvbigpe2lmKCFjLmRpc2FibGVkKXtiKHRoaXMp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwordGhpcz09PWgmJmIodGhpcykuYWRkQ2xhc3Mo
InVpLXN0YXRlLWFjdGl2ZSIpfX0pLmJpbmQoIm1vdXNlbGVhdmUuYnV0dG9uIixmdW5jdGlvbigp
e2MuZGlzYWJsZWR8fGIodGhpcykucmVtb3ZlQ2xhc3MoZil9KS5iaW5kKCJjbGljay5idXR0b24i
LGZ1bmN0aW9uKGQpe2lmKGMuZGlzYWJsZWQpe2QucHJldmVudERlZmF1bHQoKTtkLnN0b3BJbW1l
ZGlhdGVQcm9wYWdhdGlvbigpfX0pO3RoaXMuZWxlbWVudC5iaW5kKCJmb2N1cy5idXR0b24iLGZ1
bmN0aW9uKCl7YS5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmlu
ZCgiYmx1ci5idXR0b24iLGZ1bmN0aW9uKCl7YS5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1zdGF0ZS1mb2N1cyIpfSk7aWYoZSl7dGhpcy5lbGVtZW50LmJpbmQoImNoYW5nZS5idXR0b24i
LGZ1bmN0aW9uKCl7Z3x8YS5yZWZyZXNoKCl9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91
c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24oZCl7aWYoIWMuZGlzYWJsZWQpe2c9CitmYWxzZTtpPWQu
cGFnZVg7aj1kLnBhZ2VZfX0pLmJpbmQoIm1vdXNldXAuYnV0dG9uIixmdW5jdGlvbihkKXtpZigh
Yy5kaXNhYmxlZClpZihpIT09ZC5wYWdlWHx8aiE9PWQucGFnZVkpZz10cnVlfSl9aWYodGhpcy50
eXBlPT09ImNoZWNrYm94Iil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixm
dW5jdGlvbigpe2lmKGMuZGlzYWJsZWR8fGcpcmV0dXJuIGZhbHNlO2IodGhpcykudG9nZ2xlQ2xh
c3MoInVpLXN0YXRlLWFjdGl2ZSIpO2EuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQi
LGEuZWxlbWVudFswXS5jaGVja2VkKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09InJhZGlvIil0aGlz
LmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlzYWJs
ZWR8fGcpcmV0dXJuIGZhbHNlO2IodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2Eu
YnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7Cit2YXIgZD1hLmVsZW1l
bnRbMF07ayhkKS5ub3QoZCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIodGhpcykuYnV0dG9uKCJ3
aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXBy
ZXNzZWQiLCJmYWxzZSIpfSk7ZWxzZXt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3du
LmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihjLmRpc2FibGVkKXJldHVybiBmYWxzZTtiKHRoaXMpLmFk
ZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtoPXRoaXM7Yihkb2N1bWVudCkub25lKCJtb3VzZXVw
IixmdW5jdGlvbigpe2g9bnVsbH0pfSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKCl7
aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7Yih0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
YWN0aXZlIil9KS5iaW5kKCJrZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24oZCl7aWYoYy5kaXNhYmxl
ZClyZXR1cm4gZmFsc2U7aWYoZC5rZXlDb2RlPT1iLnVpLmtleUNvZGUuU1BBQ0V8fAorZC5rZXlD
b2RlPT1iLnVpLmtleUNvZGUuRU5URVIpYih0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZl
Iil9KS5iaW5kKCJrZXl1cC5idXR0b24iLGZ1bmN0aW9uKCl7Yih0aGlzKS5yZW1vdmVDbGFzcygi
dWktc3RhdGUtYWN0aXZlIil9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuaXMoImEiKSYmdGhpcy5idXR0
b25FbGVtZW50LmtleXVwKGZ1bmN0aW9uKGQpe2Qua2V5Q29kZT09PWIudWkua2V5Q29kZS5TUEFD
RSYmYih0aGlzKS5jbGljaygpfSl9dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsYy5kaXNhYmxl
ZCk7dGhpcy5fcmVzZXRCdXR0b24oKX0sX2RldGVybWluZUJ1dHRvblR5cGU6ZnVuY3Rpb24oKXt0
aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tib3giKT8iY2hlY2tib3giOnRoaXMuZWxl
bWVudC5pcygiOnJhZGlvIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/ImlucHV0
IjoiYnV0dG9uIjtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0KKyJyYWRp
byIpe3ZhciBhPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkuZmlsdGVyKCI6bGFzdCIpLGM9ImxhYmVs
W2Zvcj0iK3RoaXMuZWxlbWVudC5hdHRyKCJpZCIpKyJdIjt0aGlzLmJ1dHRvbkVsZW1lbnQ9YS5m
aW5kKGMpO2lmKCF0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RoKXthPWEubGVuZ3RoP2Euc2libGlu
Z3MoKTp0aGlzLmVsZW1lbnQuc2libGluZ3MoKTt0aGlzLmJ1dHRvbkVsZW1lbnQ9YS5maWx0ZXIo
Yyk7aWYoIXRoaXMuYnV0dG9uRWxlbWVudC5sZW5ndGgpdGhpcy5idXR0b25FbGVtZW50PWEuZmlu
ZChjKX10aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIp
OyhhPXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKSkmJnRoaXMuYnV0dG9uRWxlbWVudC5hZGRD
bGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJl
c3NlZCIsYSl9ZWxzZSB0aGlzLmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVtZW50fSwKK3dpZGdldDpm
dW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbkVsZW1lbnR9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0
aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpO3Ro
aXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0
ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtYWN0aXZlICB1
aS1idXR0b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10ZXh0LWlj
b25zIHVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29uLXNlY29u
ZGFyeSB1aS1idXR0b24tdGV4dC1vbmx5IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIo
ImFyaWEtcHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24t
dGV4dCIpLmh0bWwoKSk7dGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0
dHIoInRpdGxlIik7CitiLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0
T3B0aW9uOmZ1bmN0aW9uKGEsYyl7Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHko
dGhpcyxhcmd1bWVudHMpO2lmKGE9PT0iZGlzYWJsZWQiKWM/dGhpcy5lbGVtZW50LnByb3BBdHRy
KCJkaXNhYmxlZCIsdHJ1ZSk6dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIsZmFsc2Up
O2Vsc2UgdGhpcy5fcmVzZXRCdXR0b24oKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMu
ZWxlbWVudC5pcygiOmRpc2FibGVkIik7YSE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5f
c2V0T3B0aW9uKCJkaXNhYmxlZCIsYSk7aWYodGhpcy50eXBlPT09InJhZGlvIilrKHRoaXMuZWxl
bWVudFswXSkuZWFjaChmdW5jdGlvbigpe2IodGhpcykuaXMoIjpjaGVja2VkIik/Yih0aGlzKS5i
dXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXBy
ZXNzZWQiLAorInRydWUiKTpiKHRoaXMpLmJ1dHRvbigid2lkZ2V0IikucmVtb3ZlQ2xhc3MoInVp
LXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9KTtlbHNlIGlmKHRo
aXMudHlwZT09PSJjaGVja2JveCIpdGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tlZCIpP3RoaXMuYnV0
dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2Vk
IiwidHJ1ZSIpOnRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZl
IikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0sX3Jlc2V0QnV0dG9uOmZ1bmN0aW9uKCl7
aWYodGhpcy50eXBlPT09ImlucHV0Iil0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52
YWwodGhpcy5vcHRpb25zLmxhYmVsKTtlbHNle3ZhciBhPXRoaXMuYnV0dG9uRWxlbWVudC5yZW1v
dmVDbGFzcygidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0
b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQt
aWNvbi1zZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIpLAorYz1iKCI8c3Bhbj48L3NwYW4+
IikuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpLmFw
cGVuZFRvKGEuZW1wdHkoKSkudGV4dCgpLGU9dGhpcy5vcHRpb25zLmljb25zLGY9ZS5wcmltYXJ5
JiZlLnNlY29uZGFyeSxkPVtdO2lmKGUucHJpbWFyeXx8ZS5zZWNvbmRhcnkpe2lmKHRoaXMub3B0
aW9ucy50ZXh0KWQucHVzaCgidWktYnV0dG9uLXRleHQtaWNvbiIrKGY/InMiOmUucHJpbWFyeT8i
LXByaW1hcnkiOiItc2Vjb25kYXJ5IikpO2UucHJpbWFyeSYmYS5wcmVwZW5kKCI8c3BhbiBjbGFz
cz0ndWktYnV0dG9uLWljb24tcHJpbWFyeSB1aS1pY29uICIrZS5wcmltYXJ5KyInPjwvc3Bhbj4i
KTtlLnNlY29uZGFyeSYmYS5hcHBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNvbi1zZWNv
bmRhcnkgdWktaWNvbiAiK2Uuc2Vjb25kYXJ5KyInPjwvc3Bhbj4iKTtpZighdGhpcy5vcHRpb25z
LnRleHQpe2QucHVzaChmPyJ1aS1idXR0b24taWNvbnMtb25seSI6CisidWktYnV0dG9uLWljb24t
b25seSIpO3RoaXMuaGFzVGl0bGV8fGEuYXR0cigidGl0bGUiLGMpfX1lbHNlIGQucHVzaCgidWkt
YnV0dG9uLXRleHQtb25seSIpO2EuYWRkQ2xhc3MoZC5qb2luKCIgIikpfX19KTtiLndpZGdldCgi
dWkuYnV0dG9uc2V0Iix7b3B0aW9uczp7aXRlbXM6IjpidXR0b24sIDpzdWJtaXQsIDpyZXNldCwg
OmNoZWNrYm94LCA6cmFkaW8sIGEsIDpkYXRhKGJ1dHRvbikifSxfY3JlYXRlOmZ1bmN0aW9uKCl7
dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b25zZXQiKX0sX2luaXQ6ZnVuY3Rpb24oKXt0
aGlzLnJlZnJlc2goKX0sX3NldE9wdGlvbjpmdW5jdGlvbihhLGMpe2E9PT0iZGlzYWJsZWQiJiZ0
aGlzLmJ1dHRvbnMuYnV0dG9uKCJvcHRpb24iLGEsYyk7Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRP
cHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGE9dGhp
cy5lbGVtZW50LmNzcygiZGlyZWN0aW9uIik9PT0KKyJsdHIiO3RoaXMuYnV0dG9ucz10aGlzLmVs
ZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpbHRlcigiOnVpLWJ1dHRvbiIpLmJ1dHRv
bigicmVmcmVzaCIpLmVuZCgpLm5vdCgiOnVpLWJ1dHRvbiIpLmJ1dHRvbigpLmVuZCgpLm1hcChm
dW5jdGlvbigpe3JldHVybiBiKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFz
cygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5maWx0ZXIo
IjpmaXJzdCIpLmFkZENsYXNzKGE/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJpZ2h0Iiku
ZW5kKCkuZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKGE/InVpLWNvcm5lci1yaWdodCI6InVpLWNv
cm5lci1sZWZ0IikuZW5kKCkuZW5kKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQu
cmVtb3ZlQ2xhc3MoInVpLWJ1dHRvbnNldCIpO3RoaXMuYnV0dG9ucy5tYXAoZnVuY3Rpb24oKXty
ZXR1cm4gYih0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVpLWNvcm5l
ci1sZWZ0IHVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmJ1dHRvbigiZGVzdHJveSIpOworYi5XaWRn
ZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLmJ1dHRvbi5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwoj
IyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
Y29yZS5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLmNvcmUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKy8qIQorICog
alF1ZXJ5IFVJIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0
cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBv
ciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQor
ICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkKKyAqLworKGZ1bmN0aW9uKGMsail7ZnVu
Y3Rpb24gayhhLGIpe3ZhciBkPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigiYXJlYSI9PT1k
KXtiPWEucGFyZW50Tm9kZTtkPWIubmFtZTtpZighYS5ocmVmfHwhZHx8Yi5ub2RlTmFtZS50b0xv
d2VyQ2FzZSgpIT09Im1hcCIpcmV0dXJuIGZhbHNlO2E9YygiaW1nW3VzZW1hcD0jIitkKyJdIilb
MF07cmV0dXJuISFhJiZsKGEpfXJldHVybigvaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxv
YmplY3QvLnRlc3QoZCk/IWEuZGlzYWJsZWQ6ImEiPT1kP2EuaHJlZnx8YjpiKSYmbChhKX1mdW5j
dGlvbiBsKGEpe3JldHVybiFjKGEpLnBhcmVudHMoKS5hbmRTZWxmKCkuZmlsdGVyKGZ1bmN0aW9u
KCl7cmV0dXJuIGMuY3VyQ1NTKHRoaXMsInZpc2liaWxpdHkiKT09PSJoaWRkZW4ifHxjLmV4cHIu
ZmlsdGVycy5oaWRkZW4odGhpcyl9KS5sZW5ndGh9Yy51aT1jLnVpfHx7fTtpZighYy51aS52ZXJz
aW9uKXtjLmV4dGVuZChjLnVpLHt2ZXJzaW9uOiIxLjguMTUiLAora2V5Q29kZTp7QUxUOjE4LEJB
Q0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09NTUFORDo5MSxDT01NQU5EX0xFRlQ6
OTEsQ09NTUFORF9SSUdIVDo5MyxDT05UUk9MOjE3LERFTEVURTo0NixET1dOOjQwLEVORDozNSxF
TlRFUjoxMyxFU0NBUEU6MjcsSE9NRTozNixJTlNFUlQ6NDUsTEVGVDozNyxNRU5VOjkzLE5VTVBB
RF9BREQ6MTA3LE5VTVBBRF9ERUNJTUFMOjExMCxOVU1QQURfRElWSURFOjExMSxOVU1QQURfRU5U
RVI6MTA4LE5VTVBBRF9NVUxUSVBMWToxMDYsTlVNUEFEX1NVQlRSQUNUOjEwOSxQQUdFX0RPV046
MzQsUEFHRV9VUDozMyxQRVJJT0Q6MTkwLFJJR0hUOjM5LFNISUZUOjE2LFNQQUNFOjMyLFRBQjo5
LFVQOjM4LFdJTkRPV1M6OTF9fSk7Yy5mbi5leHRlbmQoe3Byb3BBdHRyOmMuZm4ucHJvcHx8Yy5m
bi5hdHRyLF9mb2N1czpjLmZuLmZvY3VzLGZvY3VzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVv
ZiBhPT09Im51bWJlciI/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9Cit0aGlzO3NldFRpbWVv
dXQoZnVuY3Rpb24oKXtjKGQpLmZvY3VzKCk7YiYmYi5jYWxsKGQpfSxhKX0pOnRoaXMuX2ZvY3Vz
LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFyIGE7YT1j
LmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlv
biIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90aGlzLnBhcmVudHMo
KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFic29sdXRlfGZpeGVkKS8udGVz
dChjLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98c2Nyb2xsKS8udGVzdChjLmN1
ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5j
dXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCkuZmlsdGVy
KGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywKKyJv
dmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5jdXJDU1ModGhpcywi
b3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk7cmV0dXJuL2ZpeGVkLy50ZXN0KHRoaXMuY3NzKCJwb3Np
dGlvbiIpKXx8IWEubGVuZ3RoP2MoZG9jdW1lbnQpOmF9LHpJbmRleDpmdW5jdGlvbihhKXtpZihh
IT09ailyZXR1cm4gdGhpcy5jc3MoInpJbmRleCIsYSk7aWYodGhpcy5sZW5ndGgpe2E9Yyh0aGlz
WzBdKTtmb3IodmFyIGI7YS5sZW5ndGgmJmFbMF0hPT1kb2N1bWVudDspe2I9YS5jc3MoInBvc2l0
aW9uIik7aWYoYj09PSJhYnNvbHV0ZSJ8fGI9PT0icmVsYXRpdmUifHxiPT09ImZpeGVkIil7Yj1w
YXJzZUludChhLmNzcygiekluZGV4IiksMTApO2lmKCFpc05hTihiKSYmYiE9PTApcmV0dXJuIGJ9
YT1hLnBhcmVudCgpfX1yZXR1cm4gMH0sZGlzYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVy
biB0aGlzLmJpbmQoKGMuc3VwcG9ydC5zZWxlY3RzdGFydD8ic2VsZWN0c3RhcnQiOgorIm1vdXNl
ZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVs
dCgpfSl9LGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuYmluZCgiLnVp
LWRpc2FibGVTZWxlY3Rpb24iKX19KTtjLmVhY2goWyJXaWR0aCIsIkhlaWdodCJdLGZ1bmN0aW9u
KGEsYil7ZnVuY3Rpb24gZChmLGcsbSxuKXtjLmVhY2goZSxmdW5jdGlvbigpe2ctPXBhcnNlRmxv
YXQoYy5jdXJDU1MoZiwicGFkZGluZyIrdGhpcyx0cnVlKSl8fDA7aWYobSlnLT1wYXJzZUZsb2F0
KGMuY3VyQ1NTKGYsImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUpKXx8MDtpZihuKWctPXBhcnNl
RmxvYXQoYy5jdXJDU1MoZiwibWFyZ2luIit0aGlzLHRydWUpKXx8MH0pO3JldHVybiBnfXZhciBl
PWI9PT0iV2lkdGgiP1siTGVmdCIsIlJpZ2h0Il06WyJUb3AiLCJCb3R0b20iXSxoPWIudG9Mb3dl
ckNhc2UoKSxpPXtpbm5lcldpZHRoOmMuZm4uaW5uZXJXaWR0aCxpbm5lckhlaWdodDpjLmZuLmlu
bmVySGVpZ2h0LAorb3V0ZXJXaWR0aDpjLmZuLm91dGVyV2lkdGgsb3V0ZXJIZWlnaHQ6Yy5mbi5v
dXRlckhlaWdodH07Yy5mblsiaW5uZXIiK2JdPWZ1bmN0aW9uKGYpe2lmKGY9PT1qKXJldHVybiBp
WyJpbm5lciIrYl0uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlz
KS5jc3MoaCxkKHRoaXMsZikrInB4Iil9KX07Yy5mblsib3V0ZXIiK2JdPWZ1bmN0aW9uKGYsZyl7
aWYodHlwZW9mIGYhPT0ibnVtYmVyIilyZXR1cm4gaVsib3V0ZXIiK2JdLmNhbGwodGhpcyxmKTty
ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5jc3MoaCxkKHRoaXMsZix0cnVlLGcp
KyJweCIpfSl9fSk7Yy5leHRlbmQoYy5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24oYSxiLGQpe3Jl
dHVybiEhYy5kYXRhKGEsZFszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihhKXtyZXR1cm4gayhhLCFp
c05hTihjLmF0dHIoYSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1j
LmF0dHIoYSwKKyJ0YWJpbmRleCIpLGQ9aXNOYU4oYik7cmV0dXJuKGR8fGI+PTApJiZrKGEsIWQp
fX0pO2MoZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5ib2R5LGI9YS5hcHBlbmRDaGlsZChiPWRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtjLmV4dGVuZChiLnN0eWxlLHttaW5IZWlnaHQ6
IjEwMHB4IixoZWlnaHQ6ImF1dG8iLHBhZGRpbmc6MCxib3JkZXJXaWR0aDowfSk7Yy5zdXBwb3J0
Lm1pbkhlaWdodD1iLm9mZnNldEhlaWdodD09PTEwMDtjLnN1cHBvcnQuc2VsZWN0c3RhcnQ9Im9u
c2VsZWN0c3RhcnQiaW4gYjthLnJlbW92ZUNoaWxkKGIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifSk7
Yy5leHRlbmQoYy51aSx7cGx1Z2luOnthZGQ6ZnVuY3Rpb24oYSxiLGQpe2E9Yy51aVthXS5wcm90
b3R5cGU7Zm9yKHZhciBlIGluIGQpe2EucGx1Z2luc1tlXT1hLnBsdWdpbnNbZV18fFtdO2EucGx1
Z2luc1tlXS5wdXNoKFtiLGRbZV1dKX19LGNhbGw6ZnVuY3Rpb24oYSxiLGQpe2lmKChiPWEucGx1
Z2luc1tiXSkmJgorYS5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9yKHZhciBlPTA7ZTxiLmxlbmd0
aDtlKyspYS5vcHRpb25zW2JbZV1bMF1dJiZiW2VdWzFdLmFwcGx5KGEuZWxlbWVudCxkKX19LGNv
bnRhaW5zOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGRvY3VtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMTY6YSE9PWImJmEuY29udGFpbnMoYil9
LGhhc1Njcm9sbDpmdW5jdGlvbihhLGIpe2lmKGMoYSkuY3NzKCJvdmVyZmxvdyIpPT09ImhpZGRl
biIpcmV0dXJuIGZhbHNlO2I9YiYmYj09PSJsZWZ0Ij8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCI7
dmFyIGQ9ZmFsc2U7aWYoYVtiXT4wKXJldHVybiB0cnVlO2FbYl09MTtkPWFbYl0+MDthW2JdPTA7
cmV0dXJuIGR9LGlzT3ZlckF4aXM6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPmImJmE8YitkfSxp
c092ZXI6ZnVuY3Rpb24oYSxiLGQsZSxoLGkpe3JldHVybiBjLnVpLmlzT3ZlckF4aXMoYSxkLGgp
JiYKK2MudWkuaXNPdmVyQXhpcyhiLGUsaSl9fSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5n
ZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9q
cXVlcnkudWkuY29yZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCww
ICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGF0ZXBp
Y2tlci5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kYXRlcGlja2VyLm1pbi5qcwkobm9uZXhpc3Rl
bnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLmRhdGVwaWNrZXIubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMg
QEAKKy8qCisgKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQg
MjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6
Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0Rh
dGVwaWNrZXIKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUuanMKKyAqLworKGZ1
bmN0aW9uKGQsQyl7ZnVuY3Rpb24gTSgpe3RoaXMuZGVidWc9ZmFsc2U7dGhpcy5fY3VySW5zdD1u
dWxsO3RoaXMuX2tleUV2ZW50PWZhbHNlO3RoaXMuX2Rpc2FibGVkSW5wdXRzPVtdO3RoaXMuX2lu
RGlhbG9nPXRoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX21haW5EaXZJZD0idWkt
ZGF0ZXBpY2tlci1kaXYiO3RoaXMuX2lubGluZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWlubGluZSI7
dGhpcy5fYXBwZW5kQ2xhc3M9InVpLWRhdGVwaWNrZXItYXBwZW5kIjt0aGlzLl90cmlnZ2VyQ2xh
c3M9InVpLWRhdGVwaWNrZXItdHJpZ2dlciI7dGhpcy5fZGlhbG9nQ2xhc3M9InVpLWRhdGVwaWNr
ZXItZGlhbG9nIjt0aGlzLl9kaXNhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlzYWJsZWQiO3Ro
aXMuX3Vuc2VsZWN0YWJsZUNsYXNzPSJ1aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSI7dGhpcy5f
Y3VycmVudENsYXNzPSJ1aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5Ijt0aGlzLl9kYXlPdmVyQ2xh
c3M9CisidWktZGF0ZXBpY2tlci1kYXlzLWNlbGwtb3ZlciI7dGhpcy5yZWdpb25hbD1bXTt0aGlz
LnJlZ2lvbmFsWyIiXT17Y2xvc2VUZXh0OiJEb25lIixwcmV2VGV4dDoiUHJldiIsbmV4dFRleHQ6
Ik5leHQiLGN1cnJlbnRUZXh0OiJUb2RheSIsbW9udGhOYW1lczpbIkphbnVhcnkiLCJGZWJydWFy
eSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJl
ciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sbW9udGhOYW1lc1Nob3J0OlsiSmFu
IiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0Iiwi
Tm92IiwiRGVjIl0sZGF5TmFtZXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVz
ZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLGRheU5hbWVzU2hvcnQ6WyJTdW4i
LCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxkYXlOYW1lc01pbjpbIlN1IiwK
KyJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSx3ZWVrSGVhZGVyOiJXayIsZGF0ZUZvcm1h
dDoibW0vZGQveXkiLGZpcnN0RGF5OjAsaXNSVEw6ZmFsc2Usc2hvd01vbnRoQWZ0ZXJZZWFyOmZh
bHNlLHllYXJTdWZmaXg6IiJ9O3RoaXMuX2RlZmF1bHRzPXtzaG93T246ImZvY3VzIixzaG93QW5p
bToiZmFkZUluIixzaG93T3B0aW9uczp7fSxkZWZhdWx0RGF0ZTpudWxsLGFwcGVuZFRleHQ6IiIs
YnV0dG9uVGV4dDoiLi4uIixidXR0b25JbWFnZToiIixidXR0b25JbWFnZU9ubHk6ZmFsc2UsaGlk
ZUlmTm9QcmV2TmV4dDpmYWxzZSxuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0OmZhbHNlLGdvdG9DdXJy
ZW50OmZhbHNlLGNoYW5nZU1vbnRoOmZhbHNlLGNoYW5nZVllYXI6ZmFsc2UseWVhclJhbmdlOiJj
LTEwOmMrMTAiLHNob3dPdGhlck1vbnRoczpmYWxzZSxzZWxlY3RPdGhlck1vbnRoczpmYWxzZSxz
aG93V2VlazpmYWxzZSxjYWxjdWxhdGVXZWVrOnRoaXMuaXNvODYwMVdlZWssc2hvcnRZZWFyQ3V0
b2ZmOiIrMTAiLAorbWluRGF0ZTpudWxsLG1heERhdGU6bnVsbCxkdXJhdGlvbjoiZmFzdCIsYmVm
b3JlU2hvd0RheTpudWxsLGJlZm9yZVNob3c6bnVsbCxvblNlbGVjdDpudWxsLG9uQ2hhbmdlTW9u
dGhZZWFyOm51bGwsb25DbG9zZTpudWxsLG51bWJlck9mTW9udGhzOjEsc2hvd0N1cnJlbnRBdFBv
czowLHN0ZXBNb250aHM6MSxzdGVwQmlnTW9udGhzOjEyLGFsdEZpZWxkOiIiLGFsdEZvcm1hdDoi
Iixjb25zdHJhaW5JbnB1dDp0cnVlLHNob3dCdXR0b25QYW5lbDpmYWxzZSxhdXRvU2l6ZTpmYWxz
ZSxkaXNhYmxlZDpmYWxzZX07ZC5leHRlbmQodGhpcy5fZGVmYXVsdHMsdGhpcy5yZWdpb25hbFsi
Il0pO3RoaXMuZHBEaXY9TihkKCc8ZGl2IGlkPSInK3RoaXMuX21haW5EaXZJZCsnIiBjbGFzcz0i
dWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFy
Zml4IHVpLWNvcm5lci1hbGwiPjwvZGl2PicpKX1mdW5jdGlvbiBOKGEpe3JldHVybiBhLmJpbmQo
Im1vdXNlb3V0IiwKK2Z1bmN0aW9uKGIpe2I9ZChiLnRhcmdldCkuY2xvc2VzdCgiYnV0dG9uLCAu
dWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1j
YWxlbmRhciB0ZCBhIik7Yi5sZW5ndGgmJmIucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIHVp
LWRhdGVwaWNrZXItcHJldi1ob3ZlciB1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiKX0pLmJpbmQo
Im1vdXNlb3ZlciIsZnVuY3Rpb24oYil7Yj1kKGIudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51
aS1kYXRlcGlja2VyLXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNh
bGVuZGFyIHRkIGEiKTtpZighKGQuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIoSi5p
bmxpbmU/YS5wYXJlbnQoKVswXTpKLmlucHV0WzBdKXx8IWIubGVuZ3RoKSl7Yi5wYXJlbnRzKCIu
dWktZGF0ZXBpY2tlci1jYWxlbmRhciIpLmZpbmQoImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUt
aG92ZXIiKTsKK2IuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7Yi5oYXNDbGFzcygidWktZGF0
ZXBpY2tlci1wcmV2IikmJmIuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpO2Iu
aGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dCIpJiZiLmFkZENsYXNzKCJ1aS1kYXRlcGlja2Vy
LW5leHQtaG92ZXIiKX19KX1mdW5jdGlvbiBIKGEsYil7ZC5leHRlbmQoYSxiKTtmb3IodmFyIGMg
aW4gYilpZihiW2NdPT1udWxsfHxiW2NdPT1DKWFbY109YltjXTtyZXR1cm4gYX1kLmV4dGVuZChk
LnVpLHtkYXRlcGlja2VyOnt2ZXJzaW9uOiIxLjguMTUifX0pO3ZhciBCPShuZXcgRGF0ZSkuZ2V0
VGltZSgpLEo7ZC5leHRlbmQoTS5wcm90b3R5cGUse21hcmtlckNsYXNzTmFtZToiaGFzRGF0ZXBp
Y2tlciIsbWF4Um93czo0LGxvZzpmdW5jdGlvbigpe3RoaXMuZGVidWcmJmNvbnNvbGUubG9nLmFw
cGx5KCIiLGFyZ3VtZW50cyl9LF93aWRnZXREYXRlcGlja2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRo
aXMuZHBEaXZ9LAorc2V0RGVmYXVsdHM6ZnVuY3Rpb24oYSl7SCh0aGlzLl9kZWZhdWx0cyxhfHx7
fSk7cmV0dXJuIHRoaXN9LF9hdHRhY2hEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9bnVs
bDtmb3IodmFyIGUgaW4gdGhpcy5fZGVmYXVsdHMpe3ZhciBmPWEuZ2V0QXR0cmlidXRlKCJkYXRl
OiIrZSk7aWYoZil7Yz1jfHx7fTt0cnl7Y1tlXT1ldmFsKGYpfWNhdGNoKGgpe2NbZV09Zn19fWU9
YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2Y9ZT09ImRpdiJ8fGU9PSJzcGFuIjtpZighYS5pZCl7
dGhpcy51dWlkKz0xO2EuaWQ9ImRwIit0aGlzLnV1aWR9dmFyIGk9dGhpcy5fbmV3SW5zdChkKGEp
LGYpO2kuc2V0dGluZ3M9ZC5leHRlbmQoe30sYnx8e30sY3x8e30pO2lmKGU9PSJpbnB1dCIpdGhp
cy5fY29ubmVjdERhdGVwaWNrZXIoYSxpKTtlbHNlIGYmJnRoaXMuX2lubGluZURhdGVwaWNrZXIo
YSxpKX0sX25ld0luc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm57aWQ6YVswXS5pZC5yZXBsYWNlKC8o
W15BLVphLXowLTlfLV0pL2csCisiXFxcXCQxIiksaW5wdXQ6YSxzZWxlY3RlZERheTowLHNlbGVj
dGVkTW9udGg6MCxzZWxlY3RlZFllYXI6MCxkcmF3TW9udGg6MCxkcmF3WWVhcjowLGlubGluZTpi
LGRwRGl2OiFiP3RoaXMuZHBEaXY6TihkKCc8ZGl2IGNsYXNzPSInK3RoaXMuX2lubGluZUNsYXNz
KycgdWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNs
ZWFyZml4IHVpLWNvcm5lci1hbGwiPjwvZGl2PicpKX19LF9jb25uZWN0RGF0ZXBpY2tlcjpmdW5j
dGlvbihhLGIpe3ZhciBjPWQoYSk7Yi5hcHBlbmQ9ZChbXSk7Yi50cmlnZ2VyPWQoW10pO2lmKCFj
Lmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dGhpcy5fYXR0YWNobWVudHMoYyxiKTtj
LmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93biku
a2V5cHJlc3ModGhpcy5fZG9LZXlQcmVzcykua2V5dXAodGhpcy5fZG9LZXlVcCkuYmluZCgic2V0
RGF0YS5kYXRlcGlja2VyIiwKK2Z1bmN0aW9uKGUsZixoKXtiLnNldHRpbmdzW2ZdPWh9KS5iaW5k
KCJnZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGUsZil7cmV0dXJuIHRoaXMuX2dldChiLGYp
fSk7dGhpcy5fYXV0b1NpemUoYik7ZC5kYXRhKGEsImRhdGVwaWNrZXIiLGIpO2Iuc2V0dGluZ3Mu
ZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKGEpfX0sX2F0dGFjaG1lbnRzOmZ1bmN0
aW9uKGEsYil7dmFyIGM9dGhpcy5fZ2V0KGIsImFwcGVuZFRleHQiKSxlPXRoaXMuX2dldChiLCJp
c1JUTCIpO2IuYXBwZW5kJiZiLmFwcGVuZC5yZW1vdmUoKTtpZihjKXtiLmFwcGVuZD1kKCc8c3Bh
biBjbGFzcz0iJyt0aGlzLl9hcHBlbmRDbGFzcysnIj4nK2MrIjwvc3Bhbj4iKTthW2U/ImJlZm9y
ZSI6ImFmdGVyIl0oYi5hcHBlbmQpfWEudW5iaW5kKCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNr
ZXIpO2IudHJpZ2dlciYmYi50cmlnZ2VyLnJlbW92ZSgpO2M9dGhpcy5fZ2V0KGIsInNob3dPbiIp
O2lmKGM9PQorImZvY3VzInx8Yz09ImJvdGgiKWEuZm9jdXModGhpcy5fc2hvd0RhdGVwaWNrZXIp
O2lmKGM9PSJidXR0b24ifHxjPT0iYm90aCIpe2M9dGhpcy5fZ2V0KGIsImJ1dHRvblRleHQiKTt2
YXIgZj10aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2UiKTtiLnRyaWdnZXI9ZCh0aGlzLl9nZXQoYiwi
YnV0dG9uSW1hZ2VPbmx5Iik/ZCgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNz
KS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSk6ZCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwv
YnV0dG9uPicpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChmPT0iIj9jOmQoIjxp
bWcvPiIpLmF0dHIoe3NyYzpmLGFsdDpjLHRpdGxlOmN9KSkpO2FbZT8iYmVmb3JlIjoiYWZ0ZXIi
XShiLnRyaWdnZXIpO2IudHJpZ2dlci5jbGljayhmdW5jdGlvbigpe2QuZGF0ZXBpY2tlci5fZGF0
ZXBpY2tlclNob3dpbmcmJmQuZGF0ZXBpY2tlci5fbGFzdElucHV0PT1hWzBdP2QuZGF0ZXBpY2tl
ci5faGlkZURhdGVwaWNrZXIoKToKK2QuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoYVswXSk7
cmV0dXJuIGZhbHNlfSl9fSxfYXV0b1NpemU6ZnVuY3Rpb24oYSl7aWYodGhpcy5fZ2V0KGEsImF1
dG9TaXplIikmJiFhLmlubGluZSl7dmFyIGI9bmV3IERhdGUoMjAwOSwxMSwyMCksYz10aGlzLl9n
ZXQoYSwiZGF0ZUZvcm1hdCIpO2lmKGMubWF0Y2goL1tETV0vKSl7dmFyIGU9ZnVuY3Rpb24oZil7
Zm9yKHZhciBoPTAsaT0wLGc9MDtnPGYubGVuZ3RoO2crKylpZihmW2ddLmxlbmd0aD5oKXtoPWZb
Z10ubGVuZ3RoO2k9Z31yZXR1cm4gaX07Yi5zZXRNb250aChlKHRoaXMuX2dldChhLGMubWF0Y2go
L01NLyk/Im1vbnRoTmFtZXMiOiJtb250aE5hbWVzU2hvcnQiKSkpO2Iuc2V0RGF0ZShlKHRoaXMu
X2dldChhLGMubWF0Y2goL0RELyk/ImRheU5hbWVzIjoiZGF5TmFtZXNTaG9ydCIpKSsyMC1iLmdl
dERheSgpKX1hLmlucHV0LmF0dHIoInNpemUiLHRoaXMuX2Zvcm1hdERhdGUoYSxiKS5sZW5ndGgp
fX0sX2lubGluZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSwKK2Ipe3ZhciBjPWQoYSk7aWYoIWMuaGFz
Q2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXtjLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NO
YW1lKS5hcHBlbmQoYi5kcERpdikuYmluZCgic2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihl
LGYsaCl7Yi5zZXR0aW5nc1tmXT1ofSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlv
bihlLGYpe3JldHVybiB0aGlzLl9nZXQoYixmKX0pO2QuZGF0YShhLCJkYXRlcGlja2VyIixiKTt0
aGlzLl9zZXREYXRlKGIsdGhpcy5fZ2V0RGVmYXVsdERhdGUoYiksdHJ1ZSk7dGhpcy5fdXBkYXRl
RGF0ZXBpY2tlcihiKTt0aGlzLl91cGRhdGVBbHRlcm5hdGUoYik7Yi5zZXR0aW5ncy5kaXNhYmxl
ZCYmdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIoYSk7Yi5kcERpdi5jc3MoImRpc3BsYXkiLCJibG9j
ayIpfX0sX2RpYWxvZ0RhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiLGMsZSxmKXthPXRoaXMuX2RpYWxv
Z0luc3Q7aWYoIWEpe3RoaXMudXVpZCs9CisxO3RoaXMuX2RpYWxvZ0lucHV0PWQoJzxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0iJysoImRwIit0aGlzLnV1aWQpKyciIHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogLTEwMHB4OyB3aWR0aDogMHB4OyB6LWluZGV4OiAtMTA7Ii8+Jyk7dGhpcy5f
ZGlhbG9nSW5wdXQua2V5ZG93bih0aGlzLl9kb0tleURvd24pO2QoImJvZHkiKS5hcHBlbmQodGhp
cy5fZGlhbG9nSW5wdXQpO2E9dGhpcy5fZGlhbG9nSW5zdD10aGlzLl9uZXdJbnN0KHRoaXMuX2Rp
YWxvZ0lucHV0LGZhbHNlKTthLnNldHRpbmdzPXt9O2QuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFsw
XSwiZGF0ZXBpY2tlciIsYSl9SChhLnNldHRpbmdzLGV8fHt9KTtiPWImJmIuY29uc3RydWN0b3I9
PURhdGU/dGhpcy5fZm9ybWF0RGF0ZShhLGIpOmI7dGhpcy5fZGlhbG9nSW5wdXQudmFsKGIpO3Ro
aXMuX3Bvcz1mP2YubGVuZ3RoP2Y6W2YucGFnZVgsZi5wYWdlWV06bnVsbDtpZighdGhpcy5fcG9z
KXRoaXMuX3Bvcz1bZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLworMi0xMDAr
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9s
bExlZnQpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMi0xNTArKGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKV07
dGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0Iix0aGlzLl9wb3NbMF0rMjArInB4IikuY3NzKCJ0
b3AiLHRoaXMuX3Bvc1sxXSsicHgiKTthLnNldHRpbmdzLm9uU2VsZWN0PWM7dGhpcy5faW5EaWFs
b2c9dHJ1ZTt0aGlzLmRwRGl2LmFkZENsYXNzKHRoaXMuX2RpYWxvZ0NsYXNzKTt0aGlzLl9zaG93
RGF0ZXBpY2tlcih0aGlzLl9kaWFsb2dJbnB1dFswXSk7ZC5ibG9ja1VJJiZkLmJsb2NrVUkodGhp
cy5kcERpdik7ZC5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixhKTtyZXR1
cm4gdGhpc30sX2Rlc3Ryb3lEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPQorZChhKSxjPWQu
ZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkp
e3ZhciBlPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtkLnJlbW92ZURhdGEoYSwiZGF0ZXBpY2tl
ciIpO2lmKGU9PSJpbnB1dCIpe2MuYXBwZW5kLnJlbW92ZSgpO2MudHJpZ2dlci5yZW1vdmUoKTti
LnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS51bmJpbmQoImZvY3VzIix0aGlzLl9z
aG93RGF0ZXBpY2tlcikudW5iaW5kKCJrZXlkb3duIix0aGlzLl9kb0tleURvd24pLnVuYmluZCgi
a2V5cHJlc3MiLHRoaXMuX2RvS2V5UHJlc3MpLnVuYmluZCgia2V5dXAiLHRoaXMuX2RvS2V5VXAp
fWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIiliLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xh
c3NOYW1lKS5lbXB0eSgpfX0sX2VuYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZChh
KSxjPWQuZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNz
TmFtZSkpe3ZhciBlPQorYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGU9PSJpbnB1dCIpe2Eu
ZGlzYWJsZWQ9ZmFsc2U7Yy50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigp
e3RoaXMuZGlzYWJsZWQ9ZmFsc2V9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToi
MS4wIixjdXJzb3I6IiJ9KX1lbHNlIGlmKGU9PSJkaXYifHxlPT0ic3BhbiIpe2I9Yi5jaGlsZHJl
bigiLiIrdGhpcy5faW5saW5lQ2xhc3MpO2IuY2hpbGRyZW4oKS5yZW1vdmVDbGFzcygidWktc3Rh
dGUtZGlzYWJsZWQiKTtiLmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3Qu
dWktZGF0ZXBpY2tlci15ZWFyIikucmVtb3ZlQXR0cigiZGlzYWJsZWQiKX10aGlzLl9kaXNhYmxl
ZElucHV0cz1kLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihmKXtyZXR1cm4gZj09
YT9udWxsOmZ9KX19LF9kaXNhYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj1kKGEpLGM9
ZC5kYXRhKGEsCisiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05h
bWUpKXt2YXIgZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoZT09ImlucHV0Iil7YS5kaXNh
YmxlZD10cnVlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlz
LmRpc2FibGVkPXRydWV9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41Iixj
dXJzb3I6ImRlZmF1bHQifSl9ZWxzZSBpZihlPT0iZGl2Inx8ZT09InNwYW4iKXtiPWIuY2hpbGRy
ZW4oIi4iK3RoaXMuX2lubGluZUNsYXNzKTtiLmNoaWxkcmVuKCkuYWRkQ2xhc3MoInVpLXN0YXRl
LWRpc2FibGVkIik7Yi5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVp
LWRhdGVwaWNrZXIteWVhciIpLmF0dHIoImRpc2FibGVkIiwiZGlzYWJsZWQiKX10aGlzLl9kaXNh
YmxlZElucHV0cz1kLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihmKXtyZXR1cm4g
Zj09CithP251bGw6Zn0pO3RoaXMuX2Rpc2FibGVkSW5wdXRzW3RoaXMuX2Rpc2FibGVkSW5wdXRz
Lmxlbmd0aF09YX19LF9pc0Rpc2FibGVkRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXtpZighYSlyZXR1
cm4gZmFsc2U7Zm9yKHZhciBiPTA7Yjx0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGg7YisrKWlm
KHRoaXMuX2Rpc2FibGVkSW5wdXRzW2JdPT1hKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX0sX2dl
dEluc3Q6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBkLmRhdGEoYSwiZGF0ZXBpY2tlciIpfWNhdGNo
KGIpe3Rocm93Ik1pc3NpbmcgaW5zdGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIjt9fSxf
b3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dmFyIGU9dGhpcy5fZ2V0SW5zdChhKTtp
Zihhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYj09InN0cmluZyIpcmV0dXJuIGI9PSJkZWZh
dWx0cyI/ZC5leHRlbmQoe30sZC5kYXRlcGlja2VyLl9kZWZhdWx0cyk6ZT9iPT0iYWxsIj8KK2Qu
ZXh0ZW5kKHt9LGUuc2V0dGluZ3MpOnRoaXMuX2dldChlLGIpOm51bGw7dmFyIGY9Ynx8e307aWYo
dHlwZW9mIGI9PSJzdHJpbmciKXtmPXt9O2ZbYl09Y31pZihlKXt0aGlzLl9jdXJJbnN0PT1lJiZ0
aGlzLl9oaWRlRGF0ZXBpY2tlcigpO3ZhciBoPXRoaXMuX2dldERhdGVEYXRlcGlja2VyKGEsdHJ1
ZSksaT10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1pbiIpLGc9dGhpcy5fZ2V0TWluTWF4RGF0ZShl
LCJtYXgiKTtIKGUuc2V0dGluZ3MsZik7aWYoaSE9PW51bGwmJmYuZGF0ZUZvcm1hdCE9PUMmJmYu
bWluRGF0ZT09PUMpZS5zZXR0aW5ncy5taW5EYXRlPXRoaXMuX2Zvcm1hdERhdGUoZSxpKTtpZihn
IT09bnVsbCYmZi5kYXRlRm9ybWF0IT09QyYmZi5tYXhEYXRlPT09QyllLnNldHRpbmdzLm1heERh
dGU9dGhpcy5fZm9ybWF0RGF0ZShlLGcpO3RoaXMuX2F0dGFjaG1lbnRzKGQoYSksZSk7dGhpcy5f
YXV0b1NpemUoZSk7dGhpcy5fc2V0RGF0ZShlLGgpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShlKTsK
K3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9fSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbihh
LGIsYyl7dGhpcy5fb3B0aW9uRGF0ZXBpY2tlcihhLGIsYyl9LF9yZWZyZXNoRGF0ZXBpY2tlcjpm
dW5jdGlvbihhKXsoYT10aGlzLl9nZXRJbnN0KGEpKSYmdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihh
KX0sX3NldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7aWYoYT10aGlzLl9nZXRJbnN0KGEp
KXt0aGlzLl9zZXREYXRlKGEsYik7dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKTt0aGlzLl91cGRh
dGVBbHRlcm5hdGUoYSl9fSxfZ2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiKXsoYT10aGlz
Ll9nZXRJbnN0KGEpKSYmIWEuaW5saW5lJiZ0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGEsYik7cmV0
dXJuIGE/dGhpcy5fZ2V0RGF0ZShhKTpudWxsfSxfZG9LZXlEb3duOmZ1bmN0aW9uKGEpe3ZhciBi
PWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhLnRhcmdldCksYz10cnVlLGU9Yi5kcERpdi5pcygiLnVp
LWRhdGVwaWNrZXItcnRsIik7CitiLl9rZXlFdmVudD10cnVlO2lmKGQuZGF0ZXBpY2tlci5fZGF0
ZXBpY2tlclNob3dpbmcpc3dpdGNoKGEua2V5Q29kZSl7Y2FzZSA5OmQuZGF0ZXBpY2tlci5faGlk
ZURhdGVwaWNrZXIoKTtjPWZhbHNlO2JyZWFrO2Nhc2UgMTM6Yz1kKCJ0ZC4iK2QuZGF0ZXBpY2tl
ci5fZGF5T3ZlckNsYXNzKyI6bm90KC4iK2QuZGF0ZXBpY2tlci5fY3VycmVudENsYXNzKyIpIixi
LmRwRGl2KTtjWzBdJiZkLmRhdGVwaWNrZXIuX3NlbGVjdERheShhLnRhcmdldCxiLnNlbGVjdGVk
TW9udGgsYi5zZWxlY3RlZFllYXIsY1swXSk7aWYoYT1kLmRhdGVwaWNrZXIuX2dldChiLCJvblNl
bGVjdCIpKXtjPWQuZGF0ZXBpY2tlci5fZm9ybWF0RGF0ZShiKTthLmFwcGx5KGIuaW5wdXQ/Yi5p
bnB1dFswXTpudWxsLFtjLGJdKX1lbHNlIGQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTty
ZXR1cm4gZmFsc2U7Y2FzZSAyNzpkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7YnJlYWs7
Y2FzZSAzMzpkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsCithLmN0cmxLZXk/LWQu
ZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTotZC5kYXRlcGlja2VyLl9nZXQoYiwi
c3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNDpkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUo
YS50YXJnZXQsYS5jdHJsS2V5PytkLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwQmlnTW9udGhzIik6
K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzU6aWYo
YS5jdHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlja2VyLl9jbGVhckRhdGUoYS50YXJnZXQpO2M9
YS5jdHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNjppZihhLmN0cmxLZXl8fGEubWV0YUtl
eSlkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheShhLnRhcmdldCk7Yz1hLmN0cmxLZXl8fGEubWV0YUtl
eTticmVhaztjYXNlIDM3OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRq
dXN0RGF0ZShhLnRhcmdldCxlPysxOi0xLCJEIik7Yz0KK2EuY3RybEtleXx8YS5tZXRhS2V5O2lm
KGEub3JpZ2luYWxFdmVudC5hbHRLZXkpZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0
LGEuY3RybEtleT8tZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcEJpZ01vbnRocyIpOi1kLmRhdGVw
aWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM4OmlmKGEuY3RybEtl
eXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCwtNywiRCIpO2M9
YS5jdHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7Y2FzZSAzOTppZihhLmN0cmxLZXl8fGEubWV0YUtl
eSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsZT8tMTorMSwiRCIpO2M9YS5jdHJs
S2V5fHxhLm1ldGFLZXk7aWYoYS5vcmlnaW5hbEV2ZW50LmFsdEtleSlkLmRhdGVwaWNrZXIuX2Fk
anVzdERhdGUoYS50YXJnZXQsYS5jdHJsS2V5PytkLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwQmln
TW9udGhzIik6K2QuZGF0ZXBpY2tlci5fZ2V0KGIsCisic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7
Y2FzZSA0MDppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUo
YS50YXJnZXQsKzcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6Yz1m
YWxzZX1lbHNlIGlmKGEua2V5Q29kZT09MzYmJmEuY3RybEtleSlkLmRhdGVwaWNrZXIuX3Nob3dE
YXRlcGlja2VyKHRoaXMpO2Vsc2UgYz1mYWxzZTtpZihjKXthLnByZXZlbnREZWZhdWx0KCk7YS5z
dG9wUHJvcGFnYXRpb24oKX19LF9kb0tleVByZXNzOmZ1bmN0aW9uKGEpe3ZhciBiPWQuZGF0ZXBp
Y2tlci5fZ2V0SW5zdChhLnRhcmdldCk7aWYoZC5kYXRlcGlja2VyLl9nZXQoYiwiY29uc3RyYWlu
SW5wdXQiKSl7Yj1kLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoZC5kYXRlcGlja2VyLl9nZXQo
YiwiZGF0ZUZvcm1hdCIpKTt2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKGEuY2hhckNvZGU9PUM/
YS5rZXlDb2RlOmEuY2hhckNvZGUpOworcmV0dXJuIGEuY3RybEtleXx8YS5tZXRhS2V5fHxjPCIg
Inx8IWJ8fGIuaW5kZXhPZihjKT4tMX19LF9kb0tleVVwOmZ1bmN0aW9uKGEpe2E9ZC5kYXRlcGlj
a2VyLl9nZXRJbnN0KGEudGFyZ2V0KTtpZihhLmlucHV0LnZhbCgpIT1hLmxhc3RWYWwpdHJ5e2lm
KGQuZGF0ZXBpY2tlci5wYXJzZURhdGUoZC5kYXRlcGlja2VyLl9nZXQoYSwiZGF0ZUZvcm1hdCIp
LGEuaW5wdXQ/YS5pbnB1dC52YWwoKTpudWxsLGQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmln
KGEpKSl7ZC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGEpO2QuZGF0ZXBpY2tlci5fdXBk
YXRlQWx0ZXJuYXRlKGEpO2QuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihhKX19Y2F0Y2go
Yil7ZC5kYXRlcGlja2VyLmxvZyhiKX1yZXR1cm4gdHJ1ZX0sX3Nob3dEYXRlcGlja2VyOmZ1bmN0
aW9uKGEpe2E9YS50YXJnZXR8fGE7aWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT0iaW5wdXQi
KWE9ZCgiaW5wdXQiLAorYS5wYXJlbnROb2RlKVswXTtpZighKGQuZGF0ZXBpY2tlci5faXNEaXNh
YmxlZERhdGVwaWNrZXIoYSl8fGQuZGF0ZXBpY2tlci5fbGFzdElucHV0PT1hKSl7dmFyIGI9ZC5k
YXRlcGlja2VyLl9nZXRJbnN0KGEpO2lmKGQuZGF0ZXBpY2tlci5fY3VySW5zdCYmZC5kYXRlcGlj
a2VyLl9jdXJJbnN0IT1iKXtkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZkLmRhdGVw
aWNrZXIuX3RyaWdnZXJPbkNsb3NlKGQuZGF0ZXBpY2tlci5fY3VySW5zdCk7ZC5kYXRlcGlja2Vy
Ll9jdXJJbnN0LmRwRGl2LnN0b3AodHJ1ZSx0cnVlKX12YXIgYz1kLmRhdGVwaWNrZXIuX2dldChi
LCJiZWZvcmVTaG93Iik7SChiLnNldHRpbmdzLGM/Yy5hcHBseShhLFthLGJdKTp7fSk7Yi5sYXN0
VmFsPW51bGw7ZC5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9YTtkLmRhdGVwaWNrZXIuX3NldERhdGVG
cm9tRmllbGQoYik7aWYoZC5kYXRlcGlja2VyLl9pbkRpYWxvZylhLnZhbHVlPSIiO2lmKCFkLmRh
dGVwaWNrZXIuX3Bvcyl7ZC5kYXRlcGlja2VyLl9wb3M9CitkLmRhdGVwaWNrZXIuX2ZpbmRQb3Mo
YSk7ZC5kYXRlcGlja2VyLl9wb3NbMV0rPWEub2Zmc2V0SGVpZ2h0fXZhciBlPWZhbHNlO2QoYSku
cGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtlfD1kKHRoaXMpLmNzcygicG9zaXRpb24iKT09ImZp
eGVkIjtyZXR1cm4hZX0pO2lmKGUmJmQuYnJvd3Nlci5vcGVyYSl7ZC5kYXRlcGlja2VyLl9wb3Nb
MF0tPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2QuZGF0ZXBpY2tlci5fcG9z
WzFdLT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfWM9e2xlZnQ6ZC5kYXRlcGlj
a2VyLl9wb3NbMF0sdG9wOmQuZGF0ZXBpY2tlci5fcG9zWzFdfTtkLmRhdGVwaWNrZXIuX3Bvcz1u
dWxsO2IuZHBEaXYuZW1wdHkoKTtiLmRwRGl2LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixkaXNw
bGF5OiJibG9jayIsdG9wOiItMTAwMHB4In0pO2QuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tl
cihiKTtjPWQuZGF0ZXBpY2tlci5fY2hlY2tPZmZzZXQoYiwKK2MsZSk7Yi5kcERpdi5jc3Moe3Bv
c2l0aW9uOmQuZGF0ZXBpY2tlci5faW5EaWFsb2cmJmQuYmxvY2tVST8ic3RhdGljIjplPyJmaXhl
ZCI6ImFic29sdXRlIixkaXNwbGF5OiJub25lIixsZWZ0OmMubGVmdCsicHgiLHRvcDpjLnRvcCsi
cHgifSk7aWYoIWIuaW5saW5lKXtjPWQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dBbmltIik7dmFy
IGY9ZC5kYXRlcGlja2VyLl9nZXQoYiwiZHVyYXRpb24iKSxoPWZ1bmN0aW9uKCl7dmFyIGk9Yi5k
cERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBpY2tlci1jb3ZlciIpO2lmKGkubGVuZ3RoKXt2YXIg
Zz1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYi5kcERpdik7aS5jc3Moe2xlZnQ6LWdbMF0sdG9w
Oi1nWzFdLHdpZHRoOmIuZHBEaXYub3V0ZXJXaWR0aCgpLGhlaWdodDpiLmRwRGl2Lm91dGVySGVp
Z2h0KCl9KX19O2IuZHBEaXYuekluZGV4KGQoYSkuekluZGV4KCkrMSk7ZC5kYXRlcGlja2VyLl9k
YXRlcGlja2VyU2hvd2luZz10cnVlO2QuZWZmZWN0cyYmCitkLmVmZmVjdHNbY10/Yi5kcERpdi5z
aG93KGMsZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd09wdGlvbnMiKSxmLGgpOmIuZHBEaXZbY3x8
InNob3ciXShjP2Y6bnVsbCxoKTtpZighY3x8IWYpaCgpO2IuaW5wdXQuaXMoIjp2aXNpYmxlIikm
JiFiLmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmYi5pbnB1dC5mb2N1cygpO2QuZGF0ZXBpY2tlci5f
Y3VySW5zdD1ifX19LF91cGRhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3RoaXMubWF4Um93cz00
O3ZhciBiPWQuZGF0ZXBpY2tlci5fZ2V0Qm9yZGVycyhhLmRwRGl2KTtKPWE7YS5kcERpdi5lbXB0
eSgpLmFwcGVuZCh0aGlzLl9nZW5lcmF0ZUhUTUwoYSkpO3ZhciBjPWEuZHBEaXYuZmluZCgiaWZy
YW1lLnVpLWRhdGVwaWNrZXItY292ZXIiKTtjLmxlbmd0aCYmYy5jc3Moe2xlZnQ6LWJbMF0sdG9w
Oi1iWzFdLHdpZHRoOmEuZHBEaXYub3V0ZXJXaWR0aCgpLGhlaWdodDphLmRwRGl2Lm91dGVySGVp
Z2h0KCl9KTthLmRwRGl2LmZpbmQoIi4iKwordGhpcy5fZGF5T3ZlckNsYXNzKyIgYSIpLm1vdXNl
b3ZlcigpO2I9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYSk7Yz1iWzFdO2EuZHBEaXYucmVtb3Zl
Q2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktMiB1aS1kYXRlcGlja2VyLW11bHRpLTMgdWktZGF0
ZXBpY2tlci1tdWx0aS00Iikud2lkdGgoIiIpO2M+MSYmYS5kcERpdi5hZGRDbGFzcygidWktZGF0
ZXBpY2tlci1tdWx0aS0iK2MpLmNzcygid2lkdGgiLDE3KmMrImVtIik7YS5kcERpdlsoYlswXSE9
MXx8YlsxXSE9MT8iYWRkIjoicmVtb3ZlIikrIkNsYXNzIl0oInVpLWRhdGVwaWNrZXItbXVsdGki
KTthLmRwRGl2Wyh0aGlzLl9nZXQoYSwiaXNSVEwiKT8iYWRkIjoicmVtb3ZlIikrIkNsYXNzIl0o
InVpLWRhdGVwaWNrZXItcnRsIik7YT09ZC5kYXRlcGlja2VyLl9jdXJJbnN0JiZkLmRhdGVwaWNr
ZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZhLmlucHV0JiZhLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYh
YS5pbnB1dC5pcygiOmRpc2FibGVkIikmJgorYS5pbnB1dFswXSE9ZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCYmYS5pbnB1dC5mb2N1cygpO2lmKGEueWVhcnNodG1sKXt2YXIgZT1hLnllYXJzaHRtbDtz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZT09PWEueWVhcnNodG1sJiZhLnllYXJzaHRtbCYmYS5kcERp
di5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyOmZpcnN0IikucmVwbGFjZVdpdGgoYS55
ZWFyc2h0bWwpO2U9YS55ZWFyc2h0bWw9bnVsbH0sMCl9fSxfZ2V0Qm9yZGVyczpmdW5jdGlvbihh
KXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm57dGhpbjoxLG1lZGl1bToyLHRoaWNrOjN9W2NdfHxj
fTtyZXR1cm5bcGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSkscGFyc2VG
bG9hdChiKGEuY3NzKCJib3JkZXItdG9wLXdpZHRoIikpKV19LF9jaGVja09mZnNldDpmdW5jdGlv
bihhLGIsYyl7dmFyIGU9YS5kcERpdi5vdXRlcldpZHRoKCksZj1hLmRwRGl2Lm91dGVySGVpZ2h0
KCksaD1hLmlucHV0P2EuaW5wdXQub3V0ZXJXaWR0aCgpOgorMCxpPWEuaW5wdXQ/YS5pbnB1dC5v
dXRlckhlaWdodCgpOjAsZz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgrZChk
b2N1bWVudCkuc2Nyb2xsTGVmdCgpLGo9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhl
aWdodCtkKGRvY3VtZW50KS5zY3JvbGxUb3AoKTtiLmxlZnQtPXRoaXMuX2dldChhLCJpc1JUTCIp
P2UtaDowO2IubGVmdC09YyYmYi5sZWZ0PT1hLmlucHV0Lm9mZnNldCgpLmxlZnQ/ZChkb2N1bWVu
dCkuc2Nyb2xsTGVmdCgpOjA7Yi50b3AtPWMmJmIudG9wPT1hLmlucHV0Lm9mZnNldCgpLnRvcCtp
P2QoZG9jdW1lbnQpLnNjcm9sbFRvcCgpOjA7Yi5sZWZ0LT1NYXRoLm1pbihiLmxlZnQsYi5sZWZ0
K2U+ZyYmZz5lP01hdGguYWJzKGIubGVmdCtlLWcpOjApO2IudG9wLT1NYXRoLm1pbihiLnRvcCxi
LnRvcCtmPmomJmo+Zj9NYXRoLmFicyhmK2kpOjApO3JldHVybiBifSxfZmluZFBvczpmdW5jdGlv
bihhKXtmb3IodmFyIGI9dGhpcy5fZ2V0KHRoaXMuX2dldEluc3QoYSksCisiaXNSVEwiKTthJiYo
YS50eXBlPT0iaGlkZGVuInx8YS5ub2RlVHlwZSE9MXx8ZC5leHByLmZpbHRlcnMuaGlkZGVuKGEp
KTspYT1hW2I/InByZXZpb3VzU2libGluZyI6Im5leHRTaWJsaW5nIl07YT1kKGEpLm9mZnNldCgp
O3JldHVyblthLmxlZnQsYS50b3BdfSxfdHJpZ2dlck9uQ2xvc2U6ZnVuY3Rpb24oYSl7dmFyIGI9
dGhpcy5fZ2V0KGEsIm9uQ2xvc2UiKTtpZihiKWIuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51
bGwsW2EuaW5wdXQ/YS5pbnB1dC52YWwoKToiIixhXSl9LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlv
bihhKXt2YXIgYj10aGlzLl9jdXJJbnN0O2lmKCEoIWJ8fGEmJmIhPWQuZGF0YShhLCJkYXRlcGlj
a2VyIikpKWlmKHRoaXMuX2RhdGVwaWNrZXJTaG93aW5nKXthPXRoaXMuX2dldChiLCJzaG93QW5p
bSIpO3ZhciBjPXRoaXMuX2dldChiLCJkdXJhdGlvbiIpLGU9ZnVuY3Rpb24oKXtkLmRhdGVwaWNr
ZXIuX3RpZHlEaWFsb2coYik7dGhpcy5fY3VySW5zdD0KK251bGx9O2QuZWZmZWN0cyYmZC5lZmZl
Y3RzW2FdP2IuZHBEaXYuaGlkZShhLGQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dPcHRpb25zIiks
YyxlKTpiLmRwRGl2W2E9PSJzbGlkZURvd24iPyJzbGlkZVVwIjphPT0iZmFkZUluIj8iZmFkZU91
dCI6ImhpZGUiXShhP2M6bnVsbCxlKTthfHxlKCk7ZC5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9z
ZShiKTt0aGlzLl9kYXRlcGlja2VyU2hvd2luZz1mYWxzZTt0aGlzLl9sYXN0SW5wdXQ9bnVsbDtp
Zih0aGlzLl9pbkRpYWxvZyl7dGhpcy5fZGlhbG9nSW5wdXQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1
dGUiLGxlZnQ6IjAiLHRvcDoiLTEwMHB4In0pO2lmKGQuYmxvY2tVSSl7ZC51bmJsb2NrVUkoKTtk
KCJib2R5IikuYXBwZW5kKHRoaXMuZHBEaXYpfX10aGlzLl9pbkRpYWxvZz1mYWxzZX19LF90aWR5
RGlhbG9nOmZ1bmN0aW9uKGEpe2EuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3Mp
LnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sCitfY2hlY2tFeHRlcm5hbENsaWNr
OmZ1bmN0aW9uKGEpe2lmKGQuZGF0ZXBpY2tlci5fY3VySW5zdCl7YT1kKGEudGFyZ2V0KTthWzBd
LmlkIT1kLmRhdGVwaWNrZXIuX21haW5EaXZJZCYmYS5wYXJlbnRzKCIjIitkLmRhdGVwaWNrZXIu
X21haW5EaXZJZCkubGVuZ3RoPT0wJiYhYS5oYXNDbGFzcyhkLmRhdGVwaWNrZXIubWFya2VyQ2xh
c3NOYW1lKSYmIWEuaGFzQ2xhc3MoZC5kYXRlcGlja2VyLl90cmlnZ2VyQ2xhc3MpJiZkLmRhdGVw
aWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiYhKGQuZGF0ZXBpY2tlci5faW5EaWFsb2cmJmQuYmxv
Y2tVSSkmJmQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKX19LF9hZGp1c3REYXRlOmZ1bmN0
aW9uKGEsYixjKXthPWQoYSk7dmFyIGU9dGhpcy5fZ2V0SW5zdChhWzBdKTtpZighdGhpcy5faXNE
aXNhYmxlZERhdGVwaWNrZXIoYVswXSkpe3RoaXMuX2FkanVzdEluc3REYXRlKGUsYisoYz09Ik0i
P3RoaXMuX2dldChlLCJzaG93Q3VycmVudEF0UG9zIik6CiswKSxjKTt0aGlzLl91cGRhdGVEYXRl
cGlja2VyKGUpfX0sX2dvdG9Ub2RheTpmdW5jdGlvbihhKXthPWQoYSk7dmFyIGI9dGhpcy5fZ2V0
SW5zdChhWzBdKTtpZih0aGlzLl9nZXQoYiwiZ290b0N1cnJlbnQiKSYmYi5jdXJyZW50RGF5KXti
LnNlbGVjdGVkRGF5PWIuY3VycmVudERheTtiLmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9Yi5j
dXJyZW50TW9udGg7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1iLmN1cnJlbnRZZWFyfWVsc2V7
dmFyIGM9bmV3IERhdGU7Yi5zZWxlY3RlZERheT1jLmdldERhdGUoKTtiLmRyYXdNb250aD1iLnNl
bGVjdGVkTW9udGg9Yy5nZXRNb250aCgpO2IuZHJhd1llYXI9Yi5zZWxlY3RlZFllYXI9Yy5nZXRG
dWxsWWVhcigpfXRoaXMuX25vdGlmeUNoYW5nZShiKTt0aGlzLl9hZGp1c3REYXRlKGEpfSxfc2Vs
ZWN0TW9udGhZZWFyOmZ1bmN0aW9uKGEsYixjKXthPWQoYSk7dmFyIGU9dGhpcy5fZ2V0SW5zdChh
WzBdKTtlWyJzZWxlY3RlZCIrKGM9PSJNIj8KKyJNb250aCI6IlllYXIiKV09ZVsiZHJhdyIrKGM9
PSJNIj8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGIub3B0aW9uc1tiLnNlbGVjdGVkSW5kZXhd
LnZhbHVlLDEwKTt0aGlzLl9ub3RpZnlDaGFuZ2UoZSk7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX3Nl
bGVjdERheTpmdW5jdGlvbihhLGIsYyxlKXt2YXIgZj1kKGEpO2lmKCEoZChlKS5oYXNDbGFzcyh0
aGlzLl91bnNlbGVjdGFibGVDbGFzcyl8fHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKGZbMF0p
KSl7Zj10aGlzLl9nZXRJbnN0KGZbMF0pO2Yuc2VsZWN0ZWREYXk9Zi5jdXJyZW50RGF5PWQoImEi
LGUpLmh0bWwoKTtmLnNlbGVjdGVkTW9udGg9Zi5jdXJyZW50TW9udGg9YjtmLnNlbGVjdGVkWWVh
cj1mLmN1cnJlbnRZZWFyPWM7dGhpcy5fc2VsZWN0RGF0ZShhLHRoaXMuX2Zvcm1hdERhdGUoZixm
LmN1cnJlbnREYXksZi5jdXJyZW50TW9udGgsZi5jdXJyZW50WWVhcikpfX0sX2NsZWFyRGF0ZTpm
dW5jdGlvbihhKXthPWQoYSk7Cit0aGlzLl9nZXRJbnN0KGFbMF0pO3RoaXMuX3NlbGVjdERhdGUo
YSwiIil9LF9zZWxlY3REYXRlOmZ1bmN0aW9uKGEsYil7YT10aGlzLl9nZXRJbnN0KGQoYSlbMF0p
O2I9YiE9bnVsbD9iOnRoaXMuX2Zvcm1hdERhdGUoYSk7YS5pbnB1dCYmYS5pbnB1dC52YWwoYik7
dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpO3ZhciBjPXRoaXMuX2dldChhLCJvblNlbGVjdCIpO2lm
KGMpYy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYixhXSk7ZWxzZSBhLmlucHV0JiZh
LmlucHV0LnRyaWdnZXIoImNoYW5nZSIpO2lmKGEuaW5saW5lKXRoaXMuX3VwZGF0ZURhdGVwaWNr
ZXIoYSk7ZWxzZXt0aGlzLl9oaWRlRGF0ZXBpY2tlcigpO3RoaXMuX2xhc3RJbnB1dD1hLmlucHV0
WzBdO2EuaW5wdXQuZm9jdXMoKTt0aGlzLl9sYXN0SW5wdXQ9bnVsbH19LF91cGRhdGVBbHRlcm5h
dGU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0KGEsImFsdEZpZWxkIik7aWYoYil7dmFyIGM9
dGhpcy5fZ2V0KGEsCisiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT10
aGlzLl9nZXREYXRlKGEpLGY9dGhpcy5mb3JtYXREYXRlKGMsZSx0aGlzLl9nZXRGb3JtYXRDb25m
aWcoYSkpO2QoYikuZWFjaChmdW5jdGlvbigpe2QodGhpcykudmFsKGYpfSl9fSxub1dlZWtlbmRz
OmZ1bmN0aW9uKGEpe2E9YS5nZXREYXkoKTtyZXR1cm5bYT4wJiZhPDYsIiJdfSxpc284NjAxV2Vl
azpmdW5jdGlvbihhKXthPW5ldyBEYXRlKGEuZ2V0VGltZSgpKTthLnNldERhdGUoYS5nZXREYXRl
KCkrNC0oYS5nZXREYXkoKXx8NykpO3ZhciBiPWEuZ2V0VGltZSgpO2Euc2V0TW9udGgoMCk7YS5z
ZXREYXRlKDEpO3JldHVybiBNYXRoLmZsb29yKE1hdGgucm91bmQoKGItYSkvODY0RTUpLzcpKzF9
LHBhcnNlRGF0ZTpmdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbHx8Yj09bnVsbCl0aHJvdyJJbnZh
bGlkIGFyZ3VtZW50cyI7Yj10eXBlb2YgYj09Im9iamVjdCI/Yi50b1N0cmluZygpOmIrIiI7aWYo
Yj09CisiIilyZXR1cm4gbnVsbDt2YXIgZT0oYz9jLnNob3J0WWVhckN1dG9mZjpudWxsKXx8dGhp
cy5fZGVmYXVsdHMuc2hvcnRZZWFyQ3V0b2ZmO2U9dHlwZW9mIGUhPSJzdHJpbmciP2U6KG5ldyBE
YXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludChlLDEwKTtmb3IodmFyIGY9KGM/Yy5kYXlO
YW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LGg9KGM/Yy5kYXlO
YW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsaT0oYz9jLm1vbnRoTmFtZXNTaG9y
dDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0LGc9KGM/Yy5tb250aE5hbWVz
Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLGo9Yz0tMSxsPS0xLHU9LTEsaz1mYWxz
ZSxvPWZ1bmN0aW9uKHApeyhwPUErMTxhLmxlbmd0aCYmYS5jaGFyQXQoQSsxKT09cCkmJkErKzty
ZXR1cm4gcH0sbT1mdW5jdGlvbihwKXt2YXIgRD1vKHApO3A9bmV3IFJlZ0V4cCgiXlxcZHsxLCIr
CisocD09IkAiPzE0OnA9PSIhIj8yMDpwPT0ieSImJkQ/NDpwPT0ibyI/MzoyKSsifSIpO3A9Yi5z
dWJzdHJpbmcocSkubWF0Y2gocCk7aWYoIXApdGhyb3ciTWlzc2luZyBudW1iZXIgYXQgcG9zaXRp
b24gIitxO3ErPXBbMF0ubGVuZ3RoO3JldHVybiBwYXJzZUludChwWzBdLDEwKX0sbj1mdW5jdGlv
bihwLEQsSyl7cD1kLm1hcChvKHApP0s6RCxmdW5jdGlvbih3LHgpe3JldHVybltbeCx3XV19KS5z
b3J0KGZ1bmN0aW9uKHcseCl7cmV0dXJuLSh3WzFdLmxlbmd0aC14WzFdLmxlbmd0aCl9KTt2YXIg
RT0tMTtkLmVhY2gocCxmdW5jdGlvbih3LHgpe3c9eFsxXTtpZihiLnN1YnN0cihxLHcubGVuZ3Ro
KS50b0xvd2VyQ2FzZSgpPT13LnRvTG93ZXJDYXNlKCkpe0U9eFswXTtxKz13Lmxlbmd0aDtyZXR1
cm4gZmFsc2V9fSk7aWYoRSE9LTEpcmV0dXJuIEUrMTtlbHNlIHRocm93IlVua25vd24gbmFtZSBh
dCBwb3NpdGlvbiAiK3E7fSxzPWZ1bmN0aW9uKCl7aWYoYi5jaGFyQXQocSkhPWEuY2hhckF0KEEp
KXRocm93IlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiAiKworcTtxKyt9LHE9MCxBPTA7
QTxhLmxlbmd0aDtBKyspaWYoaylpZihhLmNoYXJBdChBKT09IiciJiYhbygiJyIpKWs9ZmFsc2U7
ZWxzZSBzKCk7ZWxzZSBzd2l0Y2goYS5jaGFyQXQoQSkpe2Nhc2UgImQiOmw9bSgiZCIpO2JyZWFr
O2Nhc2UgIkQiOm4oIkQiLGYsaCk7YnJlYWs7Y2FzZSAibyI6dT1tKCJvIik7YnJlYWs7Y2FzZSAi
bSI6aj1tKCJtIik7YnJlYWs7Y2FzZSAiTSI6aj1uKCJNIixpLGcpO2JyZWFrO2Nhc2UgInkiOmM9
bSgieSIpO2JyZWFrO2Nhc2UgIkAiOnZhciB2PW5ldyBEYXRlKG0oIkAiKSk7Yz12LmdldEZ1bGxZ
ZWFyKCk7aj12LmdldE1vbnRoKCkrMTtsPXYuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgIiEiOnY9bmV3
IERhdGUoKG0oIiEiKS10aGlzLl90aWNrc1RvMTk3MCkvMUU0KTtjPXYuZ2V0RnVsbFllYXIoKTtq
PXYuZ2V0TW9udGgoKSsxO2w9di5nZXREYXRlKCk7YnJlYWs7Y2FzZSAiJyI6aWYobygiJyIpKXMo
KTtlbHNlIGs9dHJ1ZTticmVhaztkZWZhdWx0OnMoKX1pZihxPAorYi5sZW5ndGgpdGhyb3ciRXh0
cmEvdW5wYXJzZWQgY2hhcmFjdGVycyBmb3VuZCBpbiBkYXRlOiAiK2Iuc3Vic3RyaW5nKHEpO2lm
KGM9PS0xKWM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2Vsc2UgaWYoYzwxMDApYys9KG5ldyBE
YXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKGM8PWU/MDot
MTAwKTtpZih1Pi0xKXtqPTE7bD11O2Rve2U9dGhpcy5fZ2V0RGF5c0luTW9udGgoYyxqLTEpO2lm
KGw8PWUpYnJlYWs7aisrO2wtPWV9d2hpbGUoMSl9dj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVz
dChuZXcgRGF0ZShjLGotMSxsKSk7aWYodi5nZXRGdWxsWWVhcigpIT1jfHx2LmdldE1vbnRoKCkr
MSE9anx8di5nZXREYXRlKCkhPWwpdGhyb3ciSW52YWxpZCBkYXRlIjtyZXR1cm4gdn0sQVRPTToi
eXktbW0tZGQiLENPT0tJRToiRCwgZGQgTSB5eSIsSVNPXzg2MDE6Inl5LW1tLWRkIixSRkNfODIy
OiJELCBkIE0geSIsUkZDXzg1MDoiREQsIGRkLU0teSIsCitSRkNfMTAzNjoiRCwgZCBNIHkiLFJG
Q18xMTIzOiJELCBkIE0geXkiLFJGQ18yODIyOiJELCBkIE0geXkiLFJTUzoiRCwgZCBNIHkiLFRJ
Q0tTOiIhIixUSU1FU1RBTVA6IkAiLFczQzoieXktbW0tZGQiLF90aWNrc1RvMTk3MDooNzE4Njg1
K01hdGguZmxvb3IoNDkyLjUpLU1hdGguZmxvb3IoMTkuNykrTWF0aC5mbG9vcig0LjkyNSkpKjI0
KjYwKjYwKjFFNyxmb3JtYXREYXRlOmZ1bmN0aW9uKGEsYixjKXtpZighYilyZXR1cm4iIjt2YXIg
ZT0oYz9jLmRheU5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQs
Zj0oYz9jLmRheU5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxoPShjP2MubW9u
dGhOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQ7Yz0oYz9j
Lm1vbnRoTmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXM7dmFyIGk9ZnVuY3Rp
b24obyl7KG89aysxPGEubGVuZ3RoJiYKK2EuY2hhckF0KGsrMSk9PW8pJiZrKys7cmV0dXJuIG99
LGc9ZnVuY3Rpb24obyxtLG4pe209IiIrbTtpZihpKG8pKWZvcig7bS5sZW5ndGg8bjspbT0iMCIr
bTtyZXR1cm4gbX0saj1mdW5jdGlvbihvLG0sbixzKXtyZXR1cm4gaShvKT9zW21dOm5bbV19LGw9
IiIsdT1mYWxzZTtpZihiKWZvcih2YXIgaz0wO2s8YS5sZW5ndGg7aysrKWlmKHUpaWYoYS5jaGFy
QXQoayk9PSInIiYmIWkoIiciKSl1PWZhbHNlO2Vsc2UgbCs9YS5jaGFyQXQoayk7ZWxzZSBzd2l0
Y2goYS5jaGFyQXQoaykpe2Nhc2UgImQiOmwrPWcoImQiLGIuZ2V0RGF0ZSgpLDIpO2JyZWFrO2Nh
c2UgIkQiOmwrPWooIkQiLGIuZ2V0RGF5KCksZSxmKTticmVhaztjYXNlICJvIjpsKz1nKCJvIixN
YXRoLnJvdW5kKCgobmV3IERhdGUoYi5nZXRGdWxsWWVhcigpLGIuZ2V0TW9udGgoKSxiLmdldERh
dGUoKSkpLmdldFRpbWUoKS0obmV3IERhdGUoYi5nZXRGdWxsWWVhcigpLDAsMCkpLmdldFRpbWUo
KSkvODY0RTUpLDMpOworYnJlYWs7Y2FzZSAibSI6bCs9ZygibSIsYi5nZXRNb250aCgpKzEsMik7
YnJlYWs7Y2FzZSAiTSI6bCs9aigiTSIsYi5nZXRNb250aCgpLGgsYyk7YnJlYWs7Y2FzZSAieSI6
bCs9aSgieSIpP2IuZ2V0RnVsbFllYXIoKTooYi5nZXRZZWFyKCklMTAwPDEwPyIwIjoiIikrYi5n
ZXRZZWFyKCklMTAwO2JyZWFrO2Nhc2UgIkAiOmwrPWIuZ2V0VGltZSgpO2JyZWFrO2Nhc2UgIiEi
OmwrPWIuZ2V0VGltZSgpKjFFNCt0aGlzLl90aWNrc1RvMTk3MDticmVhaztjYXNlICInIjppZihp
KCInIikpbCs9IiciO2Vsc2UgdT10cnVlO2JyZWFrO2RlZmF1bHQ6bCs9YS5jaGFyQXQoayl9cmV0
dXJuIGx9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPWZhbHNlLGU9
ZnVuY3Rpb24oaCl7KGg9ZisxPGEubGVuZ3RoJiZhLmNoYXJBdChmKzEpPT1oKSYmZisrO3JldHVy
biBofSxmPTA7ZjxhLmxlbmd0aDtmKyspaWYoYylpZihhLmNoYXJBdChmKT09IiciJiYhZSgiJyIp
KWM9CitmYWxzZTtlbHNlIGIrPWEuY2hhckF0KGYpO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KGYpKXtj
YXNlICJkIjpjYXNlICJtIjpjYXNlICJ5IjpjYXNlICJAIjpiKz0iMDEyMzQ1Njc4OSI7YnJlYWs7
Y2FzZSAiRCI6Y2FzZSAiTSI6cmV0dXJuIG51bGw7Y2FzZSAiJyI6aWYoZSgiJyIpKWIrPSInIjtl
bHNlIGM9dHJ1ZTticmVhaztkZWZhdWx0OmIrPWEuY2hhckF0KGYpfXJldHVybiBifSxfZ2V0OmZ1
bmN0aW9uKGEsYil7cmV0dXJuIGEuc2V0dGluZ3NbYl0hPT1DP2Euc2V0dGluZ3NbYl06dGhpcy5f
ZGVmYXVsdHNbYl19LF9zZXREYXRlRnJvbUZpZWxkOmZ1bmN0aW9uKGEsYil7aWYoYS5pbnB1dC52
YWwoKSE9YS5sYXN0VmFsKXt2YXIgYz10aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGU9YS5sYXN0
VmFsPWEuaW5wdXQ/YS5pbnB1dC52YWwoKTpudWxsLGYsaDtmPWg9dGhpcy5fZ2V0RGVmYXVsdERh
dGUoYSk7dmFyIGk9dGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpO3RyeXtmPXRoaXMucGFyc2VEYXRl
KGMsCitlLGkpfHxofWNhdGNoKGcpe3RoaXMubG9nKGcpO2U9Yj8iIjplfWEuc2VsZWN0ZWREYXk9
Zi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPWYuZ2V0TW9udGgoKTthLmRy
YXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWYuZ2V0RnVsbFllYXIoKTthLmN1cnJlbnREYXk9ZT9mLmdl
dERhdGUoKTowO2EuY3VycmVudE1vbnRoPWU/Zi5nZXRNb250aCgpOjA7YS5jdXJyZW50WWVhcj1l
P2YuZ2V0RnVsbFllYXIoKTowO3RoaXMuX2FkanVzdEluc3REYXRlKGEpfX0sX2dldERlZmF1bHRE
YXRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9yZXN0cmljdE1pbk1heChhLHRoaXMuX2RldGVy
bWluZURhdGUoYSx0aGlzLl9nZXQoYSwiZGVmYXVsdERhdGUiKSxuZXcgRGF0ZSkpfSxfZGV0ZXJt
aW5lRGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9ZnVuY3Rpb24oaCl7dmFyIGk9bmV3IERhdGU7
aS5zZXREYXRlKGkuZ2V0RGF0ZSgpK2gpO3JldHVybiBpfSxmPWZ1bmN0aW9uKGgpe3RyeXtyZXR1
cm4gZC5kYXRlcGlja2VyLnBhcnNlRGF0ZShkLmRhdGVwaWNrZXIuX2dldChhLAorImRhdGVGb3Jt
YXQiKSxoLGQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGEpKX1jYXRjaChpKXt9dmFyIGc9
KGgudG9Mb3dlckNhc2UoKS5tYXRjaCgvXmMvKT9kLmRhdGVwaWNrZXIuX2dldERhdGUoYSk6bnVs
bCl8fG5ldyBEYXRlLGo9Zy5nZXRGdWxsWWVhcigpLGw9Zy5nZXRNb250aCgpO2c9Zy5nZXREYXRl
KCk7Zm9yKHZhciB1PS8oWystXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csaz11LmV4
ZWMoaCk7azspe3N3aXRjaChrWzJdfHwiZCIpe2Nhc2UgImQiOmNhc2UgIkQiOmcrPXBhcnNlSW50
KGtbMV0sMTApO2JyZWFrO2Nhc2UgInciOmNhc2UgIlciOmcrPXBhcnNlSW50KGtbMV0sMTApKjc7
YnJlYWs7Y2FzZSAibSI6Y2FzZSAiTSI6bCs9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihn
LGQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWs7Y2FzZSAieSI6Y2FzZSAi
WSI6ais9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihnLAorZC5kYXRlcGlja2VyLl9nZXRE
YXlzSW5Nb250aChqLGwpKTticmVha31rPXUuZXhlYyhoKX1yZXR1cm4gbmV3IERhdGUoaixsLGcp
fTtpZihiPShiPWI9PW51bGx8fGI9PT0iIj9jOnR5cGVvZiBiPT0ic3RyaW5nIj9mKGIpOnR5cGVv
ZiBiPT0ibnVtYmVyIj9pc05hTihiKT9jOmUoYik6bmV3IERhdGUoYi5nZXRUaW1lKCkpKSYmYi50
b1N0cmluZygpPT0iSW52YWxpZCBEYXRlIj9jOmIpe2Iuc2V0SG91cnMoMCk7Yi5zZXRNaW51dGVz
KDApO2Iuc2V0U2Vjb25kcygwKTtiLnNldE1pbGxpc2Vjb25kcygwKX1yZXR1cm4gdGhpcy5fZGF5
bGlnaHRTYXZpbmdBZGp1c3QoYil9LF9kYXlsaWdodFNhdmluZ0FkanVzdDpmdW5jdGlvbihhKXtp
ZighYSlyZXR1cm4gbnVsbDthLnNldEhvdXJzKGEuZ2V0SG91cnMoKT4xMj9hLmdldEhvdXJzKCkr
MjowKTtyZXR1cm4gYX0sX3NldERhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPSFiLGY9YS5zZWxl
Y3RlZE1vbnRoLGg9YS5zZWxlY3RlZFllYXI7CitiPXRoaXMuX3Jlc3RyaWN0TWluTWF4KGEsdGhp
cy5fZGV0ZXJtaW5lRGF0ZShhLGIsbmV3IERhdGUpKTthLnNlbGVjdGVkRGF5PWEuY3VycmVudERh
eT1iLmdldERhdGUoKTthLmRyYXdNb250aD1hLnNlbGVjdGVkTW9udGg9YS5jdXJyZW50TW9udGg9
Yi5nZXRNb250aCgpO2EuZHJhd1llYXI9YS5zZWxlY3RlZFllYXI9YS5jdXJyZW50WWVhcj1iLmdl
dEZ1bGxZZWFyKCk7aWYoKGYhPWEuc2VsZWN0ZWRNb250aHx8aCE9YS5zZWxlY3RlZFllYXIpJiYh
Yyl0aGlzLl9ub3RpZnlDaGFuZ2UoYSk7dGhpcy5fYWRqdXN0SW5zdERhdGUoYSk7aWYoYS5pbnB1
dClhLmlucHV0LnZhbChlPyIiOnRoaXMuX2Zvcm1hdERhdGUoYSkpO2lmKGM9dGhpcy5fZ2V0KGEs
Im9uU2VsZWN0Iikpe2U9dGhpcy5fZm9ybWF0RGF0ZShhKTtjLmFwcGx5KGEuaW5wdXQ/YS5pbnB1
dFswXTpudWxsLFtlLGFdKX19LF9nZXREYXRlOmZ1bmN0aW9uKGEpe3JldHVybiFhLmN1cnJlbnRZ
ZWFyfHxhLmlucHV0JiZhLmlucHV0LnZhbCgpPT0KKyIiP251bGw6dGhpcy5fZGF5bGlnaHRTYXZp
bmdBZGp1c3QobmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnRE
YXkpKX0sX2dlbmVyYXRlSFRNTDpmdW5jdGlvbihhKXt2YXIgYj1uZXcgRGF0ZTtiPXRoaXMuX2Rh
eWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSxiLmdldE1vbnRoKCks
Yi5nZXREYXRlKCkpKTt2YXIgYz10aGlzLl9nZXQoYSwiaXNSVEwiKSxlPXRoaXMuX2dldChhLCJz
aG93QnV0dG9uUGFuZWwiKSxmPXRoaXMuX2dldChhLCJoaWRlSWZOb1ByZXZOZXh0IiksaD10aGlz
Ll9nZXQoYSwibmF2aWdhdGlvbkFzRGF0ZUZvcm1hdCIpLGk9dGhpcy5fZ2V0TnVtYmVyT2ZNb250
aHMoYSksZz10aGlzLl9nZXQoYSwic2hvd0N1cnJlbnRBdFBvcyIpLGo9dGhpcy5fZ2V0KGEsInN0
ZXBNb250aHMiKSxsPWlbMF0hPTF8fGlbMV0hPTEsdT10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVz
dCghYS5jdXJyZW50RGF5P25ldyBEYXRlKDk5OTksCis5LDkpOm5ldyBEYXRlKGEuY3VycmVudFll
YXIsYS5jdXJyZW50TW9udGgsYS5jdXJyZW50RGF5KSksaz10aGlzLl9nZXRNaW5NYXhEYXRlKGEs
Im1pbiIpLG89dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtnPWEuZHJhd01vbnRoLWc7dmFy
IG09YS5kcmF3WWVhcjtpZihnPDApe2crPTEyO20tLX1pZihvKXt2YXIgbj10aGlzLl9kYXlsaWdo
dFNhdmluZ0FkanVzdChuZXcgRGF0ZShvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLWlbMF0q
aVsxXSsxLG8uZ2V0RGF0ZSgpKSk7Zm9yKG49ayYmbjxrP2s6bjt0aGlzLl9kYXlsaWdodFNhdmlu
Z0FkanVzdChuZXcgRGF0ZShtLGcsMSkpPm47KXtnLS07aWYoZzwwKXtnPTExO20tLX19fWEuZHJh
d01vbnRoPWc7YS5kcmF3WWVhcj1tO249dGhpcy5fZ2V0KGEsInByZXZUZXh0Iik7bj0haD9uOnRo
aXMuZm9ybWF0RGF0ZShuLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZy1q
LDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpOworbj10aGlzLl9jYW5BZGp1c3RNb250aChh
LC0xLG0sZyk/JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCIgb25j
bGljaz0iRFBfalF1ZXJ5XycrQisiLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoJyMiK2EuaWQrIics
IC0iK2orIiwgJ00nKTtcIiB0aXRsZT1cIiIrbisnIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1p
Y29uLWNpcmNsZS10cmlhbmdsZS0nKyhjPyJlIjoidyIpKyciPicrbisiPC9zcGFuPjwvYT4iOmY/
IiI6JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1k
aXNhYmxlZCIgdGl0bGU9IicrbisnIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNpcmNs
ZS10cmlhbmdsZS0nKyhjPyJlIjoidyIpKyciPicrbisiPC9zcGFuPjwvYT4iO3ZhciBzPXRoaXMu
X2dldChhLCJuZXh0VGV4dCIpO3M9IWg/czp0aGlzLmZvcm1hdERhdGUocyx0aGlzLl9kYXlsaWdo
dFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLAorZytqLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWco
YSkpO2Y9dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwrMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBp
Y2tlci1uZXh0IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0IrIi5kYXRlcGlj
a2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCArIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK3Mr
JyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8idyI6
ImUiKSsnIj4nK3MrIjwvc3Bhbj48L2E+IjpmPyIiOic8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1u
ZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK3MrJyI+PHNwYW4g
Y2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8idyI6ImUiKSsnIj4n
K3MrIjwvc3Bhbj48L2E+IjtqPXRoaXMuX2dldChhLCJjdXJyZW50VGV4dCIpO3M9dGhpcy5fZ2V0
KGEsImdvdG9DdXJyZW50IikmJgorYS5jdXJyZW50RGF5P3U6YjtqPSFoP2o6dGhpcy5mb3JtYXRE
YXRlKGoscyx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO2g9IWEuaW5saW5lPyc8YnV0dG9uIHR5
cGU9ImJ1dHRvbiIgY2xhc3M9InVpLWRhdGVwaWNrZXItY2xvc2UgdWktc3RhdGUtZGVmYXVsdCB1
aS1wcmlvcml0eS1wcmltYXJ5IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0Ir
Jy5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpOyI+Jyt0aGlzLl9nZXQoYSwiY2xvc2VUZXh0
IikrIjwvYnV0dG9uPiI6IiI7ZT1lPyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWJ1dHRvbnBh
bmUgdWktd2lkZ2V0LWNvbnRlbnQiPicrKGM/aDoiIikrKHRoaXMuX2lzSW5SYW5nZShhLHMpPyc8
YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0
ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJE
UF9qUXVlcnlfJysKK0IrIi5kYXRlcGlja2VyLl9nb3RvVG9kYXkoJyMiK2EuaWQrIicpO1wiPiIr
aisiPC9idXR0b24+IjoiIikrKGM/IiI6aCkrIjwvZGl2PiI6IiI7aD1wYXJzZUludCh0aGlzLl9n
ZXQoYSwiZmlyc3REYXkiKSwxMCk7aD1pc05hTihoKT8wOmg7aj10aGlzLl9nZXQoYSwic2hvd1dl
ZWsiKTtzPXRoaXMuX2dldChhLCJkYXlOYW1lcyIpO3RoaXMuX2dldChhLCJkYXlOYW1lc1Nob3J0
Iik7dmFyIHE9dGhpcy5fZ2V0KGEsImRheU5hbWVzTWluIiksQT10aGlzLl9nZXQoYSwibW9udGhO
YW1lcyIpLHY9dGhpcy5fZ2V0KGEsIm1vbnRoTmFtZXNTaG9ydCIpLHA9dGhpcy5fZ2V0KGEsImJl
Zm9yZVNob3dEYXkiKSxEPXRoaXMuX2dldChhLCJzaG93T3RoZXJNb250aHMiKSxLPXRoaXMuX2dl
dChhLCJzZWxlY3RPdGhlck1vbnRocyIpO3RoaXMuX2dldChhLCJjYWxjdWxhdGVXZWVrIik7Zm9y
KHZhciBFPXRoaXMuX2dldERlZmF1bHREYXRlKGEpLHc9IiIseD0wO3g8aVswXTt4Kyspe3ZhciBP
PQorIiI7dGhpcy5tYXhSb3dzPTQ7Zm9yKHZhciBHPTA7RzxpWzFdO0crKyl7dmFyIFA9dGhpcy5f
ZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLGEuc2VsZWN0ZWREYXkpKSx0PSIgdWkt
Y29ybmVyLWFsbCIseT0iIjtpZihsKXt5Kz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1ncm91
cCc7aWYoaVsxXT4xKXN3aXRjaChHKXtjYXNlIDA6eSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZp
cnN0Ijt0PSIgdWktY29ybmVyLSIrKGM/InJpZ2h0IjoibGVmdCIpO2JyZWFrO2Nhc2UgaVsxXS0x
OnkrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1sYXN0Ijt0PSIgdWktY29ybmVyLSIrKGM/ImxlZnQi
OiJyaWdodCIpO2JyZWFrO2RlZmF1bHQ6eSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSI7
dD0iIjticmVha315Kz0nIj4nfXkrPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWhlYWRlciB1
aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCcrdCsnIj4nKygvYWxsfGxlZnQvLnRl
c3QodCkmJgoreD09MD9jP2Y6bjoiIikrKC9hbGx8cmlnaHQvLnRlc3QodCkmJng9PTA/Yz9uOmY6
IiIpK3RoaXMuX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyKGEsZyxtLGssbyx4PjB8fEc+MCxBLHYp
Kyc8L2Rpdj48dGFibGUgY2xhc3M9InVpLWRhdGVwaWNrZXItY2FsZW5kYXIiPjx0aGVhZD48dHI+
Jzt2YXIgej1qPyc8dGggY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1jb2wiPicrdGhpcy5fZ2V0
KGEsIndlZWtIZWFkZXIiKSsiPC90aD4iOiIiO2Zvcih0PTA7dDw3O3QrKyl7dmFyIHI9KHQraCkl
Nzt6Kz0iPHRoIisoKHQraCs2KSU3Pj01PycgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1lbmQi
JzoiIikrJz48c3BhbiB0aXRsZT0iJytzW3JdKyciPicrcVtyXSsiPC9zcGFuPjwvdGg+In15Kz16
KyI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7ej10aGlzLl9nZXREYXlzSW5Nb250aChtLGcpO2lmKG09
PWEuc2VsZWN0ZWRZZWFyJiZnPT1hLnNlbGVjdGVkTW9udGgpYS5zZWxlY3RlZERheT1NYXRoLm1p
bihhLnNlbGVjdGVkRGF5LAoreik7dD0odGhpcy5fZ2V0Rmlyc3REYXlPZk1vbnRoKG0sZyktaCs3
KSU3O3o9TWF0aC5jZWlsKCh0K3opLzcpO3RoaXMubWF4Um93cz16PWw/dGhpcy5tYXhSb3dzPno/
dGhpcy5tYXhSb3dzOno6ejtyPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0s
ZywxLXQpKTtmb3IodmFyIFE9MDtRPHo7USsrKXt5Kz0iPHRyPiI7dmFyIFI9IWo/IiI6Jzx0ZCBj
bGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYSwiY2FsY3VsYXRlV2Vl
ayIpKHIpKyI8L3RkPiI7Zm9yKHQ9MDt0PDc7dCsrKXt2YXIgST1wP3AuYXBwbHkoYS5pbnB1dD9h
LmlucHV0WzBdOm51bGwsW3JdKTpbdHJ1ZSwiIl0sRj1yLmdldE1vbnRoKCkhPWcsTD1GJiYhS3x8
IUlbMF18fGsmJnI8a3x8byYmcj5vO1IrPSc8dGQgY2xhc3M9IicrKCh0K2grNiklNz49NT8iIHVp
LWRhdGVwaWNrZXItd2Vlay1lbmQiOiIiKSsoRj8iIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgi
OiIiKSsoci5nZXRUaW1lKCk9PQorUC5nZXRUaW1lKCkmJmc9PWEuc2VsZWN0ZWRNb250aCYmYS5f
a2V5RXZlbnR8fEUuZ2V0VGltZSgpPT1yLmdldFRpbWUoKSYmRS5nZXRUaW1lKCk9PVAuZ2V0VGlt
ZSgpPyIgIit0aGlzLl9kYXlPdmVyQ2xhc3M6IiIpKyhMPyIgIit0aGlzLl91bnNlbGVjdGFibGVD
bGFzcysiIHVpLXN0YXRlLWRpc2FibGVkIjoiIikrKEYmJiFEPyIiOiIgIitJWzFdKyhyLmdldFRp
bWUoKT09dS5nZXRUaW1lKCk/IiAiK3RoaXMuX2N1cnJlbnRDbGFzczoiIikrKHIuZ2V0VGltZSgp
PT1iLmdldFRpbWUoKT8iIHVpLWRhdGVwaWNrZXItdG9kYXkiOiIiKSkrJyInKygoIUZ8fEQpJiZJ
WzJdPycgdGl0bGU9IicrSVsyXSsnIic6IiIpKyhMPyIiOicgb25jbGljaz0iRFBfalF1ZXJ5Xycr
QisiLmRhdGVwaWNrZXIuX3NlbGVjdERheSgnIyIrYS5pZCsiJywiK3IuZ2V0TW9udGgoKSsiLCIr
ci5nZXRGdWxsWWVhcigpKycsIHRoaXMpO3JldHVybiBmYWxzZTsiJykrIj4iKyhGJiYhRD8iJiN4
YTA7IjpMPyc8c3BhbiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCI+JysKK3IuZ2V0RGF0ZSgpKyI8
L3NwYW4+IjonPGEgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQnKyhyLmdldFRpbWUoKT09Yi5nZXRU
aW1lKCk/IiB1aS1zdGF0ZS1oaWdobGlnaHQiOiIiKSsoci5nZXRUaW1lKCk9PXUuZ2V0VGltZSgp
PyIgdWktc3RhdGUtYWN0aXZlIjoiIikrKEY/IiB1aS1wcmlvcml0eS1zZWNvbmRhcnkiOiIiKSsn
IiBocmVmPSIjIj4nK3IuZ2V0RGF0ZSgpKyI8L2E+IikrIjwvdGQ+IjtyLnNldERhdGUoci5nZXRE
YXRlKCkrMSk7cj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChyKX15Kz1SKyI8L3RyPiJ9Zysr
O2lmKGc+MTEpe2c9MDttKyt9eSs9IjwvdGJvZHk+PC90YWJsZT4iKyhsPyI8L2Rpdj4iKyhpWzBd
PjAmJkc9PWlbMV0tMT8nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1yb3ctYnJlYWsiPjwvZGl2
Pic6IiIpOiIiKTtPKz15fXcrPU99dys9ZSsoZC5icm93c2VyLm1zaWUmJnBhcnNlSW50KGQuYnJv
d3Nlci52ZXJzaW9uLDEwKTw3JiYhYS5pbmxpbmU/JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZh
bHNlOyIgY2xhc3M9InVpLWRhdGVwaWNrZXItY292ZXIiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFt
ZT4nOgorIiIpO2EuX2tleUV2ZW50PWZhbHNlO3JldHVybiB3fSxfZ2VuZXJhdGVNb250aFllYXJI
ZWFkZXI6ZnVuY3Rpb24oYSxiLGMsZSxmLGgsaSxnKXt2YXIgaj10aGlzLl9nZXQoYSwiY2hhbmdl
TW9udGgiKSxsPXRoaXMuX2dldChhLCJjaGFuZ2VZZWFyIiksdT10aGlzLl9nZXQoYSwic2hvd01v
bnRoQWZ0ZXJZZWFyIiksaz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci10aXRsZSI+JyxvPSIi
O2lmKGh8fCFqKW8rPSc8c3BhbiBjbGFzcz0idWktZGF0ZXBpY2tlci1tb250aCI+JytpW2JdKyI8
L3NwYW4+IjtlbHNle2k9ZSYmZS5nZXRGdWxsWWVhcigpPT1jO3ZhciBtPWYmJmYuZ2V0RnVsbFll
YXIoKT09YztvKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci1tb250aCIgb25jaGFuZ2U9
IkRQX2pRdWVyeV8nK0IrIi5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2EuaWQrIics
IHRoaXMsICdNJyk7XCIgPiI7Zm9yKHZhciBuPTA7bjwxMjtuKyspaWYoKCFpfHxuPj1lLmdldE1v
bnRoKCkpJiYKKyghbXx8bjw9Zi5nZXRNb250aCgpKSlvKz0nPG9wdGlvbiB2YWx1ZT0iJytuKyci
Jysobj09Yj8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrZ1tuXSsiPC9vcHRpb24+Ijtv
Kz0iPC9zZWxlY3Q+In11fHwoays9bysoaHx8IShqJiZsKT8iJiN4YTA7IjoiIikpO2lmKCFhLnll
YXJzaHRtbCl7YS55ZWFyc2h0bWw9IiI7aWYoaHx8IWwpays9JzxzcGFuIGNsYXNzPSJ1aS1kYXRl
cGlja2VyLXllYXIiPicrYysiPC9zcGFuPiI7ZWxzZXtnPXRoaXMuX2dldChhLCJ5ZWFyUmFuZ2Ui
KS5zcGxpdCgiOiIpO3ZhciBzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKTtpPWZ1bmN0aW9uKHEp
e3E9cS5tYXRjaCgvY1srLV0uKi8pP2MrcGFyc2VJbnQocS5zdWJzdHJpbmcoMSksMTApOnEubWF0
Y2goL1srLV0uKi8pP3MrcGFyc2VJbnQocSwxMCk6cGFyc2VJbnQocSwxMCk7cmV0dXJuIGlzTmFO
KHEpP3M6cX07Yj1pKGdbMF0pO2c9TWF0aC5tYXgoYixpKGdbMV18fCIiKSk7Yj1lP01hdGgubWF4
KGIsCitlLmdldEZ1bGxZZWFyKCkpOmI7Zz1mP01hdGgubWluKGcsZi5nZXRGdWxsWWVhcigpKTpn
O2ZvcihhLnllYXJzaHRtbCs9JzxzZWxlY3QgY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciIgb25j
aGFuZ2U9IkRQX2pRdWVyeV8nK0IrIi5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2Eu
aWQrIicsIHRoaXMsICdZJyk7XCIgPiI7Yjw9ZztiKyspYS55ZWFyc2h0bWwrPSc8b3B0aW9uIHZh
bHVlPSInK2IrJyInKyhiPT1jPycgc2VsZWN0ZWQ9InNlbGVjdGVkIic6IiIpKyI+IitiKyI8L29w
dGlvbj4iO2EueWVhcnNodG1sKz0iPC9zZWxlY3Q+IjtrKz1hLnllYXJzaHRtbDthLnllYXJzaHRt
bD1udWxsfX1rKz10aGlzLl9nZXQoYSwieWVhclN1ZmZpeCIpO2lmKHUpays9KGh8fCEoaiYmbCk/
IiYjeGEwOyI6IiIpK287ays9IjwvZGl2PiI7cmV0dXJuIGt9LF9hZGp1c3RJbnN0RGF0ZTpmdW5j
dGlvbihhLGIsYyl7dmFyIGU9YS5kcmF3WWVhcisoYz09IlkiP2I6MCksZj1hLmRyYXdNb250aCsK
KyhjPT0iTSI/YjowKTtiPU1hdGgubWluKGEuc2VsZWN0ZWREYXksdGhpcy5fZ2V0RGF5c0luTW9u
dGgoZSxmKSkrKGM9PSJEIj9iOjApO2U9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kYXls
aWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGYsYikpKTthLnNlbGVjdGVkRGF5PWUuZ2V0RGF0
ZSgpO2EuZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1lLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1h
LnNlbGVjdGVkWWVhcj1lLmdldEZ1bGxZZWFyKCk7aWYoYz09Ik0ifHxjPT0iWSIpdGhpcy5fbm90
aWZ5Q2hhbmdlKGEpfSxfcmVzdHJpY3RNaW5NYXg6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9n
ZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtiPWMm
JmI8Yz9jOmI7cmV0dXJuIGI9YSYmYj5hP2E6Yn0sX25vdGlmeUNoYW5nZTpmdW5jdGlvbihhKXt2
YXIgYj10aGlzLl9nZXQoYSwib25DaGFuZ2VNb250aFllYXIiKTtpZihiKWIuYXBwbHkoYS5pbnB1
dD8KK2EuaW5wdXRbMF06bnVsbCxbYS5zZWxlY3RlZFllYXIsYS5zZWxlY3RlZE1vbnRoKzEsYV0p
fSxfZ2V0TnVtYmVyT2ZNb250aHM6ZnVuY3Rpb24oYSl7YT10aGlzLl9nZXQoYSwibnVtYmVyT2ZN
b250aHMiKTtyZXR1cm4gYT09bnVsbD9bMSwxXTp0eXBlb2YgYT09Im51bWJlciI/WzEsYV06YX0s
X2dldE1pbk1heERhdGU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5fZGV0ZXJtaW5lRGF0ZShh
LHRoaXMuX2dldChhLGIrIkRhdGUiKSxudWxsKX0sX2dldERheXNJbk1vbnRoOmZ1bmN0aW9uKGEs
Yil7cmV0dXJuIDMyLXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEsYiwzMikp
LmdldERhdGUoKX0sX2dldEZpcnN0RGF5T2ZNb250aDpmdW5jdGlvbihhLGIpe3JldHVybihuZXcg
RGF0ZShhLGIsMSkpLmdldERheSgpfSxfY2FuQWRqdXN0TW9udGg6ZnVuY3Rpb24oYSxiLGMsZSl7
dmFyIGY9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYSk7Yz10aGlzLl9kYXlsaWdodFNhdmluZ0Fk
anVzdChuZXcgRGF0ZShjLAorZSsoYjwwP2I6ZlswXSpmWzFdKSwxKSk7YjwwJiZjLnNldERhdGUo
dGhpcy5fZ2V0RGF5c0luTW9udGgoYy5nZXRGdWxsWWVhcigpLGMuZ2V0TW9udGgoKSkpO3JldHVy
biB0aGlzLl9pc0luUmFuZ2UoYSxjKX0sX2lzSW5SYW5nZTpmdW5jdGlvbihhLGIpe3ZhciBjPXRo
aXMuX2dldE1pbk1heERhdGUoYSwibWluIik7YT10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIp
O3JldHVybighY3x8Yi5nZXRUaW1lKCk+PWMuZ2V0VGltZSgpKSYmKCFhfHxiLmdldFRpbWUoKTw9
YS5nZXRUaW1lKCkpfSxfZ2V0Rm9ybWF0Q29uZmlnOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dl
dChhLCJzaG9ydFllYXJDdXRvZmYiKTtiPXR5cGVvZiBiIT0ic3RyaW5nIj9iOihuZXcgRGF0ZSku
Z2V0RnVsbFllYXIoKSUxMDArcGFyc2VJbnQoYiwxMCk7cmV0dXJue3Nob3J0WWVhckN1dG9mZjpi
LGRheU5hbWVzU2hvcnQ6dGhpcy5fZ2V0KGEsImRheU5hbWVzU2hvcnQiKSxkYXlOYW1lczp0aGlz
Ll9nZXQoYSwKKyJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoYSwibW9udGhO
YW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoYSwibW9udGhOYW1lcyIpfX0sX2Zvcm1h
dERhdGU6ZnVuY3Rpb24oYSxiLGMsZSl7aWYoIWIpe2EuY3VycmVudERheT1hLnNlbGVjdGVkRGF5
O2EuY3VycmVudE1vbnRoPWEuc2VsZWN0ZWRNb250aDthLmN1cnJlbnRZZWFyPWEuc2VsZWN0ZWRZ
ZWFyfWI9Yj90eXBlb2YgYj09Im9iamVjdCI/Yjp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChu
ZXcgRGF0ZShlLGMsYikpOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEuY3Vy
cmVudFllYXIsYS5jdXJyZW50TW9udGgsYS5jdXJyZW50RGF5KSk7cmV0dXJuIHRoaXMuZm9ybWF0
RGF0ZSh0aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEp
KX19KTtkLmZuLmRhdGVwaWNrZXI9ZnVuY3Rpb24oYSl7aWYoIXRoaXMubGVuZ3RoKXJldHVybiB0
aGlzOworaWYoIWQuZGF0ZXBpY2tlci5pbml0aWFsaXplZCl7ZChkb2N1bWVudCkubW91c2Vkb3du
KGQuZGF0ZXBpY2tlci5fY2hlY2tFeHRlcm5hbENsaWNrKS5maW5kKCJib2R5IikuYXBwZW5kKGQu
ZGF0ZXBpY2tlci5kcERpdik7ZC5kYXRlcGlja2VyLmluaXRpYWxpemVkPXRydWV9dmFyIGI9QXJy
YXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2lmKHR5cGVvZiBhPT0ic3RyaW5n
IiYmKGE9PSJpc0Rpc2FibGVkInx8YT09ImdldERhdGUifHxhPT0id2lkZ2V0IikpcmV0dXJuIGQu
ZGF0ZXBpY2tlclsiXyIrYSsiRGF0ZXBpY2tlciJdLmFwcGx5KGQuZGF0ZXBpY2tlcixbdGhpc1sw
XV0uY29uY2F0KGIpKTtpZihhPT0ib3B0aW9uIiYmYXJndW1lbnRzLmxlbmd0aD09MiYmdHlwZW9m
IGFyZ3VtZW50c1sxXT09InN0cmluZyIpcmV0dXJuIGQuZGF0ZXBpY2tlclsiXyIrYSsiRGF0ZXBp
Y2tlciJdLmFwcGx5KGQuZGF0ZXBpY2tlcixbdGhpc1swXV0uY29uY2F0KGIpKTtyZXR1cm4gdGhp
cy5lYWNoKGZ1bmN0aW9uKCl7dHlwZW9mIGE9PQorInN0cmluZyI/ZC5kYXRlcGlja2VyWyJfIith
KyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLFt0aGlzXS5jb25jYXQoYikpOmQuZGF0
ZXBpY2tlci5fYXR0YWNoRGF0ZXBpY2tlcih0aGlzLGEpfSl9O2QuZGF0ZXBpY2tlcj1uZXcgTTtk
LmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9ZmFsc2U7ZC5kYXRlcGlja2VyLnV1aWQ9KG5ldyBEYXRl
KS5nZXRUaW1lKCk7ZC5kYXRlcGlja2VyLnZlcnNpb249IjEuOC4xNSI7d2luZG93WyJEUF9qUXVl
cnlfIitCXT1kfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGF0ZXBpY2tlci5t
aW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGlhbG9nLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLmRpYWxvZy5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kaWFsb2cubWluLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBqUXVlcnkgVUkgRGlhbG9n
IDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVy
eXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVy
c2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0
dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGlhbG9nCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVy
eS51aS5jb3JlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKiAganF1ZXJ5LnVpLmJ1dHRv
bi5qcworICoJanF1ZXJ5LnVpLmRyYWdnYWJsZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisg
KglqcXVlcnkudWkucG9zaXRpb24uanMKKyAqCWpxdWVyeS51aS5yZXNpemFibGUuanMKKyAqLwor
KGZ1bmN0aW9uKGMsbCl7dmFyIG09e2J1dHRvbnM6dHJ1ZSxoZWlnaHQ6dHJ1ZSxtYXhIZWlnaHQ6
dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhlaWdodDp0cnVlLG1pbldpZHRoOnRydWUsd2lkdGg6dHJ1
ZX0sbj17bWF4SGVpZ2h0OnRydWUsbWF4V2lkdGg6dHJ1ZSxtaW5IZWlnaHQ6dHJ1ZSxtaW5XaWR0
aDp0cnVlfSxvPWMuYXR0ckZufHx7dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVlLHRleHQ6dHJ1
ZSxkYXRhOnRydWUsd2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZSxjbGljazp0cnVl
fTtjLndpZGdldCgidWkuZGlhbG9nIix7b3B0aW9uczp7YXV0b09wZW46dHJ1ZSxidXR0b25zOnt9
LGNsb3NlT25Fc2NhcGU6dHJ1ZSxjbG9zZVRleHQ6ImNsb3NlIixkaWFsb2dDbGFzczoiIixkcmFn
Z2FibGU6dHJ1ZSxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6ZmFsc2UsbWF4V2lk
dGg6ZmFsc2UsbWluSGVpZ2h0OjE1MCxtaW5XaWR0aDoxNTAsbW9kYWw6ZmFsc2UsCitwb3NpdGlv
bjp7bXk6ImNlbnRlciIsYXQ6ImNlbnRlciIsY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9u
KGEpe3ZhciBiPWModGhpcykuY3NzKGEpLm9mZnNldCgpLnRvcDtiPDAmJmModGhpcykuY3NzKCJ0
b3AiLGEudG9wLWIpfX0scmVzaXphYmxlOnRydWUsc2hvdzpudWxsLHN0YWNrOnRydWUsdGl0bGU6
IiIsd2lkdGg6MzAwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFs
VGl0bGU9dGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIik7aWYodHlwZW9mIHRoaXMub3JpZ2luYWxU
aXRsZSE9PSJzdHJpbmciKXRoaXMub3JpZ2luYWxUaXRsZT0iIjt0aGlzLm9wdGlvbnMudGl0bGU9
dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0bGU7dmFyIGE9dGhpcyxiPWEub3B0
aW9ucyxkPWIudGl0bGV8fCImIzE2MDsiLGU9Yy51aS5kaWFsb2cuZ2V0VGl0bGVJZChhLmVsZW1l
bnQpLGc9KGEudWlEaWFsb2c9YygiPGRpdj48L2Rpdj4iKSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9k
eSkuaGlkZSgpLmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50
IHVpLWNvcm5lci1hbGwgIisKK2IuZGlhbG9nQ2xhc3MpLmNzcyh7ekluZGV4OmIuekluZGV4fSku
YXR0cigidGFiSW5kZXgiLC0xKS5jc3MoIm91dGxpbmUiLDApLmtleWRvd24oZnVuY3Rpb24oaSl7
aWYoYi5jbG9zZU9uRXNjYXBlJiZpLmtleUNvZGUmJmkua2V5Q29kZT09PWMudWkua2V5Q29kZS5F
U0NBUEUpe2EuY2xvc2UoaSk7aS5wcmV2ZW50RGVmYXVsdCgpfX0pLmF0dHIoe3JvbGU6ImRpYWxv
ZyIsImFyaWEtbGFiZWxsZWRieSI6ZX0pLm1vdXNlZG93bihmdW5jdGlvbihpKXthLm1vdmVUb1Rv
cChmYWxzZSxpKX0pO2EuZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUiKS5hZGRDbGFz
cygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5hcHBlbmRUbyhnKTt2YXIg
Zj0oYS51aURpYWxvZ1RpdGxlYmFyPWMoIjxkaXY+PC9kaXY+IikpLmFkZENsYXNzKCJ1aS1kaWFs
b2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIHVpLWhlbHBlci1jbGVh
cmZpeCIpLnByZXBlbmRUbyhnKSwKK2g9YygnPGEgaHJlZj0iIyI+PC9hPicpLmFkZENsYXNzKCJ1
aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJidXR0
b24iKS5ob3ZlcihmdW5jdGlvbigpe2guYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9LGZ1bmN0
aW9uKCl7aC5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmZvY3VzKGZ1bmN0aW9uKCl7
aC5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJsdXIoZnVuY3Rpb24oKXtoLnJlbW92ZUNs
YXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuY2xpY2soZnVuY3Rpb24oaSl7YS5jbG9zZShpKTtyZXR1
cm4gZmFsc2V9KS5hcHBlbmRUbyhmKTsoYS51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0PWMoIjxz
cGFuPjwvc3Bhbj4iKSkuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIikudGV4
dChiLmNsb3NlVGV4dCkuYXBwZW5kVG8oaCk7YygiPHNwYW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1
aS1kaWFsb2ctdGl0bGUiKS5hdHRyKCJpZCIsCitlKS5odG1sKGQpLnByZXBlbmRUbyhmKTtpZihj
LmlzRnVuY3Rpb24oYi5iZWZvcmVjbG9zZSkmJiFjLmlzRnVuY3Rpb24oYi5iZWZvcmVDbG9zZSkp
Yi5iZWZvcmVDbG9zZT1iLmJlZm9yZWNsb3NlO2YuZmluZCgiKiIpLmFkZChmKS5kaXNhYmxlU2Vs
ZWN0aW9uKCk7Yi5kcmFnZ2FibGUmJmMuZm4uZHJhZ2dhYmxlJiZhLl9tYWtlRHJhZ2dhYmxlKCk7
Yi5yZXNpemFibGUmJmMuZm4ucmVzaXphYmxlJiZhLl9tYWtlUmVzaXphYmxlKCk7YS5fY3JlYXRl
QnV0dG9ucyhiLmJ1dHRvbnMpO2EuX2lzT3Blbj1mYWxzZTtjLmZuLmJnaWZyYW1lJiZnLmJnaWZy
YW1lKCl9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmF1dG9PcGVuJiZ0aGlzLm9wZW4o
KX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBhPXRoaXM7YS5vdmVybGF5JiZhLm92ZXJsYXkuZGVz
dHJveSgpO2EudWlEaWFsb2cuaGlkZSgpO2EuZWxlbWVudC51bmJpbmQoIi5kaWFsb2ciKS5yZW1v
dmVEYXRhKCJkaWFsb2ciKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0
LWNvbnRlbnQiKS5oaWRlKCkuYXBwZW5kVG8oImJvZHkiKTsKK2EudWlEaWFsb2cucmVtb3ZlKCk7
YS5vcmlnaW5hbFRpdGxlJiZhLmVsZW1lbnQuYXR0cigidGl0bGUiLGEub3JpZ2luYWxUaXRsZSk7
cmV0dXJuIGF9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVpRGlhbG9nfSxjbG9zZTpm
dW5jdGlvbihhKXt2YXIgYj10aGlzLGQsZTtpZihmYWxzZSE9PWIuX3RyaWdnZXIoImJlZm9yZUNs
b3NlIixhKSl7Yi5vdmVybGF5JiZiLm92ZXJsYXkuZGVzdHJveSgpO2IudWlEaWFsb2cudW5iaW5k
KCJrZXlwcmVzcy51aS1kaWFsb2ciKTtiLl9pc09wZW49ZmFsc2U7aWYoYi5vcHRpb25zLmhpZGUp
Yi51aURpYWxvZy5oaWRlKGIub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7Yi5fdHJpZ2dlcigiY2xv
c2UiLGEpfSk7ZWxzZXtiLnVpRGlhbG9nLmhpZGUoKTtiLl90cmlnZ2VyKCJjbG9zZSIsYSl9Yy51
aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKTtpZihiLm9wdGlvbnMubW9kYWwpe2Q9MDtjKCIudWkt
ZGlhbG9nIikuZWFjaChmdW5jdGlvbigpe2lmKHRoaXMhPT0KK2IudWlEaWFsb2dbMF0pe2U9Yyh0
aGlzKS5jc3MoInotaW5kZXgiKTtpc05hTihlKXx8KGQ9TWF0aC5tYXgoZCxlKSl9fSk7Yy51aS5k
aWFsb2cubWF4Wj1kfXJldHVybiBifX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lz
T3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxlPWQub3B0aW9ucztpZihl
Lm1vZGFsJiYhYXx8IWUuc3RhY2smJiFlLm1vZGFsKXJldHVybiBkLl90cmlnZ2VyKCJmb2N1cyIs
Yik7aWYoZS56SW5kZXg+Yy51aS5kaWFsb2cubWF4WiljLnVpLmRpYWxvZy5tYXhaPWUuekluZGV4
O2lmKGQub3ZlcmxheSl7Yy51aS5kaWFsb2cubWF4Wis9MTtkLm92ZXJsYXkuJGVsLmNzcygiei1p
bmRleCIsYy51aS5kaWFsb2cub3ZlcmxheS5tYXhaPWMudWkuZGlhbG9nLm1heFopfWE9e3Njcm9s
bFRvcDpkLmVsZW1lbnQuc2Nyb2xsVG9wKCksc2Nyb2xsTGVmdDpkLmVsZW1lbnQuc2Nyb2xsTGVm
dCgpfTtjLnVpLmRpYWxvZy5tYXhaKz0xOworZC51aURpYWxvZy5jc3MoInotaW5kZXgiLGMudWku
ZGlhbG9nLm1heFopO2QuZWxlbWVudC5hdHRyKGEpO2QuX3RyaWdnZXIoImZvY3VzIixiKTtyZXR1
cm4gZH0sb3BlbjpmdW5jdGlvbigpe2lmKCF0aGlzLl9pc09wZW4pe3ZhciBhPXRoaXMsYj1hLm9w
dGlvbnMsZD1hLnVpRGlhbG9nO2Eub3ZlcmxheT1iLm1vZGFsP25ldyBjLnVpLmRpYWxvZy5vdmVy
bGF5KGEpOm51bGw7YS5fc2l6ZSgpO2EuX3Bvc2l0aW9uKGIucG9zaXRpb24pO2Quc2hvdyhiLnNo
b3cpO2EubW92ZVRvVG9wKHRydWUpO2IubW9kYWwmJmQuYmluZCgia2V5cHJlc3MudWktZGlhbG9n
IixmdW5jdGlvbihlKXtpZihlLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuVEFCKXt2YXIgZz1jKCI6
dGFiYmFibGUiLHRoaXMpLGY9Zy5maWx0ZXIoIjpmaXJzdCIpO2c9Zy5maWx0ZXIoIjpsYXN0Iik7
aWYoZS50YXJnZXQ9PT1nWzBdJiYhZS5zaGlmdEtleSl7Zi5mb2N1cygxKTtyZXR1cm4gZmFsc2V9
ZWxzZSBpZihlLnRhcmdldD09PQorZlswXSYmZS5zaGlmdEtleSl7Zy5mb2N1cygxKTtyZXR1cm4g
ZmFsc2V9fX0pO2MoYS5lbGVtZW50LmZpbmQoIjp0YWJiYWJsZSIpLmdldCgpLmNvbmNhdChkLmZp
bmQoIi51aS1kaWFsb2ctYnV0dG9ucGFuZSA6dGFiYmFibGUiKS5nZXQoKS5jb25jYXQoZC5nZXQo
KSkpKS5lcSgwKS5mb2N1cygpO2EuX2lzT3Blbj10cnVlO2EuX3RyaWdnZXIoIm9wZW4iKTtyZXR1
cm4gYX19LF9jcmVhdGVCdXR0b25zOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsZD1mYWxzZSxlPWMo
IjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWRpYWxvZy1idXR0b25wYW5lIHVpLXdpZGdldC1j
b250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCIpLGc9YygiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygi
dWktZGlhbG9nLWJ1dHRvbnNldCIpLmFwcGVuZFRvKGUpO2IudWlEaWFsb2cuZmluZCgiLnVpLWRp
YWxvZy1idXR0b25wYW5lIikucmVtb3ZlKCk7dHlwZW9mIGE9PT0ib2JqZWN0IiYmYSE9PW51bGwm
JmMuZWFjaChhLAorZnVuY3Rpb24oKXtyZXR1cm4hKGQ9dHJ1ZSl9KTtpZihkKXtjLmVhY2goYSxm
dW5jdGlvbihmLGgpe2g9Yy5pc0Z1bmN0aW9uKGgpP3tjbGljazpoLHRleHQ6Zn06aDt2YXIgaT1j
KCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0b24+JykuY2xpY2soZnVuY3Rpb24oKXtoLmNs
aWNrLmFwcGx5KGIuZWxlbWVudFswXSxhcmd1bWVudHMpfSkuYXBwZW5kVG8oZyk7Yy5lYWNoKGgs
ZnVuY3Rpb24oaixrKXtpZihqIT09ImNsaWNrIilqIGluIG8/aVtqXShrKTppLmF0dHIoaixrKX0p
O2MuZm4uYnV0dG9uJiZpLmJ1dHRvbigpfSk7ZS5hcHBlbmRUbyhiLnVpRGlhbG9nKX19LF9tYWtl
RHJhZ2dhYmxlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXtyZXR1cm57cG9zaXRpb246Zi5wb3Np
dGlvbixvZmZzZXQ6Zi5vZmZzZXR9fXZhciBiPXRoaXMsZD1iLm9wdGlvbnMsZT1jKGRvY3VtZW50
KSxnO2IudWlEaWFsb2cuZHJhZ2dhYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCwgLnVp
LWRpYWxvZy10aXRsZWJhci1jbG9zZSIsCitoYW5kbGU6Ii51aS1kaWFsb2ctdGl0bGViYXIiLGNv
bnRhaW5tZW50OiJkb2N1bWVudCIsc3RhcnQ6ZnVuY3Rpb24oZixoKXtnPWQuaGVpZ2h0PT09ImF1
dG8iPyJhdXRvIjpjKHRoaXMpLmhlaWdodCgpO2ModGhpcykuaGVpZ2h0KGModGhpcykuaGVpZ2h0
KCkpLmFkZENsYXNzKCJ1aS1kaWFsb2ctZHJhZ2dpbmciKTtiLl90cmlnZ2VyKCJkcmFnU3RhcnQi
LGYsYShoKSl9LGRyYWc6ZnVuY3Rpb24oZixoKXtiLl90cmlnZ2VyKCJkcmFnIixmLGEoaCkpfSxz
dG9wOmZ1bmN0aW9uKGYsaCl7ZC5wb3NpdGlvbj1baC5wb3NpdGlvbi5sZWZ0LWUuc2Nyb2xsTGVm
dCgpLGgucG9zaXRpb24udG9wLWUuc2Nyb2xsVG9wKCldO2ModGhpcykucmVtb3ZlQ2xhc3MoInVp
LWRpYWxvZy1kcmFnZ2luZyIpLmhlaWdodChnKTtiLl90cmlnZ2VyKCJkcmFnU3RvcCIsZixhKGgp
KTtjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pfSxfbWFrZVJlc2l6YWJsZTpmdW5jdGlv
bihhKXtmdW5jdGlvbiBiKGYpe3JldHVybntvcmlnaW5hbFBvc2l0aW9uOmYub3JpZ2luYWxQb3Np
dGlvbiwKK29yaWdpbmFsU2l6ZTpmLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjpmLnBvc2l0aW9uLHNp
emU6Zi5zaXplfX1hPWE9PT1sP3RoaXMub3B0aW9ucy5yZXNpemFibGU6YTt2YXIgZD10aGlzLGU9
ZC5vcHRpb25zLGc9ZC51aURpYWxvZy5jc3MoInBvc2l0aW9uIik7YT10eXBlb2YgYT09PSJzdHJp
bmciP2E6Im4sZSxzLHcsc2Usc3csbmUsbnciO2QudWlEaWFsb2cucmVzaXphYmxlKHtjYW5jZWw6
Ii51aS1kaWFsb2ctY29udGVudCIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixhbHNvUmVzaXplOmQu
ZWxlbWVudCxtYXhXaWR0aDplLm1heFdpZHRoLG1heEhlaWdodDplLm1heEhlaWdodCxtaW5XaWR0
aDplLm1pbldpZHRoLG1pbkhlaWdodDpkLl9taW5IZWlnaHQoKSxoYW5kbGVzOmEsc3RhcnQ6ZnVu
Y3Rpb24oZixoKXtjKHRoaXMpLmFkZENsYXNzKCJ1aS1kaWFsb2ctcmVzaXppbmciKTtkLl90cmln
Z2VyKCJyZXNpemVTdGFydCIsZixiKGgpKX0scmVzaXplOmZ1bmN0aW9uKGYsaCl7ZC5fdHJpZ2dl
cigicmVzaXplIiwKK2YsYihoKSl9LHN0b3A6ZnVuY3Rpb24oZixoKXtjKHRoaXMpLnJlbW92ZUNs
YXNzKCJ1aS1kaWFsb2ctcmVzaXppbmciKTtlLmhlaWdodD1jKHRoaXMpLmhlaWdodCgpO2Uud2lk
dGg9Yyh0aGlzKS53aWR0aCgpO2QuX3RyaWdnZXIoInJlc2l6ZVN0b3AiLGYsYihoKSk7Yy51aS5k
aWFsb2cub3ZlcmxheS5yZXNpemUoKX19KS5jc3MoInBvc2l0aW9uIixnKS5maW5kKCIudWktcmVz
aXphYmxlLXNlIikuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIil9
LF9taW5IZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7cmV0dXJuIGEuaGVpZ2h0
PT09ImF1dG8iP2EubWluSGVpZ2h0Ok1hdGgubWluKGEubWluSGVpZ2h0LGEuaGVpZ2h0KX0sX3Bv
c2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBiPVtdLGQ9WzAsMF0sZTtpZihhKXtpZih0eXBlb2YgYT09
PSJzdHJpbmcifHx0eXBlb2YgYT09PSJvYmplY3QiJiYiMCJpbiBhKXtiPWEuc3BsaXQ/YS5zcGxp
dCgiICIpOgorW2FbMF0sYVsxXV07aWYoYi5sZW5ndGg9PT0xKWJbMV09YlswXTtjLmVhY2goWyJs
ZWZ0IiwidG9wIl0sZnVuY3Rpb24oZyxmKXtpZigrYltnXT09PWJbZ10pe2RbZ109YltnXTtiW2dd
PWZ9fSk7YT17bXk6Yi5qb2luKCIgIiksYXQ6Yi5qb2luKCIgIiksb2Zmc2V0OmQuam9pbigiICIp
fX1hPWMuZXh0ZW5kKHt9LGMudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBvc2l0aW9uLGEp
fWVsc2UgYT1jLnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbjsoZT10aGlzLnVp
RGlhbG9nLmlzKCI6dmlzaWJsZSIpKXx8dGhpcy51aURpYWxvZy5zaG93KCk7dGhpcy51aURpYWxv
Zy5jc3Moe3RvcDowLGxlZnQ6MH0pLnBvc2l0aW9uKGMuZXh0ZW5kKHtvZjp3aW5kb3d9LGEpKTtl
fHx0aGlzLnVpRGlhbG9nLmhpZGUoKX0sX3NldE9wdGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhp
cyxkPXt9LGU9ZmFsc2U7Yy5lYWNoKGEsZnVuY3Rpb24oZyxmKXtiLl9zZXRPcHRpb24oZyxmKTsK
K2lmKGcgaW4gbSllPXRydWU7aWYoZyBpbiBuKWRbZ109Zn0pO2UmJnRoaXMuX3NpemUoKTt0aGlz
LnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cucmVzaXphYmxl
KCJvcHRpb24iLGQpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxlPWQudWlE
aWFsb2c7c3dpdGNoKGEpe2Nhc2UgImJlZm9yZWNsb3NlIjphPSJiZWZvcmVDbG9zZSI7YnJlYWs7
Y2FzZSAiYnV0dG9ucyI6ZC5fY3JlYXRlQnV0dG9ucyhiKTticmVhaztjYXNlICJjbG9zZVRleHQi
OmQudWlEaWFsb2dUaXRsZWJhckNsb3NlVGV4dC50ZXh0KCIiK2IpO2JyZWFrO2Nhc2UgImRpYWxv
Z0NsYXNzIjplLnJlbW92ZUNsYXNzKGQub3B0aW9ucy5kaWFsb2dDbGFzcykuYWRkQ2xhc3MoInVp
LWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCAiK2IpO2Jy
ZWFrO2Nhc2UgImRpc2FibGVkIjpiP2UuYWRkQ2xhc3MoInVpLWRpYWxvZy1kaXNhYmxlZCIpOgor
ZS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik7YnJlYWs7Y2FzZSAiZHJhZ2dhYmxl
Ijp2YXIgZz1lLmlzKCI6ZGF0YShkcmFnZ2FibGUpIik7ZyYmIWImJmUuZHJhZ2dhYmxlKCJkZXN0
cm95Iik7IWcmJmImJmQuX21ha2VEcmFnZ2FibGUoKTticmVhaztjYXNlICJwb3NpdGlvbiI6ZC5f
cG9zaXRpb24oYik7YnJlYWs7Y2FzZSAicmVzaXphYmxlIjooZz1lLmlzKCI6ZGF0YShyZXNpemFi
bGUpIikpJiYhYiYmZS5yZXNpemFibGUoImRlc3Ryb3kiKTtnJiZ0eXBlb2YgYj09PSJzdHJpbmci
JiZlLnJlc2l6YWJsZSgib3B0aW9uIiwiaGFuZGxlcyIsYik7IWcmJmIhPT1mYWxzZSYmZC5fbWFr
ZVJlc2l6YWJsZShiKTticmVhaztjYXNlICJ0aXRsZSI6YygiLnVpLWRpYWxvZy10aXRsZSIsZC51
aURpYWxvZ1RpdGxlYmFyKS5odG1sKCIiKyhifHwiJiMxNjA7IikpO2JyZWFrfWMuV2lkZ2V0LnBy
b3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KGQsYXJndW1lbnRzKX0sX3NpemU6ZnVuY3Rpb24oKXt2
YXIgYT0KK3RoaXMub3B0aW9ucyxiLGQsZT10aGlzLnVpRGlhbG9nLmlzKCI6dmlzaWJsZSIpO3Ro
aXMuZWxlbWVudC5zaG93KCkuY3NzKHt3aWR0aDoiYXV0byIsbWluSGVpZ2h0OjAsaGVpZ2h0OjB9
KTtpZihhLm1pbldpZHRoPmEud2lkdGgpYS53aWR0aD1hLm1pbldpZHRoO2I9dGhpcy51aURpYWxv
Zy5jc3Moe2hlaWdodDoiYXV0byIsd2lkdGg6YS53aWR0aH0pLmhlaWdodCgpO2Q9TWF0aC5tYXgo
MCxhLm1pbkhlaWdodC1iKTtpZihhLmhlaWdodD09PSJhdXRvIilpZihjLnN1cHBvcnQubWluSGVp
Z2h0KXRoaXMuZWxlbWVudC5jc3Moe21pbkhlaWdodDpkLGhlaWdodDoiYXV0byJ9KTtlbHNle3Ro
aXMudWlEaWFsb2cuc2hvdygpO2E9dGhpcy5lbGVtZW50LmNzcygiaGVpZ2h0IiwiYXV0byIpLmhl
aWdodCgpO2V8fHRoaXMudWlEaWFsb2cuaGlkZSgpO3RoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5t
YXgoYSxkKSl9ZWxzZSB0aGlzLmVsZW1lbnQuaGVpZ2h0KE1hdGgubWF4KGEuaGVpZ2h0LQorYiww
KSk7dGhpcy51aURpYWxvZy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJl
c2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9fSk7Yy5leHRl
bmQoYy51aS5kaWFsb2cse3ZlcnNpb246IjEuOC4xNSIsdXVpZDowLG1heFo6MCxnZXRUaXRsZUlk
OmZ1bmN0aW9uKGEpe2E9YS5hdHRyKCJpZCIpO2lmKCFhKXt0aGlzLnV1aWQrPTE7YT10aGlzLnV1
aWR9cmV0dXJuInVpLWRpYWxvZy10aXRsZS0iK2F9LG92ZXJsYXk6ZnVuY3Rpb24oYSl7dGhpcy4k
ZWw9Yy51aS5kaWFsb2cub3ZlcmxheS5jcmVhdGUoYSl9fSk7Yy5leHRlbmQoYy51aS5kaWFsb2cu
b3ZlcmxheSx7aW5zdGFuY2VzOltdLG9sZEluc3RhbmNlczpbXSxtYXhaOjAsZXZlbnRzOmMubWFw
KCJmb2N1cyxtb3VzZWRvd24sbW91c2V1cCxrZXlkb3duLGtleXByZXNzLGNsaWNrIi5zcGxpdCgi
LCIpLGZ1bmN0aW9uKGEpe3JldHVybiBhKyIuZGlhbG9nLW92ZXJsYXkifSkuam9pbigiICIpLAor
Y3JlYXRlOmZ1bmN0aW9uKGEpe2lmKHRoaXMuaW5zdGFuY2VzLmxlbmd0aD09PTApe3NldFRpbWVv
dXQoZnVuY3Rpb24oKXtjLnVpLmRpYWxvZy5vdmVybGF5Lmluc3RhbmNlcy5sZW5ndGgmJmMoZG9j
dW1lbnQpLmJpbmQoYy51aS5kaWFsb2cub3ZlcmxheS5ldmVudHMsZnVuY3Rpb24oZCl7aWYoYyhk
LnRhcmdldCkuekluZGV4KCk8Yy51aS5kaWFsb2cub3ZlcmxheS5tYXhaKXJldHVybiBmYWxzZX0p
fSwxKTtjKGRvY3VtZW50KS5iaW5kKCJrZXlkb3duLmRpYWxvZy1vdmVybGF5IixmdW5jdGlvbihk
KXtpZihhLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmZC5rZXlDb2RlJiZkLmtleUNvZGU9PT1jLnVp
LmtleUNvZGUuRVNDQVBFKXthLmNsb3NlKGQpO2QucHJldmVudERlZmF1bHQoKX19KTtjKHdpbmRv
dykuYmluZCgicmVzaXplLmRpYWxvZy1vdmVybGF5IixjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6
ZSl9dmFyIGI9KHRoaXMub2xkSW5zdGFuY2VzLnBvcCgpfHxjKCI8ZGl2PjwvZGl2PiIpLmFkZENs
YXNzKCJ1aS13aWRnZXQtb3ZlcmxheSIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5jc3Moe3dp
ZHRoOnRoaXMud2lkdGgoKSwKK2hlaWdodDp0aGlzLmhlaWdodCgpfSk7Yy5mbi5iZ2lmcmFtZSYm
Yi5iZ2lmcmFtZSgpO3RoaXMuaW5zdGFuY2VzLnB1c2goYik7cmV0dXJuIGJ9LGRlc3Ryb3k6ZnVu
Y3Rpb24oYSl7dmFyIGI9Yy5pbkFycmF5KGEsdGhpcy5pbnN0YW5jZXMpO2IhPS0xJiZ0aGlzLm9s
ZEluc3RhbmNlcy5wdXNoKHRoaXMuaW5zdGFuY2VzLnNwbGljZShiLDEpWzBdKTt0aGlzLmluc3Rh
bmNlcy5sZW5ndGg9PT0wJiZjKFtkb2N1bWVudCx3aW5kb3ddKS51bmJpbmQoIi5kaWFsb2ctb3Zl
cmxheSIpO2EucmVtb3ZlKCk7dmFyIGQ9MDtjLmVhY2godGhpcy5pbnN0YW5jZXMsZnVuY3Rpb24o
KXtkPU1hdGgubWF4KGQsdGhpcy5jc3MoInotaW5kZXgiKSl9KTt0aGlzLm1heFo9ZH0saGVpZ2h0
OmZ1bmN0aW9uKCl7dmFyIGEsYjtpZihjLmJyb3dzZXIubXNpZSYmYy5icm93c2VyLnZlcnNpb248
Nyl7YT1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KTsKK2I9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCk7cmV0dXJuIGE8Yj9j
KHdpbmRvdykuaGVpZ2h0KCkrInB4IjphKyJweCJ9ZWxzZSByZXR1cm4gYyhkb2N1bWVudCkuaGVp
Z2h0KCkrInB4In0sd2lkdGg6ZnVuY3Rpb24oKXt2YXIgYSxiO2lmKGMuYnJvd3Nlci5tc2llKXth
PU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCxkb2N1bWVudC5i
b2R5LnNjcm9sbFdpZHRoKTtiPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZz
ZXRXaWR0aCxkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKTtyZXR1cm4gYTxiP2Mod2luZG93KS53
aWR0aCgpKyJweCI6YSsicHgifWVsc2UgcmV0dXJuIGMoZG9jdW1lbnQpLndpZHRoKCkrInB4In0s
cmVzaXplOmZ1bmN0aW9uKCl7dmFyIGE9YyhbXSk7Yy5lYWNoKGMudWkuZGlhbG9nLm92ZXJsYXku
aW5zdGFuY2VzLGZ1bmN0aW9uKCl7YT0KK2EuYWRkKHRoaXMpfSk7YS5jc3Moe3dpZHRoOjAsaGVp
Z2h0OjB9KS5jc3Moe3dpZHRoOmMudWkuZGlhbG9nLm92ZXJsYXkud2lkdGgoKSxoZWlnaHQ6Yy51
aS5kaWFsb2cub3ZlcmxheS5oZWlnaHQoKX0pfX0pO2MuZXh0ZW5kKGMudWkuZGlhbG9nLm92ZXJs
YXkucHJvdG90eXBlLHtkZXN0cm95OmZ1bmN0aW9uKCl7Yy51aS5kaWFsb2cub3ZlcmxheS5kZXN0
cm95KHRoaXMuJGVsKX19KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxv
Zy5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZHJhZ2dhYmxlLm1pbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kcmFn
Z2FibGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBqUXVl
cnkgVUkgRHJhZ2dhYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRHJhZ2dhYmxlcworICoKKyAq
IERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisg
KglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihkKXtkLndpZGdldCgidWkuZHJh
Z2dhYmxlIixkLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoiZHJhZyIsb3B0aW9uczp7YWRk
Q2xhc3Nlczp0cnVlLGFwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFsc2UsY29ubmVjdFRvU29ydGFi
bGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDpmYWxzZSxn
cmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFsIixpZnJhbWVGaXg6ZmFsc2Us
b3BhY2l0eTpmYWxzZSxyZWZyZXNoUG9zaXRpb25zOmZhbHNlLHJldmVydDpmYWxzZSxyZXZlcnRE
dXJhdGlvbjo1MDAsc2NvcGU6ImRlZmF1bHQiLHNjcm9sbDp0cnVlLHNjcm9sbFNlbnNpdGl2aXR5
OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ZmFsc2Usc25hcE1vZGU6ImJvdGgiLHNuYXBUb2xlcmFu
Y2U6MjAsc3RhY2s6ZmFsc2UsekluZGV4OmZhbHNlfSxfY3JlYXRlOmZ1bmN0aW9uKCl7aWYodGhp
cy5vcHRpb25zLmhlbHBlcj09Cisib3JpZ2luYWwiJiYhL14oPzpyfGF8ZikvLnRlc3QodGhpcy5l
bGVtZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBdLnN0eWxlLnBvc2l0aW9uPSJy
ZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygi
dWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRkQ2xh
c3MoInVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1
bmN0aW9uKCl7aWYodGhpcy5lbGVtZW50LmRhdGEoImRyYWdnYWJsZSIpKXt0aGlzLmVsZW1lbnQu
cmVtb3ZlRGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dhYmxlIikucmVtb3ZlQ2xhc3Mo
InVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2FibGVk
Iik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9fSxfbW91c2VDYXB0dXJlOmZ1bmN0
aW9uKGEpe3ZhciBiPQordGhpcy5vcHRpb25zO2lmKHRoaXMuaGVscGVyfHxiLmRpc2FibGVkfHxk
KGEudGFyZ2V0KS5pcygiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSlyZXR1cm4gZmFsc2U7dGhpcy5o
YW5kbGU9dGhpcy5fZ2V0SGFuZGxlKGEpO2lmKCF0aGlzLmhhbmRsZSlyZXR1cm4gZmFsc2U7ZChi
LmlmcmFtZUZpeD09PXRydWU/ImlmcmFtZSI6Yi5pZnJhbWVGaXgpLmVhY2goZnVuY3Rpb24oKXtk
KCc8ZGl2IGNsYXNzPSJ1aS1kcmFnZ2FibGUtaWZyYW1lRml4IiBzdHlsZT0iYmFja2dyb3VuZDog
I2ZmZjsiPjwvZGl2PicpLmNzcyh7d2lkdGg6dGhpcy5vZmZzZXRXaWR0aCsicHgiLGhlaWdodDp0
aGlzLm9mZnNldEhlaWdodCsicHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsb3BhY2l0eToiMC4wMDEi
LHpJbmRleDoxRTN9KS5jc3MoZCh0aGlzKS5vZmZzZXQoKSkuYXBwZW5kVG8oImJvZHkiKX0pO3Jl
dHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnM7dGhp
cy5oZWxwZXI9Cit0aGlzLl9jcmVhdGVIZWxwZXIoYSk7dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0
aW9ucygpO2lmKGQudWkuZGRtYW5hZ2VyKWQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpczt0aGlz
Ll9jYWNoZU1hcmdpbnMoKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRp
b24iKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9m
ZnNldD10aGlzLnBvc2l0aW9uQWJzPXRoaXMuZWxlbWVudC5vZmZzZXQoKTt0aGlzLm9mZnNldD17
dG9wOnRoaXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5vZmZzZXQubGVm
dC10aGlzLm1hcmdpbnMubGVmdH07ZC5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0OmEu
cGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVu
dDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNl
dCgpfSk7Cit0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0
ZVBvc2l0aW9uKGEpO3RoaXMub3JpZ2luYWxQYWdlWD1hLnBhZ2VYO3RoaXMub3JpZ2luYWxQYWdl
WT1hLnBhZ2VZO2IuY3Vyc29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoYi5jdXJz
b3JBdCk7Yi5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1lbnQoKTtpZih0aGlzLl90cmln
Z2VyKCJzdGFydCIsYSk9PT1mYWxzZSl7dGhpcy5fY2xlYXIoKTtyZXR1cm4gZmFsc2V9dGhpcy5f
Y2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2QudWkuZGRtYW5hZ2VyJiYhYi5kcm9wQmVoYXZpb3Vy
JiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGEpO3RoaXMuaGVscGVyLmFkZENs
YXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLl9tb3VzZURyYWcoYSx0cnVlKTtkLnVp
LmRkbWFuYWdlciYmZC51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsYSk7cmV0dXJuIHRydWV9
LAorX21vdXNlRHJhZzpmdW5jdGlvbihhLGIpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQ
b3NpdGlvbihhKTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNv
bHV0ZSIpO2lmKCFiKXtiPXRoaXMuX3VpSGFzaCgpO2lmKHRoaXMuX3RyaWdnZXIoImRyYWciLGEs
Yik9PT1mYWxzZSl7dGhpcy5fbW91c2VVcCh7fSk7cmV0dXJuIGZhbHNlfXRoaXMucG9zaXRpb249
Yi5wb3NpdGlvbn1pZighdGhpcy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieSIp
dGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9uLmxlZnQrInB4IjtpZighdGhp
cy5vcHRpb25zLmF4aXN8fHRoaXMub3B0aW9ucy5heGlzIT0ieCIpdGhpcy5oZWxwZXJbMF0uc3R5
bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5h
Z2VyLmRyYWcodGhpcyxhKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYSl7dmFy
IGI9CitmYWxzZTtpZihkLnVpLmRkbWFuYWdlciYmIXRoaXMub3B0aW9ucy5kcm9wQmVoYXZpb3Vy
KWI9ZC51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGEpO2lmKHRoaXMuZHJvcHBlZCl7Yj10aGlzLmRy
b3BwZWQ7dGhpcy5kcm9wcGVkPWZhbHNlfWlmKCghdGhpcy5lbGVtZW50WzBdfHwhdGhpcy5lbGVt
ZW50WzBdLnBhcmVudE5vZGUpJiZ0aGlzLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwiKXJldHVy
biBmYWxzZTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0PT0iaW52YWxpZCImJiFifHx0aGlzLm9wdGlv
bnMucmV2ZXJ0PT0idmFsaWQiJiZifHx0aGlzLm9wdGlvbnMucmV2ZXJ0PT09dHJ1ZXx8ZC5pc0Z1
bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwodGhp
cy5lbGVtZW50LGIpKXt2YXIgYz10aGlzO2QodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmln
aW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwKKzEwKSxm
dW5jdGlvbigpe2MuX3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2UmJmMuX2NsZWFyKCl9KX1lbHNl
IHRoaXMuX3RyaWdnZXIoInN0b3AiLGEpIT09ZmFsc2UmJnRoaXMuX2NsZWFyKCk7cmV0dXJuIGZh
bHNlfSxfbW91c2VVcDpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnMuaWZyYW1lRml4PT09dHJ1ZSYm
ZCgiZGl2LnVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5wYXJl
bnROb2RlLnJlbW92ZUNoaWxkKHRoaXMpfSk7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5hZ2Vy
LmRyYWdTdG9wKHRoaXMsYSk7cmV0dXJuIGQudWkubW91c2UucHJvdG90eXBlLl9tb3VzZVVwLmNh
bGwodGhpcyxhKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIuaXMoIi51aS1kcmFnZ2Fi
bGUtZHJhZ2dpbmciKT90aGlzLl9tb3VzZVVwKHt9KTp0aGlzLl9jbGVhcigpO3JldHVybiB0aGlz
fSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPSF0aGlzLm9wdGlvbnMuaGFuZGxlfHwKKyFk
KHRoaXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5sZW5ndGg/dHJ1ZTpmYWxzZTtkKHRo
aXMub3B0aW9ucy5oYW5kbGUsdGhpcy5lbGVtZW50KS5maW5kKCIqIikuYW5kU2VsZigpLmVhY2go
ZnVuY3Rpb24oKXtpZih0aGlzPT1hLnRhcmdldCliPXRydWV9KTtyZXR1cm4gYn0sX2NyZWF0ZUhl
bHBlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnM7YT1kLmlzRnVuY3Rpb24oYi5oZWxw
ZXIpP2QoYi5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFthXSkpOmIuaGVscGVyPT0iY2xv
bmUiP3RoaXMuZWxlbWVudC5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIik6dGhpcy5lbGVtZW50O2Eu
cGFyZW50cygiYm9keSIpLmxlbmd0aHx8YS5hcHBlbmRUbyhiLmFwcGVuZFRvPT0icGFyZW50Ij90
aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTpiLmFwcGVuZFRvKTthWzBdIT10aGlzLmVsZW1lbnRb
MF0mJiEvKGZpeGVkfGFic29sdXRlKS8udGVzdChhLmNzcygicG9zaXRpb24iKSkmJgorYS5jc3Mo
InBvc2l0aW9uIiwiYWJzb2x1dGUiKTtyZXR1cm4gYX0sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6
ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKWE9YS5zcGxpdCgiICIpO2lmKGQuaXNB
cnJheShhKSlhPXtsZWZ0OithWzBdLHRvcDorYVsxXXx8MH07aWYoImxlZnQiaW4gYSl0aGlzLm9m
ZnNldC5jbGljay5sZWZ0PWEubGVmdCt0aGlzLm1hcmdpbnMubGVmdDtpZigicmlnaHQiaW4gYSl0
aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtYS5yaWdo
dCt0aGlzLm1hcmdpbnMubGVmdDtpZigidG9wImluIGEpdGhpcy5vZmZzZXQuY2xpY2sudG9wPWEu
dG9wK3RoaXMubWFyZ2lucy50b3A7aWYoImJvdHRvbSJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLnRv
cD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1hLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9w
fSxfZ2V0UGFyZW50T2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZzZXRQYXJlbnQ9Cit0aGlzLmhl
bHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYT10aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtpZih0
aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1l
bnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRb
MF0pKXthLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTthLnRvcCs9dGhpcy5z
Y3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50
LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBd
LnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiJiZkLmJyb3dzZXIubXNpZSlhPXt0b3A6MCxs
ZWZ0OjB9O3JldHVybnt0b3A6YS50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygi
Ym9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6YS5sZWZ0KyhwYXJzZUludCh0aGlzLm9mZnNl
dFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLAorMTApfHwwKX19LF9nZXRSZWxhdGl2ZU9m
ZnNldDpmdW5jdGlvbigpe2lmKHRoaXMuY3NzUG9zaXRpb249PSJyZWxhdGl2ZSIpe3ZhciBhPXRo
aXMuZWxlbWVudC5wb3NpdGlvbigpO3JldHVybnt0b3A6YS50b3AtKHBhcnNlSW50KHRoaXMuaGVs
cGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0
OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNj
cm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9jYWNo
ZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5lbGVt
ZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNz
cygibWFyZ2luVG9wIiksMTApfHwwLHJpZ2h0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1h
cmdpblJpZ2h0IiksMTApfHwwLGJvdHRvbTpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJn
aW5Cb3R0b20iKSwKKzEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7
dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhl
aWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9u
KCl7dmFyIGE9dGhpcy5vcHRpb25zO2lmKGEuY29udGFpbm1lbnQ9PSJwYXJlbnQiKWEuY29udGFp
bm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihhLmNvbnRhaW5tZW50PT0iZG9jdW1l
bnQifHxhLmNvbnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRhaW5tZW50PVthLmNvbnRhaW5t
ZW50PT0iZG9jdW1lbnQiPzA6ZCh3aW5kb3cpLnNjcm9sbExlZnQoKS10aGlzLm9mZnNldC5yZWxh
dGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LGEuY29udGFpbm1lbnQ9PSJkb2N1bWVu
dCI/MDpkKHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMu
b2Zmc2V0LnBhcmVudC50b3AsCisoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmQod2luZG93
KS5zY3JvbGxMZWZ0KCkpK2QoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5k
b3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVm
dCwoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmQod2luZG93KS5zY3JvbGxUb3AoKSkrKGQo
YS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLmhlaWdodCgpfHxkb2N1
bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25z
LmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8d2luZG93fHBhcmVudCkk
Ly50ZXN0KGEuY29udGFpbm1lbnQpJiZhLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yIT1BcnJheSl7
YT1kKGEuY29udGFpbm1lbnQpO3ZhciBiPWFbMF07aWYoYil7YS5vZmZzZXQoKTt2YXIgYz1kKGIp
LmNzcygib3ZlcmZsb3ciKSE9CisiaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVsocGFyc2VJbnQo
ZChiKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGQoYikuY3NzKCJw
YWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJUb3BXaWR0aCIp
LDEwKXx8MCkrKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKSwoYz9NYXRo
Lm1heChiLnNjcm9sbFdpZHRoLGIub2Zmc2V0V2lkdGgpOmIub2Zmc2V0V2lkdGgpLShwYXJzZUlu
dChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZChiKS5jc3Mo
InBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlz
Lm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKGM/TWF0aC5tYXgoYi5zY3JvbGxIZWln
aHQsYi5vZmZzZXRIZWlnaHQpOmIub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoZChiKS5jc3MoImJv
cmRlclRvcFdpZHRoIiksCisxMCl8fDApLShwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0JvdHRv
bSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRv
cC10aGlzLm1hcmdpbnMuYm90dG9tXTt0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcj1hfX1lbHNlIGlm
KGEuY29udGFpbm1lbnQuY29uc3RydWN0b3I9PUFycmF5KXRoaXMuY29udGFpbm1lbnQ9YS5jb250
YWlubWVudH0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGEsYil7aWYoIWIpYj10aGlzLnBv
c2l0aW9uO2E9YT09ImFic29sdXRlIj8xOi0xO3ZhciBjPXRoaXMuY3NzUG9zaXRpb249PSJhYnNv
bHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRhaW5zKHRo
aXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJl
bnQ6dGhpcy5zY3JvbGxQYXJlbnQsZj0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFtZSk7
cmV0dXJue3RvcDpiLnRvcCsKK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCphK3RoaXMub2Zmc2V0
LnBhcmVudC50b3AqYS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0
aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRo
aXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmY/MDpjLnNjcm9sbFRvcCgpKSphKSxsZWZ0OmIu
bGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmErdGhpcy5vZmZzZXQucGFyZW50LmxlZnQq
YS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0
aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFy
ZW50LnNjcm9sbExlZnQoKTpmPzA6Yy5zY3JvbGxMZWZ0KCkpKmEpfX0sX2dlbmVyYXRlUG9zaXRp
b246ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zLGM9dGhpcy5jc3NQb3NpdGlvbj09ImFi
c29sdXRlIiYmCishKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlu
cyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zmc2V0
UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGY9LyhodG1sfGJvZHkpL2kudGVzdChjWzBdLnRhZ05h
bWUpLGU9YS5wYWdlWCxoPWEucGFnZVk7aWYodGhpcy5vcmlnaW5hbFBvc2l0aW9uKXt2YXIgZztp
Zih0aGlzLmNvbnRhaW5tZW50KXtpZih0aGlzLnJlbGF0aXZlX2NvbnRhaW5lcil7Zz10aGlzLnJl
bGF0aXZlX2NvbnRhaW5lci5vZmZzZXQoKTtnPVt0aGlzLmNvbnRhaW5tZW50WzBdK2cubGVmdCx0
aGlzLmNvbnRhaW5tZW50WzFdK2cudG9wLHRoaXMuY29udGFpbm1lbnRbMl0rZy5sZWZ0LHRoaXMu
Y29udGFpbm1lbnRbM10rZy50b3BdfWVsc2UgZz10aGlzLmNvbnRhaW5tZW50O2lmKGEucGFnZVgt
dGhpcy5vZmZzZXQuY2xpY2subGVmdDxnWzBdKWU9Z1swXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0
OworaWYoYS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8Z1sxXSloPWdbMV0rdGhpcy5vZmZz
ZXQuY2xpY2sudG9wO2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5nWzJdKWU9Z1sy
XSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGEucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9w
PmdbM10paD1nWzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcH1pZihiLmdyaWQpe2g9Yi5ncmlkWzFd
P3RoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChoLXRoaXMub3JpZ2luYWxQYWdlWSkvYi5n
cmlkWzFdKSpiLmdyaWRbMV06dGhpcy5vcmlnaW5hbFBhZ2VZO2g9Zz8hKGgtdGhpcy5vZmZzZXQu
Y2xpY2sudG9wPGdbMV18fGgtdGhpcy5vZmZzZXQuY2xpY2sudG9wPmdbM10pP2g6IShoLXRoaXMu
b2Zmc2V0LmNsaWNrLnRvcDxnWzFdKT9oLWIuZ3JpZFsxXTpoK2IuZ3JpZFsxXTpoO2U9Yi5ncmlk
WzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChlLXRoaXMub3JpZ2luYWxQYWdlWCkv
CitiLmdyaWRbMF0pKmIuZ3JpZFswXTp0aGlzLm9yaWdpbmFsUGFnZVg7ZT1nPyEoZS10aGlzLm9m
ZnNldC5jbGljay5sZWZ0PGdbMF18fGUtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5nWzJdKT9lOiEo
ZS10aGlzLm9mZnNldC5jbGljay5sZWZ0PGdbMF0pP2UtYi5ncmlkWzBdOmUrYi5ncmlkWzBdOmV9
fXJldHVybnt0b3A6aC10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUu
dG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5zYWZhcmkmJmQuYnJvd3Nlci52
ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRpb249
PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmY/MDpjLnNjcm9sbFRvcCgp
KSxsZWZ0OmUtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0
LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhkLmJyb3dzZXIuc2FmYXJpJiZkLmJyb3dzZXIudmVy
c2lvbjwKKzUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRpb249
PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpmPzA6Yy5zY3JvbGxMZWZ0
KCkpfX0sX2NsZWFyOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIucmVtb3ZlQ2xhc3MoInVpLWRyYWdn
YWJsZS1kcmFnZ2luZyIpO3RoaXMuaGVscGVyWzBdIT10aGlzLmVsZW1lbnRbMF0mJiF0aGlzLmNh
bmNlbEhlbHBlclJlbW92YWwmJnRoaXMuaGVscGVyLnJlbW92ZSgpO3RoaXMuaGVscGVyPW51bGw7
dGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNlfSxfdHJpZ2dlcjpmdW5jdGlvbihhLGIsYyl7
Yz1jfHx0aGlzLl91aUhhc2goKTtkLnVpLnBsdWdpbi5jYWxsKHRoaXMsYSxbYixjXSk7aWYoYT09
ImRyYWciKXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRl
Iik7cmV0dXJuIGQuV2lkZ2V0LnByb3RvdHlwZS5fdHJpZ2dlci5jYWxsKHRoaXMsYSxiLAorYyl9
LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxwZXIs
cG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3Np
dGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSk7ZC5leHRlbmQoZC51aS5kcmFnZ2FibGUs
e3ZlcnNpb246IjEuOC4xNSJ9KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5lY3RU
b1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdn
YWJsZSIpLGY9Yy5vcHRpb25zLGU9ZC5leHRlbmQoe30sYix7aXRlbTpjLmVsZW1lbnR9KTtjLnNv
cnRhYmxlcz1bXTtkKGYuY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rpb24oKXt2YXIgaD1k
LmRhdGEodGhpcywic29ydGFibGUiKTtpZihoJiYhaC5vcHRpb25zLmRpc2FibGVkKXtjLnNvcnRh
Ymxlcy5wdXNoKHtpbnN0YW5jZTpoLHNob3VsZFJldmVydDpoLm9wdGlvbnMucmV2ZXJ0fSk7Cito
LnJlZnJlc2hQb3NpdGlvbnMoKTtoLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYSxlKX19KX0sc3RvcDpm
dW5jdGlvbihhLGIpe3ZhciBjPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZj1kLmV4dGVuZCh7
fSxiLHtpdGVtOmMuZWxlbWVudH0pO2QuZWFjaChjLnNvcnRhYmxlcyxmdW5jdGlvbigpe2lmKHRo
aXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0wO2MuY2FuY2VsSGVscGVy
UmVtb3ZhbD10cnVlO3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZTtpZih0
aGlzLnNob3VsZFJldmVydCl0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PXRydWU7dGhpcy5p
bnN0YW5jZS5fbW91c2VTdG9wKGEpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhpcy5p
bnN0YW5jZS5vcHRpb25zLl9oZWxwZXI7Yy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIiYmdGhp
cy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1lbHNl
e3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0KK2ZhbHNlO3RoaXMuaW5zdGFuY2Uu
X3RyaWdnZXIoImRlYWN0aXZhdGUiLGEsZil9fSl9LGRyYWc6ZnVuY3Rpb24oYSxiKXt2YXIgYz1k
KHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9dGhpcztkLmVhY2goYy5zb3J0YWJsZXMsZnVuY3Rp
b24oKXt0aGlzLmluc3RhbmNlLnBvc2l0aW9uQWJzPWMucG9zaXRpb25BYnM7dGhpcy5pbnN0YW5j
ZS5oZWxwZXJQcm9wb3J0aW9ucz1jLmhlbHBlclByb3BvcnRpb25zO3RoaXMuaW5zdGFuY2Uub2Zm
c2V0LmNsaWNrPWMub2Zmc2V0LmNsaWNrO2lmKHRoaXMuaW5zdGFuY2UuX2ludGVyc2VjdHNXaXRo
KHRoaXMuaW5zdGFuY2UuY29udGFpbmVyQ2FjaGUpKXtpZighdGhpcy5pbnN0YW5jZS5pc092ZXIp
e3RoaXMuaW5zdGFuY2UuaXNPdmVyPTE7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbT1kKGYpLmNs
b25lKCkucmVtb3ZlQXR0cigiaWQiKS5hcHBlbmRUbyh0aGlzLmluc3RhbmNlLmVsZW1lbnQpLmRh
dGEoInNvcnRhYmxlLWl0ZW0iLHRydWUpOwordGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI9
dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcjt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVy
PWZ1bmN0aW9uKCl7cmV0dXJuIGIuaGVscGVyWzBdfTthLnRhcmdldD10aGlzLmluc3RhbmNlLmN1
cnJlbnRJdGVtWzBdO3RoaXMuaW5zdGFuY2UuX21vdXNlQ2FwdHVyZShhLHRydWUpO3RoaXMuaW5z
dGFuY2UuX21vdXNlU3RhcnQoYSx0cnVlLHRydWUpO3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNr
LnRvcD1jLm9mZnNldC5jbGljay50b3A7dGhpcy5pbnN0YW5jZS5vZmZzZXQuY2xpY2subGVmdD1j
Lm9mZnNldC5jbGljay5sZWZ0O3RoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC5sZWZ0LT1jLm9m
ZnNldC5wYXJlbnQubGVmdC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdDt0aGlzLmlu
c3RhbmNlLm9mZnNldC5wYXJlbnQudG9wLT1jLm9mZnNldC5wYXJlbnQudG9wLXRoaXMuaW5zdGFu
Y2Uub2Zmc2V0LnBhcmVudC50b3A7CitjLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIixhKTtjLmRyb3Bw
ZWQ9dGhpcy5pbnN0YW5jZS5lbGVtZW50O2MuY3VycmVudEl0ZW09Yy5lbGVtZW50O3RoaXMuaW5z
dGFuY2UuZnJvbU91dHNpZGU9Y310aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtJiZ0aGlzLmluc3Rh
bmNlLl9tb3VzZURyYWcoYSl9ZWxzZSBpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5pbnN0
YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0aGlz
Lmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIoIm91
dCIsYSx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5jZSkpO3RoaXMuaW5zdGFuY2Uu
X21vdXNlU3RvcChhLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9dGhpcy5pbnN0
YW5jZS5vcHRpb25zLl9oZWxwZXI7dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5yZW1vdmUoKTt0
aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVyJiYKK3RoaXMuaW5zdGFuY2UucGxhY2Vob2xkZXIucmVt
b3ZlKCk7Yy5fdHJpZ2dlcigiZnJvbVNvcnRhYmxlIixhKTtjLmRyb3BwZWQ9ZmFsc2V9fSl9fSk7
ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjdXJzb3IiLHtzdGFydDpmdW5jdGlvbigpe3Zh
ciBhPWQoImJvZHkiKSxiPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihhLmNz
cygiY3Vyc29yIikpYi5fY3Vyc29yPWEuY3NzKCJjdXJzb3IiKTthLmNzcygiY3Vyc29yIixiLmN1
cnNvcil9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9w
dGlvbnM7YS5fY3Vyc29yJiZkKCJib2R5IikuY3NzKCJjdXJzb3IiLGEuX2N1cnNvcil9fSk7ZC51
aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJvcGFjaXR5Iix7c3RhcnQ6ZnVuY3Rpb24oYSxiKXth
PWQoYi5oZWxwZXIpO2I9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGEuY3Nz
KCJvcGFjaXR5IikpYi5fb3BhY2l0eT0KK2EuY3NzKCJvcGFjaXR5Iik7YS5jc3MoIm9wYWNpdHki
LGIub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXthPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxl
Iikub3B0aW9uczthLl9vcGFjaXR5JiZkKGIuaGVscGVyKS5jc3MoIm9wYWNpdHkiLGEuX29wYWNp
dHkpfX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Nyb2xsIix7c3RhcnQ6ZnVuY3Rp
b24oKXt2YXIgYT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpO2lmKGEuc2Nyb2xsUGFyZW50WzBd
IT1kb2N1bWVudCYmYS5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKWEub3ZlcmZsb3dP
ZmZzZXQ9YS5zY3JvbGxQYXJlbnQub2Zmc2V0KCl9LGRyYWc6ZnVuY3Rpb24oYSl7dmFyIGI9ZCh0
aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxjPWIub3B0aW9ucyxmPWZhbHNlO2lmKGIuc2Nyb2xsUGFy
ZW50WzBdIT1kb2N1bWVudCYmYi5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKXtpZigh
Yy5heGlzfHxjLmF4aXMhPQorIngiKWlmKGIub3ZlcmZsb3dPZmZzZXQudG9wK2Iuc2Nyb2xsUGFy
ZW50WzBdLm9mZnNldEhlaWdodC1hLnBhZ2VZPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQ
YXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Muc2Nyb2xs
U3BlZWQ7ZWxzZSBpZihhLnBhZ2VZLWIub3ZlcmZsb3dPZmZzZXQudG9wPGMuc2Nyb2xsU2Vuc2l0
aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Ny
b2xsVG9wLWMuc2Nyb2xsU3BlZWQ7aWYoIWMuYXhpc3x8Yy5heGlzIT0ieSIpaWYoYi5vdmVyZmxv
d09mZnNldC5sZWZ0K2Iuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWEucGFnZVg8Yy5zY3Jv
bGxTZW5zaXRpdml0eSliLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWY9Yi5zY3JvbGxQYXJl
bnRbMF0uc2Nyb2xsTGVmdCtjLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYS5wYWdlWC1iLm92ZXJmbG93
T2Zmc2V0LmxlZnQ8CitjLnNjcm9sbFNlbnNpdGl2aXR5KWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9s
bExlZnQ9Zj1iLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0LWMuc2Nyb2xsU3BlZWR9ZWxzZXtp
ZighYy5heGlzfHxjLmF4aXMhPSJ4IilpZihhLnBhZ2VZLWQoZG9jdW1lbnQpLnNjcm9sbFRvcCgp
PGMuc2Nyb2xsU2Vuc2l0aXZpdHkpZj1kKGRvY3VtZW50KS5zY3JvbGxUb3AoZChkb2N1bWVudCku
c2Nyb2xsVG9wKCktYy5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdpbmRvdykuaGVpZ2h0KCktKGEu
cGFnZVktZChkb2N1bWVudCkuc2Nyb2xsVG9wKCkpPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpZj1kKGRv
Y3VtZW50KS5zY3JvbGxUb3AoZChkb2N1bWVudCkuc2Nyb2xsVG9wKCkrYy5zY3JvbGxTcGVlZCk7
aWYoIWMuYXhpc3x8Yy5heGlzIT0ieSIpaWYoYS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0
KCk8Yy5zY3JvbGxTZW5zaXRpdml0eSlmPWQoZG9jdW1lbnQpLnNjcm9sbExlZnQoZChkb2N1bWVu
dCkuc2Nyb2xsTGVmdCgpLQorYy5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdpbmRvdykud2lkdGgo
KS0oYS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGMuc2Nyb2xsU2Vuc2l0aXZpdHkp
Zj1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStjLnNjcm9s
bFNwZWVkKX1mIT09ZmFsc2UmJmQudWkuZGRtYW5hZ2VyJiYhYy5kcm9wQmVoYXZpb3VyJiZkLnVp
LmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhiLGEpfX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dh
YmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2Fi
bGUiKSxiPWEub3B0aW9uczthLnNuYXBFbGVtZW50cz1bXTtkKGIuc25hcC5jb25zdHJ1Y3RvciE9
U3RyaW5nP2Iuc25hcC5pdGVtc3x8IjpkYXRhKGRyYWdnYWJsZSkiOmIuc25hcCkuZWFjaChmdW5j
dGlvbigpe3ZhciBjPWQodGhpcyksZj1jLm9mZnNldCgpO3RoaXMhPWEuZWxlbWVudFswXSYmYS5z
bmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLAord2lkdGg6Yy5vdXRlcldpZHRoKCksaGVpZ2h0
OmMub3V0ZXJIZWlnaHQoKSx0b3A6Zi50b3AsbGVmdDpmLmxlZnR9KX0pfSxkcmFnOmZ1bmN0aW9u
KGEsYil7Zm9yKHZhciBjPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZj1jLm9wdGlvbnMsZT1m
LnNuYXBUb2xlcmFuY2UsaD1iLm9mZnNldC5sZWZ0LGc9aCtjLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLG49Yi5vZmZzZXQudG9wLG89bitjLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxpPWMuc25h
cEVsZW1lbnRzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgaj1jLnNuYXBFbGVtZW50c1tpXS5sZWZ0
LGw9aitjLnNuYXBFbGVtZW50c1tpXS53aWR0aCxrPWMuc25hcEVsZW1lbnRzW2ldLnRvcCxtPWsr
Yy5zbmFwRWxlbWVudHNbaV0uaGVpZ2h0O2lmKGotZTxoJiZoPGwrZSYmay1lPG4mJm48bStlfHxq
LWU8aCYmaDxsK2UmJmstZTxvJiZvPG0rZXx8ai1lPGcmJmc8bCtlJiZrLWU8biYmbjxtK2V8fGot
ZTxnJiZnPGwrZSYmay1lPG8mJgorbzxtK2Upe2lmKGYuc25hcE1vZGUhPSJpbm5lciIpe3ZhciBw
PU1hdGguYWJzKGstbyk8PWUscT1NYXRoLmFicyhtLW4pPD1lLHI9TWF0aC5hYnMoai1nKTw9ZSxz
PU1hdGguYWJzKGwtaCk8PWU7aWYocCliLnBvc2l0aW9uLnRvcD1jLl9jb252ZXJ0UG9zaXRpb25U
bygicmVsYXRpdmUiLHt0b3A6ay1jLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9KS50
b3AtYy5tYXJnaW5zLnRvcDtpZihxKWIucG9zaXRpb24udG9wPWMuX2NvbnZlcnRQb3NpdGlvblRv
KCJyZWxhdGl2ZSIse3RvcDptLGxlZnQ6MH0pLnRvcC1jLm1hcmdpbnMudG9wO2lmKHIpYi5wb3Np
dGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6ai1j
LmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1jLm1hcmdpbnMubGVmdDtpZihzKWIucG9z
aXRpb24ubGVmdD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omx9
KS5sZWZ0LWMubWFyZ2lucy5sZWZ0fXZhciB0PQorcHx8cXx8cnx8cztpZihmLnNuYXBNb2RlIT0i
b3V0ZXIiKXtwPU1hdGguYWJzKGstbik8PWU7cT1NYXRoLmFicyhtLW8pPD1lO3I9TWF0aC5hYnMo
ai1oKTw9ZTtzPU1hdGguYWJzKGwtZyk8PWU7aWYocCliLnBvc2l0aW9uLnRvcD1jLl9jb252ZXJ0
UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6ayxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtp
ZihxKWIucG9zaXRpb24udG9wPWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDpt
LWMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1jLm1hcmdpbnMudG9wO2lm
KHIpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDow
LGxlZnQ6an0pLmxlZnQtYy5tYXJnaW5zLmxlZnQ7aWYocyliLnBvc2l0aW9uLmxlZnQ9Yy5fY29u
dmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsLWMuaGVscGVyUHJvcG9ydGlv
bnMud2lkdGh9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0fWlmKCFjLnNuYXBFbGVtZW50c1tpXS5zbmFw
cGluZyYmCisocHx8cXx8cnx8c3x8dCkpYy5vcHRpb25zLnNuYXAuc25hcCYmYy5vcHRpb25zLnNu
YXAuc25hcC5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3VpSGFzaCgpLHtzbmFwSXRlbTpj
LnNuYXBFbGVtZW50c1tpXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2ldLnNuYXBwaW5nPXB8fHF8
fHJ8fHN8fHR9ZWxzZXtjLnNuYXBFbGVtZW50c1tpXS5zbmFwcGluZyYmYy5vcHRpb25zLnNuYXAu
cmVsZWFzZSYmYy5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5k
KGMuX3VpSGFzaCgpLHtzbmFwSXRlbTpjLnNuYXBFbGVtZW50c1tpXS5pdGVtfSkpO2Muc25hcEVs
ZW1lbnRzW2ldLnNuYXBwaW5nPWZhbHNlfX19fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUi
LCJzdGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUi
KS5vcHRpb25zO2E9ZC5tYWtlQXJyYXkoZChhLnN0YWNrKSkuc29ydChmdW5jdGlvbihjLGYpe3Jl
dHVybihwYXJzZUludChkKGMpLmNzcygiekluZGV4IiksCisxMCl8fDApLShwYXJzZUludChkKGYp
LmNzcygiekluZGV4IiksMTApfHwwKX0pO2lmKGEubGVuZ3RoKXt2YXIgYj1wYXJzZUludChhWzBd
LnN0eWxlLnpJbmRleCl8fDA7ZChhKS5lYWNoKGZ1bmN0aW9uKGMpe3RoaXMuc3R5bGUuekluZGV4
PWIrY30pO3RoaXNbMF0uc3R5bGUuekluZGV4PWIrYS5sZW5ndGh9fX0pO2QudWkucGx1Z2luLmFk
ZCgiZHJhZ2dhYmxlIiwiekluZGV4Iix7c3RhcnQ6ZnVuY3Rpb24oYSxiKXthPWQoYi5oZWxwZXIp
O2I9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGEuY3NzKCJ6SW5kZXgiKSli
Ll96SW5kZXg9YS5jc3MoInpJbmRleCIpO2EuY3NzKCJ6SW5kZXgiLGIuekluZGV4KX0sc3RvcDpm
dW5jdGlvbihhLGIpe2E9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2EuX3pJbmRl
eCYmZChiLmhlbHBlcikuY3NzKCJ6SW5kZXgiLGEuX3pJbmRleCl9fSl9KShqUXVlcnkpOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS51aS5kcmFnZ2FibGUubWluLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFs
bG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLmRyb3BwYWJsZS5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kcm9wcGFibGUubWlu
LmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZHJvcHBhYmxlLm1pbi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3IEBACisvKgorICogalF1ZXJ5IFVJIERyb3BwYWJsZSAxLjguMTUKKyAqCisg
KiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQp
CisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNl
cy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVl
cnkuY29tL1VJL0Ryb3BwYWJsZXMKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LnVpLmNvcmUu
anMKKyAqCWpxdWVyeS51aS53aWRnZXQuanMKKyAqCWpxdWVyeS51aS5tb3VzZS5qcworICoJanF1
ZXJ5LnVpLmRyYWdnYWJsZS5qcworICovCisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLmRyb3Bw
YWJsZSIse3dpZGdldEV2ZW50UHJlZml4OiJkcm9wIixvcHRpb25zOnthY2NlcHQ6IioiLGFjdGl2
ZUNsYXNzOmZhbHNlLGFkZENsYXNzZXM6dHJ1ZSxncmVlZHk6ZmFsc2UsaG92ZXJDbGFzczpmYWxz
ZSxzY29wZToiZGVmYXVsdCIsdG9sZXJhbmNlOiJpbnRlcnNlY3QifSxfY3JlYXRlOmZ1bmN0aW9u
KCl7dmFyIGE9dGhpcy5vcHRpb25zLGI9YS5hY2NlcHQ7dGhpcy5pc292ZXI9MDt0aGlzLmlzb3V0
PTE7dGhpcy5hY2NlcHQ9ZC5pc0Z1bmN0aW9uKGIpP2I6ZnVuY3Rpb24oYyl7cmV0dXJuIGMuaXMo
Yil9O3RoaXMucHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxo
ZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9mZnNldEhlaWdodH07ZC51aS5kZG1hbmFnZXIuZHJvcHBh
Ymxlc1thLnNjb3BlXT1kLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Euc2NvcGVdfHxbXTtkLnVp
LmRkbWFuYWdlci5kcm9wcGFibGVzW2Euc2NvcGVdLnB1c2godGhpcyk7CithLmFkZENsYXNzZXMm
JnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJvcHBhYmxlIil9LGRlc3Ryb3k6ZnVuY3Rpb24o
KXtmb3IodmFyIGE9ZC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVd
LGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdPT10aGlzJiZhLnNwbGljZShiLDEpO3RoaXMuZWxlbWVu
dC5yZW1vdmVDbGFzcygidWktZHJvcHBhYmxlIHVpLWRyb3BwYWJsZS1kaXNhYmxlZCIpLnJlbW92
ZURhdGEoImRyb3BwYWJsZSIpLnVuYmluZCgiLmRyb3BwYWJsZSIpO3JldHVybiB0aGlzfSxfc2V0
T3B0aW9uOmZ1bmN0aW9uKGEsYil7aWYoYT09ImFjY2VwdCIpdGhpcy5hY2NlcHQ9ZC5pc0Z1bmN0
aW9uKGIpP2I6ZnVuY3Rpb24oYyl7cmV0dXJuIGMuaXMoYil9O2QuV2lkZ2V0LnByb3RvdHlwZS5f
c2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKGEpe3Zh
ciBiPWQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiYKK3Ro
aXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpO2ImJnRoaXMuX3Ry
aWdnZXIoImFjdGl2YXRlIixhLHRoaXMudWkoYikpfSxfZGVhY3RpdmF0ZTpmdW5jdGlvbihhKXt2
YXIgYj1kLnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhp
cy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7YiYmdGhpcy5f
dHJpZ2dlcigiZGVhY3RpdmF0ZSIsYSx0aGlzLnVpKGIpKX0sX292ZXI6ZnVuY3Rpb24oYSl7dmFy
IGI9ZC51aS5kZG1hbmFnZXIuY3VycmVudDtpZighKCFifHwoYi5jdXJyZW50SXRlbXx8Yi5lbGVt
ZW50KVswXT09dGhpcy5lbGVtZW50WzBdKSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVu
dFswXSxiLmN1cnJlbnRJdGVtfHxiLmVsZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYm
dGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTsKK3RoaXMuX3Ry
aWdnZXIoIm92ZXIiLGEsdGhpcy51aShiKSl9fSxfb3V0OmZ1bmN0aW9uKGEpe3ZhciBiPWQudWku
ZGRtYW5hZ2VyLmN1cnJlbnQ7aWYoISghYnx8KGIuY3VycmVudEl0ZW18fGIuZWxlbWVudClbMF09
PXRoaXMuZWxlbWVudFswXSkpaWYodGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYi5j
dXJyZW50SXRlbXx8Yi5lbGVtZW50KSl7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxl
bWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigi
b3V0IixhLHRoaXMudWkoYikpfX0sX2Ryb3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxkLnVpLmRk
bWFuYWdlci5jdXJyZW50O2lmKCFjfHwoYy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KVswXT09dGhp
cy5lbGVtZW50WzBdKXJldHVybiBmYWxzZTt2YXIgZT1mYWxzZTt0aGlzLmVsZW1lbnQuZmluZCgi
OmRhdGEoZHJvcHBhYmxlKSIpLm5vdCgiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLmVhY2goZnVu
Y3Rpb24oKXt2YXIgZz0KK2QuZGF0YSh0aGlzLCJkcm9wcGFibGUiKTtpZihnLm9wdGlvbnMuZ3Jl
ZWR5JiYhZy5vcHRpb25zLmRpc2FibGVkJiZnLm9wdGlvbnMuc2NvcGU9PWMub3B0aW9ucy5zY29w
ZSYmZy5hY2NlcHQuY2FsbChnLmVsZW1lbnRbMF0sYy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KSYm
ZC51aS5pbnRlcnNlY3QoYyxkLmV4dGVuZChnLHtvZmZzZXQ6Zy5lbGVtZW50Lm9mZnNldCgpfSks
Zy5vcHRpb25zLnRvbGVyYW5jZSkpe2U9dHJ1ZTtyZXR1cm4gZmFsc2V9fSk7aWYoZSlyZXR1cm4g
ZmFsc2U7aWYodGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYy5jdXJyZW50SXRlbXx8
Yy5lbGVtZW50KSl7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKTt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYm
dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90
cmlnZ2VyKCJkcm9wIiwKK2EsdGhpcy51aShjKSk7cmV0dXJuIHRoaXMuZWxlbWVudH1yZXR1cm4g
ZmFsc2V9LHVpOmZ1bmN0aW9uKGEpe3JldHVybntkcmFnZ2FibGU6YS5jdXJyZW50SXRlbXx8YS5l
bGVtZW50LGhlbHBlcjphLmhlbHBlcixwb3NpdGlvbjphLnBvc2l0aW9uLG9mZnNldDphLnBvc2l0
aW9uQWJzfX19KTtkLmV4dGVuZChkLnVpLmRyb3BwYWJsZSx7dmVyc2lvbjoiMS44LjE1In0pO2Qu
dWkuaW50ZXJzZWN0PWZ1bmN0aW9uKGEsYixjKXtpZighYi5vZmZzZXQpcmV0dXJuIGZhbHNlO3Zh
ciBlPShhLnBvc2l0aW9uQWJzfHxhLnBvc2l0aW9uLmFic29sdXRlKS5sZWZ0LGc9ZSthLmhlbHBl
clByb3BvcnRpb25zLndpZHRoLGY9KGEucG9zaXRpb25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUp
LnRvcCxoPWYrYS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsaT1iLm9mZnNldC5sZWZ0LGs9aSti
LnByb3BvcnRpb25zLndpZHRoLGo9Yi5vZmZzZXQudG9wLGw9aitiLnByb3BvcnRpb25zLmhlaWdo
dDsKK3N3aXRjaChjKXtjYXNlICJmaXQiOnJldHVybiBpPD1lJiZnPD1rJiZqPD1mJiZoPD1sO2Nh
c2UgImludGVyc2VjdCI6cmV0dXJuIGk8ZSthLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzImJmct
YS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yPGsmJmo8ZithLmhlbHBlclByb3BvcnRpb25zLmhl
aWdodC8yJiZoLWEuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI8bDtjYXNlICJwb2ludGVyIjpy
ZXR1cm4gZC51aS5pc092ZXIoKGEucG9zaXRpb25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUpLnRv
cCsoYS5jbGlja09mZnNldHx8YS5vZmZzZXQuY2xpY2spLnRvcCwoYS5wb3NpdGlvbkFic3x8YS5w
b3NpdGlvbi5hYnNvbHV0ZSkubGVmdCsoYS5jbGlja09mZnNldHx8YS5vZmZzZXQuY2xpY2spLmxl
ZnQsaixpLGIucHJvcG9ydGlvbnMuaGVpZ2h0LGIucHJvcG9ydGlvbnMud2lkdGgpO2Nhc2UgInRv
dWNoIjpyZXR1cm4oZj49aiYmZjw9bHx8aD49aiYmaDw9bHx8ZjxqJiZoPmwpJiYoZT49CitpJiZl
PD1rfHxnPj1pJiZnPD1rfHxlPGkmJmc+ayk7ZGVmYXVsdDpyZXR1cm4gZmFsc2V9fTtkLnVpLmRk
bWFuYWdlcj17Y3VycmVudDpudWxsLGRyb3BwYWJsZXM6eyJkZWZhdWx0IjpbXX0scHJlcGFyZU9m
ZnNldHM6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Eub3B0
aW9ucy5zY29wZV18fFtdLGU9Yj9iLnR5cGU6bnVsbCxnPShhLmN1cnJlbnRJdGVtfHxhLmVsZW1l
bnQpLmZpbmQoIjpkYXRhKGRyb3BwYWJsZSkiKS5hbmRTZWxmKCksZj0wO2E6Zm9yKDtmPGMubGVu
Z3RoO2YrKylpZighKGNbZl0ub3B0aW9ucy5kaXNhYmxlZHx8YSYmIWNbZl0uYWNjZXB0LmNhbGwo
Y1tmXS5lbGVtZW50WzBdLGEuY3VycmVudEl0ZW18fGEuZWxlbWVudCkpKXtmb3IodmFyIGg9MDto
PGcubGVuZ3RoO2grKylpZihnW2hdPT1jW2ZdLmVsZW1lbnRbMF0pe2NbZl0ucHJvcG9ydGlvbnMu
aGVpZ2h0PTA7Y29udGludWUgYX1jW2ZdLnZpc2libGU9Y1tmXS5lbGVtZW50LmNzcygiZGlzcGxh
eSIpIT0KKyJub25lIjtpZihjW2ZdLnZpc2libGUpe2U9PSJtb3VzZWRvd24iJiZjW2ZdLl9hY3Rp
dmF0ZS5jYWxsKGNbZl0sYik7Y1tmXS5vZmZzZXQ9Y1tmXS5lbGVtZW50Lm9mZnNldCgpO2NbZl0u
cHJvcG9ydGlvbnM9e3dpZHRoOmNbZl0uZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6Y1tm
XS5lbGVtZW50WzBdLm9mZnNldEhlaWdodH19fX0sZHJvcDpmdW5jdGlvbihhLGIpe3ZhciBjPWZh
bHNlO2QuZWFjaChkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Eub3B0aW9ucy5zY29wZV18fFtd
LGZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0
aGlzLnZpc2libGUmJmQudWkuaW50ZXJzZWN0KGEsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNl
KSljPWN8fHRoaXMuX2Ryb3AuY2FsbCh0aGlzLGIpO2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQm
JnRoaXMudmlzaWJsZSYmdGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYS5jdXJyZW50
SXRlbXx8CithLmVsZW1lbnQpKXt0aGlzLmlzb3V0PTE7dGhpcy5pc292ZXI9MDt0aGlzLl9kZWFj
dGl2YXRlLmNhbGwodGhpcyxiKX19fSk7cmV0dXJuIGN9LGRyYWdTdGFydDpmdW5jdGlvbihhLGIp
e2EuZWxlbWVudC5wYXJlbnRzVW50aWwoImJvZHkiKS5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIixm
dW5jdGlvbigpe2Eub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zfHxkLnVpLmRkbWFuYWdlci5wcmVw
YXJlT2Zmc2V0cyhhLGIpfSl9LGRyYWc6ZnVuY3Rpb24oYSxiKXthLm9wdGlvbnMucmVmcmVzaFBv
c2l0aW9ucyYmZC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYSxiKTtkLmVhY2goZC51aS5k
ZG1hbmFnZXIuZHJvcHBhYmxlc1thLm9wdGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKCEo
dGhpcy5vcHRpb25zLmRpc2FibGVkfHx0aGlzLmdyZWVkeUNoaWxkfHwhdGhpcy52aXNpYmxlKSl7
dmFyIGM9ZC51aS5pbnRlcnNlY3QoYSx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpO2lmKGM9
CishYyYmdGhpcy5pc292ZXI9PTE/Imlzb3V0IjpjJiZ0aGlzLmlzb3Zlcj09MD8iaXNvdmVyIjpu
dWxsKXt2YXIgZTtpZih0aGlzLm9wdGlvbnMuZ3JlZWR5KXt2YXIgZz10aGlzLmVsZW1lbnQucGFy
ZW50cygiOmRhdGEoZHJvcHBhYmxlKTplcSgwKSIpO2lmKGcubGVuZ3RoKXtlPWQuZGF0YShnWzBd
LCJkcm9wcGFibGUiKTtlLmdyZWVkeUNoaWxkPWM9PSJpc292ZXIiPzE6MH19aWYoZSYmYz09Imlz
b3ZlciIpe2UuaXNvdmVyPTA7ZS5pc291dD0xO2UuX291dC5jYWxsKGUsYil9dGhpc1tjXT0xO3Ro
aXNbYz09Imlzb3V0Ij8iaXNvdmVyIjoiaXNvdXQiXT0wO3RoaXNbYz09Imlzb3ZlciI/Il9vdmVy
IjoiX291dCJdLmNhbGwodGhpcyxiKTtpZihlJiZjPT0iaXNvdXQiKXtlLmlzb3V0PTA7ZS5pc292
ZXI9MTtlLl9vdmVyLmNhbGwoZSxiKX19fX0pfSxkcmFnU3RvcDpmdW5jdGlvbihhLGIpe2EuZWxl
bWVudC5wYXJlbnRzVW50aWwoImJvZHkiKS51bmJpbmQoInNjcm9sbC5kcm9wcGFibGUiKTsKK2Eu
b3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zfHxkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhh
LGIpfX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kcm9wcGFibGUubWluLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLm1vdXNlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE3IEBACisvKiEKKyAqIGpRdWVyeSBVSSBNb3VzZSAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL01vdXNlCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS53aWRn
ZXQuanMKKyAqLworKGZ1bmN0aW9uKGIpe2Iud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlvbnM6e2Nh
bmNlbDoiOmlucHV0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0
aW9uKCl7dmFyIGE9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhpcy53aWRn
ZXROYW1lLGZ1bmN0aW9uKGMpe3JldHVybiBhLl9tb3VzZURvd24oYyl9KS5iaW5kKCJjbGljay4i
K3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihjKXtpZih0cnVlPT09Yi5kYXRhKGMudGFyZ2V0LGEu
d2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iikpe2IucmVtb3ZlRGF0YShjLnRhcmdldCxh
LndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpO2Muc3RvcEltbWVkaWF0ZVByb3BhZ2F0
aW9uKCk7cmV0dXJuIGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVzdHJveTpm
dW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSl9LF9tb3Vz
ZURvd246ZnVuY3Rpb24oYSl7YS5vcmlnaW5hbEV2ZW50PQorYS5vcmlnaW5hbEV2ZW50fHx7fTtp
ZighYS5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZCl7dGhpcy5fbW91c2VTdGFydGVkJiZ0aGlz
Ll9tb3VzZVVwKGEpO3RoaXMuX21vdXNlRG93bkV2ZW50PWE7dmFyIGM9dGhpcyxlPWEud2hpY2g9
PTEsZj10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YihhLnRhcmdldCkuY2xv
c2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWV8fGZ8fCF0aGlzLl9t
b3VzZUNhcHR1cmUoYSkpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlv
bnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0
VGltZW91dChmdW5jdGlvbigpe2MubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVs
YXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkp
e3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGEpIT09CitmYWxzZTtpZighdGhp
cy5fbW91c2VTdGFydGVkKXthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRydWU9PT1i
LmRhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSYmYi5y
ZW1vdmVEYXRhKGEudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iik7
dGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZCl7cmV0dXJuIGMuX21vdXNlTW92ZShk
KX07dGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGQpe3JldHVybiBjLl9tb3VzZVVwKGQp
fTtiKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91
c2VNb3ZlRGVsZWdhdGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91
c2VVcERlbGVnYXRlKTthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGEub3JpZ2luYWxFdmVudC5t
b3VzZUhhbmRsZWQ9dHJ1ZX19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oYSl7aWYoYi5icm93c2VyLm1z
aWUmJgorIShkb2N1bWVudC5kb2N1bWVudE1vZGU+PTkpJiYhYS5idXR0b24pcmV0dXJuIHRoaXMu
X21vdXNlVXAoYSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZURyYWcoYSk7cmV0
dXJuIGEucHJldmVudERlZmF1bHQoKX1pZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGEpJiZ0aGlz
Ll9tb3VzZURlbGF5TWV0KGEpKSh0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydCh0
aGlzLl9tb3VzZURvd25FdmVudCxhKSE9PWZhbHNlKT90aGlzLl9tb3VzZURyYWcoYSk6dGhpcy5f
bW91c2VVcChhKTtyZXR1cm4hdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5jdGlvbihh
KXtiKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9t
b3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMu
X21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0
ZWQ9CitmYWxzZTthLnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZiLmRhdGEo
YS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUpO3RoaXMu
X21vdXNlU3RvcChhKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGEp
e3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1hLnBh
Z2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1hLnBhZ2VZKSk+PXRoaXMu
b3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5t
b3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlv
bigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3Jl
dHVybiB0cnVlfX0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkubW91c2UubWlu
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworMQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnBvc2l0aW9uLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LnVpLnBvc2l0aW9uLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnBvc2l0aW9uLm1p
bi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACisvKgorICogalF1ZXJ5IFVJIFBv
c2l0aW9uIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDov
L2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBH
UEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoK
KyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUG9zaXRpb24KKyAqLworKGZ1bmN0aW9uKGMp
e2MudWk9Yy51aXx8e307dmFyIG49L2xlZnR8Y2VudGVyfHJpZ2h0LyxvPS90b3B8Y2VudGVyfGJv
dHRvbS8sdD1jLmZuLnBvc2l0aW9uLHU9Yy5mbi5vZmZzZXQ7Yy5mbi5wb3NpdGlvbj1mdW5jdGlv
bihiKXtpZighYnx8IWIub2YpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2I9Yy5leHRl
bmQoe30sYik7dmFyIGE9YyhiLm9mKSxkPWFbMF0sZz0oYi5jb2xsaXNpb258fCJmbGlwIikuc3Bs
aXQoIiAiKSxlPWIub2Zmc2V0P2Iub2Zmc2V0LnNwbGl0KCIgIik6WzAsMF0saCxrLGo7aWYoZC5u
b2RlVHlwZT09PTkpe2g9YS53aWR0aCgpO2s9YS5oZWlnaHQoKTtqPXt0b3A6MCxsZWZ0OjB9fWVs
c2UgaWYoZC5zZXRUaW1lb3V0KXtoPWEud2lkdGgoKTtrPWEuaGVpZ2h0KCk7aj17dG9wOmEuc2Ny
b2xsVG9wKCksbGVmdDphLnNjcm9sbExlZnQoKX19ZWxzZSBpZihkLnByZXZlbnREZWZhdWx0KXti
LmF0PSJsZWZ0IHRvcCI7aD1rPTA7aj17dG9wOmIub2YucGFnZVksCitsZWZ0OmIub2YucGFnZVh9
fWVsc2V7aD1hLm91dGVyV2lkdGgoKTtrPWEub3V0ZXJIZWlnaHQoKTtqPWEub2Zmc2V0KCl9Yy5l
YWNoKFsibXkiLCJhdCJdLGZ1bmN0aW9uKCl7dmFyIGY9KGJbdGhpc118fCIiKS5zcGxpdCgiICIp
O2lmKGYubGVuZ3RoPT09MSlmPW4udGVzdChmWzBdKT9mLmNvbmNhdChbImNlbnRlciJdKTpvLnRl
c3QoZlswXSk/WyJjZW50ZXIiXS5jb25jYXQoZik6WyJjZW50ZXIiLCJjZW50ZXIiXTtmWzBdPW4u
dGVzdChmWzBdKT9mWzBdOiJjZW50ZXIiO2ZbMV09by50ZXN0KGZbMV0pP2ZbMV06ImNlbnRlciI7
Ylt0aGlzXT1mfSk7aWYoZy5sZW5ndGg9PT0xKWdbMV09Z1swXTtlWzBdPXBhcnNlSW50KGVbMF0s
MTApfHwwO2lmKGUubGVuZ3RoPT09MSllWzFdPWVbMF07ZVsxXT1wYXJzZUludChlWzFdLDEwKXx8
MDtpZihiLmF0WzBdPT09InJpZ2h0IilqLmxlZnQrPWg7ZWxzZSBpZihiLmF0WzBdPT09ImNlbnRl
ciIpai5sZWZ0Kz1oLzI7aWYoYi5hdFsxXT09PSJib3R0b20iKWoudG9wKz0KK2s7ZWxzZSBpZihi
LmF0WzFdPT09ImNlbnRlciIpai50b3ArPWsvMjtqLmxlZnQrPWVbMF07ai50b3ArPWVbMV07cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWModGhpcyksbD1mLm91dGVyV2lkdGgoKSxt
PWYub3V0ZXJIZWlnaHQoKSxwPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpbkxlZnQiLHRy
dWUpKXx8MCxxPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpblRvcCIsdHJ1ZSkpfHwwLHY9
bCtwKyhwYXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5SaWdodCIsdHJ1ZSkpfHwwKSx3PW0r
cSsocGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luQm90dG9tIix0cnVlKSl8fDApLGk9Yy5l
eHRlbmQoe30saikscjtpZihiLm15WzBdPT09InJpZ2h0IilpLmxlZnQtPWw7ZWxzZSBpZihiLm15
WzBdPT09ImNlbnRlciIpaS5sZWZ0LT1sLzI7aWYoYi5teVsxXT09PSJib3R0b20iKWkudG9wLT1t
O2Vsc2UgaWYoYi5teVsxXT09PSJjZW50ZXIiKWkudG9wLT0KK20vMjtpLmxlZnQ9TWF0aC5yb3Vu
ZChpLmxlZnQpO2kudG9wPU1hdGgucm91bmQoaS50b3ApO3I9e2xlZnQ6aS5sZWZ0LXAsdG9wOmku
dG9wLXF9O2MuZWFjaChbImxlZnQiLCJ0b3AiXSxmdW5jdGlvbihzLHgpe2MudWkucG9zaXRpb25b
Z1tzXV0mJmMudWkucG9zaXRpb25bZ1tzXV1beF0oaSx7dGFyZ2V0V2lkdGg6aCx0YXJnZXRIZWln
aHQ6ayxlbGVtV2lkdGg6bCxlbGVtSGVpZ2h0Om0sY29sbGlzaW9uUG9zaXRpb246cixjb2xsaXNp
b25XaWR0aDp2LGNvbGxpc2lvbkhlaWdodDp3LG9mZnNldDplLG15OmIubXksYXQ6Yi5hdH0pfSk7
Yy5mbi5iZ2lmcmFtZSYmZi5iZ2lmcmFtZSgpO2Yub2Zmc2V0KGMuZXh0ZW5kKGkse3VzaW5nOmIu
dXNpbmd9KSl9KX07Yy51aS5wb3NpdGlvbj17Zml0OntsZWZ0OmZ1bmN0aW9uKGIsYSl7dmFyIGQ9
Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2EuY29sbGlzaW9uV2lkdGgtZC53
aWR0aCgpLWQuc2Nyb2xsTGVmdCgpO2IubGVmdD0KK2Q+MD9iLmxlZnQtZDpNYXRoLm1heChiLmxl
ZnQtYS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0LGIubGVmdCl9LHRvcDpmdW5jdGlvbihiLGEpe3Zh
ciBkPWMod2luZG93KTtkPWEuY29sbGlzaW9uUG9zaXRpb24udG9wK2EuY29sbGlzaW9uSGVpZ2h0
LWQuaGVpZ2h0KCktZC5zY3JvbGxUb3AoKTtiLnRvcD1kPjA/Yi50b3AtZDpNYXRoLm1heChiLnRv
cC1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCxiLnRvcCl9fSxmbGlwOntsZWZ0OmZ1bmN0aW9uKGIs
YSl7aWYoYS5hdFswXSE9PSJjZW50ZXIiKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBv
c2l0aW9uLmxlZnQrYS5jb2xsaXNpb25XaWR0aC1kLndpZHRoKCktZC5zY3JvbGxMZWZ0KCk7dmFy
IGc9YS5teVswXT09PSJsZWZ0Ij8tYS5lbGVtV2lkdGg6YS5teVswXT09PSJyaWdodCI/YS5lbGVt
V2lkdGg6MCxlPWEuYXRbMF09PT0ibGVmdCI/YS50YXJnZXRXaWR0aDotYS50YXJnZXRXaWR0aCxo
PS0yKmEub2Zmc2V0WzBdO2IubGVmdCs9CithLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQ8MD9nK2Ur
aDpkPjA/ZytlK2g6MH19LHRvcDpmdW5jdGlvbihiLGEpe2lmKGEuYXRbMV0hPT0iY2VudGVyIil7
dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3ArYS5jb2xsaXNpb25IZWln
aHQtZC5oZWlnaHQoKS1kLnNjcm9sbFRvcCgpO3ZhciBnPWEubXlbMV09PT0idG9wIj8tYS5lbGVt
SGVpZ2h0OmEubXlbMV09PT0iYm90dG9tIj9hLmVsZW1IZWlnaHQ6MCxlPWEuYXRbMV09PT0idG9w
Ij9hLnRhcmdldEhlaWdodDotYS50YXJnZXRIZWlnaHQsaD0tMiphLm9mZnNldFsxXTtiLnRvcCs9
YS5jb2xsaXNpb25Qb3NpdGlvbi50b3A8MD9nK2UraDpkPjA/ZytlK2g6MH19fX07aWYoIWMub2Zm
c2V0LnNldE9mZnNldCl7Yy5vZmZzZXQuc2V0T2Zmc2V0PWZ1bmN0aW9uKGIsYSl7aWYoL3N0YXRp
Yy8udGVzdChjLmN1ckNTUyhiLCJwb3NpdGlvbiIpKSliLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2
ZSI7dmFyIGQ9YyhiKSwKK2c9ZC5vZmZzZXQoKSxlPXBhcnNlSW50KGMuY3VyQ1NTKGIsInRvcCIs
dHJ1ZSksMTApfHwwLGg9cGFyc2VJbnQoYy5jdXJDU1MoYiwibGVmdCIsdHJ1ZSksMTApfHwwO2c9
e3RvcDphLnRvcC1nLnRvcCtlLGxlZnQ6YS5sZWZ0LWcubGVmdCtofTsidXNpbmciaW4gYT9hLnVz
aW5nLmNhbGwoYixnKTpkLmNzcyhnKX07Yy5mbi5vZmZzZXQ9ZnVuY3Rpb24oYil7dmFyIGE9dGhp
c1swXTtpZighYXx8IWEub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihiKXJldHVybiB0aGlz
LmVhY2goZnVuY3Rpb24oKXtjLm9mZnNldC5zZXRPZmZzZXQodGhpcyxiKX0pO3JldHVybiB1LmNh
bGwodGhpcyl9fX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnBvc2l0aW9uLm1p
bi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKKzEKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9n
cmVzc2Jhci5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNiBAQAorLyoKKyAqIGpR
dWVyeSBVSSBQcm9ncmVzc2JhciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9S
Uy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVy
IHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3Jn
L2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Byb2dyZXNzYmFyCisg
KgorICogRGVwZW5kczoKKyAqICAganF1ZXJ5LnVpLmNvcmUuanMKKyAqICAganF1ZXJ5LnVpLndp
ZGdldC5qcworICovCisoZnVuY3Rpb24oYixkKXtiLndpZGdldCgidWkucHJvZ3Jlc3NiYXIiLHtv
cHRpb25zOnt2YWx1ZTowLG1heDoxMDB9LG1pbjowLF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVs
ZW1lbnQuYWRkQ2xhc3MoInVpLXByb2dyZXNzYmFyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVu
dCB1aS1jb3JuZXItYWxsIikuYXR0cih7cm9sZToicHJvZ3Jlc3NiYXIiLCJhcmlhLXZhbHVlbWlu
Ijp0aGlzLm1pbiwiYXJpYS12YWx1ZW1heCI6dGhpcy5vcHRpb25zLm1heCwiYXJpYS12YWx1ZW5v
dyI6dGhpcy5fdmFsdWUoKX0pO3RoaXMudmFsdWVEaXY9YigiPGRpdiBjbGFzcz0ndWktcHJvZ3Jl
c3NiYXItdmFsdWUgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItbGVmdCc+PC9kaXY+IikuYXBw
ZW5kVG8odGhpcy5lbGVtZW50KTt0aGlzLm9sZFZhbHVlPXRoaXMuX3ZhbHVlKCk7dGhpcy5fcmVm
cmVzaFZhbHVlKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3Mo
InVpLXByb2dyZXNzYmFyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxs
IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtaW4iKS5yZW1vdmVB
dHRyKCJhcmlhLXZhbHVlbWF4IikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW5vdyIpOwordGhpcy52
YWx1ZURpdi5yZW1vdmUoKTtiLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLGFy
Z3VtZW50cyl9LHZhbHVlOmZ1bmN0aW9uKGEpe2lmKGE9PT1kKXJldHVybiB0aGlzLl92YWx1ZSgp
O3RoaXMuX3NldE9wdGlvbigidmFsdWUiLGEpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0
aW9uKGEsYyl7aWYoYT09PSJ2YWx1ZSIpe3RoaXMub3B0aW9ucy52YWx1ZT1jO3RoaXMuX3JlZnJl
c2hWYWx1ZSgpO3RoaXMuX3ZhbHVlKCk9PT10aGlzLm9wdGlvbnMubWF4JiZ0aGlzLl90cmlnZ2Vy
KCJjb21wbGV0ZSIpfWIuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLnZhbHVlO2lmKHR5
cGVvZiBhIT09Im51bWJlciIpYT0wO3JldHVybiBNYXRoLm1pbih0aGlzLm9wdGlvbnMubWF4LE1h
dGgubWF4KHRoaXMubWluLGEpKX0sX3BlcmNlbnRhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gMTAwKgor
dGhpcy5fdmFsdWUoKS90aGlzLm9wdGlvbnMubWF4fSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7
dmFyIGE9dGhpcy52YWx1ZSgpLGM9dGhpcy5fcGVyY2VudGFnZSgpO2lmKHRoaXMub2xkVmFsdWUh
PT1hKXt0aGlzLm9sZFZhbHVlPWE7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIil9dGhpcy52YWx1ZURp
di50b2dnbGUoYT50aGlzLm1pbikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1yaWdodCIsYT09PXRo
aXMub3B0aW9ucy5tYXgpLndpZHRoKGMudG9GaXhlZCgwKSsiJSIpO3RoaXMuZWxlbWVudC5hdHRy
KCJhcmlhLXZhbHVlbm93IixhKX19KTtiLmV4dGVuZChiLnVpLnByb2dyZXNzYmFyLHt2ZXJzaW9u
OiIxLjguMTUifSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jh
ci5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkucmVzaXphYmxlLm1pbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5yZXNp
emFibGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBqUXVl
cnkgVUkgUmVzaXphYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUmVzaXphYmxlcworICoKKyAq
IERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisg
KglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihlKXtlLndpZGdldCgidWkucmVz
aXphYmxlIixlLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoicmVzaXplIixvcHRpb25zOnth
bHNvUmVzaXplOmZhbHNlLGFuaW1hdGU6ZmFsc2UsYW5pbWF0ZUR1cmF0aW9uOiJzbG93Iixhbmlt
YXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ZmFsc2UsYXV0b0hpZGU6ZmFsc2UsY29udGFp
bm1lbnQ6ZmFsc2UsZ2hvc3Q6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGVzOiJlLHMsc2UiLGhlbHBl
cjpmYWxzZSxtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxMCxtaW5XaWR0
aDoxMCx6SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxhPXRoaXMub3B0
aW9uczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZSIpO2UuZXh0ZW5kKHRoaXMs
e19hc3BlY3RSYXRpbzohIWEuYXNwZWN0UmF0aW8sYXNwZWN0UmF0aW86YS5hc3BlY3RSYXRpbyxv
cmlnaW5hbEVsZW1lbnQ6dGhpcy5lbGVtZW50LAorX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVu
dHM6W10sX2hlbHBlcjphLmhlbHBlcnx8YS5naG9zdHx8YS5hbmltYXRlP2EuaGVscGVyfHwidWkt
cmVzaXphYmxlLWhlbHBlciI6bnVsbH0pO2lmKHRoaXMuZWxlbWVudFswXS5ub2RlTmFtZS5tYXRj
aCgvY2FudmFzfHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0b258aW1nL2kpKXsvcmVsYXRpdmUv
LnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkmJmUuYnJvd3Nlci5vcGVyYSYmdGhp
cy5lbGVtZW50LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8i
fSk7dGhpcy5lbGVtZW50LndyYXAoZSgnPGRpdiBjbGFzcz0idWktd3JhcHBlciIgc3R5bGU9Im92
ZXJmbG93OiBoaWRkZW47Ij48L2Rpdj4nKS5jc3Moe3Bvc2l0aW9uOnRoaXMuZWxlbWVudC5jc3Mo
InBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5l
bGVtZW50Lm91dGVySGVpZ2h0KCksCit0b3A6dGhpcy5lbGVtZW50LmNzcygidG9wIiksbGVmdDp0
aGlzLmVsZW1lbnQuY3NzKCJsZWZ0Iil9KSk7dGhpcy5lbGVtZW50PXRoaXMuZWxlbWVudC5wYXJl
bnQoKS5kYXRhKCJyZXNpemFibGUiLHRoaXMuZWxlbWVudC5kYXRhKCJyZXNpemFibGUiKSk7dGhp
cy5lbGVtZW50SXNXcmFwcGVyPXRydWU7dGhpcy5lbGVtZW50LmNzcyh7bWFyZ2luTGVmdDp0aGlz
Lm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5Ub3A6dGhpcy5vcmlnaW5h
bEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdodDp0aGlzLm9yaWdpbmFsRWxlbWVu
dC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRoaXMub3JpZ2luYWxFbGVtZW50LmNz
cygibWFyZ2luQm90dG9tIil9KTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6
MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJvdHRvbTowfSk7dGhpcy5vcmlnaW5h
bFJlc2l6ZVN0eWxlPQordGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiKTt0aGlzLm9y
aWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsIm5vbmUiKTt0aGlzLl9wcm9wb3J0aW9uYWxseVJl
c2l6ZUVsZW1lbnRzLnB1c2godGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjoic3Rh
dGljIix6b29tOjEsZGlzcGxheToiYmxvY2sifSkpO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7
bWFyZ2luOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luIil9KTt0aGlzLl9wcm9wb3J0
aW9uYWxseVJlc2l6ZSgpfXRoaXMuaGFuZGxlcz1hLmhhbmRsZXN8fCghZSgiLnVpLXJlc2l6YWJs
ZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkubGVuZ3RoPyJlLHMsc2UiOntuOiIudWktcmVzaXphYmxl
LW4iLGU6Ii51aS1yZXNpemFibGUtZSIsczoiLnVpLXJlc2l6YWJsZS1zIix3OiIudWktcmVzaXph
YmxlLXciLHNlOiIudWktcmVzaXphYmxlLXNlIixzdzoiLnVpLXJlc2l6YWJsZS1zdyIsbmU6Ii51
aS1yZXNpemFibGUtbmUiLAorbnc6Ii51aS1yZXNpemFibGUtbncifSk7aWYodGhpcy5oYW5kbGVz
LmNvbnN0cnVjdG9yPT1TdHJpbmcpe2lmKHRoaXMuaGFuZGxlcz09ImFsbCIpdGhpcy5oYW5kbGVz
PSJuLGUscyx3LHNlLHN3LG5lLG53Ijt2YXIgYz10aGlzLmhhbmRsZXMuc3BsaXQoIiwiKTt0aGlz
LmhhbmRsZXM9e307Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWUudHJpbShjW2Rd
KSxnPWUoJzxkaXYgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5kbGUgJysoInVpLXJlc2l6YWJsZS0i
K2YpKyciPjwvZGl2PicpOy9zd3xzZXxuZXxudy8udGVzdChmKSYmZy5jc3Moe3pJbmRleDorK2Eu
ekluZGV4fSk7InNlIj09ZiYmZy5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdyaXBzbWFsbC1k
aWFnb25hbC1zZSIpO3RoaXMuaGFuZGxlc1tmXT0iLnVpLXJlc2l6YWJsZS0iK2Y7dGhpcy5lbGVt
ZW50LmFwcGVuZChnKX19dGhpcy5fcmVuZGVyQXhpcz1mdW5jdGlvbihoKXtoPWh8fHRoaXMuZWxl
bWVudDtmb3IodmFyIGkgaW4gdGhpcy5oYW5kbGVzKXtpZih0aGlzLmhhbmRsZXNbaV0uY29uc3Ry
dWN0b3I9PQorU3RyaW5nKXRoaXMuaGFuZGxlc1tpXT1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVs
ZW1lbnQpLnNob3coKTtpZih0aGlzLmVsZW1lbnRJc1dyYXBwZXImJnRoaXMub3JpZ2luYWxFbGVt
ZW50WzBdLm5vZGVOYW1lLm1hdGNoKC90ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9uL2kpKXt2
YXIgaj1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLGw9MDtsPS9zd3xuZXxud3xzZXxu
fHMvLnRlc3QoaSk/ai5vdXRlckhlaWdodCgpOmoub3V0ZXJXaWR0aCgpO2o9WyJwYWRkaW5nIiwv
bmV8bnd8bi8udGVzdChpKT8iVG9wIjovc2V8c3d8cy8udGVzdChpKT8iQm90dG9tIjovXmUkLy50
ZXN0KGkpPyJSaWdodCI6IkxlZnQiXS5qb2luKCIiKTtoLmNzcyhqLGwpO3RoaXMuX3Byb3BvcnRp
b25hbGx5UmVzaXplKCl9ZSh0aGlzLmhhbmRsZXNbaV0pfX07dGhpcy5fcmVuZGVyQXhpcyh0aGlz
LmVsZW1lbnQpO3RoaXMuX2hhbmRsZXM9ZSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxl
bWVudCkuZGlzYWJsZVNlbGVjdGlvbigpOwordGhpcy5faGFuZGxlcy5tb3VzZW92ZXIoZnVuY3Rp
b24oKXtpZighYi5yZXNpemluZyl7aWYodGhpcy5jbGFzc05hbWUpdmFyIGg9dGhpcy5jbGFzc05h
bWUubWF0Y2goL3VpLXJlc2l6YWJsZS0oc2V8c3d8bmV8bnd8bnxlfHN8dykvaSk7Yi5heGlzPWgm
JmhbMV0/aFsxXToic2UifX0pO2lmKGEuYXV0b0hpZGUpe3RoaXMuX2hhbmRsZXMuaGlkZSgpO2Uo
dGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikuaG92ZXIoZnVu
Y3Rpb24oKXtpZighYS5kaXNhYmxlZCl7ZSh0aGlzKS5yZW1vdmVDbGFzcygidWktcmVzaXphYmxl
LWF1dG9oaWRlIik7Yi5faGFuZGxlcy5zaG93KCl9fSxmdW5jdGlvbigpe2lmKCFhLmRpc2FibGVk
KWlmKCFiLnJlc2l6aW5nKXtlKHRoaXMpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUi
KTtiLl9oYW5kbGVzLmhpZGUoKX19KX10aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlv
bigpe3RoaXMuX21vdXNlRGVzdHJveSgpOwordmFyIGI9ZnVuY3Rpb24oYyl7ZShjKS5yZW1vdmVD
bGFzcygidWktcmVzaXphYmxlIHVpLXJlc2l6YWJsZS1kaXNhYmxlZCB1aS1yZXNpemFibGUtcmVz
aXppbmciKS5yZW1vdmVEYXRhKCJyZXNpemFibGUiKS51bmJpbmQoIi5yZXNpemFibGUiKS5maW5k
KCIudWktcmVzaXphYmxlLWhhbmRsZSIpLnJlbW92ZSgpfTtpZih0aGlzLmVsZW1lbnRJc1dyYXBw
ZXIpe2IodGhpcy5lbGVtZW50KTt2YXIgYT10aGlzLmVsZW1lbnQ7YS5hZnRlcih0aGlzLm9yaWdp
bmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOmEuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOmEub3V0ZXJX
aWR0aCgpLGhlaWdodDphLm91dGVySGVpZ2h0KCksdG9wOmEuY3NzKCJ0b3AiKSxsZWZ0OmEuY3Nz
KCJsZWZ0Iil9KSkucmVtb3ZlKCl9dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLHRo
aXMub3JpZ2luYWxSZXNpemVTdHlsZSk7Yih0aGlzLm9yaWdpbmFsRWxlbWVudCk7cmV0dXJuIHRo
aXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oYil7dmFyIGE9CitmYWxzZTtmb3IodmFyIGMgaW4g
dGhpcy5oYW5kbGVzKWlmKGUodGhpcy5oYW5kbGVzW2NdKVswXT09Yi50YXJnZXQpYT10cnVlO3Jl
dHVybiF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmF9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGIpe3Zh
ciBhPXRoaXMub3B0aW9ucyxjPXRoaXMuZWxlbWVudC5wb3NpdGlvbigpLGQ9dGhpcy5lbGVtZW50
O3RoaXMucmVzaXppbmc9dHJ1ZTt0aGlzLmRvY3VtZW50U2Nyb2xsPXt0b3A6ZShkb2N1bWVudCku
c2Nyb2xsVG9wKCksbGVmdDplKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCl9O2lmKGQuaXMoIi51aS1k
cmFnZ2FibGUiKXx8L2Fic29sdXRlLy50ZXN0KGQuY3NzKCJwb3NpdGlvbiIpKSlkLmNzcyh7cG9z
aXRpb246ImFic29sdXRlIix0b3A6Yy50b3AsbGVmdDpjLmxlZnR9KTtlLmJyb3dzZXIub3BlcmEm
Ji9yZWxhdGl2ZS8udGVzdChkLmNzcygicG9zaXRpb24iKSkmJmQuY3NzKHtwb3NpdGlvbjoicmVs
YXRpdmUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KTsKK3RoaXMuX3JlbmRlclByb3h5KCk7Yz1t
KHRoaXMuaGVscGVyLmNzcygibGVmdCIpKTt2YXIgZj1tKHRoaXMuaGVscGVyLmNzcygidG9wIikp
O2lmKGEuY29udGFpbm1lbnQpe2MrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpfHwwO2Yr
PWUoYS5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDB9dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIu
b2Zmc2V0KCk7dGhpcy5wb3NpdGlvbj17bGVmdDpjLHRvcDpmfTt0aGlzLnNpemU9dGhpcy5faGVs
cGVyP3t3aWR0aDpkLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZC5vdXRlckhlaWdodCgpfTp7d2lkdGg6
ZC53aWR0aCgpLGhlaWdodDpkLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsU2l6ZT10aGlzLl9oZWxw
ZXI/e3dpZHRoOmQub3V0ZXJXaWR0aCgpLGhlaWdodDpkLm91dGVySGVpZ2h0KCl9Ont3aWR0aDpk
LndpZHRoKCksaGVpZ2h0OmQuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxQb3NpdGlvbj17bGVmdDpj
LHRvcDpmfTt0aGlzLnNpemVEaWZmPQore3dpZHRoOmQub3V0ZXJXaWR0aCgpLWQud2lkdGgoKSxo
ZWlnaHQ6ZC5vdXRlckhlaWdodCgpLWQuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxNb3VzZVBvc2l0
aW9uPXtsZWZ0OmIucGFnZVgsdG9wOmIucGFnZVl9O3RoaXMuYXNwZWN0UmF0aW89dHlwZW9mIGEu
YXNwZWN0UmF0aW89PSJudW1iZXIiP2EuYXNwZWN0UmF0aW86dGhpcy5vcmlnaW5hbFNpemUud2lk
dGgvdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0fHwxO2E9ZSgiLnVpLXJlc2l6YWJsZS0iK3RoaXMu
YXhpcykuY3NzKCJjdXJzb3IiKTtlKCJib2R5IikuY3NzKCJjdXJzb3IiLGE9PSJhdXRvIj90aGlz
LmF4aXMrIi1yZXNpemUiOmEpO2QuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3Ro
aXMuX3Byb3BhZ2F0ZSgic3RhcnQiLGIpO3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9u
KGIpe3ZhciBhPXRoaXMuaGVscGVyLGM9dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sZD10aGlz
Ll9jaGFuZ2VbdGhpcy5heGlzXTsKK2lmKCFkKXJldHVybiBmYWxzZTtjPWQuYXBwbHkodGhpcyxb
YixiLnBhZ2VYLWMubGVmdHx8MCxiLnBhZ2VZLWMudG9wfHwwXSk7dGhpcy5fdXBkYXRlVmlydHVh
bEJvdW5kYXJpZXMoYi5zaGlmdEtleSk7aWYodGhpcy5fYXNwZWN0UmF0aW98fGIuc2hpZnRLZXkp
Yz10aGlzLl91cGRhdGVSYXRpbyhjLGIpO2M9dGhpcy5fcmVzcGVjdFNpemUoYyxiKTt0aGlzLl9w
cm9wYWdhdGUoInJlc2l6ZSIsYik7YS5jc3Moe3RvcDp0aGlzLnBvc2l0aW9uLnRvcCsicHgiLGxl
ZnQ6dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsd2lkdGg6dGhpcy5zaXplLndpZHRoKyJweCIsaGVp
Z2h0OnRoaXMuc2l6ZS5oZWlnaHQrInB4In0pOyF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRp
b25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgp
O3RoaXMuX3VwZGF0ZUNhY2hlKGMpO3RoaXMuX3RyaWdnZXIoInJlc2l6ZSIsYix0aGlzLnVpKCkp
O3JldHVybiBmYWxzZX0sCitfbW91c2VTdG9wOmZ1bmN0aW9uKGIpe3RoaXMucmVzaXppbmc9ZmFs
c2U7dmFyIGE9dGhpcy5vcHRpb25zLGM9dGhpcztpZih0aGlzLl9oZWxwZXIpe3ZhciBkPXRoaXMu
X3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsZj1kLmxlbmd0aCYmL3RleHRhcmVhL2kudGVz
dChkWzBdLm5vZGVOYW1lKTtkPWYmJmUudWkuaGFzU2Nyb2xsKGRbMF0sImxlZnQiKT8wOmMuc2l6
ZURpZmYuaGVpZ2h0O2Y9Zj8wOmMuc2l6ZURpZmYud2lkdGg7Zj17d2lkdGg6Yy5oZWxwZXIud2lk
dGgoKS1mLGhlaWdodDpjLmhlbHBlci5oZWlnaHQoKS1kfTtkPXBhcnNlSW50KGMuZWxlbWVudC5j
c3MoImxlZnQiKSwxMCkrKGMucG9zaXRpb24ubGVmdC1jLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8
fG51bGw7dmFyIGc9cGFyc2VJbnQoYy5lbGVtZW50LmNzcygidG9wIiksMTApKyhjLnBvc2l0aW9u
LnRvcC1jLm9yaWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDthLmFuaW1hdGV8fHRoaXMuZWxlbWVu
dC5jc3MoZS5leHRlbmQoZiwKK3t0b3A6ZyxsZWZ0OmR9KSk7Yy5oZWxwZXIuaGVpZ2h0KGMuc2l6
ZS5oZWlnaHQpO2MuaGVscGVyLndpZHRoKGMuc2l6ZS53aWR0aCk7dGhpcy5faGVscGVyJiYhYS5h
bmltYXRlJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfWUoImJvZHkiKS5jc3MoImN1cnNv
ciIsImF1dG8iKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemlu
ZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsYik7dGhpcy5faGVscGVyJiZ0aGlzLmhlbHBlci5y
ZW1vdmUoKTtyZXR1cm4gZmFsc2V9LF91cGRhdGVWaXJ0dWFsQm91bmRhcmllczpmdW5jdGlvbihi
KXt2YXIgYT10aGlzLm9wdGlvbnMsYyxkLGY7YT17bWluV2lkdGg6ayhhLm1pbldpZHRoKT9hLm1p
bldpZHRoOjAsbWF4V2lkdGg6ayhhLm1heFdpZHRoKT9hLm1heFdpZHRoOkluZmluaXR5LG1pbkhl
aWdodDprKGEubWluSGVpZ2h0KT9hLm1pbkhlaWdodDowLG1heEhlaWdodDprKGEubWF4SGVpZ2h0
KT9hLm1heEhlaWdodDoKK0luZmluaXR5fTtpZih0aGlzLl9hc3BlY3RSYXRpb3x8Yil7Yj1hLm1p
bkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvO2Q9YS5taW5XaWR0aC90aGlzLmFzcGVjdFJhdGlvO2M9
YS5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbztmPWEubWF4V2lkdGgvdGhpcy5hc3BlY3RSYXRp
bztpZihiPmEubWluV2lkdGgpYS5taW5XaWR0aD1iO2lmKGQ+YS5taW5IZWlnaHQpYS5taW5IZWln
aHQ9ZDtpZihjPGEubWF4V2lkdGgpYS5tYXhXaWR0aD1jO2lmKGY8YS5tYXhIZWlnaHQpYS5tYXhI
ZWlnaHQ9Zn10aGlzLl92Qm91bmRhcmllcz1hfSxfdXBkYXRlQ2FjaGU6ZnVuY3Rpb24oYil7dGhp
cy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7aWYoayhiLmxlZnQpKXRoaXMucG9zaXRpb24u
bGVmdD1iLmxlZnQ7aWYoayhiLnRvcCkpdGhpcy5wb3NpdGlvbi50b3A9Yi50b3A7aWYoayhiLmhl
aWdodCkpdGhpcy5zaXplLmhlaWdodD1iLmhlaWdodDtpZihrKGIud2lkdGgpKXRoaXMuc2l6ZS53
aWR0aD0KK2Iud2lkdGh9LF91cGRhdGVSYXRpbzpmdW5jdGlvbihiKXt2YXIgYT10aGlzLnBvc2l0
aW9uLGM9dGhpcy5zaXplLGQ9dGhpcy5heGlzO2lmKGsoYi5oZWlnaHQpKWIud2lkdGg9Yi5oZWln
aHQqdGhpcy5hc3BlY3RSYXRpbztlbHNlIGlmKGsoYi53aWR0aCkpYi5oZWlnaHQ9Yi53aWR0aC90
aGlzLmFzcGVjdFJhdGlvO2lmKGQ9PSJzdyIpe2IubGVmdD1hLmxlZnQrKGMud2lkdGgtYi53aWR0
aCk7Yi50b3A9bnVsbH1pZihkPT0ibnciKXtiLnRvcD1hLnRvcCsoYy5oZWlnaHQtYi5oZWlnaHQp
O2IubGVmdD1hLmxlZnQrKGMud2lkdGgtYi53aWR0aCl9cmV0dXJuIGJ9LF9yZXNwZWN0U2l6ZTpm
dW5jdGlvbihiKXt2YXIgYT10aGlzLl92Qm91bmRhcmllcyxjPXRoaXMuYXhpcyxkPWsoYi53aWR0
aCkmJmEubWF4V2lkdGgmJmEubWF4V2lkdGg8Yi53aWR0aCxmPWsoYi5oZWlnaHQpJiZhLm1heEhl
aWdodCYmYS5tYXhIZWlnaHQ8Yi5oZWlnaHQsZz1rKGIud2lkdGgpJiZhLm1pbldpZHRoJiYKK2Eu
bWluV2lkdGg+Yi53aWR0aCxoPWsoYi5oZWlnaHQpJiZhLm1pbkhlaWdodCYmYS5taW5IZWlnaHQ+
Yi5oZWlnaHQ7aWYoZyliLndpZHRoPWEubWluV2lkdGg7aWYoaCliLmhlaWdodD1hLm1pbkhlaWdo
dDtpZihkKWIud2lkdGg9YS5tYXhXaWR0aDtpZihmKWIuaGVpZ2h0PWEubWF4SGVpZ2h0O3ZhciBp
PXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3JpZ2luYWxTaXplLndpZHRoLGo9dGhp
cy5wb3NpdGlvbi50b3ArdGhpcy5zaXplLmhlaWdodCxsPS9zd3xud3x3Ly50ZXN0KGMpO2M9L253
fG5lfG4vLnRlc3QoYyk7aWYoZyYmbCliLmxlZnQ9aS1hLm1pbldpZHRoO2lmKGQmJmwpYi5sZWZ0
PWktYS5tYXhXaWR0aDtpZihoJiZjKWIudG9wPWotYS5taW5IZWlnaHQ7aWYoZiYmYyliLnRvcD1q
LWEubWF4SGVpZ2h0O2lmKChhPSFiLndpZHRoJiYhYi5oZWlnaHQpJiYhYi5sZWZ0JiZiLnRvcCli
LnRvcD1udWxsO2Vsc2UgaWYoYSYmIWIudG9wJiZiLmxlZnQpYi5sZWZ0PQorbnVsbDtyZXR1cm4g
Yn0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvcG9ydGlvbmFs
bHlSZXNpemVFbGVtZW50cy5sZW5ndGgpZm9yKHZhciBiPXRoaXMuaGVscGVyfHx0aGlzLmVsZW1l
bnQsYT0wO2E8dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGg7YSsrKXt2
YXIgYz10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzW2FdO2lmKCF0aGlzLmJvcmRl
ckRpZil7dmFyIGQ9W2MuY3NzKCJib3JkZXJUb3BXaWR0aCIpLGMuY3NzKCJib3JkZXJSaWdodFdp
ZHRoIiksYy5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksYy5jc3MoImJvcmRlckxlZnRXaWR0aCIp
XSxmPVtjLmNzcygicGFkZGluZ1RvcCIpLGMuY3NzKCJwYWRkaW5nUmlnaHQiKSxjLmNzcygicGFk
ZGluZ0JvdHRvbSIpLGMuY3NzKCJwYWRkaW5nTGVmdCIpXTt0aGlzLmJvcmRlckRpZj1lLm1hcChk
LGZ1bmN0aW9uKGcsaCl7Zz1wYXJzZUludChnLDEwKXx8CiswO2g9cGFyc2VJbnQoZltoXSwxMCl8
fDA7cmV0dXJuIGcraH0pfWUuYnJvd3Nlci5tc2llJiYoZShiKS5pcygiOmhpZGRlbiIpfHxlKGIp
LnBhcmVudHMoIjpoaWRkZW4iKS5sZW5ndGgpfHxjLmNzcyh7aGVpZ2h0OmIuaGVpZ2h0KCktdGhp
cy5ib3JkZXJEaWZbMF0tdGhpcy5ib3JkZXJEaWZbMl18fDAsd2lkdGg6Yi53aWR0aCgpLXRoaXMu
Ym9yZGVyRGlmWzFdLXRoaXMuYm9yZGVyRGlmWzNdfHwwfSl9fSxfcmVuZGVyUHJveHk6ZnVuY3Rp
b24oKXt2YXIgYj10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMuZWxlbWVudC5v
ZmZzZXQoKTtpZih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVyPXRoaXMuaGVscGVyfHxlKCc8ZGl2
IHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYT1lLmJyb3dzZXIubXNpZSYm
ZS5icm93c2VyLnZlcnNpb248NyxjPWE/MTowO2E9YT8yOi0xO3RoaXMuaGVscGVyLmFkZENsYXNz
KHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKworYSxo
ZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkrYSxwb3NpdGlvbjoiYWJzb2x1dGUiLGxl
ZnQ6dGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtYysicHgiLHRvcDp0aGlzLmVsZW1lbnRPZmZzZXQu
dG9wLWMrInB4Iix6SW5kZXg6KytiLnpJbmRleH0pO3RoaXMuaGVscGVyLmFwcGVuZFRvKCJib2R5
IikuZGlzYWJsZVNlbGVjdGlvbigpfWVsc2UgdGhpcy5oZWxwZXI9dGhpcy5lbGVtZW50fSxfY2hh
bmdlOntlOmZ1bmN0aW9uKGIsYSl7cmV0dXJue3dpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRo
K2F9fSx3OmZ1bmN0aW9uKGIsYSl7cmV0dXJue2xlZnQ6dGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxl
ZnQrYSx3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC1hfX0sbjpmdW5jdGlvbihiLGEsYyl7
cmV0dXJue3RvcDp0aGlzLm9yaWdpbmFsUG9zaXRpb24udG9wK2MsaGVpZ2h0OnRoaXMub3JpZ2lu
YWxTaXplLmhlaWdodC1jfX0sczpmdW5jdGlvbihiLGEsYyl7cmV0dXJue2hlaWdodDp0aGlzLm9y
aWdpbmFsU2l6ZS5oZWlnaHQrCitjfX0sc2U6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVu
ZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBw
bHkodGhpcyxbYixhLGNdKSl9LHN3OmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4gZS5leHRlbmQodGhp
cy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRo
aXMsW2IsYSxjXSkpfSxuZTpmdW5jdGlvbihiLGEsYyl7cmV0dXJuIGUuZXh0ZW5kKHRoaXMuX2No
YW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFti
LGEsY10pKX0sbnc6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uu
bi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbYixhLGNd
KSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKGIsYSl7ZS51aS5wbHVnaW4uY2FsbCh0aGlzLGIsW2Es
dGhpcy51aSgpXSk7CitiIT0icmVzaXplIiYmdGhpcy5fdHJpZ2dlcihiLGEsdGhpcy51aSgpKX0s
cGx1Z2luczp7fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmlnaW5hbEVsZW1lbnQ6dGhpcy5vcmln
aW5hbEVsZW1lbnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVscGVyOnRoaXMuaGVscGVyLHBvc2l0
aW9uOnRoaXMucG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3JpZ2luYWxTaXplOnRoaXMub3JpZ2lu
YWxTaXplLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5hbFBvc2l0aW9ufX19KTtlLmV4dGVu
ZChlLnVpLnJlc2l6YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pO2UudWkucGx1Z2luLmFkZCgicmVz
aXphYmxlIiwiYWxzb1Jlc2l6ZSIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRh
KCJyZXNpemFibGUiKS5vcHRpb25zLGE9ZnVuY3Rpb24oYyl7ZShjKS5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGQ9ZSh0aGlzKTtkLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIix7d2lkdGg6cGFyc2VJ
bnQoZC53aWR0aCgpLAorMTApLGhlaWdodDpwYXJzZUludChkLmhlaWdodCgpLDEwKSxsZWZ0OnBh
cnNlSW50KGQuY3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUludChkLmNzcygidG9wIiksMTApLHBv
c2l0aW9uOmQuY3NzKCJwb3NpdGlvbiIpfSl9KX07aWYodHlwZW9mIGIuYWxzb1Jlc2l6ZT09Im9i
amVjdCImJiFiLmFsc29SZXNpemUucGFyZW50Tm9kZSlpZihiLmFsc29SZXNpemUubGVuZ3RoKXti
LmFsc29SZXNpemU9Yi5hbHNvUmVzaXplWzBdO2EoYi5hbHNvUmVzaXplKX1lbHNlIGUuZWFjaChi
LmFsc29SZXNpemUsZnVuY3Rpb24oYyl7YShjKX0pO2Vsc2UgYShiLmFsc29SZXNpemUpfSxyZXNp
emU6ZnVuY3Rpb24oYixhKXt2YXIgYz1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpO2I9Yy5vcHRp
b25zO3ZhciBkPWMub3JpZ2luYWxTaXplLGY9Yy5vcmlnaW5hbFBvc2l0aW9uLGc9e2hlaWdodDpj
LnNpemUuaGVpZ2h0LWQuaGVpZ2h0fHwwLHdpZHRoOmMuc2l6ZS53aWR0aC1kLndpZHRofHwwLHRv
cDpjLnBvc2l0aW9uLnRvcC0KK2YudG9wfHwwLGxlZnQ6Yy5wb3NpdGlvbi5sZWZ0LWYubGVmdHx8
MH0saD1mdW5jdGlvbihpLGope2UoaSkuZWFjaChmdW5jdGlvbigpe3ZhciBsPWUodGhpcykscT1l
KHRoaXMpLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIikscD17fSxyPWomJmoubGVuZ3RoP2o6
bC5wYXJlbnRzKGEub3JpZ2luYWxFbGVtZW50WzBdKS5sZW5ndGg/WyJ3aWR0aCIsImhlaWdodCJd
Olsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJsZWZ0Il07ZS5lYWNoKHIsZnVuY3Rpb24obixvKXtp
Zigobj0ocVtvXXx8MCkrKGdbb118fDApKSYmbj49MClwW29dPW58fG51bGx9KTtpZihlLmJyb3dz
ZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChsLmNzcygicG9zaXRpb24iKSkpe2MuX3JldmVydFRv
UmVsYXRpdmVQb3NpdGlvbj10cnVlO2wuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiYXV0
byIsbGVmdDoiYXV0byJ9KX1sLmNzcyhwKX0pfTt0eXBlb2YgYi5hbHNvUmVzaXplPT0ib2JqZWN0
IiYmIWIuYWxzb1Jlc2l6ZS5ub2RlVHlwZT8KK2UuZWFjaChiLmFsc29SZXNpemUsZnVuY3Rpb24o
aSxqKXtoKGksail9KTpoKGIuYWxzb1Jlc2l6ZSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYj1lKHRo
aXMpLmRhdGEoInJlc2l6YWJsZSIpLGE9Yi5vcHRpb25zLGM9ZnVuY3Rpb24oZCl7ZShkKS5lYWNo
KGZ1bmN0aW9uKCl7dmFyIGY9ZSh0aGlzKTtmLmNzcyh7cG9zaXRpb246Zi5kYXRhKCJyZXNpemFi
bGUtYWxzb3Jlc2l6ZSIpLnBvc2l0aW9ufSl9KX07aWYoYi5fcmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0
aW9uKXtiLl9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249ZmFsc2U7dHlwZW9mIGEuYWxzb1Jlc2l6
ZT09Im9iamVjdCImJiFhLmFsc29SZXNpemUubm9kZVR5cGU/ZS5lYWNoKGEuYWxzb1Jlc2l6ZSxm
dW5jdGlvbihkKXtjKGQpfSk6YyhhLmFsc29SZXNpemUpfWUodGhpcykucmVtb3ZlRGF0YSgicmVz
aXphYmxlLWFsc29yZXNpemUiKX19KTtlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFuaW1h
dGUiLHtzdG9wOmZ1bmN0aW9uKGIpe3ZhciBhPQorZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxj
PWEub3B0aW9ucyxkPWEuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsZj1kLmxlbmd0aCYm
L3RleHRhcmVhL2kudGVzdChkWzBdLm5vZGVOYW1lKSxnPWYmJmUudWkuaGFzU2Nyb2xsKGRbMF0s
ImxlZnQiKT8wOmEuc2l6ZURpZmYuaGVpZ2h0O2Y9e3dpZHRoOmEuc2l6ZS53aWR0aC0oZj8wOmEu
c2l6ZURpZmYud2lkdGgpLGhlaWdodDphLnNpemUuaGVpZ2h0LWd9O2c9cGFyc2VJbnQoYS5lbGVt
ZW50LmNzcygibGVmdCIpLDEwKSsoYS5wb3NpdGlvbi5sZWZ0LWEub3JpZ2luYWxQb3NpdGlvbi5s
ZWZ0KXx8bnVsbDt2YXIgaD1wYXJzZUludChhLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCkrKGEucG9z
aXRpb24udG9wLWEub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsO2EuZWxlbWVudC5hbmltYXRl
KGUuZXh0ZW5kKGYsaCYmZz97dG9wOmgsbGVmdDpnfTp7fSkse2R1cmF0aW9uOmMuYW5pbWF0ZUR1
cmF0aW9uLGVhc2luZzpjLmFuaW1hdGVFYXNpbmcsCitzdGVwOmZ1bmN0aW9uKCl7dmFyIGk9e3dp
ZHRoOnBhcnNlSW50KGEuZWxlbWVudC5jc3MoIndpZHRoIiksMTApLGhlaWdodDpwYXJzZUludChh
LmVsZW1lbnQuY3NzKCJoZWlnaHQiKSwxMCksdG9wOnBhcnNlSW50KGEuZWxlbWVudC5jc3MoInRv
cCIpLDEwKSxsZWZ0OnBhcnNlSW50KGEuZWxlbWVudC5jc3MoImxlZnQiKSwxMCl9O2QmJmQubGVu
Z3RoJiZlKGRbMF0pLmNzcyh7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9KTthLl91cGRh
dGVDYWNoZShpKTthLl9wcm9wYWdhdGUoInJlc2l6ZSIsYil9fSl9fSk7ZS51aS5wbHVnaW4uYWRk
KCJyZXNpemFibGUiLCJjb250YWlubWVudCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlz
KS5kYXRhKCJyZXNpemFibGUiKSxhPWIuZWxlbWVudCxjPWIub3B0aW9ucy5jb250YWlubWVudDtp
ZihhPWMgaW5zdGFuY2VvZiBlP2MuZ2V0KDApOi9wYXJlbnQvLnRlc3QoYyk/YS5wYXJlbnQoKS5n
ZXQoMCk6Yyl7Yi5jb250YWluZXJFbGVtZW50PQorZShhKTtpZigvZG9jdW1lbnQvLnRlc3QoYyl8
fGM9PWRvY3VtZW50KXtiLmNvbnRhaW5lck9mZnNldD17bGVmdDowLHRvcDowfTtiLmNvbnRhaW5l
clBvc2l0aW9uPXtsZWZ0OjAsdG9wOjB9O2IucGFyZW50RGF0YT17ZWxlbWVudDplKGRvY3VtZW50
KSxsZWZ0OjAsdG9wOjAsd2lkdGg6ZShkb2N1bWVudCkud2lkdGgoKSxoZWlnaHQ6ZShkb2N1bWVu
dCkuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHR9fWVsc2V7
dmFyIGQ9ZShhKSxmPVtdO2UoWyJUb3AiLCJSaWdodCIsIkxlZnQiLCJCb3R0b20iXSkuZWFjaChm
dW5jdGlvbihpLGope2ZbaV09bShkLmNzcygicGFkZGluZyIraikpfSk7Yi5jb250YWluZXJPZmZz
ZXQ9ZC5vZmZzZXQoKTtiLmNvbnRhaW5lclBvc2l0aW9uPWQucG9zaXRpb24oKTtiLmNvbnRhaW5l
clNpemU9e2hlaWdodDpkLmlubmVySGVpZ2h0KCktZlszXSx3aWR0aDpkLmlubmVyV2lkdGgoKS1m
WzFdfTtjPWIuY29udGFpbmVyT2Zmc2V0OwordmFyIGc9Yi5jb250YWluZXJTaXplLmhlaWdodCxo
PWIuY29udGFpbmVyU2l6ZS53aWR0aDtoPWUudWkuaGFzU2Nyb2xsKGEsImxlZnQiKT9hLnNjcm9s
bFdpZHRoOmg7Zz1lLnVpLmhhc1Njcm9sbChhKT9hLnNjcm9sbEhlaWdodDpnO2IucGFyZW50RGF0
YT17ZWxlbWVudDphLGxlZnQ6Yy5sZWZ0LHRvcDpjLnRvcCx3aWR0aDpoLGhlaWdodDpnfX19fSxy
ZXNpemU6ZnVuY3Rpb24oYil7dmFyIGE9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxjPWEub3B0
aW9ucyxkPWEuY29udGFpbmVyT2Zmc2V0LGY9YS5wb3NpdGlvbjtiPWEuX2FzcGVjdFJhdGlvfHxi
LnNoaWZ0S2V5O3ZhciBnPXt0b3A6MCxsZWZ0OjB9LGg9YS5jb250YWluZXJFbGVtZW50O2lmKGhb
MF0hPWRvY3VtZW50JiYvc3RhdGljLy50ZXN0KGguY3NzKCJwb3NpdGlvbiIpKSlnPWQ7aWYoZi5s
ZWZ0PChhLl9oZWxwZXI/ZC5sZWZ0OjApKXthLnNpemUud2lkdGgrPWEuX2hlbHBlcj9hLnBvc2l0
aW9uLmxlZnQtZC5sZWZ0OgorYS5wb3NpdGlvbi5sZWZ0LWcubGVmdDtpZihiKWEuc2l6ZS5oZWln
aHQ9YS5zaXplLndpZHRoL2MuYXNwZWN0UmF0aW87YS5wb3NpdGlvbi5sZWZ0PWMuaGVscGVyP2Qu
bGVmdDowfWlmKGYudG9wPChhLl9oZWxwZXI/ZC50b3A6MCkpe2Euc2l6ZS5oZWlnaHQrPWEuX2hl
bHBlcj9hLnBvc2l0aW9uLnRvcC1kLnRvcDphLnBvc2l0aW9uLnRvcDtpZihiKWEuc2l6ZS53aWR0
aD1hLnNpemUuaGVpZ2h0KmMuYXNwZWN0UmF0aW87YS5wb3NpdGlvbi50b3A9YS5faGVscGVyP2Qu
dG9wOjB9YS5vZmZzZXQubGVmdD1hLnBhcmVudERhdGEubGVmdCthLnBvc2l0aW9uLmxlZnQ7YS5v
ZmZzZXQudG9wPWEucGFyZW50RGF0YS50b3ArYS5wb3NpdGlvbi50b3A7Yz1NYXRoLmFicygoYS5f
aGVscGVyP2Eub2Zmc2V0LmxlZnQtZy5sZWZ0OmEub2Zmc2V0LmxlZnQtZy5sZWZ0KSthLnNpemVE
aWZmLndpZHRoKTtkPU1hdGguYWJzKChhLl9oZWxwZXI/YS5vZmZzZXQudG9wLWcudG9wOmEub2Zm
c2V0LnRvcC0KK2QudG9wKSthLnNpemVEaWZmLmhlaWdodCk7Zj1hLmNvbnRhaW5lckVsZW1lbnQu
Z2V0KDApPT1hLmVsZW1lbnQucGFyZW50KCkuZ2V0KDApO2c9L3JlbGF0aXZlfGFic29sdXRlLy50
ZXN0KGEuY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9uIikpO2lmKGYmJmcpYy09YS5wYXJl
bnREYXRhLmxlZnQ7aWYoYythLnNpemUud2lkdGg+PWEucGFyZW50RGF0YS53aWR0aCl7YS5zaXpl
LndpZHRoPWEucGFyZW50RGF0YS53aWR0aC1jO2lmKGIpYS5zaXplLmhlaWdodD1hLnNpemUud2lk
dGgvYS5hc3BlY3RSYXRpb31pZihkK2Euc2l6ZS5oZWlnaHQ+PWEucGFyZW50RGF0YS5oZWlnaHQp
e2Euc2l6ZS5oZWlnaHQ9YS5wYXJlbnREYXRhLmhlaWdodC1kO2lmKGIpYS5zaXplLndpZHRoPWEu
c2l6ZS5oZWlnaHQqYS5hc3BlY3RSYXRpb319LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMp
LmRhdGEoInJlc2l6YWJsZSIpLGE9Yi5vcHRpb25zLGM9Yi5jb250YWluZXJPZmZzZXQsZD1iLmNv
bnRhaW5lclBvc2l0aW9uLAorZj1iLmNvbnRhaW5lckVsZW1lbnQsZz1lKGIuaGVscGVyKSxoPWcu
b2Zmc2V0KCksaT1nLm91dGVyV2lkdGgoKS1iLnNpemVEaWZmLndpZHRoO2c9Zy5vdXRlckhlaWdo
dCgpLWIuc2l6ZURpZmYuaGVpZ2h0O2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3JlbGF0aXZlLy50
ZXN0KGYuY3NzKCJwb3NpdGlvbiIpKSYmZSh0aGlzKS5jc3Moe2xlZnQ6aC5sZWZ0LWQubGVmdC1j
LmxlZnQsd2lkdGg6aSxoZWlnaHQ6Z30pO2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3N0YXRpYy8u
dGVzdChmLmNzcygicG9zaXRpb24iKSkmJmUodGhpcykuY3NzKHtsZWZ0OmgubGVmdC1kLmxlZnQt
Yy5sZWZ0LHdpZHRoOmksaGVpZ2h0Omd9KX19KTtlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIs
Imdob3N0Iix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIp
LGE9Yi5vcHRpb25zLGM9Yi5zaXplO2IuZ2hvc3Q9Yi5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKTti
Lmdob3N0LmNzcyh7b3BhY2l0eTowLjI1LAorZGlzcGxheToiYmxvY2siLHBvc2l0aW9uOiJyZWxh
dGl2ZSIsaGVpZ2h0OmMuaGVpZ2h0LHdpZHRoOmMud2lkdGgsbWFyZ2luOjAsbGVmdDowLHRvcDow
fSkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFkZENsYXNzKHR5cGVvZiBhLmdob3N0
PT0ic3RyaW5nIj9hLmdob3N0OiIiKTtiLmdob3N0LmFwcGVuZFRvKGIuaGVscGVyKX0scmVzaXpl
OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKTtiLmdob3N0JiZiLmdo
b3N0LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6Yi5zaXplLmhlaWdodCx3aWR0aDpi
LnNpemUud2lkdGh9KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBiPWUodGhpcykuZGF0YSgicmVzaXph
YmxlIik7Yi5naG9zdCYmYi5oZWxwZXImJmIuaGVscGVyLmdldCgwKS5yZW1vdmVDaGlsZChiLmdo
b3N0LmdldCgwKSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJncmlkIix7cmVzaXpl
OmZ1bmN0aW9uKCl7dmFyIGI9CitlKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGE9Yi5vcHRpb25z
LGM9Yi5zaXplLGQ9Yi5vcmlnaW5hbFNpemUsZj1iLm9yaWdpbmFsUG9zaXRpb24sZz1iLmF4aXM7
YS5ncmlkPXR5cGVvZiBhLmdyaWQ9PSJudW1iZXIiP1thLmdyaWQsYS5ncmlkXTphLmdyaWQ7dmFy
IGg9TWF0aC5yb3VuZCgoYy53aWR0aC1kLndpZHRoKS8oYS5ncmlkWzBdfHwxKSkqKGEuZ3JpZFsw
XXx8MSk7YT1NYXRoLnJvdW5kKChjLmhlaWdodC1kLmhlaWdodCkvKGEuZ3JpZFsxXXx8MSkpKihh
LmdyaWRbMV18fDEpO2lmKC9eKHNlfHN8ZSkkLy50ZXN0KGcpKXtiLnNpemUud2lkdGg9ZC53aWR0
aCtoO2Iuc2l6ZS5oZWlnaHQ9ZC5oZWlnaHQrYX1lbHNlIGlmKC9eKG5lKSQvLnRlc3QoZykpe2Iu
c2l6ZS53aWR0aD1kLndpZHRoK2g7Yi5zaXplLmhlaWdodD1kLmhlaWdodCthO2IucG9zaXRpb24u
dG9wPWYudG9wLWF9ZWxzZXtpZigvXihzdykkLy50ZXN0KGcpKXtiLnNpemUud2lkdGg9ZC53aWR0
aCtoO2Iuc2l6ZS5oZWlnaHQ9CitkLmhlaWdodCthfWVsc2V7Yi5zaXplLndpZHRoPWQud2lkdGgr
aDtiLnNpemUuaGVpZ2h0PWQuaGVpZ2h0K2E7Yi5wb3NpdGlvbi50b3A9Zi50b3AtYX1iLnBvc2l0
aW9uLmxlZnQ9Zi5sZWZ0LWh9fX0pO3ZhciBtPWZ1bmN0aW9uKGIpe3JldHVybiBwYXJzZUludChi
LDEwKXx8MH0saz1mdW5jdGlvbihiKXtyZXR1cm4haXNOYU4ocGFyc2VJbnQoYiwxMCkpfX0pKGpR
dWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkudWkuc2VsZWN0YWJsZS5taW4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5z
ZWxlY3RhYmxlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKy8qCisgKiBqUXVlcnkgVUkgU2VsZWN0YWJs
ZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NlbGVjdGFibGVzCisgKgorICogRGVwZW5kczoKKyAq
CWpxdWVyeS51aS5jb3JlLmpzCisgKglqcXVlcnkudWkubW91c2UuanMKKyAqCWpxdWVyeS51aS53
aWRnZXQuanMKKyAqLworKGZ1bmN0aW9uKGUpe2Uud2lkZ2V0KCJ1aS5zZWxlY3RhYmxlIixlLnVp
Lm1vdXNlLHtvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b1JlZnJlc2g6dHJ1ZSxkaXN0YW5j
ZTowLGZpbHRlcjoiKiIsdG9sZXJhbmNlOiJ0b3VjaCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIg
Yz10aGlzO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0YWJsZSIpO3RoaXMuZHJhZ2dl
ZD1mYWxzZTt2YXIgZjt0aGlzLnJlZnJlc2g9ZnVuY3Rpb24oKXtmPWUoYy5vcHRpb25zLmZpbHRl
cixjLmVsZW1lbnRbMF0pO2YuZWFjaChmdW5jdGlvbigpe3ZhciBkPWUodGhpcyksYj1kLm9mZnNl
dCgpO2UuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iLHtlbGVtZW50OnRoaXMsJGVsZW1lbnQ6
ZCxsZWZ0OmIubGVmdCx0b3A6Yi50b3AscmlnaHQ6Yi5sZWZ0K2Qub3V0ZXJXaWR0aCgpLGJvdHRv
bTpiLnRvcCtkLm91dGVySGVpZ2h0KCksc3RhcnRzZWxlY3RlZDpmYWxzZSxzZWxlY3RlZDpkLmhh
c0NsYXNzKCJ1aS1zZWxlY3RlZCIpLAorc2VsZWN0aW5nOmQuaGFzQ2xhc3MoInVpLXNlbGVjdGlu
ZyIpLHVuc2VsZWN0aW5nOmQuaGFzQ2xhc3MoInVpLXVuc2VsZWN0aW5nIil9KX0pfTt0aGlzLnJl
ZnJlc2goKTt0aGlzLnNlbGVjdGVlcz1mLmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpO3RoaXMuX21v
dXNlSW5pdCgpO3RoaXMuaGVscGVyPWUoIjxkaXYgY2xhc3M9J3VpLXNlbGVjdGFibGUtaGVscGVy
Jz48L2Rpdj4iKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWVzLnJlbW92ZUNsYXNz
KCJ1aS1zZWxlY3RlZSIpLnJlbW92ZURhdGEoInNlbGVjdGFibGUtaXRlbSIpO3RoaXMuZWxlbWVu
dC5yZW1vdmVDbGFzcygidWktc2VsZWN0YWJsZSB1aS1zZWxlY3RhYmxlLWRpc2FibGVkIikucmVt
b3ZlRGF0YSgic2VsZWN0YWJsZSIpLnVuYmluZCgiLnNlbGVjdGFibGUiKTt0aGlzLl9tb3VzZURl
c3Ryb3koKTtyZXR1cm4gdGhpc30sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyl7dmFyIGY9dGhpczt0
aGlzLm9wb3M9W2MucGFnZVgsCitjLnBhZ2VZXTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2
YXIgZD10aGlzLm9wdGlvbnM7dGhpcy5zZWxlY3RlZXM9ZShkLmZpbHRlcix0aGlzLmVsZW1lbnRb
MF0pO3RoaXMuX3RyaWdnZXIoInN0YXJ0IixjKTtlKGQuYXBwZW5kVG8pLmFwcGVuZCh0aGlzLmhl
bHBlcik7dGhpcy5oZWxwZXIuY3NzKHtsZWZ0OmMuY2xpZW50WCx0b3A6Yy5jbGllbnRZLHdpZHRo
OjAsaGVpZ2h0OjB9KTtkLmF1dG9SZWZyZXNoJiZ0aGlzLnJlZnJlc2goKTt0aGlzLnNlbGVjdGVl
cy5maWx0ZXIoIi51aS1zZWxlY3RlZCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1lLmRhdGEodGhp
cywic2VsZWN0YWJsZS1pdGVtIik7Yi5zdGFydHNlbGVjdGVkPXRydWU7aWYoIWMubWV0YUtleSl7
Yi4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWQiKTtiLnNlbGVjdGVkPWZhbHNlO2Iu
JGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7Yi51bnNlbGVjdGluZz10cnVlO2Yu
X3RyaWdnZXIoInVuc2VsZWN0aW5nIiwKK2Mse3Vuc2VsZWN0aW5nOmIuZWxlbWVudH0pfX0pO2Uo
Yy50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe3ZhciBiPWUuZGF0
YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpZihiKXt2YXIgZz0hYy5tZXRhS2V5fHwhYi4kZWxl
bWVudC5oYXNDbGFzcygidWktc2VsZWN0ZWQiKTtiLiRlbGVtZW50LnJlbW92ZUNsYXNzKGc/InVp
LXVuc2VsZWN0aW5nIjoidWktc2VsZWN0ZWQiKS5hZGRDbGFzcyhnPyJ1aS1zZWxlY3RpbmciOiJ1
aS11bnNlbGVjdGluZyIpO2IudW5zZWxlY3Rpbmc9IWc7Yi5zZWxlY3Rpbmc9ZzsoYi5zZWxlY3Rl
ZD1nKT9mLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3NlbGVjdGluZzpiLmVsZW1lbnR9KTpmLl90
cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5zZWxlY3Rpbmc6Yi5lbGVtZW50fSk7cmV0dXJuIGZh
bHNlfX0pfX0sX21vdXNlRHJhZzpmdW5jdGlvbihjKXt2YXIgZj10aGlzO3RoaXMuZHJhZ2dlZD10
cnVlO2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQpe3ZhciBkPQordGhpcy5vcHRpb25zLGI9dGhp
cy5vcG9zWzBdLGc9dGhpcy5vcG9zWzFdLGg9Yy5wYWdlWCxpPWMucGFnZVk7aWYoYj5oKXt2YXIg
aj1oO2g9YjtiPWp9aWYoZz5pKXtqPWk7aT1nO2c9an10aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yix0
b3A6Zyx3aWR0aDpoLWIsaGVpZ2h0OmktZ30pO3RoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24o
KXt2YXIgYT1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aWYoISghYXx8YS5lbGVtZW50
PT1mLmVsZW1lbnRbMF0pKXt2YXIgaz1mYWxzZTtpZihkLnRvbGVyYW5jZT09InRvdWNoIilrPSEo
YS5sZWZ0Pmh8fGEucmlnaHQ8Ynx8YS50b3A+aXx8YS5ib3R0b208Zyk7ZWxzZSBpZihkLnRvbGVy
YW5jZT09ImZpdCIpaz1hLmxlZnQ+YiYmYS5yaWdodDxoJiZhLnRvcD5nJiZhLmJvdHRvbTxpO2lm
KGspe2lmKGEuc2VsZWN0ZWQpe2EuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7
YS5zZWxlY3RlZD1mYWxzZX1pZihhLnVuc2VsZWN0aW5nKXthLiRlbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS11bnNlbGVjdGluZyIpOworYS51bnNlbGVjdGluZz1mYWxzZX1pZighYS5zZWxlY3Rpbmcp
e2EuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGluZyIpO2Euc2VsZWN0aW5nPXRydWU7Zi5f
dHJpZ2dlcigic2VsZWN0aW5nIixjLHtzZWxlY3Rpbmc6YS5lbGVtZW50fSl9fWVsc2V7aWYoYS5z
ZWxlY3RpbmcpaWYoYy5tZXRhS2V5JiZhLnN0YXJ0c2VsZWN0ZWQpe2EuJGVsZW1lbnQucmVtb3Zl
Q2xhc3MoInVpLXNlbGVjdGluZyIpO2Euc2VsZWN0aW5nPWZhbHNlO2EuJGVsZW1lbnQuYWRkQ2xh
c3MoInVpLXNlbGVjdGVkIik7YS5zZWxlY3RlZD10cnVlfWVsc2V7YS4kZWxlbWVudC5yZW1vdmVD
bGFzcygidWktc2VsZWN0aW5nIik7YS5zZWxlY3Rpbmc9ZmFsc2U7aWYoYS5zdGFydHNlbGVjdGVk
KXthLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2EudW5zZWxlY3Rpbmc9dHJ1
ZX1mLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5zZWxlY3Rpbmc6YS5lbGVtZW50fSl9aWYo
YS5zZWxlY3RlZClpZighYy5tZXRhS2V5JiYKKyFhLnN0YXJ0c2VsZWN0ZWQpe2EuJGVsZW1lbnQu
cmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7YS5zZWxlY3RlZD1mYWxzZTthLiRlbGVtZW50LmFk
ZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2EudW5zZWxlY3Rpbmc9dHJ1ZTtmLl90cmlnZ2VyKCJ1
bnNlbGVjdGluZyIsYyx7dW5zZWxlY3Rpbmc6YS5lbGVtZW50fSl9fX19KTtyZXR1cm4gZmFsc2V9
fSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMpe3ZhciBmPXRoaXM7dGhpcy5kcmFnZ2VkPWZhbHNlO2Uo
Ii51aS11bnNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9
ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2QuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVp
LXVuc2VsZWN0aW5nIik7ZC51bnNlbGVjdGluZz1mYWxzZTtkLnN0YXJ0c2VsZWN0ZWQ9ZmFsc2U7
Zi5fdHJpZ2dlcigidW5zZWxlY3RlZCIsYyx7dW5zZWxlY3RlZDpkLmVsZW1lbnR9KX0pO2UoIi51
aS1zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBkPQorZS5k
YXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2QuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNl
bGVjdGluZyIpLmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIpO2Quc2VsZWN0aW5nPWZhbHNlO2Quc2Vs
ZWN0ZWQ9dHJ1ZTtkLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtmLl90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7
c2VsZWN0ZWQ6ZC5lbGVtZW50fSl9KTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjKTt0aGlzLmhlbHBl
ci5yZW1vdmUoKTtyZXR1cm4gZmFsc2V9fSk7ZS5leHRlbmQoZS51aS5zZWxlY3RhYmxlLHt2ZXJz
aW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zZWxlY3Rh
YmxlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKKzEK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlkZXIubWluLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkudWkuc2xpZGVyLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNsaWRlci5t
aW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIGpRdWVyeSBVSSBT
bGlkZXIgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8v
anF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQ
TCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgor
ICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIKKyAqCisgKiBEZXBlbmRzOgorICoJ
anF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS5tb3VzZS5qcworICoJanF1ZXJ5LnVpLndp
ZGdldC5qcworICovCisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLnNsaWRlciIsZC51aS5tb3Vz
ZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRlOmZhbHNlLGRpc3Rh
bmNlOjAsbWF4OjEwMCxtaW46MCxvcmllbnRhdGlvbjoiaG9yaXpvbnRhbCIscmFuZ2U6ZmFsc2Us
c3RlcDoxLHZhbHVlOjAsdmFsdWVzOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlz
LGI9dGhpcy5vcHRpb25zLGM9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlkZXItaGFuZGxlIiku
YWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLGY9Yi52YWx1ZXMmJmIu
dmFsdWVzLmxlbmd0aHx8MSxlPVtdO3RoaXMuX21vdXNlU2xpZGluZz10aGlzLl9rZXlTbGlkaW5n
PWZhbHNlO3RoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9oYW5kbGVJbmRleD1udWxsO3RoaXMu
X2RldGVjdE9yaWVudGF0aW9uKCk7dGhpcy5fbW91c2VJbml0KCk7dGhpcy5lbGVtZW50LmFkZENs
YXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrCit0aGlzLm9yaWVudGF0aW9uKyIgdWktd2lkZ2V0
IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKyhiLmRpc2FibGVkPyIgdWktc2xpZGVy
LWRpc2FibGVkIHVpLWRpc2FibGVkIjoiIikpO3RoaXMucmFuZ2U9ZChbXSk7aWYoYi5yYW5nZSl7
aWYoYi5yYW5nZT09PXRydWUpe2lmKCFiLnZhbHVlcyliLnZhbHVlcz1bdGhpcy5fdmFsdWVNaW4o
KSx0aGlzLl92YWx1ZU1pbigpXTtpZihiLnZhbHVlcy5sZW5ndGgmJmIudmFsdWVzLmxlbmd0aCE9
PTIpYi52YWx1ZXM9W2IudmFsdWVzWzBdLGIudmFsdWVzWzBdXX10aGlzLnJhbmdlPWQoIjxkaXY+
PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktc2xpZGVyLXJhbmdl
IHVpLXdpZGdldC1oZWFkZXIiKyhiLnJhbmdlPT09Im1pbiJ8fGIucmFuZ2U9PT0ibWF4Ij8iIHVp
LXNsaWRlci1yYW5nZS0iK2IucmFuZ2U6IiIpKX1mb3IodmFyIGo9Yy5sZW5ndGg7ajxmO2orPTEp
ZS5wdXNoKCI8YSBjbGFzcz0ndWktc2xpZGVyLWhhbmRsZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNv
cm5lci1hbGwnIGhyZWY9JyMnPjwvYT4iKTsKK3RoaXMuaGFuZGxlcz1jLmFkZChkKGUuam9pbigi
IikpLmFwcGVuZFRvKGEuZWxlbWVudCkpO3RoaXMuaGFuZGxlPXRoaXMuaGFuZGxlcy5lcSgwKTt0
aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRlcigiYSIpLmNsaWNrKGZ1bmN0aW9uKGcp
e2cucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8ZCh0aGlz
KS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNs
YXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtpZihiLmRpc2FibGVkKWQo
dGhpcykuYmx1cigpO2Vsc2V7ZCgiLnVpLXNsaWRlciAudWktc3RhdGUtZm9jdXMiKS5yZW1vdmVD
bGFzcygidWktc3RhdGUtZm9jdXMiKTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIp
fX0pLmJsdXIoZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIp
fSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZyl7ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1z
bGlkZXItaGFuZGxlIiwKK2cpfSk7dGhpcy5oYW5kbGVzLmtleWRvd24oZnVuY3Rpb24oZyl7dmFy
IGs9dHJ1ZSxsPWQodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVyLWhhbmRsZSIpLGksaCxtO2lm
KCFhLm9wdGlvbnMuZGlzYWJsZWQpe3N3aXRjaChnLmtleUNvZGUpe2Nhc2UgZC51aS5rZXlDb2Rl
LkhPTUU6Y2FzZSBkLnVpLmtleUNvZGUuRU5EOmNhc2UgZC51aS5rZXlDb2RlLlBBR0VfVVA6Y2Fz
ZSBkLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgZC51aS5rZXlDb2RlLlVQOmNhc2UgZC51aS5r
ZXlDb2RlLlJJR0hUOmNhc2UgZC51aS5rZXlDb2RlLkRPV046Y2FzZSBkLnVpLmtleUNvZGUuTEVG
VDprPWZhbHNlO2lmKCFhLl9rZXlTbGlkaW5nKXthLl9rZXlTbGlkaW5nPXRydWU7ZCh0aGlzKS5h
ZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7aT1hLl9zdGFydChnLGwpO2lmKGk9PT1mYWxzZSly
ZXR1cm59YnJlYWt9bT1hLm9wdGlvbnMuc3RlcDtpPWEub3B0aW9ucy52YWx1ZXMmJmEub3B0aW9u
cy52YWx1ZXMubGVuZ3RoPworKGg9YS52YWx1ZXMobCkpOihoPWEudmFsdWUoKSk7c3dpdGNoKGcu
a2V5Q29kZSl7Y2FzZSBkLnVpLmtleUNvZGUuSE9NRTpoPWEuX3ZhbHVlTWluKCk7YnJlYWs7Y2Fz
ZSBkLnVpLmtleUNvZGUuRU5EOmg9YS5fdmFsdWVNYXgoKTticmVhaztjYXNlIGQudWkua2V5Q29k
ZS5QQUdFX1VQOmg9YS5fdHJpbUFsaWduVmFsdWUoaSsoYS5fdmFsdWVNYXgoKS1hLl92YWx1ZU1p
bigpKS81KTticmVhaztjYXNlIGQudWkua2V5Q29kZS5QQUdFX0RPV046aD1hLl90cmltQWxpZ25W
YWx1ZShpLShhLl92YWx1ZU1heCgpLWEuX3ZhbHVlTWluKCkpLzUpO2JyZWFrO2Nhc2UgZC51aS5r
ZXlDb2RlLlVQOmNhc2UgZC51aS5rZXlDb2RlLlJJR0hUOmlmKGk9PT1hLl92YWx1ZU1heCgpKXJl
dHVybjtoPWEuX3RyaW1BbGlnblZhbHVlKGkrbSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuRE9X
TjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOmlmKGk9PT1hLl92YWx1ZU1pbigpKXJldHVybjtoPWEu
X3RyaW1BbGlnblZhbHVlKGktCittKTticmVha31hLl9zbGlkZShnLGwsaCk7cmV0dXJuIGt9fSku
a2V5dXAoZnVuY3Rpb24oZyl7dmFyIGs9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFu
ZGxlIik7aWYoYS5fa2V5U2xpZGluZyl7YS5fa2V5U2xpZGluZz1mYWxzZTthLl9zdG9wKGcsayk7
YS5fY2hhbmdlKGcsayk7ZCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9fSk7
dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0sZGVzdHJveTpmdW5j
dGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlzLnJhbmdlLnJlbW92ZSgpO3RoaXMuZWxl
bWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRl
ci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50
IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlkZXIiKS51bmJpbmQoIi5zbGlkZXIiKTt0
aGlzLl9tb3VzZURlc3Ryb3koKTsKK3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9u
KGEpe3ZhciBiPXRoaXMub3B0aW9ucyxjLGYsZSxqLGc7aWYoYi5kaXNhYmxlZClyZXR1cm4gZmFs
c2U7dGhpcy5lbGVtZW50U2l6ZT17d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWln
aHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCl9O3RoaXMuZWxlbWVudE9mZnNldD10aGlzLmVs
ZW1lbnQub2Zmc2V0KCk7Yz10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6YS5wYWdlWCx5OmEu
cGFnZVl9KTtmPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSsxO2o9dGhpczt0aGlz
LmhhbmRsZXMuZWFjaChmdW5jdGlvbihrKXt2YXIgbD1NYXRoLmFicyhjLWoudmFsdWVzKGspKTtp
ZihmPmwpe2Y9bDtlPWQodGhpcyk7Zz1rfX0pO2lmKGIucmFuZ2U9PT10cnVlJiZ0aGlzLnZhbHVl
cygxKT09PWIubWluKXtnKz0xO2U9ZCh0aGlzLmhhbmRsZXNbZ10pfWlmKHRoaXMuX3N0YXJ0KGEs
Zyk9PT1mYWxzZSlyZXR1cm4gZmFsc2U7Cit0aGlzLl9tb3VzZVNsaWRpbmc9dHJ1ZTtqLl9oYW5k
bGVJbmRleD1nO2UuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmZvY3VzKCk7Yj1lLm9mZnNl
dCgpO3RoaXMuX2NsaWNrT2Zmc2V0PSFkKGEudGFyZ2V0KS5wYXJlbnRzKCkuYW5kU2VsZigpLmlz
KCIudWktc2xpZGVyLWhhbmRsZSIpP3tsZWZ0OjAsdG9wOjB9OntsZWZ0OmEucGFnZVgtYi5sZWZ0
LWUud2lkdGgoKS8yLHRvcDphLnBhZ2VZLWIudG9wLWUuaGVpZ2h0KCkvMi0ocGFyc2VJbnQoZS5j
c3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZS5jc3MoImJvcmRlckJvdHRv
bVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCl9O3Ro
aXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92ZXIiKXx8dGhpcy5fc2xpZGUoYSxnLGMp
O3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPXRydWV9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7cmV0
dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYSl7dmFyIGI9Cit0aGlzLl9ub3JtVmFsdWVG
cm9tTW91c2Uoe3g6YS5wYWdlWCx5OmEucGFnZVl9KTt0aGlzLl9zbGlkZShhLHRoaXMuX2hhbmRs
ZUluZGV4LGIpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihhKXt0aGlzLmhhbmRs
ZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuX21vdXNlU2xpZGluZz1mYWxz
ZTt0aGlzLl9zdG9wKGEsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NoYW5nZShhLHRoaXMuX2hh
bmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlzLl9oYW5kbGVJbmRleD1udWxsO3JldHVy
biB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0
aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCI/InZl
cnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24oYSl7dmFy
IGI7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil7Yj0KK3RoaXMuZWxlbWVudFNp
emUud2lkdGg7YT1hLngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMuX2NsaWNrT2Zmc2V0
P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCl9ZWxzZXtiPXRoaXMuZWxlbWVudFNpemUuaGVpZ2h0
O2E9YS55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2Ns
aWNrT2Zmc2V0LnRvcDowKX1iPWEvYjtpZihiPjEpYj0xO2lmKGI8MCliPTA7aWYodGhpcy5vcmll
bnRhdGlvbj09PSJ2ZXJ0aWNhbCIpYj0xLWI7YT10aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVl
TWluKCk7cmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKHRoaXMuX3ZhbHVlTWluKCkrYiphKX0s
X3N0YXJ0OmZ1bmN0aW9uKGEsYil7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYl0sdmFsdWU6
dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVz
Lmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTsKK2MudmFsdWVzPXRoaXMudmFsdWVzKCl9
cmV0dXJuIHRoaXMuX3RyaWdnZXIoInN0YXJ0IixhLGMpfSxfc2xpZGU6ZnVuY3Rpb24oYSxiLGMp
e3ZhciBmO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3Ro
KXtmPXRoaXMudmFsdWVzKGI/MDoxKTtpZih0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD09PTIm
JnRoaXMub3B0aW9ucy5yYW5nZT09PXRydWUmJihiPT09MCYmYz5mfHxiPT09MSYmYzxmKSljPWY7
aWYoYyE9PXRoaXMudmFsdWVzKGIpKXtmPXRoaXMudmFsdWVzKCk7ZltiXT1jO2E9dGhpcy5fdHJp
Z2dlcigic2xpZGUiLGEse2hhbmRsZTp0aGlzLmhhbmRsZXNbYl0sdmFsdWU6Yyx2YWx1ZXM6Zn0p
O3RoaXMudmFsdWVzKGI/MDoxKTthIT09ZmFsc2UmJnRoaXMudmFsdWVzKGIsYyx0cnVlKX19ZWxz
ZSBpZihjIT09dGhpcy52YWx1ZSgpKXthPXRoaXMuX3RyaWdnZXIoInNsaWRlIixhLHtoYW5kbGU6
dGhpcy5oYW5kbGVzW2JdLHZhbHVlOmN9KTsKK2EhPT1mYWxzZSYmdGhpcy52YWx1ZShjKX19LF9z
dG9wOmZ1bmN0aW9uKGEsYil7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYl0sdmFsdWU6dGhp
cy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxl
bmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTtjLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMu
X3RyaWdnZXIoInN0b3AiLGEsYyl9LF9jaGFuZ2U6ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5fa2V5
U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNb
Yl0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlv
bnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhiKTtjLnZhbHVlcz10aGlzLnZh
bHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYSxjKX19LHZhbHVlOmZ1bmN0aW9uKGEpe2lm
KGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52YWx1ZT0KK3RoaXMuX3RyaW1BbGlnblZh
bHVlKGEpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxsLDApfWVsc2UgcmV0
dXJuIHRoaXMuX3ZhbHVlKCl9LHZhbHVlczpmdW5jdGlvbihhLGIpe3ZhciBjLGYsZTtpZihhcmd1
bWVudHMubGVuZ3RoPjEpe3RoaXMub3B0aW9ucy52YWx1ZXNbYV09dGhpcy5fdHJpbUFsaWduVmFs
dWUoYik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsYSl9ZWxzZSBpZihh
cmd1bWVudHMubGVuZ3RoKWlmKGQuaXNBcnJheShhcmd1bWVudHNbMF0pKXtjPXRoaXMub3B0aW9u
cy52YWx1ZXM7Zj1hcmd1bWVudHNbMF07Zm9yKGU9MDtlPGMubGVuZ3RoO2UrPTEpe2NbZV09dGhp
cy5fdHJpbUFsaWduVmFsdWUoZltlXSk7dGhpcy5fY2hhbmdlKG51bGwsZSl9dGhpcy5fcmVmcmVz
aFZhbHVlKCl9ZWxzZSByZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZh
bHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKGEpOgordGhpcy52YWx1ZSgpO2Vsc2UgcmV0dXJuIHRo
aXMuX3ZhbHVlcygpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGMsZj0wO2lmKGQuaXNB
cnJheSh0aGlzLm9wdGlvbnMudmFsdWVzKSlmPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoO2Qu
V2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtzd2l0Y2go
YSl7Y2FzZSAiZGlzYWJsZWQiOmlmKGIpe3RoaXMuaGFuZGxlcy5maWx0ZXIoIi51aS1zdGF0ZS1m
b2N1cyIpLmJsdXIoKTt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7
dGhpcy5oYW5kbGVzLnByb3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk7dGhpcy5lbGVtZW50LmFkZENs
YXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5kbGVzLnByb3BBdHRyKCJkaXNhYmxlZCIs
ZmFsc2UpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktZGlzYWJsZWQiKX1icmVhaztjYXNl
ICJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsKK3RoaXMuZWxlbWVudC5y
ZW1vdmVDbGFzcygidWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZlcnRpY2FsIikuYWRk
Q2xhc3MoInVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRpb24pO3RoaXMuX3JlZnJlc2hWYWx1ZSgp
O2JyZWFrO2Nhc2UgInZhbHVlIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5fcmVmcmVzaFZh
bHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZTticmVhaztj
YXNlICJ2YWx1ZXMiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZyZXNoVmFsdWUoKTtm
b3IoYz0wO2M8ZjtjKz0xKXRoaXMuX2NoYW5nZShudWxsLGMpO3RoaXMuX2FuaW1hdGVPZmY9ZmFs
c2U7YnJlYWt9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMudmFsdWU7cmV0
dXJuIGE9dGhpcy5fdHJpbUFsaWduVmFsdWUoYSl9LF92YWx1ZXM6ZnVuY3Rpb24oYSl7dmFyIGIs
YztpZihhcmd1bWVudHMubGVuZ3RoKXtiPXRoaXMub3B0aW9ucy52YWx1ZXNbYV07CityZXR1cm4g
Yj10aGlzLl90cmltQWxpZ25WYWx1ZShiKX1lbHNle2I9dGhpcy5vcHRpb25zLnZhbHVlcy5zbGlj
ZSgpO2ZvcihjPTA7YzxiLmxlbmd0aDtjKz0xKWJbY109dGhpcy5fdHJpbUFsaWduVmFsdWUoYltj
XSk7cmV0dXJuIGJ9fSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oYSl7aWYoYTw9dGhpcy5fdmFs
dWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihhPj10aGlzLl92YWx1ZU1heCgpKXJl
dHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBiPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRp
b25zLnN0ZXA6MSxjPShhLXRoaXMuX3ZhbHVlTWluKCkpJWI7YT1hLWM7aWYoTWF0aC5hYnMoYykq
Mj49YilhKz1jPjA/YjotYjtyZXR1cm4gcGFyc2VGbG9hdChhLnRvRml4ZWQoNSkpfSxfdmFsdWVN
aW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1pbn0sX3ZhbHVlTWF4OmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFsdWU6ZnVuY3Rpb24oKXt2YXIg
YT0KK3RoaXMub3B0aW9ucy5yYW5nZSxiPXRoaXMub3B0aW9ucyxjPXRoaXMsZj0hdGhpcy5fYW5p
bWF0ZU9mZj9iLmFuaW1hdGU6ZmFsc2UsZSxqPXt9LGcsayxsLGk7aWYodGhpcy5vcHRpb25zLnZh
bHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rp
b24oaCl7ZT0oYy52YWx1ZXMoaCktYy5fdmFsdWVNaW4oKSkvKGMuX3ZhbHVlTWF4KCktYy5fdmFs
dWVNaW4oKSkqMTAwO2pbYy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8ibGVmdCI6ImJvdHRv
bSJdPWUrIiUiO2QodGhpcykuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXShqLGIuYW5pbWF0
ZSk7aWYoYy5vcHRpb25zLnJhbmdlPT09dHJ1ZSlpZihjLm9yaWVudGF0aW9uPT09Imhvcml6b250
YWwiKXtpZihoPT09MCljLnJhbmdlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoiY3NzIl0oe2xlZnQ6
ZSsiJSJ9LGIuYW5pbWF0ZSk7aWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dp
ZHRoOmUtCitnKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuYW5pbWF0ZX0pfWVsc2V7aWYo
aD09PTApYy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHtib3R0b206ZSsiJSJ9
LGIuYW5pbWF0ZSk7aWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpl
LWcrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246Yi5hbmltYXRlfSl9Zz1lfSk7ZWxzZXtrPXRo
aXMudmFsdWUoKTtsPXRoaXMuX3ZhbHVlTWluKCk7aT10aGlzLl92YWx1ZU1heCgpO2U9aSE9PWw/
KGstbCkvKGktbCkqMTAwOjA7altjLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0Ijoi
Ym90dG9tIl09ZSsiJSI7dGhpcy5oYW5kbGUuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXShq
LGIuYW5pbWF0ZSk7aWYoYT09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwi
KXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6ZSsiJSJ9LAor
Yi5hbmltYXRlKTtpZihhPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIp
dGhpcy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1lKyIlIn0se3F1ZXVlOmZh
bHNlLGR1cmF0aW9uOmIuYW5pbWF0ZX0pO2lmKGE9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09
PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWln
aHQ6ZSsiJSJ9LGIuYW5pbWF0ZSk7aWYoYT09PSJtYXgiJiZ0aGlzLm9yaWVudGF0aW9uPT09InZl
cnRpY2FsIil0aGlzLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OjEwMC1lKyIlIn0s
e3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuYW5pbWF0ZX0pfX19KTtkLmV4dGVuZChkLnVpLnNsaWRl
cix7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
c2xpZGVyLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMK
KzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zb3J0YWJsZS5taW4u
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS51aS5zb3J0YWJsZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5z
b3J0YWJsZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIGpR
dWVyeSBVSSBTb3J0YWJsZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50
eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRo
ZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xp
Y2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NvcnRhYmxlcworICoKKyAq
IERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisg
KglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihkKXtkLndpZGdldCgidWkuc29y
dGFibGUiLGQudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJzb3J0IixvcHRpb25zOnthcHBl
bmRUbzoicGFyZW50IixheGlzOmZhbHNlLGNvbm5lY3RXaXRoOmZhbHNlLGNvbnRhaW5tZW50OmZh
bHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZHJvcE9uRW1wdHk6dHJ1ZSxmb3JjZVBs
YWNlaG9sZGVyU2l6ZTpmYWxzZSxmb3JjZUhlbHBlclNpemU6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5k
bGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3BhY2l0eTpmYWxzZSxwbGFj
ZWhvbGRlcjpmYWxzZSxyZXZlcnQ6ZmFsc2Usc2Nyb2xsOnRydWUsc2Nyb2xsU2Vuc2l0aXZpdHk6
MjAsc2Nyb2xsU3BlZWQ6MjAsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0Iix6
SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO3RoaXMuY29u
dGFpbmVyQ2FjaGU9e307dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zb3J0YWJsZSIpOwordGhp
cy5yZWZyZXNoKCk7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0aD9hLmF4aXM9PT0ieCJ8
fC9sZWZ0fHJpZ2h0Ly50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3MoImZsb2F0IikpfHwvaW5s
aW5lfHRhYmxlLWNlbGwvLnRlc3QodGhpcy5pdGVtc1swXS5pdGVtLmNzcygiZGlzcGxheSIpKTpm
YWxzZTt0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7dGhpcy5fbW91c2VJbml0KCl9
LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxl
IHVpLXNvcnRhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic29ydGFibGUiKS51bmJpbmQoIi5z
b3J0YWJsZSIpO3RoaXMuX21vdXNlRGVzdHJveSgpO2Zvcih2YXIgYT10aGlzLml0ZW1zLmxlbmd0
aC0xO2E+PTA7YS0tKXRoaXMuaXRlbXNbYV0uaXRlbS5yZW1vdmVEYXRhKCJzb3J0YWJsZS1pdGVt
Iik7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtpZihhPT09CisiZGlzYWJs
ZWQiKXt0aGlzLm9wdGlvbnNbYV09Yjt0aGlzLndpZGdldCgpW2I/ImFkZENsYXNzIjoicmVtb3Zl
Q2xhc3MiXSgidWktc29ydGFibGUtZGlzYWJsZWQiKX1lbHNlIGQuV2lkZ2V0LnByb3RvdHlwZS5f
c2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihh
LGIpe2lmKHRoaXMucmV2ZXJ0aW5nKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMuZGlzYWJs
ZWR8fHRoaXMub3B0aW9ucy50eXBlPT0ic3RhdGljIilyZXR1cm4gZmFsc2U7dGhpcy5fcmVmcmVz
aEl0ZW1zKGEpO3ZhciBjPW51bGwsZT10aGlzO2QoYS50YXJnZXQpLnBhcmVudHMoKS5lYWNoKGZ1
bmN0aW9uKCl7aWYoZC5kYXRhKHRoaXMsInNvcnRhYmxlLWl0ZW0iKT09ZSl7Yz1kKHRoaXMpO3Jl
dHVybiBmYWxzZX19KTtpZihkLmRhdGEoYS50YXJnZXQsInNvcnRhYmxlLWl0ZW0iKT09ZSljPWQo
YS50YXJnZXQpO2lmKCFjKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMuaGFuZGxlJiYKKyFi
KXt2YXIgZj1mYWxzZTtkKHRoaXMub3B0aW9ucy5oYW5kbGUsYykuZmluZCgiKiIpLmFuZFNlbGYo
KS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09YS50YXJnZXQpZj10cnVlfSk7aWYoIWYpcmV0dXJu
IGZhbHNlfXRoaXMuY3VycmVudEl0ZW09Yzt0aGlzLl9yZW1vdmVDdXJyZW50c0Zyb21JdGVtcygp
O3JldHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihhLGIsYyl7Yj10aGlzLm9wdGlvbnM7
dmFyIGU9dGhpczt0aGlzLmN1cnJlbnRDb250YWluZXI9dGhpczt0aGlzLnJlZnJlc2hQb3NpdGlv
bnMoKTt0aGlzLmhlbHBlcj10aGlzLl9jcmVhdGVIZWxwZXIoYSk7dGhpcy5fY2FjaGVIZWxwZXJQ
cm9wb3J0aW9ucygpO3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuc2Nyb2xsUGFyZW50PXRoaXMu
aGVscGVyLnNjcm9sbFBhcmVudCgpO3RoaXMub2Zmc2V0PXRoaXMuY3VycmVudEl0ZW0ub2Zmc2V0
KCk7dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5tYXJnaW5zLnRvcCwKK2xl
ZnQ6dGhpcy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07dGhpcy5oZWxwZXIuY3NzKCJw
b3NpdGlvbiIsImFic29sdXRlIik7dGhpcy5jc3NQb3NpdGlvbj10aGlzLmhlbHBlci5jc3MoInBv
c2l0aW9uIik7ZC5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5v
ZmZzZXQubGVmdCx0b3A6YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQ
YXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7dGhpcy5v
cmlnaW5hbFBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYSk7dGhpcy5vcmlnaW5hbFBh
Z2VYPWEucGFnZVg7dGhpcy5vcmlnaW5hbFBhZ2VZPWEucGFnZVk7Yi5jdXJzb3JBdCYmdGhpcy5f
YWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihiLmN1cnNvckF0KTt0aGlzLmRvbVBvc2l0aW9uPXtwcmV2
OnRoaXMuY3VycmVudEl0ZW0ucHJldigpWzBdLHBhcmVudDp0aGlzLmN1cnJlbnRJdGVtLnBhcmVu
dCgpWzBdfTsKK3RoaXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmN1cnJl
bnRJdGVtLmhpZGUoKTt0aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpO2IuY29udGFpbm1lbnQmJnRo
aXMuX3NldENvbnRhaW5tZW50KCk7aWYoYi5jdXJzb3Ipe2lmKGQoImJvZHkiKS5jc3MoImN1cnNv
ciIpKXRoaXMuX3N0b3JlZEN1cnNvcj1kKCJib2R5IikuY3NzKCJjdXJzb3IiKTtkKCJib2R5Iiku
Y3NzKCJjdXJzb3IiLGIuY3Vyc29yKX1pZihiLm9wYWNpdHkpe2lmKHRoaXMuaGVscGVyLmNzcygi
b3BhY2l0eSIpKXRoaXMuX3N0b3JlZE9wYWNpdHk9dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iik7
dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IixiLm9wYWNpdHkpfWlmKGIuekluZGV4KXtpZih0aGlz
LmhlbHBlci5jc3MoInpJbmRleCIpKXRoaXMuX3N0b3JlZFpJbmRleD10aGlzLmhlbHBlci5jc3Mo
InpJbmRleCIpO3RoaXMuaGVscGVyLmNzcygiekluZGV4IixiLnpJbmRleCl9aWYodGhpcy5zY3Jv
bGxQYXJlbnRbMF0hPQorZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJI
VE1MIil0aGlzLm92ZXJmbG93T2Zmc2V0PXRoaXMuc2Nyb2xsUGFyZW50Lm9mZnNldCgpO3RoaXMu
X3RyaWdnZXIoInN0YXJ0IixhLHRoaXMuX3VpSGFzaCgpKTt0aGlzLl9wcmVzZXJ2ZUhlbHBlclBy
b3BvcnRpb25zfHx0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7aWYoIWMpZm9yKGM9dGhp
cy5jb250YWluZXJzLmxlbmd0aC0xO2M+PTA7Yy0tKXRoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dl
cigiYWN0aXZhdGUiLGEsZS5fdWlIYXNoKHRoaXMpKTtpZihkLnVpLmRkbWFuYWdlcilkLnVpLmRk
bWFuYWdlci5jdXJyZW50PXRoaXM7ZC51aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQu
dWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYSk7dGhpcy5kcmFnZ2luZz10cnVlO3Ro
aXMuaGVscGVyLmFkZENsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKTt0aGlzLl9tb3VzZURyYWco
YSk7CityZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihhKXt0aGlzLnBvc2l0aW9uPXRo
aXMuX2dlbmVyYXRlUG9zaXRpb24oYSk7dGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9z
aXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5sYXN0UG9zaXRpb25BYnMpdGhpcy5sYXN0UG9z
aXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztpZih0aGlzLm9wdGlvbnMuc2Nyb2xsKXt2YXIgYj10
aGlzLm9wdGlvbnMsYz1mYWxzZTtpZih0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRo
aXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYodGhpcy5vdmVyZmxvd09mZnNl
dC50b3ArdGhpcy5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWEucGFnZVk8Yi5zY3JvbGxT
ZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9Yz10aGlzLnNjcm9sbFBh
cmVudFswXS5zY3JvbGxUb3ArYi5zY3JvbGxTcGVlZDtlbHNlIGlmKGEucGFnZVktdGhpcy5vdmVy
Zmxvd09mZnNldC50b3A8CitiLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBd
LnNjcm9sbFRvcD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcC1iLnNjcm9sbFNwZWVk
O2lmKHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRX
aWR0aC1hLnBhZ2VYPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Ny
b2xsTGVmdD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrYi5zY3JvbGxTcGVlZDtl
bHNlIGlmKGEucGFnZVgtdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0PGIuc2Nyb2xsU2Vuc2l0aXZp
dHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBd
LnNjcm9sbExlZnQtYi5zY3JvbGxTcGVlZH1lbHNle2lmKGEucGFnZVktZChkb2N1bWVudCkuc2Ny
b2xsVG9wKCk8Yi5zY3JvbGxTZW5zaXRpdml0eSljPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRv
Y3VtZW50KS5zY3JvbGxUb3AoKS0KK2Iuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLmhl
aWdodCgpLShhLnBhZ2VZLWQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxiLnNjcm9sbFNlbnNpdGl2
aXR5KWM9ZChkb2N1bWVudCkuc2Nyb2xsVG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpK2Iuc2Ny
b2xsU3BlZWQpO2lmKGEucGFnZVgtZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpPGIuc2Nyb2xsU2Vu
c2l0aXZpdHkpYz1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQo
KS1iLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGQod2luZG93KS53aWR0aCgpLShhLnBhZ2VYLWQoZG9j
dW1lbnQpLnNjcm9sbExlZnQoKSk8Yi5zY3JvbGxTZW5zaXRpdml0eSljPWQoZG9jdW1lbnQpLnNj
cm9sbExlZnQoZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpK2Iuc2Nyb2xsU3BlZWQpfWMhPT1mYWxz
ZSYmZC51aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQudWkuZGRtYW5hZ2VyLnByZXBh
cmVPZmZzZXRzKHRoaXMsCithKX10aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlv
blRvKCJhYnNvbHV0ZSIpO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMh
PSJ5Iil0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgiO2lm
KCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4Iil0aGlzLmhlbHBlclsw
XS5zdHlsZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4Ijtmb3IoYj10aGlzLml0ZW1zLmxlbmd0
aC0xO2I+PTA7Yi0tKXtjPXRoaXMuaXRlbXNbYl07dmFyIGU9Yy5pdGVtWzBdLGY9dGhpcy5faW50
ZXJzZWN0c1dpdGhQb2ludGVyKGMpO2lmKGYpaWYoZSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhp
cy5wbGFjZWhvbGRlcltmPT0xPyJuZXh0IjoicHJldiJdKClbMF0hPWUmJiFkLnVpLmNvbnRhaW5z
KHRoaXMucGxhY2Vob2xkZXJbMF0sZSkmJih0aGlzLm9wdGlvbnMudHlwZT09InNlbWktZHluYW1p
YyI/IWQudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLAorZSk6dHJ1ZSkpe3RoaXMuZGlyZWN0
aW9uPWY9PTE/ImRvd24iOiJ1cCI7aWYodGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIi
fHx0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKGMpKXRoaXMuX3JlYXJyYW5nZShhLGMpO2Vsc2Ug
YnJlYWs7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixhLHRoaXMuX3VpSGFzaCgpKTticmVha319dGhp
cy5fY29udGFjdENvbnRhaW5lcnMoYSk7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5hZ2VyLmRy
YWcodGhpcyxhKTt0aGlzLl90cmlnZ2VyKCJzb3J0IixhLHRoaXMuX3VpSGFzaCgpKTt0aGlzLmxh
c3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9uQWJzO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpm
dW5jdGlvbihhLGIpe2lmKGEpe2QudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhh
dmlvdXImJmQudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxhKTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0
KXt2YXIgYz10aGlzO2I9Yy5wbGFjZWhvbGRlci5vZmZzZXQoKTsKK2MucmV2ZXJ0aW5nPXRydWU7
ZCh0aGlzLmhlbHBlcikuYW5pbWF0ZSh7bGVmdDpiLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50Lmxl
ZnQtYy5tYXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5PzA6
dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCksdG9wOmIudG9wLXRoaXMub2Zmc2V0LnBh
cmVudC50b3AtYy5tYXJnaW5zLnRvcCsodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJv
ZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxUb3ApfSxwYXJzZUludCh0aGlzLm9wdGlv
bnMucmV2ZXJ0LDEwKXx8NTAwLGZ1bmN0aW9uKCl7Yy5fY2xlYXIoYSl9KX1lbHNlIHRoaXMuX2Ns
ZWFyKGEsYik7cmV0dXJuIGZhbHNlfX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0
aGlzLmRyYWdnaW5nKXt0aGlzLl9tb3VzZVVwKHt0YXJnZXQ6bnVsbH0pO3RoaXMub3B0aW9ucy5o
ZWxwZXI9PSJvcmlnaW5hbCI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5y
ZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik6Cit0aGlzLmN1cnJlbnRJdGVtLnNob3co
KTtmb3IodmFyIGI9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2I+PTA7Yi0tKXt0aGlzLmNvbnRh
aW5lcnNbYl0uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsYS5fdWlIYXNoKHRoaXMpKTtpZih0
aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUub3Zlcil7dGhpcy5jb250YWluZXJzW2Jd
Ll90cmlnZ2VyKCJvdXQiLG51bGwsYS5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbYl0u
Y29udGFpbmVyQ2FjaGUub3Zlcj0wfX19aWYodGhpcy5wbGFjZWhvbGRlcil7dGhpcy5wbGFjZWhv
bGRlclswXS5wYXJlbnROb2RlJiZ0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk7dGhpcy5vcHRpb25zLmhlbHBlciE9Im9yaWdpbmFs
IiYmdGhpcy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUmJnRoaXMuaGVscGVyLnJl
bW92ZSgpO2QuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLAorZHJhZ2dpbmc6ZmFsc2UscmV2ZXJ0
aW5nOmZhbHNlLF9ub0ZpbmFsU29ydDpudWxsfSk7dGhpcy5kb21Qb3NpdGlvbi5wcmV2P2QodGhp
cy5kb21Qb3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVtKTpkKHRoaXMuZG9tUG9z
aXRpb24ucGFyZW50KS5wcmVwZW5kKHRoaXMuY3VycmVudEl0ZW0pfXJldHVybiB0aGlzfSxzZXJp
YWxpemU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShhJiZhLmNvbm5l
Y3RlZCksYz1bXTthPWF8fHt9O2QoYikuZWFjaChmdW5jdGlvbigpe3ZhciBlPShkKGEuaXRlbXx8
dGhpcykuYXR0cihhLmF0dHJpYnV0ZXx8ImlkIil8fCIiKS5tYXRjaChhLmV4cHJlc3Npb258fC8o
LispWy09X10oLispLyk7aWYoZSljLnB1c2goKGEua2V5fHxlWzFdKyJbXSIpKyI9IisoYS5rZXkm
JmEuZXhwcmVzc2lvbj9lWzFdOmVbMl0pKX0pOyFjLmxlbmd0aCYmYS5rZXkmJmMucHVzaChhLmtl
eSsiPSIpO3JldHVybiBjLmpvaW4oIiYiKX0sCit0b0FycmF5OmZ1bmN0aW9uKGEpe3ZhciBiPXRo
aXMuX2dldEl0ZW1zQXNqUXVlcnkoYSYmYS5jb25uZWN0ZWQpLGM9W107YT1hfHx7fTtiLmVhY2go
ZnVuY3Rpb24oKXtjLnB1c2goZChhLml0ZW18fHRoaXMpLmF0dHIoYS5hdHRyaWJ1dGV8fCJpZCIp
fHwiIil9KTtyZXR1cm4gY30sX2ludGVyc2VjdHNXaXRoOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMu
cG9zaXRpb25BYnMubGVmdCxjPWIrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxlPXRoaXMu
cG9zaXRpb25BYnMudG9wLGY9ZSt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxnPWEubGVm
dCxoPWcrYS53aWR0aCxpPWEudG9wLGs9aSthLmhlaWdodCxqPXRoaXMub2Zmc2V0LmNsaWNrLnRv
cCxsPXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aj1lK2o+aSYmZStqPGsmJmIrbD5nJiZiK2w8aDty
ZXR1cm4gdGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0aGlzLm9wdGlvbnMuZm9y
Y2VQb2ludGVyRm9yQ29udGFpbmVyc3x8Cit0aGlzLm9wdGlvbnMudG9sZXJhbmNlIT0icG9pbnRl
ciImJnRoaXMuaGVscGVyUHJvcG9ydGlvbnNbdGhpcy5mbG9hdGluZz8id2lkdGgiOiJoZWlnaHQi
XT5hW3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0/ajpnPGIrdGhpcy5oZWxwZXJQcm9w
b3J0aW9ucy53aWR0aC8yJiZjLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMjxoJiZpPGUr
dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmZi10aGlzLmhlbHBlclByb3BvcnRpb25z
LmhlaWdodC8yPGt9LF9pbnRlcnNlY3RzV2l0aFBvaW50ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51
aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxh
LnRvcCxhLmhlaWdodCk7YT1kLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3Ro
aXMub2Zmc2V0LmNsaWNrLmxlZnQsYS5sZWZ0LGEud2lkdGgpO2I9YiYmYTthPXRoaXMuX2dldERy
YWdWZXJ0aWNhbERpcmVjdGlvbigpOwordmFyIGM9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxEaXJl
Y3Rpb24oKTtpZighYilyZXR1cm4gZmFsc2U7cmV0dXJuIHRoaXMuZmxvYXRpbmc/YyYmYz09InJp
Z2h0Inx8YT09ImRvd24iPzI6MTphJiYoYT09ImRvd24iPzI6MSl9LF9pbnRlcnNlY3RzV2l0aFNp
ZGVzOmZ1bmN0aW9uKGEpe3ZhciBiPWQudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRv
cCt0aGlzLm9mZnNldC5jbGljay50b3AsYS50b3ArYS5oZWlnaHQvMixhLmhlaWdodCk7YT1kLnVp
LmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQs
YS5sZWZ0K2Eud2lkdGgvMixhLndpZHRoKTt2YXIgYz10aGlzLl9nZXREcmFnVmVydGljYWxEaXJl
Y3Rpb24oKSxlPXRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7cmV0dXJuIHRoaXMu
ZmxvYXRpbmcmJmU/ZT09InJpZ2h0IiYmYXx8ZT09ImxlZnQiJiYhYTpjJiYoYz09ImRvd24iJiZi
fHxjPT0idXAiJiYhYil9LAorX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbjpmdW5jdGlvbigpe3Zh
ciBhPXRoaXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9uQWJzLnRvcDtyZXR1cm4g
YSE9MCYmKGE+MD8iZG93biI6InVwIil9LF9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjpmdW5j
dGlvbigpe3ZhciBhPXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxhc3RQb3NpdGlvbkFicy5s
ZWZ0O3JldHVybiBhIT0wJiYoYT4wPyJyaWdodCI6ImxlZnQiKX0scmVmcmVzaDpmdW5jdGlvbihh
KXt0aGlzLl9yZWZyZXNoSXRlbXMoYSk7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7cmV0dXJuIHRo
aXN9LF9jb25uZWN0V2l0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztyZXR1cm4gYS5j
b25uZWN0V2l0aC5jb25zdHJ1Y3Rvcj09U3RyaW5nP1thLmNvbm5lY3RXaXRoXTphLmNvbm5lY3RX
aXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGU9dGhpcy5f
Y29ubmVjdFdpdGgoKTsKK2lmKGUmJmEpZm9yKGE9ZS5sZW5ndGgtMTthPj0wO2EtLSlmb3IodmFy
IGY9ZChlW2FdKSxnPWYubGVuZ3RoLTE7Zz49MDtnLS0pe3ZhciBoPWQuZGF0YShmW2ddLCJzb3J0
YWJsZSIpO2lmKGgmJmghPXRoaXMmJiFoLm9wdGlvbnMuZGlzYWJsZWQpYy5wdXNoKFtkLmlzRnVu
Y3Rpb24oaC5vcHRpb25zLml0ZW1zKT9oLm9wdGlvbnMuaXRlbXMuY2FsbChoLmVsZW1lbnQpOmQo
aC5vcHRpb25zLml0ZW1zLGguZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90
KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSxoXSl9Yy5wdXNoKFtkLmlzRnVuY3Rpb24odGhp
cy5vcHRpb25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnQsbnVs
bCx7b3B0aW9uczp0aGlzLm9wdGlvbnMsaXRlbTp0aGlzLmN1cnJlbnRJdGVtfSk6ZCh0aGlzLm9w
dGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3Qo
Ii51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLAordGhpc10pO2ZvcihhPWMubGVuZ3RoLTE7YT49
MDthLS0pY1thXVswXS5lYWNoKGZ1bmN0aW9uKCl7Yi5wdXNoKHRoaXMpfSk7cmV0dXJuIGQoYil9
LF9yZW1vdmVDdXJyZW50c0Zyb21JdGVtczpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmN1cnJl
bnRJdGVtLmZpbmQoIjpkYXRhKHNvcnRhYmxlLWl0ZW0pIiksYj0wO2I8dGhpcy5pdGVtcy5sZW5n
dGg7YisrKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109PXRoaXMuaXRlbXNbYl0uaXRl
bVswXSYmdGhpcy5pdGVtcy5zcGxpY2UoYiwxKX0sX3JlZnJlc2hJdGVtczpmdW5jdGlvbihhKXt0
aGlzLml0ZW1zPVtdO3RoaXMuY29udGFpbmVycz1bdGhpc107dmFyIGI9dGhpcy5pdGVtcyxjPVtb
ZC5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwo
dGhpcy5lbGVtZW50WzBdLGEse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmQodGhpcy5vcHRpb25z
Lml0ZW1zLHRoaXMuZWxlbWVudCksCit0aGlzXV0sZT10aGlzLl9jb25uZWN0V2l0aCgpO2lmKGUp
Zm9yKHZhciBmPWUubGVuZ3RoLTE7Zj49MDtmLS0pZm9yKHZhciBnPWQoZVtmXSksaD1nLmxlbmd0
aC0xO2g+PTA7aC0tKXt2YXIgaT1kLmRhdGEoZ1toXSwic29ydGFibGUiKTtpZihpJiZpIT10aGlz
JiYhaS5vcHRpb25zLmRpc2FibGVkKXtjLnB1c2goW2QuaXNGdW5jdGlvbihpLm9wdGlvbnMuaXRl
bXMpP2kub3B0aW9ucy5pdGVtcy5jYWxsKGkuZWxlbWVudFswXSxhLHtpdGVtOnRoaXMuY3VycmVu
dEl0ZW19KTpkKGkub3B0aW9ucy5pdGVtcyxpLmVsZW1lbnQpLGldKTt0aGlzLmNvbnRhaW5lcnMu
cHVzaChpKX19Zm9yKGY9Yy5sZW5ndGgtMTtmPj0wO2YtLSl7YT1jW2ZdWzFdO2U9Y1tmXVswXTto
PTA7Zm9yKGc9ZS5sZW5ndGg7aDxnO2grKyl7aT1kKGVbaF0pO2kuZGF0YSgic29ydGFibGUtaXRl
bSIsYSk7Yi5wdXNoKHtpdGVtOmksaW5zdGFuY2U6YSx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0
b3A6MH0pfX19LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oYSl7aWYodGhpcy5vZmZzZXRQYXJl
bnQmJgordGhpcy5oZWxwZXIpdGhpcy5vZmZzZXQucGFyZW50PXRoaXMuX2dldFBhcmVudE9mZnNl
dCgpO2Zvcih2YXIgYj10aGlzLml0ZW1zLmxlbmd0aC0xO2I+PTA7Yi0tKXt2YXIgYz10aGlzLml0
ZW1zW2JdO2lmKCEoYy5pbnN0YW5jZSE9dGhpcy5jdXJyZW50Q29udGFpbmVyJiZ0aGlzLmN1cnJl
bnRDb250YWluZXImJmMuaXRlbVswXSE9dGhpcy5jdXJyZW50SXRlbVswXSkpe3ZhciBlPXRoaXMu
b3B0aW9ucy50b2xlcmFuY2VFbGVtZW50P2QodGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQs
Yy5pdGVtKTpjLml0ZW07aWYoIWEpe2Mud2lkdGg9ZS5vdXRlcldpZHRoKCk7Yy5oZWlnaHQ9ZS5v
dXRlckhlaWdodCgpfWU9ZS5vZmZzZXQoKTtjLmxlZnQ9ZS5sZWZ0O2MudG9wPWUudG9wfX1pZih0
aGlzLm9wdGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJz
KXRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKTtlbHNlIGZv
cihiPQordGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2I+PTA7Yi0tKXtlPXRoaXMuY29udGFpbmVy
c1tiXS5lbGVtZW50Lm9mZnNldCgpO3RoaXMuY29udGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS5s
ZWZ0PWUubGVmdDt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUudG9wPWUudG9wO3Ro
aXMuY29udGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlzLmNvbnRhaW5lcnNbYl0u
ZWxlbWVudC5vdXRlcldpZHRoKCk7dGhpcy5jb250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hlLmhl
aWdodD10aGlzLmNvbnRhaW5lcnNbYl0uZWxlbWVudC5vdXRlckhlaWdodCgpfXJldHVybiB0aGlz
fSxfY3JlYXRlUGxhY2Vob2xkZXI6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dGhpcyxjPWIub3B0aW9u
cztpZighYy5wbGFjZWhvbGRlcnx8Yy5wbGFjZWhvbGRlci5jb25zdHJ1Y3Rvcj09U3RyaW5nKXt2
YXIgZT1jLnBsYWNlaG9sZGVyO2MucGxhY2Vob2xkZXI9e2VsZW1lbnQ6ZnVuY3Rpb24oKXt2YXIg
Zj0KK2QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmN1cnJlbnRJdGVtWzBdLm5vZGVOYW1lKSku
YWRkQ2xhc3MoZXx8Yi5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1aS1zb3J0YWJsZS1wbGFj
ZWhvbGRlciIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKVswXTtpZighZSlmLnN0
eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJuIGZ9LHVwZGF0ZTpmdW5jdGlvbihmLGcpe2lm
KCEoZSYmIWMuZm9yY2VQbGFjZWhvbGRlclNpemUpKXtnLmhlaWdodCgpfHxnLmhlaWdodChiLmN1
cnJlbnRJdGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRp
bmdUb3AiKXx8MCwxMCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdCb3R0b20i
KXx8MCwxMCkpO2cud2lkdGgoKXx8Zy53aWR0aChiLmN1cnJlbnRJdGVtLmlubmVyV2lkdGgoKS1w
YXJzZUludChiLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0xlZnQiKXx8MCwxMCktcGFyc2VJbnQo
Yi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdSaWdodCIpfHwKKzAsMTApKX19fX1iLnBsYWNlaG9s
ZGVyPWQoYy5wbGFjZWhvbGRlci5lbGVtZW50LmNhbGwoYi5lbGVtZW50LGIuY3VycmVudEl0ZW0p
KTtiLmN1cnJlbnRJdGVtLmFmdGVyKGIucGxhY2Vob2xkZXIpO2MucGxhY2Vob2xkZXIudXBkYXRl
KGIsYi5wbGFjZWhvbGRlcil9LF9jb250YWN0Q29udGFpbmVyczpmdW5jdGlvbihhKXtmb3IodmFy
IGI9bnVsbCxjPW51bGwsZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0paWYoIWQu
dWkuY29udGFpbnModGhpcy5jdXJyZW50SXRlbVswXSx0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVu
dFswXSkpaWYodGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5l
ckNhY2hlKSl7aWYoIShiJiZkLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tlXS5lbGVtZW50
WzBdLGIuZWxlbWVudFswXSkpKXtiPXRoaXMuY29udGFpbmVyc1tlXTtjPWV9fWVsc2UgaWYodGhp
cy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMuY29udGFpbmVyc1tlXS5f
dHJpZ2dlcigib3V0IiwKK2EsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbZV0u
Y29udGFpbmVyQ2FjaGUub3Zlcj0wfWlmKGIpaWYodGhpcy5jb250YWluZXJzLmxlbmd0aD09PTEp
e3RoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dlcigib3ZlciIsYSx0aGlzLl91aUhhc2godGhpcykp
O3RoaXMuY29udGFpbmVyc1tjXS5jb250YWluZXJDYWNoZS5vdmVyPTF9ZWxzZSBpZih0aGlzLmN1
cnJlbnRDb250YWluZXIhPXRoaXMuY29udGFpbmVyc1tjXSl7Yj0xRTQ7ZT1udWxsO2Zvcih2YXIg
Zj10aGlzLnBvc2l0aW9uQWJzW3RoaXMuY29udGFpbmVyc1tjXS5mbG9hdGluZz8ibGVmdCI6InRv
cCJdLGc9dGhpcy5pdGVtcy5sZW5ndGgtMTtnPj0wO2ctLSlpZihkLnVpLmNvbnRhaW5zKHRoaXMu
Y29udGFpbmVyc1tjXS5lbGVtZW50WzBdLHRoaXMuaXRlbXNbZ10uaXRlbVswXSkpe3ZhciBoPXRo
aXMuaXRlbXNbZ11bdGhpcy5jb250YWluZXJzW2NdLmZsb2F0aW5nPyJsZWZ0IjoidG9wIl07aWYo
TWF0aC5hYnMoaC0KK2YpPGIpe2I9TWF0aC5hYnMoaC1mKTtlPXRoaXMuaXRlbXNbZ119fWlmKGV8
fHRoaXMub3B0aW9ucy5kcm9wT25FbXB0eSl7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXMuY29u
dGFpbmVyc1tjXTtlP3RoaXMuX3JlYXJyYW5nZShhLGUsbnVsbCx0cnVlKTp0aGlzLl9yZWFycmFu
Z2UoYSxudWxsLHRoaXMuY29udGFpbmVyc1tjXS5lbGVtZW50LHRydWUpO3RoaXMuX3RyaWdnZXIo
ImNoYW5nZSIsYSx0aGlzLl91aUhhc2goKSk7dGhpcy5jb250YWluZXJzW2NdLl90cmlnZ2VyKCJj
aGFuZ2UiLGEsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIudXBk
YXRlKHRoaXMuY3VycmVudENvbnRhaW5lcix0aGlzLnBsYWNlaG9sZGVyKTt0aGlzLmNvbnRhaW5l
cnNbY10uX3RyaWdnZXIoIm92ZXIiLGEsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5l
cnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcj0xfX19LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oYSl7
dmFyIGI9Cit0aGlzLm9wdGlvbnM7YT1kLmlzRnVuY3Rpb24oYi5oZWxwZXIpP2QoYi5oZWxwZXIu
YXBwbHkodGhpcy5lbGVtZW50WzBdLFthLHRoaXMuY3VycmVudEl0ZW1dKSk6Yi5oZWxwZXI9PSJj
bG9uZSI/dGhpcy5jdXJyZW50SXRlbS5jbG9uZSgpOnRoaXMuY3VycmVudEl0ZW07YS5wYXJlbnRz
KCJib2R5IikubGVuZ3RofHxkKGIuYXBwZW5kVG8hPSJwYXJlbnQiP2IuYXBwZW5kVG86dGhpcy5j
dXJyZW50SXRlbVswXS5wYXJlbnROb2RlKVswXS5hcHBlbmRDaGlsZChhWzBdKTtpZihhWzBdPT10
aGlzLmN1cnJlbnRJdGVtWzBdKXRoaXMuX3N0b3JlZENTUz17d2lkdGg6dGhpcy5jdXJyZW50SXRl
bVswXS5zdHlsZS53aWR0aCxoZWlnaHQ6dGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS5oZWlnaHQs
cG9zaXRpb246dGhpcy5jdXJyZW50SXRlbS5jc3MoInBvc2l0aW9uIiksdG9wOnRoaXMuY3VycmVu
dEl0ZW0uY3NzKCJ0b3AiKSxsZWZ0OnRoaXMuY3VycmVudEl0ZW0uY3NzKCJsZWZ0Iil9O2lmKGFb
MF0uc3R5bGUud2lkdGg9PQorIiJ8fGIuZm9yY2VIZWxwZXJTaXplKWEud2lkdGgodGhpcy5jdXJy
ZW50SXRlbS53aWR0aCgpKTtpZihhWzBdLnN0eWxlLmhlaWdodD09IiJ8fGIuZm9yY2VIZWxwZXJT
aXplKWEuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpO3JldHVybiBhfSxfYWRqdXN0
T2Zmc2V0RnJvbUhlbHBlcjpmdW5jdGlvbihhKXtpZih0eXBlb2YgYT09InN0cmluZyIpYT1hLnNw
bGl0KCIgIik7aWYoZC5pc0FycmF5KGEpKWE9e2xlZnQ6K2FbMF0sdG9wOithWzFdfHwwfTtpZigi
bGVmdCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9YS5sZWZ0K3RoaXMubWFyZ2lucy5sZWZ0
O2lmKCJyaWdodCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhpcy5oZWxwZXJQcm9wb3J0
aW9ucy53aWR0aC1hLnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJ0b3AiaW4gYSl0aGlzLm9m
ZnNldC5jbGljay50b3A9YS50b3ArdGhpcy5tYXJnaW5zLnRvcDtpZigiYm90dG9tImluIGEpdGhp
cy5vZmZzZXQuY2xpY2sudG9wPQordGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtYS5ib3R0
b20rdGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zm
c2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBhPXRoaXMub2Zmc2V0UGFy
ZW50Lm9mZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJnRoaXMuc2Nyb2xs
UGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0
aGlzLm9mZnNldFBhcmVudFswXSkpe2EubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVm
dCgpO2EudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKX1pZih0aGlzLm9mZnNldFBh
cmVudFswXT09ZG9jdW1lbnQuYm9keXx8dGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZSYmdGhp
cy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0iaHRtbCImJmQuYnJvd3Nl
ci5tc2llKWE9Cit7dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmEudG9wKyhwYXJzZUludCh0aGlz
Lm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmEubGVmdCso
cGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDAp
fX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5jc3NQb3NpdGlvbj09InJl
bGF0aXZlIil7dmFyIGE9dGhpcy5jdXJyZW50SXRlbS5wb3NpdGlvbigpO3JldHVybnt0b3A6YS50
b3AtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBh
cmVudC5zY3JvbGxUb3AoKSxsZWZ0OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJs
ZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJu
e3RvcDowLGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xl
ZnQ6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpbkxlZnQiKSwKKzEwKXx8MCx0
b3A6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MH19LF9j
YWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17
d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhl
aWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO2lm
KGEuY29udGFpbm1lbnQ9PSJwYXJlbnQiKWEuY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFy
ZW50Tm9kZTtpZihhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQifHxhLmNvbnRhaW5tZW50PT0id2lu
ZG93Iil0aGlzLmNvbnRhaW5tZW50PVswLXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5v
ZmZzZXQucGFyZW50LmxlZnQsMC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQu
cGFyZW50LnRvcCxkKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/Citkb2N1bWVudDp3aW5kb3cp
LndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwo
ZChhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRvdykuaGVpZ2h0KCl8fGRv
Y3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlv
bnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdO2lmKCEvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50
KSQvLnRlc3QoYS5jb250YWlubWVudCkpe3ZhciBiPWQoYS5jb250YWlubWVudClbMF07YT1kKGEu
Y29udGFpbm1lbnQpLm9mZnNldCgpO3ZhciBjPWQoYikuY3NzKCJvdmVyZmxvdyIpIT0iaGlkZGVu
Ijt0aGlzLmNvbnRhaW5tZW50PVthLmxlZnQrKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJMZWZ0
V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDAp
LXRoaXMubWFyZ2lucy5sZWZ0LGEudG9wKyhwYXJzZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lk
dGgiKSwKKzEwKXx8MCkrKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKS10
aGlzLm1hcmdpbnMudG9wLGEubGVmdCsoYz9NYXRoLm1heChiLnNjcm9sbFdpZHRoLGIub2Zmc2V0
V2lkdGgpOmIub2Zmc2V0V2lkdGgpLShwYXJzZUludChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRo
IiksMTApfHwwKS0ocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhp
cy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxhLnRvcCsoYz9NYXRo
Lm1heChiLnNjcm9sbEhlaWdodCxiLm9mZnNldEhlaWdodCk6Yi5vZmZzZXRIZWlnaHQpLShwYXJz
ZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChkKGIpLmNz
cygicGFkZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQt
dGhpcy5tYXJnaW5zLnRvcF19fSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24oYSxiKXtpZigh
YiliPQordGhpcy5wb3NpdGlvbjthPWE9PSJhYnNvbHV0ZSI/MTotMTt2YXIgYz10aGlzLmNzc1Bv
c2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51
aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3Ro
aXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGU9LyhodG1sfGJvZHkpL2kudGVzdChj
WzBdLnRhZ05hbWUpO3JldHVybnt0b3A6Yi50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmEr
dGhpcy5vZmZzZXQucGFyZW50LnRvcCphLShkLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0
aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFy
ZW50LnNjcm9sbFRvcCgpOmU/MDpjLnNjcm9sbFRvcCgpKSphKSxsZWZ0OmIubGVmdCt0aGlzLm9m
ZnNldC5yZWxhdGl2ZS5sZWZ0KmErdGhpcy5vZmZzZXQucGFyZW50LmxlZnQqYS0oZC5icm93c2Vy
LnNhZmFyaSYmCit0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249
PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTplPzA6Yy5zY3JvbGxMZWZ0
KCkpKmEpfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25z
LGM9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9
ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQ
YXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxlPS8oaHRtbHxi
b2R5KS9pLnRlc3QoY1swXS50YWdOYW1lKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRpdmUi
JiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmdGhpcy5zY3JvbGxQYXJlbnRbMF0h
PXRoaXMub2Zmc2V0UGFyZW50WzBdKSl0aGlzLm9mZnNldC5yZWxhdGl2ZT10aGlzLl9nZXRSZWxh
dGl2ZU9mZnNldCgpOwordmFyIGY9YS5wYWdlWCxnPWEucGFnZVk7aWYodGhpcy5vcmlnaW5hbFBv
c2l0aW9uKXtpZih0aGlzLmNvbnRhaW5tZW50KXtpZihhLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNr
LmxlZnQ8dGhpcy5jb250YWlubWVudFswXSlmPXRoaXMuY29udGFpbm1lbnRbMF0rdGhpcy5vZmZz
ZXQuY2xpY2subGVmdDtpZihhLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRh
aW5tZW50WzFdKWc9dGhpcy5jb250YWlubWVudFsxXSt0aGlzLm9mZnNldC5jbGljay50b3A7aWYo
YS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pZj10aGlz
LmNvbnRhaW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdlWS10aGlzLm9m
ZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSlnPXRoaXMuY29udGFpbm1lbnRbM10r
dGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGIuZ3JpZCl7Zz10aGlzLm9yaWdpbmFsUGFnZVkrTWF0
aC5yb3VuZCgoZy0KK3RoaXMub3JpZ2luYWxQYWdlWSkvYi5ncmlkWzFdKSpiLmdyaWRbMV07Zz10
aGlzLmNvbnRhaW5tZW50PyEoZy10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVu
dFsxXXx8Zy10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSk/ZzohKGct
dGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0pP2ctYi5ncmlkWzFdOmcr
Yi5ncmlkWzFdOmc7Zj10aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoZi10aGlzLm9yaWdp
bmFsUGFnZVgpL2IuZ3JpZFswXSkqYi5ncmlkWzBdO2Y9dGhpcy5jb250YWlubWVudD8hKGYtdGhp
cy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdfHxmLXRoaXMub2Zmc2V0LmNs
aWNrLmxlZnQ+dGhpcy5jb250YWlubWVudFsyXSk/ZjohKGYtdGhpcy5vZmZzZXQuY2xpY2subGVm
dDx0aGlzLmNvbnRhaW5tZW50WzBdKT9mLWIuZ3JpZFswXTpmK2IuZ3JpZFswXTpmfX1yZXR1cm57
dG9wOmctCit0aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRo
aXMub2Zmc2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249
PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5z
Y3JvbGxUb3AoKTplPzA6Yy5zY3JvbGxUb3AoKSksbGVmdDpmLXRoaXMub2Zmc2V0LmNsaWNrLmxl
ZnQtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoZC5i
cm93c2VyLnNhZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRp
b249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTplPzA6Yy5zY3JvbGxM
ZWZ0KCkpfX0sX3JlYXJyYW5nZTpmdW5jdGlvbihhLGIsYyxlKXtjP2NbMF0uYXBwZW5kQ2hpbGQo
dGhpcy5wbGFjZWhvbGRlclswXSk6Yi5pdGVtWzBdLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRo
aXMucGxhY2Vob2xkZXJbMF0sCit0aGlzLmRpcmVjdGlvbj09ImRvd24iP2IuaXRlbVswXTpiLml0
ZW1bMF0ubmV4dFNpYmxpbmcpO3RoaXMuY291bnRlcj10aGlzLmNvdW50ZXI/Kyt0aGlzLmNvdW50
ZXI6MTt2YXIgZj10aGlzLGc9dGhpcy5jb3VudGVyO3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7Zz09Zi5jb3VudGVyJiZmLnJlZnJlc2hQb3NpdGlvbnMoIWUpfSwwKX0sX2NsZWFyOmZ1bmN0
aW9uKGEsYil7dGhpcy5yZXZlcnRpbmc9ZmFsc2U7dmFyIGM9W107IXRoaXMuX25vRmluYWxTb3J0
JiZ0aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpLmxlbmd0aCYmdGhpcy5wbGFjZWhvbGRlci5iZWZv
cmUodGhpcy5jdXJyZW50SXRlbSk7dGhpcy5fbm9GaW5hbFNvcnQ9bnVsbDtpZih0aGlzLmhlbHBl
clswXT09dGhpcy5jdXJyZW50SXRlbVswXSl7Zm9yKHZhciBlIGluIHRoaXMuX3N0b3JlZENTUylp
Zih0aGlzLl9zdG9yZWRDU1NbZV09PSJhdXRvInx8dGhpcy5fc3RvcmVkQ1NTW2VdPT0ic3RhdGlj
Iil0aGlzLl9zdG9yZWRDU1NbZV09CisiIjt0aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9y
ZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKX1lbHNlIHRoaXMuY3VycmVu
dEl0ZW0uc2hvdygpO3RoaXMuZnJvbU91dHNpZGUmJiFiJiZjLnB1c2goZnVuY3Rpb24oZil7dGhp
cy5fdHJpZ2dlcigicmVjZWl2ZSIsZix0aGlzLl91aUhhc2godGhpcy5mcm9tT3V0c2lkZSkpfSk7
aWYoKHRoaXMuZnJvbU91dHNpZGV8fHRoaXMuZG9tUG9zaXRpb24ucHJldiE9dGhpcy5jdXJyZW50
SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF18fHRoaXMuZG9tUG9zaXRp
b24ucGFyZW50IT10aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdKSYmIWIpYy5wdXNoKGZ1bmN0
aW9uKGYpe3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZix0aGlzLl91aUhhc2goKSl9KTtpZighZC51
aS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50SXRlbVswXSkpe2J8fGMucHVz
aChmdW5jdGlvbihmKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLAorZix0aGlzLl91aUhhc2goKSl9
KTtmb3IoZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0paWYoZC51aS5jb250YWlu
cyh0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSx0aGlzLmN1cnJlbnRJdGVtWzBdKSYmIWIp
e2MucHVzaChmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigicmVjZWl2
ZSIsZyx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29udGFpbmVyc1tlXSkp
O2MucHVzaChmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigidXBkYXRl
IixnLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2VdKSl9
fWZvcihlPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtlPj0wO2UtLSl7Ynx8Yy5wdXNoKGZ1bmN0
aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtmLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixnLHRoaXMu
X3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsCit0aGlzLmNvbnRhaW5lcnNbZV0pKTtpZih0aGlz
LmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcil7Yy5wdXNoKGZ1bmN0aW9uKGYpe3Jl
dHVybiBmdW5jdGlvbihnKXtmLl90cmlnZ2VyKCJvdXQiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19
LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbZV0pKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFp
bmVyQ2FjaGUub3Zlcj0wfX10aGlzLl9zdG9yZWRDdXJzb3ImJmQoImJvZHkiKS5jc3MoImN1cnNv
ciIsdGhpcy5fc3RvcmVkQ3Vyc29yKTt0aGlzLl9zdG9yZWRPcGFjaXR5JiZ0aGlzLmhlbHBlci5j
c3MoIm9wYWNpdHkiLHRoaXMuX3N0b3JlZE9wYWNpdHkpO2lmKHRoaXMuX3N0b3JlZFpJbmRleCl0
aGlzLmhlbHBlci5jc3MoInpJbmRleCIsdGhpcy5fc3RvcmVkWkluZGV4PT0iYXV0byI/IiI6dGhp
cy5fc3RvcmVkWkluZGV4KTt0aGlzLmRyYWdnaW5nPWZhbHNlO2lmKHRoaXMuY2FuY2VsSGVscGVy
UmVtb3ZhbCl7aWYoIWIpe3RoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLAorYSx0aGlzLl91aUhh
c2goKSk7Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKyljW2VdLmNhbGwodGhpcyxhKTt0aGlzLl90cmln
Z2VyKCJzdG9wIixhLHRoaXMuX3VpSGFzaCgpKX1yZXR1cm4gZmFsc2V9Ynx8dGhpcy5fdHJpZ2dl
cigiYmVmb3JlU3RvcCIsYSx0aGlzLl91aUhhc2goKSk7dGhpcy5wbGFjZWhvbGRlclswXS5wYXJl
bnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3RoaXMuaGVscGVyWzBdIT10
aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlzLmhlbHBlcj1udWxs
O2lmKCFiKXtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWNbZV0uY2FsbCh0aGlzLGEpO3RoaXMuX3Ry
aWdnZXIoInN0b3AiLGEsdGhpcy5fdWlIYXNoKCkpfXRoaXMuZnJvbU91dHNpZGU9ZmFsc2U7cmV0
dXJuIHRydWV9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7ZC5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2Vy
LmFwcGx5KHRoaXMsYXJndW1lbnRzKT09PWZhbHNlJiZ0aGlzLmNhbmNlbCgpfSwKK191aUhhc2g6
ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dGhpcztyZXR1cm57aGVscGVyOmIuaGVscGVyLHBsYWNlaG9s
ZGVyOmIucGxhY2Vob2xkZXJ8fGQoW10pLHBvc2l0aW9uOmIucG9zaXRpb24sb3JpZ2luYWxQb3Np
dGlvbjpiLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OmIucG9zaXRpb25BYnMsaXRlbTpiLmN1cnJl
bnRJdGVtLHNlbmRlcjphP2EuZWxlbWVudDpudWxsfX19KTtkLmV4dGVuZChkLnVpLnNvcnRhYmxl
LHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5z
b3J0YWJsZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMj
CisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkudGFicy5taW4uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3VpL2pxdWVyeS51aS50YWJzLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWlu
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBqUXVlcnkgVUkgVGFi
cyAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RhYnMKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5
LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS53aWRnZXQuanMKKyAqLworKGZ1bmN0aW9uKGQscCl7
ZnVuY3Rpb24gdSgpe3JldHVybisrdn1mdW5jdGlvbiB3KCl7cmV0dXJuKyt4fXZhciB2PTAseD0w
O2Qud2lkZ2V0KCJ1aS50YWJzIix7b3B0aW9uczp7YWRkOm51bGwsYWpheE9wdGlvbnM6bnVsbCxj
YWNoZTpmYWxzZSxjb29raWU6bnVsbCxjb2xsYXBzaWJsZTpmYWxzZSxkaXNhYmxlOm51bGwsZGlz
YWJsZWQ6W10sZW5hYmxlOm51bGwsZXZlbnQ6ImNsaWNrIixmeDpudWxsLGlkUHJlZml4OiJ1aS10
YWJzLSIsbG9hZDpudWxsLHBhbmVsVGVtcGxhdGU6IjxkaXY+PC9kaXY+IixyZW1vdmU6bnVsbCxz
ZWxlY3Q6bnVsbCxzaG93Om51bGwsc3Bpbm5lcjoiPGVtPkxvYWRpbmcmIzgyMzA7PC9lbT4iLHRh
YlRlbXBsYXRlOiI8bGk+PGEgaHJlZj0nI3tocmVmfSc+PHNwYW4+I3tsYWJlbH08L3NwYW4+PC9h
PjwvbGk+In0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX3RhYmlmeSh0cnVlKX0sX3NldE9wdGlv
bjpmdW5jdGlvbihiLGUpe2lmKGI9PSJzZWxlY3RlZCIpdGhpcy5vcHRpb25zLmNvbGxhcHNpYmxl
JiYKK2U9PXRoaXMub3B0aW9ucy5zZWxlY3RlZHx8dGhpcy5zZWxlY3QoZSk7ZWxzZXt0aGlzLm9w
dGlvbnNbYl09ZTt0aGlzLl90YWJpZnkoKX19LF90YWJJZDpmdW5jdGlvbihiKXtyZXR1cm4gYi50
aXRsZSYmYi50aXRsZS5yZXBsYWNlKC9ccy9nLCJfIikucmVwbGFjZSgvW15cd1x1MDBjMC1cdUZG
RkYtXS9nLCIiKXx8dGhpcy5vcHRpb25zLmlkUHJlZml4K3UoKX0sX3Nhbml0aXplU2VsZWN0b3I6
ZnVuY3Rpb24oYil7cmV0dXJuIGIucmVwbGFjZSgvOi9nLCJcXDoiKX0sX2Nvb2tpZTpmdW5jdGlv
bigpe3ZhciBiPXRoaXMuY29va2llfHwodGhpcy5jb29raWU9dGhpcy5vcHRpb25zLmNvb2tpZS5u
YW1lfHwidWktdGFicy0iK3coKSk7cmV0dXJuIGQuY29va2llLmFwcGx5KG51bGwsW2JdLmNvbmNh
dChkLm1ha2VBcnJheShhcmd1bWVudHMpKSl9LF91aTpmdW5jdGlvbihiLGUpe3JldHVybnt0YWI6
YixwYW5lbDplLGluZGV4OnRoaXMuYW5jaG9ycy5pbmRleChiKX19LF9jbGVhbnVwOmZ1bmN0aW9u
KCl7dGhpcy5saXMuZmlsdGVyKCIudWktc3RhdGUtcHJvY2Vzc2luZyIpLnJlbW92ZUNsYXNzKCJ1
aS1zdGF0ZS1wcm9jZXNzaW5nIikuZmluZCgic3BhbjpkYXRhKGxhYmVsLnRhYnMpIikuZWFjaChm
dW5jdGlvbigpe3ZhciBiPQorZCh0aGlzKTtiLmh0bWwoYi5kYXRhKCJsYWJlbC50YWJzIikpLnJl
bW92ZURhdGEoImxhYmVsLnRhYnMiKX0pfSxfdGFiaWZ5OmZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGUo
ZyxmKXtnLmNzcygiZGlzcGxheSIsIiIpOyFkLnN1cHBvcnQub3BhY2l0eSYmZi5vcGFjaXR5JiZn
WzBdLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIil9dmFyIGE9dGhpcyxjPXRoaXMub3B0
aW9ucyxoPS9eIy4rLzt0aGlzLmxpc3Q9dGhpcy5lbGVtZW50LmZpbmQoIm9sLHVsIikuZXEoMCk7
dGhpcy5saXM9ZCgiID4gbGk6aGFzKGFbaHJlZl0pIix0aGlzLmxpc3QpO3RoaXMuYW5jaG9ycz10
aGlzLmxpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZCgiYSIsdGhpcylbMF19KTt0aGlzLnBhbmVs
cz1kKFtdKTt0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbihnLGYpe3ZhciBpPWQoZikuYXR0cigi
aHJlZiIpLGw9aS5zcGxpdCgiIyIpWzBdLHE7aWYobCYmKGw9PT1sb2NhdGlvbi50b1N0cmluZygp
LnNwbGl0KCIjIilbMF18fAorKHE9ZCgiYmFzZSIpWzBdKSYmbD09PXEuaHJlZikpe2k9Zi5oYXNo
O2YuaHJlZj1pfWlmKGgudGVzdChpKSlhLnBhbmVscz1hLnBhbmVscy5hZGQoYS5lbGVtZW50LmZp
bmQoYS5fc2FuaXRpemVTZWxlY3RvcihpKSkpO2Vsc2UgaWYoaSYmaSE9PSIjIil7ZC5kYXRhKGYs
ImhyZWYudGFicyIsaSk7ZC5kYXRhKGYsImxvYWQudGFicyIsaS5yZXBsYWNlKC8jLiokLywiIikp
O2k9YS5fdGFiSWQoZik7Zi5ocmVmPSIjIitpO2Y9YS5lbGVtZW50LmZpbmQoIiMiK2kpO2lmKCFm
Lmxlbmd0aCl7Zj1kKGMucGFuZWxUZW1wbGF0ZSkuYXR0cigiaWQiLGkpLmFkZENsYXNzKCJ1aS10
YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKS5pbnNlcnRBZnRl
cihhLnBhbmVsc1tnLTFdfHxhLmxpc3QpO2YuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKX1hLnBh
bmVscz1hLnBhbmVscy5hZGQoZil9ZWxzZSBjLmRpc2FibGVkLnB1c2goZyl9KTtpZihiKXt0aGlz
LmVsZW1lbnQuYWRkQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVp
LWNvcm5lci1hbGwiKTsKK3RoaXMubGlzdC5hZGRDbGFzcygidWktdGFicy1uYXYgdWktaGVscGVy
LXJlc2V0IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwi
KTt0aGlzLmxpcy5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIik7dGhp
cy5wYW5lbHMuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWJvdHRvbSIpO2lmKGMuc2VsZWN0ZWQ9PT1wKXtsb2NhdGlvbi5oYXNoJiZ0aGlzLmFuY2hv
cnMuZWFjaChmdW5jdGlvbihnLGYpe2lmKGYuaGFzaD09bG9jYXRpb24uaGFzaCl7Yy5zZWxlY3Rl
ZD1nO3JldHVybiBmYWxzZX19KTtpZih0eXBlb2YgYy5zZWxlY3RlZCE9PSJudW1iZXIiJiZjLmNv
b2tpZSljLnNlbGVjdGVkPXBhcnNlSW50KGEuX2Nvb2tpZSgpLDEwKTtpZih0eXBlb2YgYy5zZWxl
Y3RlZCE9PSJudW1iZXIiJiZ0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikubGVu
Z3RoKWMuc2VsZWN0ZWQ9Cit0aGlzLmxpcy5pbmRleCh0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJz
LXNlbGVjdGVkIikpO2Muc2VsZWN0ZWQ9Yy5zZWxlY3RlZHx8KHRoaXMubGlzLmxlbmd0aD8wOi0x
KX1lbHNlIGlmKGMuc2VsZWN0ZWQ9PT1udWxsKWMuc2VsZWN0ZWQ9LTE7Yy5zZWxlY3RlZD1jLnNl
bGVjdGVkPj0wJiZ0aGlzLmFuY2hvcnNbYy5zZWxlY3RlZF18fGMuc2VsZWN0ZWQ8MD9jLnNlbGVj
dGVkOjA7Yy5kaXNhYmxlZD1kLnVuaXF1ZShjLmRpc2FibGVkLmNvbmNhdChkLm1hcCh0aGlzLmxp
cy5maWx0ZXIoIi51aS1zdGF0ZS1kaXNhYmxlZCIpLGZ1bmN0aW9uKGcpe3JldHVybiBhLmxpcy5p
bmRleChnKX0pKSkuc29ydCgpO2QuaW5BcnJheShjLnNlbGVjdGVkLGMuZGlzYWJsZWQpIT0tMSYm
Yy5kaXNhYmxlZC5zcGxpY2UoZC5pbkFycmF5KGMuc2VsZWN0ZWQsYy5kaXNhYmxlZCksMSk7dGhp
cy5wYW5lbHMuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO3RoaXMubGlzLnJlbW92ZUNsYXNzKCJ1
aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpOworaWYoYy5zZWxlY3RlZD49MCYmdGhp
cy5hbmNob3JzLmxlbmd0aCl7YS5lbGVtZW50LmZpbmQoYS5fc2FuaXRpemVTZWxlY3RvcihhLmFu
Y2hvcnNbYy5zZWxlY3RlZF0uaGFzaCkpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlz
Lmxpcy5lcShjLnNlbGVjdGVkKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1h
Y3RpdmUiKTthLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7YS5fdHJpZ2dlcigic2hv
dyIsbnVsbCxhLl91aShhLmFuY2hvcnNbYy5zZWxlY3RlZF0sYS5lbGVtZW50LmZpbmQoYS5fc2Fu
aXRpemVTZWxlY3RvcihhLmFuY2hvcnNbYy5zZWxlY3RlZF0uaGFzaCkpWzBdKSl9KTt0aGlzLmxv
YWQoYy5zZWxlY3RlZCl9ZCh3aW5kb3cpLmJpbmQoInVubG9hZCIsZnVuY3Rpb24oKXthLmxpcy5h
ZGQoYS5hbmNob3JzKS51bmJpbmQoIi50YWJzIik7YS5saXM9YS5hbmNob3JzPWEucGFuZWxzPW51
bGx9KX1lbHNlIGMuc2VsZWN0ZWQ9dGhpcy5saXMuaW5kZXgodGhpcy5saXMuZmlsdGVyKCIudWkt
dGFicy1zZWxlY3RlZCIpKTsKK3RoaXMuZWxlbWVudFtjLmNvbGxhcHNpYmxlPyJhZGRDbGFzcyI6
InJlbW92ZUNsYXNzIl0oInVpLXRhYnMtY29sbGFwc2libGUiKTtjLmNvb2tpZSYmdGhpcy5fY29v
a2llKGMuc2VsZWN0ZWQsYy5jb29raWUpO2I9MDtmb3IodmFyIGo7aj10aGlzLmxpc1tiXTtiKysp
ZChqKVtkLmluQXJyYXkoYixjLmRpc2FibGVkKSE9LTEmJiFkKGopLmhhc0NsYXNzKCJ1aS10YWJz
LXNlbGVjdGVkIik/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktc3RhdGUtZGlzYWJsZWQi
KTtjLmNhY2hlPT09ZmFsc2UmJnRoaXMuYW5jaG9ycy5yZW1vdmVEYXRhKCJjYWNoZS50YWJzIik7
dGhpcy5saXMuYWRkKHRoaXMuYW5jaG9ycykudW5iaW5kKCIudGFicyIpO2lmKGMuZXZlbnQhPT0i
bW91c2VvdmVyIil7dmFyIGs9ZnVuY3Rpb24oZyxmKXtmLmlzKCI6bm90KC51aS1zdGF0ZS1kaXNh
YmxlZCkiKSYmZi5hZGRDbGFzcygidWktc3RhdGUtIitnKX0sbj1mdW5jdGlvbihnLGYpe2YucmVt
b3ZlQ2xhc3MoInVpLXN0YXRlLSIrCitnKX07dGhpcy5saXMuYmluZCgibW91c2VvdmVyLnRhYnMi
LGZ1bmN0aW9uKCl7aygiaG92ZXIiLGQodGhpcykpfSk7dGhpcy5saXMuYmluZCgibW91c2VvdXQu
dGFicyIsZnVuY3Rpb24oKXtuKCJob3ZlciIsZCh0aGlzKSl9KTt0aGlzLmFuY2hvcnMuYmluZCgi
Zm9jdXMudGFicyIsZnVuY3Rpb24oKXtrKCJmb2N1cyIsZCh0aGlzKS5jbG9zZXN0KCJsaSIpKX0p
O3RoaXMuYW5jaG9ycy5iaW5kKCJibHVyLnRhYnMiLGZ1bmN0aW9uKCl7bigiZm9jdXMiLGQodGhp
cykuY2xvc2VzdCgibGkiKSl9KX12YXIgbSxvO2lmKGMuZngpaWYoZC5pc0FycmF5KGMuZngpKXtt
PWMuZnhbMF07bz1jLmZ4WzFdfWVsc2UgbT1vPWMuZng7dmFyIHI9bz9mdW5jdGlvbihnLGYpe2Qo
ZykuY2xvc2VzdCgibGkiKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3Rp
dmUiKTtmLmhpZGUoKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIikuYW5pbWF0ZShvLG8uZHVy
YXRpb258fCJub3JtYWwiLAorZnVuY3Rpb24oKXtlKGYsbyk7YS5fdHJpZ2dlcigic2hvdyIsbnVs
bCxhLl91aShnLGZbMF0pKX0pfTpmdW5jdGlvbihnLGYpe2QoZykuY2xvc2VzdCgibGkiKS5hZGRD
bGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtmLnJlbW92ZUNsYXNzKCJ1
aS10YWJzLWhpZGUiKTthLl90cmlnZ2VyKCJzaG93IixudWxsLGEuX3VpKGcsZlswXSkpfSxzPW0/
ZnVuY3Rpb24oZyxmKXtmLmFuaW1hdGUobSxtLmR1cmF0aW9ufHwibm9ybWFsIixmdW5jdGlvbigp
e2EubGlzLnJlbW92ZUNsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO2Yu
YWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO2UoZixtKTthLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIp
fSl9OmZ1bmN0aW9uKGcsZil7YS5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWkt
c3RhdGUtYWN0aXZlIik7Zi5hZGRDbGFzcygidWktdGFicy1oaWRlIik7YS5lbGVtZW50LmRlcXVl
dWUoInRhYnMiKX07Cit0aGlzLmFuY2hvcnMuYmluZChjLmV2ZW50KyIudGFicyIsZnVuY3Rpb24o
KXt2YXIgZz10aGlzLGY9ZChnKS5jbG9zZXN0KCJsaSIpLGk9YS5wYW5lbHMuZmlsdGVyKCI6bm90
KC51aS10YWJzLWhpZGUpIiksbD1hLmVsZW1lbnQuZmluZChhLl9zYW5pdGl6ZVNlbGVjdG9yKGcu
aGFzaCkpO2lmKGYuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmIWMuY29sbGFwc2libGV8
fGYuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fGYuaGFzQ2xhc3MoInVpLXN0YXRlLXBy
b2Nlc3NpbmciKXx8YS5wYW5lbHMuZmlsdGVyKCI6YW5pbWF0ZWQiKS5sZW5ndGh8fGEuX3RyaWdn
ZXIoInNlbGVjdCIsbnVsbCxhLl91aSh0aGlzLGxbMF0pKT09PWZhbHNlKXt0aGlzLmJsdXIoKTty
ZXR1cm4gZmFsc2V9Yy5zZWxlY3RlZD1hLmFuY2hvcnMuaW5kZXgodGhpcyk7YS5hYm9ydCgpO2lm
KGMuY29sbGFwc2libGUpaWYoZi5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpKXtjLnNlbGVj
dGVkPQorLTE7Yy5jb29raWUmJmEuX2Nvb2tpZShjLnNlbGVjdGVkLGMuY29va2llKTthLmVsZW1l
bnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhnLGkpfSkuZGVxdWV1ZSgidGFicyIpO3RoaXMu
Ymx1cigpO3JldHVybiBmYWxzZX1lbHNlIGlmKCFpLmxlbmd0aCl7Yy5jb29raWUmJmEuX2Nvb2tp
ZShjLnNlbGVjdGVkLGMuY29va2llKTthLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7
cihnLGwpfSk7YS5sb2FkKGEuYW5jaG9ycy5pbmRleCh0aGlzKSk7dGhpcy5ibHVyKCk7cmV0dXJu
IGZhbHNlfWMuY29va2llJiZhLl9jb29raWUoYy5zZWxlY3RlZCxjLmNvb2tpZSk7aWYobC5sZW5n
dGgpe2kubGVuZ3RoJiZhLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhnLGkpfSk7
YS5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3IoZyxsKX0pO2EubG9hZChhLmFuY2hv
cnMuaW5kZXgodGhpcykpfWVsc2UgdGhyb3cialF1ZXJ5IFVJIFRhYnM6IE1pc21hdGNoaW5nIGZy
YWdtZW50IGlkZW50aWZpZXIuIjsKK2QuYnJvd3Nlci5tc2llJiZ0aGlzLmJsdXIoKX0pO3RoaXMu
YW5jaG9ycy5iaW5kKCJjbGljay50YWJzIixmdW5jdGlvbigpe3JldHVybiBmYWxzZX0pfSxfZ2V0
SW5kZXg6ZnVuY3Rpb24oYil7aWYodHlwZW9mIGI9PSJzdHJpbmciKWI9dGhpcy5hbmNob3JzLmlu
ZGV4KHRoaXMuYW5jaG9ycy5maWx0ZXIoIltocmVmJD0iK2IrIl0iKSk7cmV0dXJuIGJ9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLm9wdGlvbnM7dGhpcy5hYm9ydCgpO3RoaXMuZWxlbWVu
dC51bmJpbmQoIi50YWJzIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdl
dC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktdGFicy1jb2xsYXBzaWJsZSIpLnJlbW92ZURhdGEo
InRhYnMiKTt0aGlzLmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNl
dCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIik7dGhp
cy5hbmNob3JzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT0KK2QuZGF0YSh0aGlzLCJocmVmLnRhYnMi
KTtpZihlKXRoaXMuaHJlZj1lO3ZhciBhPWQodGhpcykudW5iaW5kKCIudGFicyIpO2QuZWFjaChb
ImhyZWYiLCJsb2FkIiwiY2FjaGUiXSxmdW5jdGlvbihjLGgpe2EucmVtb3ZlRGF0YShoKyIudGFi
cyIpfSl9KTt0aGlzLmxpcy51bmJpbmQoIi50YWJzIikuYWRkKHRoaXMucGFuZWxzKS5lYWNoKGZ1
bmN0aW9uKCl7ZC5kYXRhKHRoaXMsImRlc3Ryb3kudGFicyIpP2QodGhpcykucmVtb3ZlKCk6ZCh0
aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIHVpLXRhYnMt
c2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWhvdmVyIHVpLXN0YXRlLWZvY3VzIHVp
LXN0YXRlLWRpc2FibGVkIHVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVy
LWJvdHRvbSB1aS10YWJzLWhpZGUiKX0pO2IuY29va2llJiZ0aGlzLl9jb29raWUobnVsbCxiLmNv
b2tpZSk7cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihiLAorZSxhKXtpZihhPT09cClhPXRoaXMu
YW5jaG9ycy5sZW5ndGg7dmFyIGM9dGhpcyxoPXRoaXMub3B0aW9ucztlPWQoaC50YWJUZW1wbGF0
ZS5yZXBsYWNlKC8jXHtocmVmXH0vZyxiKS5yZXBsYWNlKC8jXHtsYWJlbFx9L2csZSkpO2I9IWIu
aW5kZXhPZigiIyIpP2IucmVwbGFjZSgiIyIsIiIpOnRoaXMuX3RhYklkKGQoImEiLGUpWzBdKTtl
LmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKS5kYXRhKCJkZXN0cm95
LnRhYnMiLHRydWUpO3ZhciBqPWMuZWxlbWVudC5maW5kKCIjIitiKTtqLmxlbmd0aHx8KGo9ZCho
LnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIixiKS5kYXRhKCJkZXN0cm95LnRhYnMiLHRydWUpKTtq
LmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0
b20gdWktdGFicy1oaWRlIik7aWYoYT49dGhpcy5saXMubGVuZ3RoKXtlLmFwcGVuZFRvKHRoaXMu
bGlzdCk7ai5hcHBlbmRUbyh0aGlzLmxpc3RbMF0ucGFyZW50Tm9kZSl9ZWxzZXtlLmluc2VydEJl
Zm9yZSh0aGlzLmxpc1thXSk7CitqLmluc2VydEJlZm9yZSh0aGlzLnBhbmVsc1thXSl9aC5kaXNh
YmxlZD1kLm1hcChoLmRpc2FibGVkLGZ1bmN0aW9uKGspe3JldHVybiBrPj1hPysrazprfSk7dGhp
cy5fdGFiaWZ5KCk7aWYodGhpcy5hbmNob3JzLmxlbmd0aD09MSl7aC5zZWxlY3RlZD0wO2UuYWRk
Q2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7ai5yZW1vdmVDbGFzcygi
dWktdGFicy1oaWRlIik7dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe2MuX3Ry
aWdnZXIoInNob3ciLG51bGwsYy5fdWkoYy5hbmNob3JzWzBdLGMucGFuZWxzWzBdKSl9KTt0aGlz
LmxvYWQoMCl9dGhpcy5fdHJpZ2dlcigiYWRkIixudWxsLHRoaXMuX3VpKHRoaXMuYW5jaG9yc1th
XSx0aGlzLnBhbmVsc1thXSkpO3JldHVybiB0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oYil7Yj10aGlz
Ll9nZXRJbmRleChiKTt2YXIgZT10aGlzLm9wdGlvbnMsYT10aGlzLmxpcy5lcShiKS5yZW1vdmUo
KSxjPXRoaXMucGFuZWxzLmVxKGIpLnJlbW92ZSgpOworaWYoYS5oYXNDbGFzcygidWktdGFicy1z
ZWxlY3RlZCIpJiZ0aGlzLmFuY2hvcnMubGVuZ3RoPjEpdGhpcy5zZWxlY3QoYisoYisxPHRoaXMu
YW5jaG9ycy5sZW5ndGg/MTotMSkpO2UuZGlzYWJsZWQ9ZC5tYXAoZC5ncmVwKGUuZGlzYWJsZWQs
ZnVuY3Rpb24oaCl7cmV0dXJuIGghPWJ9KSxmdW5jdGlvbihoKXtyZXR1cm4gaD49Yj8tLWg6aH0p
O3RoaXMuX3RhYmlmeSgpO3RoaXMuX3RyaWdnZXIoInJlbW92ZSIsbnVsbCx0aGlzLl91aShhLmZp
bmQoImEiKVswXSxjWzBdKSk7cmV0dXJuIHRoaXN9LGVuYWJsZTpmdW5jdGlvbihiKXtiPXRoaXMu
X2dldEluZGV4KGIpO3ZhciBlPXRoaXMub3B0aW9ucztpZihkLmluQXJyYXkoYixlLmRpc2FibGVk
KSE9LTEpe3RoaXMubGlzLmVxKGIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2Uu
ZGlzYWJsZWQ9ZC5ncmVwKGUuZGlzYWJsZWQsZnVuY3Rpb24oYSl7cmV0dXJuIGEhPWJ9KTt0aGlz
Ll90cmlnZ2VyKCJlbmFibGUiLG51bGwsCit0aGlzLl91aSh0aGlzLmFuY2hvcnNbYl0sdGhpcy5w
YW5lbHNbYl0pKTtyZXR1cm4gdGhpc319LGRpc2FibGU6ZnVuY3Rpb24oYil7Yj10aGlzLl9nZXRJ
bmRleChiKTt2YXIgZT10aGlzLm9wdGlvbnM7aWYoYiE9ZS5zZWxlY3RlZCl7dGhpcy5saXMuZXEo
YikuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7ZS5kaXNhYmxlZC5wdXNoKGIpO2UuZGlz
YWJsZWQuc29ydCgpO3RoaXMuX3RyaWdnZXIoImRpc2FibGUiLG51bGwsdGhpcy5fdWkodGhpcy5h
bmNob3JzW2JdLHRoaXMucGFuZWxzW2JdKSl9cmV0dXJuIHRoaXN9LHNlbGVjdDpmdW5jdGlvbihi
KXtiPXRoaXMuX2dldEluZGV4KGIpO2lmKGI9PS0xKWlmKHRoaXMub3B0aW9ucy5jb2xsYXBzaWJs
ZSYmdGhpcy5vcHRpb25zLnNlbGVjdGVkIT0tMSliPXRoaXMub3B0aW9ucy5zZWxlY3RlZDtlbHNl
IHJldHVybiB0aGlzO3RoaXMuYW5jaG9ycy5lcShiKS50cmlnZ2VyKHRoaXMub3B0aW9ucy5ldmVu
dCsiLnRhYnMiKTtyZXR1cm4gdGhpc30sCitsb2FkOmZ1bmN0aW9uKGIpe2I9dGhpcy5fZ2V0SW5k
ZXgoYik7dmFyIGU9dGhpcyxhPXRoaXMub3B0aW9ucyxjPXRoaXMuYW5jaG9ycy5lcShiKVswXSxo
PWQuZGF0YShjLCJsb2FkLnRhYnMiKTt0aGlzLmFib3J0KCk7aWYoIWh8fHRoaXMuZWxlbWVudC5x
dWV1ZSgidGFicyIpLmxlbmd0aCE9PTAmJmQuZGF0YShjLCJjYWNoZS50YWJzIikpdGhpcy5lbGVt
ZW50LmRlcXVldWUoInRhYnMiKTtlbHNle3RoaXMubGlzLmVxKGIpLmFkZENsYXNzKCJ1aS1zdGF0
ZS1wcm9jZXNzaW5nIik7aWYoYS5zcGlubmVyKXt2YXIgaj1kKCJzcGFuIixjKTtqLmRhdGEoImxh
YmVsLnRhYnMiLGouaHRtbCgpKS5odG1sKGEuc3Bpbm5lcil9dGhpcy54aHI9ZC5hamF4KGQuZXh0
ZW5kKHt9LGEuYWpheE9wdGlvbnMse3VybDpoLHN1Y2Nlc3M6ZnVuY3Rpb24oayxuKXtlLmVsZW1l
bnQuZmluZChlLl9zYW5pdGl6ZVNlbGVjdG9yKGMuaGFzaCkpLmh0bWwoayk7ZS5fY2xlYW51cCgp
O2EuY2FjaGUmJmQuZGF0YShjLAorImNhY2hlLnRhYnMiLHRydWUpO2UuX3RyaWdnZXIoImxvYWQi
LG51bGwsZS5fdWkoZS5hbmNob3JzW2JdLGUucGFuZWxzW2JdKSk7dHJ5e2EuYWpheE9wdGlvbnMu
c3VjY2VzcyhrLG4pfWNhdGNoKG0pe319LGVycm9yOmZ1bmN0aW9uKGssbil7ZS5fY2xlYW51cCgp
O2UuX3RyaWdnZXIoImxvYWQiLG51bGwsZS5fdWkoZS5hbmNob3JzW2JdLGUucGFuZWxzW2JdKSk7
dHJ5e2EuYWpheE9wdGlvbnMuZXJyb3IoayxuLGIsYyl9Y2F0Y2gobSl7fX19KSk7ZS5lbGVtZW50
LmRlcXVldWUoInRhYnMiKTtyZXR1cm4gdGhpc319LGFib3J0OmZ1bmN0aW9uKCl7dGhpcy5lbGVt
ZW50LnF1ZXVlKFtdKTt0aGlzLnBhbmVscy5zdG9wKGZhbHNlLHRydWUpO3RoaXMuZWxlbWVudC5x
dWV1ZSgidGFicyIsdGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikuc3BsaWNlKC0yLDIpKTtpZih0
aGlzLnhocil7dGhpcy54aHIuYWJvcnQoKTtkZWxldGUgdGhpcy54aHJ9dGhpcy5fY2xlYW51cCgp
O3JldHVybiB0aGlzfSwKK3VybDpmdW5jdGlvbihiLGUpe3RoaXMuYW5jaG9ycy5lcShiKS5yZW1v
dmVEYXRhKCJjYWNoZS50YWJzIikuZGF0YSgibG9hZC50YWJzIixlKTtyZXR1cm4gdGhpc30sbGVu
Z3RoOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYW5jaG9ycy5sZW5ndGh9fSk7ZC5leHRlbmQoZC51
aS50YWJzLHt2ZXJzaW9uOiIxLjguMTUifSk7ZC5leHRlbmQoZC51aS50YWJzLnByb3RvdHlwZSx7
cm90YXRpb246bnVsbCxyb3RhdGU6ZnVuY3Rpb24oYixlKXt2YXIgYT10aGlzLGM9dGhpcy5vcHRp
b25zLGg9YS5fcm90YXRlfHwoYS5fcm90YXRlPWZ1bmN0aW9uKGope2NsZWFyVGltZW91dChhLnJv
dGF0aW9uKTthLnJvdGF0aW9uPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgaz1jLnNlbGVjdGVk
O2Euc2VsZWN0KCsrazxhLmFuY2hvcnMubGVuZ3RoP2s6MCl9LGIpO2omJmouc3RvcFByb3BhZ2F0
aW9uKCl9KTtlPWEuX3Vucm90YXRlfHwoYS5fdW5yb3RhdGU9IWU/ZnVuY3Rpb24oail7ai5jbGll
bnRYJiYKK2Eucm90YXRlKG51bGwpfTpmdW5jdGlvbigpe3Q9Yy5zZWxlY3RlZDtoKCl9KTtpZihi
KXt0aGlzLmVsZW1lbnQuYmluZCgidGFic3Nob3ciLGgpO3RoaXMuYW5jaG9ycy5iaW5kKGMuZXZl
bnQrIi50YWJzIixlKTtoKCl9ZWxzZXtjbGVhclRpbWVvdXQoYS5yb3RhdGlvbik7dGhpcy5lbGVt
ZW50LnVuYmluZCgidGFic3Nob3ciLGgpO3RoaXMuYW5jaG9ycy51bmJpbmQoYy5ldmVudCsiLnRh
YnMiLGUpO2RlbGV0ZSB0aGlzLl9yb3RhdGU7ZGVsZXRlIHRoaXMuX3Vucm90YXRlfXJldHVybiB0
aGlzfX0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkudGFicy5taW4uanMKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkud2lkZ2V0Lm1pbi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVp
LndpZGdldC5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQubWluLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKy8qIQorICogalF1ZXJ5IFVJIFdpZGdldCAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL1dpZGdldAorICovCisoZnVuY3Rpb24oYixqKXtpZihiLmNsZWFuRGF0
YSl7dmFyIGs9Yi5jbGVhbkRhdGE7Yi5jbGVhbkRhdGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPTAs
ZDsoZD1hW2NdKSE9bnVsbDtjKyspYihkKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIik7ayhhKX19
ZWxzZXt2YXIgbD1iLmZuLnJlbW92ZTtiLmZuLnJlbW92ZT1mdW5jdGlvbihhLGMpe3JldHVybiB0
aGlzLmVhY2goZnVuY3Rpb24oKXtpZighYylpZighYXx8Yi5maWx0ZXIoYSxbdGhpc10pLmxlbmd0
aCliKCIqIix0aGlzKS5hZGQoW3RoaXNdKS5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS50cmlnZ2Vy
SGFuZGxlcigicmVtb3ZlIil9KTtyZXR1cm4gbC5jYWxsKGIodGhpcyksYSxjKX0pfX1iLndpZGdl
dD1mdW5jdGlvbihhLGMsZCl7dmFyIGU9YS5zcGxpdCgiLiIpWzBdLGY7YT1hLnNwbGl0KCIuIilb
MV07Zj1lKyItIithO2lmKCFkKXtkPWM7Yz1iLldpZGdldH1iLmV4cHJbIjoiXVtmXT1mdW5jdGlv
bihoKXtyZXR1cm4hIWIuZGF0YShoLAorYSl9O2JbZV09YltlXXx8e307YltlXVthXT1mdW5jdGlv
bihoLGcpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChoLGcpfTtjPW5ldyBj
O2Mub3B0aW9ucz1iLmV4dGVuZCh0cnVlLHt9LGMub3B0aW9ucyk7YltlXVthXS5wcm90b3R5cGU9
Yi5leHRlbmQodHJ1ZSxjLHtuYW1lc3BhY2U6ZSx3aWRnZXROYW1lOmEsd2lkZ2V0RXZlbnRQcmVm
aXg6YltlXVthXS5wcm90b3R5cGUud2lkZ2V0RXZlbnRQcmVmaXh8fGEsd2lkZ2V0QmFzZUNsYXNz
OmZ9LGQpO2Iud2lkZ2V0LmJyaWRnZShhLGJbZV1bYV0pfTtiLndpZGdldC5icmlkZ2U9ZnVuY3Rp
b24oYSxjKXtiLmZuW2FdPWZ1bmN0aW9uKGQpe3ZhciBlPXR5cGVvZiBkPT09InN0cmluZyIsZj1B
cnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaD10aGlzO2Q9IWUmJmYubGVu
Z3RoP2IuZXh0ZW5kLmFwcGx5KG51bGwsW3RydWUsZF0uY29uY2F0KGYpKTpkO2lmKGUmJmQuY2hh
ckF0KDApPT09Il8iKXJldHVybiBoOworZT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1iLmRh
dGEodGhpcyxhKSxpPWcmJmIuaXNGdW5jdGlvbihnW2RdKT9nW2RdLmFwcGx5KGcsZik6ZztpZihp
IT09ZyYmaSE9PWope2g9aTtyZXR1cm4gZmFsc2V9fSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFy
IGc9Yi5kYXRhKHRoaXMsYSk7Zz9nLm9wdGlvbihkfHx7fSkuX2luaXQoKTpiLmRhdGEodGhpcyxh
LG5ldyBjKGQsdGhpcykpfSk7cmV0dXJuIGh9fTtiLldpZGdldD1mdW5jdGlvbihhLGMpe2FyZ3Vt
ZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChhLGMpfTtiLldpZGdldC5wcm90b3R5cGU9
e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsb3B0aW9uczp7ZGlzYWJs
ZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oYSxjKXtiLmRhdGEoYyx0aGlzLndpZGdl
dE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWIoYyk7dGhpcy5vcHRpb25zPWIuZXh0ZW5kKHRydWUs
e30sdGhpcy5vcHRpb25zLAordGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLGEpO3ZhciBkPXRoaXM7
dGhpcy5lbGVtZW50LmJpbmQoInJlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbigpe2Qu
ZGVzdHJveSgpfSk7dGhpcy5fY3JlYXRlKCk7dGhpcy5fdHJpZ2dlcigiY3JlYXRlIik7dGhpcy5f
aW5pdCgpfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBiLm1ldGFkYXRhJiZi
Lm1ldGFkYXRhLmdldCh0aGlzLmVsZW1lbnRbMF0pW3RoaXMud2lkZ2V0TmFtZV19LF9jcmVhdGU6
ZnVuY3Rpb24oKXt9LF9pbml0OmZ1bmN0aW9uKCl7fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5l
bGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVEYXRhKHRoaXMud2lkZ2V0
TmFtZSk7dGhpcy53aWRnZXQoKS51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlQXR0
cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlz
YWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sCit3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5lbGVtZW50fSxvcHRpb246ZnVuY3Rpb24oYSxjKXt2YXIgZD1hO2lmKGFyZ3VtZW50cy5sZW5n
dGg9PT0wKXJldHVybiBiLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpO2lmKHR5cGVvZiBhPT09InN0
cmluZyIpe2lmKGM9PT1qKXJldHVybiB0aGlzLm9wdGlvbnNbYV07ZD17fTtkW2FdPWN9dGhpcy5f
c2V0T3B0aW9ucyhkKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGM9
dGhpcztiLmVhY2goYSxmdW5jdGlvbihkLGUpe2MuX3NldE9wdGlvbihkLGUpfSk7cmV0dXJuIHRo
aXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxjKXt0aGlzLm9wdGlvbnNbYV09YztpZihhPT09ImRp
c2FibGVkIil0aGlzLndpZGdldCgpW2M/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSh0aGlzLndp
ZGdldEJhc2VDbGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1k
aXNhYmxlZCIsYyk7cmV0dXJuIHRoaXN9LAorZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu
X3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0
aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYSxjLGQp
e3ZhciBlPXRoaXMub3B0aW9uc1thXTtjPWIuRXZlbnQoYyk7Yy50eXBlPShhPT09dGhpcy53aWRn
ZXRFdmVudFByZWZpeD9hOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrYSkudG9Mb3dlckNhc2UoKTtk
PWR8fHt9O2lmKGMub3JpZ2luYWxFdmVudCl7YT1iLmV2ZW50LnByb3BzLmxlbmd0aDtmb3IodmFy
IGY7YTspe2Y9Yi5ldmVudC5wcm9wc1stLWFdO2NbZl09Yy5vcmlnaW5hbEV2ZW50W2ZdfX10aGlz
LmVsZW1lbnQudHJpZ2dlcihjLGQpO3JldHVybiEoYi5pc0Z1bmN0aW9uKGUpJiZlLmNhbGwodGhp
cy5lbGVtZW50WzBdLGMsZCk9PT1mYWxzZXx8Yy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fX0pKGpR
dWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLndpZGdldC5taW4uanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFh
YV80MHgxMDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80
MHgxMDAucG5nCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80
MHgxMDAucG5nCSh3b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3Vp
LWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10
eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ2dBQUFCa0NBWUFBQUQwWkhKNkFBQUFlMGxF
UVZSb2dlM09NUUhBSUJBQU1jQy9ramRaCkpIVEkwQTRYQmRrejg2d2ZPMThIM2hSVUJWVkJWVkFW
VkFWVlFWVlFGVlFGVlVGVlVCVlVCVlZCVlZBVlZBVlZRVlZRRlZRRlZVRlYKVUJWVUJWVkJWVkFW
VkFWVlFWVlFGVlFGVlVGVlVCVlVCVlZCVlZBVlZBVlZRVlZRRlZRRlZVRlZVQlZVRjhPOEE4V2RZ
Nm9wQUFBQQpBRWxGVGtTdVFtQ0MKCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfNzVfZmZmZmZm
XzQweDEwMC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDogV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1i
Z19mbGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdf
ZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJn
X2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5wbmcJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5n
ZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ2dBQUFCa0NB
WUFBQUQwWkhKNkFBQUFlVWxFUVZSb2dlM09NUUhBSUJBQXNWTC9uaDhKCkREZkFrQ2pJbXBuNUh2
YmZEcHdJVm9LVllDVllDVmFDbFdBbFdBbFdncFZnSlZnSlZvS1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BW
Z0pWZ0oKVm9LVllDVllDVmFDbFdBbFdBbFdncFZnSlZnSlZvS1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BW
Z0pWZ0pWaHRxaXdURUtUTFhUZ0FBQUFCSgpSVTVFcmtKZ2dnPT0KCkluZGV4OiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3Vp
LWJnX2dsYXNzXzU1X2ZiZjllZV8xeDQwMC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJ
bmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1l
cy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc181NV9mYmY5ZWVfMXg0MDAucG5nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZwkobm9uZXhpc3RlbnQp
CisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzU1X2ZiZjllZV8xeDQwMC5wbmcJKHdvcmtpbmcgY29w
eSkKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4
NDAwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2lt
YWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBQUVBQUFHUUNBWUFBQUJ2V0FyYkFBQUFQMGxFUVZRNGplM1BNUXJBTUFCQzBhLzN2
MnpYCjBtQ1hOa09nYzZDNFBBUmQ1RHFQR0tDVThsdVM4U2JBUWhpQ1FSZ0pFNTZrWlRmYmJQOVJT
dm5rQnNXY0VBWlJXY2dxQUFBQUFFbEYKVGtTdVFtQ0MKCkluZGV4OiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ds
YXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9p
bWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
aW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcJKHdvcmtpbmcgY29weSkKClBy
b3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBu
ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3Bu
ZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBQUVBQUFHUUNBWUFBQUJ2V0FyYkFBQUFNRWxFUVZRNGplM0xJUTRBSUJURDBPM2YvOHdyCkZn
bUtoTXk4cEtKS3draFNLZVZiYkd1QVBVOWY0UElvcFR4Z0FlUzBEUnRJNHlLMEFBQUFBRWxGVGtT
dVFtQ0MKCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9kYWRh
ZGFfMXg0MDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRh
XzF4NDAwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFk
YV8xeDQwMC5wbmcJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMv
dWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFHUUNBWUFBQUJ2V0FyYkFBQUFO
a2xFUVZRNGpXTjQ4dVRKZnlZR0JnYUdVV0tVCkdDV0dMZkh0Mnpjb2k1R1JFWU5nWW1KQ1ppRzQy
SWlCOTh3b01VcU1FdGdJQU1kakNkeWcrZUVCQUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFn
ZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2Uv
cG5nCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2ZTZlNl8xeDQwMC5wbmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9lNmU2ZTZfMXg0MDAucG5nCShub25leGlz
dGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZwkod29ya2lu
ZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9lNmU2
ZTZfMXg0MDAucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
IworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUFBRUFBQUdRQ0FZQUFBQnZXQXJiQUFBQU5VbEVRVlE0amUzTE1Rb0FJQkFE
d2IzOC82dDUKd0ZYYVdBaUN0VWlhWVp2RjloQkFDT0ZidW50VlZlMTFCMENTamplRThCd1RoUUlK
OGRoRWwwWUFBQUFBU1VWT1JLNUNZSUk9CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc185NV9m
ZWYxZWNfMXg0MDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMv
dWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3Vp
LWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmcJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91
aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nCSh3b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmcKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFB
R1FDQVlBQUFCdldBcmJBQUFBUGtsRVFWUTRqZTNQTVFxQU1BQkQwWi9jLzdhQwpJQVhqSkloRDEw
TEo4dmdadzMwZU1VQXBaVi9HaFpOZ1NUam9MWUVsWS9oTk1KL1M2Z3VsbENrUGlDSVBDcjROaUV3
QUFBQUFTVVZPClJLNUNZSUk9CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83
NV9jY2NjY2NfMXgxMDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFn
ZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfNzVfY2NjY2NjXzF4MTAwLnBuZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcJKG5vbmV4
aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAu
cG5nCSh3b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2hp
Z2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1p
bWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQmtDQVlBQUFCSExGcGdBQUFB
TEVsRVFWUVlsV040OU9qUmZ5WUdCZ2FHSVVUOAovLzhmU3FCeDBZaC8vLzRSTDh2QXdBQVZRMk1O
T3dJQWw2ZzZLa09Kd2s4QUFBQUFTVVZPUks1Q1lJST0KCkluZGV4OiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25z
XzJlODNmZl8yNTZ4MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCkluZGV4OiBXZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1h
Z2VzL3VpLWljb25zXzJlODNmZl8yNTZ4MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3Vp
LWljb25zXzJlODNmZl8yNTZ4MjQwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWlj
b25zXzJlODNmZl8yNTZ4MjQwLnBuZwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNV
cjVBQUFBN1ZCTVZFVXVnLzh1Zy84dWcvOHVnLzh1Zy84dQpnLzh1Zy84dWcvOHVnLzh1Zy84dWcv
OHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Cmcv
OHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84
dWcvOHVnLzh1Zy84dWcvOHUKZy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84
dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dQpnLzh1Zy84dWcvOHVnLzh1Zy84
dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84bGdjeVlBQUFB
ClRuUlNUbE1BR0JBeUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVC
dzJySno4YzRSQnk5dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hv
MGtqOUFBQVBoVWxFUVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0
bWkycDAzUkoxL1hlLzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVV
T3hhCmhaMmlBTmh6QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxh
NER0Yi8vY3FrdHdENVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5
RkJsM3VJTlFuaXdFaXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZB
OUs0MmJzQXY0UzJmeGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JK
L2JFeDhQCkVBTkMrdWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlF
UkZwTWNxVXM0QWxvQ3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhn
clphUitReGwyL0MyUmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3
a2NRQ2lVT0pyY0ZOdERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NI
MEZMWUhsUHF3CkhhQ3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhF
YVVSZUtYa0NCNC9NekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZU
cHJ1OENON3gvK2phWmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQ
eGZKNVBuSVVVUU9VS1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmow
RkVsdEE0dmRpeWdCCmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYz
aFBRWENvUkxBd2RnR3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQ
Qy9rbEVHeUNHMEF1QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIw
UzZrUkhONSs0QnpGaThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRY
QVlxN0ZIWndCNmJEU3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRU
YVFvRmdQN2JOQytSWjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnox
VUxmV0hMZzlpVW5RTks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQph
Q2pTWFhSSnlPeGVxaG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndX
SjkzQktkSXQrd0NSQVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0
L0lBbUdIbk41aUl0N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJF
MHR3WjlrTi9QcU5wVFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1U
MgpGckJmQkxqWjYxNTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0
YlR0aXpCK1RqZlFDckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0
emVTVGpnT1FCeW5RZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1Za
dU5JelYrQ3dSdWNGQkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016
Q1I3Vgo5UkFGZS9adlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZS
UUlsa2dxKzFEUXJOaGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0
RDhENU5Na3RCZ055d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tV
cElTZkdQUjVBQXdCZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFy
NHR5QW96OQpuMk1DcUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Yllt
c1A1QStwTDRNa1RmQW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndl
bm9LdlgwQUhHa0d0UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJF
dkFGSHArWVRCL3E5N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhS
aE94K001alBFegpRdWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIx
UkhGdTRVQ1JsTUh6djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZl
NXdUUndBbjZrZU1BOUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBo
WXJ4SG9jTEhSSlZ5Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1
Yit0S0piYkxkNWRpVApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1Jp
WktQSnlQUFJ4eUlGV2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZD
YllLN3M3dTJsNFhhQ3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0
clZKL01EYklEZ1BxVHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRy
T3kxOTZOaU1XSFRabFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4
azNIeW9YUGpBU3FmVWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQ
L3QvZ21WZEkyNCtHN05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcK
M3pUU041MkNOcG5IdVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2Ni
TnJEMTdpVkt5YWpjbnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwy
OSt0aUtBRUlQbjg2OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETkln
R0xRRzh6NFlPOTlFTmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDcz
WDMKTi9uK1pTdE96ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVE
V0x1bnl4blJGNDZJcWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZM
VFFUa1ZFNzM0OGRsd0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNN
bHN2WVViYm5EakRaM01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nq
clh3Yi8KOXFIb1lxZ1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9i
akRZcklxeEJnUWkyMGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlD
Q2gxSTFReFVkQWJxcUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2Vz
M24zN3k5YTB1R3FGd0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFly
TkFUR0dlZkoKUWxoa0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1
MkRqWUVFNlJCeEQ5S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25k
M1JPbVQrbkp5UWtob1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3
OWk4OEE4YittcVNqYzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhO
Wi9QWVk0WkFIWWIKM1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5
UWlMbmo1QTMzVTFNQUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENT
MVlHbFJuU3E5eUNqZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9z
NTlNRi9QVDJjNjAyVDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9D
Y1F6S2dWQnFZVG1GbisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpN
dzlIYTJHM202YzhxUXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1C
VDZQV21jNmpEQkUyUEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJ
ZWFYZklBVnlVdXcvYUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFox
MGltdDd3SFk3UWVzQXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NX
MkV4TG8rVmNidUF1by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2
eVN4MzJhYlFpSXlNakl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFz
CnhCWHFVV25lU0FXVE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04
QWlFQWwwc0NlTElJb3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1
OHY4SHBMQnREMWlLZ0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0
YzJSM0hlVi9GZng2anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVP
eXpnCmY1b0FoVlluS3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5B
LzNUTGQrR0U3cWUzY2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMv
WHBRUUZHWURVNCtNaS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIz
anVNN0Qxd2l0YTg2R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStY
bC9LNSthCno4akl5TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNt
ZlE0V3dabVMra1hGVmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgz
ejVoOTcyRlVUTHpZcE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JS
NHF4N05uNFU4ZytxamZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNU
MVVlNjNSNTQzCjltK09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhW
UktPM3l3T1FVZ1JBN25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZa
NUowdkxIVDk5c3JrR09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1Jr
WkdSa1pHUkcwZ2NPTnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJr
UmhDNHR6NlovZnU3CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJz
L3dQdE13cVYwSFVKQXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2
Ymg5UU9maHl4bGRyLyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZq
QTBrUFdBWEdidmVia2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdl
L3BuZwpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1l
cy9iYXNlL2ltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcJKG5vbmV4aXN0ZW50KQor
KysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcJKHdvcmtpbmcgY29weSkKClBy
b3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFR
QUFBQUR3Q0FNQUFBRFlTVXI1QUFBQTdWQk1WRVVpSWlJaUlpSWlJaUlpSWlJaUlpSWkKSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaQpJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpCklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWkKSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSmRtaEh6QUFBQQpUblJTVGxNQUdCQXlCQWhRdjRPWkxpSlVjRUJtWUJvU3pRd2dQQlpD
U0VvZVdpWXdVaXlGTkllQncyckp6OGM0UkJ5OXVYeXJ0YVdOCnFhMnpLUDJmSk84S0JnS1BvMktW
b2E5czM1MUdQbTUra1dobzBrajlBQUFQaFVsRVFWUjRuTzFkaldMYnRoRUd5VWlxNVlTU0xYdHAK
N0ZwTE9tZnprbXhyMTI2dG1pMnAwM1JKMS9YZS8zRUdnQVJ4UHlBZ1JiSWsyL2hrU3o0Q0pPNCtI
c0U3QUpTVnlzakkyQU1VVU94YQpoWjJpQU5oekJ0WldyNEJvSVJTWUFWTjV1NFF3RHdRRFJiY3dm
VWk1S1Mzd0Z1RG1GblFMYTREdGIvL2Nxa3R3RDVRRUZGd2ZVczdQCm9DQ0E3eTRiRUpWRml6Y0lv
YjhLbWhBcGx3d3FWanQrOUZCbDN1SU5Rbml3RWlyeUV5dzlKSHFHcFFkRUZOaStCNFFRN1FPaUho
eXMKSVBvQXhVcXh2ZHZ2QTlLNDJic0F2NFMyZnhmWU9lNTdJSlNSa1pHUmtaR3h4N2p4U0hESGNS
QlhRTVR5SWpJbkJnSHdCSi9iRXg4UApFQU5DK3VoYnBTU2dnQ0JBVk9EVmFicEkxUy9rNFdMWnBU
bjZOcE1ob1g5WTQwaHhZRVJGcE1jcVVzNEFsb0N0RFFkSUQxWWhueVhaCjJoTGpBWVdpTzlEeTFQ
REI3dFBoSXFMeCt1TUI4Z3JaYVIrUXhsMi9DMlJrWkdSa1pHUms3QTdyQmY3SjBEUjUvTFVUanpV
UElQU1AKR3ZRSmlWSmlCN2tjUUNpVU9KcmNGTnREWklmMnhhclEzYUd2TE54QVZJRkFhYno5MEJG
aUJJbHljVEJoZ1d3T1dDSDBGTFlIbFBxdwpIYUN2Y0luMlpib3NDZXZmUFRSaUZGY2d2SHVrQ2pX
d3JjM0dyR2gxZnNBb2Y4RWFVUmVLWGtDQjQvTXpGTm85N3FMcEZpS0ZZdi9rCk5SNVlReFFiUUVv
ZmtaMk91RU9IcXFUNmdGVHBydThDTjd4LytqYVprWkdSa1pHUmNWK3gvckxVTmNNTXFVQXNjZ25G
b2NtcHFrVHoKcXltd1ZBUHhmSjVQbklVVVFPVUtUMDR0RWRXWnl2M0pDUVNuOTZXUzRwRDk3UWZ5
VzI1QTdOaFNBYnlobVZqMEZFbHRBNHZkaXlnQgppYlhob1VZZ3lrQ1VQN0h3UFREZUVxQUljSFZN
a1pnN1p4NGswdUZBTnM2M2hQUVhDb1JMQXdkZ0dzcjlBejdRdjdzZ1FHZ2cxYVBsCi9CSkxFeEJX
Z0c0UkZSTEZJbUdtSXF1UEMva2xFR3lDRzBBdUFYYUpKQytCOEZWZTlOWVFERWNYQjhnNkFRY2pZ
SjFnb0pJZ2dIV0MKckZSMFM2a1JITjUrNEJ6Rmk4TmFvTjM1TlJ4VXZMK0pKZFpyN1BWNHdLNmZq
OG5JeU1qSXlOaHIzT3hkWEFZcTdGSFp3QjZiRFN6UwpoNHNGMHV0Q2hxbzBOQXZhVDFoTHpYd0Zp
bm1Dem1lRHVjRVFLMThUVGFRb0ZnUDdiTkMrUlo0T1Q0VDZnUW9nREZZaysxUXhRbGoxCjlRR1NB
V0tpTFlwOFAwQWcxR2J6MVVMZldITGc5aVVuUU5LNVFRSmN1a20wNGJsS0xIMkdnRUpDWStIelhB
WldDdkhLY28zQnA2TUkKYUNqU1hYUkp5T3hlcWhuekVhRjkzTWZGR1cvTzE2WnZETDVUTTRNSklq
dWp6L2NIeXBrUXV1elJ3V0o5M0JLZEl0K3dDUkFQbDlrcAplMklra2IybUZnR2x4aC9pNDBkM0VI
ZmR2b3lNakl5TXU0M3lsdC9JQW1HSG5ONWlJdDd3S2ZidjAxUkFjSnFGUmw5bGNqWVFTbmJRCnFL
Z0M0ZllPd1NKdDZONnRyRTB0d1o5a04vUHFOcFRRZUlDdnI0VExzRFlDMDZVN0JNanNoUyt2MS9h
VDdJd1FZRDVMY2dSUVhNVDIKRnJCZkJMalo2MTUxakRFbGs5dFBGZnBVZ2syeXJlZ3VzWDI1Qkpi
d0FGRWZNK1lJNnZHQXRpNGJUdGl6QitUamZRQ3JFUnloS2IyWAo4RDZBOXdYNzVQNHQ0bmVCWUpl
UDZwZGhnL2dRbDhNV3Z5dHplU1RqZ09RQnluUWRoL2lYS2R4T3JHSi9Sa1pHUnNiOVFtWGloR3I1
CitnOEdHZzl1VGgrS29WWnVOSXpWK0N3UnVjRkJFeXIxbVZqeDRpck94d00xQmhpckI2USsyZU5R
aTRlcVIrYUY2bUVMdG9NekNSN1YKOVJBRmUvWnZRb2dOaXlZOEZQU1VURnNMcDhUZVRtTXVpNW10
dzdiY2FUMFl3MkFBNHdGUlFJbGtncSsxRFFyTmhrbW94UzVKcSt1NgpiTUFJR1JFQ0VBTmdYSFRn
V3p3Z0JPaERIMmwwb1RRNEQ4RDVOTWt0QmdOeXdBRU1qbzhyd0FUTVpyUFk3Skd4Qm9KQ2tJQkRR
aUFZCjA5RUdUVWlCQ1drVXBJU2ZHUFI1QUF3QmZaaUcyejdBeWMxeWVLVHhpZDM5eEJOd2ZIcjRP
MExBNDhlUEZUdmhZckYxcjR0eUFvejkKbjJNQ3FFdUJ0cC82R0RSMG9BWWZHL1I2d0pFeEhZWkhm
aHlnc3Y3ZkVXQ09qNGJZbXNQNUErcEw0TWtUZkFuTWxENEYrcjNib2JLdgpUeVRBMlAvdzdQTitB
Z3EyUVc4cGlxTUNwVEJ3ZW5vS3ZYMEFIR2tHdFAyWUFQdlRFV0E3UVVUQXVkbjcvTnh0T0c0NndX
Tm1EdHBCCkVrQnpON3JCRXZBRkhwK1lUQi9xOTdxUEFONGdIRnFnQmk4dUxzQzdxUENBNm1nNDFH
LytFckJ5UHdFWERkb054UmhPeCtNNWpQRXoKUXVnUzBodCtiMS9ZM2dFbllNQUlBT0lCRTI5L2hJ
RHVjRTh0bU1zTk9nSzRCMVJIRnU0VUNSbE1IenYweHpjYWpjZmRYV0RzMmg4VApBckJDa29EVUpZ
RExtejZ3N2lwM0JGUzB2ZTV3VFJ3QW42a2VNQTlJM1FZYmZTWjBES2J5dCs3T1hqR0kxaWRQY2ZO
eUF5ZkFNbENyCnphR3FwaFlyeEhvY0xIUkpWeWNuZkdVY2J0VCtqSXlNakl3OXg3Tm44ZkpTekcw
VG1GdE84clpUK1hUM1MzdWIrdEtKYmJMZDVkaVQKVnA1MCt6YWh5ZUhTc2xKL1lQclUwZnVhenJa
TzJDWjkyL1pDQ1ZYbEdSaVpLUEp5UFBSeHlJRldlWExRQlhKQktpcS8zZGl2RUFONgpad00yMDBR
am03RUpCWmVXbS9QUldWQ2JZSzdzN3UybDRYYUN6K2x6Z09mTWZoTW9uWHI3VFd6ZVpiOThkYmdJ
ekJUOFViOGVZWVVxCmZaNHJWSi9NRGJJRGdQcVR1bEoveHZudFdBdGpJaXNxbnd4T2tHejBuMDc3
RkFSb1k3OUdkQTZIUEU0ck95MTk2TmlNV0hUWmxTU0EKcGNPZ1hweS9mSFYyam9hTkt1M2Zmc0Fu
UmNCZjRLLzZOY0lHNnRJeGszSHlvWFBqQVNxZlVnWGJZTjVQenBMMm5qa1I5UU1qZURUVgpIRFRD
Z1J1eE9lZ2pvTzBGdkt6UC90L2dtVmRJMjQrRzdOSWU4Slg2V3YzZER5bGRNQSs0WUI1d3dUeWd0
ZCtkd1JxYVRxckxiMWw3CjN6VFNONTJDTnBuSHVRT1lQc0RibHliZ3hma1hoL29WdHIrTjFERUJK
ZGhSSnlkL0JkL3ExeitjYk5yRDE3aVZLeWFqY252OWFyaE8Ka1JQZ3NydXVENkRtTlB3cEROckx3
MkNvVGdIbmk0eUFMcjBMMjkrdGlLQUVJUG44NjhlangvLzhycFdQM09FT2w1T245T3dwY1FtMApN
aGFmUC9leThmMXV2RE5JZ0dMUUc4ejRZTzk5RU5nZzk1ZXR3djR1WUpZWThmVUdIWUg2ajZmc2NI
RlpNZnRsQWw5aSs5WEw3M1gzCk4vbitaU3RPemZWZlJ2WVhocmJkS09wRWdWUVRnL3dzRHVERDNr
d09mUU5NVEo1eSsvbHRVRFdMdW55eG5SRjQ2SXFsQnpHTVk0WDcKaW5nZ1JFRmlvSXlNakl5TUhX
Q0lCNlpOS0FjWHNlbzN2TFRRVGtWRTczNDhkbHdKSlN6MCt3TGZtaThCaFpxZnczRDR3dy93SFZM
bgpFZDUvZmdZdlhzRFozTWxzdllVYmJuRGpEWjNNTjNUSkc0K2J4akFhRGw4VEJyaTlxeEV3MWNj
YW8yd1ROQU1MSG8yZitzanJYd2IvCjlxSG9ZcWdQTUJYSlRWZk9wbXJaSDIzeTZ1dm8wTEhTeVk2
ZkhHd0tmSEpsQXVNRnZPYmpEWXJJcXhCZ1FpMjBoN0hkL25ZVkxtbm8KK2VhTlVtL2VlSDJHQ3Vv
cG50bmhCSkFsSTJBSG85Q0NoMUkxUXhVZEFicXFHWTlCQkx3eWMzVzR3WVZodlk4QTRCb0ljMWw1
TTd2bgpQV3BoWlc5L1NlczNuMzd5OWEwdUdxRndGUVpzUVFiZDM4NkRvZ3BnRWsrZHp5bnNBWk1K
WHE4K25zOU5ldWtKMFBZck5BVEdHZWZKClFsaGtMbzdEVFhyK3kzYk5pT3NEdnJYVHovQzJxMURY
Wkg4NGlSTndyUDg4TmordTJEallFRTZSQnhEOUtuajE2dWpWSEM2N0E3NDIKMm8wMlJ3RDNnQit0
N0VibFd2dTlnZU9GeFNuZDNST21UK25KeVFraG9QbHN4Vk9OYy8zVEVkQm9zK2p0QStaemN3SGdU
dkQxY0RqYQpZQ2NJdEE4dzlpODhBOGIrbXFTamM2UHZxZDk5OFFndUVRUG1RTWVvMjNPRE44Nitw
MC9ibjFidUJrVDYrb0JoTlovUFlZNFpBSFliCjNQUmQ0TGtabVBYNjhOUnRNWm40QVN2ZEErcWYw
ak1BNU1QOWVlZzI4TnVnOVFpTG5qNUEzM1UxTUFFUzZ4SEFVTnB6Lzl6RkFZRTEKZ3FRRE1UM0c2
eEk5cHdkdy9hSWdLb0hDUzFZR2xSblNxOXlDamRYamdOM2orTjI3WXlST0h4bXVOQWVOS1BwWXVY
SXlJeU1qWXkwTQo4ZXJvczU5TUYvUFQyYzYwMlQ3ZUE3enZoSjlkci92ekRqWGFMcDRZYzUrMHds
bHp4ekh2M2dkbU1NTTcvQ2NRektnVkJxWVRtRm4rClorbUttOEo3azBBNUYvamdDZmpRMVdCaFF5
aU9xRDBsWXVxQmIrQXl6TXc5SGEyRzNtNmM4cVF4K0FscW5JY2VRcCtTYjZpOVV5UVcKYmhyNTQr
QWpuWjBWelcyVEFOMERtQlQ2UFdtYzZqREJFMlBLMnUrbkY0M2R5UDdRMHQxcE9jWDJmZFJ2SDBt
RjJRNEpxTjM1cm5IagpWSWVhWGZJQVZ5VXV3L2FIQ0NpSnk5aUY1bDE2MjF6d2VJOEtaclBaOWlK
ZGI3RFhKM1VTME9TcnRaMTBpbXQ3d0hZN1Flc0F6VU16CjFvWjNub0IzcUZKL0gxOGo5N0ZZdXc4
UURONG9lS2YzMG9zdmNTVzJFeExvK1ZjYnVBdW8vc1VJbThmTUc5eG9jTzNFYTE5SjlnRlkKaXZu
SEoyS255Zm92WmxnVzN2NnlTeDMyYWJRaUl5TWpJeVBqaGxGRFRMeHB3SWdGTW5UcDZBM2c0SURL
Tlkrc3Rrd0FNQW9JQWJhcwp4QlhxVVduZVNBV1RNanQ1MGxUcVQyOXJGanZYb2hqc0RObTJZUFhE
RmxJQ21ySk9aM3Q2dEhtOEFpRUFsMHNDZUxJSW9ySVJ0K2NGCmJldy9RUnNvQVhiNG8xWFNmb3l3
em0wRlRNQW9ZQk52THlGdTh2OEhwTEJ0RDFpS2dDMTd3SGI3QUk2ZDl3RmJ2Z3VBSUdUSGQ0RTkK
d0c3amdJeU1qSXlNKzQzNGMyUjNIZVYvRmZ4Nmp0WnU2aWpsOGg1OVQ2NTVqaFIrcmRIekRPUDZi
ZUFCQ2hlYjhPOC9XRlhlT3l6ZwpmNW9BaFZZbkt4UDdDd2FBZjFhZkp1OGJTcmhTNnRkYVhlR25y
UmVuT3FPbHo5ZDZRd1luQS8zVExkK0dFN3FlM2NoQTVZRjVEZlkwCnZLM2FkZk9YL2d5TnAyQlcy
NU1IZHhBQjlxdlJpaVAzL1hwUVFGR1lEVTQrTWkvLy9YdW1YRzhwanZhVUFPc0JHbGY0akp0K1lZ
RXoKZUV6QWR3MDZGMTlSM2p1TTdEMXdpdGE4NkdSMENLZkRIZ0x1WENjNEJyaTZ2TUxkZmpNYzRW
TlNVTnNkb2RvMnh1LzErWGwvSzUrYQp6OGpJeU1oWUcvejVnSlRNRjFHdEtxL2EzcnB5Q3Z6NWdK
VE1sOUd0S3EvYTNycHlDbWZRNFd3Wm1TK2tYRlZldGIxMTVTVDQ4d0VmCi9BR2NmRzFpdyt0V2Jw
YlMydkozblF4Y1ZyM2xIM3o1aDk3MkZVVEx6WXBPVms3bDVoRCtlWWNZd0RjQW5ld09vdHJaNE90
clBEdWMKcWkvTFJYMC9SUjRxeDdObjRVOGcrcWpmZnZ1TjZHZituQzg1dndhdUhqYVl5dWJxdldZ
S1k0VkVmU1VNaXRkbkJDVDFVZTYzUjU0Mwo5bStPZ0NuNkRyb0FBYUhQVlF4S3RoL3drSmdIbUc4
Ym1RTXNUMEQ2RWpEZnZoVlJLTzN5d09RVWdSQTdubUwxdWF3Wm1IZjFrK0RQCkJ3UTZOZGNKK2s2
TWQxTEE1ZjVPTmRoSjh2WjVKMHZMSFQ5OXNya0dPam1KYmQvRzFyMk5yaXFuc2UxQVp0MUFhbFU1
alcySHN1dUcKMHF2S0dSa1pHUmtaR1JHMGdjT055WHNQOXY4RDAvSWRKQURpQk5pWGwzMzI3V1JH
Z09MLzlIQy8wWHdsSVVSa1JoQzR0ejZaL2Z1NwpmVWYyZ0h2ZkI5ejN1MEJHUmtaR1JrYkdwbEhj
bmtnZ3VRb1NxdFVYdWhicy93UHRNd3FWMEhVSkF2ajV2azMyYjhJRHVMMjN5bjdxCkFYWjV1MzJo
YlJYN2QzbzgyRGYxRlpYdmJoOVFPZmh5eGxkci8rM3hnWFU5b0ttdnNIeXI3Ri9YQTI2OS9ldmVC
WHJzdjdOOVFBTGUKL3R2akEwa1BXQVhHYnZlYmtiSG4rRC9KNW5NY0h6eDFVQUFBQUFCSlJVNUVy
a0pnZ2c9PQoKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjpt
aW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1Nngy
NDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVy
eXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5n
CShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nCSh3
b3JraW5nIGNvcHkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0
NV8yNTZ4MjQwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEg
IyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBUUFBQUFEd0NBTUFBQURZU1VyNUFBQUE3VkJNVkVWRlJVVkZSVVZGUlVW
RlJVVkZSVVZGClJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVW
RlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkYKUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVW
RlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRgpSVVZGUlVW
RlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZG
UlVWRlJVVkZSVVZGClJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZG
UlVWRlJVVkZSVVZGUlVWRlJVVkZSVVdHMnJMQ0FBQUEKVG5SU1RsTUFHQkF5QkFoUXY0T1pMaUpV
Y0VCbVlCb1N6UXdnUEJaQ1NFb2VXaVl3VWl5Rk5JZUJ3MnJKejhjNFJCeTl1WHlydGFXTgpxYTJ6
S1AyZkpPOEtCZ0tQbzJLVm9hOXMzNTFHUG01K2tXaG8wa2o5QUFBUGhVbEVRVlI0bk8xZGpXTGJ0
aEVHeVVpcTVZU1NMWHRwCjdGcExPbWZ6a214cjEyNnRtaTJwMDNSSjEvWGUvM0VHZ0FSeFB5QWdS
YklrMi9oa1N6NENKTzQrSHNFN0FKU1Z5c2pJMkFNVVVPeGEKaFoyaUFOaHpCdFpXcjRCb0lSU1lB
Vk41dTRRd0R3UURSYmN3ZlVpNUtTM3dGdURtRm5RTGE0RHRiLy9jcWt0d0Q1UUVGRndmVXM3UApv
Q0NBN3k0YkVKVkZpemNJb2I4S21oQXBsd3dxVmp0KzlGQmwzdUlOUW5pd0VpcnlFeXc5SkhxR3BR
ZEVGTmkrQjRRUTdRT2lIaHlzCklQb0F4VXF4dmR2dkE5SzQyYnNBdjRTMmZ4ZllPZTU3SUpTUmta
R1JrWkd4eDdqeFNIREhjUkJYUU1UeUlqSW5CZ0h3QkovYkV4OFAKRUFOQyt1aGJwU1NnZ0NCQVZP
RFZhYnBJMVMvazRXTFpwVG42TnBNaG9YOVk0MGh4WUVSRnBNY3FVczRBbG9DdERRZElEMVlobnlY
WgoyaExqQVlXaU85RHkxUERCN3RQaElxTHgrdU1COGdyWmFSK1F4bDIvQzJSa1pHUmtaR1JrN0E3
ckJmN0owRFI1L0xVVGp6VVBJUFNQCkd2UUppVkppQjdrY1FDaVVPSnJjRk50RFpJZjJ4YXJRM2FH
dkxOeEFWSUZBYWJ6OTBCRmlCSWx5Y1RCaGdXd09XQ0gwRkxZSGxQcXcKSGFDdmNJbjJaYm9zQ2V2
ZlBUUmlGRmNndkh1a0NqV3dyYzNHckdoMWZzQW9mOEVhVVJlS1hrQ0I0L016Rk5vOTdxTHBGaUtG
WXYvawpOUjVZUXhRYlFFb2ZrWjJPdUVPSHFxVDZnRlRwcnU4Q043eC8ramFaa1pHUmtaR1JjVit4
L3JMVU5jTU1xVUFzY2duRm9jbXBxa1R6CnF5bXdWQVB4Zko1UG5JVVVRT1VLVDA0dEVkV1p5djNK
Q1FTbjk2V1M0cEQ5N1FmeVcyNUE3TmhTQWJ5aG1WajBGRWx0QTR2ZGl5Z0IKaWJYaG9VWWd5a0NV
UDdId1BURGVFcUFJY0hWTWtaZzdaeDRrMHVGQU5zNjNoUFFYQ29STEF3ZGdHc3I5QXo3UXY3c2dR
R2dnMWFQbAovQkpMRXhCV2dHNFJGUkxGSW1HbUlxdVBDL2tsRUd5Q0cwQXVBWGFKSkMrQjhGVmU5
TllRREVjWEI4ZzZBUWNqWUoxZ29KSWdnSFdDCnJGUjBTNmtSSE41KzRCekZpOE5hb04zNU5SeFV2
TCtKSmRacjdQVjR3SzZmajhuSXlNakl5TmhyM094ZFhBWXE3Rkhad0I2YkRTelMKaDRzRjB1dENo
cW8wTkF2YVQxaEx6WHdGaW5tQ3ptZUR1Y0VRSzE4VFRhUW9GZ1A3Yk5DK1JaNE9UNFQ2Z1FvZ0RG
WWsrMVF4UWxqMQo5UUdTQVdLaUxZcDhQMEFnMUdiejFVTGZXSExnOWlVblFOSzVRUUpjdWttMDRi
bEtMSDJHZ0VKQ1krSHpYQVpXQ3ZIS2NvM0JwNk1JCmFDalNYWFJKeU94ZXFobnpFYUY5M01mRkdX
L08xNlp2REw1VE00TUpJanVqei9jSHlwa1F1dXpSd1dKOTNCS2RJdCt3Q1JBUGw5a3AKZTJJa2ti
Mm1GZ0dseGgvaTQwZDNFSGZkdm95TWpJeU11NDN5bHQvSUFtR0huTjVpSXQ3d0tmYnYwMVJBY0px
RlJsOWxjallRU25iUQpxS2dDNGZZT3dTSnQ2TjZ0ckUwdHdaOWtOL1BxTnBUUWVJQ3ZyNFRMc0RZ
QzA2VTdCTWpzaFMrdjEvYVQ3SXdRWUQ1TGNnUlFYTVQyCkZyQmZCTGpaNjE1MWpERWxrOXRQRmZw
VWdrMnlyZWd1c1gyNUJKYndBRkVmTStZSTZ2R0F0aTRiVHRpekIrVGpmUUNyRVJ5aEtiMlgKOEQ2
QTl3WDc1UDR0NG5lQllKZVA2cGRoZy9nUWw4TVd2eXR6ZVNUamdPUUJ5blFkaC9pWEtkeE9yR0ov
UmtaR1JzYjlRbVhpaEdyNQorZzhHR2c5dVRoK0tvVlp1Tkl6VitDd1J1Y0ZCRXlyMW1Wang0aXJP
eHdNMUJoaXJCNlErMmVOUWk0ZXFSK2FGNm1FTHRvTXpDUjdWCjlSQUZlL1p2UW9nTml5WThGUFNV
VEZzTHA4VGVUbU11aTVtdHc3YmNhVDBZdzJBQTR3RlJRSWxrZ3ErMURRck5oa21veFM1SnErdTYK
Yk1BSUdSRUNFQU5nWEhUZ1d6d2dCT2hESDJsMG9UUTREOEQ1Tk1rdEJnTnl3QUVNam84cndBVE1a
clBZN0pHeEJvSkNrSUJEUWlBWQowOUVHVFVpQkNXa1VwSVNmR1BSNUFBd0JmWmlHMno3QXljMXll
S1R4aWQzOXhCTndmSHI0TzBMQTQ4ZVBGVHZoWXJGMXI0dHlBb3o5Cm4yTUNxRXVCdHAvNkdEUjBv
QVlmRy9SNndKRXhIWVpIZmh5Z3N2N2ZFV0NPajRiWW1zUDVBK3BMNE1rVGZBbk1sRDRGK3IzYm9i
S3YKVHlUQTJQL3c3UE4rQWdxMlFXOHBpcU1DcFRCd2Vub0t2WDBBSEdrR3RQMllBUHZURVdBN1FV
VEF1ZG43L054dE9HNDZ3V05tRHRwQgpFa0J6TjdyQkV2QUZIcCtZVEIvcTk3cVBBTjRnSEZxZ0Jp
OHVMc0M3cVBDQTZtZzQxRy8rRXJCeVB3RVhEZG9OeFJoT3grTTVqUEV6ClF1Z1MwaHQrYjEvWTNn
RW5ZTUFJQU9JQkUyOS9oSUR1Y0U4dG1Nc05PZ0s0QjFSSEZ1NFVDUmxNSHp2MHh6Y2FqY2ZkWFdE
czJoOFQKQXJCQ2tvRFVKWURMbXo2dzdpcDNCRlMwdmU1d1RSd0FuNmtlTUE5STNRWWJmU1owREti
eXQrN09YakdJMWlkUGNmTnlBeWZBTWxDcgp6YUdxcGhZcnhIb2NMSFJKVnljbmZHVWNidFQrakl5
TWpJdzl4N05uOGZKU3pHMFRtRnRPOHJaVCtYVDNTM3ViK3RLSmJiTGQ1ZGlUClZwNTAremFoeWVI
U3NsSi9ZUHJVMGZ1YXpyWk8yQ1o5Mi9aQ0NWWGxHUmlaS1BKeVBQUnh5SUZXZVhMUUJYSkJLaXEv
M2RpdkVBTjYKWndNMjAwUWptN0VKQlplV20vUFJXVkNiWUs3czd1Mmw0WGFDeitsemdPZk1maE1v
blhyN1RXemVaYjk4ZGJnSXpCVDhVYjhlWVlVcQpmWjRyVkovTURiSURnUHFUdWxKL3h2bnRXQXRq
SWlzcW53eE9rR3owbjA3N0ZBUm9ZNzlHZEE2SFBFNHJPeTE5Nk5pTVdIVFpsU1NBCnBjT2dYcHkv
ZkhWMmpvYU5LdTNmZnNBblJjQmY0Sy82TmNJRzZ0SXhrM0h5b1hQakFTcWZVZ1hiWU41UHpwTDJu
amtSOVFNamVEVFYKSERUQ2dSdXhPZWdqb08wRnZLelAvdC9nbVZkSTI0K0c3TkllOEpYNld2M2RE
eWxkTUErNFlCNXd3VHlndGQrZHdScWFUcXJMYjFsNwozelRTTjUyQ05wbkh1UU9ZUHNEYmx5Ymd4
ZmtYaC9vVnRyK04xREVCSmRoUkp5ZC9CZC9xMXorY2JOckQxN2lWS3lhamNudjlhcmhPCmtSUGdz
cnV1RDZEbU5Qd3BETnJMdzJDb1RnSG5pNHlBTHIwTDI5K3RpS0FFSVBuODY4ZWp4Ly84cnBXUDNP
RU9sNU9uOU93cGNRbTAKTWhhZlAvZXk4ZjF1dkROSWdHTFFHOHo0WU85OUVOZ2c5NWV0d3Y0dVlK
WVk4ZlVHSFlINmo2ZnNjSEZaTWZ0bEFsOWkrOVhMNzNYMwpOL24rWlN0T3pmVmZSdllYaHJiZEtP
cEVnVlFUZy93c0R1REQza3dPZlFOTVRKNXkrL2x0VURXTHVueXhuUkY0NklxbEJ6R01ZNFg3Cmlu
Z2dSRUZpb0l5TWpJeU1IV0NJQjZaTktBY1hzZW8zdkxUUVRrVkU3MzQ4ZGx3SkpTejArd0xmbWk4
QmhacWZ3M0Q0d3cvd0hWTG4KRWQ1L2ZnWXZYc0RaM01sc3ZZVWJibkRqRFozTU4zVEpHNCtieGpB
YURsOFRCcmk5cXhFdzFjY2FvMndUTkFNTEhvMmYrc2pyWHdiLwo5cUhvWXFnUE1CWEpUVmZPcG1y
WkgyM3k2dXZvMExIU3lZNmZIR3dLZkhKbEF1TUZ2T2JqRFlySXF4QmdRaTIwaDdIZC9uWVZMbW5v
CitlYU5VbS9lZUgyR0N1b3BudG5oQkpBbEkyQUhvOUNDaDFJMVF4VWRBYnFxR1k5QkJMd3ljM1c0
d1lWaHZZOEE0Qm9JYzFsNU03dm4KUFdwaFpXOS9TZXMzbjM3eTlhMHVHcUZ3RlFac1FRYmQzODZE
b2dwZ0VrK2R6eW5zQVpNSlhxOCtuczlOZXVrSjBQWXJOQVRHR2VmSgpRbGhrTG83RFRYcit5M2JO
aU9zRHZyWFR6L0MycTFEWFpIODRpUk53clA4OE5qK3UyRGpZRUU2UkJ4RDlLbmoxNnVqVkhDNjdB
NzQyCjJvMDJSd0QzZ0IrdDdFYmxXdnU5Z2VPRnhTbmQzUk9tVCtuSnlRa2hvUGxzeFZPTmMvM1RF
ZEJvcytqdEErWnpjd0hnVHZEMWNEamEKWUNjSXRBOHc5aTg4QThiK21xU2pjNlB2cWQ5OThRZ3VF
UVBtUU1lbzIzT0ROODYrcDAvYm4xYnVCa1Q2K29CaE5aL1BZWTRaQUhZYgozUFJkNExrWm1QWDY4
TlJ0TVpuNEFTdmRBK3FmMGpNQTVNUDllZWcyOE51ZzlRaUxuajVBMzNVMU1BRVM2eEhBVU5wei85
ekZBWUUxCmdxUURNVDNHNnhJOXB3ZHcvYUlnS29IQ1MxWUdsUm5TcTl5Q2pkWGpnTjNqK04yN1l5
Uk9IeG11TkFlTktQcFl1WEl5SXlNall5ME0KOGVyb3M1OU1GL1BUMmM2MDJUN2VBN3p2aEo5ZHIv
dnpEalhhTHA0WWM1KzB3bGx6eHpIdjNnZG1NTU03L0NjUXpLZ1ZCcVlUbUZuKwpaK21LbThKN2sw
QTVGL2pnQ2ZqUTFXQmhReWlPcUQwbFl1cUJiK0F5ek13OUhhMkczbTZjOHFReCtBbHFuSWNlUXAr
U2I2aTlVeVFXCmJocjU0K0FqblowVnpXMlRBTjBEbUJUNlBXbWM2akRCRTJQSzJ1K25GNDNkeVA3
UTB0MXBPY1gyZmRSdkgwbUYyUTRKcU4zNXJuSGoKVkllYVhmSUFWeVV1dy9hSENDaUp5OWlGNWwx
NjIxendlSThLWnJQWjlpSmRiN0RYSjNVUzBPU3J0WjEwaW10N3dIWTdRZXNBelVNegoxb1ozbm9C
M3FGSi9IMThqOTdGWXV3OFFETjRvZUtmMzBvc3ZjU1cyRXhMbytWY2J1QXVvL3NVSW04Zk1HOXhv
Y08zRWExOUo5Z0ZZCml2bkhKMktueWZvdlpsZ1czdjZ5U3gzMmFiUWlJeU1qSXlQamhsRkRUTHhw
d0lnRk1uVHA2QTNnNElES05ZK3N0a3dBTUFvSUFiYXMKeEJYcVVXbmVTQVdUTWp0NTBsVHFUMjly
Rmp2WG9oanNETm0yWVBYREZsSUNtckpPWjN0NnRIbThBaUVBbDBzQ2VMSUlvcklSdCtjRgpiZXcv
UVJzb0FYYjRvMVhTZm95d3ptMEZUTUFvWUJOdkx5RnU4djhIcExCdEQxaUtnQzE3d0hiN0FJNmQ5
d0Zidmd1QUlHVEhkNEU5CndHN2pnSXlNakl5TSs0MzRjMlIzSGVWL0ZmeDZqdFp1NmlqbDhoNTlU
NjU1amhSK3JkSHpET1A2YmVBQkNoZWI4TzgvV0ZYZU95emcKZjVvQWhWWW5LeFA3Q3dhQWYxYWZK
dThiU3JoUzZ0ZGFYZUduclJlbk9xT2x6OWQ2UXdZbkEvM1RMZCtHRTdxZTNjaEE1WUY1RGZZMAp2
SzNhZGZPWC9neU5wMkJXMjVNSGR4QUI5cXZSaWlQMy9YcFFRRkdZRFU0K01pLy8vWHVtWEc4cGp2
YVVBT3NCR2xmNGpKdCtZWUV6CmVFekFkdzA2RjE5UjNqdU03RDF3aXRhODZHUjBDS2ZESGdMdVhD
YzRCcmk2dk1MZGZqTWM0Vk5TVU5zZG9kbzJ4dS8xK1hsL0s1K2EKejhqSXlNaFlHL3o1Z0pUTUYx
R3RLcS9hM3JweUN2ejVnSlRNbDlHdEtxL2EzcnB5Q21mUTRXd1ptUytrWEZWZXRiMTE1U1Q0OHdF
ZgovQUdjZkcxaXcrdFdicGJTMnZKM25ReGNWcjNsSDN6NWg5NzJGVVRMellwT1ZrN2w1aEQrZVlj
WXdEY0FuZXdPb3RyWjRPdHJQRHVjCnFpL0xSWDAvUlI0cXg3Tm40VThnK3FqZmZ2dU42R2YrbkM4
NXZ3YXVIamFZeXVicXZXWUtZNFZFZlNVTWl0ZG5CQ1QxVWU2M1I1NDMKOW0rT2dDbjZEcm9BQWFI
UFZReEt0aC93a0pnSG1HOGJtUU1zVDBENkVqRGZ2aFZSS08zeXdPUVVnUkE3bm1MMXVhd1ptSGYx
aytEUApCd1E2TmRjSitrNk1kMUxBNWY1T05kaEo4dlo1SjB2TEhUOTlzcmtHT2ptSmJkL0cxcjJO
cmlxbnNlMUFadDFBYWxVNWpXMkhzdXVHCjBxdktHUmtaR1JrWkdSRzBnY09OeVhzUDl2OEQwL0lk
SkFEaUJOaVhsMzMyN1dSR2dPTC85SEMvMFh3bElVUmtSaEM0dHo2Wi9mdTcKZlVmMmdIdmZCOXoz
dTBCR1JrWkdSa2JHcGxIY25rZ2d1UW9TcXRVWHVoYnMvd1B0TXdxVjBIVUpBdmo1dmszMmI4SUR1
TDIzeW43cQpBWFo1dTMyaGJSWDdkM284MkRmMUZaWHZiaDlRT2ZoeXhsZHIvKzN4Z1hVOW9LbXZz
SHlyN0YvWEEyNjkvZXZlQlhyc3Y3TjlRQUxlCi90dmpBMGtQV0FYR2J2ZWJrYkhuK0QvSjVuTWNI
engxVUFBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzg4ODg4OF8y
NTZ4MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJp
bmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCkluZGV4OiBXZWJzaXRlcy93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWlj
b25zXzg4ODg4OF8yNTZ4MjQwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzg4
ODg4OF8yNTZ4MjQwLnBuZwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzg4ODg4
OF8yNTZ4MjQwLnBuZwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdl
cy91aS1pY29uc184ODg4ODhfMjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVBQUFBN1ZC
TVZFV0lpSWlJaUlpSWlJaUlpSWlJaUlpSQppSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJCmlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUkKaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSQppSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpZ2hjcDdBQUFBClRuUlNUbE1B
R0JBeUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJySno4YzRS
Qnk5dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtqOUFBQVBo
VWxFUVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0bWkycDAzUkox
L1hlLzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVVT3hhCmhaMmlB
Tmh6QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0Yi8vY3Fr
dHdENVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5RkJsM3VJTlFu
aXdFaXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0MmJzQXY0
UzJmeGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JKL2JFeDhQCkVB
TkMrdWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZwTWNxVXM0
QWxvQ3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhnclphUitReGwy
L0MyUmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3a2NRQ2lVT0py
Y0ZOdERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NIMEZMWUhsUHF3
CkhhQ3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhFYVVSZUtYa0NC
NC9NekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1OENON3gv
K2phWmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQeGZKNVBuSVVV
UU9VS1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmowRkVsdEE0dmRp
eWdCCmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYzaFBRWENvUkxB
d2RnR3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQQy9rbEVHeUNH
MEF1QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIwUzZrUkhONSs0
QnpGaThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlxN0ZIWndC
NmJEU3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRUYVFvRmdQN2JO
QytSWjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxmV0hMZzlp
VW5RTks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pTWFhSSnlP
eGVxaG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndXSjkzQktkSXQr
d0NSQVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lBbUdIbk41
aUl0N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3WjlrTi9Q
cU5wVFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpGckJmQkxq
WjYxNTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0aXpCK1Rq
ZlFDckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVTVGpnT1FC
eW5RZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5JelYrQ3dS
dWNGQkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016Q1I3Vgo5UkFG
ZS9adlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUlsa2dxKzFE
UXJOaGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0RDhENU5Na3RC
Z055d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tVcElTZkdQUjVB
QXdCZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5QW96OQpu
Mk1DcUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1QStwTDRN
a1RmQW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9LdlgwQUhH
a0d0UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJFdkFGSHArWVRC
L3E5N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94K001alBF
egpRdWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIxUkhGdTRVQ1Js
TUh6djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZlNXdUUndBbjZr
ZU1BOUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4SG9jTEhS
SlZ5Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0S0piYkxk
NWRpVApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1JpWktQSnlQUFJ4
eUlGV2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllLN3M3dTJs
NFhhQ3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZKL01EYklE
Z1BxVHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kxOTZOaU1X
SFRabFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNIeW9YUGpB
U3FmVWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQL3QvZ21WZEky
NCtHN05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pUU041MkNO
cG5IdVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2NiTnJEMTdpVkt5
YWpjbnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0aUtBRUlQ
bjg2OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETklnR0xRRzh6NFlP
OTlFTmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDczWDMKTi9uK1pT
dE96ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1bnl4blJG
NDZJcWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFUa1ZFNzM0
OGRsd0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2WVViYm5E
akRaM01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3Yi8KOXFI
b1lxZ1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZcklxeEJn
UWkyMGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gxSTFReFVk
QWJxcUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2VzM24zN3k5YTB1
R3FGd0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFlyTkFUR0dlZkoK
UWxoa0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1MkRqWUVFNlJC
eEQ5S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JPbVQrbkp5
UWtob1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4OEE4Yitt
cVNqYzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9QWVk0WkFI
WWIKM1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlMbmo1QTMz
VTFNQUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlHbFJuU3E5
eUNqZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlNRi9QVDJj
NjAyVDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6S2dWQnFZ
VG1GbisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpNdzlIYTJHM202
YzhxUXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQV21jNmpE
QkUyUEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJZWFYZklBVnlV
dXcvYUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFoxMGltdDd3SFk3
UWVzQXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4TG8rVmNi
dUF1by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4MzJhYlFp
SXlNakl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhCWHFVV25l
U0FXVE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04QWlFQWwwc0Nl
TElJb3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4SHBMQnRE
MWlLZ0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJSM0hlVi9G
Zng2anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVPeXpnCmY1b0Fo
VlluS3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5BLzNUTGQrR0U3
cWUzY2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBRUUZHWURV
NCtNaS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIzanVNN0Qxd2l0
YTg2R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStYbC9LNSthCno4
akl5TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0V3dabVMr
a1hGVmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVoOTcyRlVU
THpZcE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4N05uNFU4
ZytxamZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVlNjNSNTQz
CjltK09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhWUktPM3l3T1FV
Z1JBN25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZaNUowdkxIVDk5
c3JrR09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1JrWkdSa1pHUkcw
Z2NPTnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhDNHR6Nlov
ZnU3CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJzL3dQdE13cVYw
SFVKQXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5UU9maHl4
bGRyLyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZqQTBrUFdBWEdi
dmVia2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91
aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwpJbmRl
eDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2lt
YWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdl
cy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNo
YW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUR3Q0FN
QUFBRFlTVXI1QUFBQTdWQk1WRVhOQ2dyTkNnck5DZ3JOQ2dyTkNnck4KQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JO
Q2dyTgpDZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JO
Q2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOCkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JO
Q2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck4KQ2dyTkNnck5DZ3JO
Q2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNncnFO
NWo4QUFBQQpUblJTVGxNQUdCQXlCQWhRdjRPWkxpSlVjRUJtWUJvU3pRd2dQQlpDU0VvZVdpWXdV
aXlGTkllQncyckp6OGM0UkJ5OXVYeXJ0YVdOCnFhMnpLUDJmSk84S0JnS1BvMktWb2E5czM1MUdQ
bTUra1dobzBrajlBQUFQaFVsRVFWUjRuTzFkaldMYnRoRUd5VWlxNVlTU0xYdHAKN0ZwTE9tZnpr
bXhyMTI2dG1pMnAwM1JKMS9YZS8zRUdnQVJ4UHlBZ1JiSWsyL2hrU3o0Q0pPNCtIc0U3QUpTVnlz
akkyQU1VVU94YQpoWjJpQU5oekJ0WldyNEJvSVJTWUFWTjV1NFF3RHdRRFJiY3dmVWk1S1Mzd0Z1
RG1GblFMYTREdGIvL2Nxa3R3RDVRRUZGd2ZVczdQCm9DQ0E3eTRiRUpWRml6Y0lvYjhLbWhBcGx3
d3FWanQrOUZCbDN1SU5Rbml3RWlyeUV5dzlKSHFHcFFkRUZOaStCNFFRN1FPaUhoeXMKSVBvQXhV
cXh2ZHZ2QTlLNDJic0F2NFMyZnhmWU9lNTdJSlNSa1pHUmtaR3h4N2p4U0hESGNSQlhRTVR5SWpJ
bkJnSHdCSi9iRXg4UApFQU5DK3VoYnBTU2dnQ0JBVk9EVmFicEkxUy9rNFdMWnBUbjZOcE1ob1g5
WTQwaHhZRVJGcE1jcVVzNEFsb0N0RFFkSUQxWWhueVhaCjJoTGpBWVdpTzlEeTFQREI3dFBoSXFM
eCt1TUI4Z3JaYVIrUXhsMi9DMlJrWkdSa1pHUms3QTdyQmY3SjBEUjUvTFVUanpVUElQU1AKR3ZR
SmlWSmlCN2tjUUNpVU9KcmNGTnREWklmMnhhclEzYUd2TE54QVZJRkFhYno5MEJGaUJJbHljVEJo
Z1d3T1dDSDBGTFlIbFBxdwpIYUN2Y0luMlpib3NDZXZmUFRSaUZGY2d2SHVrQ2pXd3JjM0dyR2gx
ZnNBb2Y4RWFVUmVLWGtDQjQvTXpGTm85N3FMcEZpS0ZZdi9rCk5SNVlReFFiUUVvZmtaMk91RU9I
cXFUNmdGVHBydThDTjd4LytqYVprWkdSa1pHUmNWK3gvckxVTmNNTXFVQXNjZ25Gb2NtcHFrVHoK
cXltd1ZBUHhmSjVQbklVVVFPVUtUMDR0RWRXWnl2M0pDUVNuOTZXUzRwRDk3UWZ5VzI1QTdOaFNB
YnlobVZqMEZFbHRBNHZkaXlnQgppYlhob1VZZ3lrQ1VQN0h3UFREZUVxQUljSFZNa1pnN1p4NGsw
dUZBTnM2M2hQUVhDb1JMQXdkZ0dzcjlBejdRdjdzZ1FHZ2cxYVBsCi9CSkxFeEJXZ0c0UkZSTEZJ
bUdtSXF1UEMva2xFR3lDRzBBdUFYYUpKQytCOEZWZTlOWVFERWNYQjhnNkFRY2pZSjFnb0pJZ2dI
V0MKckZSMFM2a1JITjUrNEJ6Rmk4TmFvTjM1TlJ4VXZMK0pKZFpyN1BWNHdLNmZqOG5JeU1qSXlO
aHIzT3hkWEFZcTdGSFp3QjZiRFN6UwpoNHNGMHV0Q2hxbzBOQXZhVDFoTHpYd0Zpbm1Dem1lRHVj
RVFLMThUVGFRb0ZnUDdiTkMrUlo0T1Q0VDZnUW9nREZZaysxUXhRbGoxCjlRR1NBV0tpTFlwOFAw
QWcxR2J6MVVMZldITGc5aVVuUU5LNVFRSmN1a20wNGJsS0xIMkdnRUpDWStIelhBWldDdkhLY28z
QnA2TUkKYUNqU1hYUkp5T3hlcWhuekVhRjkzTWZGR1cvTzE2WnZETDVUTTRNSklqdWp6L2NIeXBr
UXV1elJ3V0o5M0JLZEl0K3dDUkFQbDlrcAplMklra2IybUZnR2x4aC9pNDBkM0VIZmR2b3lNakl5
TXU0M3lsdC9JQW1HSG5ONWlJdDd3S2ZidjAxUkFjSnFGUmw5bGNqWVFTbmJRCnFLZ0M0ZllPd1NK
dDZONnRyRTB0d1o5a04vUHFOcFRRZUlDdnI0VExzRFlDMDZVN0JNanNoUyt2MS9hVDdJd1FZRDVM
Y2dSUVhNVDIKRnJCZkJMalo2MTUxakRFbGs5dFBGZnBVZ2syeXJlZ3VzWDI1Qkpid0FGRWZNK1lJ
NnZHQXRpNGJUdGl6QitUamZRQ3JFUnloS2IyWAo4RDZBOXdYNzVQNHQ0bmVCWUplUDZwZGhnL2dR
bDhNV3Z5dHplU1RqZ09RQnluUWRoL2lYS2R4T3JHSi9Sa1pHUnNiOVFtWGloR3I1CitnOEdHZzl1
VGgrS29WWnVOSXpWK0N3UnVjRkJFeXIxbVZqeDRpck94d00xQmhpckI2USsyZU5RaTRlcVIrYUY2
bUVMdG9NekNSN1YKOVJBRmUvWnZRb2dOaXlZOEZQU1VURnNMcDhUZVRtTXVpNW10dzdiY2FUMFl3
MkFBNHdGUlFJbGtncSsxRFFyTmhrbW94UzVKcSt1NgpiTUFJR1JFQ0VBTmdYSFRnV3p3Z0JPaERI
Mmwwb1RRNEQ4RDVOTWt0QmdOeXdBRU1qbzhyd0FUTVpyUFk3Skd4Qm9KQ2tJQkRRaUFZCjA5RUdU
VWlCQ1drVXBJU2ZHUFI1QUF3QmZaaUcyejdBeWMxeWVLVHhpZDM5eEJOd2ZIcjRPMExBNDhlUEZU
dmhZckYxcjR0eUFvejkKbjJNQ3FFdUJ0cC82R0RSMG9BWWZHL1I2d0pFeEhZWkhmaHlnc3Y3ZkVX
Q09qNGJZbXNQNUErcEw0TWtUZkFuTWxENEYrcjNib2JLdgpUeVRBMlAvdzdQTitBZ3EyUVc4cGlx
TUNwVEJ3ZW5vS3ZYMEFIR2tHdFAyWUFQdlRFV0E3UVVUQXVkbjcvTnh0T0c0NndXTm1EdHBCCkVr
QnpON3JCRXZBRkhwK1lUQi9xOTdxUEFONGdIRnFnQmk4dUxzQzdxUENBNm1nNDFHLytFckJ5UHdF
WERkb054UmhPeCtNNWpQRXoKUXVnUzBodCtiMS9ZM2dFbllNQUlBT0lCRTI5L2hJRHVjRTh0bU1z
Tk9nSzRCMVJIRnU0VUNSbE1IenYweHpjYWpjZmRYV0RzMmg4VApBckJDa29EVUpZRExtejZ3N2lw
M0JGUzB2ZTV3VFJ3QW42a2VNQTlJM1FZYmZTWjBES2J5dCs3T1hqR0kxaWRQY2ZOeUF5ZkFNbENy
CnphR3FwaFlyeEhvY0xIUkpWeWNuZkdVY2J0VCtqSXlNakl3OXg3Tm44ZkpTekcwVG1GdE84clpU
K1hUM1MzdWIrdEtKYmJMZDVkaVQKVnA1MCt6YWh5ZUhTc2xKL1lQclUwZnVhenJaTzJDWjkyL1pD
Q1ZYbEdSaVpLUEp5UFBSeHlJRldlWExRQlhKQktpcS8zZGl2RUFONgpad00yMDBRam03RUpCWmVX
bS9QUldWQ2JZSzdzN3UybDRYYUN6K2x6Z09mTWZoTW9uWHI3VFd6ZVpiOThkYmdJekJUOFViOGVZ
WVVxCmZaNHJWSi9NRGJJRGdQcVR1bEoveHZudFdBdGpJaXNxbnd4T2tHejBuMDc3RkFSb1k3OUdk
QTZIUEU0ck95MTk2TmlNV0hUWmxTU0EKcGNPZ1hweS9mSFYyam9hTkt1M2Zmc0FuUmNCZjRLLzZO
Y0lHNnRJeGszSHlvWFBqQVNxZlVnWGJZTjVQenBMMm5qa1I5UU1qZURUVgpIRFRDZ1J1eE9lZ2pv
TzBGdkt6UC90L2dtVmRJMjQrRzdOSWU4Slg2V3YzZER5bGRNQSs0WUI1d3dUeWd0ZCtkd1JxYVRx
ckxiMWw3CjN6VFNONTJDTnBuSHVRT1lQc0RibHliZ3hma1hoL29WdHIrTjFERUJKZGhSSnlkL0Jk
L3ExeitjYk5yRDE3aVZLeWFqY252OWFyaE8Ka1JQZ3NydXVENkRtTlB3cEROckx3MkNvVGdIbmk0
eUFMcjBMMjkrdGlLQUVJUG44NjhlangvLzhycFdQM09FT2w1T245T3dwY1FtMApNaGFmUC9leThm
MXV2RE5JZ0dMUUc4ejRZTzk5RU5nZzk1ZXR3djR1WUpZWThmVUdIWUg2ajZmc2NIRlpNZnRsQWw5
aSs5WEw3M1gzCk4vbitaU3RPemZWZlJ2WVhocmJkS09wRWdWUVRnL3dzRHVERDNrd09mUU5NVEo1
eSsvbHRVRFdMdW55eG5SRjQ2SXFsQnpHTVk0WDcKaW5nZ1JFRmlvSXlNakl5TUhXQ0lCNlpOS0Fj
WHNlbzN2TFRRVGtWRTczNDhkbHdKSlN6MCt3TGZtaThCaFpxZnczRDR3dy93SFZMbgpFZDUvZmdZ
dlhzRFozTWxzdllVYmJuRGpEWjNNTjNUSkc0K2J4akFhRGw4VEJyaTlxeEV3MWNjYW8yd1ROQU1M
SG8yZitzanJYd2IvCjlxSG9ZcWdQTUJYSlRWZk9wbXJaSDIzeTZ1dm8wTEhTeVk2ZkhHd0tmSEps
QXVNRnZPYmpEWXJJcXhCZ1FpMjBoN0hkL25ZVkxtbm8KK2VhTlVtL2VlSDJHQ3VvcG50bmhCSkFs
STJBSG85Q0NoMUkxUXhVZEFicXFHWTlCQkx3eWMzVzR3WVZodlk4QTRCb0ljMWw1TTd2bgpQV3Bo
Wlc5L1NlczNuMzd5OWEwdUdxRndGUVpzUVFiZDM4NkRvZ3BnRWsrZHp5bnNBWk1KWHE4K25zOU5l
dWtKMFBZck5BVEdHZWZKClFsaGtMbzdEVFhyK3kzYk5pT3NEdnJYVHovQzJxMURYWkg4NGlSTndy
UDg4TmordTJEallFRTZSQnhEOUtuajE2dWpWSEM2N0E3NDIKMm8wMlJ3RDNnQit0N0VibFd2dTln
ZU9GeFNuZDNST21UK25KeVFraG9QbHN4Vk9OYy8zVEVkQm9zK2p0QStaemN3SGdUdkQxY0RqYQpZ
Q2NJdEE4dzlpODhBOGIrbXFTamM2UHZxZDk5OFFndUVRUG1RTWVvMjNPRE44NitwMC9ibjFidUJr
VDYrb0JoTlovUFlZNFpBSFliCjNQUmQ0TGtabVBYNjhOUnRNWm40QVN2ZEErcWYwak1BNU1QOWVl
ZzI4TnVnOVFpTG5qNUEzM1UxTUFFUzZ4SEFVTnB6Lzl6RkFZRTEKZ3FRRE1UM0c2eEk5cHdkdy9h
SWdLb0hDUzFZR2xSblNxOXlDamRYamdOM2orTjI3WXlST0h4bXVOQWVOS1BwWXVYSXlJeU1qWXkw
TQo4ZXJvczU5TUYvUFQyYzYwMlQ3ZUE3enZoSjlkci92ekRqWGFMcDRZYzUrMHdsbHp4ekh2M2dk
bU1NTTcvQ2NRektnVkJxWVRtRm4rClorbUttOEo3azBBNUYvamdDZmpRMVdCaFF5aU9xRDBsWXVx
QmIrQXl6TXc5SGEyRzNtNmM4cVF4K0FscW5JY2VRcCtTYjZpOVV5UVcKYmhyNTQrQWpuWjBWelcy
VEFOMERtQlQ2UFdtYzZqREJFMlBLMnUrbkY0M2R5UDdRMHQxcE9jWDJmZFJ2SDBtRjJRNEpxTjM1
cm5IagpWSWVhWGZJQVZ5VXV3L2FIQ0NpSnk5aUY1bDE2MjF6d2VJOEtaclBaOWlKZGI3RFhKM1VT
ME9TcnRaMTBpbXQ3d0hZN1Flc0F6VU16CjFvWjNub0IzcUZKL0gxOGo5N0ZZdXc4UURONG9lS2Yz
MG9zdmNTVzJFeExvK1ZjYnVBdW8vc1VJbThmTUc5eG9jTzNFYTE5SjlnRlkKaXZuSEoyS255Zm92
WmxnVzN2NnlTeDMyYWJRaUl5TWpJeVBqaGxGRFRMeHB3SWdGTW5UcDZBM2c0SURLTlkrc3Rrd0FN
QW9JQWJhcwp4QlhxVVduZVNBV1RNanQ1MGxUcVQyOXJGanZYb2hqc0RObTJZUFhERmxJQ21ySk9a
M3Q2dEhtOEFpRUFsMHNDZUxJSW9ySVJ0K2NGCmJldy9RUnNvQVhiNG8xWFNmb3l3em0wRlRNQW9Z
Qk52THlGdTh2OEhwTEJ0RDFpS2dDMTd3SGI3QUk2ZDl3RmJ2Z3VBSUdUSGQ0RTkKd0c3amdJeU1q
SXlNKzQzNGMyUjNIZVYvRmZ4Nmp0WnU2aWpsOGg1OVQ2NTVqaFIrcmRIekRPUDZiZUFCQ2hlYjhP
OC9XRlhlT3l6ZwpmNW9BaFZZbkt4UDdDd2FBZjFhZkp1OGJTcmhTNnRkYVhlR25yUmVuT3FPbHo5
ZDZRd1luQS8zVExkK0dFN3FlM2NoQTVZRjVEZlkwCnZLM2FkZk9YL2d5TnAyQlcyNU1IZHhBQjlx
dlJpaVAzL1hwUVFGR1lEVTQrTWkvLy9YdW1YRzhwanZhVUFPc0JHbGY0akp0K1lZRXoKZUV6QWR3
MDZGMTlSM2p1TTdEMXdpdGE4NkdSMENLZkRIZ0x1WENjNEJyaTZ2TUxkZmpNYzRWTlNVTnNkb2Rv
Mnh1LzErWGwvSzUrYQp6OGpJeU1oWUcvejVnSlRNRjFHdEtxL2EzcnB5Q3Z6NWdKVE1sOUd0S3Ev
YTNycHlDbWZRNFd3Wm1TK2tYRlZldGIxMTVTVDQ4d0VmCi9BR2NmRzFpdyt0V2JwYlMydkozblF4
Y1ZyM2xIM3o1aDk3MkZVVEx6WXBPVms3bDVoRCtlWWNZd0RjQW5ld09vdHJaNE90clBEdWMKcWkv
TFJYMC9SUjRxeDdObjRVOGcrcWpmZnZ1TjZHZituQzg1dndhdUhqYVl5dWJxdldZS1k0VkVmU1VN
aXRkbkJDVDFVZTYzUjU0Mwo5bStPZ0NuNkRyb0FBYUhQVlF4S3RoL3drSmdIbUc4Ym1RTXNUMEQ2
RWpEZnZoVlJLTzN5d09RVWdSQTdubUwxdWF3Wm1IZjFrK0RQCkJ3UTZOZGNKK2s2TWQxTEE1ZjVP
TmRoSjh2WjVKMHZMSFQ5OXNya0dPam1KYmQvRzFyMk5yaXFuc2UxQVp0MUFhbFU1alcySHN1dUcK
MHF2S0dSa1pHUmtaR1JHMGdjT055WHNQOXY4RDAvSWRKQURpQk5pWGwzMzI3V1JHZ09MLzlIQy8w
WHdsSVVSa1JoQzR0ejZaL2Z1NwpmVWYyZ0h2ZkI5ejN1MEJHUmtaR1JrYkdwbEhjbmtnZ3VRb1Nx
dFVYdWhicy93UHRNd3FWMEhVSkF2ajV2azMyYjhJRHVMMjN5bjdxCkFYWjV1MzJoYlJYN2Qzbzgy
RGYxRlpYdmJoOVFPZmh5eGxkci8rM3hnWFU5b0ttdnNIeXI3Ri9YQTI2OS9ldmVCWHJzdjdOOVFB
TGUKL3R2akEwa1BXQVhHYnZlYmtiSG4rRC9KNW5NY0h6eDFVQUFBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342692</attachid>
            <date>2018-06-13 14:17:03 -0700</date>
            <delta_ts>2018-06-14 11:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185949-20180613141702.patch</filename>
            <type>text/plain</type>
            <size>535097</size>
            <attacher name="Roy Reapor">rreapor</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzI4MDkpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDE4
LTA2LTEzICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5jb20+CisKKyAgICAgICAgalF1ZXJ5
IFVJIGltYWdlIGFzc2V0cyBhcmUgbWlzc2luZyBvbiB3ZWJraXQub3JnIHdlYnNpdGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU5NDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4
MTAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZzogQWRkZWQuCisg
ICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWkt
YmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNjVfZmZmZmZm
XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90
aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZzogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMv
dWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVm
MWVjXzF4NDAwLnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfNzVfY2NjY2NjXzF4MTAw
LnBuZzogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9pbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18y
ZTgzZmZfMjU2eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZzogQWRk
ZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFn
ZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2
eDI0MC5wbmc6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvanF1ZXJ5LXVpLm1pbi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uY3NzOiBB
ZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2px
dWVyeS51aS5hbGwubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1pbi5jc3M6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5
LnVpLmJhc2UubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEu
OC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1pbi5jc3M6IEFkZGVkLgorICAgICAg
ICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmNvcmUu
bWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWlu
LmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMv
YmFzZS9qcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucmVzaXphYmxlLm1p
bi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVz
L2Jhc2UvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuc2xpZGVyLm1pbi5j
c3M6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLnRhYnMubWluLmNzczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzczogQWRkZWQu
CisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmJsaW5kLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmNvcmUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3AubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5l
ZmZlY3RzLmZhZGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZvbGQubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBh
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmhpZ2hsaWdodC5taW4u
anM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LmVmZmVjdHMucHVsc2F0ZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2NhbGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1p
bi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkuZWZmZWN0cy5zbGlkZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMudHJhbnNmZXIubWluLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24u
bWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS51aS5hdXRvY29tcGxldGUubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5idXR0b24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qczog
QWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWku
ZGF0ZXBpY2tlci5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxvZy5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanM6IEFkZGVk
LgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3Bw
YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qczogQWRkZWQuCisgICAgICAgICogYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkucG9zaXRpb24ubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5t
aW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlkZXIubWluLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51
aS5zb3J0YWJsZS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzOiBBZGRlZC4KKyAgICAgICAgKiBhamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQubWluLmpzOiBBZGRlZC4KKwog
MjAxOC0wNi0wNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtXZWIgQW5pbWF0aW9uc10gT25seSBleHBvc2UgQ1NTQW5pbWF0aW9uIGFuZCBDU1NUcmFuc2l0
aW9uIGlmIHRoZSBXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb24gcnVudGltZSBmbGFnIGlzIGVu
YWJsZWQKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9qcXVlcnktdWkubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVp
Lm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS11aS5taW4uY3NzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjgu
MTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5j
b20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24g
MiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8v
ZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCisgKi8KKy51aS1oZWxwZXItaGlkZGVue2Rp
c3BsYXk6bm9uZTt9LnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZXtwb3NpdGlvbjphYnNvbHV0
ZSFpbXBvcnRhbnQ7Y2xpcDpyZWN0KDFweCAxcHggMXB4IDFweCk7Y2xpcDpyZWN0KDFweCwxcHgs
MXB4LDFweCk7fS51aS1oZWxwZXItcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291
dGxpbmU6MDtsaW5lLWhlaWdodDoxLjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjEw
MCU7bGlzdC1zdHlsZTpub25lO30udWktaGVscGVyLWNsZWFyZml4OmFmdGVye2NvbnRlbnQ6Ii4i
O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjt9LnVp
LWhlbHBlci1jbGVhcmZpeHtkaXNwbGF5OmlubGluZS1ibG9jazt9LyogcmVxdWlyZWQgY29tbWVu
dCBmb3IgY2xlYXJmaXggdG8gd29yayBpbiBPcGVyYSBcKi8gKiBodG1sIC51aS1oZWxwZXItY2xl
YXJmaXh7aGVpZ2h0OjElO30udWktaGVscGVyLWNsZWFyZml4e2Rpc3BsYXk6YmxvY2s7fS8qIGVu
ZCBjbGVhcmZpeCAqLyAudWktaGVscGVyLXpmaXh7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6
MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowO2ZpbHRlcjpBbHBoYShPcGFjaXR5
PTApO30udWktc3RhdGUtZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQhaW1wb3J0YW50O30udWktaWNv
bntkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5OXB4O292ZXJmbG93OmhpZGRlbjtiYWNr
Z3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7fS51aS13aWRnZXQtb3ZlcmxheXtwb3NpdGlvbjphYnNv
bHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9LnVpLWFjY29yZGlvbnt3
aWR0aDoxMDAlO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVye2N1cnNvcjpwb2lu
dGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MXB4O3pvb206MTt9LnVpLWFjY29yZGlv
biAudWktYWNjb3JkaW9uLWxpLWZpeHtkaXNwbGF5OmlubGluZTt9LnVpLWFjY29yZGlvbiAudWkt
YWNjb3JkaW9uLWhlYWRlci1hY3RpdmV7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudDt9LnVpLWFj
Y29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciBhe2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjFl
bTtwYWRkaW5nOi41ZW0gLjVlbSAuNWVtIC43ZW07fS51aS1hY2NvcmRpb24taWNvbnMgLnVpLWFj
Y29yZGlvbi1oZWFkZXIgYXtwYWRkaW5nLWxlZnQ6Mi4yZW07fS51aS1hY2NvcmRpb24gLnVpLWFj
Y29yZGlvbi1oZWFkZXIgLnVpLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDouNWVtO3RvcDo1
MCU7bWFyZ2luLXRvcDotOHB4O30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudHtw
YWRkaW5nOjFlbSAyLjJlbTtib3JkZXItdG9wOjA7bWFyZ2luLXRvcDotMnB4O3Bvc2l0aW9uOnJl
bGF0aXZlO3RvcDoxcHg7bWFyZ2luLWJvdHRvbToycHg7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Om5v
bmU7em9vbToxO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmV7ZGlz
cGxheTpibG9jazt9LnVpLWF1dG9jb21wbGV0ZXtwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6ZGVm
YXVsdDt9KiBodG1sIC51aS1hdXRvY29tcGxldGV7d2lkdGg6MXB4O30udWktbWVudXtsaXN0LXN0
eWxlOm5vbmU7cGFkZGluZzoycHg7bWFyZ2luOjA7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O30u
dWktbWVudSAudWktbWVudXttYXJnaW4tdG9wOi0zcHg7fS51aS1tZW51IC51aS1tZW51LWl0ZW17
bWFyZ2luOjA7cGFkZGluZzowO3pvb206MTtmbG9hdDpsZWZ0O2NsZWFyOmxlZnQ7d2lkdGg6MTAw
JTt9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhe3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6
YmxvY2s7cGFkZGluZzouMmVtIC40ZW07bGluZS1oZWlnaHQ6MS41O3pvb206MTt9LnVpLW1lbnUg
LnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLC51aS1tZW51IC51aS1tZW51LWl0ZW0gYS51
aS1zdGF0ZS1hY3RpdmV7Zm9udC13ZWlnaHQ6bm9ybWFsO21hcmdpbjotMXB4O30udWktYnV0dG9u
e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MDttYXJnaW4t
cmlnaHQ6LjFlbTt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7Y3Vyc29yOnBvaW50ZXI7
dGV4dC1hbGlnbjpjZW50ZXI7em9vbToxO292ZXJmbG93OnZpc2libGU7fS51aS1idXR0b24taWNv
bi1vbmx5e3dpZHRoOjIuMmVtO31idXR0b24udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjRl
bTt9LnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuNGVtO31idXR0b24udWktYnV0dG9uLWlj
b25zLW9ubHl7d2lkdGg6My43ZW07fS51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6
YmxvY2s7bGluZS1oZWlnaHQ6MS40O30udWktYnV0dG9uLXRleHQtb25seSAudWktYnV0dG9uLXRl
eHR7cGFkZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10ZXh0
LC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVtO3RleHQt
aW5kZW50Oi05OTk5OTk5cHg7fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRv
bi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVt
IDFlbSAuNGVtIDIuMWVtO30udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1dHRv
bi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVt
IDIuMWVtIC40ZW0gMWVtO30udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0e3Bh
ZGRpbmctbGVmdDoyLjFlbTtwYWRkaW5nLXJpZ2h0OjIuMWVtO31pbnB1dC51aS1idXR0b257cGFk
ZGluZzouNGVtIDFlbTt9LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24sLnVpLWJ1dHRvbi10
ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkg
LnVpLWljb24sLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1pY29uLC51aS1idXR0b24taWNvbnMt
b25seSAudWktaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LThweDt9
LnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb257bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThweDt9
LnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwudWkt
YnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi1pY29u
cy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5e2xlZnQ6LjVlbTt9LnVpLWJ1dHRvbi10ZXh0
LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51
aS1idXR0b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbi10ZXh0LWljb25z
IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0
b24taWNvbi1zZWNvbmRhcnl7cmlnaHQ6LjVlbTt9LnVpLWJ1dHRvbnNldHttYXJnaW4tcmlnaHQ6
N3B4O30udWktYnV0dG9uc2V0IC51aS1idXR0b257bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6
LS4zZW07fWJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGlu
ZzowO30udWktZGF0ZXBpY2tlcnt3aWR0aDoxN2VtO3BhZGRpbmc6LjJlbSAuMmVtIDA7ZGlzcGxh
eTpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXJ7cG9zaXRpb246cmVs
YXRpdmU7cGFkZGluZzouMmVtIDA7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYs
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6
MnB4O3dpZHRoOjEuOGVtO2hlaWdodDoxLjhlbTt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNr
ZXItcHJldi1ob3ZlciwudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVye3Rv
cDoxcHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXZ7bGVmdDoycHg7fS51aS1k
YXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHR7cmlnaHQ6MnB4O30udWktZGF0ZXBpY2tlciAu
dWktZGF0ZXBpY2tlci1wcmV2LWhvdmVye2xlZnQ6MXB4O30udWktZGF0ZXBpY2tlciAudWktZGF0
ZXBpY2tlci1uZXh0LWhvdmVye3JpZ2h0OjFweDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNr
ZXItcHJldiBzcGFuLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbntkaXNw
bGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHg7dG9w
OjUwJTttYXJnaW4tdG9wOi04cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxl
e21hcmdpbjowIDIuM2VtO2xpbmUtaGVpZ2h0OjEuOGVtO3RleHQtYWxpZ246Y2VudGVyO30udWkt
ZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3R7Zm9udC1zaXplOjFlbTttYXJn
aW46MXB4IDA7fS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXJ7
d2lkdGg6MTAwJTt9LnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsLnVp
LWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcnt3aWR0aDo0OSU7fS51aS1kYXRl
cGlja2VyIHRhYmxle3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07Ym9yZGVyLWNvbGxhcHNlOmNv
bGxhcHNlO21hcmdpbjowIDAgLjRlbTt9LnVpLWRhdGVwaWNrZXIgdGh7cGFkZGluZzouN2VtIC4z
ZW07dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXI6MDt9LnVpLWRhdGVw
aWNrZXIgdGR7Ym9yZGVyOjA7cGFkZGluZzoxcHg7fS51aS1kYXRlcGlja2VyIHRkIHNwYW4sLnVp
LWRhdGVwaWNrZXIgdGQgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjJlbTt0ZXh0LWFsaWduOnJp
Z2h0O3RleHQtZGVjb3JhdGlvbjpub25lO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1i
dXR0b25wYW5le2JhY2tncm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjdlbSAwIDAgMDtwYWRkaW5n
OjAgLjJlbTtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowO2JvcmRlci1ib3R0b206MDt9LnVp
LWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257ZmxvYXQ6cmlnaHQ7
bWFyZ2luOi41ZW0gLjJlbSAuNGVtO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6LjJlbSAuNmVtIC4z
ZW0gLjZlbTt3aWR0aDphdXRvO292ZXJmbG93OnZpc2libGU7fS51aS1kYXRlcGlja2VyIC51aS1k
YXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudHtmbG9hdDps
ZWZ0O30udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpe3dpZHRoOmF1dG87fS51aS1k
YXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3Vwe2Zsb2F0OmxlZnQ7fS51aS1kYXRl
cGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxle3dpZHRoOjk1JTttYXJnaW46
MCBhdXRvIC40ZW07fS51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXB7
d2lkdGg6NTAlO30udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2VyLWdyb3Vwe3dp
ZHRoOjMzLjMlO30udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3Vwe3dp
ZHRoOjI1JTt9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAu
dWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6MDt9LnVpLWRhdGVwaWNrZXIt
bXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlcnti
b3JkZXItbGVmdC13aWR0aDowO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1i
dXR0b25wYW5le2NsZWFyOmxlZnQ7fS51aS1kYXRlcGlja2VyLXJvdy1icmVha3tjbGVhcjpib3Ro
O3dpZHRoOjEwMCU7Zm9udC1zaXplOjA7fS51aS1kYXRlcGlja2VyLXJ0bHtkaXJlY3Rpb246cnRs
O30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldntyaWdodDoycHg7bGVmdDph
dXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dHtsZWZ0OjJweDtyaWdo
dDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcntyaWdo
dDoxcHg7bGVmdDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpo
b3ZlcntsZWZ0OjFweDtyaWdodDphdXRvO30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNr
ZXItYnV0dG9ucGFuZXtjbGVhcjpyaWdodDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlj
a2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OmxlZnQ7fS51aS1kYXRlcGlja2VyLXJ0bCAudWkt
ZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnR7ZmxvYXQ6
cmlnaHQ7fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cHtmbG9hdDpyaWdo
dDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVw
aWNrZXItaGVhZGVye2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXdpZHRoOjFweDt9
LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBp
Y2tlci1oZWFkZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O30u
dWktZGF0ZXBpY2tlci1jb3ZlcntkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztwb3NpdGlvbjph
YnNvbHV0ZTt6LWluZGV4Oi0xO2ZpbHRlcjptYXNrKCk7dG9wOi00cHg7bGVmdDotNHB4O3dpZHRo
OjIwMHB4O2hlaWdodDoyMDBweDt9LnVpLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5n
Oi4yZW07d2lkdGg6MzAwcHg7b3ZlcmZsb3c6aGlkZGVuO30udWktZGlhbG9nIC51aS1kaWFsb2ct
dGl0bGViYXJ7cGFkZGluZzouNGVtIDFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt9LnVpLWRpYWxvZyAu
dWktZGlhbG9nLXRpdGxle2Zsb2F0OmxlZnQ7bWFyZ2luOi4xZW0gMTZweCAuMWVtIDA7fS51aS1k
aWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDou
M2VtO3RvcDo1MCU7d2lkdGg6MTlweDttYXJnaW46LTEwcHggMCAwIDA7cGFkZGluZzoxcHg7aGVp
Z2h0OjE4cHg7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFue2Rpc3Bs
YXk6YmxvY2s7bWFyZ2luOjFweDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3Nl
OmhvdmVyLC51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpmb2N1c3twYWRkaW5n
OjA7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRl
cjowO3BhZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDpub25lO292ZXJmbG93OmF1dG87em9vbTox
O30udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZXt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVy
LXdpZHRoOjFweCAwIDAgMDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7bWFyZ2luOi41ZW0gMCAwIDA7
cGFkZGluZzouM2VtIDFlbSAuNWVtIC40ZW07fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25w
YW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0e2Zsb2F0OnJpZ2h0O30udWktZGlhbG9nIC51aS1kaWFs
b2ctYnV0dG9ucGFuZSBidXR0b257bWFyZ2luOi41ZW0gLjRlbSAuNWVtIDA7Y3Vyc29yOnBvaW50
ZXI7fS51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O3Jp
Z2h0OjNweDtib3R0b206M3B4O30udWktZHJhZ2dhYmxlIC51aS1kaWFsb2ctdGl0bGViYXJ7Y3Vy
c29yOm1vdmU7fS51aS1wcm9ncmVzc2JhcntoZWlnaHQ6MmVtO3RleHQtYWxpZ246bGVmdDt9LnVp
LXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci12YWx1ZXttYXJnaW46LTFweDtoZWlnaHQ6MTAw
JTt9LnVpLXJlc2l6YWJsZXtwb3NpdGlvbjpyZWxhdGl2ZTt9LnVpLXJlc2l6YWJsZS1oYW5kbGV7
cG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOi4xcHg7ei1pbmRleDo5OTk5OTtkaXNwbGF5OmJs
b2NrO30udWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLC51aS1yZXNp
emFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGV7ZGlzcGxheTpub25lO30udWktcmVz
aXphYmxlLW57Y3Vyc29yOm4tcmVzaXplO2hlaWdodDo3cHg7d2lkdGg6MTAwJTt0b3A6LTVweDts
ZWZ0OjA7fS51aS1yZXNpemFibGUtc3tjdXJzb3I6cy1yZXNpemU7aGVpZ2h0OjdweDt3aWR0aDox
MDAlO2JvdHRvbTotNXB4O2xlZnQ6MDt9LnVpLXJlc2l6YWJsZS1le2N1cnNvcjplLXJlc2l6ZTt3
aWR0aDo3cHg7cmlnaHQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJTt9LnVpLXJlc2l6YWJsZS13e2N1
cnNvcjp3LXJlc2l6ZTt3aWR0aDo3cHg7bGVmdDotNXB4O3RvcDowO2hlaWdodDoxMDAlO30udWkt
cmVzaXphYmxlLXNle2N1cnNvcjpzZS1yZXNpemU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtyaWdo
dDoxcHg7Ym90dG9tOjFweDt9LnVpLXJlc2l6YWJsZS1zd3tjdXJzb3I6c3ctcmVzaXplO3dpZHRo
OjlweDtoZWlnaHQ6OXB4O2xlZnQ6LTVweDtib3R0b206LTVweDt9LnVpLXJlc2l6YWJsZS1ud3tj
dXJzb3I6bnctcmVzaXplO3dpZHRoOjlweDtoZWlnaHQ6OXB4O2xlZnQ6LTVweDt0b3A6LTVweDt9
LnVpLXJlc2l6YWJsZS1uZXtjdXJzb3I6bmUtcmVzaXplO3dpZHRoOjlweDtoZWlnaHQ6OXB4O3Jp
Z2h0Oi01cHg7dG9wOi01cHg7fS51aS1zZWxlY3RhYmxlLWhlbHBlcntwb3NpdGlvbjphYnNvbHV0
ZTt6LWluZGV4OjEwMDtib3JkZXI6MXB4IGRvdHRlZCBibGFjazt9LnVpLXNsaWRlcntwb3NpdGlv
bjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmxlZnQ7fS51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGV7
cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3dpZHRoOjEuMmVtO2hlaWdodDoxLjJlbTtjdXJz
b3I6ZGVmYXVsdDt9LnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdle3Bvc2l0aW9uOmFic29sdXRl
O3otaW5kZXg6MTtmb250LXNpemU6LjdlbTtkaXNwbGF5OmJsb2NrO2JvcmRlcjowO2JhY2tncm91
bmQtcG9zaXRpb246MCAwO30udWktc2xpZGVyLWhvcml6b250YWx7aGVpZ2h0Oi44ZW07fS51aS1z
bGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZXt0b3A6LS4zZW07bWFyZ2luLWxlZnQ6
LS42ZW07fS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdle3RvcDowO2hlaWdo
dDoxMDAlO30udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW57bGVmdDow
O30udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXh7cmlnaHQ6MDt9LnVp
LXNsaWRlci12ZXJ0aWNhbHt3aWR0aDouOGVtO2hlaWdodDoxMDBweDt9LnVpLXNsaWRlci12ZXJ0
aWNhbCAudWktc2xpZGVyLWhhbmRsZXtsZWZ0Oi0uM2VtO21hcmdpbi1sZWZ0OjA7bWFyZ2luLWJv
dHRvbTotLjZlbTt9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdle2xlZnQ6MDt3
aWR0aDoxMDAlO30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWlue2JvdHRv
bTowO30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3RvcDowO30udWkt
dGFic3twb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi4yZW07em9vbToxO30udWktdGFicyAudWkt
dGFicy1uYXZ7bWFyZ2luOjA7cGFkZGluZzouMmVtIC4yZW0gMDt9LnVpLXRhYnMgLnVpLXRhYnMt
bmF2IGxpe2xpc3Qtc3R5bGU6bm9uZTtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDox
cHg7bWFyZ2luOjAgLjJlbSAxcHggMDtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50O3BhZGRpbmc6
MDt3aGl0ZS1zcGFjZTpub3dyYXA7fS51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhe2Zsb2F0Omxl
ZnQ7cGFkZGluZzouNWVtIDFlbTt0ZXh0LWRlY29yYXRpb246bm9uZTt9LnVpLXRhYnMgLnVpLXRh
YnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWR7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmctYm90dG9t
OjFweDt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYSwudWktdGFi
cyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQgYSwudWktdGFicyAudWktdGFicy1u
YXYgbGkudWktc3RhdGUtcHJvY2Vzc2luZyBhe2N1cnNvcjp0ZXh0O30udWktdGFicyAudWktdGFi
cy1uYXYgbGkgYSwudWktdGFicy51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51
aS10YWJzLXNlbGVjdGVkIGF7Y3Vyc29yOnBvaW50ZXI7fS51aS10YWJzIC51aS10YWJzLXBhbmVs
e2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXdpZHRoOjA7cGFkZGluZzoxZW0gMS40ZW07YmFja2dyb3Vu
ZDpub25lO30udWktdGFicyAudWktdGFicy1oaWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fS51
aS13aWRnZXR7Zm9udC1mYW1pbHk6VmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox
LjFlbTt9LnVpLXdpZGdldCAudWktd2lkZ2V0e2ZvbnQtc2l6ZToxZW07fS51aS13aWRnZXQgaW5w
dXQsLnVpLXdpZGdldCBzZWxlY3QsLnVpLXdpZGdldCB0ZXh0YXJlYSwudWktd2lkZ2V0IGJ1dHRv
bntmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTt9LnVp
LXdpZGdldC1jb250ZW50e2JvcmRlcjoxcHggc29saWQgI2FhYTtiYWNrZ3JvdW5kOiNmZmYgdXJs
KGltYWdlcy91aS1iZ19mbGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14
O2NvbG9yOiMyMjI7fS51aS13aWRnZXQtY29udGVudCBhe2NvbG9yOiMyMjI7fS51aS13aWRnZXQt
aGVhZGVye2JvcmRlcjoxcHggc29saWQgI2FhYTtiYWNrZ3JvdW5kOiNjY2MgdXJsKGltYWdlcy91
aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14
O2NvbG9yOiMyMjI7Zm9udC13ZWlnaHQ6Ym9sZDt9LnVpLXdpZGdldC1oZWFkZXIgYXtjb2xvcjoj
MjIyO30udWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1
bHQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHR7Ym9yZGVyOjFweCBzb2xpZCAj
ZDNkM2QzO2JhY2tncm91bmQ6I2U2ZTZlNiB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2ZTZl
Nl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiM1
NTU7fS51aS1zdGF0ZS1kZWZhdWx0IGEsLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLC51aS1zdGF0
ZS1kZWZhdWx0IGE6dmlzaXRlZHtjb2xvcjojNTU1O3RleHQtZGVjb3JhdGlvbjpub25lO30udWkt
c3RhdGUtaG92ZXIsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwudWktd2lkZ2V0
LWhlYWRlciAudWktc3RhdGUtaG92ZXIsLnVpLXN0YXRlLWZvY3VzLC51aS13aWRnZXQtY29udGVu
dCAudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3Vze2JvcmRl
cjoxcHggc29saWQgIzk5OTtiYWNrZ3JvdW5kOiNkYWRhZGEgdXJsKGltYWdlcy91aS1iZ19nbGFz
c183NV9kYWRhZGFfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O2ZvbnQtd2VpZ2h0Om5vcm1h
bDtjb2xvcjojMjEyMTIxO30udWktc3RhdGUtaG92ZXIgYSwudWktc3RhdGUtaG92ZXIgYTpob3Zl
cntjb2xvcjojMjEyMTIxO3RleHQtZGVjb3JhdGlvbjpub25lO30udWktc3RhdGUtYWN0aXZlLC51
aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLC51aS13aWRnZXQtaGVhZGVyIC51aS1z
dGF0ZS1hY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2ZmZiB1cmwoaW1h
Z2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Zm9u
dC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiMyMTIxMjE7fS51aS1zdGF0ZS1hY3RpdmUgYSwudWktc3Rh
dGUtYWN0aXZlIGE6bGluaywudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZHtjb2xvcjojMjEyMTIx
O3RleHQtZGVjb3JhdGlvbjpub25lO30udWktd2lkZ2V0IDphY3RpdmV7b3V0bGluZTpub25lO30u
dWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0
LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHR7Ym9yZGVyOjFweCBzb2xpZCAj
ZmNlZmExO2JhY2tncm91bmQ6I2ZiZjllZSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzU1X2ZiZjll
ZV8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzM2MzYzNjt9LnVpLXN0YXRlLWhp
Z2hsaWdodCBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdp
ZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhe2NvbG9yOiMzNjM2MzY7fS51aS1zdGF0
ZS1lcnJvciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLC51aS13aWRnZXQtaGVh
ZGVyIC51aS1zdGF0ZS1lcnJvcntib3JkZXI6MXB4IHNvbGlkICNjZDBhMGE7YmFja2dyb3VuZDoj
ZmVmMWVjIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZykgNTAlIDUw
JSByZXBlYXQteDtjb2xvcjojY2QwYTBhO30udWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWNv
bnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9y
IGF7Y29sb3I6I2NkMGEwYTt9LnVpLXN0YXRlLWVycm9yLXRleHQsLnVpLXdpZGdldC1jb250ZW50
IC51aS1zdGF0ZS1lcnJvci10ZXh0LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10
ZXh0e2NvbG9yOiNjZDBhMGE7fS51aS1wcmlvcml0eS1wcmltYXJ5LC51aS13aWRnZXQtY29udGVu
dCAudWktcHJpb3JpdHktcHJpbWFyeSwudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJp
bWFyeXtmb250LXdlaWdodDpib2xkO30udWktcHJpb3JpdHktc2Vjb25kYXJ5LC51aS13aWRnZXQt
Y29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlv
cml0eS1zZWNvbmRhcnl7b3BhY2l0eTouNztmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7Zm9udC13
ZWlnaHQ6bm9ybWFsO30udWktc3RhdGUtZGlzYWJsZWQsLnVpLXdpZGdldC1jb250ZW50IC51aS1z
dGF0ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWR7b3BhY2l0
eTouMzU7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpO2JhY2tncm91bmQtaW1hZ2U6bm9uZTt9LnVp
LWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTt9LnVpLXdpZGdldC1jb250ZW50IC51aS1pY29u
e2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcp
O30udWktd2lkZ2V0LWhlYWRlciAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMv
dWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb257
YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzg4ODg4OF8yNTZ4MjQwLnBuZyk7
fS51aS1zdGF0ZS1ob3ZlciAudWktaWNvbiwudWktc3RhdGUtZm9jdXMgLnVpLWljb257YmFja2dy
b3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZyk7fS51aS1z
dGF0ZS1hY3RpdmUgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25z
XzQ1NDU0NV8yNTZ4MjQwLnBuZyk7fS51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb257YmFja2dy
b3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzJlODNmZl8yNTZ4MjQwLnBuZyk7fS51aS1z
dGF0ZS1lcnJvciAudWktaWNvbiwudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbntiYWNrZ3Jv
dW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nKTt9LnVpLWlj
b24tY2FyYXQtMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAwO30udWktaWNvbi1jYXJhdC0xLW5l
e2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggMDt9LnVpLWljb24tY2FyYXQtMS1le2JhY2tncm91
bmQtcG9zaXRpb246LTMycHggMDt9LnVpLWljb24tY2FyYXQtMS1zZXtiYWNrZ3JvdW5kLXBvc2l0
aW9uOi00OHB4IDA7fS51aS1pY29uLWNhcmF0LTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4
IDA7fS51aS1pY29uLWNhcmF0LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwO30udWkt
aWNvbi1jYXJhdC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAwO30udWktaWNvbi1jYXJh
dC0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IDA7fS51aS1pY29uLWNhcmF0LTItbi1z
e2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IDA7fS51aS1pY29uLWNhcmF0LTItZS13e2JhY2tn
cm91bmQtcG9zaXRpb246LTE0NHB4IDA7fS51aS1pY29uLXRyaWFuZ2xlLTEtbntiYWNrZ3JvdW5k
LXBvc2l0aW9uOjAgLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtbmV7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTZweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1le2JhY2tncm91bmQtcG9zaXRp
b246LTMycHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtc2V7YmFja2dyb3VuZC1wb3NpdGlv
bjotNDhweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1ze2JhY2tncm91bmQtcG9zaXRpb246
LTY0cHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjot
ODBweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTk2
cHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEy
cHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEy
OHB4IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0yLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NDRweCAtMTZweDt9LnVpLWljb24tYXJyb3ctMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMzJw
eDt9LnVpLWljb24tYXJyb3ctMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0zMnB4O30u
dWktaWNvbi1hcnJvdy0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMzJweDt9LnVpLWlj
b24tYXJyb3ctMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0zMnB4O30udWktaWNvbi1h
cnJvdy0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMzJweDt9LnVpLWljb24tYXJyb3ct
MS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLXd7
YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMS1ud3tiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMzJweDt9LnVpLWljb24tYXJyb3ctMi1uLXN7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTI4cHggLTMycHg7fS51aS1pY29uLWFycm93LTItbmUtc3d7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTQ0cHggLTMycHg7fS51aS1pY29uLWFycm93LTItZS13e2JhY2tncm91
bmQtcG9zaXRpb246LTE2MHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0yLXNlLW53e2JhY2tncm91
bmQtcG9zaXRpb246LTE3NnB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0b3AtMS1ue2JhY2tncm91
bmQtcG9zaXRpb246LTE5MnB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0b3AtMS1le2JhY2tncm91
bmQtcG9zaXRpb246LTIwOHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0b3AtMS1ze2JhY2tncm91
bmQtcG9zaXRpb246LTIyNHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0b3AtMS13e2JhY2tncm91
bmQtcG9zaXRpb246LTI0MHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtbntiYWNrZ3Jv
dW5kLXBvc2l0aW9uOjAgLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1uZXtiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xNnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtZXtiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0zMnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTEtc2V7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotNDhweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLXN7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotNjRweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0xLXN3e2JhY2tncm91
bmQtcG9zaXRpb246LTgwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS13e2JhY2tncm91
bmQtcG9zaXRpb246LTk2cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2stMS1ud3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xMTJweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0yLW4tc3tiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3
e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrLTIt
ZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNr
LTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTQ4cHg7fS51aS1pY29uLWFycm93
dGhpY2tzdG9wLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtNDhweDt9LnVpLWljb24t
YXJyb3d0aGlja3N0b3AtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC00OHB4O30udWkt
aWNvbi1hcnJvd3RoaWNrc3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAt
NDhweDt9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjow
IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNnB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZXtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0zMnB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtc3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi00OHB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLXd7YmFja2dy
b3VuZC1wb3NpdGlvbjotNjRweCAtNjRweDt9LnVpLWljb24tYXJyb3dyZXR1cm4tMS1ue2JhY2tn
cm91bmQtcG9zaXRpb246LTgwcHggLTY0cHg7fS51aS1pY29uLWFycm93cmV0dXJuLTEtZXtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi05NnB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybi0xLXN7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTY0cHg7fS51aS1pY29uLWFycm93cmVmcmVzaC0xLXd7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTY0cHg7fS51aS1pY29uLWFycm93cmVmcmVzaC0x
LW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTY0cHg7fS51aS1pY29uLWFycm93cmVmcmVz
aC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTY0cHg7fS51aS1pY29uLWFycm93cmVm
cmVzaC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTY0cHg7fS51aS1pY29uLWFycm93
LTR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC04MHB4O30udWktaWNvbi1hcnJvdy00LWRpYWd7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTZweCAtODBweDt9LnVpLWljb24tZXh0bGlua3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0zMnB4IC04MHB4O30udWktaWNvbi1uZXd3aW57YmFja2dyb3VuZC1wb3NpdGlv
bjotNDhweCAtODBweDt9LnVpLWljb24tcmVmcmVzaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4
IC04MHB4O30udWktaWNvbi1zaHVmZmxle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTgwcHg7
fS51aS1pY29uLXRyYW5zZmVyLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC04MHB4O30u
dWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtODBw
eDt9LnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTk2cHg7
fS51aS1pY29uLWZvbGRlci1vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTk2cHg7fS51
aS1pY29uLWRvY3VtZW50e2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTk2cHg7fS51aS1pY29u
LWRvY3VtZW50LWJ7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtOTZweDt9LnVpLWljb24tbm90
ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC05NnB4O30udWktaWNvbi1tYWlsLWNsb3NlZHti
YWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC05NnB4O30udWktaWNvbi1tYWlsLW9wZW57YmFja2dy
b3VuZC1wb3NpdGlvbjotOTZweCAtOTZweDt9LnVpLWljb24tc3VpdGNhc2V7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTEycHggLTk2cHg7fS51aS1pY29uLWNvbW1lbnR7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTI4cHggLTk2cHg7fS51aS1pY29uLXBlcnNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRw
eCAtOTZweDt9LnVpLWljb24tcHJpbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTk2cHg7
fS51aS1pY29uLXRyYXNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC05NnB4O30udWktaWNv
bi1sb2NrZWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTk2cHg7fS51aS1pY29uLXVubG9j
a2Vke2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC05NnB4O30udWktaWNvbi1ib29rbWFya3ti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtOTZweDt9LnVpLWljb24tdGFne2JhY2tncm91bmQt
cG9zaXRpb246LTI0MHB4IC05NnB4O30udWktaWNvbi1ob21le2JhY2tncm91bmQtcG9zaXRpb246
MCAtMTEycHg7fS51aS1pY29uLWZsYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTEycHg7
fS51aS1pY29uLWNhbGVuZGFye2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTExMnB4O30udWkt
aWNvbi1jYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTExMnB4O30udWktaWNvbi1wZW5j
aWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTEycHg7fS51aS1pY29uLWNsb2Nre2JhY2tn
cm91bmQtcG9zaXRpb246LTgwcHggLTExMnB4O30udWktaWNvbi1kaXNre2JhY2tncm91bmQtcG9z
aXRpb246LTk2cHggLTExMnB4O30udWktaWNvbi1jYWxjdWxhdG9ye2JhY2tncm91bmQtcG9zaXRp
b246LTExMnB4IC0xMTJweDt9LnVpLWljb24tem9vbWlue2JhY2tncm91bmQtcG9zaXRpb246LTEy
OHB4IC0xMTJweDt9LnVpLWljb24tem9vbW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAt
MTEycHg7fS51aS1pY29uLXNlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTEycHg7
fS51aS1pY29uLXdyZW5jaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTEycHg7fS51aS1p
Y29uLWdlYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTExMnB4O30udWktaWNvbi1oZWFy
dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTEycHg7fS51aS1pY29uLXN0YXJ7YmFja2dy
b3VuZC1wb3NpdGlvbjotMjI0cHggLTExMnB4O30udWktaWNvbi1saW5re2JhY2tncm91bmQtcG9z
aXRpb246LTI0MHB4IC0xMTJweDt9LnVpLWljb24tY2FuY2Vse2JhY2tncm91bmQtcG9zaXRpb246
MCAtMTI4cHg7fS51aS1pY29uLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTI4cHg7
fS51aS1pY29uLXBsdXN0aGlja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xMjhweDt9LnVp
LWljb24tbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTI4cHg7fS51aS1pY29uLW1p
bnVzdGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTI4cHg7fS51aS1pY29uLWNsb3Nl
e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTEyOHB4O30udWktaWNvbi1jbG9zZXRoaWNre2Jh
Y2tncm91bmQtcG9zaXRpb246LTk2cHggLTEyOHB4O30udWktaWNvbi1rZXl7YmFja2dyb3VuZC1w
b3NpdGlvbjotMTEycHggLTEyOHB4O30udWktaWNvbi1saWdodGJ1bGJ7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTI4cHggLTEyOHB4O30udWktaWNvbi1zY2lzc29yc3tiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNDRweCAtMTI4cHg7fS51aS1pY29uLWNsaXBib2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
NjBweCAtMTI4cHg7fS51aS1pY29uLWNvcHl7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTEy
OHB4O30udWktaWNvbi1jb250YWN0e2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xMjhweDt9
LnVpLWljb24taW1hZ2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTEyOHB4O30udWktaWNv
bi12aWRlb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMTI4cHg7fS51aS1pY29uLXNjcmlw
dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTI4cHg7fS51aS1pY29uLWFsZXJ0e2JhY2tn
cm91bmQtcG9zaXRpb246MCAtMTQ0cHg7fS51aS1pY29uLWluZm97YmFja2dyb3VuZC1wb3NpdGlv
bjotMTZweCAtMTQ0cHg7fS51aS1pY29uLW5vdGljZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4
IC0xNDRweDt9LnVpLWljb24taGVscHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNDRweDt9
LnVpLWljb24tY2hlY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTQ0cHg7fS51aS1pY29u
LWJ1bGxldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNDRweDt9LnVpLWljb24tcmFkaW8t
b2Zme2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE0NHB4O30udWktaWNvbi1yYWRpby1vbnti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTQ0cHg7fS51aS1pY29uLXBpbi13e2JhY2tncm91
bmQtcG9zaXRpb246LTEyOHB4IC0xNDRweDt9LnVpLWljb24tcGluLXN7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTQ0cHggLTE0NHB4O30udWktaWNvbi1wbGF5e2JhY2tncm91bmQtcG9zaXRpb246MCAt
MTYwcHg7fS51aS1pY29uLXBhdXNle2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE2MHB4O30u
dWktaWNvbi1zZWVrLW5leHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTYwcHg7fS51aS1p
Y29uLXNlZWstcHJldntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNjBweDt9LnVpLWljb24t
c2Vlay1lbmR7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTYwcHg7fS51aS1pY29uLXNlZWst
c3RhcnR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTYwcHg7fS51aS1pY29uLXNlZWstZmly
c3R7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTYwcHg7fS51aS1pY29uLXN0b3B7YmFja2dy
b3VuZC1wb3NpdGlvbjotOTZweCAtMTYwcHg7fS51aS1pY29uLWVqZWN0e2JhY2tncm91bmQtcG9z
aXRpb246LTExMnB4IC0xNjBweDt9LnVpLWljb24tdm9sdW1lLW9mZntiYWNrZ3JvdW5kLXBvc2l0
aW9uOi0xMjhweCAtMTYwcHg7fS51aS1pY29uLXZvbHVtZS1vbntiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNDRweCAtMTYwcHg7fS51aS1pY29uLXBvd2Vye2JhY2tncm91bmQtcG9zaXRpb246MCAtMTc2
cHg7fS51aS1pY29uLXNpZ25hbC1kaWFne2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE3NnB4
O30udWktaWNvbi1zaWduYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTc2cHg7fS51aS1p
Y29uLWJhdHRlcnktMHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNzZweDt9LnVpLWljb24t
YmF0dGVyeS0xe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE3NnB4O30udWktaWNvbi1iYXR0
ZXJ5LTJ7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnkt
M3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNzZweDt9LnVpLWljb24tY2lyY2xlLXBsdXN7
YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xOTJweDt9LnVpLWljb24tY2lyY2xlLW1pbnVze2JhY2tn
cm91bmQtcG9zaXRpb246LTE2cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtY2xvc2V7YmFja2dy
b3VuZC1wb3NpdGlvbjotMzJweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1le2Jh
Y2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUt
c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xOTJweDt9LnVpLWljb24tY2lyY2xlLXRyaWFu
Z2xlLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS10
cmlhbmdsZS1ue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE5MnB4O30udWktaWNvbi1jaXJj
bGUtYXJyb3ctZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTkycHg7fS51aS1pY29uLWNp
cmNsZS1hcnJvdy1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xOTJweDt9LnVpLWljb24t
Y2lyY2xlLWFycm93LXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE5MnB4O30udWktaWNv
bi1jaXJjbGUtYXJyb3ctbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTkycHg7fS51aS1p
Y29uLWNpcmNsZS16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTE5MnB4O30udWkt
aWNvbi1jaXJjbGUtem9vbW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTkycHg7fS51
aS1pY29uLWNpcmNsZS1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTkycHg7fS51
aS1pY29uLWNpcmNsZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMDhweDt9LnVp
LWljb24tY2lyY2xlc21hbGwtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMjA4cHg7
fS51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTIw
OHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1wbHVze2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHgg
LTIwOHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02
NHB4IC0yMDhweDt9LnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlv
bjotODBweCAtMjA4cHg7fS51aS1pY29uLWdyaXAtZG90dGVkLXZlcnRpY2Fse2JhY2tncm91bmQt
cG9zaXRpb246MCAtMjI0cHg7fS51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWx7YmFja2dy
b3VuZC1wb3NpdGlvbjotMTZweCAtMjI0cHg7fS51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWx7
YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjI0cHg7fS51aS1pY29uLWdyaXAtc29saWQtaG9y
aXpvbnRhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0yMjRweDt9LnVpLWljb24tZ3JpcHNt
YWxsLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIyNHB4O30udWktaWNv
bi1ncmlwLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTIyNHB4O30udWkt
Y29ybmVyLWFsbCwudWktY29ybmVyLXRvcCwudWktY29ybmVyLWxlZnQsLnVpLWNvcm5lci10bHst
bW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDo0cHg7LXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFk
aXVzOjRweDsta2h0bWwtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1sZWZ0
LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItcmln
aHQsLnVpLWNvcm5lci10cnstbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6NHB4Oy13ZWJraXQt
Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1
czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O30udWktY29ybmVyLWFsbCwudWktY29y
bmVyLWJvdHRvbSwudWktY29ybmVyLWxlZnQsLnVpLWNvcm5lci1ibHstbW96LWJvcmRlci1yYWRp
dXMtYm90dG9tbGVmdDo0cHg7LXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDst
a2h0bWwtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJh
ZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90dG9tLC51aS1jb3JuZXItcmln
aHQsLnVpLWNvcm5lci1icnstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6NHB4Oy13ZWJr
aXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXItYm90dG9tLXJp
Z2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O30udWktd2lkZ2V0
LW92ZXJsYXl7YmFja2dyb3VuZDojYWFhIHVybChpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80
MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O29wYWNpdHk6LjM7ZmlsdGVyOkFscGhhKE9wYWNp
dHk9MzApO30udWktd2lkZ2V0LXNoYWRvd3ttYXJnaW46LThweCAwIDAgLThweDtwYWRkaW5nOjhw
eDtiYWNrZ3JvdW5kOiNhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5w
bmcpIDUwJSA1MCUgcmVwZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7
LW1vei1ib3JkZXItcmFkaXVzOjhweDsta2h0bWwtYm9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC1i
b3JkZXItcmFkaXVzOjhweDtib3JkZXItcmFkaXVzOjhweDt9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmNzcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLmFjY29yZGlvbi5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnku
dWkuYWNjb3JkaW9uLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoK
KyAqIGpRdWVyeSBVSSBBY2NvcmRpb24gMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFV
VEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1
bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5
Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24j
dGhlbWluZworICovCisudWktYWNjb3JkaW9ue3dpZHRoOjEwMCU7fS51aS1hY2NvcmRpb24gLnVp
LWFjY29yZGlvbi1oZWFkZXJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2lu
LXRvcDoxcHg7em9vbToxO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tbGktZml4e2Rpc3Bs
YXk6aW5saW5lO30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZXtib3Jk
ZXItYm90dG9tOjAhaW1wb3J0YW50O30udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVy
IGF7ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO3BhZGRpbmc6LjVlbSAuNWVtIC41ZW0gLjdl
bTt9LnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhe3BhZGRpbmctbGVm
dDoyLjJlbTt9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAudWktaWNvbntwb3Np
dGlvbjphYnNvbHV0ZTtsZWZ0Oi41ZW07dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51aS1hY2Nv
cmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRlci10b3A6
MDttYXJnaW4tdG9wOi0ycHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDttYXJnaW4tYm90dG9t
OjJweDtvdmVyZmxvdzphdXRvO2Rpc3BsYXk6bm9uZTt6b29tOjE7fS51aS1hY2NvcmRpb24gLnVp
LWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZXtkaXNwbGF5OmJsb2NrO30KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmFsbC5taW4uY3NzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFz
ZS9qcXVlcnkudWkuYWxsLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hbGwu
bWluLmNzcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJ
IENTUyBGcmFtZXdvcmsgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0
IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUg
TUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNl
bnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UaGVtaW5nCisgKi8KK0BpbXBv
cnQgImpxdWVyeS51aS5iYXNlLm1pbi5jc3MiO0BpbXBvcnQgImpxdWVyeS51aS50aGVtZS5taW4u
Y3NzIjsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmF1dG9j
b21wbGV0ZS5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYXV0b2NvbXBsZXRlLm1p
bi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5hdXRvY29tcGxldGUubWluLmNzcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIEF1dG9jb21w
bGV0ZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9q
cXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BM
IFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisg
KiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0F1dG9jb21wbGV0ZSN0aGVtaW5nCisgKi8KKy51
aS1hdXRvY29tcGxldGV7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOmRlZmF1bHQ7fSogaHRtbCAu
dWktYXV0b2NvbXBsZXRle3dpZHRoOjFweDt9LnVpLW1lbnV7bGlzdC1zdHlsZTpub25lO3BhZGRp
bmc6MnB4O21hcmdpbjowO2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt9LnVpLW1lbnUgLnVpLW1l
bnV7bWFyZ2luLXRvcDotM3B4O30udWktbWVudSAudWktbWVudS1pdGVte21hcmdpbjowO3BhZGRp
bmc6MDt6b29tOjE7ZmxvYXQ6bGVmdDtjbGVhcjpsZWZ0O3dpZHRoOjEwMCU7fS51aS1tZW51IC51
aS1tZW51LWl0ZW0gYXt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6
LjJlbSAuNGVtO2xpbmUtaGVpZ2h0OjEuNTt6b29tOjE7fS51aS1tZW51IC51aS1tZW51LWl0ZW0g
YS51aS1zdGF0ZS1ob3ZlciwudWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3RhdGUtYWN0aXZl
e2ZvbnQtd2VpZ2h0Om5vcm1hbDttYXJnaW46LTFweDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5iYXNlLm1pbi5jc3MKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVy
eS51aS5iYXNlLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5iYXNlLm1pbi5j
c3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBDU1Mg
RnJhbWV3b3JrIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0
cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBv
ciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQor
ICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGhlbWluZworICovCitAaW1wb3J0IHVy
bCgianF1ZXJ5LnVpLmNvcmUubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuYWNjb3Jk
aW9uLm1pbi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uY3Nz
Iik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5idXR0b24ubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJq
cXVlcnkudWkuZGF0ZXBpY2tlci5taW4uY3NzIik7QGltcG9ydCB1cmwoImpxdWVyeS51aS5kaWFs
b2cubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJqcXVlcnkudWkucHJvZ3Jlc3NiYXIubWluLmNzcyIp
O0BpbXBvcnQgdXJsKCJqcXVlcnkudWkucmVzaXphYmxlLm1pbi5jc3MiKTtAaW1wb3J0IHVybCgi
anF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmNzcyIpO0BpbXBvcnQgdXJsKCJqcXVlcnkudWkuc2xp
ZGVyLm1pbi5jc3MiKTtAaW1wb3J0IHVybCgianF1ZXJ5LnVpLnRhYnMubWluLmNzcyIpOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuYnV0dG9uLm1pbi5jc3MK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5idXR0b24ubWluLmNzcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLmJ1dHRvbi5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAg
QEAKKy8qCisgKiBqUXVlcnkgVUkgQnV0dG9uIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQnV0dG9u
I3RoZW1pbmcKKyAqLworLnVpLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpy
ZWxhdGl2ZTtwYWRkaW5nOjA7bWFyZ2luLXJpZ2h0Oi4xZW07dGV4dC1kZWNvcmF0aW9uOm5vbmUh
aW1wb3J0YW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246Y2VudGVyO3pvb206MTtvdmVyZmxv
dzp2aXNpYmxlO30udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjJlbTt9YnV0dG9uLnVpLWJ1
dHRvbi1pY29uLW9ubHl7d2lkdGg6Mi40ZW07fS51aS1idXR0b24taWNvbnMtb25seXt3aWR0aDoz
LjRlbTt9YnV0dG9uLnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuN2VtO30udWktYnV0dG9u
IC51aS1idXR0b24tdGV4dHtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjEuNDt9LnVpLWJ1dHRv
bi10ZXh0LW9ubHkgLnVpLWJ1dHRvbi10ZXh0e3BhZGRpbmc6LjRlbSAxZW07fS51aS1idXR0b24t
aWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRv
bi10ZXh0e3BhZGRpbmc6LjRlbTt0ZXh0LWluZGVudDotOTk5OTk5OXB4O30udWktYnV0dG9uLXRl
eHQtaWNvbi1wcmltYXJ5IC51aS1idXR0b24tdGV4dCwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVp
LWJ1dHRvbi10ZXh0e3BhZGRpbmc6LjRlbSAxZW0gLjRlbSAyLjFlbTt9LnVpLWJ1dHRvbi10ZXh0
LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24tdGV4dCwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVp
LWJ1dHRvbi10ZXh0e3BhZGRpbmc6LjRlbSAyLjFlbSAuNGVtIDFlbTt9LnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nLWxlZnQ6Mi4xZW07cGFkZGluZy1yaWdodDoy
LjFlbTt9aW5wdXQudWktYnV0dG9ue3BhZGRpbmc6LjRlbSAxZW07fS51aS1idXR0b24taWNvbi1v
bmx5IC51aS1pY29uLC51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWljb24sLnVpLWJ1
dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1pY29uLC51aS1idXR0b24tdGV4dC1pY29ucyAu
dWktaWNvbiwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWljb257cG9zaXRpb246YWJzb2x1dGU7
dG9wOjUwJTttYXJnaW4tdG9wOi04cHg7fS51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29ue2xl
ZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHg7fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVp
LWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24taWNv
bi1wcmltYXJ5LC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeXts
ZWZ0Oi41ZW07fS51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLWljb24t
c2Vjb25kYXJ5LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5
LC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5e3JpZ2h0Oi41
ZW07fS51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LC51aS1i
dXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5e3JpZ2h0Oi41ZW07fS51
aS1idXR0b25zZXR7bWFyZ2luLXJpZ2h0OjdweDt9LnVpLWJ1dHRvbnNldCAudWktYnV0dG9ue21h
cmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0uM2VtO31idXR0b24udWktYnV0dG9uOjotbW96LWZv
Y3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MDt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2pxdWVyeS51aS5jb3JlLm1pbi5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51
aS5jb3JlLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5jb3JlLm1pbi5jc3MJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpRdWVyeSBVSSBDU1MgRnJh
bWV3b3JrIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDov
L2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBH
UEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoK
KyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGhlbWluZy9BUEkKKyAqLworLnVpLWhlbHBl
ci1oaWRkZW57ZGlzcGxheTpub25lO30udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxle3Bvc2l0
aW9uOmFic29sdXRlIWltcG9ydGFudDtjbGlwOnJlY3QoMXB4IDFweCAxcHggMXB4KTtjbGlwOnJl
Y3QoMXB4LDFweCwxcHgsMXB4KTt9LnVpLWhlbHBlci1yZXNldHttYXJnaW46MDtwYWRkaW5nOjA7
Ym9yZGVyOjA7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWRlY29yYXRpb246bm9uZTtm
b250LXNpemU6MTAwJTtsaXN0LXN0eWxlOm5vbmU7fS51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7
Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtjbGVhcjpib3RoO3Zpc2liaWxpdHk6
aGlkZGVuO30udWktaGVscGVyLWNsZWFyZml4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO30vKiByZXF1
aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3JrIGluIE9wZXJhIFwqLyAqIGh0bWwgLnVp
LWhlbHBlci1jbGVhcmZpeHtoZWlnaHQ6MSU7fS51aS1oZWxwZXItY2xlYXJmaXh7ZGlzcGxheTpi
bG9jazt9LyogZW5kIGNsZWFyZml4ICovIC51aS1oZWxwZXItemZpeHt3aWR0aDoxMDAlO2hlaWdo
dDoxMDAlO3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7ZmlsdGVyOkFs
cGhhKE9wYWNpdHk9MCk7fS51aS1zdGF0ZS1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRh
bnQ7fS51aS1pY29ue2Rpc3BsYXk6YmxvY2s7dGV4dC1pbmRlbnQ6LTk5OTk5cHg7b3ZlcmZsb3c6
aGlkZGVuO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDt9LnVpLXdpZGdldC1vdmVybGF5e3Bv
c2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO30KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmRhdGVwaWNrZXIubWlu
LmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmRhdGVwaWNrZXIubWluLmNzcwkobm9uZXhp
c3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLmRhdGVwaWNrZXIubWluLmNzcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwIEBACisvKgorICogalF1ZXJ5IFVJIERhdGVwaWNrZXIgMS44LjE1CisgKgor
ICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0
KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5z
ZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1
ZXJ5LmNvbS9VSS9EYXRlcGlja2VyI3RoZW1pbmcKKyAqLworLnVpLWRhdGVwaWNrZXJ7d2lkdGg6
MTdlbTtwYWRkaW5nOi4yZW0gLjJlbSAwO2Rpc3BsYXk6bm9uZTt9LnVpLWRhdGVwaWNrZXIgLnVp
LWRhdGVwaWNrZXItaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbSAwO30udWkt
ZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlj
a2VyLW5leHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDoxLjhlbTtoZWlnaHQ6MS44
ZW07fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsLnVpLWRhdGVwaWNr
ZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3Zlcnt0b3A6MXB4O30udWktZGF0ZXBpY2tlciAudWkt
ZGF0ZXBpY2tlci1wcmV2e2xlZnQ6MnB4O30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1u
ZXh0e3JpZ2h0OjJweDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3Zlcnts
ZWZ0OjFweDt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlcntyaWdodDox
cHg7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwudWktZGF0ZXBpY2tl
ciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW57ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0
ZTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotOHB4O3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4O30udWkt
ZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZXttYXJnaW46MCAyLjNlbTtsaW5lLWhlaWdo
dDoxLjhlbTt0ZXh0LWFsaWduOmNlbnRlcjt9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXIt
dGl0bGUgc2VsZWN0e2ZvbnQtc2l6ZToxZW07bWFyZ2luOjFweCAwO30udWktZGF0ZXBpY2tlciBz
ZWxlY3QudWktZGF0ZXBpY2tlci1tb250aC15ZWFye3dpZHRoOjEwMCU7fS51aS1kYXRlcGlja2Vy
IHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRl
cGlja2VyLXllYXJ7d2lkdGg6NDklO30udWktZGF0ZXBpY2tlciB0YWJsZXt3aWR0aDoxMDAlO2Zv
bnQtc2l6ZTouOWVtO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTttYXJnaW46MCAwIC40ZW07fS51
aS1kYXRlcGlja2VyIHRoe3BhZGRpbmc6LjdlbSAuM2VtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQt
d2VpZ2h0OmJvbGQ7Ym9yZGVyOjA7fS51aS1kYXRlcGlja2VyIHRke2JvcmRlcjowO3BhZGRpbmc6
MXB4O30udWktZGF0ZXBpY2tlciB0ZCBzcGFuLC51aS1kYXRlcGlja2VyIHRkIGF7ZGlzcGxheTpi
bG9jaztwYWRkaW5nOi4yZW07dGV4dC1hbGlnbjpyaWdodDt0ZXh0LWRlY29yYXRpb246bm9uZTt9
LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtiYWNrZ3JvdW5kLWltYWdl
Om5vbmU7bWFyZ2luOi43ZW0gMCAwIDA7cGFkZGluZzowIC4yZW07Ym9yZGVyLWxlZnQ6MDtib3Jk
ZXItcmlnaHQ6MDtib3JkZXItYm90dG9tOjA7fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2Vy
LWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OnJpZ2h0O21hcmdpbjouNWVtIC4yZW0gLjRlbTtjdXJz
b3I6cG9pbnRlcjtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtIC42ZW07d2lkdGg6YXV0bztvdmVyZmxv
dzp2aXNpYmxlO30udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRv
bi51aS1kYXRlcGlja2VyLWN1cnJlbnR7ZmxvYXQ6bGVmdDt9LnVpLWRhdGVwaWNrZXIudWktZGF0
ZXBpY2tlci1tdWx0aXt3aWR0aDphdXRvO30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBp
Y2tlci1ncm91cHtmbG9hdDpsZWZ0O30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tl
ci1ncm91cCB0YWJsZXt3aWR0aDo5NSU7bWFyZ2luOjAgYXV0byAuNGVtO30udWktZGF0ZXBpY2tl
ci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3Vwe3dpZHRoOjUwJTt9LnVpLWRhdGVwaWNrZXIt
bXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDozMy4zJTt9LnVpLWRhdGVwaWNrZXIt
bXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDoyNSU7fS51aS1kYXRlcGlja2VyLW11
bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRl
ci1sZWZ0LXdpZHRoOjA7fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3Vw
LW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6MDt9LnVpLWRh
dGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpsZWZ0O30udWkt
ZGF0ZXBpY2tlci1yb3ctYnJlYWt7Y2xlYXI6Ym90aDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTowO30u
dWktZGF0ZXBpY2tlci1ydGx7ZGlyZWN0aW9uOnJ0bDt9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1k
YXRlcGlja2VyLXByZXZ7cmlnaHQ6MnB4O2xlZnQ6YXV0bzt9LnVpLWRhdGVwaWNrZXItcnRsIC51
aS1kYXRlcGlja2VyLW5leHR7bGVmdDoycHg7cmlnaHQ6YXV0bzt9LnVpLWRhdGVwaWNrZXItcnRs
IC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXJ7cmlnaHQ6MXB4O2xlZnQ6YXV0bzt9LnVpLWRhdGVw
aWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXJ7bGVmdDoxcHg7cmlnaHQ6YXV0bzt9
LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7Y2xlYXI6cmlnaHQ7
fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbntmbG9h
dDpsZWZ0O30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0
b24udWktZGF0ZXBpY2tlci1jdXJyZW50e2Zsb2F0OnJpZ2h0O30udWktZGF0ZXBpY2tlci1ydGwg
LnVpLWRhdGVwaWNrZXItZ3JvdXB7ZmxvYXQ6cmlnaHQ7fS51aS1kYXRlcGlja2VyLXJ0bCAudWkt
ZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlcntib3JkZXItcmlnaHQt
d2lkdGg6MDtib3JkZXItbGVmdC13aWR0aDoxcHg7fS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0
ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1yaWdodC13
aWR0aDowO2JvcmRlci1sZWZ0LXdpZHRoOjFweDt9LnVpLWRhdGVwaWNrZXItY292ZXJ7ZGlzcGxh
eTpub25lO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtmaWx0ZXI6
bWFzaygpO3RvcDotNHB4O2xlZnQ6LTRweDt3aWR0aDoyMDBweDtoZWlnaHQ6MjAwcHg7fQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkuZGlhbG9nLm1pbi5jc3MK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5kaWFsb2cubWluLmNzcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLmRpYWxvZy5taW4uY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAg
QEAKKy8qCisgKiBqUXVlcnkgVUkgRGlhbG9nIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGlhbG9n
I3RoZW1pbmcKKyAqLworLnVpLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOi4yZW07
d2lkdGg6MzAwcHg7b3ZlcmZsb3c6aGlkZGVuO30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGVi
YXJ7cGFkZGluZzouNGVtIDFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt9LnVpLWRpYWxvZyAudWktZGlh
bG9nLXRpdGxle2Zsb2F0OmxlZnQ7bWFyZ2luOi4xZW0gMTZweCAuMWVtIDA7fS51aS1kaWFsb2cg
LnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDouM2VtO3Rv
cDo1MCU7d2lkdGg6MTlweDttYXJnaW46LTEwcHggMCAwIDA7cGFkZGluZzoxcHg7aGVpZ2h0OjE4
cHg7fS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFue2Rpc3BsYXk6Ymxv
Y2s7bWFyZ2luOjFweDt9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmhvdmVy
LC51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpmb2N1c3twYWRkaW5nOjA7fS51
aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjowO3Bh
ZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDpub25lO292ZXJmbG93OmF1dG87em9vbToxO30udWkt
ZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZXt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLXdpZHRo
OjFweCAwIDAgMDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7bWFyZ2luOi41ZW0gMCAwIDA7cGFkZGlu
ZzouM2VtIDFlbSAuNWVtIC40ZW07fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51
aS1kaWFsb2ctYnV0dG9uc2V0e2Zsb2F0OnJpZ2h0O30udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0
dG9ucGFuZSBidXR0b257bWFyZ2luOi41ZW0gLjRlbSAuNWVtIDA7Y3Vyc29yOnBvaW50ZXI7fS51
aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O3JpZ2h0OjNw
eDtib3R0b206M3B4O30udWktZHJhZ2dhYmxlIC51aS1kaWFsb2ctdGl0bGViYXJ7Y3Vyc29yOm1v
dmU7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkucHJvZ3Jl
c3NiYXIubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5j
c3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5wcm9ncmVzc2Jhci5taW4uY3NzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgUHJvZ3Jlc3NiYXIg
MS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Qcm9ncmVzc2JhciN0aGVtaW5nCisgKi8KKy51aS1wcm9n
cmVzc2JhcntoZWlnaHQ6MmVtO3RleHQtYWxpZ246bGVmdDt9LnVpLXByb2dyZXNzYmFyIC51aS1w
cm9ncmVzc2Jhci12YWx1ZXttYXJnaW46LTFweDtoZWlnaHQ6MTAwJTt9ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5yZXNpemFibGUubWluLmNzcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhl
bWVzL2Jhc2UvanF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9q
cXVlcnkudWkucmVzaXphYmxlLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBA
QAorLyoKKyAqIGpRdWVyeSBVSSBSZXNpemFibGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIw
MTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNl
bnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8v
anF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9SZXNp
emFibGUjdGhlbWluZworICovCisudWktcmVzaXphYmxle3Bvc2l0aW9uOnJlbGF0aXZlO30udWkt
cmVzaXphYmxlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXNpemU6LjFweDt6LWluZGV4
Ojk5OTk5O2Rpc3BsYXk6YmxvY2s7fS51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJs
ZS1oYW5kbGUsLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVzaXphYmxlLWhhbmRsZXtkaXNw
bGF5Om5vbmU7fS51aS1yZXNpemFibGUtbntjdXJzb3I6bi1yZXNpemU7aGVpZ2h0OjdweDt3aWR0
aDoxMDAlO3RvcDotNXB4O2xlZnQ6MDt9LnVpLXJlc2l6YWJsZS1ze2N1cnNvcjpzLXJlc2l6ZTto
ZWlnaHQ6N3B4O3dpZHRoOjEwMCU7Ym90dG9tOi01cHg7bGVmdDowO30udWktcmVzaXphYmxlLWV7
Y3Vyc29yOmUtcmVzaXplO3dpZHRoOjdweDtyaWdodDotNXB4O3RvcDowO2hlaWdodDoxMDAlO30u
dWktcmVzaXphYmxlLXd7Y3Vyc29yOnctcmVzaXplO3dpZHRoOjdweDtsZWZ0Oi01cHg7dG9wOjA7
aGVpZ2h0OjEwMCU7fS51aS1yZXNpemFibGUtc2V7Y3Vyc29yOnNlLXJlc2l6ZTt3aWR0aDoxMnB4
O2hlaWdodDoxMnB4O3JpZ2h0OjFweDtib3R0b206MXB4O30udWktcmVzaXphYmxlLXN3e2N1cnNv
cjpzdy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O2JvdHRvbTotNXB4O30u
dWktcmVzaXphYmxlLW53e2N1cnNvcjpudy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVm
dDotNXB4O3RvcDotNXB4O30udWktcmVzaXphYmxlLW5le2N1cnNvcjpuZS1yZXNpemU7d2lkdGg6
OXB4O2hlaWdodDo5cHg7cmlnaHQ6LTVweDt0b3A6LTVweDt9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5zZWxlY3RhYmxlLm1pbi5jc3MKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2pxdWVyeS51aS5zZWxlY3RhYmxlLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVy
eS51aS5zZWxlY3RhYmxlLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAor
LyoKKyAqIGpRdWVyeSBVSSBTZWxlY3RhYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2VsZWN0
YWJsZSN0aGVtaW5nCisgKi8KKy51aS1zZWxlY3RhYmxlLWhlbHBlcntwb3NpdGlvbjphYnNvbHV0
ZTt6LWluZGV4OjEwMDtib3JkZXI6MXB4IGRvdHRlZCBibGFjazt9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS5zbGlkZXIubWluLmNzcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jh
c2UvanF1ZXJ5LnVpLnNsaWRlci5taW4uY3NzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWku
c2xpZGVyLm1pbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorLyoKKyAqIGpR
dWVyeSBVSSBTbGlkZXIgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0
IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUg
TUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNl
bnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIjdGhlbWluZworICov
CisudWktc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt9LnVpLXNsaWRl
ciAudWktc2xpZGVyLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7d2lkdGg6MS4y
ZW07aGVpZ2h0OjEuMmVtO2N1cnNvcjpkZWZhdWx0O30udWktc2xpZGVyIC51aS1zbGlkZXItcmFu
Z2V7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO2ZvbnQtc2l6ZTouN2VtO2Rpc3BsYXk6Ymxv
Y2s7Ym9yZGVyOjA7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fS51aS1zbGlkZXItaG9yaXpvbnRh
bHtoZWlnaHQ6LjhlbTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxle3Rv
cDotLjNlbTttYXJnaW4tbGVmdDotLjZlbTt9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlk
ZXItcmFuZ2V7dG9wOjA7aGVpZ2h0OjEwMCU7fS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xp
ZGVyLXJhbmdlLW1pbntsZWZ0OjA7fS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJh
bmdlLW1heHtyaWdodDowO30udWktc2xpZGVyLXZlcnRpY2Fse3dpZHRoOi44ZW07aGVpZ2h0OjEw
MHB4O30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxle2xlZnQ6LS4zZW07bWFy
Z2luLWxlZnQ6MDttYXJnaW4tYm90dG9tOi0uNmVtO30udWktc2xpZGVyLXZlcnRpY2FsIC51aS1z
bGlkZXItcmFuZ2V7bGVmdDowO3dpZHRoOjEwMCU7fS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNs
aWRlci1yYW5nZS1taW57Ym90dG9tOjA7fS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1y
YW5nZS1tYXh7dG9wOjA7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVl
cnkudWkudGFicy5taW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGFicy5taW4uY3Nz
CShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS90aGVtZXMvYmFzZS9qcXVlcnkudWkudGFicy5taW4uY3NzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKKy8qCisgKiBqUXVlcnkgVUkgVGFicyAxLjguMTUKKyAqCisgKiBD
b3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisg
KiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4K
KyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnku
Y29tL1VJL1RhYnMjdGhlbWluZworICovCisudWktdGFic3twb3NpdGlvbjpyZWxhdGl2ZTtwYWRk
aW5nOi4yZW07em9vbToxO30udWktdGFicyAudWktdGFicy1uYXZ7bWFyZ2luOjA7cGFkZGluZzou
MmVtIC4yZW0gMDt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpe2xpc3Qtc3R5bGU6bm9uZTtmbG9h
dDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxcHg7bWFyZ2luOjAgLjJlbSAxcHggMDtib3Jk
ZXItYm90dG9tOjAhaW1wb3J0YW50O3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3dyYXA7fS51aS10
YWJzIC51aS10YWJzLW5hdiBsaSBhe2Zsb2F0OmxlZnQ7cGFkZGluZzouNWVtIDFlbTt0ZXh0LWRl
Y29yYXRpb246bm9uZTt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWR7
bWFyZ2luLWJvdHRvbTowO3BhZGRpbmctYm90dG9tOjFweDt9LnVpLXRhYnMgLnVpLXRhYnMtbmF2
IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYSwudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUt
ZGlzYWJsZWQgYSwudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtcHJvY2Vzc2luZyBh
e2N1cnNvcjp0ZXh0O30udWktdGFicyAudWktdGFicy1uYXYgbGkgYSwudWktdGFicy51aS10YWJz
LWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLXNlbGVjdGVkIGF7Y3Vyc29yOnBv
aW50ZXI7fS51aS10YWJzIC51aS10YWJzLXBhbmVse2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXdpZHRo
OjA7cGFkZGluZzoxZW0gMS40ZW07YmFja2dyb3VuZDpub25lO30udWktdGFicyAudWktdGFicy1o
aWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVt
ZXMvYmFzZS9qcXVlcnkudWkudGhlbWUubWluLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LnVp
LnRoZW1lLm1pbi5jc3MJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2pxdWVyeS51aS50aGVtZS5taW4uY3Nz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKy8qCisgKiBqUXVlcnkgVUkgQ1NTIEZy
YW1ld29yayAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAq
CisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCisgKgorICogVG8gdmll
dyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVy
b2xsZXIvCisgKi8KKy51aS13aWRnZXR7Zm9udC1mYW1pbHk6VmVyZGFuYSxBcmlhbCxzYW5zLXNl
cmlmO2ZvbnQtc2l6ZToxLjFlbTt9LnVpLXdpZGdldCAudWktd2lkZ2V0e2ZvbnQtc2l6ZToxZW07
fS51aS13aWRnZXQgaW5wdXQsLnVpLXdpZGdldCBzZWxlY3QsLnVpLXdpZGdldCB0ZXh0YXJlYSwu
dWktd2lkZ2V0IGJ1dHRvbntmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7Zm9u
dC1zaXplOjFlbTt9LnVpLXdpZGdldC1jb250ZW50e2JvcmRlcjoxcHggc29saWQgI2FhYTtiYWNr
Z3JvdW5kOiNmZmYgdXJsKGltYWdlcy91aS1iZ19mbGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nKSA1
MCUgNTAlIHJlcGVhdC14O2NvbG9yOiMyMjI7fS51aS13aWRnZXQtY29udGVudCBhe2NvbG9yOiMy
MjI7fS51aS13aWRnZXQtaGVhZGVye2JvcmRlcjoxcHggc29saWQgI2FhYTtiYWNrZ3JvdW5kOiNj
Y2MgdXJsKGltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nKSA1
MCUgNTAlIHJlcGVhdC14O2NvbG9yOiMyMjI7Zm9udC13ZWlnaHQ6Ym9sZDt9LnVpLXdpZGdldC1o
ZWFkZXIgYXtjb2xvcjojMjIyO30udWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWNvbnRlbnQg
LnVpLXN0YXRlLWRlZmF1bHQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHR7Ym9y
ZGVyOjFweCBzb2xpZCAjZDNkM2QzO2JhY2tncm91bmQ6I2U2ZTZlNiB1cmwoaW1hZ2VzL3VpLWJn
X2dsYXNzXzc1X2U2ZTZlNl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6
bm9ybWFsO2NvbG9yOiM1NTU7fS51aS1zdGF0ZS1kZWZhdWx0IGEsLnVpLXN0YXRlLWRlZmF1bHQg
YTpsaW5rLC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZHtjb2xvcjojNTU1O3RleHQtZGVjb3Jh
dGlvbjpub25lO30udWktc3RhdGUtaG92ZXIsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1o
b3ZlciwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsLnVpLXN0YXRlLWZvY3VzLC51
aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0
YXRlLWZvY3Vze2JvcmRlcjoxcHggc29saWQgIzk5OTtiYWNrZ3JvdW5kOiNkYWRhZGEgdXJsKGlt
YWdlcy91aS1iZ19nbGFzc183NV9kYWRhZGFfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O2Zv
bnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojMjEyMTIxO30udWktc3RhdGUtaG92ZXIgYSwudWktc3Rh
dGUtaG92ZXIgYTpob3Zlcntjb2xvcjojMjEyMTIxO3RleHQtZGVjb3JhdGlvbjpub25lO30udWkt
c3RhdGUtYWN0aXZlLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLC51aS13aWRn
ZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91
bmQ6I2ZmZiB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcpIDUwJSA1
MCUgcmVwZWF0LXg7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiMyMTIxMjE7fS51aS1zdGF0ZS1h
Y3RpdmUgYSwudWktc3RhdGUtYWN0aXZlIGE6bGluaywudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRl
ZHtjb2xvcjojMjEyMTIxO3RleHQtZGVjb3JhdGlvbjpub25lO30udWktd2lkZ2V0IDphY3RpdmV7
b3V0bGluZTpub25lO30udWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtY29udGVudCAudWkt
c3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHR7Ym9y
ZGVyOjFweCBzb2xpZCAjZmNlZmExO2JhY2tncm91bmQ6I2ZiZjllZSB1cmwoaW1hZ2VzL3VpLWJn
X2dsYXNzXzU1X2ZiZjllZV8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7Y29sb3I6IzM2MzYz
Njt9LnVpLXN0YXRlLWhpZ2hsaWdodCBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGln
aGxpZ2h0IGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhe2NvbG9yOiMz
NjM2MzY7fS51aS1zdGF0ZS1lcnJvciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9y
LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvcntib3JkZXI6MXB4IHNvbGlkICNjZDBh
MGE7YmFja2dyb3VuZDojZmVmMWVjIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4
NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDtjb2xvcjojY2QwYTBhO30udWktc3RhdGUtZXJyb3Ig
YSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsLnVpLXdpZGdldC1oZWFkZXIg
LnVpLXN0YXRlLWVycm9yIGF7Y29sb3I6I2NkMGEwYTt9LnVpLXN0YXRlLWVycm9yLXRleHQsLnVp
LXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LC51aS13aWRnZXQtaGVhZGVyIC51
aS1zdGF0ZS1lcnJvci10ZXh0e2NvbG9yOiNjZDBhMGE7fS51aS1wcmlvcml0eS1wcmltYXJ5LC51
aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwudWktd2lkZ2V0LWhlYWRlciAu
dWktcHJpb3JpdHktcHJpbWFyeXtmb250LXdlaWdodDpib2xkO30udWktcHJpb3JpdHktc2Vjb25k
YXJ5LC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LC51aS13aWRnZXQt
aGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnl7b3BhY2l0eTouNztmaWx0ZXI6QWxwaGEoT3Bh
Y2l0eT03MCk7Zm9udC13ZWlnaHQ6bm9ybWFsO30udWktc3RhdGUtZGlzYWJsZWQsLnVpLXdpZGdl
dC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUt
ZGlzYWJsZWR7b3BhY2l0eTouMzU7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpO2JhY2tncm91bmQt
aW1hZ2U6bm9uZTt9LnVpLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTt9LnVpLXdpZGdldC1j
b250ZW50IC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy91aS1pY29uc18yMjIy
MjJfMjU2eDI0MC5wbmcpO30udWktd2lkZ2V0LWhlYWRlciAudWktaWNvbntiYWNrZ3JvdW5kLWlt
YWdlOnVybChpbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTt9LnVpLXN0YXRlLWRl
ZmF1bHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzg4ODg4
OF8yNTZ4MjQwLnBuZyk7fS51aS1zdGF0ZS1ob3ZlciAudWktaWNvbiwudWktc3RhdGUtZm9jdXMg
LnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4
MjQwLnBuZyk7fS51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwo
aW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZyk7fS51aS1zdGF0ZS1oaWdobGlnaHQg
LnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3VpLWljb25zXzJlODNmZl8yNTZ4
MjQwLnBuZyk7fS51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwudWktc3RhdGUtZXJyb3ItdGV4dCAu
dWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1Nngy
NDAucG5nKTt9LnVpLWljb24tY2FyYXQtMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAwO30udWkt
aWNvbi1jYXJhdC0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggMDt9LnVpLWljb24tY2Fy
YXQtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMDt9LnVpLWljb24tY2FyYXQtMS1zZXti
YWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IDA7fS51aS1pY29uLWNhcmF0LTEtc3tiYWNrZ3JvdW5k
LXBvc2l0aW9uOi02NHB4IDA7fS51aS1pY29uLWNhcmF0LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlv
bjotODBweCAwO30udWktaWNvbi1jYXJhdC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAw
O30udWktaWNvbi1jYXJhdC0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IDA7fS51aS1p
Y29uLWNhcmF0LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IDA7fS51aS1pY29uLWNh
cmF0LTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IDA7fS51aS1pY29uLXRyaWFuZ2xl
LTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtbmV7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1le2Jh
Y2tncm91bmQtcG9zaXRpb246LTMycHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtc2V7YmFj
a2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS1ze2JhY2tn
cm91bmQtcG9zaXRpb246LTY0cHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtc3d7YmFja2dy
b3VuZC1wb3NpdGlvbjotODBweCAtMTZweDt9LnVpLWljb24tdHJpYW5nbGUtMS13e2JhY2tncm91
bmQtcG9zaXRpb246LTk2cHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTEtbnd7YmFja2dyb3Vu
ZC1wb3NpdGlvbjotMTEycHggLTE2cHg7fS51aS1pY29uLXRyaWFuZ2xlLTItbi1ze2JhY2tncm91
bmQtcG9zaXRpb246LTEyOHB4IC0xNnB4O30udWktaWNvbi10cmlhbmdsZS0yLWUtd3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xNDRweCAtMTZweDt9LnVpLWljb24tYXJyb3ctMS1ue2JhY2tncm91bmQt
cG9zaXRpb246MCAtMzJweDt9LnVpLWljb24tYXJyb3ctMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNnB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJw
eCAtMzJweDt9LnVpLWljb24tYXJyb3ctMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0z
MnB4O30udWktaWNvbi1hcnJvdy0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMzJweDt9
LnVpLWljb24tYXJyb3ctMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0zMnB4O30udWkt
aWNvbi1hcnJvdy0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMzJweDt9LnVpLWljb24t
YXJyb3ctMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMzJweDt9LnVpLWljb24tYXJy
b3ctMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTMycHg7fS51aS1pY29uLWFycm93
LTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTMycHg7fS51aS1pY29uLWFycm93
LTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0zMnB4O30udWktaWNvbi1hcnJvdy0y
LXNlLW53e2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0
b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0
b3AtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0
b3AtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTIyNHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3N0
b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0zMnB4O30udWktaWNvbi1hcnJvd3Ro
aWNrLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2st
MS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNr
LTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNr
LTEtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlj
ay0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtNDhweDt9LnVpLWljb24tYXJyb3d0aGlj
ay0xLXN3e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhp
Y2stMS13e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhp
Y2stMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNDhweDt9LnVpLWljb24tYXJyb3d0
aGljay0yLW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNDhweDt9LnVpLWljb24tYXJy
b3d0aGljay0yLW5lLXN3e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC00OHB4O30udWktaWNv
bi1hcnJvd3RoaWNrLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC00OHB4O30udWkt
aWNvbi1hcnJvd3RoaWNrLTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTQ4cHg7
fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAt
NDhweDt9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTIw
OHB4IC00OHB4O30udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjI0cHggLTQ4cHg7fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtd3tiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0yNDBweCAtNDhweDt9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXd7YmFja2dy
b3VuZC1wb3NpdGlvbjowIC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNnB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEt
ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC02NHB4O30udWktaWNvbi1hcnJvd3JldHVybnRo
aWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC02NHB4O30udWktaWNvbi1hcnJvd3Jl
dHVybi0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtNjRweDt9LnVpLWljb24tYXJyb3dy
ZXR1cm4tMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTY0cHg7fS51aS1pY29uLWFycm93
cmV0dXJuLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC02NHB4O30udWktaWNvbi1hcnJv
d3JldHVybi0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTY0cHg7fS51aS1pY29uLWFy
cm93cmVmcmVzaC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTY0cHg7fS51aS1pY29u
LWFycm93cmVmcmVzaC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTY0cHg7fS51aS1p
Y29uLWFycm93cmVmcmVzaC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTY0cHg7fS51
aS1pY29uLWFycm93cmVmcmVzaC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTY0cHg7
fS51aS1pY29uLWFycm93LTR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC04MHB4O30udWktaWNvbi1h
cnJvdy00LWRpYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtODBweDt9LnVpLWljb24tZXh0
bGlua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC04MHB4O30udWktaWNvbi1uZXd3aW57YmFj
a2dyb3VuZC1wb3NpdGlvbjotNDhweCAtODBweDt9LnVpLWljb24tcmVmcmVzaHtiYWNrZ3JvdW5k
LXBvc2l0aW9uOi02NHB4IC04MHB4O30udWktaWNvbi1zaHVmZmxle2JhY2tncm91bmQtcG9zaXRp
b246LTgwcHggLTgwcHg7fS51aS1pY29uLXRyYW5zZmVyLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi05NnB4IC04MHB4O30udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtd3tiYWNrZ3JvdW5kLXBvc2l0
aW9uOi0xMTJweCAtODBweDt9LnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOjAgLTk2cHg7fS51aS1pY29uLWZvbGRlci1vcGVue2JhY2tncm91bmQtcG9zaXRpb246
LTE2cHggLTk2cHg7fS51aS1pY29uLWRvY3VtZW50e2JhY2tncm91bmQtcG9zaXRpb246LTMycHgg
LTk2cHg7fS51aS1pY29uLWRvY3VtZW50LWJ7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtOTZw
eDt9LnVpLWljb24tbm90ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC05NnB4O30udWktaWNv
bi1tYWlsLWNsb3NlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC05NnB4O30udWktaWNvbi1t
YWlsLW9wZW57YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtOTZweDt9LnVpLWljb24tc3VpdGNh
c2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTk2cHg7fS51aS1pY29uLWNvbW1lbnR7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTk2cHg7fS51aS1pY29uLXBlcnNvbntiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0xNDRweCAtOTZweDt9LnVpLWljb24tcHJpbnR7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTYwcHggLTk2cHg7fS51aS1pY29uLXRyYXNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4
IC05NnB4O30udWktaWNvbi1sb2NrZWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTk2cHg7
fS51aS1pY29uLXVubG9ja2Vke2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC05NnB4O30udWkt
aWNvbi1ib29rbWFya3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtOTZweDt9LnVpLWljb24t
dGFne2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC05NnB4O30udWktaWNvbi1ob21le2JhY2tn
cm91bmQtcG9zaXRpb246MCAtMTEycHg7fS51aS1pY29uLWZsYWd7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTZweCAtMTEycHg7fS51aS1pY29uLWNhbGVuZGFye2JhY2tncm91bmQtcG9zaXRpb246LTMy
cHggLTExMnB4O30udWktaWNvbi1jYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTExMnB4
O30udWktaWNvbi1wZW5jaWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTEycHg7fS51aS1p
Y29uLWNsb2Nre2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTExMnB4O30udWktaWNvbi1kaXNr
e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTExMnB4O30udWktaWNvbi1jYWxjdWxhdG9ye2Jh
Y2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xMTJweDt9LnVpLWljb24tem9vbWlue2JhY2tncm91
bmQtcG9zaXRpb246LTEyOHB4IC0xMTJweDt9LnVpLWljb24tem9vbW91dHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi0xNDRweCAtMTEycHg7fS51aS1pY29uLXNlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xNjBweCAtMTEycHg7fS51aS1pY29uLXdyZW5jaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZw
eCAtMTEycHg7fS51aS1pY29uLWdlYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTExMnB4
O30udWktaWNvbi1oZWFydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTEycHg7fS51aS1p
Y29uLXN0YXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTExMnB4O30udWktaWNvbi1saW5r
e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0xMTJweDt9LnVpLWljb24tY2FuY2Vse2JhY2tn
cm91bmQtcG9zaXRpb246MCAtMTI4cHg7fS51aS1pY29uLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTZweCAtMTI4cHg7fS51aS1pY29uLXBsdXN0aGlja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0z
MnB4IC0xMjhweDt9LnVpLWljb24tbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTI4
cHg7fS51aS1pY29uLW1pbnVzdGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTI4cHg7
fS51aS1pY29uLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTEyOHB4O30udWktaWNv
bi1jbG9zZXRoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTEyOHB4O30udWktaWNvbi1r
ZXl7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTEyOHB4O30udWktaWNvbi1saWdodGJ1bGJ7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTEyOHB4O30udWktaWNvbi1zY2lzc29yc3tiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTI4cHg7fS51aS1pY29uLWNsaXBib2FyZHtiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi0xNjBweCAtMTI4cHg7fS51aS1pY29uLWNvcHl7YmFja2dyb3VuZC1wb3Np
dGlvbjotMTc2cHggLTEyOHB4O30udWktaWNvbi1jb250YWN0e2JhY2tncm91bmQtcG9zaXRpb246
LTE5MnB4IC0xMjhweDt9LnVpLWljb24taW1hZ2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHgg
LTEyOHB4O30udWktaWNvbi12aWRlb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMTI4cHg7
fS51aS1pY29uLXNjcmlwdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTI4cHg7fS51aS1p
Y29uLWFsZXJ0e2JhY2tncm91bmQtcG9zaXRpb246MCAtMTQ0cHg7fS51aS1pY29uLWluZm97YmFj
a2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTQ0cHg7fS51aS1pY29uLW5vdGljZXtiYWNrZ3JvdW5k
LXBvc2l0aW9uOi0zMnB4IC0xNDRweDt9LnVpLWljb24taGVscHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi00OHB4IC0xNDRweDt9LnVpLWljb24tY2hlY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAt
MTQ0cHg7fS51aS1pY29uLWJ1bGxldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNDRweDt9
LnVpLWljb24tcmFkaW8tb2Zme2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE0NHB4O30udWkt
aWNvbi1yYWRpby1vbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTQ0cHg7fS51aS1pY29u
LXBpbi13e2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xNDRweDt9LnVpLWljb24tcGluLXN7
YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE0NHB4O30udWktaWNvbi1wbGF5e2JhY2tncm91
bmQtcG9zaXRpb246MCAtMTYwcHg7fS51aS1pY29uLXBhdXNle2JhY2tncm91bmQtcG9zaXRpb246
LTE2cHggLTE2MHB4O30udWktaWNvbi1zZWVrLW5leHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJw
eCAtMTYwcHg7fS51aS1pY29uLXNlZWstcHJldntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0x
NjBweDt9LnVpLWljb24tc2Vlay1lbmR7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTYwcHg7
fS51aS1pY29uLXNlZWstc3RhcnR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTYwcHg7fS51
aS1pY29uLXNlZWstZmlyc3R7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTYwcHg7fS51aS1p
Y29uLXN0b3B7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTYwcHg7fS51aS1pY29uLWVqZWN0
e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xNjBweDt9LnVpLWljb24tdm9sdW1lLW9mZnti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTYwcHg7fS51aS1pY29uLXZvbHVtZS1vbntiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTYwcHg7fS51aS1pY29uLXBvd2Vye2JhY2tncm91bmQt
cG9zaXRpb246MCAtMTc2cHg7fS51aS1pY29uLXNpZ25hbC1kaWFne2JhY2tncm91bmQtcG9zaXRp
b246LTE2cHggLTE3NnB4O30udWktaWNvbi1zaWduYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJw
eCAtMTc2cHg7fS51aS1pY29uLWJhdHRlcnktMHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0x
NzZweDt9LnVpLWljb24tYmF0dGVyeS0xe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE3NnB4
O30udWktaWNvbi1iYXR0ZXJ5LTJ7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTc2cHg7fS51
aS1pY29uLWJhdHRlcnktM3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNzZweDt9LnVpLWlj
b24tY2lyY2xlLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xOTJweDt9LnVpLWljb24tY2ly
Y2xlLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE5MnB4O30udWktaWNvbi1jaXJj
bGUtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTkycHg7fS51aS1pY29uLWNpcmNs
ZS10cmlhbmdsZS1le2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE5MnB4O30udWktaWNvbi1j
aXJjbGUtdHJpYW5nbGUtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xOTJweDt9LnVpLWlj
b24tY2lyY2xlLXRyaWFuZ2xlLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTkycHg7fS51
aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE5MnB4
O30udWktaWNvbi1jaXJjbGUtYXJyb3ctZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTky
cHg7fS51aS1pY29uLWNpcmNsZS1hcnJvdy1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0x
OTJweDt9LnVpLWljb24tY2lyY2xlLWFycm93LXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHgg
LTE5MnB4O30udWktaWNvbi1jaXJjbGUtYXJyb3ctbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBw
eCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2
cHggLTE5MnB4O30udWktaWNvbi1jaXJjbGUtem9vbW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0x
OTJweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZS1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0y
MDhweCAtMTkycHg7fS51aS1pY29uLWNpcmNsZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlv
bjowIC0yMDhweDt9LnVpLWljb24tY2lyY2xlc21hbGwtbWludXN7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTZweCAtMjA4cHg7fS51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3Nle2JhY2tncm91bmQtcG9z
aXRpb246LTMycHggLTIwOHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1wbHVze2JhY2tncm91bmQt
cG9zaXRpb246LTQ4cHggLTIwOHB4O30udWktaWNvbi1zcXVhcmVzbWFsbC1taW51c3tiYWNrZ3Jv
dW5kLXBvc2l0aW9uOi02NHB4IC0yMDhweDt9LnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2V7YmFj
a2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjA4cHg7fS51aS1pY29uLWdyaXAtZG90dGVkLXZlcnRp
Y2Fse2JhY2tncm91bmQtcG9zaXRpb246MCAtMjI0cHg7fS51aS1pY29uLWdyaXAtZG90dGVkLWhv
cml6b250YWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMjI0cHg7fS51aS1pY29uLWdyaXAt
c29saWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjI0cHg7fS51aS1pY29u
LWdyaXAtc29saWQtaG9yaXpvbnRhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0yMjRweDt9
LnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTY0cHgg
LTIyNHB4O30udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTgw
cHggLTIyNHB4O30udWktY29ybmVyLWFsbCwudWktY29ybmVyLXRvcCwudWktY29ybmVyLWxlZnQs
LnVpLWNvcm5lci10bHstbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDo0cHg7LXdlYmtpdC1ib3Jk
ZXItdG9wLWxlZnQtcmFkaXVzOjRweDsta2h0bWwtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7
Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9w
LC51aS1jb3JuZXItcmlnaHQsLnVpLWNvcm5lci10cnstbW96LWJvcmRlci1yYWRpdXMtdG9wcmln
aHQ6NHB4Oy13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4Oy1raHRtbC1ib3JkZXIt
dG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O30udWktY29y
bmVyLWFsbCwudWktY29ybmVyLWJvdHRvbSwudWktY29ybmVyLWxlZnQsLnVpLWNvcm5lci1ibHst
bW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDo0cHg7LXdlYmtpdC1ib3JkZXItYm90dG9tLWxl
ZnQtcmFkaXVzOjRweDsta2h0bWwtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVy
LWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItYm90dG9t
LC51aS1jb3JuZXItcmlnaHQsLnVpLWNvcm5lci1icnstbW96LWJvcmRlci1yYWRpdXMtYm90dG9t
cmlnaHQ6NHB4Oy13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4Oy1raHRtbC1i
b3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6
NHB4O30udWktd2lkZ2V0LW92ZXJsYXl7YmFja2dyb3VuZDojYWFhIHVybChpbWFnZXMvdWktYmdf
ZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14O29wYWNpdHk6LjM7Zmls
dGVyOkFscGhhKE9wYWNpdHk9MzApO30udWktd2lkZ2V0LXNoYWRvd3ttYXJnaW46LThweCAwIDAg
LThweDtwYWRkaW5nOjhweDtiYWNrZ3JvdW5kOiNhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBf
YWFhYWFhXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7b3BhY2l0eTouMztmaWx0ZXI6QWxw
aGEoT3BhY2l0eT0zMCk7LW1vei1ib3JkZXItcmFkaXVzOjhweDsta2h0bWwtYm9yZGVyLXJhZGl1
czo4cHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjhweDtib3JkZXItcmFkaXVzOjhweDt9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS11aS5taW4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS11aS5t
aW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS11aS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0MTMgQEAKKy8qIQorICogalF1ZXJ5IFVJIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDEx
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkKKyAqLwor
KGZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gZChoLGcpe3ZhciBpPWgubm9kZU5hbWUudG9Mb3dlckNh
c2UoKTtpZigiYXJlYSI9PT1pKXtnPWgucGFyZW50Tm9kZTtpPWcubmFtZTtpZighaC5ocmVmfHwh
aXx8Zy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09Im1hcCIpcmV0dXJuIGZhbHNlO2g9YSgiaW1n
W3VzZW1hcD0jIitpKyJdIilbMF07cmV0dXJuISFoJiZlKGgpfXJldHVybigvaW5wdXR8c2VsZWN0
fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QvLnRlc3QoaSk/IWguZGlzYWJsZWQ6ImEiPT1pP2guaHJl
Znx8ZzpnKSYmZShoKX1mdW5jdGlvbiBlKGgpe3JldHVybiFhKGgpLnBhcmVudHMoKS5hbmRTZWxm
KCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIGEuY3VyQ1NTKHRoaXMsInZpc2liaWxpdHkiKT09
PSJoaWRkZW4ifHxhLmV4cHIuZmlsdGVycy5oaWRkZW4odGhpcyl9KS5sZW5ndGh9YS51aT1hLnVp
fHx7fTtpZighYS51aS52ZXJzaW9uKXthLmV4dGVuZChhLnVpLHt2ZXJzaW9uOiIxLjguMTUiLAor
a2V5Q29kZTp7QUxUOjE4LEJBQ0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09NTUFO
RDo5MSxDT01NQU5EX0xFRlQ6OTEsQ09NTUFORF9SSUdIVDo5MyxDT05UUk9MOjE3LERFTEVURTo0
NixET1dOOjQwLEVORDozNSxFTlRFUjoxMyxFU0NBUEU6MjcsSE9NRTozNixJTlNFUlQ6NDUsTEVG
VDozNyxNRU5VOjkzLE5VTVBBRF9BREQ6MTA3LE5VTVBBRF9ERUNJTUFMOjExMCxOVU1QQURfRElW
SURFOjExMSxOVU1QQURfRU5URVI6MTA4LE5VTVBBRF9NVUxUSVBMWToxMDYsTlVNUEFEX1NVQlRS
QUNUOjEwOSxQQUdFX0RPV046MzQsUEFHRV9VUDozMyxQRVJJT0Q6MTkwLFJJR0hUOjM5LFNISUZU
OjE2LFNQQUNFOjMyLFRBQjo5LFVQOjM4LFdJTkRPV1M6OTF9fSk7YS5mbi5leHRlbmQoe3Byb3BB
dHRyOmEuZm4ucHJvcHx8YS5mbi5hdHRyLF9mb2N1czphLmZuLmZvY3VzLGZvY3VzOmZ1bmN0aW9u
KGgsZyl7cmV0dXJuIHR5cGVvZiBoPT09Im51bWJlciI/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFy
IGk9Cit0aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXthKGkpLmZvY3VzKCk7ZyYmZy5jYWxsKGkp
fSxoKX0pOnRoaXMuX2ZvY3VzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1
bmN0aW9uKCl7dmFyIGg7aD1hLmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0
KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlv
biIpKT90aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFi
c29sdXRlfGZpeGVkKS8udGVzdChhLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98
c2Nyb2xsKS8udGVzdChhLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYS5jdXJDU1ModGhpcywi
b3ZlcmZsb3cteSIsMSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhp
cy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3Qo
YS5jdXJDU1ModGhpcywKKyJvdmVyZmxvdyIsMSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIs
MSkrYS5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk7cmV0dXJuL2ZpeGVkLy50
ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8IWgubGVuZ3RoP2EoZG9jdW1lbnQpOmh9LHpJbmRl
eDpmdW5jdGlvbihoKXtpZihoIT09YylyZXR1cm4gdGhpcy5jc3MoInpJbmRleCIsaCk7aWYodGhp
cy5sZW5ndGgpe2g9YSh0aGlzWzBdKTtmb3IodmFyIGc7aC5sZW5ndGgmJmhbMF0hPT1kb2N1bWVu
dDspe2c9aC5jc3MoInBvc2l0aW9uIik7aWYoZz09PSJhYnNvbHV0ZSJ8fGc9PT0icmVsYXRpdmUi
fHxnPT09ImZpeGVkIil7Zz1wYXJzZUludChoLmNzcygiekluZGV4IiksMTApO2lmKCFpc05hTihn
KSYmZyE9PTApcmV0dXJuIGd9aD1oLnBhcmVudCgpfX1yZXR1cm4gMH0sZGlzYWJsZVNlbGVjdGlv
bjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJpbmQoKGEuc3VwcG9ydC5zZWxlY3RzdGFydD8ic2Vs
ZWN0c3RhcnQiOgorIm1vdXNlZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24o
aCl7aC5wcmV2ZW50RGVmYXVsdCgpfSl9LGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVy
biB0aGlzLnVuYmluZCgiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX19KTthLmVhY2goWyJXaWR0aCIs
IkhlaWdodCJdLGZ1bmN0aW9uKGgsZyl7ZnVuY3Rpb24gaShsLG8sbixrKXthLmVhY2goYixmdW5j
dGlvbigpe28tPXBhcnNlRmxvYXQoYS5jdXJDU1MobCwicGFkZGluZyIrdGhpcyx0cnVlKSl8fDA7
aWYobilvLT1wYXJzZUZsb2F0KGEuY3VyQ1NTKGwsImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUp
KXx8MDtpZihrKW8tPXBhcnNlRmxvYXQoYS5jdXJDU1MobCwibWFyZ2luIit0aGlzLHRydWUpKXx8
MH0pO3JldHVybiBvfXZhciBiPWc9PT0iV2lkdGgiP1siTGVmdCIsIlJpZ2h0Il06WyJUb3AiLCJC
b3R0b20iXSxmPWcudG9Mb3dlckNhc2UoKSxqPXtpbm5lcldpZHRoOmEuZm4uaW5uZXJXaWR0aCxp
bm5lckhlaWdodDphLmZuLmlubmVySGVpZ2h0LAorb3V0ZXJXaWR0aDphLmZuLm91dGVyV2lkdGgs
b3V0ZXJIZWlnaHQ6YS5mbi5vdXRlckhlaWdodH07YS5mblsiaW5uZXIiK2ddPWZ1bmN0aW9uKGwp
e2lmKGw9PT1jKXJldHVybiBqWyJpbm5lciIrZ10uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNo
KGZ1bmN0aW9uKCl7YSh0aGlzKS5jc3MoZixpKHRoaXMsbCkrInB4Iil9KX07YS5mblsib3V0ZXIi
K2ddPWZ1bmN0aW9uKGwsbyl7aWYodHlwZW9mIGwhPT0ibnVtYmVyIilyZXR1cm4galsib3V0ZXIi
K2ddLmNhbGwodGhpcyxsKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5jc3Mo
ZixpKHRoaXMsbCx0cnVlLG8pKyJweCIpfSl9fSk7YS5leHRlbmQoYS5leHByWyI6Il0se2RhdGE6
ZnVuY3Rpb24oaCxnLGkpe3JldHVybiEhYS5kYXRhKGgsaVszXSl9LGZvY3VzYWJsZTpmdW5jdGlv
bihoKXtyZXR1cm4gZChoLCFpc05hTihhLmF0dHIoaCwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpm
dW5jdGlvbihoKXt2YXIgZz1hLmF0dHIoaCwKKyJ0YWJpbmRleCIpLGk9aXNOYU4oZyk7cmV0dXJu
KGl8fGc+PTApJiZkKGgsIWkpfX0pO2EoZnVuY3Rpb24oKXt2YXIgaD1kb2N1bWVudC5ib2R5LGc9
aC5hcHBlbmRDaGlsZChnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTthLmV4dGVuZChn
LnN0eWxlLHttaW5IZWlnaHQ6IjEwMHB4IixoZWlnaHQ6ImF1dG8iLHBhZGRpbmc6MCxib3JkZXJX
aWR0aDowfSk7YS5zdXBwb3J0Lm1pbkhlaWdodD1nLm9mZnNldEhlaWdodD09PTEwMDthLnN1cHBv
cnQuc2VsZWN0c3RhcnQ9Im9uc2VsZWN0c3RhcnQiaW4gZztoLnJlbW92ZUNoaWxkKGcpLnN0eWxl
LmRpc3BsYXk9Im5vbmUifSk7YS5leHRlbmQoYS51aSx7cGx1Z2luOnthZGQ6ZnVuY3Rpb24oaCxn
LGkpe2g9YS51aVtoXS5wcm90b3R5cGU7Zm9yKHZhciBiIGluIGkpe2gucGx1Z2luc1tiXT1oLnBs
dWdpbnNbYl18fFtdO2gucGx1Z2luc1tiXS5wdXNoKFtnLGlbYl1dKX19LGNhbGw6ZnVuY3Rpb24o
aCxnLGkpe2lmKChnPWgucGx1Z2luc1tnXSkmJgoraC5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9y
KHZhciBiPTA7YjxnLmxlbmd0aDtiKyspaC5vcHRpb25zW2dbYl1bMF1dJiZnW2JdWzFdLmFwcGx5
KGguZWxlbWVudCxpKX19LGNvbnRhaW5zOmZ1bmN0aW9uKGgsZyl7cmV0dXJuIGRvY3VtZW50LmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uP2guY29tcGFyZURvY3VtZW50UG9zaXRpb24oZykmMTY6aCE9
PWcmJmguY29udGFpbnMoZyl9LGhhc1Njcm9sbDpmdW5jdGlvbihoLGcpe2lmKGEoaCkuY3NzKCJv
dmVyZmxvdyIpPT09ImhpZGRlbiIpcmV0dXJuIGZhbHNlO2c9ZyYmZz09PSJsZWZ0Ij8ic2Nyb2xs
TGVmdCI6InNjcm9sbFRvcCI7dmFyIGk9ZmFsc2U7aWYoaFtnXT4wKXJldHVybiB0cnVlO2hbZ109
MTtpPWhbZ10+MDtoW2ddPTA7cmV0dXJuIGl9LGlzT3ZlckF4aXM6ZnVuY3Rpb24oaCxnLGkpe3Jl
dHVybiBoPmcmJmg8ZytpfSxpc092ZXI6ZnVuY3Rpb24oaCxnLGksYixmLGope3JldHVybiBhLnVp
LmlzT3ZlckF4aXMoaCxpLGYpJiYKK2EudWkuaXNPdmVyQXhpcyhnLGIsail9fSl9fSkoalF1ZXJ5
KTsKKyhmdW5jdGlvbihhLGMpe2lmKGEuY2xlYW5EYXRhKXt2YXIgZD1hLmNsZWFuRGF0YTthLmNs
ZWFuRGF0YT1mdW5jdGlvbihoKXtmb3IodmFyIGc9MCxpOyhpPWhbZ10pIT1udWxsO2crKylhKGkp
LnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtkKGgpfX1lbHNle3ZhciBlPWEuZm4ucmVtb3ZlO2Eu
Zm4ucmVtb3ZlPWZ1bmN0aW9uKGgsZyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFn
KWlmKCFofHxhLmZpbHRlcihoLFt0aGlzXSkubGVuZ3RoKWEoIioiLHRoaXMpLmFkZChbdGhpc10p
LmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVy
biBlLmNhbGwoYSh0aGlzKSxoLGcpfSl9fWEud2lkZ2V0PWZ1bmN0aW9uKGgsZyxpKXt2YXIgYj1o
LnNwbGl0KCIuIilbMF0sZjtoPWguc3BsaXQoIi4iKVsxXTtmPWIrIi0iK2g7aWYoIWkpe2k9Zztn
PWEuV2lkZ2V0fWEuZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGope3JldHVybiEhYS5kYXRhKGosCito
KX07YVtiXT1hW2JdfHx7fTthW2JdW2hdPWZ1bmN0aW9uKGosbCl7YXJndW1lbnRzLmxlbmd0aCYm
dGhpcy5fY3JlYXRlV2lkZ2V0KGosbCl9O2c9bmV3IGc7Zy5vcHRpb25zPWEuZXh0ZW5kKHRydWUs
e30sZy5vcHRpb25zKTthW2JdW2hdLnByb3RvdHlwZT1hLmV4dGVuZCh0cnVlLGcse25hbWVzcGFj
ZTpiLHdpZGdldE5hbWU6aCx3aWRnZXRFdmVudFByZWZpeDphW2JdW2hdLnByb3RvdHlwZS53aWRn
ZXRFdmVudFByZWZpeHx8aCx3aWRnZXRCYXNlQ2xhc3M6Zn0saSk7YS53aWRnZXQuYnJpZGdlKGgs
YVtiXVtoXSl9O2Eud2lkZ2V0LmJyaWRnZT1mdW5jdGlvbihoLGcpe2EuZm5baF09ZnVuY3Rpb24o
aSl7dmFyIGI9dHlwZW9mIGk9PT0ic3RyaW5nIixmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywxKSxqPXRoaXM7aT0hYiYmZi5sZW5ndGg/YS5leHRlbmQuYXBwbHkobnVsbCxb
dHJ1ZSxpXS5jb25jYXQoZikpOmk7aWYoYiYmaS5jaGFyQXQoMCk9PT0iXyIpcmV0dXJuIGo7Citi
P3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBsPWEuZGF0YSh0aGlzLGgpLG89bCYmYS5pc0Z1bmN0
aW9uKGxbaV0pP2xbaV0uYXBwbHkobCxmKTpsO2lmKG8hPT1sJiZvIT09Yyl7aj1vO3JldHVybiBm
YWxzZX19KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbD1hLmRhdGEodGhpcyxoKTtsP2wub3B0
aW9uKGl8fHt9KS5faW5pdCgpOmEuZGF0YSh0aGlzLGgsbmV3IGcoaSx0aGlzKSl9KTtyZXR1cm4g
an19O2EuV2lkZ2V0PWZ1bmN0aW9uKGgsZyl7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRl
V2lkZ2V0KGgsZyl9O2EuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRn
ZXRFdmVudFByZWZpeDoiIixvcHRpb25zOntkaXNhYmxlZDpmYWxzZX0sX2NyZWF0ZVdpZGdldDpm
dW5jdGlvbihoLGcpe2EuZGF0YShnLHRoaXMud2lkZ2V0TmFtZSx0aGlzKTt0aGlzLmVsZW1lbnQ9
YShnKTt0aGlzLm9wdGlvbnM9YS5leHRlbmQodHJ1ZSx7fSx0aGlzLm9wdGlvbnMsCit0aGlzLl9n
ZXRDcmVhdGVPcHRpb25zKCksaCk7dmFyIGk9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3Zl
LiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKCl7aS5kZXN0cm95KCl9KTt0aGlzLl9jcmVhdGUo
KTt0aGlzLl90cmlnZ2VyKCJjcmVhdGUiKTt0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25z
OmZ1bmN0aW9uKCl7cmV0dXJuIGEubWV0YWRhdGEmJmEubWV0YWRhdGEuZ2V0KHRoaXMuZWxlbWVu
dFswXSlbdGhpcy53aWRnZXROYW1lXX0sX2NyZWF0ZTpmdW5jdGlvbigpe30sX2luaXQ6ZnVuY3Rp
b24oKXt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndp
ZGdldE5hbWUpLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lKTt0aGlzLndpZGdldCgpLnVuYmlu
ZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3Zl
Q2xhc3ModGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIp
fSwKK3dpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnR9LG9wdGlvbjpmdW5jdGlv
bihoLGcpe3ZhciBpPWg7aWYoYXJndW1lbnRzLmxlbmd0aD09PTApcmV0dXJuIGEuZXh0ZW5kKHt9
LHRoaXMub3B0aW9ucyk7aWYodHlwZW9mIGg9PT0ic3RyaW5nIil7aWYoZz09PWMpcmV0dXJuIHRo
aXMub3B0aW9uc1toXTtpPXt9O2lbaF09Z310aGlzLl9zZXRPcHRpb25zKGkpO3JldHVybiB0aGlz
fSxfc2V0T3B0aW9uczpmdW5jdGlvbihoKXt2YXIgZz10aGlzO2EuZWFjaChoLGZ1bmN0aW9uKGks
Yil7Zy5fc2V0T3B0aW9uKGksYil9KTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbiho
LGcpe3RoaXMub3B0aW9uc1toXT1nO2lmKGg9PT0iZGlzYWJsZWQiKXRoaXMud2lkZ2V0KClbZz8i
YWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlzYWJsZWQg
dWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIixnKTtyZXR1cm4gdGhpc30s
CitlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZmFs
c2UpfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQi
LHRydWUpfSxfdHJpZ2dlcjpmdW5jdGlvbihoLGcsaSl7dmFyIGI9dGhpcy5vcHRpb25zW2hdO2c9
YS5FdmVudChnKTtnLnR5cGU9KGg9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2g6dGhpcy53aWRn
ZXRFdmVudFByZWZpeCtoKS50b0xvd2VyQ2FzZSgpO2k9aXx8e307aWYoZy5vcmlnaW5hbEV2ZW50
KXtoPWEuZXZlbnQucHJvcHMubGVuZ3RoO2Zvcih2YXIgZjtoOyl7Zj1hLmV2ZW50LnByb3BzWy0t
aF07Z1tmXT1nLm9yaWdpbmFsRXZlbnRbZl19fXRoaXMuZWxlbWVudC50cmlnZ2VyKGcsaSk7cmV0
dXJuIShhLmlzRnVuY3Rpb24oYikmJmIuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZyxpKT09PWZhbHNl
fHxnLmlzRGVmYXVsdFByZXZlbnRlZCgpKX19fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndp
ZGdldCgidWkubW91c2UiLHtvcHRpb25zOntjYW5jZWw6IjppbnB1dCxvcHRpb24iLGRpc3RhbmNl
OjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50
LmJpbmQoIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihkKXtyZXR1cm4gYy5f
bW91c2VEb3duKGQpfSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oZCl7
aWYodHJ1ZT09PWEuZGF0YShkLnRhcmdldCxjLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVu
dCIpKXthLnJlbW92ZURhdGEoZC50YXJnZXQsYy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZl
bnQiKTtkLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZX19KTt0aGlzLnN0
YXJ0ZWQ9ZmFsc2V9LF9tb3VzZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5k
KCIuIit0aGlzLndpZGdldE5hbWUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKGMpe2Mub3JpZ2luYWxF
dmVudD0KK2Mub3JpZ2luYWxFdmVudHx8e307aWYoIWMub3JpZ2luYWxFdmVudC5tb3VzZUhhbmRs
ZWQpe3RoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChjKTt0aGlzLl9tb3VzZURvd25F
dmVudD1jO3ZhciBkPXRoaXMsZT1jLndoaWNoPT0xLGg9dHlwZW9mIHRoaXMub3B0aW9ucy5jYW5j
ZWw9PSJzdHJpbmciP2EoYy50YXJnZXQpLmNsb3Nlc3QodGhpcy5vcHRpb25zLmNhbmNlbCkubGVu
Z3RoOmZhbHNlO2lmKCFlfHxofHwhdGhpcy5fbW91c2VDYXB0dXJlKGMpKXJldHVybiB0cnVlO3Ro
aXMubW91c2VEZWxheU1ldD0hdGhpcy5vcHRpb25zLmRlbGF5O2lmKCF0aGlzLm1vdXNlRGVsYXlN
ZXQpdGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLm1vdXNlRGVs
YXlNZXQ9dHJ1ZX0sdGhpcy5vcHRpb25zLmRlbGF5KTtpZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0
KGMpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KGMpKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91
c2VTdGFydChjKSE9PQorZmFsc2U7aWYoIXRoaXMuX21vdXNlU3RhcnRlZCl7Yy5wcmV2ZW50RGVm
YXVsdCgpO3JldHVybiB0cnVlfX10cnVlPT09YS5kYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFt
ZSsiLnByZXZlbnRDbGlja0V2ZW50IikmJmEucmVtb3ZlRGF0YShjLnRhcmdldCx0aGlzLndpZGdl
dE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpO3RoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0
aW9uKGcpe3JldHVybiBkLl9tb3VzZU1vdmUoZyl9O3RoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5j
dGlvbihnKXtyZXR1cm4gZC5fbW91c2VVcChnKX07YShkb2N1bWVudCkuYmluZCgibW91c2Vtb3Zl
LiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVw
LiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7Yy5wcmV2ZW50RGVmYXVs
dCgpO3JldHVybiBjLm9yaWdpbmFsRXZlbnQubW91c2VIYW5kbGVkPXRydWV9fSxfbW91c2VNb3Zl
OmZ1bmN0aW9uKGMpe2lmKGEuYnJvd3Nlci5tc2llJiYKKyEoZG9jdW1lbnQuZG9jdW1lbnRNb2Rl
Pj05KSYmIWMuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKGMpO2lmKHRoaXMuX21vdXNlU3Rh
cnRlZCl7dGhpcy5fbW91c2VEcmFnKGMpO3JldHVybiBjLnByZXZlbnREZWZhdWx0KCl9aWYodGhp
cy5fbW91c2VEaXN0YW5jZU1ldChjKSYmdGhpcy5fbW91c2VEZWxheU1ldChjKSkodGhpcy5fbW91
c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsYykhPT1mYWxz
ZSk/dGhpcy5fbW91c2VEcmFnKGMpOnRoaXMuX21vdXNlVXAoYyk7cmV0dXJuIXRoaXMuX21vdXNl
U3RhcnRlZH0sX21vdXNlVXA6ZnVuY3Rpb24oYyl7YShkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1v
dmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLnVuYmluZCgibW91
c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2lmKHRoaXMuX21v
dXNlU3RhcnRlZCl7dGhpcy5fbW91c2VTdGFydGVkPQorZmFsc2U7Yy50YXJnZXQ9PXRoaXMuX21v
dXNlRG93bkV2ZW50LnRhcmdldCYmYS5kYXRhKGMudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnBy
ZXZlbnRDbGlja0V2ZW50Iix0cnVlKTt0aGlzLl9tb3VzZVN0b3AoYyl9cmV0dXJuIGZhbHNlfSxf
bW91c2VEaXN0YW5jZU1ldDpmdW5jdGlvbihjKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5hYnModGhp
cy5fbW91c2VEb3duRXZlbnQucGFnZVgtYy5wYWdlWCksTWF0aC5hYnModGhpcy5fbW91c2VEb3du
RXZlbnQucGFnZVktYy5wYWdlWSkpPj10aGlzLm9wdGlvbnMuZGlzdGFuY2V9LF9tb3VzZURlbGF5
TWV0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubW91c2VEZWxheU1ldH0sX21vdXNlU3RhcnQ6ZnVu
Y3Rpb24oKXt9LF9tb3VzZURyYWc6ZnVuY3Rpb24oKXt9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oKXt9
LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX19KX0pKGpRdWVyeSk7CisoZnVu
Y3Rpb24oYSl7YS53aWRnZXQoInVpLmRyYWdnYWJsZSIsYS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQ
cmVmaXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6dHJ1ZSxhcHBlbmRUbzoicGFyZW50Iixh
eGlzOmZhbHNlLGNvbm5lY3RUb1NvcnRhYmxlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGN1cnNv
cjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGU6ZmFsc2UsaGVscGVyOiJv
cmlnaW5hbCIsaWZyYW1lRml4OmZhbHNlLG9wYWNpdHk6ZmFsc2UscmVmcmVzaFBvc2l0aW9uczpm
YWxzZSxyZXZlcnQ6ZmFsc2UscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3Jv
bGw6dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzbmFwOmZhbHNlLHNu
YXBNb2RlOiJib3RoIixzbmFwVG9sZXJhbmNlOjIwLHN0YWNrOmZhbHNlLHpJbmRleDpmYWxzZX0s
X2NyZWF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5oZWxwZXI9PQorIm9yaWdpbmFsIiYm
IS9eKD86cnxhfGYpLy50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIikpKXRoaXMuZWxl
bWVudFswXS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3RoaXMub3B0aW9ucy5hZGRDbGFzc2Vz
JiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZSIpO3RoaXMub3B0aW9ucy5kaXNh
YmxlZCYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUtZGlzYWJsZWQiKTt0aGlz
Ll9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbWVudC5kYXRhKCJk
cmFnZ2FibGUiKSl7dGhpcy5lbGVtZW50LnJlbW92ZURhdGEoImRyYWdnYWJsZSIpLnVuYmluZCgi
LmRyYWdnYWJsZSIpLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUgdWktZHJhZ2dhYmxlLWRyYWdn
aW5nIHVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0
aGlzfX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihjKXt2YXIgZD0KK3RoaXMub3B0aW9ucztpZih0
aGlzLmhlbHBlcnx8ZC5kaXNhYmxlZHx8YShjLnRhcmdldCkuaXMoIi51aS1yZXNpemFibGUtaGFu
ZGxlIikpcmV0dXJuIGZhbHNlO3RoaXMuaGFuZGxlPXRoaXMuX2dldEhhbmRsZShjKTtpZighdGhp
cy5oYW5kbGUpcmV0dXJuIGZhbHNlO2EoZC5pZnJhbWVGaXg9PT10cnVlPyJpZnJhbWUiOmQuaWZy
YW1lRml4KS5lYWNoKGZ1bmN0aW9uKCl7YSgnPGRpdiBjbGFzcz0idWktZHJhZ2dhYmxlLWlmcmFt
ZUZpeCIgc3R5bGU9ImJhY2tncm91bmQ6ICNmZmY7Ij48L2Rpdj4nKS5jc3Moe3dpZHRoOnRoaXMu
b2Zmc2V0V2lkdGgrInB4IixoZWlnaHQ6dGhpcy5vZmZzZXRIZWlnaHQrInB4Iixwb3NpdGlvbjoi
YWJzb2x1dGUiLG9wYWNpdHk6IjAuMDAxIix6SW5kZXg6MUUzfSkuY3NzKGEodGhpcykub2Zmc2V0
KCkpLmFwcGVuZFRvKCJib2R5Iil9KTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24o
Yyl7dmFyIGQ9dGhpcy5vcHRpb25zO3RoaXMuaGVscGVyPQordGhpcy5fY3JlYXRlSGVscGVyKGMp
O3RoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTtpZihhLnVpLmRkbWFuYWdlcilhLnVpLmRk
bWFuYWdlci5jdXJyZW50PXRoaXM7dGhpcy5fY2FjaGVNYXJnaW5zKCk7dGhpcy5jc3NQb3NpdGlv
bj10aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIik7dGhpcy5zY3JvbGxQYXJlbnQ9dGhpcy5oZWxw
ZXIuc2Nyb2xsUGFyZW50KCk7dGhpcy5vZmZzZXQ9dGhpcy5wb3NpdGlvbkFicz10aGlzLmVsZW1l
bnQub2Zmc2V0KCk7dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5tYXJnaW5z
LnRvcCxsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9O2EuZXh0ZW5kKHRo
aXMub2Zmc2V0LHtjbGljazp7bGVmdDpjLnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmMucGFn
ZVktdGhpcy5vZmZzZXQudG9wfSxwYXJlbnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRp
dmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKX0pOwordGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRo
aXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihjKTt0aGlzLm9yaWdpbmFsUGFnZVg9
Yy5wYWdlWDt0aGlzLm9yaWdpbmFsUGFnZVk9Yy5wYWdlWTtkLmN1cnNvckF0JiZ0aGlzLl9hZGp1
c3RPZmZzZXRGcm9tSGVscGVyKGQuY3Vyc29yQXQpO2QuY29udGFpbm1lbnQmJnRoaXMuX3NldENv
bnRhaW5tZW50KCk7aWYodGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpPT09ZmFsc2Upe3RoaXMuX2Ns
ZWFyKCk7cmV0dXJuIGZhbHNlfXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTthLnVpLmRk
bWFuYWdlciYmIWQuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMo
dGhpcyxjKTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhp
cy5fbW91c2VEcmFnKGMsdHJ1ZSk7YS51aS5kZG1hbmFnZXImJmEudWkuZGRtYW5hZ2VyLmRyYWdT
dGFydCh0aGlzLGMpO3JldHVybiB0cnVlfSwKK19tb3VzZURyYWc6ZnVuY3Rpb24oYyxkKXt0aGlz
LnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYyk7dGhpcy5wb3NpdGlvbkFicz10aGlz
Ll9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighZCl7ZD10aGlzLl91aUhhc2goKTtp
Zih0aGlzLl90cmlnZ2VyKCJkcmFnIixjLGQpPT09ZmFsc2Upe3RoaXMuX21vdXNlVXAoe30pO3Jl
dHVybiBmYWxzZX10aGlzLnBvc2l0aW9uPWQucG9zaXRpb259aWYoIXRoaXMub3B0aW9ucy5heGlz
fHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5w
b3NpdGlvbi5sZWZ0KyJweCI7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhp
cyE9IngiKXRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBvc2l0aW9uLnRvcCsicHgiO2Eu
dWkuZGRtYW5hZ2VyJiZhLnVpLmRkbWFuYWdlci5kcmFnKHRoaXMsYyk7cmV0dXJuIGZhbHNlfSxf
bW91c2VTdG9wOmZ1bmN0aW9uKGMpe3ZhciBkPQorZmFsc2U7aWYoYS51aS5kZG1hbmFnZXImJiF0
aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91cilkPWEudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxjKTtp
Zih0aGlzLmRyb3BwZWQpe2Q9dGhpcy5kcm9wcGVkO3RoaXMuZHJvcHBlZD1mYWxzZX1pZigoIXRo
aXMuZWxlbWVudFswXXx8IXRoaXMuZWxlbWVudFswXS5wYXJlbnROb2RlKSYmdGhpcy5vcHRpb25z
LmhlbHBlcj09Im9yaWdpbmFsIilyZXR1cm4gZmFsc2U7aWYodGhpcy5vcHRpb25zLnJldmVydD09
ImludmFsaWQiJiYhZHx8dGhpcy5vcHRpb25zLnJldmVydD09InZhbGlkIiYmZHx8dGhpcy5vcHRp
b25zLnJldmVydD09PXRydWV8fGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMucmV2ZXJ0KSYmdGhp
cy5vcHRpb25zLnJldmVydC5jYWxsKHRoaXMuZWxlbWVudCxkKSl7dmFyIGU9dGhpczthKHRoaXMu
aGVscGVyKS5hbmltYXRlKHRoaXMub3JpZ2luYWxQb3NpdGlvbixwYXJzZUludCh0aGlzLm9wdGlv
bnMucmV2ZXJ0RHVyYXRpb24sCisxMCksZnVuY3Rpb24oKXtlLl90cmlnZ2VyKCJzdG9wIixjKSE9
PWZhbHNlJiZlLl9jbGVhcigpfSl9ZWxzZSB0aGlzLl90cmlnZ2VyKCJzdG9wIixjKSE9PWZhbHNl
JiZ0aGlzLl9jbGVhcigpO3JldHVybiBmYWxzZX0sX21vdXNlVXA6ZnVuY3Rpb24oYyl7dGhpcy5v
cHRpb25zLmlmcmFtZUZpeD09PXRydWUmJmEoImRpdi51aS1kcmFnZ2FibGUtaWZyYW1lRml4Iiku
ZWFjaChmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKX0pO2EudWku
ZGRtYW5hZ2VyJiZhLnVpLmRkbWFuYWdlci5kcmFnU3RvcCh0aGlzLGMpO3JldHVybiBhLnVpLm1v
dXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKHRoaXMsYyl9LGNhbmNlbDpmdW5jdGlvbigpe3Ro
aXMuaGVscGVyLmlzKCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIik/dGhpcy5fbW91c2VVcCh7fSk6
dGhpcy5fY2xlYXIoKTtyZXR1cm4gdGhpc30sX2dldEhhbmRsZTpmdW5jdGlvbihjKXt2YXIgZD0h
dGhpcy5vcHRpb25zLmhhbmRsZXx8CishYSh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVu
dCkubGVuZ3RoP3RydWU6ZmFsc2U7YSh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVudCku
ZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09Yy50YXJnZXQpZD10
cnVlfSk7cmV0dXJuIGR9LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5vcHRp
b25zO2M9YS5pc0Z1bmN0aW9uKGQuaGVscGVyKT9hKGQuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVu
dFswXSxbY10pKTpkLmhlbHBlcj09ImNsb25lIj90aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVB
dHRyKCJpZCIpOnRoaXMuZWxlbWVudDtjLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fGMuYXBwZW5k
VG8oZC5hcHBlbmRUbz09InBhcmVudCI/dGhpcy5lbGVtZW50WzBdLnBhcmVudE5vZGU6ZC5hcHBl
bmRUbyk7Y1swXSE9dGhpcy5lbGVtZW50WzBdJiYhLyhmaXhlZHxhYnNvbHV0ZSkvLnRlc3QoYy5j
c3MoInBvc2l0aW9uIikpJiYKK2MuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7cmV0dXJuIGN9
LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5n
IiljPWMuc3BsaXQoIiAiKTtpZihhLmlzQXJyYXkoYykpYz17bGVmdDorY1swXSx0b3A6K2NbMV18
fDB9O2lmKCJsZWZ0ImluIGMpdGhpcy5vZmZzZXQuY2xpY2subGVmdD1jLmxlZnQrdGhpcy5tYXJn
aW5zLmxlZnQ7aWYoInJpZ2h0ImluIGMpdGhpcy5vZmZzZXQuY2xpY2subGVmdD10aGlzLmhlbHBl
clByb3BvcnRpb25zLndpZHRoLWMucmlnaHQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInRvcCJpbiBj
KXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1jLnRvcCt0aGlzLm1hcmdpbnMudG9wO2lmKCJib3R0b20i
aW4gYyl0aGlzLm9mZnNldC5jbGljay50b3A9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQt
Yy5ib3R0b20rdGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3Ro
aXMub2Zmc2V0UGFyZW50PQordGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7dmFyIGM9dGhpcy5v
ZmZzZXRQYXJlbnQub2Zmc2V0KCk7aWYodGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmdGhp
cy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFy
ZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSl7Yy5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5z
Y3JvbGxMZWZ0KCk7Yy50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpfWlmKHRoaXMu
b2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5fHx0aGlzLm9mZnNldFBhcmVudFswXS50YWdO
YW1lJiZ0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSJodG1sIiYm
YS5icm93c2VyLm1zaWUpYz17dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmMudG9wKyhwYXJzZUlu
dCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmMu
bGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwK
KzEwKXx8MCl9fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmNzc1Bvc2l0
aW9uPT0icmVsYXRpdmUiKXt2YXIgYz10aGlzLmVsZW1lbnQucG9zaXRpb24oKTtyZXR1cm57dG9w
OmMudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrdGhpcy5zY3Jv
bGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDpjLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNz
cygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpfX1lbHNlIHJl
dHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhpcy5tYXJnaW5z
PXtsZWZ0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSwxMCl8fDAsdG9w
OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCxyaWdodDpwYXJz
ZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLDEwKXx8MCxib3R0b206cGFyc2VJ
bnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luQm90dG9tIiksCisxMCl8fDB9fSxfY2FjaGVIZWxw
ZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVyUHJvcG9ydGlvbnM9e3dpZHRoOnRo
aXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKX19
LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9ucztpZihjLmNvbnRh
aW5tZW50PT0icGFyZW50IiljLmNvbnRhaW5tZW50PXRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGU7
aWYoYy5jb250YWlubWVudD09ImRvY3VtZW50Inx8Yy5jb250YWlubWVudD09IndpbmRvdyIpdGhp
cy5jb250YWlubWVudD1bYy5jb250YWlubWVudD09ImRvY3VtZW50Ij8wOmEod2luZG93KS5zY3Jv
bGxMZWZ0KCktdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVm
dCxjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6YSh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMu
b2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLAorKGMuY29udGFpbm1l
bnQ9PSJkb2N1bWVudCI/MDphKHdpbmRvdykuc2Nyb2xsTGVmdCgpKSthKGMuY29udGFpbm1lbnQ9
PSJkb2N1bWVudCI/ZG9jdW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlv
bnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/MDph
KHdpbmRvdykuc2Nyb2xsVG9wKCkpKyhhKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/ZG9jdW1l
bnQ6d2luZG93KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdo
dCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF07aWYoIS9e
KGRvY3VtZW50fHdpbmRvd3xwYXJlbnQpJC8udGVzdChjLmNvbnRhaW5tZW50KSYmYy5jb250YWlu
bWVudC5jb25zdHJ1Y3RvciE9QXJyYXkpe2M9YShjLmNvbnRhaW5tZW50KTt2YXIgZD1jWzBdO2lm
KGQpe2Mub2Zmc2V0KCk7dmFyIGU9YShkKS5jc3MoIm92ZXJmbG93IikhPQorImhpZGRlbiI7dGhp
cy5jb250YWlubWVudD1bKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8
fDApKyhwYXJzZUludChhKGQpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLChwYXJzZUludChh
KGQpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChhKGQpLmNzcygicGFk
ZGluZ1RvcCIpLDEwKXx8MCksKGU/TWF0aC5tYXgoZC5zY3JvbGxXaWR0aCxkLm9mZnNldFdpZHRo
KTpkLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEw
KXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVs
cGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQtdGhpcy5tYXJnaW5zLnJpZ2h0
LChlP01hdGgubWF4KGQuc2Nyb2xsSGVpZ2h0LGQub2Zmc2V0SGVpZ2h0KTpkLm9mZnNldEhlaWdo
dCktKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLAorMTApfHwwKS0ocGFyc2VJ
bnQoYShkKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlv
bnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3AtdGhpcy5tYXJnaW5zLmJvdHRvbV07dGhpcy5yZWxh
dGl2ZV9jb250YWluZXI9Y319ZWxzZSBpZihjLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yPT1BcnJh
eSl0aGlzLmNvbnRhaW5tZW50PWMuY29udGFpbm1lbnR9LF9jb252ZXJ0UG9zaXRpb25UbzpmdW5j
dGlvbihjLGQpe2lmKCFkKWQ9dGhpcy5wb3NpdGlvbjtjPWM9PSJhYnNvbHV0ZSI/MTotMTt2YXIg
ZT10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1k
b2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBh
cmVudFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1sfGJv
ZHkpL2kudGVzdChlWzBdLnRhZ05hbWUpO3JldHVybnt0b3A6ZC50b3ArCit0aGlzLm9mZnNldC5y
ZWxhdGl2ZS50b3AqYyt0aGlzLm9mZnNldC5wYXJlbnQudG9wKmMtKGEuYnJvd3Nlci5zYWZhcmkm
JmEuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlz
LmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6
ZS5zY3JvbGxUb3AoKSkqYyksbGVmdDpkLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpj
K3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KmMtKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nlci52
ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9u
PT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6aD8wOmUuc2Nyb2xsTGVm
dCgpKSpjKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9u
cyxlPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJgorISh0aGlzLnNjcm9sbFBhcmVudFsw
XSE9ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZz
ZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxoPS8oaHRt
bHxib2R5KS9pLnRlc3QoZVswXS50YWdOYW1lKSxnPWMucGFnZVgsaT1jLnBhZ2VZO2lmKHRoaXMu
b3JpZ2luYWxQb3NpdGlvbil7dmFyIGI7aWYodGhpcy5jb250YWlubWVudCl7aWYodGhpcy5yZWxh
dGl2ZV9jb250YWluZXIpe2I9dGhpcy5yZWxhdGl2ZV9jb250YWluZXIub2Zmc2V0KCk7Yj1bdGhp
cy5jb250YWlubWVudFswXStiLmxlZnQsdGhpcy5jb250YWlubWVudFsxXStiLnRvcCx0aGlzLmNv
bnRhaW5tZW50WzJdK2IubGVmdCx0aGlzLmNvbnRhaW5tZW50WzNdK2IudG9wXX1lbHNlIGI9dGhp
cy5jb250YWlubWVudDtpZihjLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8YlswXSlnPWJb
MF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdDsKK2lmKGMucGFnZVktdGhpcy5vZmZzZXQuY2xpY2su
dG9wPGJbMV0paT1iWzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcDtpZihjLnBhZ2VYLXRoaXMub2Zm
c2V0LmNsaWNrLmxlZnQ+YlsyXSlnPWJbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdDtpZihjLnBh
Z2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5iWzNdKWk9YlszXSt0aGlzLm9mZnNldC5jbGljay50
b3B9aWYoZC5ncmlkKXtpPWQuZ3JpZFsxXT90aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgo
aS10aGlzLm9yaWdpbmFsUGFnZVkpL2QuZ3JpZFsxXSkqZC5ncmlkWzFdOnRoaXMub3JpZ2luYWxQ
YWdlWTtpPWI/IShpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxiWzFdfHxpLXRoaXMub2Zmc2V0LmNs
aWNrLnRvcD5iWzNdKT9pOiEoaS10aGlzLm9mZnNldC5jbGljay50b3A8YlsxXSk/aS1kLmdyaWRb
MV06aStkLmdyaWRbMV06aTtnPWQuZ3JpZFswXT90aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3Vu
ZCgoZy10aGlzLm9yaWdpbmFsUGFnZVgpLworZC5ncmlkWzBdKSpkLmdyaWRbMF06dGhpcy5vcmln
aW5hbFBhZ2VYO2c9Yj8hKGctdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdfHxnLXRoaXMub2Zm
c2V0LmNsaWNrLmxlZnQ+YlsyXSk/ZzohKGctdGhpcy5vZmZzZXQuY2xpY2subGVmdDxiWzBdKT9n
LWQuZ3JpZFswXTpnK2QuZ3JpZFswXTpnfX1yZXR1cm57dG9wOmktdGhpcy5vZmZzZXQuY2xpY2su
dG9wLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKyhhLmJy
b3dzZXIuc2FmYXJpJiZhLmJyb3dzZXIudmVyc2lvbjw1MjYmJnRoaXMuY3NzUG9zaXRpb249PSJm
aXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3Jv
bGxUb3AoKTpoPzA6ZS5zY3JvbGxUb3AoKSksbGVmdDpnLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQt
dGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoYS5icm93
c2VyLnNhZmFyaSYmYS5icm93c2VyLnZlcnNpb248Cis1MjYmJnRoaXMuY3NzUG9zaXRpb249PSJm
aXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3Jv
bGxMZWZ0KCk6aD8wOmUuc2Nyb2xsTGVmdCgpKX19LF9jbGVhcjpmdW5jdGlvbigpe3RoaXMuaGVs
cGVyLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTt0aGlzLmhlbHBlclswXSE9
dGhpcy5lbGVtZW50WzBdJiYhdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsJiZ0aGlzLmhlbHBlci5y
ZW1vdmUoKTt0aGlzLmhlbHBlcj1udWxsO3RoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZX0s
X3RyaWdnZXI6ZnVuY3Rpb24oYyxkLGUpe2U9ZXx8dGhpcy5fdWlIYXNoKCk7YS51aS5wbHVnaW4u
Y2FsbCh0aGlzLGMsW2QsZV0pO2lmKGM9PSJkcmFnIil0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2Nv
bnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO3JldHVybiBhLldpZGdldC5wcm90b3R5cGUuX3Ry
aWdnZXIuY2FsbCh0aGlzLGMsZCwKK2UpfSxwbHVnaW5zOnt9LF91aUhhc2g6ZnVuY3Rpb24oKXty
ZXR1cm57aGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sb3JpZ2luYWxQ
b3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OnRoaXMucG9zaXRpb25BYnN9fX0p
O2EuZXh0ZW5kKGEudWkuZHJhZ2dhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSk7YS51aS5wbHVnaW4u
YWRkKCJkcmFnZ2FibGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0YXJ0OmZ1bmN0aW9uKGMsZCl7
dmFyIGU9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxoPWUub3B0aW9ucyxnPWEuZXh0ZW5kKHt9
LGQse2l0ZW06ZS5lbGVtZW50fSk7ZS5zb3J0YWJsZXM9W107YShoLmNvbm5lY3RUb1NvcnRhYmxl
KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9YS5kYXRhKHRoaXMsInNvcnRhYmxlIik7aWYoaSYmIWku
b3B0aW9ucy5kaXNhYmxlZCl7ZS5zb3J0YWJsZXMucHVzaCh7aW5zdGFuY2U6aSxzaG91bGRSZXZl
cnQ6aS5vcHRpb25zLnJldmVydH0pOworaS5yZWZyZXNoUG9zaXRpb25zKCk7aS5fdHJpZ2dlcigi
YWN0aXZhdGUiLGMsZyl9fSl9LHN0b3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT1hKHRoaXMpLmRhdGEo
ImRyYWdnYWJsZSIpLGg9YS5leHRlbmQoe30sZCx7aXRlbTplLmVsZW1lbnR9KTthLmVhY2goZS5z
b3J0YWJsZXMsZnVuY3Rpb24oKXtpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5pbnN0YW5j
ZS5pc092ZXI9MDtlLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0aGlzLmluc3RhbmNlLmNhbmNl
bEhlbHBlclJlbW92YWw9ZmFsc2U7aWYodGhpcy5zaG91bGRSZXZlcnQpdGhpcy5pbnN0YW5jZS5v
cHRpb25zLnJldmVydD10cnVlO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RvcChjKTt0aGlzLmluc3Rh
bmNlLm9wdGlvbnMuaGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyO2Uub3B0aW9u
cy5oZWxwZXI9PSJvcmlnaW5hbCImJnRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0uY3NzKHt0b3A6
ImF1dG8iLGxlZnQ6ImF1dG8ifSl9ZWxzZXt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92
YWw9CitmYWxzZTt0aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixjLGgpfX0pfSxk
cmFnOmZ1bmN0aW9uKGMsZCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxoPXRoaXM7
YS5lYWNoKGUuc29ydGFibGVzLGZ1bmN0aW9uKCl7dGhpcy5pbnN0YW5jZS5wb3NpdGlvbkFicz1l
LnBvc2l0aW9uQWJzO3RoaXMuaW5zdGFuY2UuaGVscGVyUHJvcG9ydGlvbnM9ZS5oZWxwZXJQcm9w
b3J0aW9uczt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljaz1lLm9mZnNldC5jbGljaztpZih0aGlz
Lmluc3RhbmNlLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNlLmNvbnRhaW5lckNhY2hlKSl7
aWYoIXRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0xO3RoaXMuaW5z
dGFuY2UuY3VycmVudEl0ZW09YShoKS5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIikuYXBwZW5kVG8o
dGhpcy5pbnN0YW5jZS5lbGVtZW50KS5kYXRhKCJzb3J0YWJsZS1pdGVtIix0cnVlKTsKK3RoaXMu
aW5zdGFuY2Uub3B0aW9ucy5faGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI7dGhp
cy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj1mdW5jdGlvbigpe3JldHVybiBkLmhlbHBlclswXX07
Yy50YXJnZXQ9dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbVswXTt0aGlzLmluc3RhbmNlLl9tb3Vz
ZUNhcHR1cmUoYyx0cnVlKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0YXJ0KGMsdHJ1ZSx0cnVlKTt0
aGlzLmluc3RhbmNlLm9mZnNldC5jbGljay50b3A9ZS5vZmZzZXQuY2xpY2sudG9wO3RoaXMuaW5z
dGFuY2Uub2Zmc2V0LmNsaWNrLmxlZnQ9ZS5vZmZzZXQuY2xpY2subGVmdDt0aGlzLmluc3RhbmNl
Lm9mZnNldC5wYXJlbnQubGVmdC09ZS5vZmZzZXQucGFyZW50LmxlZnQtdGhpcy5pbnN0YW5jZS5v
ZmZzZXQucGFyZW50LmxlZnQ7dGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LnRvcC09ZS5vZmZz
ZXQucGFyZW50LnRvcC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wOworZS5fdHJpZ2dl
cigidG9Tb3J0YWJsZSIsYyk7ZS5kcm9wcGVkPXRoaXMuaW5zdGFuY2UuZWxlbWVudDtlLmN1cnJl
bnRJdGVtPWUuZWxlbWVudDt0aGlzLmluc3RhbmNlLmZyb21PdXRzaWRlPWV9dGhpcy5pbnN0YW5j
ZS5jdXJyZW50SXRlbSYmdGhpcy5pbnN0YW5jZS5fbW91c2VEcmFnKGMpfWVsc2UgaWYodGhpcy5p
bnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTA7dGhpcy5pbnN0YW5jZS5jYW5j
ZWxIZWxwZXJSZW1vdmFsPXRydWU7dGhpcy5pbnN0YW5jZS5vcHRpb25zLnJldmVydD1mYWxzZTt0
aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJvdXQiLGMsdGhpcy5pbnN0YW5jZS5fdWlIYXNoKHRoaXMu
aW5zdGFuY2UpKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AoYyx0cnVlKTt0aGlzLmluc3RhbmNl
Lm9wdGlvbnMuaGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyO3RoaXMuaW5zdGFu
Y2UuY3VycmVudEl0ZW0ucmVtb3ZlKCk7dGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlciYmCit0aGlz
Lmluc3RhbmNlLnBsYWNlaG9sZGVyLnJlbW92ZSgpO2UuX3RyaWdnZXIoImZyb21Tb3J0YWJsZSIs
Yyk7ZS5kcm9wcGVkPWZhbHNlfX0pfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY3Vy
c29yIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYz1hKCJib2R5IiksZD1hKHRoaXMpLmRhdGEoImRy
YWdnYWJsZSIpLm9wdGlvbnM7aWYoYy5jc3MoImN1cnNvciIpKWQuX2N1cnNvcj1jLmNzcygiY3Vy
c29yIik7Yy5jc3MoImN1cnNvciIsZC5jdXJzb3IpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGM9YSh0
aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2MuX2N1cnNvciYmYSgiYm9keSIpLmNzcygi
Y3Vyc29yIixjLl9jdXJzb3IpfX0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwib3BhY2l0
eSIse3N0YXJ0OmZ1bmN0aW9uKGMsZCl7Yz1hKGQuaGVscGVyKTtkPWEodGhpcykuZGF0YSgiZHJh
Z2dhYmxlIikub3B0aW9ucztpZihjLmNzcygib3BhY2l0eSIpKWQuX29wYWNpdHk9CitjLmNzcygi
b3BhY2l0eSIpO2MuY3NzKCJvcGFjaXR5IixkLm9wYWNpdHkpfSxzdG9wOmZ1bmN0aW9uKGMsZCl7
Yz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7Yy5fb3BhY2l0eSYmYShkLmhlbHBl
cikuY3NzKCJvcGFjaXR5IixjLl9vcGFjaXR5KX19KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJs
ZSIsInNjcm9sbCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKS5kYXRhKCJkcmFnZ2Fi
bGUiKTtpZihjLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmMuc2Nyb2xsUGFyZW50WzBdLnRh
Z05hbWUhPSJIVE1MIiljLm92ZXJmbG93T2Zmc2V0PWMuc2Nyb2xsUGFyZW50Lm9mZnNldCgpfSxk
cmFnOmZ1bmN0aW9uKGMpe3ZhciBkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZT1kLm9wdGlv
bnMsaD1mYWxzZTtpZihkLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQuc2Nyb2xsUGFyZW50
WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYoIWUuYXhpc3x8ZS5heGlzIT0KKyJ4IilpZihkLm92ZXJm
bG93T2Zmc2V0LnRvcCtkLnNjcm9sbFBhcmVudFswXS5vZmZzZXRIZWlnaHQtYy5wYWdlWTxlLnNj
cm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcD1oPWQuc2Nyb2xsUGFy
ZW50WzBdLnNjcm9sbFRvcCtlLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWS1kLm92ZXJmbG93
T2Zmc2V0LnRvcDxlLnNjcm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRv
cD1oPWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcC1lLnNjcm9sbFNwZWVkO2lmKCFlLmF4aXN8
fGUuYXhpcyE9InkiKWlmKGQub3ZlcmZsb3dPZmZzZXQubGVmdCtkLnNjcm9sbFBhcmVudFswXS5v
ZmZzZXRXaWR0aC1jLnBhZ2VYPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpZC5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsTGVmdD1oPWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrZS5zY3JvbGxTcGVlZDtl
bHNlIGlmKGMucGFnZVgtZC5vdmVyZmxvd09mZnNldC5sZWZ0PAorZS5zY3JvbGxTZW5zaXRpdml0
eSlkLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWg9ZC5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xs
TGVmdC1lLnNjcm9sbFNwZWVkfWVsc2V7aWYoIWUuYXhpc3x8ZS5heGlzIT0ieCIpaWYoYy5wYWdl
WS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKTxlLnNjcm9sbFNlbnNpdGl2aXR5KWg9YShkb2N1bWVu
dCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLWUuc2Nyb2xsU3BlZWQpO2Vsc2Ug
aWYoYSh3aW5kb3cpLmhlaWdodCgpLShjLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxl
LnNjcm9sbFNlbnNpdGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNj
cm9sbFRvcCgpK2Uuc2Nyb2xsU3BlZWQpO2lmKCFlLmF4aXN8fGUuYXhpcyE9InkiKWlmKGMucGFn
ZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpPGUuc2Nyb2xsU2Vuc2l0aXZpdHkpaD1hKGRvY3Vt
ZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKS0KK2Uuc2Nyb2xsU3BlZWQp
O2Vsc2UgaWYoYSh3aW5kb3cpLndpZHRoKCktKGMucGFnZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVm
dCgpKTxlLnNjcm9sbFNlbnNpdGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3Vt
ZW50KS5zY3JvbGxMZWZ0KCkrZS5zY3JvbGxTcGVlZCl9aCE9PWZhbHNlJiZhLnVpLmRkbWFuYWdl
ciYmIWUuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoZCxjKX19
KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNuYXAiLHtzdGFydDpmdW5jdGlvbigpe3Zh
ciBjPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZD1jLm9wdGlvbnM7Yy5zbmFwRWxlbWVudHM9
W107YShkLnNuYXAuY29uc3RydWN0b3IhPVN0cmluZz9kLnNuYXAuaXRlbXN8fCI6ZGF0YShkcmFn
Z2FibGUpIjpkLnNuYXApLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLGg9ZS5vZmZzZXQo
KTt0aGlzIT1jLmVsZW1lbnRbMF0mJmMuc25hcEVsZW1lbnRzLnB1c2goe2l0ZW06dGhpcywKK3dp
ZHRoOmUub3V0ZXJXaWR0aCgpLGhlaWdodDplLm91dGVySGVpZ2h0KCksdG9wOmgudG9wLGxlZnQ6
aC5sZWZ0fSl9KX0sZHJhZzpmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT1hKHRoaXMpLmRhdGEoImRy
YWdnYWJsZSIpLGg9ZS5vcHRpb25zLGc9aC5zbmFwVG9sZXJhbmNlLGk9ZC5vZmZzZXQubGVmdCxi
PWkrZS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxmPWQub2Zmc2V0LnRvcCxqPWYrZS5oZWxwZXJQ
cm9wb3J0aW9ucy5oZWlnaHQsbD1lLnNuYXBFbGVtZW50cy5sZW5ndGgtMTtsPj0wO2wtLSl7dmFy
IG89ZS5zbmFwRWxlbWVudHNbbF0ubGVmdCxuPW8rZS5zbmFwRWxlbWVudHNbbF0ud2lkdGgsaz1l
LnNuYXBFbGVtZW50c1tsXS50b3AsbT1rK2Uuc25hcEVsZW1lbnRzW2xdLmhlaWdodDtpZihvLWc8
aSYmaTxuK2cmJmstZzxmJiZmPG0rZ3x8by1nPGkmJmk8bitnJiZrLWc8aiYmajxtK2d8fG8tZzxi
JiZiPG4rZyYmay1nPGYmJmY8bStnfHxvLWc8YiYmYjxuK2cmJmstZzxqJiYKK2o8bStnKXtpZiho
LnNuYXBNb2RlIT0iaW5uZXIiKXt2YXIgcD1NYXRoLmFicyhrLWopPD1nLHE9TWF0aC5hYnMobS1m
KTw9ZyxzPU1hdGguYWJzKG8tYik8PWcscj1NYXRoLmFicyhuLWkpPD1nO2lmKHApZC5wb3NpdGlv
bi50b3A9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmstZS5oZWxwZXJQcm9w
b3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wLWUubWFyZ2lucy50b3A7aWYocSlkLnBvc2l0aW9u
LnRvcD1lLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6bSxsZWZ0OjB9KS50b3At
ZS5tYXJnaW5zLnRvcDtpZihzKWQucG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9zaXRpb25Ubygi
cmVsYXRpdmUiLHt0b3A6MCxsZWZ0Om8tZS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aH0pLmxlZnQt
ZS5tYXJnaW5zLmxlZnQ7aWYocilkLnBvc2l0aW9uLmxlZnQ9ZS5fY29udmVydFBvc2l0aW9uVG8o
InJlbGF0aXZlIix7dG9wOjAsbGVmdDpufSkubGVmdC1lLm1hcmdpbnMubGVmdH12YXIgdT0KK3B8
fHF8fHN8fHI7aWYoaC5zbmFwTW9kZSE9Im91dGVyIil7cD1NYXRoLmFicyhrLWYpPD1nO3E9TWF0
aC5hYnMobS1qKTw9ZztzPU1hdGguYWJzKG8taSk8PWc7cj1NYXRoLmFicyhuLWIpPD1nO2lmKHAp
ZC5wb3NpdGlvbi50b3A9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmssbGVm
dDowfSkudG9wLWUubWFyZ2lucy50b3A7aWYocSlkLnBvc2l0aW9uLnRvcD1lLl9jb252ZXJ0UG9z
aXRpb25UbygicmVsYXRpdmUiLHt0b3A6bS1lLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0
OjB9KS50b3AtZS5tYXJnaW5zLnRvcDtpZihzKWQucG9zaXRpb24ubGVmdD1lLl9jb252ZXJ0UG9z
aXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Om99KS5sZWZ0LWUubWFyZ2lucy5sZWZ0O2lm
KHIpZC5wb3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDow
LGxlZnQ6bi1lLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1lLm1hcmdpbnMubGVmdH1p
ZighZS5zbmFwRWxlbWVudHNbbF0uc25hcHBpbmcmJgorKHB8fHF8fHN8fHJ8fHUpKWUub3B0aW9u
cy5zbmFwLnNuYXAmJmUub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChlLmVsZW1lbnQsYyxhLmV4dGVu
ZChlLl91aUhhc2goKSx7c25hcEl0ZW06ZS5zbmFwRWxlbWVudHNbbF0uaXRlbX0pKTtlLnNuYXBF
bGVtZW50c1tsXS5zbmFwcGluZz1wfHxxfHxzfHxyfHx1fWVsc2V7ZS5zbmFwRWxlbWVudHNbbF0u
c25hcHBpbmcmJmUub3B0aW9ucy5zbmFwLnJlbGVhc2UmJmUub3B0aW9ucy5zbmFwLnJlbGVhc2Uu
Y2FsbChlLmVsZW1lbnQsYyxhLmV4dGVuZChlLl91aUhhc2goKSx7c25hcEl0ZW06ZS5zbmFwRWxl
bWVudHNbbF0uaXRlbX0pKTtlLnNuYXBFbGVtZW50c1tsXS5zbmFwcGluZz1mYWxzZX19fX0pO2Eu
dWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic3RhY2siLHtzdGFydDpmdW5jdGlvbigpe3ZhciBj
PWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztjPWEubWFrZUFycmF5KGEoYy5zdGFj
aykpLnNvcnQoZnVuY3Rpb24oZSxoKXtyZXR1cm4ocGFyc2VJbnQoYShlKS5jc3MoInpJbmRleCIp
LAorMTApfHwwKS0ocGFyc2VJbnQoYShoKS5jc3MoInpJbmRleCIpLDEwKXx8MCl9KTtpZihjLmxl
bmd0aCl7dmFyIGQ9cGFyc2VJbnQoY1swXS5zdHlsZS56SW5kZXgpfHwwO2EoYykuZWFjaChmdW5j
dGlvbihlKXt0aGlzLnN0eWxlLnpJbmRleD1kK2V9KTt0aGlzWzBdLnN0eWxlLnpJbmRleD1kK2Mu
bGVuZ3RofX19KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInpJbmRleCIse3N0YXJ0OmZ1
bmN0aW9uKGMsZCl7Yz1hKGQuaGVscGVyKTtkPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0
aW9ucztpZihjLmNzcygiekluZGV4IikpZC5fekluZGV4PWMuY3NzKCJ6SW5kZXgiKTtjLmNzcygi
ekluZGV4IixkLnpJbmRleCl9LHN0b3A6ZnVuY3Rpb24oYyxkKXtjPWEodGhpcykuZGF0YSgiZHJh
Z2dhYmxlIikub3B0aW9ucztjLl96SW5kZXgmJmEoZC5oZWxwZXIpLmNzcygiekluZGV4IixjLl96
SW5kZXgpfX0pfSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLndpZGdldCgidWkuZHJvcHBhYmxl
Iix7d2lkZ2V0RXZlbnRQcmVmaXg6ImRyb3AiLG9wdGlvbnM6e2FjY2VwdDoiKiIsYWN0aXZlQ2xh
c3M6ZmFsc2UsYWRkQ2xhc3Nlczp0cnVlLGdyZWVkeTpmYWxzZSxob3ZlckNsYXNzOmZhbHNlLHNj
b3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2
YXIgYz10aGlzLm9wdGlvbnMsZD1jLmFjY2VwdDt0aGlzLmlzb3Zlcj0wO3RoaXMuaXNvdXQ9MTt0
aGlzLmFjY2VwdD1hLmlzRnVuY3Rpb24oZCk/ZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhkKX07
dGhpcy5wcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdo
dDp0aGlzLmVsZW1lbnRbMF0ub2Zmc2V0SGVpZ2h0fTthLnVpLmRkbWFuYWdlci5kcm9wcGFibGVz
W2Muc2NvcGVdPWEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5zY29wZV18fFtdO2EudWkuZGRt
YW5hZ2VyLmRyb3BwYWJsZXNbYy5zY29wZV0ucHVzaCh0aGlzKTsKK2MuYWRkQ2xhc3NlcyYmdGhp
cy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcm9wcGFibGUiKX0sZGVzdHJveTpmdW5jdGlvbigpe2Zv
cih2YXIgYz1hLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RoaXMub3B0aW9ucy5zY29wZV0sZD0w
O2Q8Yy5sZW5ndGg7ZCsrKWNbZF09PXRoaXMmJmMuc3BsaWNlKGQsMSk7dGhpcy5lbGVtZW50LnJl
bW92ZUNsYXNzKCJ1aS1kcm9wcGFibGUgdWktZHJvcHBhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0
YSgiZHJvcHBhYmxlIikudW5iaW5kKCIuZHJvcHBhYmxlIik7cmV0dXJuIHRoaXN9LF9zZXRPcHRp
b246ZnVuY3Rpb24oYyxkKXtpZihjPT0iYWNjZXB0Iil0aGlzLmFjY2VwdD1hLmlzRnVuY3Rpb24o
ZCk/ZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhkKX07YS5XaWRnZXQucHJvdG90eXBlLl9zZXRP
cHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9
YS51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJgordGhpcy5l
bGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7ZCYmdGhpcy5fdHJpZ2dl
cigiYWN0aXZhdGUiLGMsdGhpcy51aShkKSl9LF9kZWFjdGl2YXRlOmZ1bmN0aW9uKGMpe3ZhciBk
PWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVs
ZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKTtkJiZ0aGlzLl90cmln
Z2VyKCJkZWFjdGl2YXRlIixjLHRoaXMudWkoZCkpfSxfb3ZlcjpmdW5jdGlvbihjKXt2YXIgZD1h
LnVpLmRkbWFuYWdlci5jdXJyZW50O2lmKCEoIWR8fChkLmN1cnJlbnRJdGVtfHxkLmVsZW1lbnQp
WzBdPT10aGlzLmVsZW1lbnRbMF0pKWlmKHRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBd
LGQuY3VycmVudEl0ZW18fGQuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlz
LmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpOwordGhpcy5fdHJpZ2dl
cigib3ZlciIsYyx0aGlzLnVpKGQpKX19LF9vdXQ6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1h
bmFnZXIuY3VycmVudDtpZighKCFkfHwoZC5jdXJyZW50SXRlbXx8ZC5lbGVtZW50KVswXT09dGhp
cy5lbGVtZW50WzBdKSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxkLmN1cnJl
bnRJdGVtfHxkLmVsZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50
LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90cmlnZ2VyKCJvdXQi
LGMsdGhpcy51aShkKSl9fSxfZHJvcDpmdW5jdGlvbihjLGQpe3ZhciBlPWR8fGEudWkuZGRtYW5h
Z2VyLmN1cnJlbnQ7aWYoIWV8fChlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpWzBdPT10aGlzLmVs
ZW1lbnRbMF0pcmV0dXJuIGZhbHNlO3ZhciBoPWZhbHNlO3RoaXMuZWxlbWVudC5maW5kKCI6ZGF0
YShkcm9wcGFibGUpIikubm90KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikuZWFjaChmdW5jdGlv
bigpe3ZhciBnPQorYS5kYXRhKHRoaXMsImRyb3BwYWJsZSIpO2lmKGcub3B0aW9ucy5ncmVlZHkm
JiFnLm9wdGlvbnMuZGlzYWJsZWQmJmcub3B0aW9ucy5zY29wZT09ZS5vcHRpb25zLnNjb3BlJiZn
LmFjY2VwdC5jYWxsKGcuZWxlbWVudFswXSxlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpJiZhLnVp
LmludGVyc2VjdChlLGEuZXh0ZW5kKGcse29mZnNldDpnLmVsZW1lbnQub2Zmc2V0KCl9KSxnLm9w
dGlvbnMudG9sZXJhbmNlKSl7aD10cnVlO3JldHVybiBmYWxzZX19KTtpZihoKXJldHVybiBmYWxz
ZTtpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxlLmN1cnJlbnRJdGVtfHxlLmVs
ZW1lbnQpKXt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFz
cyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpO3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlz
LmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpO3RoaXMuX3RyaWdn
ZXIoImRyb3AiLAorYyx0aGlzLnVpKGUpKTtyZXR1cm4gdGhpcy5lbGVtZW50fXJldHVybiBmYWxz
ZX0sdWk6ZnVuY3Rpb24oYyl7cmV0dXJue2RyYWdnYWJsZTpjLmN1cnJlbnRJdGVtfHxjLmVsZW1l
bnQsaGVscGVyOmMuaGVscGVyLHBvc2l0aW9uOmMucG9zaXRpb24sb2Zmc2V0OmMucG9zaXRpb25B
YnN9fX0pO2EuZXh0ZW5kKGEudWkuZHJvcHBhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSk7YS51aS5p
bnRlcnNlY3Q9ZnVuY3Rpb24oYyxkLGUpe2lmKCFkLm9mZnNldClyZXR1cm4gZmFsc2U7dmFyIGg9
KGMucG9zaXRpb25BYnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQsZz1oK2MuaGVscGVyUHJv
cG9ydGlvbnMud2lkdGgsaT0oYy5wb3NpdGlvbkFic3x8Yy5wb3NpdGlvbi5hYnNvbHV0ZSkudG9w
LGI9aStjLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxmPWQub2Zmc2V0LmxlZnQsaj1mK2QucHJv
cG9ydGlvbnMud2lkdGgsbD1kLm9mZnNldC50b3Asbz1sK2QucHJvcG9ydGlvbnMuaGVpZ2h0Owor
c3dpdGNoKGUpe2Nhc2UgImZpdCI6cmV0dXJuIGY8PWgmJmc8PWomJmw8PWkmJmI8PW87Y2FzZSAi
aW50ZXJzZWN0IjpyZXR1cm4gZjxoK2MuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmZy1jLmhl
bHBlclByb3BvcnRpb25zLndpZHRoLzI8aiYmbDxpK2MuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0
LzImJmItYy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxvO2Nhc2UgInBvaW50ZXIiOnJldHVy
biBhLnVpLmlzT3ZlcigoYy5wb3NpdGlvbkFic3x8Yy5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wKyhj
LmNsaWNrT2Zmc2V0fHxjLm9mZnNldC5jbGljaykudG9wLChjLnBvc2l0aW9uQWJzfHxjLnBvc2l0
aW9uLmFic29sdXRlKS5sZWZ0KyhjLmNsaWNrT2Zmc2V0fHxjLm9mZnNldC5jbGljaykubGVmdCxs
LGYsZC5wcm9wb3J0aW9ucy5oZWlnaHQsZC5wcm9wb3J0aW9ucy53aWR0aCk7Y2FzZSAidG91Y2gi
OnJldHVybihpPj1sJiZpPD1vfHxiPj1sJiZiPD1vfHxpPGwmJmI+bykmJihoPj0KK2YmJmg8PWp8
fGc+PWYmJmc8PWp8fGg8ZiYmZz5qKTtkZWZhdWx0OnJldHVybiBmYWxzZX19O2EudWkuZGRtYW5h
Z2VyPXtjdXJyZW50Om51bGwsZHJvcHBhYmxlczp7ImRlZmF1bHQiOltdfSxwcmVwYXJlT2Zmc2V0
czpmdW5jdGlvbihjLGQpe3ZhciBlPWEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRpb25z
LnNjb3BlXXx8W10saD1kP2QudHlwZTpudWxsLGc9KGMuY3VycmVudEl0ZW18fGMuZWxlbWVudCku
ZmluZCgiOmRhdGEoZHJvcHBhYmxlKSIpLmFuZFNlbGYoKSxpPTA7YTpmb3IoO2k8ZS5sZW5ndGg7
aSsrKWlmKCEoZVtpXS5vcHRpb25zLmRpc2FibGVkfHxjJiYhZVtpXS5hY2NlcHQuY2FsbChlW2ld
LmVsZW1lbnRbMF0sYy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50KSkpe2Zvcih2YXIgYj0wO2I8Zy5s
ZW5ndGg7YisrKWlmKGdbYl09PWVbaV0uZWxlbWVudFswXSl7ZVtpXS5wcm9wb3J0aW9ucy5oZWln
aHQ9MDtjb250aW51ZSBhfWVbaV0udmlzaWJsZT1lW2ldLmVsZW1lbnQuY3NzKCJkaXNwbGF5Iikh
PQorIm5vbmUiO2lmKGVbaV0udmlzaWJsZSl7aD09Im1vdXNlZG93biImJmVbaV0uX2FjdGl2YXRl
LmNhbGwoZVtpXSxkKTtlW2ldLm9mZnNldD1lW2ldLmVsZW1lbnQub2Zmc2V0KCk7ZVtpXS5wcm9w
b3J0aW9ucz17d2lkdGg6ZVtpXS5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDplW2ldLmVs
ZW1lbnRbMF0ub2Zmc2V0SGVpZ2h0fX19fSxkcm9wOmZ1bmN0aW9uKGMsZCl7dmFyIGU9ZmFsc2U7
YS5lYWNoKGEudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYy5vcHRpb25zLnNjb3BlXXx8W10sZnVu
Y3Rpb24oKXtpZih0aGlzLm9wdGlvbnMpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMu
dmlzaWJsZSYmYS51aS5pbnRlcnNlY3QoYyx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpKWU9
ZXx8dGhpcy5fZHJvcC5jYWxsKHRoaXMsZCk7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhp
cy52aXNpYmxlJiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxjLmN1cnJlbnRJdGVt
fHwKK2MuZWxlbWVudCkpe3RoaXMuaXNvdXQ9MTt0aGlzLmlzb3Zlcj0wO3RoaXMuX2RlYWN0aXZh
dGUuY2FsbCh0aGlzLGQpfX19KTtyZXR1cm4gZX0sZHJhZ1N0YXJ0OmZ1bmN0aW9uKGMsZCl7Yy5l
bGVtZW50LnBhcmVudHNVbnRpbCgiYm9keSIpLmJpbmQoInNjcm9sbC5kcm9wcGFibGUiLGZ1bmN0
aW9uKCl7Yy5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnN8fGEudWkuZGRtYW5hZ2VyLnByZXBhcmVP
ZmZzZXRzKGMsZCl9KX0sZHJhZzpmdW5jdGlvbihjLGQpe2Mub3B0aW9ucy5yZWZyZXNoUG9zaXRp
b25zJiZhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhjLGQpO2EuZWFjaChhLnVpLmRkbWFu
YWdlci5kcm9wcGFibGVzW2Mub3B0aW9ucy5zY29wZV18fFtdLGZ1bmN0aW9uKCl7aWYoISh0aGlz
Lm9wdGlvbnMuZGlzYWJsZWR8fHRoaXMuZ3JlZWR5Q2hpbGR8fCF0aGlzLnZpc2libGUpKXt2YXIg
ZT1hLnVpLmludGVyc2VjdChjLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSk7aWYoZT0KKyFl
JiZ0aGlzLmlzb3Zlcj09MT8iaXNvdXQiOmUmJnRoaXMuaXNvdmVyPT0wPyJpc292ZXIiOm51bGwp
e3ZhciBoO2lmKHRoaXMub3B0aW9ucy5ncmVlZHkpe3ZhciBnPXRoaXMuZWxlbWVudC5wYXJlbnRz
KCI6ZGF0YShkcm9wcGFibGUpOmVxKDApIik7aWYoZy5sZW5ndGgpe2g9YS5kYXRhKGdbMF0sImRy
b3BwYWJsZSIpO2guZ3JlZWR5Q2hpbGQ9ZT09Imlzb3ZlciI/MTowfX1pZihoJiZlPT0iaXNvdmVy
Iil7aC5pc292ZXI9MDtoLmlzb3V0PTE7aC5fb3V0LmNhbGwoaCxkKX10aGlzW2VdPTE7dGhpc1tl
PT0iaXNvdXQiPyJpc292ZXIiOiJpc291dCJdPTA7dGhpc1tlPT0iaXNvdmVyIj8iX292ZXIiOiJf
b3V0Il0uY2FsbCh0aGlzLGQpO2lmKGgmJmU9PSJpc291dCIpe2guaXNvdXQ9MDtoLmlzb3Zlcj0x
O2guX292ZXIuY2FsbChoLGQpfX19fSl9LGRyYWdTdG9wOmZ1bmN0aW9uKGMsZCl7Yy5lbGVtZW50
LnBhcmVudHNVbnRpbCgiYm9keSIpLnVuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIpOworYy5vcHRp
b25zLnJlZnJlc2hQb3NpdGlvbnN8fGEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGMsZCl9
fX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLnJlc2l6YWJsZSIsYS51aS5t
b3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InJlc2l6ZSIsb3B0aW9uczp7YWxzb1Jlc2l6ZTpmYWxz
ZSxhbmltYXRlOmZhbHNlLGFuaW1hdGVEdXJhdGlvbjoic2xvdyIsYW5pbWF0ZUVhc2luZzoic3dp
bmciLGFzcGVjdFJhdGlvOmZhbHNlLGF1dG9IaWRlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGdo
b3N0OmZhbHNlLGdyaWQ6ZmFsc2UsaGFuZGxlczoiZSxzLHNlIixoZWxwZXI6ZmFsc2UsbWF4SGVp
Z2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtaW5IZWlnaHQ6MTAsbWluV2lkdGg6MTAsekluZGV4OjFF
M30sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsaD10aGlzLm9wdGlvbnM7dGhpcy5lbGVt
ZW50LmFkZENsYXNzKCJ1aS1yZXNpemFibGUiKTthLmV4dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86
ISFoLmFzcGVjdFJhdGlvLGFzcGVjdFJhdGlvOmguYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50
OnRoaXMuZWxlbWVudCwKK19wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzOltdLF9oZWxwZXI6
aC5oZWxwZXJ8fGguZ2hvc3R8fGguYW5pbWF0ZT9oLmhlbHBlcnx8InVpLXJlc2l6YWJsZS1oZWxw
ZXIiOm51bGx9KTtpZih0aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL2NhbnZhc3x0ZXh0
YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZy9pKSl7L3JlbGF0aXZlLy50ZXN0KHRoaXMuZWxl
bWVudC5jc3MoInBvc2l0aW9uIikpJiZhLmJyb3dzZXIub3BlcmEmJnRoaXMuZWxlbWVudC5jc3Mo
e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0pO3RoaXMuZWxlbWVu
dC53cmFwKGEoJzxkaXYgY2xhc3M9InVpLXdyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzogaGlkZGVu
OyI+PC9kaXY+JykuY3NzKHtwb3NpdGlvbjp0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpLHdp
ZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhl
aWdodCgpLAordG9wOnRoaXMuZWxlbWVudC5jc3MoInRvcCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNz
cygibGVmdCIpfSkpO3RoaXMuZWxlbWVudD10aGlzLmVsZW1lbnQucGFyZW50KCkuZGF0YSgicmVz
aXphYmxlIix0aGlzLmVsZW1lbnQuZGF0YSgicmVzaXphYmxlIikpO3RoaXMuZWxlbWVudElzV3Jh
cHBlcj10cnVlO3RoaXMuZWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6dGhpcy5vcmlnaW5hbEVsZW1l
bnQuY3NzKCJtYXJnaW5MZWZ0IiksbWFyZ2luVG9wOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygi
bWFyZ2luVG9wIiksbWFyZ2luUmlnaHQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5S
aWdodCIpLG1hcmdpbkJvdHRvbTp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkJvdHRv
bSIpfSk7dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHttYXJnaW5MZWZ0OjAsbWFyZ2luVG9wOjAs
bWFyZ2luUmlnaHQ6MCxtYXJnaW5Cb3R0b206MH0pO3RoaXMub3JpZ2luYWxSZXNpemVTdHlsZT0K
K3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIik7dGhpcy5vcmlnaW5hbEVsZW1lbnQu
Y3NzKCJyZXNpemUiLCJub25lIik7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5w
dXNoKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246InN0YXRpYyIsem9vbToxLGRp
c3BsYXk6ImJsb2NrIn0pKTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbjp0aGlzLm9y
aWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbiIpfSk7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUo
KX10aGlzLmhhbmRsZXM9aC5oYW5kbGVzfHwoIWEoIi51aS1yZXNpemFibGUtaGFuZGxlIix0aGlz
LmVsZW1lbnQpLmxlbmd0aD8iZSxzLHNlIjp7bjoiLnVpLXJlc2l6YWJsZS1uIixlOiIudWktcmVz
aXphYmxlLWUiLHM6Ii51aS1yZXNpemFibGUtcyIsdzoiLnVpLXJlc2l6YWJsZS13IixzZToiLnVp
LXJlc2l6YWJsZS1zZSIsc3c6Ii51aS1yZXNpemFibGUtc3ciLG5lOiIudWktcmVzaXphYmxlLW5l
IiwKK253OiIudWktcmVzaXphYmxlLW53In0pO2lmKHRoaXMuaGFuZGxlcy5jb25zdHJ1Y3Rvcj09
U3RyaW5nKXtpZih0aGlzLmhhbmRsZXM9PSJhbGwiKXRoaXMuaGFuZGxlcz0ibixlLHMsdyxzZSxz
dyxuZSxudyI7dmFyIGc9dGhpcy5oYW5kbGVzLnNwbGl0KCIsIik7dGhpcy5oYW5kbGVzPXt9O2Zv
cih2YXIgaT0wO2k8Zy5sZW5ndGg7aSsrKXt2YXIgYj1hLnRyaW0oZ1tpXSksZj1hKCc8ZGl2IGNs
YXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlICcrKCJ1aS1yZXNpemFibGUtIitiKSsnIj48L2Rpdj4n
KTsvc3d8c2V8bmV8bncvLnRlc3QoYikmJmYuY3NzKHt6SW5kZXg6KytoLnpJbmRleH0pOyJzZSI9
PWImJmYuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKTt0
aGlzLmhhbmRsZXNbYl09Ii51aS1yZXNpemFibGUtIitiO3RoaXMuZWxlbWVudC5hcHBlbmQoZil9
fXRoaXMuX3JlbmRlckF4aXM9ZnVuY3Rpb24oail7aj1qfHx0aGlzLmVsZW1lbnQ7Zm9yKHZhciBs
IGluIHRoaXMuaGFuZGxlcyl7aWYodGhpcy5oYW5kbGVzW2xdLmNvbnN0cnVjdG9yPT0KK1N0cmlu
Zyl0aGlzLmhhbmRsZXNbbF09YSh0aGlzLmhhbmRsZXNbbF0sdGhpcy5lbGVtZW50KS5zaG93KCk7
aWYodGhpcy5lbGVtZW50SXNXcmFwcGVyJiZ0aGlzLm9yaWdpbmFsRWxlbWVudFswXS5ub2RlTmFt
ZS5tYXRjaCgvdGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbi9pKSl7dmFyIG89YSh0aGlzLmhh
bmRsZXNbbF0sdGhpcy5lbGVtZW50KSxuPTA7bj0vc3d8bmV8bnd8c2V8bnxzLy50ZXN0KGwpP28u
b3V0ZXJIZWlnaHQoKTpvLm91dGVyV2lkdGgoKTtvPVsicGFkZGluZyIsL25lfG53fG4vLnRlc3Qo
bCk/IlRvcCI6L3NlfHN3fHMvLnRlc3QobCk/IkJvdHRvbSI6L15lJC8udGVzdChsKT8iUmlnaHQi
OiJMZWZ0Il0uam9pbigiIik7ai5jc3MobyxuKTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgp
fWEodGhpcy5oYW5kbGVzW2xdKX19O3RoaXMuX3JlbmRlckF4aXModGhpcy5lbGVtZW50KTt0aGlz
Ll9oYW5kbGVzPWEoIi51aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmRpc2FibGVT
ZWxlY3Rpb24oKTsKK3RoaXMuX2hhbmRsZXMubW91c2VvdmVyKGZ1bmN0aW9uKCl7aWYoIWUucmVz
aXppbmcpe2lmKHRoaXMuY2xhc3NOYW1lKXZhciBqPXRoaXMuY2xhc3NOYW1lLm1hdGNoKC91aS1y
ZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kpO2UuYXhpcz1qJiZqWzFdP2pbMV06InNl
In19KTtpZihoLmF1dG9IaWRlKXt0aGlzLl9oYW5kbGVzLmhpZGUoKTthKHRoaXMuZWxlbWVudCku
YWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpLmhvdmVyKGZ1bmN0aW9uKCl7aWYoIWgu
ZGlzYWJsZWQpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpO2Uu
X2hhbmRsZXMuc2hvdygpfX0sZnVuY3Rpb24oKXtpZighaC5kaXNhYmxlZClpZighZS5yZXNpemlu
Zyl7YSh0aGlzKS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIik7ZS5faGFuZGxlcy5o
aWRlKCl9fSl9dGhpcy5fbW91c2VJbml0KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3Vz
ZURlc3Ryb3koKTsKK3ZhciBlPWZ1bmN0aW9uKGcpe2EoZykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6
YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikucmVtb3Zl
RGF0YSgicmVzaXphYmxlIikudW5iaW5kKCIucmVzaXphYmxlIikuZmluZCgiLnVpLXJlc2l6YWJs
ZS1oYW5kbGUiKS5yZW1vdmUoKX07aWYodGhpcy5lbGVtZW50SXNXcmFwcGVyKXtlKHRoaXMuZWxl
bWVudCk7dmFyIGg9dGhpcy5lbGVtZW50O2guYWZ0ZXIodGhpcy5vcmlnaW5hbEVsZW1lbnQuY3Nz
KHtwb3NpdGlvbjpoLmNzcygicG9zaXRpb24iKSx3aWR0aDpoLm91dGVyV2lkdGgoKSxoZWlnaHQ6
aC5vdXRlckhlaWdodCgpLHRvcDpoLmNzcygidG9wIiksbGVmdDpoLmNzcygibGVmdCIpfSkpLnJl
bW92ZSgpfXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIix0aGlzLm9yaWdpbmFsUmVz
aXplU3R5bGUpO2UodGhpcy5vcmlnaW5hbEVsZW1lbnQpO3JldHVybiB0aGlzfSxfbW91c2VDYXB0
dXJlOmZ1bmN0aW9uKGUpe3ZhciBoPQorZmFsc2U7Zm9yKHZhciBnIGluIHRoaXMuaGFuZGxlcylp
ZihhKHRoaXMuaGFuZGxlc1tnXSlbMF09PWUudGFyZ2V0KWg9dHJ1ZTtyZXR1cm4hdGhpcy5vcHRp
b25zLmRpc2FibGVkJiZofSxfbW91c2VTdGFydDpmdW5jdGlvbihlKXt2YXIgaD10aGlzLm9wdGlv
bnMsZz10aGlzLmVsZW1lbnQucG9zaXRpb24oKSxpPXRoaXMuZWxlbWVudDt0aGlzLnJlc2l6aW5n
PXRydWU7dGhpcy5kb2N1bWVudFNjcm9sbD17dG9wOmEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLGxl
ZnQ6YShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpfTtpZihpLmlzKCIudWktZHJhZ2dhYmxlIil8fC9h
YnNvbHV0ZS8udGVzdChpLmNzcygicG9zaXRpb24iKSkpaS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0
ZSIsdG9wOmcudG9wLGxlZnQ6Zy5sZWZ0fSk7YS5icm93c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRl
c3QoaS5jc3MoInBvc2l0aW9uIikpJiZpLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6ImF1
dG8iLGxlZnQ6ImF1dG8ifSk7Cit0aGlzLl9yZW5kZXJQcm94eSgpO2c9Yyh0aGlzLmhlbHBlci5j
c3MoImxlZnQiKSk7dmFyIGI9Yyh0aGlzLmhlbHBlci5jc3MoInRvcCIpKTtpZihoLmNvbnRhaW5t
ZW50KXtnKz1hKGguY29udGFpbm1lbnQpLnNjcm9sbExlZnQoKXx8MDtiKz1hKGguY29udGFpbm1l
bnQpLnNjcm9sbFRvcCgpfHwwfXRoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpO3RoaXMu
cG9zaXRpb249e2xlZnQ6Zyx0b3A6Yn07dGhpcy5zaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6aS5v
dXRlcldpZHRoKCksaGVpZ2h0Omkub3V0ZXJIZWlnaHQoKX06e3dpZHRoOmkud2lkdGgoKSxoZWln
aHQ6aS5oZWlnaHQoKX07dGhpcy5vcmlnaW5hbFNpemU9dGhpcy5faGVscGVyP3t3aWR0aDppLm91
dGVyV2lkdGgoKSxoZWlnaHQ6aS5vdXRlckhlaWdodCgpfTp7d2lkdGg6aS53aWR0aCgpLGhlaWdo
dDppLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsUG9zaXRpb249e2xlZnQ6Zyx0b3A6Yn07dGhpcy5z
aXplRGlmZj0KK3t3aWR0aDppLm91dGVyV2lkdGgoKS1pLndpZHRoKCksaGVpZ2h0Omkub3V0ZXJI
ZWlnaHQoKS1pLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbj17bGVmdDplLnBh
Z2VYLHRvcDplLnBhZ2VZfTt0aGlzLmFzcGVjdFJhdGlvPXR5cGVvZiBoLmFzcGVjdFJhdGlvPT0i
bnVtYmVyIj9oLmFzcGVjdFJhdGlvOnRoaXMub3JpZ2luYWxTaXplLndpZHRoL3RoaXMub3JpZ2lu
YWxTaXplLmhlaWdodHx8MTtoPWEoIi51aS1yZXNpemFibGUtIit0aGlzLmF4aXMpLmNzcygiY3Vy
c29yIik7YSgiYm9keSIpLmNzcygiY3Vyc29yIixoPT0iYXV0byI/dGhpcy5heGlzKyItcmVzaXpl
IjpoKTtpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKTt0aGlzLl9wcm9wYWdhdGUo
InN0YXJ0IixlKTtyZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXt2YXIgaD10aGlz
LmhlbHBlcixnPXRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uLGk9dGhpcy5fY2hhbmdlW3RoaXMu
YXhpc107CitpZighaSlyZXR1cm4gZmFsc2U7Zz1pLmFwcGx5KHRoaXMsW2UsZS5wYWdlWC1nLmxl
ZnR8fDAsZS5wYWdlWS1nLnRvcHx8MF0pO3RoaXMuX3VwZGF0ZVZpcnR1YWxCb3VuZGFyaWVzKGUu
c2hpZnRLZXkpO2lmKHRoaXMuX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5KWc9dGhpcy5fdXBkYXRl
UmF0aW8oZyxlKTtnPXRoaXMuX3Jlc3BlY3RTaXplKGcsZSk7dGhpcy5fcHJvcGFnYXRlKCJyZXNp
emUiLGUpO2guY3NzKHt0b3A6dGhpcy5wb3NpdGlvbi50b3ArInB4IixsZWZ0OnRoaXMucG9zaXRp
b24ubGVmdCsicHgiLHdpZHRoOnRoaXMuc2l6ZS53aWR0aCsicHgiLGhlaWdodDp0aGlzLnNpemUu
aGVpZ2h0KyJweCJ9KTshdGhpcy5faGVscGVyJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVs
ZW1lbnRzLmxlbmd0aCYmdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKTt0aGlzLl91cGRhdGVD
YWNoZShnKTt0aGlzLl90cmlnZ2VyKCJyZXNpemUiLGUsdGhpcy51aSgpKTtyZXR1cm4gZmFsc2V9
LAorX21vdXNlU3RvcDpmdW5jdGlvbihlKXt0aGlzLnJlc2l6aW5nPWZhbHNlO3ZhciBoPXRoaXMu
b3B0aW9ucyxnPXRoaXM7aWYodGhpcy5faGVscGVyKXt2YXIgaT10aGlzLl9wcm9wb3J0aW9uYWxs
eVJlc2l6ZUVsZW1lbnRzLGI9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2RlTmFt
ZSk7aT1iJiZhLnVpLmhhc1Njcm9sbChpWzBdLCJsZWZ0Iik/MDpnLnNpemVEaWZmLmhlaWdodDti
PWI/MDpnLnNpemVEaWZmLndpZHRoO2I9e3dpZHRoOmcuaGVscGVyLndpZHRoKCktYixoZWlnaHQ6
Zy5oZWxwZXIuaGVpZ2h0KCktaX07aT1wYXJzZUludChnLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTAp
KyhnLnBvc2l0aW9uLmxlZnQtZy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQpfHxudWxsO3ZhciBmPXBh
cnNlSW50KGcuZWxlbWVudC5jc3MoInRvcCIpLDEwKSsoZy5wb3NpdGlvbi50b3AtZy5vcmlnaW5h
bFBvc2l0aW9uLnRvcCl8fG51bGw7aC5hbmltYXRlfHx0aGlzLmVsZW1lbnQuY3NzKGEuZXh0ZW5k
KGIsCit7dG9wOmYsbGVmdDppfSkpO2cuaGVscGVyLmhlaWdodChnLnNpemUuaGVpZ2h0KTtnLmhl
bHBlci53aWR0aChnLnNpemUud2lkdGgpO3RoaXMuX2hlbHBlciYmIWguYW5pbWF0ZSYmdGhpcy5f
cHJvcG9ydGlvbmFsbHlSZXNpemUoKX1hKCJib2R5IikuY3NzKCJjdXJzb3IiLCJhdXRvIik7dGhp
cy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKTt0aGlzLl9wcm9w
YWdhdGUoInN0b3AiLGUpO3RoaXMuX2hlbHBlciYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7cmV0dXJu
IGZhbHNlfSxfdXBkYXRlVmlydHVhbEJvdW5kYXJpZXM6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5v
cHRpb25zLGcsaSxiO2g9e21pbldpZHRoOmQoaC5taW5XaWR0aCk/aC5taW5XaWR0aDowLG1heFdp
ZHRoOmQoaC5tYXhXaWR0aCk/aC5tYXhXaWR0aDpJbmZpbml0eSxtaW5IZWlnaHQ6ZChoLm1pbkhl
aWdodCk/aC5taW5IZWlnaHQ6MCxtYXhIZWlnaHQ6ZChoLm1heEhlaWdodCk/aC5tYXhIZWlnaHQ6
CitJbmZpbml0eX07aWYodGhpcy5fYXNwZWN0UmF0aW98fGUpe2U9aC5taW5IZWlnaHQqdGhpcy5h
c3BlY3RSYXRpbztpPWgubWluV2lkdGgvdGhpcy5hc3BlY3RSYXRpbztnPWgubWF4SGVpZ2h0KnRo
aXMuYXNwZWN0UmF0aW87Yj1oLm1heFdpZHRoL3RoaXMuYXNwZWN0UmF0aW87aWYoZT5oLm1pbldp
ZHRoKWgubWluV2lkdGg9ZTtpZihpPmgubWluSGVpZ2h0KWgubWluSGVpZ2h0PWk7aWYoZzxoLm1h
eFdpZHRoKWgubWF4V2lkdGg9ZztpZihiPGgubWF4SGVpZ2h0KWgubWF4SGVpZ2h0PWJ9dGhpcy5f
dkJvdW5kYXJpZXM9aH0sX3VwZGF0ZUNhY2hlOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXRoaXMu
aGVscGVyLm9mZnNldCgpO2lmKGQoZS5sZWZ0KSl0aGlzLnBvc2l0aW9uLmxlZnQ9ZS5sZWZ0O2lm
KGQoZS50b3ApKXRoaXMucG9zaXRpb24udG9wPWUudG9wO2lmKGQoZS5oZWlnaHQpKXRoaXMuc2l6
ZS5oZWlnaHQ9ZS5oZWlnaHQ7aWYoZChlLndpZHRoKSl0aGlzLnNpemUud2lkdGg9CitlLndpZHRo
fSxfdXBkYXRlUmF0aW86ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5wb3NpdGlvbixnPXRoaXMuc2l6
ZSxpPXRoaXMuYXhpcztpZihkKGUuaGVpZ2h0KSllLndpZHRoPWUuaGVpZ2h0KnRoaXMuYXNwZWN0
UmF0aW87ZWxzZSBpZihkKGUud2lkdGgpKWUuaGVpZ2h0PWUud2lkdGgvdGhpcy5hc3BlY3RSYXRp
bztpZihpPT0ic3ciKXtlLmxlZnQ9aC5sZWZ0KyhnLndpZHRoLWUud2lkdGgpO2UudG9wPW51bGx9
aWYoaT09Im53Iil7ZS50b3A9aC50b3ArKGcuaGVpZ2h0LWUuaGVpZ2h0KTtlLmxlZnQ9aC5sZWZ0
KyhnLndpZHRoLWUud2lkdGgpfXJldHVybiBlfSxfcmVzcGVjdFNpemU6ZnVuY3Rpb24oZSl7dmFy
IGg9dGhpcy5fdkJvdW5kYXJpZXMsZz10aGlzLmF4aXMsaT1kKGUud2lkdGgpJiZoLm1heFdpZHRo
JiZoLm1heFdpZHRoPGUud2lkdGgsYj1kKGUuaGVpZ2h0KSYmaC5tYXhIZWlnaHQmJmgubWF4SGVp
Z2h0PGUuaGVpZ2h0LGY9ZChlLndpZHRoKSYmaC5taW5XaWR0aCYmCitoLm1pbldpZHRoPmUud2lk
dGgsaj1kKGUuaGVpZ2h0KSYmaC5taW5IZWlnaHQmJmgubWluSGVpZ2h0PmUuaGVpZ2h0O2lmKGYp
ZS53aWR0aD1oLm1pbldpZHRoO2lmKGopZS5oZWlnaHQ9aC5taW5IZWlnaHQ7aWYoaSllLndpZHRo
PWgubWF4V2lkdGg7aWYoYillLmhlaWdodD1oLm1heEhlaWdodDt2YXIgbD10aGlzLm9yaWdpbmFs
UG9zaXRpb24ubGVmdCt0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCxvPXRoaXMucG9zaXRpb24udG9w
K3RoaXMuc2l6ZS5oZWlnaHQsbj0vc3d8bnd8dy8udGVzdChnKTtnPS9ud3xuZXxuLy50ZXN0KGcp
O2lmKGYmJm4pZS5sZWZ0PWwtaC5taW5XaWR0aDtpZihpJiZuKWUubGVmdD1sLWgubWF4V2lkdGg7
aWYoaiYmZyllLnRvcD1vLWgubWluSGVpZ2h0O2lmKGImJmcpZS50b3A9by1oLm1heEhlaWdodDtp
ZigoaD0hZS53aWR0aCYmIWUuaGVpZ2h0KSYmIWUubGVmdCYmZS50b3ApZS50b3A9bnVsbDtlbHNl
IGlmKGgmJiFlLnRvcCYmZS5sZWZ0KWUubGVmdD0KK251bGw7cmV0dXJuIGV9LF9wcm9wb3J0aW9u
YWxseVJlc2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVu
dHMubGVuZ3RoKWZvcih2YXIgZT10aGlzLmhlbHBlcnx8dGhpcy5lbGVtZW50LGg9MDtoPHRoaXMu
X3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoO2grKyl7dmFyIGc9dGhpcy5fcHJv
cG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1toXTtpZighdGhpcy5ib3JkZXJEaWYpe3ZhciBpPVtn
LmNzcygiYm9yZGVyVG9wV2lkdGgiKSxnLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLGcuY3NzKCJi
b3JkZXJCb3R0b21XaWR0aCIpLGcuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKV0sYj1bZy5jc3MoInBh
ZGRpbmdUb3AiKSxnLmNzcygicGFkZGluZ1JpZ2h0IiksZy5jc3MoInBhZGRpbmdCb3R0b20iKSxn
LmNzcygicGFkZGluZ0xlZnQiKV07dGhpcy5ib3JkZXJEaWY9YS5tYXAoaSxmdW5jdGlvbihmLGop
e2Y9cGFyc2VJbnQoZiwxMCl8fAorMDtqPXBhcnNlSW50KGJbal0sMTApfHwwO3JldHVybiBmK2p9
KX1hLmJyb3dzZXIubXNpZSYmKGEoZSkuaXMoIjpoaWRkZW4iKXx8YShlKS5wYXJlbnRzKCI6aGlk
ZGVuIikubGVuZ3RoKXx8Zy5jc3Moe2hlaWdodDplLmhlaWdodCgpLXRoaXMuYm9yZGVyRGlmWzBd
LXRoaXMuYm9yZGVyRGlmWzJdfHwwLHdpZHRoOmUud2lkdGgoKS10aGlzLmJvcmRlckRpZlsxXS10
aGlzLmJvcmRlckRpZlszXXx8MH0pfX0sX3JlbmRlclByb3h5OmZ1bmN0aW9uKCl7dmFyIGU9dGhp
cy5vcHRpb25zO3RoaXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7aWYodGhp
cy5faGVscGVyKXt0aGlzLmhlbHBlcj10aGlzLmhlbHBlcnx8YSgnPGRpdiBzdHlsZT0ib3ZlcmZs
b3c6aGlkZGVuOyI+PC9kaXY+Jyk7dmFyIGg9YS5icm93c2VyLm1zaWUmJmEuYnJvd3Nlci52ZXJz
aW9uPDcsZz1oPzE6MDtoPWg/MjotMTt0aGlzLmhlbHBlci5hZGRDbGFzcyh0aGlzLl9oZWxwZXIp
LmNzcyh7d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSsKK2gsaGVpZ2h0OnRoaXMuZWxl
bWVudC5vdXRlckhlaWdodCgpK2gscG9zaXRpb246ImFic29sdXRlIixsZWZ0OnRoaXMuZWxlbWVu
dE9mZnNldC5sZWZ0LWcrInB4Iix0b3A6dGhpcy5lbGVtZW50T2Zmc2V0LnRvcC1nKyJweCIseklu
ZGV4OisrZS56SW5kZXh9KTt0aGlzLmhlbHBlci5hcHBlbmRUbygiYm9keSIpLmRpc2FibGVTZWxl
Y3Rpb24oKX1lbHNlIHRoaXMuaGVscGVyPXRoaXMuZWxlbWVudH0sX2NoYW5nZTp7ZTpmdW5jdGlv
bihlLGgpe3JldHVybnt3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCtofX0sdzpmdW5jdGlv
bihlLGgpe3JldHVybntsZWZ0OnRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K2gsd2lkdGg6dGhp
cy5vcmlnaW5hbFNpemUud2lkdGgtaH19LG46ZnVuY3Rpb24oZSxoLGcpe3JldHVybnt0b3A6dGhp
cy5vcmlnaW5hbFBvc2l0aW9uLnRvcCtnLGhlaWdodDp0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQt
Z319LHM6ZnVuY3Rpb24oZSxoLGcpe3JldHVybntoZWlnaHQ6dGhpcy5vcmlnaW5hbFNpemUuaGVp
Z2h0KworZ319LHNlOmZ1bmN0aW9uKGUsaCxnKXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdl
LnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS5lLmFwcGx5KHRoaXMsW2UsaCxn
XSkpfSxzdzpmdW5jdGlvbihlLGgsZyl7cmV0dXJuIGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFw
cGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2Uudy5hcHBseSh0aGlzLFtlLGgsZ10pKX0s
bmU6ZnVuY3Rpb24oZSxoLGcpe3JldHVybiBhLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0
aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZSxoLGddKSl9LG53OmZ1
bmN0aW9uKGUsaCxnKXtyZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcyxh
cmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2UsaCxnXSkpfX0sX3Byb3BhZ2F0
ZTpmdW5jdGlvbihlLGgpe2EudWkucGx1Z2luLmNhbGwodGhpcyxlLFtoLHRoaXMudWkoKV0pOwor
ZSE9InJlc2l6ZSImJnRoaXMuX3RyaWdnZXIoZSxoLHRoaXMudWkoKSl9LHBsdWdpbnM6e30sdWk6
ZnVuY3Rpb24oKXtyZXR1cm57b3JpZ2luYWxFbGVtZW50OnRoaXMub3JpZ2luYWxFbGVtZW50LGVs
ZW1lbnQ6dGhpcy5lbGVtZW50LGhlbHBlcjp0aGlzLmhlbHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0
aW9uLHNpemU6dGhpcy5zaXplLG9yaWdpbmFsU2l6ZTp0aGlzLm9yaWdpbmFsU2l6ZSxvcmlnaW5h
bFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3NpdGlvbn19fSk7YS5leHRlbmQoYS51aS5yZXNpemFi
bGUse3ZlcnNpb246IjEuOC4xNSJ9KTthLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFsc29S
ZXNpemUiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIiku
b3B0aW9ucyxoPWZ1bmN0aW9uKGcpe2EoZykuZWFjaChmdW5jdGlvbigpe3ZhciBpPWEodGhpcyk7
aS5kYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIse3dpZHRoOnBhcnNlSW50KGkud2lkdGgoKSwK
KzEwKSxoZWlnaHQ6cGFyc2VJbnQoaS5oZWlnaHQoKSwxMCksbGVmdDpwYXJzZUludChpLmNzcygi
bGVmdCIpLDEwKSx0b3A6cGFyc2VJbnQoaS5jc3MoInRvcCIpLDEwKSxwb3NpdGlvbjppLmNzcygi
cG9zaXRpb24iKX0pfSl9O2lmKHR5cGVvZiBlLmFsc29SZXNpemU9PSJvYmplY3QiJiYhZS5hbHNv
UmVzaXplLnBhcmVudE5vZGUpaWYoZS5hbHNvUmVzaXplLmxlbmd0aCl7ZS5hbHNvUmVzaXplPWUu
YWxzb1Jlc2l6ZVswXTtoKGUuYWxzb1Jlc2l6ZSl9ZWxzZSBhLmVhY2goZS5hbHNvUmVzaXplLGZ1
bmN0aW9uKGcpe2goZyl9KTtlbHNlIGgoZS5hbHNvUmVzaXplKX0scmVzaXplOmZ1bmN0aW9uKGUs
aCl7dmFyIGc9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKTtlPWcub3B0aW9uczt2YXIgaT1nLm9y
aWdpbmFsU2l6ZSxiPWcub3JpZ2luYWxQb3NpdGlvbixmPXtoZWlnaHQ6Zy5zaXplLmhlaWdodC1p
LmhlaWdodHx8MCx3aWR0aDpnLnNpemUud2lkdGgtaS53aWR0aHx8MCx0b3A6Zy5wb3NpdGlvbi50
b3AtCitiLnRvcHx8MCxsZWZ0OmcucG9zaXRpb24ubGVmdC1iLmxlZnR8fDB9LGo9ZnVuY3Rpb24o
bCxvKXthKGwpLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1hKHRoaXMpLGs9YSh0aGlzKS5kYXRhKCJy
ZXNpemFibGUtYWxzb3Jlc2l6ZSIpLG09e30scD1vJiZvLmxlbmd0aD9vOm4ucGFyZW50cyhoLm9y
aWdpbmFsRWxlbWVudFswXSkubGVuZ3RoP1sid2lkdGgiLCJoZWlnaHQiXTpbIndpZHRoIiwiaGVp
Z2h0IiwidG9wIiwibGVmdCJdO2EuZWFjaChwLGZ1bmN0aW9uKHEscyl7aWYoKHE9KGtbc118fDAp
KyhmW3NdfHwwKSkmJnE+PTApbVtzXT1xfHxudWxsfSk7aWYoYS5icm93c2VyLm9wZXJhJiYvcmVs
YXRpdmUvLnRlc3Qobi5jc3MoInBvc2l0aW9uIikpKXtnLl9yZXZlcnRUb1JlbGF0aXZlUG9zaXRp
b249dHJ1ZTtuLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8i
fSl9bi5jc3MobSl9KX07dHlwZW9mIGUuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFlLmFsc29SZXNp
emUubm9kZVR5cGU/CithLmVhY2goZS5hbHNvUmVzaXplLGZ1bmN0aW9uKGwsbyl7aihsLG8pfSk6
aihlLmFsc29SZXNpemUpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNp
emFibGUiKSxoPWUub3B0aW9ucyxnPWZ1bmN0aW9uKGkpe2EoaSkuZWFjaChmdW5jdGlvbigpe3Zh
ciBiPWEodGhpcyk7Yi5jc3Moe3Bvc2l0aW9uOmIuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUi
KS5wb3NpdGlvbn0pfSl9O2lmKGUuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbil7ZS5fcmV2ZXJ0
VG9SZWxhdGl2ZVBvc2l0aW9uPWZhbHNlO3R5cGVvZiBoLmFsc29SZXNpemU9PSJvYmplY3QiJiYh
aC5hbHNvUmVzaXplLm5vZGVUeXBlP2EuZWFjaChoLmFsc29SZXNpemUsZnVuY3Rpb24oaSl7Zyhp
KX0pOmcoaC5hbHNvUmVzaXplKX1hKHRoaXMpLnJlbW92ZURhdGEoInJlc2l6YWJsZS1hbHNvcmVz
aXplIil9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJhbmltYXRlIix7c3RvcDpmdW5j
dGlvbihlKXt2YXIgaD0KK2EodGhpcykuZGF0YSgicmVzaXphYmxlIiksZz1oLm9wdGlvbnMsaT1o
Ll9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGI9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRl
c3QoaVswXS5ub2RlTmFtZSksZj1iJiZhLnVpLmhhc1Njcm9sbChpWzBdLCJsZWZ0Iik/MDpoLnNp
emVEaWZmLmhlaWdodDtiPXt3aWR0aDpoLnNpemUud2lkdGgtKGI/MDpoLnNpemVEaWZmLndpZHRo
KSxoZWlnaHQ6aC5zaXplLmhlaWdodC1mfTtmPXBhcnNlSW50KGguZWxlbWVudC5jc3MoImxlZnQi
KSwxMCkrKGgucG9zaXRpb24ubGVmdC1oLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFy
IGo9cGFyc2VJbnQoaC5lbGVtZW50LmNzcygidG9wIiksMTApKyhoLnBvc2l0aW9uLnRvcC1oLm9y
aWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDtoLmVsZW1lbnQuYW5pbWF0ZShhLmV4dGVuZChiLGom
JmY/e3RvcDpqLGxlZnQ6Zn06e30pLHtkdXJhdGlvbjpnLmFuaW1hdGVEdXJhdGlvbixlYXNpbmc6
Zy5hbmltYXRlRWFzaW5nLAorc3RlcDpmdW5jdGlvbigpe3ZhciBsPXt3aWR0aDpwYXJzZUludCho
LmVsZW1lbnQuY3NzKCJ3aWR0aCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQoaC5lbGVtZW50LmNzcygi
aGVpZ2h0IiksMTApLHRvcDpwYXJzZUludChoLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpw
YXJzZUludChoLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApfTtpJiZpLmxlbmd0aCYmYShpWzBdKS5j
c3Moe3dpZHRoOmwud2lkdGgsaGVpZ2h0OmwuaGVpZ2h0fSk7aC5fdXBkYXRlQ2FjaGUobCk7aC5f
cHJvcGFnYXRlKCJyZXNpemUiLGUpfX0pfX0pO2EudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwi
Y29udGFpbm1lbnQiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXph
YmxlIiksaD1lLmVsZW1lbnQsZz1lLm9wdGlvbnMuY29udGFpbm1lbnQ7aWYoaD1nIGluc3RhbmNl
b2YgYT9nLmdldCgwKTovcGFyZW50Ly50ZXN0KGcpP2gucGFyZW50KCkuZ2V0KDApOmcpe2UuY29u
dGFpbmVyRWxlbWVudD0KK2EoaCk7aWYoL2RvY3VtZW50Ly50ZXN0KGcpfHxnPT1kb2N1bWVudCl7
ZS5jb250YWluZXJPZmZzZXQ9e2xlZnQ6MCx0b3A6MH07ZS5jb250YWluZXJQb3NpdGlvbj17bGVm
dDowLHRvcDowfTtlLnBhcmVudERhdGE9e2VsZW1lbnQ6YShkb2N1bWVudCksbGVmdDowLHRvcDow
LHdpZHRoOmEoZG9jdW1lbnQpLndpZHRoKCksaGVpZ2h0OmEoZG9jdW1lbnQpLmhlaWdodCgpfHxk
b2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0fX1lbHNle3ZhciBpPWEoaCksYj1b
XTthKFsiVG9wIiwiUmlnaHQiLCJMZWZ0IiwiQm90dG9tIl0pLmVhY2goZnVuY3Rpb24obCxvKXti
W2xdPWMoaS5jc3MoInBhZGRpbmciK28pKX0pO2UuY29udGFpbmVyT2Zmc2V0PWkub2Zmc2V0KCk7
ZS5jb250YWluZXJQb3NpdGlvbj1pLnBvc2l0aW9uKCk7ZS5jb250YWluZXJTaXplPXtoZWlnaHQ6
aS5pbm5lckhlaWdodCgpLWJbM10sd2lkdGg6aS5pbm5lcldpZHRoKCktYlsxXX07Zz1lLmNvbnRh
aW5lck9mZnNldDsKK3ZhciBmPWUuY29udGFpbmVyU2l6ZS5oZWlnaHQsaj1lLmNvbnRhaW5lclNp
emUud2lkdGg7aj1hLnVpLmhhc1Njcm9sbChoLCJsZWZ0Iik/aC5zY3JvbGxXaWR0aDpqO2Y9YS51
aS5oYXNTY3JvbGwoaCk/aC5zY3JvbGxIZWlnaHQ6ZjtlLnBhcmVudERhdGE9e2VsZW1lbnQ6aCxs
ZWZ0OmcubGVmdCx0b3A6Zy50b3Asd2lkdGg6aixoZWlnaHQ6Zn19fX0scmVzaXplOmZ1bmN0aW9u
KGUpe3ZhciBoPWEodGhpcykuZGF0YSgicmVzaXphYmxlIiksZz1oLm9wdGlvbnMsaT1oLmNvbnRh
aW5lck9mZnNldCxiPWgucG9zaXRpb247ZT1oLl9hc3BlY3RSYXRpb3x8ZS5zaGlmdEtleTt2YXIg
Zj17dG9wOjAsbGVmdDowfSxqPWguY29udGFpbmVyRWxlbWVudDtpZihqWzBdIT1kb2N1bWVudCYm
L3N0YXRpYy8udGVzdChqLmNzcygicG9zaXRpb24iKSkpZj1pO2lmKGIubGVmdDwoaC5faGVscGVy
P2kubGVmdDowKSl7aC5zaXplLndpZHRoKz1oLl9oZWxwZXI/aC5wb3NpdGlvbi5sZWZ0LWkubGVm
dDoKK2gucG9zaXRpb24ubGVmdC1mLmxlZnQ7aWYoZSloLnNpemUuaGVpZ2h0PWguc2l6ZS53aWR0
aC9nLmFzcGVjdFJhdGlvO2gucG9zaXRpb24ubGVmdD1nLmhlbHBlcj9pLmxlZnQ6MH1pZihiLnRv
cDwoaC5faGVscGVyP2kudG9wOjApKXtoLnNpemUuaGVpZ2h0Kz1oLl9oZWxwZXI/aC5wb3NpdGlv
bi50b3AtaS50b3A6aC5wb3NpdGlvbi50b3A7aWYoZSloLnNpemUud2lkdGg9aC5zaXplLmhlaWdo
dCpnLmFzcGVjdFJhdGlvO2gucG9zaXRpb24udG9wPWguX2hlbHBlcj9pLnRvcDowfWgub2Zmc2V0
LmxlZnQ9aC5wYXJlbnREYXRhLmxlZnQraC5wb3NpdGlvbi5sZWZ0O2gub2Zmc2V0LnRvcD1oLnBh
cmVudERhdGEudG9wK2gucG9zaXRpb24udG9wO2c9TWF0aC5hYnMoKGguX2hlbHBlcj9oLm9mZnNl
dC5sZWZ0LWYubGVmdDpoLm9mZnNldC5sZWZ0LWYubGVmdCkraC5zaXplRGlmZi53aWR0aCk7aT1N
YXRoLmFicygoaC5faGVscGVyP2gub2Zmc2V0LnRvcC1mLnRvcDpoLm9mZnNldC50b3AtCitpLnRv
cCkraC5zaXplRGlmZi5oZWlnaHQpO2I9aC5jb250YWluZXJFbGVtZW50LmdldCgwKT09aC5lbGVt
ZW50LnBhcmVudCgpLmdldCgwKTtmPS9yZWxhdGl2ZXxhYnNvbHV0ZS8udGVzdChoLmNvbnRhaW5l
ckVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKTtpZihiJiZmKWctPWgucGFyZW50RGF0YS5sZWZ0O2lm
KGcraC5zaXplLndpZHRoPj1oLnBhcmVudERhdGEud2lkdGgpe2guc2l6ZS53aWR0aD1oLnBhcmVu
dERhdGEud2lkdGgtZztpZihlKWguc2l6ZS5oZWlnaHQ9aC5zaXplLndpZHRoL2guYXNwZWN0UmF0
aW99aWYoaStoLnNpemUuaGVpZ2h0Pj1oLnBhcmVudERhdGEuaGVpZ2h0KXtoLnNpemUuaGVpZ2h0
PWgucGFyZW50RGF0YS5oZWlnaHQtaTtpZihlKWguc2l6ZS53aWR0aD1oLnNpemUuaGVpZ2h0Kmgu
YXNwZWN0UmF0aW99fSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFi
bGUiKSxoPWUub3B0aW9ucyxnPWUuY29udGFpbmVyT2Zmc2V0LGk9ZS5jb250YWluZXJQb3NpdGlv
biwKK2I9ZS5jb250YWluZXJFbGVtZW50LGY9YShlLmhlbHBlciksaj1mLm9mZnNldCgpLGw9Zi5v
dXRlcldpZHRoKCktZS5zaXplRGlmZi53aWR0aDtmPWYub3V0ZXJIZWlnaHQoKS1lLnNpemVEaWZm
LmhlaWdodDtlLl9oZWxwZXImJiFoLmFuaW1hdGUmJi9yZWxhdGl2ZS8udGVzdChiLmNzcygicG9z
aXRpb24iKSkmJmEodGhpcykuY3NzKHtsZWZ0OmoubGVmdC1pLmxlZnQtZy5sZWZ0LHdpZHRoOmws
aGVpZ2h0OmZ9KTtlLl9oZWxwZXImJiFoLmFuaW1hdGUmJi9zdGF0aWMvLnRlc3QoYi5jc3MoInBv
c2l0aW9uIikpJiZhKHRoaXMpLmNzcyh7bGVmdDpqLmxlZnQtaS5sZWZ0LWcubGVmdCx3aWR0aDps
LGhlaWdodDpmfSl9fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJnaG9zdCIse3N0YXJ0
OmZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUub3B0aW9ucyxn
PWUuc2l6ZTtlLmdob3N0PWUub3JpZ2luYWxFbGVtZW50LmNsb25lKCk7ZS5naG9zdC5jc3Moe29w
YWNpdHk6MC4yNSwKK2Rpc3BsYXk6ImJsb2NrIixwb3NpdGlvbjoicmVsYXRpdmUiLGhlaWdodDpn
LmhlaWdodCx3aWR0aDpnLndpZHRoLG1hcmdpbjowLGxlZnQ6MCx0b3A6MH0pLmFkZENsYXNzKCJ1
aS1yZXNpemFibGUtZ2hvc3QiKS5hZGRDbGFzcyh0eXBlb2YgaC5naG9zdD09InN0cmluZyI/aC5n
aG9zdDoiIik7ZS5naG9zdC5hcHBlbmRUbyhlLmhlbHBlcil9LHJlc2l6ZTpmdW5jdGlvbigpe3Zh
ciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIik7ZS5naG9zdCYmZS5naG9zdC5jc3Moe3Bvc2l0
aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmUuc2l6ZS5oZWlnaHQsd2lkdGg6ZS5zaXplLndpZHRofSl9
LHN0b3A6ZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpO2UuZ2hvc3Qm
JmUuaGVscGVyJiZlLmhlbHBlci5nZXQoMCkucmVtb3ZlQ2hpbGQoZS5naG9zdC5nZXQoMCkpfX0p
O2EudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ3JpZCIse3Jlc2l6ZTpmdW5jdGlvbigpe3Zh
ciBlPQorYSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxoPWUub3B0aW9ucyxnPWUuc2l6ZSxpPWUu
b3JpZ2luYWxTaXplLGI9ZS5vcmlnaW5hbFBvc2l0aW9uLGY9ZS5heGlzO2guZ3JpZD10eXBlb2Yg
aC5ncmlkPT0ibnVtYmVyIj9baC5ncmlkLGguZ3JpZF06aC5ncmlkO3ZhciBqPU1hdGgucm91bmQo
KGcud2lkdGgtaS53aWR0aCkvKGguZ3JpZFswXXx8MSkpKihoLmdyaWRbMF18fDEpO2g9TWF0aC5y
b3VuZCgoZy5oZWlnaHQtaS5oZWlnaHQpLyhoLmdyaWRbMV18fDEpKSooaC5ncmlkWzFdfHwxKTtp
ZigvXihzZXxzfGUpJC8udGVzdChmKSl7ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVp
Z2h0PWkuaGVpZ2h0K2h9ZWxzZSBpZigvXihuZSkkLy50ZXN0KGYpKXtlLnNpemUud2lkdGg9aS53
aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9aS5oZWlnaHQraDtlLnBvc2l0aW9uLnRvcD1iLnRvcC1ofWVs
c2V7aWYoL14oc3cpJC8udGVzdChmKSl7ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVp
Z2h0PQoraS5oZWlnaHQraH1lbHNle2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdo
dD1pLmhlaWdodCtoO2UucG9zaXRpb24udG9wPWIudG9wLWh9ZS5wb3NpdGlvbi5sZWZ0PWIubGVm
dC1qfX19KTt2YXIgYz1mdW5jdGlvbihlKXtyZXR1cm4gcGFyc2VJbnQoZSwxMCl8fDB9LGQ9ZnVu
Y3Rpb24oZSl7cmV0dXJuIWlzTmFOKHBhcnNlSW50KGUsMTApKX19KShqUXVlcnkpOworKGZ1bmN0
aW9uKGEpe2Eud2lkZ2V0KCJ1aS5zZWxlY3RhYmxlIixhLnVpLm1vdXNlLHtvcHRpb25zOnthcHBl
bmRUbzoiYm9keSIsYXV0b1JlZnJlc2g6dHJ1ZSxkaXN0YW5jZTowLGZpbHRlcjoiKiIsdG9sZXJh
bmNlOiJ0b3VjaCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO3RoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktc2VsZWN0YWJsZSIpO3RoaXMuZHJhZ2dlZD1mYWxzZTt2YXIgZDt0aGlzLnJl
ZnJlc2g9ZnVuY3Rpb24oKXtkPWEoYy5vcHRpb25zLmZpbHRlcixjLmVsZW1lbnRbMF0pO2QuZWFj
aChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksaD1lLm9mZnNldCgpO2EuZGF0YSh0aGlzLCJzZWxl
Y3RhYmxlLWl0ZW0iLHtlbGVtZW50OnRoaXMsJGVsZW1lbnQ6ZSxsZWZ0OmgubGVmdCx0b3A6aC50
b3AscmlnaHQ6aC5sZWZ0K2Uub3V0ZXJXaWR0aCgpLGJvdHRvbTpoLnRvcCtlLm91dGVySGVpZ2h0
KCksc3RhcnRzZWxlY3RlZDpmYWxzZSxzZWxlY3RlZDplLmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIp
LAorc2VsZWN0aW5nOmUuaGFzQ2xhc3MoInVpLXNlbGVjdGluZyIpLHVuc2VsZWN0aW5nOmUuaGFz
Q2xhc3MoInVpLXVuc2VsZWN0aW5nIil9KX0pfTt0aGlzLnJlZnJlc2goKTt0aGlzLnNlbGVjdGVl
cz1kLmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpO3RoaXMuX21vdXNlSW5pdCgpO3RoaXMuaGVscGVy
PWEoIjxkaXYgY2xhc3M9J3VpLXNlbGVjdGFibGUtaGVscGVyJz48L2Rpdj4iKX0sZGVzdHJveTpm
dW5jdGlvbigpe3RoaXMuc2VsZWN0ZWVzLnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZSIpLnJlbW92
ZURhdGEoInNlbGVjdGFibGUtaXRlbSIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2Vs
ZWN0YWJsZSB1aS1zZWxlY3RhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZSIp
LnVuYmluZCgiLnNlbGVjdGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtyZXR1cm4gdGhpc30s
X21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpczt0aGlzLm9wb3M9W2MucGFnZVgsCitj
LnBhZ2VZXTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgZT10aGlzLm9wdGlvbnM7dGhp
cy5zZWxlY3RlZXM9YShlLmZpbHRlcix0aGlzLmVsZW1lbnRbMF0pO3RoaXMuX3RyaWdnZXIoInN0
YXJ0IixjKTthKGUuYXBwZW5kVG8pLmFwcGVuZCh0aGlzLmhlbHBlcik7dGhpcy5oZWxwZXIuY3Nz
KHtsZWZ0OmMuY2xpZW50WCx0b3A6Yy5jbGllbnRZLHdpZHRoOjAsaGVpZ2h0OjB9KTtlLmF1dG9S
ZWZyZXNoJiZ0aGlzLnJlZnJlc2goKTt0aGlzLnNlbGVjdGVlcy5maWx0ZXIoIi51aS1zZWxlY3Rl
ZCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaD1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7
aC5zdGFydHNlbGVjdGVkPXRydWU7aWYoIWMubWV0YUtleSl7aC4kZWxlbWVudC5yZW1vdmVDbGFz
cygidWktc2VsZWN0ZWQiKTtoLnNlbGVjdGVkPWZhbHNlO2guJGVsZW1lbnQuYWRkQ2xhc3MoInVp
LXVuc2VsZWN0aW5nIik7aC51bnNlbGVjdGluZz10cnVlO2QuX3RyaWdnZXIoInVuc2VsZWN0aW5n
IiwKK2Mse3Vuc2VsZWN0aW5nOmguZWxlbWVudH0pfX0pO2EoYy50YXJnZXQpLnBhcmVudHMoKS5h
bmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe3ZhciBoPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0
ZW0iKTtpZihoKXt2YXIgZz0hYy5tZXRhS2V5fHwhaC4kZWxlbWVudC5oYXNDbGFzcygidWktc2Vs
ZWN0ZWQiKTtoLiRlbGVtZW50LnJlbW92ZUNsYXNzKGc/InVpLXVuc2VsZWN0aW5nIjoidWktc2Vs
ZWN0ZWQiKS5hZGRDbGFzcyhnPyJ1aS1zZWxlY3RpbmciOiJ1aS11bnNlbGVjdGluZyIpO2gudW5z
ZWxlY3Rpbmc9IWc7aC5zZWxlY3Rpbmc9ZzsoaC5zZWxlY3RlZD1nKT9kLl90cmlnZ2VyKCJzZWxl
Y3RpbmciLGMse3NlbGVjdGluZzpoLmVsZW1lbnR9KTpkLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIs
Yyx7dW5zZWxlY3Rpbmc6aC5lbGVtZW50fSk7cmV0dXJuIGZhbHNlfX0pfX0sX21vdXNlRHJhZzpm
dW5jdGlvbihjKXt2YXIgZD10aGlzO3RoaXMuZHJhZ2dlZD10cnVlO2lmKCF0aGlzLm9wdGlvbnMu
ZGlzYWJsZWQpe3ZhciBlPQordGhpcy5vcHRpb25zLGg9dGhpcy5vcG9zWzBdLGc9dGhpcy5vcG9z
WzFdLGk9Yy5wYWdlWCxiPWMucGFnZVk7aWYoaD5pKXt2YXIgZj1pO2k9aDtoPWZ9aWYoZz5iKXtm
PWI7Yj1nO2c9Zn10aGlzLmhlbHBlci5jc3Moe2xlZnQ6aCx0b3A6Zyx3aWR0aDppLWgsaGVpZ2h0
OmItZ30pO3RoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKXt2YXIgaj1hLmRhdGEodGhpcywi
c2VsZWN0YWJsZS1pdGVtIik7aWYoISghanx8ai5lbGVtZW50PT1kLmVsZW1lbnRbMF0pKXt2YXIg
bD1mYWxzZTtpZihlLnRvbGVyYW5jZT09InRvdWNoIilsPSEoai5sZWZ0Pml8fGoucmlnaHQ8aHx8
ai50b3A+Ynx8ai5ib3R0b208Zyk7ZWxzZSBpZihlLnRvbGVyYW5jZT09ImZpdCIpbD1qLmxlZnQ+
aCYmai5yaWdodDxpJiZqLnRvcD5nJiZqLmJvdHRvbTxiO2lmKGwpe2lmKGouc2VsZWN0ZWQpe2ou
JGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7ai5zZWxlY3RlZD1mYWxzZX1pZihq
LnVuc2VsZWN0aW5nKXtqLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpOwor
ai51bnNlbGVjdGluZz1mYWxzZX1pZighai5zZWxlY3Rpbmcpe2ouJGVsZW1lbnQuYWRkQ2xhc3Mo
InVpLXNlbGVjdGluZyIpO2ouc2VsZWN0aW5nPXRydWU7ZC5fdHJpZ2dlcigic2VsZWN0aW5nIixj
LHtzZWxlY3Rpbmc6ai5lbGVtZW50fSl9fWVsc2V7aWYoai5zZWxlY3RpbmcpaWYoYy5tZXRhS2V5
JiZqLnN0YXJ0c2VsZWN0ZWQpe2ouJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIp
O2ouc2VsZWN0aW5nPWZhbHNlO2ouJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIik7ai5z
ZWxlY3RlZD10cnVlfWVsc2V7ai4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7
ai5zZWxlY3Rpbmc9ZmFsc2U7aWYoai5zdGFydHNlbGVjdGVkKXtqLiRlbGVtZW50LmFkZENsYXNz
KCJ1aS11bnNlbGVjdGluZyIpO2oudW5zZWxlY3Rpbmc9dHJ1ZX1kLl90cmlnZ2VyKCJ1bnNlbGVj
dGluZyIsYyx7dW5zZWxlY3Rpbmc6ai5lbGVtZW50fSl9aWYoai5zZWxlY3RlZClpZighYy5tZXRh
S2V5JiYKKyFqLnN0YXJ0c2VsZWN0ZWQpe2ouJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVj
dGVkIik7ai5zZWxlY3RlZD1mYWxzZTtqLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGlu
ZyIpO2oudW5zZWxlY3Rpbmc9dHJ1ZTtkLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsYyx7dW5zZWxl
Y3Rpbmc6ai5lbGVtZW50fSl9fX19KTtyZXR1cm4gZmFsc2V9fSxfbW91c2VTdG9wOmZ1bmN0aW9u
KGMpe3ZhciBkPXRoaXM7dGhpcy5kcmFnZ2VkPWZhbHNlO2EoIi51aS11bnNlbGVjdGluZyIsdGhp
cy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YS5kYXRhKHRoaXMsInNlbGVjdGFi
bGUtaXRlbSIpO2UuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7ZS51bnNl
bGVjdGluZz1mYWxzZTtlLnN0YXJ0c2VsZWN0ZWQ9ZmFsc2U7ZC5fdHJpZ2dlcigidW5zZWxlY3Rl
ZCIsYyx7dW5zZWxlY3RlZDplLmVsZW1lbnR9KX0pO2EoIi51aS1zZWxlY3RpbmciLHRoaXMuZWxl
bWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBlPQorYS5kYXRhKHRoaXMsInNlbGVjdGFibGUt
aXRlbSIpO2UuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLmFkZENsYXNzKCJ1
aS1zZWxlY3RlZCIpO2Uuc2VsZWN0aW5nPWZhbHNlO2Uuc2VsZWN0ZWQ9dHJ1ZTtlLnN0YXJ0c2Vs
ZWN0ZWQ9dHJ1ZTtkLl90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7c2VsZWN0ZWQ6ZS5lbGVtZW50fSl9
KTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjKTt0aGlzLmhlbHBlci5yZW1vdmUoKTtyZXR1cm4gZmFs
c2V9fSk7YS5leHRlbmQoYS51aS5zZWxlY3RhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVl
cnkpOworKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5zb3J0YWJsZSIsYS51aS5tb3VzZSx7d2lk
Z2V0RXZlbnRQcmVmaXg6InNvcnQiLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFs
c2UsY29ubmVjdFdpdGg6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJz
b3JBdDpmYWxzZSxkcm9wT25FbXB0eTp0cnVlLGZvcmNlUGxhY2Vob2xkZXJTaXplOmZhbHNlLGZv
cmNlSGVscGVyU2l6ZTpmYWxzZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdp
bmFsIixpdGVtczoiPiAqIixvcGFjaXR5OmZhbHNlLHBsYWNlaG9sZGVyOmZhbHNlLHJldmVydDpm
YWxzZSxzY3JvbGw6dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzY29w
ZToiZGVmYXVsdCIsdG9sZXJhbmNlOiJpbnRlcnNlY3QiLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVu
Y3Rpb24oKXt2YXIgYz10aGlzLm9wdGlvbnM7dGhpcy5jb250YWluZXJDYWNoZT17fTt0aGlzLmVs
ZW1lbnQuYWRkQ2xhc3MoInVpLXNvcnRhYmxlIik7Cit0aGlzLnJlZnJlc2goKTt0aGlzLmZsb2F0
aW5nPXRoaXMuaXRlbXMubGVuZ3RoP2MuYXhpcz09PSJ4Inx8L2xlZnR8cmlnaHQvLnRlc3QodGhp
cy5pdGVtc1swXS5pdGVtLmNzcygiZmxvYXQiKSl8fC9pbmxpbmV8dGFibGUtY2VsbC8udGVzdCh0
aGlzLml0ZW1zWzBdLml0ZW0uY3NzKCJkaXNwbGF5IikpOmZhbHNlO3RoaXMub2Zmc2V0PXRoaXMu
ZWxlbWVudC5vZmZzZXQoKTt0aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3Ro
aXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc29ydGFibGUgdWktc29ydGFibGUtZGlzYWJsZWQi
KS5yZW1vdmVEYXRhKCJzb3J0YWJsZSIpLnVuYmluZCgiLnNvcnRhYmxlIik7dGhpcy5fbW91c2VE
ZXN0cm95KCk7Zm9yKHZhciBjPXRoaXMuaXRlbXMubGVuZ3RoLTE7Yz49MDtjLS0pdGhpcy5pdGVt
c1tjXS5pdGVtLnJlbW92ZURhdGEoInNvcnRhYmxlLWl0ZW0iKTtyZXR1cm4gdGhpc30sX3NldE9w
dGlvbjpmdW5jdGlvbihjLGQpe2lmKGM9PT0KKyJkaXNhYmxlZCIpe3RoaXMub3B0aW9uc1tjXT1k
O3RoaXMud2lkZ2V0KClbZD8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS1zb3J0YWJsZS1k
aXNhYmxlZCIpfWVsc2UgYS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxh
cmd1bWVudHMpfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGMsZCl7aWYodGhpcy5yZXZlcnRpbmcp
cmV0dXJuIGZhbHNlO2lmKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5vcHRpb25zLnR5cGU9
PSJzdGF0aWMiKXJldHVybiBmYWxzZTt0aGlzLl9yZWZyZXNoSXRlbXMoYyk7dmFyIGU9bnVsbCxo
PXRoaXM7YShjLnRhcmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtpZihhLmRhdGEodGhp
cywic29ydGFibGUtaXRlbSIpPT1oKXtlPWEodGhpcyk7cmV0dXJuIGZhbHNlfX0pO2lmKGEuZGF0
YShjLnRhcmdldCwic29ydGFibGUtaXRlbSIpPT1oKWU9YShjLnRhcmdldCk7aWYoIWUpcmV0dXJu
IGZhbHNlO2lmKHRoaXMub3B0aW9ucy5oYW5kbGUmJgorIWQpe3ZhciBnPWZhbHNlO2EodGhpcy5v
cHRpb25zLmhhbmRsZSxlKS5maW5kKCIqIikuYW5kU2VsZigpLmVhY2goZnVuY3Rpb24oKXtpZih0
aGlzPT1jLnRhcmdldClnPXRydWV9KTtpZighZylyZXR1cm4gZmFsc2V9dGhpcy5jdXJyZW50SXRl
bT1lO3RoaXMuX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zKCk7cmV0dXJuIHRydWV9LF9tb3VzZVN0
YXJ0OmZ1bmN0aW9uKGMsZCxlKXtkPXRoaXMub3B0aW9uczt2YXIgaD10aGlzO3RoaXMuY3VycmVu
dENvbnRhaW5lcj10aGlzO3RoaXMucmVmcmVzaFBvc2l0aW9ucygpO3RoaXMuaGVscGVyPXRoaXMu
X2NyZWF0ZUhlbHBlcihjKTt0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7dGhpcy5fY2Fj
aGVNYXJnaW5zKCk7dGhpcy5zY3JvbGxQYXJlbnQ9dGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCk7
dGhpcy5vZmZzZXQ9dGhpcy5jdXJyZW50SXRlbS5vZmZzZXQoKTt0aGlzLm9mZnNldD17dG9wOnRo
aXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLAorbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRo
aXMubWFyZ2lucy5sZWZ0fTt0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTt0
aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKTthLmV4dGVuZCh0aGlz
Lm9mZnNldCx7Y2xpY2s6e2xlZnQ6Yy5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDpjLnBhZ2VZ
LXRoaXMub2Zmc2V0LnRvcH0scGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZl
OnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9KTt0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5f
Z2VuZXJhdGVQb3NpdGlvbihjKTt0aGlzLm9yaWdpbmFsUGFnZVg9Yy5wYWdlWDt0aGlzLm9yaWdp
bmFsUGFnZVk9Yy5wYWdlWTtkLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVy
KGQuY3Vyc29yQXQpO3RoaXMuZG9tUG9zaXRpb249e3ByZXY6dGhpcy5jdXJyZW50SXRlbS5wcmV2
KClbMF0scGFyZW50OnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF19OwordGhpcy5oZWxwZXJb
MF0hPXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMuY3VycmVudEl0ZW0uaGlkZSgpO3RoaXMuX2Ny
ZWF0ZVBsYWNlaG9sZGVyKCk7ZC5jb250YWlubWVudCYmdGhpcy5fc2V0Q29udGFpbm1lbnQoKTtp
ZihkLmN1cnNvcil7aWYoYSgiYm9keSIpLmNzcygiY3Vyc29yIikpdGhpcy5fc3RvcmVkQ3Vyc29y
PWEoImJvZHkiKS5jc3MoImN1cnNvciIpO2EoImJvZHkiKS5jc3MoImN1cnNvciIsZC5jdXJzb3Ip
fWlmKGQub3BhY2l0eSl7aWYodGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IikpdGhpcy5fc3RvcmVk
T3BhY2l0eT10aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKTt0aGlzLmhlbHBlci5jc3MoIm9wYWNp
dHkiLGQub3BhY2l0eSl9aWYoZC56SW5kZXgpe2lmKHRoaXMuaGVscGVyLmNzcygiekluZGV4Iikp
dGhpcy5fc3RvcmVkWkluZGV4PXRoaXMuaGVscGVyLmNzcygiekluZGV4Iik7dGhpcy5oZWxwZXIu
Y3NzKCJ6SW5kZXgiLGQuekluZGV4KX1pZih0aGlzLnNjcm9sbFBhcmVudFswXSE9Citkb2N1bWVu
dCYmdGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSE9IkhUTUwiKXRoaXMub3ZlcmZsb3dPZmZz
ZXQ9dGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMsdGhp
cy5fdWlIYXNoKCkpO3RoaXMuX3ByZXNlcnZlSGVscGVyUHJvcG9ydGlvbnN8fHRoaXMuX2NhY2hl
SGVscGVyUHJvcG9ydGlvbnMoKTtpZighZSlmb3IoZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7
ZT49MDtlLS0pdGhpcy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJhY3RpdmF0ZSIsYyxoLl91aUhh
c2godGhpcykpO2lmKGEudWkuZGRtYW5hZ2VyKWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpczth
LnVpLmRkbWFuYWdlciYmIWQuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9m
ZnNldHModGhpcyxjKTt0aGlzLmRyYWdnaW5nPXRydWU7dGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVp
LXNvcnRhYmxlLWhlbHBlciIpO3RoaXMuX21vdXNlRHJhZyhjKTsKK3JldHVybiB0cnVlfSxfbW91
c2VEcmFnOmZ1bmN0aW9uKGMpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihj
KTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO2lm
KCF0aGlzLmxhc3RQb3NpdGlvbkFicyl0aGlzLmxhc3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9u
QWJzO2lmKHRoaXMub3B0aW9ucy5zY3JvbGwpe3ZhciBkPXRoaXMub3B0aW9ucyxlPWZhbHNlO2lm
KHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmdGhpcy5zY3JvbGxQYXJlbnRbMF0udGFn
TmFtZSE9IkhUTUwiKXtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCt0aGlzLnNjcm9sbFBhcmVu
dFswXS5vZmZzZXRIZWlnaHQtYy5wYWdlWTxkLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbFRvcD1lPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcCtkLnNj
cm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWS10aGlzLm92ZXJmbG93T2Zmc2V0LnRvcDwKK2Quc2Ny
b2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWU9dGhpcy5zY3Jv
bGxQYXJlbnRbMF0uc2Nyb2xsVG9wLWQuc2Nyb2xsU3BlZWQ7aWYodGhpcy5vdmVyZmxvd09mZnNl
dC5sZWZ0K3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWMucGFnZVg8ZC5zY3JvbGxT
ZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWU9dGhpcy5zY3JvbGxQ
YXJlbnRbMF0uc2Nyb2xsTGVmdCtkLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYy5wYWdlWC10aGlzLm92
ZXJmbG93T2Zmc2V0LmxlZnQ8ZC5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFsw
XS5zY3JvbGxMZWZ0PWU9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1kLnNjcm9sbFNw
ZWVkfWVsc2V7aWYoYy5wYWdlWS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKTxkLnNjcm9sbFNlbnNp
dGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLQor
ZC5zY3JvbGxTcGVlZCk7ZWxzZSBpZihhKHdpbmRvdykuaGVpZ2h0KCktKGMucGFnZVktYShkb2N1
bWVudCkuc2Nyb2xsVG9wKCkpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1hKGRvY3VtZW50KS5zY3Jv
bGxUb3AoYShkb2N1bWVudCkuc2Nyb2xsVG9wKCkrZC5zY3JvbGxTcGVlZCk7aWYoYy5wYWdlWC1h
KGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk8ZC5zY3JvbGxTZW5zaXRpdml0eSllPWEoZG9jdW1lbnQp
LnNjcm9sbExlZnQoYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLWQuc2Nyb2xsU3BlZWQpO2Vsc2Ug
aWYoYSh3aW5kb3cpLndpZHRoKCktKGMucGFnZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKTxk
LnNjcm9sbFNlbnNpdGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRvY3VtZW50KS5z
Y3JvbGxMZWZ0KCkrZC5zY3JvbGxTcGVlZCl9ZSE9PWZhbHNlJiZhLnVpLmRkbWFuYWdlciYmIWQu
ZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcywKK2MpfXRo
aXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRo
aXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBdLnN0
eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCI7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0
aGlzLm9wdGlvbnMuYXhpcyE9IngiKXRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBvc2l0
aW9uLnRvcCsicHgiO2ZvcihkPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZD49MDtkLS0pe2U9dGhpcy5p
dGVtc1tkXTt2YXIgaD1lLml0ZW1bMF0sZz10aGlzLl9pbnRlcnNlY3RzV2l0aFBvaW50ZXIoZSk7
aWYoZylpZihoIT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLnBsYWNlaG9sZGVyW2c9PTE/Im5l
eHQiOiJwcmV2Il0oKVswXSE9aCYmIWEudWkuY29udGFpbnModGhpcy5wbGFjZWhvbGRlclswXSxo
KSYmKHRoaXMub3B0aW9ucy50eXBlPT0ic2VtaS1keW5hbWljIj8hYS51aS5jb250YWlucyh0aGlz
LmVsZW1lbnRbMF0sCitoKTp0cnVlKSl7dGhpcy5kaXJlY3Rpb249Zz09MT8iZG93biI6InVwIjtp
Zih0aGlzLm9wdGlvbnMudG9sZXJhbmNlPT0icG9pbnRlciJ8fHRoaXMuX2ludGVyc2VjdHNXaXRo
U2lkZXMoZSkpdGhpcy5fcmVhcnJhbmdlKGMsZSk7ZWxzZSBicmVhazt0aGlzLl90cmlnZ2VyKCJj
aGFuZ2UiLGMsdGhpcy5fdWlIYXNoKCkpO2JyZWFrfX10aGlzLl9jb250YWN0Q29udGFpbmVycyhj
KTthLnVpLmRkbWFuYWdlciYmYS51aS5kZG1hbmFnZXIuZHJhZyh0aGlzLGMpO3RoaXMuX3RyaWdn
ZXIoInNvcnQiLGMsdGhpcy5fdWlIYXNoKCkpO3RoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9z
aXRpb25BYnM7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGMsZCl7aWYoYyl7YS51
aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciYmYS51aS5kZG1hbmFnZXIu
ZHJvcCh0aGlzLGMpO2lmKHRoaXMub3B0aW9ucy5yZXZlcnQpe3ZhciBlPXRoaXM7ZD1lLnBsYWNl
aG9sZGVyLm9mZnNldCgpOworZS5yZXZlcnRpbmc9dHJ1ZTthKHRoaXMuaGVscGVyKS5hbmltYXRl
KHtsZWZ0OmQubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdC1lLm1hcmdpbnMubGVmdCsodGhp
cy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5z
Y3JvbGxMZWZ0KSx0b3A6ZC50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcC1lLm1hcmdpbnMudG9w
Kyh0aGlzLm9mZnNldFBhcmVudFswXT09ZG9jdW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50
WzBdLnNjcm9sbFRvcCl9LHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnQsMTApfHw1MDAsZnVu
Y3Rpb24oKXtlLl9jbGVhcihjKX0pfWVsc2UgdGhpcy5fY2xlYXIoYyxkKTtyZXR1cm4gZmFsc2V9
fSxjYW5jZWw6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2lmKHRoaXMuZHJhZ2dpbmcpe3RoaXMuX21v
dXNlVXAoe3RhcmdldDpudWxsfSk7dGhpcy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIj90aGlz
LmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJs
ZS1oZWxwZXIiKToKK3RoaXMuY3VycmVudEl0ZW0uc2hvdygpO2Zvcih2YXIgZD10aGlzLmNvbnRh
aW5lcnMubGVuZ3RoLTE7ZD49MDtkLS0pe3RoaXMuY29udGFpbmVyc1tkXS5fdHJpZ2dlcigiZGVh
Y3RpdmF0ZSIsbnVsbCxjLl91aUhhc2godGhpcykpO2lmKHRoaXMuY29udGFpbmVyc1tkXS5jb250
YWluZXJDYWNoZS5vdmVyKXt0aGlzLmNvbnRhaW5lcnNbZF0uX3RyaWdnZXIoIm91dCIsbnVsbCxj
Ll91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS5vdmVyPTB9
fX1pZih0aGlzLnBsYWNlaG9sZGVyKXt0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUmJnRo
aXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVy
WzBdKTt0aGlzLm9wdGlvbnMuaGVscGVyIT0ib3JpZ2luYWwiJiZ0aGlzLmhlbHBlciYmdGhpcy5o
ZWxwZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7YS5leHRlbmQodGhpcyx7
aGVscGVyOm51bGwsCitkcmFnZ2luZzpmYWxzZSxyZXZlcnRpbmc6ZmFsc2UsX25vRmluYWxTb3J0
Om51bGx9KTt0aGlzLmRvbVBvc2l0aW9uLnByZXY/YSh0aGlzLmRvbVBvc2l0aW9uLnByZXYpLmFm
dGVyKHRoaXMuY3VycmVudEl0ZW0pOmEodGhpcy5kb21Qb3NpdGlvbi5wYXJlbnQpLnByZXBlbmQo
dGhpcy5jdXJyZW50SXRlbSl9cmV0dXJuIHRoaXN9LHNlcmlhbGl6ZTpmdW5jdGlvbihjKXt2YXIg
ZD10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KGMmJmMuY29ubmVjdGVkKSxlPVtdO2M9Y3x8e307YShk
KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGg9KGEoYy5pdGVtfHx0aGlzKS5hdHRyKGMuYXR0cmlidXRl
fHwiaWQiKXx8IiIpLm1hdGNoKGMuZXhwcmVzc2lvbnx8LyguKylbLT1fXSguKykvKTtpZihoKWUu
cHVzaCgoYy5rZXl8fGhbMV0rIltdIikrIj0iKyhjLmtleSYmYy5leHByZXNzaW9uP2hbMV06aFsy
XSkpfSk7IWUubGVuZ3RoJiZjLmtleSYmZS5wdXNoKGMua2V5KyI9Iik7cmV0dXJuIGUuam9pbigi
JiIpfSwKK3RvQXJyYXk6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShj
JiZjLmNvbm5lY3RlZCksZT1bXTtjPWN8fHt9O2QuZWFjaChmdW5jdGlvbigpe2UucHVzaChhKGMu
aXRlbXx8dGhpcykuYXR0cihjLmF0dHJpYnV0ZXx8ImlkIil8fCIiKX0pO3JldHVybiBlfSxfaW50
ZXJzZWN0c1dpdGg6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5wb3NpdGlvbkFicy5sZWZ0LGU9ZCt0
aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLGg9dGhpcy5wb3NpdGlvbkFicy50b3AsZz1oK3Ro
aXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGk9Yy5sZWZ0LGI9aStjLndpZHRoLGY9Yy50b3As
aj1mK2MuaGVpZ2h0LGw9dGhpcy5vZmZzZXQuY2xpY2sudG9wLG89dGhpcy5vZmZzZXQuY2xpY2su
bGVmdDtsPWgrbD5mJiZoK2w8aiYmZCtvPmkmJmQrbzxiO3JldHVybiB0aGlzLm9wdGlvbnMudG9s
ZXJhbmNlPT0icG9pbnRlciJ8fHRoaXMub3B0aW9ucy5mb3JjZVBvaW50ZXJGb3JDb250YWluZXJz
fHwKK3RoaXMub3B0aW9ucy50b2xlcmFuY2UhPSJwb2ludGVyIiYmdGhpcy5oZWxwZXJQcm9wb3J0
aW9uc1t0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdPmNbdGhpcy5mbG9hdGluZz8id2lk
dGgiOiJoZWlnaHQiXT9sOmk8ZCt0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzImJmUtdGhp
cy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yPGImJmY8aCt0aGlzLmhlbHBlclByb3BvcnRpb25z
LmhlaWdodC8yJiZnLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI8an0sX2ludGVyc2Vj
dHNXaXRoUG9pbnRlcjpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmlzT3ZlckF4aXModGhpcy5wb3Np
dGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGMudG9wLGMuaGVpZ2h0KTtjPWEudWku
aXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxj
LmxlZnQsYy53aWR0aCk7ZD1kJiZjO2M9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCk7
Cit2YXIgZT10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO2lmKCFkKXJldHVybiBm
YWxzZTtyZXR1cm4gdGhpcy5mbG9hdGluZz9lJiZlPT0icmlnaHQifHxjPT0iZG93biI/MjoxOmMm
JihjPT0iZG93biI/MjoxKX0sX2ludGVyc2VjdHNXaXRoU2lkZXM6ZnVuY3Rpb24oYyl7dmFyIGQ9
YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRv
cCxjLnRvcCtjLmhlaWdodC8yLGMuaGVpZ2h0KTtjPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0
aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxjLmxlZnQrYy53aWR0aC8yLGMud2lk
dGgpO3ZhciBlPXRoaXMuX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbigpLGg9dGhpcy5fZ2V0RHJh
Z0hvcml6b250YWxEaXJlY3Rpb24oKTtyZXR1cm4gdGhpcy5mbG9hdGluZyYmaD9oPT0icmlnaHQi
JiZjfHxoPT0ibGVmdCImJiFjOmUmJihlPT0iZG93biImJmR8fGU9PSJ1cCImJiFkKX0sCitfZ2V0
RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5wb3NpdGlvbkFicy50
b3AtdGhpcy5sYXN0UG9zaXRpb25BYnMudG9wO3JldHVybiBjIT0wJiYoYz4wPyJkb3duIjoidXAi
KX0sX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5wb3Np
dGlvbkFicy5sZWZ0LXRoaXMubGFzdFBvc2l0aW9uQWJzLmxlZnQ7cmV0dXJuIGMhPTAmJihjPjA/
InJpZ2h0IjoibGVmdCIpfSxyZWZyZXNoOmZ1bmN0aW9uKGMpe3RoaXMuX3JlZnJlc2hJdGVtcyhj
KTt0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKTtyZXR1cm4gdGhpc30sX2Nvbm5lY3RXaXRoOmZ1bmN0
aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zO3JldHVybiBjLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9y
PT1TdHJpbmc/W2MuY29ubmVjdFdpdGhdOmMuY29ubmVjdFdpdGh9LF9nZXRJdGVtc0FzalF1ZXJ5
OmZ1bmN0aW9uKGMpe3ZhciBkPVtdLGU9W10saD10aGlzLl9jb25uZWN0V2l0aCgpOworaWYoaCYm
Yylmb3IoYz1oLmxlbmd0aC0xO2M+PTA7Yy0tKWZvcih2YXIgZz1hKGhbY10pLGk9Zy5sZW5ndGgt
MTtpPj0wO2ktLSl7dmFyIGI9YS5kYXRhKGdbaV0sInNvcnRhYmxlIik7aWYoYiYmYiE9dGhpcyYm
IWIub3B0aW9ucy5kaXNhYmxlZCllLnB1c2goW2EuaXNGdW5jdGlvbihiLm9wdGlvbnMuaXRlbXMp
P2Iub3B0aW9ucy5pdGVtcy5jYWxsKGIuZWxlbWVudCk6YShiLm9wdGlvbnMuaXRlbXMsYi5lbGVt
ZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhv
bGRlciIpLGJdKX1lLnB1c2goW2EuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMu
b3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudCxudWxsLHtvcHRpb25zOnRoaXMub3B0aW9u
cyxpdGVtOnRoaXMuY3VycmVudEl0ZW19KTphKHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1l
bnQpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9s
ZGVyIiksCit0aGlzXSk7Zm9yKGM9ZS5sZW5ndGgtMTtjPj0wO2MtLSllW2NdWzBdLmVhY2goZnVu
Y3Rpb24oKXtkLnB1c2godGhpcyl9KTtyZXR1cm4gYShkKX0sX3JlbW92ZUN1cnJlbnRzRnJvbUl0
ZW1zOmZ1bmN0aW9uKCl7Zm9yKHZhciBjPXRoaXMuY3VycmVudEl0ZW0uZmluZCgiOmRhdGEoc29y
dGFibGUtaXRlbSkiKSxkPTA7ZDx0aGlzLml0ZW1zLmxlbmd0aDtkKyspZm9yKHZhciBlPTA7ZTxj
Lmxlbmd0aDtlKyspY1tlXT09dGhpcy5pdGVtc1tkXS5pdGVtWzBdJiZ0aGlzLml0ZW1zLnNwbGlj
ZShkLDEpfSxfcmVmcmVzaEl0ZW1zOmZ1bmN0aW9uKGMpe3RoaXMuaXRlbXM9W107dGhpcy5jb250
YWluZXJzPVt0aGlzXTt2YXIgZD10aGlzLml0ZW1zLGU9W1thLmlzRnVuY3Rpb24odGhpcy5vcHRp
b25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYyx7aXRl
bTp0aGlzLmN1cnJlbnRJdGVtfSk6YSh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KSwK
K3RoaXNdXSxoPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYoaClmb3IodmFyIGc9aC5sZW5ndGgtMTtn
Pj0wO2ctLSlmb3IodmFyIGk9YShoW2ddKSxiPWkubGVuZ3RoLTE7Yj49MDtiLS0pe3ZhciBmPWEu
ZGF0YShpW2JdLCJzb3J0YWJsZSIpO2lmKGYmJmYhPXRoaXMmJiFmLm9wdGlvbnMuZGlzYWJsZWQp
e2UucHVzaChbYS5pc0Z1bmN0aW9uKGYub3B0aW9ucy5pdGVtcyk/Zi5vcHRpb25zLml0ZW1zLmNh
bGwoZi5lbGVtZW50WzBdLGMse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmEoZi5vcHRpb25zLml0
ZW1zLGYuZWxlbWVudCksZl0pO3RoaXMuY29udGFpbmVycy5wdXNoKGYpfX1mb3IoZz1lLmxlbmd0
aC0xO2c+PTA7Zy0tKXtjPWVbZ11bMV07aD1lW2ddWzBdO2I9MDtmb3IoaT1oLmxlbmd0aDtiPGk7
YisrKXtmPWEoaFtiXSk7Zi5kYXRhKCJzb3J0YWJsZS1pdGVtIixjKTtkLnB1c2goe2l0ZW06Zixp
bnN0YW5jZTpjLHdpZHRoOjAsaGVpZ2h0OjAsbGVmdDowLHRvcDowfSl9fX0scmVmcmVzaFBvc2l0
aW9uczpmdW5jdGlvbihjKXtpZih0aGlzLm9mZnNldFBhcmVudCYmCit0aGlzLmhlbHBlcil0aGlz
Lm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCk7Zm9yKHZhciBkPXRoaXMuaXRl
bXMubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBlPXRoaXMuaXRlbXNbZF07aWYoIShlLmluc3RhbmNl
IT10aGlzLmN1cnJlbnRDb250YWluZXImJnRoaXMuY3VycmVudENvbnRhaW5lciYmZS5pdGVtWzBd
IT10aGlzLmN1cnJlbnRJdGVtWzBdKSl7dmFyIGg9dGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1l
bnQ/YSh0aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudCxlLml0ZW0pOmUuaXRlbTtpZighYyl7
ZS53aWR0aD1oLm91dGVyV2lkdGgoKTtlLmhlaWdodD1oLm91dGVySGVpZ2h0KCl9aD1oLm9mZnNl
dCgpO2UubGVmdD1oLmxlZnQ7ZS50b3A9aC50b3B9fWlmKHRoaXMub3B0aW9ucy5jdXN0b20mJnRo
aXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMpdGhpcy5vcHRpb25zLmN1c3RvbS5y
ZWZyZXNoQ29udGFpbmVycy5jYWxsKHRoaXMpO2Vsc2UgZm9yKGQ9Cit0aGlzLmNvbnRhaW5lcnMu
bGVuZ3RoLTE7ZD49MDtkLS0pe2g9dGhpcy5jb250YWluZXJzW2RdLmVsZW1lbnQub2Zmc2V0KCk7
dGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLmxlZnQ9aC5sZWZ0O3RoaXMuY29udGFp
bmVyc1tkXS5jb250YWluZXJDYWNoZS50b3A9aC50b3A7dGhpcy5jb250YWluZXJzW2RdLmNvbnRh
aW5lckNhY2hlLndpZHRoPXRoaXMuY29udGFpbmVyc1tkXS5lbGVtZW50Lm91dGVyV2lkdGgoKTt0
aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUuaGVpZ2h0PXRoaXMuY29udGFpbmVyc1tk
XS5lbGVtZW50Lm91dGVySGVpZ2h0KCl9cmV0dXJuIHRoaXN9LF9jcmVhdGVQbGFjZWhvbGRlcjpm
dW5jdGlvbihjKXt2YXIgZD1jfHx0aGlzLGU9ZC5vcHRpb25zO2lmKCFlLnBsYWNlaG9sZGVyfHxl
LnBsYWNlaG9sZGVyLmNvbnN0cnVjdG9yPT1TdHJpbmcpe3ZhciBoPWUucGxhY2Vob2xkZXI7ZS5w
bGFjZWhvbGRlcj17ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBnPQorYShkb2N1bWVudC5jcmVhdGVF
bGVtZW50KGQuY3VycmVudEl0ZW1bMF0ubm9kZU5hbWUpKS5hZGRDbGFzcyhofHxkLmN1cnJlbnRJ
dGVtWzBdLmNsYXNzTmFtZSsiIHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIikucmVtb3ZlQ2xhc3Mo
InVpLXNvcnRhYmxlLWhlbHBlciIpWzBdO2lmKCFoKWcuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVu
IjtyZXR1cm4gZ30sdXBkYXRlOmZ1bmN0aW9uKGcsaSl7aWYoIShoJiYhZS5mb3JjZVBsYWNlaG9s
ZGVyU2l6ZSkpe2kuaGVpZ2h0KCl8fGkuaGVpZ2h0KGQuY3VycmVudEl0ZW0uaW5uZXJIZWlnaHQo
KS1wYXJzZUludChkLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ1RvcCIpfHwwLDEwKS1wYXJzZUlu
dChkLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0JvdHRvbSIpfHwwLDEwKSk7aS53aWR0aCgpfHxp
LndpZHRoKGQuY3VycmVudEl0ZW0uaW5uZXJXaWR0aCgpLXBhcnNlSW50KGQuY3VycmVudEl0ZW0u
Y3NzKCJwYWRkaW5nTGVmdCIpfHwwLDEwKS1wYXJzZUludChkLmN1cnJlbnRJdGVtLmNzcygicGFk
ZGluZ1JpZ2h0Iil8fAorMCwxMCkpfX19fWQucGxhY2Vob2xkZXI9YShlLnBsYWNlaG9sZGVyLmVs
ZW1lbnQuY2FsbChkLmVsZW1lbnQsZC5jdXJyZW50SXRlbSkpO2QuY3VycmVudEl0ZW0uYWZ0ZXIo
ZC5wbGFjZWhvbGRlcik7ZS5wbGFjZWhvbGRlci51cGRhdGUoZCxkLnBsYWNlaG9sZGVyKX0sX2Nv
bnRhY3RDb250YWluZXJzOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD1udWxsLGU9bnVsbCxoPXRoaXMu
Y29udGFpbmVycy5sZW5ndGgtMTtoPj0wO2gtLSlpZighYS51aS5jb250YWlucyh0aGlzLmN1cnJl
bnRJdGVtWzBdLHRoaXMuY29udGFpbmVyc1toXS5lbGVtZW50WzBdKSlpZih0aGlzLl9pbnRlcnNl
Y3RzV2l0aCh0aGlzLmNvbnRhaW5lcnNbaF0uY29udGFpbmVyQ2FjaGUpKXtpZighKGQmJmEudWku
Y29udGFpbnModGhpcy5jb250YWluZXJzW2hdLmVsZW1lbnRbMF0sZC5lbGVtZW50WzBdKSkpe2Q9
dGhpcy5jb250YWluZXJzW2hdO2U9aH19ZWxzZSBpZih0aGlzLmNvbnRhaW5lcnNbaF0uY29udGFp
bmVyQ2FjaGUub3Zlcil7dGhpcy5jb250YWluZXJzW2hdLl90cmlnZ2VyKCJvdXQiLAorYyx0aGlz
Ll91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyPTB9
aWYoZClpZih0aGlzLmNvbnRhaW5lcnMubGVuZ3RoPT09MSl7dGhpcy5jb250YWluZXJzW2VdLl90
cmlnZ2VyKCJvdmVyIixjLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5jb250YWluZXJzW2VdLmNv
bnRhaW5lckNhY2hlLm92ZXI9MX1lbHNlIGlmKHRoaXMuY3VycmVudENvbnRhaW5lciE9dGhpcy5j
b250YWluZXJzW2VdKXtkPTFFNDtoPW51bGw7Zm9yKHZhciBnPXRoaXMucG9zaXRpb25BYnNbdGhp
cy5jb250YWluZXJzW2VdLmZsb2F0aW5nPyJsZWZ0IjoidG9wIl0saT10aGlzLml0ZW1zLmxlbmd0
aC0xO2k+PTA7aS0tKWlmKGEudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2VdLmVsZW1lbnRb
MF0sdGhpcy5pdGVtc1tpXS5pdGVtWzBdKSl7dmFyIGI9dGhpcy5pdGVtc1tpXVt0aGlzLmNvbnRh
aW5lcnNbZV0uZmxvYXRpbmc/ImxlZnQiOiJ0b3AiXTtpZihNYXRoLmFicyhiLQorZyk8ZCl7ZD1N
YXRoLmFicyhiLWcpO2g9dGhpcy5pdGVtc1tpXX19aWYoaHx8dGhpcy5vcHRpb25zLmRyb3BPbkVt
cHR5KXt0aGlzLmN1cnJlbnRDb250YWluZXI9dGhpcy5jb250YWluZXJzW2VdO2g/dGhpcy5fcmVh
cnJhbmdlKGMsaCxudWxsLHRydWUpOnRoaXMuX3JlYXJyYW5nZShjLG51bGwsdGhpcy5jb250YWlu
ZXJzW2VdLmVsZW1lbnQsdHJ1ZSk7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixjLHRoaXMuX3VpSGFz
aCgpKTt0aGlzLmNvbnRhaW5lcnNbZV0uX3RyaWdnZXIoImNoYW5nZSIsYyx0aGlzLl91aUhhc2go
dGhpcykpO3RoaXMub3B0aW9ucy5wbGFjZWhvbGRlci51cGRhdGUodGhpcy5jdXJyZW50Q29udGFp
bmVyLHRoaXMucGxhY2Vob2xkZXIpO3RoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dlcigib3ZlciIs
Yyx0aGlzLl91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1tlXS5jb250YWluZXJDYWNoZS5v
dmVyPTF9fX0sX2NyZWF0ZUhlbHBlcjpmdW5jdGlvbihjKXt2YXIgZD0KK3RoaXMub3B0aW9ucztj
PWEuaXNGdW5jdGlvbihkLmhlbHBlcik/YShkLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0s
W2MsdGhpcy5jdXJyZW50SXRlbV0pKTpkLmhlbHBlcj09ImNsb25lIj90aGlzLmN1cnJlbnRJdGVt
LmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbTtjLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fGEoZC5h
cHBlbmRUbyE9InBhcmVudCI/ZC5hcHBlbmRUbzp0aGlzLmN1cnJlbnRJdGVtWzBdLnBhcmVudE5v
ZGUpWzBdLmFwcGVuZENoaWxkKGNbMF0pO2lmKGNbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pdGhp
cy5fc3RvcmVkQ1NTPXt3aWR0aDp0aGlzLmN1cnJlbnRJdGVtWzBdLnN0eWxlLndpZHRoLGhlaWdo
dDp0aGlzLmN1cnJlbnRJdGVtWzBdLnN0eWxlLmhlaWdodCxwb3NpdGlvbjp0aGlzLmN1cnJlbnRJ
dGVtLmNzcygicG9zaXRpb24iKSx0b3A6dGhpcy5jdXJyZW50SXRlbS5jc3MoInRvcCIpLGxlZnQ6
dGhpcy5jdXJyZW50SXRlbS5jc3MoImxlZnQiKX07aWYoY1swXS5zdHlsZS53aWR0aD09CisiInx8
ZC5mb3JjZUhlbHBlclNpemUpYy53aWR0aCh0aGlzLmN1cnJlbnRJdGVtLndpZHRoKCkpO2lmKGNb
MF0uc3R5bGUuaGVpZ2h0PT0iInx8ZC5mb3JjZUhlbHBlclNpemUpYy5oZWlnaHQodGhpcy5jdXJy
ZW50SXRlbS5oZWlnaHQoKSk7cmV0dXJuIGN9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0
aW9uKGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIiljPWMuc3BsaXQoIiAiKTtpZihhLmlzQXJyYXko
YykpYz17bGVmdDorY1swXSx0b3A6K2NbMV18fDB9O2lmKCJsZWZ0ImluIGMpdGhpcy5vZmZzZXQu
Y2xpY2subGVmdD1jLmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInJpZ2h0ImluIGMpdGhpcy5v
ZmZzZXQuY2xpY2subGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLWMucmlnaHQrdGhp
cy5tYXJnaW5zLmxlZnQ7aWYoInRvcCJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1jLnRvcCt0
aGlzLm1hcmdpbnMudG9wO2lmKCJib3R0b20iaW4gYyl0aGlzLm9mZnNldC5jbGljay50b3A9Cit0
aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1jLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wfSxf
Z2V0UGFyZW50T2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5vZmZzZXRQYXJlbnQ9dGhpcy5oZWxwZXIu
b2Zmc2V0UGFyZW50KCk7dmFyIGM9dGhpcy5vZmZzZXRQYXJlbnQub2Zmc2V0KCk7aWYodGhpcy5j
c3NQb3NpdGlvbj09ImFic29sdXRlIiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZh
LnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSl7
Yy5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7Yy50b3ArPXRoaXMuc2Nyb2xs
UGFyZW50LnNjcm9sbFRvcCgpfWlmKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5
fHx0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lJiZ0aGlzLm9mZnNldFBhcmVudFswXS50YWdO
YW1lLnRvTG93ZXJDYXNlKCk9PSJodG1sIiYmYS5icm93c2VyLm1zaWUpYz0KK3t0b3A6MCxsZWZ0
OjB9O3JldHVybnt0b3A6Yy50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9y
ZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6Yy5sZWZ0KyhwYXJzZUludCh0aGlzLm9mZnNldFBh
cmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCl9fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6
ZnVuY3Rpb24oKXtpZih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRpdmUiKXt2YXIgYz10aGlzLmN1
cnJlbnRJdGVtLnBvc2l0aW9uKCk7cmV0dXJue3RvcDpjLnRvcC0ocGFyc2VJbnQodGhpcy5oZWxw
ZXIuY3NzKCJ0b3AiKSwxMCl8fDApK3RoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpLGxlZnQ6
Yy5sZWZ0LShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSwxMCl8fDApK3RoaXMuc2Ny
b2xsUGFyZW50LnNjcm9sbExlZnQoKX19ZWxzZSByZXR1cm57dG9wOjAsbGVmdDowfX0sX2NhY2hl
TWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmN1cnJl
bnRJdGVtLmNzcygibWFyZ2luTGVmdCIpLAorMTApfHwwLHRvcDpwYXJzZUludCh0aGlzLmN1cnJl
bnRJdGVtLmNzcygibWFyZ2luVG9wIiksMTApfHwwfX0sX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6
ZnVuY3Rpb24oKXt0aGlzLmhlbHBlclByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmhlbHBlci5vdXRl
cldpZHRoKCksaGVpZ2h0OnRoaXMuaGVscGVyLm91dGVySGVpZ2h0KCl9fSxfc2V0Q29udGFpbm1l
bnQ6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlvbnM7aWYoYy5jb250YWlubWVudD09InBhcmVu
dCIpYy5jb250YWlubWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlO2lmKGMuY29udGFpbm1l
bnQ9PSJkb2N1bWVudCJ8fGMuY29udGFpbm1lbnQ9PSJ3aW5kb3ciKXRoaXMuY29udGFpbm1lbnQ9
WzAtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCwwLXRo
aXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGEoYy5jb250YWlu
bWVudD09ImRvY3VtZW50Ij8KK2RvY3VtZW50OndpbmRvdykud2lkdGgoKS10aGlzLmhlbHBlclBy
b3BvcnRpb25zLndpZHRoLXRoaXMubWFyZ2lucy5sZWZ0LChhKGMuY29udGFpbm1lbnQ9PSJkb2N1
bWVudCI/ZG9jdW1lbnQ6d2luZG93KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2Rl
LnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5z
LnRvcF07aWYoIS9eKGRvY3VtZW50fHdpbmRvd3xwYXJlbnQpJC8udGVzdChjLmNvbnRhaW5tZW50
KSl7dmFyIGQ9YShjLmNvbnRhaW5tZW50KVswXTtjPWEoYy5jb250YWlubWVudCkub2Zmc2V0KCk7
dmFyIGU9YShkKS5jc3MoIm92ZXJmbG93IikhPSJoaWRkZW4iO3RoaXMuY29udGFpbm1lbnQ9W2Mu
bGVmdCsocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNl
SW50KGEoZCkuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLmxlZnQsYy50
b3ArKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLAorMTApfHwwKSsocGFyc2VJ
bnQoYShkKS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLXRoaXMubWFyZ2lucy50b3AsYy5sZWZ0
KyhlP01hdGgubWF4KGQuc2Nyb2xsV2lkdGgsZC5vZmZzZXRXaWR0aCk6ZC5vZmZzZXRXaWR0aCkt
KHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChh
KGQpLmNzcygicGFkZGluZ1JpZ2h0IiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndp
ZHRoLXRoaXMubWFyZ2lucy5sZWZ0LGMudG9wKyhlP01hdGgubWF4KGQuc2Nyb2xsSGVpZ2h0LGQu
b2Zmc2V0SGVpZ2h0KTpkLm9mZnNldEhlaWdodCktKHBhcnNlSW50KGEoZCkuY3NzKCJib3JkZXJU
b3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5nQm90dG9tIiksMTAp
fHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXX19LF9j
b252ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbihjLGQpe2lmKCFkKWQ9Cit0aGlzLnBvc2l0aW9uO2M9
Yz09ImFic29sdXRlIj8xOi0xO3ZhciBlPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEo
dGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xs
UGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5z
Y3JvbGxQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0udGFnTmFtZSk7cmV0dXJue3Rv
cDpkLnRvcCt0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AqYyt0aGlzLm9mZnNldC5wYXJlbnQudG9w
KmMtKGEuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5j
c3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUu
c2Nyb2xsVG9wKCkpKmMpLGxlZnQ6ZC5sZWZ0K3RoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQqYyt0
aGlzLm9mZnNldC5wYXJlbnQubGVmdCpjLShhLmJyb3dzZXIuc2FmYXJpJiYKK3RoaXMuY3NzUG9z
aXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQ
YXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDplLnNjcm9sbExlZnQoKSkqYyl9fSxfZ2VuZXJhdGVQb3Np
dGlvbjpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnMsZT10aGlzLmNzc1Bvc2l0aW9uPT0i
YWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250YWlu
cyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zmc2V0
UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChlWzBdLnRhZ05h
bWUpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJyZWxhdGl2ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRb
MF0hPWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9dGhpcy5vZmZzZXRQYXJlbnRbMF0p
KXRoaXMub2Zmc2V0LnJlbGF0aXZlPXRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCk7Cit2YXIgZz1j
LnBhZ2VYLGk9Yy5wYWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe2lmKHRoaXMuY29udGFp
bm1lbnQpe2lmKGMucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50
WzBdKWc9dGhpcy5jb250YWlubWVudFswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGMucGFn
ZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0paT10aGlzLmNvbnRh
aW5tZW50WzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcDtpZihjLnBhZ2VYLXRoaXMub2Zmc2V0LmNs
aWNrLmxlZnQ+dGhpcy5jb250YWlubWVudFsyXSlnPXRoaXMuY29udGFpbm1lbnRbMl0rdGhpcy5v
ZmZzZXQuY2xpY2subGVmdDtpZihjLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD50aGlzLmNv
bnRhaW5tZW50WzNdKWk9dGhpcy5jb250YWlubWVudFszXSt0aGlzLm9mZnNldC5jbGljay50b3B9
aWYoZC5ncmlkKXtpPXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChpLQordGhpcy5vcmln
aW5hbFBhZ2VZKS9kLmdyaWRbMV0pKmQuZ3JpZFsxXTtpPXRoaXMuY29udGFpbm1lbnQ/IShpLXRo
aXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdfHxpLXRoaXMub2Zmc2V0LmNs
aWNrLnRvcD50aGlzLmNvbnRhaW5tZW50WzNdKT9pOiEoaS10aGlzLm9mZnNldC5jbGljay50b3A8
dGhpcy5jb250YWlubWVudFsxXSk/aS1kLmdyaWRbMV06aStkLmdyaWRbMV06aTtnPXRoaXMub3Jp
Z2luYWxQYWdlWCtNYXRoLnJvdW5kKChnLXRoaXMub3JpZ2luYWxQYWdlWCkvZC5ncmlkWzBdKSpk
LmdyaWRbMF07Zz10aGlzLmNvbnRhaW5tZW50PyEoZy10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRo
aXMuY29udGFpbm1lbnRbMF18fGctdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5t
ZW50WzJdKT9nOiEoZy10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0p
P2ctZC5ncmlkWzBdOmcrZC5ncmlkWzBdOmd9fXJldHVybnt0b3A6aS0KK3RoaXMub2Zmc2V0LmNs
aWNrLnRvcC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCso
YS5icm93c2VyLnNhZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9z
aXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9s
bFRvcCgpKSxsZWZ0OmctdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2
ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhhLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNz
c1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3Jv
bGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDplLnNjcm9sbExlZnQoKSl9fSxfcmVhcnJhbmdlOmZ1
bmN0aW9uKGMsZCxlLGgpe2U/ZVswXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTpk
Lml0ZW1bMF0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5wbGFjZWhvbGRlclswXSwKK3Ro
aXMuZGlyZWN0aW9uPT0iZG93biI/ZC5pdGVtWzBdOmQuaXRlbVswXS5uZXh0U2libGluZyk7dGhp
cy5jb3VudGVyPXRoaXMuY291bnRlcj8rK3RoaXMuY291bnRlcjoxO3ZhciBnPXRoaXMsaT10aGlz
LmNvdW50ZXI7d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtpPT1nLmNvdW50ZXImJmcucmVm
cmVzaFBvc2l0aW9ucyghaCl9LDApfSxfY2xlYXI6ZnVuY3Rpb24oYyxkKXt0aGlzLnJldmVydGlu
Zz1mYWxzZTt2YXIgZT1bXTshdGhpcy5fbm9GaW5hbFNvcnQmJnRoaXMuY3VycmVudEl0ZW0ucGFy
ZW50KCkubGVuZ3RoJiZ0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSh0aGlzLmN1cnJlbnRJdGVtKTt0
aGlzLl9ub0ZpbmFsU29ydD1udWxsO2lmKHRoaXMuaGVscGVyWzBdPT10aGlzLmN1cnJlbnRJdGVt
WzBdKXtmb3IodmFyIGggaW4gdGhpcy5fc3RvcmVkQ1NTKWlmKHRoaXMuX3N0b3JlZENTU1toXT09
ImF1dG8ifHx0aGlzLl9zdG9yZWRDU1NbaF09PSJzdGF0aWMiKXRoaXMuX3N0b3JlZENTU1toXT0K
KyIiO3RoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMuX3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVp
LXNvcnRhYmxlLWhlbHBlciIpfWVsc2UgdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7dGhpcy5mcm9t
T3V0c2lkZSYmIWQmJmUucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIixn
LHRoaXMuX3VpSGFzaCh0aGlzLmZyb21PdXRzaWRlKSl9KTtpZigodGhpcy5mcm9tT3V0c2lkZXx8
dGhpcy5kb21Qb3NpdGlvbi5wcmV2IT10aGlzLmN1cnJlbnRJdGVtLnByZXYoKS5ub3QoIi51aS1z
b3J0YWJsZS1oZWxwZXIiKVswXXx8dGhpcy5kb21Qb3NpdGlvbi5wYXJlbnQhPXRoaXMuY3VycmVu
dEl0ZW0ucGFyZW50KClbMF0pJiYhZCllLnB1c2goZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigi
dXBkYXRlIixnLHRoaXMuX3VpSGFzaCgpKX0pO2lmKCFhLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVu
dFswXSx0aGlzLmN1cnJlbnRJdGVtWzBdKSl7ZHx8ZS5wdXNoKGZ1bmN0aW9uKGcpe3RoaXMuX3Ry
aWdnZXIoInJlbW92ZSIsCitnLHRoaXMuX3VpSGFzaCgpKX0pO2ZvcihoPXRoaXMuY29udGFpbmVy
cy5sZW5ndGgtMTtoPj0wO2gtLSlpZihhLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1toXS5l
bGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1bMF0pJiYhZCl7ZS5wdXNoKGZ1bmN0aW9uKGcpe3Jl
dHVybiBmdW5jdGlvbihpKXtnLl90cmlnZ2VyKCJyZWNlaXZlIixpLHRoaXMuX3VpSGFzaCh0aGlz
KSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2hdKSk7ZS5wdXNoKGZ1bmN0aW9uKGcpe3Jl
dHVybiBmdW5jdGlvbihpKXtnLl90cmlnZ2VyKCJ1cGRhdGUiLGksdGhpcy5fdWlIYXNoKHRoaXMp
KX19LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbaF0pKX19Zm9yKGg9dGhpcy5jb250YWluZXJz
Lmxlbmd0aC0xO2g+PTA7aC0tKXtkfHxlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9u
KGkpe2cuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGksdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwo
dGhpcywKK3RoaXMuY29udGFpbmVyc1toXSkpO2lmKHRoaXMuY29udGFpbmVyc1toXS5jb250YWlu
ZXJDYWNoZS5vdmVyKXtlLnB1c2goZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2cuX3Ry
aWdnZXIoIm91dCIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29udGFp
bmVyc1toXSkpO3RoaXMuY29udGFpbmVyc1toXS5jb250YWluZXJDYWNoZS5vdmVyPTB9fXRoaXMu
X3N0b3JlZEN1cnNvciYmYSgiYm9keSIpLmNzcygiY3Vyc29yIix0aGlzLl9zdG9yZWRDdXJzb3Ip
O3RoaXMuX3N0b3JlZE9wYWNpdHkmJnRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsdGhpcy5fc3Rv
cmVkT3BhY2l0eSk7aWYodGhpcy5fc3RvcmVkWkluZGV4KXRoaXMuaGVscGVyLmNzcygiekluZGV4
Iix0aGlzLl9zdG9yZWRaSW5kZXg9PSJhdXRvIj8iIjp0aGlzLl9zdG9yZWRaSW5kZXgpO3RoaXMu
ZHJhZ2dpbmc9ZmFsc2U7aWYodGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsKXtpZighZCl7dGhpcy5f
dHJpZ2dlcigiYmVmb3JlU3RvcCIsCitjLHRoaXMuX3VpSGFzaCgpKTtmb3IoaD0wO2g8ZS5sZW5n
dGg7aCsrKWVbaF0uY2FsbCh0aGlzLGMpO3RoaXMuX3RyaWdnZXIoInN0b3AiLGMsdGhpcy5fdWlI
YXNoKCkpfXJldHVybiBmYWxzZX1kfHx0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIixjLHRoaXMu
X3VpSGFzaCgpKTt0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhp
cy5wbGFjZWhvbGRlclswXSk7dGhpcy5oZWxwZXJbMF0hPXRoaXMuY3VycmVudEl0ZW1bMF0mJnRo
aXMuaGVscGVyLnJlbW92ZSgpO3RoaXMuaGVscGVyPW51bGw7aWYoIWQpe2ZvcihoPTA7aDxlLmxl
bmd0aDtoKyspZVtoXS5jYWxsKHRoaXMsYyk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYyx0aGlzLl91
aUhhc2goKSl9dGhpcy5mcm9tT3V0c2lkZT1mYWxzZTtyZXR1cm4gdHJ1ZX0sX3RyaWdnZXI6ZnVu
Y3Rpb24oKXthLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkodGhpcyxhcmd1bWVudHMp
PT09ZmFsc2UmJnRoaXMuY2FuY2VsKCl9LAorX3VpSGFzaDpmdW5jdGlvbihjKXt2YXIgZD1jfHx0
aGlzO3JldHVybntoZWxwZXI6ZC5oZWxwZXIscGxhY2Vob2xkZXI6ZC5wbGFjZWhvbGRlcnx8YShb
XSkscG9zaXRpb246ZC5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOmQub3JpZ2luYWxQb3NpdGlv
bixvZmZzZXQ6ZC5wb3NpdGlvbkFicyxpdGVtOmQuY3VycmVudEl0ZW0sc2VuZGVyOmM/Yy5lbGVt
ZW50Om51bGx9fX0pO2EuZXh0ZW5kKGEudWkuc29ydGFibGUse3ZlcnNpb246IjEuOC4xNSJ9KX0p
KGpRdWVyeSk7CitqUXVlcnkuZWZmZWN0c3x8ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBkKG4pe3Zh
ciBrO2lmKG4mJm4uY29uc3RydWN0b3I9PUFycmF5JiZuLmxlbmd0aD09MylyZXR1cm4gbjtpZihr
PS9yZ2JcKFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEs
M30pXHMqXCkvLmV4ZWMobikpcmV0dXJuW3BhcnNlSW50KGtbMV0sMTApLHBhcnNlSW50KGtbMl0s
MTApLHBhcnNlSW50KGtbM10sMTApXTtpZihrPS9yZ2JcKFxzKihbMC05XSsoPzpcLlswLTldKyk/
KVwlXHMqLFxzKihbMC05XSsoPzpcLlswLTldKyk/KVwlXHMqLFxzKihbMC05XSsoPzpcLlswLTld
Kyk/KVwlXHMqXCkvLmV4ZWMobikpcmV0dXJuW3BhcnNlRmxvYXQoa1sxXSkqMi41NSxwYXJzZUZs
b2F0KGtbMl0pKjIuNTUscGFyc2VGbG9hdChrWzNdKSoyLjU1XTtpZihrPS8jKFthLWZBLUYwLTld
ezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pLy5leGVjKG4pKXJldHVybltwYXJz
ZUludChrWzFdLAorMTYpLHBhcnNlSW50KGtbMl0sMTYpLHBhcnNlSW50KGtbM10sMTYpXTtpZihr
PS8jKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pLy5leGVjKG4pKXJldHVy
bltwYXJzZUludChrWzFdK2tbMV0sMTYpLHBhcnNlSW50KGtbMl0ra1syXSwxNikscGFyc2VJbnQo
a1szXStrWzNdLDE2KV07aWYoL3JnYmFcKDAsIDAsIDAsIDBcKS8uZXhlYyhuKSlyZXR1cm4gai50
cmFuc3BhcmVudDtyZXR1cm4galthLnRyaW0obikudG9Mb3dlckNhc2UoKV19ZnVuY3Rpb24gZShu
LGspe3ZhciBtO2Rve209YS5jdXJDU1MobixrKTtpZihtIT0iIiYmbSE9InRyYW5zcGFyZW50Inx8
YS5ub2RlTmFtZShuLCJib2R5IikpYnJlYWs7az0iYmFja2dyb3VuZENvbG9yIn13aGlsZShuPW4u
cGFyZW50Tm9kZSk7cmV0dXJuIGQobSl9ZnVuY3Rpb24gaCgpe3ZhciBuPWRvY3VtZW50LmRlZmF1
bHRWaWV3P2RvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGhpcyxudWxsKTp0
aGlzLmN1cnJlbnRTdHlsZSwKK2s9e30sbSxwO2lmKG4mJm4ubGVuZ3RoJiZuWzBdJiZuW25bMF1d
KWZvcih2YXIgcT1uLmxlbmd0aDtxLS07KXttPW5bcV07aWYodHlwZW9mIG5bbV09PSJzdHJpbmci
KXtwPW0ucmVwbGFjZSgvXC0oXHcpL2csZnVuY3Rpb24ocyxyKXtyZXR1cm4gci50b1VwcGVyQ2Fz
ZSgpfSk7a1twXT1uW21dfX1lbHNlIGZvcihtIGluIG4paWYodHlwZW9mIG5bbV09PT0ic3RyaW5n
IilrW21dPW5bbV07cmV0dXJuIGt9ZnVuY3Rpb24gZyhuKXt2YXIgayxtO2ZvcihrIGluIG4pe209
bltrXTtpZihtPT1udWxsfHxhLmlzRnVuY3Rpb24obSl8fGsgaW4gb3x8L3Njcm9sbGJhci8udGVz
dChrKXx8IS9jb2xvci9pLnRlc3QoaykmJmlzTmFOKHBhcnNlRmxvYXQobSkpKWRlbGV0ZSBuW2td
fXJldHVybiBufWZ1bmN0aW9uIGkobixrKXt2YXIgbT17XzowfSxwO2ZvcihwIGluIGspaWYobltw
XSE9a1twXSltW3BdPWtbcF07cmV0dXJuIG19ZnVuY3Rpb24gYihuLGssbSxwKXtpZih0eXBlb2Yg
bj09Im9iamVjdCIpe3A9CitrO209bnVsbDtrPW47bj1rLmVmZmVjdH1pZihhLmlzRnVuY3Rpb24o
aykpe3A9azttPW51bGw7az17fX1pZih0eXBlb2Ygaz09Im51bWJlciJ8fGEuZnguc3BlZWRzW2td
KXtwPW07bT1rO2s9e319aWYoYS5pc0Z1bmN0aW9uKG0pKXtwPW07bT1udWxsfWs9a3x8e307bT1t
fHxrLmR1cmF0aW9uO209YS5meC5vZmY/MDp0eXBlb2YgbT09Im51bWJlciI/bTptIGluIGEuZngu
c3BlZWRzP2EuZnguc3BlZWRzW21dOmEuZnguc3BlZWRzLl9kZWZhdWx0O3A9cHx8ay5jb21wbGV0
ZTtyZXR1cm5bbixrLG0scF19ZnVuY3Rpb24gZihuKXtpZighbnx8dHlwZW9mIG49PT0ibnVtYmVy
Inx8YS5meC5zcGVlZHNbbl0pcmV0dXJuIHRydWU7aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmIWEu
ZWZmZWN0c1tuXSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9YS5lZmZlY3RzPXt9O2EuZWFjaChb
ImJhY2tncm91bmRDb2xvciIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyTGVmdENvbG9yIiwi
Ym9yZGVyUmlnaHRDb2xvciIsCisiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJDb2xvciIsImNvbG9y
Iiwib3V0bGluZUNvbG9yIl0sZnVuY3Rpb24obixrKXthLmZ4LnN0ZXBba109ZnVuY3Rpb24obSl7
aWYoIW0uY29sb3JJbml0KXttLnN0YXJ0PWUobS5lbGVtLGspO20uZW5kPWQobS5lbmQpO20uY29s
b3JJbml0PXRydWV9bS5lbGVtLnN0eWxlW2tdPSJyZ2IoIitNYXRoLm1heChNYXRoLm1pbihwYXJz
ZUludChtLnBvcyoobS5lbmRbMF0tbS5zdGFydFswXSkrbS5zdGFydFswXSwxMCksMjU1KSwwKSsi
LCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQobS5wb3MqKG0uZW5kWzFdLW0uc3RhcnRbMV0p
K20uc3RhcnRbMV0sMTApLDI1NSksMCkrIiwiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KG0u
cG9zKihtLmVuZFsyXS1tLnN0YXJ0WzJdKSttLnN0YXJ0WzJdLDEwKSwyNTUpLDApKyIpIn19KTt2
YXIgaj17YXF1YTpbMCwyNTUsMjU1XSxhenVyZTpbMjQwLDI1NSwyNTVdLGJlaWdlOlsyNDUsMjQ1
LDIyMF0sYmxhY2s6WzAsCiswLDBdLGJsdWU6WzAsMCwyNTVdLGJyb3duOlsxNjUsNDIsNDJdLGN5
YW46WzAsMjU1LDI1NV0sZGFya2JsdWU6WzAsMCwxMzldLGRhcmtjeWFuOlswLDEzOSwxMzldLGRh
cmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2dyZWVuOlswLDEwMCwwXSxkYXJra2hha2k6WzE4OSwx
ODMsMTA3XSxkYXJrbWFnZW50YTpbMTM5LDAsMTM5XSxkYXJrb2xpdmVncmVlbjpbODUsMTA3LDQ3
XSxkYXJrb3JhbmdlOlsyNTUsMTQwLDBdLGRhcmtvcmNoaWQ6WzE1Myw1MCwyMDRdLGRhcmtyZWQ6
WzEzOSwwLDBdLGRhcmtzYWxtb246WzIzMywxNTAsMTIyXSxkYXJrdmlvbGV0OlsxNDgsMCwyMTFd
LGZ1Y2hzaWE6WzI1NSwwLDI1NV0sZ29sZDpbMjU1LDIxNSwwXSxncmVlbjpbMCwxMjgsMF0saW5k
aWdvOls3NSwwLDEzMF0sa2hha2k6WzI0MCwyMzAsMTQwXSxsaWdodGJsdWU6WzE3MywyMTYsMjMw
XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdyZWVuOlsxNDQsMjM4LDE0NF0sbGlnaHRn
cmV5OlsyMTEsCisyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHllbGxvdzpb
MjU1LDI1NSwyMjRdLGxpbWU6WzAsMjU1LDBdLG1hZ2VudGE6WzI1NSwwLDI1NV0sbWFyb29uOlsx
MjgsMCwwXSxuYXZ5OlswLDAsMTI4XSxvbGl2ZTpbMTI4LDEyOCwwXSxvcmFuZ2U6WzI1NSwxNjUs
MF0scGluazpbMjU1LDE5MiwyMDNdLHB1cnBsZTpbMTI4LDAsMTI4XSx2aW9sZXQ6WzEyOCwwLDEy
OF0scmVkOlsyNTUsMCwwXSxzaWx2ZXI6WzE5MiwxOTIsMTkyXSx3aGl0ZTpbMjU1LDI1NSwyNTVd
LHllbGxvdzpbMjU1LDI1NSwwXSx0cmFuc3BhcmVudDpbMjU1LDI1NSwyNTVdfSxsPVsiYWRkIiwi
cmVtb3ZlIiwidG9nZ2xlIl0sbz17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6
MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1h
cmdpbjoxLHBhZGRpbmc6MX07YS5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihuLGssbSwK
K3Ape2lmKGEuaXNGdW5jdGlvbihtKSl7cD1tO209bnVsbH1yZXR1cm4gdGhpcy5xdWV1ZShmdW5j
dGlvbigpe3ZhciBxPWEodGhpcykscz1xLmF0dHIoInN0eWxlIil8fCIgIixyPWcoaC5jYWxsKHRo
aXMpKSx1LHY9cS5hdHRyKCJjbGFzcyIpO2EuZWFjaChsLGZ1bmN0aW9uKHcseCl7blt4XSYmcVt4
KyJDbGFzcyJdKG5beF0pfSk7dT1nKGguY2FsbCh0aGlzKSk7cS5hdHRyKCJjbGFzcyIsdik7cS5h
bmltYXRlKGkocix1KSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ayxlYXNpbmc6bSxjb21wbGV0ZTpm
dW5jdGlvbigpe2EuZWFjaChsLGZ1bmN0aW9uKHcseCl7blt4XSYmcVt4KyJDbGFzcyJdKG5beF0p
fSk7aWYodHlwZW9mIHEuYXR0cigic3R5bGUiKT09Im9iamVjdCIpe3EuYXR0cigic3R5bGUiKS5j
c3NUZXh0PSIiO3EuYXR0cigic3R5bGUiKS5jc3NUZXh0PXN9ZWxzZSBxLmF0dHIoInN0eWxlIixz
KTtwJiZwLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthLmRlcXVldWUodGhpcyl9fSl9KX07CithLmZu
LmV4dGVuZCh7X2FkZENsYXNzOmEuZm4uYWRkQ2xhc3MsYWRkQ2xhc3M6ZnVuY3Rpb24obixrLG0s
cCl7cmV0dXJuIGs/YS5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7YWRkOm59LGss
bSxwXSk6dGhpcy5fYWRkQ2xhc3Mobil9LF9yZW1vdmVDbGFzczphLmZuLnJlbW92ZUNsYXNzLHJl
bW92ZUNsYXNzOmZ1bmN0aW9uKG4sayxtLHApe3JldHVybiBrP2EuZWZmZWN0cy5hbmltYXRlQ2xh
c3MuYXBwbHkodGhpcyxbe3JlbW92ZTpufSxrLG0scF0pOnRoaXMuX3JlbW92ZUNsYXNzKG4pfSxf
dG9nZ2xlQ2xhc3M6YS5mbi50b2dnbGVDbGFzcyx0b2dnbGVDbGFzczpmdW5jdGlvbihuLGssbSxw
LHEpe3JldHVybiB0eXBlb2Ygaz09ImJvb2xlYW4ifHxrPT09Yz9tP2EuZWZmZWN0cy5hbmltYXRl
Q2xhc3MuYXBwbHkodGhpcyxbaz97YWRkOm59OntyZW1vdmU6bn0sbSxwLHFdKTp0aGlzLl90b2dn
bGVDbGFzcyhuLGspOmEuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcywKK1t7dG9nZ2xl
Om59LGssbSxwXSl9LHN3aXRjaENsYXNzOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIGEuZWZm
ZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe2FkZDprLHJlbW92ZTpufSxtLHAscV0pfX0p
O2EuZXh0ZW5kKGEuZWZmZWN0cyx7dmVyc2lvbjoiMS44LjE1IixzYXZlOmZ1bmN0aW9uKG4sayl7
Zm9yKHZhciBtPTA7bTxrLmxlbmd0aDttKyspa1ttXSE9PW51bGwmJm4uZGF0YSgiZWMuc3RvcmFn
ZS4iK2tbbV0sblswXS5zdHlsZVtrW21dXSl9LHJlc3RvcmU6ZnVuY3Rpb24obixrKXtmb3IodmFy
IG09MDttPGsubGVuZ3RoO20rKylrW21dIT09bnVsbCYmbi5jc3Moa1ttXSxuLmRhdGEoImVjLnN0
b3JhZ2UuIitrW21dKSl9LHNldE1vZGU6ZnVuY3Rpb24obixrKXtpZihrPT0idG9nZ2xlIilrPW4u
aXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiO3JldHVybiBrfSxnZXRCYXNlbGluZTpmdW5jdGlv
bihuLGspe3ZhciBtO3N3aXRjaChuWzBdKXtjYXNlICJ0b3AiOm09CiswO2JyZWFrO2Nhc2UgIm1p
ZGRsZSI6bT0wLjU7YnJlYWs7Y2FzZSAiYm90dG9tIjptPTE7YnJlYWs7ZGVmYXVsdDptPW5bMF0v
ay5oZWlnaHR9c3dpdGNoKG5bMV0pe2Nhc2UgImxlZnQiOm49MDticmVhaztjYXNlICJjZW50ZXIi
Om49MC41O2JyZWFrO2Nhc2UgInJpZ2h0IjpuPTE7YnJlYWs7ZGVmYXVsdDpuPW5bMV0vay53aWR0
aH1yZXR1cm57eDpuLHk6bX19LGNyZWF0ZVdyYXBwZXI6ZnVuY3Rpb24obil7aWYobi5wYXJlbnQo
KS5pcygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJldHVybiBuLnBhcmVudCgpO3ZhciBrPXt3aWR0
aDpuLm91dGVyV2lkdGgodHJ1ZSksaGVpZ2h0Om4ub3V0ZXJIZWlnaHQodHJ1ZSksImZsb2F0Ijpu
LmNzcygiZmxvYXQiKX0sbT1hKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXdy
YXBwZXIiKS5jc3Moe2ZvbnRTaXplOiIxMDAlIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9y
ZGVyOiJub25lIixtYXJnaW46MCxwYWRkaW5nOjB9KTsKK24ud3JhcChtKTttPW4ucGFyZW50KCk7
aWYobi5jc3MoInBvc2l0aW9uIik9PSJzdGF0aWMiKXttLmNzcyh7cG9zaXRpb246InJlbGF0aXZl
In0pO24uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSl9ZWxzZXthLmV4dGVuZChrLHtwb3NpdGlv
bjpuLmNzcygicG9zaXRpb24iKSx6SW5kZXg6bi5jc3MoInotaW5kZXgiKX0pO2EuZWFjaChbInRv
cCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKHAscSl7a1txXT1uLmNzcyhxKTtp
Zihpc05hTihwYXJzZUludChrW3FdLDEwKSkpa1txXT0iYXV0byJ9KTtuLmNzcyh7cG9zaXRpb246
InJlbGF0aXZlIix0b3A6MCxsZWZ0OjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byJ9KX1yZXR1
cm4gbS5jc3Moaykuc2hvdygpfSxyZW1vdmVXcmFwcGVyOmZ1bmN0aW9uKG4pe2lmKG4ucGFyZW50
KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gbi5wYXJlbnQoKS5yZXBsYWNlV2l0
aChuKTtyZXR1cm4gbn0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihuLAorayxtLHApe3A9cHx8e307
YS5lYWNoKGssZnVuY3Rpb24ocSxzKXt1bml0PW4uY3NzVW5pdChzKTtpZih1bml0WzBdPjApcFtz
XT11bml0WzBdKm0rdW5pdFsxXX0pO3JldHVybiBwfX0pO2EuZm4uZXh0ZW5kKHtlZmZlY3Q6ZnVu
Y3Rpb24obil7dmFyIGs9Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyksbT17b3B0aW9uczprWzFdLGR1
cmF0aW9uOmtbMl0sY2FsbGJhY2s6a1szXX07az1tLm9wdGlvbnMubW9kZTt2YXIgcD1hLmVmZmVj
dHNbbl07aWYoYS5meC5vZmZ8fCFwKXJldHVybiBrP3RoaXNba10obS5kdXJhdGlvbixtLmNhbGxi
YWNrKTp0aGlzLmVhY2goZnVuY3Rpb24oKXttLmNhbGxiYWNrJiZtLmNhbGxiYWNrLmNhbGwodGhp
cyl9KTtyZXR1cm4gcC5jYWxsKHRoaXMsbSl9LF9zaG93OmEuZm4uc2hvdyxzaG93OmZ1bmN0aW9u
KG4pe2lmKGYobikpcmV0dXJuIHRoaXMuX3Nob3cuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7
dmFyIGs9Yi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7CitrWzFdLm1vZGU9InNob3ciO3JldHVybiB0
aGlzLmVmZmVjdC5hcHBseSh0aGlzLGspfX0sX2hpZGU6YS5mbi5oaWRlLGhpZGU6ZnVuY3Rpb24o
bil7aWYoZihuKSlyZXR1cm4gdGhpcy5faGlkZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2
YXIgaz1iLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtrWzFdLm1vZGU9ImhpZGUiO3JldHVybiB0aGlz
LmVmZmVjdC5hcHBseSh0aGlzLGspfX0sX190b2dnbGU6YS5mbi50b2dnbGUsdG9nZ2xlOmZ1bmN0
aW9uKG4pe2lmKGYobil8fHR5cGVvZiBuPT09ImJvb2xlYW4ifHxhLmlzRnVuY3Rpb24obikpcmV0
dXJuIHRoaXMuX190b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGs9Yi5hcHBs
eSh0aGlzLGFyZ3VtZW50cyk7a1sxXS5tb2RlPSJ0b2dnbGUiO3JldHVybiB0aGlzLmVmZmVjdC5h
cHBseSh0aGlzLGspfX0sY3NzVW5pdDpmdW5jdGlvbihuKXt2YXIgaz10aGlzLmNzcyhuKSxtPVtd
O2EuZWFjaChbImVtIiwicHgiLCIlIiwKKyJwdCJdLGZ1bmN0aW9uKHAscSl7aWYoay5pbmRleE9m
KHEpPjApbT1bcGFyc2VGbG9hdChrKSxxXX0pO3JldHVybiBtfX0pO2EuZWFzaW5nLmpzd2luZz1h
LmVhc2luZy5zd2luZzthLmV4dGVuZChhLmVhc2luZyx7ZGVmOiJlYXNlT3V0UXVhZCIsc3dpbmc6
ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gYS5lYXNpbmdbYS5lYXNpbmcuZGVmXShuLGssbSxw
LHEpfSxlYXNlSW5RdWFkOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqKGsvPXEpKmsrbX0s
ZWFzZU91dFF1YWQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4tcCooay89cSkqKGstMikrbX0s
ZWFzZUluT3V0UXVhZDpmdW5jdGlvbihuLGssbSxwLHEpe2lmKChrLz1xLzIpPDEpcmV0dXJuIHAv
MiprKmsrbTtyZXR1cm4tcC8yKigtLWsqKGstMiktMSkrbX0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24o
bixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayprK219LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihu
LGssbSxwLHEpe3JldHVybiBwKgorKChrPWsvcS0xKSprKmsrMSkrbX0sZWFzZUluT3V0Q3ViaWM6
ZnVuY3Rpb24obixrLG0scCxxKXtpZigoay89cS8yKTwxKXJldHVybiBwLzIqayprKmsrbTtyZXR1
cm4gcC8yKigoay09MikqayprKzIpK219LGVhc2VJblF1YXJ0OmZ1bmN0aW9uKG4sayxtLHAscSl7
cmV0dXJuIHAqKGsvPXEpKmsqayprK219LGVhc2VPdXRRdWFydDpmdW5jdGlvbihuLGssbSxwLHEp
e3JldHVybi1wKigoaz1rL3EtMSkqayprKmstMSkrbX0sZWFzZUluT3V0UXVhcnQ6ZnVuY3Rpb24o
bixrLG0scCxxKXtpZigoay89cS8yKTwxKXJldHVybiBwLzIqayprKmsqayttO3JldHVybi1wLzIq
KChrLT0yKSprKmsqay0yKSttfSxlYXNlSW5RdWludDpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVy
biBwKihrLz1xKSprKmsqayprK219LGVhc2VPdXRRdWludDpmdW5jdGlvbihuLGssbSxwLHEpe3Jl
dHVybiBwKigoaz1rL3EtMSkqayprKmsqaysxKSttfSxlYXNlSW5PdXRRdWludDpmdW5jdGlvbihu
LGssbSxwLHEpe2lmKChrLz0KK3EvMik8MSlyZXR1cm4gcC8yKmsqayprKmsqayttO3JldHVybiBw
LzIqKChrLT0yKSprKmsqayprKzIpK219LGVhc2VJblNpbmU6ZnVuY3Rpb24obixrLG0scCxxKXty
ZXR1cm4tcCpNYXRoLmNvcyhrL3EqKE1hdGguUEkvMikpK3ArbX0sZWFzZU91dFNpbmU6ZnVuY3Rp
b24obixrLG0scCxxKXtyZXR1cm4gcCpNYXRoLnNpbihrL3EqKE1hdGguUEkvMikpK219LGVhc2VJ
bk91dFNpbmU6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4tcC8yKihNYXRoLmNvcyhNYXRoLlBJ
KmsvcSktMSkrbX0sZWFzZUluRXhwbzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBrPT0wP206
cCpNYXRoLnBvdygyLDEwKihrL3EtMSkpK219LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKG4sayxtLHAs
cSl7cmV0dXJuIGs9PXE/bStwOnAqKC1NYXRoLnBvdygyLC0xMCprL3EpKzEpK219LGVhc2VJbk91
dEV4cG86ZnVuY3Rpb24obixrLG0scCxxKXtpZihrPT0wKXJldHVybiBtO2lmKGs9PXEpcmV0dXJu
IG0rcDtpZigoay89CitxLzIpPDEpcmV0dXJuIHAvMipNYXRoLnBvdygyLDEwKihrLTEpKSttO3Jl
dHVybiBwLzIqKC1NYXRoLnBvdygyLC0xMCotLWspKzIpK219LGVhc2VJbkNpcmM6ZnVuY3Rpb24o
bixrLG0scCxxKXtyZXR1cm4tcCooTWF0aC5zcXJ0KDEtKGsvPXEpKmspLTEpK219LGVhc2VPdXRD
aXJjOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAqTWF0aC5zcXJ0KDEtKGs9ay9xLTEpKmsp
K219LGVhc2VJbk91dENpcmM6ZnVuY3Rpb24obixrLG0scCxxKXtpZigoay89cS8yKTwxKXJldHVy
bi1wLzIqKE1hdGguc3FydCgxLWsqayktMSkrbTtyZXR1cm4gcC8yKihNYXRoLnNxcnQoMS0oay09
MikqaykrMSkrbX0sZWFzZUluRWxhc3RpYzpmdW5jdGlvbihuLGssbSxwLHEpe249MS43MDE1ODt2
YXIgcz0wLHI9cDtpZihrPT0wKXJldHVybiBtO2lmKChrLz1xKT09MSlyZXR1cm4gbStwO3N8fChz
PXEqMC4zKTtpZihyPE1hdGguYWJzKHApKXtyPXA7bj1zLzR9ZWxzZSBuPXMvKDIqTWF0aC5QSSkq
TWF0aC5hc2luKHAvCityKTtyZXR1cm4tKHIqTWF0aC5wb3coMiwxMCooay09MSkpKk1hdGguc2lu
KChrKnEtbikqMipNYXRoLlBJL3MpKSttfSxlYXNlT3V0RWxhc3RpYzpmdW5jdGlvbihuLGssbSxw
LHEpe249MS43MDE1ODt2YXIgcz0wLHI9cDtpZihrPT0wKXJldHVybiBtO2lmKChrLz1xKT09MSly
ZXR1cm4gbStwO3N8fChzPXEqMC4zKTtpZihyPE1hdGguYWJzKHApKXtyPXA7bj1zLzR9ZWxzZSBu
PXMvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHAvcik7cmV0dXJuIHIqTWF0aC5wb3coMiwtMTAqaykq
TWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykrcCttfSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0
aW9uKG4sayxtLHAscSl7bj0xLjcwMTU4O3ZhciBzPTAscj1wO2lmKGs9PTApcmV0dXJuIG07aWYo
KGsvPXEvMik9PTIpcmV0dXJuIG0rcDtzfHwocz1xKjAuMyoxLjUpO2lmKHI8TWF0aC5hYnMocCkp
e3I9cDtuPXMvNH1lbHNlIG49cy8oMipNYXRoLlBJKSpNYXRoLmFzaW4ocC9yKTtpZihrPDEpcmV0
dXJuLTAuNSoKK3IqTWF0aC5wb3coMiwxMCooay09MSkpKk1hdGguc2luKChrKnEtbikqMipNYXRo
LlBJL3MpK207cmV0dXJuIHIqTWF0aC5wb3coMiwtMTAqKGstPTEpKSpNYXRoLnNpbigoaypxLW4p
KjIqTWF0aC5QSS9zKSowLjUrcCttfSxlYXNlSW5CYWNrOmZ1bmN0aW9uKG4sayxtLHAscSxzKXtp
ZihzPT1jKXM9MS43MDE1ODtyZXR1cm4gcCooay89cSkqayooKHMrMSkqay1zKSttfSxlYXNlT3V0
QmFjazpmdW5jdGlvbihuLGssbSxwLHEscyl7aWYocz09YylzPTEuNzAxNTg7cmV0dXJuIHAqKChr
PWsvcS0xKSprKigocysxKSprK3MpKzEpK219LGVhc2VJbk91dEJhY2s6ZnVuY3Rpb24obixrLG0s
cCxxLHMpe2lmKHM9PWMpcz0xLjcwMTU4O2lmKChrLz1xLzIpPDEpcmV0dXJuIHAvMiprKmsqKCgo
cyo9MS41MjUpKzEpKmstcykrbTtyZXR1cm4gcC8yKigoay09MikqayooKChzKj0xLjUyNSkrMSkq
aytzKSsyKSttfSxlYXNlSW5Cb3VuY2U6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcC1hLmVh
c2luZy5lYXNlT3V0Qm91bmNlKG4sCitxLWssMCxwLHEpK219LGVhc2VPdXRCb3VuY2U6ZnVuY3Rp
b24obixrLG0scCxxKXtyZXR1cm4oay89cSk8MS8yLjc1P3AqNy41NjI1KmsqayttOms8Mi8yLjc1
P3AqKDcuNTYyNSooay09MS41LzIuNzUpKmsrMC43NSkrbTprPDIuNS8yLjc1P3AqKDcuNTYyNSoo
ay09Mi4yNS8yLjc1KSprKzAuOTM3NSkrbTpwKig3LjU2MjUqKGstPTIuNjI1LzIuNzUpKmsrMC45
ODQzNzUpK219LGVhc2VJbk91dEJvdW5jZTpmdW5jdGlvbihuLGssbSxwLHEpe2lmKGs8cS8yKXJl
dHVybiBhLmVhc2luZy5lYXNlSW5Cb3VuY2UobixrKjIsMCxwLHEpKjAuNSttO3JldHVybiBhLmVh
c2luZy5lYXNlT3V0Qm91bmNlKG4sayoyLXEsMCxwLHEpKjAuNStwKjAuNSttfX0pfShqUXVlcnkp
OworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5ibGluZD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5x
dWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9t
IiwibGVmdCIsInJpZ2h0Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwi
aGlkZSIpLGc9Yy5vcHRpb25zLmRpcmVjdGlvbnx8InZlcnRpY2FsIjthLmVmZmVjdHMuc2F2ZShk
LGUpO2Quc2hvdygpO3ZhciBpPWEuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpLmNzcyh7b3ZlcmZs
b3c6ImhpZGRlbiJ9KSxiPWc9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6IndpZHRoIjtnPWc9PSJ2ZXJ0
aWNhbCI/aS5oZWlnaHQoKTppLndpZHRoKCk7aD09InNob3ciJiZpLmNzcyhiLDApO3ZhciBmPXt9
O2ZbYl09aD09InNob3ciP2c6MDtpLmFuaW1hdGUoZixjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNp
bmcsZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsCitl
KTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5
KGRbMF0sYXJndW1lbnRzKTtkLmRlcXVldWUoKX0pfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihh
KXthLmVmZmVjdHMuYm91bmNlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0Iiwicmln
aHQiXSxoPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxnPWMu
b3B0aW9ucy5kaXJlY3Rpb258fCJ1cCIsaT1jLm9wdGlvbnMuZGlzdGFuY2V8fDIwLGI9Yy5vcHRp
b25zLnRpbWVzfHw1LGY9Yy5kdXJhdGlvbnx8MjUwOy9zaG93fGhpZGUvLnRlc3QoaCkmJmUucHVz
aCgib3BhY2l0eSIpO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0
ZVdyYXBwZXIoZCk7dmFyIGo9Zz09InVwInx8Zz09ImRvd24iPyJ0b3AiOiJsZWZ0IjtnPWc9PSJ1
cCJ8fGc9PSJsZWZ0Ij8icG9zIjoibmVnIjtpPWMub3B0aW9ucy5kaXN0YW5jZXx8KGo9PSJ0b3Ai
P2Qub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkvMzpkLm91dGVyV2lkdGgoe21hcmdpbjp0cnVl
fSkvCiszKTtpZihoPT0ic2hvdyIpZC5jc3MoIm9wYWNpdHkiLDApLmNzcyhqLGc9PSJwb3MiPy1p
OmkpO2lmKGg9PSJoaWRlIilpLz1iKjI7aCE9ImhpZGUiJiZiLS07aWYoaD09InNob3ciKXt2YXIg
bD17b3BhY2l0eToxfTtsW2pdPShnPT0icG9zIj8iKz0iOiItPSIpK2k7ZC5hbmltYXRlKGwsZi8y
LGMub3B0aW9ucy5lYXNpbmcpO2kvPTI7Yi0tfWZvcihsPTA7bDxiO2wrKyl7dmFyIG89e30sbj17
fTtvW2pdPShnPT0icG9zIj8iLT0iOiIrPSIpK2k7bltqXT0oZz09InBvcyI/Iis9IjoiLT0iKStp
O2QuYW5pbWF0ZShvLGYvMixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG4sZi8yLGMub3B0aW9u
cy5lYXNpbmcpO2k9aD09ImhpZGUiP2kqMjppLzJ9aWYoaD09ImhpZGUiKXtsPXtvcGFjaXR5OjB9
O2xbal09KGc9PSJwb3MiPyItPSI6Iis9IikraTtkLmFuaW1hdGUobCxmLzIsYy5vcHRpb25zLmVh
c2luZyxmdW5jdGlvbigpe2QuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3Rz
LnJlbW92ZVdyYXBwZXIoZCk7CitjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKX0pfWVsc2V7bz17fTtuPXt9O29bal09KGc9PSJwb3MiPyItPSI6Iis9IikraTtuW2pd
PShnPT0icG9zIj8iKz0iOiItPSIpK2k7ZC5hbmltYXRlKG8sZi8yLGMub3B0aW9ucy5lYXNpbmcp
LmFuaW1hdGUobixmLzIsYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2EuZWZmZWN0cy5yZXN0
b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFj
ay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1kLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtkLmRlcXVl
dWUoKX0pO2QuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMu
Y2xpcD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhp
cyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0Iiwi
d2lkdGgiXSxoPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1j
Lm9wdGlvbnMuZGlyZWN0aW9ufHwidmVydGljYWwiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93
KCk7dmFyIGk9YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxvdzoiaGlkZGVu
In0pO2k9ZFswXS50YWdOYW1lPT0iSU1HIj9pOmQ7dmFyIGI9e3NpemU6Zz09InZlcnRpY2FsIj8i
aGVpZ2h0Ijoid2lkdGgiLHBvc2l0aW9uOmc9PSJ2ZXJ0aWNhbCI/InRvcCI6ImxlZnQifTtnPWc9
PSJ2ZXJ0aWNhbCI/aS5oZWlnaHQoKTppLndpZHRoKCk7aWYoaD09InNob3ciKXtpLmNzcyhiLnNp
emUsMCk7aS5jc3MoYi5wb3NpdGlvbiwKK2cvMil9dmFyIGY9e307ZltiLnNpemVdPWg9PSJzaG93
Ij9nOjA7ZltiLnBvc2l0aW9uXT1oPT0ic2hvdyI/MDpnLzI7aS5hbmltYXRlKGYse3F1ZXVlOmZh
bHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6
ZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5l
ZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBd
LGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2Eu
ZWZmZWN0cy5kcm9wPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFy
IGQ9YSh0aGlzKSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJv
cGFjaXR5Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9
Yy5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiO2EuZWZmZWN0cy5zYXZlKGQsZSk7ZC5zaG93KCk7
YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCk7dmFyIGk9Zz09InVwInx8Zz09ImRvd24iPyJ0b3Ai
OiJsZWZ0IjtnPWc9PSJ1cCJ8fGc9PSJsZWZ0Ij8icG9zIjoibmVnIjt2YXIgYj1jLm9wdGlvbnMu
ZGlzdGFuY2V8fChpPT0idG9wIj9kLm91dGVySGVpZ2h0KHttYXJnaW46dHJ1ZX0pLzI6ZC5vdXRl
cldpZHRoKHttYXJnaW46dHJ1ZX0pLzIpO2lmKGg9PSJzaG93IilkLmNzcygib3BhY2l0eSIsMCku
Y3NzKGksZz09InBvcyI/LWI6Yik7dmFyIGY9e29wYWNpdHk6aD09Cisic2hvdyI/MTowfTtmW2ld
PShoPT0ic2hvdyI/Zz09InBvcyI/Iis9IjoiLT0iOmc9PSJwb3MiPyItPSI6Iis9IikrYjtkLmFu
aW1hdGUoZix7cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25z
LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2g9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3Rz
LnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNh
bGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7
CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmV4cGxvZGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMu
cXVldWUoZnVuY3Rpb24oKXt2YXIgZD1jLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5z
cXJ0KGMub3B0aW9ucy5waWVjZXMpKTozLGU9Yy5vcHRpb25zLnBpZWNlcz9NYXRoLnJvdW5kKE1h
dGguc3FydChjLm9wdGlvbnMucGllY2VzKSk6MztjLm9wdGlvbnMubW9kZT1jLm9wdGlvbnMubW9k
ZT09InRvZ2dsZSI/YSh0aGlzKS5pcygiOnZpc2libGUiKT8iaGlkZSI6InNob3ciOmMub3B0aW9u
cy5tb2RlO3ZhciBoPWEodGhpcykuc2hvdygpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLGc9
aC5vZmZzZXQoKTtnLnRvcC09cGFyc2VJbnQoaC5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MDtnLmxl
ZnQtPXBhcnNlSW50KGguY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwO2Zvcih2YXIgaT1oLm91dGVy
V2lkdGgodHJ1ZSksYj1oLm91dGVySGVpZ2h0KHRydWUpLGY9MDtmPGQ7ZisrKWZvcih2YXIgaj0K
KzA7ajxlO2orKyloLmNsb25lKCkuYXBwZW5kVG8oImJvZHkiKS53cmFwKCI8ZGl2PjwvZGl2PiIp
LmNzcyh7cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJ2aXNpYmxlIixsZWZ0Oi1qKihp
L2UpLHRvcDotZiooYi9kKX0pLnBhcmVudCgpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLWV4cGxvZGUi
KS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6aS9lLGhl
aWdodDpiL2QsbGVmdDpnLmxlZnQraiooaS9lKSsoYy5vcHRpb25zLm1vZGU9PSJzaG93Ij8oai1N
YXRoLmZsb29yKGUvMikpKihpL2UpOjApLHRvcDpnLnRvcCtmKihiL2QpKyhjLm9wdGlvbnMubW9k
ZT09InNob3ciPyhmLU1hdGguZmxvb3IoZC8yKSkqKGIvZCk6MCksb3BhY2l0eTpjLm9wdGlvbnMu
bW9kZT09InNob3ciPzA6MX0pLmFuaW1hdGUoe2xlZnQ6Zy5sZWZ0K2oqKGkvZSkrKGMub3B0aW9u
cy5tb2RlPT0ic2hvdyI/MDooai1NYXRoLmZsb29yKGUvMikpKihpL2UpKSx0b3A6Zy50b3ArCitm
KihiL2QpKyhjLm9wdGlvbnMubW9kZT09InNob3ciPzA6KGYtTWF0aC5mbG9vcihkLzIpKSooYi9k
KSksb3BhY2l0eTpjLm9wdGlvbnMubW9kZT09InNob3ciPzE6MH0sYy5kdXJhdGlvbnx8NTAwKTtz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5vcHRpb25zLm1vZGU9PSJzaG93Ij9oLmNzcyh7dmlzaWJp
bGl0eToidmlzaWJsZSJ9KTpoLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KS5oaWRlKCk7Yy5j
YWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShoWzBdKTtoLmRlcXVldWUoKTthKCJkaXYudWktZWZm
ZWN0cy1leHBsb2RlIikucmVtb3ZlKCl9LGMuZHVyYXRpb258fDUwMCl9KX19KShqUXVlcnkpOwor
KGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5mYWRlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVl
KGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25z
Lm1vZGV8fCJoaWRlIik7ZC5hbmltYXRlKHtvcGFjaXR5OmV9LHtxdWV1ZTpmYWxzZSxkdXJhdGlv
bjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7
Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9
fSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5mb2xkPWZ1bmN0aW9uKGMp
e3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsicG9zaXRpb24i
LCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEuZWZmZWN0cy5zZXRNb2RlKGQsYy5v
cHRpb25zLm1vZGV8fCJoaWRlIiksZz1jLm9wdGlvbnMuc2l6ZXx8MTUsaT0hIWMub3B0aW9ucy5o
b3JpekZpcnN0LGI9Yy5kdXJhdGlvbj9jLmR1cmF0aW9uLzI6YS5meC5zcGVlZHMuX2RlZmF1bHQv
MjthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpO3ZhciBmPWEuZWZmZWN0cy5jcmVhdGVXcmFw
cGVyKGQpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxqPWg9PSJzaG93IiE9aSxsPWo/WyJ3aWR0
aCIsImhlaWdodCJdOlsiaGVpZ2h0Iiwid2lkdGgiXTtqPWo/W2Yud2lkdGgoKSxmLmhlaWdodCgp
XTpbZi5oZWlnaHQoKSxmLndpZHRoKCldO3ZhciBvPS8oWzAtOV0rKSUvLmV4ZWMoZyk7aWYobyln
PXBhcnNlSW50KG9bMV0sCisxMCkvMTAwKmpbaD09ImhpZGUiPzA6MV07aWYoaD09InNob3ciKWYu
Y3NzKGk/e2hlaWdodDowLHdpZHRoOmd9OntoZWlnaHQ6Zyx3aWR0aDowfSk7aT17fTtvPXt9O2lb
bFswXV09aD09InNob3ciP2pbMF06ZztvW2xbMV1dPWg9PSJzaG93Ij9qWzFdOjA7Zi5hbmltYXRl
KGksYixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG8sYixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0
aW9uKCl7aD09ImhpZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0
cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1
bWVudHMpO2QuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0
cy5oaWdobGlnaHQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIg
ZD1hKHRoaXMpLGU9WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvcGFjaXR5
Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwic2hvdyIpLGc9e2JhY2tn
cm91bmRDb2xvcjpkLmNzcygiYmFja2dyb3VuZENvbG9yIil9O2lmKGg9PSJoaWRlIilnLm9wYWNp
dHk9MDthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpLmNzcyh7YmFja2dyb3VuZEltYWdlOiJu
b25lIixiYWNrZ3JvdW5kQ29sb3I6Yy5vcHRpb25zLmNvbG9yfHwiI2ZmZmY5OSJ9KS5hbmltYXRl
KGcse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNp
bmcsY29tcGxldGU6ZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0
b3JlKGQsZSk7aD09InNob3ciJiYhYS5zdXBwb3J0Lm9wYWNpdHkmJgordGhpcy5zdHlsZS5yZW1v
dmVBdHRyaWJ1dGUoImZpbHRlciIpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxh
cmd1bWVudHMpO2QuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVm
ZmVjdHMucHVsc2F0ZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3Zh
ciBkPWEodGhpcyksZT1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwic2hvdyIp
O3RpbWVzPShjLm9wdGlvbnMudGltZXN8fDUpKjItMTtkdXJhdGlvbj1jLmR1cmF0aW9uP2MuZHVy
YXRpb24vMjphLmZ4LnNwZWVkcy5fZGVmYXVsdC8yO2lzVmlzaWJsZT1kLmlzKCI6dmlzaWJsZSIp
O2FuaW1hdGVUbz0wO2lmKCFpc1Zpc2libGUpe2QuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCk7YW5p
bWF0ZVRvPTF9aWYoZT09ImhpZGUiJiZpc1Zpc2libGV8fGU9PSJzaG93IiYmIWlzVmlzaWJsZSl0
aW1lcy0tO2ZvcihlPTA7ZTx0aW1lcztlKyspe2QuYW5pbWF0ZSh7b3BhY2l0eTphbmltYXRlVG99
LGR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcpO2FuaW1hdGVUbz0oYW5pbWF0ZVRvKzEpJTJ9ZC5h
bmltYXRlKHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sCitjLm9wdGlvbnMuZWFzaW5nLGZ1
bmN0aW9uKCl7YW5pbWF0ZVRvPT0wJiZkLmhpZGUoKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFw
cGx5KHRoaXMsYXJndW1lbnRzKX0pO2QucXVldWUoImZ4IixmdW5jdGlvbigpe2QuZGVxdWV1ZSgp
fSkuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhKXthLmVmZmVjdHMucHVmZj1m
dW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1h
LmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGg9cGFyc2VJbnQoYy5v
cHRpb25zLnBlcmNlbnQsMTApfHwxNTAsZz1oLzEwMCxpPXtoZWlnaHQ6ZC5oZWlnaHQoKSx3aWR0
aDpkLndpZHRoKCl9O2EuZXh0ZW5kKGMub3B0aW9ucyx7ZmFkZTp0cnVlLG1vZGU6ZSxwZXJjZW50
OmU9PSJoaWRlIj9oOjEwMCxmcm9tOmU9PSJoaWRlIj9pOntoZWlnaHQ6aS5oZWlnaHQqZyx3aWR0
aDppLndpZHRoKmd9fSk7ZC5lZmZlY3QoInNjYWxlIixjLm9wdGlvbnMsYy5kdXJhdGlvbixjLmNh
bGxiYWNrKTtkLmRlcXVldWUoKX0pfTthLmVmZmVjdHMuc2NhbGU9ZnVuY3Rpb24oYyl7cmV0dXJu
IHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YS5leHRlbmQodHJ1ZSx7fSxj
Lm9wdGlvbnMpLGg9YS5lZmZlY3RzLnNldE1vZGUoZCwKK2Mub3B0aW9ucy5tb2RlfHwiZWZmZWN0
IiksZz1wYXJzZUludChjLm9wdGlvbnMucGVyY2VudCwxMCl8fChwYXJzZUludChjLm9wdGlvbnMu
cGVyY2VudCwxMCk9PTA/MDpoPT0iaGlkZSI/MDoxMDApLGk9Yy5vcHRpb25zLmRpcmVjdGlvbnx8
ImJvdGgiLGI9Yy5vcHRpb25zLm9yaWdpbjtpZihoIT0iZWZmZWN0Iil7ZS5vcmlnaW49Ynx8WyJt
aWRkbGUiLCJjZW50ZXIiXTtlLnJlc3RvcmU9dHJ1ZX1iPXtoZWlnaHQ6ZC5oZWlnaHQoKSx3aWR0
aDpkLndpZHRoKCl9O2QuZnJvbT1jLm9wdGlvbnMuZnJvbXx8KGg9PSJzaG93Ij97aGVpZ2h0OjAs
d2lkdGg6MH06Yik7Zz17eTppIT0iaG9yaXpvbnRhbCI/Zy8xMDA6MSx4OmkhPSJ2ZXJ0aWNhbCI/
Zy8xMDA6MX07ZC50bz17aGVpZ2h0OmIuaGVpZ2h0KmcueSx3aWR0aDpiLndpZHRoKmcueH07aWYo
Yy5vcHRpb25zLmZhZGUpe2lmKGg9PSJzaG93Iil7ZC5mcm9tLm9wYWNpdHk9MDtkLnRvLm9wYWNp
dHk9MX1pZihoPT0iaGlkZSIpe2QuZnJvbS5vcGFjaXR5PQorMTtkLnRvLm9wYWNpdHk9MH19ZS5m
cm9tPWQuZnJvbTtlLnRvPWQudG87ZS5tb2RlPWg7ZC5lZmZlY3QoInNpemUiLGUsYy5kdXJhdGlv
bixjLmNhbGxiYWNrKTtkLmRlcXVldWUoKX0pfTthLmVmZmVjdHMuc2l6ZT1mdW5jdGlvbihjKXty
ZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwi
dG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIs
Im9wYWNpdHkiXSxoPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJv
dmVyZmxvdyIsIm9wYWNpdHkiXSxnPVsid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLGk9WyJm
b250U2l6ZSJdLGI9WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGlu
Z1RvcCIsInBhZGRpbmdCb3R0b20iXSxmPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRX
aWR0aCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sCitqPWEuZWZmZWN0cy5zZXRNb2Rl
KGQsYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxsPWMub3B0aW9ucy5yZXN0b3JlfHxmYWxzZSxv
PWMub3B0aW9ucy5zY2FsZXx8ImJvdGgiLG49Yy5vcHRpb25zLm9yaWdpbixrPXtoZWlnaHQ6ZC5o
ZWlnaHQoKSx3aWR0aDpkLndpZHRoKCl9O2QuZnJvbT1jLm9wdGlvbnMuZnJvbXx8aztkLnRvPWMu
b3B0aW9ucy50b3x8aztpZihuKXtuPWEuZWZmZWN0cy5nZXRCYXNlbGluZShuLGspO2QuZnJvbS50
b3A9KGsuaGVpZ2h0LWQuZnJvbS5oZWlnaHQpKm4ueTtkLmZyb20ubGVmdD0oay53aWR0aC1kLmZy
b20ud2lkdGgpKm4ueDtkLnRvLnRvcD0oay5oZWlnaHQtZC50by5oZWlnaHQpKm4ueTtkLnRvLmxl
ZnQ9KGsud2lkdGgtZC50by53aWR0aCkqbi54fXZhciBtPXtmcm9tOnt5OmQuZnJvbS5oZWlnaHQv
ay5oZWlnaHQseDpkLmZyb20ud2lkdGgvay53aWR0aH0sdG86e3k6ZC50by5oZWlnaHQvay5oZWln
aHQseDpkLnRvLndpZHRoL2sud2lkdGh9fTsKK2lmKG89PSJib3gifHxvPT0iYm90aCIpe2lmKG0u
ZnJvbS55IT1tLnRvLnkpe2U9ZS5jb25jYXQoYik7ZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFuc2l0
aW9uKGQsYixtLmZyb20ueSxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oZCxi
LG0udG8ueSxkLnRvKX1pZihtLmZyb20ueCE9bS50by54KXtlPWUuY29uY2F0KGYpO2QuZnJvbT1h
LmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGYsbS5mcm9tLngsZC5mcm9tKTtkLnRvPWEuZWZmZWN0
cy5zZXRUcmFuc2l0aW9uKGQsZixtLnRvLngsZC50byl9fWlmKG89PSJjb250ZW50Inx8bz09ImJv
dGgiKWlmKG0uZnJvbS55IT1tLnRvLnkpe2U9ZS5jb25jYXQoaSk7ZC5mcm9tPWEuZWZmZWN0cy5z
ZXRUcmFuc2l0aW9uKGQsaSxtLmZyb20ueSxkLmZyb20pO2QudG89YS5lZmZlY3RzLnNldFRyYW5z
aXRpb24oZCxpLG0udG8ueSxkLnRvKX1hLmVmZmVjdHMuc2F2ZShkLGw/ZTpoKTtkLnNob3coKTth
LmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKTsKK2QuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNz
cyhkLmZyb20pO2lmKG89PSJjb250ZW50Inx8bz09ImJvdGgiKXtiPWIuY29uY2F0KFsibWFyZ2lu
VG9wIiwibWFyZ2luQm90dG9tIl0pLmNvbmNhdChpKTtmPWYuY29uY2F0KFsibWFyZ2luTGVmdCIs
Im1hcmdpblJpZ2h0Il0pO2c9ZS5jb25jYXQoYikuY29uY2F0KGYpO2QuZmluZCgiKlt3aWR0aF0i
KS5lYWNoKGZ1bmN0aW9uKCl7Y2hpbGQ9YSh0aGlzKTtsJiZhLmVmZmVjdHMuc2F2ZShjaGlsZCxn
KTt2YXIgcD17aGVpZ2h0OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNoaWxkLndpZHRoKCl9O2NoaWxk
LmZyb209e2hlaWdodDpwLmhlaWdodCptLmZyb20ueSx3aWR0aDpwLndpZHRoKm0uZnJvbS54fTtj
aGlsZC50bz17aGVpZ2h0OnAuaGVpZ2h0Km0udG8ueSx3aWR0aDpwLndpZHRoKm0udG8ueH07aWYo
bS5mcm9tLnkhPW0udG8ueSl7Y2hpbGQuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGls
ZCxiLG0uZnJvbS55LGNoaWxkLmZyb20pOworY2hpbGQudG89YS5lZmZlY3RzLnNldFRyYW5zaXRp
b24oY2hpbGQsYixtLnRvLnksY2hpbGQudG8pfWlmKG0uZnJvbS54IT1tLnRvLngpe2NoaWxkLmZy
b209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsZixtLmZyb20ueCxjaGlsZC5mcm9tKTtj
aGlsZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxmLG0udG8ueCxjaGlsZC50byl9
Y2hpbGQuY3NzKGNoaWxkLmZyb20pO2NoaWxkLmFuaW1hdGUoY2hpbGQudG8sYy5kdXJhdGlvbixj
Lm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7bCYmYS5lZmZlY3RzLnJlc3RvcmUoY2hpbGQsZyl9
KX0pfWQuYW5pbWF0ZShkLnRvLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2lu
ZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZC50by5vcGFjaXR5PT09MCYm
ZC5jc3MoIm9wYWNpdHkiLGQuZnJvbS5vcGFjaXR5KTtqPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZm
ZWN0cy5yZXN0b3JlKGQsCitsP2U6aCk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxs
YmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9fSl9KX19
KShqUXVlcnkpOworKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5zaGFrZT1mdW5jdGlvbihjKXtyZXR1
cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9w
IiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il07YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMu
bW9kZXx8ImVmZmVjdCIpO3ZhciBoPWMub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IixnPWMub3B0
aW9ucy5kaXN0YW5jZXx8MjAsaT1jLm9wdGlvbnMudGltZXN8fDMsYj1jLmR1cmF0aW9ufHxjLm9w
dGlvbnMuZHVyYXRpb258fDE0MDthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0
cy5jcmVhdGVXcmFwcGVyKGQpO3ZhciBmPWg9PSJ1cCJ8fGg9PSJkb3duIj8idG9wIjoibGVmdCIs
aj1oPT0idXAifHxoPT0ibGVmdCI/InBvcyI6Im5lZyI7aD17fTt2YXIgbD17fSxvPXt9O2hbZl09
KGo9PSJwb3MiPyItPSI6Iis9IikrZztsW2ZdPShqPT0icG9zIj8iKz0iOiItPSIpK2cqMjtvW2Zd
PQorKGo9PSJwb3MiPyItPSI6Iis9IikrZyoyO2QuYW5pbWF0ZShoLGIsYy5vcHRpb25zLmVhc2lu
Zyk7Zm9yKGc9MTtnPGk7ZysrKWQuYW5pbWF0ZShsLGIsYy5vcHRpb25zLmVhc2luZykuYW5pbWF0
ZShvLGIsYy5vcHRpb25zLmVhc2luZyk7ZC5hbmltYXRlKGwsYixjLm9wdGlvbnMuZWFzaW5nKS5h
bmltYXRlKGgsYi8yLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthLmVmZmVjdHMucmVzdG9y
ZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2su
YXBwbHkodGhpcyxhcmd1bWVudHMpfSk7ZC5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVl
KCl9KTtkLmRlcXVldWUoKX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZlY3RzLnNs
aWRlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlz
KSxlPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWEuZWZmZWN0
cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJzaG93IiksZz1jLm9wdGlvbnMuZGlyZWN0aW9u
fHwibGVmdCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3Jh
cHBlcihkKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSk7dmFyIGk9Zz09InVwInx8Zz09ImRvd24i
PyJ0b3AiOiJsZWZ0IjtnPWc9PSJ1cCJ8fGc9PSJsZWZ0Ij8icG9zIjoibmVnIjt2YXIgYj1jLm9w
dGlvbnMuZGlzdGFuY2V8fChpPT0idG9wIj9kLm91dGVySGVpZ2h0KHttYXJnaW46dHJ1ZX0pOmQu
b3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KSk7aWYoaD09InNob3ciKWQuY3NzKGksZz09InBvcyI/
aXNOYU4oYik/Ii0iK2I6LWI6Yik7Cit2YXIgZj17fTtmW2ldPShoPT0ic2hvdyI/Zz09InBvcyI/
Iis9IjoiLT0iOmc9PSJwb3MiPyItPSI6Iis9IikrYjtkLmFuaW1hdGUoZix7cXVldWU6ZmFsc2Us
ZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5j
dGlvbigpe2g9PSJoaWRlIiYmZC5oaWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVj
dHMucmVtb3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKTtkLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS5lZmZl
Y3RzLnRyYW5zZmVyPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFy
IGQ9YSh0aGlzKSxlPWEoYy5vcHRpb25zLnRvKSxoPWUub2Zmc2V0KCk7ZT17dG9wOmgudG9wLGxl
ZnQ6aC5sZWZ0LGhlaWdodDplLmlubmVySGVpZ2h0KCksd2lkdGg6ZS5pbm5lcldpZHRoKCl9O2g9
ZC5vZmZzZXQoKTt2YXIgZz1hKCc8ZGl2IGNsYXNzPSJ1aS1lZmZlY3RzLXRyYW5zZmVyIj48L2Rp
dj4nKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhjLm9wdGlvbnMuY2xhc3NOYW1l
KS5jc3Moe3RvcDpoLnRvcCxsZWZ0OmgubGVmdCxoZWlnaHQ6ZC5pbm5lckhlaWdodCgpLHdpZHRo
OmQuaW5uZXJXaWR0aCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGUsYy5kdXJhdGlv
bixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7Zy5yZW1vdmUoKTtjLmNhbGxiYWNrJiZjLmNh
bGxiYWNrLmFwcGx5KGRbMF0sYXJndW1lbnRzKTsKK2QuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkp
OworKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5hY2NvcmRpb24iLHtvcHRpb25zOnthY3RpdmU6
MCxhbmltYXRlZDoic2xpZGUiLGF1dG9IZWlnaHQ6dHJ1ZSxjbGVhclN0eWxlOmZhbHNlLGNvbGxh
cHNpYmxlOmZhbHNlLGV2ZW50OiJjbGljayIsZmlsbFNwYWNlOmZhbHNlLGhlYWRlcjoiPiBsaSA+
IDpmaXJzdC1jaGlsZCw+IDpub3QobGkpOmV2ZW4iLGljb25zOntoZWFkZXI6InVpLWljb24tdHJp
YW5nbGUtMS1lIixoZWFkZXJTZWxlY3RlZDoidWktaWNvbi10cmlhbmdsZS0xLXMifSxuYXZpZ2F0
aW9uOmZhbHNlLG5hdmlnYXRpb25GaWx0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ocmVmLnRv
TG93ZXJDYXNlKCk9PT1sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCl9fSxfY3JlYXRlOmZ1bmN0
aW9uKCl7dmFyIGM9dGhpcyxkPWMub3B0aW9ucztjLnJ1bm5pbmc9MDtjLmVsZW1lbnQuYWRkQ2xh
c3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikuY2hpbGRyZW4oImxp
IikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1saS1maXgiKTtjLmhlYWRlcnM9CitjLmVsZW1lbnQu
ZmluZChkLmhlYWRlcikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWktaGVscGVyLXJl
c2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmJpbmQoIm1vdXNlZW50ZXIuYWNj
b3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRl
LWhvdmVyIil9KS5iaW5kKCJtb3VzZWxlYXZlLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtkLmRpc2Fi
bGVkfHxhKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmluZCgiZm9jdXMu
YWNjb3JkaW9uIixmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEodGhpcykuYWRkQ2xhc3MoInVpLXN0
YXRlLWZvY3VzIil9KS5iaW5kKCJibHVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtkLmRpc2FibGVk
fHxhKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7Yy5oZWFkZXJzLm5leHQo
KS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQgdWktaGVscGVyLXJlc2V0IHVpLXdpZGdl
dC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKTsKK2lmKGQubmF2aWdhdGlvbil7dmFyIGU9Yy5l
bGVtZW50LmZpbmQoImEiKS5maWx0ZXIoZC5uYXZpZ2F0aW9uRmlsdGVyKS5lcSgwKTtpZihlLmxl
bmd0aCl7dmFyIGg9ZS5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWhlYWRlciIpO2MuYWN0aXZlPWgu
bGVuZ3RoP2g6ZS5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWNvbnRlbnQiKS5wcmV2KCl9fWMuYWN0
aXZlPWMuX2ZpbmRBY3RpdmUoYy5hY3RpdmV8fGQuYWN0aXZlKS5hZGRDbGFzcygidWktc3RhdGUt
ZGVmYXVsdCB1aS1zdGF0ZS1hY3RpdmUiKS50b2dnbGVDbGFzcygidWktY29ybmVyLWFsbCIpLnRv
Z2dsZUNsYXNzKCJ1aS1jb3JuZXItdG9wIik7Yy5hY3RpdmUubmV4dCgpLmFkZENsYXNzKCJ1aS1h
Y2NvcmRpb24tY29udGVudC1hY3RpdmUiKTtjLl9jcmVhdGVJY29ucygpO2MucmVzaXplKCk7Yy5l
bGVtZW50LmF0dHIoInJvbGUiLCJ0YWJsaXN0Iik7Yy5oZWFkZXJzLmF0dHIoInJvbGUiLCJ0YWIi
KS5iaW5kKCJrZXlkb3duLmFjY29yZGlvbiIsCitmdW5jdGlvbihnKXtyZXR1cm4gYy5fa2V5ZG93
bihnKX0pLm5leHQoKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKTtjLmhlYWRlcnMubm90KGMuYWN0
aXZlfHwiIikuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsImFyaWEtc2VsZWN0ZWQiOiJm
YWxzZSIsdGFiSW5kZXg6LTF9KS5uZXh0KCkuaGlkZSgpO2MuYWN0aXZlLmxlbmd0aD9jLmFjdGl2
ZS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6InRydWUiLCJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsdGFi
SW5kZXg6MH0pOmMuaGVhZGVycy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCk7YS5icm93c2VyLnNh
ZmFyaXx8Yy5oZWFkZXJzLmZpbmQoImEiKS5hdHRyKCJ0YWJJbmRleCIsLTEpO2QuZXZlbnQmJmMu
aGVhZGVycy5iaW5kKGQuZXZlbnQuc3BsaXQoIiAiKS5qb2luKCIuYWNjb3JkaW9uICIpKyIuYWNj
b3JkaW9uIixmdW5jdGlvbihnKXtjLl9jbGlja0hhbmRsZXIuY2FsbChjLGcsdGhpcyk7Zy5wcmV2
ZW50RGVmYXVsdCgpfSl9LF9jcmVhdGVJY29uczpmdW5jdGlvbigpe3ZhciBjPQordGhpcy5vcHRp
b25zO2lmKGMuaWNvbnMpe2EoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWktaWNvbiAiK2Mu
aWNvbnMuaGVhZGVyKS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKTt0aGlzLmFjdGl2ZS5jaGlsZHJl
bigiLnVpLWljb24iKS50b2dnbGVDbGFzcyhjLmljb25zLmhlYWRlcikudG9nZ2xlQ2xhc3MoYy5p
Y29ucy5oZWFkZXJTZWxlY3RlZCk7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24t
aWNvbnMiKX19LF9kZXN0cm95SWNvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlYWRlcnMuY2hpbGRyZW4o
Ii51aS1pY29uIikucmVtb3ZlKCk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRp
b24taWNvbnMiKX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0aW9uczt0aGlzLmVs
ZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0
IikucmVtb3ZlQXR0cigicm9sZSIpO3RoaXMuaGVhZGVycy51bmJpbmQoIi5hY2NvcmRpb24iKS5y
ZW1vdmVDbGFzcygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWkt
aGVscGVyLXJlc2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1hY3Rp
dmUgdWktc3RhdGUtZGlzYWJsZWQgdWktY29ybmVyLXRvcCIpLnJlbW92ZUF0dHIoInJvbGUiKS5y
ZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigiYXJpYS1zZWxlY3RlZCIpLnJl
bW92ZUF0dHIoInRhYkluZGV4Iik7Cit0aGlzLmhlYWRlcnMuZmluZCgiYSIpLnJlbW92ZUF0dHIo
InRhYkluZGV4Iik7dGhpcy5fZGVzdHJveUljb25zKCk7dmFyIGQ9dGhpcy5oZWFkZXJzLm5leHQo
KS5jc3MoImRpc3BsYXkiLCIiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQ2xhc3MoInVpLWhl
bHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWFjY29yZGlv
bi1jb250ZW50IHVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1hY2NvcmRpb24tZGlzYWJs
ZWQgdWktc3RhdGUtZGlzYWJsZWQiKTtpZihjLmF1dG9IZWlnaHR8fGMuZmlsbEhlaWdodClkLmNz
cygiaGVpZ2h0IiwiIik7cmV0dXJuIGEuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhp
cyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYyxkKXthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlv
bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Yz09ImFjdGl2ZSImJnRoaXMuYWN0aXZhdGUoZCk7aWYo
Yz09Imljb25zIil7dGhpcy5fZGVzdHJveUljb25zKCk7CitkJiZ0aGlzLl9jcmVhdGVJY29ucygp
fWlmKGM9PSJkaXNhYmxlZCIpdGhpcy5oZWFkZXJzLmFkZCh0aGlzLmhlYWRlcnMubmV4dCgpKVtk
PyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1zdGF0
ZS1kaXNhYmxlZCIpfSxfa2V5ZG93bjpmdW5jdGlvbihjKXtpZighKHRoaXMub3B0aW9ucy5kaXNh
YmxlZHx8Yy5hbHRLZXl8fGMuY3RybEtleSkpe3ZhciBkPWEudWkua2V5Q29kZSxlPXRoaXMuaGVh
ZGVycy5sZW5ndGgsaD10aGlzLmhlYWRlcnMuaW5kZXgoYy50YXJnZXQpLGc9ZmFsc2U7c3dpdGNo
KGMua2V5Q29kZSl7Y2FzZSBkLlJJR0hUOmNhc2UgZC5ET1dOOmc9dGhpcy5oZWFkZXJzWyhoKzEp
JWVdO2JyZWFrO2Nhc2UgZC5MRUZUOmNhc2UgZC5VUDpnPXRoaXMuaGVhZGVyc1soaC0xK2UpJWVd
O2JyZWFrO2Nhc2UgZC5TUEFDRTpjYXNlIGQuRU5URVI6dGhpcy5fY2xpY2tIYW5kbGVyKHt0YXJn
ZXQ6Yy50YXJnZXR9LGMudGFyZ2V0KTsKK2MucHJldmVudERlZmF1bHQoKX1pZihnKXthKGMudGFy
Z2V0KS5hdHRyKCJ0YWJJbmRleCIsLTEpO2EoZykuYXR0cigidGFiSW5kZXgiLDApO2cuZm9jdXMo
KTtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fSxyZXNpemU6ZnVuY3Rpb24oKXt2YXIgYz10aGlz
Lm9wdGlvbnMsZDtpZihjLmZpbGxTcGFjZSl7aWYoYS5icm93c2VyLm1zaWUpe3ZhciBlPXRoaXMu
ZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93Iik7dGhpcy5lbGVtZW50LnBhcmVudCgpLmNz
cygib3ZlcmZsb3ciLCJoaWRkZW4iKX1kPXRoaXMuZWxlbWVudC5wYXJlbnQoKS5oZWlnaHQoKTth
LmJyb3dzZXIubXNpZSYmdGhpcy5lbGVtZW50LnBhcmVudCgpLmNzcygib3ZlcmZsb3ciLGUpO3Ro
aXMuaGVhZGVycy5lYWNoKGZ1bmN0aW9uKCl7ZC09YSh0aGlzKS5vdXRlckhlaWdodCh0cnVlKX0p
O3RoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe2EodGhpcykuaGVpZ2h0KE1hdGgu
bWF4KDAsZC1hKHRoaXMpLmlubmVySGVpZ2h0KCkrCithKHRoaXMpLmhlaWdodCgpKSl9KS5jc3Mo
Im92ZXJmbG93IiwiYXV0byIpfWVsc2UgaWYoYy5hdXRvSGVpZ2h0KXtkPTA7dGhpcy5oZWFkZXJz
Lm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7ZD1NYXRoLm1heChkLGEodGhpcykuaGVpZ2h0KCIiKS5o
ZWlnaHQoKSl9KS5oZWlnaHQoZCl9cmV0dXJuIHRoaXN9LGFjdGl2YXRlOmZ1bmN0aW9uKGMpe3Ro
aXMub3B0aW9ucy5hY3RpdmU9YztjPXRoaXMuX2ZpbmRBY3RpdmUoYylbMF07dGhpcy5fY2xpY2tI
YW5kbGVyKHt0YXJnZXQ6Y30sYyk7cmV0dXJuIHRoaXN9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKGMp
e3JldHVybiBjP3R5cGVvZiBjPT09Im51bWJlciI/dGhpcy5oZWFkZXJzLmZpbHRlcigiOmVxKCIr
YysiKSIpOnRoaXMuaGVhZGVycy5ub3QodGhpcy5oZWFkZXJzLm5vdChjKSk6Yz09PWZhbHNlP2Eo
W10pOnRoaXMuaGVhZGVycy5maWx0ZXIoIjplcSgwKSIpfSxfY2xpY2tIYW5kbGVyOmZ1bmN0aW9u
KGMsZCl7dmFyIGU9dGhpcy5vcHRpb25zOworaWYoIWUuZGlzYWJsZWQpaWYoYy50YXJnZXQpe2M9
YShjLmN1cnJlbnRUYXJnZXR8fGQpO2Q9Y1swXT09PXRoaXMuYWN0aXZlWzBdO2UuYWN0aXZlPWUu
Y29sbGFwc2libGUmJmQ/ZmFsc2U6dGhpcy5oZWFkZXJzLmluZGV4KGMpO2lmKCEodGhpcy5ydW5u
aW5nfHwhZS5jb2xsYXBzaWJsZSYmZCkpe3ZhciBoPXRoaXMuYWN0aXZlO2Y9Yy5uZXh0KCk7aT10
aGlzLmFjdGl2ZS5uZXh0KCk7Yj17b3B0aW9uczplLG5ld0hlYWRlcjpkJiZlLmNvbGxhcHNpYmxl
P2EoW10pOmMsb2xkSGVhZGVyOnRoaXMuYWN0aXZlLG5ld0NvbnRlbnQ6ZCYmZS5jb2xsYXBzaWJs
ZT9hKFtdKTpmLG9sZENvbnRlbnQ6aX07dmFyIGc9dGhpcy5oZWFkZXJzLmluZGV4KHRoaXMuYWN0
aXZlWzBdKT50aGlzLmhlYWRlcnMuaW5kZXgoY1swXSk7dGhpcy5hY3RpdmU9ZD9hKFtdKTpjO3Ro
aXMuX3RvZ2dsZShmLGksYixkLGcpO2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1j
b3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmNo
aWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNzKGUuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpLmFk
ZENsYXNzKGUuaWNvbnMuaGVhZGVyKTsKK2lmKCFkKXtjLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1k
ZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5l
ci10b3AiKS5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmVDbGFzcyhlLmljb25zLmhlYWRlciku
YWRkQ2xhc3MoZS5pY29ucy5oZWFkZXJTZWxlY3RlZCk7Yy5uZXh0KCkuYWRkQ2xhc3MoInVpLWFj
Y29yZGlvbi1jb250ZW50LWFjdGl2ZSIpfX19ZWxzZSBpZihlLmNvbGxhcHNpYmxlKXt0aGlzLmFj
dGl2ZS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5hZGRDbGFz
cygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51aS1pY29uIiku
cmVtb3ZlQ2xhc3MoZS5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZS5pY29ucy5oZWFk
ZXIpO3RoaXMuYWN0aXZlLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0
aXZlIik7dmFyIGk9dGhpcy5hY3RpdmUubmV4dCgpLAorYj17b3B0aW9uczplLG5ld0hlYWRlcjph
KFtdKSxvbGRIZWFkZXI6ZS5hY3RpdmUsbmV3Q29udGVudDphKFtdKSxvbGRDb250ZW50Oml9LGY9
dGhpcy5hY3RpdmU9YShbXSk7dGhpcy5fdG9nZ2xlKGYsaSxiKX19LF90b2dnbGU6ZnVuY3Rpb24o
YyxkLGUsaCxnKXt2YXIgaT10aGlzLGI9aS5vcHRpb25zO2kudG9TaG93PWM7aS50b0hpZGU9ZDtp
LmRhdGE9ZTt2YXIgZj1mdW5jdGlvbigpe2lmKGkpcmV0dXJuIGkuX2NvbXBsZXRlZC5hcHBseShp
LGFyZ3VtZW50cyl9O2kuX3RyaWdnZXIoImNoYW5nZXN0YXJ0IixudWxsLGkuZGF0YSk7aS5ydW5u
aW5nPWQuc2l6ZSgpPT09MD9jLnNpemUoKTpkLnNpemUoKTtpZihiLmFuaW1hdGVkKXtlPXt9O2U9
Yi5jb2xsYXBzaWJsZSYmaD97dG9TaG93OmEoW10pLHRvSGlkZTpkLGNvbXBsZXRlOmYsZG93bjpn
LGF1dG9IZWlnaHQ6Yi5hdXRvSGVpZ2h0fHxiLmZpbGxTcGFjZX06e3RvU2hvdzpjLHRvSGlkZTpk
LGNvbXBsZXRlOmYsZG93bjpnLGF1dG9IZWlnaHQ6Yi5hdXRvSGVpZ2h0fHwKK2IuZmlsbFNwYWNl
fTtpZighYi5wcm94aWVkKWIucHJveGllZD1iLmFuaW1hdGVkO2lmKCFiLnByb3hpZWREdXJhdGlv
biliLnByb3hpZWREdXJhdGlvbj1iLmR1cmF0aW9uO2IuYW5pbWF0ZWQ9YS5pc0Z1bmN0aW9uKGIu
cHJveGllZCk/Yi5wcm94aWVkKGUpOmIucHJveGllZDtiLmR1cmF0aW9uPWEuaXNGdW5jdGlvbihi
LnByb3hpZWREdXJhdGlvbik/Yi5wcm94aWVkRHVyYXRpb24oZSk6Yi5wcm94aWVkRHVyYXRpb247
aD1hLnVpLmFjY29yZGlvbi5hbmltYXRpb25zO3ZhciBqPWIuZHVyYXRpb24sbD1iLmFuaW1hdGVk
O2lmKGwmJiFoW2xdJiYhYS5lYXNpbmdbbF0pbD0ic2xpZGUiO2hbbF18fChoW2xdPWZ1bmN0aW9u
KG8pe3RoaXMuc2xpZGUobyx7ZWFzaW5nOmwsZHVyYXRpb246anx8NzAwfSl9KTtoW2xdKGUpfWVs
c2V7aWYoYi5jb2xsYXBzaWJsZSYmaCljLnRvZ2dsZSgpO2Vsc2V7ZC5oaWRlKCk7Yy5zaG93KCl9
Zih0cnVlKX1kLnByZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6ImZhbHNlIiwKKyJhcmlhLXNl
bGVjdGVkIjoiZmFsc2UiLHRhYkluZGV4Oi0xfSkuYmx1cigpO2MucHJldigpLmF0dHIoeyJhcmlh
LWV4cGFuZGVkIjoidHJ1ZSIsImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJJbmRleDowfSkuZm9j
dXMoKX0sX2NvbXBsZXRlZDpmdW5jdGlvbihjKXt0aGlzLnJ1bm5pbmc9Yz8wOi0tdGhpcy5ydW5u
aW5nO2lmKCF0aGlzLnJ1bm5pbmcpe3RoaXMub3B0aW9ucy5jbGVhclN0eWxlJiZ0aGlzLnRvU2hv
dy5hZGQodGhpcy50b0hpZGUpLmNzcyh7aGVpZ2h0OiIiLG92ZXJmbG93OiIifSk7dGhpcy50b0hp
ZGUucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO2lmKHRoaXMudG9I
aWRlLmxlbmd0aCl0aGlzLnRvSGlkZS5wYXJlbnQoKVswXS5jbGFzc05hbWU9dGhpcy50b0hpZGUu
cGFyZW50KClbMF0uY2xhc3NOYW1lO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsbnVsbCx0aGlzLmRh
dGEpfX19KTthLmV4dGVuZChhLnVpLmFjY29yZGlvbix7dmVyc2lvbjoiMS44LjE1IiwKK2FuaW1h
dGlvbnM6e3NsaWRlOmZ1bmN0aW9uKGMsZCl7Yz1hLmV4dGVuZCh7ZWFzaW5nOiJzd2luZyIsZHVy
YXRpb246MzAwfSxjLGQpO2lmKGMudG9IaWRlLnNpemUoKSlpZihjLnRvU2hvdy5zaXplKCkpe3Zh
ciBlPWMudG9TaG93LmNzcygib3ZlcmZsb3ciKSxoPTAsZz17fSxpPXt9LGI7ZD1jLnRvU2hvdzti
PWRbMF0uc3R5bGUud2lkdGg7ZC53aWR0aChwYXJzZUludChkLnBhcmVudCgpLndpZHRoKCksMTAp
LXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKS1wYXJzZUludChkLmNzcygicGFkZGlu
Z1JpZ2h0IiksMTApLShwYXJzZUludChkLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0o
cGFyc2VJbnQoZC5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwxMCl8fDApKTthLmVhY2goWyJoZWln
aHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLGZ1bmN0aW9uKGYsail7aVtqXT0iaGlk
ZSI7Zj0oIiIrYS5jc3MoYy50b1Nob3dbMF0saikpLm1hdGNoKC9eKFtcZCstLl0rKSguKikkLyk7
CitnW2pdPXt2YWx1ZTpmWzFdLHVuaXQ6ZlsyXXx8InB4In19KTtjLnRvU2hvdy5jc3Moe2hlaWdo
dDowLG92ZXJmbG93OiJoaWRkZW4ifSkuc2hvdygpO2MudG9IaWRlLmZpbHRlcigiOmhpZGRlbiIp
LmVhY2goYy5jb21wbGV0ZSkuZW5kKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmFuaW1hdGUoaSx7c3Rl
cDpmdW5jdGlvbihmLGope2lmKGoucHJvcD09ImhlaWdodCIpaD1qLmVuZC1qLnN0YXJ0PT09MD8w
OihqLm5vdy1qLnN0YXJ0KS8oai5lbmQtai5zdGFydCk7Yy50b1Nob3dbMF0uc3R5bGVbai5wcm9w
XT1oKmdbai5wcm9wXS52YWx1ZStnW2oucHJvcF0udW5pdH0sZHVyYXRpb246Yy5kdXJhdGlvbixl
YXNpbmc6Yy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtjLmF1dG9IZWlnaHR8fGMudG9TaG93
LmNzcygiaGVpZ2h0IiwiIik7Yy50b1Nob3cuY3NzKHt3aWR0aDpiLG92ZXJmbG93OmV9KTtjLmNv
bXBsZXRlKCl9fSl9ZWxzZSBjLnRvSGlkZS5hbmltYXRlKHtoZWlnaHQ6ImhpZGUiLAorcGFkZGlu
Z1RvcDoiaGlkZSIscGFkZGluZ0JvdHRvbToiaGlkZSJ9LGMpO2Vsc2UgYy50b1Nob3cuYW5pbWF0
ZSh7aGVpZ2h0OiJzaG93IixwYWRkaW5nVG9wOiJzaG93IixwYWRkaW5nQm90dG9tOiJzaG93In0s
Yyl9LGJvdW5jZXNsaWRlOmZ1bmN0aW9uKGMpe3RoaXMuc2xpZGUoYyx7ZWFzaW5nOmMuZG93bj8i
ZWFzZU91dEJvdW5jZSI6InN3aW5nIixkdXJhdGlvbjpjLmRvd24/MUUzOjIwMH0pfX19KX0pKGpR
dWVyeSk7CisoZnVuY3Rpb24oYSl7dmFyIGM9MDthLndpZGdldCgidWkuYXV0b2NvbXBsZXRlIix7
b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGF1dG9Gb2N1czpmYWxzZSxkZWxheTozMDAsbWluTGVu
Z3RoOjEscG9zaXRpb246e215OiJsZWZ0IHRvcCIsYXQ6ImxlZnQgYm90dG9tIixjb2xsaXNpb246
Im5vbmUifSxzb3VyY2U6bnVsbH0scGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZD10
aGlzLGU9dGhpcy5lbGVtZW50WzBdLm93bmVyRG9jdW1lbnQsaDt0aGlzLmVsZW1lbnQuYWRkQ2xh
c3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLmF0dHIoImF1dG9jb21wbGV0ZSIsIm9mZiIpLmF0
dHIoe3JvbGU6InRleHRib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Imxpc3QiLCJhcmlhLWhhc3Bv
cHVwIjoidHJ1ZSJ9KS5iaW5kKCJrZXlkb3duLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oZyl7aWYo
IShkLm9wdGlvbnMuZGlzYWJsZWR8fGQuZWxlbWVudC5wcm9wQXR0cigicmVhZE9ubHkiKSkpe2g9
CitmYWxzZTt2YXIgaT1hLnVpLmtleUNvZGU7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBpLlBBR0Vf
VVA6ZC5fbW92ZSgicHJldmlvdXNQYWdlIixnKTticmVhaztjYXNlIGkuUEFHRV9ET1dOOmQuX21v
dmUoIm5leHRQYWdlIixnKTticmVhaztjYXNlIGkuVVA6ZC5fbW92ZSgicHJldmlvdXMiLGcpO2cu
cHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIGkuRE9XTjpkLl9tb3ZlKCJuZXh0IixnKTtnLnBy
ZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBpLkVOVEVSOmNhc2UgaS5OVU1QQURfRU5URVI6aWYo
ZC5tZW51LmFjdGl2ZSl7aD10cnVlO2cucHJldmVudERlZmF1bHQoKX1jYXNlIGkuVEFCOmlmKCFk
Lm1lbnUuYWN0aXZlKXJldHVybjtkLm1lbnUuc2VsZWN0KGcpO2JyZWFrO2Nhc2UgaS5FU0NBUEU6
ZC5lbGVtZW50LnZhbChkLnRlcm0pO2QuY2xvc2UoZyk7YnJlYWs7ZGVmYXVsdDpjbGVhclRpbWVv
dXQoZC5zZWFyY2hpbmcpO2Quc2VhcmNoaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihkLnRl
cm0hPQorZC5lbGVtZW50LnZhbCgpKXtkLnNlbGVjdGVkSXRlbT1udWxsO2Quc2VhcmNoKG51bGws
Zyl9fSxkLm9wdGlvbnMuZGVsYXkpO2JyZWFrfX19KS5iaW5kKCJrZXlwcmVzcy5hdXRvY29tcGxl
dGUiLGZ1bmN0aW9uKGcpe2lmKGgpe2g9ZmFsc2U7Zy5wcmV2ZW50RGVmYXVsdCgpfX0pLmJpbmQo
ImZvY3VzLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oKXtpZighZC5vcHRpb25zLmRpc2FibGVkKXtk
LnNlbGVjdGVkSXRlbT1udWxsO2QucHJldmlvdXM9ZC5lbGVtZW50LnZhbCgpfX0pLmJpbmQoImJs
dXIuYXV0b2NvbXBsZXRlIixmdW5jdGlvbihnKXtpZighZC5vcHRpb25zLmRpc2FibGVkKXtjbGVh
clRpbWVvdXQoZC5zZWFyY2hpbmcpO2QuY2xvc2luZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5j
bG9zZShnKTtkLl9jaGFuZ2UoZyl9LDE1MCl9fSk7dGhpcy5faW5pdFNvdXJjZSgpO3RoaXMucmVz
cG9uc2U9ZnVuY3Rpb24oKXtyZXR1cm4gZC5fcmVzcG9uc2UuYXBwbHkoZCxhcmd1bWVudHMpfTsK
K3RoaXMubWVudT1hKCI8dWw+PC91bD4iKS5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlIikuYXBw
ZW5kVG8oYSh0aGlzLm9wdGlvbnMuYXBwZW5kVG98fCJib2R5IixlKVswXSkubW91c2Vkb3duKGZ1
bmN0aW9uKGcpe3ZhciBpPWQubWVudS5lbGVtZW50WzBdO2EoZy50YXJnZXQpLmNsb3Nlc3QoIi51
aS1tZW51LWl0ZW0iKS5sZW5ndGh8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXthKGRvY3VtZW50KS5v
bmUoIm1vdXNlZG93biIsZnVuY3Rpb24oYil7Yi50YXJnZXQhPT1kLmVsZW1lbnRbMF0mJmIudGFy
Z2V0IT09aSYmIWEudWkuY29udGFpbnMoaSxiLnRhcmdldCkmJmQuY2xvc2UoKX0pfSwxKTtzZXRU
aW1lb3V0KGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGQuY2xvc2luZyl9LDEzKX0pLm1lbnUoe2Zv
Y3VzOmZ1bmN0aW9uKGcsaSl7aT1pLml0ZW0uZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiKTtmYWxz
ZSE9PWQuX3RyaWdnZXIoImZvY3VzIixnLHtpdGVtOml9KSYmL15rZXkvLnRlc3QoZy5vcmlnaW5h
bEV2ZW50LnR5cGUpJiYKK2QuZWxlbWVudC52YWwoaS52YWx1ZSl9LHNlbGVjdGVkOmZ1bmN0aW9u
KGcsaSl7dmFyIGI9aS5pdGVtLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIiksZj1kLnByZXZpb3Vz
O2lmKGQuZWxlbWVudFswXSE9PWUuYWN0aXZlRWxlbWVudCl7ZC5lbGVtZW50LmZvY3VzKCk7ZC5w
cmV2aW91cz1mO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkLnByZXZpb3VzPWY7ZC5zZWxlY3RlZEl0
ZW09Yn0sMSl9ZmFsc2UhPT1kLl90cmlnZ2VyKCJzZWxlY3QiLGcse2l0ZW06Yn0pJiZkLmVsZW1l
bnQudmFsKGIudmFsdWUpO2QudGVybT1kLmVsZW1lbnQudmFsKCk7ZC5jbG9zZShnKTtkLnNlbGVj
dGVkSXRlbT1ifSxibHVyOmZ1bmN0aW9uKCl7ZC5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikm
JmQuZWxlbWVudC52YWwoKSE9PWQudGVybSYmZC5lbGVtZW50LnZhbChkLnRlcm0pfX0pLnpJbmRl
eCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSkuY3NzKHt0b3A6MCxsZWZ0OjB9KS5oaWRlKCkuZGF0
YSgibWVudSIpOworYS5mbi5iZ2lmcmFtZSYmdGhpcy5tZW51LmVsZW1lbnQuYmdpZnJhbWUoKX0s
ZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBs
ZXRlLWlucHV0IikucmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigicm9sZSIp
LnJlbW92ZUF0dHIoImFyaWEtYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigiYXJpYS1oYXNwb3B1
cCIpO3RoaXMubWVudS5lbGVtZW50LnJlbW92ZSgpO2EuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95
LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZCxlKXthLldpZGdldC5wcm90b3R5cGUu
X3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZD09PSJzb3VyY2UiJiZ0aGlzLl9pbml0
U291cmNlKCk7aWYoZD09PSJhcHBlbmRUbyIpdGhpcy5tZW51LmVsZW1lbnQuYXBwZW5kVG8oYShl
fHwiYm9keSIsdGhpcy5lbGVtZW50WzBdLm93bmVyRG9jdW1lbnQpWzBdKTtkPT09ImRpc2FibGVk
IiYmCitlJiZ0aGlzLnhociYmdGhpcy54aHIuYWJvcnQoKX0sX2luaXRTb3VyY2U6ZnVuY3Rpb24o
KXt2YXIgZD10aGlzLGUsaDtpZihhLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSkpe2U9dGhp
cy5vcHRpb25zLnNvdXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihnLGkpe2koYS51aS5hdXRvY29t
cGxldGUuZmlsdGVyKGUsZy50ZXJtKSl9fWVsc2UgaWYodHlwZW9mIHRoaXMub3B0aW9ucy5zb3Vy
Y2U9PT0ic3RyaW5nIil7aD10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMuc291cmNlPWZ1bmN0aW9u
KGcsaSl7ZC54aHImJmQueGhyLmFib3J0KCk7ZC54aHI9YS5hamF4KHt1cmw6aCxkYXRhOmcsZGF0
YVR5cGU6Impzb24iLGF1dG9jb21wbGV0ZVJlcXVlc3Q6KytjLHN1Y2Nlc3M6ZnVuY3Rpb24oYil7
dGhpcy5hdXRvY29tcGxldGVSZXF1ZXN0PT09YyYmaShiKX0sZXJyb3I6ZnVuY3Rpb24oKXt0aGlz
LmF1dG9jb21wbGV0ZVJlcXVlc3Q9PT1jJiZpKFtdKX19KX19ZWxzZSB0aGlzLnNvdXJjZT0KK3Ro
aXMub3B0aW9ucy5zb3VyY2V9LHNlYXJjaDpmdW5jdGlvbihkLGUpe2Q9ZCE9bnVsbD9kOnRoaXMu
ZWxlbWVudC52YWwoKTt0aGlzLnRlcm09dGhpcy5lbGVtZW50LnZhbCgpO2lmKGQubGVuZ3RoPHRo
aXMub3B0aW9ucy5taW5MZW5ndGgpcmV0dXJuIHRoaXMuY2xvc2UoZSk7Y2xlYXJUaW1lb3V0KHRo
aXMuY2xvc2luZyk7aWYodGhpcy5fdHJpZ2dlcigic2VhcmNoIixlKSE9PWZhbHNlKXJldHVybiB0
aGlzLl9zZWFyY2goZCl9LF9zZWFyY2g6ZnVuY3Rpb24oZCl7dGhpcy5wZW5kaW5nKys7dGhpcy5l
bGVtZW50LmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpO3RoaXMuc291cmNlKHt0
ZXJtOmR9LHRoaXMucmVzcG9uc2UpfSxfcmVzcG9uc2U6ZnVuY3Rpb24oZCl7aWYoIXRoaXMub3B0
aW9ucy5kaXNhYmxlZCYmZCYmZC5sZW5ndGgpe2Q9dGhpcy5fbm9ybWFsaXplKGQpO3RoaXMuX3N1
Z2dlc3QoZCk7dGhpcy5fdHJpZ2dlcigib3BlbiIpfWVsc2UgdGhpcy5jbG9zZSgpOwordGhpcy5w
ZW5kaW5nLS07dGhpcy5wZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9j
b21wbGV0ZS1sb2FkaW5nIil9LGNsb3NlOmZ1bmN0aW9uKGQpe2NsZWFyVGltZW91dCh0aGlzLmNs
b3NpbmcpO2lmKHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKXt0aGlzLm1lbnUuZWxl
bWVudC5oaWRlKCk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLl90cmlnZ2VyKCJjbG9zZSIs
ZCl9fSxfY2hhbmdlOmZ1bmN0aW9uKGQpe3RoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFs
KCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIsZCx7aXRlbTp0aGlzLnNlbGVjdGVkSXRlbX0pfSxf
bm9ybWFsaXplOmZ1bmN0aW9uKGQpe2lmKGQubGVuZ3RoJiZkWzBdLmxhYmVsJiZkWzBdLnZhbHVl
KXJldHVybiBkO3JldHVybiBhLm1hcChkLGZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlPT09InN0cmlu
ZyIpcmV0dXJue2xhYmVsOmUsdmFsdWU6ZX07cmV0dXJuIGEuZXh0ZW5kKHtsYWJlbDplLmxhYmVs
fHwKK2UudmFsdWUsdmFsdWU6ZS52YWx1ZXx8ZS5sYWJlbH0sZSl9KX0sX3N1Z2dlc3Q6ZnVuY3Rp
b24oZCl7dmFyIGU9dGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKS56SW5kZXgodGhpcy5lbGVtZW50
LnpJbmRleCgpKzEpO3RoaXMuX3JlbmRlck1lbnUoZSxkKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgp
O3RoaXMubWVudS5yZWZyZXNoKCk7ZS5zaG93KCk7dGhpcy5fcmVzaXplTWVudSgpO2UucG9zaXRp
b24oYS5leHRlbmQoe29mOnRoaXMuZWxlbWVudH0sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSk7dGhp
cy5vcHRpb25zLmF1dG9Gb2N1cyYmdGhpcy5tZW51Lm5leHQobmV3IGEuRXZlbnQoIm1vdXNlb3Zl
ciIpKX0sX3Jlc2l6ZU1lbnU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm1lbnUuZWxlbWVudDtkLm91
dGVyV2lkdGgoTWF0aC5tYXgoZC53aWR0aCgiIikub3V0ZXJXaWR0aCgpLHRoaXMuZWxlbWVudC5v
dXRlcldpZHRoKCkpKX0sX3JlbmRlck1lbnU6ZnVuY3Rpb24oZCxlKXt2YXIgaD10aGlzOworYS5l
YWNoKGUsZnVuY3Rpb24oZyxpKXtoLl9yZW5kZXJJdGVtKGQsaSl9KX0sX3JlbmRlckl0ZW06ZnVu
Y3Rpb24oZCxlKXtyZXR1cm4gYSgiPGxpPjwvbGk+IikuZGF0YSgiaXRlbS5hdXRvY29tcGxldGUi
LGUpLmFwcGVuZChhKCI8YT48L2E+IikudGV4dChlLmxhYmVsKSkuYXBwZW5kVG8oZCl9LF9tb3Zl
OmZ1bmN0aW9uKGQsZSl7aWYodGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikpaWYodGhp
cy5tZW51LmZpcnN0KCkmJi9ecHJldmlvdXMvLnRlc3QoZCl8fHRoaXMubWVudS5sYXN0KCkmJi9e
bmV4dC8udGVzdChkKSl7dGhpcy5lbGVtZW50LnZhbCh0aGlzLnRlcm0pO3RoaXMubWVudS5kZWFj
dGl2YXRlKCl9ZWxzZSB0aGlzLm1lbnVbZF0oZSk7ZWxzZSB0aGlzLnNlYXJjaChudWxsLGUpfSx3
aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnR9fSk7YS5leHRlbmQoYS51
aS5hdXRvY29tcGxldGUse2VzY2FwZVJlZ2V4OmZ1bmN0aW9uKGQpe3JldHVybiBkLnJlcGxhY2Uo
L1stW1xde30oKSorPy4sXFxeJHwjXHNdL2csCisiXFwkJiIpfSxmaWx0ZXI6ZnVuY3Rpb24oZCxl
KXt2YXIgaD1uZXcgUmVnRXhwKGEudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4KGUpLCJpIik7
cmV0dXJuIGEuZ3JlcChkLGZ1bmN0aW9uKGcpe3JldHVybiBoLnRlc3QoZy5sYWJlbHx8Zy52YWx1
ZXx8Zyl9KX19KX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLm1lbnUiLHtf
Y3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLW1l
bnUgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xl
OiJsaXN0Ym94IiwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoidWktYWN0aXZlLW1lbnVpdGVtIn0p
LmNsaWNrKGZ1bmN0aW9uKGQpe2lmKGEoZC50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0g
YSIpLmxlbmd0aCl7ZC5wcmV2ZW50RGVmYXVsdCgpO2Muc2VsZWN0KGQpfX0pO3RoaXMucmVmcmVz
aCgpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuY2hpbGRyZW4o
ImxpOm5vdCgudWktbWVudS1pdGVtKTpoYXMoYSkiKS5hZGRDbGFzcygidWktbWVudS1pdGVtIiku
YXR0cigicm9sZSIsIm1lbnVpdGVtIikuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygidWktY29ybmVy
LWFsbCIpLmF0dHIoInRhYmluZGV4IiwKKy0xKS5tb3VzZWVudGVyKGZ1bmN0aW9uKGQpe2MuYWN0
aXZhdGUoZCxhKHRoaXMpLnBhcmVudCgpKX0pLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXtjLmRlYWN0
aXZhdGUoKX0pfSxhY3RpdmF0ZTpmdW5jdGlvbihjLGQpe3RoaXMuZGVhY3RpdmF0ZSgpO2lmKHRo
aXMuaGFzU2Nyb2xsKCkpe3ZhciBlPWQub2Zmc2V0KCkudG9wLXRoaXMuZWxlbWVudC5vZmZzZXQo
KS50b3AsaD10aGlzLmVsZW1lbnQuc2Nyb2xsVG9wKCksZz10aGlzLmVsZW1lbnQuaGVpZ2h0KCk7
aWYoZTwwKXRoaXMuZWxlbWVudC5zY3JvbGxUb3AoaCtlKTtlbHNlIGU+PWcmJnRoaXMuZWxlbWVu
dC5zY3JvbGxUb3AoaCtlLWcrZC5oZWlnaHQoKSl9dGhpcy5hY3RpdmU9ZC5lcSgwKS5jaGlsZHJl
bigiYSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLmF0dHIoImlkIiwidWktYWN0aXZlLW1l
bnVpdGVtIikuZW5kKCk7dGhpcy5fdHJpZ2dlcigiZm9jdXMiLGMse2l0ZW06ZH0pfSxkZWFjdGl2
YXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3RoaXMuYWN0aXZlLmNoaWxkcmVuKCJhIiku
cmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIikucmVtb3ZlQXR0cigiaWQiKTsKK3RoaXMuX3Ry
aWdnZXIoImJsdXIiKTt0aGlzLmFjdGl2ZT1udWxsfX0sbmV4dDpmdW5jdGlvbihjKXt0aGlzLm1v
dmUoIm5leHQiLCIudWktbWVudS1pdGVtOmZpcnN0IixjKX0scHJldmlvdXM6ZnVuY3Rpb24oYyl7
dGhpcy5tb3ZlKCJwcmV2IiwiLnVpLW1lbnUtaXRlbTpsYXN0IixjKX0sZmlyc3Q6ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWktbWVudS1pdGVt
IikubGVuZ3RofSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3Rp
dmUubmV4dEFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbW92ZTpmdW5jdGlvbihjLGQsZSl7
aWYodGhpcy5hY3RpdmUpe2M9dGhpcy5hY3RpdmVbYysiQWxsIl0oIi51aS1tZW51LWl0ZW0iKS5l
cSgwKTtjLmxlbmd0aD90aGlzLmFjdGl2YXRlKGUsYyk6dGhpcy5hY3RpdmF0ZShlLHRoaXMuZWxl
bWVudC5jaGlsZHJlbihkKSl9ZWxzZSB0aGlzLmFjdGl2YXRlKGUsCit0aGlzLmVsZW1lbnQuY2hp
bGRyZW4oZCkpfSxuZXh0UGFnZTpmdW5jdGlvbihjKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0
aGlzLmFjdGl2ZXx8dGhpcy5sYXN0KCkpdGhpcy5hY3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGls
ZHJlbigiLnVpLW1lbnUtaXRlbTpmaXJzdCIpKTtlbHNle3ZhciBkPXRoaXMuYWN0aXZlLm9mZnNl
dCgpLnRvcCxlPXRoaXMuZWxlbWVudC5oZWlnaHQoKSxoPXRoaXMuZWxlbWVudC5jaGlsZHJlbigi
LnVpLW1lbnUtaXRlbSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBnPWEodGhpcykub2Zmc2V0KCku
dG9wLWQtZSthKHRoaXMpLmhlaWdodCgpO3JldHVybiBnPDEwJiZnPi0xMH0pO2gubGVuZ3RofHwo
aD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTt0aGlzLmFjdGl2
YXRlKGMsaCl9ZWxzZSB0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWkt
bWVudS1pdGVtIikuZmlsdGVyKCF0aGlzLmFjdGl2ZXx8Cit0aGlzLmxhc3QoKT8iOmZpcnN0Ijoi
Omxhc3QiKSl9LHByZXZpb3VzUGFnZTpmdW5jdGlvbihjKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlm
KCF0aGlzLmFjdGl2ZXx8dGhpcy5maXJzdCgpKXRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQu
Y2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTtlbHNle3ZhciBkPXRoaXMuYWN0aXZlLm9m
ZnNldCgpLnRvcCxlPXRoaXMuZWxlbWVudC5oZWlnaHQoKTtyZXN1bHQ9dGhpcy5lbGVtZW50LmNo
aWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGg9YSh0aGlzKS5v
ZmZzZXQoKS50b3AtZCtlLWEodGhpcykuaGVpZ2h0KCk7cmV0dXJuIGg8MTAmJmg+LTEwfSk7cmVz
dWx0Lmxlbmd0aHx8KHJlc3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06
Zmlyc3QiKSk7dGhpcy5hY3RpdmF0ZShjLHJlc3VsdCl9ZWxzZSB0aGlzLmFjdGl2YXRlKGMsdGhp
cy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKCF0aGlzLmFjdGl2ZXx8
Cit0aGlzLmZpcnN0KCk/IjpsYXN0IjoiOmZpcnN0IikpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oKXty
ZXR1cm4gdGhpcy5lbGVtZW50LmhlaWdodCgpPHRoaXMuZWxlbWVudFthLmZuLnByb3A/InByb3Ai
OiJhdHRyIl0oInNjcm9sbEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24oYyl7dGhpcy5fdHJpZ2dl
cigic2VsZWN0ZWQiLGMse2l0ZW06dGhpcy5hY3RpdmV9KX19KX0pKGpRdWVyeSk7CisoZnVuY3Rp
b24oYSl7dmFyIGMsZCxlLGgsZz1mdW5jdGlvbigpe3ZhciBiPWEodGhpcykuZmluZCgiOnVpLWJ1
dHRvbiIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmJ1dHRvbigicmVmcmVzaCIpfSwxKX0saT1m
dW5jdGlvbihiKXt2YXIgZj1iLm5hbWUsaj1iLmZvcm0sbD1hKFtdKTtpZihmKWw9aj9hKGopLmZp
bmQoIltuYW1lPSciK2YrIiddIik6YSgiW25hbWU9JyIrZisiJ10iLGIub3duZXJEb2N1bWVudCku
ZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZm9ybX0pO3JldHVybiBsfTthLndpZGdldCgi
dWkuYnV0dG9uIix7b3B0aW9uczp7ZGlzYWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFiZWw6bnVsbCxp
Y29uczp7cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3Ro
aXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0b24iKS5iaW5kKCJy
ZXNldC5idXR0b24iLGcpO2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWQhPT0KKyJib29s
ZWFuIil0aGlzLm9wdGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxl
ZCIpO3RoaXMuX2RldGVybWluZUJ1dHRvblR5cGUoKTt0aGlzLmhhc1RpdGxlPSEhdGhpcy5idXR0
b25FbGVtZW50LmF0dHIoInRpdGxlIik7dmFyIGI9dGhpcyxmPXRoaXMub3B0aW9ucyxqPXRoaXMu
dHlwZT09PSJjaGVja2JveCJ8fHRoaXMudHlwZT09PSJyYWRpbyIsbD0idWktc3RhdGUtaG92ZXIi
Kyghaj8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIpO2lmKGYubGFiZWw9PT1udWxsKWYubGFiZWw9dGhp
cy5idXR0b25FbGVtZW50Lmh0bWwoKTtpZih0aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpKWYu
ZGlzYWJsZWQ9dHJ1ZTt0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLWJ1dHRvbiB1aS13
aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRv
biIpLmJpbmQoIm1vdXNlZW50ZXIuYnV0dG9uIixmdW5jdGlvbigpe2lmKCFmLmRpc2FibGVkKXth
KHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwordGhpcz09PWMmJmEodGhpcykuYWRk
Q2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfX0pLmJpbmQoIm1vdXNlbGVhdmUuYnV0dG9uIixmdW5j
dGlvbigpe2YuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xhc3MobCl9KS5iaW5kKCJjbGljay5i
dXR0b24iLGZ1bmN0aW9uKG8pe2lmKGYuZGlzYWJsZWQpe28ucHJldmVudERlZmF1bHQoKTtvLnN0
b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfX0pO3RoaXMuZWxlbWVudC5iaW5kKCJmb2N1cy5idXR0
b24iLGZ1bmN0aW9uKCl7Yi5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIp
fSkuYmluZCgiYmx1ci5idXR0b24iLGZ1bmN0aW9uKCl7Yi5idXR0b25FbGVtZW50LnJlbW92ZUNs
YXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7aWYoail7dGhpcy5lbGVtZW50LmJpbmQoImNoYW5nZS5i
dXR0b24iLGZ1bmN0aW9uKCl7aHx8Yi5yZWZyZXNoKCl9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuYmlu
ZCgibW91c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYoIWYuZGlzYWJsZWQpe2g9CitmYWxz
ZTtkPW8ucGFnZVg7ZT1vLnBhZ2VZfX0pLmJpbmQoIm1vdXNldXAuYnV0dG9uIixmdW5jdGlvbihv
KXtpZighZi5kaXNhYmxlZClpZihkIT09by5wYWdlWHx8ZSE9PW8ucGFnZVkpaD10cnVlfSl9aWYo
dGhpcy50eXBlPT09ImNoZWNrYm94Iil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0
dG9uIixmdW5jdGlvbigpe2lmKGYuZGlzYWJsZWR8fGgpcmV0dXJuIGZhbHNlO2EodGhpcykudG9n
Z2xlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2IuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXBy
ZXNzZWQiLGIuZWxlbWVudFswXS5jaGVja2VkKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09InJhZGlv
Iil0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGYu
ZGlzYWJsZWR8fGgpcmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2
ZSIpO2IuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7Cit2YXIgbz1i
LmVsZW1lbnRbMF07aShvKS5ub3QobykubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcykuYnV0
dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJh
cmlhLXByZXNzZWQiLCJmYWxzZSIpfSk7ZWxzZXt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91
c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihmLmRpc2FibGVkKXJldHVybiBmYWxzZTthKHRo
aXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtjPXRoaXM7YShkb2N1bWVudCkub25lKCJt
b3VzZXVwIixmdW5jdGlvbigpe2M9bnVsbH0pfSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0
aW9uKCl7aWYoZi5kaXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlzKS5yZW1vdmVDbGFzcygidWkt
c3RhdGUtYWN0aXZlIil9KS5iaW5kKCJrZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYoZi5k
aXNhYmxlZClyZXR1cm4gZmFsc2U7aWYoby5rZXlDb2RlPT1hLnVpLmtleUNvZGUuU1BBQ0V8fAor
by5rZXlDb2RlPT1hLnVpLmtleUNvZGUuRU5URVIpYSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUt
YWN0aXZlIil9KS5iaW5kKCJrZXl1cC5idXR0b24iLGZ1bmN0aW9uKCl7YSh0aGlzKS5yZW1vdmVD
bGFzcygidWktc3RhdGUtYWN0aXZlIil9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuaXMoImEiKSYmdGhp
cy5idXR0b25FbGVtZW50LmtleXVwKGZ1bmN0aW9uKG8pe28ua2V5Q29kZT09PWEudWkua2V5Q29k
ZS5TUEFDRSYmYSh0aGlzKS5jbGljaygpfSl9dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsZi5k
aXNhYmxlZCk7dGhpcy5fcmVzZXRCdXR0b24oKX0sX2RldGVybWluZUJ1dHRvblR5cGU6ZnVuY3Rp
b24oKXt0aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tib3giKT8iY2hlY2tib3giOnRo
aXMuZWxlbWVudC5pcygiOnJhZGlvIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/
ImlucHV0IjoiYnV0dG9uIjtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0K
KyJyYWRpbyIpe3ZhciBiPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkuZmlsdGVyKCI6bGFzdCIpLGY9
ImxhYmVsW2Zvcj0iK3RoaXMuZWxlbWVudC5hdHRyKCJpZCIpKyJdIjt0aGlzLmJ1dHRvbkVsZW1l
bnQ9Yi5maW5kKGYpO2lmKCF0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RoKXtiPWIubGVuZ3RoP2Iu
c2libGluZ3MoKTp0aGlzLmVsZW1lbnQuc2libGluZ3MoKTt0aGlzLmJ1dHRvbkVsZW1lbnQ9Yi5m
aWx0ZXIoZik7aWYoIXRoaXMuYnV0dG9uRWxlbWVudC5sZW5ndGgpdGhpcy5idXR0b25FbGVtZW50
PWIuZmluZChmKX10aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNz
aWJsZSIpOyhiPXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKSkmJnRoaXMuYnV0dG9uRWxlbWVu
dC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5idXR0b25FbGVtZW50LmF0dHIoImFy
aWEtcHJlc3NlZCIsYil9ZWxzZSB0aGlzLmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVtZW50fSwKK3dp
ZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbkVsZW1lbnR9LGRlc3Ryb3k6ZnVuY3Rp
b24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJs
ZSIpO3RoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1
aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtYWN0
aXZlICB1aS1idXR0b24taWNvbnMtb25seSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10
ZXh0LWljb25zIHVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29u
LXNlY29uZGFyeSB1aS1idXR0b24tdGV4dC1vbmx5IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92
ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1i
dXR0b24tdGV4dCIpLmh0bWwoKSk7dGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJl
bW92ZUF0dHIoInRpdGxlIik7CithLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMp
fSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGIsZil7YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24u
YXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGI9PT0iZGlzYWJsZWQiKWY/dGhpcy5lbGVtZW50LnBy
b3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk6dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIs
ZmFsc2UpO2Vsc2UgdGhpcy5fcmVzZXRCdXR0b24oKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBi
PXRoaXMuZWxlbWVudC5pcygiOmRpc2FibGVkIik7YiE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYm
dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsYik7aWYodGhpcy50eXBlPT09InJhZGlvIilpKHRo
aXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe2EodGhpcykuaXMoIjpjaGVja2VkIik/YSh0
aGlzKS5idXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJh
cmlhLXByZXNzZWQiLAorInRydWUiKTphKHRoaXMpLmJ1dHRvbigid2lkZ2V0IikucmVtb3ZlQ2xh
c3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9KTtlbHNl
IGlmKHRoaXMudHlwZT09PSJjaGVja2JveCIpdGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tlZCIpP3Ro
aXMuYnV0dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1w
cmVzc2VkIiwidHJ1ZSIpOnRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUt
YWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0sX3Jlc2V0QnV0dG9uOmZ1bmN0
aW9uKCl7aWYodGhpcy50eXBlPT09ImlucHV0Iil0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxl
bWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKTtlbHNle3ZhciBiPXRoaXMuYnV0dG9uRWxlbWVu
dC5yZW1vdmVDbGFzcygidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1
aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9u
LXRleHQtaWNvbi1zZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIpLAorZj1hKCI8c3Bhbj48
L3NwYW4+IikuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFi
ZWwpLmFwcGVuZFRvKGIuZW1wdHkoKSkudGV4dCgpLGo9dGhpcy5vcHRpb25zLmljb25zLGw9ai5w
cmltYXJ5JiZqLnNlY29uZGFyeSxvPVtdO2lmKGoucHJpbWFyeXx8ai5zZWNvbmRhcnkpe2lmKHRo
aXMub3B0aW9ucy50ZXh0KW8ucHVzaCgidWktYnV0dG9uLXRleHQtaWNvbiIrKGw/InMiOmoucHJp
bWFyeT8iLXByaW1hcnkiOiItc2Vjb25kYXJ5IikpO2oucHJpbWFyeSYmYi5wcmVwZW5kKCI8c3Bh
biBjbGFzcz0ndWktYnV0dG9uLWljb24tcHJpbWFyeSB1aS1pY29uICIrai5wcmltYXJ5KyInPjwv
c3Bhbj4iKTtqLnNlY29uZGFyeSYmYi5hcHBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNv
bi1zZWNvbmRhcnkgdWktaWNvbiAiK2ouc2Vjb25kYXJ5KyInPjwvc3Bhbj4iKTtpZighdGhpcy5v
cHRpb25zLnRleHQpe28ucHVzaChsPyJ1aS1idXR0b24taWNvbnMtb25seSI6CisidWktYnV0dG9u
LWljb24tb25seSIpO3RoaXMuaGFzVGl0bGV8fGIuYXR0cigidGl0bGUiLGYpfX1lbHNlIG8ucHVz
aCgidWktYnV0dG9uLXRleHQtb25seSIpO2IuYWRkQ2xhc3Moby5qb2luKCIgIikpfX19KTthLndp
ZGdldCgidWkuYnV0dG9uc2V0Iix7b3B0aW9uczp7aXRlbXM6IjpidXR0b24sIDpzdWJtaXQsIDpy
ZXNldCwgOmNoZWNrYm94LCA6cmFkaW8sIGEsIDpkYXRhKGJ1dHRvbikifSxfY3JlYXRlOmZ1bmN0
aW9uKCl7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b25zZXQiKX0sX2luaXQ6ZnVuY3Rp
b24oKXt0aGlzLnJlZnJlc2goKX0sX3NldE9wdGlvbjpmdW5jdGlvbihiLGYpe2I9PT0iZGlzYWJs
ZWQiJiZ0aGlzLmJ1dHRvbnMuYnV0dG9uKCJvcHRpb24iLGIsZik7YS5XaWRnZXQucHJvdG90eXBl
Ll9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFy
IGI9dGhpcy5lbGVtZW50LmNzcygiZGlyZWN0aW9uIik9PT0KKyJsdHIiO3RoaXMuYnV0dG9ucz10
aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpbHRlcigiOnVpLWJ1dHRvbiIp
LmJ1dHRvbigicmVmcmVzaCIpLmVuZCgpLm5vdCgiOnVpLWJ1dHRvbiIpLmJ1dHRvbigpLmVuZCgp
Lm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1v
dmVDbGFzcygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5m
aWx0ZXIoIjpmaXJzdCIpLmFkZENsYXNzKGI/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJp
Z2h0IikuZW5kKCkuZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKGI/InVpLWNvcm5lci1yaWdodCI6
InVpLWNvcm5lci1sZWZ0IikuZW5kKCkuZW5kKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVs
ZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWJ1dHRvbnNldCIpO3RoaXMuYnV0dG9ucy5tYXAoZnVuY3Rp
b24oKXtyZXR1cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVp
LWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmJ1dHRvbigiZGVzdHJveSIpOwor
YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7CisoZnVu
Y3Rpb24oYSxjKXtmdW5jdGlvbiBkKCl7dGhpcy5kZWJ1Zz1mYWxzZTt0aGlzLl9jdXJJbnN0PW51
bGw7dGhpcy5fa2V5RXZlbnQ9ZmFsc2U7dGhpcy5fZGlzYWJsZWRJbnB1dHM9W107dGhpcy5faW5E
aWFsb2c9dGhpcy5fZGF0ZXBpY2tlclNob3dpbmc9ZmFsc2U7dGhpcy5fbWFpbkRpdklkPSJ1aS1k
YXRlcGlja2VyLWRpdiI7dGhpcy5faW5saW5lQ2xhc3M9InVpLWRhdGVwaWNrZXItaW5saW5lIjt0
aGlzLl9hcHBlbmRDbGFzcz0idWktZGF0ZXBpY2tlci1hcHBlbmQiO3RoaXMuX3RyaWdnZXJDbGFz
cz0idWktZGF0ZXBpY2tlci10cmlnZ2VyIjt0aGlzLl9kaWFsb2dDbGFzcz0idWktZGF0ZXBpY2tl
ci1kaWFsb2ciO3RoaXMuX2Rpc2FibGVDbGFzcz0idWktZGF0ZXBpY2tlci1kaXNhYmxlZCI7dGhp
cy5fdW5zZWxlY3RhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIjt0aGlzLl9j
dXJyZW50Q2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiO3RoaXMuX2RheU92ZXJDbGFz
cz0KKyJ1aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIjt0aGlzLnJlZ2lvbmFsPVtdO3RoaXMu
cmVnaW9uYWxbIiJdPXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoi
TmV4dCIsY3VycmVudFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5
IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVy
IiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4i
LCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJO
b3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNk
YXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIs
Ik1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLAor
Ik1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLHdlZWtIZWFkZXI6IldrIixkYXRlRm9ybWF0
OiJtbS9kZC95eSIsZmlyc3REYXk6MCxpc1JUTDpmYWxzZSxzaG93TW9udGhBZnRlclllYXI6ZmFs
c2UseWVhclN1ZmZpeDoiIn07dGhpcy5fZGVmYXVsdHM9e3Nob3dPbjoiZm9jdXMiLHNob3dBbmlt
OiJmYWRlSW4iLHNob3dPcHRpb25zOnt9LGRlZmF1bHREYXRlOm51bGwsYXBwZW5kVGV4dDoiIixi
dXR0b25UZXh0OiIuLi4iLGJ1dHRvbkltYWdlOiIiLGJ1dHRvbkltYWdlT25seTpmYWxzZSxoaWRl
SWZOb1ByZXZOZXh0OmZhbHNlLG5hdmlnYXRpb25Bc0RhdGVGb3JtYXQ6ZmFsc2UsZ290b0N1cnJl
bnQ6ZmFsc2UsY2hhbmdlTW9udGg6ZmFsc2UsY2hhbmdlWWVhcjpmYWxzZSx5ZWFyUmFuZ2U6ImMt
MTA6YysxMCIsc2hvd090aGVyTW9udGhzOmZhbHNlLHNlbGVjdE90aGVyTW9udGhzOmZhbHNlLHNo
b3dXZWVrOmZhbHNlLGNhbGN1bGF0ZVdlZWs6dGhpcy5pc284NjAxV2VlayxzaG9ydFllYXJDdXRv
ZmY6IisxMCIsCittaW5EYXRlOm51bGwsbWF4RGF0ZTpudWxsLGR1cmF0aW9uOiJmYXN0IixiZWZv
cmVTaG93RGF5Om51bGwsYmVmb3JlU2hvdzpudWxsLG9uU2VsZWN0Om51bGwsb25DaGFuZ2VNb250
aFllYXI6bnVsbCxvbkNsb3NlOm51bGwsbnVtYmVyT2ZNb250aHM6MSxzaG93Q3VycmVudEF0UG9z
OjAsc3RlcE1vbnRoczoxLHN0ZXBCaWdNb250aHM6MTIsYWx0RmllbGQ6IiIsYWx0Rm9ybWF0OiIi
LGNvbnN0cmFpbklucHV0OnRydWUsc2hvd0J1dHRvblBhbmVsOmZhbHNlLGF1dG9TaXplOmZhbHNl
LGRpc2FibGVkOmZhbHNlfTthLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIi
XSk7dGhpcy5kcERpdj1lKGEoJzxkaXYgaWQ9IicrdGhpcy5fbWFpbkRpdklkKyciIGNsYXNzPSJ1
aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJm
aXggdWktY29ybmVyLWFsbCI+PC9kaXY+JykpfWZ1bmN0aW9uIGUoYil7cmV0dXJuIGIuYmluZCgi
bW91c2VvdXQiLAorZnVuY3Rpb24oZil7Zj1hKGYudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51
aS1kYXRlcGlja2VyLXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNh
bGVuZGFyIHRkIGEiKTtmLmxlbmd0aCYmZi5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIgdWkt
ZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuYmluZCgi
bW91c2VvdmVyIixmdW5jdGlvbihmKXtmPWEoZi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVp
LWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2Fs
ZW5kYXIgdGQgYSIpO2lmKCEoYS5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihpLmlu
bGluZT9iLnBhcmVudCgpWzBdOmkuaW5wdXRbMF0pfHwhZi5sZW5ndGgpKXtmLnBhcmVudHMoIi51
aS1kYXRlcGlja2VyLWNhbGVuZGFyIikuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1o
b3ZlciIpOworZi5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKTtmLmhhc0NsYXNzKCJ1aS1kYXRl
cGlja2VyLXByZXYiKSYmZi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIik7Zi5o
YXNDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0IikmJmYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXIt
bmV4dC1ob3ZlciIpfX0pfWZ1bmN0aW9uIGgoYixmKXthLmV4dGVuZChiLGYpO2Zvcih2YXIgaiBp
biBmKWlmKGZbal09PW51bGx8fGZbal09PWMpYltqXT1mW2pdO3JldHVybiBifWEuZXh0ZW5kKGEu
dWkse2RhdGVwaWNrZXI6e3ZlcnNpb246IjEuOC4xNSJ9fSk7dmFyIGc9KG5ldyBEYXRlKS5nZXRU
aW1lKCksaTthLmV4dGVuZChkLnByb3RvdHlwZSx7bWFya2VyQ2xhc3NOYW1lOiJoYXNEYXRlcGlj
a2VyIixtYXhSb3dzOjQsbG9nOmZ1bmN0aW9uKCl7dGhpcy5kZWJ1ZyYmY29uc29sZS5sb2cuYXBw
bHkoIiIsYXJndW1lbnRzKX0sX3dpZGdldERhdGVwaWNrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5kcERpdn0sCitzZXREZWZhdWx0czpmdW5jdGlvbihiKXtoKHRoaXMuX2RlZmF1bHRzLGJ8fHt9
KTtyZXR1cm4gdGhpc30sX2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXt2YXIgaj1udWxs
O2Zvcih2YXIgbCBpbiB0aGlzLl9kZWZhdWx0cyl7dmFyIG89Yi5nZXRBdHRyaWJ1dGUoImRhdGU6
IitsKTtpZihvKXtqPWp8fHt9O3RyeXtqW2xdPWV2YWwobyl9Y2F0Y2gobil7altsXT1vfX19bD1i
Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7bz1sPT0iZGl2Inx8bD09InNwYW4iO2lmKCFiLmlkKXt0
aGlzLnV1aWQrPTE7Yi5pZD0iZHAiK3RoaXMudXVpZH12YXIgaz10aGlzLl9uZXdJbnN0KGEoYiks
byk7ay5zZXR0aW5ncz1hLmV4dGVuZCh7fSxmfHx7fSxqfHx7fSk7aWYobD09ImlucHV0Iil0aGlz
Ll9jb25uZWN0RGF0ZXBpY2tlcihiLGspO2Vsc2UgbyYmdGhpcy5faW5saW5lRGF0ZXBpY2tlcihi
LGspfSxfbmV3SW5zdDpmdW5jdGlvbihiLGYpe3JldHVybntpZDpiWzBdLmlkLnJlcGxhY2UoLyhb
XkEtWmEtejAtOV8tXSkvZywKKyJcXFxcJDEiKSxpbnB1dDpiLHNlbGVjdGVkRGF5OjAsc2VsZWN0
ZWRNb250aDowLHNlbGVjdGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmYs
ZHBEaXY6IWY/dGhpcy5kcERpdjplKGEoJzxkaXYgY2xhc3M9IicrdGhpcy5faW5saW5lQ2xhc3Mr
JyB1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xl
YXJmaXggdWktY29ybmVyLWFsbCI+PC9kaXY+JykpfX0sX2Nvbm5lY3REYXRlcGlja2VyOmZ1bmN0
aW9uKGIsZil7dmFyIGo9YShiKTtmLmFwcGVuZD1hKFtdKTtmLnRyaWdnZXI9YShbXSk7aWYoIWou
aGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt0aGlzLl9hdHRhY2htZW50cyhqLGYpO2ou
YWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmtleWRvd24odGhpcy5fZG9LZXlEb3duKS5r
ZXlwcmVzcyh0aGlzLl9kb0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKS5iaW5kKCJzZXRE
YXRhLmRhdGVwaWNrZXIiLAorZnVuY3Rpb24obCxvLG4pe2Yuc2V0dGluZ3Nbb109bn0pLmJpbmQo
ImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24obCxvKXtyZXR1cm4gdGhpcy5fZ2V0KGYsbyl9
KTt0aGlzLl9hdXRvU2l6ZShmKTthLmRhdGEoYiwiZGF0ZXBpY2tlciIsZik7Zi5zZXR0aW5ncy5k
aXNhYmxlZCYmdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIoYil9fSxfYXR0YWNobWVudHM6ZnVuY3Rp
b24oYixmKXt2YXIgaj10aGlzLl9nZXQoZiwiYXBwZW5kVGV4dCIpLGw9dGhpcy5fZ2V0KGYsImlz
UlRMIik7Zi5hcHBlbmQmJmYuYXBwZW5kLnJlbW92ZSgpO2lmKGope2YuYXBwZW5kPWEoJzxzcGFu
IGNsYXNzPSInK3RoaXMuX2FwcGVuZENsYXNzKyciPicraisiPC9zcGFuPiIpO2JbbD8iYmVmb3Jl
IjoiYWZ0ZXIiXShmLmFwcGVuZCl9Yi51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tl
cik7Zi50cmlnZ2VyJiZmLnRyaWdnZXIucmVtb3ZlKCk7aj10aGlzLl9nZXQoZiwic2hvd09uIik7
aWYoaj09CisiZm9jdXMifHxqPT0iYm90aCIpYi5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlcik7
aWYoaj09ImJ1dHRvbiJ8fGo9PSJib3RoIil7aj10aGlzLl9nZXQoZiwiYnV0dG9uVGV4dCIpO3Zh
ciBvPXRoaXMuX2dldChmLCJidXR0b25JbWFnZSIpO2YudHJpZ2dlcj1hKHRoaXMuX2dldChmLCJi
dXR0b25JbWFnZU9ubHkiKT9hKCI8aW1nLz4iKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3Mp
LmF0dHIoe3NyYzpvLGFsdDpqLHRpdGxlOmp9KTphKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9i
dXR0b24+JykuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5odG1sKG89PSIiP2o6YSgiPGlt
Zy8+IikuYXR0cih7c3JjOm8sYWx0OmosdGl0bGU6an0pKSk7YltsPyJiZWZvcmUiOiJhZnRlciJd
KGYudHJpZ2dlcik7Zi50cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCl7YS5kYXRlcGlja2VyLl9kYXRl
cGlja2VyU2hvd2luZyYmYS5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWJbMF0/YS5kYXRlcGlja2Vy
Ll9oaWRlRGF0ZXBpY2tlcigpOgorYS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcihiWzBdKTty
ZXR1cm4gZmFsc2V9KX19LF9hdXRvU2l6ZTpmdW5jdGlvbihiKXtpZih0aGlzLl9nZXQoYiwiYXV0
b1NpemUiKSYmIWIuaW5saW5lKXt2YXIgZj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxqPXRoaXMuX2dl
dChiLCJkYXRlRm9ybWF0Iik7aWYoai5tYXRjaCgvW0RNXS8pKXt2YXIgbD1mdW5jdGlvbihvKXtm
b3IodmFyIG49MCxrPTAsbT0wO208by5sZW5ndGg7bSsrKWlmKG9bbV0ubGVuZ3RoPm4pe249b1tt
XS5sZW5ndGg7az1tfXJldHVybiBrfTtmLnNldE1vbnRoKGwodGhpcy5fZ2V0KGIsai5tYXRjaCgv
TU0vKT8ibW9udGhOYW1lcyI6Im1vbnRoTmFtZXNTaG9ydCIpKSk7Zi5zZXREYXRlKGwodGhpcy5f
Z2V0KGIsai5tYXRjaCgvREQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLWYuZ2V0
RGF5KCkpfWIuaW5wdXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShiLGYpLmxlbmd0aCl9
fSxfaW5saW5lRGF0ZXBpY2tlcjpmdW5jdGlvbihiLAorZil7dmFyIGo9YShiKTtpZighai5oYXND
bGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe2ouYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05h
bWUpLmFwcGVuZChmLmRwRGl2KS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGws
byxuKXtmLnNldHRpbmdzW29dPW59KS5iaW5kKCJnZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9u
KGwsbyl7cmV0dXJuIHRoaXMuX2dldChmLG8pfSk7YS5kYXRhKGIsImRhdGVwaWNrZXIiLGYpO3Ro
aXMuX3NldERhdGUoZix0aGlzLl9nZXREZWZhdWx0RGF0ZShmKSx0cnVlKTt0aGlzLl91cGRhdGVE
YXRlcGlja2VyKGYpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShmKTtmLnNldHRpbmdzLmRpc2FibGVk
JiZ0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlcihiKTtmLmRwRGl2LmNzcygiZGlzcGxheSIsImJsb2Nr
Iil9fSxfZGlhbG9nRGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYsaixsLG8pe2I9dGhpcy5fZGlhbG9n
SW5zdDtpZighYil7dGhpcy51dWlkKz0KKzE7dGhpcy5fZGlhbG9nSW5wdXQ9YSgnPGlucHV0IHR5
cGU9InRleHQiIGlkPSInKygiZHAiK3RoaXMudXVpZCkrJyIgc3R5bGU9InBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiAtMTAwcHg7IHdpZHRoOiAwcHg7IHotaW5kZXg6IC0xMDsiLz4nKTt0aGlzLl9k
aWFsb2dJbnB1dC5rZXlkb3duKHRoaXMuX2RvS2V5RG93bik7YSgiYm9keSIpLmFwcGVuZCh0aGlz
Ll9kaWFsb2dJbnB1dCk7Yj10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlh
bG9nSW5wdXQsZmFsc2UpO2Iuc2V0dGluZ3M9e307YS5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBd
LCJkYXRlcGlja2VyIixiKX1oKGIuc2V0dGluZ3MsbHx8e30pO2Y9ZiYmZi5jb25zdHJ1Y3Rvcj09
RGF0ZT90aGlzLl9mb3JtYXREYXRlKGIsZik6Zjt0aGlzLl9kaWFsb2dJbnB1dC52YWwoZik7dGhp
cy5fcG9zPW8/by5sZW5ndGg/bzpbby5wYWdlWCxvLnBhZ2VZXTpudWxsO2lmKCF0aGlzLl9wb3Mp
dGhpcy5fcG9zPVtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvCisyLTEwMCso
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xs
TGVmdCksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yLTE1MCsoZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApXTt0
aGlzLl9kaWFsb2dJbnB1dC5jc3MoImxlZnQiLHRoaXMuX3Bvc1swXSsyMCsicHgiKS5jc3MoInRv
cCIsdGhpcy5fcG9zWzFdKyJweCIpO2Iuc2V0dGluZ3Mub25TZWxlY3Q9ajt0aGlzLl9pbkRpYWxv
Zz10cnVlO3RoaXMuZHBEaXYuYWRkQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpO3RoaXMuX3Nob3dE
YXRlcGlja2VyKHRoaXMuX2RpYWxvZ0lucHV0WzBdKTthLmJsb2NrVUkmJmEuYmxvY2tVSSh0aGlz
LmRwRGl2KTthLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGIpO3JldHVy
biB0aGlzfSxfZGVzdHJveURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9CithKGIpLGo9YS5k
YXRhKGIsImRhdGVwaWNrZXIiKTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7
dmFyIGw9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2EucmVtb3ZlRGF0YShiLCJkYXRlcGlja2Vy
Iik7aWYobD09ImlucHV0Iil7ai5hcHBlbmQucmVtb3ZlKCk7ai50cmlnZ2VyLnJlbW92ZSgpO2Yu
cmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLHRoaXMuX3No
b3dEYXRlcGlja2VyKS51bmJpbmQoImtleWRvd24iLHRoaXMuX2RvS2V5RG93bikudW5iaW5kKCJr
ZXlwcmVzcyIsdGhpcy5fZG9LZXlQcmVzcykudW5iaW5kKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCl9
ZWxzZSBpZihsPT0iZGl2Inx8bD09InNwYW4iKWYucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFz
c05hbWUpLmVtcHR5KCl9fSxfZW5hYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihiKXt2YXIgZj1hKGIp
LGo9YS5kYXRhKGIsImRhdGVwaWNrZXIiKTtpZihmLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NO
YW1lKSl7dmFyIGw9CitiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYobD09ImlucHV0Iil7Yi5k
aXNhYmxlZD1mYWxzZTtqLnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7
dGhpcy5kaXNhYmxlZD1mYWxzZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIx
LjAiLGN1cnNvcjoiIn0pfWVsc2UgaWYobD09ImRpdiJ8fGw9PSJzcGFuIil7Zj1mLmNoaWxkcmVu
KCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Zi5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0
ZS1kaXNhYmxlZCIpO2YuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51
aS1kYXRlcGlja2VyLXllYXIiKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVk
SW5wdXRzPWEubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKG8pe3JldHVybiBvPT1i
P251bGw6b30pfX0sX2Rpc2FibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPWEoYiksaj1h
LmRhdGEoYiwKKyJkYXRlcGlja2VyIik7aWYoZi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFt
ZSkpe3ZhciBsPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihsPT0iaW5wdXQiKXtiLmRpc2Fi
bGVkPXRydWU7ai50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMu
ZGlzYWJsZWQ9dHJ1ZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIwLjUiLGN1
cnNvcjoiZGVmYXVsdCJ9KX1lbHNlIGlmKGw9PSJkaXYifHxsPT0ic3BhbiIpe2Y9Zi5jaGlsZHJl
bigiLiIrdGhpcy5faW5saW5lQ2xhc3MpO2YuY2hpbGRyZW4oKS5hZGRDbGFzcygidWktc3RhdGUt
ZGlzYWJsZWQiKTtmLmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWkt
ZGF0ZXBpY2tlci15ZWFyIikuYXR0cigiZGlzYWJsZWQiLCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2Fi
bGVkSW5wdXRzPWEubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKG8pe3JldHVybiBv
PT0KK2I/bnVsbDpvfSk7dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMu
bGVuZ3RoXT1ifX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGIpe2lmKCFiKXJldHVy
biBmYWxzZTtmb3IodmFyIGY9MDtmPHRoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aDtmKyspaWYo
dGhpcy5fZGlzYWJsZWRJbnB1dHNbZl09PWIpcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlfSxfZ2V0
SW5zdDpmdW5jdGlvbihiKXt0cnl7cmV0dXJuIGEuZGF0YShiLCJkYXRlcGlja2VyIil9Y2F0Y2go
Zil7dGhyb3ciTWlzc2luZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiO319LF9v
cHRpb25EYXRlcGlja2VyOmZ1bmN0aW9uKGIsZixqKXt2YXIgbD10aGlzLl9nZXRJbnN0KGIpO2lm
KGFyZ3VtZW50cy5sZW5ndGg9PTImJnR5cGVvZiBmPT0ic3RyaW5nIilyZXR1cm4gZj09ImRlZmF1
bHRzIj9hLmV4dGVuZCh7fSxhLmRhdGVwaWNrZXIuX2RlZmF1bHRzKTpsP2Y9PSJhbGwiPworYS5l
eHRlbmQoe30sbC5zZXR0aW5ncyk6dGhpcy5fZ2V0KGwsZik6bnVsbDt2YXIgbz1mfHx7fTtpZih0
eXBlb2YgZj09InN0cmluZyIpe289e307b1tmXT1qfWlmKGwpe3RoaXMuX2N1ckluc3Q9PWwmJnRo
aXMuX2hpZGVEYXRlcGlja2VyKCk7dmFyIG49dGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIoYix0cnVl
KSxrPXRoaXMuX2dldE1pbk1heERhdGUobCwibWluIiksbT10aGlzLl9nZXRNaW5NYXhEYXRlKGws
Im1heCIpO2gobC5zZXR0aW5ncyxvKTtpZihrIT09bnVsbCYmby5kYXRlRm9ybWF0IT09YyYmby5t
aW5EYXRlPT09YylsLnNldHRpbmdzLm1pbkRhdGU9dGhpcy5fZm9ybWF0RGF0ZShsLGspO2lmKG0h
PT1udWxsJiZvLmRhdGVGb3JtYXQhPT1jJiZvLm1heERhdGU9PT1jKWwuc2V0dGluZ3MubWF4RGF0
ZT10aGlzLl9mb3JtYXREYXRlKGwsbSk7dGhpcy5fYXR0YWNobWVudHMoYShiKSxsKTt0aGlzLl9h
dXRvU2l6ZShsKTt0aGlzLl9zZXREYXRlKGwsbik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGwpOwor
dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihsKX19LF9jaGFuZ2VEYXRlcGlja2VyOmZ1bmN0aW9uKGIs
ZixqKXt0aGlzLl9vcHRpb25EYXRlcGlja2VyKGIsZixqKX0sX3JlZnJlc2hEYXRlcGlja2VyOmZ1
bmN0aW9uKGIpeyhiPXRoaXMuX2dldEluc3QoYikpJiZ0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIp
fSxfc2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXtpZihiPXRoaXMuX2dldEluc3QoYikp
e3RoaXMuX3NldERhdGUoYixmKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO3RoaXMuX3VwZGF0
ZUFsdGVybmF0ZShiKX19LF9nZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYpeyhiPXRoaXMu
X2dldEluc3QoYikpJiYhYi5pbmxpbmUmJnRoaXMuX3NldERhdGVGcm9tRmllbGQoYixmKTtyZXR1
cm4gYj90aGlzLl9nZXREYXRlKGIpOm51bGx9LF9kb0tleURvd246ZnVuY3Rpb24oYil7dmFyIGY9
YS5kYXRlcGlja2VyLl9nZXRJbnN0KGIudGFyZ2V0KSxqPXRydWUsbD1mLmRwRGl2LmlzKCIudWkt
ZGF0ZXBpY2tlci1ydGwiKTsKK2YuX2tleUV2ZW50PXRydWU7aWYoYS5kYXRlcGlja2VyLl9kYXRl
cGlja2VyU2hvd2luZylzd2l0Y2goYi5rZXlDb2RlKXtjYXNlIDk6YS5kYXRlcGlja2VyLl9oaWRl
RGF0ZXBpY2tlcigpO2o9ZmFsc2U7YnJlYWs7Y2FzZSAxMzpqPWEoInRkLiIrYS5kYXRlcGlja2Vy
Ll9kYXlPdmVyQ2xhc3MrIjpub3QoLiIrYS5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGYu
ZHBEaXYpO2pbMF0mJmEuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGIudGFyZ2V0LGYuc2VsZWN0ZWRN
b250aCxmLnNlbGVjdGVkWWVhcixqWzBdKTtpZihiPWEuZGF0ZXBpY2tlci5fZ2V0KGYsIm9uU2Vs
ZWN0Iikpe2o9YS5kYXRlcGlja2VyLl9mb3JtYXREYXRlKGYpO2IuYXBwbHkoZi5pbnB1dD9mLmlu
cHV0WzBdOm51bGwsW2osZl0pfWVsc2UgYS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO3Jl
dHVybiBmYWxzZTtjYXNlIDI3OmEuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTticmVhaztj
YXNlIDMzOmEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCwKK2IuY3RybEtleT8tYS5k
YXRlcGlja2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOi1hLmRhdGVwaWNrZXIuX2dldChmLCJz
dGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM0OmEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShi
LnRhcmdldCxiLmN0cmxLZXk/K2EuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBCaWdNb250aHMiKTor
YS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihi
LmN0cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShiLnRhcmdldCk7aj1i
LmN0cmxLZXl8fGIubWV0YUtleTticmVhaztjYXNlIDM2OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5
KWEuZGF0ZXBpY2tlci5fZ290b1RvZGF5KGIudGFyZ2V0KTtqPWIuY3RybEtleXx8Yi5tZXRhS2V5
O2JyZWFrO2Nhc2UgMzc6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1
c3REYXRlKGIudGFyZ2V0LGw/KzE6LTEsIkQiKTtqPQorYi5jdHJsS2V5fHxiLm1ldGFLZXk7aWYo
Yi5vcmlnaW5hbEV2ZW50LmFsdEtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQs
Yi5jdHJsS2V5Py1hLmRhdGVwaWNrZXIuX2dldChmLCJzdGVwQmlnTW9udGhzIik6LWEuZGF0ZXBp
Y2tlci5fZ2V0KGYsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzg6aWYoYi5jdHJsS2V5
fHxiLm1ldGFLZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LC03LCJEIik7aj1i
LmN0cmxLZXl8fGIubWV0YUtleTticmVhaztjYXNlIDM5OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5
KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCxsPy0xOisxLCJEIik7aj1iLmN0cmxL
ZXl8fGIubWV0YUtleTtpZihiLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWEuZGF0ZXBpY2tlci5fYWRq
dXN0RGF0ZShiLnRhcmdldCxiLmN0cmxLZXk/K2EuZGF0ZXBpY2tlci5fZ2V0KGYsInN0ZXBCaWdN
b250aHMiKTorYS5kYXRlcGlja2VyLl9nZXQoZiwKKyJzdGVwTW9udGhzIiksIk0iKTticmVhaztj
YXNlIDQwOmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShi
LnRhcmdldCwrNywiRCIpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7YnJlYWs7ZGVmYXVsdDpqPWZh
bHNlfWVsc2UgaWYoYi5rZXlDb2RlPT0zNiYmYi5jdHJsS2V5KWEuZGF0ZXBpY2tlci5fc2hvd0Rh
dGVwaWNrZXIodGhpcyk7ZWxzZSBqPWZhbHNlO2lmKGope2IucHJldmVudERlZmF1bHQoKTtiLnN0
b3BQcm9wYWdhdGlvbigpfX0sX2RvS2V5UHJlc3M6ZnVuY3Rpb24oYil7dmFyIGY9YS5kYXRlcGlj
a2VyLl9nZXRJbnN0KGIudGFyZ2V0KTtpZihhLmRhdGVwaWNrZXIuX2dldChmLCJjb25zdHJhaW5J
bnB1dCIpKXtmPWEuZGF0ZXBpY2tlci5fcG9zc2libGVDaGFycyhhLmRhdGVwaWNrZXIuX2dldChm
LCJkYXRlRm9ybWF0IikpO3ZhciBqPVN0cmluZy5mcm9tQ2hhckNvZGUoYi5jaGFyQ29kZT09Yz9i
LmtleUNvZGU6Yi5jaGFyQ29kZSk7CityZXR1cm4gYi5jdHJsS2V5fHxiLm1ldGFLZXl8fGo8IiAi
fHwhZnx8Zi5pbmRleE9mKGopPi0xfX0sX2RvS2V5VXA6ZnVuY3Rpb24oYil7Yj1hLmRhdGVwaWNr
ZXIuX2dldEluc3QoYi50YXJnZXQpO2lmKGIuaW5wdXQudmFsKCkhPWIubGFzdFZhbCl0cnl7aWYo
YS5kYXRlcGlja2VyLnBhcnNlRGF0ZShhLmRhdGVwaWNrZXIuX2dldChiLCJkYXRlRm9ybWF0Iiks
Yi5pbnB1dD9iLmlucHV0LnZhbCgpOm51bGwsYS5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWco
YikpKXthLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoYik7YS5kYXRlcGlja2VyLl91cGRh
dGVBbHRlcm5hdGUoYik7YS5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGIpfX1jYXRjaChm
KXthLmRhdGVwaWNrZXIubG9nKGYpfXJldHVybiB0cnVlfSxfc2hvd0RhdGVwaWNrZXI6ZnVuY3Rp
b24oYil7Yj1iLnRhcmdldHx8YjtpZihiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPSJpbnB1dCIp
Yj1hKCJpbnB1dCIsCitiLnBhcmVudE5vZGUpWzBdO2lmKCEoYS5kYXRlcGlja2VyLl9pc0Rpc2Fi
bGVkRGF0ZXBpY2tlcihiKXx8YS5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWIpKXt2YXIgZj1hLmRh
dGVwaWNrZXIuX2dldEluc3QoYik7aWYoYS5kYXRlcGlja2VyLl9jdXJJbnN0JiZhLmRhdGVwaWNr
ZXIuX2N1ckluc3QhPWYpe2EuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmEuZGF0ZXBp
Y2tlci5fdHJpZ2dlck9uQ2xvc2UoYS5kYXRlcGlja2VyLl9jdXJJbnN0KTthLmRhdGVwaWNrZXIu
X2N1ckluc3QuZHBEaXYuc3RvcCh0cnVlLHRydWUpfXZhciBqPWEuZGF0ZXBpY2tlci5fZ2V0KGYs
ImJlZm9yZVNob3ciKTtoKGYuc2V0dGluZ3Msaj9qLmFwcGx5KGIsW2IsZl0pOnt9KTtmLmxhc3RW
YWw9bnVsbDthLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD1iO2EuZGF0ZXBpY2tlci5fc2V0RGF0ZUZy
b21GaWVsZChmKTtpZihhLmRhdGVwaWNrZXIuX2luRGlhbG9nKWIudmFsdWU9IiI7aWYoIWEuZGF0
ZXBpY2tlci5fcG9zKXthLmRhdGVwaWNrZXIuX3Bvcz0KK2EuZGF0ZXBpY2tlci5fZmluZFBvcyhi
KTthLmRhdGVwaWNrZXIuX3Bvc1sxXSs9Yi5vZmZzZXRIZWlnaHR9dmFyIGw9ZmFsc2U7YShiKS5w
YXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe2x8PWEodGhpcykuY3NzKCJwb3NpdGlvbiIpPT0iZml4
ZWQiO3JldHVybiFsfSk7aWYobCYmYS5icm93c2VyLm9wZXJhKXthLmRhdGVwaWNrZXIuX3Bvc1sw
XS09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7YS5kYXRlcGlja2VyLl9wb3Nb
MV0tPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9aj17bGVmdDphLmRhdGVwaWNr
ZXIuX3Bvc1swXSx0b3A6YS5kYXRlcGlja2VyLl9wb3NbMV19O2EuZGF0ZXBpY2tlci5fcG9zPW51
bGw7Zi5kcERpdi5lbXB0eSgpO2YuZHBEaXYuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3Bs
YXk6ImJsb2NrIix0b3A6Ii0xMDAwcHgifSk7YS5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2Vy
KGYpO2o9YS5kYXRlcGlja2VyLl9jaGVja09mZnNldChmLAoraixsKTtmLmRwRGl2LmNzcyh7cG9z
aXRpb246YS5kYXRlcGlja2VyLl9pbkRpYWxvZyYmYS5ibG9ja1VJPyJzdGF0aWMiOmw/ImZpeGVk
IjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLGxlZnQ6ai5sZWZ0KyJweCIsdG9wOmoudG9wKyJw
eCJ9KTtpZighZi5pbmxpbmUpe2o9YS5kYXRlcGlja2VyLl9nZXQoZiwic2hvd0FuaW0iKTt2YXIg
bz1hLmRhdGVwaWNrZXIuX2dldChmLCJkdXJhdGlvbiIpLG49ZnVuY3Rpb24oKXt2YXIgaz1mLmRw
RGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVyIik7aWYoay5sZW5ndGgpe3ZhciBt
PWEuZGF0ZXBpY2tlci5fZ2V0Qm9yZGVycyhmLmRwRGl2KTtrLmNzcyh7bGVmdDotbVswXSx0b3A6
LW1bMV0sd2lkdGg6Zi5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmYuZHBEaXYub3V0ZXJIZWln
aHQoKX0pfX07Zi5kcERpdi56SW5kZXgoYShiKS56SW5kZXgoKSsxKTthLmRhdGVwaWNrZXIuX2Rh
dGVwaWNrZXJTaG93aW5nPXRydWU7YS5lZmZlY3RzJiYKK2EuZWZmZWN0c1tqXT9mLmRwRGl2LnNo
b3coaixhLmRhdGVwaWNrZXIuX2dldChmLCJzaG93T3B0aW9ucyIpLG8sbik6Zi5kcERpdltqfHwi
c2hvdyJdKGo/bzpudWxsLG4pO2lmKCFqfHwhbyluKCk7Zi5pbnB1dC5pcygiOnZpc2libGUiKSYm
IWYuaW5wdXQuaXMoIjpkaXNhYmxlZCIpJiZmLmlucHV0LmZvY3VzKCk7YS5kYXRlcGlja2VyLl9j
dXJJbnN0PWZ9fX0sX3VwZGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dGhpcy5tYXhSb3dzPTQ7
dmFyIGY9YS5kYXRlcGlja2VyLl9nZXRCb3JkZXJzKGIuZHBEaXYpO2k9YjtiLmRwRGl2LmVtcHR5
KCkuYXBwZW5kKHRoaXMuX2dlbmVyYXRlSFRNTChiKSk7dmFyIGo9Yi5kcERpdi5maW5kKCJpZnJh
bWUudWktZGF0ZXBpY2tlci1jb3ZlciIpO2oubGVuZ3RoJiZqLmNzcyh7bGVmdDotZlswXSx0b3A6
LWZbMV0sd2lkdGg6Yi5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmIuZHBEaXYub3V0ZXJIZWln
aHQoKX0pO2IuZHBEaXYuZmluZCgiLiIrCit0aGlzLl9kYXlPdmVyQ2xhc3MrIiBhIikubW91c2Vv
dmVyKCk7Zj10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhiKTtqPWZbMV07Yi5kcERpdi5yZW1vdmVD
bGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRl
cGlja2VyLW11bHRpLTQiKS53aWR0aCgiIik7aj4xJiZiLmRwRGl2LmFkZENsYXNzKCJ1aS1kYXRl
cGlja2VyLW11bHRpLSIraikuY3NzKCJ3aWR0aCIsMTcqaisiZW0iKTtiLmRwRGl2WyhmWzBdIT0x
fHxmWzFdIT0xPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIp
O2IuZHBEaXZbKHRoaXMuX2dldChiLCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgi
dWktZGF0ZXBpY2tlci1ydGwiKTtiPT1hLmRhdGVwaWNrZXIuX2N1ckluc3QmJmEuZGF0ZXBpY2tl
ci5fZGF0ZXBpY2tlclNob3dpbmcmJmIuaW5wdXQmJmIuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFi
LmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmCitiLmlucHV0WzBdIT1kb2N1bWVudC5hY3RpdmVFbGVt
ZW50JiZiLmlucHV0LmZvY3VzKCk7aWYoYi55ZWFyc2h0bWwpe3ZhciBsPWIueWVhcnNodG1sO3Nl
dFRpbWVvdXQoZnVuY3Rpb24oKXtsPT09Yi55ZWFyc2h0bWwmJmIueWVhcnNodG1sJiZiLmRwRGl2
LmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiKS5yZXBsYWNlV2l0aChiLnll
YXJzaHRtbCk7bD1iLnllYXJzaHRtbD1udWxsfSwwKX19LF9nZXRCb3JkZXJzOmZ1bmN0aW9uKGIp
e3ZhciBmPWZ1bmN0aW9uKGope3JldHVybnt0aGluOjEsbWVkaXVtOjIsdGhpY2s6M31bal18fGp9
O3JldHVybltwYXJzZUZsb2F0KGYoYi5jc3MoImJvcmRlci1sZWZ0LXdpZHRoIikpKSxwYXJzZUZs
b2F0KGYoYi5jc3MoImJvcmRlci10b3Atd2lkdGgiKSkpXX0sX2NoZWNrT2Zmc2V0OmZ1bmN0aW9u
KGIsZixqKXt2YXIgbD1iLmRwRGl2Lm91dGVyV2lkdGgoKSxvPWIuZHBEaXYub3V0ZXJIZWlnaHQo
KSxuPWIuaW5wdXQ/Yi5pbnB1dC5vdXRlcldpZHRoKCk6CiswLGs9Yi5pbnB1dD9iLmlucHV0Lm91
dGVySGVpZ2h0KCk6MCxtPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCthKGRv
Y3VtZW50KS5zY3JvbGxMZWZ0KCkscD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVp
Z2h0K2EoZG9jdW1lbnQpLnNjcm9sbFRvcCgpO2YubGVmdC09dGhpcy5fZ2V0KGIsImlzUlRMIik/
bC1uOjA7Zi5sZWZ0LT1qJiZmLmxlZnQ9PWIuaW5wdXQub2Zmc2V0KCkubGVmdD9hKGRvY3VtZW50
KS5zY3JvbGxMZWZ0KCk6MDtmLnRvcC09aiYmZi50b3A9PWIuaW5wdXQub2Zmc2V0KCkudG9wK2s/
YShkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MDtmLmxlZnQtPU1hdGgubWluKGYubGVmdCxmLmxlZnQr
bD5tJiZtPmw/TWF0aC5hYnMoZi5sZWZ0K2wtbSk6MCk7Zi50b3AtPU1hdGgubWluKGYudG9wLGYu
dG9wK28+cCYmcD5vP01hdGguYWJzKG8rayk6MCk7cmV0dXJuIGZ9LF9maW5kUG9zOmZ1bmN0aW9u
KGIpe2Zvcih2YXIgZj10aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChiKSwKKyJpc1JUTCIpO2ImJihi
LnR5cGU9PSJoaWRkZW4ifHxiLm5vZGVUeXBlIT0xfHxhLmV4cHIuZmlsdGVycy5oaWRkZW4oYikp
OyliPWJbZj8icHJldmlvdXNTaWJsaW5nIjoibmV4dFNpYmxpbmciXTtiPWEoYikub2Zmc2V0KCk7
cmV0dXJuW2IubGVmdCxiLnRvcF19LF90cmlnZ2VyT25DbG9zZTpmdW5jdGlvbihiKXt2YXIgZj10
aGlzLl9nZXQoYiwib25DbG9zZSIpO2lmKGYpZi5hcHBseShiLmlucHV0P2IuaW5wdXRbMF06bnVs
bCxbYi5pbnB1dD9iLmlucHV0LnZhbCgpOiIiLGJdKX0sX2hpZGVEYXRlcGlja2VyOmZ1bmN0aW9u
KGIpe3ZhciBmPXRoaXMuX2N1ckluc3Q7aWYoISghZnx8YiYmZiE9YS5kYXRhKGIsImRhdGVwaWNr
ZXIiKSkpaWYodGhpcy5fZGF0ZXBpY2tlclNob3dpbmcpe2I9dGhpcy5fZ2V0KGYsInNob3dBbmlt
Iik7dmFyIGo9dGhpcy5fZ2V0KGYsImR1cmF0aW9uIiksbD1mdW5jdGlvbigpe2EuZGF0ZXBpY2tl
ci5fdGlkeURpYWxvZyhmKTt0aGlzLl9jdXJJbnN0PQorbnVsbH07YS5lZmZlY3RzJiZhLmVmZmVj
dHNbYl0/Zi5kcERpdi5oaWRlKGIsYS5kYXRlcGlja2VyLl9nZXQoZiwic2hvd09wdGlvbnMiKSxq
LGwpOmYuZHBEaXZbYj09InNsaWRlRG93biI/InNsaWRlVXAiOmI9PSJmYWRlSW4iPyJmYWRlT3V0
IjoiaGlkZSJdKGI/ajpudWxsLGwpO2J8fGwoKTthLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3Nl
KGYpO3RoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX2xhc3RJbnB1dD1udWxsO2lm
KHRoaXMuX2luRGlhbG9nKXt0aGlzLl9kaWFsb2dJbnB1dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0
ZSIsbGVmdDoiMCIsdG9wOiItMTAwcHgifSk7aWYoYS5ibG9ja1VJKXthLnVuYmxvY2tVSSgpO2Eo
ImJvZHkiKS5hcHBlbmQodGhpcy5kcERpdil9fXRoaXMuX2luRGlhbG9nPWZhbHNlfX0sX3RpZHlE
aWFsb2c6ZnVuY3Rpb24oYil7Yi5kcERpdi5yZW1vdmVDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyku
dW5iaW5kKCIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIpfSwKK19jaGVja0V4dGVybmFsQ2xpY2s6
ZnVuY3Rpb24oYil7aWYoYS5kYXRlcGlja2VyLl9jdXJJbnN0KXtiPWEoYi50YXJnZXQpO2JbMF0u
aWQhPWEuZGF0ZXBpY2tlci5fbWFpbkRpdklkJiZiLnBhcmVudHMoIiMiK2EuZGF0ZXBpY2tlci5f
bWFpbkRpdklkKS5sZW5ndGg9PTAmJiFiLmhhc0NsYXNzKGEuZGF0ZXBpY2tlci5tYXJrZXJDbGFz
c05hbWUpJiYhYi5oYXNDbGFzcyhhLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykmJmEuZGF0ZXBp
Y2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJiEoYS5kYXRlcGlja2VyLl9pbkRpYWxvZyYmYS5ibG9j
a1VJKSYmYS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rp
b24oYixmLGope2I9YShiKTt2YXIgbD10aGlzLl9nZXRJbnN0KGJbMF0pO2lmKCF0aGlzLl9pc0Rp
c2FibGVkRGF0ZXBpY2tlcihiWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUobCxmKyhqPT0iTSI/
dGhpcy5fZ2V0KGwsInNob3dDdXJyZW50QXRQb3MiKToKKzApLGopO3RoaXMuX3VwZGF0ZURhdGVw
aWNrZXIobCl9fSxfZ290b1RvZGF5OmZ1bmN0aW9uKGIpe2I9YShiKTt2YXIgZj10aGlzLl9nZXRJ
bnN0KGJbMF0pO2lmKHRoaXMuX2dldChmLCJnb3RvQ3VycmVudCIpJiZmLmN1cnJlbnREYXkpe2Yu
c2VsZWN0ZWREYXk9Zi5jdXJyZW50RGF5O2YuZHJhd01vbnRoPWYuc2VsZWN0ZWRNb250aD1mLmN1
cnJlbnRNb250aDtmLmRyYXdZZWFyPWYuc2VsZWN0ZWRZZWFyPWYuY3VycmVudFllYXJ9ZWxzZXt2
YXIgaj1uZXcgRGF0ZTtmLnNlbGVjdGVkRGF5PWouZ2V0RGF0ZSgpO2YuZHJhd01vbnRoPWYuc2Vs
ZWN0ZWRNb250aD1qLmdldE1vbnRoKCk7Zi5kcmF3WWVhcj1mLnNlbGVjdGVkWWVhcj1qLmdldEZ1
bGxZZWFyKCl9dGhpcy5fbm90aWZ5Q2hhbmdlKGYpO3RoaXMuX2FkanVzdERhdGUoYil9LF9zZWxl
Y3RNb250aFllYXI6ZnVuY3Rpb24oYixmLGope2I9YShiKTt2YXIgbD10aGlzLl9nZXRJbnN0KGJb
MF0pO2xbInNlbGVjdGVkIisoaj09Ik0iPworIk1vbnRoIjoiWWVhciIpXT1sWyJkcmF3Iisoaj09
Ik0iPyJNb250aCI6IlllYXIiKV09cGFyc2VJbnQoZi5vcHRpb25zW2Yuc2VsZWN0ZWRJbmRleF0u
dmFsdWUsMTApO3RoaXMuX25vdGlmeUNoYW5nZShsKTt0aGlzLl9hZGp1c3REYXRlKGIpfSxfc2Vs
ZWN0RGF5OmZ1bmN0aW9uKGIsZixqLGwpe3ZhciBvPWEoYik7aWYoIShhKGwpLmhhc0NsYXNzKHRo
aXMuX3Vuc2VsZWN0YWJsZUNsYXNzKXx8dGhpcy5faXNEaXNhYmxlZERhdGVwaWNrZXIob1swXSkp
KXtvPXRoaXMuX2dldEluc3Qob1swXSk7by5zZWxlY3RlZERheT1vLmN1cnJlbnREYXk9YSgiYSIs
bCkuaHRtbCgpO28uc2VsZWN0ZWRNb250aD1vLmN1cnJlbnRNb250aD1mO28uc2VsZWN0ZWRZZWFy
PW8uY3VycmVudFllYXI9ajt0aGlzLl9zZWxlY3REYXRlKGIsdGhpcy5fZm9ybWF0RGF0ZShvLG8u
Y3VycmVudERheSxvLmN1cnJlbnRNb250aCxvLmN1cnJlbnRZZWFyKSl9fSxfY2xlYXJEYXRlOmZ1
bmN0aW9uKGIpe2I9YShiKTsKK3RoaXMuX2dldEluc3QoYlswXSk7dGhpcy5fc2VsZWN0RGF0ZShi
LCIiKX0sX3NlbGVjdERhdGU6ZnVuY3Rpb24oYixmKXtiPXRoaXMuX2dldEluc3QoYShiKVswXSk7
Zj1mIT1udWxsP2Y6dGhpcy5fZm9ybWF0RGF0ZShiKTtiLmlucHV0JiZiLmlucHV0LnZhbChmKTt0
aGlzLl91cGRhdGVBbHRlcm5hdGUoYik7dmFyIGo9dGhpcy5fZ2V0KGIsIm9uU2VsZWN0Iik7aWYo
ailqLmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtmLGJdKTtlbHNlIGIuaW5wdXQmJmIu
aW5wdXQudHJpZ2dlcigiY2hhbmdlIik7aWYoYi5pbmxpbmUpdGhpcy5fdXBkYXRlRGF0ZXBpY2tl
cihiKTtlbHNle3RoaXMuX2hpZGVEYXRlcGlja2VyKCk7dGhpcy5fbGFzdElucHV0PWIuaW5wdXRb
MF07Yi5pbnB1dC5mb2N1cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0
ZTpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9nZXQoYiwiYWx0RmllbGQiKTtpZihmKXt2YXIgaj10
aGlzLl9nZXQoYiwKKyJhbHRGb3JtYXQiKXx8dGhpcy5fZ2V0KGIsImRhdGVGb3JtYXQiKSxsPXRo
aXMuX2dldERhdGUoYiksbz10aGlzLmZvcm1hdERhdGUoaixsLHRoaXMuX2dldEZvcm1hdENvbmZp
ZyhiKSk7YShmKS5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS52YWwobyl9KX19LG5vV2Vla2VuZHM6
ZnVuY3Rpb24oYil7Yj1iLmdldERheSgpO3JldHVybltiPjAmJmI8NiwiIl19LGlzbzg2MDFXZWVr
OmZ1bmN0aW9uKGIpe2I9bmV3IERhdGUoYi5nZXRUaW1lKCkpO2Iuc2V0RGF0ZShiLmdldERhdGUo
KSs0LShiLmdldERheSgpfHw3KSk7dmFyIGY9Yi5nZXRUaW1lKCk7Yi5zZXRNb250aCgwKTtiLnNl
dERhdGUoMSk7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yb3VuZCgoZi1iKS84NjRFNSkvNykrMX0s
cGFyc2VEYXRlOmZ1bmN0aW9uKGIsZixqKXtpZihiPT1udWxsfHxmPT1udWxsKXRocm93IkludmFs
aWQgYXJndW1lbnRzIjtmPXR5cGVvZiBmPT0ib2JqZWN0Ij9mLnRvU3RyaW5nKCk6ZisiIjtpZihm
PT0KKyIiKXJldHVybiBudWxsO3ZhciBsPShqP2ouc2hvcnRZZWFyQ3V0b2ZmOm51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5zaG9ydFllYXJDdXRvZmY7bD10eXBlb2YgbCE9InN0cmluZyI/bDoobmV3IERh
dGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNlSW50KGwsMTApO2Zvcih2YXIgbz0oaj9qLmRheU5h
bWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsbj0oaj9qLmRheU5h
bWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxrPShqP2oubW9udGhOYW1lc1Nob3J0
Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQsbT0oaj9qLm1vbnRoTmFtZXM6
bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXMscD1qPS0xLHE9LTEscz0tMSxyPWZhbHNl
LHU9ZnVuY3Rpb24oeil7KHo9SCsxPGIubGVuZ3RoJiZiLmNoYXJBdChIKzEpPT16KSYmSCsrO3Jl
dHVybiB6fSx2PWZ1bmN0aW9uKHope3ZhciBJPXUoeik7ej1uZXcgUmVnRXhwKCJeXFxkezEsIisK
Kyh6PT0iQCI/MTQ6ej09IiEiPzIwOno9PSJ5IiYmST80Ono9PSJvIj8zOjIpKyJ9Iik7ej1mLnN1
YnN0cmluZyh5KS5tYXRjaCh6KTtpZigheil0aHJvdyJNaXNzaW5nIG51bWJlciBhdCBwb3NpdGlv
biAiK3k7eSs9elswXS5sZW5ndGg7cmV0dXJuIHBhcnNlSW50KHpbMF0sMTApfSx3PWZ1bmN0aW9u
KHosSSxOKXt6PWEubWFwKHUoeik/TjpJLGZ1bmN0aW9uKEQsRSl7cmV0dXJuW1tFLERdXX0pLnNv
cnQoZnVuY3Rpb24oRCxFKXtyZXR1cm4tKERbMV0ubGVuZ3RoLUVbMV0ubGVuZ3RoKX0pO3ZhciBK
PS0xO2EuZWFjaCh6LGZ1bmN0aW9uKEQsRSl7RD1FWzFdO2lmKGYuc3Vic3RyKHksRC5sZW5ndGgp
LnRvTG93ZXJDYXNlKCk9PUQudG9Mb3dlckNhc2UoKSl7Sj1FWzBdO3krPUQubGVuZ3RoO3JldHVy
biBmYWxzZX19KTtpZihKIT0tMSlyZXR1cm4gSisxO2Vsc2UgdGhyb3ciVW5rbm93biBuYW1lIGF0
IHBvc2l0aW9uICIreTt9LHg9ZnVuY3Rpb24oKXtpZihmLmNoYXJBdCh5KSE9Yi5jaGFyQXQoSCkp
dGhyb3ciVW5leHBlY3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIrCit5O3krK30seT0wLEg9MDtI
PGIubGVuZ3RoO0grKylpZihyKWlmKGIuY2hhckF0KEgpPT0iJyImJiF1KCInIikpcj1mYWxzZTtl
bHNlIHgoKTtlbHNlIHN3aXRjaChiLmNoYXJBdChIKSl7Y2FzZSAiZCI6cT12KCJkIik7YnJlYWs7
Y2FzZSAiRCI6dygiRCIsbyxuKTticmVhaztjYXNlICJvIjpzPXYoIm8iKTticmVhaztjYXNlICJt
IjpwPXYoIm0iKTticmVhaztjYXNlICJNIjpwPXcoIk0iLGssbSk7YnJlYWs7Y2FzZSAieSI6aj12
KCJ5Iik7YnJlYWs7Y2FzZSAiQCI6dmFyIEM9bmV3IERhdGUodigiQCIpKTtqPUMuZ2V0RnVsbFll
YXIoKTtwPUMuZ2V0TW9udGgoKSsxO3E9Qy5nZXREYXRlKCk7YnJlYWs7Y2FzZSAiISI6Qz1uZXcg
RGF0ZSgodigiISIpLXRoaXMuX3RpY2tzVG8xOTcwKS8xRTQpO2o9Qy5nZXRGdWxsWWVhcigpO3A9
Qy5nZXRNb250aCgpKzE7cT1DLmdldERhdGUoKTticmVhaztjYXNlICInIjppZih1KCInIikpeCgp
O2Vsc2Ugcj10cnVlO2JyZWFrO2RlZmF1bHQ6eCgpfWlmKHk8CitmLmxlbmd0aCl0aHJvdyJFeHRy
YS91bnBhcnNlZCBjaGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIrZi5zdWJzdHJpbmcoeSk7aWYo
aj09LTEpaj0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk7ZWxzZSBpZihqPDEwMClqKz0obmV3IERh
dGUpLmdldEZ1bGxZZWFyKCktKG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCsoajw9bD8wOi0x
MDApO2lmKHM+LTEpe3A9MTtxPXM7ZG97bD10aGlzLl9nZXREYXlzSW5Nb250aChqLHAtMSk7aWYo
cTw9bClicmVhaztwKys7cS09bH13aGlsZSgxKX1DPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0
KG5ldyBEYXRlKGoscC0xLHEpKTtpZihDLmdldEZ1bGxZZWFyKCkhPWp8fEMuZ2V0TW9udGgoKSsx
IT1wfHxDLmdldERhdGUoKSE9cSl0aHJvdyJJbnZhbGlkIGRhdGUiO3JldHVybiBDfSxBVE9NOiJ5
eS1tbS1kZCIsQ09PS0lFOiJELCBkZCBNIHl5IixJU09fODYwMToieXktbW0tZGQiLFJGQ184MjI6
IkQsIGQgTSB5IixSRkNfODUwOiJERCwgZGQtTS15IiwKK1JGQ18xMDM2OiJELCBkIE0geSIsUkZD
XzExMjM6IkQsIGQgTSB5eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElD
S1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUr
TWF0aC5mbG9vcig0OTIuNSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQq
NjAqNjAqMUU3LGZvcm1hdERhdGU6ZnVuY3Rpb24oYixmLGope2lmKCFmKXJldHVybiIiO3ZhciBs
PShqP2ouZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxv
PShqP2ouZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLG49KGo/ai5tb250
aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydDtqPShqP2ou
bW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lczt2YXIgaz1mdW5jdGlv
bih1KXsodT1yKzE8Yi5sZW5ndGgmJgorYi5jaGFyQXQocisxKT09dSkmJnIrKztyZXR1cm4gdX0s
bT1mdW5jdGlvbih1LHYsdyl7dj0iIit2O2lmKGsodSkpZm9yKDt2Lmxlbmd0aDx3Oyl2PSIwIit2
O3JldHVybiB2fSxwPWZ1bmN0aW9uKHUsdix3LHgpe3JldHVybiBrKHUpP3hbdl06d1t2XX0scT0i
IixzPWZhbHNlO2lmKGYpZm9yKHZhciByPTA7cjxiLmxlbmd0aDtyKyspaWYocylpZihiLmNoYXJB
dChyKT09IiciJiYhaygiJyIpKXM9ZmFsc2U7ZWxzZSBxKz1iLmNoYXJBdChyKTtlbHNlIHN3aXRj
aChiLmNoYXJBdChyKSl7Y2FzZSAiZCI6cSs9bSgiZCIsZi5nZXREYXRlKCksMik7YnJlYWs7Y2Fz
ZSAiRCI6cSs9cCgiRCIsZi5nZXREYXkoKSxsLG8pO2JyZWFrO2Nhc2UgIm8iOnErPW0oIm8iLE1h
dGgucm91bmQoKChuZXcgRGF0ZShmLmdldEZ1bGxZZWFyKCksZi5nZXRNb250aCgpLGYuZ2V0RGF0
ZSgpKSkuZ2V0VGltZSgpLShuZXcgRGF0ZShmLmdldEZ1bGxZZWFyKCksMCwwKSkuZ2V0VGltZSgp
KS84NjRFNSksMyk7CiticmVhaztjYXNlICJtIjpxKz1tKCJtIixmLmdldE1vbnRoKCkrMSwyKTti
cmVhaztjYXNlICJNIjpxKz1wKCJNIixmLmdldE1vbnRoKCksbixqKTticmVhaztjYXNlICJ5Ijpx
Kz1rKCJ5Iik/Zi5nZXRGdWxsWWVhcigpOihmLmdldFllYXIoKSUxMDA8MTA/IjAiOiIiKStmLmdl
dFllYXIoKSUxMDA7YnJlYWs7Y2FzZSAiQCI6cSs9Zi5nZXRUaW1lKCk7YnJlYWs7Y2FzZSAiISI6
cSs9Zi5nZXRUaW1lKCkqMUU0K3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UgIiciOmlmKGso
IiciKSlxKz0iJyI7ZWxzZSBzPXRydWU7YnJlYWs7ZGVmYXVsdDpxKz1iLmNoYXJBdChyKX1yZXR1
cm4gcX0sX3Bvc3NpYmxlQ2hhcnM6ZnVuY3Rpb24oYil7Zm9yKHZhciBmPSIiLGo9ZmFsc2UsbD1m
dW5jdGlvbihuKXsobj1vKzE8Yi5sZW5ndGgmJmIuY2hhckF0KG8rMSk9PW4pJiZvKys7cmV0dXJu
IG59LG89MDtvPGIubGVuZ3RoO28rKylpZihqKWlmKGIuY2hhckF0KG8pPT0iJyImJiFsKCInIikp
aj0KK2ZhbHNlO2Vsc2UgZis9Yi5jaGFyQXQobyk7ZWxzZSBzd2l0Y2goYi5jaGFyQXQobykpe2Nh
c2UgImQiOmNhc2UgIm0iOmNhc2UgInkiOmNhc2UgIkAiOmYrPSIwMTIzNDU2Nzg5IjticmVhaztj
YXNlICJEIjpjYXNlICJNIjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihsKCInIikpZis9IiciO2Vs
c2Ugaj10cnVlO2JyZWFrO2RlZmF1bHQ6Zis9Yi5jaGFyQXQobyl9cmV0dXJuIGZ9LF9nZXQ6ZnVu
Y3Rpb24oYixmKXtyZXR1cm4gYi5zZXR0aW5nc1tmXSE9PWM/Yi5zZXR0aW5nc1tmXTp0aGlzLl9k
ZWZhdWx0c1tmXX0sX3NldERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYixmKXtpZihiLmlucHV0LnZh
bCgpIT1iLmxhc3RWYWwpe3ZhciBqPXRoaXMuX2dldChiLCJkYXRlRm9ybWF0IiksbD1iLmxhc3RW
YWw9Yi5pbnB1dD9iLmlucHV0LnZhbCgpOm51bGwsbyxuO289bj10aGlzLl9nZXREZWZhdWx0RGF0
ZShiKTt2YXIgaz10aGlzLl9nZXRGb3JtYXRDb25maWcoYik7dHJ5e289dGhpcy5wYXJzZURhdGUo
aiwKK2wsayl8fG59Y2F0Y2gobSl7dGhpcy5sb2cobSk7bD1mPyIiOmx9Yi5zZWxlY3RlZERheT1v
LmdldERhdGUoKTtiLmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9by5nZXRNb250aCgpO2IuZHJh
d1llYXI9Yi5zZWxlY3RlZFllYXI9by5nZXRGdWxsWWVhcigpO2IuY3VycmVudERheT1sP28uZ2V0
RGF0ZSgpOjA7Yi5jdXJyZW50TW9udGg9bD9vLmdldE1vbnRoKCk6MDtiLmN1cnJlbnRZZWFyPWw/
by5nZXRGdWxsWWVhcigpOjA7dGhpcy5fYWRqdXN0SW5zdERhdGUoYil9fSxfZ2V0RGVmYXVsdERh
dGU6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KGIsdGhpcy5fZGV0ZXJt
aW5lRGF0ZShiLHRoaXMuX2dldChiLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1p
bmVEYXRlOmZ1bmN0aW9uKGIsZixqKXt2YXIgbD1mdW5jdGlvbihuKXt2YXIgaz1uZXcgRGF0ZTtr
LnNldERhdGUoay5nZXREYXRlKCkrbik7cmV0dXJuIGt9LG89ZnVuY3Rpb24obil7dHJ5e3JldHVy
biBhLmRhdGVwaWNrZXIucGFyc2VEYXRlKGEuZGF0ZXBpY2tlci5fZ2V0KGIsCisiZGF0ZUZvcm1h
dCIpLG4sYS5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYikpfWNhdGNoKGspe312YXIgbT0o
bi50b0xvd2VyQ2FzZSgpLm1hdGNoKC9eYy8pP2EuZGF0ZXBpY2tlci5fZ2V0RGF0ZShiKTpudWxs
KXx8bmV3IERhdGUscD1tLmdldEZ1bGxZZWFyKCkscT1tLmdldE1vbnRoKCk7bT1tLmdldERhdGUo
KTtmb3IodmFyIHM9LyhbKy1dP1swLTldKylccyooZHxEfHd8V3xtfE18eXxZKT8vZyxyPXMuZXhl
YyhuKTtyOyl7c3dpdGNoKHJbMl18fCJkIil7Y2FzZSAiZCI6Y2FzZSAiRCI6bSs9cGFyc2VJbnQo
clsxXSwxMCk7YnJlYWs7Y2FzZSAidyI6Y2FzZSAiVyI6bSs9cGFyc2VJbnQoclsxXSwxMCkqNzti
cmVhaztjYXNlICJtIjpjYXNlICJNIjpxKz1wYXJzZUludChyWzFdLDEwKTttPU1hdGgubWluKG0s
YS5kYXRlcGlja2VyLl9nZXREYXlzSW5Nb250aChwLHEpKTticmVhaztjYXNlICJ5IjpjYXNlICJZ
IjpwKz1wYXJzZUludChyWzFdLDEwKTttPU1hdGgubWluKG0sCithLmRhdGVwaWNrZXIuX2dldERh
eXNJbk1vbnRoKHAscSkpO2JyZWFrfXI9cy5leGVjKG4pfXJldHVybiBuZXcgRGF0ZShwLHEsbSl9
O2lmKGY9KGY9Zj09bnVsbHx8Zj09PSIiP2o6dHlwZW9mIGY9PSJzdHJpbmciP28oZik6dHlwZW9m
IGY9PSJudW1iZXIiP2lzTmFOKGYpP2o6bChmKTpuZXcgRGF0ZShmLmdldFRpbWUoKSkpJiZmLnRv
U3RyaW5nKCk9PSJJbnZhbGlkIERhdGUiP2o6Zil7Zi5zZXRIb3VycygwKTtmLnNldE1pbnV0ZXMo
MCk7Zi5zZXRTZWNvbmRzKDApO2Yuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB0aGlzLl9kYXls
aWdodFNhdmluZ0FkanVzdChmKX0sX2RheWxpZ2h0U2F2aW5nQWRqdXN0OmZ1bmN0aW9uKGIpe2lm
KCFiKXJldHVybiBudWxsO2Iuc2V0SG91cnMoYi5nZXRIb3VycygpPjEyP2IuZ2V0SG91cnMoKSsy
OjApO3JldHVybiBifSxfc2V0RGF0ZTpmdW5jdGlvbihiLGYsail7dmFyIGw9IWYsbz1iLnNlbGVj
dGVkTW9udGgsbj1iLnNlbGVjdGVkWWVhcjsKK2Y9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYix0aGlz
Ll9kZXRlcm1pbmVEYXRlKGIsZixuZXcgRGF0ZSkpO2Iuc2VsZWN0ZWREYXk9Yi5jdXJyZW50RGF5
PWYuZ2V0RGF0ZSgpO2IuZHJhd01vbnRoPWIuc2VsZWN0ZWRNb250aD1iLmN1cnJlbnRNb250aD1m
LmdldE1vbnRoKCk7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1iLmN1cnJlbnRZZWFyPWYuZ2V0
RnVsbFllYXIoKTtpZigobyE9Yi5zZWxlY3RlZE1vbnRofHxuIT1iLnNlbGVjdGVkWWVhcikmJiFq
KXRoaXMuX25vdGlmeUNoYW5nZShiKTt0aGlzLl9hZGp1c3RJbnN0RGF0ZShiKTtpZihiLmlucHV0
KWIuaW5wdXQudmFsKGw/IiI6dGhpcy5fZm9ybWF0RGF0ZShiKSk7aWYoaj10aGlzLl9nZXQoYiwi
b25TZWxlY3QiKSl7bD10aGlzLl9mb3JtYXREYXRlKGIpO2ouYXBwbHkoYi5pbnB1dD9iLmlucHV0
WzBdOm51bGwsW2wsYl0pfX0sX2dldERhdGU6ZnVuY3Rpb24oYil7cmV0dXJuIWIuY3VycmVudFll
YXJ8fGIuaW5wdXQmJmIuaW5wdXQudmFsKCk9PQorIiI/bnVsbDp0aGlzLl9kYXlsaWdodFNhdmlu
Z0FkanVzdChuZXcgRGF0ZShiLmN1cnJlbnRZZWFyLGIuY3VycmVudE1vbnRoLGIuY3VycmVudERh
eSkpfSxfZ2VuZXJhdGVIVE1MOmZ1bmN0aW9uKGIpe3ZhciBmPW5ldyBEYXRlO2Y9dGhpcy5fZGF5
bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZi5nZXRGdWxsWWVhcigpLGYuZ2V0TW9udGgoKSxm
LmdldERhdGUoKSkpO3ZhciBqPXRoaXMuX2dldChiLCJpc1JUTCIpLGw9dGhpcy5fZ2V0KGIsInNo
b3dCdXR0b25QYW5lbCIpLG89dGhpcy5fZ2V0KGIsImhpZGVJZk5vUHJldk5leHQiKSxuPXRoaXMu
X2dldChiLCJuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0Iiksaz10aGlzLl9nZXROdW1iZXJPZk1vbnRo
cyhiKSxtPXRoaXMuX2dldChiLCJzaG93Q3VycmVudEF0UG9zIikscD10aGlzLl9nZXQoYiwic3Rl
cE1vbnRocyIpLHE9a1swXSE9MXx8a1sxXSE9MSxzPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0
KCFiLmN1cnJlbnREYXk/bmV3IERhdGUoOTk5OSwKKzksOSk6bmV3IERhdGUoYi5jdXJyZW50WWVh
cixiLmN1cnJlbnRNb250aCxiLmN1cnJlbnREYXkpKSxyPXRoaXMuX2dldE1pbk1heERhdGUoYiwi
bWluIiksdT10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1heCIpO209Yi5kcmF3TW9udGgtbTt2YXIg
dj1iLmRyYXdZZWFyO2lmKG08MCl7bSs9MTI7di0tfWlmKHUpe3ZhciB3PXRoaXMuX2RheWxpZ2h0
U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHUuZ2V0RnVsbFllYXIoKSx1LmdldE1vbnRoKCkta1swXSpr
WzFdKzEsdS5nZXREYXRlKCkpKTtmb3Iodz1yJiZ3PHI/cjp3O3RoaXMuX2RheWxpZ2h0U2F2aW5n
QWRqdXN0KG5ldyBEYXRlKHYsbSwxKSk+dzspe20tLTtpZihtPDApe209MTE7di0tfX19Yi5kcmF3
TW9udGg9bTtiLmRyYXdZZWFyPXY7dz10aGlzLl9nZXQoYiwicHJldlRleHQiKTt3PSFuP3c6dGhp
cy5mb3JtYXREYXRlKHcsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixtLXAs
MSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSk7Cit3PXRoaXMuX2NhbkFkanVzdE1vbnRoKGIs
LTEsdixtKT8nPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIiBvbmNs
aWNrPSJEUF9qUXVlcnlfJytnKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYi5pZCsiJywg
LSIrcCsiLCAnTScpO1wiIHRpdGxlPVwiIit3KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWlj
b24tY2lyY2xlLXRyaWFuZ2xlLScrKGo/ImUiOiJ3IikrJyI+Jyt3KyI8L3NwYW4+PC9hPiI6bz8i
IjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRp
c2FibGVkIiB0aXRsZT0iJyt3KyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xl
LXRyaWFuZ2xlLScrKGo/ImUiOiJ3IikrJyI+Jyt3KyI8L3NwYW4+PC9hPiI7dmFyIHg9dGhpcy5f
Z2V0KGIsIm5leHRUZXh0Iik7eD0hbj94OnRoaXMuZm9ybWF0RGF0ZSh4LHRoaXMuX2RheWxpZ2h0
U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHYsCittK3AsMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhi
KSk7bz10aGlzLl9jYW5BZGp1c3RNb250aChiLCsxLHYsbSk/JzxhIGNsYXNzPSJ1aS1kYXRlcGlj
a2VyLW5leHQgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrZysiLmRhdGVwaWNr
ZXIuX2FkanVzdERhdGUoJyMiK2IuaWQrIicsICsiK3ArIiwgJ00nKTtcIiB0aXRsZT1cIiIreCsn
Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhqPyJ3Ijoi
ZSIpKyciPicreCsiPC9zcGFuPjwvYT4iOm8/IiI6JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW5l
eHQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kaXNhYmxlZCIgdGl0bGU9IicreCsnIj48c3BhbiBj
bGFzcz0idWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhqPyJ3IjoiZSIpKyciPicr
eCsiPC9zcGFuPjwvYT4iO3A9dGhpcy5fZ2V0KGIsImN1cnJlbnRUZXh0Iik7eD10aGlzLl9nZXQo
YiwiZ290b0N1cnJlbnQiKSYmCitiLmN1cnJlbnREYXk/czpmO3A9IW4/cDp0aGlzLmZvcm1hdERh
dGUocCx4LHRoaXMuX2dldEZvcm1hdENvbmZpZyhiKSk7bj0hYi5pbmxpbmU/JzxidXR0b24gdHlw
ZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVp
LXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrZysn
LmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChiLCJjbG9zZVRleHQi
KSsiPC9idXR0b24+IjoiIjtsPWw/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItYnV0dG9ucGFu
ZSB1aS13aWRnZXQtY29udGVudCI+Jysoaj9uOiIiKSsodGhpcy5faXNJblJhbmdlKGIseCk/Jzxi
dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50IHVpLXN0YXRl
LWRlZmF1bHQgdWktcHJpb3JpdHktc2Vjb25kYXJ5IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQ
X2pRdWVyeV8nKworZysiLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSgnIyIrYi5pZCsiJyk7XCI+Iitw
KyI8L2J1dHRvbj4iOiIiKSsoaj8iIjpuKSsiPC9kaXY+IjoiIjtuPXBhcnNlSW50KHRoaXMuX2dl
dChiLCJmaXJzdERheSIpLDEwKTtuPWlzTmFOKG4pPzA6bjtwPXRoaXMuX2dldChiLCJzaG93V2Vl
ayIpO3g9dGhpcy5fZ2V0KGIsImRheU5hbWVzIik7dGhpcy5fZ2V0KGIsImRheU5hbWVzU2hvcnQi
KTt2YXIgeT10aGlzLl9nZXQoYiwiZGF5TmFtZXNNaW4iKSxIPXRoaXMuX2dldChiLCJtb250aE5h
bWVzIiksQz10aGlzLl9nZXQoYiwibW9udGhOYW1lc1Nob3J0Iiksej10aGlzLl9nZXQoYiwiYmVm
b3JlU2hvd0RheSIpLEk9dGhpcy5fZ2V0KGIsInNob3dPdGhlck1vbnRocyIpLE49dGhpcy5fZ2V0
KGIsInNlbGVjdE90aGVyTW9udGhzIik7dGhpcy5fZ2V0KGIsImNhbGN1bGF0ZVdlZWsiKTtmb3Io
dmFyIEo9dGhpcy5fZ2V0RGVmYXVsdERhdGUoYiksRD0iIixFPTA7RTxrWzBdO0UrKyl7dmFyIFA9
CisiIjt0aGlzLm1heFJvd3M9NDtmb3IodmFyIEw9MDtMPGtbMV07TCsrKXt2YXIgUT10aGlzLl9k
YXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0sYi5zZWxlY3RlZERheSkpLEI9IiB1aS1j
b3JuZXItYWxsIixGPSIiO2lmKHEpe0YrPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWdyb3Vw
JztpZihrWzFdPjEpc3dpdGNoKEwpe2Nhc2UgMDpGKz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtZmly
c3QiO0I9IiB1aS1jb3JuZXItIisoaj8icmlnaHQiOiJsZWZ0Iik7YnJlYWs7Y2FzZSBrWzFdLTE6
Ris9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QiO0I9IiB1aS1jb3JuZXItIisoaj8ibGVmdCI6
InJpZ2h0Iik7YnJlYWs7ZGVmYXVsdDpGKz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIjtC
PSIiO2JyZWFrfUYrPSciPid9Ris9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItaGVhZGVyIHVp
LXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4JytCKyciPicrKC9hbGx8bGVmdC8udGVz
dChCKSYmCitFPT0wP2o/bzp3OiIiKSsoL2FsbHxyaWdodC8udGVzdChCKSYmRT09MD9qP3c6bzoi
IikrdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoYixtLHYscix1LEU+MHx8TD4wLEgsQykr
JzwvZGl2Pjx0YWJsZSBjbGFzcz0idWktZGF0ZXBpY2tlci1jYWxlbmRhciI+PHRoZWFkPjx0cj4n
O3ZhciBHPXA/Jzx0aCBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQo
Yiwid2Vla0hlYWRlciIpKyI8L3RoPiI6IiI7Zm9yKEI9MDtCPDc7QisrKXt2YXIgQT0oQituKSU3
O0crPSI8dGgiKygoQituKzYpJTc+PTU/JyBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWVuZCIn
OiIiKSsnPjxzcGFuIHRpdGxlPSInK3hbQV0rJyI+Jyt5W0FdKyI8L3NwYW4+PC90aD4ifUYrPUcr
IjwvdHI+PC90aGVhZD48dGJvZHk+IjtHPXRoaXMuX2dldERheXNJbk1vbnRoKHYsbSk7aWYodj09
Yi5zZWxlY3RlZFllYXImJm09PWIuc2VsZWN0ZWRNb250aCliLnNlbGVjdGVkRGF5PU1hdGgubWlu
KGIuc2VsZWN0ZWREYXksCitHKTtCPSh0aGlzLl9nZXRGaXJzdERheU9mTW9udGgodixtKS1uKzcp
JTc7Rz1NYXRoLmNlaWwoKEIrRykvNyk7dGhpcy5tYXhSb3dzPUc9cT90aGlzLm1heFJvd3M+Rz90
aGlzLm1heFJvd3M6RzpHO0E9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodixt
LDEtQikpO2Zvcih2YXIgUj0wO1I8RztSKyspe0YrPSI8dHI+Ijt2YXIgUz0hcD8iIjonPHRkIGNs
YXNzPSJ1aS1kYXRlcGlja2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChiLCJjYWxjdWxhdGVXZWVr
IikoQSkrIjwvdGQ+Ijtmb3IoQj0wO0I8NztCKyspe3ZhciBNPXo/ei5hcHBseShiLmlucHV0P2Iu
aW5wdXRbMF06bnVsbCxbQV0pOlt0cnVlLCIiXSxLPUEuZ2V0TW9udGgoKSE9bSxPPUsmJiFOfHwh
TVswXXx8ciYmQTxyfHx1JiZBPnU7Uys9Jzx0ZCBjbGFzcz0iJysoKEIrbis2KSU3Pj01PyIgdWkt
ZGF0ZXBpY2tlci13ZWVrLWVuZCI6IiIpKyhLPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6
IiIpKyhBLmdldFRpbWUoKT09CitRLmdldFRpbWUoKSYmbT09Yi5zZWxlY3RlZE1vbnRoJiZiLl9r
ZXlFdmVudHx8Si5nZXRUaW1lKCk9PUEuZ2V0VGltZSgpJiZKLmdldFRpbWUoKT09US5nZXRUaW1l
KCk/IiAiK3RoaXMuX2RheU92ZXJDbGFzczoiIikrKE8/IiAiK3RoaXMuX3Vuc2VsZWN0YWJsZUNs
YXNzKyIgdWktc3RhdGUtZGlzYWJsZWQiOiIiKSsoSyYmIUk/IiI6IiAiK01bMV0rKEEuZ2V0VGlt
ZSgpPT1zLmdldFRpbWUoKT8iICIrdGhpcy5fY3VycmVudENsYXNzOiIiKSsoQS5nZXRUaW1lKCk9
PWYuZ2V0VGltZSgpPyIgdWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsnIicrKCghS3x8SSkmJk1b
Ml0/JyB0aXRsZT0iJytNWzJdKyciJzoiIikrKE8/IiI6JyBvbmNsaWNrPSJEUF9qUXVlcnlfJytn
KyIuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KCcjIitiLmlkKyInLCIrQS5nZXRNb250aCgpKyIsIitB
LmdldEZ1bGxZZWFyKCkrJywgdGhpcyk7cmV0dXJuIGZhbHNlOyInKSsiPiIrKEsmJiFJPyImI3hh
MDsiOk8/JzxzcGFuIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0Ij4nKworQS5nZXREYXRlKCkrIjwv
c3Bhbj4iOic8YSBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCcrKEEuZ2V0VGltZSgpPT1mLmdldFRp
bWUoKT8iIHVpLXN0YXRlLWhpZ2hsaWdodCI6IiIpKyhBLmdldFRpbWUoKT09cy5nZXRUaW1lKCk/
IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKSsoSz8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyci
IGhyZWY9IiMiPicrQS5nZXREYXRlKCkrIjwvYT4iKSsiPC90ZD4iO0Euc2V0RGF0ZShBLmdldERh
dGUoKSsxKTtBPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KEEpfUYrPVMrIjwvdHI+In1tKys7
aWYobT4xMSl7bT0wO3YrK31GKz0iPC90Ym9keT48L3RhYmxlPiIrKHE/IjwvZGl2PiIrKGtbMF0+
MCYmTD09a1sxXS0xPyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXJvdy1icmVhayI+PC9kaXY+
JzoiIik6IiIpO1ArPUZ9RCs9UH1EKz1sKyhhLmJyb3dzZXIubXNpZSYmcGFyc2VJbnQoYS5icm93
c2VyLnZlcnNpb24sMTApPDcmJiFiLmlubGluZT8nPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6ZmFs
c2U7IiBjbGFzcz0idWktZGF0ZXBpY2tlci1jb3ZlciIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1l
Pic6CisiIik7Yi5fa2V5RXZlbnQ9ZmFsc2U7cmV0dXJuIER9LF9nZW5lcmF0ZU1vbnRoWWVhckhl
YWRlcjpmdW5jdGlvbihiLGYsaixsLG8sbixrLG0pe3ZhciBwPXRoaXMuX2dldChiLCJjaGFuZ2VN
b250aCIpLHE9dGhpcy5fZ2V0KGIsImNoYW5nZVllYXIiKSxzPXRoaXMuX2dldChiLCJzaG93TW9u
dGhBZnRlclllYXIiKSxyPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nLHU9IiI7
aWYobnx8IXApdSs9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIj4nK2tbZl0rIjwv
c3Bhbj4iO2Vsc2V7az1sJiZsLmdldEZ1bGxZZWFyKCk9PWo7dmFyIHY9byYmby5nZXRGdWxsWWVh
cigpPT1qO3UrPSc8c2VsZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIiBvbmNoYW5nZT0i
RFBfalF1ZXJ5XycrZysiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYi5pZCsiJywg
dGhpcywgJ00nKTtcIiA+Ijtmb3IodmFyIHc9MDt3PDEyO3crKylpZigoIWt8fHc+PWwuZ2V0TW9u
dGgoKSkmJgorKCF2fHx3PD1vLmdldE1vbnRoKCkpKXUrPSc8b3B0aW9uIHZhbHVlPSInK3crJyIn
Kyh3PT1mPycgc2VsZWN0ZWQ9InNlbGVjdGVkIic6IiIpKyI+IittW3ddKyI8L29wdGlvbj4iO3Ur
PSI8L3NlbGVjdD4ifXN8fChyKz11KyhufHwhKHAmJnEpPyImI3hhMDsiOiIiKSk7aWYoIWIueWVh
cnNodG1sKXtiLnllYXJzaHRtbD0iIjtpZihufHwhcSlyKz0nPHNwYW4gY2xhc3M9InVpLWRhdGVw
aWNrZXIteWVhciI+JytqKyI8L3NwYW4+IjtlbHNle209dGhpcy5fZ2V0KGIsInllYXJSYW5nZSIp
LnNwbGl0KCI6Iik7dmFyIHg9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2s9ZnVuY3Rpb24oeSl7
eT15Lm1hdGNoKC9jWystXS4qLyk/aitwYXJzZUludCh5LnN1YnN0cmluZygxKSwxMCk6eS5tYXRj
aCgvWystXS4qLyk/eCtwYXJzZUludCh5LDEwKTpwYXJzZUludCh5LDEwKTtyZXR1cm4gaXNOYU4o
eSk/eDp5fTtmPWsobVswXSk7bT1NYXRoLm1heChmLGsobVsxXXx8IiIpKTtmPWw/TWF0aC5tYXgo
ZiwKK2wuZ2V0RnVsbFllYXIoKSk6ZjttPW8/TWF0aC5taW4obSxvLmdldEZ1bGxZZWFyKCkpOm07
Zm9yKGIueWVhcnNodG1sKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIiBvbmNo
YW5nZT0iRFBfalF1ZXJ5XycrZysiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYi5p
ZCsiJywgdGhpcywgJ1knKTtcIiA+IjtmPD1tO2YrKyliLnllYXJzaHRtbCs9JzxvcHRpb24gdmFs
dWU9IicrZisnIicrKGY9PWo/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzoiIikrIj4iK2YrIjwvb3B0
aW9uPiI7Yi55ZWFyc2h0bWwrPSI8L3NlbGVjdD4iO3IrPWIueWVhcnNodG1sO2IueWVhcnNodG1s
PW51bGx9fXIrPXRoaXMuX2dldChiLCJ5ZWFyU3VmZml4Iik7aWYocylyKz0obnx8IShwJiZxKT8i
JiN4YTA7IjoiIikrdTtyKz0iPC9kaXY+IjtyZXR1cm4gcn0sX2FkanVzdEluc3REYXRlOmZ1bmN0
aW9uKGIsZixqKXt2YXIgbD1iLmRyYXdZZWFyKyhqPT0iWSI/ZjowKSxvPWIuZHJhd01vbnRoKwor
KGo9PSJNIj9mOjApO2Y9TWF0aC5taW4oYi5zZWxlY3RlZERheSx0aGlzLl9nZXREYXlzSW5Nb250
aChsLG8pKSsoaj09IkQiP2Y6MCk7bD10aGlzLl9yZXN0cmljdE1pbk1heChiLHRoaXMuX2RheWxp
Z2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGwsbyxmKSkpO2Iuc2VsZWN0ZWREYXk9bC5nZXREYXRl
KCk7Yi5kcmF3TW9udGg9Yi5zZWxlY3RlZE1vbnRoPWwuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIu
c2VsZWN0ZWRZZWFyPWwuZ2V0RnVsbFllYXIoKTtpZihqPT0iTSJ8fGo9PSJZIil0aGlzLl9ub3Rp
ZnlDaGFuZ2UoYil9LF9yZXN0cmljdE1pbk1heDpmdW5jdGlvbihiLGYpe3ZhciBqPXRoaXMuX2dl
dE1pbk1heERhdGUoYiwibWluIik7Yj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1heCIpO2Y9aiYm
ZjxqP2o6ZjtyZXR1cm4gZj1iJiZmPmI/YjpmfSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGIpe3Zh
ciBmPXRoaXMuX2dldChiLCJvbkNoYW5nZU1vbnRoWWVhciIpO2lmKGYpZi5hcHBseShiLmlucHV0
PworYi5pbnB1dFswXTpudWxsLFtiLnNlbGVjdGVkWWVhcixiLnNlbGVjdGVkTW9udGgrMSxiXSl9
LF9nZXROdW1iZXJPZk1vbnRoczpmdW5jdGlvbihiKXtiPXRoaXMuX2dldChiLCJudW1iZXJPZk1v
bnRocyIpO3JldHVybiBiPT1udWxsP1sxLDFdOnR5cGVvZiBiPT0ibnVtYmVyIj9bMSxiXTpifSxf
Z2V0TWluTWF4RGF0ZTpmdW5jdGlvbihiLGYpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGIs
dGhpcy5fZ2V0KGIsZisiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oYixm
KXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYixmLDMyKSku
Z2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGIsZil7cmV0dXJuKG5ldyBE
YXRlKGIsZiwxKSkuZ2V0RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihiLGYsaixsKXt2
YXIgbz10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhiKTtqPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRq
dXN0KG5ldyBEYXRlKGosCitsKyhmPDA/ZjpvWzBdKm9bMV0pLDEpKTtmPDAmJmouc2V0RGF0ZSh0
aGlzLl9nZXREYXlzSW5Nb250aChqLmdldEZ1bGxZZWFyKCksai5nZXRNb250aCgpKSk7cmV0dXJu
IHRoaXMuX2lzSW5SYW5nZShiLGopfSxfaXNJblJhbmdlOmZ1bmN0aW9uKGIsZil7dmFyIGo9dGhp
cy5fZ2V0TWluTWF4RGF0ZShiLCJtaW4iKTtiPXRoaXMuX2dldE1pbk1heERhdGUoYiwibWF4Iik7
cmV0dXJuKCFqfHxmLmdldFRpbWUoKT49ai5nZXRUaW1lKCkpJiYoIWJ8fGYuZ2V0VGltZSgpPD1i
LmdldFRpbWUoKSl9LF9nZXRGb3JtYXRDb25maWc6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fZ2V0
KGIsInNob3J0WWVhckN1dG9mZiIpO2Y9dHlwZW9mIGYhPSJzdHJpbmciP2Y6KG5ldyBEYXRlKS5n
ZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludChmLDEwKTtyZXR1cm57c2hvcnRZZWFyQ3V0b2ZmOmYs
ZGF5TmFtZXNTaG9ydDp0aGlzLl9nZXQoYiwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMu
X2dldChiLAorImRheU5hbWVzIiksbW9udGhOYW1lc1Nob3J0OnRoaXMuX2dldChiLCJtb250aE5h
bWVzU2hvcnQiKSxtb250aE5hbWVzOnRoaXMuX2dldChiLCJtb250aE5hbWVzIil9fSxfZm9ybWF0
RGF0ZTpmdW5jdGlvbihiLGYsaixsKXtpZighZil7Yi5jdXJyZW50RGF5PWIuc2VsZWN0ZWREYXk7
Yi5jdXJyZW50TW9udGg9Yi5zZWxlY3RlZE1vbnRoO2IuY3VycmVudFllYXI9Yi5zZWxlY3RlZFll
YXJ9Zj1mP3R5cGVvZiBmPT0ib2JqZWN0Ij9mOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKGwsaixmKSk6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYi5jdXJy
ZW50WWVhcixiLmN1cnJlbnRNb250aCxiLmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXRE
YXRlKHRoaXMuX2dldChiLCJkYXRlRm9ybWF0IiksZix0aGlzLl9nZXRGb3JtYXRDb25maWcoYikp
fX0pO2EuZm4uZGF0ZXBpY2tlcj1mdW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRo
aXM7CitpZighYS5kYXRlcGlja2VyLmluaXRpYWxpemVkKXthKGRvY3VtZW50KS5tb3VzZWRvd24o
YS5kYXRlcGlja2VyLl9jaGVja0V4dGVybmFsQ2xpY2spLmZpbmQoImJvZHkiKS5hcHBlbmQoYS5k
YXRlcGlja2VyLmRwRGl2KTthLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgZj1BcnJh
eS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7aWYodHlwZW9mIGI9PSJzdHJpbmci
JiYoYj09ImlzRGlzYWJsZWQifHxiPT0iZ2V0RGF0ZSJ8fGI9PSJ3aWRnZXQiKSlyZXR1cm4gYS5k
YXRlcGlja2VyWyJfIitiKyJEYXRlcGlja2VyIl0uYXBwbHkoYS5kYXRlcGlja2VyLFt0aGlzWzBd
XS5jb25jYXQoZikpO2lmKGI9PSJvcHRpb24iJiZhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2Yg
YXJndW1lbnRzWzFdPT0ic3RyaW5nIilyZXR1cm4gYS5kYXRlcGlja2VyWyJfIitiKyJEYXRlcGlj
a2VyIl0uYXBwbHkoYS5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoZikpO3JldHVybiB0aGlz
LmVhY2goZnVuY3Rpb24oKXt0eXBlb2YgYj09Cisic3RyaW5nIj9hLmRhdGVwaWNrZXJbIl8iK2Ir
IkRhdGVwaWNrZXIiXS5hcHBseShhLmRhdGVwaWNrZXIsW3RoaXNdLmNvbmNhdChmKSk6YS5kYXRl
cGlja2VyLl9hdHRhY2hEYXRlcGlja2VyKHRoaXMsYil9KX07YS5kYXRlcGlja2VyPW5ldyBkO2Eu
ZGF0ZXBpY2tlci5pbml0aWFsaXplZD1mYWxzZTthLmRhdGVwaWNrZXIudXVpZD0obmV3IERhdGUp
LmdldFRpbWUoKTthLmRhdGVwaWNrZXIudmVyc2lvbj0iMS44LjE1Ijt3aW5kb3dbIkRQX2pRdWVy
eV8iK2ddPWF9KShqUXVlcnkpOworKGZ1bmN0aW9uKGEsYyl7dmFyIGQ9e2J1dHRvbnM6dHJ1ZSxo
ZWlnaHQ6dHJ1ZSxtYXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0cnVlLG1pbkhlaWdodDp0cnVlLG1p
bldpZHRoOnRydWUsd2lkdGg6dHJ1ZX0sZT17bWF4SGVpZ2h0OnRydWUsbWF4V2lkdGg6dHJ1ZSxt
aW5IZWlnaHQ6dHJ1ZSxtaW5XaWR0aDp0cnVlfSxoPWEuYXR0ckZufHx7dmFsOnRydWUsY3NzOnRy
dWUsaHRtbDp0cnVlLHRleHQ6dHJ1ZSxkYXRhOnRydWUsd2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxv
ZmZzZXQ6dHJ1ZSxjbGljazp0cnVlfTthLndpZGdldCgidWkuZGlhbG9nIix7b3B0aW9uczp7YXV0
b09wZW46dHJ1ZSxidXR0b25zOnt9LGNsb3NlT25Fc2NhcGU6dHJ1ZSxjbG9zZVRleHQ6ImNsb3Nl
IixkaWFsb2dDbGFzczoiIixkcmFnZ2FibGU6dHJ1ZSxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixt
YXhIZWlnaHQ6ZmFsc2UsbWF4V2lkdGg6ZmFsc2UsbWluSGVpZ2h0OjE1MCxtaW5XaWR0aDoxNTAs
bW9kYWw6ZmFsc2UsCitwb3NpdGlvbjp7bXk6ImNlbnRlciIsYXQ6ImNlbnRlciIsY29sbGlzaW9u
OiJmaXQiLHVzaW5nOmZ1bmN0aW9uKGcpe3ZhciBpPWEodGhpcykuY3NzKGcpLm9mZnNldCgpLnRv
cDtpPDAmJmEodGhpcykuY3NzKCJ0b3AiLGcudG9wLWkpfX0scmVzaXphYmxlOnRydWUsc2hvdzpu
dWxsLHN0YWNrOnRydWUsdGl0bGU6IiIsd2lkdGg6MzAwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVu
Y3Rpb24oKXt0aGlzLm9yaWdpbmFsVGl0bGU9dGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIik7aWYo
dHlwZW9mIHRoaXMub3JpZ2luYWxUaXRsZSE9PSJzdHJpbmciKXRoaXMub3JpZ2luYWxUaXRsZT0i
Ijt0aGlzLm9wdGlvbnMudGl0bGU9dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0
bGU7dmFyIGc9dGhpcyxpPWcub3B0aW9ucyxiPWkudGl0bGV8fCImIzE2MDsiLGY9YS51aS5kaWFs
b2cuZ2V0VGl0bGVJZChnLmVsZW1lbnQpLGo9KGcudWlEaWFsb2c9YSgiPGRpdj48L2Rpdj4iKSku
YXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuaGlkZSgpLmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lk
Z2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgIisKK2kuZGlhbG9nQ2xhc3MpLmNz
cyh7ekluZGV4OmkuekluZGV4fSkuYXR0cigidGFiSW5kZXgiLC0xKS5jc3MoIm91dGxpbmUiLDAp
LmtleWRvd24oZnVuY3Rpb24obil7aWYoaS5jbG9zZU9uRXNjYXBlJiZuLmtleUNvZGUmJm4ua2V5
Q29kZT09PWEudWkua2V5Q29kZS5FU0NBUEUpe2cuY2xvc2Uobik7bi5wcmV2ZW50RGVmYXVsdCgp
fX0pLmF0dHIoe3JvbGU6ImRpYWxvZyIsImFyaWEtbGFiZWxsZWRieSI6Zn0pLm1vdXNlZG93bihm
dW5jdGlvbihuKXtnLm1vdmVUb1RvcChmYWxzZSxuKX0pO2cuZWxlbWVudC5zaG93KCkucmVtb3Zl
QXR0cigidGl0bGUiKS5hZGRDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRl
bnQiKS5hcHBlbmRUbyhqKTt2YXIgbD0oZy51aURpYWxvZ1RpdGxlYmFyPWEoIjxkaXY+PC9kaXY+
IikpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3Ju
ZXItYWxsIHVpLWhlbHBlci1jbGVhcmZpeCIpLnByZXBlbmRUbyhqKSwKK289YSgnPGEgaHJlZj0i
IyI+PC9hPicpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFs
bCIpLmF0dHIoInJvbGUiLCJidXR0b24iKS5ob3ZlcihmdW5jdGlvbigpe28uYWRkQ2xhc3MoInVp
LXN0YXRlLWhvdmVyIil9LGZ1bmN0aW9uKCl7by5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIi
KX0pLmZvY3VzKGZ1bmN0aW9uKCl7by5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJsdXIo
ZnVuY3Rpb24oKXtvLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuY2xpY2soZnVuY3Rp
b24obil7Zy5jbG9zZShuKTtyZXR1cm4gZmFsc2V9KS5hcHBlbmRUbyhsKTsoZy51aURpYWxvZ1Rp
dGxlYmFyQ2xvc2VUZXh0PWEoIjxzcGFuPjwvc3Bhbj4iKSkuYWRkQ2xhc3MoInVpLWljb24gdWkt
aWNvbi1jbG9zZXRoaWNrIikudGV4dChpLmNsb3NlVGV4dCkuYXBwZW5kVG8obyk7YSgiPHNwYW4+
PC9zcGFuPiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGUiKS5hdHRyKCJpZCIsCitmKS5odG1s
KGIpLnByZXBlbmRUbyhsKTtpZihhLmlzRnVuY3Rpb24oaS5iZWZvcmVjbG9zZSkmJiFhLmlzRnVu
Y3Rpb24oaS5iZWZvcmVDbG9zZSkpaS5iZWZvcmVDbG9zZT1pLmJlZm9yZWNsb3NlO2wuZmluZCgi
KiIpLmFkZChsKS5kaXNhYmxlU2VsZWN0aW9uKCk7aS5kcmFnZ2FibGUmJmEuZm4uZHJhZ2dhYmxl
JiZnLl9tYWtlRHJhZ2dhYmxlKCk7aS5yZXNpemFibGUmJmEuZm4ucmVzaXphYmxlJiZnLl9tYWtl
UmVzaXphYmxlKCk7Zy5fY3JlYXRlQnV0dG9ucyhpLmJ1dHRvbnMpO2cuX2lzT3Blbj1mYWxzZTth
LmZuLmJnaWZyYW1lJiZqLmJnaWZyYW1lKCl9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25z
LmF1dG9PcGVuJiZ0aGlzLm9wZW4oKX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBnPXRoaXM7Zy5v
dmVybGF5JiZnLm92ZXJsYXkuZGVzdHJveSgpO2cudWlEaWFsb2cuaGlkZSgpO2cuZWxlbWVudC51
bmJpbmQoIi5kaWFsb2ciKS5yZW1vdmVEYXRhKCJkaWFsb2ciKS5yZW1vdmVDbGFzcygidWktZGlh
bG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5oaWRlKCkuYXBwZW5kVG8oImJvZHkiKTsK
K2cudWlEaWFsb2cucmVtb3ZlKCk7Zy5vcmlnaW5hbFRpdGxlJiZnLmVsZW1lbnQuYXR0cigidGl0
bGUiLGcub3JpZ2luYWxUaXRsZSk7cmV0dXJuIGd9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0
aGlzLnVpRGlhbG9nfSxjbG9zZTpmdW5jdGlvbihnKXt2YXIgaT10aGlzLGIsZjtpZihmYWxzZSE9
PWkuX3RyaWdnZXIoImJlZm9yZUNsb3NlIixnKSl7aS5vdmVybGF5JiZpLm92ZXJsYXkuZGVzdHJv
eSgpO2kudWlEaWFsb2cudW5iaW5kKCJrZXlwcmVzcy51aS1kaWFsb2ciKTtpLl9pc09wZW49ZmFs
c2U7aWYoaS5vcHRpb25zLmhpZGUpaS51aURpYWxvZy5oaWRlKGkub3B0aW9ucy5oaWRlLGZ1bmN0
aW9uKCl7aS5fdHJpZ2dlcigiY2xvc2UiLGcpfSk7ZWxzZXtpLnVpRGlhbG9nLmhpZGUoKTtpLl90
cmlnZ2VyKCJjbG9zZSIsZyl9YS51aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKTtpZihpLm9wdGlv
bnMubW9kYWwpe2I9MDthKCIudWktZGlhbG9nIikuZWFjaChmdW5jdGlvbigpe2lmKHRoaXMhPT0K
K2kudWlEaWFsb2dbMF0pe2Y9YSh0aGlzKS5jc3MoInotaW5kZXgiKTtpc05hTihmKXx8KGI9TWF0
aC5tYXgoYixmKSl9fSk7YS51aS5kaWFsb2cubWF4Wj1ifXJldHVybiBpfX0saXNPcGVuOmZ1bmN0
aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKGcsaSl7dmFyIGI9
dGhpcyxmPWIub3B0aW9ucztpZihmLm1vZGFsJiYhZ3x8IWYuc3RhY2smJiFmLm1vZGFsKXJldHVy
biBiLl90cmlnZ2VyKCJmb2N1cyIsaSk7aWYoZi56SW5kZXg+YS51aS5kaWFsb2cubWF4WilhLnVp
LmRpYWxvZy5tYXhaPWYuekluZGV4O2lmKGIub3ZlcmxheSl7YS51aS5kaWFsb2cubWF4Wis9MTti
Lm92ZXJsYXkuJGVsLmNzcygiei1pbmRleCIsYS51aS5kaWFsb2cub3ZlcmxheS5tYXhaPWEudWku
ZGlhbG9nLm1heFopfWc9e3Njcm9sbFRvcDpiLmVsZW1lbnQuc2Nyb2xsVG9wKCksc2Nyb2xsTGVm
dDpiLmVsZW1lbnQuc2Nyb2xsTGVmdCgpfTthLnVpLmRpYWxvZy5tYXhaKz0xOworYi51aURpYWxv
Zy5jc3MoInotaW5kZXgiLGEudWkuZGlhbG9nLm1heFopO2IuZWxlbWVudC5hdHRyKGcpO2IuX3Ry
aWdnZXIoImZvY3VzIixpKTtyZXR1cm4gYn0sb3BlbjpmdW5jdGlvbigpe2lmKCF0aGlzLl9pc09w
ZW4pe3ZhciBnPXRoaXMsaT1nLm9wdGlvbnMsYj1nLnVpRGlhbG9nO2cub3ZlcmxheT1pLm1vZGFs
P25ldyBhLnVpLmRpYWxvZy5vdmVybGF5KGcpOm51bGw7Zy5fc2l6ZSgpO2cuX3Bvc2l0aW9uKGku
cG9zaXRpb24pO2Iuc2hvdyhpLnNob3cpO2cubW92ZVRvVG9wKHRydWUpO2kubW9kYWwmJmIuYmlu
ZCgia2V5cHJlc3MudWktZGlhbG9nIixmdW5jdGlvbihmKXtpZihmLmtleUNvZGU9PT1hLnVpLmtl
eUNvZGUuVEFCKXt2YXIgaj1hKCI6dGFiYmFibGUiLHRoaXMpLGw9ai5maWx0ZXIoIjpmaXJzdCIp
O2o9ai5maWx0ZXIoIjpsYXN0Iik7aWYoZi50YXJnZXQ9PT1qWzBdJiYhZi5zaGlmdEtleSl7bC5m
b2N1cygxKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZihmLnRhcmdldD09PQorbFswXSYmZi5zaGlmdEtl
eSl7ai5mb2N1cygxKTtyZXR1cm4gZmFsc2V9fX0pO2EoZy5lbGVtZW50LmZpbmQoIjp0YWJiYWJs
ZSIpLmdldCgpLmNvbmNhdChiLmZpbmQoIi51aS1kaWFsb2ctYnV0dG9ucGFuZSA6dGFiYmFibGUi
KS5nZXQoKS5jb25jYXQoYi5nZXQoKSkpKS5lcSgwKS5mb2N1cygpO2cuX2lzT3Blbj10cnVlO2cu
X3RyaWdnZXIoIm9wZW4iKTtyZXR1cm4gZ319LF9jcmVhdGVCdXR0b25zOmZ1bmN0aW9uKGcpe3Zh
ciBpPXRoaXMsYj1mYWxzZSxmPWEoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWRpYWxvZy1i
dXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCIpLGo9YSgiPGRp
dj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnNldCIpLmFwcGVuZFRvKGYpO2ku
dWlEaWFsb2cuZmluZCgiLnVpLWRpYWxvZy1idXR0b25wYW5lIikucmVtb3ZlKCk7dHlwZW9mIGc9
PT0ib2JqZWN0IiYmZyE9PW51bGwmJmEuZWFjaChnLAorZnVuY3Rpb24oKXtyZXR1cm4hKGI9dHJ1
ZSl9KTtpZihiKXthLmVhY2goZyxmdW5jdGlvbihsLG8pe289YS5pc0Z1bmN0aW9uKG8pP3tjbGlj
azpvLHRleHQ6bH06bzt2YXIgbj1hKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0b24+Jyku
Y2xpY2soZnVuY3Rpb24oKXtvLmNsaWNrLmFwcGx5KGkuZWxlbWVudFswXSxhcmd1bWVudHMpfSku
YXBwZW5kVG8oaik7YS5lYWNoKG8sZnVuY3Rpb24oayxtKXtpZihrIT09ImNsaWNrIilrIGluIGg/
bltrXShtKTpuLmF0dHIoayxtKX0pO2EuZm4uYnV0dG9uJiZuLmJ1dHRvbigpfSk7Zi5hcHBlbmRU
byhpLnVpRGlhbG9nKX19LF9tYWtlRHJhZ2dhYmxlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXty
ZXR1cm57cG9zaXRpb246bC5wb3NpdGlvbixvZmZzZXQ6bC5vZmZzZXR9fXZhciBpPXRoaXMsYj1p
Lm9wdGlvbnMsZj1hKGRvY3VtZW50KSxqO2kudWlEaWFsb2cuZHJhZ2dhYmxlKHtjYW5jZWw6Ii51
aS1kaWFsb2ctY29udGVudCwgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIsCitoYW5kbGU6Ii51
aS1kaWFsb2ctdGl0bGViYXIiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsc3RhcnQ6ZnVuY3Rpb24o
bCxvKXtqPWIuaGVpZ2h0PT09ImF1dG8iPyJhdXRvIjphKHRoaXMpLmhlaWdodCgpO2EodGhpcyku
aGVpZ2h0KGEodGhpcykuaGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1kaWFsb2ctZHJhZ2dpbmciKTtp
Ll90cmlnZ2VyKCJkcmFnU3RhcnQiLGwsZyhvKSl9LGRyYWc6ZnVuY3Rpb24obCxvKXtpLl90cmln
Z2VyKCJkcmFnIixsLGcobykpfSxzdG9wOmZ1bmN0aW9uKGwsbyl7Yi5wb3NpdGlvbj1bby5wb3Np
dGlvbi5sZWZ0LWYuc2Nyb2xsTGVmdCgpLG8ucG9zaXRpb24udG9wLWYuc2Nyb2xsVG9wKCldO2Eo
dGhpcykucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpLmhlaWdodChqKTtpLl90cmln
Z2VyKCJkcmFnU3RvcCIsbCxnKG8pKTthLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pfSxf
bWFrZVJlc2l6YWJsZTpmdW5jdGlvbihnKXtmdW5jdGlvbiBpKGwpe3JldHVybntvcmlnaW5hbFBv
c2l0aW9uOmwub3JpZ2luYWxQb3NpdGlvbiwKK29yaWdpbmFsU2l6ZTpsLm9yaWdpbmFsU2l6ZSxw
b3NpdGlvbjpsLnBvc2l0aW9uLHNpemU6bC5zaXplfX1nPWc9PT1jP3RoaXMub3B0aW9ucy5yZXNp
emFibGU6Zzt2YXIgYj10aGlzLGY9Yi5vcHRpb25zLGo9Yi51aURpYWxvZy5jc3MoInBvc2l0aW9u
Iik7Zz10eXBlb2YgZz09PSJzdHJpbmciP2c6Im4sZSxzLHcsc2Usc3csbmUsbnciO2IudWlEaWFs
b2cucmVzaXphYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCIsY29udGFpbm1lbnQ6ImRv
Y3VtZW50IixhbHNvUmVzaXplOmIuZWxlbWVudCxtYXhXaWR0aDpmLm1heFdpZHRoLG1heEhlaWdo
dDpmLm1heEhlaWdodCxtaW5XaWR0aDpmLm1pbldpZHRoLG1pbkhlaWdodDpiLl9taW5IZWlnaHQo
KSxoYW5kbGVzOmcsc3RhcnQ6ZnVuY3Rpb24obCxvKXthKHRoaXMpLmFkZENsYXNzKCJ1aS1kaWFs
b2ctcmVzaXppbmciKTtiLl90cmlnZ2VyKCJyZXNpemVTdGFydCIsbCxpKG8pKX0scmVzaXplOmZ1
bmN0aW9uKGwsbyl7Yi5fdHJpZ2dlcigicmVzaXplIiwKK2wsaShvKSl9LHN0b3A6ZnVuY3Rpb24o
bCxvKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctcmVzaXppbmciKTtmLmhlaWdodD1h
KHRoaXMpLmhlaWdodCgpO2Yud2lkdGg9YSh0aGlzKS53aWR0aCgpO2IuX3RyaWdnZXIoInJlc2l6
ZVN0b3AiLGwsaShvKSk7YS51aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKX19KS5jc3MoInBvc2l0
aW9uIixqKS5maW5kKCIudWktcmVzaXphYmxlLXNlIikuYWRkQ2xhc3MoInVpLWljb24gdWktaWNv
bi1ncmlwLWRpYWdvbmFsLXNlIil9LF9taW5IZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgZz10aGlzLm9w
dGlvbnM7cmV0dXJuIGcuaGVpZ2h0PT09ImF1dG8iP2cubWluSGVpZ2h0Ok1hdGgubWluKGcubWlu
SGVpZ2h0LGcuaGVpZ2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKGcpe3ZhciBpPVtdLGI9WzAsMF0s
ZjtpZihnKXtpZih0eXBlb2YgZz09PSJzdHJpbmcifHx0eXBlb2YgZz09PSJvYmplY3QiJiYiMCJp
biBnKXtpPWcuc3BsaXQ/Zy5zcGxpdCgiICIpOgorW2dbMF0sZ1sxXV07aWYoaS5sZW5ndGg9PT0x
KWlbMV09aVswXTthLmVhY2goWyJsZWZ0IiwidG9wIl0sZnVuY3Rpb24oaixsKXtpZigraVtqXT09
PWlbal0pe2Jbal09aVtqXTtpW2pdPWx9fSk7Zz17bXk6aS5qb2luKCIgIiksYXQ6aS5qb2luKCIg
Iiksb2Zmc2V0OmIuam9pbigiICIpfX1nPWEuZXh0ZW5kKHt9LGEudWkuZGlhbG9nLnByb3RvdHlw
ZS5vcHRpb25zLnBvc2l0aW9uLGcpfWVsc2UgZz1hLnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9u
cy5wb3NpdGlvbjsoZj10aGlzLnVpRGlhbG9nLmlzKCI6dmlzaWJsZSIpKXx8dGhpcy51aURpYWxv
Zy5zaG93KCk7dGhpcy51aURpYWxvZy5jc3Moe3RvcDowLGxlZnQ6MH0pLnBvc2l0aW9uKGEuZXh0
ZW5kKHtvZjp3aW5kb3d9LGcpKTtmfHx0aGlzLnVpRGlhbG9nLmhpZGUoKX0sX3NldE9wdGlvbnM6
ZnVuY3Rpb24oZyl7dmFyIGk9dGhpcyxiPXt9LGY9ZmFsc2U7YS5lYWNoKGcsZnVuY3Rpb24oaixs
KXtpLl9zZXRPcHRpb24oaixsKTsKK2lmKGogaW4gZClmPXRydWU7aWYoaiBpbiBlKWJbal09bH0p
O2YmJnRoaXMuX3NpemUoKTt0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YShyZXNpemFibGUpIikmJnRo
aXMudWlEaWFsb2cucmVzaXphYmxlKCJvcHRpb24iLGIpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGcs
aSl7dmFyIGI9dGhpcyxmPWIudWlEaWFsb2c7c3dpdGNoKGcpe2Nhc2UgImJlZm9yZWNsb3NlIjpn
PSJiZWZvcmVDbG9zZSI7YnJlYWs7Y2FzZSAiYnV0dG9ucyI6Yi5fY3JlYXRlQnV0dG9ucyhpKTti
cmVhaztjYXNlICJjbG9zZVRleHQiOmIudWlEaWFsb2dUaXRsZWJhckNsb3NlVGV4dC50ZXh0KCIi
K2kpO2JyZWFrO2Nhc2UgImRpYWxvZ0NsYXNzIjpmLnJlbW92ZUNsYXNzKGIub3B0aW9ucy5kaWFs
b2dDbGFzcykuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQg
dWktY29ybmVyLWFsbCAiK2kpO2JyZWFrO2Nhc2UgImRpc2FibGVkIjppP2YuYWRkQ2xhc3MoInVp
LWRpYWxvZy1kaXNhYmxlZCIpOgorZi5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik7
YnJlYWs7Y2FzZSAiZHJhZ2dhYmxlIjp2YXIgaj1mLmlzKCI6ZGF0YShkcmFnZ2FibGUpIik7aiYm
IWkmJmYuZHJhZ2dhYmxlKCJkZXN0cm95Iik7IWomJmkmJmIuX21ha2VEcmFnZ2FibGUoKTticmVh
aztjYXNlICJwb3NpdGlvbiI6Yi5fcG9zaXRpb24oaSk7YnJlYWs7Y2FzZSAicmVzaXphYmxlIjoo
aj1mLmlzKCI6ZGF0YShyZXNpemFibGUpIikpJiYhaSYmZi5yZXNpemFibGUoImRlc3Ryb3kiKTtq
JiZ0eXBlb2YgaT09PSJzdHJpbmciJiZmLnJlc2l6YWJsZSgib3B0aW9uIiwiaGFuZGxlcyIsaSk7
IWomJmkhPT1mYWxzZSYmYi5fbWFrZVJlc2l6YWJsZShpKTticmVhaztjYXNlICJ0aXRsZSI6YSgi
LnVpLWRpYWxvZy10aXRsZSIsYi51aURpYWxvZ1RpdGxlYmFyKS5odG1sKCIiKyhpfHwiJiMxNjA7
IikpO2JyZWFrfWEuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KGIsYXJndW1lbnRz
KX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgZz0KK3RoaXMub3B0aW9ucyxpLGIsZj10aGlzLnVpRGlh
bG9nLmlzKCI6dmlzaWJsZSIpO3RoaXMuZWxlbWVudC5zaG93KCkuY3NzKHt3aWR0aDoiYXV0byIs
bWluSGVpZ2h0OjAsaGVpZ2h0OjB9KTtpZihnLm1pbldpZHRoPmcud2lkdGgpZy53aWR0aD1nLm1p
bldpZHRoO2k9dGhpcy51aURpYWxvZy5jc3Moe2hlaWdodDoiYXV0byIsd2lkdGg6Zy53aWR0aH0p
LmhlaWdodCgpO2I9TWF0aC5tYXgoMCxnLm1pbkhlaWdodC1pKTtpZihnLmhlaWdodD09PSJhdXRv
IilpZihhLnN1cHBvcnQubWluSGVpZ2h0KXRoaXMuZWxlbWVudC5jc3Moe21pbkhlaWdodDpiLGhl
aWdodDoiYXV0byJ9KTtlbHNle3RoaXMudWlEaWFsb2cuc2hvdygpO2c9dGhpcy5lbGVtZW50LmNz
cygiaGVpZ2h0IiwiYXV0byIpLmhlaWdodCgpO2Z8fHRoaXMudWlEaWFsb2cuaGlkZSgpO3RoaXMu
ZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoZyxiKSl9ZWxzZSB0aGlzLmVsZW1lbnQuaGVpZ2h0KE1h
dGgubWF4KGcuaGVpZ2h0LQoraSwwKSk7dGhpcy51aURpYWxvZy5pcygiOmRhdGEocmVzaXphYmxl
KSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9t
aW5IZWlnaHQoKSl9fSk7YS5leHRlbmQoYS51aS5kaWFsb2cse3ZlcnNpb246IjEuOC4xNSIsdXVp
ZDowLG1heFo6MCxnZXRUaXRsZUlkOmZ1bmN0aW9uKGcpe2c9Zy5hdHRyKCJpZCIpO2lmKCFnKXt0
aGlzLnV1aWQrPTE7Zz10aGlzLnV1aWR9cmV0dXJuInVpLWRpYWxvZy10aXRsZS0iK2d9LG92ZXJs
YXk6ZnVuY3Rpb24oZyl7dGhpcy4kZWw9YS51aS5kaWFsb2cub3ZlcmxheS5jcmVhdGUoZyl9fSk7
YS5leHRlbmQoYS51aS5kaWFsb2cub3ZlcmxheSx7aW5zdGFuY2VzOltdLG9sZEluc3RhbmNlczpb
XSxtYXhaOjAsZXZlbnRzOmEubWFwKCJmb2N1cyxtb3VzZWRvd24sbW91c2V1cCxrZXlkb3duLGtl
eXByZXNzLGNsaWNrIi5zcGxpdCgiLCIpLGZ1bmN0aW9uKGcpe3JldHVybiBnKyIuZGlhbG9nLW92
ZXJsYXkifSkuam9pbigiICIpLAorY3JlYXRlOmZ1bmN0aW9uKGcpe2lmKHRoaXMuaW5zdGFuY2Vz
Lmxlbmd0aD09PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnVpLmRpYWxvZy5vdmVybGF5Lmlu
c3RhbmNlcy5sZW5ndGgmJmEoZG9jdW1lbnQpLmJpbmQoYS51aS5kaWFsb2cub3ZlcmxheS5ldmVu
dHMsZnVuY3Rpb24oYil7aWYoYShiLnRhcmdldCkuekluZGV4KCk8YS51aS5kaWFsb2cub3Zlcmxh
eS5tYXhaKXJldHVybiBmYWxzZX0pfSwxKTthKGRvY3VtZW50KS5iaW5kKCJrZXlkb3duLmRpYWxv
Zy1vdmVybGF5IixmdW5jdGlvbihiKXtpZihnLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmYi5rZXlD
b2RlJiZiLmtleUNvZGU9PT1hLnVpLmtleUNvZGUuRVNDQVBFKXtnLmNsb3NlKGIpO2IucHJldmVu
dERlZmF1bHQoKX19KTthKHdpbmRvdykuYmluZCgicmVzaXplLmRpYWxvZy1vdmVybGF5IixhLnVp
LmRpYWxvZy5vdmVybGF5LnJlc2l6ZSl9dmFyIGk9KHRoaXMub2xkSW5zdGFuY2VzLnBvcCgpfHxh
KCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS13aWRnZXQtb3ZlcmxheSIpKS5hcHBlbmRUbyhk
b2N1bWVudC5ib2R5KS5jc3Moe3dpZHRoOnRoaXMud2lkdGgoKSwKK2hlaWdodDp0aGlzLmhlaWdo
dCgpfSk7YS5mbi5iZ2lmcmFtZSYmaS5iZ2lmcmFtZSgpO3RoaXMuaW5zdGFuY2VzLnB1c2goaSk7
cmV0dXJuIGl9LGRlc3Ryb3k6ZnVuY3Rpb24oZyl7dmFyIGk9YS5pbkFycmF5KGcsdGhpcy5pbnN0
YW5jZXMpO2khPS0xJiZ0aGlzLm9sZEluc3RhbmNlcy5wdXNoKHRoaXMuaW5zdGFuY2VzLnNwbGlj
ZShpLDEpWzBdKTt0aGlzLmluc3RhbmNlcy5sZW5ndGg9PT0wJiZhKFtkb2N1bWVudCx3aW5kb3dd
KS51bmJpbmQoIi5kaWFsb2ctb3ZlcmxheSIpO2cucmVtb3ZlKCk7dmFyIGI9MDthLmVhY2godGhp
cy5pbnN0YW5jZXMsZnVuY3Rpb24oKXtiPU1hdGgubWF4KGIsdGhpcy5jc3MoInotaW5kZXgiKSl9
KTt0aGlzLm1heFo9Yn0saGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGcsaTtpZihhLmJyb3dzZXIubXNp
ZSYmYS5icm93c2VyLnZlcnNpb248Nyl7Zz1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KTsKK2k9TWF0aC5tYXgo
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodCk7cmV0dXJuIGc8aT9hKHdpbmRvdykuaGVpZ2h0KCkrInB4IjpnKyJweCJ9ZWxzZSBy
ZXR1cm4gYShkb2N1bWVudCkuaGVpZ2h0KCkrInB4In0sd2lkdGg6ZnVuY3Rpb24oKXt2YXIgZyxp
O2lmKGEuYnJvd3Nlci5tc2llKXtnPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxXaWR0aCxkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKTtpPU1hdGgubWF4KGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCxkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKTty
ZXR1cm4gZzxpP2Eod2luZG93KS53aWR0aCgpKyJweCI6ZysicHgifWVsc2UgcmV0dXJuIGEoZG9j
dW1lbnQpLndpZHRoKCkrInB4In0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGc9YShbXSk7YS5lYWNo
KGEudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFuY2VzLGZ1bmN0aW9uKCl7Zz0KK2cuYWRkKHRoaXMp
fSk7Zy5jc3Moe3dpZHRoOjAsaGVpZ2h0OjB9KS5jc3Moe3dpZHRoOmEudWkuZGlhbG9nLm92ZXJs
YXkud2lkdGgoKSxoZWlnaHQ6YS51aS5kaWFsb2cub3ZlcmxheS5oZWlnaHQoKX0pfX0pO2EuZXh0
ZW5kKGEudWkuZGlhbG9nLm92ZXJsYXkucHJvdG90eXBlLHtkZXN0cm95OmZ1bmN0aW9uKCl7YS51
aS5kaWFsb2cub3ZlcmxheS5kZXN0cm95KHRoaXMuJGVsKX19KX0pKGpRdWVyeSk7CisoZnVuY3Rp
b24oYSl7YS51aT1hLnVpfHx7fTt2YXIgYz0vbGVmdHxjZW50ZXJ8cmlnaHQvLGQ9L3RvcHxjZW50
ZXJ8Ym90dG9tLyxlPWEuZm4ucG9zaXRpb24saD1hLmZuLm9mZnNldDthLmZuLnBvc2l0aW9uPWZ1
bmN0aW9uKGcpe2lmKCFnfHwhZy5vZilyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Zz1h
LmV4dGVuZCh7fSxnKTt2YXIgaT1hKGcub2YpLGI9aVswXSxmPShnLmNvbGxpc2lvbnx8ImZsaXAi
KS5zcGxpdCgiICIpLGo9Zy5vZmZzZXQ/Zy5vZmZzZXQuc3BsaXQoIiAiKTpbMCwwXSxsLG8sbjtp
ZihiLm5vZGVUeXBlPT09OSl7bD1pLndpZHRoKCk7bz1pLmhlaWdodCgpO249e3RvcDowLGxlZnQ6
MH19ZWxzZSBpZihiLnNldFRpbWVvdXQpe2w9aS53aWR0aCgpO289aS5oZWlnaHQoKTtuPXt0b3A6
aS5zY3JvbGxUb3AoKSxsZWZ0Omkuc2Nyb2xsTGVmdCgpfX1lbHNlIGlmKGIucHJldmVudERlZmF1
bHQpe2cuYXQ9ImxlZnQgdG9wIjtsPW89MDtuPXt0b3A6Zy5vZi5wYWdlWSwKK2xlZnQ6Zy5vZi5w
YWdlWH19ZWxzZXtsPWkub3V0ZXJXaWR0aCgpO289aS5vdXRlckhlaWdodCgpO249aS5vZmZzZXQo
KX1hLmVhY2goWyJteSIsImF0Il0sZnVuY3Rpb24oKXt2YXIgaz0oZ1t0aGlzXXx8IiIpLnNwbGl0
KCIgIik7aWYoay5sZW5ndGg9PT0xKWs9Yy50ZXN0KGtbMF0pP2suY29uY2F0KFsiY2VudGVyIl0p
OmQudGVzdChrWzBdKT9bImNlbnRlciJdLmNvbmNhdChrKTpbImNlbnRlciIsImNlbnRlciJdO2tb
MF09Yy50ZXN0KGtbMF0pP2tbMF06ImNlbnRlciI7a1sxXT1kLnRlc3Qoa1sxXSk/a1sxXToiY2Vu
dGVyIjtnW3RoaXNdPWt9KTtpZihmLmxlbmd0aD09PTEpZlsxXT1mWzBdO2pbMF09cGFyc2VJbnQo
alswXSwxMCl8fDA7aWYoai5sZW5ndGg9PT0xKWpbMV09alswXTtqWzFdPXBhcnNlSW50KGpbMV0s
MTApfHwwO2lmKGcuYXRbMF09PT0icmlnaHQiKW4ubGVmdCs9bDtlbHNlIGlmKGcuYXRbMF09PT0i
Y2VudGVyIiluLmxlZnQrPWwvMjtpZihnLmF0WzFdPT09ImJvdHRvbSIpbi50b3ArPQorbztlbHNl
IGlmKGcuYXRbMV09PT0iY2VudGVyIiluLnRvcCs9by8yO24ubGVmdCs9alswXTtuLnRvcCs9alsx
XTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9YSh0aGlzKSxtPWsub3V0ZXJXaWR0
aCgpLHA9ay5vdXRlckhlaWdodCgpLHE9cGFyc2VJbnQoYS5jdXJDU1ModGhpcywibWFyZ2luTGVm
dCIsdHJ1ZSkpfHwwLHM9cGFyc2VJbnQoYS5jdXJDU1ModGhpcywibWFyZ2luVG9wIix0cnVlKSl8
fDAscj1tK3ErKHBhcnNlSW50KGEuY3VyQ1NTKHRoaXMsIm1hcmdpblJpZ2h0Iix0cnVlKSl8fDAp
LHU9cCtzKyhwYXJzZUludChhLmN1ckNTUyh0aGlzLCJtYXJnaW5Cb3R0b20iLHRydWUpKXx8MCks
dj1hLmV4dGVuZCh7fSxuKSx3O2lmKGcubXlbMF09PT0icmlnaHQiKXYubGVmdC09bTtlbHNlIGlm
KGcubXlbMF09PT0iY2VudGVyIil2LmxlZnQtPW0vMjtpZihnLm15WzFdPT09ImJvdHRvbSIpdi50
b3AtPXA7ZWxzZSBpZihnLm15WzFdPT09ImNlbnRlciIpdi50b3AtPQorcC8yO3YubGVmdD1NYXRo
LnJvdW5kKHYubGVmdCk7di50b3A9TWF0aC5yb3VuZCh2LnRvcCk7dz17bGVmdDp2LmxlZnQtcSx0
b3A6di50b3Atc307YS5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHgseSl7YS51aS5wb3Np
dGlvbltmW3hdXSYmYS51aS5wb3NpdGlvbltmW3hdXVt5XSh2LHt0YXJnZXRXaWR0aDpsLHRhcmdl
dEhlaWdodDpvLGVsZW1XaWR0aDptLGVsZW1IZWlnaHQ6cCxjb2xsaXNpb25Qb3NpdGlvbjp3LGNv
bGxpc2lvbldpZHRoOnIsY29sbGlzaW9uSGVpZ2h0OnUsb2Zmc2V0OmosbXk6Zy5teSxhdDpnLmF0
fSl9KTthLmZuLmJnaWZyYW1lJiZrLmJnaWZyYW1lKCk7ay5vZmZzZXQoYS5leHRlbmQodix7dXNp
bmc6Zy51c2luZ30pKX0pfTthLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oZyxpKXt2
YXIgYj1hKHdpbmRvdyk7Yj1pLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQraS5jb2xsaXNpb25XaWR0
aC1iLndpZHRoKCktYi5zY3JvbGxMZWZ0KCk7Zy5sZWZ0PQorYj4wP2cubGVmdC1iOk1hdGgubWF4
KGcubGVmdC1pLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQsZy5sZWZ0KX0sdG9wOmZ1bmN0aW9uKGcs
aSl7dmFyIGI9YSh3aW5kb3cpO2I9aS5jb2xsaXNpb25Qb3NpdGlvbi50b3AraS5jb2xsaXNpb25I
ZWlnaHQtYi5oZWlnaHQoKS1iLnNjcm9sbFRvcCgpO2cudG9wPWI+MD9nLnRvcC1iOk1hdGgubWF4
KGcudG9wLWkuY29sbGlzaW9uUG9zaXRpb24udG9wLGcudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rp
b24oZyxpKXtpZihpLmF0WzBdIT09ImNlbnRlciIpe3ZhciBiPWEod2luZG93KTtiPWkuY29sbGlz
aW9uUG9zaXRpb24ubGVmdCtpLmNvbGxpc2lvbldpZHRoLWIud2lkdGgoKS1iLnNjcm9sbExlZnQo
KTt2YXIgZj1pLm15WzBdPT09ImxlZnQiPy1pLmVsZW1XaWR0aDppLm15WzBdPT09InJpZ2h0Ij9p
LmVsZW1XaWR0aDowLGo9aS5hdFswXT09PSJsZWZ0Ij9pLnRhcmdldFdpZHRoOi1pLnRhcmdldFdp
ZHRoLGw9LTIqaS5vZmZzZXRbMF07Zy5sZWZ0Kz0KK2kuY29sbGlzaW9uUG9zaXRpb24ubGVmdDww
P2YraitsOmI+MD9mK2orbDowfX0sdG9wOmZ1bmN0aW9uKGcsaSl7aWYoaS5hdFsxXSE9PSJjZW50
ZXIiKXt2YXIgYj1hKHdpbmRvdyk7Yj1pLmNvbGxpc2lvblBvc2l0aW9uLnRvcCtpLmNvbGxpc2lv
bkhlaWdodC1iLmhlaWdodCgpLWIuc2Nyb2xsVG9wKCk7dmFyIGY9aS5teVsxXT09PSJ0b3AiPy1p
LmVsZW1IZWlnaHQ6aS5teVsxXT09PSJib3R0b20iP2kuZWxlbUhlaWdodDowLGo9aS5hdFsxXT09
PSJ0b3AiP2kudGFyZ2V0SGVpZ2h0Oi1pLnRhcmdldEhlaWdodCxsPS0yKmkub2Zmc2V0WzFdO2cu
dG9wKz1pLmNvbGxpc2lvblBvc2l0aW9uLnRvcDwwP2YraitsOmI+MD9mK2orbDowfX19fTtpZigh
YS5vZmZzZXQuc2V0T2Zmc2V0KXthLm9mZnNldC5zZXRPZmZzZXQ9ZnVuY3Rpb24oZyxpKXtpZigv
c3RhdGljLy50ZXN0KGEuY3VyQ1NTKGcsInBvc2l0aW9uIikpKWcuc3R5bGUucG9zaXRpb249InJl
bGF0aXZlIjt2YXIgYj1hKGcpLAorZj1iLm9mZnNldCgpLGo9cGFyc2VJbnQoYS5jdXJDU1MoZywi
dG9wIix0cnVlKSwxMCl8fDAsbD1wYXJzZUludChhLmN1ckNTUyhnLCJsZWZ0Iix0cnVlKSwxMCl8
fDA7Zj17dG9wOmkudG9wLWYudG9wK2osbGVmdDppLmxlZnQtZi5sZWZ0K2x9OyJ1c2luZyJpbiBp
P2kudXNpbmcuY2FsbChnLGYpOmIuY3NzKGYpfTthLmZuLm9mZnNldD1mdW5jdGlvbihnKXt2YXIg
aT10aGlzWzBdO2lmKCFpfHwhaS5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGcpcmV0dXJu
IHRoaXMuZWFjaChmdW5jdGlvbigpe2Eub2Zmc2V0LnNldE9mZnNldCh0aGlzLGcpfSk7cmV0dXJu
IGguY2FsbCh0aGlzKX19fSkoalF1ZXJ5KTsKKyhmdW5jdGlvbihhLGMpe2Eud2lkZ2V0KCJ1aS5w
cm9ncmVzc2JhciIse29wdGlvbnM6e3ZhbHVlOjAsbWF4OjEwMH0sbWluOjAsX2NyZWF0ZTpmdW5j
dGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVp
LXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIs
ImFyaWEtdmFsdWVtaW4iOnRoaXMubWluLCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMubWF4
LCJhcmlhLXZhbHVlbm93Ijp0aGlzLl92YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1hKCI8ZGl2IGNs
YXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0
Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpO3RoaXMub2xkVmFsdWU9dGhpcy5fdmFs
dWUoKTt0aGlzLl9yZWZyZXNoVmFsdWUoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVu
dC5yZW1vdmVDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50
IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1
ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVl
bm93Iik7Cit0aGlzLnZhbHVlRGl2LnJlbW92ZSgpO2EuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95
LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdmFsdWU6ZnVuY3Rpb24oZCl7aWYoZD09PWMpcmV0dXJu
IHRoaXMuX3ZhbHVlKCk7dGhpcy5fc2V0T3B0aW9uKCJ2YWx1ZSIsZCk7cmV0dXJuIHRoaXN9LF9z
ZXRPcHRpb246ZnVuY3Rpb24oZCxlKXtpZihkPT09InZhbHVlIil7dGhpcy5vcHRpb25zLnZhbHVl
PWU7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fdmFsdWUoKT09PXRoaXMub3B0aW9ucy5tYXgm
JnRoaXMuX3RyaWdnZXIoImNvbXBsZXRlIil9YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24u
YXBwbHkodGhpcyxhcmd1bWVudHMpfSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm9wdGlv
bnMudmFsdWU7aWYodHlwZW9mIGQhPT0ibnVtYmVyIilkPTA7cmV0dXJuIE1hdGgubWluKHRoaXMu
b3B0aW9ucy5tYXgsTWF0aC5tYXgodGhpcy5taW4sZCkpfSxfcGVyY2VudGFnZTpmdW5jdGlvbigp
e3JldHVybiAxMDAqCit0aGlzLl92YWx1ZSgpL3RoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFs
dWU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLnZhbHVlKCksZT10aGlzLl9wZXJjZW50YWdlKCk7aWYo
dGhpcy5vbGRWYWx1ZSE9PWQpe3RoaXMub2xkVmFsdWU9ZDt0aGlzLl90cmlnZ2VyKCJjaGFuZ2Ui
KX10aGlzLnZhbHVlRGl2LnRvZ2dsZShkPnRoaXMubWluKS50b2dnbGVDbGFzcygidWktY29ybmVy
LXJpZ2h0IixkPT09dGhpcy5vcHRpb25zLm1heCkud2lkdGgoZS50b0ZpeGVkKDApKyIlIik7dGhp
cy5lbGVtZW50LmF0dHIoImFyaWEtdmFsdWVub3ciLGQpfX0pO2EuZXh0ZW5kKGEudWkucHJvZ3Jl
c3NiYXIse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oYSl7YS53aWRn
ZXQoInVpLnNsaWRlciIsYS51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRp
b25zOnthbmltYXRlOmZhbHNlLGRpc3RhbmNlOjAsbWF4OjEwMCxtaW46MCxvcmllbnRhdGlvbjoi
aG9yaXpvbnRhbCIscmFuZ2U6ZmFsc2Usc3RlcDoxLHZhbHVlOjAsdmFsdWVzOm51bGx9LF9jcmVh
dGU6ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5lbGVtZW50LmZp
bmQoIi51aS1zbGlkZXItaGFuZGxlIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29y
bmVyLWFsbCIpLGg9ZC52YWx1ZXMmJmQudmFsdWVzLmxlbmd0aHx8MSxnPVtdO3RoaXMuX21vdXNl
U2xpZGluZz10aGlzLl9rZXlTbGlkaW5nPWZhbHNlO3RoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlz
Ll9oYW5kbGVJbmRleD1udWxsO3RoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7dGhpcy5fbW91c2VJ
bml0KCk7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrCit0aGlz
Lm9yaWVudGF0aW9uKyIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwi
KyhkLmRpc2FibGVkPyIgdWktc2xpZGVyLWRpc2FibGVkIHVpLWRpc2FibGVkIjoiIikpO3RoaXMu
cmFuZ2U9YShbXSk7aWYoZC5yYW5nZSl7aWYoZC5yYW5nZT09PXRydWUpe2lmKCFkLnZhbHVlcylk
LnZhbHVlcz1bdGhpcy5fdmFsdWVNaW4oKSx0aGlzLl92YWx1ZU1pbigpXTtpZihkLnZhbHVlcy5s
ZW5ndGgmJmQudmFsdWVzLmxlbmd0aCE9PTIpZC52YWx1ZXM9W2QudmFsdWVzWzBdLGQudmFsdWVz
WzBdXX10aGlzLnJhbmdlPWEoIjxkaXY+PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KS5h
ZGRDbGFzcygidWktc2xpZGVyLXJhbmdlIHVpLXdpZGdldC1oZWFkZXIiKyhkLnJhbmdlPT09Im1p
biJ8fGQucmFuZ2U9PT0ibWF4Ij8iIHVpLXNsaWRlci1yYW5nZS0iK2QucmFuZ2U6IiIpKX1mb3Io
dmFyIGk9ZS5sZW5ndGg7aTxoO2krPTEpZy5wdXNoKCI8YSBjbGFzcz0ndWktc2xpZGVyLWhhbmRs
ZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwnIGhyZWY9JyMnPjwvYT4iKTsKK3RoaXMu
aGFuZGxlcz1lLmFkZChhKGcuam9pbigiIikpLmFwcGVuZFRvKGMuZWxlbWVudCkpO3RoaXMuaGFu
ZGxlPXRoaXMuaGFuZGxlcy5lcSgwKTt0aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRl
cigiYSIpLmNsaWNrKGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0
aW9uKCl7ZC5kaXNhYmxlZHx8YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVu
Y3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVu
Y3Rpb24oKXtpZihkLmRpc2FibGVkKWEodGhpcykuYmx1cigpO2Vsc2V7YSgiLnVpLXNsaWRlciAu
dWktc3RhdGUtZm9jdXMiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTthKHRoaXMpLmFk
ZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pLmJsdXIoZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92
ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oYil7
YSh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiwKK2IpfSk7dGhpcy5oYW5kbGVz
LmtleWRvd24oZnVuY3Rpb24oYil7dmFyIGY9dHJ1ZSxqPWEodGhpcykuZGF0YSgiaW5kZXgudWkt
c2xpZGVyLWhhbmRsZSIpLGwsbyxuO2lmKCFjLm9wdGlvbnMuZGlzYWJsZWQpe3N3aXRjaChiLmtl
eUNvZGUpe2Nhc2UgYS51aS5rZXlDb2RlLkhPTUU6Y2FzZSBhLnVpLmtleUNvZGUuRU5EOmNhc2Ug
YS51aS5rZXlDb2RlLlBBR0VfVVA6Y2FzZSBhLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgYS51
aS5rZXlDb2RlLlVQOmNhc2UgYS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgYS51aS5rZXlDb2RlLkRP
V046Y2FzZSBhLnVpLmtleUNvZGUuTEVGVDpmPWZhbHNlO2lmKCFjLl9rZXlTbGlkaW5nKXtjLl9r
ZXlTbGlkaW5nPXRydWU7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7bD1jLl9z
dGFydChiLGopO2lmKGw9PT1mYWxzZSlyZXR1cm59YnJlYWt9bj1jLm9wdGlvbnMuc3RlcDtsPWMu
b3B0aW9ucy52YWx1ZXMmJmMub3B0aW9ucy52YWx1ZXMubGVuZ3RoPworKG89Yy52YWx1ZXMoaikp
OihvPWMudmFsdWUoKSk7c3dpdGNoKGIua2V5Q29kZSl7Y2FzZSBhLnVpLmtleUNvZGUuSE9NRTpv
PWMuX3ZhbHVlTWluKCk7YnJlYWs7Y2FzZSBhLnVpLmtleUNvZGUuRU5EOm89Yy5fdmFsdWVNYXgo
KTticmVhaztjYXNlIGEudWkua2V5Q29kZS5QQUdFX1VQOm89Yy5fdHJpbUFsaWduVmFsdWUobCso
Yy5fdmFsdWVNYXgoKS1jLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGEudWkua2V5Q29kZS5Q
QUdFX0RPV046bz1jLl90cmltQWxpZ25WYWx1ZShsLShjLl92YWx1ZU1heCgpLWMuX3ZhbHVlTWlu
KCkpLzUpO2JyZWFrO2Nhc2UgYS51aS5rZXlDb2RlLlVQOmNhc2UgYS51aS5rZXlDb2RlLlJJR0hU
OmlmKGw9PT1jLl92YWx1ZU1heCgpKXJldHVybjtvPWMuX3RyaW1BbGlnblZhbHVlKGwrbik7YnJl
YWs7Y2FzZSBhLnVpLmtleUNvZGUuRE9XTjpjYXNlIGEudWkua2V5Q29kZS5MRUZUOmlmKGw9PT1j
Ll92YWx1ZU1pbigpKXJldHVybjtvPWMuX3RyaW1BbGlnblZhbHVlKGwtCituKTticmVha31jLl9z
bGlkZShiLGosbyk7cmV0dXJuIGZ9fSkua2V5dXAoZnVuY3Rpb24oYil7dmFyIGY9YSh0aGlzKS5k
YXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIik7aWYoYy5fa2V5U2xpZGluZyl7Yy5fa2V5U2xp
ZGluZz1mYWxzZTtjLl9zdG9wKGIsZik7Yy5fY2hhbmdlKGIsZik7YSh0aGlzKS5yZW1vdmVDbGFz
cygidWktc3RhdGUtYWN0aXZlIil9fSk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0
ZU9mZj1mYWxzZX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlz
LnJhbmdlLnJlbW92ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNs
aWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWkt
d2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlk
ZXIiKS51bmJpbmQoIi5zbGlkZXIiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTsKK3JldHVybiB0aGlz
fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9ucyxlLGgsZyxpLGI7
aWYoZC5kaXNhYmxlZClyZXR1cm4gZmFsc2U7dGhpcy5lbGVtZW50U2l6ZT17d2lkdGg6dGhpcy5l
bGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCl9O3Ro
aXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7ZT10aGlzLl9ub3JtVmFsdWVG
cm9tTW91c2Uoe3g6Yy5wYWdlWCx5OmMucGFnZVl9KTtoPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5f
dmFsdWVNaW4oKSsxO2k9dGhpczt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihmKXt2YXIgaj1N
YXRoLmFicyhlLWkudmFsdWVzKGYpKTtpZihoPmope2g9ajtnPWEodGhpcyk7Yj1mfX0pO2lmKGQu
cmFuZ2U9PT10cnVlJiZ0aGlzLnZhbHVlcygxKT09PWQubWluKXtiKz0xO2c9YSh0aGlzLmhhbmRs
ZXNbYl0pfWlmKHRoaXMuX3N0YXJ0KGMsYik9PT1mYWxzZSlyZXR1cm4gZmFsc2U7Cit0aGlzLl9t
b3VzZVNsaWRpbmc9dHJ1ZTtpLl9oYW5kbGVJbmRleD1iO2cuYWRkQ2xhc3MoInVpLXN0YXRlLWFj
dGl2ZSIpLmZvY3VzKCk7ZD1nLm9mZnNldCgpO3RoaXMuX2NsaWNrT2Zmc2V0PSFhKGMudGFyZ2V0
KS5wYXJlbnRzKCkuYW5kU2VsZigpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpP3tsZWZ0OjAsdG9w
OjB9OntsZWZ0OmMucGFnZVgtZC5sZWZ0LWcud2lkdGgoKS8yLHRvcDpjLnBhZ2VZLWQudG9wLWcu
aGVpZ2h0KCkvMi0ocGFyc2VJbnQoZy5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFy
c2VJbnQoZy5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZy5jc3Mo
Im1hcmdpblRvcCIpLDEwKXx8MCl9O3RoaXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92
ZXIiKXx8dGhpcy5fc2xpZGUoYyxiLGUpO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPXRydWV9LF9t
b3VzZVN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7
dmFyIGQ9Cit0aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6Yy5wYWdlWCx5OmMucGFnZVl9KTt0
aGlzLl9zbGlkZShjLHRoaXMuX2hhbmRsZUluZGV4LGQpO3JldHVybiBmYWxzZX0sX21vdXNlU3Rv
cDpmdW5jdGlvbihjKXt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIp
O3RoaXMuX21vdXNlU2xpZGluZz1mYWxzZTt0aGlzLl9zdG9wKGMsdGhpcy5faGFuZGxlSW5kZXgp
O3RoaXMuX2NoYW5nZShjLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlz
Ll9oYW5kbGVJbmRleD1udWxsO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0
T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmll
bnRhdGlvbj09PSJ2ZXJ0aWNhbCI/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVG
cm9tTW91c2U6ZnVuY3Rpb24oYyl7dmFyIGQ7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9u
dGFsIil7ZD0KK3RoaXMuZWxlbWVudFNpemUud2lkdGg7Yz1jLngtdGhpcy5lbGVtZW50T2Zmc2V0
LmxlZnQtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCl9ZWxzZXtk
PXRoaXMuZWxlbWVudFNpemUuaGVpZ2h0O2M9Yy55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRo
aXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKX1kPWMvZDtpZihkPjEpZD0x
O2lmKGQ8MClkPTA7aWYodGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpZD0xLWQ7Yz10aGlz
Ll92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCk7cmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVl
KHRoaXMuX3ZhbHVlTWluKCkrZCpjKX0sX3N0YXJ0OmZ1bmN0aW9uKGMsZCl7dmFyIGU9e2hhbmRs
ZTp0aGlzLmhhbmRsZXNbZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFs
dWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZhbHVlcyhkKTsK
K2UudmFsdWVzPXRoaXMudmFsdWVzKCl9cmV0dXJuIHRoaXMuX3RyaWdnZXIoInN0YXJ0IixjLGUp
fSxfc2xpZGU6ZnVuY3Rpb24oYyxkLGUpe3ZhciBoO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRo
aXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtoPXRoaXMudmFsdWVzKGQ/MDoxKTtpZih0aGlzLm9w
dGlvbnMudmFsdWVzLmxlbmd0aD09PTImJnRoaXMub3B0aW9ucy5yYW5nZT09PXRydWUmJihkPT09
MCYmZT5ofHxkPT09MSYmZTxoKSllPWg7aWYoZSE9PXRoaXMudmFsdWVzKGQpKXtoPXRoaXMudmFs
dWVzKCk7aFtkXT1lO2M9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGMse2hhbmRsZTp0aGlzLmhhbmRs
ZXNbZF0sdmFsdWU6ZSx2YWx1ZXM6aH0pO3RoaXMudmFsdWVzKGQ/MDoxKTtjIT09ZmFsc2UmJnRo
aXMudmFsdWVzKGQsZSx0cnVlKX19ZWxzZSBpZihlIT09dGhpcy52YWx1ZSgpKXtjPXRoaXMuX3Ry
aWdnZXIoInNsaWRlIixjLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2RdLHZhbHVlOmV9KTsKK2MhPT1m
YWxzZSYmdGhpcy52YWx1ZShlKX19LF9zdG9wOmZ1bmN0aW9uKGMsZCl7dmFyIGU9e2hhbmRsZTp0
aGlzLmhhbmRsZXNbZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVz
JiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZhbHVlcyhkKTtlLnZh
bHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGMsZSl9LF9jaGFuZ2U6ZnVu
Y3Rpb24oYyxkKXtpZighdGhpcy5fa2V5U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFy
IGU9e2hhbmRsZTp0aGlzLmhhbmRsZXNbZF0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9w
dGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7ZS52YWx1ZT10aGlzLnZh
bHVlcyhkKTtlLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYyxl
KX19LHZhbHVlOmZ1bmN0aW9uKGMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52
YWx1ZT0KK3RoaXMuX3RyaW1BbGlnblZhbHVlKGMpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMu
X2NoYW5nZShudWxsLDApfWVsc2UgcmV0dXJuIHRoaXMuX3ZhbHVlKCl9LHZhbHVlczpmdW5jdGlv
bihjLGQpe3ZhciBlLGgsZztpZihhcmd1bWVudHMubGVuZ3RoPjEpe3RoaXMub3B0aW9ucy52YWx1
ZXNbY109dGhpcy5fdHJpbUFsaWduVmFsdWUoZCk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5f
Y2hhbmdlKG51bGwsYyl9ZWxzZSBpZihhcmd1bWVudHMubGVuZ3RoKWlmKGEuaXNBcnJheShhcmd1
bWVudHNbMF0pKXtlPXRoaXMub3B0aW9ucy52YWx1ZXM7aD1hcmd1bWVudHNbMF07Zm9yKGc9MDtn
PGUubGVuZ3RoO2crPTEpe2VbZ109dGhpcy5fdHJpbUFsaWduVmFsdWUoaFtnXSk7dGhpcy5fY2hh
bmdlKG51bGwsZyl9dGhpcy5fcmVmcmVzaFZhbHVlKCl9ZWxzZSByZXR1cm4gdGhpcy5vcHRpb25z
LnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKGMpOgordGhp
cy52YWx1ZSgpO2Vsc2UgcmV0dXJuIHRoaXMuX3ZhbHVlcygpfSxfc2V0T3B0aW9uOmZ1bmN0aW9u
KGMsZCl7dmFyIGUsaD0wO2lmKGEuaXNBcnJheSh0aGlzLm9wdGlvbnMudmFsdWVzKSloPXRoaXMu
b3B0aW9ucy52YWx1ZXMubGVuZ3RoO2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5
KHRoaXMsYXJndW1lbnRzKTtzd2l0Y2goYyl7Y2FzZSAiZGlzYWJsZWQiOmlmKGQpe3RoaXMuaGFu
ZGxlcy5maWx0ZXIoIi51aS1zdGF0ZS1mb2N1cyIpLmJsdXIoKTt0aGlzLmhhbmRsZXMucmVtb3Zl
Q2xhc3MoInVpLXN0YXRlLWhvdmVyIik7dGhpcy5oYW5kbGVzLnByb3BBdHRyKCJkaXNhYmxlZCIs
dHJ1ZSk7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5k
bGVzLnByb3BBdHRyKCJkaXNhYmxlZCIsZmFsc2UpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygi
dWktZGlzYWJsZWQiKX1icmVhaztjYXNlICJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50
YXRpb24oKTsKK3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyLWhvcml6b250YWwg
dWktc2xpZGVyLXZlcnRpY2FsIikuYWRkQ2xhc3MoInVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRp
b24pO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO2JyZWFrO2Nhc2UgInZhbHVlIjp0aGlzLl9hbmltYXRl
T2ZmPXRydWU7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCk7dGhpcy5f
YW5pbWF0ZU9mZj1mYWxzZTticmVhaztjYXNlICJ2YWx1ZXMiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1
ZTt0aGlzLl9yZWZyZXNoVmFsdWUoKTtmb3IoZT0wO2U8aDtlKz0xKXRoaXMuX2NoYW5nZShudWxs
LGUpO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2U7YnJlYWt9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIg
Yz10aGlzLm9wdGlvbnMudmFsdWU7cmV0dXJuIGM9dGhpcy5fdHJpbUFsaWduVmFsdWUoYyl9LF92
YWx1ZXM6ZnVuY3Rpb24oYyl7dmFyIGQsZTtpZihhcmd1bWVudHMubGVuZ3RoKXtkPXRoaXMub3B0
aW9ucy52YWx1ZXNbY107CityZXR1cm4gZD10aGlzLl90cmltQWxpZ25WYWx1ZShkKX1lbHNle2Q9
dGhpcy5vcHRpb25zLnZhbHVlcy5zbGljZSgpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKz0xKWRbZV09
dGhpcy5fdHJpbUFsaWduVmFsdWUoZFtlXSk7cmV0dXJuIGR9fSxfdHJpbUFsaWduVmFsdWU6ZnVu
Y3Rpb24oYyl7aWYoYzw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtp
ZihjPj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBkPXRoaXMu
b3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxlPShjLXRoaXMuX3ZhbHVlTWluKCkp
JWQ7Yz1jLWU7aWYoTWF0aC5hYnMoZSkqMj49ZCljKz1lPjA/ZDotZDtyZXR1cm4gcGFyc2VGbG9h
dChjLnRvRml4ZWQoNSkpfSxfdmFsdWVNaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25z
Lm1pbn0sX3ZhbHVlTWF4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LF9yZWZy
ZXNoVmFsdWU6ZnVuY3Rpb24oKXt2YXIgYz0KK3RoaXMub3B0aW9ucy5yYW5nZSxkPXRoaXMub3B0
aW9ucyxlPXRoaXMsaD0hdGhpcy5fYW5pbWF0ZU9mZj9kLmFuaW1hdGU6ZmFsc2UsZyxpPXt9LGIs
ZixqLGw7aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgp
dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24obyl7Zz0oZS52YWx1ZXMobyktZS5fdmFsdWVNaW4o
KSkvKGUuX3ZhbHVlTWF4KCktZS5fdmFsdWVNaW4oKSkqMTAwO2lbZS5vcmllbnRhdGlvbj09PSJo
b3Jpem9udGFsIj8ibGVmdCI6ImJvdHRvbSJdPWcrIiUiO2EodGhpcykuc3RvcCgxLDEpW2g/ImFu
aW1hdGUiOiJjc3MiXShpLGQuYW5pbWF0ZSk7aWYoZS5vcHRpb25zLnJhbmdlPT09dHJ1ZSlpZihl
Lm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtpZihvPT09MCllLnJhbmdlLnN0b3AoMSwxKVto
PyJhbmltYXRlIjoiY3NzIl0oe2xlZnQ6ZysiJSJ9LGQuYW5pbWF0ZSk7aWYobz09PTEpZS5yYW5n
ZVtoPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmctCitiKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0
aW9uOmQuYW5pbWF0ZX0pfWVsc2V7aWYobz09PTApZS5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0
ZSI6ImNzcyJdKHtib3R0b206ZysiJSJ9LGQuYW5pbWF0ZSk7aWYobz09PTEpZS5yYW5nZVtoPyJh
bmltYXRlIjoiY3NzIl0oe2hlaWdodDpnLWIrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZC5h
bmltYXRlfSl9Yj1nfSk7ZWxzZXtmPXRoaXMudmFsdWUoKTtqPXRoaXMuX3ZhbHVlTWluKCk7bD10
aGlzLl92YWx1ZU1heCgpO2c9bCE9PWo/KGYtaikvKGwtaikqMTAwOjA7aVtlLm9yaWVudGF0aW9u
PT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90dG9tIl09ZysiJSI7dGhpcy5oYW5kbGUuc3RvcCgx
LDEpW2g/ImFuaW1hdGUiOiJjc3MiXShpLGQuYW5pbWF0ZSk7aWYoYz09PSJtaW4iJiZ0aGlzLm9y
aWVudGF0aW9uPT09Imhvcml6b250YWwiKXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUi
OiJjc3MiXSh7d2lkdGg6ZysiJSJ9LAorZC5hbmltYXRlKTtpZihjPT09Im1heCImJnRoaXMub3Jp
ZW50YXRpb249PT0iaG9yaXpvbnRhbCIpdGhpcy5yYW5nZVtoPyJhbmltYXRlIjoiY3NzIl0oe3dp
ZHRoOjEwMC1nKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0ZX0pO2lmKGM9PT0i
bWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlb
aD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6ZysiJSJ9LGQuYW5pbWF0ZSk7aWYoYz09PSJtYXgi
JiZ0aGlzLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIil0aGlzLnJhbmdlW2g/ImFuaW1hdGUiOiJj
c3MiXSh7aGVpZ2h0OjEwMC1nKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0ZX0p
fX19KTthLmV4dGVuZChhLnVpLnNsaWRlcix7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsK
KyhmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGQoKXtyZXR1cm4rK2h9ZnVuY3Rpb24gZSgpe3JldHVy
bisrZ312YXIgaD0wLGc9MDthLndpZGdldCgidWkudGFicyIse29wdGlvbnM6e2FkZDpudWxsLGFq
YXhPcHRpb25zOm51bGwsY2FjaGU6ZmFsc2UsY29va2llOm51bGwsY29sbGFwc2libGU6ZmFsc2Us
ZGlzYWJsZTpudWxsLGRpc2FibGVkOltdLGVuYWJsZTpudWxsLGV2ZW50OiJjbGljayIsZng6bnVs
bCxpZFByZWZpeDoidWktdGFicy0iLGxvYWQ6bnVsbCxwYW5lbFRlbXBsYXRlOiI8ZGl2PjwvZGl2
PiIscmVtb3ZlOm51bGwsc2VsZWN0Om51bGwsc2hvdzpudWxsLHNwaW5uZXI6IjxlbT5Mb2FkaW5n
JiM4MjMwOzwvZW0+Iix0YWJUZW1wbGF0ZToiPGxpPjxhIGhyZWY9JyN7aHJlZn0nPjxzcGFuPiN7
bGFiZWx9PC9zcGFuPjwvYT48L2xpPiJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl90YWJpZnko
dHJ1ZSl9LF9zZXRPcHRpb246ZnVuY3Rpb24oaSxiKXtpZihpPT0ic2VsZWN0ZWQiKXRoaXMub3B0
aW9ucy5jb2xsYXBzaWJsZSYmCitiPT10aGlzLm9wdGlvbnMuc2VsZWN0ZWR8fHRoaXMuc2VsZWN0
KGIpO2Vsc2V7dGhpcy5vcHRpb25zW2ldPWI7dGhpcy5fdGFiaWZ5KCl9fSxfdGFiSWQ6ZnVuY3Rp
b24oaSl7cmV0dXJuIGkudGl0bGUmJmkudGl0bGUucmVwbGFjZSgvXHMvZywiXyIpLnJlcGxhY2Uo
L1teXHdcdTAwYzAtXHVGRkZGLV0vZywiIil8fHRoaXMub3B0aW9ucy5pZFByZWZpeCtkKCl9LF9z
YW5pdGl6ZVNlbGVjdG9yOmZ1bmN0aW9uKGkpe3JldHVybiBpLnJlcGxhY2UoLzovZywiXFw6Iil9
LF9jb29raWU6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLmNvb2tpZXx8KHRoaXMuY29va2llPXRoaXMu
b3B0aW9ucy5jb29raWUubmFtZXx8InVpLXRhYnMtIitlKCkpO3JldHVybiBhLmNvb2tpZS5hcHBs
eShudWxsLFtpXS5jb25jYXQoYS5tYWtlQXJyYXkoYXJndW1lbnRzKSkpfSxfdWk6ZnVuY3Rpb24o
aSxiKXtyZXR1cm57dGFiOmkscGFuZWw6YixpbmRleDp0aGlzLmFuY2hvcnMuaW5kZXgoaSl9fSxf
Y2xlYW51cDpmdW5jdGlvbigpe3RoaXMubGlzLmZpbHRlcigiLnVpLXN0YXRlLXByb2Nlc3Npbmci
KS5yZW1vdmVDbGFzcygidWktc3RhdGUtcHJvY2Vzc2luZyIpLmZpbmQoInNwYW46ZGF0YShsYWJl
bC50YWJzKSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT0KK2EodGhpcyk7aS5odG1sKGkuZGF0YSgi
bGFiZWwudGFicyIpKS5yZW1vdmVEYXRhKCJsYWJlbC50YWJzIil9KX0sX3RhYmlmeTpmdW5jdGlv
bihpKXtmdW5jdGlvbiBiKHIsdSl7ci5jc3MoImRpc3BsYXkiLCIiKTshYS5zdXBwb3J0Lm9wYWNp
dHkmJnUub3BhY2l0eSYmclswXS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfXZhciBm
PXRoaXMsaj10aGlzLm9wdGlvbnMsbD0vXiMuKy87dGhpcy5saXN0PXRoaXMuZWxlbWVudC5maW5k
KCJvbCx1bCIpLmVxKDApO3RoaXMubGlzPWEoIiA+IGxpOmhhcyhhW2hyZWZdKSIsdGhpcy5saXN0
KTt0aGlzLmFuY2hvcnM9dGhpcy5saXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGEoImEiLHRoaXMp
WzBdfSk7dGhpcy5wYW5lbHM9YShbXSk7dGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24ocix1KXt2
YXIgdj1hKHUpLmF0dHIoImhyZWYiKSx3PXYuc3BsaXQoIiMiKVswXSx4O2lmKHcmJih3PT09bG9j
YXRpb24udG9TdHJpbmcoKS5zcGxpdCgiIyIpWzBdfHwKKyh4PWEoImJhc2UiKVswXSkmJnc9PT14
LmhyZWYpKXt2PXUuaGFzaDt1LmhyZWY9dn1pZihsLnRlc3QodikpZi5wYW5lbHM9Zi5wYW5lbHMu
YWRkKGYuZWxlbWVudC5maW5kKGYuX3Nhbml0aXplU2VsZWN0b3IodikpKTtlbHNlIGlmKHYmJnYh
PT0iIyIpe2EuZGF0YSh1LCJocmVmLnRhYnMiLHYpO2EuZGF0YSh1LCJsb2FkLnRhYnMiLHYucmVw
bGFjZSgvIy4qJC8sIiIpKTt2PWYuX3RhYklkKHUpO3UuaHJlZj0iIyIrdjt1PWYuZWxlbWVudC5m
aW5kKCIjIit2KTtpZighdS5sZW5ndGgpe3U9YShqLnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIix2
KS5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90
dG9tIikuaW5zZXJ0QWZ0ZXIoZi5wYW5lbHNbci0xXXx8Zi5saXN0KTt1LmRhdGEoImRlc3Ryb3ku
dGFicyIsdHJ1ZSl9Zi5wYW5lbHM9Zi5wYW5lbHMuYWRkKHUpfWVsc2Ugai5kaXNhYmxlZC5wdXNo
KHIpfSk7aWYoaSl7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13
aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIik7Cit0aGlzLmxpc3QuYWRkQ2xhc3MoInVpLXRh
YnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRl
ciB1aS1jb3JuZXItYWxsIik7dGhpcy5saXMuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWkt
Y29ybmVyLXRvcCIpO3RoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdl
dC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKTtpZihqLnNlbGVjdGVkPT09Yyl7bG9jYXRpb24u
aGFzaCYmdGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24ocix1KXtpZih1Lmhhc2g9PWxvY2F0aW9u
Lmhhc2gpe2ouc2VsZWN0ZWQ9cjtyZXR1cm4gZmFsc2V9fSk7aWYodHlwZW9mIGouc2VsZWN0ZWQh
PT0ibnVtYmVyIiYmai5jb29raWUpai5zZWxlY3RlZD1wYXJzZUludChmLl9jb29raWUoKSwxMCk7
aWYodHlwZW9mIGouc2VsZWN0ZWQhPT0ibnVtYmVyIiYmdGhpcy5saXMuZmlsdGVyKCIudWktdGFi
cy1zZWxlY3RlZCIpLmxlbmd0aClqLnNlbGVjdGVkPQordGhpcy5saXMuaW5kZXgodGhpcy5saXMu
ZmlsdGVyKCIudWktdGFicy1zZWxlY3RlZCIpKTtqLnNlbGVjdGVkPWouc2VsZWN0ZWR8fCh0aGlz
Lmxpcy5sZW5ndGg/MDotMSl9ZWxzZSBpZihqLnNlbGVjdGVkPT09bnVsbClqLnNlbGVjdGVkPS0x
O2ouc2VsZWN0ZWQ9ai5zZWxlY3RlZD49MCYmdGhpcy5hbmNob3JzW2ouc2VsZWN0ZWRdfHxqLnNl
bGVjdGVkPDA/ai5zZWxlY3RlZDowO2ouZGlzYWJsZWQ9YS51bmlxdWUoai5kaXNhYmxlZC5jb25j
YXQoYS5tYXAodGhpcy5saXMuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihy
KXtyZXR1cm4gZi5saXMuaW5kZXgocil9KSkpLnNvcnQoKTthLmluQXJyYXkoai5zZWxlY3RlZCxq
LmRpc2FibGVkKSE9LTEmJmouZGlzYWJsZWQuc3BsaWNlKGEuaW5BcnJheShqLnNlbGVjdGVkLGou
ZGlzYWJsZWQpLDEpO3RoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxp
cy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTsKK2lmKGou
c2VsZWN0ZWQ+PTAmJnRoaXMuYW5jaG9ycy5sZW5ndGgpe2YuZWxlbWVudC5maW5kKGYuX3Nhbml0
aXplU2VsZWN0b3IoZi5hbmNob3JzW2ouc2VsZWN0ZWRdLmhhc2gpKS5yZW1vdmVDbGFzcygidWkt
dGFicy1oaWRlIik7dGhpcy5saXMuZXEoai5zZWxlY3RlZCkuYWRkQ2xhc3MoInVpLXRhYnMtc2Vs
ZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7Zi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigp
e2YuX3RyaWdnZXIoInNob3ciLG51bGwsZi5fdWkoZi5hbmNob3JzW2ouc2VsZWN0ZWRdLGYuZWxl
bWVudC5maW5kKGYuX3Nhbml0aXplU2VsZWN0b3IoZi5hbmNob3JzW2ouc2VsZWN0ZWRdLmhhc2gp
KVswXSkpfSk7dGhpcy5sb2FkKGouc2VsZWN0ZWQpfWEod2luZG93KS5iaW5kKCJ1bmxvYWQiLGZ1
bmN0aW9uKCl7Zi5saXMuYWRkKGYuYW5jaG9ycykudW5iaW5kKCIudGFicyIpO2YubGlzPWYuYW5j
aG9ycz1mLnBhbmVscz1udWxsfSl9ZWxzZSBqLnNlbGVjdGVkPXRoaXMubGlzLmluZGV4KHRoaXMu
bGlzLmZpbHRlcigiLnVpLXRhYnMtc2VsZWN0ZWQiKSk7Cit0aGlzLmVsZW1lbnRbai5jb2xsYXBz
aWJsZT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS10YWJzLWNvbGxhcHNpYmxlIik7ai5j
b29raWUmJnRoaXMuX2Nvb2tpZShqLnNlbGVjdGVkLGouY29va2llKTtpPTA7Zm9yKHZhciBvO289
dGhpcy5saXNbaV07aSsrKWEobylbYS5pbkFycmF5KGksai5kaXNhYmxlZCkhPS0xJiYhYShvKS5o
YXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVp
LXN0YXRlLWRpc2FibGVkIik7ai5jYWNoZT09PWZhbHNlJiZ0aGlzLmFuY2hvcnMucmVtb3ZlRGF0
YSgiY2FjaGUudGFicyIpO3RoaXMubGlzLmFkZCh0aGlzLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMi
KTtpZihqLmV2ZW50IT09Im1vdXNlb3ZlciIpe3ZhciBuPWZ1bmN0aW9uKHIsdSl7dS5pcygiOm5v
dCgudWktc3RhdGUtZGlzYWJsZWQpIikmJnUuYWRkQ2xhc3MoInVpLXN0YXRlLSIrcil9LGs9ZnVu
Y3Rpb24ocix1KXt1LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS0iKworcil9O3RoaXMubGlzLmJpbmQo
Im1vdXNlb3Zlci50YWJzIixmdW5jdGlvbigpe24oImhvdmVyIixhKHRoaXMpKX0pO3RoaXMubGlz
LmJpbmQoIm1vdXNlb3V0LnRhYnMiLGZ1bmN0aW9uKCl7aygiaG92ZXIiLGEodGhpcykpfSk7dGhp
cy5hbmNob3JzLmJpbmQoImZvY3VzLnRhYnMiLGZ1bmN0aW9uKCl7bigiZm9jdXMiLGEodGhpcyku
Y2xvc2VzdCgibGkiKSl9KTt0aGlzLmFuY2hvcnMuYmluZCgiYmx1ci50YWJzIixmdW5jdGlvbigp
e2soImZvY3VzIixhKHRoaXMpLmNsb3Nlc3QoImxpIikpfSl9dmFyIG0scDtpZihqLmZ4KWlmKGEu
aXNBcnJheShqLmZ4KSl7bT1qLmZ4WzBdO3A9ai5meFsxXX1lbHNlIG09cD1qLmZ4O3ZhciBxPXA/
ZnVuY3Rpb24ocix1KXthKHIpLmNsb3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0
ZWQgdWktc3RhdGUtYWN0aXZlIik7dS5oaWRlKCkucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIp
LmFuaW1hdGUocCxwLmR1cmF0aW9ufHwibm9ybWFsIiwKK2Z1bmN0aW9uKCl7Yih1LHApO2YuX3Ry
aWdnZXIoInNob3ciLG51bGwsZi5fdWkocix1WzBdKSl9KX06ZnVuY3Rpb24ocix1KXthKHIpLmNs
b3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7
dS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIik7Zi5fdHJpZ2dlcigic2hvdyIsbnVsbCxmLl91
aShyLHVbMF0pKX0scz1tP2Z1bmN0aW9uKHIsdSl7dS5hbmltYXRlKG0sbS5kdXJhdGlvbnx8Im5v
cm1hbCIsZnVuY3Rpb24oKXtmLmxpcy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1z
dGF0ZS1hY3RpdmUiKTt1LmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTtiKHUsbSk7Zi5lbGVtZW50
LmRlcXVldWUoInRhYnMiKX0pfTpmdW5jdGlvbihyLHUpe2YubGlzLnJlbW92ZUNsYXNzKCJ1aS10
YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO3UuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIp
O2YuZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIil9OwordGhpcy5hbmNob3JzLmJpbmQoai5ldmVudCsi
LnRhYnMiLGZ1bmN0aW9uKCl7dmFyIHI9dGhpcyx1PWEocikuY2xvc2VzdCgibGkiKSx2PWYucGFu
ZWxzLmZpbHRlcigiOm5vdCgudWktdGFicy1oaWRlKSIpLHc9Zi5lbGVtZW50LmZpbmQoZi5fc2Fu
aXRpemVTZWxlY3RvcihyLmhhc2gpKTtpZih1Lmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIikm
JiFqLmNvbGxhcHNpYmxlfHx1Lmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHx1Lmhhc0Ns
YXNzKCJ1aS1zdGF0ZS1wcm9jZXNzaW5nIil8fGYucGFuZWxzLmZpbHRlcigiOmFuaW1hdGVkIiku
bGVuZ3RofHxmLl90cmlnZ2VyKCJzZWxlY3QiLG51bGwsZi5fdWkodGhpcyx3WzBdKSk9PT1mYWxz
ZSl7dGhpcy5ibHVyKCk7cmV0dXJuIGZhbHNlfWouc2VsZWN0ZWQ9Zi5hbmNob3JzLmluZGV4KHRo
aXMpO2YuYWJvcnQoKTtpZihqLmNvbGxhcHNpYmxlKWlmKHUuaGFzQ2xhc3MoInVpLXRhYnMtc2Vs
ZWN0ZWQiKSl7ai5zZWxlY3RlZD0KKy0xO2ouY29va2llJiZmLl9jb29raWUoai5zZWxlY3RlZCxq
LmNvb2tpZSk7Zi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3Mocix2KX0pLmRlcXVl
dWUoInRhYnMiKTt0aGlzLmJsdXIoKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZighdi5sZW5ndGgpe2ou
Y29va2llJiZmLl9jb29raWUoai5zZWxlY3RlZCxqLmNvb2tpZSk7Zi5lbGVtZW50LnF1ZXVlKCJ0
YWJzIixmdW5jdGlvbigpe3Eocix3KX0pO2YubG9hZChmLmFuY2hvcnMuaW5kZXgodGhpcykpO3Ro
aXMuYmx1cigpO3JldHVybiBmYWxzZX1qLmNvb2tpZSYmZi5fY29va2llKGouc2VsZWN0ZWQsai5j
b29raWUpO2lmKHcubGVuZ3RoKXt2Lmxlbmd0aCYmZi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5j
dGlvbigpe3Mocix2KX0pO2YuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtxKHIsdyl9
KTtmLmxvYWQoZi5hbmNob3JzLmluZGV4KHRoaXMpKX1lbHNlIHRocm93ImpRdWVyeSBVSSBUYWJz
OiBNaXNtYXRjaGluZyBmcmFnbWVudCBpZGVudGlmaWVyLiI7CithLmJyb3dzZXIubXNpZSYmdGhp
cy5ibHVyKCl9KTt0aGlzLmFuY2hvcnMuYmluZCgiY2xpY2sudGFicyIsZnVuY3Rpb24oKXtyZXR1
cm4gZmFsc2V9KX0sX2dldEluZGV4OmZ1bmN0aW9uKGkpe2lmKHR5cGVvZiBpPT0ic3RyaW5nIilp
PXRoaXMuYW5jaG9ycy5pbmRleCh0aGlzLmFuY2hvcnMuZmlsdGVyKCJbaHJlZiQ9IitpKyJdIikp
O3JldHVybiBpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5vcHRpb25zO3RoaXMuYWJv
cnQoKTt0aGlzLmVsZW1lbnQudW5iaW5kKCIudGFicyIpLnJlbW92ZUNsYXNzKCJ1aS10YWJzIHVp
LXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2li
bGUiKS5yZW1vdmVEYXRhKCJ0YWJzIik7dGhpcy5saXN0LnJlbW92ZUNsYXNzKCJ1aS10YWJzLW5h
diB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWkt
Y29ybmVyLWFsbCIpO3RoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9CithLmRhdGEo
dGhpcywiaHJlZi50YWJzIik7aWYoYil0aGlzLmhyZWY9Yjt2YXIgZj1hKHRoaXMpLnVuYmluZCgi
LnRhYnMiKTthLmVhY2goWyJocmVmIiwibG9hZCIsImNhY2hlIl0sZnVuY3Rpb24oaixsKXtmLnJl
bW92ZURhdGEobCsiLnRhYnMiKX0pfSk7dGhpcy5saXMudW5iaW5kKCIudGFicyIpLmFkZCh0aGlz
LnBhbmVscykuZWFjaChmdW5jdGlvbigpe2EuZGF0YSh0aGlzLCJkZXN0cm95LnRhYnMiKT9hKHRo
aXMpLnJlbW92ZSgpOmEodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29y
bmVyLXRvcCB1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1ob3ZlciB1
aS1zdGF0ZS1mb2N1cyB1aS1zdGF0ZS1kaXNhYmxlZCB1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1j
b250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktdGFicy1oaWRlIil9KTtpLmNvb2tpZSYmdGhpcy5f
Y29va2llKG51bGwsaS5jb29raWUpO3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oaSwKK2IsZil7
aWYoZj09PWMpZj10aGlzLmFuY2hvcnMubGVuZ3RoO3ZhciBqPXRoaXMsbD10aGlzLm9wdGlvbnM7
Yj1hKGwudGFiVGVtcGxhdGUucmVwbGFjZSgvI1x7aHJlZlx9L2csaSkucmVwbGFjZSgvI1x7bGFi
ZWxcfS9nLGIpKTtpPSFpLmluZGV4T2YoIiMiKT9pLnJlcGxhY2UoIiMiLCIiKTp0aGlzLl90YWJJ
ZChhKCJhIixiKVswXSk7Yi5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9w
IikuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKTt2YXIgbz1qLmVsZW1lbnQuZmluZCgiIyIraSk7
by5sZW5ndGh8fChvPWEobC5wYW5lbFRlbXBsYXRlKS5hdHRyKCJpZCIsaSkuZGF0YSgiZGVzdHJv
eS50YWJzIix0cnVlKSk7by5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVu
dCB1aS1jb3JuZXItYm90dG9tIHVpLXRhYnMtaGlkZSIpO2lmKGY+PXRoaXMubGlzLmxlbmd0aCl7
Yi5hcHBlbmRUbyh0aGlzLmxpc3QpO28uYXBwZW5kVG8odGhpcy5saXN0WzBdLnBhcmVudE5vZGUp
fWVsc2V7Yi5pbnNlcnRCZWZvcmUodGhpcy5saXNbZl0pOworby5pbnNlcnRCZWZvcmUodGhpcy5w
YW5lbHNbZl0pfWwuZGlzYWJsZWQ9YS5tYXAobC5kaXNhYmxlZCxmdW5jdGlvbihuKXtyZXR1cm4g
bj49Zj8rK246bn0pO3RoaXMuX3RhYmlmeSgpO2lmKHRoaXMuYW5jaG9ycy5sZW5ndGg9PTEpe2wu
c2VsZWN0ZWQ9MDtiLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIp
O28ucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpO3RoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIs
ZnVuY3Rpb24oKXtqLl90cmlnZ2VyKCJzaG93IixudWxsLGouX3VpKGouYW5jaG9yc1swXSxqLnBh
bmVsc1swXSkpfSk7dGhpcy5sb2FkKDApfXRoaXMuX3RyaWdnZXIoImFkZCIsbnVsbCx0aGlzLl91
aSh0aGlzLmFuY2hvcnNbZl0sdGhpcy5wYW5lbHNbZl0pKTtyZXR1cm4gdGhpc30scmVtb3ZlOmZ1
bmN0aW9uKGkpe2k9dGhpcy5fZ2V0SW5kZXgoaSk7dmFyIGI9dGhpcy5vcHRpb25zLGY9dGhpcy5s
aXMuZXEoaSkucmVtb3ZlKCksaj10aGlzLnBhbmVscy5lcShpKS5yZW1vdmUoKTsKK2lmKGYuaGFz
Q2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmdGhpcy5hbmNob3JzLmxlbmd0aD4xKXRoaXMuc2Vs
ZWN0KGkrKGkrMTx0aGlzLmFuY2hvcnMubGVuZ3RoPzE6LTEpKTtiLmRpc2FibGVkPWEubWFwKGEu
Z3JlcChiLmRpc2FibGVkLGZ1bmN0aW9uKGwpe3JldHVybiBsIT1pfSksZnVuY3Rpb24obCl7cmV0
dXJuIGw+PWk/LS1sOmx9KTt0aGlzLl90YWJpZnkoKTt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLG51
bGwsdGhpcy5fdWkoZi5maW5kKCJhIilbMF0salswXSkpO3JldHVybiB0aGlzfSxlbmFibGU6ZnVu
Y3Rpb24oaSl7aT10aGlzLl9nZXRJbmRleChpKTt2YXIgYj10aGlzLm9wdGlvbnM7aWYoYS5pbkFy
cmF5KGksYi5kaXNhYmxlZCkhPS0xKXt0aGlzLmxpcy5lcShpKS5yZW1vdmVDbGFzcygidWktc3Rh
dGUtZGlzYWJsZWQiKTtiLmRpc2FibGVkPWEuZ3JlcChiLmRpc2FibGVkLGZ1bmN0aW9uKGYpe3Jl
dHVybiBmIT1pfSk7dGhpcy5fdHJpZ2dlcigiZW5hYmxlIixudWxsLAordGhpcy5fdWkodGhpcy5h
bmNob3JzW2ldLHRoaXMucGFuZWxzW2ldKSk7cmV0dXJuIHRoaXN9fSxkaXNhYmxlOmZ1bmN0aW9u
KGkpe2k9dGhpcy5fZ2V0SW5kZXgoaSk7dmFyIGI9dGhpcy5vcHRpb25zO2lmKGkhPWIuc2VsZWN0
ZWQpe3RoaXMubGlzLmVxKGkpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZGlzYWJs
ZWQucHVzaChpKTtiLmRpc2FibGVkLnNvcnQoKTt0aGlzLl90cmlnZ2VyKCJkaXNhYmxlIixudWxs
LHRoaXMuX3VpKHRoaXMuYW5jaG9yc1tpXSx0aGlzLnBhbmVsc1tpXSkpfXJldHVybiB0aGlzfSxz
ZWxlY3Q6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJbmRleChpKTtpZihpPT0tMSlpZih0aGlzLm9w
dGlvbnMuY29sbGFwc2libGUmJnRoaXMub3B0aW9ucy5zZWxlY3RlZCE9LTEpaT10aGlzLm9wdGlv
bnMuc2VsZWN0ZWQ7ZWxzZSByZXR1cm4gdGhpczt0aGlzLmFuY2hvcnMuZXEoaSkudHJpZ2dlcih0
aGlzLm9wdGlvbnMuZXZlbnQrIi50YWJzIik7cmV0dXJuIHRoaXN9LAorbG9hZDpmdW5jdGlvbihp
KXtpPXRoaXMuX2dldEluZGV4KGkpO3ZhciBiPXRoaXMsZj10aGlzLm9wdGlvbnMsaj10aGlzLmFu
Y2hvcnMuZXEoaSlbMF0sbD1hLmRhdGEoaiwibG9hZC50YWJzIik7dGhpcy5hYm9ydCgpO2lmKCFs
fHx0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiKS5sZW5ndGghPT0wJiZhLmRhdGEoaiwiY2FjaGUu
dGFicyIpKXRoaXMuZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIik7ZWxzZXt0aGlzLmxpcy5lcShpKS5h
ZGRDbGFzcygidWktc3RhdGUtcHJvY2Vzc2luZyIpO2lmKGYuc3Bpbm5lcil7dmFyIG89YSgic3Bh
biIsaik7by5kYXRhKCJsYWJlbC50YWJzIixvLmh0bWwoKSkuaHRtbChmLnNwaW5uZXIpfXRoaXMu
eGhyPWEuYWpheChhLmV4dGVuZCh7fSxmLmFqYXhPcHRpb25zLHt1cmw6bCxzdWNjZXNzOmZ1bmN0
aW9uKG4sayl7Yi5lbGVtZW50LmZpbmQoYi5fc2FuaXRpemVTZWxlY3RvcihqLmhhc2gpKS5odG1s
KG4pO2IuX2NsZWFudXAoKTtmLmNhY2hlJiZhLmRhdGEoaiwKKyJjYWNoZS50YWJzIix0cnVlKTti
Ll90cmlnZ2VyKCJsb2FkIixudWxsLGIuX3VpKGIuYW5jaG9yc1tpXSxiLnBhbmVsc1tpXSkpO3Ry
eXtmLmFqYXhPcHRpb25zLnN1Y2Nlc3MobixrKX1jYXRjaChtKXt9fSxlcnJvcjpmdW5jdGlvbihu
LGspe2IuX2NsZWFudXAoKTtiLl90cmlnZ2VyKCJsb2FkIixudWxsLGIuX3VpKGIuYW5jaG9yc1tp
XSxiLnBhbmVsc1tpXSkpO3RyeXtmLmFqYXhPcHRpb25zLmVycm9yKG4sayxpLGopfWNhdGNoKG0p
e319fSkpO2IuZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIik7cmV0dXJuIHRoaXN9fSxhYm9ydDpmdW5j
dGlvbigpe3RoaXMuZWxlbWVudC5xdWV1ZShbXSk7dGhpcy5wYW5lbHMuc3RvcChmYWxzZSx0cnVl
KTt0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiLHRoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIpLnNw
bGljZSgtMiwyKSk7aWYodGhpcy54aHIpe3RoaXMueGhyLmFib3J0KCk7ZGVsZXRlIHRoaXMueGhy
fXRoaXMuX2NsZWFudXAoKTtyZXR1cm4gdGhpc30sCit1cmw6ZnVuY3Rpb24oaSxiKXt0aGlzLmFu
Y2hvcnMuZXEoaSkucmVtb3ZlRGF0YSgiY2FjaGUudGFicyIpLmRhdGEoImxvYWQudGFicyIsYik7
cmV0dXJuIHRoaXN9LGxlbmd0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFuY2hvcnMubGVuZ3Ro
fX0pO2EuZXh0ZW5kKGEudWkudGFicyx7dmVyc2lvbjoiMS44LjE1In0pO2EuZXh0ZW5kKGEudWku
dGFicy5wcm90b3R5cGUse3JvdGF0aW9uOm51bGwscm90YXRlOmZ1bmN0aW9uKGksYil7dmFyIGY9
dGhpcyxqPXRoaXMub3B0aW9ucyxsPWYuX3JvdGF0ZXx8KGYuX3JvdGF0ZT1mdW5jdGlvbihvKXtj
bGVhclRpbWVvdXQoZi5yb3RhdGlvbik7Zi5yb3RhdGlvbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
dmFyIG49ai5zZWxlY3RlZDtmLnNlbGVjdCgrK248Zi5hbmNob3JzLmxlbmd0aD9uOjApfSxpKTtv
JiZvLnN0b3BQcm9wYWdhdGlvbigpfSk7Yj1mLl91bnJvdGF0ZXx8KGYuX3Vucm90YXRlPSFiP2Z1
bmN0aW9uKG8pe28uY2xpZW50WCYmCitmLnJvdGF0ZShudWxsKX06ZnVuY3Rpb24oKXt0PWouc2Vs
ZWN0ZWQ7bCgpfSk7aWYoaSl7dGhpcy5lbGVtZW50LmJpbmQoInRhYnNzaG93IixsKTt0aGlzLmFu
Y2hvcnMuYmluZChqLmV2ZW50KyIudGFicyIsYik7bCgpfWVsc2V7Y2xlYXJUaW1lb3V0KGYucm90
YXRpb24pO3RoaXMuZWxlbWVudC51bmJpbmQoInRhYnNzaG93IixsKTt0aGlzLmFuY2hvcnMudW5i
aW5kKGouZXZlbnQrIi50YWJzIixiKTtkZWxldGUgdGhpcy5fcm90YXRlO2RlbGV0ZSB0aGlzLl91
bnJvdGF0ZX1yZXR1cm4gdGhpc319KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LXVp
Lm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ibGluZC5taW4uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44
LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmJsaW5kLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVj
dHMuYmxpbmQubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBq
UXVlcnkgVUkgRWZmZWN0cyBCbGluZCAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVU
SE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVu
ZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnku
b3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvQmxp
bmQKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVu
Y3Rpb24oYil7Yi5lZmZlY3RzLmJsaW5kPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1
bmN0aW9uKCl7dmFyIGE9Yih0aGlzKSxnPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0
IiwicmlnaHQiXSxmPWIuZWZmZWN0cy5zZXRNb2RlKGEsYy5vcHRpb25zLm1vZGV8fCJoaWRlIiks
ZD1jLm9wdGlvbnMuZGlyZWN0aW9ufHwidmVydGljYWwiO2IuZWZmZWN0cy5zYXZlKGEsZyk7YS5z
aG93KCk7dmFyIGU9Yi5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYSkuY3NzKHtvdmVyZmxvdzoiaGlk
ZGVuIn0pLGg9ZD09InZlcnRpY2FsIj8iaGVpZ2h0Ijoid2lkdGgiO2Q9ZD09InZlcnRpY2FsIj9l
LmhlaWdodCgpOmUud2lkdGgoKTtmPT0ic2hvdyImJmUuY3NzKGgsMCk7dmFyIGk9e307aVtoXT1m
PT0ic2hvdyI/ZDowO2UuYW5pbWF0ZShpLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxmdW5j
dGlvbigpe2Y9PSJoaWRlIiYmYS5oaWRlKCk7Yi5lZmZlY3RzLnJlc3RvcmUoYSwKK2cpO2IuZWZm
ZWN0cy5yZW1vdmVXcmFwcGVyKGEpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoYVswXSxh
cmd1bWVudHMpO2EuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVy
eS5lZmZlY3RzLmJsaW5kLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0w
LDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0
cy5ib3VuY2UubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCShub25l
eGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTUgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBCb3VuY2UgMS44LjE1CisgKgorICog
Q29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQor
ICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMu
CisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5
LmNvbS9VSS9FZmZlY3RzL0JvdW5jZQorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0
cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihlKXtlLmVmZmVjdHMuYm91bmNlPWZ1bmN0aW9uKGIp
e3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKSxsPVsicG9zaXRpb24i
LCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxoPWUuZWZmZWN0cy5zZXRNb2RlKGEsYi5v
cHRpb25zLm1vZGV8fCJlZmZlY3QiKSxkPWIub3B0aW9ucy5kaXJlY3Rpb258fCJ1cCIsYz1iLm9w
dGlvbnMuZGlzdGFuY2V8fDIwLG09Yi5vcHRpb25zLnRpbWVzfHw1LGk9Yi5kdXJhdGlvbnx8MjUw
Oy9zaG93fGhpZGUvLnRlc3QoaCkmJmwucHVzaCgib3BhY2l0eSIpO2UuZWZmZWN0cy5zYXZlKGEs
bCk7YS5zaG93KCk7ZS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYSk7dmFyIGY9ZD09InVwInx8ZD09
ImRvd24iPyJ0b3AiOiJsZWZ0IjtkPWQ9PSJ1cCJ8fGQ9PSJsZWZ0Ij8icG9zIjoibmVnIjtjPWIu
b3B0aW9ucy5kaXN0YW5jZXx8KGY9PSJ0b3AiP2Eub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSkv
MzphLm91dGVyV2lkdGgoe21hcmdpbjp0cnVlfSkvCiszKTtpZihoPT0ic2hvdyIpYS5jc3MoIm9w
YWNpdHkiLDApLmNzcyhmLGQ9PSJwb3MiPy1jOmMpO2lmKGg9PSJoaWRlIiljLz1tKjI7aCE9Imhp
ZGUiJiZtLS07aWYoaD09InNob3ciKXt2YXIgZz17b3BhY2l0eToxfTtnW2ZdPShkPT0icG9zIj8i
Kz0iOiItPSIpK2M7YS5hbmltYXRlKGcsaS8yLGIub3B0aW9ucy5lYXNpbmcpO2MvPTI7bS0tfWZv
cihnPTA7ZzxtO2crKyl7dmFyIGo9e30saz17fTtqW2ZdPShkPT0icG9zIj8iLT0iOiIrPSIpK2M7
a1tmXT0oZD09InBvcyI/Iis9IjoiLT0iKStjO2EuYW5pbWF0ZShqLGkvMixiLm9wdGlvbnMuZWFz
aW5nKS5hbmltYXRlKGssaS8yLGIub3B0aW9ucy5lYXNpbmcpO2M9aD09ImhpZGUiP2MqMjpjLzJ9
aWYoaD09ImhpZGUiKXtnPXtvcGFjaXR5OjB9O2dbZl09KGQ9PSJwb3MiPyItPSI6Iis9IikrYzth
LmFuaW1hdGUoZyxpLzIsYi5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2EuaGlkZSgpO2UuZWZm
ZWN0cy5yZXN0b3JlKGEsbCk7ZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7CitiLmNhbGxiYWNr
JiZiLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfWVsc2V7aj17fTtrPXt9O2pbZl09
KGQ9PSJwb3MiPyItPSI6Iis9IikrYztrW2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmlt
YXRlKGosaS8yLGIub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoayxpLzIsYi5vcHRpb25zLmVhc2lu
ZyxmdW5jdGlvbigpe2UuZWZmZWN0cy5yZXN0b3JlKGEsbCk7ZS5lZmZlY3RzLnJlbW92ZVdyYXBw
ZXIoYSk7Yi5jYWxsYmFjayYmYi5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1hLnF1
ZXVlKCJmeCIsZnVuY3Rpb24oKXthLmRlcXVldWUoKX0pO2EuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5ib3VuY2UubWluLmpzCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmNsaXAubWluLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0
cy5jbGlwLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuY2xpcC5taW4uanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIENsaXAg
MS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0NsaXAKKyAqCisgKiBEZXBlbmRzOgorICoJ
anF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmNsaXA9
ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1iKHRoaXMpLGk9
WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRo
Il0sZj1iLmVmZmVjdHMuc2V0TW9kZShhLGUub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGM9ZS5vcHRp
b25zLmRpcmVjdGlvbnx8InZlcnRpY2FsIjtiLmVmZmVjdHMuc2F2ZShhLGkpO2Euc2hvdygpO3Zh
ciBkPWIuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KTtk
PWFbMF0udGFnTmFtZT09IklNRyI/ZDphO3ZhciBnPXtzaXplOmM9PSJ2ZXJ0aWNhbCI/ImhlaWdo
dCI6IndpZHRoIixwb3NpdGlvbjpjPT0idmVydGljYWwiPyJ0b3AiOiJsZWZ0In07Yz1jPT0idmVy
dGljYWwiP2QuaGVpZ2h0KCk6ZC53aWR0aCgpO2lmKGY9PSJzaG93Iil7ZC5jc3MoZy5zaXplLDAp
O2QuY3NzKGcucG9zaXRpb24sCitjLzIpfXZhciBoPXt9O2hbZy5zaXplXT1mPT0ic2hvdyI/Yzow
O2hbZy5wb3NpdGlvbl09Zj09InNob3ciPzA6Yy8yO2QuYW5pbWF0ZShoLHtxdWV1ZTpmYWxzZSxk
dXJhdGlvbjplLmR1cmF0aW9uLGVhc2luZzplLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0
aW9uKCl7Zj09ImhpZGUiJiZhLmhpZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGkpO2IuZWZmZWN0
cy5yZW1vdmVXcmFwcGVyKGEpO2UuY2FsbGJhY2smJmUuY2FsbGJhY2suYXBwbHkoYVswXSxhcmd1
bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5jbGlwLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAg
KzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5j
b3JlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuY29yZS5taW4uanMJKG5vbmV4aXN0ZW50
KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS5lZmZlY3RzLmNvcmUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAK
Ky8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMv
CisgKi8KK2pRdWVyeS5lZmZlY3RzfHxmdW5jdGlvbihmLGope2Z1bmN0aW9uIG0oYyl7dmFyIGE7
aWYoYyYmYy5jb25zdHJ1Y3Rvcj09QXJyYXkmJmMubGVuZ3RoPT0zKXJldHVybiBjO2lmKGE9L3Jn
YlwoXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlc
cypcKS8uZXhlYyhjKSlyZXR1cm5bcGFyc2VJbnQoYVsxXSwxMCkscGFyc2VJbnQoYVsyXSwxMCks
cGFyc2VJbnQoYVszXSwxMCldO2lmKGE9L3JnYlwoXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVc
cyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8pXCVccyosXHMqKFswLTldKyg/OlwuWzAtOV0rKT8p
XCVccypcKS8uZXhlYyhjKSlyZXR1cm5bcGFyc2VGbG9hdChhWzFdKSoyLjU1LHBhcnNlRmxvYXQo
YVsyXSkqMi41NSxwYXJzZUZsb2F0KGFbM10pKjIuNTVdO2lmKGE9LyMoW2EtZkEtRjAtOV17Mn0p
KFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkvLmV4ZWMoYykpcmV0dXJuW3BhcnNlSW50
KGFbMV0sCisxNikscGFyc2VJbnQoYVsyXSwxNikscGFyc2VJbnQoYVszXSwxNildO2lmKGE9LyMo
W2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkvLmV4ZWMoYykpcmV0dXJuW3Bh
cnNlSW50KGFbMV0rYVsxXSwxNikscGFyc2VJbnQoYVsyXSthWzJdLDE2KSxwYXJzZUludChhWzNd
K2FbM10sMTYpXTtpZigvcmdiYVwoMCwgMCwgMCwgMFwpLy5leGVjKGMpKXJldHVybiBuLnRyYW5z
cGFyZW50O3JldHVybiBuW2YudHJpbShjKS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBzKGMsYSl7
dmFyIGI7ZG97Yj1mLmN1ckNTUyhjLGEpO2lmKGIhPSIiJiZiIT0idHJhbnNwYXJlbnQifHxmLm5v
ZGVOYW1lKGMsImJvZHkiKSlicmVhazthPSJiYWNrZ3JvdW5kQ29sb3IifXdoaWxlKGM9Yy5wYXJl
bnROb2RlKTtyZXR1cm4gbShiKX1mdW5jdGlvbiBvKCl7dmFyIGM9ZG9jdW1lbnQuZGVmYXVsdFZp
ZXc/ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLG51bGwpOnRoaXMu
Y3VycmVudFN0eWxlLAorYT17fSxiLGQ7aWYoYyYmYy5sZW5ndGgmJmNbMF0mJmNbY1swXV0pZm9y
KHZhciBlPWMubGVuZ3RoO2UtLTspe2I9Y1tlXTtpZih0eXBlb2YgY1tiXT09InN0cmluZyIpe2Q9
Yi5yZXBsYWNlKC9cLShcdykvZyxmdW5jdGlvbihnLGgpe3JldHVybiBoLnRvVXBwZXJDYXNlKCl9
KTthW2RdPWNbYl19fWVsc2UgZm9yKGIgaW4gYylpZih0eXBlb2YgY1tiXT09PSJzdHJpbmciKWFb
Yl09Y1tiXTtyZXR1cm4gYX1mdW5jdGlvbiBwKGMpe3ZhciBhLGI7Zm9yKGEgaW4gYyl7Yj1jW2Fd
O2lmKGI9PW51bGx8fGYuaXNGdW5jdGlvbihiKXx8YSBpbiB0fHwvc2Nyb2xsYmFyLy50ZXN0KGEp
fHwhL2NvbG9yL2kudGVzdChhKSYmaXNOYU4ocGFyc2VGbG9hdChiKSkpZGVsZXRlIGNbYV19cmV0
dXJuIGN9ZnVuY3Rpb24gdShjLGEpe3ZhciBiPXtfOjB9LGQ7Zm9yKGQgaW4gYSlpZihjW2RdIT1h
W2RdKWJbZF09YVtkXTtyZXR1cm4gYn1mdW5jdGlvbiBrKGMsYSxiLGQpe2lmKHR5cGVvZiBjPT0i
b2JqZWN0Iil7ZD0KK2E7Yj1udWxsO2E9YztjPWEuZWZmZWN0fWlmKGYuaXNGdW5jdGlvbihhKSl7
ZD1hO2I9bnVsbDthPXt9fWlmKHR5cGVvZiBhPT0ibnVtYmVyInx8Zi5meC5zcGVlZHNbYV0pe2Q9
YjtiPWE7YT17fX1pZihmLmlzRnVuY3Rpb24oYikpe2Q9YjtiPW51bGx9YT1hfHx7fTtiPWJ8fGEu
ZHVyYXRpb247Yj1mLmZ4Lm9mZj8wOnR5cGVvZiBiPT0ibnVtYmVyIj9iOmIgaW4gZi5meC5zcGVl
ZHM/Zi5meC5zcGVlZHNbYl06Zi5meC5zcGVlZHMuX2RlZmF1bHQ7ZD1kfHxhLmNvbXBsZXRlO3Jl
dHVybltjLGEsYixkXX1mdW5jdGlvbiBsKGMpe2lmKCFjfHx0eXBlb2YgYz09PSJudW1iZXIifHxm
LmZ4LnNwZWVkc1tjXSlyZXR1cm4gdHJ1ZTtpZih0eXBlb2YgYz09PSJzdHJpbmciJiYhZi5lZmZl
Y3RzW2NdKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX1mLmVmZmVjdHM9e307Zi5lYWNoKFsiYmFj
a2dyb3VuZENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3Jk
ZXJSaWdodENvbG9yIiwKKyJib3JkZXJUb3BDb2xvciIsImJvcmRlckNvbG9yIiwiY29sb3IiLCJv
dXRsaW5lQ29sb3IiXSxmdW5jdGlvbihjLGEpe2YuZnguc3RlcFthXT1mdW5jdGlvbihiKXtpZigh
Yi5jb2xvckluaXQpe2Iuc3RhcnQ9cyhiLmVsZW0sYSk7Yi5lbmQ9bShiLmVuZCk7Yi5jb2xvcklu
aXQ9dHJ1ZX1iLmVsZW0uc3R5bGVbYV09InJnYigiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50
KGIucG9zKihiLmVuZFswXS1iLnN0YXJ0WzBdKStiLnN0YXJ0WzBdLDEwKSwyNTUpLDApKyIsIitN
YXRoLm1heChNYXRoLm1pbihwYXJzZUludChiLnBvcyooYi5lbmRbMV0tYi5zdGFydFsxXSkrYi5z
dGFydFsxXSwxMCksMjU1KSwwKSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQoYi5wb3Mq
KGIuZW5kWzJdLWIuc3RhcnRbMl0pK2Iuc3RhcnRbMl0sMTApLDI1NSksMCkrIikifX0pO3ZhciBu
PXthcXVhOlswLDI1NSwyNTVdLGF6dXJlOlsyNDAsMjU1LDI1NV0sYmVpZ2U6WzI0NSwyNDUsMjIw
XSxibGFjazpbMCwKKzAsMF0sYmx1ZTpbMCwwLDI1NV0sYnJvd246WzE2NSw0Miw0Ml0sY3lhbjpb
MCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dy
ZXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtraGFraTpbMTg5LDE4Mywx
MDddLGRhcmttYWdlbnRhOlsxMzksMCwxMzldLGRhcmtvbGl2ZWdyZWVuOls4NSwxMDcsNDddLGRh
cmtvcmFuZ2U6WzI1NSwxNDAsMF0sZGFya29yY2hpZDpbMTUzLDUwLDIwNF0sZGFya3JlZDpbMTM5
LDAsMF0sZGFya3NhbG1vbjpbMjMzLDE1MCwxMjJdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMV0sZnVj
aHNpYTpbMjU1LDAsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdyZWVuOlswLDEyOCwwXSxpbmRpZ286
Wzc1LDAsMTMwXSxraGFraTpbMjQwLDIzMCwxNDBdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxp
Z2h0Y3lhbjpbMjI0LDI1NSwyNTVdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6
WzIxMSwKKzIxMSwyMTFdLGxpZ2h0cGluazpbMjU1LDE4MiwxOTNdLGxpZ2h0eWVsbG93OlsyNTUs
MjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCww
LDBdLG5hdnk6WzAsMCwxMjhdLG9saXZlOlsxMjgsMTI4LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxw
aW5rOlsyNTUsMTkyLDIwM10scHVycGxlOlsxMjgsMCwxMjhdLHZpb2xldDpbMTI4LDAsMTI4XSxy
ZWQ6WzI1NSwwLDBdLHNpbHZlcjpbMTkyLDE5MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0seWVs
bG93OlsyNTUsMjU1LDBdLHRyYW5zcGFyZW50OlsyNTUsMjU1LDI1NV19LHE9WyJhZGQiLCJyZW1v
dmUiLCJ0b2dnbGUiXSx0PXtib3JkZXI6MSxib3JkZXJCb3R0b206MSxib3JkZXJDb2xvcjoxLGJv
cmRlckxlZnQ6MSxib3JkZXJSaWdodDoxLGJvcmRlclRvcDoxLGJvcmRlcldpZHRoOjEsbWFyZ2lu
OjEscGFkZGluZzoxfTtmLmVmZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKGMsYSxiLAorZCl7
aWYoZi5pc0Z1bmN0aW9uKGIpKXtkPWI7Yj1udWxsfXJldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGU9Zih0aGlzKSxnPWUuYXR0cigic3R5bGUiKXx8IiAiLGg9cChvLmNhbGwodGhpcykp
LHIsdj1lLmF0dHIoImNsYXNzIik7Zi5lYWNoKHEsZnVuY3Rpb24odyxpKXtjW2ldJiZlW2krIkNs
YXNzIl0oY1tpXSl9KTtyPXAoby5jYWxsKHRoaXMpKTtlLmF0dHIoImNsYXNzIix2KTtlLmFuaW1h
dGUodShoLHIpLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjphLGVhc2luZzpiLGNvbXBsZXRlOmZ1bmN0
aW9uKCl7Zi5lYWNoKHEsZnVuY3Rpb24odyxpKXtjW2ldJiZlW2krIkNsYXNzIl0oY1tpXSl9KTtp
Zih0eXBlb2YgZS5hdHRyKCJzdHlsZSIpPT0ib2JqZWN0Iil7ZS5hdHRyKCJzdHlsZSIpLmNzc1Rl
eHQ9IiI7ZS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9Z31lbHNlIGUuYXR0cigic3R5bGUiLGcpO2Qm
JmQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2YuZGVxdWV1ZSh0aGlzKX19KX0pfTsKK2YuZm4uZXh0
ZW5kKHtfYWRkQ2xhc3M6Zi5mbi5hZGRDbGFzcyxhZGRDbGFzczpmdW5jdGlvbihjLGEsYixkKXty
ZXR1cm4gYT9mLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW3thZGQ6Y30sYSxiLGRd
KTp0aGlzLl9hZGRDbGFzcyhjKX0sX3JlbW92ZUNsYXNzOmYuZm4ucmVtb3ZlQ2xhc3MscmVtb3Zl
Q2xhc3M6ZnVuY3Rpb24oYyxhLGIsZCl7cmV0dXJuIGE/Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5h
cHBseSh0aGlzLFt7cmVtb3ZlOmN9LGEsYixkXSk6dGhpcy5fcmVtb3ZlQ2xhc3MoYyl9LF90b2dn
bGVDbGFzczpmLmZuLnRvZ2dsZUNsYXNzLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGMsYSxiLGQsZSl7
cmV0dXJuIHR5cGVvZiBhPT0iYm9vbGVhbiJ8fGE9PT1qP2I/Zi5lZmZlY3RzLmFuaW1hdGVDbGFz
cy5hcHBseSh0aGlzLFthP3thZGQ6Y306e3JlbW92ZTpjfSxiLGQsZV0pOnRoaXMuX3RvZ2dsZUNs
YXNzKGMsYSk6Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLAorW3t0b2dnbGU6Y30s
YSxiLGRdKX0sc3dpdGNoQ2xhc3M6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZi5lZmZlY3Rz
LmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7YWRkOmEscmVtb3ZlOmN9LGIsZCxlXSl9fSk7Zi5l
eHRlbmQoZi5lZmZlY3RzLHt2ZXJzaW9uOiIxLjguMTUiLHNhdmU6ZnVuY3Rpb24oYyxhKXtmb3Io
dmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdIT09bnVsbCYmYy5kYXRhKCJlYy5zdG9yYWdlLiIr
YVtiXSxjWzBdLnN0eWxlW2FbYl1dKX0scmVzdG9yZTpmdW5jdGlvbihjLGEpe2Zvcih2YXIgYj0w
O2I8YS5sZW5ndGg7YisrKWFbYl0hPT1udWxsJiZjLmNzcyhhW2JdLGMuZGF0YSgiZWMuc3RvcmFn
ZS4iK2FbYl0pKX0sc2V0TW9kZTpmdW5jdGlvbihjLGEpe2lmKGE9PSJ0b2dnbGUiKWE9Yy5pcygi
OmhpZGRlbiIpPyJzaG93IjoiaGlkZSI7cmV0dXJuIGF9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKGMs
YSl7dmFyIGI7c3dpdGNoKGNbMF0pe2Nhc2UgInRvcCI6Yj0KKzA7YnJlYWs7Y2FzZSAibWlkZGxl
IjpiPTAuNTticmVhaztjYXNlICJib3R0b20iOmI9MTticmVhaztkZWZhdWx0OmI9Y1swXS9hLmhl
aWdodH1zd2l0Y2goY1sxXSl7Y2FzZSAibGVmdCI6Yz0wO2JyZWFrO2Nhc2UgImNlbnRlciI6Yz0w
LjU7YnJlYWs7Y2FzZSAicmlnaHQiOmM9MTticmVhaztkZWZhdWx0OmM9Y1sxXS9hLndpZHRofXJl
dHVybnt4OmMseTpifX0sY3JlYXRlV3JhcHBlcjpmdW5jdGlvbihjKXtpZihjLnBhcmVudCgpLmlz
KCIudWktZWZmZWN0cy13cmFwcGVyIikpcmV0dXJuIGMucGFyZW50KCk7dmFyIGE9e3dpZHRoOmMu
b3V0ZXJXaWR0aCh0cnVlKSxoZWlnaHQ6Yy5vdXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOmMuY3Nz
KCJmbG9hdCIpfSxiPWYoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBl
ciIpLmNzcyh7Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6
Im5vbmUiLG1hcmdpbjowLHBhZGRpbmc6MH0pOworYy53cmFwKGIpO2I9Yy5wYXJlbnQoKTtpZihj
LmNzcygicG9zaXRpb24iKT09InN0YXRpYyIpe2IuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSk7
Yy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KX1lbHNle2YuZXh0ZW5kKGEse3Bvc2l0aW9uOmMu
Y3NzKCJwb3NpdGlvbiIpLHpJbmRleDpjLmNzcygiei1pbmRleCIpfSk7Zi5lYWNoKFsidG9wIiwi
bGVmdCIsImJvdHRvbSIsInJpZ2h0Il0sZnVuY3Rpb24oZCxlKXthW2VdPWMuY3NzKGUpO2lmKGlz
TmFOKHBhcnNlSW50KGFbZV0sMTApKSlhW2VdPSJhdXRvIn0pO2MuY3NzKHtwb3NpdGlvbjoicmVs
YXRpdmUiLHRvcDowLGxlZnQ6MCxyaWdodDoiYXV0byIsYm90dG9tOiJhdXRvIn0pfXJldHVybiBi
LmNzcyhhKS5zaG93KCl9LHJlbW92ZVdyYXBwZXI6ZnVuY3Rpb24oYyl7aWYoYy5wYXJlbnQoKS5p
cygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJldHVybiBjLnBhcmVudCgpLnJlcGxhY2VXaXRoKGMp
O3JldHVybiBjfSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGMsCithLGIsZCl7ZD1kfHx7fTtmLmVh
Y2goYSxmdW5jdGlvbihlLGcpe3VuaXQ9Yy5jc3NVbml0KGcpO2lmKHVuaXRbMF0+MClkW2ddPXVu
aXRbMF0qYit1bml0WzFdfSk7cmV0dXJuIGR9fSk7Zi5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlv
bihjKXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxiPXtvcHRpb25zOmFbMV0sZHVyYXRp
b246YVsyXSxjYWxsYmFjazphWzNdfTthPWIub3B0aW9ucy5tb2RlO3ZhciBkPWYuZWZmZWN0c1tj
XTtpZihmLmZ4Lm9mZnx8IWQpcmV0dXJuIGE/dGhpc1thXShiLmR1cmF0aW9uLGIuY2FsbGJhY2sp
OnRoaXMuZWFjaChmdW5jdGlvbigpe2IuY2FsbGJhY2smJmIuY2FsbGJhY2suY2FsbCh0aGlzKX0p
O3JldHVybiBkLmNhbGwodGhpcyxiKX0sX3Nob3c6Zi5mbi5zaG93LHNob3c6ZnVuY3Rpb24oYyl7
aWYobChjKSlyZXR1cm4gdGhpcy5fc2hvdy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIg
YT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKK2FbMV0ubW9kZT0ic2hvdyI7cmV0dXJuIHRoaXMu
ZWZmZWN0LmFwcGx5KHRoaXMsYSl9fSxfaGlkZTpmLmZuLmhpZGUsaGlkZTpmdW5jdGlvbihjKXtp
ZihsKGMpKXJldHVybiB0aGlzLl9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBh
PWsuYXBwbHkodGhpcyxhcmd1bWVudHMpO2FbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMuZWZm
ZWN0LmFwcGx5KHRoaXMsYSl9fSxfX3RvZ2dsZTpmLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24o
Yyl7aWYobChjKXx8dHlwZW9mIGM9PT0iYm9vbGVhbiJ8fGYuaXNGdW5jdGlvbihjKSlyZXR1cm4g
dGhpcy5fX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZXt2YXIgYT1rLmFwcGx5KHRo
aXMsYXJndW1lbnRzKTthWzFdLm1vZGU9InRvZ2dsZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5
KHRoaXMsYSl9fSxjc3NVbml0OmZ1bmN0aW9uKGMpe3ZhciBhPXRoaXMuY3NzKGMpLGI9W107Zi5l
YWNoKFsiZW0iLCJweCIsIiUiLAorInB0Il0sZnVuY3Rpb24oZCxlKXtpZihhLmluZGV4T2YoZSk+
MCliPVtwYXJzZUZsb2F0KGEpLGVdfSk7cmV0dXJuIGJ9fSk7Zi5lYXNpbmcuanN3aW5nPWYuZWFz
aW5nLnN3aW5nO2YuZXh0ZW5kKGYuZWFzaW5nLHtkZWY6ImVhc2VPdXRRdWFkIixzd2luZzpmdW5j
dGlvbihjLGEsYixkLGUpe3JldHVybiBmLmVhc2luZ1tmLmVhc2luZy5kZWZdKGMsYSxiLGQsZSl9
LGVhc2VJblF1YWQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCooYS89ZSkqYStifSxlYXNl
T3V0UXVhZDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKihhLz1lKSooYS0yKStifSxlYXNl
SW5PdXRRdWFkOmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoKGEvPWUvMik8MSlyZXR1cm4gZC8yKmEq
YStiO3JldHVybi1kLzIqKC0tYSooYS0yKS0xKStifSxlYXNlSW5DdWJpYzpmdW5jdGlvbihjLGEs
YixkLGUpe3JldHVybiBkKihhLz1lKSphKmErYn0sZWFzZU91dEN1YmljOmZ1bmN0aW9uKGMsYSxi
LGQsZSl7cmV0dXJuIGQqCisoKGE9YS9lLTEpKmEqYSsxKStifSxlYXNlSW5PdXRDdWJpYzpmdW5j
dGlvbihjLGEsYixkLGUpe2lmKChhLz1lLzIpPDEpcmV0dXJuIGQvMiphKmEqYStiO3JldHVybiBk
LzIqKChhLT0yKSphKmErMikrYn0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1
cm4gZCooYS89ZSkqYSphKmErYn0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0
dXJuLWQqKChhPWEvZS0xKSphKmEqYS0xKStifSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihjLGEs
YixkLGUpe2lmKChhLz1lLzIpPDEpcmV0dXJuIGQvMiphKmEqYSphK2I7cmV0dXJuLWQvMiooKGEt
PTIpKmEqYSphLTIpK2J9LGVhc2VJblF1aW50OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQq
KGEvPWUpKmEqYSphKmErYn0sZWFzZU91dFF1aW50OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJu
IGQqKChhPWEvZS0xKSphKmEqYSphKzEpK2J9LGVhc2VJbk91dFF1aW50OmZ1bmN0aW9uKGMsYSxi
LGQsZSl7aWYoKGEvPQorZS8yKTwxKXJldHVybiBkLzIqYSphKmEqYSphK2I7cmV0dXJuIGQvMioo
KGEtPTIpKmEqYSphKmErMikrYn0sZWFzZUluU2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVy
bi1kKk1hdGguY29zKGEvZSooTWF0aC5QSS8yKSkrZCtifSxlYXNlT3V0U2luZTpmdW5jdGlvbihj
LGEsYixkLGUpe3JldHVybiBkKk1hdGguc2luKGEvZSooTWF0aC5QSS8yKSkrYn0sZWFzZUluT3V0
U2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kLzIqKE1hdGguY29zKE1hdGguUEkqYS9l
KS0xKStifSxlYXNlSW5FeHBvOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGE9PTA/YjpkKk1h
dGgucG93KDIsMTAqKGEvZS0xKSkrYn0sZWFzZU91dEV4cG86ZnVuY3Rpb24oYyxhLGIsZCxlKXty
ZXR1cm4gYT09ZT9iK2Q6ZCooLU1hdGgucG93KDIsLTEwKmEvZSkrMSkrYn0sZWFzZUluT3V0RXhw
bzpmdW5jdGlvbihjLGEsYixkLGUpe2lmKGE9PTApcmV0dXJuIGI7aWYoYT09ZSlyZXR1cm4gYitk
O2lmKChhLz0KK2UvMik8MSlyZXR1cm4gZC8yKk1hdGgucG93KDIsMTAqKGEtMSkpK2I7cmV0dXJu
IGQvMiooLU1hdGgucG93KDIsLTEwKi0tYSkrMikrYn0sZWFzZUluQ2lyYzpmdW5jdGlvbihjLGEs
YixkLGUpe3JldHVybi1kKihNYXRoLnNxcnQoMS0oYS89ZSkqYSktMSkrYn0sZWFzZU91dENpcmM6
ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCpNYXRoLnNxcnQoMS0oYT1hL2UtMSkqYSkrYn0s
ZWFzZUluT3V0Q2lyYzpmdW5jdGlvbihjLGEsYixkLGUpe2lmKChhLz1lLzIpPDEpcmV0dXJuLWQv
MiooTWF0aC5zcXJ0KDEtYSphKS0xKStiO3JldHVybiBkLzIqKE1hdGguc3FydCgxLShhLT0yKSph
KSsxKStifSxlYXNlSW5FbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7Yz0xLjcwMTU4O3ZhciBn
PTAsaD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUpPT0xKXJldHVybiBiK2Q7Z3x8KGc9ZSow
LjMpO2lmKGg8TWF0aC5hYnMoZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJKSpNYXRo
LmFzaW4oZC8KK2gpO3JldHVybi0oaCpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEq
ZS1jKSoyKk1hdGguUEkvZykpK2J9LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7
Yz0xLjcwMTU4O3ZhciBnPTAsaD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUpPT0xKXJldHVy
biBiK2Q7Z3x8KGc9ZSowLjMpO2lmKGg8TWF0aC5hYnMoZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8o
MipNYXRoLlBJKSpNYXRoLmFzaW4oZC9oKTtyZXR1cm4gaCpNYXRoLnBvdygyLC0xMCphKSpNYXRo
LnNpbigoYSplLWMpKjIqTWF0aC5QSS9nKStkK2J9LGVhc2VJbk91dEVsYXN0aWM6ZnVuY3Rpb24o
YyxhLGIsZCxlKXtjPTEuNzAxNTg7dmFyIGc9MCxoPWQ7aWYoYT09MClyZXR1cm4gYjtpZigoYS89
ZS8yKT09MilyZXR1cm4gYitkO2d8fChnPWUqMC4zKjEuNSk7aWYoaDxNYXRoLmFicyhkKSl7aD1k
O2M9Zy80fWVsc2UgYz1nLygyKk1hdGguUEkpKk1hdGguYXNpbihkL2gpO2lmKGE8MSlyZXR1cm4t
MC41KgoraCpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkv
ZykrYjtyZXR1cm4gaCpNYXRoLnBvdygyLC0xMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipN
YXRoLlBJL2cpKjAuNStkK2J9LGVhc2VJbkJhY2s6ZnVuY3Rpb24oYyxhLGIsZCxlLGcpe2lmKGc9
PWopZz0xLjcwMTU4O3JldHVybiBkKihhLz1lKSphKigoZysxKSphLWcpK2J9LGVhc2VPdXRCYWNr
OmZ1bmN0aW9uKGMsYSxiLGQsZSxnKXtpZihnPT1qKWc9MS43MDE1ODtyZXR1cm4gZCooKGE9YS9l
LTEpKmEqKChnKzEpKmErZykrMSkrYn0sZWFzZUluT3V0QmFjazpmdW5jdGlvbihjLGEsYixkLGUs
Zyl7aWYoZz09ailnPTEuNzAxNTg7aWYoKGEvPWUvMik8MSlyZXR1cm4gZC8yKmEqYSooKChnKj0x
LjUyNSkrMSkqYS1nKStiO3JldHVybiBkLzIqKChhLT0yKSphKigoKGcqPTEuNTI1KSsxKSphK2cp
KzIpK2J9LGVhc2VJbkJvdW5jZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkLWYuZWFzaW5n
LmVhc2VPdXRCb3VuY2UoYywKK2UtYSwwLGQsZSkrYn0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihj
LGEsYixkLGUpe3JldHVybihhLz1lKTwxLzIuNzU/ZCo3LjU2MjUqYSphK2I6YTwyLzIuNzU/ZCoo
Ny41NjI1KihhLT0xLjUvMi43NSkqYSswLjc1KStiOmE8Mi41LzIuNzU/ZCooNy41NjI1KihhLT0y
LjI1LzIuNzUpKmErMC45Mzc1KStiOmQqKDcuNTYyNSooYS09Mi42MjUvMi43NSkqYSswLjk4NDM3
NSkrYn0sZWFzZUluT3V0Qm91bmNlOmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoYTxlLzIpcmV0dXJu
IGYuZWFzaW5nLmVhc2VJbkJvdW5jZShjLGEqMiwwLGQsZSkqMC41K2I7cmV0dXJuIGYuZWFzaW5n
LmVhc2VPdXRCb3VuY2UoYyxhKjItZSwwLGQsZSkqMC41K2QqMC41K2J9fSl9KGpRdWVyeSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuY29yZS5taW4uanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
YWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LmVmZmVjdHMuZHJvcC5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmRyb3Au
bWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5kcm9wLm1pbi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgRHJvcCAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRHJvcAorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnku
ZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMuZHJvcD1mdW5jdGlv
bihkKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksaD1bInBvc2l0
aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwib3BhY2l0eSJdLGU9Yy5lZmZlY3Rz
LnNldE1vZGUoYSxkLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258
fCJsZWZ0IjtjLmVmZmVjdHMuc2F2ZShhLGgpO2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFw
cGVyKGEpO3ZhciBmPWI9PSJ1cCJ8fGI9PSJkb3duIj8idG9wIjoibGVmdCI7Yj1iPT0idXAifHxi
PT0ibGVmdCI/InBvcyI6Im5lZyI7dmFyIGc9ZC5vcHRpb25zLmRpc3RhbmNlfHwoZj09InRvcCI/
YS5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9KS8yOmEub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9
KS8yKTtpZihlPT0ic2hvdyIpYS5jc3MoIm9wYWNpdHkiLDApLmNzcyhmLGI9PSJwb3MiPy1nOmcp
O3ZhciBpPXtvcGFjaXR5OmU9PQorInNob3ciPzE6MH07aVtmXT0oZT09InNob3ciP2I9PSJwb3Mi
PyIrPSI6Ii09IjpiPT0icG9zIj8iLT0iOiIrPSIpK2c7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNl
LGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzaW5nOmQub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVu
Y3Rpb24oKXtlPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEsaCk7Yy5lZmZl
Y3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5jYWxsYmFjayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFy
Z3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVy
eS5lZmZlY3RzLmRyb3AubWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAs
MCArMSAjIworT04KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LmV4cGxvZGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5leHBsb2RlLm1pbi5qcwkobm9u
ZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjgu
MTUvdWkvanF1ZXJ5LmVmZmVjdHMuZXhwbG9kZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxNSBAQAorLyoKKyAqIGpRdWVyeSBVSSBFZmZlY3RzIEV4cGxvZGUgMS44LjE1CisgKgor
ICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0
KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5z
ZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1
ZXJ5LmNvbS9VSS9FZmZlY3RzL0V4cGxvZGUKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVm
ZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oail7ai5lZmZlY3RzLmV4cGxvZGU9ZnVuY3Rp
b24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYz1hLm9wdGlvbnMucGllY2Vz
P01hdGgucm91bmQoTWF0aC5zcXJ0KGEub3B0aW9ucy5waWVjZXMpKTozLGQ9YS5vcHRpb25zLnBp
ZWNlcz9NYXRoLnJvdW5kKE1hdGguc3FydChhLm9wdGlvbnMucGllY2VzKSk6MzthLm9wdGlvbnMu
bW9kZT1hLm9wdGlvbnMubW9kZT09InRvZ2dsZSI/aih0aGlzKS5pcygiOnZpc2libGUiKT8iaGlk
ZSI6InNob3ciOmEub3B0aW9ucy5tb2RlO3ZhciBiPWoodGhpcykuc2hvdygpLmNzcygidmlzaWJp
bGl0eSIsImhpZGRlbiIpLGc9Yi5vZmZzZXQoKTtnLnRvcC09cGFyc2VJbnQoYi5jc3MoIm1hcmdp
blRvcCIpLDEwKXx8MDtnLmxlZnQtPXBhcnNlSW50KGIuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHww
O2Zvcih2YXIgaD1iLm91dGVyV2lkdGgodHJ1ZSksaT1iLm91dGVySGVpZ2h0KHRydWUpLGU9MDtl
PGM7ZSsrKWZvcih2YXIgZj0KKzA7ZjxkO2YrKyliLmNsb25lKCkuYXBwZW5kVG8oImJvZHkiKS53
cmFwKCI8ZGl2PjwvZGl2PiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJ2
aXNpYmxlIixsZWZ0Oi1mKihoL2QpLHRvcDotZSooaS9jKX0pLnBhcmVudCgpLmFkZENsYXNzKCJ1
aS1lZmZlY3RzLWV4cGxvZGUiKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6Imhp
ZGRlbiIsd2lkdGg6aC9kLGhlaWdodDppL2MsbGVmdDpnLmxlZnQrZiooaC9kKSsoYS5vcHRpb25z
Lm1vZGU9PSJzaG93Ij8oZi1NYXRoLmZsb29yKGQvMikpKihoL2QpOjApLHRvcDpnLnRvcCtlKihp
L2MpKyhhLm9wdGlvbnMubW9kZT09InNob3ciPyhlLU1hdGguZmxvb3IoYy8yKSkqKGkvYyk6MCks
b3BhY2l0eTphLm9wdGlvbnMubW9kZT09InNob3ciPzA6MX0pLmFuaW1hdGUoe2xlZnQ6Zy5sZWZ0
K2YqKGgvZCkrKGEub3B0aW9ucy5tb2RlPT0ic2hvdyI/MDooZi1NYXRoLmZsb29yKGQvMikpKiho
L2QpKSx0b3A6Zy50b3ArCitlKihpL2MpKyhhLm9wdGlvbnMubW9kZT09InNob3ciPzA6KGUtTWF0
aC5mbG9vcihjLzIpKSooaS9jKSksb3BhY2l0eTphLm9wdGlvbnMubW9kZT09InNob3ciPzE6MH0s
YS5kdXJhdGlvbnx8NTAwKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5vcHRpb25zLm1vZGU9PSJz
aG93Ij9iLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KTpiLmNzcyh7dmlzaWJpbGl0eToidmlz
aWJsZSJ9KS5oaWRlKCk7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseShiWzBdKTtiLmRlcXVl
dWUoKTtqKCJkaXYudWktZWZmZWN0cy1leHBsb2RlIikucmVtb3ZlKCl9LGEuZHVyYXRpb258fDUw
MCl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmV4cGxvZGUubWlu
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLmZhZGUubWluLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkuZWZmZWN0cy5mYWRlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZmFk
ZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorLyoKKyAqIGpRdWVyeSBV
SSBFZmZlY3RzIEZhZGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0
IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUg
TUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNl
bnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0ZhZGUKKyAqCisg
KiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oYil7
Yi5lZmZlY3RzLmZhZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2
YXIgYz1iKHRoaXMpLGQ9Yi5lZmZlY3RzLnNldE1vZGUoYyxhLm9wdGlvbnMubW9kZXx8ImhpZGUi
KTtjLmFuaW1hdGUoe29wYWNpdHk6ZH0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuZHVyYXRpb24s
ZWFzaW5nOmEub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXthLmNhbGxiYWNrJiZh
LmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtjLmRlcXVldWUoKX19KX0pfX0pKGpRdWVy
eSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZmFkZS5taW4uanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuZm9sZC5taW4uanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LmZvbGQubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9s
aWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5mb2xkLm1pbi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1ZXJ5IFVJIEVmZmVjdHMgRm9sZCAx
LjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1
aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNp
b24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRw
Oi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRm9sZAorICoKKyAqIERlcGVuZHM6CisgKglq
cXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihjKXtjLmVmZmVjdHMuZm9sZD1m
dW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBiPWModGhpcyksaj1b
InBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0sZD1jLmVmZmVjdHMuc2V0
TW9kZShiLGEub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9YS5vcHRpb25zLnNpemV8fDE1LGg9ISFh
Lm9wdGlvbnMuaG9yaXpGaXJzdCxrPWEuZHVyYXRpb24/YS5kdXJhdGlvbi8yOmMuZnguc3BlZWRz
Ll9kZWZhdWx0LzI7Yy5lZmZlY3RzLnNhdmUoYixqKTtiLnNob3coKTt2YXIgZT1jLmVmZmVjdHMu
Y3JlYXRlV3JhcHBlcihiKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSksZj1kPT0ic2hvdyIhPWgs
bD1mP1sid2lkdGgiLCJoZWlnaHQiXTpbImhlaWdodCIsIndpZHRoIl07Zj1mP1tlLndpZHRoKCks
ZS5oZWlnaHQoKV06W2UuaGVpZ2h0KCksZS53aWR0aCgpXTt2YXIgaT0vKFswLTldKyklLy5leGVj
KGcpO2lmKGkpZz1wYXJzZUludChpWzFdLAorMTApLzEwMCpmW2Q9PSJoaWRlIj8wOjFdO2lmKGQ9
PSJzaG93IillLmNzcyhoP3toZWlnaHQ6MCx3aWR0aDpnfTp7aGVpZ2h0Omcsd2lkdGg6MH0pO2g9
e307aT17fTtoW2xbMF1dPWQ9PSJzaG93Ij9mWzBdOmc7aVtsWzFdXT1kPT0ic2hvdyI/ZlsxXTow
O2UuYW5pbWF0ZShoLGssYS5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShpLGssYS5vcHRpb25zLmVh
c2luZyxmdW5jdGlvbigpe2Q9PSJoaWRlIiYmYi5oaWRlKCk7Yy5lZmZlY3RzLnJlc3RvcmUoYixq
KTtjLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihiKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5
KGJbMF0sYXJndW1lbnRzKTtiLmRlcXVldWUoKX0pfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNo
YW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkuZWZmZWN0cy5mb2xkLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJz
CiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5oaWdobGlnaHQubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5oaWdobGlnaHQu
bWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5oaWdobGlnaHQubWluLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBIaWdobGln
aHQgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1
ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBW
ZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICog
aHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0hpZ2hsaWdodAorICoKKyAqIERlcGVu
ZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihiKXtiLmVmZmVj
dHMuaGlnaGxpZ2h0PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFy
IGE9Yih0aGlzKSxlPVsiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZENvbG9yIiwib3BhY2l0
eSJdLGQ9Yi5lZmZlY3RzLnNldE1vZGUoYSxjLm9wdGlvbnMubW9kZXx8InNob3ciKSxmPXtiYWNr
Z3JvdW5kQ29sb3I6YS5jc3MoImJhY2tncm91bmRDb2xvciIpfTtpZihkPT0iaGlkZSIpZi5vcGFj
aXR5PTA7Yi5lZmZlY3RzLnNhdmUoYSxlKTthLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToi
bm9uZSIsYmFja2dyb3VuZENvbG9yOmMub3B0aW9ucy5jb2xvcnx8IiNmZmZmOTkifSkuYW5pbWF0
ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFz
aW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZD09ImhpZGUiJiZhLmhpZGUoKTtiLmVmZmVjdHMucmVz
dG9yZShhLGUpO2Q9PSJzaG93IiYmIWIuc3VwcG9ydC5vcGFjaXR5JiYKK3RoaXMuc3R5bGUucmVt
b3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMs
YXJndW1lbnRzKTthLmRlcXVldWUoKX19KX0pfX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LmVmZmVjdHMuaGlnaGxpZ2h0Lm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJz
CiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnku
ZWZmZWN0cy5wdWxzYXRlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMucHVsc2F0ZS5taW4u
anMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnB1bHNhdGUubWluLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0cyBQdWxzYXRlIDEuOC4x
NQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNv
bS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAy
IGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9k
b2NzLmpxdWVyeS5jb20vVUkvRWZmZWN0cy9QdWxzYXRlCisgKgorICogRGVwZW5kczoKKyAqCWpx
dWVyeS5lZmZlY3RzLmNvcmUuanMKKyAqLworKGZ1bmN0aW9uKGQpe2QuZWZmZWN0cy5wdWxzYXRl
PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0aGlzKSxj
PWQuZWZmZWN0cy5zZXRNb2RlKGIsYS5vcHRpb25zLm1vZGV8fCJzaG93Iik7dGltZXM9KGEub3B0
aW9ucy50aW1lc3x8NSkqMi0xO2R1cmF0aW9uPWEuZHVyYXRpb24/YS5kdXJhdGlvbi8yOmQuZngu
c3BlZWRzLl9kZWZhdWx0LzI7aXNWaXNpYmxlPWIuaXMoIjp2aXNpYmxlIik7YW5pbWF0ZVRvPTA7
aWYoIWlzVmlzaWJsZSl7Yi5jc3MoIm9wYWNpdHkiLDApLnNob3coKTthbmltYXRlVG89MX1pZihj
PT0iaGlkZSImJmlzVmlzaWJsZXx8Yz09InNob3ciJiYhaXNWaXNpYmxlKXRpbWVzLS07Zm9yKGM9
MDtjPHRpbWVzO2MrKyl7Yi5hbmltYXRlKHtvcGFjaXR5OmFuaW1hdGVUb30sZHVyYXRpb24sYS5v
cHRpb25zLmVhc2luZyk7YW5pbWF0ZVRvPShhbmltYXRlVG8rMSklMn1iLmFuaW1hdGUoe29wYWNp
dHk6YW5pbWF0ZVRvfSxkdXJhdGlvbiwKK2Eub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthbmlt
YXRlVG89PTAmJmIuaGlkZSgpO2EuY2FsbGJhY2smJmEuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1
bWVudHMpfSk7Yi5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7Yi5kZXF1ZXVlKCl9KS5kZXF1ZXVlKCl9
KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnB1bHNhdGUubWluLmpz
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNjYWxlLm1pbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkv
anF1ZXJ5LmVmZmVjdHMuc2NhbGUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zY2Fs
ZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGpRdWVyeSBV
SSBFZmZlY3RzIFNjYWxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRWZmZWN0cy9TY2FsZQorICoK
KyAqIERlcGVuZHM6CisgKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCisgKi8KKyhmdW5jdGlvbihj
KXtjLmVmZmVjdHMucHVmZj1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigp
e3ZhciBhPWModGhpcyksZT1jLmVmZmVjdHMuc2V0TW9kZShhLGIub3B0aW9ucy5tb2RlfHwiaGlk
ZSIpLGc9cGFyc2VJbnQoYi5vcHRpb25zLnBlcmNlbnQsMTApfHwxNTAsaD1nLzEwMCxpPXtoZWln
aHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2MuZXh0ZW5kKGIub3B0aW9ucyx7ZmFkZTp0
cnVlLG1vZGU6ZSxwZXJjZW50OmU9PSJoaWRlIj9nOjEwMCxmcm9tOmU9PSJoaWRlIj9pOntoZWln
aHQ6aS5oZWlnaHQqaCx3aWR0aDppLndpZHRoKmh9fSk7YS5lZmZlY3QoInNjYWxlIixiLm9wdGlv
bnMsYi5kdXJhdGlvbixiLmNhbGxiYWNrKTthLmRlcXVldWUoKX0pfTtjLmVmZmVjdHMuc2NhbGU9
ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGU9
Yy5leHRlbmQodHJ1ZSx7fSxiLm9wdGlvbnMpLGc9Yy5lZmZlY3RzLnNldE1vZGUoYSwKK2Iub3B0
aW9ucy5tb2RlfHwiZWZmZWN0IiksaD1wYXJzZUludChiLm9wdGlvbnMucGVyY2VudCwxMCl8fChw
YXJzZUludChiLm9wdGlvbnMucGVyY2VudCwxMCk9PTA/MDpnPT0iaGlkZSI/MDoxMDApLGk9Yi5v
cHRpb25zLmRpcmVjdGlvbnx8ImJvdGgiLGY9Yi5vcHRpb25zLm9yaWdpbjtpZihnIT0iZWZmZWN0
Iil7ZS5vcmlnaW49Znx8WyJtaWRkbGUiLCJjZW50ZXIiXTtlLnJlc3RvcmU9dHJ1ZX1mPXtoZWln
aHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2EuZnJvbT1iLm9wdGlvbnMuZnJvbXx8KGc9
PSJzaG93Ij97aGVpZ2h0OjAsd2lkdGg6MH06Zik7aD17eTppIT0iaG9yaXpvbnRhbCI/aC8xMDA6
MSx4OmkhPSJ2ZXJ0aWNhbCI/aC8xMDA6MX07YS50bz17aGVpZ2h0OmYuaGVpZ2h0KmgueSx3aWR0
aDpmLndpZHRoKmgueH07aWYoYi5vcHRpb25zLmZhZGUpe2lmKGc9PSJzaG93Iil7YS5mcm9tLm9w
YWNpdHk9MDthLnRvLm9wYWNpdHk9MX1pZihnPT0iaGlkZSIpe2EuZnJvbS5vcGFjaXR5PQorMTth
LnRvLm9wYWNpdHk9MH19ZS5mcm9tPWEuZnJvbTtlLnRvPWEudG87ZS5tb2RlPWc7YS5lZmZlY3Qo
InNpemUiLGUsYi5kdXJhdGlvbixiLmNhbGxiYWNrKTthLmRlcXVldWUoKX0pfTtjLmVmZmVjdHMu
c2l6ZT1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhp
cyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwid2lkdGgiLCJo
ZWlnaHQiLCJvdmVyZmxvdyIsIm9wYWNpdHkiXSxnPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20i
LCJsZWZ0IiwicmlnaHQiLCJvdmVyZmxvdyIsIm9wYWNpdHkiXSxoPVsid2lkdGgiLCJoZWlnaHQi
LCJvdmVyZmxvdyJdLGk9WyJmb250U2l6ZSJdLGY9WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJv
dHRvbVdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxrPVsiYm9yZGVyTGVmdFdp
ZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sCitw
PWMuZWZmZWN0cy5zZXRNb2RlKGEsYi5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxuPWIub3B0aW9u
cy5yZXN0b3JlfHxmYWxzZSxtPWIub3B0aW9ucy5zY2FsZXx8ImJvdGgiLGw9Yi5vcHRpb25zLm9y
aWdpbixqPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2EuZnJvbT1iLm9wdGlv
bnMuZnJvbXx8ajthLnRvPWIub3B0aW9ucy50b3x8ajtpZihsKXtsPWMuZWZmZWN0cy5nZXRCYXNl
bGluZShsLGopO2EuZnJvbS50b3A9KGouaGVpZ2h0LWEuZnJvbS5oZWlnaHQpKmwueTthLmZyb20u
bGVmdD0oai53aWR0aC1hLmZyb20ud2lkdGgpKmwueDthLnRvLnRvcD0oai5oZWlnaHQtYS50by5o
ZWlnaHQpKmwueTthLnRvLmxlZnQ9KGoud2lkdGgtYS50by53aWR0aCkqbC54fXZhciBkPXtmcm9t
Ont5OmEuZnJvbS5oZWlnaHQvai5oZWlnaHQseDphLmZyb20ud2lkdGgvai53aWR0aH0sdG86e3k6
YS50by5oZWlnaHQvai5oZWlnaHQseDphLnRvLndpZHRoL2oud2lkdGh9fTsKK2lmKG09PSJib3gi
fHxtPT0iYm90aCIpe2lmKGQuZnJvbS55IT1kLnRvLnkpe2U9ZS5jb25jYXQoZik7YS5mcm9tPWMu
ZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsZixkLmZyb20ueSxhLmZyb20pO2EudG89Yy5lZmZlY3Rz
LnNldFRyYW5zaXRpb24oYSxmLGQudG8ueSxhLnRvKX1pZihkLmZyb20ueCE9ZC50by54KXtlPWUu
Y29uY2F0KGspO2EuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLGssZC5mcm9tLngsYS5m
cm9tKTthLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsayxkLnRvLngsYS50byl9fWlmKG09
PSJjb250ZW50Inx8bT09ImJvdGgiKWlmKGQuZnJvbS55IT1kLnRvLnkpe2U9ZS5jb25jYXQoaSk7
YS5mcm9tPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsaSxkLmZyb20ueSxhLmZyb20pO2EudG89
Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxpLGQudG8ueSxhLnRvKX1jLmVmZmVjdHMuc2F2ZShh
LG4/ZTpnKTthLnNob3coKTtjLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihhKTsKK2EuY3NzKCJvdmVy
ZmxvdyIsImhpZGRlbiIpLmNzcyhhLmZyb20pO2lmKG09PSJjb250ZW50Inx8bT09ImJvdGgiKXtm
PWYuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIl0pLmNvbmNhdChpKTtrPWsuY29u
Y2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0pO2g9ZS5jb25jYXQoZikuY29uY2F0KGsp
O2EuZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0aW9uKCl7Y2hpbGQ9Yyh0aGlzKTtuJiZjLmVm
ZmVjdHMuc2F2ZShjaGlsZCxoKTt2YXIgbz17aGVpZ2h0OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNo
aWxkLndpZHRoKCl9O2NoaWxkLmZyb209e2hlaWdodDpvLmhlaWdodCpkLmZyb20ueSx3aWR0aDpv
LndpZHRoKmQuZnJvbS54fTtjaGlsZC50bz17aGVpZ2h0Om8uaGVpZ2h0KmQudG8ueSx3aWR0aDpv
LndpZHRoKmQudG8ueH07aWYoZC5mcm9tLnkhPWQudG8ueSl7Y2hpbGQuZnJvbT1jLmVmZmVjdHMu
c2V0VHJhbnNpdGlvbihjaGlsZCxmLGQuZnJvbS55LGNoaWxkLmZyb20pOworY2hpbGQudG89Yy5l
ZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsZixkLnRvLnksY2hpbGQudG8pfWlmKGQuZnJvbS54
IT1kLnRvLngpe2NoaWxkLmZyb209Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsayxkLmZy
b20ueCxjaGlsZC5mcm9tKTtjaGlsZC50bz1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxr
LGQudG8ueCxjaGlsZC50byl9Y2hpbGQuY3NzKGNoaWxkLmZyb20pO2NoaWxkLmFuaW1hdGUoY2hp
bGQudG8sYi5kdXJhdGlvbixiLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7biYmYy5lZmZlY3Rz
LnJlc3RvcmUoY2hpbGQsaCl9KX0pfWEuYW5pbWF0ZShhLnRvLHtxdWV1ZTpmYWxzZSxkdXJhdGlv
bjpiLmR1cmF0aW9uLGVhc2luZzpiLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7
YS50by5vcGFjaXR5PT09MCYmYS5jc3MoIm9wYWNpdHkiLGEuZnJvbS5vcGFjaXR5KTtwPT0iaGlk
ZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEsCituP2U6Zyk7Yy5lZmZlY3RzLnJlbW92
ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYmYi5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7
YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LnNjYWxlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMK
K09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zaGFrZS5t
aW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNoYWtlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LmVmZmVjdHMuc2hha2UubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8q
CisgKiBqUXVlcnkgVUkgRWZmZWN0cyBTaGFrZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAx
MSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vu
c2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9q
cXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVj
dHMvU2hha2UKKyAqCisgKiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICov
CisoZnVuY3Rpb24oZCl7ZC5lZmZlY3RzLnNoYWtlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1
ZXVlKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0aGlzKSxqPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20i
LCJsZWZ0IiwicmlnaHQiXTtkLmVmZmVjdHMuc2V0TW9kZShiLGEub3B0aW9ucy5tb2RlfHwiZWZm
ZWN0Iik7dmFyIGM9YS5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiLGU9YS5vcHRpb25zLmRpc3Rh
bmNlfHwyMCxsPWEub3B0aW9ucy50aW1lc3x8MyxmPWEuZHVyYXRpb258fGEub3B0aW9ucy5kdXJh
dGlvbnx8MTQwO2QuZWZmZWN0cy5zYXZlKGIsaik7Yi5zaG93KCk7ZC5lZmZlY3RzLmNyZWF0ZVdy
YXBwZXIoYik7dmFyIGc9Yz09InVwInx8Yz09ImRvd24iPyJ0b3AiOiJsZWZ0IixoPWM9PSJ1cCJ8
fGM9PSJsZWZ0Ij8icG9zIjoibmVnIjtjPXt9O3ZhciBpPXt9LGs9e307Y1tnXT0oaD09InBvcyI/
Ii09IjoiKz0iKStlO2lbZ109KGg9PSJwb3MiPyIrPSI6Ii09IikrZSoyO2tbZ109CisoaD09InBv
cyI/Ii09IjoiKz0iKStlKjI7Yi5hbmltYXRlKGMsZixhLm9wdGlvbnMuZWFzaW5nKTtmb3IoZT0x
O2U8bDtlKyspYi5hbmltYXRlKGksZixhLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKGssZixhLm9w
dGlvbnMuZWFzaW5nKTtiLmFuaW1hdGUoaSxmLGEub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoYyxm
LzIsYS5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2QuZWZmZWN0cy5yZXN0b3JlKGIsaik7ZC5l
ZmZlY3RzLnJlbW92ZVdyYXBwZXIoYik7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseSh0aGlz
LGFyZ3VtZW50cyl9KTtiLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtiLmRlcXVldWUoKX0pO2IuZGVx
dWV1ZSgpfSl9fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkuZWZmZWN0cy5zaGFrZS5t
aW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMuc2xpZGUubWluLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkuZWZmZWN0cy5zbGlkZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LnNsaWRlLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisvKgorICogalF1
ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhP
UlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRl
ciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9y
Zy9saWNlbnNlCisgKgorICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL1NsaWRl
CisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKKyAqLworKGZ1bmN0
aW9uKGMpe2MuZWZmZWN0cy5zbGlkZT1mdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5j
dGlvbigpe3ZhciBhPWModGhpcyksaD1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIs
InJpZ2h0Il0sZj1jLmVmZmVjdHMuc2V0TW9kZShhLGQub3B0aW9ucy5tb2RlfHwic2hvdyIpLGI9
ZC5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiO2MuZWZmZWN0cy5zYXZlKGEsaCk7YS5zaG93KCk7
Yy5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO3ZhciBn
PWI9PSJ1cCJ8fGI9PSJkb3duIj8idG9wIjoibGVmdCI7Yj1iPT0idXAifHxiPT0ibGVmdCI/InBv
cyI6Im5lZyI7dmFyIGU9ZC5vcHRpb25zLmRpc3RhbmNlfHwoZz09InRvcCI/YS5vdXRlckhlaWdo
dCh7bWFyZ2luOnRydWV9KTphLm91dGVyV2lkdGgoe21hcmdpbjp0cnVlfSkpO2lmKGY9PSJzaG93
IilhLmNzcyhnLGI9PSJwb3MiP2lzTmFOKGUpPyItIitlOi1lOmUpOwordmFyIGk9e307aVtnXT0o
Zj09InNob3ciP2I9PSJwb3MiPyIrPSI6Ii09IjpiPT0icG9zIj8iLT0iOiIrPSIpK2U7YS5hbmlt
YXRlKGkse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzaW5nOmQub3B0aW9ucy5l
YXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtmPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5y
ZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5jYWxsYmFjayYmZC5jYWxs
YmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwoK
UHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnNsaWRlLm1pbi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS91aS9qcXVlcnkuZWZmZWN0cy50cmFuc2Zlci5taW4uanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3Rz
LnRyYW5zZmVyLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LmVmZmVjdHMudHJhbnNmZXIubWluLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBqUXVlcnkgVUkgRWZmZWN0
cyBUcmFuc2ZlciAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0
dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQg
b3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UK
KyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvVHJhbnNmZXIKKyAqCisg
KiBEZXBlbmRzOgorICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcworICovCisoZnVuY3Rpb24oZSl7
ZS5lZmZlY3RzLnRyYW5zZmVyPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGI9ZSh0aGlzKSxjPWUoYS5vcHRpb25zLnRvKSxkPWMub2Zmc2V0KCk7Yz17dG9wOmQu
dG9wLGxlZnQ6ZC5sZWZ0LGhlaWdodDpjLmlubmVySGVpZ2h0KCksd2lkdGg6Yy5pbm5lcldpZHRo
KCl9O2Q9Yi5vZmZzZXQoKTt2YXIgZj1lKCc8ZGl2IGNsYXNzPSJ1aS1lZmZlY3RzLXRyYW5zZmVy
Ij48L2Rpdj4nKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhhLm9wdGlvbnMuY2xh
c3NOYW1lKS5jc3Moe3RvcDpkLnRvcCxsZWZ0OmQubGVmdCxoZWlnaHQ6Yi5pbm5lckhlaWdodCgp
LHdpZHRoOmIuaW5uZXJXaWR0aCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGMsYS5k
dXJhdGlvbixhLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7Zi5yZW1vdmUoKTthLmNhbGxiYWNr
JiZhLmNhbGxiYWNrLmFwcGx5KGJbMF0sYXJndW1lbnRzKTsKK2IuZGVxdWV1ZSgpfSl9KX19KShq
UXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS5lZmZlY3RzLnRyYW5zZmVyLm1pbi5qcwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYWNjb3JkaW9uLm1pbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLmFjY29yZGlvbi5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBqUXVlcnkgVUkgQWNjb3Jk
aW9uIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2px
dWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwg
VmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAq
IGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQWNjb3JkaW9uCisgKgorICogRGVwZW5kczoKKyAq
CWpxdWVyeS51aS5jb3JlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlv
bihjKXtjLndpZGdldCgidWkuYWNjb3JkaW9uIix7b3B0aW9uczp7YWN0aXZlOjAsYW5pbWF0ZWQ6
InNsaWRlIixhdXRvSGVpZ2h0OnRydWUsY2xlYXJTdHlsZTpmYWxzZSxjb2xsYXBzaWJsZTpmYWxz
ZSxldmVudDoiY2xpY2siLGZpbGxTcGFjZTpmYWxzZSxoZWFkZXI6Ij4gbGkgPiA6Zmlyc3QtY2hp
bGQsPiA6bm90KGxpKTpldmVuIixpY29uczp7aGVhZGVyOiJ1aS1pY29uLXRyaWFuZ2xlLTEtZSIs
aGVhZGVyU2VsZWN0ZWQ6InVpLWljb24tdHJpYW5nbGUtMS1zIn0sbmF2aWdhdGlvbjpmYWxzZSxu
YXZpZ2F0aW9uRmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaHJlZi50b0xvd2VyQ2FzZSgp
PT09bG9jYXRpb24uaHJlZi50b0xvd2VyQ2FzZSgpfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBh
PXRoaXMsYj1hLm9wdGlvbnM7YS5ydW5uaW5nPTA7YS5lbGVtZW50LmFkZENsYXNzKCJ1aS1hY2Nv
cmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLmNoaWxkcmVuKCJsaSIpLmFkZENsYXNz
KCJ1aS1hY2NvcmRpb24tbGktZml4Iik7CithLmhlYWRlcnM9YS5lbGVtZW50LmZpbmQoYi5oZWFk
ZXIpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0
ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5iaW5kKCJtb3VzZWVudGVyLmFjY29yZGlvbiIsZnVu
Y3Rpb24oKXtiLmRpc2FibGVkfHxjKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSku
YmluZCgibW91c2VsZWF2ZS5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlz
KS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmJpbmQoImZvY3VzLmFjY29yZGlvbiIs
ZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxjKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIp
fSkuYmluZCgiYmx1ci5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlzKS5y
ZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pO2EuaGVhZGVycy5uZXh0KCkuYWRkQ2xhc3Mo
InVpLWFjY29yZGlvbi1jb250ZW50IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1
aS1jb3JuZXItYm90dG9tIik7CitpZihiLm5hdmlnYXRpb24pe3ZhciBkPWEuZWxlbWVudC5maW5k
KCJhIikuZmlsdGVyKGIubmF2aWdhdGlvbkZpbHRlcikuZXEoMCk7aWYoZC5sZW5ndGgpe3ZhciBo
PWQuY2xvc2VzdCgiLnVpLWFjY29yZGlvbi1oZWFkZXIiKTthLmFjdGl2ZT1oLmxlbmd0aD9oOmQu
Y2xvc2VzdCgiLnVpLWFjY29yZGlvbi1jb250ZW50IikucHJldigpfX1hLmFjdGl2ZT1hLl9maW5k
QWN0aXZlKGEuYWN0aXZlfHxiLmFjdGl2ZSkuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWkt
c3RhdGUtYWN0aXZlIikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1hbGwiKS50b2dnbGVDbGFzcygi
dWktY29ybmVyLXRvcCIpO2EuYWN0aXZlLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNv
bnRlbnQtYWN0aXZlIik7YS5fY3JlYXRlSWNvbnMoKTthLnJlc2l6ZSgpO2EuZWxlbWVudC5hdHRy
KCJyb2xlIiwidGFibGlzdCIpO2EuaGVhZGVycy5hdHRyKCJyb2xlIiwidGFiIikuYmluZCgia2V5
ZG93bi5hY2NvcmRpb24iLAorZnVuY3Rpb24oZil7cmV0dXJuIGEuX2tleWRvd24oZil9KS5uZXh0
KCkuYXR0cigicm9sZSIsInRhYnBhbmVsIik7YS5oZWFkZXJzLm5vdChhLmFjdGl2ZXx8IiIpLmF0
dHIoeyJhcmlhLWV4cGFuZGVkIjoiZmFsc2UiLCJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLHRhYklu
ZGV4Oi0xfSkubmV4dCgpLmhpZGUoKTthLmFjdGl2ZS5sZW5ndGg/YS5hY3RpdmUuYXR0cih7ImFy
aWEtZXhwYW5kZWQiOiJ0cnVlIiwiYXJpYS1zZWxlY3RlZCI6InRydWUiLHRhYkluZGV4OjB9KTph
LmhlYWRlcnMuZXEoMCkuYXR0cigidGFiSW5kZXgiLDApO2MuYnJvd3Nlci5zYWZhcml8fGEuaGVh
ZGVycy5maW5kKCJhIikuYXR0cigidGFiSW5kZXgiLC0xKTtiLmV2ZW50JiZhLmhlYWRlcnMuYmlu
ZChiLmV2ZW50LnNwbGl0KCIgIikuam9pbigiLmFjY29yZGlvbiAiKSsiLmFjY29yZGlvbiIsZnVu
Y3Rpb24oZil7YS5fY2xpY2tIYW5kbGVyLmNhbGwoYSxmLHRoaXMpO2YucHJldmVudERlZmF1bHQo
KX0pfSxfY3JlYXRlSWNvbnM6ZnVuY3Rpb24oKXt2YXIgYT0KK3RoaXMub3B0aW9ucztpZihhLmlj
b25zKXtjKCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWljb24gIithLmljb25zLmhlYWRl
cikucHJlcGVuZFRvKHRoaXMuaGVhZGVycyk7dGhpcy5hY3RpdmUuY2hpbGRyZW4oIi51aS1pY29u
IikudG9nZ2xlQ2xhc3MoYS5pY29ucy5oZWFkZXIpLnRvZ2dsZUNsYXNzKGEuaWNvbnMuaGVhZGVy
U2VsZWN0ZWQpO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9fSxf
ZGVzdHJveUljb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWFkZXJzLmNoaWxkcmVuKCIudWktaWNvbiIp
LnJlbW92ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9
LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnJlbW92
ZUNsYXNzKCJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLnJlbW92ZUF0
dHIoInJvbGUiKTt0aGlzLmhlYWRlcnMudW5iaW5kKCIuYWNjb3JkaW9uIikucmVtb3ZlQ2xhc3Mo
InVpLWFjY29yZGlvbi1oZWFkZXIgdWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLWhlbHBlci1yZXNl
dCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRl
LWRpc2FibGVkIHVpLWNvcm5lci10b3AiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigi
YXJpYS1leHBhbmRlZCIpLnJlbW92ZUF0dHIoImFyaWEtc2VsZWN0ZWQiKS5yZW1vdmVBdHRyKCJ0
YWJJbmRleCIpOwordGhpcy5oZWFkZXJzLmZpbmQoImEiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIp
O3RoaXMuX2Rlc3Ryb3lJY29ucygpO3ZhciBiPXRoaXMuaGVhZGVycy5uZXh0KCkuY3NzKCJkaXNw
bGF5IiwiIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUNsYXNzKCJ1aS1oZWxwZXItcmVzZXQg
dWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSB1aS1hY2NvcmRpb24tY29udGVudCB1
aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUgdWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRl
LWRpc2FibGVkIik7aWYoYS5hdXRvSGVpZ2h0fHxhLmZpbGxIZWlnaHQpYi5jc3MoImhlaWdodCIs
IiIpO3JldHVybiBjLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0
aW9uOmZ1bmN0aW9uKGEsYil7Yy5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhp
cyxhcmd1bWVudHMpO2E9PSJhY3RpdmUiJiZ0aGlzLmFjdGl2YXRlKGIpO2lmKGE9PSJpY29ucyIp
e3RoaXMuX2Rlc3Ryb3lJY29ucygpOworYiYmdGhpcy5fY3JlYXRlSWNvbnMoKX1pZihhPT0iZGlz
YWJsZWQiKXRoaXMuaGVhZGVycy5hZGQodGhpcy5oZWFkZXJzLm5leHQoKSlbYj8iYWRkQ2xhc3Mi
OiJyZW1vdmVDbGFzcyJdKCJ1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQi
KX0sX2tleWRvd246ZnVuY3Rpb24oYSl7aWYoISh0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fGEuYWx0
S2V5fHxhLmN0cmxLZXkpKXt2YXIgYj1jLnVpLmtleUNvZGUsZD10aGlzLmhlYWRlcnMubGVuZ3Ro
LGg9dGhpcy5oZWFkZXJzLmluZGV4KGEudGFyZ2V0KSxmPWZhbHNlO3N3aXRjaChhLmtleUNvZGUp
e2Nhc2UgYi5SSUdIVDpjYXNlIGIuRE9XTjpmPXRoaXMuaGVhZGVyc1soaCsxKSVkXTticmVhaztj
YXNlIGIuTEVGVDpjYXNlIGIuVVA6Zj10aGlzLmhlYWRlcnNbKGgtMStkKSVkXTticmVhaztjYXNl
IGIuU1BBQ0U6Y2FzZSBiLkVOVEVSOnRoaXMuX2NsaWNrSGFuZGxlcih7dGFyZ2V0OmEudGFyZ2V0
fSxhLnRhcmdldCk7CithLnByZXZlbnREZWZhdWx0KCl9aWYoZil7YyhhLnRhcmdldCkuYXR0cigi
dGFiSW5kZXgiLC0xKTtjKGYpLmF0dHIoInRhYkluZGV4IiwwKTtmLmZvY3VzKCk7cmV0dXJuIGZh
bHNlfXJldHVybiB0cnVlfX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLGI7
aWYoYS5maWxsU3BhY2Upe2lmKGMuYnJvd3Nlci5tc2llKXt2YXIgZD10aGlzLmVsZW1lbnQucGFy
ZW50KCkuY3NzKCJvdmVyZmxvdyIpO3RoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93
IiwiaGlkZGVuIil9Yj10aGlzLmVsZW1lbnQucGFyZW50KCkuaGVpZ2h0KCk7Yy5icm93c2VyLm1z
aWUmJnRoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IixkKTt0aGlzLmhlYWRlcnMu
ZWFjaChmdW5jdGlvbigpe2ItPWModGhpcykub3V0ZXJIZWlnaHQodHJ1ZSl9KTt0aGlzLmhlYWRl
cnMubmV4dCgpLmVhY2goZnVuY3Rpb24oKXtjKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGItYyh0
aGlzKS5pbm5lckhlaWdodCgpKworYyh0aGlzKS5oZWlnaHQoKSkpfSkuY3NzKCJvdmVyZmxvdyIs
ImF1dG8iKX1lbHNlIGlmKGEuYXV0b0hlaWdodCl7Yj0wO3RoaXMuaGVhZGVycy5uZXh0KCkuZWFj
aChmdW5jdGlvbigpe2I9TWF0aC5tYXgoYixjKHRoaXMpLmhlaWdodCgiIikuaGVpZ2h0KCkpfSku
aGVpZ2h0KGIpfXJldHVybiB0aGlzfSxhY3RpdmF0ZTpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnMu
YWN0aXZlPWE7YT10aGlzLl9maW5kQWN0aXZlKGEpWzBdO3RoaXMuX2NsaWNrSGFuZGxlcih7dGFy
Z2V0OmF9LGEpO3JldHVybiB0aGlzfSxfZmluZEFjdGl2ZTpmdW5jdGlvbihhKXtyZXR1cm4gYT90
eXBlb2YgYT09PSJudW1iZXIiP3RoaXMuaGVhZGVycy5maWx0ZXIoIjplcSgiK2ErIikiKTp0aGlz
LmhlYWRlcnMubm90KHRoaXMuaGVhZGVycy5ub3QoYSkpOmE9PT1mYWxzZT9jKFtdKTp0aGlzLmhl
YWRlcnMuZmlsdGVyKCI6ZXEoMCkiKX0sX2NsaWNrSGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBk
PXRoaXMub3B0aW9uczsKK2lmKCFkLmRpc2FibGVkKWlmKGEudGFyZ2V0KXthPWMoYS5jdXJyZW50
VGFyZ2V0fHxiKTtiPWFbMF09PT10aGlzLmFjdGl2ZVswXTtkLmFjdGl2ZT1kLmNvbGxhcHNpYmxl
JiZiP2ZhbHNlOnRoaXMuaGVhZGVycy5pbmRleChhKTtpZighKHRoaXMucnVubmluZ3x8IWQuY29s
bGFwc2libGUmJmIpKXt2YXIgaD10aGlzLmFjdGl2ZTtqPWEubmV4dCgpO2c9dGhpcy5hY3RpdmUu
bmV4dCgpO2U9e29wdGlvbnM6ZCxuZXdIZWFkZXI6YiYmZC5jb2xsYXBzaWJsZT9jKFtdKTphLG9s
ZEhlYWRlcjp0aGlzLmFjdGl2ZSxuZXdDb250ZW50OmImJmQuY29sbGFwc2libGU/YyhbXSk6aixv
bGRDb250ZW50Omd9O3ZhciBmPXRoaXMuaGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZVswXSk+dGhp
cy5oZWFkZXJzLmluZGV4KGFbMF0pO3RoaXMuYWN0aXZlPWI/YyhbXSk6YTt0aGlzLl90b2dnbGUo
aixnLGUsYixmKTtoLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIp
LmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5jaGlsZHJlbigiLnVp
LWljb24iKS5yZW1vdmVDbGFzcyhkLmljb25zLmhlYWRlclNlbGVjdGVkKS5hZGRDbGFzcyhkLmlj
b25zLmhlYWRlcik7CitpZighYil7YS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1j
b3JuZXItYWxsIikuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuY2hp
bGRyZW4oIi51aS1pY29uIikucmVtb3ZlQ2xhc3MoZC5pY29ucy5oZWFkZXIpLmFkZENsYXNzKGQu
aWNvbnMuaGVhZGVyU2VsZWN0ZWQpO2EubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29u
dGVudC1hY3RpdmUiKX19fWVsc2UgaWYoZC5jb2xsYXBzaWJsZSl7dGhpcy5hY3RpdmUucmVtb3Zl
Q2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRl
LWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNz
KGQuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpLmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyKTt0aGlzLmFj
dGl2ZS5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO3ZhciBn
PXRoaXMuYWN0aXZlLm5leHQoKSwKK2U9e29wdGlvbnM6ZCxuZXdIZWFkZXI6YyhbXSksb2xkSGVh
ZGVyOmQuYWN0aXZlLG5ld0NvbnRlbnQ6YyhbXSksb2xkQ29udGVudDpnfSxqPXRoaXMuYWN0aXZl
PWMoW10pO3RoaXMuX3RvZ2dsZShqLGcsZSl9fSxfdG9nZ2xlOmZ1bmN0aW9uKGEsYixkLGgsZil7
dmFyIGc9dGhpcyxlPWcub3B0aW9ucztnLnRvU2hvdz1hO2cudG9IaWRlPWI7Zy5kYXRhPWQ7dmFy
IGo9ZnVuY3Rpb24oKXtpZihnKXJldHVybiBnLl9jb21wbGV0ZWQuYXBwbHkoZyxhcmd1bWVudHMp
fTtnLl90cmlnZ2VyKCJjaGFuZ2VzdGFydCIsbnVsbCxnLmRhdGEpO2cucnVubmluZz1iLnNpemUo
KT09PTA/YS5zaXplKCk6Yi5zaXplKCk7aWYoZS5hbmltYXRlZCl7ZD17fTtkPWUuY29sbGFwc2li
bGUmJmg/e3RvU2hvdzpjKFtdKSx0b0hpZGU6Yixjb21wbGV0ZTpqLGRvd246ZixhdXRvSGVpZ2h0
OmUuYXV0b0hlaWdodHx8ZS5maWxsU3BhY2V9Ont0b1Nob3c6YSx0b0hpZGU6Yixjb21wbGV0ZTpq
LGRvd246ZixhdXRvSGVpZ2h0OmUuYXV0b0hlaWdodHx8CitlLmZpbGxTcGFjZX07aWYoIWUucHJv
eGllZCllLnByb3hpZWQ9ZS5hbmltYXRlZDtpZighZS5wcm94aWVkRHVyYXRpb24pZS5wcm94aWVk
RHVyYXRpb249ZS5kdXJhdGlvbjtlLmFuaW1hdGVkPWMuaXNGdW5jdGlvbihlLnByb3hpZWQpP2Uu
cHJveGllZChkKTplLnByb3hpZWQ7ZS5kdXJhdGlvbj1jLmlzRnVuY3Rpb24oZS5wcm94aWVkRHVy
YXRpb24pP2UucHJveGllZER1cmF0aW9uKGQpOmUucHJveGllZER1cmF0aW9uO2g9Yy51aS5hY2Nv
cmRpb24uYW5pbWF0aW9uczt2YXIgaT1lLmR1cmF0aW9uLGs9ZS5hbmltYXRlZDtpZihrJiYhaFtr
XSYmIWMuZWFzaW5nW2tdKWs9InNsaWRlIjtoW2tdfHwoaFtrXT1mdW5jdGlvbihsKXt0aGlzLnNs
aWRlKGwse2Vhc2luZzprLGR1cmF0aW9uOml8fDcwMH0pfSk7aFtrXShkKX1lbHNle2lmKGUuY29s
bGFwc2libGUmJmgpYS50b2dnbGUoKTtlbHNle2IuaGlkZSgpO2Euc2hvdygpfWoodHJ1ZSl9Yi5w
cmV2KCkuYXR0cih7ImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsCisiYXJpYS1zZWxlY3RlZCI6ImZh
bHNlIix0YWJJbmRleDotMX0pLmJsdXIoKTthLnByZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6
InRydWUiLCJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pLmZvY3VzKCl9LF9jb21w
bGV0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5ydW5uaW5nPWE/MDotLXRoaXMucnVubmluZztpZighdGhp
cy5ydW5uaW5nKXt0aGlzLm9wdGlvbnMuY2xlYXJTdHlsZSYmdGhpcy50b1Nob3cuYWRkKHRoaXMu
dG9IaWRlKS5jc3Moe2hlaWdodDoiIixvdmVyZmxvdzoiIn0pO3RoaXMudG9IaWRlLnJlbW92ZUNs
YXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTtpZih0aGlzLnRvSGlkZS5sZW5ndGgp
dGhpcy50b0hpZGUucGFyZW50KClbMF0uY2xhc3NOYW1lPXRoaXMudG9IaWRlLnBhcmVudCgpWzBd
LmNsYXNzTmFtZTt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLG51bGwsdGhpcy5kYXRhKX19fSk7Yy5l
eHRlbmQoYy51aS5hY2NvcmRpb24se3ZlcnNpb246IjEuOC4xNSIsCithbmltYXRpb25zOntzbGlk
ZTpmdW5jdGlvbihhLGIpe2E9Yy5leHRlbmQoe2Vhc2luZzoic3dpbmciLGR1cmF0aW9uOjMwMH0s
YSxiKTtpZihhLnRvSGlkZS5zaXplKCkpaWYoYS50b1Nob3cuc2l6ZSgpKXt2YXIgZD1hLnRvU2hv
dy5jc3MoIm92ZXJmbG93IiksaD0wLGY9e30sZz17fSxlO2I9YS50b1Nob3c7ZT1iWzBdLnN0eWxl
LndpZHRoO2Iud2lkdGgocGFyc2VJbnQoYi5wYXJlbnQoKS53aWR0aCgpLDEwKS1wYXJzZUludChi
LmNzcygicGFkZGluZ0xlZnQiKSwxMCktcGFyc2VJbnQoYi5jc3MoInBhZGRpbmdSaWdodCIpLDEw
KS0ocGFyc2VJbnQoYi5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGIu
Y3NzKCJib3JkZXJSaWdodFdpZHRoIiksMTApfHwwKSk7Yy5lYWNoKFsiaGVpZ2h0IiwicGFkZGlu
Z1RvcCIsInBhZGRpbmdCb3R0b20iXSxmdW5jdGlvbihqLGkpe2dbaV09ImhpZGUiO2o9KCIiK2Mu
Y3NzKGEudG9TaG93WzBdLGkpKS5tYXRjaCgvXihbXGQrLS5dKykoLiopJC8pOworZltpXT17dmFs
dWU6alsxXSx1bml0OmpbMl18fCJweCJ9fSk7YS50b1Nob3cuY3NzKHtoZWlnaHQ6MCxvdmVyZmxv
dzoiaGlkZGVuIn0pLnNob3coKTthLnRvSGlkZS5maWx0ZXIoIjpoaWRkZW4iKS5lYWNoKGEuY29t
cGxldGUpLmVuZCgpLmZpbHRlcigiOnZpc2libGUiKS5hbmltYXRlKGcse3N0ZXA6ZnVuY3Rpb24o
aixpKXtpZihpLnByb3A9PSJoZWlnaHQiKWg9aS5lbmQtaS5zdGFydD09PTA/MDooaS5ub3ctaS5z
dGFydCkvKGkuZW5kLWkuc3RhcnQpO2EudG9TaG93WzBdLnN0eWxlW2kucHJvcF09aCpmW2kucHJv
cF0udmFsdWUrZltpLnByb3BdLnVuaXR9LGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzaW5nOmEuZWFz
aW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5hdXRvSGVpZ2h0fHxhLnRvU2hvdy5jc3MoImhlaWdo
dCIsIiIpO2EudG9TaG93LmNzcyh7d2lkdGg6ZSxvdmVyZmxvdzpkfSk7YS5jb21wbGV0ZSgpfX0p
fWVsc2UgYS50b0hpZGUuYW5pbWF0ZSh7aGVpZ2h0OiJoaWRlIiwKK3BhZGRpbmdUb3A6ImhpZGUi
LHBhZGRpbmdCb3R0b206ImhpZGUifSxhKTtlbHNlIGEudG9TaG93LmFuaW1hdGUoe2hlaWdodDoi
c2hvdyIscGFkZGluZ1RvcDoic2hvdyIscGFkZGluZ0JvdHRvbToic2hvdyJ9LGEpfSxib3VuY2Vz
bGlkZTpmdW5jdGlvbihhKXt0aGlzLnNsaWRlKGEse2Vhc2luZzphLmRvd24/ImVhc2VPdXRCb3Vu
Y2UiOiJzd2luZyIsZHVyYXRpb246YS5kb3duPzFFMzoyMDB9KX19fSl9KShqUXVlcnkpOwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkv
MS44LjE1L3VpL2pxdWVyeS51aS5hY2NvcmRpb24ubWluLmpzCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGFs
bG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS51aS5hdXRvY29tcGxldGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYXV0b2NvbXBs
ZXRlLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUg
MS44LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BdXRvY29tcGxldGUKKyAqCisgKiBEZXBlbmRzOgorICoJ
anF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS53aWRnZXQuanMKKyAqCWpxdWVyeS51aS5w
b3NpdGlvbi5qcworICovCisoZnVuY3Rpb24oZCl7dmFyIGU9MDtkLndpZGdldCgidWkuYXV0b2Nv
bXBsZXRlIix7b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGF1dG9Gb2N1czpmYWxzZSxkZWxheToz
MDAsbWluTGVuZ3RoOjEscG9zaXRpb246e215OiJsZWZ0IHRvcCIsYXQ6ImxlZnQgYm90dG9tIixj
b2xsaXNpb246Im5vbmUifSxzb3VyY2U6bnVsbH0scGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24o
KXt2YXIgYT10aGlzLGI9dGhpcy5lbGVtZW50WzBdLm93bmVyRG9jdW1lbnQsZzt0aGlzLmVsZW1l
bnQuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLmF0dHIoImF1dG9jb21wbGV0ZSIs
Im9mZiIpLmF0dHIoe3JvbGU6InRleHRib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Imxpc3QiLCJh
cmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KS5iaW5kKCJrZXlkb3duLmF1dG9jb21wbGV0ZSIsZnVuY3Rp
b24oYyl7aWYoIShhLm9wdGlvbnMuZGlzYWJsZWR8fGEuZWxlbWVudC5wcm9wQXR0cigicmVhZE9u
bHkiKSkpe2c9CitmYWxzZTt2YXIgZj1kLnVpLmtleUNvZGU7c3dpdGNoKGMua2V5Q29kZSl7Y2Fz
ZSBmLlBBR0VfVVA6YS5fbW92ZSgicHJldmlvdXNQYWdlIixjKTticmVhaztjYXNlIGYuUEFHRV9E
T1dOOmEuX21vdmUoIm5leHRQYWdlIixjKTticmVhaztjYXNlIGYuVVA6YS5fbW92ZSgicHJldmlv
dXMiLGMpO2MucHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIGYuRE9XTjphLl9tb3ZlKCJuZXh0
IixjKTtjLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBmLkVOVEVSOmNhc2UgZi5OVU1QQURf
RU5URVI6aWYoYS5tZW51LmFjdGl2ZSl7Zz10cnVlO2MucHJldmVudERlZmF1bHQoKX1jYXNlIGYu
VEFCOmlmKCFhLm1lbnUuYWN0aXZlKXJldHVybjthLm1lbnUuc2VsZWN0KGMpO2JyZWFrO2Nhc2Ug
Zi5FU0NBUEU6YS5lbGVtZW50LnZhbChhLnRlcm0pO2EuY2xvc2UoYyk7YnJlYWs7ZGVmYXVsdDpj
bGVhclRpbWVvdXQoYS5zZWFyY2hpbmcpO2Euc2VhcmNoaW5nPXNldFRpbWVvdXQoZnVuY3Rpb24o
KXtpZihhLnRlcm0hPQorYS5lbGVtZW50LnZhbCgpKXthLnNlbGVjdGVkSXRlbT1udWxsO2Euc2Vh
cmNoKG51bGwsYyl9fSxhLm9wdGlvbnMuZGVsYXkpO2JyZWFrfX19KS5iaW5kKCJrZXlwcmVzcy5h
dXRvY29tcGxldGUiLGZ1bmN0aW9uKGMpe2lmKGcpe2c9ZmFsc2U7Yy5wcmV2ZW50RGVmYXVsdCgp
fX0pLmJpbmQoImZvY3VzLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oKXtpZighYS5vcHRpb25zLmRp
c2FibGVkKXthLnNlbGVjdGVkSXRlbT1udWxsO2EucHJldmlvdXM9YS5lbGVtZW50LnZhbCgpfX0p
LmJpbmQoImJsdXIuYXV0b2NvbXBsZXRlIixmdW5jdGlvbihjKXtpZighYS5vcHRpb25zLmRpc2Fi
bGVkKXtjbGVhclRpbWVvdXQoYS5zZWFyY2hpbmcpO2EuY2xvc2luZz1zZXRUaW1lb3V0KGZ1bmN0
aW9uKCl7YS5jbG9zZShjKTthLl9jaGFuZ2UoYyl9LDE1MCl9fSk7dGhpcy5faW5pdFNvdXJjZSgp
O3RoaXMucmVzcG9uc2U9ZnVuY3Rpb24oKXtyZXR1cm4gYS5fcmVzcG9uc2UuYXBwbHkoYSxhcmd1
bWVudHMpfTsKK3RoaXMubWVudT1kKCI8dWw+PC91bD4iKS5hZGRDbGFzcygidWktYXV0b2NvbXBs
ZXRlIikuYXBwZW5kVG8oZCh0aGlzLm9wdGlvbnMuYXBwZW5kVG98fCJib2R5IixiKVswXSkubW91
c2Vkb3duKGZ1bmN0aW9uKGMpe3ZhciBmPWEubWVudS5lbGVtZW50WzBdO2QoYy50YXJnZXQpLmNs
b3Nlc3QoIi51aS1tZW51LWl0ZW0iKS5sZW5ndGh8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkKGRv
Y3VtZW50KS5vbmUoIm1vdXNlZG93biIsZnVuY3Rpb24oaCl7aC50YXJnZXQhPT1hLmVsZW1lbnRb
MF0mJmgudGFyZ2V0IT09ZiYmIWQudWkuY29udGFpbnMoZixoLnRhcmdldCkmJmEuY2xvc2UoKX0p
fSwxKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGEuY2xvc2luZyl9LDEzKX0p
Lm1lbnUoe2ZvY3VzOmZ1bmN0aW9uKGMsZil7Zj1mLml0ZW0uZGF0YSgiaXRlbS5hdXRvY29tcGxl
dGUiKTtmYWxzZSE9PWEuX3RyaWdnZXIoImZvY3VzIixjLHtpdGVtOmZ9KSYmL15rZXkvLnRlc3Qo
Yy5vcmlnaW5hbEV2ZW50LnR5cGUpJiYKK2EuZWxlbWVudC52YWwoZi52YWx1ZSl9LHNlbGVjdGVk
OmZ1bmN0aW9uKGMsZil7dmFyIGg9Zi5pdGVtLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIiksaT1h
LnByZXZpb3VzO2lmKGEuZWxlbWVudFswXSE9PWIuYWN0aXZlRWxlbWVudCl7YS5lbGVtZW50LmZv
Y3VzKCk7YS5wcmV2aW91cz1pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnByZXZpb3VzPWk7YS5z
ZWxlY3RlZEl0ZW09aH0sMSl9ZmFsc2UhPT1hLl90cmlnZ2VyKCJzZWxlY3QiLGMse2l0ZW06aH0p
JiZhLmVsZW1lbnQudmFsKGgudmFsdWUpO2EudGVybT1hLmVsZW1lbnQudmFsKCk7YS5jbG9zZShj
KTthLnNlbGVjdGVkSXRlbT1ofSxibHVyOmZ1bmN0aW9uKCl7YS5tZW51LmVsZW1lbnQuaXMoIjp2
aXNpYmxlIikmJmEuZWxlbWVudC52YWwoKSE9PWEudGVybSYmYS5lbGVtZW50LnZhbChhLnRlcm0p
fX0pLnpJbmRleCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSkuY3NzKHt0b3A6MCxsZWZ0OjB9KS5o
aWRlKCkuZGF0YSgibWVudSIpOworZC5mbi5iZ2lmcmFtZSYmdGhpcy5tZW51LmVsZW1lbnQuYmdp
ZnJhbWUoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWkt
YXV0b2NvbXBsZXRlLWlucHV0IikucmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0
cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtYXV0b2NvbXBsZXRlIikucmVtb3ZlQXR0cigiYXJp
YS1oYXNwb3B1cCIpO3RoaXMubWVudS5lbGVtZW50LnJlbW92ZSgpO2QuV2lkZ2V0LnByb3RvdHlw
ZS5kZXN0cm95LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtkLldpZGdldC5w
cm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YT09PSJzb3VyY2UiJiZ0
aGlzLl9pbml0U291cmNlKCk7aWYoYT09PSJhcHBlbmRUbyIpdGhpcy5tZW51LmVsZW1lbnQuYXBw
ZW5kVG8oZChifHwiYm9keSIsdGhpcy5lbGVtZW50WzBdLm93bmVyRG9jdW1lbnQpWzBdKTthPT09
ImRpc2FibGVkIiYmCitiJiZ0aGlzLnhociYmdGhpcy54aHIuYWJvcnQoKX0sX2luaXRTb3VyY2U6
ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGIsZztpZihkLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJj
ZSkpe2I9dGhpcy5vcHRpb25zLnNvdXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihjLGYpe2YoZC51
aS5hdXRvY29tcGxldGUuZmlsdGVyKGIsYy50ZXJtKSl9fWVsc2UgaWYodHlwZW9mIHRoaXMub3B0
aW9ucy5zb3VyY2U9PT0ic3RyaW5nIil7Zz10aGlzLm9wdGlvbnMuc291cmNlO3RoaXMuc291cmNl
PWZ1bmN0aW9uKGMsZil7YS54aHImJmEueGhyLmFib3J0KCk7YS54aHI9ZC5hamF4KHt1cmw6Zyxk
YXRhOmMsZGF0YVR5cGU6Impzb24iLGF1dG9jb21wbGV0ZVJlcXVlc3Q6KytlLHN1Y2Nlc3M6ZnVu
Y3Rpb24oaCl7dGhpcy5hdXRvY29tcGxldGVSZXF1ZXN0PT09ZSYmZihoKX0sZXJyb3I6ZnVuY3Rp
b24oKXt0aGlzLmF1dG9jb21wbGV0ZVJlcXVlc3Q9PT1lJiZmKFtdKX19KX19ZWxzZSB0aGlzLnNv
dXJjZT0KK3RoaXMub3B0aW9ucy5zb3VyY2V9LHNlYXJjaDpmdW5jdGlvbihhLGIpe2E9YSE9bnVs
bD9hOnRoaXMuZWxlbWVudC52YWwoKTt0aGlzLnRlcm09dGhpcy5lbGVtZW50LnZhbCgpO2lmKGEu
bGVuZ3RoPHRoaXMub3B0aW9ucy5taW5MZW5ndGgpcmV0dXJuIHRoaXMuY2xvc2UoYik7Y2xlYXJU
aW1lb3V0KHRoaXMuY2xvc2luZyk7aWYodGhpcy5fdHJpZ2dlcigic2VhcmNoIixiKSE9PWZhbHNl
KXJldHVybiB0aGlzLl9zZWFyY2goYSl9LF9zZWFyY2g6ZnVuY3Rpb24oYSl7dGhpcy5wZW5kaW5n
Kys7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpO3RoaXMu
c291cmNlKHt0ZXJtOmF9LHRoaXMucmVzcG9uc2UpfSxfcmVzcG9uc2U6ZnVuY3Rpb24oYSl7aWYo
IXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmYSYmYS5sZW5ndGgpe2E9dGhpcy5fbm9ybWFsaXplKGEp
O3RoaXMuX3N1Z2dlc3QoYSk7dGhpcy5fdHJpZ2dlcigib3BlbiIpfWVsc2UgdGhpcy5jbG9zZSgp
OwordGhpcy5wZW5kaW5nLS07dGhpcy5wZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3Mo
InVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIil9LGNsb3NlOmZ1bmN0aW9uKGEpe2NsZWFyVGltZW91
dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKXt0aGlz
Lm1lbnUuZWxlbWVudC5oaWRlKCk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLl90cmlnZ2Vy
KCJjbG9zZSIsYSl9fSxfY2hhbmdlOmZ1bmN0aW9uKGEpe3RoaXMucHJldmlvdXMhPT10aGlzLmVs
ZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYSx7aXRlbTp0aGlzLnNlbGVjdGVk
SXRlbX0pfSxfbm9ybWFsaXplOmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoJiZhWzBdLmxhYmVsJiZh
WzBdLnZhbHVlKXJldHVybiBhO3JldHVybiBkLm1hcChhLGZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBi
PT09InN0cmluZyIpcmV0dXJue2xhYmVsOmIsdmFsdWU6Yn07cmV0dXJuIGQuZXh0ZW5kKHtsYWJl
bDpiLmxhYmVsfHwKK2IudmFsdWUsdmFsdWU6Yi52YWx1ZXx8Yi5sYWJlbH0sYil9KX0sX3N1Z2dl
c3Q6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKS56SW5kZXgodGhp
cy5lbGVtZW50LnpJbmRleCgpKzEpO3RoaXMuX3JlbmRlck1lbnUoYixhKTt0aGlzLm1lbnUuZGVh
Y3RpdmF0ZSgpO3RoaXMubWVudS5yZWZyZXNoKCk7Yi5zaG93KCk7dGhpcy5fcmVzaXplTWVudSgp
O2IucG9zaXRpb24oZC5leHRlbmQoe29mOnRoaXMuZWxlbWVudH0sdGhpcy5vcHRpb25zLnBvc2l0
aW9uKSk7dGhpcy5vcHRpb25zLmF1dG9Gb2N1cyYmdGhpcy5tZW51Lm5leHQobmV3IGQuRXZlbnQo
Im1vdXNlb3ZlciIpKX0sX3Jlc2l6ZU1lbnU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm1lbnUuZWxl
bWVudDthLm91dGVyV2lkdGgoTWF0aC5tYXgoYS53aWR0aCgiIikub3V0ZXJXaWR0aCgpLHRoaXMu
ZWxlbWVudC5vdXRlcldpZHRoKCkpKX0sX3JlbmRlck1lbnU6ZnVuY3Rpb24oYSxiKXt2YXIgZz10
aGlzOworZC5lYWNoKGIsZnVuY3Rpb24oYyxmKXtnLl9yZW5kZXJJdGVtKGEsZil9KX0sX3JlbmRl
ckl0ZW06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZCgiPGxpPjwvbGk+IikuZGF0YSgiaXRlbS5hdXRv
Y29tcGxldGUiLGIpLmFwcGVuZChkKCI8YT48L2E+IikudGV4dChiLmxhYmVsKSkuYXBwZW5kVG8o
YSl9LF9tb3ZlOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxl
IikpaWYodGhpcy5tZW51LmZpcnN0KCkmJi9ecHJldmlvdXMvLnRlc3QoYSl8fHRoaXMubWVudS5s
YXN0KCkmJi9ebmV4dC8udGVzdChhKSl7dGhpcy5lbGVtZW50LnZhbCh0aGlzLnRlcm0pO3RoaXMu
bWVudS5kZWFjdGl2YXRlKCl9ZWxzZSB0aGlzLm1lbnVbYV0oYik7ZWxzZSB0aGlzLnNlYXJjaChu
dWxsLGIpfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnR9fSk7ZC5l
eHRlbmQoZC51aS5hdXRvY29tcGxldGUse2VzY2FwZVJlZ2V4OmZ1bmN0aW9uKGEpe3JldHVybiBh
LnJlcGxhY2UoL1stW1xde30oKSorPy4sXFxeJHwjXHNdL2csCisiXFwkJiIpfSxmaWx0ZXI6ZnVu
Y3Rpb24oYSxiKXt2YXIgZz1uZXcgUmVnRXhwKGQudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4
KGIpLCJpIik7cmV0dXJuIGQuZ3JlcChhLGZ1bmN0aW9uKGMpe3JldHVybiBnLnRlc3QoYy5sYWJl
bHx8Yy52YWx1ZXx8Yyl9KX19KX0pKGpRdWVyeSk7CisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVp
Lm1lbnUiLHtfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xh
c3MoInVpLW1lbnUgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5h
dHRyKHtyb2xlOiJsaXN0Ym94IiwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoidWktYWN0aXZlLW1l
bnVpdGVtIn0pLmNsaWNrKGZ1bmN0aW9uKGEpe2lmKGQoYS50YXJnZXQpLmNsb3Nlc3QoIi51aS1t
ZW51LWl0ZW0gYSIpLmxlbmd0aCl7YS5wcmV2ZW50RGVmYXVsdCgpO2Uuc2VsZWN0KGEpfX0pO3Ro
aXMucmVmcmVzaCgpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmVsZW1lbnQu
Y2hpbGRyZW4oImxpOm5vdCgudWktbWVudS1pdGVtKTpoYXMoYSkiKS5hZGRDbGFzcygidWktbWVu
dS1pdGVtIikuYXR0cigicm9sZSIsIm1lbnVpdGVtIikuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygi
dWktY29ybmVyLWFsbCIpLmF0dHIoInRhYmluZGV4IiwKKy0xKS5tb3VzZWVudGVyKGZ1bmN0aW9u
KGEpe2UuYWN0aXZhdGUoYSxkKHRoaXMpLnBhcmVudCgpKX0pLm1vdXNlbGVhdmUoZnVuY3Rpb24o
KXtlLmRlYWN0aXZhdGUoKX0pfSxhY3RpdmF0ZTpmdW5jdGlvbihlLGEpe3RoaXMuZGVhY3RpdmF0
ZSgpO2lmKHRoaXMuaGFzU2Nyb2xsKCkpe3ZhciBiPWEub2Zmc2V0KCkudG9wLXRoaXMuZWxlbWVu
dC5vZmZzZXQoKS50b3AsZz10aGlzLmVsZW1lbnQuc2Nyb2xsVG9wKCksYz10aGlzLmVsZW1lbnQu
aGVpZ2h0KCk7aWYoYjwwKXRoaXMuZWxlbWVudC5zY3JvbGxUb3AoZytiKTtlbHNlIGI+PWMmJnRo
aXMuZWxlbWVudC5zY3JvbGxUb3AoZytiLWMrYS5oZWlnaHQoKSl9dGhpcy5hY3RpdmU9YS5lcSgw
KS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLmF0dHIoImlkIiwidWkt
YWN0aXZlLW1lbnVpdGVtIikuZW5kKCk7dGhpcy5fdHJpZ2dlcigiZm9jdXMiLGUse2l0ZW06YX0p
fSxkZWFjdGl2YXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3RoaXMuYWN0aXZlLmNoaWxk
cmVuKCJhIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIikucmVtb3ZlQXR0cigiaWQiKTsK
K3RoaXMuX3RyaWdnZXIoImJsdXIiKTt0aGlzLmFjdGl2ZT1udWxsfX0sbmV4dDpmdW5jdGlvbihl
KXt0aGlzLm1vdmUoIm5leHQiLCIudWktbWVudS1pdGVtOmZpcnN0IixlKX0scHJldmlvdXM6ZnVu
Y3Rpb24oZSl7dGhpcy5tb3ZlKCJwcmV2IiwiLnVpLW1lbnUtaXRlbTpsYXN0IixlKX0sZmlyc3Q6
ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWkt
bWVudS1pdGVtIikubGVuZ3RofSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYh
dGhpcy5hY3RpdmUubmV4dEFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbW92ZTpmdW5jdGlv
bihlLGEsYil7aWYodGhpcy5hY3RpdmUpe2U9dGhpcy5hY3RpdmVbZSsiQWxsIl0oIi51aS1tZW51
LWl0ZW0iKS5lcSgwKTtlLmxlbmd0aD90aGlzLmFjdGl2YXRlKGIsZSk6dGhpcy5hY3RpdmF0ZShi
LHRoaXMuZWxlbWVudC5jaGlsZHJlbihhKSl9ZWxzZSB0aGlzLmFjdGl2YXRlKGIsCit0aGlzLmVs
ZW1lbnQuY2hpbGRyZW4oYSkpfSxuZXh0UGFnZTpmdW5jdGlvbihlKXtpZih0aGlzLmhhc1Njcm9s
bCgpKWlmKCF0aGlzLmFjdGl2ZXx8dGhpcy5sYXN0KCkpdGhpcy5hY3RpdmF0ZShlLHRoaXMuZWxl
bWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbTpmaXJzdCIpKTtlbHNle3ZhciBhPXRoaXMuYWN0
aXZlLm9mZnNldCgpLnRvcCxiPXRoaXMuZWxlbWVudC5oZWlnaHQoKSxnPXRoaXMuZWxlbWVudC5j
aGlsZHJlbigiLnVpLW1lbnUtaXRlbSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBjPWQodGhpcyku
b2Zmc2V0KCkudG9wLWEtYitkKHRoaXMpLmhlaWdodCgpO3JldHVybiBjPDEwJiZjPi0xMH0pO2cu
bGVuZ3RofHwoZz10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTt0
aGlzLmFjdGl2YXRlKGUsZyl9ZWxzZSB0aGlzLmFjdGl2YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxk
cmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKCF0aGlzLmFjdGl2ZXx8Cit0aGlzLmxhc3QoKT8i
OmZpcnN0IjoiOmxhc3QiKSl9LHByZXZpb3VzUGFnZTpmdW5jdGlvbihlKXtpZih0aGlzLmhhc1Nj
cm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8dGhpcy5maXJzdCgpKXRoaXMuYWN0aXZhdGUoZSx0aGlz
LmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06bGFzdCIpKTtlbHNle3ZhciBhPXRoaXMu
YWN0aXZlLm9mZnNldCgpLnRvcCxiPXRoaXMuZWxlbWVudC5oZWlnaHQoKTtyZXN1bHQ9dGhpcy5l
bGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGc9
ZCh0aGlzKS5vZmZzZXQoKS50b3AtYStiLWQodGhpcykuaGVpZ2h0KCk7cmV0dXJuIGc8MTAmJmc+
LTEwfSk7cmVzdWx0Lmxlbmd0aHx8KHJlc3VsdD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1t
ZW51LWl0ZW06Zmlyc3QiKSk7dGhpcy5hY3RpdmF0ZShlLHJlc3VsdCl9ZWxzZSB0aGlzLmFjdGl2
YXRlKGUsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtIikuZmlsdGVyKCF0aGlz
LmFjdGl2ZXx8Cit0aGlzLmZpcnN0KCk/IjpsYXN0IjoiOmZpcnN0IikpfSxoYXNTY3JvbGw6ZnVu
Y3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LmhlaWdodCgpPHRoaXMuZWxlbWVudFtkLmZuLnBy
b3A/InByb3AiOiJhdHRyIl0oInNjcm9sbEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24oZSl7dGhp
cy5fdHJpZ2dlcigic2VsZWN0ZWQiLGUse2l0ZW06dGhpcy5hY3RpdmV9KX19KX0pKGpRdWVyeSk7
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmF1dG9jb21wbGV0ZS5taW4uanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLmJ1dHRvbi5taW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5idXR0b24u
bWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuYnV0dG9uLm1pbi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3IEBACisvKgorICogalF1ZXJ5IFVJIEJ1dHRvbiAxLjguMTUKKyAqCisgKiBD
b3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisg
KiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4K
KyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnku
Y29tL1VJL0J1dHRvbgorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJ
anF1ZXJ5LnVpLndpZGdldC5qcworICovCisoZnVuY3Rpb24oYil7dmFyIGgsaSxqLGcsbD1mdW5j
dGlvbigpe3ZhciBhPWIodGhpcykuZmluZCgiOnVpLWJ1dHRvbiIpO3NldFRpbWVvdXQoZnVuY3Rp
b24oKXthLmJ1dHRvbigicmVmcmVzaCIpfSwxKX0saz1mdW5jdGlvbihhKXt2YXIgYz1hLm5hbWUs
ZT1hLmZvcm0sZj1iKFtdKTtpZihjKWY9ZT9iKGUpLmZpbmQoIltuYW1lPSciK2MrIiddIik6Yigi
W25hbWU9JyIrYysiJ10iLGEub3duZXJEb2N1bWVudCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJu
IXRoaXMuZm9ybX0pO3JldHVybiBmfTtiLndpZGdldCgidWkuYnV0dG9uIix7b3B0aW9uczp7ZGlz
YWJsZWQ6bnVsbCx0ZXh0OnRydWUsbGFiZWw6bnVsbCxpY29uczp7cHJpbWFyeTpudWxsLHNlY29u
ZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3Jt
IikudW5iaW5kKCJyZXNldC5idXR0b24iKS5iaW5kKCJyZXNldC5idXR0b24iLGwpO2lmKHR5cGVv
ZiB0aGlzLm9wdGlvbnMuZGlzYWJsZWQhPT0KKyJib29sZWFuIil0aGlzLm9wdGlvbnMuZGlzYWJs
ZWQ9dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIpO3RoaXMuX2RldGVybWluZUJ1dHRv
blR5cGUoKTt0aGlzLmhhc1RpdGxlPSEhdGhpcy5idXR0b25FbGVtZW50LmF0dHIoInRpdGxlIik7
dmFyIGE9dGhpcyxjPXRoaXMub3B0aW9ucyxlPXRoaXMudHlwZT09PSJjaGVja2JveCJ8fHRoaXMu
dHlwZT09PSJyYWRpbyIsZj0idWktc3RhdGUtaG92ZXIiKyghZT8iIHVpLXN0YXRlLWFjdGl2ZSI6
IiIpO2lmKGMubGFiZWw9PT1udWxsKWMubGFiZWw9dGhpcy5idXR0b25FbGVtZW50Lmh0bWwoKTtp
Zih0aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpKWMuZGlzYWJsZWQ9dHJ1ZTt0aGlzLmJ1dHRv
bkVsZW1lbnQuYWRkQ2xhc3MoInVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1
aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRvbiIpLmJpbmQoIm1vdXNlZW50ZXIuYnV0
dG9uIixmdW5jdGlvbigpe2lmKCFjLmRpc2FibGVkKXtiKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0
ZS1ob3ZlciIpOwordGhpcz09PWgmJmIodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIp
fX0pLmJpbmQoIm1vdXNlbGVhdmUuYnV0dG9uIixmdW5jdGlvbigpe2MuZGlzYWJsZWR8fGIodGhp
cykucmVtb3ZlQ2xhc3MoZil9KS5iaW5kKCJjbGljay5idXR0b24iLGZ1bmN0aW9uKGQpe2lmKGMu
ZGlzYWJsZWQpe2QucHJldmVudERlZmF1bHQoKTtkLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigp
fX0pO3RoaXMuZWxlbWVudC5iaW5kKCJmb2N1cy5idXR0b24iLGZ1bmN0aW9uKCl7YS5idXR0b25F
bGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmluZCgiYmx1ci5idXR0b24iLGZ1
bmN0aW9uKCl7YS5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7
aWYoZSl7dGhpcy5lbGVtZW50LmJpbmQoImNoYW5nZS5idXR0b24iLGZ1bmN0aW9uKCl7Z3x8YS5y
ZWZyZXNoKCl9KTt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3duLmJ1dHRvbiIsZnVu
Y3Rpb24oZCl7aWYoIWMuZGlzYWJsZWQpe2c9CitmYWxzZTtpPWQucGFnZVg7aj1kLnBhZ2VZfX0p
LmJpbmQoIm1vdXNldXAuYnV0dG9uIixmdW5jdGlvbihkKXtpZighYy5kaXNhYmxlZClpZihpIT09
ZC5wYWdlWHx8aiE9PWQucGFnZVkpZz10cnVlfSl9aWYodGhpcy50eXBlPT09ImNoZWNrYm94Iil0
aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlz
YWJsZWR8fGcpcmV0dXJuIGZhbHNlO2IodGhpcykudG9nZ2xlQ2xhc3MoInVpLXN0YXRlLWFjdGl2
ZSIpO2EuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLGEuZWxlbWVudFswXS5jaGVj
a2VkKX0pO2Vsc2UgaWYodGhpcy50eXBlPT09InJhZGlvIil0aGlzLmJ1dHRvbkVsZW1lbnQuYmlu
ZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlzYWJsZWR8fGcpcmV0dXJuIGZhbHNl
O2IodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2EuYnV0dG9uRWxlbWVudC5hdHRy
KCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7Cit2YXIgZD1hLmVsZW1lbnRbMF07ayhkKS5ub3QoZCku
bWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIodGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92
ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpfSk7
ZWxzZXt0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3duLmJ1dHRvbiIsZnVuY3Rpb24o
KXtpZihjLmRpc2FibGVkKXJldHVybiBmYWxzZTtiKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1h
Y3RpdmUiKTtoPXRoaXM7Yihkb2N1bWVudCkub25lKCJtb3VzZXVwIixmdW5jdGlvbigpe2g9bnVs
bH0pfSkuYmluZCgibW91c2V1cC5idXR0b24iLGZ1bmN0aW9uKCl7aWYoYy5kaXNhYmxlZClyZXR1
cm4gZmFsc2U7Yih0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9KS5iaW5kKCJr
ZXlkb3duLmJ1dHRvbiIsZnVuY3Rpb24oZCl7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7aWYo
ZC5rZXlDb2RlPT1iLnVpLmtleUNvZGUuU1BBQ0V8fAorZC5rZXlDb2RlPT1iLnVpLmtleUNvZGUu
RU5URVIpYih0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIil9KS5iaW5kKCJrZXl1cC5i
dXR0b24iLGZ1bmN0aW9uKCl7Yih0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9
KTt0aGlzLmJ1dHRvbkVsZW1lbnQuaXMoImEiKSYmdGhpcy5idXR0b25FbGVtZW50LmtleXVwKGZ1
bmN0aW9uKGQpe2Qua2V5Q29kZT09PWIudWkua2V5Q29kZS5TUEFDRSYmYih0aGlzKS5jbGljaygp
fSl9dGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsYy5kaXNhYmxlZCk7dGhpcy5fcmVzZXRCdXR0
b24oKX0sX2RldGVybWluZUJ1dHRvblR5cGU6ZnVuY3Rpb24oKXt0aGlzLnR5cGU9dGhpcy5lbGVt
ZW50LmlzKCI6Y2hlY2tib3giKT8iY2hlY2tib3giOnRoaXMuZWxlbWVudC5pcygiOnJhZGlvIik/
InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/ImlucHV0IjoiYnV0dG9uIjtpZih0aGlz
LnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0KKyJyYWRpbyIpe3ZhciBhPXRoaXMuZWxl
bWVudC5wYXJlbnRzKCkuZmlsdGVyKCI6bGFzdCIpLGM9ImxhYmVsW2Zvcj0iK3RoaXMuZWxlbWVu
dC5hdHRyKCJpZCIpKyJdIjt0aGlzLmJ1dHRvbkVsZW1lbnQ9YS5maW5kKGMpO2lmKCF0aGlzLmJ1
dHRvbkVsZW1lbnQubGVuZ3RoKXthPWEubGVuZ3RoP2Euc2libGluZ3MoKTp0aGlzLmVsZW1lbnQu
c2libGluZ3MoKTt0aGlzLmJ1dHRvbkVsZW1lbnQ9YS5maWx0ZXIoYyk7aWYoIXRoaXMuYnV0dG9u
RWxlbWVudC5sZW5ndGgpdGhpcy5idXR0b25FbGVtZW50PWEuZmluZChjKX10aGlzLmVsZW1lbnQu
YWRkQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpOyhhPXRoaXMuZWxlbWVudC5p
cygiOmNoZWNrZWQiKSkmJnRoaXMuYnV0dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtYWN0
aXZlIik7dGhpcy5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsYSl9ZWxzZSB0aGlz
LmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVtZW50fSwKK3dpZGdldDpmdW5jdGlvbigpe3JldHVybiB0
aGlzLmJ1dHRvbkVsZW1lbnR9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpO3RoaXMuYnV0dG9uRWxlbWVudC5y
ZW1vdmVDbGFzcygidWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5l
ci1hbGwgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtYWN0aXZlICB1aS1idXR0b24taWNvbnMtb25s
eSB1aS1idXR0b24taWNvbi1vbmx5IHVpLWJ1dHRvbi10ZXh0LWljb25zIHVpLWJ1dHRvbi10ZXh0
LWljb24tcHJpbWFyeSB1aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSB1aS1idXR0b24tdGV4
dC1vbmx5IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0
bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24tdGV4dCIpLmh0bWwoKSk7dGhp
cy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoInRpdGxlIik7CitiLldp
ZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEs
Yyl7Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO2lm
KGE9PT0iZGlzYWJsZWQiKWM/dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIsdHJ1ZSk6
dGhpcy5lbGVtZW50LnByb3BBdHRyKCJkaXNhYmxlZCIsZmFsc2UpO2Vsc2UgdGhpcy5fcmVzZXRC
dXR0b24oKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZWxlbWVudC5pcygiOmRpc2Fi
bGVkIik7YSE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxl
ZCIsYSk7aWYodGhpcy50eXBlPT09InJhZGlvIilrKHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5j
dGlvbigpe2IodGhpcykuaXMoIjpjaGVja2VkIik/Yih0aGlzKS5idXR0b24oIndpZGdldCIpLmFk
ZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLAorInRydWUiKTpi
KHRoaXMpLmJ1dHRvbigid2lkZ2V0IikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0
dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9KTtlbHNlIGlmKHRoaXMudHlwZT09PSJjaGVja2Jv
eCIpdGhpcy5lbGVtZW50LmlzKCI6Y2hlY2tlZCIpP3RoaXMuYnV0dG9uRWxlbWVudC5hZGRDbGFz
cygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpOnRoaXMuYnV0
dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVz
c2VkIiwiZmFsc2UiKX0sX3Jlc2V0QnV0dG9uOmZ1bmN0aW9uKCl7aWYodGhpcy50eXBlPT09Imlu
cHV0Iil0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxh
YmVsKTtlbHNle3ZhciBhPXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9u
LWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0b24tdGV4dC1pY29ucyB1aS1i
dXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgdWkt
YnV0dG9uLXRleHQtb25seSIpLAorYz1iKCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWJ1
dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpLmFwcGVuZFRvKGEuZW1wdHkoKSku
dGV4dCgpLGU9dGhpcy5vcHRpb25zLmljb25zLGY9ZS5wcmltYXJ5JiZlLnNlY29uZGFyeSxkPVtd
O2lmKGUucHJpbWFyeXx8ZS5zZWNvbmRhcnkpe2lmKHRoaXMub3B0aW9ucy50ZXh0KWQucHVzaCgi
dWktYnV0dG9uLXRleHQtaWNvbiIrKGY/InMiOmUucHJpbWFyeT8iLXByaW1hcnkiOiItc2Vjb25k
YXJ5IikpO2UucHJpbWFyeSYmYS5wcmVwZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24t
cHJpbWFyeSB1aS1pY29uICIrZS5wcmltYXJ5KyInPjwvc3Bhbj4iKTtlLnNlY29uZGFyeSYmYS5h
cHBlbmQoIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNvbi1zZWNvbmRhcnkgdWktaWNvbiAiK2Uu
c2Vjb25kYXJ5KyInPjwvc3Bhbj4iKTtpZighdGhpcy5vcHRpb25zLnRleHQpe2QucHVzaChmPyJ1
aS1idXR0b24taWNvbnMtb25seSI6CisidWktYnV0dG9uLWljb24tb25seSIpO3RoaXMuaGFzVGl0
bGV8fGEuYXR0cigidGl0bGUiLGMpfX1lbHNlIGQucHVzaCgidWktYnV0dG9uLXRleHQtb25seSIp
O2EuYWRkQ2xhc3MoZC5qb2luKCIgIikpfX19KTtiLndpZGdldCgidWkuYnV0dG9uc2V0Iix7b3B0
aW9uczp7aXRlbXM6IjpidXR0b24sIDpzdWJtaXQsIDpyZXNldCwgOmNoZWNrYm94LCA6cmFkaW8s
IGEsIDpkYXRhKGJ1dHRvbikifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFkZENs
YXNzKCJ1aS1idXR0b25zZXQiKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLnJlZnJlc2goKX0sX3Nl
dE9wdGlvbjpmdW5jdGlvbihhLGMpe2E9PT0iZGlzYWJsZWQiJiZ0aGlzLmJ1dHRvbnMuYnV0dG9u
KCJvcHRpb24iLGEsYyk7Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxh
cmd1bWVudHMpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtZW50LmNzcygiZGly
ZWN0aW9uIik9PT0KKyJsdHIiO3RoaXMuYnV0dG9ucz10aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9w
dGlvbnMuaXRlbXMpLmZpbHRlcigiOnVpLWJ1dHRvbiIpLmJ1dHRvbigicmVmcmVzaCIpLmVuZCgp
Lm5vdCgiOnVpLWJ1dHRvbiIpLmJ1dHRvbigpLmVuZCgpLm1hcChmdW5jdGlvbigpe3JldHVybiBi
KHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCB1
aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5maWx0ZXIoIjpmaXJzdCIpLmFkZENsYXNz
KGE/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJpZ2h0IikuZW5kKCkuZmlsdGVyKCI6bGFz
dCIpLmFkZENsYXNzKGE/InVpLWNvcm5lci1yaWdodCI6InVpLWNvcm5lci1sZWZ0IikuZW5kKCku
ZW5kKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWJ1
dHRvbnNldCIpO3RoaXMuYnV0dG9ucy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYih0aGlzKS5idXR0
b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1y
aWdodCIpLmVuZCgpLmJ1dHRvbigiZGVzdHJveSIpOworYi5XaWRnZXQucHJvdG90eXBlLmRlc3Ry
b3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmJ1dHRv
bi5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmNvcmUubWluLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkuY29yZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5jb3JlLm1pbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACisvKiEKKyAqIGpRdWVyeSBVSSAxLjguMTUK
KyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20v
YWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBs
aWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9j
cy5qcXVlcnkuY29tL1VJCisgKi8KKyhmdW5jdGlvbihjLGope2Z1bmN0aW9uIGsoYSxiKXt2YXIg
ZD1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoImFyZWEiPT09ZCl7Yj1hLnBhcmVudE5vZGU7
ZD1iLm5hbWU7aWYoIWEuaHJlZnx8IWR8fGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJtYXAi
KXJldHVybiBmYWxzZTthPWMoImltZ1t1c2VtYXA9IyIrZCsiXSIpWzBdO3JldHVybiEhYSYmbChh
KX1yZXR1cm4oL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0Ly50ZXN0KGQpPyFh
LmRpc2FibGVkOiJhIj09ZD9hLmhyZWZ8fGI6YikmJmwoYSl9ZnVuY3Rpb24gbChhKXtyZXR1cm4h
YyhhKS5wYXJlbnRzKCkuYW5kU2VsZigpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBjLmN1ckNT
Uyh0aGlzLCJ2aXNpYmlsaXR5Iik9PT0iaGlkZGVuInx8Yy5leHByLmZpbHRlcnMuaGlkZGVuKHRo
aXMpfSkubGVuZ3RofWMudWk9Yy51aXx8e307aWYoIWMudWkudmVyc2lvbil7Yy5leHRlbmQoYy51
aSx7dmVyc2lvbjoiMS44LjE1IiwKK2tleUNvZGU6e0FMVDoxOCxCQUNLU1BBQ0U6OCxDQVBTX0xP
Q0s6MjAsQ09NTUE6MTg4LENPTU1BTkQ6OTEsQ09NTUFORF9MRUZUOjkxLENPTU1BTkRfUklHSFQ6
OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3
LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1QQURfQUREOjEwNyxOVU1QQURf
REVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVM
VElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVS
SU9EOjE5MCxSSUdIVDozOSxTSElGVDoxNixTUEFDRTozMixUQUI6OSxVUDozOCxXSU5ET1dTOjkx
fX0pO2MuZm4uZXh0ZW5kKHtwcm9wQXR0cjpjLmZuLnByb3B8fGMuZm4uYXR0cixfZm9jdXM6Yy5m
bi5mb2N1cyxmb2N1czpmdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP3Ro
aXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPQordGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yyhk
KS5mb2N1cygpO2ImJmIuY2FsbChkKX0sYSl9KTp0aGlzLl9mb2N1cy5hcHBseSh0aGlzLGFyZ3Vt
ZW50cyl9LHNjcm9sbFBhcmVudDpmdW5jdGlvbigpe3ZhciBhO2E9Yy5icm93c2VyLm1zaWUmJi8o
c3RhdGljfHJlbGF0aXZlKS8udGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSl8fC9hYnNvbHV0ZS8u
dGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSk/dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9u
KCl7cmV0dXJuLyhyZWxhdGl2ZXxhYnNvbHV0ZXxmaXhlZCkvLnRlc3QoYy5jdXJDU1ModGhpcywi
cG9zaXRpb24iLDEpKSYmLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZs
b3ciLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJm
bG93LXgiLDEpKX0pLmVxKDApOnRoaXMucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVy
bi8oYXV0b3xzY3JvbGwpLy50ZXN0KGMuY3VyQ1NTKHRoaXMsCisib3ZlcmZsb3ciLDEpK2MuY3Vy
Q1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0p
LmVxKDApO3JldHVybi9maXhlZC8udGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSl8fCFhLmxlbmd0
aD9jKGRvY3VtZW50KTphfSx6SW5kZXg6ZnVuY3Rpb24oYSl7aWYoYSE9PWopcmV0dXJuIHRoaXMu
Y3NzKCJ6SW5kZXgiLGEpO2lmKHRoaXMubGVuZ3RoKXthPWModGhpc1swXSk7Zm9yKHZhciBiO2Eu
bGVuZ3RoJiZhWzBdIT09ZG9jdW1lbnQ7KXtiPWEuY3NzKCJwb3NpdGlvbiIpO2lmKGI9PT0iYWJz
b2x1dGUifHxiPT09InJlbGF0aXZlInx8Yj09PSJmaXhlZCIpe2I9cGFyc2VJbnQoYS5jc3MoInpJ
bmRleCIpLDEwKTtpZighaXNOYU4oYikmJmIhPT0wKXJldHVybiBifWE9YS5wYXJlbnQoKX19cmV0
dXJuIDB9LGRpc2FibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iaW5kKChjLnN1
cHBvcnQuc2VsZWN0c3RhcnQ/InNlbGVjdHN0YXJ0IjoKKyJtb3VzZWRvd24iKSsiLnVpLWRpc2Fi
bGVTZWxlY3Rpb24iLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0pfSxlbmFibGVTZWxl
Y3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoIi51aS1kaXNhYmxlU2VsZWN0aW9u
Iil9fSk7Yy5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQo
ZixnLG0sbil7Yy5lYWNoKGUsZnVuY3Rpb24oKXtnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsInBh
ZGRpbmciK3RoaXMsdHJ1ZSkpfHwwO2lmKG0pZy09cGFyc2VGbG9hdChjLmN1ckNTUyhmLCJib3Jk
ZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8fDA7aWYobilnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYs
Im1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9KTtyZXR1cm4gZ312YXIgZT1iPT09IldpZHRoIj9bIkxl
ZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0saD1iLnRvTG93ZXJDYXNlKCksaT17aW5uZXJX
aWR0aDpjLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6Yy5mbi5pbm5lckhlaWdodCwKK291dGVy
V2lkdGg6Yy5mbi5vdXRlcldpZHRoLG91dGVySGVpZ2h0OmMuZm4ub3V0ZXJIZWlnaHR9O2MuZm5b
ImlubmVyIitiXT1mdW5jdGlvbihmKXtpZihmPT09ailyZXR1cm4gaVsiaW5uZXIiK2JdLmNhbGwo
dGhpcyk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2ModGhpcykuY3NzKGgsZCh0aGlzLGYp
KyJweCIpfSl9O2MuZm5bIm91dGVyIitiXT1mdW5jdGlvbihmLGcpe2lmKHR5cGVvZiBmIT09Im51
bWJlciIpcmV0dXJuIGlbIm91dGVyIitiXS5jYWxsKHRoaXMsZik7cmV0dXJuIHRoaXMuZWFjaChm
dW5jdGlvbigpe2ModGhpcykuY3NzKGgsZCh0aGlzLGYsdHJ1ZSxnKSsicHgiKX0pfX0pO2MuZXh0
ZW5kKGMuZXhwclsiOiJdLHtkYXRhOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4hIWMuZGF0YShhLGRb
M10pfSxmb2N1c2FibGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGsoYSwhaXNOYU4oYy5hdHRyKGEsInRh
YmluZGV4IikpKX0sdGFiYmFibGU6ZnVuY3Rpb24oYSl7dmFyIGI9Yy5hdHRyKGEsCisidGFiaW5k
ZXgiKSxkPWlzTmFOKGIpO3JldHVybihkfHxiPj0wKSYmayhhLCFkKX19KTtjKGZ1bmN0aW9uKCl7
dmFyIGE9ZG9jdW1lbnQuYm9keSxiPWEuYXBwZW5kQ2hpbGQoYj1kb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKSk7Yy5leHRlbmQoYi5zdHlsZSx7bWluSGVpZ2h0OiIxMDBweCIsaGVpZ2h0OiJh
dXRvIixwYWRkaW5nOjAsYm9yZGVyV2lkdGg6MH0pO2Muc3VwcG9ydC5taW5IZWlnaHQ9Yi5vZmZz
ZXRIZWlnaHQ9PT0xMDA7Yy5zdXBwb3J0LnNlbGVjdHN0YXJ0PSJvbnNlbGVjdHN0YXJ0ImluIGI7
YS5yZW1vdmVDaGlsZChiKS5zdHlsZS5kaXNwbGF5PSJub25lIn0pO2MuZXh0ZW5kKGMudWkse3Bs
dWdpbjp7YWRkOmZ1bmN0aW9uKGEsYixkKXthPWMudWlbYV0ucHJvdG90eXBlO2Zvcih2YXIgZSBp
biBkKXthLnBsdWdpbnNbZV09YS5wbHVnaW5zW2VdfHxbXTthLnBsdWdpbnNbZV0ucHVzaChbYixk
W2VdXSl9fSxjYWxsOmZ1bmN0aW9uKGEsYixkKXtpZigoYj1hLnBsdWdpbnNbYl0pJiYKK2EuZWxl
bWVudFswXS5wYXJlbnROb2RlKWZvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWEub3B0aW9uc1ti
W2VdWzBdXSYmYltlXVsxXS5hcHBseShhLmVsZW1lbnQsZCl9fSxjb250YWluczpmdW5jdGlvbihh
LGIpe3JldHVybiBkb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9hLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIpJjE2OmEhPT1iJiZhLmNvbnRhaW5zKGIpfSxoYXNTY3JvbGw6ZnVuY3Rp
b24oYSxiKXtpZihjKGEpLmNzcygib3ZlcmZsb3ciKT09PSJoaWRkZW4iKXJldHVybiBmYWxzZTti
PWImJmI9PT0ibGVmdCI/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiO3ZhciBkPWZhbHNlO2lmKGFb
Yl0+MClyZXR1cm4gdHJ1ZTthW2JdPTE7ZD1hW2JdPjA7YVtiXT0wO3JldHVybiBkfSxpc092ZXJB
eGlzOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYT5iJiZhPGIrZH0saXNPdmVyOmZ1bmN0aW9uKGEs
YixkLGUsaCxpKXtyZXR1cm4gYy51aS5pc092ZXJBeGlzKGEsZCxoKSYmCitjLnVpLmlzT3ZlckF4
aXMoYixlLGkpfX0pfX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmNvcmUubWlu
LmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kYXRlcGlja2VyLm1pbi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLmRhdGVwaWNrZXIubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVz
L3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZGF0ZXBp
Y2tlci5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIGpRdWVy
eSBVSSBEYXRlcGlja2VyIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4
dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhl
IE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGlj
ZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlcgorICoKKyAq
IERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICovCisoZnVuY3Rpb24oZCxDKXtmdW5j
dGlvbiBNKCl7dGhpcy5kZWJ1Zz1mYWxzZTt0aGlzLl9jdXJJbnN0PW51bGw7dGhpcy5fa2V5RXZl
bnQ9ZmFsc2U7dGhpcy5fZGlzYWJsZWRJbnB1dHM9W107dGhpcy5faW5EaWFsb2c9dGhpcy5fZGF0
ZXBpY2tlclNob3dpbmc9ZmFsc2U7dGhpcy5fbWFpbkRpdklkPSJ1aS1kYXRlcGlja2VyLWRpdiI7
dGhpcy5faW5saW5lQ2xhc3M9InVpLWRhdGVwaWNrZXItaW5saW5lIjt0aGlzLl9hcHBlbmRDbGFz
cz0idWktZGF0ZXBpY2tlci1hcHBlbmQiO3RoaXMuX3RyaWdnZXJDbGFzcz0idWktZGF0ZXBpY2tl
ci10cmlnZ2VyIjt0aGlzLl9kaWFsb2dDbGFzcz0idWktZGF0ZXBpY2tlci1kaWFsb2ciO3RoaXMu
X2Rpc2FibGVDbGFzcz0idWktZGF0ZXBpY2tlci1kaXNhYmxlZCI7dGhpcy5fdW5zZWxlY3RhYmxl
Q2xhc3M9InVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIjt0aGlzLl9jdXJyZW50Q2xhc3M9InVp
LWRhdGVwaWNrZXItY3VycmVudC1kYXkiO3RoaXMuX2RheU92ZXJDbGFzcz0KKyJ1aS1kYXRlcGlj
a2VyLWRheXMtY2VsbC1vdmVyIjt0aGlzLnJlZ2lvbmFsPVtdO3RoaXMucmVnaW9uYWxbIiJdPXtj
bG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVudFRl
eHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJp
bCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5v
dmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJB
cHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlO
YW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIs
IkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldl
ZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLAorIk1vIiwiVHUiLCJXZSIs
IlRoIiwiRnIiLCJTYSJdLHdlZWtIZWFkZXI6IldrIixkYXRlRm9ybWF0OiJtbS9kZC95eSIsZmly
c3REYXk6MCxpc1JUTDpmYWxzZSxzaG93TW9udGhBZnRlclllYXI6ZmFsc2UseWVhclN1ZmZpeDoi
In07dGhpcy5fZGVmYXVsdHM9e3Nob3dPbjoiZm9jdXMiLHNob3dBbmltOiJmYWRlSW4iLHNob3dP
cHRpb25zOnt9LGRlZmF1bHREYXRlOm51bGwsYXBwZW5kVGV4dDoiIixidXR0b25UZXh0OiIuLi4i
LGJ1dHRvbkltYWdlOiIiLGJ1dHRvbkltYWdlT25seTpmYWxzZSxoaWRlSWZOb1ByZXZOZXh0OmZh
bHNlLG5hdmlnYXRpb25Bc0RhdGVGb3JtYXQ6ZmFsc2UsZ290b0N1cnJlbnQ6ZmFsc2UsY2hhbmdl
TW9udGg6ZmFsc2UsY2hhbmdlWWVhcjpmYWxzZSx5ZWFyUmFuZ2U6ImMtMTA6YysxMCIsc2hvd090
aGVyTW9udGhzOmZhbHNlLHNlbGVjdE90aGVyTW9udGhzOmZhbHNlLHNob3dXZWVrOmZhbHNlLGNh
bGN1bGF0ZVdlZWs6dGhpcy5pc284NjAxV2VlayxzaG9ydFllYXJDdXRvZmY6IisxMCIsCittaW5E
YXRlOm51bGwsbWF4RGF0ZTpudWxsLGR1cmF0aW9uOiJmYXN0IixiZWZvcmVTaG93RGF5Om51bGws
YmVmb3JlU2hvdzpudWxsLG9uU2VsZWN0Om51bGwsb25DaGFuZ2VNb250aFllYXI6bnVsbCxvbkNs
b3NlOm51bGwsbnVtYmVyT2ZNb250aHM6MSxzaG93Q3VycmVudEF0UG9zOjAsc3RlcE1vbnRoczox
LHN0ZXBCaWdNb250aHM6MTIsYWx0RmllbGQ6IiIsYWx0Rm9ybWF0OiIiLGNvbnN0cmFpbklucHV0
OnRydWUsc2hvd0J1dHRvblBhbmVsOmZhbHNlLGF1dG9TaXplOmZhbHNlLGRpc2FibGVkOmZhbHNl
fTtkLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIiXSk7dGhpcy5kcERpdj1O
KGQoJzxkaXYgaWQ9IicrdGhpcy5fbWFpbkRpdklkKyciIGNsYXNzPSJ1aS1kYXRlcGlja2VyIHVp
LXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFs
bCI+PC9kaXY+JykpfWZ1bmN0aW9uIE4oYSl7cmV0dXJuIGEuYmluZCgibW91c2VvdXQiLAorZnVu
Y3Rpb24oYil7Yj1kKGIudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51aS1kYXRlcGlja2VyLXBy
ZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEiKTti
Lmxlbmd0aCYmYi5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIgdWktZGF0ZXBpY2tlci1wcmV2
LWhvdmVyIHVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuYmluZCgibW91c2VvdmVyIixmdW5j
dGlvbihiKXtiPWQoYi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJl
diwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2lm
KCEoZC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihKLmlubGluZT9hLnBhcmVudCgp
WzBdOkouaW5wdXRbMF0pfHwhYi5sZW5ndGgpKXtiLnBhcmVudHMoIi51aS1kYXRlcGlja2VyLWNh
bGVuZGFyIikuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOworYi5hZGRD
bGFzcygidWktc3RhdGUtaG92ZXIiKTtiLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYiKSYm
Yi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIik7Yi5oYXNDbGFzcygidWktZGF0
ZXBpY2tlci1uZXh0IikmJmIuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfX0p
fWZ1bmN0aW9uIEgoYSxiKXtkLmV4dGVuZChhLGIpO2Zvcih2YXIgYyBpbiBiKWlmKGJbY109PW51
bGx8fGJbY109PUMpYVtjXT1iW2NdO3JldHVybiBhfWQuZXh0ZW5kKGQudWkse2RhdGVwaWNrZXI6
e3ZlcnNpb246IjEuOC4xNSJ9fSk7dmFyIEI9KG5ldyBEYXRlKS5nZXRUaW1lKCksSjtkLmV4dGVu
ZChNLnByb3RvdHlwZSx7bWFya2VyQ2xhc3NOYW1lOiJoYXNEYXRlcGlja2VyIixtYXhSb3dzOjQs
bG9nOmZ1bmN0aW9uKCl7dGhpcy5kZWJ1ZyYmY29uc29sZS5sb2cuYXBwbHkoIiIsYXJndW1lbnRz
KX0sX3dpZGdldERhdGVwaWNrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kcERpdn0sCitzZXRE
ZWZhdWx0czpmdW5jdGlvbihhKXtIKHRoaXMuX2RlZmF1bHRzLGF8fHt9KTtyZXR1cm4gdGhpc30s
X2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO2Zvcih2YXIgZSBpbiB0
aGlzLl9kZWZhdWx0cyl7dmFyIGY9YS5nZXRBdHRyaWJ1dGUoImRhdGU6IitlKTtpZihmKXtjPWN8
fHt9O3RyeXtjW2VdPWV2YWwoZil9Y2F0Y2goaCl7Y1tlXT1mfX19ZT1hLm5vZGVOYW1lLnRvTG93
ZXJDYXNlKCk7Zj1lPT0iZGl2Inx8ZT09InNwYW4iO2lmKCFhLmlkKXt0aGlzLnV1aWQrPTE7YS5p
ZD0iZHAiK3RoaXMudXVpZH12YXIgaT10aGlzLl9uZXdJbnN0KGQoYSksZik7aS5zZXR0aW5ncz1k
LmV4dGVuZCh7fSxifHx7fSxjfHx7fSk7aWYoZT09ImlucHV0Iil0aGlzLl9jb25uZWN0RGF0ZXBp
Y2tlcihhLGkpO2Vsc2UgZiYmdGhpcy5faW5saW5lRGF0ZXBpY2tlcihhLGkpfSxfbmV3SW5zdDpm
dW5jdGlvbihhLGIpe3JldHVybntpZDphWzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV8tXSkv
ZywKKyJcXFxcJDEiKSxpbnB1dDphLHNlbGVjdGVkRGF5OjAsc2VsZWN0ZWRNb250aDowLHNlbGVj
dGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmIsZHBEaXY6IWI/dGhpcy5k
cERpdjpOKGQoJzxkaXYgY2xhc3M9IicrdGhpcy5faW5saW5lQ2xhc3MrJyB1aS1kYXRlcGlja2Vy
IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVy
LWFsbCI+PC9kaXY+JykpfX0sX2Nvbm5lY3REYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9
ZChhKTtiLmFwcGVuZD1kKFtdKTtiLnRyaWdnZXI9ZChbXSk7aWYoIWMuaGFzQ2xhc3ModGhpcy5t
YXJrZXJDbGFzc05hbWUpKXt0aGlzLl9hdHRhY2htZW50cyhjLGIpO2MuYWRkQ2xhc3ModGhpcy5t
YXJrZXJDbGFzc05hbWUpLmtleWRvd24odGhpcy5fZG9LZXlEb3duKS5rZXlwcmVzcyh0aGlzLl9k
b0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIi
LAorZnVuY3Rpb24oZSxmLGgpe2Iuc2V0dGluZ3NbZl09aH0pLmJpbmQoImdldERhdGEuZGF0ZXBp
Y2tlciIsZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5fZ2V0KGIsZil9KTt0aGlzLl9hdXRvU2l6
ZShiKTtkLmRhdGEoYSwiZGF0ZXBpY2tlciIsYik7Yi5zZXR0aW5ncy5kaXNhYmxlZCYmdGhpcy5f
ZGlzYWJsZURhdGVwaWNrZXIoYSl9fSxfYXR0YWNobWVudHM6ZnVuY3Rpb24oYSxiKXt2YXIgYz10
aGlzLl9nZXQoYiwiYXBwZW5kVGV4dCIpLGU9dGhpcy5fZ2V0KGIsImlzUlRMIik7Yi5hcHBlbmQm
JmIuYXBwZW5kLnJlbW92ZSgpO2lmKGMpe2IuYXBwZW5kPWQoJzxzcGFuIGNsYXNzPSInK3RoaXMu
X2FwcGVuZENsYXNzKyciPicrYysiPC9zcGFuPiIpO2FbZT8iYmVmb3JlIjoiYWZ0ZXIiXShiLmFw
cGVuZCl9YS51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlcik7Yi50cmlnZ2VyJiZi
LnRyaWdnZXIucmVtb3ZlKCk7Yz10aGlzLl9nZXQoYiwic2hvd09uIik7aWYoYz09CisiZm9jdXMi
fHxjPT0iYm90aCIpYS5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlcik7aWYoYz09ImJ1dHRvbiJ8
fGM9PSJib3RoIil7Yz10aGlzLl9nZXQoYiwiYnV0dG9uVGV4dCIpO3ZhciBmPXRoaXMuX2dldChi
LCJidXR0b25JbWFnZSIpO2IudHJpZ2dlcj1kKHRoaXMuX2dldChiLCJidXR0b25JbWFnZU9ubHki
KT9kKCI8aW1nLz4iKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3MpLmF0dHIoe3NyYzpmLGFs
dDpjLHRpdGxlOmN9KTpkKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PC9idXR0b24+JykuYWRkQ2xh
c3ModGhpcy5fdHJpZ2dlckNsYXNzKS5odG1sKGY9PSIiP2M6ZCgiPGltZy8+IikuYXR0cih7c3Jj
OmYsYWx0OmMsdGl0bGU6Y30pKSk7YVtlPyJiZWZvcmUiOiJhZnRlciJdKGIudHJpZ2dlcik7Yi50
cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCl7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYm
ZC5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWFbMF0/ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tl
cigpOgorZC5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcihhWzBdKTtyZXR1cm4gZmFsc2V9KX19
LF9hdXRvU2l6ZTpmdW5jdGlvbihhKXtpZih0aGlzLl9nZXQoYSwiYXV0b1NpemUiKSYmIWEuaW5s
aW5lKXt2YXIgYj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0
Iik7aWYoYy5tYXRjaCgvW0RNXS8pKXt2YXIgZT1mdW5jdGlvbihmKXtmb3IodmFyIGg9MCxpPTAs
Zz0wO2c8Zi5sZW5ndGg7ZysrKWlmKGZbZ10ubGVuZ3RoPmgpe2g9ZltnXS5sZW5ndGg7aT1nfXJl
dHVybiBpfTtiLnNldE1vbnRoKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgvTU0vKT8ibW9udGhOYW1l
cyI6Im1vbnRoTmFtZXNTaG9ydCIpKSk7Yi5zZXREYXRlKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgv
REQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLWIuZ2V0RGF5KCkpfWEuaW5wdXQu
YXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShhLGIpLmxlbmd0aCl9fSxfaW5saW5lRGF0ZXBp
Y2tlcjpmdW5jdGlvbihhLAorYil7dmFyIGM9ZChhKTtpZighYy5oYXNDbGFzcyh0aGlzLm1hcmtl
ckNsYXNzTmFtZSkpe2MuYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmFwcGVuZChiLmRw
RGl2KS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGUsZixoKXtiLnNldHRpbmdz
W2ZdPWh9KS5iaW5kKCJnZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGUsZil7cmV0dXJuIHRo
aXMuX2dldChiLGYpfSk7ZC5kYXRhKGEsImRhdGVwaWNrZXIiLGIpO3RoaXMuX3NldERhdGUoYix0
aGlzLl9nZXREZWZhdWx0RGF0ZShiKSx0cnVlKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO3Ro
aXMuX3VwZGF0ZUFsdGVybmF0ZShiKTtiLnNldHRpbmdzLmRpc2FibGVkJiZ0aGlzLl9kaXNhYmxl
RGF0ZXBpY2tlcihhKTtiLmRwRGl2LmNzcygiZGlzcGxheSIsImJsb2NrIil9fSxfZGlhbG9nRGF0
ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyxlLGYpe2E9dGhpcy5fZGlhbG9nSW5zdDtpZighYSl7dGhp
cy51dWlkKz0KKzE7dGhpcy5fZGlhbG9nSW5wdXQ9ZCgnPGlucHV0IHR5cGU9InRleHQiIGlkPSIn
KygiZHAiK3RoaXMudXVpZCkrJyIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMTAw
cHg7IHdpZHRoOiAwcHg7IHotaW5kZXg6IC0xMDsiLz4nKTt0aGlzLl9kaWFsb2dJbnB1dC5rZXlk
b3duKHRoaXMuX2RvS2V5RG93bik7ZCgiYm9keSIpLmFwcGVuZCh0aGlzLl9kaWFsb2dJbnB1dCk7
YT10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlhbG9nSW5wdXQsZmFsc2Up
O2Euc2V0dGluZ3M9e307ZC5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixh
KX1IKGEuc2V0dGluZ3MsZXx8e30pO2I9YiYmYi5jb25zdHJ1Y3Rvcj09RGF0ZT90aGlzLl9mb3Jt
YXREYXRlKGEsYik6Yjt0aGlzLl9kaWFsb2dJbnB1dC52YWwoYik7dGhpcy5fcG9zPWY/Zi5sZW5n
dGg/ZjpbZi5wYWdlWCxmLnBhZ2VZXTpudWxsO2lmKCF0aGlzLl9wb3MpdGhpcy5fcG9zPVtkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvCisyLTEwMCsoZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCksZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yLTE1MCsoZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApXTt0aGlzLl9kaWFsb2dJbnB1
dC5jc3MoImxlZnQiLHRoaXMuX3Bvc1swXSsyMCsicHgiKS5jc3MoInRvcCIsdGhpcy5fcG9zWzFd
KyJweCIpO2Euc2V0dGluZ3Mub25TZWxlY3Q9Yzt0aGlzLl9pbkRpYWxvZz10cnVlO3RoaXMuZHBE
aXYuYWRkQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpO3RoaXMuX3Nob3dEYXRlcGlja2VyKHRoaXMu
X2RpYWxvZ0lucHV0WzBdKTtkLmJsb2NrVUkmJmQuYmxvY2tVSSh0aGlzLmRwRGl2KTtkLmRhdGEo
dGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGEpO3JldHVybiB0aGlzfSxfZGVzdHJv
eURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9CitkKGEpLGM9ZC5kYXRhKGEsImRhdGVwaWNr
ZXIiKTtpZihiLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGU9YS5ub2RlTmFt
ZS50b0xvd2VyQ2FzZSgpO2QucmVtb3ZlRGF0YShhLCJkYXRlcGlja2VyIik7aWYoZT09ImlucHV0
Iil7Yy5hcHBlbmQucmVtb3ZlKCk7Yy50cmlnZ2VyLnJlbW92ZSgpO2IucmVtb3ZlQ2xhc3ModGhp
cy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKS51
bmJpbmQoImtleWRvd24iLHRoaXMuX2RvS2V5RG93bikudW5iaW5kKCJrZXlwcmVzcyIsdGhpcy5f
ZG9LZXlQcmVzcykudW5iaW5kKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCl9ZWxzZSBpZihlPT0iZGl2
Inx8ZT09InNwYW4iKWIucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmVtcHR5KCl9
fSxfZW5hYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj1kKGEpLGM9ZC5kYXRhKGEsImRh
dGVwaWNrZXIiKTtpZihiLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGU9Cith
Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoZT09ImlucHV0Iil7YS5kaXNhYmxlZD1mYWxzZTtj
LnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD1m
YWxzZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIxLjAiLGN1cnNvcjoiIn0p
fWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIil7Yj1iLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxp
bmVDbGFzcyk7Yi5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2Iu
ZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXll
YXIiKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWQubWFwKHRo
aXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKGYpe3JldHVybiBmPT1hP251bGw6Zn0pfX0sX2Rp
c2FibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPWQoYSksYz1kLmRhdGEoYSwKKyJkYXRl
cGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBlPWEubm9k
ZU5hbWUudG9Mb3dlckNhc2UoKTtpZihlPT0iaW5wdXQiKXthLmRpc2FibGVkPXRydWU7Yy50cmln
Z2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9dHJ1ZX0p
LmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIwLjUiLGN1cnNvcjoiZGVmYXVsdCJ9
KX1lbHNlIGlmKGU9PSJkaXYifHxlPT0ic3BhbiIpe2I9Yi5jaGlsZHJlbigiLiIrdGhpcy5faW5s
aW5lQ2xhc3MpO2IuY2hpbGRyZW4oKS5hZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtiLmZp
bmQoInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFy
IikuYXR0cigiZGlzYWJsZWQiLCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWQubWFw
KHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKGYpe3JldHVybiBmPT0KK2E/bnVsbDpmfSk7
dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT1hfX0sX2lz
RGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBmYWxzZTtmb3IodmFy
IGI9MDtiPHRoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aDtiKyspaWYodGhpcy5fZGlzYWJsZWRJ
bnB1dHNbYl09PWEpcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlfSxfZ2V0SW5zdDpmdW5jdGlvbihh
KXt0cnl7cmV0dXJuIGQuZGF0YShhLCJkYXRlcGlja2VyIil9Y2F0Y2goYil7dGhyb3ciTWlzc2lu
ZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiO319LF9vcHRpb25EYXRlcGlja2Vy
OmZ1bmN0aW9uKGEsYixjKXt2YXIgZT10aGlzLl9nZXRJbnN0KGEpO2lmKGFyZ3VtZW50cy5sZW5n
dGg9PTImJnR5cGVvZiBiPT0ic3RyaW5nIilyZXR1cm4gYj09ImRlZmF1bHRzIj9kLmV4dGVuZCh7
fSxkLmRhdGVwaWNrZXIuX2RlZmF1bHRzKTplP2I9PSJhbGwiPworZC5leHRlbmQoe30sZS5zZXR0
aW5ncyk6dGhpcy5fZ2V0KGUsYik6bnVsbDt2YXIgZj1ifHx7fTtpZih0eXBlb2YgYj09InN0cmlu
ZyIpe2Y9e307ZltiXT1jfWlmKGUpe3RoaXMuX2N1ckluc3Q9PWUmJnRoaXMuX2hpZGVEYXRlcGlj
a2VyKCk7dmFyIGg9dGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIoYSx0cnVlKSxpPXRoaXMuX2dldE1p
bk1heERhdGUoZSwibWluIiksZz10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1heCIpO0goZS5zZXR0
aW5ncyxmKTtpZihpIT09bnVsbCYmZi5kYXRlRm9ybWF0IT09QyYmZi5taW5EYXRlPT09QyllLnNl
dHRpbmdzLm1pbkRhdGU9dGhpcy5fZm9ybWF0RGF0ZShlLGkpO2lmKGchPT1udWxsJiZmLmRhdGVG
b3JtYXQhPT1DJiZmLm1heERhdGU9PT1DKWUuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3JtYXRE
YXRlKGUsZyk7dGhpcy5fYXR0YWNobWVudHMoZChhKSxlKTt0aGlzLl9hdXRvU2l6ZShlKTt0aGlz
Ll9zZXREYXRlKGUsaCk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGUpOwordGhpcy5fdXBkYXRlRGF0
ZXBpY2tlcihlKX19LF9jaGFuZ2VEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYixjKXt0aGlzLl9vcHRp
b25EYXRlcGlja2VyKGEsYixjKX0sX3JlZnJlc2hEYXRlcGlja2VyOmZ1bmN0aW9uKGEpeyhhPXRo
aXMuX2dldEluc3QoYSkpJiZ0aGlzLl91cGRhdGVEYXRlcGlja2VyKGEpfSxfc2V0RGF0ZURhdGVw
aWNrZXI6ZnVuY3Rpb24oYSxiKXtpZihhPXRoaXMuX2dldEluc3QoYSkpe3RoaXMuX3NldERhdGUo
YSxiKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGEpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShhKX19
LF9nZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpeyhhPXRoaXMuX2dldEluc3QoYSkpJiYh
YS5pbmxpbmUmJnRoaXMuX3NldERhdGVGcm9tRmllbGQoYSxiKTtyZXR1cm4gYT90aGlzLl9nZXRE
YXRlKGEpOm51bGx9LF9kb0tleURvd246ZnVuY3Rpb24oYSl7dmFyIGI9ZC5kYXRlcGlja2VyLl9n
ZXRJbnN0KGEudGFyZ2V0KSxjPXRydWUsZT1iLmRwRGl2LmlzKCIudWktZGF0ZXBpY2tlci1ydGwi
KTsKK2IuX2tleUV2ZW50PXRydWU7aWYoZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZylz
d2l0Y2goYS5rZXlDb2RlKXtjYXNlIDk6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2M9
ZmFsc2U7YnJlYWs7Y2FzZSAxMzpjPWQoInRkLiIrZC5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3Mr
Ijpub3QoLiIrZC5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGIuZHBEaXYpO2NbMF0mJmQu
ZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGEudGFyZ2V0LGIuc2VsZWN0ZWRNb250aCxiLnNlbGVjdGVk
WWVhcixjWzBdKTtpZihhPWQuZGF0ZXBpY2tlci5fZ2V0KGIsIm9uU2VsZWN0Iikpe2M9ZC5kYXRl
cGlja2VyLl9mb3JtYXREYXRlKGIpO2EuYXBwbHkoYi5pbnB1dD9iLmlucHV0WzBdOm51bGwsW2Ms
Yl0pfWVsc2UgZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO3JldHVybiBmYWxzZTtjYXNl
IDI3OmQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTticmVhaztjYXNlIDMzOmQuZGF0ZXBp
Y2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCwKK2EuY3RybEtleT8tZC5kYXRlcGlja2VyLl9nZXQo
Yiwic3RlcEJpZ01vbnRocyIpOi1kLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0i
KTticmVhaztjYXNlIDM0OmQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxL
ZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9n
ZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihhLmN0cmxLZXl8fGEubWV0
YUtleSlkLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShhLnRhcmdldCk7Yz1hLmN0cmxLZXl8fGEubWV0
YUtleTticmVhaztjYXNlIDM2OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5f
Z290b1RvZGF5KGEudGFyZ2V0KTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzc6
aWYoYS5jdHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0
LGU/KzE6LTEsIkQiKTtjPQorYS5jdHJsS2V5fHxhLm1ldGFLZXk7aWYoYS5vcmlnaW5hbEV2ZW50
LmFsdEtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsYS5jdHJsS2V5Py1kLmRh
dGVwaWNrZXIuX2dldChiLCJzdGVwQmlnTW9udGhzIik6LWQuZGF0ZXBpY2tlci5fZ2V0KGIsInN0
ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzg6aWYoYS5jdHJsS2V5fHxhLm1ldGFLZXkpZC5k
YXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LC03LCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0
YUtleTticmVhaztjYXNlIDM5OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5f
YWRqdXN0RGF0ZShhLnRhcmdldCxlPy0xOisxLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtp
ZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdl
dCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRl
cGlja2VyLl9nZXQoYiwKKyJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDQwOmlmKGEuY3Ry
bEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCwrNywiRCIp
O2M9YS5jdHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7ZGVmYXVsdDpjPWZhbHNlfWVsc2UgaWYoYS5r
ZXlDb2RlPT0zNiYmYS5jdHJsS2V5KWQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIodGhpcyk7
ZWxzZSBjPWZhbHNlO2lmKGMpe2EucHJldmVudERlZmF1bHQoKTthLnN0b3BQcm9wYWdhdGlvbigp
fX0sX2RvS2V5UHJlc3M6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5kYXRlcGlja2VyLl9nZXRJbnN0KGEu
dGFyZ2V0KTtpZihkLmRhdGVwaWNrZXIuX2dldChiLCJjb25zdHJhaW5JbnB1dCIpKXtiPWQuZGF0
ZXBpY2tlci5fcG9zc2libGVDaGFycyhkLmRhdGVwaWNrZXIuX2dldChiLCJkYXRlRm9ybWF0Iikp
O3ZhciBjPVN0cmluZy5mcm9tQ2hhckNvZGUoYS5jaGFyQ29kZT09Qz9hLmtleUNvZGU6YS5jaGFy
Q29kZSk7CityZXR1cm4gYS5jdHJsS2V5fHxhLm1ldGFLZXl8fGM8IiAifHwhYnx8Yi5pbmRleE9m
KGMpPi0xfX0sX2RvS2V5VXA6ZnVuY3Rpb24oYSl7YT1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50
YXJnZXQpO2lmKGEuaW5wdXQudmFsKCkhPWEubGFzdFZhbCl0cnl7aWYoZC5kYXRlcGlja2VyLnBh
cnNlRGF0ZShkLmRhdGVwaWNrZXIuX2dldChhLCJkYXRlRm9ybWF0IiksYS5pbnB1dD9hLmlucHV0
LnZhbCgpOm51bGwsZC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYSkpKXtkLmRhdGVwaWNr
ZXIuX3NldERhdGVGcm9tRmllbGQoYSk7ZC5kYXRlcGlja2VyLl91cGRhdGVBbHRlcm5hdGUoYSk7
ZC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGEpfX1jYXRjaChiKXtkLmRhdGVwaWNrZXIu
bG9nKGIpfXJldHVybiB0cnVlfSxfc2hvd0RhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7YT1hLnRhcmdl
dHx8YTtpZihhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPSJpbnB1dCIpYT1kKCJpbnB1dCIsCith
LnBhcmVudE5vZGUpWzBdO2lmKCEoZC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihh
KXx8ZC5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWEpKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldElu
c3QoYSk7aWYoZC5kYXRlcGlja2VyLl9jdXJJbnN0JiZkLmRhdGVwaWNrZXIuX2N1ckluc3QhPWIp
e2QuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmQuZGF0ZXBpY2tlci5fdHJpZ2dlck9u
Q2xvc2UoZC5kYXRlcGlja2VyLl9jdXJJbnN0KTtkLmRhdGVwaWNrZXIuX2N1ckluc3QuZHBEaXYu
c3RvcCh0cnVlLHRydWUpfXZhciBjPWQuZGF0ZXBpY2tlci5fZ2V0KGIsImJlZm9yZVNob3ciKTtI
KGIuc2V0dGluZ3MsYz9jLmFwcGx5KGEsW2EsYl0pOnt9KTtiLmxhc3RWYWw9bnVsbDtkLmRhdGVw
aWNrZXIuX2xhc3RJbnB1dD1hO2QuZGF0ZXBpY2tlci5fc2V0RGF0ZUZyb21GaWVsZChiKTtpZihk
LmRhdGVwaWNrZXIuX2luRGlhbG9nKWEudmFsdWU9IiI7aWYoIWQuZGF0ZXBpY2tlci5fcG9zKXtk
LmRhdGVwaWNrZXIuX3Bvcz0KK2QuZGF0ZXBpY2tlci5fZmluZFBvcyhhKTtkLmRhdGVwaWNrZXIu
X3Bvc1sxXSs9YS5vZmZzZXRIZWlnaHR9dmFyIGU9ZmFsc2U7ZChhKS5wYXJlbnRzKCkuZWFjaChm
dW5jdGlvbigpe2V8PWQodGhpcykuY3NzKCJwb3NpdGlvbiIpPT0iZml4ZWQiO3JldHVybiFlfSk7
aWYoZSYmZC5icm93c2VyLm9wZXJhKXtkLmRhdGVwaWNrZXIuX3Bvc1swXS09ZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7ZC5kYXRlcGlja2VyLl9wb3NbMV0tPWRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zY3JvbGxUb3B9Yz17bGVmdDpkLmRhdGVwaWNrZXIuX3Bvc1swXSx0b3A6
ZC5kYXRlcGlja2VyLl9wb3NbMV19O2QuZGF0ZXBpY2tlci5fcG9zPW51bGw7Yi5kcERpdi5lbXB0
eSgpO2IuZHBEaXYuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6ImJsb2NrIix0b3A6
Ii0xMDAwcHgifSk7ZC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGIpO2M9ZC5kYXRlcGlj
a2VyLl9jaGVja09mZnNldChiLAorYyxlKTtiLmRwRGl2LmNzcyh7cG9zaXRpb246ZC5kYXRlcGlj
a2VyLl9pbkRpYWxvZyYmZC5ibG9ja1VJPyJzdGF0aWMiOmU/ImZpeGVkIjoiYWJzb2x1dGUiLGRp
c3BsYXk6Im5vbmUiLGxlZnQ6Yy5sZWZ0KyJweCIsdG9wOmMudG9wKyJweCJ9KTtpZighYi5pbmxp
bmUpe2M9ZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd0FuaW0iKTt2YXIgZj1kLmRhdGVwaWNrZXIu
X2dldChiLCJkdXJhdGlvbiIpLGg9ZnVuY3Rpb24oKXt2YXIgaT1iLmRwRGl2LmZpbmQoImlmcmFt
ZS51aS1kYXRlcGlja2VyLWNvdmVyIik7aWYoaS5sZW5ndGgpe3ZhciBnPWQuZGF0ZXBpY2tlci5f
Z2V0Qm9yZGVycyhiLmRwRGl2KTtpLmNzcyh7bGVmdDotZ1swXSx0b3A6LWdbMV0sd2lkdGg6Yi5k
cERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmIuZHBEaXYub3V0ZXJIZWlnaHQoKX0pfX07Yi5kcERp
di56SW5kZXgoZChhKS56SW5kZXgoKSsxKTtkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5n
PXRydWU7ZC5lZmZlY3RzJiYKK2QuZWZmZWN0c1tjXT9iLmRwRGl2LnNob3coYyxkLmRhdGVwaWNr
ZXIuX2dldChiLCJzaG93T3B0aW9ucyIpLGYsaCk6Yi5kcERpdltjfHwic2hvdyJdKGM/ZjpudWxs
LGgpO2lmKCFjfHwhZiloKCk7Yi5pbnB1dC5pcygiOnZpc2libGUiKSYmIWIuaW5wdXQuaXMoIjpk
aXNhYmxlZCIpJiZiLmlucHV0LmZvY3VzKCk7ZC5kYXRlcGlja2VyLl9jdXJJbnN0PWJ9fX0sX3Vw
ZGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dGhpcy5tYXhSb3dzPTQ7dmFyIGI9ZC5kYXRlcGlj
a2VyLl9nZXRCb3JkZXJzKGEuZHBEaXYpO0o9YTthLmRwRGl2LmVtcHR5KCkuYXBwZW5kKHRoaXMu
X2dlbmVyYXRlSFRNTChhKSk7dmFyIGM9YS5kcERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBpY2tl
ci1jb3ZlciIpO2MubGVuZ3RoJiZjLmNzcyh7bGVmdDotYlswXSx0b3A6LWJbMV0sd2lkdGg6YS5k
cERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmEuZHBEaXYub3V0ZXJIZWlnaHQoKX0pO2EuZHBEaXYu
ZmluZCgiLiIrCit0aGlzLl9kYXlPdmVyQ2xhc3MrIiBhIikubW91c2VvdmVyKCk7Yj10aGlzLl9n
ZXROdW1iZXJPZk1vbnRocyhhKTtjPWJbMV07YS5kcERpdi5yZW1vdmVDbGFzcygidWktZGF0ZXBp
Y2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRlcGlja2VyLW11bHRpLTQi
KS53aWR0aCgiIik7Yz4xJiZhLmRwRGl2LmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRpLSIr
YykuY3NzKCJ3aWR0aCIsMTcqYysiZW0iKTthLmRwRGl2WyhiWzBdIT0xfHxiWzFdIT0xPyJhZGQi
OiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIpO2EuZHBEaXZbKHRoaXMu
X2dldChhLCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1y
dGwiKTthPT1kLmRhdGVwaWNrZXIuX2N1ckluc3QmJmQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNo
b3dpbmcmJmEuaW5wdXQmJmEuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFhLmlucHV0LmlzKCI6ZGlz
YWJsZWQiKSYmCithLmlucHV0WzBdIT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZhLmlucHV0LmZv
Y3VzKCk7aWYoYS55ZWFyc2h0bWwpe3ZhciBlPWEueWVhcnNodG1sO3NldFRpbWVvdXQoZnVuY3Rp
b24oKXtlPT09YS55ZWFyc2h0bWwmJmEueWVhcnNodG1sJiZhLmRwRGl2LmZpbmQoInNlbGVjdC51
aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiKS5yZXBsYWNlV2l0aChhLnllYXJzaHRtbCk7ZT1hLnll
YXJzaHRtbD1udWxsfSwwKX19LF9nZXRCb3JkZXJzOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9u
KGMpe3JldHVybnt0aGluOjEsbWVkaXVtOjIsdGhpY2s6M31bY118fGN9O3JldHVybltwYXJzZUZs
b2F0KGIoYS5jc3MoImJvcmRlci1sZWZ0LXdpZHRoIikpKSxwYXJzZUZsb2F0KGIoYS5jc3MoImJv
cmRlci10b3Atd2lkdGgiKSkpXX0sX2NoZWNrT2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1h
LmRwRGl2Lm91dGVyV2lkdGgoKSxmPWEuZHBEaXYub3V0ZXJIZWlnaHQoKSxoPWEuaW5wdXQ/YS5p
bnB1dC5vdXRlcldpZHRoKCk6CiswLGk9YS5pbnB1dD9hLmlucHV0Lm91dGVySGVpZ2h0KCk6MCxn
PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCtkKGRvY3VtZW50KS5zY3JvbGxM
ZWZ0KCksaj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0K2QoZG9jdW1lbnQp
LnNjcm9sbFRvcCgpO2IubGVmdC09dGhpcy5fZ2V0KGEsImlzUlRMIik/ZS1oOjA7Yi5sZWZ0LT1j
JiZiLmxlZnQ9PWEuaW5wdXQub2Zmc2V0KCkubGVmdD9kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk6
MDtiLnRvcC09YyYmYi50b3A9PWEuaW5wdXQub2Zmc2V0KCkudG9wK2k/ZChkb2N1bWVudCkuc2Ny
b2xsVG9wKCk6MDtiLmxlZnQtPU1hdGgubWluKGIubGVmdCxiLmxlZnQrZT5nJiZnPmU/TWF0aC5h
YnMoYi5sZWZ0K2UtZyk6MCk7Yi50b3AtPU1hdGgubWluKGIudG9wLGIudG9wK2Y+aiYmaj5mP01h
dGguYWJzKGYraSk6MCk7cmV0dXJuIGJ9LF9maW5kUG9zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10
aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChhKSwKKyJpc1JUTCIpO2EmJihhLnR5cGU9PSJoaWRkZW4i
fHxhLm5vZGVUeXBlIT0xfHxkLmV4cHIuZmlsdGVycy5oaWRkZW4oYSkpOylhPWFbYj8icHJldmlv
dXNTaWJsaW5nIjoibmV4dFNpYmxpbmciXTthPWQoYSkub2Zmc2V0KCk7cmV0dXJuW2EubGVmdCxh
LnRvcF19LF90cmlnZ2VyT25DbG9zZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwib25D
bG9zZSIpO2lmKGIpYi5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYS5pbnB1dD9hLmlu
cHV0LnZhbCgpOiIiLGFdKX0sX2hpZGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMu
X2N1ckluc3Q7aWYoISghYnx8YSYmYiE9ZC5kYXRhKGEsImRhdGVwaWNrZXIiKSkpaWYodGhpcy5f
ZGF0ZXBpY2tlclNob3dpbmcpe2E9dGhpcy5fZ2V0KGIsInNob3dBbmltIik7dmFyIGM9dGhpcy5f
Z2V0KGIsImR1cmF0aW9uIiksZT1mdW5jdGlvbigpe2QuZGF0ZXBpY2tlci5fdGlkeURpYWxvZyhi
KTt0aGlzLl9jdXJJbnN0PQorbnVsbH07ZC5lZmZlY3RzJiZkLmVmZmVjdHNbYV0/Yi5kcERpdi5o
aWRlKGEsZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd09wdGlvbnMiKSxjLGUpOmIuZHBEaXZbYT09
InNsaWRlRG93biI/InNsaWRlVXAiOmE9PSJmYWRlSW4iPyJmYWRlT3V0IjoiaGlkZSJdKGE/Yzpu
dWxsLGUpO2F8fGUoKTtkLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3NlKGIpO3RoaXMuX2RhdGVw
aWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX2xhc3RJbnB1dD1udWxsO2lmKHRoaXMuX2luRGlhbG9n
KXt0aGlzLl9kaWFsb2dJbnB1dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDoiMCIsdG9w
OiItMTAwcHgifSk7aWYoZC5ibG9ja1VJKXtkLnVuYmxvY2tVSSgpO2QoImJvZHkiKS5hcHBlbmQo
dGhpcy5kcERpdil9fXRoaXMuX2luRGlhbG9nPWZhbHNlfX0sX3RpZHlEaWFsb2c6ZnVuY3Rpb24o
YSl7YS5kcERpdi5yZW1vdmVDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcykudW5iaW5kKCIudWktZGF0
ZXBpY2tlci1jYWxlbmRhciIpfSwKK19jaGVja0V4dGVybmFsQ2xpY2s6ZnVuY3Rpb24oYSl7aWYo
ZC5kYXRlcGlja2VyLl9jdXJJbnN0KXthPWQoYS50YXJnZXQpO2FbMF0uaWQhPWQuZGF0ZXBpY2tl
ci5fbWFpbkRpdklkJiZhLnBhcmVudHMoIiMiK2QuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5sZW5n
dGg9PTAmJiFhLmhhc0NsYXNzKGQuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiYhYS5oYXND
bGFzcyhkLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykmJmQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tl
clNob3dpbmcmJiEoZC5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZC5ibG9ja1VJKSYmZC5kYXRlcGlj
a2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9ZChh
KTt2YXIgZT10aGlzLl9nZXRJbnN0KGFbMF0pO2lmKCF0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tl
cihhWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUoZSxiKyhjPT0iTSI/dGhpcy5fZ2V0KGUsInNo
b3dDdXJyZW50QXRQb3MiKToKKzApLGMpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9fSxfZ290
b1RvZGF5OmZ1bmN0aW9uKGEpe2E9ZChhKTt2YXIgYj10aGlzLl9nZXRJbnN0KGFbMF0pO2lmKHRo
aXMuX2dldChiLCJnb3RvQ3VycmVudCIpJiZiLmN1cnJlbnREYXkpe2Iuc2VsZWN0ZWREYXk9Yi5j
dXJyZW50RGF5O2IuZHJhd01vbnRoPWIuc2VsZWN0ZWRNb250aD1iLmN1cnJlbnRNb250aDtiLmRy
YXdZZWFyPWIuc2VsZWN0ZWRZZWFyPWIuY3VycmVudFllYXJ9ZWxzZXt2YXIgYz1uZXcgRGF0ZTti
LnNlbGVjdGVkRGF5PWMuZ2V0RGF0ZSgpO2IuZHJhd01vbnRoPWIuc2VsZWN0ZWRNb250aD1jLmdl
dE1vbnRoKCk7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1jLmdldEZ1bGxZZWFyKCl9dGhpcy5f
bm90aWZ5Q2hhbmdlKGIpO3RoaXMuX2FkanVzdERhdGUoYSl9LF9zZWxlY3RNb250aFllYXI6ZnVu
Y3Rpb24oYSxiLGMpe2E9ZChhKTt2YXIgZT10aGlzLl9nZXRJbnN0KGFbMF0pO2VbInNlbGVjdGVk
IisoYz09Ik0iPworIk1vbnRoIjoiWWVhciIpXT1lWyJkcmF3IisoYz09Ik0iPyJNb250aCI6Illl
YXIiKV09cGFyc2VJbnQoYi5vcHRpb25zW2Iuc2VsZWN0ZWRJbmRleF0udmFsdWUsMTApO3RoaXMu
X25vdGlmeUNoYW5nZShlKTt0aGlzLl9hZGp1c3REYXRlKGEpfSxfc2VsZWN0RGF5OmZ1bmN0aW9u
KGEsYixjLGUpe3ZhciBmPWQoYSk7aWYoIShkKGUpLmhhc0NsYXNzKHRoaXMuX3Vuc2VsZWN0YWJs
ZUNsYXNzKXx8dGhpcy5faXNEaXNhYmxlZERhdGVwaWNrZXIoZlswXSkpKXtmPXRoaXMuX2dldElu
c3QoZlswXSk7Zi5zZWxlY3RlZERheT1mLmN1cnJlbnREYXk9ZCgiYSIsZSkuaHRtbCgpO2Yuc2Vs
ZWN0ZWRNb250aD1mLmN1cnJlbnRNb250aD1iO2Yuc2VsZWN0ZWRZZWFyPWYuY3VycmVudFllYXI9
Yzt0aGlzLl9zZWxlY3REYXRlKGEsdGhpcy5fZm9ybWF0RGF0ZShmLGYuY3VycmVudERheSxmLmN1
cnJlbnRNb250aCxmLmN1cnJlbnRZZWFyKSl9fSxfY2xlYXJEYXRlOmZ1bmN0aW9uKGEpe2E9ZChh
KTsKK3RoaXMuX2dldEluc3QoYVswXSk7dGhpcy5fc2VsZWN0RGF0ZShhLCIiKX0sX3NlbGVjdERh
dGU6ZnVuY3Rpb24oYSxiKXthPXRoaXMuX2dldEluc3QoZChhKVswXSk7Yj1iIT1udWxsP2I6dGhp
cy5fZm9ybWF0RGF0ZShhKTthLmlucHV0JiZhLmlucHV0LnZhbChiKTt0aGlzLl91cGRhdGVBbHRl
cm5hdGUoYSk7dmFyIGM9dGhpcy5fZ2V0KGEsIm9uU2VsZWN0Iik7aWYoYyljLmFwcGx5KGEuaW5w
dXQ/YS5pbnB1dFswXTpudWxsLFtiLGFdKTtlbHNlIGEuaW5wdXQmJmEuaW5wdXQudHJpZ2dlcigi
Y2hhbmdlIik7aWYoYS5pbmxpbmUpdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKTtlbHNle3RoaXMu
X2hpZGVEYXRlcGlja2VyKCk7dGhpcy5fbGFzdElucHV0PWEuaW5wdXRbMF07YS5pbnB1dC5mb2N1
cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihhKXt2
YXIgYj10aGlzLl9nZXQoYSwiYWx0RmllbGQiKTtpZihiKXt2YXIgYz10aGlzLl9nZXQoYSwKKyJh
bHRGb3JtYXQiKXx8dGhpcy5fZ2V0KGEsImRhdGVGb3JtYXQiKSxlPXRoaXMuX2dldERhdGUoYSks
Zj10aGlzLmZvcm1hdERhdGUoYyxlLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7ZChiKS5lYWNo
KGZ1bmN0aW9uKCl7ZCh0aGlzKS52YWwoZil9KX19LG5vV2Vla2VuZHM6ZnVuY3Rpb24oYSl7YT1h
LmdldERheSgpO3JldHVyblthPjAmJmE8NiwiIl19LGlzbzg2MDFXZWVrOmZ1bmN0aW9uKGEpe2E9
bmV3IERhdGUoYS5nZXRUaW1lKCkpO2Euc2V0RGF0ZShhLmdldERhdGUoKSs0LShhLmdldERheSgp
fHw3KSk7dmFyIGI9YS5nZXRUaW1lKCk7YS5zZXRNb250aCgwKTthLnNldERhdGUoMSk7cmV0dXJu
IE1hdGguZmxvb3IoTWF0aC5yb3VuZCgoYi1hKS84NjRFNSkvNykrMX0scGFyc2VEYXRlOmZ1bmN0
aW9uKGEsYixjKXtpZihhPT1udWxsfHxiPT1udWxsKXRocm93IkludmFsaWQgYXJndW1lbnRzIjti
PXR5cGVvZiBiPT0ib2JqZWN0Ij9iLnRvU3RyaW5nKCk6YisiIjtpZihiPT0KKyIiKXJldHVybiBu
dWxsO3ZhciBlPShjP2Muc2hvcnRZZWFyQ3V0b2ZmOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5zaG9y
dFllYXJDdXRvZmY7ZT10eXBlb2YgZSE9InN0cmluZyI/ZToobmV3IERhdGUpLmdldEZ1bGxZZWFy
KCklMTAwK3BhcnNlSW50KGUsMTApO2Zvcih2YXIgZj0oYz9jLmRheU5hbWVzU2hvcnQ6bnVsbCl8
fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsaD0oYz9jLmRheU5hbWVzOm51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5kYXlOYW1lcyxpPShjP2MubW9udGhOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9k
ZWZhdWx0cy5tb250aE5hbWVzU2hvcnQsZz0oYz9jLm1vbnRoTmFtZXM6bnVsbCl8fHRoaXMuX2Rl
ZmF1bHRzLm1vbnRoTmFtZXMsaj1jPS0xLGw9LTEsdT0tMSxrPWZhbHNlLG89ZnVuY3Rpb24ocCl7
KHA9QSsxPGEubGVuZ3RoJiZhLmNoYXJBdChBKzEpPT1wKSYmQSsrO3JldHVybiBwfSxtPWZ1bmN0
aW9uKHApe3ZhciBEPW8ocCk7cD1uZXcgUmVnRXhwKCJeXFxkezEsIisKKyhwPT0iQCI/MTQ6cD09
IiEiPzIwOnA9PSJ5IiYmRD80OnA9PSJvIj8zOjIpKyJ9Iik7cD1iLnN1YnN0cmluZyhxKS5tYXRj
aChwKTtpZighcCl0aHJvdyJNaXNzaW5nIG51bWJlciBhdCBwb3NpdGlvbiAiK3E7cSs9cFswXS5s
ZW5ndGg7cmV0dXJuIHBhcnNlSW50KHBbMF0sMTApfSxuPWZ1bmN0aW9uKHAsRCxLKXtwPWQubWFw
KG8ocCk/SzpELGZ1bmN0aW9uKHcseCl7cmV0dXJuW1t4LHddXX0pLnNvcnQoZnVuY3Rpb24odyx4
KXtyZXR1cm4tKHdbMV0ubGVuZ3RoLXhbMV0ubGVuZ3RoKX0pO3ZhciBFPS0xO2QuZWFjaChwLGZ1
bmN0aW9uKHcseCl7dz14WzFdO2lmKGIuc3Vic3RyKHEsdy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk9
PXcudG9Mb3dlckNhc2UoKSl7RT14WzBdO3ErPXcubGVuZ3RoO3JldHVybiBmYWxzZX19KTtpZihF
IT0tMSlyZXR1cm4gRSsxO2Vsc2UgdGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIrcTt9
LHM9ZnVuY3Rpb24oKXtpZihiLmNoYXJBdChxKSE9YS5jaGFyQXQoQSkpdGhyb3ciVW5leHBlY3Rl
ZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIrCitxO3ErK30scT0wLEE9MDtBPGEubGVuZ3RoO0ErKylp
ZihrKWlmKGEuY2hhckF0KEEpPT0iJyImJiFvKCInIikpaz1mYWxzZTtlbHNlIHMoKTtlbHNlIHN3
aXRjaChhLmNoYXJBdChBKSl7Y2FzZSAiZCI6bD1tKCJkIik7YnJlYWs7Y2FzZSAiRCI6bigiRCIs
ZixoKTticmVhaztjYXNlICJvIjp1PW0oIm8iKTticmVhaztjYXNlICJtIjpqPW0oIm0iKTticmVh
aztjYXNlICJNIjpqPW4oIk0iLGksZyk7YnJlYWs7Y2FzZSAieSI6Yz1tKCJ5Iik7YnJlYWs7Y2Fz
ZSAiQCI6dmFyIHY9bmV3IERhdGUobSgiQCIpKTtjPXYuZ2V0RnVsbFllYXIoKTtqPXYuZ2V0TW9u
dGgoKSsxO2w9di5nZXREYXRlKCk7YnJlYWs7Y2FzZSAiISI6dj1uZXcgRGF0ZSgobSgiISIpLXRo
aXMuX3RpY2tzVG8xOTcwKS8xRTQpO2M9di5nZXRGdWxsWWVhcigpO2o9di5nZXRNb250aCgpKzE7
bD12LmdldERhdGUoKTticmVhaztjYXNlICInIjppZihvKCInIikpcygpO2Vsc2Ugaz10cnVlO2Jy
ZWFrO2RlZmF1bHQ6cygpfWlmKHE8CitiLmxlbmd0aCl0aHJvdyJFeHRyYS91bnBhcnNlZCBjaGFy
YWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIrYi5zdWJzdHJpbmcocSk7aWYoYz09LTEpYz0obmV3IERh
dGUpLmdldEZ1bGxZZWFyKCk7ZWxzZSBpZihjPDEwMCljKz0obmV3IERhdGUpLmdldEZ1bGxZZWFy
KCktKG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCsoYzw9ZT8wOi0xMDApO2lmKHU+LTEpe2o9
MTtsPXU7ZG97ZT10aGlzLl9nZXREYXlzSW5Nb250aChjLGotMSk7aWYobDw9ZSlicmVhaztqKys7
bC09ZX13aGlsZSgxKX12PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGMsai0x
LGwpKTtpZih2LmdldEZ1bGxZZWFyKCkhPWN8fHYuZ2V0TW9udGgoKSsxIT1qfHx2LmdldERhdGUo
KSE9bCl0aHJvdyJJbnZhbGlkIGRhdGUiO3JldHVybiB2fSxBVE9NOiJ5eS1tbS1kZCIsQ09PS0lF
OiJELCBkZCBNIHl5IixJU09fODYwMToieXktbW0tZGQiLFJGQ184MjI6IkQsIGQgTSB5IixSRkNf
ODUwOiJERCwgZGQtTS15IiwKK1JGQ18xMDM2OiJELCBkIE0geSIsUkZDXzExMjM6IkQsIGQgTSB5
eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElDS1M6IiEiLFRJTUVTVEFN
UDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUrTWF0aC5mbG9vcig0OTIu
NSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQqNjAqNjAqMUU3LGZvcm1h
dERhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiIiO3ZhciBlPShjP2MuZGF5TmFtZXNT
aG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxmPShjP2MuZGF5TmFtZXM6
bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGg9KGM/Yy5tb250aE5hbWVzU2hvcnQ6bnVs
bCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydDtjPShjP2MubW9udGhOYW1lczpudWxs
KXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lczt2YXIgaT1mdW5jdGlvbihvKXsobz1rKzE8YS5s
ZW5ndGgmJgorYS5jaGFyQXQoaysxKT09bykmJmsrKztyZXR1cm4gb30sZz1mdW5jdGlvbihvLG0s
bil7bT0iIittO2lmKGkobykpZm9yKDttLmxlbmd0aDxuOyltPSIwIittO3JldHVybiBtfSxqPWZ1
bmN0aW9uKG8sbSxuLHMpe3JldHVybiBpKG8pP3NbbV06blttXX0sbD0iIix1PWZhbHNlO2lmKGIp
Zm9yKHZhciBrPTA7azxhLmxlbmd0aDtrKyspaWYodSlpZihhLmNoYXJBdChrKT09IiciJiYhaSgi
JyIpKXU9ZmFsc2U7ZWxzZSBsKz1hLmNoYXJBdChrKTtlbHNlIHN3aXRjaChhLmNoYXJBdChrKSl7
Y2FzZSAiZCI6bCs9ZygiZCIsYi5nZXREYXRlKCksMik7YnJlYWs7Y2FzZSAiRCI6bCs9aigiRCIs
Yi5nZXREYXkoKSxlLGYpO2JyZWFrO2Nhc2UgIm8iOmwrPWcoIm8iLE1hdGgucm91bmQoKChuZXcg
RGF0ZShiLmdldEZ1bGxZZWFyKCksYi5nZXRNb250aCgpLGIuZ2V0RGF0ZSgpKSkuZ2V0VGltZSgp
LShuZXcgRGF0ZShiLmdldEZ1bGxZZWFyKCksMCwwKSkuZ2V0VGltZSgpKS84NjRFNSksMyk7Citi
cmVhaztjYXNlICJtIjpsKz1nKCJtIixiLmdldE1vbnRoKCkrMSwyKTticmVhaztjYXNlICJNIjps
Kz1qKCJNIixiLmdldE1vbnRoKCksaCxjKTticmVhaztjYXNlICJ5IjpsKz1pKCJ5Iik/Yi5nZXRG
dWxsWWVhcigpOihiLmdldFllYXIoKSUxMDA8MTA/IjAiOiIiKStiLmdldFllYXIoKSUxMDA7YnJl
YWs7Y2FzZSAiQCI6bCs9Yi5nZXRUaW1lKCk7YnJlYWs7Y2FzZSAiISI6bCs9Yi5nZXRUaW1lKCkq
MUU0K3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UgIiciOmlmKGkoIiciKSlsKz0iJyI7ZWxz
ZSB1PXRydWU7YnJlYWs7ZGVmYXVsdDpsKz1hLmNoYXJBdChrKX1yZXR1cm4gbH0sX3Bvc3NpYmxl
Q2hhcnM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9ZmFsc2UsZT1mdW5jdGlvbihoKXsoaD1m
KzE8YS5sZW5ndGgmJmEuY2hhckF0KGYrMSk9PWgpJiZmKys7cmV0dXJuIGh9LGY9MDtmPGEubGVu
Z3RoO2YrKylpZihjKWlmKGEuY2hhckF0KGYpPT0iJyImJiFlKCInIikpYz0KK2ZhbHNlO2Vsc2Ug
Yis9YS5jaGFyQXQoZik7ZWxzZSBzd2l0Y2goYS5jaGFyQXQoZikpe2Nhc2UgImQiOmNhc2UgIm0i
OmNhc2UgInkiOmNhc2UgIkAiOmIrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlICJEIjpjYXNlICJN
IjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihlKCInIikpYis9IiciO2Vsc2UgYz10cnVlO2JyZWFr
O2RlZmF1bHQ6Yis9YS5jaGFyQXQoZil9cmV0dXJuIGJ9LF9nZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1
cm4gYS5zZXR0aW5nc1tiXSE9PUM/YS5zZXR0aW5nc1tiXTp0aGlzLl9kZWZhdWx0c1tiXX0sX3Nl
dERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYSxiKXtpZihhLmlucHV0LnZhbCgpIT1hLmxhc3RWYWwp
e3ZhciBjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT1hLmxhc3RWYWw9YS5pbnB1dD9hLmlu
cHV0LnZhbCgpOm51bGwsZixoO2Y9aD10aGlzLl9nZXREZWZhdWx0RGF0ZShhKTt2YXIgaT10aGlz
Ll9nZXRGb3JtYXRDb25maWcoYSk7dHJ5e2Y9dGhpcy5wYXJzZURhdGUoYywKK2UsaSl8fGh9Y2F0
Y2goZyl7dGhpcy5sb2coZyk7ZT1iPyIiOmV9YS5zZWxlY3RlZERheT1mLmdldERhdGUoKTthLmRy
YXdNb250aD1hLnNlbGVjdGVkTW9udGg9Zi5nZXRNb250aCgpO2EuZHJhd1llYXI9YS5zZWxlY3Rl
ZFllYXI9Zi5nZXRGdWxsWWVhcigpO2EuY3VycmVudERheT1lP2YuZ2V0RGF0ZSgpOjA7YS5jdXJy
ZW50TW9udGg9ZT9mLmdldE1vbnRoKCk6MDthLmN1cnJlbnRZZWFyPWU/Zi5nZXRGdWxsWWVhcigp
OjA7dGhpcy5fYWRqdXN0SW5zdERhdGUoYSl9fSxfZ2V0RGVmYXVsdERhdGU6ZnVuY3Rpb24oYSl7
cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KGEsdGhpcy5fZGV0ZXJtaW5lRGF0ZShhLHRoaXMu
X2dldChhLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0aW9u
KGEsYixjKXt2YXIgZT1mdW5jdGlvbihoKXt2YXIgaT1uZXcgRGF0ZTtpLnNldERhdGUoaS5nZXRE
YXRlKCkraCk7cmV0dXJuIGl9LGY9ZnVuY3Rpb24oaCl7dHJ5e3JldHVybiBkLmRhdGVwaWNrZXIu
cGFyc2VEYXRlKGQuZGF0ZXBpY2tlci5fZ2V0KGEsCisiZGF0ZUZvcm1hdCIpLGgsZC5kYXRlcGlj
a2VyLl9nZXRGb3JtYXRDb25maWcoYSkpfWNhdGNoKGkpe312YXIgZz0oaC50b0xvd2VyQ2FzZSgp
Lm1hdGNoKC9eYy8pP2QuZGF0ZXBpY2tlci5fZ2V0RGF0ZShhKTpudWxsKXx8bmV3IERhdGUsaj1n
LmdldEZ1bGxZZWFyKCksbD1nLmdldE1vbnRoKCk7Zz1nLmdldERhdGUoKTtmb3IodmFyIHU9Lyhb
Ky1dP1swLTldKylccyooZHxEfHd8V3xtfE18eXxZKT8vZyxrPXUuZXhlYyhoKTtrOyl7c3dpdGNo
KGtbMl18fCJkIil7Y2FzZSAiZCI6Y2FzZSAiRCI6Zys9cGFyc2VJbnQoa1sxXSwxMCk7YnJlYWs7
Y2FzZSAidyI6Y2FzZSAiVyI6Zys9cGFyc2VJbnQoa1sxXSwxMCkqNzticmVhaztjYXNlICJtIjpj
YXNlICJNIjpsKz1wYXJzZUludChrWzFdLDEwKTtnPU1hdGgubWluKGcsZC5kYXRlcGlja2VyLl9n
ZXREYXlzSW5Nb250aChqLGwpKTticmVhaztjYXNlICJ5IjpjYXNlICJZIjpqKz1wYXJzZUludChr
WzFdLDEwKTtnPU1hdGgubWluKGcsCitkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGosbCkp
O2JyZWFrfWs9dS5leGVjKGgpfXJldHVybiBuZXcgRGF0ZShqLGwsZyl9O2lmKGI9KGI9Yj09bnVs
bHx8Yj09PSIiP2M6dHlwZW9mIGI9PSJzdHJpbmciP2YoYik6dHlwZW9mIGI9PSJudW1iZXIiP2lz
TmFOKGIpP2M6ZShiKTpuZXcgRGF0ZShiLmdldFRpbWUoKSkpJiZiLnRvU3RyaW5nKCk9PSJJbnZh
bGlkIERhdGUiP2M6Yil7Yi5zZXRIb3VycygwKTtiLnNldE1pbnV0ZXMoMCk7Yi5zZXRTZWNvbmRz
KDApO2Iuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVz
dChiKX0sX2RheWxpZ2h0U2F2aW5nQWRqdXN0OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxs
O2Euc2V0SG91cnMoYS5nZXRIb3VycygpPjEyP2EuZ2V0SG91cnMoKSsyOjApO3JldHVybiBhfSxf
c2V0RGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9IWIsZj1hLnNlbGVjdGVkTW9udGgsaD1hLnNl
bGVjdGVkWWVhcjsKK2I9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kZXRlcm1pbmVEYXRl
KGEsYixuZXcgRGF0ZSkpO2Euc2VsZWN0ZWREYXk9YS5jdXJyZW50RGF5PWIuZ2V0RGF0ZSgpO2Eu
ZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1hLmN1cnJlbnRNb250aD1iLmdldE1vbnRoKCk7YS5k
cmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1hLmN1cnJlbnRZZWFyPWIuZ2V0RnVsbFllYXIoKTtpZigo
ZiE9YS5zZWxlY3RlZE1vbnRofHxoIT1hLnNlbGVjdGVkWWVhcikmJiFjKXRoaXMuX25vdGlmeUNo
YW5nZShhKTt0aGlzLl9hZGp1c3RJbnN0RGF0ZShhKTtpZihhLmlucHV0KWEuaW5wdXQudmFsKGU/
IiI6dGhpcy5fZm9ybWF0RGF0ZShhKSk7aWYoYz10aGlzLl9nZXQoYSwib25TZWxlY3QiKSl7ZT10
aGlzLl9mb3JtYXREYXRlKGEpO2MuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW2UsYV0p
fX0sX2dldERhdGU6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuY3VycmVudFllYXJ8fGEuaW5wdXQmJmEu
aW5wdXQudmFsKCk9PQorIiI/bnVsbDp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0
ZShhLmN1cnJlbnRZZWFyLGEuY3VycmVudE1vbnRoLGEuY3VycmVudERheSkpfSxfZ2VuZXJhdGVI
VE1MOmZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBEYXRlO2I9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1
c3QobmV3IERhdGUoYi5nZXRGdWxsWWVhcigpLGIuZ2V0TW9udGgoKSxiLmdldERhdGUoKSkpO3Zh
ciBjPXRoaXMuX2dldChhLCJpc1JUTCIpLGU9dGhpcy5fZ2V0KGEsInNob3dCdXR0b25QYW5lbCIp
LGY9dGhpcy5fZ2V0KGEsImhpZGVJZk5vUHJldk5leHQiKSxoPXRoaXMuX2dldChhLCJuYXZpZ2F0
aW9uQXNEYXRlRm9ybWF0IiksaT10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhhKSxnPXRoaXMuX2dl
dChhLCJzaG93Q3VycmVudEF0UG9zIiksaj10aGlzLl9nZXQoYSwic3RlcE1vbnRocyIpLGw9aVsw
XSE9MXx8aVsxXSE9MSx1PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCFhLmN1cnJlbnREYXk/
bmV3IERhdGUoOTk5OSwKKzksOSk6bmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250
aCxhLmN1cnJlbnREYXkpKSxrPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWluIiksbz10aGlzLl9n
ZXRNaW5NYXhEYXRlKGEsIm1heCIpO2c9YS5kcmF3TW9udGgtZzt2YXIgbT1hLmRyYXdZZWFyO2lm
KGc8MCl7Zys9MTI7bS0tfWlmKG8pe3ZhciBuPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKG8uZ2V0RnVsbFllYXIoKSxvLmdldE1vbnRoKCktaVswXSppWzFdKzEsby5nZXREYXRl
KCkpKTtmb3Iobj1rJiZuPGs/azpuO3RoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRl
KG0sZywxKSk+bjspe2ctLTtpZihnPDApe2c9MTE7bS0tfX19YS5kcmF3TW9udGg9ZzthLmRyYXdZ
ZWFyPW07bj10aGlzLl9nZXQoYSwicHJldlRleHQiKTtuPSFoP246dGhpcy5mb3JtYXREYXRlKG4s
dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLWosMSkpLHRoaXMuX2dldEZv
cm1hdENvbmZpZyhhKSk7CituPXRoaXMuX2NhbkFkanVzdE1vbnRoKGEsLTEsbSxnKT8nPGEgY2xh
c3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlf
JytCKyIuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSgnIyIrYS5pZCsiJywgLSIraisiLCAnTScpO1wi
IHRpdGxlPVwiIituKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFu
Z2xlLScrKGM/ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9InVp
LWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRsZT0i
JytuKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGM/
ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI7dmFyIHM9dGhpcy5fZ2V0KGEsIm5leHRUZXh0
Iik7cz0haD9zOnRoaXMuZm9ybWF0RGF0ZShzLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKG0sCitnK2osMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7Zj10aGlzLl9jYW5B
ZGp1c3RNb250aChhLCsxLG0sZyk/JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW5leHQgdWktY29y
bmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrQisiLmRhdGVwaWNrZXIuX2FkanVzdERhdGUo
JyMiK2EuaWQrIicsICsiK2orIiwgJ00nKTtcIiB0aXRsZT1cIiIrcysnIj48c3BhbiBjbGFzcz0i
dWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhjPyJ3IjoiZSIpKyciPicrcysiPC9z
cGFuPjwvYT4iOmY/IiI6JzxhIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW5leHQgdWktY29ybmVyLWFs
bCB1aS1zdGF0ZS1kaXNhYmxlZCIgdGl0bGU9IicrcysnIj48c3BhbiBjbGFzcz0idWktaWNvbiB1
aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhjPyJ3IjoiZSIpKyciPicrcysiPC9zcGFuPjwvYT4i
O2o9dGhpcy5fZ2V0KGEsImN1cnJlbnRUZXh0Iik7cz10aGlzLl9nZXQoYSwiZ290b0N1cnJlbnQi
KSYmCithLmN1cnJlbnREYXk/dTpiO2o9IWg/ajp0aGlzLmZvcm1hdERhdGUoaixzLHRoaXMuX2dl
dEZvcm1hdENvbmZpZyhhKSk7aD0hYS5pbmxpbmU/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFz
cz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1h
cnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrQisnLmRhdGVwaWNrZXIuX2hp
ZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChhLCJjbG9zZVRleHQiKSsiPC9idXR0b24+Ijoi
IjtlPWU/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQtY29u
dGVudCI+JysoYz9oOiIiKSsodGhpcy5faXNJblJhbmdlKGEscyk/JzxidXR0b24gdHlwZT0iYnV0
dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50IHVpLXN0YXRlLWRlZmF1bHQgdWktcHJp
b3JpdHktc2Vjb25kYXJ5IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nKworQisi
LmRhdGVwaWNrZXIuX2dvdG9Ub2RheSgnIyIrYS5pZCsiJyk7XCI+IitqKyI8L2J1dHRvbj4iOiIi
KSsoYz8iIjpoKSsiPC9kaXY+IjoiIjtoPXBhcnNlSW50KHRoaXMuX2dldChhLCJmaXJzdERheSIp
LDEwKTtoPWlzTmFOKGgpPzA6aDtqPXRoaXMuX2dldChhLCJzaG93V2VlayIpO3M9dGhpcy5fZ2V0
KGEsImRheU5hbWVzIik7dGhpcy5fZ2V0KGEsImRheU5hbWVzU2hvcnQiKTt2YXIgcT10aGlzLl9n
ZXQoYSwiZGF5TmFtZXNNaW4iKSxBPXRoaXMuX2dldChhLCJtb250aE5hbWVzIiksdj10aGlzLl9n
ZXQoYSwibW9udGhOYW1lc1Nob3J0IikscD10aGlzLl9nZXQoYSwiYmVmb3JlU2hvd0RheSIpLEQ9
dGhpcy5fZ2V0KGEsInNob3dPdGhlck1vbnRocyIpLEs9dGhpcy5fZ2V0KGEsInNlbGVjdE90aGVy
TW9udGhzIik7dGhpcy5fZ2V0KGEsImNhbGN1bGF0ZVdlZWsiKTtmb3IodmFyIEU9dGhpcy5fZ2V0
RGVmYXVsdERhdGUoYSksdz0iIix4PTA7eDxpWzBdO3grKyl7dmFyIE89CisiIjt0aGlzLm1heFJv
d3M9NDtmb3IodmFyIEc9MDtHPGlbMV07RysrKXt2YXIgUD10aGlzLl9kYXlsaWdodFNhdmluZ0Fk
anVzdChuZXcgRGF0ZShtLGcsYS5zZWxlY3RlZERheSkpLHQ9IiB1aS1jb3JuZXItYWxsIix5PSIi
O2lmKGwpe3krPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWdyb3VwJztpZihpWzFdPjEpc3dp
dGNoKEcpe2Nhc2UgMDp5Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtZmlyc3QiO3Q9IiB1aS1jb3Ju
ZXItIisoYz8icmlnaHQiOiJsZWZ0Iik7YnJlYWs7Y2FzZSBpWzFdLTE6eSs9IiB1aS1kYXRlcGlj
a2VyLWdyb3VwLWxhc3QiO3Q9IiB1aS1jb3JuZXItIisoYz8ibGVmdCI6InJpZ2h0Iik7YnJlYWs7
ZGVmYXVsdDp5Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIjt0PSIiO2JyZWFrfXkrPSci
Pid9eSs9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItaGVhZGVyIHVpLXdpZGdldC1oZWFkZXIg
dWktaGVscGVyLWNsZWFyZml4Jyt0KyciPicrKC9hbGx8bGVmdC8udGVzdCh0KSYmCit4PT0wP2M/
ZjpuOiIiKSsoL2FsbHxyaWdodC8udGVzdCh0KSYmeD09MD9jP246ZjoiIikrdGhpcy5fZ2VuZXJh
dGVNb250aFllYXJIZWFkZXIoYSxnLG0sayxvLHg+MHx8Rz4wLEEsdikrJzwvZGl2Pjx0YWJsZSBj
bGFzcz0idWktZGF0ZXBpY2tlci1jYWxlbmRhciI+PHRoZWFkPjx0cj4nO3ZhciB6PWo/Jzx0aCBj
bGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYSwid2Vla0hlYWRlciIp
KyI8L3RoPiI6IiI7Zm9yKHQ9MDt0PDc7dCsrKXt2YXIgcj0odCtoKSU3O3orPSI8dGgiKygodCto
KzYpJTc+PTU/JyBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWVuZCInOiIiKSsnPjxzcGFuIHRp
dGxlPSInK3Nbcl0rJyI+JytxW3JdKyI8L3NwYW4+PC90aD4ifXkrPXorIjwvdHI+PC90aGVhZD48
dGJvZHk+Ijt6PXRoaXMuX2dldERheXNJbk1vbnRoKG0sZyk7aWYobT09YS5zZWxlY3RlZFllYXIm
Jmc9PWEuc2VsZWN0ZWRNb250aClhLnNlbGVjdGVkRGF5PU1hdGgubWluKGEuc2VsZWN0ZWREYXks
Cit6KTt0PSh0aGlzLl9nZXRGaXJzdERheU9mTW9udGgobSxnKS1oKzcpJTc7ej1NYXRoLmNlaWwo
KHQreikvNyk7dGhpcy5tYXhSb3dzPXo9bD90aGlzLm1heFJvd3M+ej90aGlzLm1heFJvd3M6ejp6
O3I9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLDEtdCkpO2Zvcih2YXIg
UT0wO1E8ejtRKyspe3krPSI8dHI+Ijt2YXIgUj0haj8iIjonPHRkIGNsYXNzPSJ1aS1kYXRlcGlj
a2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChhLCJjYWxjdWxhdGVXZWVrIikocikrIjwvdGQ+Ijtm
b3IodD0wO3Q8Nzt0Kyspe3ZhciBJPXA/cC5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxb
cl0pOlt0cnVlLCIiXSxGPXIuZ2V0TW9udGgoKSE9ZyxMPUYmJiFLfHwhSVswXXx8ayYmcjxrfHxv
JiZyPm87Uis9Jzx0ZCBjbGFzcz0iJysoKHQraCs2KSU3Pj01PyIgdWktZGF0ZXBpY2tlci13ZWVr
LWVuZCI6IiIpKyhGPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6IiIpKyhyLmdldFRpbWUo
KT09CitQLmdldFRpbWUoKSYmZz09YS5zZWxlY3RlZE1vbnRoJiZhLl9rZXlFdmVudHx8RS5nZXRU
aW1lKCk9PXIuZ2V0VGltZSgpJiZFLmdldFRpbWUoKT09UC5nZXRUaW1lKCk/IiAiK3RoaXMuX2Rh
eU92ZXJDbGFzczoiIikrKEw/IiAiK3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzKyIgdWktc3RhdGUt
ZGlzYWJsZWQiOiIiKSsoRiYmIUQ/IiI6IiAiK0lbMV0rKHIuZ2V0VGltZSgpPT11LmdldFRpbWUo
KT8iICIrdGhpcy5fY3VycmVudENsYXNzOiIiKSsoci5nZXRUaW1lKCk9PWIuZ2V0VGltZSgpPyIg
dWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsnIicrKCghRnx8RCkmJklbMl0/JyB0aXRsZT0iJytJ
WzJdKyciJzoiIikrKEw/IiI6JyBvbmNsaWNrPSJEUF9qUXVlcnlfJytCKyIuZGF0ZXBpY2tlci5f
c2VsZWN0RGF5KCcjIithLmlkKyInLCIrci5nZXRNb250aCgpKyIsIityLmdldEZ1bGxZZWFyKCkr
JywgdGhpcyk7cmV0dXJuIGZhbHNlOyInKSsiPiIrKEYmJiFEPyImI3hhMDsiOkw/JzxzcGFuIGNs
YXNzPSJ1aS1zdGF0ZS1kZWZhdWx0Ij4nKworci5nZXREYXRlKCkrIjwvc3Bhbj4iOic8YSBjbGFz
cz0idWktc3RhdGUtZGVmYXVsdCcrKHIuZ2V0VGltZSgpPT1iLmdldFRpbWUoKT8iIHVpLXN0YXRl
LWhpZ2hsaWdodCI6IiIpKyhyLmdldFRpbWUoKT09dS5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1hY3Rp
dmUiOiIiKSsoRj8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyciIGhyZWY9IiMiPicrci5n
ZXREYXRlKCkrIjwvYT4iKSsiPC90ZD4iO3Iuc2V0RGF0ZShyLmdldERhdGUoKSsxKTtyPXRoaXMu
X2RheWxpZ2h0U2F2aW5nQWRqdXN0KHIpfXkrPVIrIjwvdHI+In1nKys7aWYoZz4xMSl7Zz0wO20r
K315Kz0iPC90Ym9keT48L3RhYmxlPiIrKGw/IjwvZGl2PiIrKGlbMF0+MCYmRz09aVsxXS0xPyc8
ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXJvdy1icmVhayI+PC9kaXY+JzoiIik6IiIpO08rPXl9
dys9T313Kz1lKyhkLmJyb3dzZXIubXNpZSYmcGFyc2VJbnQoZC5icm93c2VyLnZlcnNpb24sMTAp
PDcmJiFhLmlubGluZT8nPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiBjbGFzcz0idWkt
ZGF0ZXBpY2tlci1jb3ZlciIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPic6CisiIik7YS5fa2V5
RXZlbnQ9ZmFsc2U7cmV0dXJuIHd9LF9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcjpmdW5jdGlvbihh
LGIsYyxlLGYsaCxpLGcpe3ZhciBqPXRoaXMuX2dldChhLCJjaGFuZ2VNb250aCIpLGw9dGhpcy5f
Z2V0KGEsImNoYW5nZVllYXIiKSx1PXRoaXMuX2dldChhLCJzaG93TW9udGhBZnRlclllYXIiKSxr
PSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nLG89IiI7aWYoaHx8IWopbys9Jzxz
cGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIj4nK2lbYl0rIjwvc3Bhbj4iO2Vsc2V7aT1l
JiZlLmdldEZ1bGxZZWFyKCk9PWM7dmFyIG09ZiYmZi5nZXRGdWxsWWVhcigpPT1jO28rPSc8c2Vs
ZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIiBvbmNoYW5nZT0iRFBfalF1ZXJ5XycrQisi
LmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ00nKTtcIiA+
Ijtmb3IodmFyIG49MDtuPDEyO24rKylpZigoIWl8fG4+PWUuZ2V0TW9udGgoKSkmJgorKCFtfHxu
PD1mLmdldE1vbnRoKCkpKW8rPSc8b3B0aW9uIHZhbHVlPSInK24rJyInKyhuPT1iPycgc2VsZWN0
ZWQ9InNlbGVjdGVkIic6IiIpKyI+IitnW25dKyI8L29wdGlvbj4iO28rPSI8L3NlbGVjdD4ifXV8
fChrKz1vKyhofHwhKGomJmwpPyImI3hhMDsiOiIiKSk7aWYoIWEueWVhcnNodG1sKXthLnllYXJz
aHRtbD0iIjtpZihofHwhbClrKz0nPHNwYW4gY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciI+Jytj
KyI8L3NwYW4+IjtlbHNle2c9dGhpcy5fZ2V0KGEsInllYXJSYW5nZSIpLnNwbGl0KCI6Iik7dmFy
IHM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2k9ZnVuY3Rpb24ocSl7cT1xLm1hdGNoKC9jWyst
XS4qLyk/YytwYXJzZUludChxLnN1YnN0cmluZygxKSwxMCk6cS5tYXRjaCgvWystXS4qLyk/cytw
YXJzZUludChxLDEwKTpwYXJzZUludChxLDEwKTtyZXR1cm4gaXNOYU4ocSk/czpxfTtiPWkoZ1sw
XSk7Zz1NYXRoLm1heChiLGkoZ1sxXXx8IiIpKTtiPWU/TWF0aC5tYXgoYiwKK2UuZ2V0RnVsbFll
YXIoKSk6YjtnPWY/TWF0aC5taW4oZyxmLmdldEZ1bGxZZWFyKCkpOmc7Zm9yKGEueWVhcnNodG1s
Kz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIiBvbmNoYW5nZT0iRFBfalF1ZXJ5
XycrQisiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ1kn
KTtcIiA+IjtiPD1nO2IrKylhLnllYXJzaHRtbCs9JzxvcHRpb24gdmFsdWU9IicrYisnIicrKGI9
PWM/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzoiIikrIj4iK2IrIjwvb3B0aW9uPiI7YS55ZWFyc2h0
bWwrPSI8L3NlbGVjdD4iO2srPWEueWVhcnNodG1sO2EueWVhcnNodG1sPW51bGx9fWsrPXRoaXMu
X2dldChhLCJ5ZWFyU3VmZml4Iik7aWYodSlrKz0oaHx8IShqJiZsKT8iJiN4YTA7IjoiIikrbztr
Kz0iPC9kaXY+IjtyZXR1cm4ga30sX2FkanVzdEluc3REYXRlOmZ1bmN0aW9uKGEsYixjKXt2YXIg
ZT1hLmRyYXdZZWFyKyhjPT0iWSI/YjowKSxmPWEuZHJhd01vbnRoKworKGM9PSJNIj9iOjApO2I9
TWF0aC5taW4oYS5zZWxlY3RlZERheSx0aGlzLl9nZXREYXlzSW5Nb250aChlLGYpKSsoYz09IkQi
P2I6MCk7ZT10aGlzLl9yZXN0cmljdE1pbk1heChhLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0
KG5ldyBEYXRlKGUsZixiKSkpO2Euc2VsZWN0ZWREYXk9ZS5nZXREYXRlKCk7YS5kcmF3TW9udGg9
YS5zZWxlY3RlZE1vbnRoPWUuZ2V0TW9udGgoKTthLmRyYXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWUu
Z2V0RnVsbFllYXIoKTtpZihjPT0iTSJ8fGM9PSJZIil0aGlzLl9ub3RpZnlDaGFuZ2UoYSl9LF9y
ZXN0cmljdE1pbk1heDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldE1pbk1heERhdGUoYSwi
bWluIik7YT10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIpO2I9YyYmYjxjP2M6YjtyZXR1cm4g
Yj1hJiZiPmE/YTpifSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldChh
LCJvbkNoYW5nZU1vbnRoWWVhciIpO2lmKGIpYi5hcHBseShhLmlucHV0PworYS5pbnB1dFswXTpu
dWxsLFthLnNlbGVjdGVkWWVhcixhLnNlbGVjdGVkTW9udGgrMSxhXSl9LF9nZXROdW1iZXJPZk1v
bnRoczpmdW5jdGlvbihhKXthPXRoaXMuX2dldChhLCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBh
PT1udWxsP1sxLDFdOnR5cGVvZiBhPT0ibnVtYmVyIj9bMSxhXTphfSxfZ2V0TWluTWF4RGF0ZTpm
dW5jdGlvbihhLGIpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsYisi
RGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gMzItdGhp
cy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYSxiLDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0
Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGEsYil7cmV0dXJuKG5ldyBEYXRlKGEsYiwxKSkuZ2V0
RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihhLGIsYyxlKXt2YXIgZj10aGlzLl9nZXRO
dW1iZXJPZk1vbnRocyhhKTtjPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGMs
CitlKyhiPDA/YjpmWzBdKmZbMV0pLDEpKTtiPDAmJmMuc2V0RGF0ZSh0aGlzLl9nZXREYXlzSW5N
b250aChjLmdldEZ1bGxZZWFyKCksYy5nZXRNb250aCgpKSk7cmV0dXJuIHRoaXMuX2lzSW5SYW5n
ZShhLGMpfSxfaXNJblJhbmdlOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5fZ2V0TWluTWF4RGF0
ZShhLCJtaW4iKTthPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWF4Iik7cmV0dXJuKCFjfHxiLmdl
dFRpbWUoKT49Yy5nZXRUaW1lKCkpJiYoIWF8fGIuZ2V0VGltZSgpPD1hLmdldFRpbWUoKSl9LF9n
ZXRGb3JtYXRDb25maWc6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0KGEsInNob3J0WWVhckN1
dG9mZiIpO2I9dHlwZW9mIGIhPSJzdHJpbmciP2I6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEw
MCtwYXJzZUludChiLDEwKTtyZXR1cm57c2hvcnRZZWFyQ3V0b2ZmOmIsZGF5TmFtZXNTaG9ydDp0
aGlzLl9nZXQoYSwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChhLAorImRheU5h
bWVzIiksbW9udGhOYW1lc1Nob3J0OnRoaXMuX2dldChhLCJtb250aE5hbWVzU2hvcnQiKSxtb250
aE5hbWVzOnRoaXMuX2dldChhLCJtb250aE5hbWVzIil9fSxfZm9ybWF0RGF0ZTpmdW5jdGlvbihh
LGIsYyxlKXtpZighYil7YS5jdXJyZW50RGF5PWEuc2VsZWN0ZWREYXk7YS5jdXJyZW50TW9udGg9
YS5zZWxlY3RlZE1vbnRoO2EuY3VycmVudFllYXI9YS5zZWxlY3RlZFllYXJ9Yj1iP3R5cGVvZiBi
PT0ib2JqZWN0Ij9iOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGUsYyxiKSk6
dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJl
bnRNb250aCxhLmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dldChh
LCJkYXRlRm9ybWF0IiksYix0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpfX0pO2QuZm4uZGF0ZXBp
Y2tlcj1mdW5jdGlvbihhKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7CitpZighZC5kYXRl
cGlja2VyLmluaXRpYWxpemVkKXtkKGRvY3VtZW50KS5tb3VzZWRvd24oZC5kYXRlcGlja2VyLl9j
aGVja0V4dGVybmFsQ2xpY2spLmZpbmQoImJvZHkiKS5hcHBlbmQoZC5kYXRlcGlja2VyLmRwRGl2
KTtkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgYj1BcnJheS5wcm90b3R5cGUuc2xp
Y2UuY2FsbChhcmd1bWVudHMsMSk7aWYodHlwZW9mIGE9PSJzdHJpbmciJiYoYT09ImlzRGlzYWJs
ZWQifHxhPT0iZ2V0RGF0ZSJ8fGE9PSJ3aWRnZXQiKSlyZXR1cm4gZC5kYXRlcGlja2VyWyJfIith
KyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoYikpO2lm
KGE9PSJvcHRpb24iJiZhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYXJndW1lbnRzWzFdPT0i
c3RyaW5nIilyZXR1cm4gZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5k
YXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoYikpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o
KXt0eXBlb2YgYT09Cisic3RyaW5nIj9kLmRhdGVwaWNrZXJbIl8iK2ErIkRhdGVwaWNrZXIiXS5h
cHBseShkLmRhdGVwaWNrZXIsW3RoaXNdLmNvbmNhdChiKSk6ZC5kYXRlcGlja2VyLl9hdHRhY2hE
YXRlcGlja2VyKHRoaXMsYSl9KX07ZC5kYXRlcGlja2VyPW5ldyBNO2QuZGF0ZXBpY2tlci5pbml0
aWFsaXplZD1mYWxzZTtkLmRhdGVwaWNrZXIudXVpZD0obmV3IERhdGUpLmdldFRpbWUoKTtkLmRh
dGVwaWNrZXIudmVyc2lvbj0iMS44LjE1Ijt3aW5kb3dbIkRQX2pRdWVyeV8iK0JdPWR9KShqUXVl
cnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kYXRlcGlja2VyLm1pbi5qcwpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVp
LzEuOC4xNS91aS9qcXVlcnkudWkuZGlhbG9nLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxv
Zy5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5kaWFsb2cubWluLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBqUXVlcnkgVUkgRGlhbG9nIDEuOC4xNQorICoKKyAq
IENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkK
KyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVy
eS5jb20vVUkvRGlhbG9nCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS5jb3JlLmpzCisg
KglqcXVlcnkudWkud2lkZ2V0LmpzCisgKiAganF1ZXJ5LnVpLmJ1dHRvbi5qcworICoJanF1ZXJ5
LnVpLmRyYWdnYWJsZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnkudWkucG9z
aXRpb24uanMKKyAqCWpxdWVyeS51aS5yZXNpemFibGUuanMKKyAqLworKGZ1bmN0aW9uKGMsbCl7
dmFyIG09e2J1dHRvbnM6dHJ1ZSxoZWlnaHQ6dHJ1ZSxtYXhIZWlnaHQ6dHJ1ZSxtYXhXaWR0aDp0
cnVlLG1pbkhlaWdodDp0cnVlLG1pbldpZHRoOnRydWUsd2lkdGg6dHJ1ZX0sbj17bWF4SGVpZ2h0
OnRydWUsbWF4V2lkdGg6dHJ1ZSxtaW5IZWlnaHQ6dHJ1ZSxtaW5XaWR0aDp0cnVlfSxvPWMuYXR0
ckZufHx7dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVlLHRleHQ6dHJ1ZSxkYXRhOnRydWUsd2lk
dGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZSxjbGljazp0cnVlfTtjLndpZGdldCgidWku
ZGlhbG9nIix7b3B0aW9uczp7YXV0b09wZW46dHJ1ZSxidXR0b25zOnt9LGNsb3NlT25Fc2NhcGU6
dHJ1ZSxjbG9zZVRleHQ6ImNsb3NlIixkaWFsb2dDbGFzczoiIixkcmFnZ2FibGU6dHJ1ZSxoaWRl
Om51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6ZmFsc2UsbWF4V2lkdGg6ZmFsc2UsbWluSGVp
Z2h0OjE1MCxtaW5XaWR0aDoxNTAsbW9kYWw6ZmFsc2UsCitwb3NpdGlvbjp7bXk6ImNlbnRlciIs
YXQ6ImNlbnRlciIsY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9uKGEpe3ZhciBiPWModGhp
cykuY3NzKGEpLm9mZnNldCgpLnRvcDtiPDAmJmModGhpcykuY3NzKCJ0b3AiLGEudG9wLWIpfX0s
cmVzaXphYmxlOnRydWUsc2hvdzpudWxsLHN0YWNrOnRydWUsdGl0bGU6IiIsd2lkdGg6MzAwLHpJ
bmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsVGl0bGU9dGhpcy5lbGVt
ZW50LmF0dHIoInRpdGxlIik7aWYodHlwZW9mIHRoaXMub3JpZ2luYWxUaXRsZSE9PSJzdHJpbmci
KXRoaXMub3JpZ2luYWxUaXRsZT0iIjt0aGlzLm9wdGlvbnMudGl0bGU9dGhpcy5vcHRpb25zLnRp
dGxlfHx0aGlzLm9yaWdpbmFsVGl0bGU7dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxkPWIudGl0bGV8
fCImIzE2MDsiLGU9Yy51aS5kaWFsb2cuZ2V0VGl0bGVJZChhLmVsZW1lbnQpLGc9KGEudWlEaWFs
b2c9YygiPGRpdj48L2Rpdj4iKSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuaGlkZSgpLmFkZENs
YXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwg
IisKK2IuZGlhbG9nQ2xhc3MpLmNzcyh7ekluZGV4OmIuekluZGV4fSkuYXR0cigidGFiSW5kZXgi
LC0xKS5jc3MoIm91dGxpbmUiLDApLmtleWRvd24oZnVuY3Rpb24oaSl7aWYoYi5jbG9zZU9uRXNj
YXBlJiZpLmtleUNvZGUmJmkua2V5Q29kZT09PWMudWkua2V5Q29kZS5FU0NBUEUpe2EuY2xvc2Uo
aSk7aS5wcmV2ZW50RGVmYXVsdCgpfX0pLmF0dHIoe3JvbGU6ImRpYWxvZyIsImFyaWEtbGFiZWxs
ZWRieSI6ZX0pLm1vdXNlZG93bihmdW5jdGlvbihpKXthLm1vdmVUb1RvcChmYWxzZSxpKX0pO2Eu
ZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUiKS5hZGRDbGFzcygidWktZGlhbG9nLWNv
bnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5hcHBlbmRUbyhnKTt2YXIgZj0oYS51aURpYWxvZ1Rp
dGxlYmFyPWMoIjxkaXY+PC9kaXY+IikpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXIgdWkt
d2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIHVpLWhlbHBlci1jbGVhcmZpeCIpLnByZXBlbmRU
byhnKSwKK2g9YygnPGEgaHJlZj0iIyI+PC9hPicpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGVi
YXItY2xvc2UgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJidXR0b24iKS5ob3ZlcihmdW5j
dGlvbigpe2guYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9LGZ1bmN0aW9uKCl7aC5yZW1vdmVD
bGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmZvY3VzKGZ1bmN0aW9uKCl7aC5hZGRDbGFzcygidWkt
c3RhdGUtZm9jdXMiKX0pLmJsdXIoZnVuY3Rpb24oKXtoLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1m
b2N1cyIpfSkuY2xpY2soZnVuY3Rpb24oaSl7YS5jbG9zZShpKTtyZXR1cm4gZmFsc2V9KS5hcHBl
bmRUbyhmKTsoYS51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0PWMoIjxzcGFuPjwvc3Bhbj4iKSku
YWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIikudGV4dChiLmNsb3NlVGV4dCku
YXBwZW5kVG8oaCk7YygiPHNwYW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGUi
KS5hdHRyKCJpZCIsCitlKS5odG1sKGQpLnByZXBlbmRUbyhmKTtpZihjLmlzRnVuY3Rpb24oYi5i
ZWZvcmVjbG9zZSkmJiFjLmlzRnVuY3Rpb24oYi5iZWZvcmVDbG9zZSkpYi5iZWZvcmVDbG9zZT1i
LmJlZm9yZWNsb3NlO2YuZmluZCgiKiIpLmFkZChmKS5kaXNhYmxlU2VsZWN0aW9uKCk7Yi5kcmFn
Z2FibGUmJmMuZm4uZHJhZ2dhYmxlJiZhLl9tYWtlRHJhZ2dhYmxlKCk7Yi5yZXNpemFibGUmJmMu
Zm4ucmVzaXphYmxlJiZhLl9tYWtlUmVzaXphYmxlKCk7YS5fY3JlYXRlQnV0dG9ucyhiLmJ1dHRv
bnMpO2EuX2lzT3Blbj1mYWxzZTtjLmZuLmJnaWZyYW1lJiZnLmJnaWZyYW1lKCl9LF9pbml0OmZ1
bmN0aW9uKCl7dGhpcy5vcHRpb25zLmF1dG9PcGVuJiZ0aGlzLm9wZW4oKX0sZGVzdHJveTpmdW5j
dGlvbigpe3ZhciBhPXRoaXM7YS5vdmVybGF5JiZhLm92ZXJsYXkuZGVzdHJveSgpO2EudWlEaWFs
b2cuaGlkZSgpO2EuZWxlbWVudC51bmJpbmQoIi5kaWFsb2ciKS5yZW1vdmVEYXRhKCJkaWFsb2ci
KS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5oaWRl
KCkuYXBwZW5kVG8oImJvZHkiKTsKK2EudWlEaWFsb2cucmVtb3ZlKCk7YS5vcmlnaW5hbFRpdGxl
JiZhLmVsZW1lbnQuYXR0cigidGl0bGUiLGEub3JpZ2luYWxUaXRsZSk7cmV0dXJuIGF9LHdpZGdl
dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVpRGlhbG9nfSxjbG9zZTpmdW5jdGlvbihhKXt2YXIg
Yj10aGlzLGQsZTtpZihmYWxzZSE9PWIuX3RyaWdnZXIoImJlZm9yZUNsb3NlIixhKSl7Yi5vdmVy
bGF5JiZiLm92ZXJsYXkuZGVzdHJveSgpO2IudWlEaWFsb2cudW5iaW5kKCJrZXlwcmVzcy51aS1k
aWFsb2ciKTtiLl9pc09wZW49ZmFsc2U7aWYoYi5vcHRpb25zLmhpZGUpYi51aURpYWxvZy5oaWRl
KGIub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7Yi5fdHJpZ2dlcigiY2xvc2UiLGEpfSk7ZWxzZXti
LnVpRGlhbG9nLmhpZGUoKTtiLl90cmlnZ2VyKCJjbG9zZSIsYSl9Yy51aS5kaWFsb2cub3Zlcmxh
eS5yZXNpemUoKTtpZihiLm9wdGlvbnMubW9kYWwpe2Q9MDtjKCIudWktZGlhbG9nIikuZWFjaChm
dW5jdGlvbigpe2lmKHRoaXMhPT0KK2IudWlEaWFsb2dbMF0pe2U9Yyh0aGlzKS5jc3MoInotaW5k
ZXgiKTtpc05hTihlKXx8KGQ9TWF0aC5tYXgoZCxlKSl9fSk7Yy51aS5kaWFsb2cubWF4Wj1kfXJl
dHVybiBifX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9w
OmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxlPWQub3B0aW9ucztpZihlLm1vZGFsJiYhYXx8IWUu
c3RhY2smJiFlLm1vZGFsKXJldHVybiBkLl90cmlnZ2VyKCJmb2N1cyIsYik7aWYoZS56SW5kZXg+
Yy51aS5kaWFsb2cubWF4WiljLnVpLmRpYWxvZy5tYXhaPWUuekluZGV4O2lmKGQub3ZlcmxheSl7
Yy51aS5kaWFsb2cubWF4Wis9MTtkLm92ZXJsYXkuJGVsLmNzcygiei1pbmRleCIsYy51aS5kaWFs
b2cub3ZlcmxheS5tYXhaPWMudWkuZGlhbG9nLm1heFopfWE9e3Njcm9sbFRvcDpkLmVsZW1lbnQu
c2Nyb2xsVG9wKCksc2Nyb2xsTGVmdDpkLmVsZW1lbnQuc2Nyb2xsTGVmdCgpfTtjLnVpLmRpYWxv
Zy5tYXhaKz0xOworZC51aURpYWxvZy5jc3MoInotaW5kZXgiLGMudWkuZGlhbG9nLm1heFopO2Qu
ZWxlbWVudC5hdHRyKGEpO2QuX3RyaWdnZXIoImZvY3VzIixiKTtyZXR1cm4gZH0sb3BlbjpmdW5j
dGlvbigpe2lmKCF0aGlzLl9pc09wZW4pe3ZhciBhPXRoaXMsYj1hLm9wdGlvbnMsZD1hLnVpRGlh
bG9nO2Eub3ZlcmxheT1iLm1vZGFsP25ldyBjLnVpLmRpYWxvZy5vdmVybGF5KGEpOm51bGw7YS5f
c2l6ZSgpO2EuX3Bvc2l0aW9uKGIucG9zaXRpb24pO2Quc2hvdyhiLnNob3cpO2EubW92ZVRvVG9w
KHRydWUpO2IubW9kYWwmJmQuYmluZCgia2V5cHJlc3MudWktZGlhbG9nIixmdW5jdGlvbihlKXtp
ZihlLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuVEFCKXt2YXIgZz1jKCI6dGFiYmFibGUiLHRoaXMp
LGY9Zy5maWx0ZXIoIjpmaXJzdCIpO2c9Zy5maWx0ZXIoIjpsYXN0Iik7aWYoZS50YXJnZXQ9PT1n
WzBdJiYhZS5zaGlmdEtleSl7Zi5mb2N1cygxKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZihlLnRhcmdl
dD09PQorZlswXSYmZS5zaGlmdEtleSl7Zy5mb2N1cygxKTtyZXR1cm4gZmFsc2V9fX0pO2MoYS5l
bGVtZW50LmZpbmQoIjp0YWJiYWJsZSIpLmdldCgpLmNvbmNhdChkLmZpbmQoIi51aS1kaWFsb2ct
YnV0dG9ucGFuZSA6dGFiYmFibGUiKS5nZXQoKS5jb25jYXQoZC5nZXQoKSkpKS5lcSgwKS5mb2N1
cygpO2EuX2lzT3Blbj10cnVlO2EuX3RyaWdnZXIoIm9wZW4iKTtyZXR1cm4gYX19LF9jcmVhdGVC
dXR0b25zOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsZD1mYWxzZSxlPWMoIjxkaXY+PC9kaXY+Iiku
YWRkQ2xhc3MoInVpLWRpYWxvZy1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBl
ci1jbGVhcmZpeCIpLGc9YygiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRv
bnNldCIpLmFwcGVuZFRvKGUpO2IudWlEaWFsb2cuZmluZCgiLnVpLWRpYWxvZy1idXR0b25wYW5l
IikucmVtb3ZlKCk7dHlwZW9mIGE9PT0ib2JqZWN0IiYmYSE9PW51bGwmJmMuZWFjaChhLAorZnVu
Y3Rpb24oKXtyZXR1cm4hKGQ9dHJ1ZSl9KTtpZihkKXtjLmVhY2goYSxmdW5jdGlvbihmLGgpe2g9
Yy5pc0Z1bmN0aW9uKGgpP3tjbGljazpoLHRleHQ6Zn06aDt2YXIgaT1jKCc8YnV0dG9uIHR5cGU9
ImJ1dHRvbiI+PC9idXR0b24+JykuY2xpY2soZnVuY3Rpb24oKXtoLmNsaWNrLmFwcGx5KGIuZWxl
bWVudFswXSxhcmd1bWVudHMpfSkuYXBwZW5kVG8oZyk7Yy5lYWNoKGgsZnVuY3Rpb24oaixrKXtp
ZihqIT09ImNsaWNrIilqIGluIG8/aVtqXShrKTppLmF0dHIoaixrKX0pO2MuZm4uYnV0dG9uJiZp
LmJ1dHRvbigpfSk7ZS5hcHBlbmRUbyhiLnVpRGlhbG9nKX19LF9tYWtlRHJhZ2dhYmxlOmZ1bmN0
aW9uKCl7ZnVuY3Rpb24gYShmKXtyZXR1cm57cG9zaXRpb246Zi5wb3NpdGlvbixvZmZzZXQ6Zi5v
ZmZzZXR9fXZhciBiPXRoaXMsZD1iLm9wdGlvbnMsZT1jKGRvY3VtZW50KSxnO2IudWlEaWFsb2cu
ZHJhZ2dhYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCwgLnVpLWRpYWxvZy10aXRsZWJh
ci1jbG9zZSIsCitoYW5kbGU6Ii51aS1kaWFsb2ctdGl0bGViYXIiLGNvbnRhaW5tZW50OiJkb2N1
bWVudCIsc3RhcnQ6ZnVuY3Rpb24oZixoKXtnPWQuaGVpZ2h0PT09ImF1dG8iPyJhdXRvIjpjKHRo
aXMpLmhlaWdodCgpO2ModGhpcykuaGVpZ2h0KGModGhpcykuaGVpZ2h0KCkpLmFkZENsYXNzKCJ1
aS1kaWFsb2ctZHJhZ2dpbmciKTtiLl90cmlnZ2VyKCJkcmFnU3RhcnQiLGYsYShoKSl9LGRyYWc6
ZnVuY3Rpb24oZixoKXtiLl90cmlnZ2VyKCJkcmFnIixmLGEoaCkpfSxzdG9wOmZ1bmN0aW9uKGYs
aCl7ZC5wb3NpdGlvbj1baC5wb3NpdGlvbi5sZWZ0LWUuc2Nyb2xsTGVmdCgpLGgucG9zaXRpb24u
dG9wLWUuc2Nyb2xsVG9wKCldO2ModGhpcykucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2lu
ZyIpLmhlaWdodChnKTtiLl90cmlnZ2VyKCJkcmFnU3RvcCIsZixhKGgpKTtjLnVpLmRpYWxvZy5v
dmVybGF5LnJlc2l6ZSgpfX0pfSxfbWFrZVJlc2l6YWJsZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBi
KGYpe3JldHVybntvcmlnaW5hbFBvc2l0aW9uOmYub3JpZ2luYWxQb3NpdGlvbiwKK29yaWdpbmFs
U2l6ZTpmLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjpmLnBvc2l0aW9uLHNpemU6Zi5zaXplfX1hPWE9
PT1sP3RoaXMub3B0aW9ucy5yZXNpemFibGU6YTt2YXIgZD10aGlzLGU9ZC5vcHRpb25zLGc9ZC51
aURpYWxvZy5jc3MoInBvc2l0aW9uIik7YT10eXBlb2YgYT09PSJzdHJpbmciP2E6Im4sZSxzLHcs
c2Usc3csbmUsbnciO2QudWlEaWFsb2cucmVzaXphYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29u
dGVudCIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixhbHNvUmVzaXplOmQuZWxlbWVudCxtYXhXaWR0
aDplLm1heFdpZHRoLG1heEhlaWdodDplLm1heEhlaWdodCxtaW5XaWR0aDplLm1pbldpZHRoLG1p
bkhlaWdodDpkLl9taW5IZWlnaHQoKSxoYW5kbGVzOmEsc3RhcnQ6ZnVuY3Rpb24oZixoKXtjKHRo
aXMpLmFkZENsYXNzKCJ1aS1kaWFsb2ctcmVzaXppbmciKTtkLl90cmlnZ2VyKCJyZXNpemVTdGFy
dCIsZixiKGgpKX0scmVzaXplOmZ1bmN0aW9uKGYsaCl7ZC5fdHJpZ2dlcigicmVzaXplIiwKK2Ys
YihoKSl9LHN0b3A6ZnVuY3Rpb24oZixoKXtjKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ct
cmVzaXppbmciKTtlLmhlaWdodD1jKHRoaXMpLmhlaWdodCgpO2Uud2lkdGg9Yyh0aGlzKS53aWR0
aCgpO2QuX3RyaWdnZXIoInJlc2l6ZVN0b3AiLGYsYihoKSk7Yy51aS5kaWFsb2cub3ZlcmxheS5y
ZXNpemUoKX19KS5jc3MoInBvc2l0aW9uIixnKS5maW5kKCIudWktcmVzaXphYmxlLXNlIikuYWRk
Q2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIil9LF9taW5IZWlnaHQ6ZnVu
Y3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7cmV0dXJuIGEuaGVpZ2h0PT09ImF1dG8iP2EubWlu
SGVpZ2h0Ok1hdGgubWluKGEubWluSGVpZ2h0LGEuaGVpZ2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9u
KGEpe3ZhciBiPVtdLGQ9WzAsMF0sZTtpZihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBl
b2YgYT09PSJvYmplY3QiJiYiMCJpbiBhKXtiPWEuc3BsaXQ/YS5zcGxpdCgiICIpOgorW2FbMF0s
YVsxXV07aWYoYi5sZW5ndGg9PT0xKWJbMV09YlswXTtjLmVhY2goWyJsZWZ0IiwidG9wIl0sZnVu
Y3Rpb24oZyxmKXtpZigrYltnXT09PWJbZ10pe2RbZ109YltnXTtiW2ddPWZ9fSk7YT17bXk6Yi5q
b2luKCIgIiksYXQ6Yi5qb2luKCIgIiksb2Zmc2V0OmQuam9pbigiICIpfX1hPWMuZXh0ZW5kKHt9
LGMudWkuZGlhbG9nLnByb3RvdHlwZS5vcHRpb25zLnBvc2l0aW9uLGEpfWVsc2UgYT1jLnVpLmRp
YWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbjsoZT10aGlzLnVpRGlhbG9nLmlzKCI6dmlz
aWJsZSIpKXx8dGhpcy51aURpYWxvZy5zaG93KCk7dGhpcy51aURpYWxvZy5jc3Moe3RvcDowLGxl
ZnQ6MH0pLnBvc2l0aW9uKGMuZXh0ZW5kKHtvZjp3aW5kb3d9LGEpKTtlfHx0aGlzLnVpRGlhbG9n
LmhpZGUoKX0sX3NldE9wdGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxkPXt9LGU9ZmFsc2U7
Yy5lYWNoKGEsZnVuY3Rpb24oZyxmKXtiLl9zZXRPcHRpb24oZyxmKTsKK2lmKGcgaW4gbSllPXRy
dWU7aWYoZyBpbiBuKWRbZ109Zn0pO2UmJnRoaXMuX3NpemUoKTt0aGlzLnVpRGlhbG9nLmlzKCI6
ZGF0YShyZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cucmVzaXphYmxlKCJvcHRpb24iLGQpfSxf
c2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxlPWQudWlEaWFsb2c7c3dpdGNoKGEp
e2Nhc2UgImJlZm9yZWNsb3NlIjphPSJiZWZvcmVDbG9zZSI7YnJlYWs7Y2FzZSAiYnV0dG9ucyI6
ZC5fY3JlYXRlQnV0dG9ucyhiKTticmVhaztjYXNlICJjbG9zZVRleHQiOmQudWlEaWFsb2dUaXRs
ZWJhckNsb3NlVGV4dC50ZXh0KCIiK2IpO2JyZWFrO2Nhc2UgImRpYWxvZ0NsYXNzIjplLnJlbW92
ZUNsYXNzKGQub3B0aW9ucy5kaWFsb2dDbGFzcykuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRn
ZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCAiK2IpO2JyZWFrO2Nhc2UgImRpc2Fi
bGVkIjpiP2UuYWRkQ2xhc3MoInVpLWRpYWxvZy1kaXNhYmxlZCIpOgorZS5yZW1vdmVDbGFzcygi
dWktZGlhbG9nLWRpc2FibGVkIik7YnJlYWs7Y2FzZSAiZHJhZ2dhYmxlIjp2YXIgZz1lLmlzKCI6
ZGF0YShkcmFnZ2FibGUpIik7ZyYmIWImJmUuZHJhZ2dhYmxlKCJkZXN0cm95Iik7IWcmJmImJmQu
X21ha2VEcmFnZ2FibGUoKTticmVhaztjYXNlICJwb3NpdGlvbiI6ZC5fcG9zaXRpb24oYik7YnJl
YWs7Y2FzZSAicmVzaXphYmxlIjooZz1lLmlzKCI6ZGF0YShyZXNpemFibGUpIikpJiYhYiYmZS5y
ZXNpemFibGUoImRlc3Ryb3kiKTtnJiZ0eXBlb2YgYj09PSJzdHJpbmciJiZlLnJlc2l6YWJsZSgi
b3B0aW9uIiwiaGFuZGxlcyIsYik7IWcmJmIhPT1mYWxzZSYmZC5fbWFrZVJlc2l6YWJsZShiKTti
cmVhaztjYXNlICJ0aXRsZSI6YygiLnVpLWRpYWxvZy10aXRsZSIsZC51aURpYWxvZ1RpdGxlYmFy
KS5odG1sKCIiKyhifHwiJiMxNjA7IikpO2JyZWFrfWMuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0
aW9uLmFwcGx5KGQsYXJndW1lbnRzKX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgYT0KK3RoaXMub3B0
aW9ucyxiLGQsZT10aGlzLnVpRGlhbG9nLmlzKCI6dmlzaWJsZSIpO3RoaXMuZWxlbWVudC5zaG93
KCkuY3NzKHt3aWR0aDoiYXV0byIsbWluSGVpZ2h0OjAsaGVpZ2h0OjB9KTtpZihhLm1pbldpZHRo
PmEud2lkdGgpYS53aWR0aD1hLm1pbldpZHRoO2I9dGhpcy51aURpYWxvZy5jc3Moe2hlaWdodDoi
YXV0byIsd2lkdGg6YS53aWR0aH0pLmhlaWdodCgpO2Q9TWF0aC5tYXgoMCxhLm1pbkhlaWdodC1i
KTtpZihhLmhlaWdodD09PSJhdXRvIilpZihjLnN1cHBvcnQubWluSGVpZ2h0KXRoaXMuZWxlbWVu
dC5jc3Moe21pbkhlaWdodDpkLGhlaWdodDoiYXV0byJ9KTtlbHNle3RoaXMudWlEaWFsb2cuc2hv
dygpO2E9dGhpcy5lbGVtZW50LmNzcygiaGVpZ2h0IiwiYXV0byIpLmhlaWdodCgpO2V8fHRoaXMu
dWlEaWFsb2cuaGlkZSgpO3RoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoYSxkKSl9ZWxzZSB0
aGlzLmVsZW1lbnQuaGVpZ2h0KE1hdGgubWF4KGEuaGVpZ2h0LQorYiwwKSk7dGhpcy51aURpYWxv
Zy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9u
IiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9fSk7Yy5leHRlbmQoYy51aS5kaWFsb2cs
e3ZlcnNpb246IjEuOC4xNSIsdXVpZDowLG1heFo6MCxnZXRUaXRsZUlkOmZ1bmN0aW9uKGEpe2E9
YS5hdHRyKCJpZCIpO2lmKCFhKXt0aGlzLnV1aWQrPTE7YT10aGlzLnV1aWR9cmV0dXJuInVpLWRp
YWxvZy10aXRsZS0iK2F9LG92ZXJsYXk6ZnVuY3Rpb24oYSl7dGhpcy4kZWw9Yy51aS5kaWFsb2cu
b3ZlcmxheS5jcmVhdGUoYSl9fSk7Yy5leHRlbmQoYy51aS5kaWFsb2cub3ZlcmxheSx7aW5zdGFu
Y2VzOltdLG9sZEluc3RhbmNlczpbXSxtYXhaOjAsZXZlbnRzOmMubWFwKCJmb2N1cyxtb3VzZWRv
d24sbW91c2V1cCxrZXlkb3duLGtleXByZXNzLGNsaWNrIi5zcGxpdCgiLCIpLGZ1bmN0aW9uKGEp
e3JldHVybiBhKyIuZGlhbG9nLW92ZXJsYXkifSkuam9pbigiICIpLAorY3JlYXRlOmZ1bmN0aW9u
KGEpe2lmKHRoaXMuaW5zdGFuY2VzLmxlbmd0aD09PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtj
LnVpLmRpYWxvZy5vdmVybGF5Lmluc3RhbmNlcy5sZW5ndGgmJmMoZG9jdW1lbnQpLmJpbmQoYy51
aS5kaWFsb2cub3ZlcmxheS5ldmVudHMsZnVuY3Rpb24oZCl7aWYoYyhkLnRhcmdldCkuekluZGV4
KCk8Yy51aS5kaWFsb2cub3ZlcmxheS5tYXhaKXJldHVybiBmYWxzZX0pfSwxKTtjKGRvY3VtZW50
KS5iaW5kKCJrZXlkb3duLmRpYWxvZy1vdmVybGF5IixmdW5jdGlvbihkKXtpZihhLm9wdGlvbnMu
Y2xvc2VPbkVzY2FwZSYmZC5rZXlDb2RlJiZkLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuRVNDQVBF
KXthLmNsb3NlKGQpO2QucHJldmVudERlZmF1bHQoKX19KTtjKHdpbmRvdykuYmluZCgicmVzaXpl
LmRpYWxvZy1vdmVybGF5IixjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSl9dmFyIGI9KHRoaXMu
b2xkSW5zdGFuY2VzLnBvcCgpfHxjKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS13aWRnZXQt
b3ZlcmxheSIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5jc3Moe3dpZHRoOnRoaXMud2lkdGgo
KSwKK2hlaWdodDp0aGlzLmhlaWdodCgpfSk7Yy5mbi5iZ2lmcmFtZSYmYi5iZ2lmcmFtZSgpO3Ro
aXMuaW5zdGFuY2VzLnB1c2goYik7cmV0dXJuIGJ9LGRlc3Ryb3k6ZnVuY3Rpb24oYSl7dmFyIGI9
Yy5pbkFycmF5KGEsdGhpcy5pbnN0YW5jZXMpO2IhPS0xJiZ0aGlzLm9sZEluc3RhbmNlcy5wdXNo
KHRoaXMuaW5zdGFuY2VzLnNwbGljZShiLDEpWzBdKTt0aGlzLmluc3RhbmNlcy5sZW5ndGg9PT0w
JiZjKFtkb2N1bWVudCx3aW5kb3ddKS51bmJpbmQoIi5kaWFsb2ctb3ZlcmxheSIpO2EucmVtb3Zl
KCk7dmFyIGQ9MDtjLmVhY2godGhpcy5pbnN0YW5jZXMsZnVuY3Rpb24oKXtkPU1hdGgubWF4KGQs
dGhpcy5jc3MoInotaW5kZXgiKSl9KTt0aGlzLm1heFo9ZH0saGVpZ2h0OmZ1bmN0aW9uKCl7dmFy
IGEsYjtpZihjLmJyb3dzZXIubXNpZSYmYy5icm93c2VyLnZlcnNpb248Nyl7YT1NYXRoLm1heChk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmJvZHkuc2Nyb2xs
SGVpZ2h0KTsKK2I9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdo
dCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCk7cmV0dXJuIGE8Yj9jKHdpbmRvdykuaGVpZ2h0
KCkrInB4IjphKyJweCJ9ZWxzZSByZXR1cm4gYyhkb2N1bWVudCkuaGVpZ2h0KCkrInB4In0sd2lk
dGg6ZnVuY3Rpb24oKXt2YXIgYSxiO2lmKGMuYnJvd3Nlci5tc2llKXthPU1hdGgubWF4KGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCxkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRo
KTtiPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCxkb2N1bWVu
dC5ib2R5Lm9mZnNldFdpZHRoKTtyZXR1cm4gYTxiP2Mod2luZG93KS53aWR0aCgpKyJweCI6YSsi
cHgifWVsc2UgcmV0dXJuIGMoZG9jdW1lbnQpLndpZHRoKCkrInB4In0scmVzaXplOmZ1bmN0aW9u
KCl7dmFyIGE9YyhbXSk7Yy5lYWNoKGMudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFuY2VzLGZ1bmN0
aW9uKCl7YT0KK2EuYWRkKHRoaXMpfSk7YS5jc3Moe3dpZHRoOjAsaGVpZ2h0OjB9KS5jc3Moe3dp
ZHRoOmMudWkuZGlhbG9nLm92ZXJsYXkud2lkdGgoKSxoZWlnaHQ6Yy51aS5kaWFsb2cub3Zlcmxh
eS5oZWlnaHQoKX0pfX0pO2MuZXh0ZW5kKGMudWkuZGlhbG9nLm92ZXJsYXkucHJvdG90eXBlLHtk
ZXN0cm95OmZ1bmN0aW9uKCl7Yy51aS5kaWFsb2cub3ZlcmxheS5kZXN0cm95KHRoaXMuJGVsKX19
KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRpYWxvZy5taW4uanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyYWdnYWJsZS5taW4uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51
aS5kcmFnZ2FibGUubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZHJhZ2dhYmxlLm1pbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUwIEBACisvKgorICogalF1ZXJ5IFVJIERyYWdnYWJs
ZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVl
cnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZl
cnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBo
dHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RyYWdnYWJsZXMKKyAqCisgKiBEZXBlbmRzOgorICoJ
anF1ZXJ5LnVpLmNvcmUuanMKKyAqCWpxdWVyeS51aS5tb3VzZS5qcworICoJanF1ZXJ5LnVpLndp
ZGdldC5qcworICovCisoZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLmRyYWdnYWJsZSIsZC51aS5t
b3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6dHJ1ZSxh
cHBlbmRUbzoicGFyZW50IixheGlzOmZhbHNlLGNvbm5lY3RUb1NvcnRhYmxlOmZhbHNlLGNvbnRh
aW5tZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5k
bGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaWZyYW1lRml4OmZhbHNlLG9wYWNpdHk6ZmFsc2Us
cmVmcmVzaFBvc2l0aW9uczpmYWxzZSxyZXZlcnQ6ZmFsc2UscmV2ZXJ0RHVyYXRpb246NTAwLHNj
b3BlOiJkZWZhdWx0IixzY3JvbGw6dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVl
ZDoyMCxzbmFwOmZhbHNlLHNuYXBNb2RlOiJib3RoIixzbmFwVG9sZXJhbmNlOjIwLHN0YWNrOmZh
bHNlLHpJbmRleDpmYWxzZX0sX2NyZWF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5oZWxw
ZXI9PQorIm9yaWdpbmFsIiYmIS9eKD86cnxhfGYpLy50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBv
c2l0aW9uIikpKXRoaXMuZWxlbWVudFswXS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3RoaXMu
b3B0aW9ucy5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZSIp
O3RoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2Fi
bGUtZGlzYWJsZWQiKTt0aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe2lmKHRo
aXMuZWxlbWVudC5kYXRhKCJkcmFnZ2FibGUiKSl7dGhpcy5lbGVtZW50LnJlbW92ZURhdGEoImRy
YWdnYWJsZSIpLnVuYmluZCgiLmRyYWdnYWJsZSIpLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUg
dWktZHJhZ2dhYmxlLWRyYWdnaW5nIHVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNl
RGVzdHJveSgpO3JldHVybiB0aGlzfX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihhKXt2YXIgYj0K
K3RoaXMub3B0aW9ucztpZih0aGlzLmhlbHBlcnx8Yi5kaXNhYmxlZHx8ZChhLnRhcmdldCkuaXMo
Ii51aS1yZXNpemFibGUtaGFuZGxlIikpcmV0dXJuIGZhbHNlO3RoaXMuaGFuZGxlPXRoaXMuX2dl
dEhhbmRsZShhKTtpZighdGhpcy5oYW5kbGUpcmV0dXJuIGZhbHNlO2QoYi5pZnJhbWVGaXg9PT10
cnVlPyJpZnJhbWUiOmIuaWZyYW1lRml4KS5lYWNoKGZ1bmN0aW9uKCl7ZCgnPGRpdiBjbGFzcz0i
dWktZHJhZ2dhYmxlLWlmcmFtZUZpeCIgc3R5bGU9ImJhY2tncm91bmQ6ICNmZmY7Ij48L2Rpdj4n
KS5jc3Moe3dpZHRoOnRoaXMub2Zmc2V0V2lkdGgrInB4IixoZWlnaHQ6dGhpcy5vZmZzZXRIZWln
aHQrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLG9wYWNpdHk6IjAuMDAxIix6SW5kZXg6MUUzfSku
Y3NzKGQodGhpcykub2Zmc2V0KCkpLmFwcGVuZFRvKCJib2R5Iil9KTtyZXR1cm4gdHJ1ZX0sX21v
dXNlU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zO3RoaXMuaGVscGVyPQordGhp
cy5fY3JlYXRlSGVscGVyKGEpO3RoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTtpZihkLnVp
LmRkbWFuYWdlcilkLnVpLmRkbWFuYWdlci5jdXJyZW50PXRoaXM7dGhpcy5fY2FjaGVNYXJnaW5z
KCk7dGhpcy5jc3NQb3NpdGlvbj10aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIik7dGhpcy5zY3Jv
bGxQYXJlbnQ9dGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCk7dGhpcy5vZmZzZXQ9dGhpcy5wb3Np
dGlvbkFicz10aGlzLmVsZW1lbnQub2Zmc2V0KCk7dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNl
dC50b3AtdGhpcy5tYXJnaW5zLnRvcCxsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5z
LmxlZnR9O2QuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDphLnBhZ2VYLXRoaXMub2Zm
c2V0LmxlZnQsdG9wOmEucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJlbnQ6dGhpcy5fZ2V0UGFy
ZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKX0pOwordGhpcy5v
cmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihhKTt0
aGlzLm9yaWdpbmFsUGFnZVg9YS5wYWdlWDt0aGlzLm9yaWdpbmFsUGFnZVk9YS5wYWdlWTtiLmN1
cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGIuY3Vyc29yQXQpO2IuY29udGFp
bm1lbnQmJnRoaXMuX3NldENvbnRhaW5tZW50KCk7aWYodGhpcy5fdHJpZ2dlcigic3RhcnQiLGEp
PT09ZmFsc2Upe3RoaXMuX2NsZWFyKCk7cmV0dXJuIGZhbHNlfXRoaXMuX2NhY2hlSGVscGVyUHJv
cG9ydGlvbnMoKTtkLnVpLmRkbWFuYWdlciYmIWIuZHJvcEJlaGF2aW91ciYmZC51aS5kZG1hbmFn
ZXIucHJlcGFyZU9mZnNldHModGhpcyxhKTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dh
YmxlLWRyYWdnaW5nIik7dGhpcy5fbW91c2VEcmFnKGEsdHJ1ZSk7ZC51aS5kZG1hbmFnZXImJmQu
dWkuZGRtYW5hZ2VyLmRyYWdTdGFydCh0aGlzLGEpO3JldHVybiB0cnVlfSwKK19tb3VzZURyYWc6
ZnVuY3Rpb24oYSxiKXt0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYSk7dGhp
cy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighYil7
Yj10aGlzLl91aUhhc2goKTtpZih0aGlzLl90cmlnZ2VyKCJkcmFnIixhLGIpPT09ZmFsc2Upe3Ro
aXMuX21vdXNlVXAoe30pO3JldHVybiBmYWxzZX10aGlzLnBvc2l0aW9uPWIucG9zaXRpb259aWYo
IXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBd
LnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCI7aWYoIXRoaXMub3B0aW9ucy5heGlz
fHx0aGlzLm9wdGlvbnMuYXhpcyE9IngiKXRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBv
c2l0aW9uLnRvcCsicHgiO2QudWkuZGRtYW5hZ2VyJiZkLnVpLmRkbWFuYWdlci5kcmFnKHRoaXMs
YSk7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGEpe3ZhciBiPQorZmFsc2U7aWYo
ZC51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciliPWQudWkuZGRtYW5h
Z2VyLmRyb3AodGhpcyxhKTtpZih0aGlzLmRyb3BwZWQpe2I9dGhpcy5kcm9wcGVkO3RoaXMuZHJv
cHBlZD1mYWxzZX1pZigoIXRoaXMuZWxlbWVudFswXXx8IXRoaXMuZWxlbWVudFswXS5wYXJlbnRO
b2RlKSYmdGhpcy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIilyZXR1cm4gZmFsc2U7aWYodGhp
cy5vcHRpb25zLnJldmVydD09ImludmFsaWQiJiYhYnx8dGhpcy5vcHRpb25zLnJldmVydD09InZh
bGlkIiYmYnx8dGhpcy5vcHRpb25zLnJldmVydD09PXRydWV8fGQuaXNGdW5jdGlvbih0aGlzLm9w
dGlvbnMucmV2ZXJ0KSYmdGhpcy5vcHRpb25zLnJldmVydC5jYWxsKHRoaXMuZWxlbWVudCxiKSl7
dmFyIGM9dGhpcztkKHRoaXMuaGVscGVyKS5hbmltYXRlKHRoaXMub3JpZ2luYWxQb3NpdGlvbixw
YXJzZUludCh0aGlzLm9wdGlvbnMucmV2ZXJ0RHVyYXRpb24sCisxMCksZnVuY3Rpb24oKXtjLl90
cmlnZ2VyKCJzdG9wIixhKSE9PWZhbHNlJiZjLl9jbGVhcigpfSl9ZWxzZSB0aGlzLl90cmlnZ2Vy
KCJzdG9wIixhKSE9PWZhbHNlJiZ0aGlzLl9jbGVhcigpO3JldHVybiBmYWxzZX0sX21vdXNlVXA6
ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zLmlmcmFtZUZpeD09PXRydWUmJmQoImRpdi51aS1kcmFn
Z2FibGUtaWZyYW1lRml4IikuZWFjaChmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZS5yZW1vdmVD
aGlsZCh0aGlzKX0pO2QudWkuZGRtYW5hZ2VyJiZkLnVpLmRkbWFuYWdlci5kcmFnU3RvcCh0aGlz
LGEpO3JldHVybiBkLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKHRoaXMsYSl9LGNh
bmNlbDpmdW5jdGlvbigpe3RoaXMuaGVscGVyLmlzKCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIik/
dGhpcy5fbW91c2VVcCh7fSk6dGhpcy5fY2xlYXIoKTtyZXR1cm4gdGhpc30sX2dldEhhbmRsZTpm
dW5jdGlvbihhKXt2YXIgYj0hdGhpcy5vcHRpb25zLmhhbmRsZXx8CishZCh0aGlzLm9wdGlvbnMu
aGFuZGxlLHRoaXMuZWxlbWVudCkubGVuZ3RoP3RydWU6ZmFsc2U7ZCh0aGlzLm9wdGlvbnMuaGFu
ZGxlLHRoaXMuZWxlbWVudCkuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYo
dGhpcz09YS50YXJnZXQpYj10cnVlfSk7cmV0dXJuIGJ9LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24o
YSl7dmFyIGI9dGhpcy5vcHRpb25zO2E9ZC5pc0Z1bmN0aW9uKGIuaGVscGVyKT9kKGIuaGVscGVy
LmFwcGx5KHRoaXMuZWxlbWVudFswXSxbYV0pKTpiLmhlbHBlcj09ImNsb25lIj90aGlzLmVsZW1l
bnQuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpOnRoaXMuZWxlbWVudDthLnBhcmVudHMoImJvZHki
KS5sZW5ndGh8fGEuYXBwZW5kVG8oYi5hcHBlbmRUbz09InBhcmVudCI/dGhpcy5lbGVtZW50WzBd
LnBhcmVudE5vZGU6Yi5hcHBlbmRUbyk7YVswXSE9dGhpcy5lbGVtZW50WzBdJiYhLyhmaXhlZHxh
YnNvbHV0ZSkvLnRlc3QoYS5jc3MoInBvc2l0aW9uIikpJiYKK2EuY3NzKCJwb3NpdGlvbiIsImFi
c29sdXRlIik7cmV0dXJuIGF9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGEpe2lm
KHR5cGVvZiBhPT0ic3RyaW5nIilhPWEuc3BsaXQoIiAiKTtpZihkLmlzQXJyYXkoYSkpYT17bGVm
dDorYVswXSx0b3A6K2FbMV18fDB9O2lmKCJsZWZ0ImluIGEpdGhpcy5vZmZzZXQuY2xpY2subGVm
dD1hLmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInJpZ2h0ImluIGEpdGhpcy5vZmZzZXQuY2xp
Y2subGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLWEucmlnaHQrdGhpcy5tYXJnaW5z
LmxlZnQ7aWYoInRvcCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1hLnRvcCt0aGlzLm1hcmdp
bnMudG9wO2lmKCJib3R0b20iaW4gYSl0aGlzLm9mZnNldC5jbGljay50b3A9dGhpcy5oZWxwZXJQ
cm9wb3J0aW9ucy5oZWlnaHQtYS5ib3R0b20rdGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9m
ZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PQordGhpcy5oZWxwZXIub2Zmc2V0UGFy
ZW50KCk7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQub2Zmc2V0KCk7aWYodGhpcy5jc3NQb3NpdGlv
bj09ImFic29sdXRlIiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRh
aW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSl7YS5sZWZ0Kz10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7YS50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNj
cm9sbFRvcCgpfWlmKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5fHx0aGlzLm9m
ZnNldFBhcmVudFswXS50YWdOYW1lJiZ0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lLnRvTG93
ZXJDYXNlKCk9PSJodG1sIiYmZC5icm93c2VyLm1zaWUpYT17dG9wOjAsbGVmdDowfTtyZXR1cm57
dG9wOmEudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRo
IiksMTApfHwwKSxsZWZ0OmEubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJi
b3JkZXJMZWZ0V2lkdGgiKSwKKzEwKXx8MCl9fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24o
KXtpZih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRpdmUiKXt2YXIgYT10aGlzLmVsZW1lbnQucG9z
aXRpb24oKTtyZXR1cm57dG9wOmEudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIp
LDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDphLmxlZnQtKHBhcnNl
SW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Ny
b2xsTGVmdCgpfX1lbHNlIHJldHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0
aW9uKCl7dGhpcy5tYXJnaW5zPXtsZWZ0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdp
bkxlZnQiKSwxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblRvcCIp
LDEwKXx8MCxyaWdodDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLDEw
KXx8MCxib3R0b206cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luQm90dG9tIiksCisx
MCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVyUHJv
cG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxw
ZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBhPXRoaXMu
b3B0aW9ucztpZihhLmNvbnRhaW5tZW50PT0icGFyZW50IilhLmNvbnRhaW5tZW50PXRoaXMuaGVs
cGVyWzBdLnBhcmVudE5vZGU7aWYoYS5jb250YWlubWVudD09ImRvY3VtZW50Inx8YS5jb250YWlu
bWVudD09IndpbmRvdyIpdGhpcy5jb250YWlubWVudD1bYS5jb250YWlubWVudD09ImRvY3VtZW50
Ij8wOmQod2luZG93KS5zY3JvbGxMZWZ0KCktdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlz
Lm9mZnNldC5wYXJlbnQubGVmdCxhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6ZCh3aW5kb3cp
LnNjcm9sbFRvcCgpLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQu
dG9wLAorKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/MDpkKHdpbmRvdykuc2Nyb2xsTGVmdCgp
KStkKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/ZG9jdW1lbnQ6d2luZG93KS53aWR0aCgpLXRo
aXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGEuY29udGFpbm1l
bnQ9PSJkb2N1bWVudCI/MDpkKHdpbmRvdykuc2Nyb2xsVG9wKCkpKyhkKGEuY29udGFpbm1lbnQ9
PSJkb2N1bWVudCI/ZG9jdW1lbnQ6d2luZG93KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJl
bnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5t
YXJnaW5zLnRvcF07aWYoIS9eKGRvY3VtZW50fHdpbmRvd3xwYXJlbnQpJC8udGVzdChhLmNvbnRh
aW5tZW50KSYmYS5jb250YWlubWVudC5jb25zdHJ1Y3RvciE9QXJyYXkpe2E9ZChhLmNvbnRhaW5t
ZW50KTt2YXIgYj1hWzBdO2lmKGIpe2Eub2Zmc2V0KCk7dmFyIGM9ZChiKS5jc3MoIm92ZXJmbG93
IikhPQorImhpZGRlbiI7dGhpcy5jb250YWlubWVudD1bKHBhcnNlSW50KGQoYikuY3NzKCJib3Jk
ZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0xlZnQiKSwx
MCl8fDApLChwYXJzZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJz
ZUludChkKGIpLmNzcygicGFkZGluZ1RvcCIpLDEwKXx8MCksKGM/TWF0aC5tYXgoYi5zY3JvbGxX
aWR0aCxiLm9mZnNldFdpZHRoKTpiLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoZChiKS5jc3MoImJv
cmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nUmlnaHQi
KSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQt
dGhpcy5tYXJnaW5zLnJpZ2h0LChjP01hdGgubWF4KGIuc2Nyb2xsSGVpZ2h0LGIub2Zmc2V0SGVp
Z2h0KTpiLm9mZnNldEhlaWdodCktKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJUb3BXaWR0aCIp
LAorMTApfHwwKS0ocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRo
aXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3AtdGhpcy5tYXJnaW5z
LmJvdHRvbV07dGhpcy5yZWxhdGl2ZV9jb250YWluZXI9YX19ZWxzZSBpZihhLmNvbnRhaW5tZW50
LmNvbnN0cnVjdG9yPT1BcnJheSl0aGlzLmNvbnRhaW5tZW50PWEuY29udGFpbm1lbnR9LF9jb252
ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbihhLGIpe2lmKCFiKWI9dGhpcy5wb3NpdGlvbjthPWE9PSJh
YnNvbHV0ZSI/MTotMTt2YXIgYz10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMu
c2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVu
dFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xs
UGFyZW50LGY9LyhodG1sfGJvZHkpL2kudGVzdChjWzBdLnRhZ05hbWUpO3JldHVybnt0b3A6Yi50
b3ArCit0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AqYSt0aGlzLm9mZnNldC5wYXJlbnQudG9wKmEt
KGQuYnJvd3Nlci5zYWZhcmkmJmQuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlv
bj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVu
dC5zY3JvbGxUb3AoKTpmPzA6Yy5zY3JvbGxUb3AoKSkqYSksbGVmdDpiLmxlZnQrdGhpcy5vZmZz
ZXQucmVsYXRpdmUubGVmdCphK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KmEtKGQuYnJvd3Nlci5z
YWZhcmkmJmQuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8w
Oih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0
KCk6Zj8wOmMuc2Nyb2xsTGVmdCgpKSphKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGEp
e3ZhciBiPXRoaXMub3B0aW9ucyxjPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJgorISh0
aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQ
YXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNj
cm9sbFBhcmVudCxmPS8oaHRtbHxib2R5KS9pLnRlc3QoY1swXS50YWdOYW1lKSxlPWEucGFnZVgs
aD1hLnBhZ2VZO2lmKHRoaXMub3JpZ2luYWxQb3NpdGlvbil7dmFyIGc7aWYodGhpcy5jb250YWlu
bWVudCl7aWYodGhpcy5yZWxhdGl2ZV9jb250YWluZXIpe2c9dGhpcy5yZWxhdGl2ZV9jb250YWlu
ZXIub2Zmc2V0KCk7Zz1bdGhpcy5jb250YWlubWVudFswXStnLmxlZnQsdGhpcy5jb250YWlubWVu
dFsxXStnLnRvcCx0aGlzLmNvbnRhaW5tZW50WzJdK2cubGVmdCx0aGlzLmNvbnRhaW5tZW50WzNd
K2cudG9wXX1lbHNlIGc9dGhpcy5jb250YWlubWVudDtpZihhLnBhZ2VYLXRoaXMub2Zmc2V0LmNs
aWNrLmxlZnQ8Z1swXSllPWdbMF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdDsKK2lmKGEucGFnZVkt
dGhpcy5vZmZzZXQuY2xpY2sudG9wPGdbMV0paD1nWzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcDtp
ZihhLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+Z1syXSllPWdbMl0rdGhpcy5vZmZzZXQu
Y2xpY2subGVmdDtpZihhLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5nWzNdKWg9Z1szXSt0
aGlzLm9mZnNldC5jbGljay50b3B9aWYoYi5ncmlkKXtoPWIuZ3JpZFsxXT90aGlzLm9yaWdpbmFs
UGFnZVkrTWF0aC5yb3VuZCgoaC10aGlzLm9yaWdpbmFsUGFnZVkpL2IuZ3JpZFsxXSkqYi5ncmlk
WzFdOnRoaXMub3JpZ2luYWxQYWdlWTtoPWc/IShoLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxnWzFd
fHxoLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5nWzNdKT9oOiEoaC10aGlzLm9mZnNldC5jbGljay50
b3A8Z1sxXSk/aC1iLmdyaWRbMV06aCtiLmdyaWRbMV06aDtlPWIuZ3JpZFswXT90aGlzLm9yaWdp
bmFsUGFnZVgrTWF0aC5yb3VuZCgoZS10aGlzLm9yaWdpbmFsUGFnZVgpLworYi5ncmlkWzBdKSpi
LmdyaWRbMF06dGhpcy5vcmlnaW5hbFBhZ2VYO2U9Zz8hKGUtdGhpcy5vZmZzZXQuY2xpY2subGVm
dDxnWzBdfHxlLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+Z1syXSk/ZTohKGUtdGhpcy5vZmZzZXQu
Y2xpY2subGVmdDxnWzBdKT9lLWIuZ3JpZFswXTplK2IuZ3JpZFswXTplfX1yZXR1cm57dG9wOmgt
dGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNl
dC5wYXJlbnQudG9wKyhkLmJyb3dzZXIuc2FmYXJpJiZkLmJyb3dzZXIudmVyc2lvbjw1MjYmJnRo
aXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpmPzA6Yy5zY3JvbGxUb3AoKSksbGVmdDplLXRoaXMu
b2Zmc2V0LmNsaWNrLmxlZnQtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5w
YXJlbnQubGVmdCsoZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248Cis1MjYmJnRo
aXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6Zj8wOmMuc2Nyb2xsTGVmdCgpKX19LF9jbGVhcjpm
dW5jdGlvbigpe3RoaXMuaGVscGVyLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmci
KTt0aGlzLmhlbHBlclswXSE9dGhpcy5lbGVtZW50WzBdJiYhdGhpcy5jYW5jZWxIZWxwZXJSZW1v
dmFsJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlzLmhlbHBlcj1udWxsO3RoaXMuY2FuY2VsSGVs
cGVyUmVtb3ZhbD1mYWxzZX0sX3RyaWdnZXI6ZnVuY3Rpb24oYSxiLGMpe2M9Y3x8dGhpcy5fdWlI
YXNoKCk7ZC51aS5wbHVnaW4uY2FsbCh0aGlzLGEsW2IsY10pO2lmKGE9PSJkcmFnIil0aGlzLnBv
c2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO3JldHVybiBkLldp
ZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCh0aGlzLGEsYiwKK2MpfSxwbHVnaW5zOnt9LF91
aUhhc2g6ZnVuY3Rpb24oKXtyZXR1cm57aGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMu
cG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OnRo
aXMucG9zaXRpb25BYnN9fX0pO2QuZXh0ZW5kKGQudWkuZHJhZ2dhYmxlLHt2ZXJzaW9uOiIxLjgu
MTUifSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0
YXJ0OmZ1bmN0aW9uKGEsYil7dmFyIGM9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxmPWMub3B0
aW9ucyxlPWQuZXh0ZW5kKHt9LGIse2l0ZW06Yy5lbGVtZW50fSk7Yy5zb3J0YWJsZXM9W107ZChm
LmNvbm5lY3RUb1NvcnRhYmxlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGg9ZC5kYXRhKHRoaXMsInNv
cnRhYmxlIik7aWYoaCYmIWgub3B0aW9ucy5kaXNhYmxlZCl7Yy5zb3J0YWJsZXMucHVzaCh7aW5z
dGFuY2U6aCxzaG91bGRSZXZlcnQ6aC5vcHRpb25zLnJldmVydH0pOworaC5yZWZyZXNoUG9zaXRp
b25zKCk7aC5fdHJpZ2dlcigiYWN0aXZhdGUiLGEsZSl9fSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXt2
YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9ZC5leHRlbmQoe30sYix7aXRlbTpjLmVs
ZW1lbnR9KTtkLmVhY2goYy5zb3J0YWJsZXMsZnVuY3Rpb24oKXtpZih0aGlzLmluc3RhbmNlLmlz
T3Zlcil7dGhpcy5pbnN0YW5jZS5pc092ZXI9MDtjLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0
aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9ZmFsc2U7aWYodGhpcy5zaG91bGRSZXZl
cnQpdGhpcy5pbnN0YW5jZS5vcHRpb25zLnJldmVydD10cnVlO3RoaXMuaW5zdGFuY2UuX21vdXNl
U3RvcChhKTt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9u
cy5faGVscGVyO2Mub3B0aW9ucy5oZWxwZXI9PSJvcmlnaW5hbCImJnRoaXMuaW5zdGFuY2UuY3Vy
cmVudEl0ZW0uY3NzKHt0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSl9ZWxzZXt0aGlzLmluc3RhbmNl
LmNhbmNlbEhlbHBlclJlbW92YWw9CitmYWxzZTt0aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJkZWFj
dGl2YXRlIixhLGYpfX0pfSxkcmFnOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZCh0aGlzKS5kYXRhKCJk
cmFnZ2FibGUiKSxmPXRoaXM7ZC5lYWNoKGMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dGhpcy5pbnN0
YW5jZS5wb3NpdGlvbkFicz1jLnBvc2l0aW9uQWJzO3RoaXMuaW5zdGFuY2UuaGVscGVyUHJvcG9y
dGlvbnM9Yy5oZWxwZXJQcm9wb3J0aW9uczt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljaz1jLm9m
ZnNldC5jbGljaztpZih0aGlzLmluc3RhbmNlLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNl
LmNvbnRhaW5lckNhY2hlKSl7aWYoIXRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNl
LmlzT3Zlcj0xO3RoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW09ZChmKS5jbG9uZSgpLnJlbW92ZUF0
dHIoImlkIikuYXBwZW5kVG8odGhpcy5pbnN0YW5jZS5lbGVtZW50KS5kYXRhKCJzb3J0YWJsZS1p
dGVtIix0cnVlKTsKK3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyPXRoaXMuaW5zdGFuY2Uu
b3B0aW9ucy5oZWxwZXI7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj1mdW5jdGlvbigpe3Jl
dHVybiBiLmhlbHBlclswXX07YS50YXJnZXQ9dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbVswXTt0
aGlzLmluc3RhbmNlLl9tb3VzZUNhcHR1cmUoYSx0cnVlKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0
YXJ0KGEsdHJ1ZSx0cnVlKTt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljay50b3A9Yy5vZmZzZXQu
Y2xpY2sudG9wO3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrLmxlZnQ9Yy5vZmZzZXQuY2xpY2su
bGVmdDt0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdC09Yy5vZmZzZXQucGFyZW50Lmxl
ZnQtdGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LmxlZnQ7dGhpcy5pbnN0YW5jZS5vZmZzZXQu
cGFyZW50LnRvcC09Yy5vZmZzZXQucGFyZW50LnRvcC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJl
bnQudG9wOworYy5fdHJpZ2dlcigidG9Tb3J0YWJsZSIsYSk7Yy5kcm9wcGVkPXRoaXMuaW5zdGFu
Y2UuZWxlbWVudDtjLmN1cnJlbnRJdGVtPWMuZWxlbWVudDt0aGlzLmluc3RhbmNlLmZyb21PdXRz
aWRlPWN9dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbSYmdGhpcy5pbnN0YW5jZS5fbW91c2VEcmFn
KGEpfWVsc2UgaWYodGhpcy5pbnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTA7
dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1vdmFsPXRydWU7dGhpcy5pbnN0YW5jZS5vcHRp
b25zLnJldmVydD1mYWxzZTt0aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJvdXQiLGEsdGhpcy5pbnN0
YW5jZS5fdWlIYXNoKHRoaXMuaW5zdGFuY2UpKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AoYSx0
cnVlKTt0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5f
aGVscGVyO3RoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0ucmVtb3ZlKCk7dGhpcy5pbnN0YW5jZS5w
bGFjZWhvbGRlciYmCit0aGlzLmluc3RhbmNlLnBsYWNlaG9sZGVyLnJlbW92ZSgpO2MuX3RyaWdn
ZXIoImZyb21Tb3J0YWJsZSIsYSk7Yy5kcm9wcGVkPWZhbHNlfX0pfX0pO2QudWkucGx1Z2luLmFk
ZCgiZHJhZ2dhYmxlIiwiY3Vyc29yIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYT1kKCJib2R5Iiks
Yj1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7aWYoYS5jc3MoImN1cnNvciIpKWIu
X2N1cnNvcj1hLmNzcygiY3Vyc29yIik7YS5jc3MoImN1cnNvciIsYi5jdXJzb3IpfSxzdG9wOmZ1
bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2EuX2N1cnNv
ciYmZCgiYm9keSIpLmNzcygiY3Vyc29yIixhLl9jdXJzb3IpfX0pO2QudWkucGx1Z2luLmFkZCgi
ZHJhZ2dhYmxlIiwib3BhY2l0eSIse3N0YXJ0OmZ1bmN0aW9uKGEsYil7YT1kKGIuaGVscGVyKTti
PWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihhLmNzcygib3BhY2l0eSIpKWIu
X29wYWNpdHk9CithLmNzcygib3BhY2l0eSIpO2EuY3NzKCJvcGFjaXR5IixiLm9wYWNpdHkpfSxz
dG9wOmZ1bmN0aW9uKGEsYil7YT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7YS5f
b3BhY2l0eSYmZChiLmhlbHBlcikuY3NzKCJvcGFjaXR5IixhLl9vcGFjaXR5KX19KTtkLnVpLnBs
dWdpbi5hZGQoImRyYWdnYWJsZSIsInNjcm9sbCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0
aGlzKS5kYXRhKCJkcmFnZ2FibGUiKTtpZihhLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEu
c2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIilhLm92ZXJmbG93T2Zmc2V0PWEuc2Nyb2xs
UGFyZW50Lm9mZnNldCgpfSxkcmFnOmZ1bmN0aW9uKGEpe3ZhciBiPWQodGhpcykuZGF0YSgiZHJh
Z2dhYmxlIiksYz1iLm9wdGlvbnMsZj1mYWxzZTtpZihiLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1l
bnQmJmIuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYoIWMuYXhpc3x8Yy5heGlz
IT0KKyJ4IilpZihiLm92ZXJmbG93T2Zmc2V0LnRvcCtiLnNjcm9sbFBhcmVudFswXS5vZmZzZXRI
ZWlnaHQtYS5wYWdlWTxjLnNjcm9sbFNlbnNpdGl2aXR5KWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9s
bFRvcD1mPWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcCtjLnNjcm9sbFNwZWVkO2Vsc2UgaWYo
YS5wYWdlWS1iLm92ZXJmbG93T2Zmc2V0LnRvcDxjLnNjcm9sbFNlbnNpdGl2aXR5KWIuc2Nyb2xs
UGFyZW50WzBdLnNjcm9sbFRvcD1mPWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcC1jLnNjcm9s
bFNwZWVkO2lmKCFjLmF4aXN8fGMuYXhpcyE9InkiKWlmKGIub3ZlcmZsb3dPZmZzZXQubGVmdCti
LnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC1hLnBhZ2VYPGMuc2Nyb2xsU2Vuc2l0aXZpdHkp
Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1mPWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExl
ZnQrYy5zY3JvbGxTcGVlZDtlbHNlIGlmKGEucGFnZVgtYi5vdmVyZmxvd09mZnNldC5sZWZ0PAor
Yy5zY3JvbGxTZW5zaXRpdml0eSliLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWY9Yi5zY3Jv
bGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1jLnNjcm9sbFNwZWVkfWVsc2V7aWYoIWMuYXhpc3x8Yy5h
eGlzIT0ieCIpaWYoYS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKTxjLnNjcm9sbFNlbnNp
dGl2aXR5KWY9ZChkb2N1bWVudCkuc2Nyb2xsVG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLWMu
c2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLmhlaWdodCgpLShhLnBhZ2VZLWQoZG9jdW1l
bnQpLnNjcm9sbFRvcCgpKTxjLnNjcm9sbFNlbnNpdGl2aXR5KWY9ZChkb2N1bWVudCkuc2Nyb2xs
VG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpK2Muc2Nyb2xsU3BlZWQpO2lmKCFjLmF4aXN8fGMu
YXhpcyE9InkiKWlmKGEucGFnZVgtZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpPGMuc2Nyb2xsU2Vu
c2l0aXZpdHkpZj1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQo
KS0KK2Muc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLndpZHRoKCktKGEucGFnZVgtZChk
b2N1bWVudCkuc2Nyb2xsTGVmdCgpKTxjLnNjcm9sbFNlbnNpdGl2aXR5KWY9ZChkb2N1bWVudCku
c2Nyb2xsTGVmdChkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkrYy5zY3JvbGxTcGVlZCl9ZiE9PWZh
bHNlJiZkLnVpLmRkbWFuYWdlciYmIWMuZHJvcEJlaGF2aW91ciYmZC51aS5kZG1hbmFnZXIucHJl
cGFyZU9mZnNldHMoYixhKX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNuYXAiLHtz
dGFydDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksYj1hLm9wdGlv
bnM7YS5zbmFwRWxlbWVudHM9W107ZChiLnNuYXAuY29uc3RydWN0b3IhPVN0cmluZz9iLnNuYXAu
aXRlbXN8fCI6ZGF0YShkcmFnZ2FibGUpIjpiLnNuYXApLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1k
KHRoaXMpLGY9Yy5vZmZzZXQoKTt0aGlzIT1hLmVsZW1lbnRbMF0mJmEuc25hcEVsZW1lbnRzLnB1
c2goe2l0ZW06dGhpcywKK3dpZHRoOmMub3V0ZXJXaWR0aCgpLGhlaWdodDpjLm91dGVySGVpZ2h0
KCksdG9wOmYudG9wLGxlZnQ6Zi5sZWZ0fSl9KX0sZHJhZzpmdW5jdGlvbihhLGIpe2Zvcih2YXIg
Yz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9Yy5vcHRpb25zLGU9Zi5zbmFwVG9sZXJhbmNl
LGg9Yi5vZmZzZXQubGVmdCxnPWgrYy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxuPWIub2Zmc2V0
LnRvcCxvPW4rYy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsaT1jLnNuYXBFbGVtZW50cy5sZW5n
dGgtMTtpPj0wO2ktLSl7dmFyIGo9Yy5zbmFwRWxlbWVudHNbaV0ubGVmdCxsPWorYy5zbmFwRWxl
bWVudHNbaV0ud2lkdGgsaz1jLnNuYXBFbGVtZW50c1tpXS50b3AsbT1rK2Muc25hcEVsZW1lbnRz
W2ldLmhlaWdodDtpZihqLWU8aCYmaDxsK2UmJmstZTxuJiZuPG0rZXx8ai1lPGgmJmg8bCtlJiZr
LWU8byYmbzxtK2V8fGotZTxnJiZnPGwrZSYmay1lPG4mJm48bStlfHxqLWU8ZyYmZzxsK2UmJmst
ZTxvJiYKK288bStlKXtpZihmLnNuYXBNb2RlIT0iaW5uZXIiKXt2YXIgcD1NYXRoLmFicyhrLW8p
PD1lLHE9TWF0aC5hYnMobS1uKTw9ZSxyPU1hdGguYWJzKGotZyk8PWUscz1NYXRoLmFicyhsLWgp
PD1lO2lmKHApYi5wb3NpdGlvbi50b3A9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7
dG9wOmstYy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wLWMubWFyZ2lucy50
b3A7aWYocSliLnBvc2l0aW9uLnRvcD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0
b3A6bSxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtpZihyKWIucG9zaXRpb24ubGVmdD1jLl9j
b252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0OmotYy5oZWxwZXJQcm9wb3J0
aW9ucy53aWR0aH0pLmxlZnQtYy5tYXJnaW5zLmxlZnQ7aWYocyliLnBvc2l0aW9uLmxlZnQ9Yy5f
Y29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsfSkubGVmdC1jLm1hcmdp
bnMubGVmdH12YXIgdD0KK3B8fHF8fHJ8fHM7aWYoZi5zbmFwTW9kZSE9Im91dGVyIil7cD1NYXRo
LmFicyhrLW4pPD1lO3E9TWF0aC5hYnMobS1vKTw9ZTtyPU1hdGguYWJzKGotaCk8PWU7cz1NYXRo
LmFicyhsLWcpPD1lO2lmKHApYi5wb3NpdGlvbi50b3A9Yy5fY29udmVydFBvc2l0aW9uVG8oInJl
bGF0aXZlIix7dG9wOmssbGVmdDowfSkudG9wLWMubWFyZ2lucy50b3A7aWYocSliLnBvc2l0aW9u
LnRvcD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6bS1jLmhlbHBlclByb3Bv
cnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtpZihyKWIucG9zaXRpb24u
bGVmdD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omp9KS5sZWZ0
LWMubWFyZ2lucy5sZWZ0O2lmKHMpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRv
KCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6bC1jLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVm
dC1jLm1hcmdpbnMubGVmdH1pZighYy5zbmFwRWxlbWVudHNbaV0uc25hcHBpbmcmJgorKHB8fHF8
fHJ8fHN8fHQpKWMub3B0aW9ucy5zbmFwLnNuYXAmJmMub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChj
LmVsZW1lbnQsYSxkLmV4dGVuZChjLl91aUhhc2goKSx7c25hcEl0ZW06Yy5zbmFwRWxlbWVudHNb
aV0uaXRlbX0pKTtjLnNuYXBFbGVtZW50c1tpXS5zbmFwcGluZz1wfHxxfHxyfHxzfHx0fWVsc2V7
Yy5zbmFwRWxlbWVudHNbaV0uc25hcHBpbmcmJmMub3B0aW9ucy5zbmFwLnJlbGVhc2UmJmMub3B0
aW9ucy5zbmFwLnJlbGVhc2UuY2FsbChjLmVsZW1lbnQsYSxkLmV4dGVuZChjLl91aUhhc2goKSx7
c25hcEl0ZW06Yy5zbmFwRWxlbWVudHNbaV0uaXRlbX0pKTtjLnNuYXBFbGVtZW50c1tpXS5zbmFw
cGluZz1mYWxzZX19fX0pO2QudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic3RhY2siLHtzdGFy
dDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9uczthPWQu
bWFrZUFycmF5KGQoYS5zdGFjaykpLnNvcnQoZnVuY3Rpb24oYyxmKXtyZXR1cm4ocGFyc2VJbnQo
ZChjKS5jc3MoInpJbmRleCIpLAorMTApfHwwKS0ocGFyc2VJbnQoZChmKS5jc3MoInpJbmRleCIp
LDEwKXx8MCl9KTtpZihhLmxlbmd0aCl7dmFyIGI9cGFyc2VJbnQoYVswXS5zdHlsZS56SW5kZXgp
fHwwO2QoYSkuZWFjaChmdW5jdGlvbihjKXt0aGlzLnN0eWxlLnpJbmRleD1iK2N9KTt0aGlzWzBd
LnN0eWxlLnpJbmRleD1iK2EubGVuZ3RofX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIs
InpJbmRleCIse3N0YXJ0OmZ1bmN0aW9uKGEsYil7YT1kKGIuaGVscGVyKTtiPWQodGhpcykuZGF0
YSgiZHJhZ2dhYmxlIikub3B0aW9ucztpZihhLmNzcygiekluZGV4IikpYi5fekluZGV4PWEuY3Nz
KCJ6SW5kZXgiKTthLmNzcygiekluZGV4IixiLnpJbmRleCl9LHN0b3A6ZnVuY3Rpb24oYSxiKXth
PWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9uczthLl96SW5kZXgmJmQoYi5oZWxwZXIp
LmNzcygiekluZGV4IixhLl96SW5kZXgpfX0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMg
b246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVl
cnkudWkuZHJhZ2dhYmxlLm1pbi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0w
LDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuZHJv
cHBhYmxlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3BwYWJsZS5taW4uanMJKG5vbmV4aXN0
ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Vp
L2pxdWVyeS51aS5kcm9wcGFibGUubWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcg
QEAKKy8qCisgKiBqUXVlcnkgVUkgRHJvcHBhYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAy
MDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGlj
ZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDov
L2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRHJv
cHBhYmxlcworICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5
LnVpLndpZGdldC5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnkudWkuZHJhZ2dh
YmxlLmpzCisgKi8KKyhmdW5jdGlvbihkKXtkLndpZGdldCgidWkuZHJvcHBhYmxlIix7d2lkZ2V0
RXZlbnRQcmVmaXg6ImRyb3AiLG9wdGlvbnM6e2FjY2VwdDoiKiIsYWN0aXZlQ2xhc3M6ZmFsc2Us
YWRkQ2xhc3Nlczp0cnVlLGdyZWVkeTpmYWxzZSxob3ZlckNsYXNzOmZhbHNlLHNjb3BlOiJkZWZh
dWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlz
Lm9wdGlvbnMsYj1hLmFjY2VwdDt0aGlzLmlzb3Zlcj0wO3RoaXMuaXNvdXQ9MTt0aGlzLmFjY2Vw
dD1kLmlzRnVuY3Rpb24oYik/YjpmdW5jdGlvbihjKXtyZXR1cm4gYy5pcyhiKX07dGhpcy5wcm9w
b3J0aW9ucz17d2lkdGg6dGhpcy5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDp0aGlzLmVs
ZW1lbnRbMF0ub2Zmc2V0SGVpZ2h0fTtkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Euc2NvcGVd
PWQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5zY29wZV18fFtdO2QudWkuZGRtYW5hZ2VyLmRy
b3BwYWJsZXNbYS5zY29wZV0ucHVzaCh0aGlzKTsKK2EuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50
LmFkZENsYXNzKCJ1aS1kcm9wcGFibGUiKX0sZGVzdHJveTpmdW5jdGlvbigpe2Zvcih2YXIgYT1k
LnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RoaXMub3B0aW9ucy5zY29wZV0sYj0wO2I8YS5sZW5n
dGg7YisrKWFbYl09PXRoaXMmJmEuc3BsaWNlKGIsMSk7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS1kcm9wcGFibGUgdWktZHJvcHBhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgiZHJvcHBh
YmxlIikudW5iaW5kKCIuZHJvcHBhYmxlIik7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rp
b24oYSxiKXtpZihhPT0iYWNjZXB0Iil0aGlzLmFjY2VwdD1kLmlzRnVuY3Rpb24oYik/YjpmdW5j
dGlvbihjKXtyZXR1cm4gYy5pcyhiKX07ZC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBw
bHkodGhpcyxhcmd1bWVudHMpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5kZG1h
bmFnZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJgordGhpcy5lbGVtZW50LmFk
ZENsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7YiYmdGhpcy5fdHJpZ2dlcigiYWN0aXZh
dGUiLGEsdGhpcy51aShiKSl9LF9kZWFjdGl2YXRlOmZ1bmN0aW9uKGEpe3ZhciBiPWQudWkuZGRt
YW5hZ2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQucmVt
b3ZlQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKTtiJiZ0aGlzLl90cmlnZ2VyKCJkZWFj
dGl2YXRlIixhLHRoaXMudWkoYikpfSxfb3ZlcjpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmRkbWFu
YWdlci5jdXJyZW50O2lmKCEoIWJ8fChiLmN1cnJlbnRJdGVtfHxiLmVsZW1lbnQpWzBdPT10aGlz
LmVsZW1lbnRbMF0pKWlmKHRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGIuY3VycmVu
dEl0ZW18fGIuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQu
YWRkQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpOwordGhpcy5fdHJpZ2dlcigib3ZlciIs
YSx0aGlzLnVpKGIpKX19LF9vdXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5kZG1hbmFnZXIuY3Vy
cmVudDtpZighKCFifHwoYi5jdXJyZW50SXRlbXx8Yi5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50
WzBdKSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxiLmN1cnJlbnRJdGVtfHxi
LmVsZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNs
YXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90cmlnZ2VyKCJvdXQiLGEsdGhpcy51
aShiKSl9fSxfZHJvcDpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGQudWkuZGRtYW5hZ2VyLmN1cnJl
bnQ7aWYoIWN8fChjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0p
cmV0dXJuIGZhbHNlO3ZhciBlPWZhbHNlO3RoaXMuZWxlbWVudC5maW5kKCI6ZGF0YShkcm9wcGFi
bGUpIikubm90KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikuZWFjaChmdW5jdGlvbigpe3ZhciBn
PQorZC5kYXRhKHRoaXMsImRyb3BwYWJsZSIpO2lmKGcub3B0aW9ucy5ncmVlZHkmJiFnLm9wdGlv
bnMuZGlzYWJsZWQmJmcub3B0aW9ucy5zY29wZT09Yy5vcHRpb25zLnNjb3BlJiZnLmFjY2VwdC5j
YWxsKGcuZWxlbWVudFswXSxjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQpJiZkLnVpLmludGVyc2Vj
dChjLGQuZXh0ZW5kKGcse29mZnNldDpnLmVsZW1lbnQub2Zmc2V0KCl9KSxnLm9wdGlvbnMudG9s
ZXJhbmNlKSl7ZT10cnVlO3JldHVybiBmYWxzZX19KTtpZihlKXJldHVybiBmYWxzZTtpZih0aGlz
LmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQpKXt0
aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9w
dGlvbnMuYWN0aXZlQ2xhc3MpO3RoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQu
cmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpO3RoaXMuX3RyaWdnZXIoImRyb3Ai
LAorYSx0aGlzLnVpKGMpKTtyZXR1cm4gdGhpcy5lbGVtZW50fXJldHVybiBmYWxzZX0sdWk6ZnVu
Y3Rpb24oYSl7cmV0dXJue2RyYWdnYWJsZTphLmN1cnJlbnRJdGVtfHxhLmVsZW1lbnQsaGVscGVy
OmEuaGVscGVyLHBvc2l0aW9uOmEucG9zaXRpb24sb2Zmc2V0OmEucG9zaXRpb25BYnN9fX0pO2Qu
ZXh0ZW5kKGQudWkuZHJvcHBhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSk7ZC51aS5pbnRlcnNlY3Q9
ZnVuY3Rpb24oYSxiLGMpe2lmKCFiLm9mZnNldClyZXR1cm4gZmFsc2U7dmFyIGU9KGEucG9zaXRp
b25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQsZz1lK2EuaGVscGVyUHJvcG9ydGlvbnMu
d2lkdGgsZj0oYS5wb3NpdGlvbkFic3x8YS5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wLGg9ZithLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodCxpPWIub2Zmc2V0LmxlZnQsaz1pK2IucHJvcG9ydGlvbnMu
d2lkdGgsaj1iLm9mZnNldC50b3AsbD1qK2IucHJvcG9ydGlvbnMuaGVpZ2h0Oworc3dpdGNoKGMp
e2Nhc2UgImZpdCI6cmV0dXJuIGk8PWUmJmc8PWsmJmo8PWYmJmg8PWw7Y2FzZSAiaW50ZXJzZWN0
IjpyZXR1cm4gaTxlK2EuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmZy1hLmhlbHBlclByb3Bv
cnRpb25zLndpZHRoLzI8ayYmajxmK2EuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzImJmgtYS5o
ZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMjxsO2Nhc2UgInBvaW50ZXIiOnJldHVybiBkLnVpLmlz
T3ZlcigoYS5wb3NpdGlvbkFic3x8YS5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wKyhhLmNsaWNrT2Zm
c2V0fHxhLm9mZnNldC5jbGljaykudG9wLChhLnBvc2l0aW9uQWJzfHxhLnBvc2l0aW9uLmFic29s
dXRlKS5sZWZ0KyhhLmNsaWNrT2Zmc2V0fHxhLm9mZnNldC5jbGljaykubGVmdCxqLGksYi5wcm9w
b3J0aW9ucy5oZWlnaHQsYi5wcm9wb3J0aW9ucy53aWR0aCk7Y2FzZSAidG91Y2giOnJldHVybihm
Pj1qJiZmPD1sfHxoPj1qJiZoPD1sfHxmPGomJmg+bCkmJihlPj0KK2kmJmU8PWt8fGc+PWkmJmc8
PWt8fGU8aSYmZz5rKTtkZWZhdWx0OnJldHVybiBmYWxzZX19O2QudWkuZGRtYW5hZ2VyPXtjdXJy
ZW50Om51bGwsZHJvcHBhYmxlczp7ImRlZmF1bHQiOltdfSxwcmVwYXJlT2Zmc2V0czpmdW5jdGlv
bihhLGIpe3ZhciBjPWQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5vcHRpb25zLnNjb3BlXXx8
W10sZT1iP2IudHlwZTpudWxsLGc9KGEuY3VycmVudEl0ZW18fGEuZWxlbWVudCkuZmluZCgiOmRh
dGEoZHJvcHBhYmxlKSIpLmFuZFNlbGYoKSxmPTA7YTpmb3IoO2Y8Yy5sZW5ndGg7ZisrKWlmKCEo
Y1tmXS5vcHRpb25zLmRpc2FibGVkfHxhJiYhY1tmXS5hY2NlcHQuY2FsbChjW2ZdLmVsZW1lbnRb
MF0sYS5jdXJyZW50SXRlbXx8YS5lbGVtZW50KSkpe2Zvcih2YXIgaD0wO2g8Zy5sZW5ndGg7aCsr
KWlmKGdbaF09PWNbZl0uZWxlbWVudFswXSl7Y1tmXS5wcm9wb3J0aW9ucy5oZWlnaHQ9MDtjb250
aW51ZSBhfWNbZl0udmlzaWJsZT1jW2ZdLmVsZW1lbnQuY3NzKCJkaXNwbGF5IikhPQorIm5vbmUi
O2lmKGNbZl0udmlzaWJsZSl7ZT09Im1vdXNlZG93biImJmNbZl0uX2FjdGl2YXRlLmNhbGwoY1tm
XSxiKTtjW2ZdLm9mZnNldD1jW2ZdLmVsZW1lbnQub2Zmc2V0KCk7Y1tmXS5wcm9wb3J0aW9ucz17
d2lkdGg6Y1tmXS5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDpjW2ZdLmVsZW1lbnRbMF0u
b2Zmc2V0SGVpZ2h0fX19fSxkcm9wOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZmFsc2U7ZC5lYWNoKGQu
dWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtp
Zih0aGlzLm9wdGlvbnMpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYm
ZC51aS5pbnRlcnNlY3QoYSx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpKWM9Y3x8dGhpcy5f
ZHJvcC5jYWxsKHRoaXMsYik7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxl
JiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxhLmN1cnJlbnRJdGVtfHwKK2EuZWxl
bWVudCkpe3RoaXMuaXNvdXQ9MTt0aGlzLmlzb3Zlcj0wO3RoaXMuX2RlYWN0aXZhdGUuY2FsbCh0
aGlzLGIpfX19KTtyZXR1cm4gY30sZHJhZ1N0YXJ0OmZ1bmN0aW9uKGEsYil7YS5lbGVtZW50LnBh
cmVudHNVbnRpbCgiYm9keSIpLmJpbmQoInNjcm9sbC5kcm9wcGFibGUiLGZ1bmN0aW9uKCl7YS5v
cHRpb25zLnJlZnJlc2hQb3NpdGlvbnN8fGQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGEs
Yil9KX0sZHJhZzpmdW5jdGlvbihhLGIpe2Eub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zJiZkLnVp
LmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhhLGIpO2QuZWFjaChkLnVpLmRkbWFuYWdlci5kcm9w
cGFibGVzW2Eub3B0aW9ucy5zY29wZV18fFtdLGZ1bmN0aW9uKCl7aWYoISh0aGlzLm9wdGlvbnMu
ZGlzYWJsZWR8fHRoaXMuZ3JlZWR5Q2hpbGR8fCF0aGlzLnZpc2libGUpKXt2YXIgYz1kLnVpLmlu
dGVyc2VjdChhLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSk7aWYoYz0KKyFjJiZ0aGlzLmlz
b3Zlcj09MT8iaXNvdXQiOmMmJnRoaXMuaXNvdmVyPT0wPyJpc292ZXIiOm51bGwpe3ZhciBlO2lm
KHRoaXMub3B0aW9ucy5ncmVlZHkpe3ZhciBnPXRoaXMuZWxlbWVudC5wYXJlbnRzKCI6ZGF0YShk
cm9wcGFibGUpOmVxKDApIik7aWYoZy5sZW5ndGgpe2U9ZC5kYXRhKGdbMF0sImRyb3BwYWJsZSIp
O2UuZ3JlZWR5Q2hpbGQ9Yz09Imlzb3ZlciI/MTowfX1pZihlJiZjPT0iaXNvdmVyIil7ZS5pc292
ZXI9MDtlLmlzb3V0PTE7ZS5fb3V0LmNhbGwoZSxiKX10aGlzW2NdPTE7dGhpc1tjPT0iaXNvdXQi
PyJpc292ZXIiOiJpc291dCJdPTA7dGhpc1tjPT0iaXNvdmVyIj8iX292ZXIiOiJfb3V0Il0uY2Fs
bCh0aGlzLGIpO2lmKGUmJmM9PSJpc291dCIpe2UuaXNvdXQ9MDtlLmlzb3Zlcj0xO2UuX292ZXIu
Y2FsbChlLGIpfX19fSl9LGRyYWdTdG9wOmZ1bmN0aW9uKGEsYil7YS5lbGVtZW50LnBhcmVudHNV
bnRpbCgiYm9keSIpLnVuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIpOworYS5vcHRpb25zLnJlZnJl
c2hQb3NpdGlvbnN8fGQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGEsYil9fX0pKGpRdWVy
eSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9q
cXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLmRyb3BwYWJsZS5taW4uanMKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8x
LjguMTUvdWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLm1vdXNlLm1p
bi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLm1vdXNlLm1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE3IEBACisvKiEKKyAqIGpRdWVyeSBVSSBNb3VzZSAxLjguMTUKKyAqCisgKiBDb3B5
cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBE
dWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAq
IGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29t
L1VJL01vdXNlCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS53aWRnZXQuanMKKyAqLwor
KGZ1bmN0aW9uKGIpe2Iud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlvbnM6e2NhbmNlbDoiOmlucHV0
LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9uKCl7dmFyIGE9
dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0
aW9uKGMpe3JldHVybiBhLl9tb3VzZURvd24oYyl9KS5iaW5kKCJjbGljay4iK3RoaXMud2lkZ2V0
TmFtZSxmdW5jdGlvbihjKXtpZih0cnVlPT09Yi5kYXRhKGMudGFyZ2V0LGEud2lkZ2V0TmFtZSsi
LnByZXZlbnRDbGlja0V2ZW50Iikpe2IucmVtb3ZlRGF0YShjLnRhcmdldCxhLndpZGdldE5hbWUr
Ii5wcmV2ZW50Q2xpY2tFdmVudCIpO2Muc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7cmV0dXJu
IGZhbHNlfX0pO3RoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3Ro
aXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSl9LF9tb3VzZURvd246ZnVuY3Rp
b24oYSl7YS5vcmlnaW5hbEV2ZW50PQorYS5vcmlnaW5hbEV2ZW50fHx7fTtpZighYS5vcmlnaW5h
bEV2ZW50Lm1vdXNlSGFuZGxlZCl7dGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKGEp
O3RoaXMuX21vdXNlRG93bkV2ZW50PWE7dmFyIGM9dGhpcyxlPWEud2hpY2g9PTEsZj10eXBlb2Yg
dGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YihhLnRhcmdldCkuY2xvc2VzdCh0aGlzLm9w
dGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWV8fGZ8fCF0aGlzLl9tb3VzZUNhcHR1cmUo
YSkpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXk7aWYo
IXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0VGltZW91dChmdW5j
dGlvbigpe2MubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVsYXkpO2lmKHRoaXMu
X21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkpe3RoaXMuX21vdXNl
U3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGEpIT09CitmYWxzZTtpZighdGhpcy5fbW91c2VTdGFy
dGVkKXthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRydWU9PT1iLmRhdGEoYS50YXJn
ZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSYmYi5yZW1vdmVEYXRhKGEu
dGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iik7dGhpcy5fbW91c2VN
b3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZCl7cmV0dXJuIGMuX21vdXNlTW92ZShkKX07dGhpcy5fbW91
c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGQpe3JldHVybiBjLl9tb3VzZVVwKGQpfTtiKGRvY3VtZW50
KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdh
dGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRl
KTthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGEub3JpZ2luYWxFdmVudC5tb3VzZUhhbmRsZWQ9
dHJ1ZX19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oYSl7aWYoYi5icm93c2VyLm1zaWUmJgorIShkb2N1
bWVudC5kb2N1bWVudE1vZGU+PTkpJiYhYS5idXR0b24pcmV0dXJuIHRoaXMuX21vdXNlVXAoYSk7
aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZURyYWcoYSk7cmV0dXJuIGEucHJldmVu
dERlZmF1bHQoKX1pZih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGEpJiZ0aGlzLl9tb3VzZURlbGF5
TWV0KGEpKSh0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydCh0aGlzLl9tb3VzZURv
d25FdmVudCxhKSE9PWZhbHNlKT90aGlzLl9tb3VzZURyYWcoYSk6dGhpcy5fbW91c2VVcChhKTty
ZXR1cm4hdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5jdGlvbihhKXtiKGRvY3VtZW50
KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxl
Z2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxl
Z2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9CitmYWxzZTth
LnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZiLmRhdGEoYS50YXJnZXQsdGhp
cy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUpO3RoaXMuX21vdXNlU3RvcChh
KX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGEpe3JldHVybiBNYXRo
Lm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1hLnBhZ2VYKSxNYXRoLmFi
cyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1hLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0
YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0
fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNl
U3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiB0cnVlfX0p
fSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWph
eC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkubW91c2UubWluLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wb3NpdGlvbi5taW4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5w
b3NpdGlvbi5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wb3NpdGlvbi5taW4uanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxNiBAQAorLyoKKyAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjgu
MTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5j
b20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24g
MiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRwOi8v
ZG9jcy5qcXVlcnkuY29tL1VJL1Bvc2l0aW9uCisgKi8KKyhmdW5jdGlvbihjKXtjLnVpPWMudWl8
fHt9O3ZhciBuPS9sZWZ0fGNlbnRlcnxyaWdodC8sbz0vdG9wfGNlbnRlcnxib3R0b20vLHQ9Yy5m
bi5wb3NpdGlvbix1PWMuZm4ub2Zmc2V0O2MuZm4ucG9zaXRpb249ZnVuY3Rpb24oYil7aWYoIWJ8
fCFiLm9mKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtiPWMuZXh0ZW5kKHt9LGIpO3Zh
ciBhPWMoYi5vZiksZD1hWzBdLGc9KGIuY29sbGlzaW9ufHwiZmxpcCIpLnNwbGl0KCIgIiksZT1i
Lm9mZnNldD9iLm9mZnNldC5zcGxpdCgiICIpOlswLDBdLGgsayxqO2lmKGQubm9kZVR5cGU9PT05
KXtoPWEud2lkdGgoKTtrPWEuaGVpZ2h0KCk7aj17dG9wOjAsbGVmdDowfX1lbHNlIGlmKGQuc2V0
VGltZW91dCl7aD1hLndpZHRoKCk7az1hLmhlaWdodCgpO2o9e3RvcDphLnNjcm9sbFRvcCgpLGxl
ZnQ6YS5zY3JvbGxMZWZ0KCl9fWVsc2UgaWYoZC5wcmV2ZW50RGVmYXVsdCl7Yi5hdD0ibGVmdCB0
b3AiO2g9az0wO2o9e3RvcDpiLm9mLnBhZ2VZLAorbGVmdDpiLm9mLnBhZ2VYfX1lbHNle2g9YS5v
dXRlcldpZHRoKCk7az1hLm91dGVySGVpZ2h0KCk7aj1hLm9mZnNldCgpfWMuZWFjaChbIm15Iiwi
YXQiXSxmdW5jdGlvbigpe3ZhciBmPShiW3RoaXNdfHwiIikuc3BsaXQoIiAiKTtpZihmLmxlbmd0
aD09PTEpZj1uLnRlc3QoZlswXSk/Zi5jb25jYXQoWyJjZW50ZXIiXSk6by50ZXN0KGZbMF0pP1si
Y2VudGVyIl0uY29uY2F0KGYpOlsiY2VudGVyIiwiY2VudGVyIl07ZlswXT1uLnRlc3QoZlswXSk/
ZlswXToiY2VudGVyIjtmWzFdPW8udGVzdChmWzFdKT9mWzFdOiJjZW50ZXIiO2JbdGhpc109Zn0p
O2lmKGcubGVuZ3RoPT09MSlnWzFdPWdbMF07ZVswXT1wYXJzZUludChlWzBdLDEwKXx8MDtpZihl
Lmxlbmd0aD09PTEpZVsxXT1lWzBdO2VbMV09cGFyc2VJbnQoZVsxXSwxMCl8fDA7aWYoYi5hdFsw
XT09PSJyaWdodCIpai5sZWZ0Kz1oO2Vsc2UgaWYoYi5hdFswXT09PSJjZW50ZXIiKWoubGVmdCs9
aC8yO2lmKGIuYXRbMV09PT0iYm90dG9tIilqLnRvcCs9CitrO2Vsc2UgaWYoYi5hdFsxXT09PSJj
ZW50ZXIiKWoudG9wKz1rLzI7ai5sZWZ0Kz1lWzBdO2oudG9wKz1lWzFdO3JldHVybiB0aGlzLmVh
Y2goZnVuY3Rpb24oKXt2YXIgZj1jKHRoaXMpLGw9Zi5vdXRlcldpZHRoKCksbT1mLm91dGVySGVp
Z2h0KCkscD1wYXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5MZWZ0Iix0cnVlKSl8fDAscT1w
YXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5Ub3AiLHRydWUpKXx8MCx2PWwrcCsocGFyc2VJ
bnQoYy5jdXJDU1ModGhpcywibWFyZ2luUmlnaHQiLHRydWUpKXx8MCksdz1tK3ErKHBhcnNlSW50
KGMuY3VyQ1NTKHRoaXMsIm1hcmdpbkJvdHRvbSIsdHJ1ZSkpfHwwKSxpPWMuZXh0ZW5kKHt9LGop
LHI7aWYoYi5teVswXT09PSJyaWdodCIpaS5sZWZ0LT1sO2Vsc2UgaWYoYi5teVswXT09PSJjZW50
ZXIiKWkubGVmdC09bC8yO2lmKGIubXlbMV09PT0iYm90dG9tIilpLnRvcC09bTtlbHNlIGlmKGIu
bXlbMV09PT0iY2VudGVyIilpLnRvcC09CittLzI7aS5sZWZ0PU1hdGgucm91bmQoaS5sZWZ0KTtp
LnRvcD1NYXRoLnJvdW5kKGkudG9wKTtyPXtsZWZ0OmkubGVmdC1wLHRvcDppLnRvcC1xfTtjLmVh
Y2goWyJsZWZ0IiwidG9wIl0sZnVuY3Rpb24ocyx4KXtjLnVpLnBvc2l0aW9uW2dbc11dJiZjLnVp
LnBvc2l0aW9uW2dbc11dW3hdKGkse3RhcmdldFdpZHRoOmgsdGFyZ2V0SGVpZ2h0OmssZWxlbVdp
ZHRoOmwsZWxlbUhlaWdodDptLGNvbGxpc2lvblBvc2l0aW9uOnIsY29sbGlzaW9uV2lkdGg6dixj
b2xsaXNpb25IZWlnaHQ6dyxvZmZzZXQ6ZSxteTpiLm15LGF0OmIuYXR9KX0pO2MuZm4uYmdpZnJh
bWUmJmYuYmdpZnJhbWUoKTtmLm9mZnNldChjLmV4dGVuZChpLHt1c2luZzpiLnVzaW5nfSkpfSl9
O2MudWkucG9zaXRpb249e2ZpdDp7bGVmdDpmdW5jdGlvbihiLGEpe3ZhciBkPWMod2luZG93KTtk
PWEuY29sbGlzaW9uUG9zaXRpb24ubGVmdCthLmNvbGxpc2lvbldpZHRoLWQud2lkdGgoKS1kLnNj
cm9sbExlZnQoKTtiLmxlZnQ9CitkPjA/Yi5sZWZ0LWQ6TWF0aC5tYXgoYi5sZWZ0LWEuY29sbGlz
aW9uUG9zaXRpb24ubGVmdCxiLmxlZnQpfSx0b3A6ZnVuY3Rpb24oYixhKXt2YXIgZD1jKHdpbmRv
dyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCthLmNvbGxpc2lvbkhlaWdodC1kLmhlaWdodCgp
LWQuc2Nyb2xsVG9wKCk7Yi50b3A9ZD4wP2IudG9wLWQ6TWF0aC5tYXgoYi50b3AtYS5jb2xsaXNp
b25Qb3NpdGlvbi50b3AsYi50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbihiLGEpe2lmKGEuYXRb
MF0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0
K2EuY29sbGlzaW9uV2lkdGgtZC53aWR0aCgpLWQuc2Nyb2xsTGVmdCgpO3ZhciBnPWEubXlbMF09
PT0ibGVmdCI/LWEuZWxlbVdpZHRoOmEubXlbMF09PT0icmlnaHQiP2EuZWxlbVdpZHRoOjAsZT1h
LmF0WzBdPT09ImxlZnQiP2EudGFyZ2V0V2lkdGg6LWEudGFyZ2V0V2lkdGgsaD0tMiphLm9mZnNl
dFswXTtiLmxlZnQrPQorYS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0PDA/ZytlK2g6ZD4wP2crZSto
OjB9fSx0b3A6ZnVuY3Rpb24oYixhKXtpZihhLmF0WzFdIT09ImNlbnRlciIpe3ZhciBkPWMod2lu
ZG93KTtkPWEuY29sbGlzaW9uUG9zaXRpb24udG9wK2EuY29sbGlzaW9uSGVpZ2h0LWQuaGVpZ2h0
KCktZC5zY3JvbGxUb3AoKTt2YXIgZz1hLm15WzFdPT09InRvcCI/LWEuZWxlbUhlaWdodDphLm15
WzFdPT09ImJvdHRvbSI/YS5lbGVtSGVpZ2h0OjAsZT1hLmF0WzFdPT09InRvcCI/YS50YXJnZXRI
ZWlnaHQ6LWEudGFyZ2V0SGVpZ2h0LGg9LTIqYS5vZmZzZXRbMV07Yi50b3ArPWEuY29sbGlzaW9u
UG9zaXRpb24udG9wPDA/ZytlK2g6ZD4wP2crZStoOjB9fX19O2lmKCFjLm9mZnNldC5zZXRPZmZz
ZXQpe2Mub2Zmc2V0LnNldE9mZnNldD1mdW5jdGlvbihiLGEpe2lmKC9zdGF0aWMvLnRlc3QoYy5j
dXJDU1MoYiwicG9zaXRpb24iKSkpYi5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3ZhciBkPWMo
YiksCitnPWQub2Zmc2V0KCksZT1wYXJzZUludChjLmN1ckNTUyhiLCJ0b3AiLHRydWUpLDEwKXx8
MCxoPXBhcnNlSW50KGMuY3VyQ1NTKGIsImxlZnQiLHRydWUpLDEwKXx8MDtnPXt0b3A6YS50b3At
Zy50b3ArZSxsZWZ0OmEubGVmdC1nLmxlZnQraH07InVzaW5nImluIGE/YS51c2luZy5jYWxsKGIs
Zyk6ZC5jc3MoZyl9O2MuZm4ub2Zmc2V0PWZ1bmN0aW9uKGIpe3ZhciBhPXRoaXNbMF07aWYoIWF8
fCFhLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYilyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0
aW9uKCl7Yy5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYil9KTtyZXR1cm4gdS5jYWxsKHRoaXMpfX19
KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5wb3NpdGlvbi5taW4uanMKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVl
cnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5
LnVpLnByb2dyZXNzYmFyLm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQu
b3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1p
bi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACisvKgorICogalF1ZXJ5IFVJIFBy
b2dyZXNzYmFyIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0
cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBv
ciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQor
ICoKKyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUHJvZ3Jlc3NiYXIKKyAqCisgKiBEZXBl
bmRzOgorICogICBqcXVlcnkudWkuY29yZS5qcworICogICBqcXVlcnkudWkud2lkZ2V0LmpzCisg
Ki8KKyhmdW5jdGlvbihiLGQpe2Iud2lkZ2V0KCJ1aS5wcm9ncmVzc2JhciIse29wdGlvbnM6e3Zh
bHVlOjAsbWF4OjEwMH0sbWluOjAsX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRD
bGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5l
ci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVtaW4iOnRoaXMubWlu
LCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMubWF4LCJhcmlhLXZhbHVlbm93Ijp0aGlzLl92
YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1iKCI8ZGl2IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1
ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlz
LmVsZW1lbnQpO3RoaXMub2xkVmFsdWU9dGhpcy5fdmFsdWUoKTt0aGlzLl9yZWZyZXNoVmFsdWUo
KX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktcHJvZ3Jl
c3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVB
dHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEt
dmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93Iik7Cit0aGlzLnZhbHVlRGl2LnJl
bW92ZSgpO2IuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0s
dmFsdWU6ZnVuY3Rpb24oYSl7aWYoYT09PWQpcmV0dXJuIHRoaXMuX3ZhbHVlKCk7dGhpcy5fc2V0
T3B0aW9uKCJ2YWx1ZSIsYSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxjKXtp
ZihhPT09InZhbHVlIil7dGhpcy5vcHRpb25zLnZhbHVlPWM7dGhpcy5fcmVmcmVzaFZhbHVlKCk7
dGhpcy5fdmFsdWUoKT09PXRoaXMub3B0aW9ucy5tYXgmJnRoaXMuX3RyaWdnZXIoImNvbXBsZXRl
Iil9Yi5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxf
dmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMudmFsdWU7aWYodHlwZW9mIGEhPT0i
bnVtYmVyIilhPTA7cmV0dXJuIE1hdGgubWluKHRoaXMub3B0aW9ucy5tYXgsTWF0aC5tYXgodGhp
cy5taW4sYSkpfSxfcGVyY2VudGFnZTpmdW5jdGlvbigpe3JldHVybiAxMDAqCit0aGlzLl92YWx1
ZSgpL3RoaXMub3B0aW9ucy5tYXh9LF9yZWZyZXNoVmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlz
LnZhbHVlKCksYz10aGlzLl9wZXJjZW50YWdlKCk7aWYodGhpcy5vbGRWYWx1ZSE9PWEpe3RoaXMu
b2xkVmFsdWU9YTt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiKX10aGlzLnZhbHVlRGl2LnRvZ2dsZShh
PnRoaXMubWluKS50b2dnbGVDbGFzcygidWktY29ybmVyLXJpZ2h0IixhPT09dGhpcy5vcHRpb25z
Lm1heCkud2lkdGgoYy50b0ZpeGVkKDApKyIlIik7dGhpcy5lbGVtZW50LmF0dHIoImFyaWEtdmFs
dWVub3ciLGEpfX0pO2IuZXh0ZW5kKGIudWkucHJvZ3Jlc3NiYXIse3ZlcnNpb246IjEuOC4xNSJ9
KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnByb2dyZXNzYmFyLm1pbi5qcwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJz
L2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkucmVzaXphYmxlLm1pbi5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1
ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5yZXNpemFibGUubWlu
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBqUXVlcnkgVUkgUmVz
aXphYmxlIDEuOC4xNQorICoKKyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDov
L2pxdWVyeXVpLmNvbS9hYm91dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBH
UEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoK
KyAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUmVzaXphYmxlcworICoKKyAqIERlcGVuZHM6
CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnku
dWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihlKXtlLndpZGdldCgidWkucmVzaXphYmxlIixl
LnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXpl
OmZhbHNlLGFuaW1hdGU6ZmFsc2UsYW5pbWF0ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5n
OiJzd2luZyIsYXNwZWN0UmF0aW86ZmFsc2UsYXV0b0hpZGU6ZmFsc2UsY29udGFpbm1lbnQ6ZmFs
c2UsZ2hvc3Q6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGVzOiJlLHMsc2UiLGhlbHBlcjpmYWxzZSxt
YXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxMCxtaW5XaWR0aDoxMCx6SW5k
ZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxhPXRoaXMub3B0aW9uczt0aGlz
LmVsZW1lbnQuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZSIpO2UuZXh0ZW5kKHRoaXMse19hc3BlY3RS
YXRpbzohIWEuYXNwZWN0UmF0aW8sYXNwZWN0UmF0aW86YS5hc3BlY3RSYXRpbyxvcmlnaW5hbEVs
ZW1lbnQ6dGhpcy5lbGVtZW50LAorX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHM6W10sX2hl
bHBlcjphLmhlbHBlcnx8YS5naG9zdHx8YS5hbmltYXRlP2EuaGVscGVyfHwidWktcmVzaXphYmxl
LWhlbHBlciI6bnVsbH0pO2lmKHRoaXMuZWxlbWVudFswXS5ub2RlTmFtZS5tYXRjaCgvY2FudmFz
fHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0b258aW1nL2kpKXsvcmVsYXRpdmUvLnRlc3QodGhp
cy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkmJmUuYnJvd3Nlci5vcGVyYSYmdGhpcy5lbGVtZW50
LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSk7dGhpcy5l
bGVtZW50LndyYXAoZSgnPGRpdiBjbGFzcz0idWktd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OiBo
aWRkZW47Ij48L2Rpdj4nKS5jc3Moe3Bvc2l0aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9u
Iiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91
dGVySGVpZ2h0KCksCit0b3A6dGhpcy5lbGVtZW50LmNzcygidG9wIiksbGVmdDp0aGlzLmVsZW1l
bnQuY3NzKCJsZWZ0Iil9KSk7dGhpcy5lbGVtZW50PXRoaXMuZWxlbWVudC5wYXJlbnQoKS5kYXRh
KCJyZXNpemFibGUiLHRoaXMuZWxlbWVudC5kYXRhKCJyZXNpemFibGUiKSk7dGhpcy5lbGVtZW50
SXNXcmFwcGVyPXRydWU7dGhpcy5lbGVtZW50LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFs
RWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQu
Y3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdodDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1h
cmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2lu
Qm90dG9tIil9KTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5U
b3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJvdHRvbTowfSk7dGhpcy5vcmlnaW5hbFJlc2l6ZVN0
eWxlPQordGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiKTt0aGlzLm9yaWdpbmFsRWxl
bWVudC5jc3MoInJlc2l6ZSIsIm5vbmUiKTt0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1l
bnRzLnB1c2godGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjoic3RhdGljIix6b29t
OjEsZGlzcGxheToiYmxvY2sifSkpO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7bWFyZ2luOnRo
aXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luIil9KTt0aGlzLl9wcm9wb3J0aW9uYWxseVJl
c2l6ZSgpfXRoaXMuaGFuZGxlcz1hLmhhbmRsZXN8fCghZSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUi
LHRoaXMuZWxlbWVudCkubGVuZ3RoPyJlLHMsc2UiOntuOiIudWktcmVzaXphYmxlLW4iLGU6Ii51
aS1yZXNpemFibGUtZSIsczoiLnVpLXJlc2l6YWJsZS1zIix3OiIudWktcmVzaXphYmxlLXciLHNl
OiIudWktcmVzaXphYmxlLXNlIixzdzoiLnVpLXJlc2l6YWJsZS1zdyIsbmU6Ii51aS1yZXNpemFi
bGUtbmUiLAorbnc6Ii51aS1yZXNpemFibGUtbncifSk7aWYodGhpcy5oYW5kbGVzLmNvbnN0cnVj
dG9yPT1TdHJpbmcpe2lmKHRoaXMuaGFuZGxlcz09ImFsbCIpdGhpcy5oYW5kbGVzPSJuLGUscyx3
LHNlLHN3LG5lLG53Ijt2YXIgYz10aGlzLmhhbmRsZXMuc3BsaXQoIiwiKTt0aGlzLmhhbmRsZXM9
e307Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWUudHJpbShjW2RdKSxnPWUoJzxk
aXYgY2xhc3M9InVpLXJlc2l6YWJsZS1oYW5kbGUgJysoInVpLXJlc2l6YWJsZS0iK2YpKyciPjwv
ZGl2PicpOy9zd3xzZXxuZXxudy8udGVzdChmKSYmZy5jc3Moe3pJbmRleDorK2EuekluZGV4fSk7
InNlIj09ZiYmZy5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1z
ZSIpO3RoaXMuaGFuZGxlc1tmXT0iLnVpLXJlc2l6YWJsZS0iK2Y7dGhpcy5lbGVtZW50LmFwcGVu
ZChnKX19dGhpcy5fcmVuZGVyQXhpcz1mdW5jdGlvbihoKXtoPWh8fHRoaXMuZWxlbWVudDtmb3Io
dmFyIGkgaW4gdGhpcy5oYW5kbGVzKXtpZih0aGlzLmhhbmRsZXNbaV0uY29uc3RydWN0b3I9PQor
U3RyaW5nKXRoaXMuaGFuZGxlc1tpXT1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLnNo
b3coKTtpZih0aGlzLmVsZW1lbnRJc1dyYXBwZXImJnRoaXMub3JpZ2luYWxFbGVtZW50WzBdLm5v
ZGVOYW1lLm1hdGNoKC90ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9uL2kpKXt2YXIgaj1lKHRo
aXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLGw9MDtsPS9zd3xuZXxud3xzZXxufHMvLnRlc3Qo
aSk/ai5vdXRlckhlaWdodCgpOmoub3V0ZXJXaWR0aCgpO2o9WyJwYWRkaW5nIiwvbmV8bnd8bi8u
dGVzdChpKT8iVG9wIjovc2V8c3d8cy8udGVzdChpKT8iQm90dG9tIjovXmUkLy50ZXN0KGkpPyJS
aWdodCI6IkxlZnQiXS5qb2luKCIiKTtoLmNzcyhqLGwpO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVz
aXplKCl9ZSh0aGlzLmhhbmRsZXNbaV0pfX07dGhpcy5fcmVuZGVyQXhpcyh0aGlzLmVsZW1lbnQp
O3RoaXMuX2hhbmRsZXM9ZSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkuZGlz
YWJsZVNlbGVjdGlvbigpOwordGhpcy5faGFuZGxlcy5tb3VzZW92ZXIoZnVuY3Rpb24oKXtpZigh
Yi5yZXNpemluZyl7aWYodGhpcy5jbGFzc05hbWUpdmFyIGg9dGhpcy5jbGFzc05hbWUubWF0Y2go
L3VpLXJlc2l6YWJsZS0oc2V8c3d8bmV8bnd8bnxlfHN8dykvaSk7Yi5heGlzPWgmJmhbMV0/aFsx
XToic2UifX0pO2lmKGEuYXV0b0hpZGUpe3RoaXMuX2hhbmRsZXMuaGlkZSgpO2UodGhpcy5lbGVt
ZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikuaG92ZXIoZnVuY3Rpb24oKXtp
ZighYS5kaXNhYmxlZCl7ZSh0aGlzKS5yZW1vdmVDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRl
Iik7Yi5faGFuZGxlcy5zaG93KCl9fSxmdW5jdGlvbigpe2lmKCFhLmRpc2FibGVkKWlmKCFiLnJl
c2l6aW5nKXtlKHRoaXMpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKTtiLl9oYW5k
bGVzLmhpZGUoKX19KX10aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMu
X21vdXNlRGVzdHJveSgpOwordmFyIGI9ZnVuY3Rpb24oYyl7ZShjKS5yZW1vdmVDbGFzcygidWkt
cmVzaXphYmxlIHVpLXJlc2l6YWJsZS1kaXNhYmxlZCB1aS1yZXNpemFibGUtcmVzaXppbmciKS5y
ZW1vdmVEYXRhKCJyZXNpemFibGUiKS51bmJpbmQoIi5yZXNpemFibGUiKS5maW5kKCIudWktcmVz
aXphYmxlLWhhbmRsZSIpLnJlbW92ZSgpfTtpZih0aGlzLmVsZW1lbnRJc1dyYXBwZXIpe2IodGhp
cy5lbGVtZW50KTt2YXIgYT10aGlzLmVsZW1lbnQ7YS5hZnRlcih0aGlzLm9yaWdpbmFsRWxlbWVu
dC5jc3Moe3Bvc2l0aW9uOmEuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOmEub3V0ZXJXaWR0aCgpLGhl
aWdodDphLm91dGVySGVpZ2h0KCksdG9wOmEuY3NzKCJ0b3AiKSxsZWZ0OmEuY3NzKCJsZWZ0Iil9
KSkucmVtb3ZlKCl9dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLHRoaXMub3JpZ2lu
YWxSZXNpemVTdHlsZSk7Yih0aGlzLm9yaWdpbmFsRWxlbWVudCk7cmV0dXJuIHRoaXN9LF9tb3Vz
ZUNhcHR1cmU6ZnVuY3Rpb24oYil7dmFyIGE9CitmYWxzZTtmb3IodmFyIGMgaW4gdGhpcy5oYW5k
bGVzKWlmKGUodGhpcy5oYW5kbGVzW2NdKVswXT09Yi50YXJnZXQpYT10cnVlO3JldHVybiF0aGlz
Lm9wdGlvbnMuZGlzYWJsZWQmJmF9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGIpe3ZhciBhPXRoaXMu
b3B0aW9ucyxjPXRoaXMuZWxlbWVudC5wb3NpdGlvbigpLGQ9dGhpcy5lbGVtZW50O3RoaXMucmVz
aXppbmc9dHJ1ZTt0aGlzLmRvY3VtZW50U2Nyb2xsPXt0b3A6ZShkb2N1bWVudCkuc2Nyb2xsVG9w
KCksbGVmdDplKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCl9O2lmKGQuaXMoIi51aS1kcmFnZ2FibGUi
KXx8L2Fic29sdXRlLy50ZXN0KGQuY3NzKCJwb3NpdGlvbiIpKSlkLmNzcyh7cG9zaXRpb246ImFi
c29sdXRlIix0b3A6Yy50b3AsbGVmdDpjLmxlZnR9KTtlLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2
ZS8udGVzdChkLmNzcygicG9zaXRpb24iKSkmJmQuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRv
cDoiYXV0byIsbGVmdDoiYXV0byJ9KTsKK3RoaXMuX3JlbmRlclByb3h5KCk7Yz1tKHRoaXMuaGVs
cGVyLmNzcygibGVmdCIpKTt2YXIgZj1tKHRoaXMuaGVscGVyLmNzcygidG9wIikpO2lmKGEuY29u
dGFpbm1lbnQpe2MrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpfHwwO2YrPWUoYS5jb250
YWlubWVudCkuc2Nyb2xsVG9wKCl8fDB9dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7
dGhpcy5wb3NpdGlvbj17bGVmdDpjLHRvcDpmfTt0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0
aDpkLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZC5vdXRlckhlaWdodCgpfTp7d2lkdGg6ZC53aWR0aCgp
LGhlaWdodDpkLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsU2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRo
OmQub3V0ZXJXaWR0aCgpLGhlaWdodDpkLm91dGVySGVpZ2h0KCl9Ont3aWR0aDpkLndpZHRoKCks
aGVpZ2h0OmQuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxQb3NpdGlvbj17bGVmdDpjLHRvcDpmfTt0
aGlzLnNpemVEaWZmPQore3dpZHRoOmQub3V0ZXJXaWR0aCgpLWQud2lkdGgoKSxoZWlnaHQ6ZC5v
dXRlckhlaWdodCgpLWQuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uPXtsZWZ0
OmIucGFnZVgsdG9wOmIucGFnZVl9O3RoaXMuYXNwZWN0UmF0aW89dHlwZW9mIGEuYXNwZWN0UmF0
aW89PSJudW1iZXIiP2EuYXNwZWN0UmF0aW86dGhpcy5vcmlnaW5hbFNpemUud2lkdGgvdGhpcy5v
cmlnaW5hbFNpemUuaGVpZ2h0fHwxO2E9ZSgiLnVpLXJlc2l6YWJsZS0iK3RoaXMuYXhpcykuY3Nz
KCJjdXJzb3IiKTtlKCJib2R5IikuY3NzKCJjdXJzb3IiLGE9PSJhdXRvIj90aGlzLmF4aXMrIi1y
ZXNpemUiOmEpO2QuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3Bh
Z2F0ZSgic3RhcnQiLGIpO3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGIpe3ZhciBh
PXRoaXMuaGVscGVyLGM9dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sZD10aGlzLl9jaGFuZ2Vb
dGhpcy5heGlzXTsKK2lmKCFkKXJldHVybiBmYWxzZTtjPWQuYXBwbHkodGhpcyxbYixiLnBhZ2VY
LWMubGVmdHx8MCxiLnBhZ2VZLWMudG9wfHwwXSk7dGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJp
ZXMoYi5zaGlmdEtleSk7aWYodGhpcy5fYXNwZWN0UmF0aW98fGIuc2hpZnRLZXkpYz10aGlzLl91
cGRhdGVSYXRpbyhjLGIpO2M9dGhpcy5fcmVzcGVjdFNpemUoYyxiKTt0aGlzLl9wcm9wYWdhdGUo
InJlc2l6ZSIsYik7YS5jc3Moe3RvcDp0aGlzLnBvc2l0aW9uLnRvcCsicHgiLGxlZnQ6dGhpcy5w
b3NpdGlvbi5sZWZ0KyJweCIsd2lkdGg6dGhpcy5zaXplLndpZHRoKyJweCIsaGVpZ2h0OnRoaXMu
c2l6ZS5oZWlnaHQrInB4In0pOyF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVz
aXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpO3RoaXMuX3Vw
ZGF0ZUNhY2hlKGMpO3RoaXMuX3RyaWdnZXIoInJlc2l6ZSIsYix0aGlzLnVpKCkpO3JldHVybiBm
YWxzZX0sCitfbW91c2VTdG9wOmZ1bmN0aW9uKGIpe3RoaXMucmVzaXppbmc9ZmFsc2U7dmFyIGE9
dGhpcy5vcHRpb25zLGM9dGhpcztpZih0aGlzLl9oZWxwZXIpe3ZhciBkPXRoaXMuX3Byb3BvcnRp
b25hbGx5UmVzaXplRWxlbWVudHMsZj1kLmxlbmd0aCYmL3RleHRhcmVhL2kudGVzdChkWzBdLm5v
ZGVOYW1lKTtkPWYmJmUudWkuaGFzU2Nyb2xsKGRbMF0sImxlZnQiKT8wOmMuc2l6ZURpZmYuaGVp
Z2h0O2Y9Zj8wOmMuc2l6ZURpZmYud2lkdGg7Zj17d2lkdGg6Yy5oZWxwZXIud2lkdGgoKS1mLGhl
aWdodDpjLmhlbHBlci5oZWlnaHQoKS1kfTtkPXBhcnNlSW50KGMuZWxlbWVudC5jc3MoImxlZnQi
KSwxMCkrKGMucG9zaXRpb24ubGVmdC1jLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFy
IGc9cGFyc2VJbnQoYy5lbGVtZW50LmNzcygidG9wIiksMTApKyhjLnBvc2l0aW9uLnRvcC1jLm9y
aWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDthLmFuaW1hdGV8fHRoaXMuZWxlbWVudC5jc3MoZS5l
eHRlbmQoZiwKK3t0b3A6ZyxsZWZ0OmR9KSk7Yy5oZWxwZXIuaGVpZ2h0KGMuc2l6ZS5oZWlnaHQp
O2MuaGVscGVyLndpZHRoKGMuc2l6ZS53aWR0aCk7dGhpcy5faGVscGVyJiYhYS5hbmltYXRlJiZ0
aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfWUoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8i
KTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3RoaXMu
X3Byb3BhZ2F0ZSgic3RvcCIsYik7dGhpcy5faGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTty
ZXR1cm4gZmFsc2V9LF91cGRhdGVWaXJ0dWFsQm91bmRhcmllczpmdW5jdGlvbihiKXt2YXIgYT10
aGlzLm9wdGlvbnMsYyxkLGY7YT17bWluV2lkdGg6ayhhLm1pbldpZHRoKT9hLm1pbldpZHRoOjAs
bWF4V2lkdGg6ayhhLm1heFdpZHRoKT9hLm1heFdpZHRoOkluZmluaXR5LG1pbkhlaWdodDprKGEu
bWluSGVpZ2h0KT9hLm1pbkhlaWdodDowLG1heEhlaWdodDprKGEubWF4SGVpZ2h0KT9hLm1heEhl
aWdodDoKK0luZmluaXR5fTtpZih0aGlzLl9hc3BlY3RSYXRpb3x8Yil7Yj1hLm1pbkhlaWdodCp0
aGlzLmFzcGVjdFJhdGlvO2Q9YS5taW5XaWR0aC90aGlzLmFzcGVjdFJhdGlvO2M9YS5tYXhIZWln
aHQqdGhpcy5hc3BlY3RSYXRpbztmPWEubWF4V2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihiPmEu
bWluV2lkdGgpYS5taW5XaWR0aD1iO2lmKGQ+YS5taW5IZWlnaHQpYS5taW5IZWlnaHQ9ZDtpZihj
PGEubWF4V2lkdGgpYS5tYXhXaWR0aD1jO2lmKGY8YS5tYXhIZWlnaHQpYS5tYXhIZWlnaHQ9Zn10
aGlzLl92Qm91bmRhcmllcz1hfSxfdXBkYXRlQ2FjaGU6ZnVuY3Rpb24oYil7dGhpcy5vZmZzZXQ9
dGhpcy5oZWxwZXIub2Zmc2V0KCk7aWYoayhiLmxlZnQpKXRoaXMucG9zaXRpb24ubGVmdD1iLmxl
ZnQ7aWYoayhiLnRvcCkpdGhpcy5wb3NpdGlvbi50b3A9Yi50b3A7aWYoayhiLmhlaWdodCkpdGhp
cy5zaXplLmhlaWdodD1iLmhlaWdodDtpZihrKGIud2lkdGgpKXRoaXMuc2l6ZS53aWR0aD0KK2Iu
d2lkdGh9LF91cGRhdGVSYXRpbzpmdW5jdGlvbihiKXt2YXIgYT10aGlzLnBvc2l0aW9uLGM9dGhp
cy5zaXplLGQ9dGhpcy5heGlzO2lmKGsoYi5oZWlnaHQpKWIud2lkdGg9Yi5oZWlnaHQqdGhpcy5h
c3BlY3RSYXRpbztlbHNlIGlmKGsoYi53aWR0aCkpYi5oZWlnaHQ9Yi53aWR0aC90aGlzLmFzcGVj
dFJhdGlvO2lmKGQ9PSJzdyIpe2IubGVmdD1hLmxlZnQrKGMud2lkdGgtYi53aWR0aCk7Yi50b3A9
bnVsbH1pZihkPT0ibnciKXtiLnRvcD1hLnRvcCsoYy5oZWlnaHQtYi5oZWlnaHQpO2IubGVmdD1h
LmxlZnQrKGMud2lkdGgtYi53aWR0aCl9cmV0dXJuIGJ9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbihi
KXt2YXIgYT10aGlzLl92Qm91bmRhcmllcyxjPXRoaXMuYXhpcyxkPWsoYi53aWR0aCkmJmEubWF4
V2lkdGgmJmEubWF4V2lkdGg8Yi53aWR0aCxmPWsoYi5oZWlnaHQpJiZhLm1heEhlaWdodCYmYS5t
YXhIZWlnaHQ8Yi5oZWlnaHQsZz1rKGIud2lkdGgpJiZhLm1pbldpZHRoJiYKK2EubWluV2lkdGg+
Yi53aWR0aCxoPWsoYi5oZWlnaHQpJiZhLm1pbkhlaWdodCYmYS5taW5IZWlnaHQ+Yi5oZWlnaHQ7
aWYoZyliLndpZHRoPWEubWluV2lkdGg7aWYoaCliLmhlaWdodD1hLm1pbkhlaWdodDtpZihkKWIu
d2lkdGg9YS5tYXhXaWR0aDtpZihmKWIuaGVpZ2h0PWEubWF4SGVpZ2h0O3ZhciBpPXRoaXMub3Jp
Z2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3JpZ2luYWxTaXplLndpZHRoLGo9dGhpcy5wb3NpdGlv
bi50b3ArdGhpcy5zaXplLmhlaWdodCxsPS9zd3xud3x3Ly50ZXN0KGMpO2M9L253fG5lfG4vLnRl
c3QoYyk7aWYoZyYmbCliLmxlZnQ9aS1hLm1pbldpZHRoO2lmKGQmJmwpYi5sZWZ0PWktYS5tYXhX
aWR0aDtpZihoJiZjKWIudG9wPWotYS5taW5IZWlnaHQ7aWYoZiYmYyliLnRvcD1qLWEubWF4SGVp
Z2h0O2lmKChhPSFiLndpZHRoJiYhYi5oZWlnaHQpJiYhYi5sZWZ0JiZiLnRvcCliLnRvcD1udWxs
O2Vsc2UgaWYoYSYmIWIudG9wJiZiLmxlZnQpYi5sZWZ0PQorbnVsbDtyZXR1cm4gYn0sX3Byb3Bv
cnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVF
bGVtZW50cy5sZW5ndGgpZm9yKHZhciBiPXRoaXMuaGVscGVyfHx0aGlzLmVsZW1lbnQsYT0wO2E8
dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGg7YSsrKXt2YXIgYz10aGlz
Ll9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzW2FdO2lmKCF0aGlzLmJvcmRlckRpZil7dmFy
IGQ9W2MuY3NzKCJib3JkZXJUb3BXaWR0aCIpLGMuY3NzKCJib3JkZXJSaWdodFdpZHRoIiksYy5j
c3MoImJvcmRlckJvdHRvbVdpZHRoIiksYy5jc3MoImJvcmRlckxlZnRXaWR0aCIpXSxmPVtjLmNz
cygicGFkZGluZ1RvcCIpLGMuY3NzKCJwYWRkaW5nUmlnaHQiKSxjLmNzcygicGFkZGluZ0JvdHRv
bSIpLGMuY3NzKCJwYWRkaW5nTGVmdCIpXTt0aGlzLmJvcmRlckRpZj1lLm1hcChkLGZ1bmN0aW9u
KGcsaCl7Zz1wYXJzZUludChnLDEwKXx8CiswO2g9cGFyc2VJbnQoZltoXSwxMCl8fDA7cmV0dXJu
IGcraH0pfWUuYnJvd3Nlci5tc2llJiYoZShiKS5pcygiOmhpZGRlbiIpfHxlKGIpLnBhcmVudHMo
IjpoaWRkZW4iKS5sZW5ndGgpfHxjLmNzcyh7aGVpZ2h0OmIuaGVpZ2h0KCktdGhpcy5ib3JkZXJE
aWZbMF0tdGhpcy5ib3JkZXJEaWZbMl18fDAsd2lkdGg6Yi53aWR0aCgpLXRoaXMuYm9yZGVyRGlm
WzFdLXRoaXMuYm9yZGVyRGlmWzNdfHwwfSl9fSxfcmVuZGVyUHJveHk6ZnVuY3Rpb24oKXt2YXIg
Yj10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTtp
Zih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVyPXRoaXMuaGVscGVyfHxlKCc8ZGl2IHN0eWxlPSJv
dmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYT1lLmJyb3dzZXIubXNpZSYmZS5icm93c2Vy
LnZlcnNpb248NyxjPWE/MTowO2E9YT8yOi0xO3RoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hl
bHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKworYSxoZWlnaHQ6dGhp
cy5lbGVtZW50Lm91dGVySGVpZ2h0KCkrYSxwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6dGhpcy5l
bGVtZW50T2Zmc2V0LmxlZnQtYysicHgiLHRvcDp0aGlzLmVsZW1lbnRPZmZzZXQudG9wLWMrInB4
Iix6SW5kZXg6KytiLnpJbmRleH0pO3RoaXMuaGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJs
ZVNlbGVjdGlvbigpfWVsc2UgdGhpcy5oZWxwZXI9dGhpcy5lbGVtZW50fSxfY2hhbmdlOntlOmZ1
bmN0aW9uKGIsYSl7cmV0dXJue3dpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRoK2F9fSx3OmZ1
bmN0aW9uKGIsYSl7cmV0dXJue2xlZnQ6dGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQrYSx3aWR0
aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC1hfX0sbjpmdW5jdGlvbihiLGEsYyl7cmV0dXJue3Rv
cDp0aGlzLm9yaWdpbmFsUG9zaXRpb24udG9wK2MsaGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhl
aWdodC1jfX0sczpmdW5jdGlvbihiLGEsYyl7cmV0dXJue2hlaWdodDp0aGlzLm9yaWdpbmFsU2l6
ZS5oZWlnaHQrCitjfX0sc2U6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9j
aGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxb
YixhLGNdKSl9LHN3OmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4gZS5leHRlbmQodGhpcy5fY2hhbmdl
LnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2IsYSxj
XSkpfSxuZTpmdW5jdGlvbihiLGEsYyl7cmV0dXJuIGUuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFw
cGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFtiLGEsY10pKX0s
bnc6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0
aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbYixhLGNdKSl9fSxfcHJv
cGFnYXRlOmZ1bmN0aW9uKGIsYSl7ZS51aS5wbHVnaW4uY2FsbCh0aGlzLGIsW2EsdGhpcy51aSgp
XSk7CitiIT0icmVzaXplIiYmdGhpcy5fdHJpZ2dlcihiLGEsdGhpcy51aSgpKX0scGx1Z2luczp7
fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmlnaW5hbEVsZW1lbnQ6dGhpcy5vcmlnaW5hbEVsZW1l
bnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMu
cG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3JpZ2luYWxTaXplOnRoaXMub3JpZ2luYWxTaXplLG9y
aWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5hbFBvc2l0aW9ufX19KTtlLmV4dGVuZChlLnVpLnJl
c2l6YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pO2UudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwi
YWxzb1Jlc2l6ZSIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFi
bGUiKS5vcHRpb25zLGE9ZnVuY3Rpb24oYyl7ZShjKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9ZSh0
aGlzKTtkLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIix7d2lkdGg6cGFyc2VJbnQoZC53aWR0
aCgpLAorMTApLGhlaWdodDpwYXJzZUludChkLmhlaWdodCgpLDEwKSxsZWZ0OnBhcnNlSW50KGQu
Y3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUludChkLmNzcygidG9wIiksMTApLHBvc2l0aW9uOmQu
Y3NzKCJwb3NpdGlvbiIpfSl9KX07aWYodHlwZW9mIGIuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFi
LmFsc29SZXNpemUucGFyZW50Tm9kZSlpZihiLmFsc29SZXNpemUubGVuZ3RoKXtiLmFsc29SZXNp
emU9Yi5hbHNvUmVzaXplWzBdO2EoYi5hbHNvUmVzaXplKX1lbHNlIGUuZWFjaChiLmFsc29SZXNp
emUsZnVuY3Rpb24oYyl7YShjKX0pO2Vsc2UgYShiLmFsc29SZXNpemUpfSxyZXNpemU6ZnVuY3Rp
b24oYixhKXt2YXIgYz1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpO2I9Yy5vcHRpb25zO3ZhciBk
PWMub3JpZ2luYWxTaXplLGY9Yy5vcmlnaW5hbFBvc2l0aW9uLGc9e2hlaWdodDpjLnNpemUuaGVp
Z2h0LWQuaGVpZ2h0fHwwLHdpZHRoOmMuc2l6ZS53aWR0aC1kLndpZHRofHwwLHRvcDpjLnBvc2l0
aW9uLnRvcC0KK2YudG9wfHwwLGxlZnQ6Yy5wb3NpdGlvbi5sZWZ0LWYubGVmdHx8MH0saD1mdW5j
dGlvbihpLGope2UoaSkuZWFjaChmdW5jdGlvbigpe3ZhciBsPWUodGhpcykscT1lKHRoaXMpLmRh
dGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIikscD17fSxyPWomJmoubGVuZ3RoP2o6bC5wYXJlbnRz
KGEub3JpZ2luYWxFbGVtZW50WzBdKS5sZW5ndGg/WyJ3aWR0aCIsImhlaWdodCJdOlsid2lkdGgi
LCJoZWlnaHQiLCJ0b3AiLCJsZWZ0Il07ZS5lYWNoKHIsZnVuY3Rpb24obixvKXtpZigobj0ocVtv
XXx8MCkrKGdbb118fDApKSYmbj49MClwW29dPW58fG51bGx9KTtpZihlLmJyb3dzZXIub3BlcmEm
Ji9yZWxhdGl2ZS8udGVzdChsLmNzcygicG9zaXRpb24iKSkpe2MuX3JldmVydFRvUmVsYXRpdmVQ
b3NpdGlvbj10cnVlO2wuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiYXV0byIsbGVmdDoi
YXV0byJ9KX1sLmNzcyhwKX0pfTt0eXBlb2YgYi5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWIuYWxz
b1Jlc2l6ZS5ub2RlVHlwZT8KK2UuZWFjaChiLmFsc29SZXNpemUsZnVuY3Rpb24oaSxqKXtoKGks
ail9KTpoKGIuYWxzb1Jlc2l6ZSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEo
InJlc2l6YWJsZSIpLGE9Yi5vcHRpb25zLGM9ZnVuY3Rpb24oZCl7ZShkKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIGY9ZSh0aGlzKTtmLmNzcyh7cG9zaXRpb246Zi5kYXRhKCJyZXNpemFibGUtYWxzb3Jl
c2l6ZSIpLnBvc2l0aW9ufSl9KX07aWYoYi5fcmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uKXtiLl9y
ZXZlcnRUb1JlbGF0aXZlUG9zaXRpb249ZmFsc2U7dHlwZW9mIGEuYWxzb1Jlc2l6ZT09Im9iamVj
dCImJiFhLmFsc29SZXNpemUubm9kZVR5cGU/ZS5lYWNoKGEuYWxzb1Jlc2l6ZSxmdW5jdGlvbihk
KXtjKGQpfSk6YyhhLmFsc29SZXNpemUpfWUodGhpcykucmVtb3ZlRGF0YSgicmVzaXphYmxlLWFs
c29yZXNpemUiKX19KTtlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFuaW1hdGUiLHtzdG9w
OmZ1bmN0aW9uKGIpe3ZhciBhPQorZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxjPWEub3B0aW9u
cyxkPWEuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsZj1kLmxlbmd0aCYmL3RleHRhcmVh
L2kudGVzdChkWzBdLm5vZGVOYW1lKSxnPWYmJmUudWkuaGFzU2Nyb2xsKGRbMF0sImxlZnQiKT8w
OmEuc2l6ZURpZmYuaGVpZ2h0O2Y9e3dpZHRoOmEuc2l6ZS53aWR0aC0oZj8wOmEuc2l6ZURpZmYu
d2lkdGgpLGhlaWdodDphLnNpemUuaGVpZ2h0LWd9O2c9cGFyc2VJbnQoYS5lbGVtZW50LmNzcygi
bGVmdCIpLDEwKSsoYS5wb3NpdGlvbi5sZWZ0LWEub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVs
bDt2YXIgaD1wYXJzZUludChhLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCkrKGEucG9zaXRpb24udG9w
LWEub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsO2EuZWxlbWVudC5hbmltYXRlKGUuZXh0ZW5k
KGYsaCYmZz97dG9wOmgsbGVmdDpnfTp7fSkse2R1cmF0aW9uOmMuYW5pbWF0ZUR1cmF0aW9uLGVh
c2luZzpjLmFuaW1hdGVFYXNpbmcsCitzdGVwOmZ1bmN0aW9uKCl7dmFyIGk9e3dpZHRoOnBhcnNl
SW50KGEuZWxlbWVudC5jc3MoIndpZHRoIiksMTApLGhlaWdodDpwYXJzZUludChhLmVsZW1lbnQu
Y3NzKCJoZWlnaHQiKSwxMCksdG9wOnBhcnNlSW50KGEuZWxlbWVudC5jc3MoInRvcCIpLDEwKSxs
ZWZ0OnBhcnNlSW50KGEuZWxlbWVudC5jc3MoImxlZnQiKSwxMCl9O2QmJmQubGVuZ3RoJiZlKGRb
MF0pLmNzcyh7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9KTthLl91cGRhdGVDYWNoZShp
KTthLl9wcm9wYWdhdGUoInJlc2l6ZSIsYil9fSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFi
bGUiLCJjb250YWlubWVudCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJy
ZXNpemFibGUiKSxhPWIuZWxlbWVudCxjPWIub3B0aW9ucy5jb250YWlubWVudDtpZihhPWMgaW5z
dGFuY2VvZiBlP2MuZ2V0KDApOi9wYXJlbnQvLnRlc3QoYyk/YS5wYXJlbnQoKS5nZXQoMCk6Yyl7
Yi5jb250YWluZXJFbGVtZW50PQorZShhKTtpZigvZG9jdW1lbnQvLnRlc3QoYyl8fGM9PWRvY3Vt
ZW50KXtiLmNvbnRhaW5lck9mZnNldD17bGVmdDowLHRvcDowfTtiLmNvbnRhaW5lclBvc2l0aW9u
PXtsZWZ0OjAsdG9wOjB9O2IucGFyZW50RGF0YT17ZWxlbWVudDplKGRvY3VtZW50KSxsZWZ0OjAs
dG9wOjAsd2lkdGg6ZShkb2N1bWVudCkud2lkdGgoKSxoZWlnaHQ6ZShkb2N1bWVudCkuaGVpZ2h0
KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHR9fWVsc2V7dmFyIGQ9ZShh
KSxmPVtdO2UoWyJUb3AiLCJSaWdodCIsIkxlZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihp
LGope2ZbaV09bShkLmNzcygicGFkZGluZyIraikpfSk7Yi5jb250YWluZXJPZmZzZXQ9ZC5vZmZz
ZXQoKTtiLmNvbnRhaW5lclBvc2l0aW9uPWQucG9zaXRpb24oKTtiLmNvbnRhaW5lclNpemU9e2hl
aWdodDpkLmlubmVySGVpZ2h0KCktZlszXSx3aWR0aDpkLmlubmVyV2lkdGgoKS1mWzFdfTtjPWIu
Y29udGFpbmVyT2Zmc2V0OwordmFyIGc9Yi5jb250YWluZXJTaXplLmhlaWdodCxoPWIuY29udGFp
bmVyU2l6ZS53aWR0aDtoPWUudWkuaGFzU2Nyb2xsKGEsImxlZnQiKT9hLnNjcm9sbFdpZHRoOmg7
Zz1lLnVpLmhhc1Njcm9sbChhKT9hLnNjcm9sbEhlaWdodDpnO2IucGFyZW50RGF0YT17ZWxlbWVu
dDphLGxlZnQ6Yy5sZWZ0LHRvcDpjLnRvcCx3aWR0aDpoLGhlaWdodDpnfX19fSxyZXNpemU6ZnVu
Y3Rpb24oYil7dmFyIGE9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxjPWEub3B0aW9ucyxkPWEu
Y29udGFpbmVyT2Zmc2V0LGY9YS5wb3NpdGlvbjtiPWEuX2FzcGVjdFJhdGlvfHxiLnNoaWZ0S2V5
O3ZhciBnPXt0b3A6MCxsZWZ0OjB9LGg9YS5jb250YWluZXJFbGVtZW50O2lmKGhbMF0hPWRvY3Vt
ZW50JiYvc3RhdGljLy50ZXN0KGguY3NzKCJwb3NpdGlvbiIpKSlnPWQ7aWYoZi5sZWZ0PChhLl9o
ZWxwZXI/ZC5sZWZ0OjApKXthLnNpemUud2lkdGgrPWEuX2hlbHBlcj9hLnBvc2l0aW9uLmxlZnQt
ZC5sZWZ0OgorYS5wb3NpdGlvbi5sZWZ0LWcubGVmdDtpZihiKWEuc2l6ZS5oZWlnaHQ9YS5zaXpl
LndpZHRoL2MuYXNwZWN0UmF0aW87YS5wb3NpdGlvbi5sZWZ0PWMuaGVscGVyP2QubGVmdDowfWlm
KGYudG9wPChhLl9oZWxwZXI/ZC50b3A6MCkpe2Euc2l6ZS5oZWlnaHQrPWEuX2hlbHBlcj9hLnBv
c2l0aW9uLnRvcC1kLnRvcDphLnBvc2l0aW9uLnRvcDtpZihiKWEuc2l6ZS53aWR0aD1hLnNpemUu
aGVpZ2h0KmMuYXNwZWN0UmF0aW87YS5wb3NpdGlvbi50b3A9YS5faGVscGVyP2QudG9wOjB9YS5v
ZmZzZXQubGVmdD1hLnBhcmVudERhdGEubGVmdCthLnBvc2l0aW9uLmxlZnQ7YS5vZmZzZXQudG9w
PWEucGFyZW50RGF0YS50b3ArYS5wb3NpdGlvbi50b3A7Yz1NYXRoLmFicygoYS5faGVscGVyP2Eu
b2Zmc2V0LmxlZnQtZy5sZWZ0OmEub2Zmc2V0LmxlZnQtZy5sZWZ0KSthLnNpemVEaWZmLndpZHRo
KTtkPU1hdGguYWJzKChhLl9oZWxwZXI/YS5vZmZzZXQudG9wLWcudG9wOmEub2Zmc2V0LnRvcC0K
K2QudG9wKSthLnNpemVEaWZmLmhlaWdodCk7Zj1hLmNvbnRhaW5lckVsZW1lbnQuZ2V0KDApPT1h
LmVsZW1lbnQucGFyZW50KCkuZ2V0KDApO2c9L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KGEuY29u
dGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9uIikpO2lmKGYmJmcpYy09YS5wYXJlbnREYXRhLmxl
ZnQ7aWYoYythLnNpemUud2lkdGg+PWEucGFyZW50RGF0YS53aWR0aCl7YS5zaXplLndpZHRoPWEu
cGFyZW50RGF0YS53aWR0aC1jO2lmKGIpYS5zaXplLmhlaWdodD1hLnNpemUud2lkdGgvYS5hc3Bl
Y3RSYXRpb31pZihkK2Euc2l6ZS5oZWlnaHQ+PWEucGFyZW50RGF0YS5oZWlnaHQpe2Euc2l6ZS5o
ZWlnaHQ9YS5wYXJlbnREYXRhLmhlaWdodC1kO2lmKGIpYS5zaXplLndpZHRoPWEuc2l6ZS5oZWln
aHQqYS5hc3BlY3RSYXRpb319LHN0b3A6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEoInJl
c2l6YWJsZSIpLGE9Yi5vcHRpb25zLGM9Yi5jb250YWluZXJPZmZzZXQsZD1iLmNvbnRhaW5lclBv
c2l0aW9uLAorZj1iLmNvbnRhaW5lckVsZW1lbnQsZz1lKGIuaGVscGVyKSxoPWcub2Zmc2V0KCks
aT1nLm91dGVyV2lkdGgoKS1iLnNpemVEaWZmLndpZHRoO2c9Zy5vdXRlckhlaWdodCgpLWIuc2l6
ZURpZmYuaGVpZ2h0O2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGYuY3Nz
KCJwb3NpdGlvbiIpKSYmZSh0aGlzKS5jc3Moe2xlZnQ6aC5sZWZ0LWQubGVmdC1jLmxlZnQsd2lk
dGg6aSxoZWlnaHQ6Z30pO2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChmLmNz
cygicG9zaXRpb24iKSkmJmUodGhpcykuY3NzKHtsZWZ0OmgubGVmdC1kLmxlZnQtYy5sZWZ0LHdp
ZHRoOmksaGVpZ2h0Omd9KX19KTtlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImdob3N0Iix7
c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGE9Yi5vcHRp
b25zLGM9Yi5zaXplO2IuZ2hvc3Q9Yi5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKTtiLmdob3N0LmNz
cyh7b3BhY2l0eTowLjI1LAorZGlzcGxheToiYmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVp
Z2h0OmMuaGVpZ2h0LHdpZHRoOmMud2lkdGgsbWFyZ2luOjAsbGVmdDowLHRvcDowfSkuYWRkQ2xh
c3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFkZENsYXNzKHR5cGVvZiBhLmdob3N0PT0ic3RyaW5n
Ij9hLmdob3N0OiIiKTtiLmdob3N0LmFwcGVuZFRvKGIuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9u
KCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKTtiLmdob3N0JiZiLmdob3N0LmNzcyh7
cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6Yi5zaXplLmhlaWdodCx3aWR0aDpiLnNpemUud2lk
dGh9KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBiPWUodGhpcykuZGF0YSgicmVzaXphYmxlIik7Yi5n
aG9zdCYmYi5oZWxwZXImJmIuaGVscGVyLmdldCgwKS5yZW1vdmVDaGlsZChiLmdob3N0LmdldCgw
KSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJncmlkIix7cmVzaXplOmZ1bmN0aW9u
KCl7dmFyIGI9CitlKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGE9Yi5vcHRpb25zLGM9Yi5zaXpl
LGQ9Yi5vcmlnaW5hbFNpemUsZj1iLm9yaWdpbmFsUG9zaXRpb24sZz1iLmF4aXM7YS5ncmlkPXR5
cGVvZiBhLmdyaWQ9PSJudW1iZXIiP1thLmdyaWQsYS5ncmlkXTphLmdyaWQ7dmFyIGg9TWF0aC5y
b3VuZCgoYy53aWR0aC1kLndpZHRoKS8oYS5ncmlkWzBdfHwxKSkqKGEuZ3JpZFswXXx8MSk7YT1N
YXRoLnJvdW5kKChjLmhlaWdodC1kLmhlaWdodCkvKGEuZ3JpZFsxXXx8MSkpKihhLmdyaWRbMV18
fDEpO2lmKC9eKHNlfHN8ZSkkLy50ZXN0KGcpKXtiLnNpemUud2lkdGg9ZC53aWR0aCtoO2Iuc2l6
ZS5oZWlnaHQ9ZC5oZWlnaHQrYX1lbHNlIGlmKC9eKG5lKSQvLnRlc3QoZykpe2Iuc2l6ZS53aWR0
aD1kLndpZHRoK2g7Yi5zaXplLmhlaWdodD1kLmhlaWdodCthO2IucG9zaXRpb24udG9wPWYudG9w
LWF9ZWxzZXtpZigvXihzdykkLy50ZXN0KGcpKXtiLnNpemUud2lkdGg9ZC53aWR0aCtoO2Iuc2l6
ZS5oZWlnaHQ9CitkLmhlaWdodCthfWVsc2V7Yi5zaXplLndpZHRoPWQud2lkdGgraDtiLnNpemUu
aGVpZ2h0PWQuaGVpZ2h0K2E7Yi5wb3NpdGlvbi50b3A9Zi50b3AtYX1iLnBvc2l0aW9uLmxlZnQ9
Zi5sZWZ0LWh9fX0pO3ZhciBtPWZ1bmN0aW9uKGIpe3JldHVybiBwYXJzZUludChiLDEwKXx8MH0s
az1mdW5jdGlvbihiKXtyZXR1cm4haXNOYU4ocGFyc2VJbnQoYiwxMCkpfX0pKGpRdWVyeSk7CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1
aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnJlc2l6YWJsZS5taW4uanMKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
YWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUv
dWkvanF1ZXJ5LnVpLnNlbGVjdGFibGUubWluLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dl
YmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc2VsZWN0YWJs
ZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMv
anF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zZWxlY3RhYmxlLm1pbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIyIEBACisvKgorICogalF1ZXJ5IFVJIFNlbGVjdGFibGUgMS44LjE1
CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29t
L2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIg
bGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDovL2Rv
Y3MuanF1ZXJ5LmNvbS9VSS9TZWxlY3RhYmxlcworICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnku
dWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0Lmpz
CisgKi8KKyhmdW5jdGlvbihlKXtlLndpZGdldCgidWkuc2VsZWN0YWJsZSIsZS51aS5tb3VzZSx7
b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGF1dG9SZWZyZXNoOnRydWUsZGlzdGFuY2U6MCxmaWx0
ZXI6IioiLHRvbGVyYW5jZToidG91Y2gifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0
aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGFibGUiKTt0aGlzLmRyYWdnZWQ9ZmFsc2U7
dmFyIGY7dGhpcy5yZWZyZXNoPWZ1bmN0aW9uKCl7Zj1lKGMub3B0aW9ucy5maWx0ZXIsYy5lbGVt
ZW50WzBdKTtmLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1lKHRoaXMpLGI9ZC5vZmZzZXQoKTtlLmRh
dGEodGhpcywic2VsZWN0YWJsZS1pdGVtIix7ZWxlbWVudDp0aGlzLCRlbGVtZW50OmQsbGVmdDpi
LmxlZnQsdG9wOmIudG9wLHJpZ2h0OmIubGVmdCtkLm91dGVyV2lkdGgoKSxib3R0b206Yi50b3Ar
ZC5vdXRlckhlaWdodCgpLHN0YXJ0c2VsZWN0ZWQ6ZmFsc2Usc2VsZWN0ZWQ6ZC5oYXNDbGFzcygi
dWktc2VsZWN0ZWQiKSwKK3NlbGVjdGluZzpkLmhhc0NsYXNzKCJ1aS1zZWxlY3RpbmciKSx1bnNl
bGVjdGluZzpkLmhhc0NsYXNzKCJ1aS11bnNlbGVjdGluZyIpfSl9KX07dGhpcy5yZWZyZXNoKCk7
dGhpcy5zZWxlY3RlZXM9Zi5hZGRDbGFzcygidWktc2VsZWN0ZWUiKTt0aGlzLl9tb3VzZUluaXQo
KTt0aGlzLmhlbHBlcj1lKCI8ZGl2IGNsYXNzPSd1aS1zZWxlY3RhYmxlLWhlbHBlcic+PC9kaXY+
Iil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVlcy5yZW1vdmVDbGFzcygidWktc2Vs
ZWN0ZWUiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlLWl0ZW0iKTt0aGlzLmVsZW1lbnQucmVtb3Zl
Q2xhc3MoInVpLXNlbGVjdGFibGUgdWktc2VsZWN0YWJsZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEo
InNlbGVjdGFibGUiKS51bmJpbmQoIi5zZWxlY3RhYmxlIik7dGhpcy5fbW91c2VEZXN0cm95KCk7
cmV0dXJuIHRoaXN9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGMpe3ZhciBmPXRoaXM7dGhpcy5vcG9z
PVtjLnBhZ2VYLAorYy5wYWdlWV07aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCl7dmFyIGQ9dGhp
cy5vcHRpb25zO3RoaXMuc2VsZWN0ZWVzPWUoZC5maWx0ZXIsdGhpcy5lbGVtZW50WzBdKTt0aGlz
Ll90cmlnZ2VyKCJzdGFydCIsYyk7ZShkLmFwcGVuZFRvKS5hcHBlbmQodGhpcy5oZWxwZXIpO3Ro
aXMuaGVscGVyLmNzcyh7bGVmdDpjLmNsaWVudFgsdG9wOmMuY2xpZW50WSx3aWR0aDowLGhlaWdo
dDowfSk7ZC5hdXRvUmVmcmVzaCYmdGhpcy5yZWZyZXNoKCk7dGhpcy5zZWxlY3RlZXMuZmlsdGVy
KCIudWktc2VsZWN0ZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZS5kYXRhKHRoaXMsInNlbGVj
dGFibGUtaXRlbSIpO2Iuc3RhcnRzZWxlY3RlZD10cnVlO2lmKCFjLm1ldGFLZXkpe2IuJGVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7Yi5zZWxlY3RlZD1mYWxzZTtiLiRlbGVtZW50
LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2IudW5zZWxlY3Rpbmc9dHJ1ZTtmLl90cmlnZ2Vy
KCJ1bnNlbGVjdGluZyIsCitjLHt1bnNlbGVjdGluZzpiLmVsZW1lbnR9KX19KTtlKGMudGFyZ2V0
KS5wYXJlbnRzKCkuYW5kU2VsZigpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1lLmRhdGEodGhpcywi
c2VsZWN0YWJsZS1pdGVtIik7aWYoYil7dmFyIGc9IWMubWV0YUtleXx8IWIuJGVsZW1lbnQuaGFz
Q2xhc3MoInVpLXNlbGVjdGVkIik7Yi4kZWxlbWVudC5yZW1vdmVDbGFzcyhnPyJ1aS11bnNlbGVj
dGluZyI6InVpLXNlbGVjdGVkIikuYWRkQ2xhc3MoZz8idWktc2VsZWN0aW5nIjoidWktdW5zZWxl
Y3RpbmciKTtiLnVuc2VsZWN0aW5nPSFnO2Iuc2VsZWN0aW5nPWc7KGIuc2VsZWN0ZWQ9Zyk/Zi5f
dHJpZ2dlcigic2VsZWN0aW5nIixjLHtzZWxlY3Rpbmc6Yi5lbGVtZW50fSk6Zi5fdHJpZ2dlcigi
dW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmIuZWxlbWVudH0pO3JldHVybiBmYWxzZX19KX19
LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dmFyIGY9dGhpczt0aGlzLmRyYWdnZWQ9dHJ1ZTtpZigh
dGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgZD0KK3RoaXMub3B0aW9ucyxiPXRoaXMub3Bvc1sw
XSxnPXRoaXMub3Bvc1sxXSxoPWMucGFnZVgsaT1jLnBhZ2VZO2lmKGI+aCl7dmFyIGo9aDtoPWI7
Yj1qfWlmKGc+aSl7aj1pO2k9ZztnPWp9dGhpcy5oZWxwZXIuY3NzKHtsZWZ0OmIsdG9wOmcsd2lk
dGg6aC1iLGhlaWdodDppLWd9KTt0aGlzLnNlbGVjdGVlcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9
ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2lmKCEoIWF8fGEuZWxlbWVudD09Zi5lbGVt
ZW50WzBdKSl7dmFyIGs9ZmFsc2U7aWYoZC50b2xlcmFuY2U9PSJ0b3VjaCIpaz0hKGEubGVmdD5o
fHxhLnJpZ2h0PGJ8fGEudG9wPml8fGEuYm90dG9tPGcpO2Vsc2UgaWYoZC50b2xlcmFuY2U9PSJm
aXQiKWs9YS5sZWZ0PmImJmEucmlnaHQ8aCYmYS50b3A+ZyYmYS5ib3R0b208aTtpZihrKXtpZihh
LnNlbGVjdGVkKXthLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2Euc2VsZWN0
ZWQ9ZmFsc2V9aWYoYS51bnNlbGVjdGluZyl7YS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktdW5z
ZWxlY3RpbmciKTsKK2EudW5zZWxlY3Rpbmc9ZmFsc2V9aWYoIWEuc2VsZWN0aW5nKXthLiRlbGVt
ZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RpbmciKTthLnNlbGVjdGluZz10cnVlO2YuX3RyaWdnZXIo
InNlbGVjdGluZyIsYyx7c2VsZWN0aW5nOmEuZWxlbWVudH0pfX1lbHNle2lmKGEuc2VsZWN0aW5n
KWlmKGMubWV0YUtleSYmYS5zdGFydHNlbGVjdGVkKXthLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1zZWxlY3RpbmciKTthLnNlbGVjdGluZz1mYWxzZTthLiRlbGVtZW50LmFkZENsYXNzKCJ1aS1z
ZWxlY3RlZCIpO2Euc2VsZWN0ZWQ9dHJ1ZX1lbHNle2EuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVp
LXNlbGVjdGluZyIpO2Euc2VsZWN0aW5nPWZhbHNlO2lmKGEuc3RhcnRzZWxlY3RlZCl7YS4kZWxl
bWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTthLnVuc2VsZWN0aW5nPXRydWV9Zi5fdHJp
Z2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmEuZWxlbWVudH0pfWlmKGEuc2VsZWN0
ZWQpaWYoIWMubWV0YUtleSYmCishYS5zdGFydHNlbGVjdGVkKXthLiRlbGVtZW50LnJlbW92ZUNs
YXNzKCJ1aS1zZWxlY3RlZCIpO2Euc2VsZWN0ZWQ9ZmFsc2U7YS4kZWxlbWVudC5hZGRDbGFzcygi
dWktdW5zZWxlY3RpbmciKTthLnVuc2VsZWN0aW5nPXRydWU7Zi5fdHJpZ2dlcigidW5zZWxlY3Rp
bmciLGMse3Vuc2VsZWN0aW5nOmEuZWxlbWVudH0pfX19fSk7cmV0dXJuIGZhbHNlfX0sX21vdXNl
U3RvcDpmdW5jdGlvbihjKXt2YXIgZj10aGlzO3RoaXMuZHJhZ2dlZD1mYWxzZTtlKCIudWktdW5z
ZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBkPWUuZGF0YSh0
aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtkLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVj
dGluZyIpO2QudW5zZWxlY3Rpbmc9ZmFsc2U7ZC5zdGFydHNlbGVjdGVkPWZhbHNlO2YuX3RyaWdn
ZXIoInVuc2VsZWN0ZWQiLGMse3Vuc2VsZWN0ZWQ6ZC5lbGVtZW50fSl9KTtlKCIudWktc2VsZWN0
aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rpb24oKXt2YXIgZD0KK2UuZGF0YSh0aGlz
LCJzZWxlY3RhYmxlLWl0ZW0iKTtkLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3Rpbmci
KS5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTtkLnNlbGVjdGluZz1mYWxzZTtkLnNlbGVjdGVkPXRy
dWU7ZC5zdGFydHNlbGVjdGVkPXRydWU7Zi5fdHJpZ2dlcigic2VsZWN0ZWQiLGMse3NlbGVjdGVk
OmQuZWxlbWVudH0pfSk7dGhpcy5fdHJpZ2dlcigic3RvcCIsYyk7dGhpcy5oZWxwZXIucmVtb3Zl
KCk7cmV0dXJuIGZhbHNlfX0pO2UuZXh0ZW5kKGUudWkuc2VsZWN0YWJsZSx7dmVyc2lvbjoiMS44
LjE1In0pfSkoalF1ZXJ5KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc2VsZWN0YWJsZS5taW4u
anMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnNsaWRlci5taW4uanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2px
dWVyeS51aS5zbGlkZXIubWluLmpzCShub25leGlzdGVudCkKKysrIFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkuc2xpZGVyLm1pbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorICogalF1ZXJ5IFVJIFNsaWRlciAx
LjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1
aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNp
b24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBodHRw
Oi8vZG9jcy5qcXVlcnkuY29tL1VJL1NsaWRlcgorICoKKyAqIERlcGVuZHM6CisgKglqcXVlcnku
dWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0Lmpz
CisgKi8KKyhmdW5jdGlvbihkKXtkLndpZGdldCgidWkuc2xpZGVyIixkLnVpLm1vdXNlLHt3aWRn
ZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ZmFsc2UsZGlzdGFuY2U6MCxt
YXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTpmYWxzZSxzdGVwOjEs
dmFsdWU6MCx2YWx1ZXM6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj10aGlz
Lm9wdGlvbnMsYz10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUiKS5hZGRDbGFz
cygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiksZj1iLnZhbHVlcyYmYi52YWx1ZXMu
bGVuZ3RofHwxLGU9W107dGhpcy5fbW91c2VTbGlkaW5nPXRoaXMuX2tleVNsaWRpbmc9ZmFsc2U7
dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX2hhbmRsZUluZGV4PW51bGw7dGhpcy5fZGV0ZWN0
T3JpZW50YXRpb24oKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVp
LXNsaWRlciB1aS1zbGlkZXItIisKK3RoaXMub3JpZW50YXRpb24rIiB1aS13aWRnZXQgdWktd2lk
Z2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIrKGIuZGlzYWJsZWQ/IiB1aS1zbGlkZXItZGlzYWJs
ZWQgdWktZGlzYWJsZWQiOiIiKSk7dGhpcy5yYW5nZT1kKFtdKTtpZihiLnJhbmdlKXtpZihiLnJh
bmdlPT09dHJ1ZSl7aWYoIWIudmFsdWVzKWIudmFsdWVzPVt0aGlzLl92YWx1ZU1pbigpLHRoaXMu
X3ZhbHVlTWluKCldO2lmKGIudmFsdWVzLmxlbmd0aCYmYi52YWx1ZXMubGVuZ3RoIT09MiliLnZh
bHVlcz1bYi52YWx1ZXNbMF0sYi52YWx1ZXNbMF1dfXRoaXMucmFuZ2U9ZCgiPGRpdj48L2Rpdj4i
KS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zbGlkZXItcmFuZ2UgdWktd2lk
Z2V0LWhlYWRlciIrKGIucmFuZ2U9PT0ibWluInx8Yi5yYW5nZT09PSJtYXgiPyIgdWktc2xpZGVy
LXJhbmdlLSIrYi5yYW5nZToiIikpfWZvcih2YXIgaj1jLmxlbmd0aDtqPGY7ais9MSllLnB1c2go
IjxhIGNsYXNzPSd1aS1zbGlkZXItaGFuZGxlIHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFs
bCcgaHJlZj0nIyc+PC9hPiIpOwordGhpcy5oYW5kbGVzPWMuYWRkKGQoZS5qb2luKCIiKSkuYXBw
ZW5kVG8oYS5lbGVtZW50KSk7dGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApO3RoaXMuaGFu
ZGxlcy5hZGQodGhpcy5yYW5nZSkuZmlsdGVyKCJhIikuY2xpY2soZnVuY3Rpb24oZyl7Zy5wcmV2
ZW50RGVmYXVsdCgpfSkuaG92ZXIoZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxkKHRoaXMpLmFkZENs
YXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxmdW5jdGlvbigpe2QodGhpcykucmVtb3ZlQ2xhc3MoInVp
LXN0YXRlLWhvdmVyIil9KS5mb2N1cyhmdW5jdGlvbigpe2lmKGIuZGlzYWJsZWQpZCh0aGlzKS5i
bHVyKCk7ZWxzZXtkKCIudWktc2xpZGVyIC51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1
aS1zdGF0ZS1mb2N1cyIpO2QodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9fSkuYmx1
cihmdW5jdGlvbigpe2QodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KTt0aGlz
LmhhbmRsZXMuZWFjaChmdW5jdGlvbihnKXtkKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1o
YW5kbGUiLAorZyl9KTt0aGlzLmhhbmRsZXMua2V5ZG93bihmdW5jdGlvbihnKXt2YXIgaz10cnVl
LGw9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiksaSxoLG07aWYoIWEub3B0
aW9ucy5kaXNhYmxlZCl7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBkLnVpLmtleUNvZGUuSE9NRTpj
YXNlIGQudWkua2V5Q29kZS5FTkQ6Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9VUDpjYXNlIGQudWku
a2V5Q29kZS5QQUdFX0RPV046Y2FzZSBkLnVpLmtleUNvZGUuVVA6Y2FzZSBkLnVpLmtleUNvZGUu
UklHSFQ6Y2FzZSBkLnVpLmtleUNvZGUuRE9XTjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOms9ZmFs
c2U7aWYoIWEuX2tleVNsaWRpbmcpe2EuX2tleVNsaWRpbmc9dHJ1ZTtkKHRoaXMpLmFkZENsYXNz
KCJ1aS1zdGF0ZS1hY3RpdmUiKTtpPWEuX3N0YXJ0KGcsbCk7aWYoaT09PWZhbHNlKXJldHVybn1i
cmVha31tPWEub3B0aW9ucy5zdGVwO2k9YS5vcHRpb25zLnZhbHVlcyYmYS5vcHRpb25zLnZhbHVl
cy5sZW5ndGg/CisoaD1hLnZhbHVlcyhsKSk6KGg9YS52YWx1ZSgpKTtzd2l0Y2goZy5rZXlDb2Rl
KXtjYXNlIGQudWkua2V5Q29kZS5IT01FOmg9YS5fdmFsdWVNaW4oKTticmVhaztjYXNlIGQudWku
a2V5Q29kZS5FTkQ6aD1hLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLlBBR0Vf
VVA6aD1hLl90cmltQWxpZ25WYWx1ZShpKyhhLl92YWx1ZU1heCgpLWEuX3ZhbHVlTWluKCkpLzUp
O2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLlBBR0VfRE9XTjpoPWEuX3RyaW1BbGlnblZhbHVlKGkt
KGEuX3ZhbHVlTWF4KCktYS5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUu
VVA6Y2FzZSBkLnVpLmtleUNvZGUuUklHSFQ6aWYoaT09PWEuX3ZhbHVlTWF4KCkpcmV0dXJuO2g9
YS5fdHJpbUFsaWduVmFsdWUoaSttKTticmVhaztjYXNlIGQudWkua2V5Q29kZS5ET1dOOmNhc2Ug
ZC51aS5rZXlDb2RlLkxFRlQ6aWYoaT09PWEuX3ZhbHVlTWluKCkpcmV0dXJuO2g9YS5fdHJpbUFs
aWduVmFsdWUoaS0KK20pO2JyZWFrfWEuX3NsaWRlKGcsbCxoKTtyZXR1cm4ga319KS5rZXl1cChm
dW5jdGlvbihnKXt2YXIgaz1kKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1oYW5kbGUiKTtp
ZihhLl9rZXlTbGlkaW5nKXthLl9rZXlTbGlkaW5nPWZhbHNlO2EuX3N0b3AoZyxrKTthLl9jaGFu
Z2UoZyxrKTtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX19KTt0aGlzLl9y
ZWZyZXNoVmFsdWUoKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxkZXN0cm95OmZ1bmN0aW9uKCl7
dGhpcy5oYW5kbGVzLnJlbW92ZSgpO3RoaXMucmFuZ2UucmVtb3ZlKCk7dGhpcy5lbGVtZW50LnJl
bW92ZUNsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZlcnRp
Y2FsIHVpLXNsaWRlci1kaXNhYmxlZCB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWFsbCIpLnJlbW92ZURhdGEoInNsaWRlciIpLnVuYmluZCgiLnNsaWRlciIpO3RoaXMuX21v
dXNlRGVzdHJveSgpOworcmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oYSl7dmFy
IGI9dGhpcy5vcHRpb25zLGMsZixlLGosZztpZihiLmRpc2FibGVkKXJldHVybiBmYWxzZTt0aGlz
LmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlz
LmVsZW1lbnQub3V0ZXJIZWlnaHQoKX07dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMuZWxlbWVudC5v
ZmZzZXQoKTtjPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDphLnBhZ2VYLHk6YS5wYWdlWX0p
O2Y9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzE7aj10aGlzO3RoaXMuaGFuZGxl
cy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBsPU1hdGguYWJzKGMtai52YWx1ZXMoaykpO2lmKGY+bCl7
Zj1sO2U9ZCh0aGlzKTtnPWt9fSk7aWYoYi5yYW5nZT09PXRydWUmJnRoaXMudmFsdWVzKDEpPT09
Yi5taW4pe2crPTE7ZT1kKHRoaXMuaGFuZGxlc1tnXSl9aWYodGhpcy5fc3RhcnQoYSxnKT09PWZh
bHNlKXJldHVybiBmYWxzZTsKK3RoaXMuX21vdXNlU2xpZGluZz10cnVlO2ouX2hhbmRsZUluZGV4
PWc7ZS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKTtiPWUub2Zmc2V0KCk7dGhp
cy5fY2xpY2tPZmZzZXQ9IWQoYS50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuaXMoIi51aS1z
bGlkZXItaGFuZGxlIik/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6YS5wYWdlWC1iLmxlZnQtZS53aWR0
aCgpLzIsdG9wOmEucGFnZVktYi50b3AtZS5oZWlnaHQoKS8yLShwYXJzZUludChlLmNzcygiYm9y
ZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChlLmNzcygiYm9yZGVyQm90dG9tV2lkdGgi
KSwxMCl8fDApKyhwYXJzZUludChlLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX07dGhpcy5oYW5k
bGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShhLGcsYyk7cmV0dXJu
IHRoaXMuX2FuaW1hdGVPZmY9dHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1
ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihhKXt2YXIgYj0KK3RoaXMuX25vcm1WYWx1ZUZyb21Nb3Vz
ZSh7eDphLnBhZ2VYLHk6YS5wYWdlWX0pO3RoaXMuX3NsaWRlKGEsdGhpcy5faGFuZGxlSW5kZXgs
Yik7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGEpe3RoaXMuaGFuZGxlcy5yZW1v
dmVDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5fbW91c2VTbGlkaW5nPWZhbHNlO3RoaXMu
X3N0b3AoYSx0aGlzLl9oYW5kbGVJbmRleCk7dGhpcy5fY2hhbmdlKGEsdGhpcy5faGFuZGxlSW5k
ZXgpO3RoaXMuX2NsaWNrT2Zmc2V0PXRoaXMuX2hhbmRsZUluZGV4PW51bGw7cmV0dXJuIHRoaXMu
X2FuaW1hdGVPZmY9ZmFsc2V9LF9kZXRlY3RPcmllbnRhdGlvbjpmdW5jdGlvbigpe3RoaXMub3Jp
ZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIj8idmVydGljYWwi
OiJob3Jpem9udGFsIn0sX25vcm1WYWx1ZUZyb21Nb3VzZTpmdW5jdGlvbihhKXt2YXIgYjtpZih0
aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtiPQordGhpcy5lbGVtZW50U2l6ZS53aWR0
aDthPWEueC10aGlzLmVsZW1lbnRPZmZzZXQubGVmdC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5f
Y2xpY2tPZmZzZXQubGVmdDowKX1lbHNle2I9dGhpcy5lbGVtZW50U2l6ZS5oZWlnaHQ7YT1hLnkt
dGhpcy5lbGVtZW50T2Zmc2V0LnRvcC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5fY2xpY2tPZmZz
ZXQudG9wOjApfWI9YS9iO2lmKGI+MSliPTE7aWYoYjwwKWI9MDtpZih0aGlzLm9yaWVudGF0aW9u
PT09InZlcnRpY2FsIiliPTEtYjthPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKTty
ZXR1cm4gdGhpcy5fdHJpbUFsaWduVmFsdWUodGhpcy5fdmFsdWVNaW4oKStiKmEpfSxfc3RhcnQ6
ZnVuY3Rpb24oYSxiKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1ZTp0aGlzLnZh
bHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3Ro
KXtjLnZhbHVlPXRoaXMudmFsdWVzKGIpOworYy52YWx1ZXM9dGhpcy52YWx1ZXMoKX1yZXR1cm4g
dGhpcy5fdHJpZ2dlcigic3RhcnQiLGEsYyl9LF9zbGlkZTpmdW5jdGlvbihhLGIsYyl7dmFyIGY7
aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpe2Y9dGhp
cy52YWx1ZXMoYj8wOjEpO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoPT09MiYmdGhpcy5v
cHRpb25zLnJhbmdlPT09dHJ1ZSYmKGI9PT0wJiZjPmZ8fGI9PT0xJiZjPGYpKWM9ZjtpZihjIT09
dGhpcy52YWx1ZXMoYikpe2Y9dGhpcy52YWx1ZXMoKTtmW2JdPWM7YT10aGlzLl90cmlnZ2VyKCJz
bGlkZSIsYSx7aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1ZTpjLHZhbHVlczpmfSk7dGhpcy52
YWx1ZXMoYj8wOjEpO2EhPT1mYWxzZSYmdGhpcy52YWx1ZXMoYixjLHRydWUpfX1lbHNlIGlmKGMh
PT10aGlzLnZhbHVlKCkpe2E9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGEse2hhbmRsZTp0aGlzLmhh
bmRsZXNbYl0sdmFsdWU6Y30pOworYSE9PWZhbHNlJiZ0aGlzLnZhbHVlKGMpfX0sX3N0b3A6ZnVu
Y3Rpb24oYSxiKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1ZTp0aGlzLnZhbHVl
KCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtj
LnZhbHVlPXRoaXMudmFsdWVzKGIpO2MudmFsdWVzPXRoaXMudmFsdWVzKCl9dGhpcy5fdHJpZ2dl
cigic3RvcCIsYSxjKX0sX2NoYW5nZTpmdW5jdGlvbihhLGIpe2lmKCF0aGlzLl9rZXlTbGlkaW5n
JiYhdGhpcy5fbW91c2VTbGlkaW5nKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1
ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1
ZXMubGVuZ3RoKXtjLnZhbHVlPXRoaXMudmFsdWVzKGIpO2MudmFsdWVzPXRoaXMudmFsdWVzKCl9
dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixhLGMpfX0sdmFsdWU6ZnVuY3Rpb24oYSl7aWYoYXJndW1l
bnRzLmxlbmd0aCl7dGhpcy5vcHRpb25zLnZhbHVlPQordGhpcy5fdHJpbUFsaWduVmFsdWUoYSk7
dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCl9ZWxzZSByZXR1cm4gdGhp
cy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZixlO2lmKGFyZ3VtZW50cy5s
ZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1thXT10aGlzLl90cmltQWxpZ25WYWx1ZShiKTt0
aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxhKX1lbHNlIGlmKGFyZ3VtZW50
cy5sZW5ndGgpaWYoZC5pc0FycmF5KGFyZ3VtZW50c1swXSkpe2M9dGhpcy5vcHRpb25zLnZhbHVl
cztmPWFyZ3VtZW50c1swXTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSs9MSl7Y1tlXT10aGlzLl90cmlt
QWxpZ25WYWx1ZShmW2VdKTt0aGlzLl9jaGFuZ2UobnVsbCxlKX10aGlzLl9yZWZyZXNoVmFsdWUo
KX1lbHNlIHJldHVybiB0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxl
bmd0aD90aGlzLl92YWx1ZXMoYSk6Cit0aGlzLnZhbHVlKCk7ZWxzZSByZXR1cm4gdGhpcy5fdmFs
dWVzKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXt2YXIgYyxmPTA7aWYoZC5pc0FycmF5KHRo
aXMub3B0aW9ucy52YWx1ZXMpKWY9dGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7ZC5XaWRnZXQu
cHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO3N3aXRjaChhKXtjYXNl
ICJkaXNhYmxlZCI6aWYoYil7dGhpcy5oYW5kbGVzLmZpbHRlcigiLnVpLXN0YXRlLWZvY3VzIiku
Ymx1cigpO3RoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKTt0aGlzLmhh
bmRsZXMucHJvcEF0dHIoImRpc2FibGVkIix0cnVlKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVp
LWRpc2FibGVkIil9ZWxzZXt0aGlzLmhhbmRsZXMucHJvcEF0dHIoImRpc2FibGVkIixmYWxzZSk7
dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kaXNhYmxlZCIpfWJyZWFrO2Nhc2UgIm9yaWVu
dGF0aW9uIjp0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOwordGhpcy5lbGVtZW50LnJlbW92ZUNs
YXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5hZGRDbGFzcygi
dWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7YnJlYWs7
Y2FzZSAidmFsdWUiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0
aGlzLl9jaGFuZ2UobnVsbCwwKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFrO2Nhc2UgInZh
bHVlcyI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO2ZvcihjPTA7
YzxmO2MrPTEpdGhpcy5fY2hhbmdlKG51bGwsYyk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZTticmVh
a319LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy52YWx1ZTtyZXR1cm4gYT10
aGlzLl90cmltQWxpZ25WYWx1ZShhKX0sX3ZhbHVlczpmdW5jdGlvbihhKXt2YXIgYixjO2lmKGFy
Z3VtZW50cy5sZW5ndGgpe2I9dGhpcy5vcHRpb25zLnZhbHVlc1thXTsKK3JldHVybiBiPXRoaXMu
X3RyaW1BbGlnblZhbHVlKGIpfWVsc2V7Yj10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCk7Zm9y
KGM9MDtjPGIubGVuZ3RoO2MrPTEpYltjXT10aGlzLl90cmltQWxpZ25WYWx1ZShiW2NdKTtyZXR1
cm4gYn19LF90cmltQWxpZ25WYWx1ZTpmdW5jdGlvbihhKXtpZihhPD10aGlzLl92YWx1ZU1pbigp
KXJldHVybiB0aGlzLl92YWx1ZU1pbigpO2lmKGE+PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuIHRo
aXMuX3ZhbHVlTWF4KCk7dmFyIGI9dGhpcy5vcHRpb25zLnN0ZXA+MD90aGlzLm9wdGlvbnMuc3Rl
cDoxLGM9KGEtdGhpcy5fdmFsdWVNaW4oKSklYjthPWEtYztpZihNYXRoLmFicyhjKSoyPj1iKWEr
PWM+MD9iOi1iO3JldHVybiBwYXJzZUZsb2F0KGEudG9GaXhlZCg1KSl9LF92YWx1ZU1pbjpmdW5j
dGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWlufSxfdmFsdWVNYXg6ZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5vcHRpb25zLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciBhPQordGhp
cy5vcHRpb25zLnJhbmdlLGI9dGhpcy5vcHRpb25zLGM9dGhpcyxmPSF0aGlzLl9hbmltYXRlT2Zm
P2IuYW5pbWF0ZTpmYWxzZSxlLGo9e30sZyxrLGwsaTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0
aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihoKXtl
PShjLnZhbHVlcyhoKS1jLl92YWx1ZU1pbigpKS8oYy5fdmFsdWVNYXgoKS1jLl92YWx1ZU1pbigp
KSoxMDA7altjLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90dG9tIl09ZSsi
JSI7ZCh0aGlzKS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKGosYi5hbmltYXRlKTtpZihj
Lm9wdGlvbnMucmFuZ2U9PT10cnVlKWlmKGMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpe2lm
KGg9PT0wKWMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7bGVmdDplKyIlIn0s
Yi5hbmltYXRlKTtpZihoPT09MSljLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6ZS0K
K2crIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246Yi5hbmltYXRlfSl9ZWxzZXtpZihoPT09MClj
LnJhbmdlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTplKyIlIn0sYi5hbmlt
YXRlKTtpZihoPT09MSljLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmUtZysiJSJ9
LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmFuaW1hdGV9KX1nPWV9KTtlbHNle2s9dGhpcy52YWx1
ZSgpO2w9dGhpcy5fdmFsdWVNaW4oKTtpPXRoaXMuX3ZhbHVlTWF4KCk7ZT1pIT09bD8oay1sKS8o
aS1sKSoxMDA6MDtqW2Mub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCI/ImxlZnQiOiJib3R0b20i
XT1lKyIlIjt0aGlzLmhhbmRsZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKGosYi5hbmlt
YXRlKTtpZihhPT09Im1pbiImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpdGhpcy5y
YW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDplKyIlIn0sCitiLmFuaW1h
dGUpO2lmKGE9PT0ibWF4IiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil0aGlzLnJh
bmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6MTAwLWUrIiUifSx7cXVldWU6ZmFsc2UsZHVy
YXRpb246Yi5hbmltYXRlfSk7aWYoYT09PSJtaW4iJiZ0aGlzLm9yaWVudGF0aW9uPT09InZlcnRp
Y2FsIil0aGlzLnJhbmdlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDplKyIl
In0sYi5hbmltYXRlKTtpZihhPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0idmVydGljYWwi
KXRoaXMucmFuZ2VbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6MTAwLWUrIiUifSx7cXVldWU6
ZmFsc2UsZHVyYXRpb246Yi5hbmltYXRlfSl9fX0pO2QuZXh0ZW5kKGQudWkuc2xpZGVyLHt2ZXJz
aW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zbGlkZXIu
bWluLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9h
amF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zb3J0YWJsZS5taW4uanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1
L3VpL2pxdWVyeS51aS5zb3J0YWJsZS5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zb3J0YWJs
ZS5taW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIGpRdWVyeSBV
SSBTb3J0YWJsZSAxLjguMTUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0
dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCisgKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQg
b3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KKyAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UK
KyAqCisgKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NvcnRhYmxlcworICoKKyAqIERlcGVu
ZHM6CisgKglqcXVlcnkudWkuY29yZS5qcworICoJanF1ZXJ5LnVpLm1vdXNlLmpzCisgKglqcXVl
cnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihkKXtkLndpZGdldCgidWkuc29ydGFibGUi
LGQudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJzb3J0IixvcHRpb25zOnthcHBlbmRUbzoi
cGFyZW50IixheGlzOmZhbHNlLGNvbm5lY3RXaXRoOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGN1
cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZHJvcE9uRW1wdHk6dHJ1ZSxmb3JjZVBsYWNlaG9s
ZGVyU2l6ZTpmYWxzZSxmb3JjZUhlbHBlclNpemU6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGU6ZmFs
c2UsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3BhY2l0eTpmYWxzZSxwbGFjZWhvbGRl
cjpmYWxzZSxyZXZlcnQ6ZmFsc2Usc2Nyb2xsOnRydWUsc2Nyb2xsU2Vuc2l0aXZpdHk6MjAsc2Ny
b2xsU3BlZWQ6MjAsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0Iix6SW5kZXg6
MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO3RoaXMuY29udGFpbmVy
Q2FjaGU9e307dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1zb3J0YWJsZSIpOwordGhpcy5yZWZy
ZXNoKCk7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0aD9hLmF4aXM9PT0ieCJ8fC9sZWZ0
fHJpZ2h0Ly50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3MoImZsb2F0IikpfHwvaW5saW5lfHRh
YmxlLWNlbGwvLnRlc3QodGhpcy5pdGVtc1swXS5pdGVtLmNzcygiZGlzcGxheSIpKTpmYWxzZTt0
aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7dGhpcy5fbW91c2VJbml0KCl9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlIHVpLXNv
cnRhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic29ydGFibGUiKS51bmJpbmQoIi5zb3J0YWJs
ZSIpO3RoaXMuX21vdXNlRGVzdHJveSgpO2Zvcih2YXIgYT10aGlzLml0ZW1zLmxlbmd0aC0xO2E+
PTA7YS0tKXRoaXMuaXRlbXNbYV0uaXRlbS5yZW1vdmVEYXRhKCJzb3J0YWJsZS1pdGVtIik7cmV0
dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtpZihhPT09CisiZGlzYWJsZWQiKXt0
aGlzLm9wdGlvbnNbYV09Yjt0aGlzLndpZGdldCgpW2I/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3Mi
XSgidWktc29ydGFibGUtZGlzYWJsZWQiKX1lbHNlIGQuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0
aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihhLGIpe2lm
KHRoaXMucmV2ZXJ0aW5nKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fHRo
aXMub3B0aW9ucy50eXBlPT0ic3RhdGljIilyZXR1cm4gZmFsc2U7dGhpcy5fcmVmcmVzaEl0ZW1z
KGEpO3ZhciBjPW51bGwsZT10aGlzO2QoYS50YXJnZXQpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9u
KCl7aWYoZC5kYXRhKHRoaXMsInNvcnRhYmxlLWl0ZW0iKT09ZSl7Yz1kKHRoaXMpO3JldHVybiBm
YWxzZX19KTtpZihkLmRhdGEoYS50YXJnZXQsInNvcnRhYmxlLWl0ZW0iKT09ZSljPWQoYS50YXJn
ZXQpO2lmKCFjKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlvbnMuaGFuZGxlJiYKKyFiKXt2YXIg
Zj1mYWxzZTtkKHRoaXMub3B0aW9ucy5oYW5kbGUsYykuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNo
KGZ1bmN0aW9uKCl7aWYodGhpcz09YS50YXJnZXQpZj10cnVlfSk7aWYoIWYpcmV0dXJuIGZhbHNl
fXRoaXMuY3VycmVudEl0ZW09Yzt0aGlzLl9yZW1vdmVDdXJyZW50c0Zyb21JdGVtcygpO3JldHVy
biB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihhLGIsYyl7Yj10aGlzLm9wdGlvbnM7dmFyIGU9
dGhpczt0aGlzLmN1cnJlbnRDb250YWluZXI9dGhpczt0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKTt0
aGlzLmhlbHBlcj10aGlzLl9jcmVhdGVIZWxwZXIoYSk7dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0
aW9ucygpO3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuc2Nyb2xsUGFyZW50PXRoaXMuaGVscGVy
LnNjcm9sbFBhcmVudCgpO3RoaXMub2Zmc2V0PXRoaXMuY3VycmVudEl0ZW0ub2Zmc2V0KCk7dGhp
cy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5tYXJnaW5zLnRvcCwKK2xlZnQ6dGhp
cy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07dGhpcy5oZWxwZXIuY3NzKCJwb3NpdGlv
biIsImFic29sdXRlIik7dGhpcy5jc3NQb3NpdGlvbj10aGlzLmhlbHBlci5jc3MoInBvc2l0aW9u
Iik7ZC5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5vZmZzZXQu
bGVmdCx0b3A6YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQYXJlbnRP
ZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7dGhpcy5vcmlnaW5h
bFBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYSk7dGhpcy5vcmlnaW5hbFBhZ2VYPWEu
cGFnZVg7dGhpcy5vcmlnaW5hbFBhZ2VZPWEucGFnZVk7Yi5jdXJzb3JBdCYmdGhpcy5fYWRqdXN0
T2Zmc2V0RnJvbUhlbHBlcihiLmN1cnNvckF0KTt0aGlzLmRvbVBvc2l0aW9uPXtwcmV2OnRoaXMu
Y3VycmVudEl0ZW0ucHJldigpWzBdLHBhcmVudDp0aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBd
fTsKK3RoaXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmN1cnJlbnRJdGVt
LmhpZGUoKTt0aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpO2IuY29udGFpbm1lbnQmJnRoaXMuX3Nl
dENvbnRhaW5tZW50KCk7aWYoYi5jdXJzb3Ipe2lmKGQoImJvZHkiKS5jc3MoImN1cnNvciIpKXRo
aXMuX3N0b3JlZEN1cnNvcj1kKCJib2R5IikuY3NzKCJjdXJzb3IiKTtkKCJib2R5IikuY3NzKCJj
dXJzb3IiLGIuY3Vyc29yKX1pZihiLm9wYWNpdHkpe2lmKHRoaXMuaGVscGVyLmNzcygib3BhY2l0
eSIpKXRoaXMuX3N0b3JlZE9wYWNpdHk9dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iik7dGhpcy5o
ZWxwZXIuY3NzKCJvcGFjaXR5IixiLm9wYWNpdHkpfWlmKGIuekluZGV4KXtpZih0aGlzLmhlbHBl
ci5jc3MoInpJbmRleCIpKXRoaXMuX3N0b3JlZFpJbmRleD10aGlzLmhlbHBlci5jc3MoInpJbmRl
eCIpO3RoaXMuaGVscGVyLmNzcygiekluZGV4IixiLnpJbmRleCl9aWYodGhpcy5zY3JvbGxQYXJl
bnRbMF0hPQorZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil0
aGlzLm92ZXJmbG93T2Zmc2V0PXRoaXMuc2Nyb2xsUGFyZW50Lm9mZnNldCgpO3RoaXMuX3RyaWdn
ZXIoInN0YXJ0IixhLHRoaXMuX3VpSGFzaCgpKTt0aGlzLl9wcmVzZXJ2ZUhlbHBlclByb3BvcnRp
b25zfHx0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7aWYoIWMpZm9yKGM9dGhpcy5jb250
YWluZXJzLmxlbmd0aC0xO2M+PTA7Yy0tKXRoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dlcigiYWN0
aXZhdGUiLGEsZS5fdWlIYXNoKHRoaXMpKTtpZihkLnVpLmRkbWFuYWdlcilkLnVpLmRkbWFuYWdl
ci5jdXJyZW50PXRoaXM7ZC51aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQudWkuZGRt
YW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYSk7dGhpcy5kcmFnZ2luZz10cnVlO3RoaXMuaGVs
cGVyLmFkZENsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKTt0aGlzLl9tb3VzZURyYWcoYSk7City
ZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihhKXt0aGlzLnBvc2l0aW9uPXRoaXMuX2dl
bmVyYXRlUG9zaXRpb24oYSk7dGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25U
bygiYWJzb2x1dGUiKTtpZighdGhpcy5sYXN0UG9zaXRpb25BYnMpdGhpcy5sYXN0UG9zaXRpb25B
YnM9dGhpcy5wb3NpdGlvbkFicztpZih0aGlzLm9wdGlvbnMuc2Nyb2xsKXt2YXIgYj10aGlzLm9w
dGlvbnMsYz1mYWxzZTtpZih0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Ny
b2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYodGhpcy5vdmVyZmxvd09mZnNldC50b3Ar
dGhpcy5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWEucGFnZVk8Yi5zY3JvbGxTZW5zaXRp
dml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9Yz10aGlzLnNjcm9sbFBhcmVudFsw
XS5zY3JvbGxUb3ArYi5zY3JvbGxTcGVlZDtlbHNlIGlmKGEucGFnZVktdGhpcy5vdmVyZmxvd09m
ZnNldC50b3A8CitiLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9s
bFRvcD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcC1iLnNjcm9sbFNwZWVkO2lmKHRo
aXMub3ZlcmZsb3dPZmZzZXQubGVmdCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC1h
LnBhZ2VYPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVm
dD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrYi5zY3JvbGxTcGVlZDtlbHNlIGlm
KGEucGFnZVgtdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0PGIuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhp
cy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1jPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9s
bExlZnQtYi5zY3JvbGxTcGVlZH1lbHNle2lmKGEucGFnZVktZChkb2N1bWVudCkuc2Nyb2xsVG9w
KCk8Yi5zY3JvbGxTZW5zaXRpdml0eSljPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50
KS5zY3JvbGxUb3AoKS0KK2Iuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLmhlaWdodCgp
LShhLnBhZ2VZLWQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxiLnNjcm9sbFNlbnNpdGl2aXR5KWM9
ZChkb2N1bWVudCkuc2Nyb2xsVG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpK2Iuc2Nyb2xsU3Bl
ZWQpO2lmKGEucGFnZVgtZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpPGIuc2Nyb2xsU2Vuc2l0aXZp
dHkpYz1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKS1iLnNj
cm9sbFNwZWVkKTtlbHNlIGlmKGQod2luZG93KS53aWR0aCgpLShhLnBhZ2VYLWQoZG9jdW1lbnQp
LnNjcm9sbExlZnQoKSk8Yi5zY3JvbGxTZW5zaXRpdml0eSljPWQoZG9jdW1lbnQpLnNjcm9sbExl
ZnQoZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpK2Iuc2Nyb2xsU3BlZWQpfWMhPT1mYWxzZSYmZC51
aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZz
ZXRzKHRoaXMsCithKX10aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJh
YnNvbHV0ZSIpO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ5Iil0
aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgiO2lmKCF0aGlz
Lm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4Iil0aGlzLmhlbHBlclswXS5zdHls
ZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4Ijtmb3IoYj10aGlzLml0ZW1zLmxlbmd0aC0xO2I+
PTA7Yi0tKXtjPXRoaXMuaXRlbXNbYl07dmFyIGU9Yy5pdGVtWzBdLGY9dGhpcy5faW50ZXJzZWN0
c1dpdGhQb2ludGVyKGMpO2lmKGYpaWYoZSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5wbGFj
ZWhvbGRlcltmPT0xPyJuZXh0IjoicHJldiJdKClbMF0hPWUmJiFkLnVpLmNvbnRhaW5zKHRoaXMu
cGxhY2Vob2xkZXJbMF0sZSkmJih0aGlzLm9wdGlvbnMudHlwZT09InNlbWktZHluYW1pYyI/IWQu
dWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLAorZSk6dHJ1ZSkpe3RoaXMuZGlyZWN0aW9uPWY9
PTE/ImRvd24iOiJ1cCI7aWYodGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0aGlz
Ll9pbnRlcnNlY3RzV2l0aFNpZGVzKGMpKXRoaXMuX3JlYXJyYW5nZShhLGMpO2Vsc2UgYnJlYWs7
dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixhLHRoaXMuX3VpSGFzaCgpKTticmVha319dGhpcy5fY29u
dGFjdENvbnRhaW5lcnMoYSk7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5hZ2VyLmRyYWcodGhp
cyxhKTt0aGlzLl90cmlnZ2VyKCJzb3J0IixhLHRoaXMuX3VpSGFzaCgpKTt0aGlzLmxhc3RQb3Np
dGlvbkFicz10aGlzLnBvc2l0aW9uQWJzO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlv
bihhLGIpe2lmKGEpe2QudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXIm
JmQudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxhKTtpZih0aGlzLm9wdGlvbnMucmV2ZXJ0KXt2YXIg
Yz10aGlzO2I9Yy5wbGFjZWhvbGRlci5vZmZzZXQoKTsKK2MucmV2ZXJ0aW5nPXRydWU7ZCh0aGlz
LmhlbHBlcikuYW5pbWF0ZSh7bGVmdDpiLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQtYy5t
YXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5PzA6dGhpcy5v
ZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCksdG9wOmIudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50
b3AtYy5tYXJnaW5zLnRvcCsodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHk/MDp0
aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxUb3ApfSxwYXJzZUludCh0aGlzLm9wdGlvbnMucmV2
ZXJ0LDEwKXx8NTAwLGZ1bmN0aW9uKCl7Yy5fY2xlYXIoYSl9KX1lbHNlIHRoaXMuX2NsZWFyKGEs
Yik7cmV0dXJuIGZhbHNlfX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzLmRy
YWdnaW5nKXt0aGlzLl9tb3VzZVVwKHt0YXJnZXQ6bnVsbH0pO3RoaXMub3B0aW9ucy5oZWxwZXI9
PSJvcmlnaW5hbCI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVD
bGFzcygidWktc29ydGFibGUtaGVscGVyIik6Cit0aGlzLmN1cnJlbnRJdGVtLnNob3coKTtmb3Io
dmFyIGI9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2I+PTA7Yi0tKXt0aGlzLmNvbnRhaW5lcnNb
Yl0uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsYS5fdWlIYXNoKHRoaXMpKTtpZih0aGlzLmNv
bnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUub3Zlcil7dGhpcy5jb250YWluZXJzW2JdLl90cmln
Z2VyKCJvdXQiLG51bGwsYS5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFp
bmVyQ2FjaGUub3Zlcj0wfX19aWYodGhpcy5wbGFjZWhvbGRlcil7dGhpcy5wbGFjZWhvbGRlclsw
XS5wYXJlbnROb2RlJiZ0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
dGhpcy5wbGFjZWhvbGRlclswXSk7dGhpcy5vcHRpb25zLmhlbHBlciE9Im9yaWdpbmFsIiYmdGhp
cy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUmJnRoaXMuaGVscGVyLnJlbW92ZSgp
O2QuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLAorZHJhZ2dpbmc6ZmFsc2UscmV2ZXJ0aW5nOmZh
bHNlLF9ub0ZpbmFsU29ydDpudWxsfSk7dGhpcy5kb21Qb3NpdGlvbi5wcmV2P2QodGhpcy5kb21Q
b3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVtKTpkKHRoaXMuZG9tUG9zaXRpb24u
cGFyZW50KS5wcmVwZW5kKHRoaXMuY3VycmVudEl0ZW0pfXJldHVybiB0aGlzfSxzZXJpYWxpemU6
ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShhJiZhLmNvbm5lY3RlZCks
Yz1bXTthPWF8fHt9O2QoYikuZWFjaChmdW5jdGlvbigpe3ZhciBlPShkKGEuaXRlbXx8dGhpcyku
YXR0cihhLmF0dHJpYnV0ZXx8ImlkIil8fCIiKS5tYXRjaChhLmV4cHJlc3Npb258fC8oLispWy09
X10oLispLyk7aWYoZSljLnB1c2goKGEua2V5fHxlWzFdKyJbXSIpKyI9IisoYS5rZXkmJmEuZXhw
cmVzc2lvbj9lWzFdOmVbMl0pKX0pOyFjLmxlbmd0aCYmYS5rZXkmJmMucHVzaChhLmtleSsiPSIp
O3JldHVybiBjLmpvaW4oIiYiKX0sCit0b0FycmF5OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dl
dEl0ZW1zQXNqUXVlcnkoYSYmYS5jb25uZWN0ZWQpLGM9W107YT1hfHx7fTtiLmVhY2goZnVuY3Rp
b24oKXtjLnB1c2goZChhLml0ZW18fHRoaXMpLmF0dHIoYS5hdHRyaWJ1dGV8fCJpZCIpfHwiIil9
KTtyZXR1cm4gY30sX2ludGVyc2VjdHNXaXRoOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucG9zaXRp
b25BYnMubGVmdCxjPWIrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxlPXRoaXMucG9zaXRp
b25BYnMudG9wLGY9ZSt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxnPWEubGVmdCxoPWcr
YS53aWR0aCxpPWEudG9wLGs9aSthLmhlaWdodCxqPXRoaXMub2Zmc2V0LmNsaWNrLnRvcCxsPXRo
aXMub2Zmc2V0LmNsaWNrLmxlZnQ7aj1lK2o+aSYmZStqPGsmJmIrbD5nJiZiK2w8aDtyZXR1cm4g
dGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0aGlzLm9wdGlvbnMuZm9yY2VQb2lu
dGVyRm9yQ29udGFpbmVyc3x8Cit0aGlzLm9wdGlvbnMudG9sZXJhbmNlIT0icG9pbnRlciImJnRo
aXMuaGVscGVyUHJvcG9ydGlvbnNbdGhpcy5mbG9hdGluZz8id2lkdGgiOiJoZWlnaHQiXT5hW3Ro
aXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0/ajpnPGIrdGhpcy5oZWxwZXJQcm9wb3J0aW9u
cy53aWR0aC8yJiZjLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMjxoJiZpPGUrdGhpcy5o
ZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmZi10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdo
dC8yPGt9LF9pbnRlcnNlY3RzV2l0aFBvaW50ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5pc092
ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxhLnRvcCxh
LmhlaWdodCk7YT1kLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3RoaXMub2Zm
c2V0LmNsaWNrLmxlZnQsYS5sZWZ0LGEud2lkdGgpO2I9YiYmYTthPXRoaXMuX2dldERyYWdWZXJ0
aWNhbERpcmVjdGlvbigpOwordmFyIGM9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb24o
KTtpZighYilyZXR1cm4gZmFsc2U7cmV0dXJuIHRoaXMuZmxvYXRpbmc/YyYmYz09InJpZ2h0Inx8
YT09ImRvd24iPzI6MTphJiYoYT09ImRvd24iPzI6MSl9LF9pbnRlcnNlY3RzV2l0aFNpZGVzOmZ1
bmN0aW9uKGEpe3ZhciBiPWQudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlz
Lm9mZnNldC5jbGljay50b3AsYS50b3ArYS5oZWlnaHQvMixhLmhlaWdodCk7YT1kLnVpLmlzT3Zl
ckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQsYS5sZWZ0
K2Eud2lkdGgvMixhLndpZHRoKTt2YXIgYz10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24o
KSxlPXRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7cmV0dXJuIHRoaXMuZmxvYXRp
bmcmJmU/ZT09InJpZ2h0IiYmYXx8ZT09ImxlZnQiJiYhYTpjJiYoYz09ImRvd24iJiZifHxjPT0i
dXAiJiYhYil9LAorX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRo
aXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9uQWJzLnRvcDtyZXR1cm4gYSE9MCYm
KGE+MD8iZG93biI6InVwIil9LF9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjpmdW5jdGlvbigp
e3ZhciBhPXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxhc3RQb3NpdGlvbkFicy5sZWZ0O3Jl
dHVybiBhIT0wJiYoYT4wPyJyaWdodCI6ImxlZnQiKX0scmVmcmVzaDpmdW5jdGlvbihhKXt0aGlz
Ll9yZWZyZXNoSXRlbXMoYSk7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7cmV0dXJuIHRoaXN9LF9j
b25uZWN0V2l0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztyZXR1cm4gYS5jb25uZWN0
V2l0aC5jb25zdHJ1Y3Rvcj09U3RyaW5nP1thLmNvbm5lY3RXaXRoXTphLmNvbm5lY3RXaXRofSxf
Z2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGU9dGhpcy5fY29ubmVj
dFdpdGgoKTsKK2lmKGUmJmEpZm9yKGE9ZS5sZW5ndGgtMTthPj0wO2EtLSlmb3IodmFyIGY9ZChl
W2FdKSxnPWYubGVuZ3RoLTE7Zz49MDtnLS0pe3ZhciBoPWQuZGF0YShmW2ddLCJzb3J0YWJsZSIp
O2lmKGgmJmghPXRoaXMmJiFoLm9wdGlvbnMuZGlzYWJsZWQpYy5wdXNoKFtkLmlzRnVuY3Rpb24o
aC5vcHRpb25zLml0ZW1zKT9oLm9wdGlvbnMuaXRlbXMuY2FsbChoLmVsZW1lbnQpOmQoaC5vcHRp
b25zLml0ZW1zLGguZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWkt
c29ydGFibGUtcGxhY2Vob2xkZXIiKSxoXSl9Yy5wdXNoKFtkLmlzRnVuY3Rpb24odGhpcy5vcHRp
b25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnQsbnVsbCx7b3B0
aW9uczp0aGlzLm9wdGlvbnMsaXRlbTp0aGlzLmN1cnJlbnRJdGVtfSk6ZCh0aGlzLm9wdGlvbnMu
aXRlbXMsdGhpcy5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1z
b3J0YWJsZS1wbGFjZWhvbGRlciIpLAordGhpc10pO2ZvcihhPWMubGVuZ3RoLTE7YT49MDthLS0p
Y1thXVswXS5lYWNoKGZ1bmN0aW9uKCl7Yi5wdXNoKHRoaXMpfSk7cmV0dXJuIGQoYil9LF9yZW1v
dmVDdXJyZW50c0Zyb21JdGVtczpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmN1cnJlbnRJdGVt
LmZpbmQoIjpkYXRhKHNvcnRhYmxlLWl0ZW0pIiksYj0wO2I8dGhpcy5pdGVtcy5sZW5ndGg7Yisr
KWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109PXRoaXMuaXRlbXNbYl0uaXRlbVswXSYm
dGhpcy5pdGVtcy5zcGxpY2UoYiwxKX0sX3JlZnJlc2hJdGVtczpmdW5jdGlvbihhKXt0aGlzLml0
ZW1zPVtdO3RoaXMuY29udGFpbmVycz1bdGhpc107dmFyIGI9dGhpcy5pdGVtcyxjPVtbZC5pc0Z1
bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhpcy5l
bGVtZW50WzBdLGEse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmQodGhpcy5vcHRpb25zLml0ZW1z
LHRoaXMuZWxlbWVudCksCit0aGlzXV0sZT10aGlzLl9jb25uZWN0V2l0aCgpO2lmKGUpZm9yKHZh
ciBmPWUubGVuZ3RoLTE7Zj49MDtmLS0pZm9yKHZhciBnPWQoZVtmXSksaD1nLmxlbmd0aC0xO2g+
PTA7aC0tKXt2YXIgaT1kLmRhdGEoZ1toXSwic29ydGFibGUiKTtpZihpJiZpIT10aGlzJiYhaS5v
cHRpb25zLmRpc2FibGVkKXtjLnB1c2goW2QuaXNGdW5jdGlvbihpLm9wdGlvbnMuaXRlbXMpP2ku
b3B0aW9ucy5pdGVtcy5jYWxsKGkuZWxlbWVudFswXSxhLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19
KTpkKGkub3B0aW9ucy5pdGVtcyxpLmVsZW1lbnQpLGldKTt0aGlzLmNvbnRhaW5lcnMucHVzaChp
KX19Zm9yKGY9Yy5sZW5ndGgtMTtmPj0wO2YtLSl7YT1jW2ZdWzFdO2U9Y1tmXVswXTtoPTA7Zm9y
KGc9ZS5sZW5ndGg7aDxnO2grKyl7aT1kKGVbaF0pO2kuZGF0YSgic29ydGFibGUtaXRlbSIsYSk7
Yi5wdXNoKHtpdGVtOmksaW5zdGFuY2U6YSx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH0p
fX19LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oYSl7aWYodGhpcy5vZmZzZXRQYXJlbnQmJgor
dGhpcy5oZWxwZXIpdGhpcy5vZmZzZXQucGFyZW50PXRoaXMuX2dldFBhcmVudE9mZnNldCgpO2Zv
cih2YXIgYj10aGlzLml0ZW1zLmxlbmd0aC0xO2I+PTA7Yi0tKXt2YXIgYz10aGlzLml0ZW1zW2Jd
O2lmKCEoYy5pbnN0YW5jZSE9dGhpcy5jdXJyZW50Q29udGFpbmVyJiZ0aGlzLmN1cnJlbnRDb250
YWluZXImJmMuaXRlbVswXSE9dGhpcy5jdXJyZW50SXRlbVswXSkpe3ZhciBlPXRoaXMub3B0aW9u
cy50b2xlcmFuY2VFbGVtZW50P2QodGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQsYy5pdGVt
KTpjLml0ZW07aWYoIWEpe2Mud2lkdGg9ZS5vdXRlcldpZHRoKCk7Yy5oZWlnaHQ9ZS5vdXRlckhl
aWdodCgpfWU9ZS5vZmZzZXQoKTtjLmxlZnQ9ZS5sZWZ0O2MudG9wPWUudG9wfX1pZih0aGlzLm9w
dGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzKXRoaXMu
b3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKTtlbHNlIGZvcihiPQor
dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2I+PTA7Yi0tKXtlPXRoaXMuY29udGFpbmVyc1tiXS5l
bGVtZW50Lm9mZnNldCgpO3RoaXMuY29udGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS5sZWZ0PWUu
bGVmdDt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUudG9wPWUudG9wO3RoaXMuY29u
dGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlzLmNvbnRhaW5lcnNbYl0uZWxlbWVu
dC5vdXRlcldpZHRoKCk7dGhpcy5jb250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hlLmhlaWdodD10
aGlzLmNvbnRhaW5lcnNbYl0uZWxlbWVudC5vdXRlckhlaWdodCgpfXJldHVybiB0aGlzfSxfY3Jl
YXRlUGxhY2Vob2xkZXI6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dGhpcyxjPWIub3B0aW9ucztpZigh
Yy5wbGFjZWhvbGRlcnx8Yy5wbGFjZWhvbGRlci5jb25zdHJ1Y3Rvcj09U3RyaW5nKXt2YXIgZT1j
LnBsYWNlaG9sZGVyO2MucGxhY2Vob2xkZXI9e2VsZW1lbnQ6ZnVuY3Rpb24oKXt2YXIgZj0KK2Qo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmN1cnJlbnRJdGVtWzBdLm5vZGVOYW1lKSkuYWRkQ2xh
c3MoZXx8Yi5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1aS1zb3J0YWJsZS1wbGFjZWhvbGRl
ciIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKVswXTtpZighZSlmLnN0eWxlLnZp
c2liaWxpdHk9ImhpZGRlbiI7cmV0dXJuIGZ9LHVwZGF0ZTpmdW5jdGlvbihmLGcpe2lmKCEoZSYm
IWMuZm9yY2VQbGFjZWhvbGRlclNpemUpKXtnLmhlaWdodCgpfHxnLmhlaWdodChiLmN1cnJlbnRJ
dGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdUb3Ai
KXx8MCwxMCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdCb3R0b20iKXx8MCwx
MCkpO2cud2lkdGgoKXx8Zy53aWR0aChiLmN1cnJlbnRJdGVtLmlubmVyV2lkdGgoKS1wYXJzZUlu
dChiLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0xlZnQiKXx8MCwxMCktcGFyc2VJbnQoYi5jdXJy
ZW50SXRlbS5jc3MoInBhZGRpbmdSaWdodCIpfHwKKzAsMTApKX19fX1iLnBsYWNlaG9sZGVyPWQo
Yy5wbGFjZWhvbGRlci5lbGVtZW50LmNhbGwoYi5lbGVtZW50LGIuY3VycmVudEl0ZW0pKTtiLmN1
cnJlbnRJdGVtLmFmdGVyKGIucGxhY2Vob2xkZXIpO2MucGxhY2Vob2xkZXIudXBkYXRlKGIsYi5w
bGFjZWhvbGRlcil9LF9jb250YWN0Q29udGFpbmVyczpmdW5jdGlvbihhKXtmb3IodmFyIGI9bnVs
bCxjPW51bGwsZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0paWYoIWQudWkuY29u
dGFpbnModGhpcy5jdXJyZW50SXRlbVswXSx0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSkp
aWYodGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hl
KSl7aWYoIShiJiZkLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tlXS5lbGVtZW50WzBdLGIu
ZWxlbWVudFswXSkpKXtiPXRoaXMuY29udGFpbmVyc1tlXTtjPWV9fWVsc2UgaWYodGhpcy5jb250
YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dl
cigib3V0IiwKK2EsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFp
bmVyQ2FjaGUub3Zlcj0wfWlmKGIpaWYodGhpcy5jb250YWluZXJzLmxlbmd0aD09PTEpe3RoaXMu
Y29udGFpbmVyc1tjXS5fdHJpZ2dlcigib3ZlciIsYSx0aGlzLl91aUhhc2godGhpcykpO3RoaXMu
Y29udGFpbmVyc1tjXS5jb250YWluZXJDYWNoZS5vdmVyPTF9ZWxzZSBpZih0aGlzLmN1cnJlbnRD
b250YWluZXIhPXRoaXMuY29udGFpbmVyc1tjXSl7Yj0xRTQ7ZT1udWxsO2Zvcih2YXIgZj10aGlz
LnBvc2l0aW9uQWJzW3RoaXMuY29udGFpbmVyc1tjXS5mbG9hdGluZz8ibGVmdCI6InRvcCJdLGc9
dGhpcy5pdGVtcy5sZW5ndGgtMTtnPj0wO2ctLSlpZihkLnVpLmNvbnRhaW5zKHRoaXMuY29udGFp
bmVyc1tjXS5lbGVtZW50WzBdLHRoaXMuaXRlbXNbZ10uaXRlbVswXSkpe3ZhciBoPXRoaXMuaXRl
bXNbZ11bdGhpcy5jb250YWluZXJzW2NdLmZsb2F0aW5nPyJsZWZ0IjoidG9wIl07aWYoTWF0aC5h
YnMoaC0KK2YpPGIpe2I9TWF0aC5hYnMoaC1mKTtlPXRoaXMuaXRlbXNbZ119fWlmKGV8fHRoaXMu
b3B0aW9ucy5kcm9wT25FbXB0eSl7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXMuY29udGFpbmVy
c1tjXTtlP3RoaXMuX3JlYXJyYW5nZShhLGUsbnVsbCx0cnVlKTp0aGlzLl9yZWFycmFuZ2UoYSxu
dWxsLHRoaXMuY29udGFpbmVyc1tjXS5lbGVtZW50LHRydWUpO3RoaXMuX3RyaWdnZXIoImNoYW5n
ZSIsYSx0aGlzLl91aUhhc2goKSk7dGhpcy5jb250YWluZXJzW2NdLl90cmlnZ2VyKCJjaGFuZ2Ui
LGEsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIudXBkYXRlKHRo
aXMuY3VycmVudENvbnRhaW5lcix0aGlzLnBsYWNlaG9sZGVyKTt0aGlzLmNvbnRhaW5lcnNbY10u
X3RyaWdnZXIoIm92ZXIiLGEsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbY10u
Y29udGFpbmVyQ2FjaGUub3Zlcj0xfX19LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oYSl7dmFyIGI9
Cit0aGlzLm9wdGlvbnM7YT1kLmlzRnVuY3Rpb24oYi5oZWxwZXIpP2QoYi5oZWxwZXIuYXBwbHko
dGhpcy5lbGVtZW50WzBdLFthLHRoaXMuY3VycmVudEl0ZW1dKSk6Yi5oZWxwZXI9PSJjbG9uZSI/
dGhpcy5jdXJyZW50SXRlbS5jbG9uZSgpOnRoaXMuY3VycmVudEl0ZW07YS5wYXJlbnRzKCJib2R5
IikubGVuZ3RofHxkKGIuYXBwZW5kVG8hPSJwYXJlbnQiP2IuYXBwZW5kVG86dGhpcy5jdXJyZW50
SXRlbVswXS5wYXJlbnROb2RlKVswXS5hcHBlbmRDaGlsZChhWzBdKTtpZihhWzBdPT10aGlzLmN1
cnJlbnRJdGVtWzBdKXRoaXMuX3N0b3JlZENTUz17d2lkdGg6dGhpcy5jdXJyZW50SXRlbVswXS5z
dHlsZS53aWR0aCxoZWlnaHQ6dGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS5oZWlnaHQscG9zaXRp
b246dGhpcy5jdXJyZW50SXRlbS5jc3MoInBvc2l0aW9uIiksdG9wOnRoaXMuY3VycmVudEl0ZW0u
Y3NzKCJ0b3AiKSxsZWZ0OnRoaXMuY3VycmVudEl0ZW0uY3NzKCJsZWZ0Iil9O2lmKGFbMF0uc3R5
bGUud2lkdGg9PQorIiJ8fGIuZm9yY2VIZWxwZXJTaXplKWEud2lkdGgodGhpcy5jdXJyZW50SXRl
bS53aWR0aCgpKTtpZihhWzBdLnN0eWxlLmhlaWdodD09IiJ8fGIuZm9yY2VIZWxwZXJTaXplKWEu
aGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpO3JldHVybiBhfSxfYWRqdXN0T2Zmc2V0
RnJvbUhlbHBlcjpmdW5jdGlvbihhKXtpZih0eXBlb2YgYT09InN0cmluZyIpYT1hLnNwbGl0KCIg
Iik7aWYoZC5pc0FycmF5KGEpKWE9e2xlZnQ6K2FbMF0sdG9wOithWzFdfHwwfTtpZigibGVmdCJp
biBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9YS5sZWZ0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJy
aWdodCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53
aWR0aC1hLnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJ0b3AiaW4gYSl0aGlzLm9mZnNldC5j
bGljay50b3A9YS50b3ArdGhpcy5tYXJnaW5zLnRvcDtpZigiYm90dG9tImluIGEpdGhpcy5vZmZz
ZXQuY2xpY2sudG9wPQordGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtYS5ib3R0b20rdGhp
cy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFy
ZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50Lm9m
ZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJnRoaXMuc2Nyb2xsUGFyZW50
WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9m
ZnNldFBhcmVudFswXSkpe2EubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpO2Eu
dG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKX1pZih0aGlzLm9mZnNldFBhcmVudFsw
XT09ZG9jdW1lbnQuYm9keXx8dGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZSYmdGhpcy5vZmZz
ZXRQYXJlbnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0iaHRtbCImJmQuYnJvd3Nlci5tc2ll
KWE9Cit7dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmEudG9wKyhwYXJzZUludCh0aGlzLm9mZnNl
dFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmEubGVmdCsocGFyc2VJ
bnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dl
dFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5jc3NQb3NpdGlvbj09InJlbGF0aXZl
Iil7dmFyIGE9dGhpcy5jdXJyZW50SXRlbS5wb3NpdGlvbigpO3JldHVybnt0b3A6YS50b3AtKHBh
cnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5z
Y3JvbGxUb3AoKSxsZWZ0OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0Iiks
MTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDow
LGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFy
c2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpbkxlZnQiKSwKKzEwKXx8MCx0b3A6cGFy
c2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MH19LF9jYWNoZUhl
bHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6
dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgp
fX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO2lmKGEuY29u
dGFpbm1lbnQ9PSJwYXJlbnQiKWEuY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9k
ZTtpZihhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQifHxhLmNvbnRhaW5tZW50PT0id2luZG93Iil0
aGlzLmNvbnRhaW5tZW50PVswLXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQu
cGFyZW50LmxlZnQsMC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50
LnRvcCxkKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/Citkb2N1bWVudDp3aW5kb3cpLndpZHRo
KCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoZChhLmNv
bnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRvdykuaGVpZ2h0KCl8fGRvY3VtZW50
LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVp
Z2h0LXRoaXMubWFyZ2lucy50b3BdO2lmKCEvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvLnRl
c3QoYS5jb250YWlubWVudCkpe3ZhciBiPWQoYS5jb250YWlubWVudClbMF07YT1kKGEuY29udGFp
bm1lbnQpLm9mZnNldCgpO3ZhciBjPWQoYikuY3NzKCJvdmVyZmxvdyIpIT0iaGlkZGVuIjt0aGlz
LmNvbnRhaW5tZW50PVthLmxlZnQrKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJMZWZ0V2lkdGgi
KSwxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLXRoaXMu
bWFyZ2lucy5sZWZ0LGEudG9wKyhwYXJzZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwK
KzEwKXx8MCkrKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKS10aGlzLm1h
cmdpbnMudG9wLGEubGVmdCsoYz9NYXRoLm1heChiLnNjcm9sbFdpZHRoLGIub2Zmc2V0V2lkdGgp
OmIub2Zmc2V0V2lkdGgpLShwYXJzZUludChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTAp
fHwwKS0ocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxhLnRvcCsoYz9NYXRoLm1heChi
LnNjcm9sbEhlaWdodCxiLm9mZnNldEhlaWdodCk6Yi5vZmZzZXRIZWlnaHQpLShwYXJzZUludChk
KGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChkKGIpLmNzcygicGFk
ZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5t
YXJnaW5zLnRvcF19fSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24oYSxiKXtpZighYiliPQor
dGhpcy5wb3NpdGlvbjthPWE9PSJhYnNvbHV0ZSI/MTotMTt2YXIgYz10aGlzLmNzc1Bvc2l0aW9u
PT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250
YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zm
c2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGU9LyhodG1sfGJvZHkpL2kudGVzdChjWzBdLnRh
Z05hbWUpO3JldHVybnt0b3A6Yi50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmErdGhpcy5v
ZmZzZXQucGFyZW50LnRvcCphLShkLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0aW9uPT0i
Zml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNj
cm9sbFRvcCgpOmU/MDpjLnNjcm9sbFRvcCgpKSphKSxsZWZ0OmIubGVmdCt0aGlzLm9mZnNldC5y
ZWxhdGl2ZS5sZWZ0KmErdGhpcy5vZmZzZXQucGFyZW50LmxlZnQqYS0oZC5icm93c2VyLnNhZmFy
aSYmCit0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhl
ZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTplPzA6Yy5zY3JvbGxMZWZ0KCkpKmEp
fX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zLGM9dGhp
cy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1l
bnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRb
MF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxlPS8oaHRtbHxib2R5KS9p
LnRlc3QoY1swXS50YWdOYW1lKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0icmVsYXRpdmUiJiYhKHRo
aXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPXRoaXMu
b2Zmc2V0UGFyZW50WzBdKSl0aGlzLm9mZnNldC5yZWxhdGl2ZT10aGlzLl9nZXRSZWxhdGl2ZU9m
ZnNldCgpOwordmFyIGY9YS5wYWdlWCxnPWEucGFnZVk7aWYodGhpcy5vcmlnaW5hbFBvc2l0aW9u
KXtpZih0aGlzLmNvbnRhaW5tZW50KXtpZihhLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8
dGhpcy5jb250YWlubWVudFswXSlmPXRoaXMuY29udGFpbm1lbnRbMF0rdGhpcy5vZmZzZXQuY2xp
Y2subGVmdDtpZihhLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50
WzFdKWc9dGhpcy5jb250YWlubWVudFsxXSt0aGlzLm9mZnNldC5jbGljay50b3A7aWYoYS5wYWdl
WC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pZj10aGlzLmNvbnRh
aW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdlWS10aGlzLm9mZnNldC5j
bGljay50b3A+dGhpcy5jb250YWlubWVudFszXSlnPXRoaXMuY29udGFpbm1lbnRbM10rdGhpcy5v
ZmZzZXQuY2xpY2sudG9wfWlmKGIuZ3JpZCl7Zz10aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3Vu
ZCgoZy0KK3RoaXMub3JpZ2luYWxQYWdlWSkvYi5ncmlkWzFdKSpiLmdyaWRbMV07Zz10aGlzLmNv
bnRhaW5tZW50PyEoZy10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVudFsxXXx8
Zy10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSk/ZzohKGctdGhpcy5v
ZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0pP2ctYi5ncmlkWzFdOmcrYi5ncmlk
WzFdOmc7Zj10aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoZi10aGlzLm9yaWdpbmFsUGFn
ZVgpL2IuZ3JpZFswXSkqYi5ncmlkWzBdO2Y9dGhpcy5jb250YWlubWVudD8hKGYtdGhpcy5vZmZz
ZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdfHxmLXRoaXMub2Zmc2V0LmNsaWNrLmxl
ZnQ+dGhpcy5jb250YWlubWVudFsyXSk/ZjohKGYtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlz
LmNvbnRhaW5tZW50WzBdKT9mLWIuZ3JpZFswXTpmK2IuZ3JpZFswXTpmfX1yZXR1cm57dG9wOmct
Cit0aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zm
c2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhl
ZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxU
b3AoKTplPzA6Yy5zY3JvbGxUb3AoKSksbGVmdDpmLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQtdGhp
cy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoZC5icm93c2Vy
LnNhZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRpb249PSJm
aXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTplPzA6Yy5zY3JvbGxMZWZ0KCkp
fX0sX3JlYXJyYW5nZTpmdW5jdGlvbihhLGIsYyxlKXtjP2NbMF0uYXBwZW5kQ2hpbGQodGhpcy5w
bGFjZWhvbGRlclswXSk6Yi5pdGVtWzBdLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMucGxh
Y2Vob2xkZXJbMF0sCit0aGlzLmRpcmVjdGlvbj09ImRvd24iP2IuaXRlbVswXTpiLml0ZW1bMF0u
bmV4dFNpYmxpbmcpO3RoaXMuY291bnRlcj10aGlzLmNvdW50ZXI/Kyt0aGlzLmNvdW50ZXI6MTt2
YXIgZj10aGlzLGc9dGhpcy5jb3VudGVyO3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zz09
Zi5jb3VudGVyJiZmLnJlZnJlc2hQb3NpdGlvbnMoIWUpfSwwKX0sX2NsZWFyOmZ1bmN0aW9uKGEs
Yil7dGhpcy5yZXZlcnRpbmc9ZmFsc2U7dmFyIGM9W107IXRoaXMuX25vRmluYWxTb3J0JiZ0aGlz
LmN1cnJlbnRJdGVtLnBhcmVudCgpLmxlbmd0aCYmdGhpcy5wbGFjZWhvbGRlci5iZWZvcmUodGhp
cy5jdXJyZW50SXRlbSk7dGhpcy5fbm9GaW5hbFNvcnQ9bnVsbDtpZih0aGlzLmhlbHBlclswXT09
dGhpcy5jdXJyZW50SXRlbVswXSl7Zm9yKHZhciBlIGluIHRoaXMuX3N0b3JlZENTUylpZih0aGlz
Ll9zdG9yZWRDU1NbZV09PSJhdXRvInx8dGhpcy5fc3RvcmVkQ1NTW2VdPT0ic3RhdGljIil0aGlz
Ll9zdG9yZWRDU1NbZV09CisiIjt0aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1Mp
LnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKX1lbHNlIHRoaXMuY3VycmVudEl0ZW0u
c2hvdygpO3RoaXMuZnJvbU91dHNpZGUmJiFiJiZjLnB1c2goZnVuY3Rpb24oZil7dGhpcy5fdHJp
Z2dlcigicmVjZWl2ZSIsZix0aGlzLl91aUhhc2godGhpcy5mcm9tT3V0c2lkZSkpfSk7aWYoKHRo
aXMuZnJvbU91dHNpZGV8fHRoaXMuZG9tUG9zaXRpb24ucHJldiE9dGhpcy5jdXJyZW50SXRlbS5w
cmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF18fHRoaXMuZG9tUG9zaXRpb24ucGFy
ZW50IT10aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdKSYmIWIpYy5wdXNoKGZ1bmN0aW9uKGYp
e3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZix0aGlzLl91aUhhc2goKSl9KTtpZighZC51aS5jb250
YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50SXRlbVswXSkpe2J8fGMucHVzaChmdW5j
dGlvbihmKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLAorZix0aGlzLl91aUhhc2goKSl9KTtmb3Io
ZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0paWYoZC51aS5jb250YWlucyh0aGlz
LmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSx0aGlzLmN1cnJlbnRJdGVtWzBdKSYmIWIpe2MucHVz
aChmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigicmVjZWl2ZSIsZyx0
aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY29udGFpbmVyc1tlXSkpO2MucHVz
aChmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7Zi5fdHJpZ2dlcigidXBkYXRlIixnLHRo
aXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2VdKSl9fWZvcihl
PXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtlPj0wO2UtLSl7Ynx8Yy5wdXNoKGZ1bmN0aW9uKGYp
e3JldHVybiBmdW5jdGlvbihnKXtmLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixnLHRoaXMuX3VpSGFz
aCh0aGlzKSl9fS5jYWxsKHRoaXMsCit0aGlzLmNvbnRhaW5lcnNbZV0pKTtpZih0aGlzLmNvbnRh
aW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcil7Yy5wdXNoKGZ1bmN0aW9uKGYpe3JldHVybiBm
dW5jdGlvbihnKXtmLl90cmlnZ2VyKCJvdXQiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwo
dGhpcyx0aGlzLmNvbnRhaW5lcnNbZV0pKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2Fj
aGUub3Zlcj0wfX10aGlzLl9zdG9yZWRDdXJzb3ImJmQoImJvZHkiKS5jc3MoImN1cnNvciIsdGhp
cy5fc3RvcmVkQ3Vyc29yKTt0aGlzLl9zdG9yZWRPcGFjaXR5JiZ0aGlzLmhlbHBlci5jc3MoIm9w
YWNpdHkiLHRoaXMuX3N0b3JlZE9wYWNpdHkpO2lmKHRoaXMuX3N0b3JlZFpJbmRleCl0aGlzLmhl
bHBlci5jc3MoInpJbmRleCIsdGhpcy5fc3RvcmVkWkluZGV4PT0iYXV0byI/IiI6dGhpcy5fc3Rv
cmVkWkluZGV4KTt0aGlzLmRyYWdnaW5nPWZhbHNlO2lmKHRoaXMuY2FuY2VsSGVscGVyUmVtb3Zh
bCl7aWYoIWIpe3RoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLAorYSx0aGlzLl91aUhhc2goKSk7
Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKyljW2VdLmNhbGwodGhpcyxhKTt0aGlzLl90cmlnZ2VyKCJz
dG9wIixhLHRoaXMuX3VpSGFzaCgpKX1yZXR1cm4gZmFsc2V9Ynx8dGhpcy5fdHJpZ2dlcigiYmVm
b3JlU3RvcCIsYSx0aGlzLl91aUhhc2goKSk7dGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3RoaXMuaGVscGVyWzBdIT10aGlzLmN1
cnJlbnRJdGVtWzBdJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlzLmhlbHBlcj1udWxsO2lmKCFi
KXtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWNbZV0uY2FsbCh0aGlzLGEpO3RoaXMuX3RyaWdnZXIo
InN0b3AiLGEsdGhpcy5fdWlIYXNoKCkpfXRoaXMuZnJvbU91dHNpZGU9ZmFsc2U7cmV0dXJuIHRy
dWV9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7ZC5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmFwcGx5
KHRoaXMsYXJndW1lbnRzKT09PWZhbHNlJiZ0aGlzLmNhbmNlbCgpfSwKK191aUhhc2g6ZnVuY3Rp
b24oYSl7dmFyIGI9YXx8dGhpcztyZXR1cm57aGVscGVyOmIuaGVscGVyLHBsYWNlaG9sZGVyOmIu
cGxhY2Vob2xkZXJ8fGQoW10pLHBvc2l0aW9uOmIucG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjpi
Lm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OmIucG9zaXRpb25BYnMsaXRlbTpiLmN1cnJlbnRJdGVt
LHNlbmRlcjphP2EuZWxlbWVudDpudWxsfX19KTtkLmV4dGVuZChkLnVpLnNvcnRhYmxlLHt2ZXJz
aW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS5zb3J0YWJs
ZS5taW4uanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxsb3ctdGFicwojIyAtMCwwICsxICMjCitPTgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3Jn
L2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91
aS9qcXVlcnkudWkudGFicy5taW4uanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS51aS50YWJzLm1pbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogalF1ZXJ5IFVJIFRhYnMgMS44
LjE1CisgKgorICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWku
Y29tL2Fib3V0KQorICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9u
IDIgbGljZW5zZXMuCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogaHR0cDov
L2RvY3MuanF1ZXJ5LmNvbS9VSS9UYWJzCisgKgorICogRGVwZW5kczoKKyAqCWpxdWVyeS51aS5j
b3JlLmpzCisgKglqcXVlcnkudWkud2lkZ2V0LmpzCisgKi8KKyhmdW5jdGlvbihkLHApe2Z1bmN0
aW9uIHUoKXtyZXR1cm4rK3Z9ZnVuY3Rpb24gdygpe3JldHVybisreH12YXIgdj0wLHg9MDtkLndp
ZGdldCgidWkudGFicyIse29wdGlvbnM6e2FkZDpudWxsLGFqYXhPcHRpb25zOm51bGwsY2FjaGU6
ZmFsc2UsY29va2llOm51bGwsY29sbGFwc2libGU6ZmFsc2UsZGlzYWJsZTpudWxsLGRpc2FibGVk
OltdLGVuYWJsZTpudWxsLGV2ZW50OiJjbGljayIsZng6bnVsbCxpZFByZWZpeDoidWktdGFicy0i
LGxvYWQ6bnVsbCxwYW5lbFRlbXBsYXRlOiI8ZGl2PjwvZGl2PiIscmVtb3ZlOm51bGwsc2VsZWN0
Om51bGwsc2hvdzpudWxsLHNwaW5uZXI6IjxlbT5Mb2FkaW5nJiM4MjMwOzwvZW0+Iix0YWJUZW1w
bGF0ZToiPGxpPjxhIGhyZWY9JyN7aHJlZn0nPjxzcGFuPiN7bGFiZWx9PC9zcGFuPjwvYT48L2xp
PiJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl90YWJpZnkodHJ1ZSl9LF9zZXRPcHRpb246ZnVu
Y3Rpb24oYixlKXtpZihiPT0ic2VsZWN0ZWQiKXRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSYmCitl
PT10aGlzLm9wdGlvbnMuc2VsZWN0ZWR8fHRoaXMuc2VsZWN0KGUpO2Vsc2V7dGhpcy5vcHRpb25z
W2JdPWU7dGhpcy5fdGFiaWZ5KCl9fSxfdGFiSWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGIudGl0bGUm
JmIudGl0bGUucmVwbGFjZSgvXHMvZywiXyIpLnJlcGxhY2UoL1teXHdcdTAwYzAtXHVGRkZGLV0v
ZywiIil8fHRoaXMub3B0aW9ucy5pZFByZWZpeCt1KCl9LF9zYW5pdGl6ZVNlbGVjdG9yOmZ1bmN0
aW9uKGIpe3JldHVybiBiLnJlcGxhY2UoLzovZywiXFw6Iil9LF9jb29raWU6ZnVuY3Rpb24oKXt2
YXIgYj10aGlzLmNvb2tpZXx8KHRoaXMuY29va2llPXRoaXMub3B0aW9ucy5jb29raWUubmFtZXx8
InVpLXRhYnMtIit3KCkpO3JldHVybiBkLmNvb2tpZS5hcHBseShudWxsLFtiXS5jb25jYXQoZC5t
YWtlQXJyYXkoYXJndW1lbnRzKSkpfSxfdWk6ZnVuY3Rpb24oYixlKXtyZXR1cm57dGFiOmIscGFu
ZWw6ZSxpbmRleDp0aGlzLmFuY2hvcnMuaW5kZXgoYil9fSxfY2xlYW51cDpmdW5jdGlvbigpe3Ro
aXMubGlzLmZpbHRlcigiLnVpLXN0YXRlLXByb2Nlc3NpbmciKS5yZW1vdmVDbGFzcygidWktc3Rh
dGUtcHJvY2Vzc2luZyIpLmZpbmQoInNwYW46ZGF0YShsYWJlbC50YWJzKSIpLmVhY2goZnVuY3Rp
b24oKXt2YXIgYj0KK2QodGhpcyk7Yi5odG1sKGIuZGF0YSgibGFiZWwudGFicyIpKS5yZW1vdmVE
YXRhKCJsYWJlbC50YWJzIil9KX0sX3RhYmlmeTpmdW5jdGlvbihiKXtmdW5jdGlvbiBlKGcsZil7
Zy5jc3MoImRpc3BsYXkiLCIiKTshZC5zdXBwb3J0Lm9wYWNpdHkmJmYub3BhY2l0eSYmZ1swXS5z
dHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfXZhciBhPXRoaXMsYz10aGlzLm9wdGlvbnMs
aD0vXiMuKy87dGhpcy5saXN0PXRoaXMuZWxlbWVudC5maW5kKCJvbCx1bCIpLmVxKDApO3RoaXMu
bGlzPWQoIiA+IGxpOmhhcyhhW2hyZWZdKSIsdGhpcy5saXN0KTt0aGlzLmFuY2hvcnM9dGhpcy5s
aXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGQoImEiLHRoaXMpWzBdfSk7dGhpcy5wYW5lbHM9ZChb
XSk7dGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24oZyxmKXt2YXIgaT1kKGYpLmF0dHIoImhyZWYi
KSxsPWkuc3BsaXQoIiMiKVswXSxxO2lmKGwmJihsPT09bG9jYXRpb24udG9TdHJpbmcoKS5zcGxp
dCgiIyIpWzBdfHwKKyhxPWQoImJhc2UiKVswXSkmJmw9PT1xLmhyZWYpKXtpPWYuaGFzaDtmLmhy
ZWY9aX1pZihoLnRlc3QoaSkpYS5wYW5lbHM9YS5wYW5lbHMuYWRkKGEuZWxlbWVudC5maW5kKGEu
X3Nhbml0aXplU2VsZWN0b3IoaSkpKTtlbHNlIGlmKGkmJmkhPT0iIyIpe2QuZGF0YShmLCJocmVm
LnRhYnMiLGkpO2QuZGF0YShmLCJsb2FkLnRhYnMiLGkucmVwbGFjZSgvIy4qJC8sIiIpKTtpPWEu
X3RhYklkKGYpO2YuaHJlZj0iIyIraTtmPWEuZWxlbWVudC5maW5kKCIjIitpKTtpZighZi5sZW5n
dGgpe2Y9ZChjLnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIixpKS5hZGRDbGFzcygidWktdGFicy1w
YW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIikuaW5zZXJ0QWZ0ZXIoYS5w
YW5lbHNbZy0xXXx8YS5saXN0KTtmLmRhdGEoImRlc3Ryb3kudGFicyIsdHJ1ZSl9YS5wYW5lbHM9
YS5wYW5lbHMuYWRkKGYpfWVsc2UgYy5kaXNhYmxlZC5wdXNoKGcpfSk7aWYoYil7dGhpcy5lbGVt
ZW50LmFkZENsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3Ju
ZXItYWxsIik7Cit0aGlzLmxpc3QuYWRkQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNl
dCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIik7dGhp
cy5saXMuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIpO3RoaXMucGFu
ZWxzLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1i
b3R0b20iKTtpZihjLnNlbGVjdGVkPT09cCl7bG9jYXRpb24uaGFzaCYmdGhpcy5hbmNob3JzLmVh
Y2goZnVuY3Rpb24oZyxmKXtpZihmLmhhc2g9PWxvY2F0aW9uLmhhc2gpe2Muc2VsZWN0ZWQ9Zzty
ZXR1cm4gZmFsc2V9fSk7aWYodHlwZW9mIGMuc2VsZWN0ZWQhPT0ibnVtYmVyIiYmYy5jb29raWUp
Yy5zZWxlY3RlZD1wYXJzZUludChhLl9jb29raWUoKSwxMCk7aWYodHlwZW9mIGMuc2VsZWN0ZWQh
PT0ibnVtYmVyIiYmdGhpcy5saXMuZmlsdGVyKCIudWktdGFicy1zZWxlY3RlZCIpLmxlbmd0aClj
LnNlbGVjdGVkPQordGhpcy5saXMuaW5kZXgodGhpcy5saXMuZmlsdGVyKCIudWktdGFicy1zZWxl
Y3RlZCIpKTtjLnNlbGVjdGVkPWMuc2VsZWN0ZWR8fCh0aGlzLmxpcy5sZW5ndGg/MDotMSl9ZWxz
ZSBpZihjLnNlbGVjdGVkPT09bnVsbCljLnNlbGVjdGVkPS0xO2Muc2VsZWN0ZWQ9Yy5zZWxlY3Rl
ZD49MCYmdGhpcy5hbmNob3JzW2Muc2VsZWN0ZWRdfHxjLnNlbGVjdGVkPDA/Yy5zZWxlY3RlZDow
O2MuZGlzYWJsZWQ9ZC51bmlxdWUoYy5kaXNhYmxlZC5jb25jYXQoZC5tYXAodGhpcy5saXMuZmls
dGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihnKXtyZXR1cm4gYS5saXMuaW5kZXgo
Zyl9KSkpLnNvcnQoKTtkLmluQXJyYXkoYy5zZWxlY3RlZCxjLmRpc2FibGVkKSE9LTEmJmMuZGlz
YWJsZWQuc3BsaWNlKGQuaW5BcnJheShjLnNlbGVjdGVkLGMuZGlzYWJsZWQpLDEpO3RoaXMucGFu
ZWxzLmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxpcy5yZW1vdmVDbGFzcygidWktdGFi
cy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTsKK2lmKGMuc2VsZWN0ZWQ+PTAmJnRoaXMuYW5j
aG9ycy5sZW5ndGgpe2EuZWxlbWVudC5maW5kKGEuX3Nhbml0aXplU2VsZWN0b3IoYS5hbmNob3Jz
W2Muc2VsZWN0ZWRdLmhhc2gpKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIik7dGhpcy5saXMu
ZXEoYy5zZWxlY3RlZCkuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZl
Iik7YS5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe2EuX3RyaWdnZXIoInNob3ciLG51
bGwsYS5fdWkoYS5hbmNob3JzW2Muc2VsZWN0ZWRdLGEuZWxlbWVudC5maW5kKGEuX3Nhbml0aXpl
U2VsZWN0b3IoYS5hbmNob3JzW2Muc2VsZWN0ZWRdLmhhc2gpKVswXSkpfSk7dGhpcy5sb2FkKGMu
c2VsZWN0ZWQpfWQod2luZG93KS5iaW5kKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7YS5saXMuYWRkKGEu
YW5jaG9ycykudW5iaW5kKCIudGFicyIpO2EubGlzPWEuYW5jaG9ycz1hLnBhbmVscz1udWxsfSl9
ZWxzZSBjLnNlbGVjdGVkPXRoaXMubGlzLmluZGV4KHRoaXMubGlzLmZpbHRlcigiLnVpLXRhYnMt
c2VsZWN0ZWQiKSk7Cit0aGlzLmVsZW1lbnRbYy5jb2xsYXBzaWJsZT8iYWRkQ2xhc3MiOiJyZW1v
dmVDbGFzcyJdKCJ1aS10YWJzLWNvbGxhcHNpYmxlIik7Yy5jb29raWUmJnRoaXMuX2Nvb2tpZShj
LnNlbGVjdGVkLGMuY29va2llKTtiPTA7Zm9yKHZhciBqO2o9dGhpcy5saXNbYl07YisrKWQoailb
ZC5pbkFycmF5KGIsYy5kaXNhYmxlZCkhPS0xJiYhZChqKS5oYXNDbGFzcygidWktdGFicy1zZWxl
Y3RlZCIpPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXN0YXRlLWRpc2FibGVkIik7Yy5j
YWNoZT09PWZhbHNlJiZ0aGlzLmFuY2hvcnMucmVtb3ZlRGF0YSgiY2FjaGUudGFicyIpO3RoaXMu
bGlzLmFkZCh0aGlzLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTtpZihjLmV2ZW50IT09Im1vdXNl
b3ZlciIpe3ZhciBrPWZ1bmN0aW9uKGcsZil7Zi5pcygiOm5vdCgudWktc3RhdGUtZGlzYWJsZWQp
IikmJmYuYWRkQ2xhc3MoInVpLXN0YXRlLSIrZyl9LG49ZnVuY3Rpb24oZyxmKXtmLnJlbW92ZUNs
YXNzKCJ1aS1zdGF0ZS0iKworZyl9O3RoaXMubGlzLmJpbmQoIm1vdXNlb3Zlci50YWJzIixmdW5j
dGlvbigpe2soImhvdmVyIixkKHRoaXMpKX0pO3RoaXMubGlzLmJpbmQoIm1vdXNlb3V0LnRhYnMi
LGZ1bmN0aW9uKCl7bigiaG92ZXIiLGQodGhpcykpfSk7dGhpcy5hbmNob3JzLmJpbmQoImZvY3Vz
LnRhYnMiLGZ1bmN0aW9uKCl7aygiZm9jdXMiLGQodGhpcykuY2xvc2VzdCgibGkiKSl9KTt0aGlz
LmFuY2hvcnMuYmluZCgiYmx1ci50YWJzIixmdW5jdGlvbigpe24oImZvY3VzIixkKHRoaXMpLmNs
b3Nlc3QoImxpIikpfSl9dmFyIG0sbztpZihjLmZ4KWlmKGQuaXNBcnJheShjLmZ4KSl7bT1jLmZ4
WzBdO289Yy5meFsxXX1lbHNlIG09bz1jLmZ4O3ZhciByPW8/ZnVuY3Rpb24oZyxmKXtkKGcpLmNs
b3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7
Zi5oaWRlKCkucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpLmFuaW1hdGUobyxvLmR1cmF0aW9u
fHwibm9ybWFsIiwKK2Z1bmN0aW9uKCl7ZShmLG8pO2EuX3RyaWdnZXIoInNob3ciLG51bGwsYS5f
dWkoZyxmWzBdKSl9KX06ZnVuY3Rpb24oZyxmKXtkKGcpLmNsb3Nlc3QoImxpIikuYWRkQ2xhc3Mo
InVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7Zi5yZW1vdmVDbGFzcygidWktdGFi
cy1oaWRlIik7YS5fdHJpZ2dlcigic2hvdyIsbnVsbCxhLl91aShnLGZbMF0pKX0scz1tP2Z1bmN0
aW9uKGcsZil7Zi5hbmltYXRlKG0sbS5kdXJhdGlvbnx8Im5vcm1hbCIsZnVuY3Rpb24oKXthLmxp
cy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtmLmFkZENs
YXNzKCJ1aS10YWJzLWhpZGUiKTtlKGYsbSk7YS5lbGVtZW50LmRlcXVldWUoInRhYnMiKX0pfTpm
dW5jdGlvbihnLGYpe2EubGlzLnJlbW92ZUNsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRl
LWFjdGl2ZSIpO2YuYWRkQ2xhc3MoInVpLXRhYnMtaGlkZSIpO2EuZWxlbWVudC5kZXF1ZXVlKCJ0
YWJzIil9OwordGhpcy5hbmNob3JzLmJpbmQoYy5ldmVudCsiLnRhYnMiLGZ1bmN0aW9uKCl7dmFy
IGc9dGhpcyxmPWQoZykuY2xvc2VzdCgibGkiKSxpPWEucGFuZWxzLmZpbHRlcigiOm5vdCgudWkt
dGFicy1oaWRlKSIpLGw9YS5lbGVtZW50LmZpbmQoYS5fc2FuaXRpemVTZWxlY3RvcihnLmhhc2gp
KTtpZihmLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIikmJiFjLmNvbGxhcHNpYmxlfHxmLmhh
c0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHxmLmhhc0NsYXNzKCJ1aS1zdGF0ZS1wcm9jZXNz
aW5nIil8fGEucGFuZWxzLmZpbHRlcigiOmFuaW1hdGVkIikubGVuZ3RofHxhLl90cmlnZ2VyKCJz
ZWxlY3QiLG51bGwsYS5fdWkodGhpcyxsWzBdKSk9PT1mYWxzZSl7dGhpcy5ibHVyKCk7cmV0dXJu
IGZhbHNlfWMuc2VsZWN0ZWQ9YS5hbmNob3JzLmluZGV4KHRoaXMpO2EuYWJvcnQoKTtpZihjLmNv
bGxhcHNpYmxlKWlmKGYuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSl7Yy5zZWxlY3RlZD0K
Ky0xO2MuY29va2llJiZhLl9jb29raWUoYy5zZWxlY3RlZCxjLmNvb2tpZSk7YS5lbGVtZW50LnF1
ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3MoZyxpKX0pLmRlcXVldWUoInRhYnMiKTt0aGlzLmJsdXIo
KTtyZXR1cm4gZmFsc2V9ZWxzZSBpZighaS5sZW5ndGgpe2MuY29va2llJiZhLl9jb29raWUoYy5z
ZWxlY3RlZCxjLmNvb2tpZSk7YS5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3IoZyxs
KX0pO2EubG9hZChhLmFuY2hvcnMuaW5kZXgodGhpcykpO3RoaXMuYmx1cigpO3JldHVybiBmYWxz
ZX1jLmNvb2tpZSYmYS5fY29va2llKGMuc2VsZWN0ZWQsYy5jb29raWUpO2lmKGwubGVuZ3RoKXtp
Lmxlbmd0aCYmYS5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3MoZyxpKX0pO2EuZWxl
bWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtyKGcsbCl9KTthLmxvYWQoYS5hbmNob3JzLmlu
ZGV4KHRoaXMpKX1lbHNlIHRocm93ImpRdWVyeSBVSSBUYWJzOiBNaXNtYXRjaGluZyBmcmFnbWVu
dCBpZGVudGlmaWVyLiI7CitkLmJyb3dzZXIubXNpZSYmdGhpcy5ibHVyKCl9KTt0aGlzLmFuY2hv
cnMuYmluZCgiY2xpY2sudGFicyIsZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9KX0sX2dldEluZGV4
OmZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBiPT0ic3RyaW5nIiliPXRoaXMuYW5jaG9ycy5pbmRleCh0
aGlzLmFuY2hvcnMuZmlsdGVyKCJbaHJlZiQ9IitiKyJdIikpO3JldHVybiBifSxkZXN0cm95OmZ1
bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zO3RoaXMuYWJvcnQoKTt0aGlzLmVsZW1lbnQudW5i
aW5kKCIudGFicyIpLnJlbW92ZUNsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29u
dGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2libGUiKS5yZW1vdmVEYXRhKCJ0YWJz
Iik7dGhpcy5saXN0LnJlbW92ZUNsYXNzKCJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWkt
aGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIpO3RoaXMuYW5j
aG9ycy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9CitkLmRhdGEodGhpcywiaHJlZi50YWJzIik7aWYo
ZSl0aGlzLmhyZWY9ZTt2YXIgYT1kKHRoaXMpLnVuYmluZCgiLnRhYnMiKTtkLmVhY2goWyJocmVm
IiwibG9hZCIsImNhY2hlIl0sZnVuY3Rpb24oYyxoKXthLnJlbW92ZURhdGEoaCsiLnRhYnMiKX0p
fSk7dGhpcy5saXMudW5iaW5kKCIudGFicyIpLmFkZCh0aGlzLnBhbmVscykuZWFjaChmdW5jdGlv
bigpe2QuZGF0YSh0aGlzLCJkZXN0cm95LnRhYnMiKT9kKHRoaXMpLnJlbW92ZSgpOmQodGhpcyku
cmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCB1aS10YWJzLXNlbGVj
dGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1ob3ZlciB1aS1zdGF0ZS1mb2N1cyB1aS1zdGF0
ZS1kaXNhYmxlZCB1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0
b20gdWktdGFicy1oaWRlIil9KTtiLmNvb2tpZSYmdGhpcy5fY29va2llKG51bGwsYi5jb29raWUp
O3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oYiwKK2UsYSl7aWYoYT09PXApYT10aGlzLmFuY2hv
cnMubGVuZ3RoO3ZhciBjPXRoaXMsaD10aGlzLm9wdGlvbnM7ZT1kKGgudGFiVGVtcGxhdGUucmVw
bGFjZSgvI1x7aHJlZlx9L2csYikucmVwbGFjZSgvI1x7bGFiZWxcfS9nLGUpKTtiPSFiLmluZGV4
T2YoIiMiKT9iLnJlcGxhY2UoIiMiLCIiKTp0aGlzLl90YWJJZChkKCJhIixlKVswXSk7ZS5hZGRD
bGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIikuZGF0YSgiZGVzdHJveS50YWJz
Iix0cnVlKTt2YXIgaj1jLmVsZW1lbnQuZmluZCgiIyIrYik7ai5sZW5ndGh8fChqPWQoaC5wYW5l
bFRlbXBsYXRlKS5hdHRyKCJpZCIsYikuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKSk7ai5hZGRD
bGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVp
LXRhYnMtaGlkZSIpO2lmKGE+PXRoaXMubGlzLmxlbmd0aCl7ZS5hcHBlbmRUbyh0aGlzLmxpc3Qp
O2ouYXBwZW5kVG8odGhpcy5saXN0WzBdLnBhcmVudE5vZGUpfWVsc2V7ZS5pbnNlcnRCZWZvcmUo
dGhpcy5saXNbYV0pOworai5pbnNlcnRCZWZvcmUodGhpcy5wYW5lbHNbYV0pfWguZGlzYWJsZWQ9
ZC5tYXAoaC5kaXNhYmxlZCxmdW5jdGlvbihrKXtyZXR1cm4gaz49YT8rK2s6a30pO3RoaXMuX3Rh
YmlmeSgpO2lmKHRoaXMuYW5jaG9ycy5sZW5ndGg9PTEpe2guc2VsZWN0ZWQ9MDtlLmFkZENsYXNz
KCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO2oucmVtb3ZlQ2xhc3MoInVpLXRh
YnMtaGlkZSIpO3RoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtjLl90cmlnZ2Vy
KCJzaG93IixudWxsLGMuX3VpKGMuYW5jaG9yc1swXSxjLnBhbmVsc1swXSkpfSk7dGhpcy5sb2Fk
KDApfXRoaXMuX3RyaWdnZXIoImFkZCIsbnVsbCx0aGlzLl91aSh0aGlzLmFuY2hvcnNbYV0sdGhp
cy5wYW5lbHNbYV0pKTtyZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKGIpe2I9dGhpcy5fZ2V0
SW5kZXgoYik7dmFyIGU9dGhpcy5vcHRpb25zLGE9dGhpcy5saXMuZXEoYikucmVtb3ZlKCksYz10
aGlzLnBhbmVscy5lcShiKS5yZW1vdmUoKTsKK2lmKGEuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0
ZWQiKSYmdGhpcy5hbmNob3JzLmxlbmd0aD4xKXRoaXMuc2VsZWN0KGIrKGIrMTx0aGlzLmFuY2hv
cnMubGVuZ3RoPzE6LTEpKTtlLmRpc2FibGVkPWQubWFwKGQuZ3JlcChlLmRpc2FibGVkLGZ1bmN0
aW9uKGgpe3JldHVybiBoIT1ifSksZnVuY3Rpb24oaCl7cmV0dXJuIGg+PWI/LS1oOmh9KTt0aGlz
Ll90YWJpZnkoKTt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLG51bGwsdGhpcy5fdWkoYS5maW5kKCJh
IilbMF0sY1swXSkpO3JldHVybiB0aGlzfSxlbmFibGU6ZnVuY3Rpb24oYil7Yj10aGlzLl9nZXRJ
bmRleChiKTt2YXIgZT10aGlzLm9wdGlvbnM7aWYoZC5pbkFycmF5KGIsZS5kaXNhYmxlZCkhPS0x
KXt0aGlzLmxpcy5lcShiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtlLmRpc2Fi
bGVkPWQuZ3JlcChlLmRpc2FibGVkLGZ1bmN0aW9uKGEpe3JldHVybiBhIT1ifSk7dGhpcy5fdHJp
Z2dlcigiZW5hYmxlIixudWxsLAordGhpcy5fdWkodGhpcy5hbmNob3JzW2JdLHRoaXMucGFuZWxz
W2JdKSk7cmV0dXJuIHRoaXN9fSxkaXNhYmxlOmZ1bmN0aW9uKGIpe2I9dGhpcy5fZ2V0SW5kZXgo
Yik7dmFyIGU9dGhpcy5vcHRpb25zO2lmKGIhPWUuc2VsZWN0ZWQpe3RoaXMubGlzLmVxKGIpLmFk
ZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2UuZGlzYWJsZWQucHVzaChiKTtlLmRpc2FibGVk
LnNvcnQoKTt0aGlzLl90cmlnZ2VyKCJkaXNhYmxlIixudWxsLHRoaXMuX3VpKHRoaXMuYW5jaG9y
c1tiXSx0aGlzLnBhbmVsc1tiXSkpfXJldHVybiB0aGlzfSxzZWxlY3Q6ZnVuY3Rpb24oYil7Yj10
aGlzLl9nZXRJbmRleChiKTtpZihiPT0tMSlpZih0aGlzLm9wdGlvbnMuY29sbGFwc2libGUmJnRo
aXMub3B0aW9ucy5zZWxlY3RlZCE9LTEpYj10aGlzLm9wdGlvbnMuc2VsZWN0ZWQ7ZWxzZSByZXR1
cm4gdGhpczt0aGlzLmFuY2hvcnMuZXEoYikudHJpZ2dlcih0aGlzLm9wdGlvbnMuZXZlbnQrIi50
YWJzIik7cmV0dXJuIHRoaXN9LAorbG9hZDpmdW5jdGlvbihiKXtiPXRoaXMuX2dldEluZGV4KGIp
O3ZhciBlPXRoaXMsYT10aGlzLm9wdGlvbnMsYz10aGlzLmFuY2hvcnMuZXEoYilbMF0saD1kLmRh
dGEoYywibG9hZC50YWJzIik7dGhpcy5hYm9ydCgpO2lmKCFofHx0aGlzLmVsZW1lbnQucXVldWUo
InRhYnMiKS5sZW5ndGghPT0wJiZkLmRhdGEoYywiY2FjaGUudGFicyIpKXRoaXMuZWxlbWVudC5k
ZXF1ZXVlKCJ0YWJzIik7ZWxzZXt0aGlzLmxpcy5lcShiKS5hZGRDbGFzcygidWktc3RhdGUtcHJv
Y2Vzc2luZyIpO2lmKGEuc3Bpbm5lcil7dmFyIGo9ZCgic3BhbiIsYyk7ai5kYXRhKCJsYWJlbC50
YWJzIixqLmh0bWwoKSkuaHRtbChhLnNwaW5uZXIpfXRoaXMueGhyPWQuYWpheChkLmV4dGVuZCh7
fSxhLmFqYXhPcHRpb25zLHt1cmw6aCxzdWNjZXNzOmZ1bmN0aW9uKGssbil7ZS5lbGVtZW50LmZp
bmQoZS5fc2FuaXRpemVTZWxlY3RvcihjLmhhc2gpKS5odG1sKGspO2UuX2NsZWFudXAoKTthLmNh
Y2hlJiZkLmRhdGEoYywKKyJjYWNoZS50YWJzIix0cnVlKTtlLl90cmlnZ2VyKCJsb2FkIixudWxs
LGUuX3VpKGUuYW5jaG9yc1tiXSxlLnBhbmVsc1tiXSkpO3RyeXthLmFqYXhPcHRpb25zLnN1Y2Nl
c3MoayxuKX1jYXRjaChtKXt9fSxlcnJvcjpmdW5jdGlvbihrLG4pe2UuX2NsZWFudXAoKTtlLl90
cmlnZ2VyKCJsb2FkIixudWxsLGUuX3VpKGUuYW5jaG9yc1tiXSxlLnBhbmVsc1tiXSkpO3RyeXth
LmFqYXhPcHRpb25zLmVycm9yKGssbixiLGMpfWNhdGNoKG0pe319fSkpO2UuZWxlbWVudC5kZXF1
ZXVlKCJ0YWJzIik7cmV0dXJuIHRoaXN9fSxhYm9ydDpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5x
dWV1ZShbXSk7dGhpcy5wYW5lbHMuc3RvcChmYWxzZSx0cnVlKTt0aGlzLmVsZW1lbnQucXVldWUo
InRhYnMiLHRoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIpLnNwbGljZSgtMiwyKSk7aWYodGhpcy54
aHIpe3RoaXMueGhyLmFib3J0KCk7ZGVsZXRlIHRoaXMueGhyfXRoaXMuX2NsZWFudXAoKTtyZXR1
cm4gdGhpc30sCit1cmw6ZnVuY3Rpb24oYixlKXt0aGlzLmFuY2hvcnMuZXEoYikucmVtb3ZlRGF0
YSgiY2FjaGUudGFicyIpLmRhdGEoImxvYWQudGFicyIsZSk7cmV0dXJuIHRoaXN9LGxlbmd0aDpm
dW5jdGlvbigpe3JldHVybiB0aGlzLmFuY2hvcnMubGVuZ3RofX0pO2QuZXh0ZW5kKGQudWkudGFi
cyx7dmVyc2lvbjoiMS44LjE1In0pO2QuZXh0ZW5kKGQudWkudGFicy5wcm90b3R5cGUse3JvdGF0
aW9uOm51bGwscm90YXRlOmZ1bmN0aW9uKGIsZSl7dmFyIGE9dGhpcyxjPXRoaXMub3B0aW9ucyxo
PWEuX3JvdGF0ZXx8KGEuX3JvdGF0ZT1mdW5jdGlvbihqKXtjbGVhclRpbWVvdXQoYS5yb3RhdGlv
bik7YS5yb3RhdGlvbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGs9Yy5zZWxlY3RlZDthLnNl
bGVjdCgrK2s8YS5hbmNob3JzLmxlbmd0aD9rOjApfSxiKTtqJiZqLnN0b3BQcm9wYWdhdGlvbigp
fSk7ZT1hLl91bnJvdGF0ZXx8KGEuX3Vucm90YXRlPSFlP2Z1bmN0aW9uKGope2ouY2xpZW50WCYm
CithLnJvdGF0ZShudWxsKX06ZnVuY3Rpb24oKXt0PWMuc2VsZWN0ZWQ7aCgpfSk7aWYoYil7dGhp
cy5lbGVtZW50LmJpbmQoInRhYnNzaG93IixoKTt0aGlzLmFuY2hvcnMuYmluZChjLmV2ZW50KyIu
dGFicyIsZSk7aCgpfWVsc2V7Y2xlYXJUaW1lb3V0KGEucm90YXRpb24pO3RoaXMuZWxlbWVudC51
bmJpbmQoInRhYnNzaG93IixoKTt0aGlzLmFuY2hvcnMudW5iaW5kKGMuZXZlbnQrIi50YWJzIixl
KTtkZWxldGUgdGhpcy5fcm90YXRlO2RlbGV0ZSB0aGlzLl91bnJvdGF0ZX1yZXR1cm4gdGhpc319
KX0pKGpRdWVyeSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2Fq
YXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLnRhYnMubWluLmpzCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IGFsbG93LXRhYnMKIyMgLTAsMCArMSAjIworT04KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS51aS53aWRnZXQubWluLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkud2lk
Z2V0Lm1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdWkvanF1ZXJ5LnVpLndpZGdldC5taW4uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNSBAQAorLyohCisgKiBqUXVlcnkgVUkgV2lkZ2V0IDEuOC4xNQorICoK
KyAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91
dCkKKyAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vu
c2VzLgorICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQorICoKKyAqIGh0dHA6Ly9kb2NzLmpx
dWVyeS5jb20vVUkvV2lkZ2V0CisgKi8KKyhmdW5jdGlvbihiLGope2lmKGIuY2xlYW5EYXRhKXt2
YXIgaz1iLmNsZWFuRGF0YTtiLmNsZWFuRGF0YT1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxkOyhk
PWFbY10pIT1udWxsO2MrKyliKGQpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtrKGEpfX1lbHNl
e3ZhciBsPWIuZm4ucmVtb3ZlO2IuZm4ucmVtb3ZlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbigpe2lmKCFjKWlmKCFhfHxiLmZpbHRlcihhLFt0aGlzXSkubGVuZ3RoKWIo
IioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLnRyaWdnZXJIYW5k
bGVyKCJyZW1vdmUiKX0pO3JldHVybiBsLmNhbGwoYih0aGlzKSxhLGMpfSl9fWIud2lkZ2V0PWZ1
bmN0aW9uKGEsYyxkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF0sZjthPWEuc3BsaXQoIi4iKVsxXTtm
PWUrIi0iK2E7aWYoIWQpe2Q9YztjPWIuV2lkZ2V0fWIuZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGgp
e3JldHVybiEhYi5kYXRhKGgsCithKX07YltlXT1iW2VdfHx7fTtiW2VdW2FdPWZ1bmN0aW9uKGgs
Zyl7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGgsZyl9O2M9bmV3IGM7Yy5v
cHRpb25zPWIuZXh0ZW5kKHRydWUse30sYy5vcHRpb25zKTtiW2VdW2FdLnByb3RvdHlwZT1iLmV4
dGVuZCh0cnVlLGMse25hbWVzcGFjZTplLHdpZGdldE5hbWU6YSx3aWRnZXRFdmVudFByZWZpeDpi
W2VdW2FdLnByb3RvdHlwZS53aWRnZXRFdmVudFByZWZpeHx8YSx3aWRnZXRCYXNlQ2xhc3M6Zn0s
ZCk7Yi53aWRnZXQuYnJpZGdlKGEsYltlXVthXSl9O2Iud2lkZ2V0LmJyaWRnZT1mdW5jdGlvbihh
LGMpe2IuZm5bYV09ZnVuY3Rpb24oZCl7dmFyIGU9dHlwZW9mIGQ9PT0ic3RyaW5nIixmPUFycmF5
LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxoPXRoaXM7ZD0hZSYmZi5sZW5ndGg/
Yi5leHRlbmQuYXBwbHkobnVsbCxbdHJ1ZSxkXS5jb25jYXQoZikpOmQ7aWYoZSYmZC5jaGFyQXQo
MCk9PT0iXyIpcmV0dXJuIGg7CitlP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBnPWIuZGF0YSh0
aGlzLGEpLGk9ZyYmYi5pc0Z1bmN0aW9uKGdbZF0pP2dbZF0uYXBwbHkoZyxmKTpnO2lmKGkhPT1n
JiZpIT09ail7aD1pO3JldHVybiBmYWxzZX19KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1i
LmRhdGEodGhpcyxhKTtnP2cub3B0aW9uKGR8fHt9KS5faW5pdCgpOmIuZGF0YSh0aGlzLGEsbmV3
IGMoZCx0aGlzKSl9KTtyZXR1cm4gaH19O2IuV2lkZ2V0PWZ1bmN0aW9uKGEsYyl7YXJndW1lbnRz
Lmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGEsYyl9O2IuV2lkZ2V0LnByb3RvdHlwZT17d2lk
Z2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixvcHRpb25zOntkaXNhYmxlZDpm
YWxzZX0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihhLGMpe2IuZGF0YShjLHRoaXMud2lkZ2V0TmFt
ZSx0aGlzKTt0aGlzLmVsZW1lbnQ9YihjKTt0aGlzLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSx0
aGlzLm9wdGlvbnMsCit0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksYSk7dmFyIGQ9dGhpczt0aGlz
LmVsZW1lbnQuYmluZCgicmVtb3ZlLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKCl7ZC5kZXN0
cm95KCl9KTt0aGlzLl9jcmVhdGUoKTt0aGlzLl90cmlnZ2VyKCJjcmVhdGUiKTt0aGlzLl9pbml0
KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIGIubWV0YWRhdGEmJmIubWV0
YWRhdGEuZ2V0KHRoaXMuZWxlbWVudFswXSlbdGhpcy53aWRnZXROYW1lXX0sX2NyZWF0ZTpmdW5j
dGlvbigpe30sX2luaXQ6ZnVuY3Rpb24oKXt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1l
bnQudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1l
KTt0aGlzLndpZGdldCgpLnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVBdHRyKCJh
cmlhLWRpc2FibGVkIikucmVtb3ZlQ2xhc3ModGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxl
ZCB1aS1zdGF0ZS1kaXNhYmxlZCIpfSwKK3dpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVs
ZW1lbnR9LG9wdGlvbjpmdW5jdGlvbihhLGMpe3ZhciBkPWE7aWYoYXJndW1lbnRzLmxlbmd0aD09
PTApcmV0dXJuIGIuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYodHlwZW9mIGE9PT0ic3RyaW5n
Iil7aWYoYz09PWopcmV0dXJuIHRoaXMub3B0aW9uc1thXTtkPXt9O2RbYV09Y310aGlzLl9zZXRP
cHRpb25zKGQpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbihhKXt2YXIgYz10aGlz
O2IuZWFjaChhLGZ1bmN0aW9uKGQsZSl7Yy5fc2V0T3B0aW9uKGQsZSl9KTtyZXR1cm4gdGhpc30s
X3NldE9wdGlvbjpmdW5jdGlvbihhLGMpe3RoaXMub3B0aW9uc1thXT1jO2lmKGE9PT0iZGlzYWJs
ZWQiKXRoaXMud2lkZ2V0KClbYz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHRoaXMud2lkZ2V0
QmFzZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2Fi
bGVkIixjKTtyZXR1cm4gdGhpc30sCitlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0
T3B0aW9uKCJkaXNhYmxlZCIsZmFsc2UpfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu
X3NldE9wdGlvbigiZGlzYWJsZWQiLHRydWUpfSxfdHJpZ2dlcjpmdW5jdGlvbihhLGMsZCl7dmFy
IGU9dGhpcy5vcHRpb25zW2FdO2M9Yi5FdmVudChjKTtjLnR5cGU9KGE9PT10aGlzLndpZGdldEV2
ZW50UHJlZml4P2E6dGhpcy53aWRnZXRFdmVudFByZWZpeCthKS50b0xvd2VyQ2FzZSgpO2Q9ZHx8
e307aWYoYy5vcmlnaW5hbEV2ZW50KXthPWIuZXZlbnQucHJvcHMubGVuZ3RoO2Zvcih2YXIgZjth
Oyl7Zj1iLmV2ZW50LnByb3BzWy0tYV07Y1tmXT1jLm9yaWdpbmFsRXZlbnRbZl19fXRoaXMuZWxl
bWVudC50cmlnZ2VyKGMsZCk7cmV0dXJuIShiLmlzRnVuY3Rpb24oZSkmJmUuY2FsbCh0aGlzLmVs
ZW1lbnRbMF0sYyxkKT09PWZhbHNlfHxjLmlzRGVmYXVsdFByZXZlbnRlZCgpKX19fSkoalF1ZXJ5
KTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS91aS9qcXVlcnkudWkud2lkZ2V0Lm1pbi5qcwpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBhbGxvdy10YWJzCiMjIC0wLDAgKzEgIyMKK09OClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjpt
aW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtp
dC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdf
ZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUK
IyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
CmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDZ0FBQUJrQ0FZQUFBRDBaSEo2QUFBQWUwbEVRVlJv
Z2UzT01RSEFJQkFBTWNDL2tqZFoKSkhUSTBBNFhCZGt6ODZ3Zk8xOEgzaFJVQlZWQlZWQVZWQVZW
UVZWUUZWUUZWVUZWVUJWVUJWVkJWVkFWVkFWVlFWVlFGVlFGVlVGVgpVQlZVQlZWQlZWQVZWQVZW
UVZWUUZWUUZWVUZWVUJWVUJWVkJWVkFWVkFWVlFWVlFGVlFGVlVGVlVCVlVGOE84QThXZFk2b3BB
QUFBCkFFbEZUa1N1UW1DQwoKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2px
dWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4
MTAwLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
aW1hZ2VzL3VpLWJnX2ZsYXRfNzVfZmZmZmZmXzQweDEwMC5wbmcKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNnQUFBQmtDQVlBQUFEMFpI
SjZBQUFBZVVsRVFWUm9nZTNPTVFIQUlCQUFzVkwvbmg4SgpERGZBa0NqSW1wbjVIdmJmRHB3SVZv
S1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BWZ0pWZ0pWb0tWWUNWWUNWYUNsV0FsV0FsV2dwVmdKVmdKClZv
S1ZZQ1ZZQ1ZhQ2xXQWxXQWxXZ3BWZ0pWZ0pWb0tWWUNWWUNWYUNsV0FsV0FsV2dwVmdKVmdKVmh0
cWl3VEVLVExYVGdBQUFBQkoKUlU1RXJrSmdnZz09CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFz
c181NV9mYmY5ZWVfMXg0MDAucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5
IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4x
NS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVB
QUFHUUNBWUFBQUJ2V0FyYkFBQUFQMGxFUVZRNGplM1BNUXJBTUFCQzBhLzN2MnpYCjBtQ1hOa09n
YzZDNFBBUmQ1RHFQR0tDVThsdVM4U2JBUWhpQ1FSZ0pFNTZrWlRmYmJQOVJTdm5rQnNXY0VBWlJX
Y2dxQUFBQUFFbEYKVGtTdVFtQ0MKCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZm
Zl8xeDQwMC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9i
YXNlL2ltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUdRQ0FZQUFB
QnZXQXJiQUFBQU1FbEVRVlE0amUzTElRNEFJQlREME8zZi84d3IKRmdtS2hNeThwS0pLd2toU0tl
VmJiR3VBUFU5ZjRQSW9wVHhnQWVTMERSdEk0eUswQUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IFdl
YnNpdGVzL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9p
bWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk
aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1h
Z2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGli
cy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFk
YV8xeDQwMC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMj
CitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQUFFQUFBR1FDQVlBQUFCdldBcmJBQUFBTmtsRVFWUTRqV040OHVUSmZ5WUdC
Z2FHVVdLVQpHQ1dHTGZIdDJ6Y29pNUdSRVlOZ1ltSkNaaUc0MklpQjk4d29NVXFNRXRnSUFNZGpD
ZHlnK2VFQkFBQUFBRWxGVGtTdVFtQ0MKCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2FqYXgv
bGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2
ZTZlNl8xeDQwMC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMg
YSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1l
cy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc183NV9lNmU2ZTZfMXg0MDAucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUdRQ0FZ
QUFBQnZXQXJiQUFBQU5VbEVRVlE0amUzTE1Rb0FJQkFEd2IzOC82dDUKd0ZYYVdBaUN0VWlhWVp2
RjloQkFDT0ZidW50VlZlMTFCMENTamplRThCd1RoUUlKOGRoRWwwWUFBQUFBU1VWT1JLNUNZSUk9
CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYnNpdGVzL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS90aGVtZXMvYmFzZS9pbWFnZXMvdWktYmdfZ2xh
c3NfOTVfZmVmMWVjXzF4NDAwLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMj
IC0wLDAgKzEgIyMKK2ltYWdlL3BuZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFHUUNBWUFBQUJ2V0FyYkFBQUFQa2xFUVZRNGpl
M1BNUXFBTUFCRDBaL2MvN2FDCklBWGpKSWhEMTBMSjh2Z1p3MzBlTVVBcFpWL0doWk5nU1Rqb0xZ
RWxZL2hOTUovUzZndWxsQ2tQaUNJUENyNE5pRXdBQUFBQVNVVk8KUks1Q1lJST0KCkluZGV4OiBX
ZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2Uv
aW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUt
dHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1iZ19oaWdo
bGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1l
LXR5cGUKIyMgLTAsMCArMSAjIworaW1hZ2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUJrQ0FZQUFBQkhMRnBnQUFBQUxF
bEVRVlFZbFdONDlPalJmeVlHQmdhR0lVVDgKLy84ZlNxQngwWWgvLy80Ukw4dkF3QUFWUTJNTk93
SUFsNmc2S2tPSndrOEFBQUFBU1VWT1JLNUNZSUk9CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18y
ZTgzZmZfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3Ro
ZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1B
QUFEWVNVcjVBQUFBN1ZCTVZFVXVnLzh1Zy84dWcvOHVnLzh1Zy84dQpnLzh1Zy84dWcvOHVnLzh1
Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVn
Lzh1CmcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVn
Lzh1Zy84dWcvOHVnLzh1Zy84dWcvOHUKZy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVn
Lzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dQpnLzh1Zy84dWcvOHVn
Lzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84dWcvOHVnLzh1Zy84bGdj
eVlBQUFBClRuUlNUbE1BR0JBeUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1Vp
eUZOSWVCdzJySno4YzRSQnk5dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1Bt
NStrV2hvMGtqOUFBQVBoVWxFUVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtt
eHIxMjZ0bWkycDAzUkoxL1hlLzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNq
STJBTVVVT3hhCmhaMmlBTmh6QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVE
bUZuUUxhNER0Yi8vY3FrdHdENVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3
cVZqdCs5RkJsM3VJTlFuaXdFaXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVx
eHZkdnZBOUs0MmJzQXY0UzJmeGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJaklu
QmdId0JKL2JFeDhQCkVBTkMrdWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZ
NDBoeFlFUkZwTWNxVXM0QWxvQ3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4
K3VNQjhnclphUitReGwyL0MyUmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFK
aVZKaUI3a2NRQ2lVT0pyY0ZOdERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhn
V3dPV0NIMEZMWUhsUHF3CkhhQ3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFm
c0FvZjhFYVVSZUtYa0NCNC9NekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hx
cVQ2Z0ZUcHJ1OENON3gvK2phWmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpx
eW13VkFQeGZKNVBuSVVVUU9VS1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0Fi
eWhtVmowRkVsdEE0dmRpeWdCCmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1
RkFOczYzaFBRWENvUkxBd2RnR3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRklt
R21JcXVQQy9rbEVHeUNHMEF1QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hX
QwpyRlIwUzZrUkhONSs0QnpGaThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5o
cjNPeGRYQVlxN0ZIWndCNmJEU3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNF
UUsxOFRUYVFvRmdQN2JOQytSWjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBB
ZzFHYnoxVUxmV0hMZzlpVW5RTks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNC
cDZNSQphQ2pTWFhSSnlPeGVxaG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtR
dXV6UndXSjkzQktkSXQrd0NSQVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlN
dTQzeWx0L0lBbUdIbk41aUl0N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0
Nk42dHJFMHR3WjlrTi9QcU5wVFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxj
Z1JRWE1UMgpGckJmQkxqWjYxNTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2
dkdBdGk0YlR0aXpCK1RqZlFDckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1Fs
OE1Xdnl0emVTVGpnT1FCeW5RZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVU
aCtLb1ZadU5JelYrQ3dSdWNGQkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZt
RUx0b016Q1I3Vgo5UkFGZS9adlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcy
QUE0d0ZSUUlsa2dxKzFEUXJOaGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgy
bDBvVFE0RDhENU5Na3RCZ055d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RV
aUJDV2tVcElTZkdQUjVBQXdCZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2
aFlyRjFyNHR5QW96OQpuMk1DcUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdD
T2o0Ylltc1A1QStwTDRNa1RmQW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFN
Q3BUQndlbm9LdlgwQUhHa0d0UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtC
ek43ckJFdkFGSHArWVRCL3E5N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VY
RGRvTnhSaE94K001alBFegpRdWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNO
T2dLNEIxUkhGdTRVQ1JsTUh6djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAz
QkZTMHZlNXdUUndBbjZrZU1BOUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IK
emFHcXBoWXJ4SG9jTEhSSlZ5Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQr
WFQzUzN1Yit0S0piYkxkNWRpVApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkND
VlhsR1JpWktQSnlQUFJ4eUlGV2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdt
L1BSV1ZDYllLN3M3dTJsNFhhQ3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZ
VXEKZlo0clZKL01EYklEZ1BxVHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RB
NkhQRTRyT3kxOTZOaU1XSFRabFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5j
SUc2dEl4azNIeW9YUGpBU3FmVWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9P
MEZ2S3pQL3QvZ21WZEkyNCtHN05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFy
TGIxbDcKM3pUU041MkNOcG5IdVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQv
cTF6K2NiTnJEMTdpVkt5YWpjbnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5
QUxyMEwyOSt0aUtBRUlQbjg2OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYx
dXZETklnR0xRRzh6NFlPOTlFTmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlp
KzlYTDczWDMKTi9uK1pTdE96ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5
Ky9sdFVEV0x1bnl4blJGNDZJcWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNY
c2VvM3ZMVFFUa1ZFNzM0OGRsd0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2
WHNEWjNNbHN2WVViYm5EakRaM01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxI
bzJmK3Nqclh3Yi8KOXFIb1lxZ1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxB
dU1Gdk9iakRZcklxeEJnUWkyMGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJ
MkFIbzlDQ2gxSTFReFVkQWJxcUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGha
VzkvU2VzM24zN3k5YTB1R3FGd0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1
a0owUFlyTkFUR0dlZkoKUWxoa0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQ
ODhOait1MkRqWUVFNlJCeEQ5S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdl
T0Z4U25kM1JPbVQrbkp5UWtob1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllD
Y0l0QTh3OWk4OEE4YittcVNqYzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtU
NitvQmhOWi9QWVk0WkFIWWIKM1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVn
MjhOdWc5UWlMbmo1QTMzVTFNQUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJ
Z0tvSENTMVlHbFJuU3E5eUNqZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBN
Cjhlcm9zNTlNRi9QVDJjNjAyVDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2Rt
TU1NNy9DY1F6S2dWQnFZVG1GbisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFC
YitBeXpNdzlIYTJHM202YzhxUXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJU
QU4wRG1CVDZQV21jNmpEQkUyUEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVy
bkhqClZJZWFYZklBVnlVdXcvYUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMw
T1NydFoxMGltdDd3SFk3UWVzQXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMw
b3N2Y1NXMkV4TG8rVmNidUF1by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3Za
bGdXM3Y2eVN4MzJhYlFpSXlNakl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1B
b0lBYmFzCnhCWHFVV25lU0FXVE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1oz
dDZ0SG04QWlFQWwwc0NlTElJb3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lC
TnZMeUZ1OHY4SHBMQnREMWlLZ0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJ
eU0rNDM0YzJSM0hlVi9GZng2anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84
L1dGWGVPeXpnCmY1b0FoVlluS3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlk
NlF3WW5BLzNUTGQrR0U3cWUzY2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2
UmlpUDMvWHBRUUZHWURVNCtNaS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcw
NkYxOVIzanVNN0Qxd2l0YTg2R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8y
eHUvMStYbC9LNSthCno4akl5TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9h
M3JweUNtZlE0V3dabVMra1hGVmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhj
VnIzbEgzejVoOTcyRlVUTHpZcE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9M
UlgwL1JSNHF4N05uNFU4ZytxamZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1p
dGRuQkNUMVVlNjNSNTQzCjltK09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZF
akRmdmhWUktPM3l3T1FVZ1JBN25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9O
ZGhKOHZaNUowdkxIVDk5c3JrR09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1Rwow
cXZLR1JrWkdSa1pHUkcwZ2NPTnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBY
d2xJVVJrUmhDNHR6NlovZnU3CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0
VVh1aGJzL3dQdE13cVYwSFVKQXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJE
ZjFGWlh2Ymg5UU9maHl4bGRyLyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFM
ZQovdHZqQTBrUFdBWEdidmVia2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJ
bmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1l
cy9iYXNlL2ltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4
L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc18yMjIyMjJf
MjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMj
CitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVBQUFBN1ZCTVZFVWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaQpJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpCklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWkKSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaQpJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpSWlJaUlpSWlKZG1oSHpBQUFBClRuUlNUbE1BR0JBeUJBaFF2NE9aTGlKVWNF
Qm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJySno4YzRSQnk5dVh5cnRhV04KcWEyektQ
MmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtqOUFBQVBoVWxFUVZSNG5PMWRqV0xidGhF
R3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0bWkycDAzUkoxL1hlLzNFR2dBUnhQeUFnUmJJ
azIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVVT3hhCmhaMmlBTmh6QnRaV3I0Qm9JUlNZQVZO
NXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0Yi8vY3FrdHdENVFFRkZ3ZlVzN1AKb0ND
QTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5RkJsM3VJTlFuaXdFaXJ5RXl3OUpIcUdwUWRF
Rk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0MmJzQXY0UzJmeGZZT2U1N0lKU1JrWkdS
a1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JKL2JFeDhQCkVBTkMrdWhicFNTZ2dDQkFWT0RW
YWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZwTWNxVXM0QWxvQ3REUWRJRDFZaG55WFoK
MmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhnclphUitReGwyL0MyUmtaR1JrWkdSazdBN3JC
ZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3a2NRQ2lVT0pyY0ZOdERaSWYyeGFyUTNhR3ZM
TnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NIMEZMWUhsUHF3CkhhQ3ZjSW4yWmJvc0NldmZQ
VFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhFYVVSZUtYa0NCNC9NekZObzk3cUxwRmlLRll2
L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1OENON3gvK2phWmtaR1JrWkdSY1YreC9y
TFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQeGZKNVBuSVVVUU9VS1QwNHRFZFdaeXYzSkNR
U245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmowRkVsdEE0dmRpeWdCCmliWGhvVVlneWtDVVA3
SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYzaFBRWENvUkxBd2RnR3NyOUF6N1F2N3NnUUdn
ZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQQy9rbEVHeUNHMEF1QVhhSkpDK0I4RlZlOU5Z
UURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIwUzZrUkhONSs0QnpGaThOYW9OMzVOUnhVdkwr
SkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlxN0ZIWndCNmJEU3pTCmg0c0YwdXRDaHFv
ME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRUYVFvRmdQN2JOQytSWjRPVDRUNmdRb2dERllr
KzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxmV0hMZzlpVW5RTks1UVFKY3VrbTA0YmxL
TEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pTWFhSSnlPeGVxaG56RWFGOTNNZkZHVy9P
MTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndXSjkzQktkSXQrd0NSQVBsOWtwCmUySWtrYjJt
RmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lBbUdIbk41aUl0N3dLZmJ2MDFSQWNKcUZS
bDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3WjlrTi9QcU5wVFFlSUN2cjRUTHNEWUMw
NlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpGckJmQkxqWjYxNTFqREVsazl0UEZmcFVn
azJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0aXpCK1RqZlFDckVSeWhLYjJYCjhENkE5
d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVTVGpnT1FCeW5RZGgvaVhLZHhPckdKL1Jr
WkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5JelYrQ3dSdWNGQkV5cjFtVmp4NGlyT3h3
TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016Q1I3Vgo5UkFGZS9adlFvZ05peVk4RlBTVVRG
c0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUlsa2dxKzFEUXJOaGttb3hTNUpxK3U2CmJN
QUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0RDhENU5Na3RCZ055d0FFTWpvOHJ3QVRNWnJQ
WTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tVcElTZkdQUjVBQXdCZlppRzJ6N0F5YzF5ZUtU
eGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5QW96OQpuMk1DcUV1QnRwLzZHRFIwb0FZ
ZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1QStwTDRNa1RmQW5NbEQ0RityM2JvYkt2
ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9LdlgwQUhHa0d0UDJZQVB2VEVXQTdRVVRB
dWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJFdkFGSHArWVRCL3E5N3FQQU40Z0hGcWdCaTh1
THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94K001alBFegpRdWdTMGh0K2IxL1kzZ0Vu
WU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIxUkhGdTRVQ1JsTUh6djB4emNhamNmZFhXRHMy
aDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZlNXdUUndBbjZrZU1BOUkzUVliZlNaMERLYnl0
KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4SG9jTEhSSlZ5Y25mR1VjYnRUK2pJeU1q
SXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0S0piYkxkNWRpVApWcDUwK3phaHllSFNz
bEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1JpWktQSnlQUFJ4eUlGV2VYTFFCWEpCS2lxLzNk
aXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllLN3M3dTJsNFhhQ3orbHpnT2ZNZmhNb25Y
cjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZKL01EYklEZ1BxVHVsSi94dm50V0F0aklp
c3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kxOTZOaU1XSFRabFNTQQpwY09nWHB5L2ZI
VjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNIeW9YUGpBU3FmVWdYYllONVB6cEwybmpr
UjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQL3QvZ21WZEkyNCtHN05JZThKWDZXdjNkRHls
ZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pUU041MkNOcG5IdVFPWVBzRGJseWJneGZr
WGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2NiTnJEMTdpVkt5YWpjbnY5YXJoTwprUlBnc3J1
dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0aUtBRUlQbjg2OGVqeC8vOHJwV1AzT0VP
bDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETklnR0xRRzh6NFlPOTlFTmdnOTVldHd2NHVZSllZ
OGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDczWDMKTi9uK1pTdE96ZlZmUnZZWGhyYmRLT3BF
Z1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1bnl4blJGNDZJcWxCekdNWTRYNwppbmdn
UkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFUa1ZFNzM0OGRsd0pKU3owK3dMZm1pOEJo
WnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2WVViYm5EakRaM01OM1RKRzQrYnhqQWFE
bDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3Yi8KOXFIb1lxZ1BNQlhKVFZmT3BtclpI
MjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZcklxeEJnUWkyMGg3SGQvbllWTG1ubwor
ZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gxSTFReFVkQWJxcUdZOUJCTHd5YzNXNHdZ
Vmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2VzM24zN3k5YTB1R3FGd0ZRWnNRUWJkMzg2RG9n
cGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFlyTkFUR0dlZkoKUWxoa0xvN0RUWHIreTNiTmlP
c0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1MkRqWUVFNlJCeEQ5S25qMTZ1alZIQzY3QTc0
MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JPbVQrbkp5UWtob1Bsc3hWT05jLzNURWRC
b3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4OEE4YittcVNqYzZQdnFkOTk4UWd1RVFQ
bVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9QWVk0WkFIWWIKM1BSZDRMa1ptUFg2OE5S
dE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlMbmo1QTMzVTFNQUVTNnhIQVVOcHovOXpG
QVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlHbFJuU3E5eUNqZFhqZ04zaitOMjdZeVJP
SHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlNRi9QVDJjNjAyVDdlQTd6dmhKOWRyL3Z6
RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6S2dWQnFZVG1GbisKWittS204SjdrMEE1
Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpNdzlIYTJHM202YzhxUXgrQWxxbkljZVFwK1Ni
Nmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQV21jNmpEQkUyUEsydStuRjQzZHlQN1Ew
dDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJZWFYZklBVnlVdXcvYUhDQ2lKeTlpRjVsMTYy
MXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFoxMGltdDd3SFk3UWVzQXpVTXoKMW9aM25vQjNx
RkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4TG8rVmNidUF1by9zVUltOGZNRzl4b2NP
M0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4MzJhYlFpSXlNakl5UGpobEZEVEx4cHdJ
Z0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhCWHFVV25lU0FXVE1qdDUwbFRxVDI5ckZq
dlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04QWlFQWwwc0NlTElJb3JJUnQrY0YKYmV3L1FS
c29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4SHBMQnREMWlLZ0MxN3dIYjdBSTZkOXdG
YnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJSM0hlVi9GZng2anRadTZpamw4aDU5VDY1
NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVPeXpnCmY1b0FoVlluS3hQN0N3YUFmMWFmSnU4
YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5BLzNUTGQrR0U3cWUzY2hBNVlGNURmWTAKdksz
YWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBRUUZHWURVNCtNaS8vL1h1bVhHOHBqdmFV
QU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIzanVNN0Qxd2l0YTg2R1IwQ0tmREhnTHVYQ2M0
QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStYbC9LNSthCno4akl5TWhZRy96NWdKVE1GMUd0
S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0V3dabVMra1hGVmV0YjExNVNUNDh3RWYK
L0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVoOTcyRlVUTHpZcE9WazdsNWhEK2VZY1l3
RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4N05uNFU4ZytxamZmdnVONkdmK25DODV2
d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVlNjNSNTQzCjltK09nQ242RHJvQUFhSFBW
UXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhWUktPM3l3T1FVZ1JBN25tTDF1YXdabUhmMWsr
RFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZaNUowdkxIVDk5c3JrR09qbUpiZC9HMXIyTnJp
cW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1JrWkdSa1pHUkcwZ2NPTnlYc1A5djhEMC9JZEpB
RGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhDNHR6NlovZnU3CmZVZjJnSHZmQjl6M3Uw
QkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJzL3dQdE13cVYwSFVKQXZqNXZrMzJiOElEdUwy
M3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5UU9maHl4bGRyLyszeGdYVTlvS212c0h5
cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZqQTBrUFdBWEdidmVia2JIbitEL0o1bk1jSHp4
MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xp
YnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc180NTQ1NDVfMjU2
eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
V2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNl
L2ltYWdlcy91aS1pY29uc180NTQ1NDVfMjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
Om1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVB
QUFBN1ZCTVZFVkZSVVZGUlVWRlJVVkZSVVZGUlVWRgpSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZS
VVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGClJVVkZS
VVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJV
VkZSVVZGUlVWRlJVVkYKUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJV
VkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRgpSVVZGUlVWRlJVVkZSVVZGUlVWRlJV
VkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVWRlJVVkZSVVZGUlVXRzJyTENBQUFBClRu
UlNUbE1BR0JBeUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJy
Sno4YzRSQnk5dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtq
OUFBQVBoVWxFUVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0bWky
cDAzUkoxL1hlLzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVVT3hh
CmhaMmlBTmh6QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0
Yi8vY3FrdHdENVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5RkJs
M3VJTlFuaXdFaXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0
MmJzQXY0UzJmeGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JKL2JF
eDhQCkVBTkMrdWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZw
TWNxVXM0QWxvQ3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhnclph
UitReGwyL0MyUmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3a2NR
Q2lVT0pyY0ZOdERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NIMEZM
WUhsUHF3CkhhQ3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhFYVVS
ZUtYa0NCNC9NekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1
OENON3gvK2phWmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQeGZK
NVBuSVVVUU9VS1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmowRkVs
dEE0dmRpeWdCCmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYzaFBR
WENvUkxBd2RnR3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQQy9r
bEVHeUNHMEF1QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIwUzZr
UkhONSs0QnpGaThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlx
N0ZIWndCNmJEU3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRUYVFv
RmdQN2JOQytSWjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxm
V0hMZzlpVW5RTks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pT
WFhSSnlPeGVxaG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndXSjkz
QktkSXQrd0NSQVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lB
bUdIbk41aUl0N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3
WjlrTi9QcU5wVFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpG
ckJmQkxqWjYxNTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0
aXpCK1RqZlFDckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVT
VGpnT1FCeW5RZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5J
elYrQ3dSdWNGQkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016Q1I3
Vgo5UkFGZS9adlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUls
a2dxKzFEUXJOaGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0RDhE
NU5Na3RCZ055d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tVcElT
ZkdQUjVBQXdCZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5
QW96OQpuMk1DcUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1
QStwTDRNa1RmQW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9L
dlgwQUhHa0d0UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJFdkFG
SHArWVRCL3E5N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94
K001alBFegpRdWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIxUkhG
dTRVQ1JsTUh6djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZlNXdU
UndBbjZrZU1BOUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4
SG9jTEhSSlZ5Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0
S0piYkxkNWRpVApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1JpWktQ
SnlQUFJ4eUlGV2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllL
N3M3dTJsNFhhQ3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZK
L01EYklEZ1BxVHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kx
OTZOaU1XSFRabFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNI
eW9YUGpBU3FmVWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQL3Qv
Z21WZEkyNCtHN05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pU
U041MkNOcG5IdVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2NiTnJE
MTdpVkt5YWpjbnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0
aUtBRUlQbjg2OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETklnR0xR
Rzh6NFlPOTlFTmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDczWDMK
Ti9uK1pTdE96ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1
bnl4blJGNDZJcWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFU
a1ZFNzM0OGRsd0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2
WVViYm5EakRaM01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3
Yi8KOXFIb1lxZ1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZ
cklxeEJnUWkyMGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gx
STFReFVkQWJxcUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2VzM24z
N3k5YTB1R3FGd0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFlyTkFU
R0dlZkoKUWxoa0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1MkRq
WUVFNlJCeEQ5S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JP
bVQrbkp5UWtob1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4
OEE4YittcVNqYzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9Q
WVk0WkFIWWIKM1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlM
bmo1QTMzVTFNQUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlH
bFJuU3E5eUNqZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlN
Ri9QVDJjNjAyVDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6
S2dWQnFZVG1GbisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpNdzlI
YTJHM202YzhxUXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQ
V21jNmpEQkUyUEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJZWFY
ZklBVnlVdXcvYUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFoxMGlt
dDd3SFk3UWVzQXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4
TG8rVmNidUF1by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4
MzJhYlFpSXlNakl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhC
WHFVV25lU0FXVE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04QWlF
QWwwc0NlTElJb3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4
SHBMQnREMWlLZ0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJS
M0hlVi9GZng2anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVPeXpn
CmY1b0FoVlluS3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5BLzNU
TGQrR0U3cWUzY2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBR
UUZHWURVNCtNaS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIzanVN
N0Qxd2l0YTg2R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStYbC9L
NSthCno4akl5TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0
V3dabVMra1hGVmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVo
OTcyRlVUTHpZcE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4
N05uNFU4ZytxamZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVl
NjNSNTQzCjltK09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhWUktP
M3l3T1FVZ1JBN25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZaNUow
dkxIVDk5c3JrR09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1JrWkdS
a1pHUkcwZ2NPTnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhD
NHR6NlovZnU3CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJzL3dQ
dE13cVYwSFVKQXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5
UU9maHl4bGRyLyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZqQTBr
UFdBWEdidmVia2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDogV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2lt
YWdlcy91aS1pY29uc184ODg4ODhfMjU2eDI0MC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3Bu
ZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc184ODg4ODhfMjU2eDI0MC5w
bmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCitpbWFnZS9w
bmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVBQUFBN1ZCTVZFV0lpSWlJaUlpSWlJaUlpSWlJaUlpSQpp
SWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJCmlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUkKaUlpSWlJaUlpSWlJaUlpSWlJ
aUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SQppSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlp
SWlJaUlpSWlJaUlpZ2hjcDdBQUFBClRuUlNUbE1BR0JBeUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3
Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJySno4YzRSQnk5dVh5cnRhV04KcWEyektQMmZKTzhLQmdL
UG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtqOUFBQVBoVWxFUVZSNG5PMWRqV0xidGhFR3lVaXE1WVNT
TFh0cAo3RnBMT21memtteHIxMjZ0bWkycDAzUkoxL1hlLzNFR2dBUnhQeUFnUmJJazIvaGtTejRD
Sk80K0hzRTdBSlNWeXNqSTJBTVVVT3hhCmhaMmlBTmh6QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FE
UmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0Yi8vY3FrdHdENVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZG
aXpjSW9iOEttaEFwbHd3cVZqdCs5RkJsM3VJTlFuaXdFaXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3
UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0MmJzQXY0UzJmeGZZT2U1N0lKU1JrWkdSa1pHeHg3anhT
SERIY1JCWFFNVHlJakluQmdId0JKL2JFeDhQCkVBTkMrdWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0
V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZwTWNxVXM0QWxvQ3REUWRJRDFZaG55WFoKMmhMakFZV2lP
OUR5MVBEQjd0UGhJcUx4K3VNQjhnclphUitReGwyL0MyUmtaR1JrWkdSazdBN3JCZjdKMERSNS9M
VVRqelVQSVBTUApHdlFKaVZKaUI3a2NRQ2lVT0pyY0ZOdERaSWYyeGFyUTNhR3ZMTnhBVklGQWFi
ejkwQkZpQklseWNUQmhnV3dPV0NIMEZMWUhsUHF3CkhhQ3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZI
dWtDald3cmMzR3JHaDFmc0FvZjhFYVVSZUtYa0NCNC9NekZObzk3cUxwRmlLRll2L2sKTlI1WVF4
UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1OENON3gvK2phWmtaR1JrWkdSY1YreC9yTFVOY01NcVVB
c2NnbkZvY21wcWtUegpxeW13VkFQeGZKNVBuSVVVUU9VS1QwNHRFZFdaeXYzSkNRU245NldTNHBE
OTdRZnlXMjVBN05oU0FieWhtVmowRkVsdEE0dmRpeWdCCmliWGhvVVlneWtDVVA3SHdQVERlRXFB
SWNIVk1rWmc3Wng0azB1RkFOczYzaFBRWENvUkxBd2RnR3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JK
TEV4QldnRzRSRlJMRkltR21JcXVQQy9rbEVHeUNHMEF1QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2
QVFjallKMWdvSklnZ0hXQwpyRlIwUzZrUkhONSs0QnpGaThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0
d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlxN0ZIWndCNmJEU3pTCmg0c0YwdXRDaHFvME5BdmFUMWhM
elh3RmlubUN6bWVEdWNFUUsxOFRUYVFvRmdQN2JOQytSWjRPVDRUNmdRb2dERllrKzFReFFsajEK
OVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxmV0hMZzlpVW5RTks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZ
K0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pTWFhSSnlPeGVxaG56RWFGOTNNZkZHVy9PMTZadkRMNVRN
NE1KSWp1anovY0h5cGtRdXV6UndXSjkzQktkSXQrd0NSQVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0
MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lBbUdIbk41aUl0N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNu
YlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3WjlrTi9QcU5wVFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hT
K3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpGckJmQkxqWjYxNTFqREVsazl0UEZmcFVnazJ5cmVndXNY
MjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0aXpCK1RqZlFDckVSeWhLYjJYCjhENkE5d1g3NVA0dDRu
ZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVTVGpnT1FCeW5RZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1Y
aWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5JelYrQ3dSdWNGQkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZR
KzJlTlFpNGVxUithRjZtRUx0b016Q1I3Vgo5UkFGZS9adlFvZ05peVk4RlBTVVRGc0xwOFRlVG1N
dWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUlsa2dxKzFEUXJOaGttb3hTNUpxK3U2CmJNQUlHUkVDRUFO
Z1hIVGdXendnQk9oREgybDBvVFE0RDhENU5Na3RCZ055d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pD
a0lCRFFpQVkKMDlFR1RVaUJDV2tVcElTZkdQUjVBQXdCZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53
ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5QW96OQpuMk1DcUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4
SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1QStwTDRNa1RmQW5NbEQ0RityM2JvYkt2ClR5VEEyUC93
N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9LdlgwQUhHa0d0UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRP
RzQ2d1dObUR0cEIKRWtCek43ckJFdkFGSHArWVRCL3E5N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2
bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94K001alBFegpRdWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJF
MjkvaElEdWNFOHRtTXNOT2dLNEIxUkhGdTRVQ1JsTUh6djB4emNhamNmZFhXRHMyaDhUCkFyQkNr
b0RVSllETG16Nnc3aXAzQkZTMHZlNXdUUndBbjZrZU1BOUkzUVliZlNaMERLYnl0KzdPWGpHSTFp
ZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4SG9jTEhSSlZ5Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhm
SlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0S0piYkxkNWRpVApWcDUwK3phaHllSFNzbEovWVByVTBm
dWF6clpPMkNaOTIvWkNDVlhsR1JpWktQSnlQUFJ4eUlGV2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3
TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllLN3M3dTJsNFhhQ3orbHpnT2ZNZmhNb25YcjdUV3plWmI5
OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZKL01EYklEZ1BxVHVsSi94dm50V0F0aklpc3Fud3hPa0d6
MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kxOTZOaU1XSFRabFNTQQpwY09nWHB5L2ZIVjJqb2FOS3Uz
ZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNIeW9YUGpBU3FmVWdYYllONVB6cEwybmprUjlRTWplRFRW
CkhEVENnUnV4T2Vnam9PMEZ2S3pQL3QvZ21WZEkyNCtHN05JZThKWDZXdjNkRHlsZE1BKzRZQjV3
d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pUU041MkNOcG5IdVFPWVBzRGJseWJneGZrWGgvb1Z0citO
MURFQkpkaFJKeWQvQmQvcTF6K2NiTnJEMTdpVkt5YWpjbnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdw
RE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0aUtBRUlQbjg2OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3Bj
UW0wCk1oYWZQL2V5OGYxdXZETklnR0xRRzh6NFlPOTlFTmdnOTVldHd2NHVZSllZOGZVR0hZSDZq
NmZzY0hGWk1mdGxBbDlpKzlYTDczWDMKTi9uK1pTdE96ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NE
dUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1bnl4blJGNDZJcWxCekdNWTRYNwppbmdnUkVGaW9JeU1q
SXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFUa1ZFNzM0OGRsd0pKU3owK3dMZm1pOEJoWnFmdzNENHd3
L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2WVViYm5EakRaM01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4
RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3Yi8KOXFIb1lxZ1BNQlhKVFZmT3BtclpIMjN5NnV2bzBM
SFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZcklxeEJnUWkyMGg3SGQvbllWTG1ubworZWFOVW0vZWVI
MkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gxSTFReFVkQWJxcUdZOUJCTHd5YzNXNHdZVmh2WThBNEJv
SWMxbDVNN3ZuClBXcGhaVzkvU2VzM24zN3k5YTB1R3FGd0ZRWnNRUWJkMzg2RG9ncGdFaytkenlu
c0FaTUpYcTgrbnM5TmV1a0owUFlyTkFUR0dlZkoKUWxoa0xvN0RUWHIreTNiTmlPc0R2clhUei9D
MnExRFhaSDg0aVJOd3JQODhOait1MkRqWUVFNlJCeEQ5S25qMTZ1alZIQzY3QTc0MgoybzAyUndE
M2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JPbVQrbkp5UWtob1Bsc3hWT05jLzNURWRCb3MranRBK1p6
Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4OEE4YittcVNqYzZQdnFkOTk4UWd1RVFQbVFNZW8yM09E
Tjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9QWVk0WkFIWWIKM1BSZDRMa1ptUFg2OE5SdE1abjRBU3Zk
QStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlMbmo1QTMzVTFNQUVTNnhIQVVOcHovOXpGQVlFMQpncVFE
TVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlHbFJuU3E5eUNqZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5L
UHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlNRi9QVDJjNjAyVDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFlj
NSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6S2dWQnFZVG1GbisKWittS204SjdrMEE1Ri9qZ0NmalEx
V0JoUXlpT3FEMGxZdXFCYitBeXpNdzlIYTJHM202YzhxUXgrQWxxbkljZVFwK1NiNmk5VXlRVwpi
aHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQV21jNmpEQkUyUEsydStuRjQzZHlQN1EwdDFwT2NYMmZk
UnZIMG1GMlE0SnFOMzVybkhqClZJZWFYZklBVnlVdXcvYUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1py
UFo5aUpkYjdEWEozVVMwT1NydFoxMGltdDd3SFk3UWVzQXpVTXoKMW9aM25vQjNxRkovSDE4ajk3
Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4TG8rVmNidUF1by9zVUltOGZNRzl4b2NPM0VhMTlKOWdG
WQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4MzJhYlFpSXlNakl5UGpobEZEVEx4cHdJZ0ZNblRwNkEz
ZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhCWHFVV25lU0FXVE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5t
MllQWERGbElDbXJKT1ozdDZ0SG04QWlFQWwwc0NlTElJb3JJUnQrY0YKYmV3L1FSc29BWGI0bzFY
U2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4SHBMQnREMWlLZ0MxN3dIYjdBSTZkOXdGYnZndUFJR1RI
ZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJSM0hlVi9GZng2anRadTZpamw4aDU5VDY1NWpoUityZEh6
RE9QNmJlQUJDaGViOE84L1dGWGVPeXpnCmY1b0FoVlluS3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRh
WGVHbnJSZW5PcU9sejlkNlF3WW5BLzNUTGQrR0U3cWUzY2hBNVlGNURmWTAKdkszYWRmT1gvZ3lO
cDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBRUUZHWURVNCtNaS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRq
SnQrWVlFegplRXpBZHcwNkYxOVIzanVNN0Qxd2l0YTg2R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRm
ak1jNFZOU1VOc2RvZG8yeHUvMStYbC9LNSthCno4akl5TWhZRy96NWdKVE1GMUd0S3EvYTNycHlD
dno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0V3dabVMra1hGVmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3
K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVoOTcyRlVUTHpZcE9WazdsNWhEK2VZY1l3RGNBbmV3T290
clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4N05uNFU4ZytxamZmdnVONkdmK25DODV2d2F1SGphWXl1
YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVlNjNSNTQzCjltK09nQ242RHJvQUFhSFBWUXhLdGgvd2tK
Z0htRzhibVFNc1QwRDZFakRmdmhWUktPM3l3T1FVZ1JBN25tTDF1YXdabUhmMWsrRFAKQndRNk5k
Y0orazZNZDFMQTVmNU9OZGhKOHZaNUowdkxIVDk5c3JrR09qbUpiZC9HMXIyTnJpcW5zZTFBWnQx
QWFsVTVqVzJIc3V1RwowcXZLR1JrWkdSa1pHUkcwZ2NPTnlYc1A5djhEMC9JZEpBRGlCTmlYbDMz
MjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhDNHR6NlovZnU3CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmti
R3BsSGNua2dndVFvU3F0VVh1aGJzL3dQdE13cVYwSFVKQXZqNXZrMzJiOElEdUwyM3luN3EKQVha
NXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5UU9maHl4bGRyLyszeGdYVTlvS212c0h5cjdGL1hBMjY5
L2V2ZUJYcnN2N045UUFMZQovdHZqQTBrUFdBWEdidmVia2JIbitEL0o1bk1jSHp4MVVBQUFBQUJK
UlU1RXJrSmdnZz09CgpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4K
c3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2Vic2l0ZXMv
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3RoZW1lcy9iYXNlL2ltYWdlcy91
aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlw
ZQojIyAtMCwwICsxICMjCitpbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRHdDQU1BQUFEWVNVcjVBQUFBN1ZCTVZF
WE5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTgpDZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNn
ck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOCkNnck5DZ3JOQ2dyTkNn
ck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck4KQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTgpDZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dy
TkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dyTkNnck5DZ3JOQ2dycU41ajhBQUFBClRuUlNUbE1BR0JB
eUJBaFF2NE9aTGlKVWNFQm1ZQm9TelF3Z1BCWkNTRW9lV2lZd1VpeUZOSWVCdzJySno4YzRSQnk5
dVh5cnRhV04KcWEyektQMmZKTzhLQmdLUG8yS1ZvYTlzMzUxR1BtNStrV2hvMGtqOUFBQVBoVWxF
UVZSNG5PMWRqV0xidGhFR3lVaXE1WVNTTFh0cAo3RnBMT21memtteHIxMjZ0bWkycDAzUkoxL1hl
LzNFR2dBUnhQeUFnUmJJazIvaGtTejRDSk80K0hzRTdBSlNWeXNqSTJBTVVVT3hhCmhaMmlBTmh6
QnRaV3I0Qm9JUlNZQVZONXU0UXdEd1FEUmJjd2ZVaTVLUzN3RnVEbUZuUUxhNER0Yi8vY3FrdHdE
NVFFRkZ3ZlVzN1AKb0NDQTd5NGJFSlZGaXpjSW9iOEttaEFwbHd3cVZqdCs5RkJsM3VJTlFuaXdF
aXJ5RXl3OUpIcUdwUWRFRk5pK0I0UVE3UU9pSGh5cwpJUG9BeFVxeHZkdnZBOUs0MmJzQXY0UzJm
eGZZT2U1N0lKU1JrWkdSa1pHeHg3anhTSERIY1JCWFFNVHlJakluQmdId0JKL2JFeDhQCkVBTkMr
dWhicFNTZ2dDQkFWT0RWYWJwSTFTL2s0V0xacFRuNk5wTWhvWDlZNDBoeFlFUkZwTWNxVXM0QWxv
Q3REUWRJRDFZaG55WFoKMmhMakFZV2lPOUR5MVBEQjd0UGhJcUx4K3VNQjhnclphUitReGwyL0My
UmtaR1JrWkdSazdBN3JCZjdKMERSNS9MVVRqelVQSVBTUApHdlFKaVZKaUI3a2NRQ2lVT0pyY0ZO
dERaSWYyeGFyUTNhR3ZMTnhBVklGQWFiejkwQkZpQklseWNUQmhnV3dPV0NIMEZMWUhsUHF3Ckhh
Q3ZjSW4yWmJvc0NldmZQVFJpRkZjZ3ZIdWtDald3cmMzR3JHaDFmc0FvZjhFYVVSZUtYa0NCNC9N
ekZObzk3cUxwRmlLRll2L2sKTlI1WVF4UWJRRW9ma1oyT3VFT0hxcVQ2Z0ZUcHJ1OENON3gvK2ph
WmtaR1JrWkdSY1YreC9yTFVOY01NcVVBc2NnbkZvY21wcWtUegpxeW13VkFQeGZKNVBuSVVVUU9V
S1QwNHRFZFdaeXYzSkNRU245NldTNHBEOTdRZnlXMjVBN05oU0FieWhtVmowRkVsdEE0dmRpeWdC
CmliWGhvVVlneWtDVVA3SHdQVERlRXFBSWNIVk1rWmc3Wng0azB1RkFOczYzaFBRWENvUkxBd2Rn
R3NyOUF6N1F2N3NnUUdnZzFhUGwKL0JKTEV4QldnRzRSRlJMRkltR21JcXVQQy9rbEVHeUNHMEF1
QVhhSkpDK0I4RlZlOU5ZUURFY1hCOGc2QVFjallKMWdvSklnZ0hXQwpyRlIwUzZrUkhONSs0QnpG
aThOYW9OMzVOUnhVdkwrSkpkWnI3UFY0d0s2Zmo4bkl5TWpJeU5ocjNPeGRYQVlxN0ZIWndCNmJE
U3pTCmg0c0YwdXRDaHFvME5BdmFUMWhMelh3RmlubUN6bWVEdWNFUUsxOFRUYVFvRmdQN2JOQytS
WjRPVDRUNmdRb2dERllrKzFReFFsajEKOVFHU0FXS2lMWXA4UDBBZzFHYnoxVUxmV0hMZzlpVW5R
Tks1UVFKY3VrbTA0YmxLTEgyR2dFSkNZK0h6WEFaV0N2SEtjbzNCcDZNSQphQ2pTWFhSSnlPeGVx
aG56RWFGOTNNZkZHVy9PMTZadkRMNVRNNE1KSWp1anovY0h5cGtRdXV6UndXSjkzQktkSXQrd0NS
QVBsOWtwCmUySWtrYjJtRmdHbHhoL2k0MGQzRUhmZHZveU1qSXlNdTQzeWx0L0lBbUdIbk41aUl0
N3dLZmJ2MDFSQWNKcUZSbDlsY2pZUVNuYlEKcUtnQzRmWU93U0p0Nk42dHJFMHR3WjlrTi9QcU5w
VFFlSUN2cjRUTHNEWUMwNlU3Qk1qc2hTK3YxL2FUN0l3UVlENUxjZ1JRWE1UMgpGckJmQkxqWjYx
NTFqREVsazl0UEZmcFVnazJ5cmVndXNYMjVCSmJ3QUZFZk0rWUk2dkdBdGk0YlR0aXpCK1RqZlFD
ckVSeWhLYjJYCjhENkE5d1g3NVA0dDRuZUJZSmVQNnBkaGcvZ1FsOE1Xdnl0emVTVGpnT1FCeW5R
ZGgvaVhLZHhPckdKL1JrWkdSc2I5UW1YaWhHcjUKK2c4R0dnOXVUaCtLb1ZadU5JelYrQ3dSdWNG
QkV5cjFtVmp4NGlyT3h3TTFCaGlyQjZRKzJlTlFpNGVxUithRjZtRUx0b016Q1I3Vgo5UkFGZS9a
dlFvZ05peVk4RlBTVVRGc0xwOFRlVG1NdWk1bXR3N2JjYVQwWXcyQUE0d0ZSUUlsa2dxKzFEUXJO
aGttb3hTNUpxK3U2CmJNQUlHUkVDRUFOZ1hIVGdXendnQk9oREgybDBvVFE0RDhENU5Na3RCZ055
d0FFTWpvOHJ3QVRNWnJQWTdKR3hCb0pDa0lCRFFpQVkKMDlFR1RVaUJDV2tVcElTZkdQUjVBQXdC
ZlppRzJ6N0F5YzF5ZUtUeGlkMzl4Qk53ZkhyNE8wTEE0OGVQRlR2aFlyRjFyNHR5QW96OQpuMk1D
cUV1QnRwLzZHRFIwb0FZZkcvUjZ3SkV4SFlaSGZoeWdzdjdmRVdDT2o0Ylltc1A1QStwTDRNa1Rm
QW5NbEQ0RityM2JvYkt2ClR5VEEyUC93N1BOK0FncTJRVzhwaXFNQ3BUQndlbm9LdlgwQUhHa0d0
UDJZQVB2VEVXQTdRVVRBdWRuNy9OeHRPRzQ2d1dObUR0cEIKRWtCek43ckJFdkFGSHArWVRCL3E5
N3FQQU40Z0hGcWdCaTh1THNDN3FQQ0E2bWc0MUcvK0VyQnlQd0VYRGRvTnhSaE94K001alBFegpR
dWdTMGh0K2IxL1kzZ0VuWU1BSUFPSUJFMjkvaElEdWNFOHRtTXNOT2dLNEIxUkhGdTRVQ1JsTUh6
djB4emNhamNmZFhXRHMyaDhUCkFyQkNrb0RVSllETG16Nnc3aXAzQkZTMHZlNXdUUndBbjZrZU1B
OUkzUVliZlNaMERLYnl0KzdPWGpHSTFpZFBjZk55QXlmQU1sQ3IKemFHcXBoWXJ4SG9jTEhSSlZ5
Y25mR1VjYnRUK2pJeU1qSXc5eDdObjhmSlN6RzBUbUZ0TzhyWlQrWFQzUzN1Yit0S0piYkxkNWRp
VApWcDUwK3phaHllSFNzbEovWVByVTBmdWF6clpPMkNaOTIvWkNDVlhsR1JpWktQSnlQUFJ4eUlG
V2VYTFFCWEpCS2lxLzNkaXZFQU42Clp3TTIwMFFqbTdFSkJaZVdtL1BSV1ZDYllLN3M3dTJsNFhh
Q3orbHpnT2ZNZmhNb25YcjdUV3plWmI5OGRiZ0l6QlQ4VWI4ZVlZVXEKZlo0clZKL01EYklEZ1Bx
VHVsSi94dm50V0F0aklpc3Fud3hPa0d6MG4wNzdGQVJvWTc5R2RBNkhQRTRyT3kxOTZOaU1XSFRa
bFNTQQpwY09nWHB5L2ZIVjJqb2FOS3UzZmZzQW5SY0JmNEsvNk5jSUc2dEl4azNIeW9YUGpBU3Fm
VWdYYllONVB6cEwybmprUjlRTWplRFRWCkhEVENnUnV4T2Vnam9PMEZ2S3pQL3QvZ21WZEkyNCtH
N05JZThKWDZXdjNkRHlsZE1BKzRZQjV3d1R5Z3RkK2R3UnFhVHFyTGIxbDcKM3pUU041MkNOcG5I
dVFPWVBzRGJseWJneGZrWGgvb1Z0citOMURFQkpkaFJKeWQvQmQvcTF6K2NiTnJEMTdpVkt5YWpj
bnY5YXJoTwprUlBnc3J1dUQ2RG1OUHdwRE5yTHcyQ29UZ0huaTR5QUxyMEwyOSt0aUtBRUlQbjg2
OGVqeC8vOHJwV1AzT0VPbDVPbjlPd3BjUW0wCk1oYWZQL2V5OGYxdXZETklnR0xRRzh6NFlPOTlF
TmdnOTVldHd2NHVZSllZOGZVR0hZSDZqNmZzY0hGWk1mdGxBbDlpKzlYTDczWDMKTi9uK1pTdE96
ZlZmUnZZWGhyYmRLT3BFZ1ZRVGcvd3NEdUREM2t3T2ZRTk1USjV5Ky9sdFVEV0x1bnl4blJGNDZJ
cWxCekdNWTRYNwppbmdnUkVGaW9JeU1qSXlNSFdDSUI2Wk5LQWNYc2VvM3ZMVFFUa1ZFNzM0OGRs
d0pKU3owK3dMZm1pOEJoWnFmdzNENHd3L3dIVkxuCkVkNS9mZ1l2WHNEWjNNbHN2WVViYm5EakRa
M01OM1RKRzQrYnhqQWFEbDhUQnJpOXF4RXcxY2NhbzJ3VE5BTUxIbzJmK3Nqclh3Yi8KOXFIb1lx
Z1BNQlhKVFZmT3BtclpIMjN5NnV2bzBMSFN5WTZmSEd3S2ZISmxBdU1Gdk9iakRZcklxeEJnUWky
MGg3SGQvbllWTG1ubworZWFOVW0vZWVIMkdDdW9wbnRuaEJKQWxJMkFIbzlDQ2gxSTFReFVkQWJx
cUdZOUJCTHd5YzNXNHdZVmh2WThBNEJvSWMxbDVNN3ZuClBXcGhaVzkvU2VzM24zN3k5YTB1R3FG
d0ZRWnNRUWJkMzg2RG9ncGdFaytkenluc0FaTUpYcTgrbnM5TmV1a0owUFlyTkFUR0dlZkoKUWxo
a0xvN0RUWHIreTNiTmlPc0R2clhUei9DMnExRFhaSDg0aVJOd3JQODhOait1MkRqWUVFNlJCeEQ5
S25qMTZ1alZIQzY3QTc0MgoybzAyUndEM2dCK3Q3RWJsV3Z1OWdlT0Z4U25kM1JPbVQrbkp5UWto
b1Bsc3hWT05jLzNURWRCb3MranRBK1p6Y3dIZ1R2RDFjRGphCllDY0l0QTh3OWk4OEE4YittcVNq
YzZQdnFkOTk4UWd1RVFQbVFNZW8yM09ETjg2K3AwL2JuMWJ1QmtUNitvQmhOWi9QWVk0WkFIWWIK
M1BSZDRMa1ptUFg2OE5SdE1abjRBU3ZkQStxZjBqTUE1TVA5ZWVnMjhOdWc5UWlMbmo1QTMzVTFN
QUVTNnhIQVVOcHovOXpGQVlFMQpncVFETVQzRzZ4STlwd2R3L2FJZ0tvSENTMVlHbFJuU3E5eUNq
ZFhqZ04zaitOMjdZeVJPSHhtdU5BZU5LUHBZdVhJeUl5TWpZeTBNCjhlcm9zNTlNRi9QVDJjNjAy
VDdlQTd6dmhKOWRyL3Z6RGpYYUxwNFljNSswd2xsenh6SHYzZ2RtTU1NNy9DY1F6S2dWQnFZVG1G
bisKWittS204SjdrMEE1Ri9qZ0NmalExV0JoUXlpT3FEMGxZdXFCYitBeXpNdzlIYTJHM202Yzhx
UXgrQWxxbkljZVFwK1NiNmk5VXlRVwpiaHI1NCtBam5aMFZ6VzJUQU4wRG1CVDZQV21jNmpEQkUy
UEsydStuRjQzZHlQN1EwdDFwT2NYMmZkUnZIMG1GMlE0SnFOMzVybkhqClZJZWFYZklBVnlVdXcv
YUhDQ2lKeTlpRjVsMTYyMXp3ZUk4S1pyUFo5aUpkYjdEWEozVVMwT1NydFoxMGltdDd3SFk3UWVz
QXpVTXoKMW9aM25vQjNxRkovSDE4ajk3Rll1dzhRRE40b2VLZjMwb3N2Y1NXMkV4TG8rVmNidUF1
by9zVUltOGZNRzl4b2NPM0VhMTlKOWdGWQppdm5ISjJLbnlmb3ZabGdXM3Y2eVN4MzJhYlFpSXlN
akl5UGpobEZEVEx4cHdJZ0ZNblRwNkEzZzRJREtOWStzdGt3QU1Bb0lBYmFzCnhCWHFVV25lU0FX
VE1qdDUwbFRxVDI5ckZqdlhvaGpzRE5tMllQWERGbElDbXJKT1ozdDZ0SG04QWlFQWwwc0NlTElJ
b3JJUnQrY0YKYmV3L1FSc29BWGI0bzFYU2ZveXd6bTBGVE1Bb1lCTnZMeUZ1OHY4SHBMQnREMWlL
Z0MxN3dIYjdBSTZkOXdGYnZndUFJR1RIZDRFOQp3RzdqZ0l5TWpJeU0rNDM0YzJSM0hlVi9GZng2
anRadTZpamw4aDU5VDY1NWpoUityZEh6RE9QNmJlQUJDaGViOE84L1dGWGVPeXpnCmY1b0FoVllu
S3hQN0N3YUFmMWFmSnU4YlNyaFM2dGRhWGVHbnJSZW5PcU9sejlkNlF3WW5BLzNUTGQrR0U3cWUz
Y2hBNVlGNURmWTAKdkszYWRmT1gvZ3lOcDJCVzI1TUhkeEFCOXF2UmlpUDMvWHBRUUZHWURVNCtN
aS8vL1h1bVhHOHBqdmFVQU9zQkdsZjRqSnQrWVlFegplRXpBZHcwNkYxOVIzanVNN0Qxd2l0YTg2
R1IwQ0tmREhnTHVYQ2M0QnJpNnZNTGRmak1jNFZOU1VOc2RvZG8yeHUvMStYbC9LNSthCno4akl5
TWhZRy96NWdKVE1GMUd0S3EvYTNycHlDdno1Z0pUTWw5R3RLcS9hM3JweUNtZlE0V3dabVMra1hG
VmV0YjExNVNUNDh3RWYKL0FHY2ZHMWl3K3RXYnBiUzJ2SjNuUXhjVnIzbEgzejVoOTcyRlVUTHpZ
cE9WazdsNWhEK2VZY1l3RGNBbmV3T290clo0T3RyUER1YwpxaS9MUlgwL1JSNHF4N05uNFU4Zytx
amZmdnVONkdmK25DODV2d2F1SGphWXl1YnF2V1lLWTRWRWZTVU1pdGRuQkNUMVVlNjNSNTQzCjlt
K09nQ242RHJvQUFhSFBWUXhLdGgvd2tKZ0htRzhibVFNc1QwRDZFakRmdmhWUktPM3l3T1FVZ1JB
N25tTDF1YXdabUhmMWsrRFAKQndRNk5kY0orazZNZDFMQTVmNU9OZGhKOHZaNUowdkxIVDk5c3Jr
R09qbUpiZC9HMXIyTnJpcW5zZTFBWnQxQWFsVTVqVzJIc3V1RwowcXZLR1JrWkdSa1pHUkcwZ2NP
TnlYc1A5djhEMC9JZEpBRGlCTmlYbDMzMjdXUkdnT0wvOUhDLzBYd2xJVVJrUmhDNHR6NlovZnU3
CmZVZjJnSHZmQjl6M3UwQkdSa1pHUmtiR3BsSGNua2dndVFvU3F0VVh1aGJzL3dQdE13cVYwSFVK
QXZqNXZrMzJiOElEdUwyM3luN3EKQVhaNXUzMmhiUlg3ZDNvODJEZjFGWlh2Ymg5UU9maHl4bGRy
LyszeGdYVTlvS212c0h5cjdGL1hBMjY5L2V2ZUJYcnN2N045UUFMZQovdHZqQTBrUFdBWEdidmVi
a2JIbitEL0o1bk1jSHp4MVVBQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>