<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>280818</bug_id>
          
          <creation_ts>2011-08-26 06:43:43 +0000</creation_ts>
          <short_desc>Crash in Nepomuk::Types::EntityPrivate::load</short_desc>
          <delta_ts>2012-08-06 08:33:28 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>nepomuk</product>
          <component>libnepomukcore</component>
          <version>4.6</version>
          <rep_platform>Ubuntu</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>crash</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>lucatersi</reporter>
          <assigned_to name="Sebastian Trueg">trueg</assigned_to>
          <cc>cyberang3l</cc>
    
    <cc>dima</cc>
    
    <cc>dnadoublehelix-buggy</cc>
    
    <cc>faycpercussion</cc>
    
    <cc>GSinsley</cc>
    
    <cc>hrvoje.senjan</cc>
    
    <cc>i.proudler</cc>
    
    <cc>kde</cc>
    
    <cc>lbickley</cc>
    
    <cc>liquidsunshine+kde</cc>
    
    <cc>maninred</cc>
    
    <cc>manuavazquez</cc>
    
    <cc>me</cc>
    
    <cc>micheluzzo</cc>
    
    <cc>micro_corvalan</cc>
    
    <cc>nonameflas</cc>
    
    <cc>p92</cc>
    
    <cc>patric.beinschob</cc>
    
    <cc>paulo.miguel.dias</cc>
    
    <cc>pigletto</cc>
    
    <cc>rufus_1_2</cc>
    
    <cc>salsa_temps</cc>
    
    <cc>sorell7</cc>
    
    <cc>Sroka.Steven</cc>
    
    <cc>stephan.menzel</cc>
    
    <cc>toperek</cc>
    
    <cc>vivekumasuthan</cc>
    
    <cc>wooly1111</cc>
    
    <cc>workingwriter</cc>
    
    <cc>yugenekr</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1157223</commentid>
    <comment_count>0</comment_count>
    <who name="">lucatersi</who>
    <bug_when>2011-08-26 06:43:43 +0000</bug_when>
    <thetext>Application: nepomukservicestub (0.2)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-11-generic x86_64
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:
Nepomuk crashed at startup, but it is crashing also randomly...

The crash can be reproduced some of the time.

-- Backtrace:
Application: Nepomuk Service Stub (nepomukservicestub), signal: Segmentation fault
__lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
[Current thread is 1 (Thread 0x7f812291f780 (LWP 2105))]

Thread 3 (Thread 0x7f81118b4700 (LWP 2145)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f811ff8280f in _L_lock_12013 () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f811ff808d8 in __libc_free (mem=0x7f81202931c0) at malloc.c:3736
#3  0x00007f81223c2889 in ~QByteArray (this=&lt;value optimized out&gt;, __in_chrg=&lt;value optimized out&gt;) at ../../include/QtCore/../../src/corelib/tools/qbytearray.h:383
#4  ~QUrlPrivate (this=&lt;value optimized out&gt;, __in_chrg=&lt;value optimized out&gt;) at io/qurl.cpp:294
#5  QUrl::~QUrl (this=&lt;value optimized out&gt;, __in_chrg=&lt;value optimized out&gt;) at io/qurl.cpp:4186
#6  0x00007f811ce03feb in ?? () from /usr/lib/libsoprano.so.4
#7  0x00007f81212a8a25 in Nepomuk::Types::EntityPrivate::load (this=0x13006b0) at ../../nepomuk/types/entity.cpp:79
#8  0x00007f81212a7961 in Nepomuk::Types::EntityPrivate::init (this=0x13006b0) at ../../nepomuk/types/entity.cpp:51
#9  0x00007f81212af0d7 in Nepomuk::Types::Property::maxCardinality (this=&lt;value optimized out&gt;) at ../../nepomuk/types/property.cpp:384
#10 0x00007f8118a33700 in uniqueVarName (this=0x12a0470, qbd=0x7f81118b3310) at ../../../nepomuk/query/querybuilderdata_p.h:121
#11 Nepomuk::Query::ComparisonTermPrivate::getMainVariableName (this=0x12a0470, qbd=0x7f81118b3310) at ../../../nepomuk/query/comparisonterm.cpp:357
#12 0x00007f8118a33e8d in Nepomuk::Query::ComparisonTermPrivate::toSparqlGraphPattern (this=0x12a0470, resourceVarName=..., qbd=0x7f81118b3310) at ../../../nepomuk/query/comparisonterm.cpp:142
#13 0x00007f8118a31e36 in Nepomuk::Query::AndTermPrivate::toSparqlGraphPattern (this=&lt;value optimized out&gt;, resourceVarName=..., qbd=0x7f81118b3310) at ../../../nepomuk/query/andterm.cpp:34
#14 0x00007f8118a3c318 in Nepomuk::Query::Query::toSparqlQuery (this=0x12fb9c8, sparqlFlags=...) at ../../../nepomuk/query/query.cpp:466
#15 0x00007f81120f93db in Nepomuk::Query::Folder::sparqlQuery (this=&lt;value optimized out&gt;) at ../../../../nepomuk/services/queryservice/folder.cpp:122
#16 0x00007f81120fc157 in Nepomuk::Query::SearchRunnable::run (this=0x133fb00) at ../../../../nepomuk/services/queryservice/searchrunnable.cpp:81
#17 0x00007f8122319188 in QThreadPoolThread::run (this=0x133fad0) at concurrent/qthreadpool.cpp:106
#18 0x00007f8122324175 in QThreadPrivate::start (arg=0x133fad0) at thread/qthread_unix.cpp:320
#19 0x00007f811fcecd8c in start_thread (arg=0x7f81118b4700) at pthread_create.c:304
#20 0x00007f811ffea04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#21 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f81110b3700 (LWP 2146)):
[KCrash Handler]
#6  _int_free (av=0x7f81202931c0, p=0x1349cf0) at malloc.c:4892
#7  0x00007f811ff808e3 in __libc_free (mem=&lt;value optimized out&gt;) at malloc.c:3738
#8  0x00007f81223690fc in QString::free (d=0x1349d00) at tools/qstring.cpp:1185
#9  0x00007f81223c9ba4 in ~QString (domain=&lt;value optimized out&gt;) at ../../include/QtCore/../../src/corelib/tools/qstring.h:883
#10 QUrl::toAce (domain=&lt;value optimized out&gt;) at io/qurl.cpp:5884
#11 0x00007f81223cc602 in QUrlPrivate::toEncoded (this=0x7f81110b1390, options=...) at io/qurl.cpp:3948
#12 0x00007f81223cbb3f in QUrlPrivate::normalized (this=0x7f810c005590) at io/qurl.cpp:4059
#13 0x00007f81223cd205 in QUrl::operator== (this=0x7f81110b1890, url=...) at io/qurl.cpp:5959
#14 0x00007f81212af5f7 in Nepomuk::Types::PropertyPrivate::addProperty (this=0x1340b20, property=..., value=...) at ../../nepomuk/types/property.cpp:58
#15 0x00007f81212a8f51 in Nepomuk::Types::EntityPrivate::load (this=0x1340b20) at ../../nepomuk/types/entity.cpp:108
#16 0x00007f81212a7961 in Nepomuk::Types::EntityPrivate::init (this=0x1340b20) at ../../nepomuk/types/entity.cpp:51
#17 0x00007f81212af0d7 in Nepomuk::Types::Property::maxCardinality (this=&lt;value optimized out&gt;) at ../../nepomuk/types/property.cpp:384
#18 0x00007f8118a33700 in uniqueVarName (this=0x7f810c001ed0, qbd=0x7f81110b2310) at ../../../nepomuk/query/querybuilderdata_p.h:121
#19 Nepomuk::Query::ComparisonTermPrivate::getMainVariableName (this=0x7f810c001ed0, qbd=0x7f81110b2310) at ../../../nepomuk/query/comparisonterm.cpp:357
#20 0x00007f8118a33e8d in Nepomuk::Query::ComparisonTermPrivate::toSparqlGraphPattern (this=0x7f810c001ed0, resourceVarName=..., qbd=0x7f81110b2310) at ../../../nepomuk/query/comparisonterm.cpp:142
#21 0x00007f8118a31e36 in Nepomuk::Query::AndTermPrivate::toSparqlGraphPattern (this=&lt;value optimized out&gt;, resourceVarName=..., qbd=0x7f81110b2310) at ../../../nepomuk/query/andterm.cpp:34
#22 0x00007f8118a3c318 in Nepomuk::Query::Query::toSparqlQuery (this=0x133c998, sparqlFlags=...) at ../../../nepomuk/query/query.cpp:466
#23 0x00007f81120f93db in Nepomuk::Query::Folder::sparqlQuery (this=&lt;value optimized out&gt;) at ../../../../nepomuk/services/queryservice/folder.cpp:122
#24 0x00007f81120fc157 in Nepomuk::Query::SearchRunnable::run (this=0x7f810c0010a0) at ../../../../nepomuk/services/queryservice/searchrunnable.cpp:81
#25 0x00007f8122319188 in QThreadPoolThread::run (this=0x7f810c001190) at concurrent/qthreadpool.cpp:106
#26 0x00007f8122324175 in QThreadPrivate::start (arg=0x7f810c001190) at thread/qthread_unix.cpp:320
#27 0x00007f811fcecd8c in start_thread (arg=0x7f81110b3700) at pthread_create.c:304
#28 0x00007f811ffea04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#29 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f812291f780 (LWP 2105)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f811ff8280f in _L_lock_12013 () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f811ff808d8 in __libc_free (mem=0x7f81202931c0) at malloc.c:3736
#3  0x00007f8122435e57 in socketNotifierSourceCheck (source=0x12126c0) at kernel/qeventdispatcher_glib.cpp:92
#4  0x00007f811f210854 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f811f211122 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f811f211639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f81224363ef in QEventDispatcherGlib::processEvents (this=0x11ca4a0, flags=&lt;value optimized out&gt;) at kernel/qeventdispatcher_glib.cpp:422
#8  0x00007f81208014de in QGuiEventDispatcherGlib::processEvents (this=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;) at kernel/qguieventdispatcher_glib.cpp:204
#9  0x00007f812240a882 in QEventLoop::processEvents (this=&lt;value optimized out&gt;, flags=...) at kernel/qeventloop.cpp:149
#10 0x00007f812240aabc in QEventLoop::exec (this=0x7fff34415d80, flags=...) at kernel/qeventloop.cpp:201
#11 0x00007f812240eecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#12 0x0000000000403c3f in main (argc=2, argv=&lt;value optimized out&gt;) at ../../../nepomuk/servicestub/main.cpp:165

Possible duplicates by query: bug 280506, bug 280474, bug 280336, bug 280275, bug 280262.

Reported using DrKonqi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163979</commentid>
    <comment_count>1</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:41:46 +0000</bug_when>
    <thetext>*** Bug 277379 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163981</commentid>
    <comment_count>2</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:43:09 +0000</bug_when>
    <thetext>*** Bug 276044 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163983</commentid>
    <comment_count>3</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:43:27 +0000</bug_when>
    <thetext>*** Bug 275791 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163987</commentid>
    <comment_count>4</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:44:53 +0000</bug_when>
    <thetext>*** Bug 273521 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163991</commentid>
    <comment_count>5</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:46:00 +0000</bug_when>
    <thetext>*** Bug 272882 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163997</commentid>
    <comment_count>6</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:47:32 +0000</bug_when>
    <thetext>*** Bug 267728 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164001</commentid>
    <comment_count>7</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 09:48:09 +0000</bug_when>
    <thetext>*** Bug 265017 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164082</commentid>
    <comment_count>8</comment_count>
      <attachid>63747</attachid>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-18 14:00:43 +0000</bug_when>
    <thetext>Created attachment 63747
Patch against soprano 2.7

Please apply this patch to Soprano and then also rebuild kdelibs. If that fixes the problem (which I assume) then I will push it to Soprano 2.7, 2.6, and master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164865</commentid>
    <comment_count>9</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:39:51 +0000</bug_when>
    <thetext>*** Bug 280828 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164868</commentid>
    <comment_count>10</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:40:59 +0000</bug_when>
    <thetext>*** Bug 280006 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164870</commentid>
    <comment_count>11</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:43:00 +0000</bug_when>
    <thetext>*** Bug 275732 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164872</commentid>
    <comment_count>12</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:43:19 +0000</bug_when>
    <thetext>*** Bug 275251 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164874</commentid>
    <comment_count>13</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:43:32 +0000</bug_when>
    <thetext>*** Bug 275001 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164877</commentid>
    <comment_count>14</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:45:21 +0000</bug_when>
    <thetext>*** Bug 273164 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164879</commentid>
    <comment_count>15</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:45:34 +0000</bug_when>
    <thetext>*** Bug 272825 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164882</commentid>
    <comment_count>16</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:49:12 +0000</bug_when>
    <thetext>*** Bug 271304 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164884</commentid>
    <comment_count>17</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:49:46 +0000</bug_when>
    <thetext>*** Bug 269787 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164886</commentid>
    <comment_count>18</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 12:50:09 +0000</bug_when>
    <thetext>*** Bug 267674 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164890</commentid>
    <comment_count>19</comment_count>
    <who name="">lucatersi</who>
    <bug_when>2011-09-20 12:59:23 +0000</bug_when>
    <thetext>I don&apos;t know how to do this, if anybody else is applying the patch, caould you please guide me?
 

(In reply to comment #8)
&gt; Created an attachment (id=63747) [details]
&gt; Patch against soprano 2.7
&gt; 
&gt; Please apply this patch to Soprano and then also rebuild kdelibs. If that fixes
&gt; the problem (which I assume) then I will push it to Soprano 2.7, 2.6, and
&gt; master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164895</commentid>
    <comment_count>20</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-20 13:12:46 +0000</bug_when>
    <thetext>(In reply to comment #19)
&gt; I don&apos;t know how to do this, if anybody else is applying the patch, caould you
&gt; please guide me?

Basically it means:
* getting the sources from Soprano 2.7 from http://soprano.sf.net
* extracting the in some tmp folder: tar xjf soprano-2.7.0.tar.bz2
* creating a build dir: cd soprano-2.7.0; mkdir build; cd build
* configuring: cmake -DCMAKE_INSTALL_PREFIX=/usr .. (or as an alternative omit the -D... to install to /usr/local which works on most distributions and allows you to easily remove the self-compiled Soprano afterwards)
* check which dependencies are missing from the output. You might need to install a bunch of -devel packages.
* build it: make
* install it: sudo make install (Caution: this will overwrite your installation of soprano if you use the -D... stuff mentioned above.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165186</commentid>
    <comment_count>21</comment_count>
    <who name="">lucatersi</who>
    <bug_when>2011-09-21 09:57:48 +0000</bug_when>
    <thetext>Shall I remove the old Soprano?
and what about kdelibs? is this &apos;sudo apt-get install --reinstall kdelibs&apos; enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165201</commentid>
    <comment_count>22</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-21 11:00:15 +0000</bug_when>
    <thetext>(In reply to comment #21)
&gt; Shall I remove the old Soprano?

No need, you either overwrite it or you install into /usr/local which takes precedence over /usr where your old soprano lives.

&gt; and what about kdelibs? is this &apos;sudo apt-get install --reinstall kdelibs&apos;
&gt; enough?

sadly not. I did not think of that. You actually have to go through the same steps as with soprano, except that it is sufficient to only install the nepomuk parts:

- download and extract kdelibs-4.x.tar.bz2
- cd kdelibs-4.x
- mkdir build
- cd build
- cmake -D.... (same as above) ..
- cd nepomuk
- make
- sudo make install</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165230</commentid>
    <comment_count>23</comment_count>
      <attachid>63817</attachid>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-21 12:24:05 +0000</bug_when>
    <thetext>Created attachment 63817
Patch against soprano 2.7

Sorry, the former patch had a serious issue which made Nepomuk fail to return any string values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165235</commentid>
    <comment_count>24</comment_count>
    <who name="">lucatersi</who>
    <bug_when>2011-09-21 12:32:27 +0000</bug_when>
    <thetext>Do I need to download the source again and repeat the installation? Or do I need to run a specific command to apply the patch soprano-voc.diff?

Moreover, I think I&apos;ve installed all the required dependencies to build kdelibs, but I&apos;ve no &apos;nepomuk&apos; folder inside &apos;build&apos; after using: cmake ../</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165239</commentid>
    <comment_count>25</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-21 12:46:30 +0000</bug_when>
    <thetext>(In reply to comment #24)
&gt; Do I need to download the source again and repeat the installation? Or do I
&gt; need to run a specific command to apply the patch soprano-voc.diff?
&gt; 
&gt; Moreover, I think I&apos;ve installed all the required dependencies to build
&gt; kdelibs, but I&apos;ve no &apos;nepomuk&apos; folder inside &apos;build&apos; after using: cmake ../

Stupid me. I never explained how to apply the patch. Sorry. Just cd into the soprano folder which you extracted and apply the patch like so:
* cd soprano-2.7.0
* patch -p1 &lt; /path/to/patch/soprano-voc.diff
Then rebuild soprano:
* cd build
* make
* sudo make install</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165258</commentid>
    <comment_count>26</comment_count>
    <who name="">lucatersi</who>
    <bug_when>2011-09-21 13:24:37 +0000</bug_when>
    <thetext>Sorry, I&apos;m giving up.. I&apos;ve got problems with the new version, related to this cmake message:

-- Soprano Components that will NOT be built:
   * Sesame2 storage backend (java-based)
   * Raptor RDF parser (missing libraptor - http://librdf.org)
   * Raptor RDF serializer (missing libraptor - http://librdf.org)

that leads to this error while trying to build soprano:

In file included from /usr/include/librdf.h:33:0,                                                              
                 from /usr/include/redland.h:30,
                 from /home/lt/soprano-2.7.0/backends/redland/redlandworld.h:26,
                 from /home/lt/soprano-2.7.0/backends/redland/redlandworld.cpp:23:
/usr/include/rasqal/rasqal.h:910:81: error: ‘raptor_message_handler’ has not been declared
/usr/include/rasqal/rasqal.h:912:75: error: ‘raptor_message_handler’ has not been declared
/usr/include/rasqal/rasqal.h:914:77: error: ‘raptor_message_handler’ has not been declared
make[2]: *** [backends/redland/CMakeFiles/soprano_redlandcore.dir/redlandworld.cpp.o] Error 1
make[1]: *** [backends/redland/CMakeFiles/soprano_redlandcore.dir/all] Error 2
make: *** [all] Error 2



Then I tried to install a new version of rasqal, but I get this:

rasqal_format_sv.c: In function ‘rasqal_query_results_write_sv’:
rasqal_format_sv.c:171:11: error: implicit declaration of function ‘raptor_bnodeid_ntriples_write’
rasqal_format_sv.c:171:11: warning: nested extern declaration of ‘raptor_bnodeid_ntriples_write’
make[2]: *** [rasqal_format_sv.lo] Error 1
make[2]: Leaving directory `/home/lt/rasqal-0.9.27/src&apos;
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/lt/rasqal-0.9.27/src&apos;
make: *** [all-recursive] Error 1


To many nested errors, sorry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165276</commentid>
    <comment_count>27</comment_count>
      <attachid>63820</attachid>
    <who name="Vivek Umasuthan">vivekumasuthan</who>
    <bug_when>2011-09-21 14:30:35 +0000</bug_when>
    <thetext>Created attachment 63820
New crash information added by DrKonqi

nepomukservicestub (0.2) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:

The system booted up and Dolphin started automatically. The Nepomuk stub crashed right after that. I hadn&apos;t even touched the keyboard or mouse.

-- Backtrace (Reduced):
#8  0x00007ff2dc10fd7b in __libc_message (do_abort=2, fmt=0x7ff2dc1f8400 &quot;*** glibc detected *** %s: %s: 0x%s ***\n&quot;) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#9  0x00007ff2dc119bb6 in malloc_printerr (action=3, str=0x7ff2dc1f8980 &quot;malloc(): memory corruption (fast)&quot;, ptr=&lt;value optimized out&gt;) at malloc.c:6283
#10 0x00007ff2dc11ce78 in _int_malloc (av=0x7ff2c8000020, bytes=&lt;value optimized out&gt;) at malloc.c:4308
#11 0x00007ff2dc11f31e in __libc_malloc (bytes=55) at malloc.c:3660
#12 0x00007ff2de4c5036 in QByteArray::QByteArray (this=0x7ff2cdbac670, data=0x1abcddf &quot;www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol&quot;, size=23) at tools/qbytearray.cpp:1306</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165341</commentid>
    <comment_count>28</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-21 17:17:57 +0000</bug_when>
    <thetext>(In reply to comment #26)
&gt; To many nested errors, sorry

It&apos;s fine. It is a tedious thing if one never builds anything from source normally.
But typically you only need to install the related -devel packages - in this case redland, raptor, and rasqal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165343</commentid>
    <comment_count>29</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-21 17:19:00 +0000</bug_when>
    <thetext>(In reply to comment #27)
&gt; Created an attachment (id=63820) [details]
&gt; New crash information added by DrKonqi
&gt; 
&gt; nepomukservicestub (0.2) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2
&gt; 
&gt; - What I was doing when the application crashed:
&gt; 
&gt; The system booted up and Dolphin started automatically. The Nepomuk stub
&gt; crashed right after that. I hadn&apos;t even touched the keyboard or mouse.
&gt; 
&gt; -- Backtrace (Reduced):
&gt; #8  0x00007ff2dc10fd7b in __libc_message (do_abort=2, fmt=0x7ff2dc1f8400 &quot;***
&gt; glibc detected *** %s: %s: 0x%s ***\n&quot;) at
&gt; ../sysdeps/unix/sysv/linux/libc_fatal.c:189
&gt; #9  0x00007ff2dc119bb6 in malloc_printerr (action=3, str=0x7ff2dc1f8980
&gt; &quot;malloc(): memory corruption (fast)&quot;, ptr=&lt;value optimized out&gt;) at
&gt; malloc.c:6283
&gt; #10 0x00007ff2dc11ce78 in _int_malloc (av=0x7ff2c8000020, bytes=&lt;value
&gt; optimized out&gt;) at malloc.c:4308
&gt; #11 0x00007ff2dc11f31e in __libc_malloc (bytes=55) at malloc.c:3660
&gt; #12 0x00007ff2de4c5036 in QByteArray::QByteArray (this=0x7ff2cdbac670,
&gt; data=0x1abcddf &quot;www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol&quot;,
&gt; size=23) at tools/qbytearray.cpp:1306

Is this with the patch applied or not? We are at a point in this bug report where it does not make much sense anymore to post duplicated backtraces. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166132</commentid>
    <comment_count>30</comment_count>
    <who name="Michele Gastaldo">micheluzzo</who>
    <bug_when>2011-09-23 14:13:32 +0000</bug_when>
    <thetext>I tried, but cmake keeps finding raptor-1.4.21 even after I installed 2.0.4 in /usr/local . I also tried to add /usr/local/ to CMAKE_PREFIX_PATH and the relevant subdirs - bin,include,lib - to the respective path - program,include,library - but I get the error anyway.

-- Could NOT find Raptor: Found unsuitable version &quot;2.0.0&quot;, but required is at least &quot;2.0.4&quot; (found /usr/lib/libraptor2.so)
-- You have raptor1 version 1.4.21 installed. Please update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167559</commentid>
    <comment_count>31</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-27 12:38:07 +0000</bug_when>
    <thetext>*** Bug 282890 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167560</commentid>
    <comment_count>32</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-09-27 12:41:30 +0000</bug_when>
    <thetext>(In reply to comment #30)
&gt; I tried, but cmake keeps finding raptor-1.4.21 even after I installed 2.0.4 in
&gt; /usr/local . I also tried to add /usr/local/ to CMAKE_PREFIX_PATH and the
&gt; relevant subdirs - bin,include,lib - to the respective path -
&gt; program,include,library - but I get the error anyway.
&gt; 
&gt; -- Could NOT find Raptor: Found unsuitable version &quot;2.0.0&quot;, but required is at
&gt; least &quot;2.0.4&quot; (found /usr/lib/libraptor2.so)
&gt; -- You have raptor1 version 1.4.21 installed. Please update.

Hm, the raptor check in Soprano has its problems... any chance you could update
to KDE 4.7? Because that would also update raptor...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169295</commentid>
    <comment_count>33</comment_count>
    <who name="Michele Gastaldo">micheluzzo</who>
    <bug_when>2011-10-02 16:08:18 +0000</bug_when>
    <thetext>(In reply to comment #32)
&gt; Hm, the raptor check in Soprano has its problems... any chance you could update
&gt; to KDE 4.7? Because that would also update raptor...

Ehm, I did update to 4.7 and that seemed to be enough to solve the problem for me :) Only drawback is that I&apos;m then unable to test the patch.. anything else I could do?
thank you for your time and your big work anyway</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169906</commentid>
    <comment_count>34</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-10-04 11:15:54 +0000</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #32)
&gt; &gt; Hm, the raptor check in Soprano has its problems... any chance you could update
&gt; &gt; to KDE 4.7? Because that would also update raptor...
&gt; 
&gt; Ehm, I did update to 4.7 and that seemed to be enough to solve the problem for
&gt; me :) Only drawback is that I&apos;m then unable to test the patch.. anything else I
&gt; could do?
&gt; thank you for your time and your big work anyway

Oh well, at least it works for you now. Thanks for your help. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173160</commentid>
    <comment_count>35</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-10-14 16:42:23 +0000</bug_when>
    <thetext>*** Bug 284009 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174148</commentid>
    <comment_count>36</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-10-17 08:10:56 +0000</bug_when>
    <thetext>*** Bug 274031 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174154</commentid>
    <comment_count>37</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-10-17 08:21:00 +0000</bug_when>
    <thetext>*** Bug 251684 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181565</commentid>
    <comment_count>38</comment_count>
      <attachid>65279</attachid>
    <who name="Steven Sroka">Sroka.Steven</who>
    <bug_when>2011-11-06 02:56:16 +0000</bug_when>
    <thetext>Created attachment 65279
New crash information added by DrKonqi

nepomukservicestub (0.2) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4

- What I was doing when the application crashed:

I was browsing through my local filesystem with Dolphin.

-- Backtrace (Reduced):
#6  _int_free (av=0x7f792a3ad1c0, p=0x17234b0) at malloc.c:4892
#7  0x00007f792a08fd7c in __GI___libc_free (mem=&lt;optimized out&gt;) at malloc.c:3738
#8  0x00007f792c4d90ac in QString::free (d=0x17234c0) at tools/qstring.cpp:1186
#9  0x00007f792c538a7a in ~QString (this=0x7f7917ffe200, __in_chrg=&lt;optimized out&gt;) at ../../include/QtCore/../../src/corelib/tools/qstring.h:883
#10 QUrlPrivate::canonicalHost (this=0x1726d30) at io/qurl.cpp:3418</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181943</commentid>
    <comment_count>39</comment_count>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2011-11-06 22:55:44 +0000</bug_when>
    <thetext>*** Bug 285931 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185931</commentid>
    <comment_count>40</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-11-16 09:29:43 +0000</bug_when>
    <thetext>*** Bug 285851 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198217</commentid>
    <comment_count>41</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-12-12 10:22:39 +0000</bug_when>
    <thetext>*** Bug 285912 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198880</commentid>
    <comment_count>42</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2011-12-13 12:28:32 +0000</bug_when>
    <thetext>*** Bug 283982 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220791</commentid>
    <comment_count>43</comment_count>
    <who name="Sebastian Trueg">trueg</who>
    <bug_when>2012-01-30 15:46:01 +0000</bug_when>
    <thetext>*** Bug 289270 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245201</commentid>
    <comment_count>44</comment_count>
    <who name="William">rufus_1_2</who>
    <bug_when>2012-04-12 09:13:14 +0000</bug_when>
    <thetext>The first boot after install of Kubuntu 12.04 and the mouse froze and and the following was dugup, but I couldn&apos;t do a trace since I couldn&apos;t find a keyboard shortcut to access the internet via my wifi and download the bug symbols. So I had to reboot via alt-f4. Prior to that though I logged out and back in which got the plasma search and launch to work again but not the mouse, but tab to the searched item doesn&apos;t let you launch it with space or return keys. The main reason I am posting here is because of the Krash handler listing Nepomuk and lib on a first boot crash.

Application: KDE Activity Manager (kactivitymanagerd), signal: Segmentation fault
Using host libthread_db library &quot;/lib/i386-linux-gnu/libthread_db.so.1&quot;.
[Current thread is 1 (Thread 0xb5450740 (LWP 1394))]

Thread 2 (Thread 0xb2777b40 (LWP 1525)):
[KCrash Handler]
#7  0xb6f8ca53 in ?? () from /usr/lib/libnepomuk.so.4
#8  0xb277d5ac in ?? () from /usr/lib/kde4/activitymanager_plugin_nepomuk.so
#9  0xb2784c02 in ?? () from /usr/lib/kde4/activitymanager_plugin_nepomuk.so
#10 0xb6c4dde0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb5cd9d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb5f73ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb5450740 (LWP 1394)):
#0  0xb774b424 in __kernel_vsyscall ()
#1  0xb5f6317b in read () from /lib/i386-linux-gnu/libc.so.6
#2  0xb575b9be in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb571cb90 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb571d0a2 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb571d261 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb6d95067 in QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#7  0xb630889a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#8  0xb6d60c8d in QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#9  0xb6d60f29 in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#10 0xb6d6663a in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb624d8c4 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#12 0x0804c597 in ?? ()
#13 0xb5ea24d3 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#14 0x0804c5dd in _start ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280623</commentid>
    <comment_count>45</comment_count>
    <who name="Vishesh Handa">me</who>
    <bug_when>2012-08-02 07:18:02 +0000</bug_when>
    <thetext>Fixed with Soprano 2.8.1

It turns out that QUrl is not thread-safe even on constant operations which are not supposed to modify its contents. This is because of the lazy-parsing feature in QUrl. An appropriate bug report has been filed for Qt4, and this has been fixed with Qt 5.

Soprano 2.8 has been patched to use QThreadStorage, so that each thread has its own copy of the vocabularies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280625</commentid>
    <comment_count>46</comment_count>
    <who name="Vishesh Handa">me</who>
    <bug_when>2012-08-02 07:19:44 +0000</bug_when>
    <thetext>*** Bug 294933 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282150</commentid>
    <comment_count>47</comment_count>
    <who name="Vishesh Handa">me</who>
    <bug_when>2012-08-06 08:33:28 +0000</bug_when>
    <thetext>*** Bug 274416 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63747</attachid>
            <date>2011-09-18 14:00:43 +0000</date>
            <delta_ts>2011-09-21 12:24:05 +0000</delta_ts>
            <desc>Patch against soprano 2.7</desc>
            <filename>soprano.diff</filename>
            <type>text/plain</type>
            <size>79896</size>
            <attacher name="Sebastian Trueg">trueg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9uYW8uY3BwIGIvc29wcmFuby92b2NhYnVs
YXJ5L25hby5jcHAKaW5kZXggYzU4YTNmYi4uMjhlOTI5NCAxMDA2NDQKLS0tIGEvc29wcmFuby92
b2NhYnVsYXJ5L25hby5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L25hby5jcHAKQEAgLTIw
LDMxMyArMjAsMjE3IEBACiAKICNpbmNsdWRlICJuYW8uaCIKIAotY2xhc3MgTmFvUHJpdmF0ZQot
ewotcHVibGljOgotICAgIE5hb1ByaXZhdGUoKQotICAgICAgICA6IG5hb19uYW1lc3BhY2UoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFv
X0ZyZWVEZXNrdG9wSWNvbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNGcmVlRGVza3RvcEljb24iLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fUGFydHkoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jUGFydHkiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fU3ltYm9s
KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbmFvI1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19UYWcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jVGFnIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbmFvX2FsdExhYmVsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2FsdExh
YmVsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2FsdFN5bWJvbCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNhbHRTeW1ib2wiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAg
ICAgICBuYW9fYW5ub3RhdGlvbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNhbm5vdGF0aW9uIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2NvbnRyaWJ1dG9yKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbmFvI2NvbnRyaWJ1dG9yIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
bmFvX2NyZWF0ZWQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jY3JlYXRlZCIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIG5hb19jcmVhdG9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2NyZWF0
b3IiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fZGVwcmVjYXRlZCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNkZXByZWNhdGVkIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAg
ICAgICAgbmFvX2Rlc2NyaXB0aW9uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2Rlc2NyaXB0aW9uIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2VuZ2luZWVyaW5nVG9vbCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNlbmdpbmVlcmluZ1Rvb2wiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICBuYW9faGFzRGVmYXVsdE5hbWVzcGFjZSggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNo
YXNEZWZhdWx0TmFtZXNwYWNlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFv
X2hhc0RlZmF1bHROYW1lc3BhY2VBYmJyZXZpYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFz
RGVmYXVsdE5hbWVzcGFjZUFiYnJldmlhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19oYXNTdWJSZXNvdXJjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNoYXNTdWJSZXNv
dXJjZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19oYXNTdXBlclJlc291
cmNlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1cGVyUmVzb3VyY2UiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICBuYW9faGFzU3ltYm9sKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hh
c1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19oYXNUYWcoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jaGFzVGFnIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAg
ICAgbmFvX2hhc1RvcGljKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1RvcGljIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2ljb25OYW1lKCBRVXJsOjpmcm9tRW5jb2RlZCgg
Imh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFv
I2ljb25OYW1lIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2lkZW50aWZp
ZXIoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaWRlbnRpZmllciIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIG5hb19pc0RhdGFHcmFwaEZvciggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpc0Rh
dGFHcmFwaEZvciIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19pc1JlbGF0
ZWQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaXNSZWxhdGVkIiwgUVVybDo6U3RyaWN0TW9kZSApICks
Ci0gICAgICAgICAgbmFvX2lzVGFnRm9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2lzVGFnRm9yIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2lzVG9waWNPZiggUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNpc1RvcGljT2YiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBu
YW9fbGFzdE1vZGlmaWVkKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2xhc3RNb2RpZmllZCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19tb2RpZmllZCggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25hbyNtb2RpZmllZCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19udW1l
cmljUmF0aW5nKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI251bWVyaWNSYXRpbmciLCBRVXJsOjpTdHJp
Y3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fcGVyc29uYWxJZGVudGlmaWVyKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbmFvI3BlcnNvbmFsSWRlbnRpZmllciIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19wbHVyYWxQcmVmTGFiZWwoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jcGx1cmFsUHJl
ZkxhYmVsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3ByZWZMYWJlbCgg
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25hbyNwcmVmTGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBuYW9fcHJlZlN5bWJvbCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNwcmVmU3ltYm9sIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3JhdGluZyggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNyYXRpbmciLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fc2Nv
cmUoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jc2NvcmUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBuYW9fc2NvcmVQYXJhbWV0ZXIoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jc2NvcmVQYXJh
bWV0ZXIiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fc2VyaWFsaXphdGlv
bkxhbmd1YWdlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3NlcmlhbGl6YXRpb25MYW5ndWFnZSIsIFFV
cmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19zdGF0dXMoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jc3RhdHVzIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3VzZXJW
aXNpYmxlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3VzZXJWaXNpYmxlIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbmFvX3ZlcnNpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDov
L3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jdmVyc2lv
biIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19BZ2VudCggUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNBZ2VudCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19t
YWludGFpbmVkQnkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jbWFpbnRhaW5lZEJ5IiwgUVVybDo6U3Ry
aWN0TW9kZSApICkgewotICAgIH0KLQotICAgIFFVcmwgbmFvX25hbWVzcGFjZTsKLSAgICBRVXJs
IG5hb19GcmVlRGVza3RvcEljb247Ci0gICAgUVVybCBuYW9fUGFydHk7Ci0gICAgUVVybCBuYW9f
U3ltYm9sOwotICAgIFFVcmwgbmFvX1RhZzsKLSAgICBRVXJsIG5hb19hbHRMYWJlbDsKLSAgICBR
VXJsIG5hb19hbHRTeW1ib2w7Ci0gICAgUVVybCBuYW9fYW5ub3RhdGlvbjsKLSAgICBRVXJsIG5h
b19jb250cmlidXRvcjsKLSAgICBRVXJsIG5hb19jcmVhdGVkOwotICAgIFFVcmwgbmFvX2NyZWF0
b3I7Ci0gICAgUVVybCBuYW9fZGVwcmVjYXRlZDsKLSAgICBRVXJsIG5hb19kZXNjcmlwdGlvbjsK
LSAgICBRVXJsIG5hb19lbmdpbmVlcmluZ1Rvb2w7Ci0gICAgUVVybCBuYW9faGFzRGVmYXVsdE5h
bWVzcGFjZTsKLSAgICBRVXJsIG5hb19oYXNEZWZhdWx0TmFtZXNwYWNlQWJicmV2aWF0aW9uOwot
ICAgIFFVcmwgbmFvX2hhc1N1YlJlc291cmNlOwotICAgIFFVcmwgbmFvX2hhc1N1cGVyUmVzb3Vy
Y2U7Ci0gICAgUVVybCBuYW9faGFzU3ltYm9sOwotICAgIFFVcmwgbmFvX2hhc1RhZzsKLSAgICBR
VXJsIG5hb19oYXNUb3BpYzsKLSAgICBRVXJsIG5hb19pY29uTmFtZTsKLSAgICBRVXJsIG5hb19p
ZGVudGlmaWVyOwotICAgIFFVcmwgbmFvX2lzRGF0YUdyYXBoRm9yOwotICAgIFFVcmwgbmFvX2lz
UmVsYXRlZDsKLSAgICBRVXJsIG5hb19pc1RhZ0ZvcjsKLSAgICBRVXJsIG5hb19pc1RvcGljT2Y7
Ci0gICAgUVVybCBuYW9fbGFzdE1vZGlmaWVkOwotICAgIFFVcmwgbmFvX21vZGlmaWVkOwotICAg
IFFVcmwgbmFvX251bWVyaWNSYXRpbmc7Ci0gICAgUVVybCBuYW9fcGVyc29uYWxJZGVudGlmaWVy
OwotICAgIFFVcmwgbmFvX3BsdXJhbFByZWZMYWJlbDsKLSAgICBRVXJsIG5hb19wcmVmTGFiZWw7
Ci0gICAgUVVybCBuYW9fcHJlZlN5bWJvbDsKLSAgICBRVXJsIG5hb19yYXRpbmc7Ci0gICAgUVVy
bCBuYW9fc2NvcmU7Ci0gICAgUVVybCBuYW9fc2NvcmVQYXJhbWV0ZXI7Ci0gICAgUVVybCBuYW9f
c2VyaWFsaXphdGlvbkxhbmd1YWdlOwotICAgIFFVcmwgbmFvX3N0YXR1czsKLSAgICBRVXJsIG5h
b191c2VyVmlzaWJsZTsKLSAgICBRVXJsIG5hb192ZXJzaW9uOwotICAgIFFVcmwgbmFvX0FnZW50
OwotICAgIFFVcmwgbmFvX21haW50YWluZWRCeTsKLX07Ci0KLVFfR0xPQkFMX1NUQVRJQyggTmFv
UHJpdmF0ZSwgc19uYW8gKQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6bmFvTmFt
ZXNwYWNlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX25hbWVzcGFjZTsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1LyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKK30KKworUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpOQU86OkFnZW50KCkKK3sKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNBZ2VudCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpW
b2NhYnVsYXJ5OjpOQU86OkZyZWVEZXNrdG9wSWNvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCkt
Pm5hb19GcmVlRGVza3RvcEljb247CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jRnJl
ZURlc2t0b3BJY29uIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZv
Y2FidWxhcnk6Ok5BTzo6UGFydHkoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fUGFydHk7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jUGFydHkiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpTeW1ib2woKQogewotICAg
IHJldHVybiBzX25hbygpLT5uYW9fU3ltYm9sOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bmFvI1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOQU86OlRhZygpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19UYWc7CisgICAg
cmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jVGFnIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6YWx0TGFiZWwoKQogewotICAgIHJldHVy
biBzX25hbygpLT5uYW9fYWx0TGFiZWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8j
YWx0TGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TkFPOjphbHRTeW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fYWx0U3lt
Ym9sOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2FsdFN5bWJvbCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmFubm90YXRp
b24oKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fYW5ub3RhdGlvbjsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25hbyNhbm5vdGF0aW9uIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6Y29udHJpYnV0b3IoKQogewotICAgIHJl
dHVybiBzX25hbygpLT5uYW9fY29udHJpYnV0b3I7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jY29udHJpYnV0b3IiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFu
bzo6Vm9jYWJ1bGFyeTo6TkFPOjpjcmVhdGVkKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFv
X2NyZWF0ZWQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jY3JlYXRlZCIsIFFVcmw6
OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmNyZWF0
b3IoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fY3JlYXRvcjsKKyAgICByZXR1cm4gUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNjcmVhdG9yIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJs
IFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6ZGVwcmVjYXRlZCgpCiB7Ci0gICAgcmV0dXJuIHNf
bmFvKCktPm5hb19kZXByZWNhdGVkOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2Rl
cHJlY2F0ZWQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TkFPOjpkZXNjcmlwdGlvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19kZXNj
cmlwdGlvbjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNkZXNjcmlwdGlvbiIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmVu
Z2luZWVyaW5nVG9vbCgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19lbmdpbmVlcmluZ1Rv
b2w7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jZW5naW5lZXJpbmdUb29sIiwgUVVy
bDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6aGFz
RGVmYXVsdE5hbWVzcGFjZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19oYXNEZWZhdWx0
TmFtZXNwYWNlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc0RlZmF1bHROYW1l
c3BhY2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFy
eTo6TkFPOjpoYXNEZWZhdWx0TmFtZXNwYWNlQWJicmV2aWF0aW9uKCkKIHsKLSAgICByZXR1cm4g
c19uYW8oKS0+bmFvX2hhc0RlZmF1bHROYW1lc3BhY2VBYmJyZXZpYXRpb247CisgICAgcmV0dXJu
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFzRGVmYXVsdE5hbWVzcGFjZUFiYnJldmlhdGlvbiIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Omhh
c1N1YlJlc291cmNlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX2hhc1N1YlJlc291cmNl
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1YlJlc291cmNlIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6aGFzU3Vw
ZXJSZXNvdXJjZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19oYXNTdXBlclJlc291cmNl
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1cGVyUmVzb3VyY2UiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpoYXNT
eW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faGFzU3ltYm9sOworICAgIHJldHVy
biBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Omhhc1RhZygpCiB7Ci0gICAgcmV0dXJu
IHNfbmFvKCktPm5hb19oYXNUYWc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFz
VGFnIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
Ok5BTzo6aGFzVG9waWMoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faGFzVG9waWM7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFzVG9waWMiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjppY29uTmFtZSgpCiB7Ci0g
ICAgcmV0dXJuIHNfbmFvKCktPm5hb19pY29uTmFtZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNpY29uTmFtZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5v
OjpWb2NhYnVsYXJ5OjpOQU86OmlkZW50aWZpZXIoKQogewotICAgIHJldHVybiBzX25hbygpLT5u
YW9faWRlbnRpZmllcjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpZGVudGlmaWVy
IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5B
Tzo6aXNEYXRhR3JhcGhGb3IoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faXNEYXRhR3Jh
cGhGb3I7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaXNEYXRhR3JhcGhGb3IiLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpp
c1JlbGF0ZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faXNSZWxhdGVkOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2lzUmVsYXRlZCIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmlzVGFnRm9yKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX2lzVGFnRm9yOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bmFvI2lzVGFnRm9yIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZv
Y2FidWxhcnk6Ok5BTzo6aXNUb3BpY09mKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX2lz
VG9waWNPZjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpc1RvcGljT2YiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpsYXN0
TW9kaWZpZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fbGFzdE1vZGlmaWVkOworICAg
IHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2xhc3RNb2RpZmllZCIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKK30KKworUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Om1haW50YWluZWRCeSgp
Cit7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jbWFpbnRhaW5lZEJ5IiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6bW9kaWZp
ZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fbW9kaWZpZWQ7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jbW9kaWZpZWQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFV
cmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpudW1lcmljUmF0aW5nKCkKIHsKLSAgICByZXR1
cm4gc19uYW8oKS0+bmFvX251bWVyaWNSYXRpbmc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jbnVtZXJpY1JhdGluZyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpOQU86OnBlcnNvbmFsSWRlbnRpZmllcigpCiB7Ci0gICAgcmV0dXJu
IHNfbmFvKCktPm5hb19wZXJzb25hbElkZW50aWZpZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9uYW8jcGVyc29uYWxJZGVudGlmaWVyIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBR
VXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6cGx1cmFsUHJlZkxhYmVsKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX3BsdXJhbFByZWZMYWJlbDsKKyAgICByZXR1cm4gUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNwbHVyYWxQcmVmTGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFV
cmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpwcmVmTGFiZWwoKQogewotICAgIHJldHVybiBz
X25hbygpLT5uYW9fcHJlZkxhYmVsOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3By
ZWZMYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVs
YXJ5OjpOQU86OnByZWZTeW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fcHJlZlN5
bWJvbDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNwcmVmU3ltYm9sIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6cmF0aW5n
KCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3JhdGluZzsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25hbyNyYXRpbmciLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29w
cmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpzY29yZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5h
b19zY29yZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNzY29yZSIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OnNjb3JlUGFy
YW1ldGVyKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3Njb3JlUGFyYW1ldGVyOworICAg
IHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3Njb3JlUGFyYW1ldGVyIiwgUVVybDo6U3RyaWN0
TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6c2VyaWFsaXphdGlv
bkxhbmd1YWdlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3NlcmlhbGl6YXRpb25MYW5n
dWFnZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNzZXJpYWxpemF0aW9uTGFuZ3Vh
Z2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6
TkFPOjpzdGF0dXMoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fc3RhdHVzOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3N0YXR1cyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OnVzZXJWaXNpYmxlKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX3VzZXJWaXNpYmxlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5j
b2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgv
MTUvbmFvI3VzZXJWaXNpYmxlIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJh
bm86OlZvY2FidWxhcnk6Ok5BTzo6dmVyc2lvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5h
b192ZXJzaW9uOwotfQotCi1RVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6QWdlbnQoKQot
ewotICAgIHJldHVybiBzX25hbygpLT5uYW9fQWdlbnQ7Ci19Ci0KLVFVcmwgU29wcmFubzo6Vm9j
YWJ1bGFyeTo6TkFPOjptYWludGFpbmVkQnkoKQotewotICAgIHJldHVybiBzX25hbygpLT5uYW9f
bWFpbnRhaW5lZEJ5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3ZlcnNpb24iLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CmRpZmYgLS1naXQgYS9zb3ByYW5vL3ZvY2FidWxhcnkvbnJs
LmNwcCBiL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuY3BwCmluZGV4IDJhZTc1NjUuLmZlMjI5M2Eg
MTAwNjQ0Ci0tLSBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuY3BwCisrKyBiL3NvcHJhbm8vdm9j
YWJ1bGFyeS9ucmwuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIFRoaXMgZmlsZSBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdGhlIG9udG8ydm9jYWJ1bGFyeWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdo
dCAoQykgMjAwNy0yMDA4IFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHly
aWdodCAoQykgMjAwNy0yMDExIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtMjAsMzA2ICsyMCwyMTIgQEAKIAogI2luY2x1ZGUgIm5ybC5oIgog
Ci1jbGFzcyBOcmxQcml2YXRlCi17Ci1wdWJsaWM6Ci0gICAgTnJsUHJpdmF0ZSgpCi0gICAgICAg
IDogbnJsX25hbWVzcGFjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCMiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICBucmxfQXN5bW1ldHJpY1Byb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI0FzeW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9Db25maWd1cmF0aW9uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZpZ3VyYXRpb24iLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxfRGF0YSggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25ybCNEYXRhIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0RlZmF1bHRH
cmFwaCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEZWZhdWx0R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICBucmxfRG9jdW1lbnRHcmFwaCggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNE
b2N1bWVudEdyYXBoIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0V4dGVy
bmFsVmlld1NwZWNpZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRXh0ZXJuYWxWaWV3U3Bl
Y2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9GdW5jdGlv
bmFsUHJvcGVydHkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRnVuY3Rpb25hbFByb3BlcnR5IiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0dyYXBoKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI0dyYXBoIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0dyYXBoTWV0
YWRhdGEoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjR3JhcGhNZXRhZGF0YSIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIG5ybF9HcmFwaFZpZXcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjR3Jh
cGhWaWV3IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0luc3RhbmNlQmFz
ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICkg
KSwKLSAgICAgICAgICBucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9ucmwjRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBucmxfSW52ZXJzZUZ1bmN0aW9uYWxQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNJbnZlcnNlRnVuY3Rpb25hbFByb3BlcnR5IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAg
ICAgICAgbnJsX0tub3dsZWRnZUJhc2UoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjS25vd2xlZGdlQmFz
ZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9PbnRvbG9neSggUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNPbnRvbG9neSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9SZWZsZXhpdmVQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNSZWZsZXhpdmVQcm9w
ZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9SdWxlVmlld1NwZWNp
ZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUnVsZVZpZXdTcGVjaWZpY2F0aW9uIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX1NjaGVtYSggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25ybCNTY2hlbWEiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxfU2VtYW50
aWNzKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1NlbWFudGljcyIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIG5ybF9TeW1tZXRyaWNQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNT
eW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9U
cmFuc2l0aXZlUHJvcGVydHkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5
IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX1ZpZXdTcGVjaWZpY2F0aW9u
KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI1ZpZXdTcGVjaWZpY2F0aW9uIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbnJsX2NhcmRpbmFsaXR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2Nh
cmRpbmFsaXR5IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2NvcmVHcmFw
aE1ldGFkYXRhRm9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2NvcmVHcmFwaE1ldGFkYXRhRm9yIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2VxdWl2YWxlbnRHcmFwaCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICBucmxfZXh0ZXJuYWxSZWFsaXplciggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNleHRl
cm5hbFJlYWxpemVyIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2dyYXBo
TWV0YWRhdGFGb3IoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvciIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9oYXNTZW1hbnRpY3MoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjaGFzU2VtYW50aWNzIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
bnJsX2hhc1NwZWNpZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lmaWNhdGlv
biIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9pbXBvcnRzKCBRVXJsOjpm
cm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIw
MDcvMDgvMTUvbnJsI2ltcG9ydHMiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBu
cmxfaW52ZXJzZVByb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2ludmVyc2VQcm9wZXJ0eSIs
IFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9tYXhDYXJkaW5hbGl0eSggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNtYXhDYXJkaW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAot
ICAgICAgICAgIG5ybF9taW5DYXJkaW5hbGl0eSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtaW5DYXJk
aW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9yZWFsaXplcygg
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNyZWFsaXplcyIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5ybF9ydWxlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3J1bGUiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICBucmxfcnVsZUxhbmd1YWdlKCBRVXJsOjpmcm9tRW5jb2RlZCgg
Imh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I3J1bGVMYW5ndWFnZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9zZW1h
bnRpY3NEZWZpbmVkQnkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc2VtYW50aWNzRGVmaW5lZEJ5Iiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX3N1YkdyYXBoT2YoIFFVcmw6OmZy
b21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAw
Ny8wOC8xNS9ucmwjc3ViR3JhcGhPZiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9zdXBlckdyYXBoT2YoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9mIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX3VwZGF0YWJsZSggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCN1cGRhdGFibGUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxf
dmlld09uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3ZpZXdPbiIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
IHsKLSAgICB9Ci0KLSAgICBRVXJsIG5ybF9uYW1lc3BhY2U7Ci0gICAgUVVybCBucmxfQXN5bW1l
dHJpY1Byb3BlcnR5OwotICAgIFFVcmwgbnJsX0NvbmZpZ3VyYXRpb247Ci0gICAgUVVybCBucmxf
RGF0YTsKLSAgICBRVXJsIG5ybF9EZWZhdWx0R3JhcGg7Ci0gICAgUVVybCBucmxfRG9jdW1lbnRH
cmFwaDsKLSAgICBRVXJsIG5ybF9FeHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uOwotICAgIFFVcmwg
bnJsX0Z1bmN0aW9uYWxQcm9wZXJ0eTsKLSAgICBRVXJsIG5ybF9HcmFwaDsKLSAgICBRVXJsIG5y
bF9HcmFwaE1ldGFkYXRhOwotICAgIFFVcmwgbnJsX0dyYXBoVmlldzsKLSAgICBRVXJsIG5ybF9J
bnN0YW5jZUJhc2U7Ci0gICAgUVVybCBucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2U7Ci0gICAg
UVVybCBucmxfSW52ZXJzZUZ1bmN0aW9uYWxQcm9wZXJ0eTsKLSAgICBRVXJsIG5ybF9Lbm93bGVk
Z2VCYXNlOwotICAgIFFVcmwgbnJsX09udG9sb2d5OwotICAgIFFVcmwgbnJsX1JlZmxleGl2ZVBy
b3BlcnR5OwotICAgIFFVcmwgbnJsX1J1bGVWaWV3U3BlY2lmaWNhdGlvbjsKLSAgICBRVXJsIG5y
bF9TY2hlbWE7Ci0gICAgUVVybCBucmxfU2VtYW50aWNzOwotICAgIFFVcmwgbnJsX1N5bW1ldHJp
Y1Byb3BlcnR5OwotICAgIFFVcmwgbnJsX1RyYW5zaXRpdmVQcm9wZXJ0eTsKLSAgICBRVXJsIG5y
bF9WaWV3U3BlY2lmaWNhdGlvbjsKLSAgICBRVXJsIG5ybF9jYXJkaW5hbGl0eTsKLSAgICBRVXJs
IG5ybF9jb3JlR3JhcGhNZXRhZGF0YUZvcjsKLSAgICBRVXJsIG5ybF9lcXVpdmFsZW50R3JhcGg7
Ci0gICAgUVVybCBucmxfZXh0ZXJuYWxSZWFsaXplcjsKLSAgICBRVXJsIG5ybF9ncmFwaE1ldGFk
YXRhRm9yOwotICAgIFFVcmwgbnJsX2hhc1NlbWFudGljczsKLSAgICBRVXJsIG5ybF9oYXNTcGVj
aWZpY2F0aW9uOwotICAgIFFVcmwgbnJsX2ltcG9ydHM7Ci0gICAgUVVybCBucmxfaW52ZXJzZVBy
b3BlcnR5OwotICAgIFFVcmwgbnJsX21heENhcmRpbmFsaXR5OwotICAgIFFVcmwgbnJsX21pbkNh
cmRpbmFsaXR5OwotICAgIFFVcmwgbnJsX3JlYWxpemVzOwotICAgIFFVcmwgbnJsX3J1bGU7Ci0g
ICAgUVVybCBucmxfcnVsZUxhbmd1YWdlOwotICAgIFFVcmwgbnJsX3NlbWFudGljc0RlZmluZWRC
eTsKLSAgICBRVXJsIG5ybF9zdWJHcmFwaE9mOwotICAgIFFVcmwgbnJsX3N1cGVyR3JhcGhPZjsK
LSAgICBRVXJsIG5ybF91cGRhdGFibGU7Ci0gICAgUVVybCBucmxfdmlld09uOwotfTsKLQotUV9H
TE9CQUxfU1RBVElDKCBOcmxQcml2YXRlLCBzX25ybCApCi0KIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TlJMOjpucmxOYW1lc3BhY2UoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfbmFt
ZXNwYWNlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvIiwgUVVybDo6U3RyaWN0TW9kZSAp
OwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6QXN5bW1ldHJpY1Byb3BlcnR5
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0FzeW1tZXRyaWNQcm9wZXJ0eTsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNBc3ltbWV0cmljUHJvcGVydHkiLCBRVXJsOjpTdHJp
Y3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpDb25maWd1cmF0
aW9uKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0NvbmZpZ3VyYXRpb247CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjQ29uZmlndXJhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUg
KTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OkRhdGEoKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfRGF0YTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNE
YXRhIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
Ok5STDo6RGVmYXVsdEdyYXBoKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0RlZmF1bHRH
cmFwaDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEZWZhdWx0R3JhcGgiLCBRVXJs
OjpTdHJpY3RNb2RlICk7Cit9CisKK1FVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpEaXNj
YXJkYWJsZUluc3RhbmNlQmFzZSgpCit7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
RGlzY2FyZGFibGVJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwg
U29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpEb2N1bWVudEdyYXBoKCkKIHsKLSAgICByZXR1cm4g
c19ucmwoKS0+bnJsX0RvY3VtZW50R3JhcGg7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9u
cmwjRG9jdW1lbnRHcmFwaCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5v
OjpWb2NhYnVsYXJ5OjpOUkw6OkV4dGVybmFsVmlld1NwZWNpZmljYXRpb24oKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfRXh0ZXJuYWxWaWV3U3BlY2lmaWNhdGlvbjsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNFeHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uIiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6RnVuY3Rpb25h
bFByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0Z1bmN0aW9uYWxQcm9wZXJ0
eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNGdW5jdGlvbmFsUHJvcGVydHkiLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpH
cmFwaCgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9HcmFwaDsKKyAgICByZXR1cm4gUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNHcmFwaCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OkdyYXBoTWV0YWRhdGEoKQogewotICAgIHJldHVybiBz
X25ybCgpLT5ucmxfR3JhcGhNZXRhZGF0YTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNHcmFwaE1ldGFkYXRhIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86
OlZvY2FidWxhcnk6Ok5STDo6R3JhcGhWaWV3KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJs
X0dyYXBoVmlldzsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNHcmFwaFZpZXciLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpJ
bnN0YW5jZUJhc2UoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfSW5zdGFuY2VCYXNlOwot
fQotCi1RVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6RGlzY2FyZGFibGVJbnN0YW5jZUJh
c2UoKQotewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2U7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjSW5zdGFuY2VCYXNlIiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6SW52ZXJzZUZ1
bmN0aW9uYWxQcm9wZXJ0eSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9JbnZlcnNlRnVu
Y3Rpb25hbFByb3BlcnR5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0ludmVyc2VG
dW5jdGlvbmFsUHJvcGVydHkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFu
bzo6Vm9jYWJ1bGFyeTo6TlJMOjpLbm93bGVkZ2VCYXNlKCkKIHsKLSAgICByZXR1cm4gc19ucmwo
KS0+bnJsX0tub3dsZWRnZUJhc2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjS25v
d2xlZGdlQmFzZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOUkw6Ok9udG9sb2d5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX09udG9s
b2d5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI09udG9sb2d5IiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6UmVmbGV4aXZl
UHJvcGVydHkoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfUmVmbGV4aXZlUHJvcGVydHk7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUmVmbGV4aXZlUHJvcGVydHkiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpSdWxl
Vmlld1NwZWNpZmljYXRpb24oKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfUnVsZVZpZXdT
cGVjaWZpY2F0aW9uOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1J1bGVWaWV3U3Bl
Y2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOUkw6OlNjaGVtYSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9TY2hlbWE7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU2NoZW1hIiwgUVVybDo6U3RyaWN0TW9k
ZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6U2VtYW50aWNzKCkKIHsK
LSAgICByZXR1cm4gc19ucmwoKS0+bnJsX1NlbWFudGljczsKKyAgICByZXR1cm4gUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25ybCNTZW1hbnRpY3MiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29w
cmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpTeW1tZXRyaWNQcm9wZXJ0eSgpCiB7Ci0gICAgcmV0dXJu
IHNfbnJsKCktPm5ybF9TeW1tZXRyaWNQcm9wZXJ0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCNTeW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OlRyYW5zaXRpdmVQcm9wZXJ0eSgpCiB7Ci0gICAg
cmV0dXJuIHNfbnJsKCktPm5ybF9UcmFuc2l0aXZlUHJvcGVydHk7CisgICAgcmV0dXJuIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5IiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6Vmlld1NwZWNpZmljYXRpb24oKQog
ewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfVmlld1NwZWNpZmljYXRpb247CisgICAgcmV0dXJu
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9ucmwjVmlld1NwZWNpZmljYXRpb24iLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpjYXJkaW5hbGl0eSgpCiB7
Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9jYXJkaW5hbGl0eTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNjYXJkaW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmNvcmVHcmFwaE1ldGFkYXRhRm9yKCkKIHsKLSAg
ICByZXR1cm4gc19ucmwoKS0+bnJsX2NvcmVHcmFwaE1ldGFkYXRhRm9yOworICAgIHJldHVybiBR
VXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9n
aWVzLzIwMDcvMDgvMTUvbnJsI2NvcmVHcmFwaE1ldGFkYXRhRm9yIiwgUVVybDo6U3RyaWN0TW9k
ZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6ZXF1aXZhbGVudEdyYXBo
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2VxdWl2YWxlbnRHcmFwaDsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpleHRlcm5hbFJlYWxpemVy
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2V4dGVybmFsUmVhbGl6ZXI7CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZXh0ZXJuYWxSZWFsaXplciIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmdyYXBoTWV0YWRhdGFG
b3IoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfZ3JhcGhNZXRhZGF0YUZvcjsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNncmFwaE1ldGFkYXRhRm9yIiwgUVVybDo6U3RyaWN0
TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6aGFzU2VtYW50aWNz
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2hhc1NlbWFudGljczsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNoYXNTZW1hbnRpY3MiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9
CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpoYXNTcGVjaWZpY2F0aW9uKCkKIHsK
LSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2hhc1NwZWNpZmljYXRpb247CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmltcG9ydHMoKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfaW1wb3J0czsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNpbXBvcnRzIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2Fi
dWxhcnk6Ok5STDo6aW52ZXJzZVByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJs
X2ludmVyc2VQcm9wZXJ0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNpbnZlcnNl
UHJvcGVydHkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TlJMOjptYXhDYXJkaW5hbGl0eSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9t
YXhDYXJkaW5hbGl0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtYXhDYXJkaW5h
bGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpOUkw6Om1pbkNhcmRpbmFsaXR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX21pbkNh
cmRpbmFsaXR5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21pbkNhcmRpbmFsaXR5
IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5S
TDo6cmVhbGl6ZXMoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfcmVhbGl6ZXM7CisgICAg
cmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcmVhbGl6ZXMiLCBRVXJsOjpTdHJpY3RNb2RlICk7
CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpydWxlKCkKIHsKLSAgICByZXR1
cm4gc19ucmwoKS0+bnJsX3J1bGU7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcnVs
ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpO
Ukw6OnJ1bGVMYW5ndWFnZSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9ydWxlTGFuZ3Vh
Z2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcnVsZUxhbmd1YWdlIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6c2VtYW50
aWNzRGVmaW5lZEJ5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX3NlbWFudGljc0RlZmlu
ZWRCeTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNzZW1hbnRpY3NEZWZpbmVkQnki
LCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJM
OjpzdWJHcmFwaE9mKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX3N1YkdyYXBoT2Y7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhPZiIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OnN1cGVyR3JhcGhPZigp
CiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9zdXBlckdyYXBoT2Y7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9mIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6dXBkYXRhYmxlKCkKIHsKLSAgICByZXR1
cm4gc19ucmwoKS0+bnJsX3VwZGF0YWJsZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCN1cGRhdGFibGUiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9j
YWJ1bGFyeTo6TlJMOjp2aWV3T24oKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfdmlld09u
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3ZpZXdPbiIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuaCBiL3NvcHJhbm8v
dm9jYWJ1bGFyeS9ucmwuaAppbmRleCA2Y2JkZDc2Li41NTZjMjVmIDEwMDY0NAotLS0gYS9zb3By
YW5vL3ZvY2FidWxhcnkvbnJsLmgKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L25ybC5oCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIG9u
dG8ydm9jYWJ1bGFyeWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNlYmFz
dGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDExIFNl
YmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjgs
MzE5ICsyOCwzMTkgQEAgbmFtZXNwYWNlIFNvcHJhbm8gewogICAgIG5hbWVzcGFjZSBWb2NhYnVs
YXJ5IHsKICAgICAgICAgbmFtZXNwYWNlIE5STCB7CiAgICAgICAgICAgICAvKioKLSAgICAgICAg
ICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgv
MTUvbnJsIworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS8KICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFO
T19FWFBPUlQgUVVybCBucmxOYW1lc3BhY2UoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAg
ICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCNBc3ltbWV0cmljUHJvcGVydHkKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAg
KiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBhc3ltbWV0cmljIHByb3BlcnRpZXMKKyAgICAg
ICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbnJsI0FzeW1tZXRyaWNQcm9wZXJ0eSAKKyAgICAgICAgICAgICAqIAorICAgICAgICAg
ICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgYXN5bW1ldHJpYyBwcm9wZXJ0aWVzIAog
ICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEFzeW1tZXRy
aWNQcm9wZXJ0eSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93
d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZpZ3Vy
YXRpb24KLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQg
Z3JhcGggY29udGFpbmluZyBjb25maWd1cmF0aW9uIGRhdGEKKyAgICAgICAgICAgICAqIGh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZp
Z3VyYXRpb24gCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYSBu
YW1lZCBncmFwaCBjb250YWluaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSAKICAgICAgICAgICAgICAq
LwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBDb25maWd1cmF0aW9uKCk7CiAKICAg
ICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRGF0YQotICAgICAgICAgICAgICoKLSAgICAg
ICAgICAgICAqIEFuIGFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhbGwgbmFtZWQgZ3JhcGgg
cm9sZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI0RhdGEgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIEFuIGFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhbGwgbmFtZWQgZ3JhcGggcm9sZXMg
CiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGF0YSgp
OwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0RlZmF1bHRHcmFwaAotICAgICAg
ICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2VudHMgdGhlIGRlZmF1bHQgZ3JhcGgsIHRo
ZSBncmFwaCB3aGljaCBjb250YWlucyBhbnkKLSAgICAgICAgICAgICAqIHRyaXBsZSB0aGF0IGRv
ZXMgbm90IGJlbG9uZyB0byBhbnkgb3RoZXIgbmFtZWQgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0Rl
ZmF1bHRHcmFwaCAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyB0
aGUgZGVmYXVsdCBncmFwaCwgdGhlIGdyYXBoIHdoaWNoIGNvbnRhaW5zIGFueSAKKyAgICAgICAg
ICAgICAqIHRyaXBsZSB0aGF0IGRvZXMgbm90IGJlbG9uZyB0byBhbnkgb3RoZXIgbmFtZWQgZ3Jh
cGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGVm
YXVsdEdyYXBoKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRG9jdW1lbnRH
cmFwaAotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlk
ZW50aWZ5IG5hbWVkIGdyYXBocyB0aGF0IGV4aXN0IHdpdGhpbiBhIHBoeXNpY2FsCi0gICAgICAg
ICAgICAgKiBkb2N1bWVudAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRGlzY2FyZGFibGVJbnN0YW5jZUJhc2Ug
CisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbmFtZWQgZ3JhcGggY29udGFpbmlu
ZyBpbnN0YW5jZSBkYXRhIHRoYXQgY2FuIGJlIHJlY3JlYXRlZCAKKyAgICAgICAgICAgICAqIGJ5
IGFuYWx5emluZyB0aGUgb3JpZ2luYWwgcmVzb3VyY2VzLiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5
IAorICAgICAgICAgICAgICogbWV0YWRhdGEgZXh0cmFjdG9ycy4gCisgICAgICAgICAgICAgKi8K
KyAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGlzY2FyZGFibGVJbnN0YW5jZUJhc2Uo
KTsKKworICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEb2N1bWVudEdyYXBoIAorICAg
ICAgICAgICAgICogCisgICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBu
YW1lZCBncmFwaHMgdGhhdCBleGlzdCB3aXRoaW4gYSBwaHlzaWNhbCAKKyAgICAgICAgICAgICAq
IGRvY3VtZW50IAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBR
VXJsIERvY3VtZW50R3JhcGgoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNF
eHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICog
UmVwcmVzZW50cyBhbiBleHRlcm5hbCB2aWV3IHNwZWNpZmljYXRpb24sIHRoaXMgdXN1YWxseSBi
ZWluZwotICAgICAgICAgICAgICogYSBwcm9ncmFtIHdoaWNoIGF1dG9tYXRpY2FsbHkgZ2VuZXJh
dGVzIHRoZSByZXF1aXJlZCB2aWV3Ci0gICAgICAgICAgICAgKiBmb3IgYW4gaW5wdXQgZ3JhcGgK
KyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVz
LzIwMDcvMDgvMTUvbnJsI0V4dGVybmFsVmlld1NwZWNpZmljYXRpb24gCisgICAgICAgICAgICAg
KiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgdmlldyBzcGVjaWZpY2F0
aW9uLCB0aGlzIHVzdWFsbHkgYmVpbmcgCisgICAgICAgICAgICAgKiBhIHByb2dyYW0gd2hpY2gg
YXV0b21hdGljYWxseSBnZW5lcmF0ZXMgdGhlIHJlcXVpcmVkIHZpZXcgCisgICAgICAgICAgICAg
KiBmb3IgYW4gaW5wdXQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJB
Tk9fRVhQT1JUIFFVcmwgRXh0ZXJuYWxWaWV3U3BlY2lmaWNhdGlvbigpOwogCiAgICAgICAgICAg
ICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI0Z1bmN0aW9uYWxQcm9wZXJ0eQotICAgICAgICAgICAgICoK
LSAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5IGZ1bmN0aW9uYWwgcHJv
cGVydGllcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRnVuY3Rpb25hbFByb3BlcnR5IAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBmdW5jdGlvbmFs
IHByb3BlcnRpZXMgCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JU
IFFVcmwgRnVuY3Rpb25hbFByb3BlcnR5KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAg
ICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9ucmwjR3JhcGgKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEg
bmFtZWQgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0dyYXBoIAorICAgICAgICAgICAgICogCisgICAg
ICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAg
ICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgR3JhcGgoKTsKIAogICAgICAgICAgICAgLyoq
Ci0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNHcmFwaE1ldGFkYXRhCi0gICAgICAgICAgICAgKgotICAgICAgICAg
ICAgICogUmVwcmVzZW50cyBhIHNwZWNpYWwgbmFtZWQgZ3JhcGggdGhhdCBjb250YWlucyBtZXRh
ZGF0YSBmb3IKLSAgICAgICAgICAgICAqIGFub3RoZXIgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0dy
YXBoTWV0YWRhdGEgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMg
YSBzcGVjaWFsIG5hbWVkIGdyYXBoIHRoYXQgY29udGFpbnMgbWV0YWRhdGEgZm9yIAorICAgICAg
ICAgICAgICogYW5vdGhlciBncmFwaCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09Q
UkFOT19FWFBPUlQgUVVybCBHcmFwaE1ldGFkYXRhKCk7CiAKICAgICAgICAgICAgIC8qKgotICAg
ICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAw
Ny8wOC8xNS9ucmwjR3JhcGhWaWV3Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogSWRl
bnRpZmllcyBhIGdyYXBoIHdoaWNoIGlzIGl0c2VsZiBhIHZpZXcgb2YgYW5vdGhlciBuYW1lZCBn
cmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9ucmwjR3JhcGhWaWV3IAorICAgICAgICAgICAgICogCisgICAgICAg
ICAgICAgKiBJZGVudGlmaWVzIGEgZ3JhcGggd2hpY2ggaXMgaXRzZWxmIGEgdmlldyBvZiBhbm90
aGVyIG5hbWVkIGdyYXBoIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIEdyYXBoVmlldygpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAq
IGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I0luc3RhbmNlQmFzZQotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2VudHMg
YSBuYW1lZCBncmFwaCBjb250YWluaW5nIGluc3RhbmNlIGRhdGEKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0lu
c3RhbmNlQmFzZSAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyBh
IG5hbWVkIGdyYXBoIGNvbnRhaW5pbmcgaW5zdGFuY2UgZGF0YSAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBJbnN0YW5jZUJhc2UoKTsKIAogICAgICAg
ICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEaXNjYXJkYWJsZUluc3RhbmNlQmFzZQotICAgICAg
ICAgICAgICoKLSAgICAgICAgICAgICAqIEEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBpbnN0YW5j
ZSBkYXRhIHRoYXQgY2FuIGJlIHJlY3JlYXRlZAotICAgICAgICAgICAgICogYnkgYW5hbHl6aW5n
IHRoZSBvcmlnaW5hbCByZXNvdXJjZXMuIEludGVuZGVkIHRvIGJlIHVzZWQgYnkKLSAgICAgICAg
ICAgICAqIG1ldGFkYXRhIGV4dHJhY3RvcnMuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAg
IFNPUFJBTk9fRVhQT1JUIFFVcmwgRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UoKTsKLQotICAgICAg
ICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNJbnZlcnNlRnVuY3Rpb25hbFByb3BlcnR5Ci0gICAg
ICAgICAgICAgKgotICAgICAgICAgICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgaW52
ZXJzZSBmdW5jdGlvbmFsIHByb3BlcnRpZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0ludmVyc2VGdW5jdGlv
bmFsUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFya2VyIGNs
YXNzIHRvIGlkZW50aWZ5IGludmVyc2UgZnVuY3Rpb25hbCBwcm9wZXJ0aWVzIAogICAgICAgICAg
ICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEludmVyc2VGdW5jdGlvbmFs
UHJvcGVydHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNLbm93bGVkZ2VC
YXNlCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIG5hbWVkIGdy
YXBoIGNvbnRhaW5pbmcgYm90aCBzY2hlbWF0aWMgYW5kIGluc3RhbmNlCi0gICAgICAgICAgICAg
KiBkYXRhCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNLbm93bGVkZ2VCYXNlIAorICAgICAgICAgICAgICogCisg
ICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBib3RoIHNj
aGVtYXRpYyBhbmQgaW5zdGFuY2UgCisgICAgICAgICAgICAgKiBkYXRhIAogICAgICAgICAgICAg
ICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEtub3dsZWRnZUJhc2UoKTsKIAog
ICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3Rv
cC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNPbnRvbG9neQotICAgICAgICAgICAgICoK
LSAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYSBuYW1lZCBncmFwaCBoYXZpbmcgdGhlIHJvbGUg
b2YgYW4gT250b2xvZ3kKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI09udG9sb2d5IAorICAgICAgICAgICAgICog
CisgICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggaGF2aW5nIHRoZSByb2xl
IG9mIGFuIE9udG9sb2d5IAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIE9udG9sb2d5KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
UmVmbGV4aXZlUHJvcGVydHkKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBBIG1hcmtl
ciBjbGFzcyB0byBpZGVudGlmeSByZWZsZXhpdmUgcHJvcGVydGllcworICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
UmVmbGV4aXZlUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFy
a2VyIGNsYXNzIHRvIGlkZW50aWZ5IHJlZmxleGl2ZSBwcm9wZXJ0aWVzIAogICAgICAgICAgICAg
ICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIFJlZmxleGl2ZVByb3BlcnR5KCk7
CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUnVsZVZpZXdTcGVjaWZpY2F0aW9u
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIHZpZXcgc3BlY2lm
aWNhdGlvbiB0aGF0IGlzIGNvbXBvc2VkIG9mIGEgc2V0IG9mCi0gICAgICAgICAgICAgKiBydWxl
cyB3aGljaCBnZW5lcmF0ZSB0aGUgcmVxdWlyZWQgdmlldyBmcm9tIHRoZSBpbnB1dCBncmFwaAot
ICAgICAgICAgICAgICogdXBvbiBmaXJpbmcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1J1bGVWaWV3U3BlY2lm
aWNhdGlvbiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIHZp
ZXcgc3BlY2lmaWNhdGlvbiB0aGF0IGlzIGNvbXBvc2VkIG9mIGEgc2V0IG9mIAorICAgICAgICAg
ICAgICogcnVsZXMgd2hpY2ggZ2VuZXJhdGUgdGhlIHJlcXVpcmVkIHZpZXcgZnJvbSB0aGUgaW5w
dXQgZ3JhcGggCisgICAgICAgICAgICAgKiB1cG9uIGZpcmluZyAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBSdWxlVmlld1NwZWNpZmljYXRpb24oKTsK
IAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTY2hlbWEKLSAgICAgICAgICAgICAq
Ci0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBzY2hl
bWF0aWMgZGF0YQorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU2NoZW1hIAorICAgICAgICAgICAgICogCisgICAg
ICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBzY2hlbWF0aWMg
ZGF0YSAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBT
Y2hlbWEoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTZW1hbnRpY3MKLSAg
ICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIHNvbWUgZGVjbGFyYXRpdmUg
c2VtYW50aWNzCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTZW1hbnRpY3MgCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIFJlcHJlc2VudHMgc29tZSBkZWNsYXJhdGl2ZSBzZW1hbnRpY3MgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgU2VtYW50aWNzKCk7
CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU3ltbWV0cmljUHJvcGVydHkKLSAg
ICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBz
eW1tZXRyaWMgcHJvcGVydGllcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU3ltbWV0cmljUHJvcGVydHkgCisg
ICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5
IHN5bW1ldHJpYyBwcm9wZXJ0aWVzIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BS
QU5PX0VYUE9SVCBRVXJsIFN5bW1ldHJpY1Byb3BlcnR5KCk7CiAKICAgICAgICAgICAgIC8qKgot
ICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5Ci0gICAgICAgICAgICAgKgotICAgICAg
ICAgICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgdHJhbnNpdGl2ZSBwcm9wZXJ0aWVz
CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNUcmFuc2l0aXZlUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5IHRyYW5zaXRpdmUgcHJvcGVy
dGllcyAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBU
cmFuc2l0aXZlUHJvcGVydHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNW
aWV3U3BlY2lmaWNhdGlvbgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2Vu
dHMgYSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBtZWFucyB0byBhY2hpZXZlIGEgdHJhbnNmb3JtYXRp
b24KLSAgICAgICAgICAgICAqIG9mIGFuIGlucHV0IGdyYXBoIGludG8gdGhlIHJlcXVpcmVkIGdy
YXBoIHZpZXcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1ZpZXdTcGVjaWZpY2F0aW9uIAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgc3BlY2lmaWNhdGlvbiBvZiB0aGUgbWVh
bnMgdG8gYWNoaWV2ZSBhIHRyYW5zZm9ybWF0aW9uIAorICAgICAgICAgICAgICogb2YgYW4gaW5w
dXQgZ3JhcGggaW50byB0aGUgcmVxdWlyZWQgZ3JhcGggdmlldyAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBWaWV3U3BlY2lmaWNhdGlvbigpOwogCiAg
ICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2NhcmRpbmFsaXR5Ci0gICAgICAgICAgICAg
KgotICAgICAgICAgICAgICogU3BlY2lmaWVzIHRoZSBwcmVjaXNlIHZhbHVlIGNhcmRpbmFsaXR5
IGZvciBhIHNwZWNpZmljIHByb3BlcnR5CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNjYXJkaW5hbGl0eSAKKyAg
ICAgICAgICAgICAqIAorICAgICAgICAgICAgICogU3BlY2lmaWVzIHRoZSBwcmVjaXNlIHZhbHVl
IGNhcmRpbmFsaXR5IGZvciBhIHNwZWNpZmljIHByb3BlcnR5IAogICAgICAgICAgICAgICovCiAg
ICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIGNhcmRpbmFsaXR5KCk7CiAKICAgICAgICAg
ICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjY29yZUdyYXBoTWV0YWRhdGFGb3IKLSAgICAgICAgICAg
ICAqCi0gICAgICAgICAgICAgKiBMaW5rcyBhIG1ldGFkYXRhIGdyYXBoIHRvIHRoZSBncmFwaCBm
b3Igd2hpY2ggaXQgc3BlY2lmaWVzIHRoZQotICAgICAgICAgICAgICogY29yZSBncmFwaCBwcm9w
ZXJ0aWVzIGluY2x1ZGluZyB0aGUgc2VtYW50aWNzIGFuZCB0aGUgZ3JhcGgKLSAgICAgICAgICAg
ICAqIG5hbWVzcGFjZS4gQSBncmFwaCBjYW4gaGF2ZSBvbmx5IG9uZSB1bmlxdWUgY29yZSBtZXRh
ZGF0YSBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjY29yZUdyYXBoTWV0YWRhdGFGb3IgCisgICAgICAg
ICAgICAgKiAKKyAgICAgICAgICAgICAqIExpbmtzIGEgbWV0YWRhdGEgZ3JhcGggdG8gdGhlIGdy
YXBoIGZvciB3aGljaCBpdCBzcGVjaWZpZXMgdGhlIAorICAgICAgICAgICAgICogY29yZSBncmFw
aCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB0aGUgc2VtYW50aWNzIGFuZCB0aGUgZ3JhcGggCisgICAg
ICAgICAgICAgKiBuYW1lc3BhY2UuIEEgZ3JhcGggY2FuIGhhdmUgb25seSBvbmUgdW5pcXVlIGNv
cmUgbWV0YWRhdGEgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9f
RVhQT1JUIFFVcmwgY29yZUdyYXBoTWV0YWRhdGFGb3IoKTsKIAogICAgICAgICAgICAgLyoqCi0g
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgKLSAgICAgICAgICAgICAqCi0gICAgICAgICAg
ICAgKiBMaW5rcyB0d28gZXF1aXZhbGVudCBuYW1lZCBncmFwaHMuIEEgc3ltbWV0cmljIHByb3Bl
cnR5CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGggCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIExpbmtzIHR3byBlcXVpdmFsZW50IG5hbWVkIGdyYXBocy4gQSBzeW1tZXRy
aWMgcHJvcGVydHkgCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JU
IFFVcmwgZXF1aXZhbGVudEdyYXBoKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAg
ICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9u
cmwjZXh0ZXJuYWxSZWFsaXplcgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFBvaW50
cyB0byB0aGUgbG9jYXRpb24gb2YgdGhlIHJlYWxpemVyIGZvciB0aGUgZXh0ZXJuYWwgdmlldwot
ICAgICAgICAgICAgICogc3BlY2lmaWNhdGlvbgorICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZXh0ZXJuYWxSZWFs
aXplciAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSBsb2Nh
dGlvbiBvZiB0aGUgcmVhbGl6ZXIgZm9yIHRoZSBleHRlcm5hbCB2aWV3IAorICAgICAgICAgICAg
ICogc3BlY2lmaWNhdGlvbiAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19F
WFBPUlQgUVVybCBleHRlcm5hbFJlYWxpemVyKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAg
ICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvcgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAq
IExpbmtzIGEgbWV0YWRhdGEgZ3JhcGggdG8gdGhlIGdyYXBoIHRoYXQgaXMgYmVpbmcgZGVzY3Jp
YmVkLgotICAgICAgICAgICAgICogQSB1bmlxdWUgdmFsdWUgaXMgY29tcHVsc29yeQorICAgICAg
ICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvciAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAg
ICogTGlua3MgYSBtZXRhZGF0YSBncmFwaCB0byB0aGUgZ3JhcGggdGhhdCBpcyBiZWluZyBkZXNj
cmliZWQuIAorICAgICAgICAgICAgICogQSB1bmlxdWUgdmFsdWUgaXMgY29tcHVsc29yeSAKICAg
ICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBncmFwaE1ldGFk
YXRhRm9yKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU2VtYW50aWNz
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUG9pbnRzIHRvIGEgcmVwcmVzZW50YXRp
b24gb2YgdGhlIGRlY2xhcmF0aXZlIHNlbWFudGljcyBmb3IKLSAgICAgICAgICAgICAqIGEgZ3Jh
cGggcm9sZQorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU2VtYW50aWNzIAorICAgICAgICAgICAgICogCisg
ICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVjbGFyYXRp
dmUgc2VtYW50aWNzIGZvciAKKyAgICAgICAgICAgICAqIGEgZ3JhcGggcm9sZSAKICAgICAgICAg
ICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBoYXNTZW1hbnRpY3MoKTsK
IAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNoYXNTcGVjaWZpY2F0aW9uCi0gICAg
ICAgICAgICAgKgotICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSByZXByZXNlbnRhdGlvbiBv
ZiB0aGUgdmlldyBzcGVjaWZpY2F0aW9uIHJlcXVpcmVkCi0gICAgICAgICAgICAgKiB0byBnZW5l
cmF0ZSB0aGUgZ3JhcGggdmlldyBpbiBxdWVzdGlvbgorICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lm
aWNhdGlvbiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgdmlldyBzcGVjaWZpY2F0aW9uIHJlcXVpcmVkIAorICAgICAg
ICAgICAgICogdG8gZ2VuZXJhdGUgdGhlIGdyYXBoIHZpZXcgaW4gcXVlc3Rpb24gCiAgICAgICAg
ICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgaGFzU3BlY2lmaWNhdGlv
bigpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2ltcG9ydHMKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBNb2RlbHMgYSBzdWJzdW1wdGlvbiByZWxhdGlvbnNoaXAg
YmV0d2VlbiB0d28gZ3JhcGhzLCBzdGF0aW5nCi0gICAgICAgICAgICAgKiB0aGF0IHRoZSBvYmpl
Y3QgZ3JhcGggaXMgaW1wb3J0ZWQgYW5kIGluY2x1ZGVkIGluIHRoZSBzdWJqZWN0Ci0gICAgICAg
ICAgICAgKiBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaW1wb3J0cyAKKyAgICAgICAgICAgICAqIAor
ICAgICAgICAgICAgICogTW9kZWxzIGEgc3Vic3VtcHRpb24gcmVsYXRpb25zaGlwIGJldHdlZW4g
dHdvIGdyYXBocywgc3RhdGluZyAKKyAgICAgICAgICAgICAqIHRoYXQgdGhlIG9iamVjdCBncmFw
aCBpcyBpbXBvcnRlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIHN1YmplY3QgCisgICAgICAgICAgICAg
KiBncmFwaCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVy
bCBpbXBvcnRzKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaW52ZXJzZVBy
b3BlcnR5Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogTGlua3MgdHdvIHByb3BlcnRp
ZXMgYW5kIHNwZWNpZmllcyB0aGVpciBpbnZlcnNlIGJlaGF2aW91cgorICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
aW52ZXJzZVByb3BlcnR5IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBMaW5rcyB0
d28gcHJvcGVydGllcyBhbmQgc3BlY2lmaWVzIHRoZWlyIGludmVyc2UgYmVoYXZpb3VyIAogICAg
ICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIGludmVyc2VQcm9w
ZXJ0eSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21heENhcmRpbmFsaXR5
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgbWF4aW11bSB2YWx1
ZSBjYXJkaW5hbGl0eSBmb3IgYSBzcGVjaWZpYyBwcm9wZXJ0eQorICAgICAgICAgICAgICogaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjbWF4
Q2FyZGluYWxpdHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFNwZWNpZmllcyBh
IG1heGltdW0gdmFsdWUgY2FyZGluYWxpdHkgZm9yIGEgc3BlY2lmaWMgcHJvcGVydHkgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgbWF4Q2FyZGluYWxp
dHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtaW5DYXJkaW5hbGl0eQot
ICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyBhIG1pbmltdW0gdmFsdWUg
Y2FyZGluYWxpdHkgZm9yIGEgc3BlY2lmaWMgcHJvcGVydHkKKyAgICAgICAgICAgICAqIGh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21pbkNh
cmRpbmFsaXR5IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBTcGVjaWZpZXMgYSBt
aW5pbXVtIHZhbHVlIGNhcmRpbmFsaXR5IGZvciBhIHNwZWNpZmljIHByb3BlcnR5IAogICAgICAg
ICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIG1pbkNhcmRpbmFsaXR5
KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcmVhbGl6ZXMKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUg
ZGVjbGFyYXRpdmUgc2VtYW50aWNzIHRoYXQKLSAgICAgICAgICAgICAqIHRoZSB2aWV3IHNwZWNp
ZmljYXRpb24gcmVhbGl6ZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3JlYWxpemVzIAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVj
bGFyYXRpdmUgc2VtYW50aWNzIHRoYXQgCisgICAgICAgICAgICAgKiB0aGUgdmlldyBzcGVjaWZp
Y2F0aW9uIHJlYWxpemVzIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIHJlYWxpemVzKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
cnVsZQotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyBydWxlcyBmb3Ig
YSB2aWV3IHNwZWNpZmljYXRpb24gdGhhdCBpcyBkcml2ZW4gYnkgcnVsZXMKKyAgICAgICAgICAg
ICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI3J1bGUgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFNwZWNpZmllcyBydWxl
cyBmb3IgYSB2aWV3IHNwZWNpZmljYXRpb24gdGhhdCBpcyBkcml2ZW4gYnkgcnVsZXMgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgcnVsZSgpOwogCiAg
ICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3J1bGVMYW5ndWFnZQotICAgICAgICAgICAg
ICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyB0aGUgcnVsZSBsYW5ndWFnZSBmb3IgYSB2aWV3
IHNwZWNpZmljYXRpb24gdGhhdCBpcwotICAgICAgICAgICAgICogZHJpdmVuIGJ5IHJ1bGVzCisg
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNydWxlTGFuZ3VhZ2UgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIFNwZWNpZmllcyB0aGUgcnVsZSBsYW5ndWFnZSBmb3IgYSB2aWV3IHNwZWNpZmljYXRpb24g
dGhhdCBpcyAKKyAgICAgICAgICAgICAqIGRyaXZlbiBieSBydWxlcyAKICAgICAgICAgICAgICAq
LwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBydWxlTGFuZ3VhZ2UoKTsKIAogICAg
ICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5v
cmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNzZW1hbnRpY3NEZWZpbmVkQnkKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBQb2ludHMgdG8gdGhlIGh1bWFuIHJlYWRhYmxlIHNwZWNp
ZmljYXRpb25zIGZvciBhIHJlcHJlc2VudGF0aW9uCi0gICAgICAgICAgICAgKiBvZiBzb21lIGRl
Y2xhcmF0aXZlIHNlbWFudGljcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc2VtYW50aWNzRGVmaW5lZEJ5IAor
ICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gdGhlIGh1bWFuIHJlYWRh
YmxlIHNwZWNpZmljYXRpb25zIGZvciBhIHJlcHJlc2VudGF0aW9uIAorICAgICAgICAgICAgICog
b2Ygc29tZSBkZWNsYXJhdGl2ZSBzZW1hbnRpY3MgCiAgICAgICAgICAgICAgKi8KICAgICAgICAg
ICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgc2VtYW50aWNzRGVmaW5lZEJ5KCk7CiAKICAgICAgICAg
ICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhPZgotICAgICAgICAgICAgICoKLSAgICAg
ICAgICAgICAqIFNwZWNpZmllcyBhIGNvbnRhaW5tZW50IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3
byBncmFwaHMsCi0gICAgICAgICAgICAgKiBtZWFuaW5nIHRoYXQgdGhlIHN1YmplY3QgZ3JhcGgg
aXMgaW5jbHVkZWQgaW4gdGhlIG9iamVjdCBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhP
ZiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgY29udGFpbm1l
bnQgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIGdyYXBocywgCisgICAgICAgICAgICAgKiBtZWFu
aW5nIHRoYXQgdGhlIHN1YmplY3QgZ3JhcGggaXMgaW5jbHVkZWQgaW4gdGhlIG9iamVjdCBncmFw
aCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBzdWJH
cmFwaE9mKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9m
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgc3Vic3VtcHRpb24g
cmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIGdyYXBocywKLSAgICAgICAgICAgICAqIG1lYW5pbmcg
dGhhdCB0aGUgb2JqZWN0IGdyYXBoIGlzIGluY2x1ZGVkIGluIHRoZSBzdWJqZWN0IGdyYXBoCisg
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNzdXBlckdyYXBoT2YgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIFNwZWNpZmllcyBhIHN1YnN1bXB0aW9uIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBncmFw
aHMsIAorICAgICAgICAgICAgICogbWVhbmluZyB0aGF0IHRoZSBvYmplY3QgZ3JhcGggaXMgaW5j
bHVkZWQgaW4gdGhlIHN1YmplY3QgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAg
IFNPUFJBTk9fRVhQT1JUIFFVcmwgc3VwZXJHcmFwaE9mKCk7CiAKICAgICAgICAgICAgIC8qKgot
ICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjdXBkYXRhYmxlCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICog
QSBjb3JlIGdyYXBoIG1ldGFkYXRhIHByb3BlcnR5LCB0aGlzIGRlZmluZXMgd2hldGhlciBhIGdy
YXBoCi0gICAgICAgICAgICAgKiBjYW4gYmUgZnJlZWx5IHVwZGF0ZWQgJzEnIG9yIG90aGVyd2lz
ZSAnMCcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI3VwZGF0YWJsZSAKKyAgICAgICAgICAgICAqIAorICAgICAg
ICAgICAgICogQSBjb3JlIGdyYXBoIG1ldGFkYXRhIHByb3BlcnR5LCB0aGlzIGRlZmluZXMgd2hl
dGhlciBhIGdyYXBoIAorICAgICAgICAgICAgICogY2FuIGJlIGZyZWVseSB1cGRhdGVkICcxJyBv
ciBvdGhlcndpc2UgJzAnIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIHVwZGF0YWJsZSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAq
IGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I3ZpZXdPbgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFBvaW50cyB0byBhIGdyYXBo
IHZpZXcgb3ZlciB0aGUgc3ViamVjdCBuYW1lZCBncmFwaAorICAgICAgICAgICAgICogaHR0cDov
L3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjdmlld09u
IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gYSBncmFwaCB2aWV3
IG92ZXIgdGhlIHN1YmplY3QgbmFtZWQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAg
ICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgdmlld09uKCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L3NvcHJhbm8vdm9jYWJ1bGFyeS9yZGYuY3BwIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZi5jcHAK
aW5kZXggM2FmMGVlMS4uNGJlZWY2ZiAxMDA2NDQKLS0tIGEvc29wcmFuby92b2NhYnVsYXJ5L3Jk
Zi5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZi5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0aGUgb250bzJ2b2NhYnVsYXJ5
Y2xhc3MgdG9vbAotICogY29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2ViYXN0aWFuIFRydWVnIDx0
cnVlZ0BrZGUub3JnPgorICogY29weXJpZ2h0IChDKSAyMDA3LTIwMTEgU2ViYXN0aWFuIFRydWVn
IDx0cnVlZ0BrZGUub3JnPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCwxMjQgKzIwLDgyIEBA
CiAKICNpbmNsdWRlICJyZGYuaCIKIAotY2xhc3MgUmRmUHJpdmF0ZQotewotcHVibGljOgotICAg
IFJkZlByaXZhdGUoKQotICAgICAgICA6IHJkZl9uYW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIsIFFVcmw6OlN0
cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9BbHQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0FsdCIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHJkZl9CYWcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDov
L3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0JhZyIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIHJkZl9MaXN0KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNMaXN0IiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgcmRmX1Byb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNQcm9wZXJ0eSIsIFFVcmw6OlN0
cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9TZXEoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1NlcSIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHJkZl9TdGF0ZW1lbnQoIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1N0YXRlbWVudCIsIFFV
cmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9YTUxMaXRlcmFsKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNYTUxM
aXRlcmFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgcmRmX2ZpcnN0KCBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u
cyNmaXJzdCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9uaWwoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5z
I25pbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9vYmplY3QoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5z
I29iamVjdCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9wcmVkaWNhdGUo
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zI3ByZWRpY2F0ZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9y
ZXN0KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyNyZXN0IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgcmRmX3N1
YmplY3QoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zI3N1YmplY3QiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBy
ZGZfdHlwZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjdHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJk
Zl92YWx1ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjdmFsdWUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSB7Ci0gICAgfQotCi0g
ICAgUVVybCByZGZfbmFtZXNwYWNlOwotICAgIFFVcmwgcmRmX0FsdDsKLSAgICBRVXJsIHJkZl9C
YWc7Ci0gICAgUVVybCByZGZfTGlzdDsKLSAgICBRVXJsIHJkZl9Qcm9wZXJ0eTsKLSAgICBRVXJs
IHJkZl9TZXE7Ci0gICAgUVVybCByZGZfU3RhdGVtZW50OwotICAgIFFVcmwgcmRmX1hNTExpdGVy
YWw7Ci0gICAgUVVybCByZGZfZmlyc3Q7Ci0gICAgUVVybCByZGZfbmlsOwotICAgIFFVcmwgcmRm
X29iamVjdDsKLSAgICBRVXJsIHJkZl9wcmVkaWNhdGU7Ci0gICAgUVVybCByZGZfcmVzdDsKLSAg
ICBRVXJsIHJkZl9zdWJqZWN0OwotICAgIFFVcmwgcmRmX3R5cGU7Ci0gICAgUVVybCByZGZfdmFs
dWU7Ci19OwotCi1RX0dMT0JBTF9TVEFUSUMoIFJkZlByaXZhdGUsIHNfcmRmICkKLQogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnJkZk5hbWVzcGFjZSgpCiB7Ci0gICAgcmV0dXJuIHNf
cmRmKCktPnJkZl9uYW1lc3BhY2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OkFsdCgpCiB7Ci0gICAg
cmV0dXJuIHNfcmRmKCktPnJkZl9BbHQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0FsdCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OkJhZygpCiB7
Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9CYWc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0JhZyIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Okxp
c3QoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfTGlzdDsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj
TGlzdCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREY6OlByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19yZGYoKS0+cmRmX1Byb3BlcnR5Owor
ICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIv
MjItcmRmLXN5bnRheC1ucyNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OlNlcSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmKCkt
PnJkZl9TZXE7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5v
cmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1NlcSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OlN0YXRlbWVudCgpCiB7Ci0gICAgcmV0
dXJuIHNfcmRmKCktPnJkZl9TdGF0ZW1lbnQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1N0YXRlbWVudCIs
IFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6
OlhNTExpdGVyYWwoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfWE1MTGl0ZXJhbDsKKyAg
ICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjWE1MTGl0ZXJhbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OmZpcnN0KCkKIHsKLSAgICByZXR1cm4gc19yZGYo
KS0+cmRmX2ZpcnN0OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNmaXJzdCIsIFFVcmw6OlN0cmljdE1vZGUg
KTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Om5pbCgpCiB7Ci0gICAgcmV0
dXJuIHNfcmRmKCktPnJkZl9uaWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI25pbCIsIFFVcmw6OlN0cmlj
dE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Om9iamVjdCgpCiB7
Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9vYmplY3Q7CisgICAgcmV0dXJuIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI29iamVj
dCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpS
REY6OnByZWRpY2F0ZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9wcmVkaWNhdGU7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y
Mi1yZGYtc3ludGF4LW5zI3ByZWRpY2F0ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnJlc3QoKQogewotICAgIHJldHVybiBzX3JkZigp
LT5yZGZfcmVzdDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjcmVzdCIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnN1YmplY3QoKQogewotICAgIHJl
dHVybiBzX3JkZigpLT5yZGZfc3ViamVjdDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjc3ViamVjdCIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnR5
cGUoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfdHlwZTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj
dHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREY6OnZhbHVlKCkKIHsKLSAgICByZXR1cm4gc19yZGYoKS0+cmRmX3ZhbHVlOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyN2YWx1ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3Nv
cHJhbm8vdm9jYWJ1bGFyeS9yZGZzLmNwcCBiL3NvcHJhbm8vdm9jYWJ1bGFyeS9yZGZzLmNwcApp
bmRleCBhMTc5ZmQzLi40M2QyMjZkIDEwMDY0NAotLS0gYS9zb3ByYW5vL3ZvY2FidWxhcnkvcmRm
cy5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZnMuY3BwCkBAIC0xLDYgKzEsNiBAQAog
LyoKICAqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIG9udG8ydm9jYWJ1bGFy
eWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNlYmFzdGlhbiBUcnVlZyA8
dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDExIFNlYmFzdGlhbiBUcnVl
ZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsMTI0ICsyMCw4MiBA
QAogCiAjaW5jbHVkZSAicmRmcy5oIgogCi1jbGFzcyBSZGZzUHJpdmF0ZQotewotcHVibGljOgot
ICAgIFJkZnNQcml2YXRlKCkKLSAgICAgICAgOiByZGZzX25hbWVzcGFjZSggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgcmRmc19DbGFzcyggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjQ2xhc3MiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICByZGZzX0NvbnRhaW5lciggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjQ29udGFpbmVyIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgcmRmc19Db250YWluZXJNZW1iZXJzaGlwUHJvcGVydHko
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1h
I0NvbnRhaW5lck1lbWJlcnNoaXBQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfRGF0YXR5cGUoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5v
cmcvMjAwMC8wMS9yZGYtc2NoZW1hI0RhdGF0eXBlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19MaXRlcmFsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNMaXRlcmFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19SZXNvdXJjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjUmVzb3VyY2UiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX2NvbW1lbnQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2NvbW1lbnQiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX2RvbWFpbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjZG9tYWluIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19pc0RlZmluZWRCeSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjaXNEZWZpbmVkQnkiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICByZGZzX2xhYmVsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNsYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIHJkZnNfbWVtYmVyKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNtZW1iZXIiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX3JhbmdlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNyYW5nZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfc2VlQWxzbyggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwLzAxL3JkZi1zY2hlbWEjc2VlQWxzbyIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfc3ViQ2xhc3NPZiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViQ2xhc3NPZiIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIHJkZnNfc3ViUHJvcGVydHlPZiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViUHJvcGVydHlPZiIsIFFVcmw6OlN0
cmljdE1vZGUgKSApIHsKLSAgICB9Ci0KLSAgICBRVXJsIHJkZnNfbmFtZXNwYWNlOwotICAgIFFV
cmwgcmRmc19DbGFzczsKLSAgICBRVXJsIHJkZnNfQ29udGFpbmVyOwotICAgIFFVcmwgcmRmc19D
b250YWluZXJNZW1iZXJzaGlwUHJvcGVydHk7Ci0gICAgUVVybCByZGZzX0RhdGF0eXBlOwotICAg
IFFVcmwgcmRmc19MaXRlcmFsOwotICAgIFFVcmwgcmRmc19SZXNvdXJjZTsKLSAgICBRVXJsIHJk
ZnNfY29tbWVudDsKLSAgICBRVXJsIHJkZnNfZG9tYWluOwotICAgIFFVcmwgcmRmc19pc0RlZmlu
ZWRCeTsKLSAgICBRVXJsIHJkZnNfbGFiZWw7Ci0gICAgUVVybCByZGZzX21lbWJlcjsKLSAgICBR
VXJsIHJkZnNfcmFuZ2U7Ci0gICAgUVVybCByZGZzX3NlZUFsc287Ci0gICAgUVVybCByZGZzX3N1
YkNsYXNzT2Y7Ci0gICAgUVVybCByZGZzX3N1YlByb3BlcnR5T2Y7Ci19OwotCi1RX0dMT0JBTF9T
VEFUSUMoIFJkZnNQcml2YXRlLCBzX3JkZnMgKQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
OlJERlM6OnJkZnNOYW1lc3BhY2UoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19uYW1l
c3BhY2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMC8wMS9yZGYtc2NoZW1hIyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDbGFzcygpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5y
ZGZzX0NsYXNzOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNDbGFzcyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDb250YWluZXIoKQogewotICAgIHJldHVy
biBzX3JkZnMoKS0+cmRmc19Db250YWluZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI0NvbnRhaW5lciIsIFFVcmw6
OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDb250
YWluZXJNZW1iZXJzaGlwUHJvcGVydHkoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19D
b250YWluZXJNZW1iZXJzaGlwUHJvcGVydHk7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI0NvbnRhaW5lck1lbWJlcnNo
aXBQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpSREZTOjpEYXRhdHlwZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX0Rh
dGF0eXBlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvMDEvcmRmLXNjaGVtYSNEYXRhdHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpMaXRlcmFsKCkKIHsKLSAgICByZXR1cm4g
c19yZGZzKCktPnJkZnNfTGl0ZXJhbDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjTGl0ZXJhbCIsIFFVcmw6OlN0cmlj
dE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpSZXNvdXJjZSgp
CiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX1Jlc291cmNlOworICAgIHJldHVybiBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNSZXNv
dXJjZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREZTOjpjb21tZW50KCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCktPnJkZnNfY29tbWVudDsK
KyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAx
L3JkZi1zY2hlbWEjY29tbWVudCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpkb21haW4oKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+
cmRmc19kb21haW47CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2RvbWFpbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjppc0RlZmluZWRCeSgpCiB7Ci0gICAg
cmV0dXJuIHNfcmRmcygpLT5yZGZzX2lzRGVmaW5lZEJ5OworICAgIHJldHVybiBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNpc0RlZmluZWRC
eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpS
REZTOjpsYWJlbCgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX2xhYmVsOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNj
aGVtYSNsYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpSREZTOjptZW1iZXIoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19tZW1i
ZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAw
MC8wMS9yZGYtc2NoZW1hI21lbWJlciIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpyYW5nZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygp
LT5yZGZzX3JhbmdlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNyYW5nZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpzZWVBbHNvKCkKIHsKLSAgICByZXR1
cm4gc19yZGZzKCktPnJkZnNfc2VlQWxzbzsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc2VlQWxzbyIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpzdWJDbGFz
c09mKCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCktPnJkZnNfc3ViQ2xhc3NPZjsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hl
bWEjc3ViQ2xhc3NPZiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpW
b2NhYnVsYXJ5OjpSREZTOjpzdWJQcm9wZXJ0eU9mKCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCkt
PnJkZnNfc3ViUHJvcGVydHlPZjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViUHJvcGVydHlPZiIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS94c2QuY3BwIGIv
c29wcmFuby92b2NhYnVsYXJ5L3hzZC5jcHAKaW5kZXggNDQ0ZDc5NC4uNzYzMmEwYyAxMDA2NDQK
LS0tIGEvc29wcmFuby92b2NhYnVsYXJ5L3hzZC5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5
L3hzZC5jcHAKQEAgLTIyLDE2NSArMjIsMTE1IEBACiAjaW5jbHVkZSAieHNkLmgiCiAKIAotY2xh
c3MgWE1MU2NoZW1hCi17Ci1wdWJsaWM6Ci0gICAgWE1MU2NoZW1hKCkKLSAgICAgICAgOiB4c2RO
YW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT
Y2hlbWEjIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkSW50KCBRVXJsOjpm
cm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2ludCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHhzZEludGVnZXIoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjaW50ZWdlciIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHhzZE5lZ2F0aXZlSW50ZWdlciggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNuZWdhdGl2ZUludGVnZXIiLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2ROb25OZWdhdGl2ZUludGVnZXIoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjbm9uTmVn
YXRpdmVJbnRlZ2VyIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkRGVjaW1h
bCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNk
ZWNpbWFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkU2hvcnQoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc2hvcnQiLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RMb25nKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2xvbmciLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICB4c2RVbnNpZ25lZEludCggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZEludCIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHhzZFVuc2lnbmVkU2hvcnQoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjdW5zaWduZWRTaG9ydCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHhzZFVuc2lnbmVkTG9uZyggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZExvbmciLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RCb29sZWFuKCBRVXJsOjpmcm9tRW5j
b2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2Jvb2xlYW4iLCBRVXJsOjpT
dHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2REb3VibGUoIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZG91YmxlIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgeHNkRmxvYXQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZmxvYXQiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICB4c2RTdHJpbmcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEjc3RyaW5nIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
eHNkRGF0ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYSNkYXRlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkVGltZSggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN0aW1lIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkRGF0ZVRpbWUoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLCBRVXJs
OjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RCYXNlNjRCaW5hcnkoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYmFzZTY0QmluYXJ5Iiwg
UVVybDo6U3RyaWN0TW9kZSApICkgewotICAgIH0KLQotICAgIFFVcmwgeHNkTmFtZXNwYWNlOwot
ICAgIFFVcmwgeHNkSW50OwotICAgIFFVcmwgeHNkSW50ZWdlcjsKLSAgICBRVXJsIHhzZE5lZ2F0
aXZlSW50ZWdlcjsKLSAgICBRVXJsIHhzZE5vbk5lZ2F0aXZlSW50ZWdlcjsKLSAgICBRVXJsIHhz
ZERlY2ltYWw7Ci0gICAgUVVybCB4c2RTaG9ydDsKLSAgICBRVXJsIHhzZExvbmc7Ci0gICAgUVVy
bCB4c2RVbnNpZ25lZEludDsKLSAgICBRVXJsIHhzZFVuc2lnbmVkU2hvcnQ7Ci0gICAgUVVybCB4
c2RVbnNpZ25lZExvbmc7Ci0gICAgUVVybCB4c2RCb29sZWFuOwotICAgIFFVcmwgeHNkRG91Ymxl
OwotICAgIFFVcmwgeHNkRmxvYXQ7Ci0gICAgUVVybCB4c2RTdHJpbmc7Ci0gICAgUVVybCB4c2RE
YXRlOwotICAgIFFVcmwgeHNkVGltZTsKLSAgICBRVXJsIHhzZERhdGVUaW1lOwotICAgIFFVcmwg
eHNkQmFzZTY0QmluYXJ5OwotfTsKLQotCi1RX0dMT0JBTF9TVEFUSUMoIFhNTFNjaGVtYSwgeHNk
ICkKLQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6eHNkTmFtZXNwYWNl
KCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZE5hbWVzcGFjZTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSMiLCBRVXJsOjpT
dHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6
OnhzZEludCgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RJbnQ7CisgICAgcmV0dXJuIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjaW50IiwgUVVy
bDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2No
ZW1hOjppbnRlZ2VyKCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEludGVnZXI7CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEj
aW50ZWdlciIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2Fi
dWxhcnk6OlhNTFNjaGVtYTo6bmVnYXRpdmVJbnRlZ2VyKCkKIHsKLSAgICByZXR1cm4geHNkKCkt
PnhzZE5lZ2F0aXZlSW50ZWdlcjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNuZWdhdGl2ZUludGVnZXIiLCBRVXJsOjpTdHJp
Y3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6Om5v
bk5lZ2F0aXZlSW50ZWdlcigpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2ROb25OZWdhdGl2ZUlu
dGVnZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEjbm9uTmVnYXRpdmVJbnRlZ2VyIiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpkZWNpbWFsKCkKIHsK
LSAgICByZXR1cm4geHNkKCktPnhzZERlY2ltYWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGVjaW1hbCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6
eHNkU2hvcnQoKQogewotICAgIHJldHVybiB4c2QoKS0+eHNkU2hvcnQ7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc2hvcnQi
LCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpY
TUxTY2hlbWE6OnhzZExvbmcoKQogewotICAgIHJldHVybiB4c2QoKS0+eHNkTG9uZzsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt
YSNsb25nIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6WE1MU2NoZW1hOjp1bnNpZ25lZEludCgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RV
bnNpZ25lZEludDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZEludCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6dW5zaWduZWRTaG9ydCgp
CiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RVbnNpZ25lZFNob3J0OworICAgIHJldHVybiBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI3Vuc2lnbmVk
U2hvcnQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVs
YXJ5OjpYTUxTY2hlbWE6OnVuc2lnbmVkTG9uZygpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RV
bnNpZ25lZExvbmc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMS9YTUxTY2hlbWEjdW5zaWduZWRMb25nIiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpzdHJpbmcoKQogewot
ICAgIHJldHVybiB4c2QoKS0+eHNkU3RyaW5nOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2Jvb2xlYW4iLCBRVXJsOjpTdHJp
Y3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6Onhz
ZERvdWJsZSgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2REb3VibGU7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZG91Ymxl
IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6
WE1MU2NoZW1hOjp4c2RGbG9hdCgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RGbG9hdDsKKyAg
ICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYSNmbG9hdCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZv
Y2FidWxhcnk6OlhNTFNjaGVtYTo6Ym9vbGVhbigpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RC
b29sZWFuOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3Jn
LzIwMDEvWE1MU2NoZW1hI3N0cmluZyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogCiBRVXJs
IFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6ZGF0ZSgpCiB7Ci0gICAgcmV0dXJuIHhz
ZCgpLT54c2REYXRlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGUiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6OnRpbWUoKQogewotICAgIHJldHVy
biB4c2QoKS0+eHNkVGltZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN0aW1lIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpkYXRlVGltZSgpCiB7Ci0g
ICAgcmV0dXJuIHhzZCgpLT54c2REYXRlVGltZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6
YmFzZTY0QmluYXJ5KCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEJhc2U2NEJpbmFyeTsKKyAg
ICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYSNiYXNlNjRCaW5hcnkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CmRpZmYgLS1naXQgYS90
b29scy9vbnRvMnZvY2FidWxhcnljbGFzcy5jcHAgYi90b29scy9vbnRvMnZvY2FidWxhcnljbGFz
cy5jcHAKaW5kZXggOWE1YTkyYi4uMDAwZDdmMCAxMDA2NDQKLS0tIGEvdG9vbHMvb250bzJ2b2Nh
YnVsYXJ5Y2xhc3MuY3BwCisrKyBiL3Rvb2xzL29udG8ydm9jYWJ1bGFyeWNsYXNzLmNwcApAQCAt
MjcsNiArMjcsOCBAQAogI2luY2x1ZGUgPFF0Q29yZS9RRGlyPgogI2luY2x1ZGUgPFF0Q29yZS9R
UmVnRXhwPgogCisjaW5jbHVkZSAic29wcmFuby10b29scy1jb25maWcuaCIKKwogI2luY2x1ZGUg
Ii4uL3NvcHJhbm8vc3RhdGVtZW50aXRlcmF0b3IuaCIKICNpbmNsdWRlICIuLi9zb3ByYW5vL3F1
ZXJ5cmVzdWx0aXRlcmF0b3IuaCIKICNpbmNsdWRlICIuLi9zb3ByYW5vL25vZGVpdGVyYXRvci5o
IgpAQCAtNDUsNyArNDcsNyBAQCB1c2luZyBuYW1lc3BhY2UgU29wcmFubzsKIAogc3RhdGljIGNv
bnN0IGNoYXIqIExHUExfSEVBREVSID0gIi8qXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiICogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0aGUgb250bzJ2b2Nh
YnVsYXJ5Y2xhc3MgdG9vbFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAq
IGNvcHlyaWdodCAoQykgMjAwNy0yMDEwIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz5c
biIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKiBjb3B5cmlnaHQgKEMpIDIw
MDctMjAxMSBTZWJhc3RpYW4gVHJ1ZWcgPHRydWVnQGtkZS5vcmc+XG4iCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiICpcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWNc
biIKQEAgLTY0LDEyICs2NiwxMSBAQCBzdGF0aWMgY29uc3QgY2hhciogTEdQTF9IRUFERVIgPSAi
LypcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKi9cbiI7CiAKIAotI2Rl
ZmluZSBWRVJTSU9OICIxLjIiCiAKIGludCB2ZXJzaW9uKCkKIHsKICAgICBRVGV4dFN0cmVhbSBz
KCBzdGRlcnIgKTsKLSAgICBzIDw8ICJvbnRvMnZvY2FidWxhcnljbGFzcyAiIDw8IFZFUlNJT04g
PDwgIiAodXNpbmcgU29wcmFubyAiIDw8IFNvcHJhbm86OnZlcnNpb25TdHJpbmcoKSA8PCAiKSIg
PDwgZW5kbDsKKyAgICBzIDw8ICJvbnRvMnZvY2FidWxhcnljbGFzcyAiIDw8IFNvcHJhbm86OnZl
cnNpb25TdHJpbmcoKSA8PCBlbmRsOwogICAgIHMgPDwgIiAgIENvcHlyaWdodCAoQykgMjAwNy0y
MDExIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4iIDw8IGVuZGw7CiAgICAgcyA8PCAi
ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkiIDw8IGVuZGwKICAgICAgIDw8ICIgICBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSIgPDwgZW5k
bApAQCAtNDM3LDU4ICs0MzgsMTMgQEAgaW50IG1haW4oIGludCBhcmdjLCBjaGFyICphcmd2W10g
KQogICAgIHNvdXJjZVN0cmVhbSA8PCBMR1BMX0hFQURFUiA8PCBlbmRsOwogICAgIHNvdXJjZVN0
cmVhbSA8PCAiI2luY2x1ZGUgXCIiIDw8IGhlYWRlckZpbGUuZmlsZU5hbWUoKSA8PCAiXCIiIDw8
IGVuZGwgPDwgZW5kbDsKIAotICAgIFFTdHJpbmcgcHJpdmF0ZUNsYXNzTmFtZSA9IGNsYXNzTmFt
ZVswXS50b1VwcGVyKCkgKyBjbGFzc05hbWUubWlkKCAxICkudG9Mb3dlcigpICsgIlByaXZhdGUi
OwotICAgIFFTdHJpbmcgc2luZ2xldG9uTmFtZSA9ICJzXyIgKyBjbGFzc05hbWUudG9Mb3dlcigp
OwotCi0gICAgc291cmNlU3RyZWFtIDw8ICJjbGFzcyAiIDw8IHByaXZhdGVDbGFzc05hbWUgPDwg
ZW5kbAotICAgICAgICAgICAgICAgICA8PCAieyIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8
PCAicHVibGljOiIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJbmRlbnQoIDEg
KSA8PCBwcml2YXRlQ2xhc3NOYW1lIDw8ICIoKSIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8
PCBjcmVhdGVJbmRlbnQoIDIgKSA8PCAiOiAiOwotCi0gICAgc291cmNlU3RyZWFtIDw8IGNsYXNz
TmFtZS50b0xvd2VyKCkgPDwgIl9uYW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwg
b250b05hbWVzcGFjZSA8PCAiXCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLCIgPDwgZW5kbDsKLQot
ICAgIGlmICggIW5ybEdyYXBoLmlzRW1wdHkoKSApCi0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBj
cmVhdGVJbmRlbnQoIDIgKSA8PCAiICBucmxPbnRvbG9neUdyYXBoKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggXCIiIDw8IG5ybEdyYXBoLnRvU3RyaW5nKCkgPDwgIlwiLCBRVXJsOjpTdHJpY3RNb2RlICkg
KSwiIDw8IGVuZGw7Ci0KLSAgICBmb3IoIFFNYXA8UVN0cmluZywgUVBhaXI8UVN0cmluZywgUVN0
cmluZz4gPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBub3JtYWxpemVkUmVzb3VyY2VzLmNvbnN0QmVn
aW4oKTsKLSAgICAgICAgIGl0ICE9IG5vcm1hbGl6ZWRSZXNvdXJjZXMuY29uc3RFbmQoKTsgKytp
dCApIHsKLSAgICAgICAgUVN0cmluZyB1cmkgPSBpdC5rZXkoKTsKLSAgICAgICAgUVN0cmluZyBu
YW1lID0gbm9ybWFsaXplTmFtZSggaXQudmFsdWUoKS5maXJzdCApOwotCi0gICAgICAgIHNvdXJj
ZVN0cmVhbSA8PCBjcmVhdGVJbmRlbnQoIDIgKSA8PCAiICAiIDw8IGNsYXNzTmFtZS50b0xvd2Vy
KCkgPDwgIl8iIDw8IG5hbWUgPDwgIiggUVVybDo6ZnJvbUVuY29kZWQoIFwiIiA8PCB1cmkgPDwg
IlwiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSI7Ci0KLSAgICAgICAgKytpdDsKLSAgICAgICAgaWYg
KCBpdCAhPSBub3JtYWxpemVkUmVzb3VyY2VzLmNvbnN0RW5kKCkgKSB7Ci0gICAgICAgICAgICBz
b3VyY2VTdHJlYW0gPDwgIiwiIDw8IGVuZGw7Ci0gICAgICAgIH0KLSAgICAgICAgLS1pdDsKLSAg
ICB9Ci0KLSAgICBzb3VyY2VTdHJlYW0gPDwgIiB7IiA8PCBlbmRsCi0gICAgICAgICAgICAgICAg
IDw8IGNyZWF0ZUluZGVudCggMSApIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7Ci0KLSAgICBzb3Vy
Y2VTdHJlYW0gPDwgY3JlYXRlSW5kZW50KCAxICkgPDwgIlFVcmwgIiA8PCBjbGFzc05hbWUudG9M
b3dlcigpIDw8ICJfbmFtZXNwYWNlOyIgPDwgZW5kbDsKLQotICAgIGlmICggIW5ybEdyYXBoLmlz
RW1wdHkoKSApCi0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBjcmVhdGVJbmRlbnQoIDEgKSA8PCAi
UVVybCBucmxPbnRvbG9neUdyYXBoOyIgPDwgZW5kbDsKLQotICAgIGZvciggUU1hcDxRU3RyaW5n
LCBRUGFpcjxRU3RyaW5nLCBRU3RyaW5nPiA+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG5vcm1hbGl6
ZWRSZXNvdXJjZXMuY29uc3RCZWdpbigpOwotICAgICAgICAgaXQgIT0gbm9ybWFsaXplZFJlc291
cmNlcy5jb25zdEVuZCgpOyArK2l0ICkgewotICAgICAgICBRU3RyaW5nIG5hbWUgPSBub3JtYWxp
emVOYW1lKCBpdC52YWx1ZSgpLmZpcnN0ICk7Ci0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBjcmVh
dGVJbmRlbnQoIDEgKSA8PCAiUVVybCAiIDw8IGNsYXNzTmFtZS50b0xvd2VyKCkgPDwgIl8iIDw8
IG5hbWUgPDwgIjsiIDw8IGVuZGw7Ci0gICAgfQotICAgIHNvdXJjZVN0cmVhbSA8PCAifTsiIDw8
IGVuZGwgPDwgZW5kbDsKLQotICAgIHNvdXJjZVN0cmVhbSA8PCAiUV9HTE9CQUxfU1RBVElDKCAi
IDw8IHByaXZhdGVDbGFzc05hbWUgPDwgIiwgIiA8PCBzaW5nbGV0b25OYW1lIDw8ICIgKSIgPDwg
ZW5kbCA8PCBlbmRsOwotCiAgICAgc291cmNlU3RyZWFtIDw8ICJRVXJsICI7CiAgICAgaWYgKCAh
bmFtZXNwYWNlTmFtZS5pc0VtcHR5KCkgKSB7CiAgICAgICAgIHNvdXJjZVN0cmVhbSA8PCBuYW1l
c3BhY2VOYW1lIDw8ICI6OiI7CiAgICAgfQogICAgIHNvdXJjZVN0cmVhbSA8PCBjbGFzc05hbWUg
PDwgIjo6IiA8PCBjbGFzc05hbWUudG9Mb3dlcigpIDw8ICJOYW1lc3BhY2UoKSIgPDwgZW5kbAog
ICAgICAgICAgICAgICAgICA8PCAieyIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8PCBjcmVh
dGVJbmRlbnQoIDEgKSA8PCAicmV0dXJuICIgPDwgc2luZ2xldG9uTmFtZSA8PCAiKCktPiIgPDwg
Y2xhc3NOYW1lLnRvTG93ZXIoKSA8PCAiX25hbWVzcGFjZTsiIDw8IGVuZGwKKyAgICAgICAgICAg
ICAgICAgPDwgY3JlYXRlSW5kZW50KCAxICkgPDwgInJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCgg
XCIiIDw8IG9udG9OYW1lc3BhY2UgPDwgIlwiLCBRVXJsOjpTdHJpY3RNb2RlICk7IiA8PCBlbmRs
CiAgICAgICAgICAgICAgICAgIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7CiAKICAgICBpZiAoICFu
cmxHcmFwaC5pc0VtcHR5KCkgKSB7CkBAIC00OTgsMTIgKzQ1NCwxMyBAQCBpbnQgbWFpbiggaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSApCiAgICAgICAgIH0KICAgICAgICAgc291cmNlU3RyZWFtIDw8
IGNsYXNzTmFtZSA8PCAiOjpucmxPbnRvbG9neUdyYXBoKCkiIDw8IGVuZGwKICAgICAgICAgICAg
ICAgICAgICAgIDw8ICJ7IiA8PCBlbmRsCi0gICAgICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJ
bmRlbnQoIDEgKSA8PCAicmV0dXJuICIgPDwgc2luZ2xldG9uTmFtZSA8PCAiKCktPm5ybE9udG9s
b2d5R3JhcGg7IiA8PCBlbmRsCisgICAgICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJbmRlbnQo
IDEgKSA8PCAicmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwgbnJsR3JhcGgudG9TdHJp
bmcoKSA8PCAiXCIsIFFVcmw6OlN0cmljdE1vZGUgKTsiIDw8IGVuZGwKICAgICAgICAgICAgICAg
ICAgICAgIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7CiAgICAgfQogCiAgICAgZm9yKCBRTWFwPFFT
dHJpbmcsIFFQYWlyPFFTdHJpbmcsIFFTdHJpbmc+ID46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbm9y
bWFsaXplZFJlc291cmNlcy5jb25zdEJlZ2luKCk7CiAgICAgICAgICBpdCAhPSBub3JtYWxpemVk
UmVzb3VyY2VzLmNvbnN0RW5kKCk7ICsraXQgKSB7CisgICAgICAgIFFTdHJpbmcgdXJpID0gaXQu
a2V5KCk7CiAgICAgICAgIFFTdHJpbmcgbmFtZSA9IG5vcm1hbGl6ZU5hbWUoIGl0LnZhbHVlKCku
Zmlyc3QgKTsKIAogICAgICAgICBzb3VyY2VTdHJlYW0gPDwgIlFVcmwgIjsKQEAgLTUxNCw3ICs0
NzEsNyBAQCBpbnQgbWFpbiggaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSApCiAKICAgICAgICAgc291
cmNlU3RyZWFtIDw8IGNsYXNzTmFtZSA8PCAiOjoiIDw8IGRpc2FtYmlndWF0ZUtleXdvcmQoIG5h
bWUsIGNsYXNzTmFtZSApIDw8ICIoKSIgPDwgZW5kbAogICAgICAgICAgICAgICAgICAgICAgPDwg
InsiIDw8IGVuZGwKLSAgICAgICAgICAgICAgICAgICAgIDw8IGNyZWF0ZUluZGVudCggMSApIDw8
ICJyZXR1cm4gIiA8PCBzaW5nbGV0b25OYW1lIDw8ICIoKS0+IiA8PCBjbGFzc05hbWUudG9Mb3dl
cigpIDw8ICJfIiA8PCBuYW1lIDw8ICI7IiA8PCBlbmRsCisgICAgICAgICAgICAgICAgICAgICA8
PCBjcmVhdGVJbmRlbnQoIDEgKSA8PCAicmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwg
dXJpIDw8ICJcIiwgUVVybDo6U3RyaWN0TW9kZSApOyIgPDwgZW5kbAogICAgICAgICAgICAgICAg
ICAgICAgPDwgIn0iIDw8IGVuZGw7CiAKICAgICAgICAgKytpdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63817</attachid>
            <date>2011-09-21 12:24:05 +0000</date>
            <delta_ts>2011-09-21 12:24:05 +0000</delta_ts>
            <desc>Patch against soprano 2.7</desc>
            <filename>soprano-voc.diff</filename>
            <type>text/plain</type>
            <size>79896</size>
            <attacher name="Sebastian Trueg">trueg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9uYW8uY3BwIGIvc29wcmFuby92b2NhYnVs
YXJ5L25hby5jcHAKaW5kZXggYzU4YTNmYi4uMjhlOTI5NCAxMDA2NDQKLS0tIGEvc29wcmFuby92
b2NhYnVsYXJ5L25hby5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L25hby5jcHAKQEAgLTIw
LDMxMyArMjAsMjE3IEBACiAKICNpbmNsdWRlICJuYW8uaCIKIAotY2xhc3MgTmFvUHJpdmF0ZQot
ewotcHVibGljOgotICAgIE5hb1ByaXZhdGUoKQotICAgICAgICA6IG5hb19uYW1lc3BhY2UoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFv
X0ZyZWVEZXNrdG9wSWNvbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNGcmVlRGVza3RvcEljb24iLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fUGFydHkoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jUGFydHkiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fU3ltYm9s
KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbmFvI1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19UYWcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jVGFnIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbmFvX2FsdExhYmVsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2FsdExh
YmVsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2FsdFN5bWJvbCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNhbHRTeW1ib2wiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAg
ICAgICBuYW9fYW5ub3RhdGlvbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNhbm5vdGF0aW9uIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2NvbnRyaWJ1dG9yKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbmFvI2NvbnRyaWJ1dG9yIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
bmFvX2NyZWF0ZWQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jY3JlYXRlZCIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIG5hb19jcmVhdG9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2NyZWF0
b3IiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fZGVwcmVjYXRlZCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNkZXByZWNhdGVkIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAg
ICAgICAgbmFvX2Rlc2NyaXB0aW9uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2Rlc2NyaXB0aW9uIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2VuZ2luZWVyaW5nVG9vbCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNlbmdpbmVlcmluZ1Rvb2wiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICBuYW9faGFzRGVmYXVsdE5hbWVzcGFjZSggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNo
YXNEZWZhdWx0TmFtZXNwYWNlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFv
X2hhc0RlZmF1bHROYW1lc3BhY2VBYmJyZXZpYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFz
RGVmYXVsdE5hbWVzcGFjZUFiYnJldmlhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19oYXNTdWJSZXNvdXJjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNoYXNTdWJSZXNv
dXJjZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19oYXNTdXBlclJlc291
cmNlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1cGVyUmVzb3VyY2UiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICBuYW9faGFzU3ltYm9sKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hh
c1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19oYXNUYWcoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jaGFzVGFnIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAg
ICAgbmFvX2hhc1RvcGljKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1RvcGljIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2ljb25OYW1lKCBRVXJsOjpmcm9tRW5jb2RlZCgg
Imh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFv
I2ljb25OYW1lIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2lkZW50aWZp
ZXIoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaWRlbnRpZmllciIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIG5hb19pc0RhdGFHcmFwaEZvciggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpc0Rh
dGFHcmFwaEZvciIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19pc1JlbGF0
ZWQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaXNSZWxhdGVkIiwgUVVybDo6U3RyaWN0TW9kZSApICks
Ci0gICAgICAgICAgbmFvX2lzVGFnRm9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2lzVGFnRm9yIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX2lzVG9waWNPZiggUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNpc1RvcGljT2YiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBu
YW9fbGFzdE1vZGlmaWVkKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2xhc3RNb2RpZmllZCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19tb2RpZmllZCggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25hbyNtb2RpZmllZCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19udW1l
cmljUmF0aW5nKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI251bWVyaWNSYXRpbmciLCBRVXJsOjpTdHJp
Y3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fcGVyc29uYWxJZGVudGlmaWVyKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbmFvI3BlcnNvbmFsSWRlbnRpZmllciIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5hb19wbHVyYWxQcmVmTGFiZWwoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jcGx1cmFsUHJl
ZkxhYmVsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3ByZWZMYWJlbCgg
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25hbyNwcmVmTGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBuYW9fcHJlZlN5bWJvbCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNwcmVmU3ltYm9sIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3JhdGluZyggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNyYXRpbmciLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fc2Nv
cmUoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jc2NvcmUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBuYW9fc2NvcmVQYXJhbWV0ZXIoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jc2NvcmVQYXJh
bWV0ZXIiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBuYW9fc2VyaWFsaXphdGlv
bkxhbmd1YWdlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3NlcmlhbGl6YXRpb25MYW5ndWFnZSIsIFFV
cmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19zdGF0dXMoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jc3RhdHVzIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbmFvX3VzZXJW
aXNpYmxlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3VzZXJWaXNpYmxlIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbmFvX3ZlcnNpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDov
L3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jdmVyc2lv
biIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19BZ2VudCggUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNBZ2VudCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5hb19t
YWludGFpbmVkQnkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jbWFpbnRhaW5lZEJ5IiwgUVVybDo6U3Ry
aWN0TW9kZSApICkgewotICAgIH0KLQotICAgIFFVcmwgbmFvX25hbWVzcGFjZTsKLSAgICBRVXJs
IG5hb19GcmVlRGVza3RvcEljb247Ci0gICAgUVVybCBuYW9fUGFydHk7Ci0gICAgUVVybCBuYW9f
U3ltYm9sOwotICAgIFFVcmwgbmFvX1RhZzsKLSAgICBRVXJsIG5hb19hbHRMYWJlbDsKLSAgICBR
VXJsIG5hb19hbHRTeW1ib2w7Ci0gICAgUVVybCBuYW9fYW5ub3RhdGlvbjsKLSAgICBRVXJsIG5h
b19jb250cmlidXRvcjsKLSAgICBRVXJsIG5hb19jcmVhdGVkOwotICAgIFFVcmwgbmFvX2NyZWF0
b3I7Ci0gICAgUVVybCBuYW9fZGVwcmVjYXRlZDsKLSAgICBRVXJsIG5hb19kZXNjcmlwdGlvbjsK
LSAgICBRVXJsIG5hb19lbmdpbmVlcmluZ1Rvb2w7Ci0gICAgUVVybCBuYW9faGFzRGVmYXVsdE5h
bWVzcGFjZTsKLSAgICBRVXJsIG5hb19oYXNEZWZhdWx0TmFtZXNwYWNlQWJicmV2aWF0aW9uOwot
ICAgIFFVcmwgbmFvX2hhc1N1YlJlc291cmNlOwotICAgIFFVcmwgbmFvX2hhc1N1cGVyUmVzb3Vy
Y2U7Ci0gICAgUVVybCBuYW9faGFzU3ltYm9sOwotICAgIFFVcmwgbmFvX2hhc1RhZzsKLSAgICBR
VXJsIG5hb19oYXNUb3BpYzsKLSAgICBRVXJsIG5hb19pY29uTmFtZTsKLSAgICBRVXJsIG5hb19p
ZGVudGlmaWVyOwotICAgIFFVcmwgbmFvX2lzRGF0YUdyYXBoRm9yOwotICAgIFFVcmwgbmFvX2lz
UmVsYXRlZDsKLSAgICBRVXJsIG5hb19pc1RhZ0ZvcjsKLSAgICBRVXJsIG5hb19pc1RvcGljT2Y7
Ci0gICAgUVVybCBuYW9fbGFzdE1vZGlmaWVkOwotICAgIFFVcmwgbmFvX21vZGlmaWVkOwotICAg
IFFVcmwgbmFvX251bWVyaWNSYXRpbmc7Ci0gICAgUVVybCBuYW9fcGVyc29uYWxJZGVudGlmaWVy
OwotICAgIFFVcmwgbmFvX3BsdXJhbFByZWZMYWJlbDsKLSAgICBRVXJsIG5hb19wcmVmTGFiZWw7
Ci0gICAgUVVybCBuYW9fcHJlZlN5bWJvbDsKLSAgICBRVXJsIG5hb19yYXRpbmc7Ci0gICAgUVVy
bCBuYW9fc2NvcmU7Ci0gICAgUVVybCBuYW9fc2NvcmVQYXJhbWV0ZXI7Ci0gICAgUVVybCBuYW9f
c2VyaWFsaXphdGlvbkxhbmd1YWdlOwotICAgIFFVcmwgbmFvX3N0YXR1czsKLSAgICBRVXJsIG5h
b191c2VyVmlzaWJsZTsKLSAgICBRVXJsIG5hb192ZXJzaW9uOwotICAgIFFVcmwgbmFvX0FnZW50
OwotICAgIFFVcmwgbmFvX21haW50YWluZWRCeTsKLX07Ci0KLVFfR0xPQkFMX1NUQVRJQyggTmFv
UHJpdmF0ZSwgc19uYW8gKQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6bmFvTmFt
ZXNwYWNlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX25hbWVzcGFjZTsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1LyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKK30KKworUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpOQU86OkFnZW50KCkKK3sKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNBZ2VudCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpW
b2NhYnVsYXJ5OjpOQU86OkZyZWVEZXNrdG9wSWNvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCkt
Pm5hb19GcmVlRGVza3RvcEljb247CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jRnJl
ZURlc2t0b3BJY29uIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZv
Y2FidWxhcnk6Ok5BTzo6UGFydHkoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fUGFydHk7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jUGFydHkiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpTeW1ib2woKQogewotICAg
IHJldHVybiBzX25hbygpLT5uYW9fU3ltYm9sOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bmFvI1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOQU86OlRhZygpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19UYWc7CisgICAg
cmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jVGFnIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6YWx0TGFiZWwoKQogewotICAgIHJldHVy
biBzX25hbygpLT5uYW9fYWx0TGFiZWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8j
YWx0TGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TkFPOjphbHRTeW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fYWx0U3lt
Ym9sOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2FsdFN5bWJvbCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmFubm90YXRp
b24oKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fYW5ub3RhdGlvbjsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25hbyNhbm5vdGF0aW9uIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6Y29udHJpYnV0b3IoKQogewotICAgIHJl
dHVybiBzX25hbygpLT5uYW9fY29udHJpYnV0b3I7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jY29udHJpYnV0b3IiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFu
bzo6Vm9jYWJ1bGFyeTo6TkFPOjpjcmVhdGVkKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFv
X2NyZWF0ZWQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jY3JlYXRlZCIsIFFVcmw6
OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmNyZWF0
b3IoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fY3JlYXRvcjsKKyAgICByZXR1cm4gUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25hbyNjcmVhdG9yIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJs
IFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6ZGVwcmVjYXRlZCgpCiB7Ci0gICAgcmV0dXJuIHNf
bmFvKCktPm5hb19kZXByZWNhdGVkOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2Rl
cHJlY2F0ZWQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TkFPOjpkZXNjcmlwdGlvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19kZXNj
cmlwdGlvbjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNkZXNjcmlwdGlvbiIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmVu
Z2luZWVyaW5nVG9vbCgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19lbmdpbmVlcmluZ1Rv
b2w7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jZW5naW5lZXJpbmdUb29sIiwgUVVy
bDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6aGFz
RGVmYXVsdE5hbWVzcGFjZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19oYXNEZWZhdWx0
TmFtZXNwYWNlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc0RlZmF1bHROYW1l
c3BhY2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFy
eTo6TkFPOjpoYXNEZWZhdWx0TmFtZXNwYWNlQWJicmV2aWF0aW9uKCkKIHsKLSAgICByZXR1cm4g
c19uYW8oKS0+bmFvX2hhc0RlZmF1bHROYW1lc3BhY2VBYmJyZXZpYXRpb247CisgICAgcmV0dXJu
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFzRGVmYXVsdE5hbWVzcGFjZUFiYnJldmlhdGlvbiIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Omhh
c1N1YlJlc291cmNlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX2hhc1N1YlJlc291cmNl
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1YlJlc291cmNlIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6aGFzU3Vw
ZXJSZXNvdXJjZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5hb19oYXNTdXBlclJlc291cmNl
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N1cGVyUmVzb3VyY2UiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpoYXNT
eW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faGFzU3ltYm9sOworICAgIHJldHVy
biBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N5bWJvbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Omhhc1RhZygpCiB7Ci0gICAgcmV0dXJu
IHNfbmFvKCktPm5hb19oYXNUYWc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFz
VGFnIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
Ok5BTzo6aGFzVG9waWMoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faGFzVG9waWM7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaGFzVG9waWMiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjppY29uTmFtZSgpCiB7Ci0g
ICAgcmV0dXJuIHNfbmFvKCktPm5hb19pY29uTmFtZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25hbyNpY29uTmFtZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5v
OjpWb2NhYnVsYXJ5OjpOQU86OmlkZW50aWZpZXIoKQogewotICAgIHJldHVybiBzX25hbygpLT5u
YW9faWRlbnRpZmllcjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpZGVudGlmaWVy
IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5B
Tzo6aXNEYXRhR3JhcGhGb3IoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faXNEYXRhR3Jh
cGhGb3I7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jaXNEYXRhR3JhcGhGb3IiLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpp
c1JlbGF0ZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9faXNSZWxhdGVkOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2lzUmVsYXRlZCIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OmlzVGFnRm9yKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX2lzVGFnRm9yOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bmFvI2lzVGFnRm9yIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZv
Y2FidWxhcnk6Ok5BTzo6aXNUb3BpY09mKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX2lz
VG9waWNPZjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNpc1RvcGljT2YiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpsYXN0
TW9kaWZpZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fbGFzdE1vZGlmaWVkOworICAg
IHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2xhc3RNb2RpZmllZCIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKK30KKworUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86Om1haW50YWluZWRCeSgp
Cit7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9uYW8jbWFpbnRhaW5lZEJ5IiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6bW9kaWZp
ZWQoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fbW9kaWZpZWQ7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9uYW8jbW9kaWZpZWQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFV
cmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpudW1lcmljUmF0aW5nKCkKIHsKLSAgICByZXR1
cm4gc19uYW8oKS0+bmFvX251bWVyaWNSYXRpbmc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9uYW8jbnVtZXJpY1JhdGluZyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpOQU86OnBlcnNvbmFsSWRlbnRpZmllcigpCiB7Ci0gICAgcmV0dXJu
IHNfbmFvKCktPm5hb19wZXJzb25hbElkZW50aWZpZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9uYW8jcGVyc29uYWxJZGVudGlmaWVyIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBR
VXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6cGx1cmFsUHJlZkxhYmVsKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX3BsdXJhbFByZWZMYWJlbDsKKyAgICByZXR1cm4gUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25hbyNwbHVyYWxQcmVmTGFiZWwiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFV
cmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpwcmVmTGFiZWwoKQogewotICAgIHJldHVybiBz
X25hbygpLT5uYW9fcHJlZkxhYmVsOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3By
ZWZMYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVs
YXJ5OjpOQU86OnByZWZTeW1ib2woKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fcHJlZlN5
bWJvbDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNwcmVmU3ltYm9sIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6cmF0aW5n
KCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3JhdGluZzsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25hbyNyYXRpbmciLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29w
cmFubzo6Vm9jYWJ1bGFyeTo6TkFPOjpzY29yZSgpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5h
b19zY29yZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNzY29yZSIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OnNjb3JlUGFy
YW1ldGVyKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3Njb3JlUGFyYW1ldGVyOworICAg
IHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3Njb3JlUGFyYW1ldGVyIiwgUVVybDo6U3RyaWN0
TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6c2VyaWFsaXphdGlv
bkxhbmd1YWdlKCkKIHsKLSAgICByZXR1cm4gc19uYW8oKS0+bmFvX3NlcmlhbGl6YXRpb25MYW5n
dWFnZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25hbyNzZXJpYWxpemF0aW9uTGFuZ3Vh
Z2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6
TkFPOjpzdGF0dXMoKQogewotICAgIHJldHVybiBzX25hbygpLT5uYW9fc3RhdHVzOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3N0YXR1cyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOQU86OnVzZXJWaXNpYmxlKCkKIHsKLSAgICBy
ZXR1cm4gc19uYW8oKS0+bmFvX3VzZXJWaXNpYmxlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5j
b2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgv
MTUvbmFvI3VzZXJWaXNpYmxlIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJh
bm86OlZvY2FidWxhcnk6Ok5BTzo6dmVyc2lvbigpCiB7Ci0gICAgcmV0dXJuIHNfbmFvKCktPm5h
b192ZXJzaW9uOwotfQotCi1RVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5BTzo6QWdlbnQoKQot
ewotICAgIHJldHVybiBzX25hbygpLT5uYW9fQWdlbnQ7Ci19Ci0KLVFVcmwgU29wcmFubzo6Vm9j
YWJ1bGFyeTo6TkFPOjptYWludGFpbmVkQnkoKQotewotICAgIHJldHVybiBzX25hbygpLT5uYW9f
bWFpbnRhaW5lZEJ5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI3ZlcnNpb24iLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CmRpZmYgLS1naXQgYS9zb3ByYW5vL3ZvY2FidWxhcnkvbnJs
LmNwcCBiL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuY3BwCmluZGV4IDJhZTc1NjUuLmZlMjI5M2Eg
MTAwNjQ0Ci0tLSBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuY3BwCisrKyBiL3NvcHJhbm8vdm9j
YWJ1bGFyeS9ucmwuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIFRoaXMgZmlsZSBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdGhlIG9udG8ydm9jYWJ1bGFyeWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdo
dCAoQykgMjAwNy0yMDA4IFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHly
aWdodCAoQykgMjAwNy0yMDExIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtMjAsMzA2ICsyMCwyMTIgQEAKIAogI2luY2x1ZGUgIm5ybC5oIgog
Ci1jbGFzcyBOcmxQcml2YXRlCi17Ci1wdWJsaWM6Ci0gICAgTnJsUHJpdmF0ZSgpCi0gICAgICAg
IDogbnJsX25hbWVzcGFjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCMiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICBucmxfQXN5bW1ldHJpY1Byb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI0FzeW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9Db25maWd1cmF0aW9uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZpZ3VyYXRpb24iLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxfRGF0YSggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25ybCNEYXRhIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0RlZmF1bHRH
cmFwaCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEZWZhdWx0R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICBucmxfRG9jdW1lbnRHcmFwaCggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNE
b2N1bWVudEdyYXBoIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0V4dGVy
bmFsVmlld1NwZWNpZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRXh0ZXJuYWxWaWV3U3Bl
Y2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9GdW5jdGlv
bmFsUHJvcGVydHkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRnVuY3Rpb25hbFByb3BlcnR5IiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0dyYXBoKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI0dyYXBoIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0dyYXBoTWV0
YWRhdGEoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjR3JhcGhNZXRhZGF0YSIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIG5ybF9HcmFwaFZpZXcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjR3Jh
cGhWaWV3IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX0luc3RhbmNlQmFz
ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICkg
KSwKLSAgICAgICAgICBucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UoIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9ucmwjRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICBucmxfSW52ZXJzZUZ1bmN0aW9uYWxQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNJbnZlcnNlRnVuY3Rpb25hbFByb3BlcnR5IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAg
ICAgICAgbnJsX0tub3dsZWRnZUJhc2UoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjS25vd2xlZGdlQmFz
ZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9PbnRvbG9neSggUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNPbnRvbG9neSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9SZWZsZXhpdmVQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNSZWZsZXhpdmVQcm9w
ZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9SdWxlVmlld1NwZWNp
ZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUnVsZVZpZXdTcGVjaWZpY2F0aW9uIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX1NjaGVtYSggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1
L25ybCNTY2hlbWEiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxfU2VtYW50
aWNzKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1NlbWFudGljcyIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIG5ybF9TeW1tZXRyaWNQcm9wZXJ0eSggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNT
eW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9U
cmFuc2l0aXZlUHJvcGVydHkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5
IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX1ZpZXdTcGVjaWZpY2F0aW9u
KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI1ZpZXdTcGVjaWZpY2F0aW9uIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgbnJsX2NhcmRpbmFsaXR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2Nh
cmRpbmFsaXR5IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2NvcmVHcmFw
aE1ldGFkYXRhRm9yKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2NvcmVHcmFwaE1ldGFkYXRhRm9yIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2VxdWl2YWxlbnRHcmFwaCggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICBucmxfZXh0ZXJuYWxSZWFsaXplciggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNleHRl
cm5hbFJlYWxpemVyIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX2dyYXBo
TWV0YWRhdGFGb3IoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvciIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9oYXNTZW1hbnRpY3MoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjaGFzU2VtYW50aWNzIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
bnJsX2hhc1NwZWNpZmljYXRpb24oIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1h
bnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lmaWNhdGlv
biIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9pbXBvcnRzKCBRVXJsOjpm
cm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIw
MDcvMDgvMTUvbnJsI2ltcG9ydHMiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBu
cmxfaW52ZXJzZVByb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2ludmVyc2VQcm9wZXJ0eSIs
IFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9tYXhDYXJkaW5hbGl0eSggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNtYXhDYXJkaW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAot
ICAgICAgICAgIG5ybF9taW5DYXJkaW5hbGl0eSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtaW5DYXJk
aW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9yZWFsaXplcygg
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNyZWFsaXplcyIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIG5ybF9ydWxlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3J1bGUiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICBucmxfcnVsZUxhbmd1YWdlKCBRVXJsOjpmcm9tRW5jb2RlZCgg
Imh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I3J1bGVMYW5ndWFnZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIG5ybF9zZW1h
bnRpY3NEZWZpbmVkQnkoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc2VtYW50aWNzRGVmaW5lZEJ5Iiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX3N1YkdyYXBoT2YoIFFVcmw6OmZy
b21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAw
Ny8wOC8xNS9ucmwjc3ViR3JhcGhPZiIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAg
IG5ybF9zdXBlckdyYXBoT2YoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9mIiwgUVVy
bDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgbnJsX3VwZGF0YWJsZSggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCN1cGRhdGFibGUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBucmxf
dmlld09uKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3ZpZXdPbiIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
IHsKLSAgICB9Ci0KLSAgICBRVXJsIG5ybF9uYW1lc3BhY2U7Ci0gICAgUVVybCBucmxfQXN5bW1l
dHJpY1Byb3BlcnR5OwotICAgIFFVcmwgbnJsX0NvbmZpZ3VyYXRpb247Ci0gICAgUVVybCBucmxf
RGF0YTsKLSAgICBRVXJsIG5ybF9EZWZhdWx0R3JhcGg7Ci0gICAgUVVybCBucmxfRG9jdW1lbnRH
cmFwaDsKLSAgICBRVXJsIG5ybF9FeHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uOwotICAgIFFVcmwg
bnJsX0Z1bmN0aW9uYWxQcm9wZXJ0eTsKLSAgICBRVXJsIG5ybF9HcmFwaDsKLSAgICBRVXJsIG5y
bF9HcmFwaE1ldGFkYXRhOwotICAgIFFVcmwgbnJsX0dyYXBoVmlldzsKLSAgICBRVXJsIG5ybF9J
bnN0YW5jZUJhc2U7Ci0gICAgUVVybCBucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2U7Ci0gICAg
UVVybCBucmxfSW52ZXJzZUZ1bmN0aW9uYWxQcm9wZXJ0eTsKLSAgICBRVXJsIG5ybF9Lbm93bGVk
Z2VCYXNlOwotICAgIFFVcmwgbnJsX09udG9sb2d5OwotICAgIFFVcmwgbnJsX1JlZmxleGl2ZVBy
b3BlcnR5OwotICAgIFFVcmwgbnJsX1J1bGVWaWV3U3BlY2lmaWNhdGlvbjsKLSAgICBRVXJsIG5y
bF9TY2hlbWE7Ci0gICAgUVVybCBucmxfU2VtYW50aWNzOwotICAgIFFVcmwgbnJsX1N5bW1ldHJp
Y1Byb3BlcnR5OwotICAgIFFVcmwgbnJsX1RyYW5zaXRpdmVQcm9wZXJ0eTsKLSAgICBRVXJsIG5y
bF9WaWV3U3BlY2lmaWNhdGlvbjsKLSAgICBRVXJsIG5ybF9jYXJkaW5hbGl0eTsKLSAgICBRVXJs
IG5ybF9jb3JlR3JhcGhNZXRhZGF0YUZvcjsKLSAgICBRVXJsIG5ybF9lcXVpdmFsZW50R3JhcGg7
Ci0gICAgUVVybCBucmxfZXh0ZXJuYWxSZWFsaXplcjsKLSAgICBRVXJsIG5ybF9ncmFwaE1ldGFk
YXRhRm9yOwotICAgIFFVcmwgbnJsX2hhc1NlbWFudGljczsKLSAgICBRVXJsIG5ybF9oYXNTcGVj
aWZpY2F0aW9uOwotICAgIFFVcmwgbnJsX2ltcG9ydHM7Ci0gICAgUVVybCBucmxfaW52ZXJzZVBy
b3BlcnR5OwotICAgIFFVcmwgbnJsX21heENhcmRpbmFsaXR5OwotICAgIFFVcmwgbnJsX21pbkNh
cmRpbmFsaXR5OwotICAgIFFVcmwgbnJsX3JlYWxpemVzOwotICAgIFFVcmwgbnJsX3J1bGU7Ci0g
ICAgUVVybCBucmxfcnVsZUxhbmd1YWdlOwotICAgIFFVcmwgbnJsX3NlbWFudGljc0RlZmluZWRC
eTsKLSAgICBRVXJsIG5ybF9zdWJHcmFwaE9mOwotICAgIFFVcmwgbnJsX3N1cGVyR3JhcGhPZjsK
LSAgICBRVXJsIG5ybF91cGRhdGFibGU7Ci0gICAgUVVybCBucmxfdmlld09uOwotfTsKLQotUV9H
TE9CQUxfU1RBVElDKCBOcmxQcml2YXRlLCBzX25ybCApCi0KIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TlJMOjpucmxOYW1lc3BhY2UoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfbmFt
ZXNwYWNlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvIiwgUVVybDo6U3RyaWN0TW9kZSAp
OwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6QXN5bW1ldHJpY1Byb3BlcnR5
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0FzeW1tZXRyaWNQcm9wZXJ0eTsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNBc3ltbWV0cmljUHJvcGVydHkiLCBRVXJsOjpTdHJp
Y3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpDb25maWd1cmF0
aW9uKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0NvbmZpZ3VyYXRpb247CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjQ29uZmlndXJhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUg
KTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OkRhdGEoKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfRGF0YTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNE
YXRhIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
Ok5STDo6RGVmYXVsdEdyYXBoKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0RlZmF1bHRH
cmFwaDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEZWZhdWx0R3JhcGgiLCBRVXJs
OjpTdHJpY3RNb2RlICk7Cit9CisKK1FVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpEaXNj
YXJkYWJsZUluc3RhbmNlQmFzZSgpCit7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
RGlzY2FyZGFibGVJbnN0YW5jZUJhc2UiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwg
U29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpEb2N1bWVudEdyYXBoKCkKIHsKLSAgICByZXR1cm4g
c19ucmwoKS0+bnJsX0RvY3VtZW50R3JhcGg7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9u
cmwjRG9jdW1lbnRHcmFwaCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5v
OjpWb2NhYnVsYXJ5OjpOUkw6OkV4dGVybmFsVmlld1NwZWNpZmljYXRpb24oKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfRXh0ZXJuYWxWaWV3U3BlY2lmaWNhdGlvbjsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNFeHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uIiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6RnVuY3Rpb25h
bFByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX0Z1bmN0aW9uYWxQcm9wZXJ0
eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNGdW5jdGlvbmFsUHJvcGVydHkiLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpH
cmFwaCgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9HcmFwaDsKKyAgICByZXR1cm4gUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNHcmFwaCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OkdyYXBoTWV0YWRhdGEoKQogewotICAgIHJldHVybiBz
X25ybCgpLT5ucmxfR3JhcGhNZXRhZGF0YTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNHcmFwaE1ldGFkYXRhIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86
OlZvY2FidWxhcnk6Ok5STDo6R3JhcGhWaWV3KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJs
X0dyYXBoVmlldzsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNHcmFwaFZpZXciLCBR
VXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpJ
bnN0YW5jZUJhc2UoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfSW5zdGFuY2VCYXNlOwot
fQotCi1RVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6RGlzY2FyZGFibGVJbnN0YW5jZUJh
c2UoKQotewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfRGlzY2FyZGFibGVJbnN0YW5jZUJhc2U7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjSW5zdGFuY2VCYXNlIiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6SW52ZXJzZUZ1
bmN0aW9uYWxQcm9wZXJ0eSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9JbnZlcnNlRnVu
Y3Rpb25hbFByb3BlcnR5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0ludmVyc2VG
dW5jdGlvbmFsUHJvcGVydHkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFu
bzo6Vm9jYWJ1bGFyeTo6TlJMOjpLbm93bGVkZ2VCYXNlKCkKIHsKLSAgICByZXR1cm4gc19ucmwo
KS0+bnJsX0tub3dsZWRnZUJhc2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjS25v
d2xlZGdlQmFzZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOUkw6Ok9udG9sb2d5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX09udG9s
b2d5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI09udG9sb2d5IiwgUVVybDo6U3Ry
aWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6UmVmbGV4aXZl
UHJvcGVydHkoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfUmVmbGV4aXZlUHJvcGVydHk7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUmVmbGV4aXZlUHJvcGVydHkiLCBRVXJs
OjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpSdWxl
Vmlld1NwZWNpZmljYXRpb24oKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfUnVsZVZpZXdT
cGVjaWZpY2F0aW9uOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
c2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1J1bGVWaWV3U3Bl
Y2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpOUkw6OlNjaGVtYSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9TY2hlbWE7
CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU2NoZW1hIiwgUVVybDo6U3RyaWN0TW9k
ZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6U2VtYW50aWNzKCkKIHsK
LSAgICByZXR1cm4gc19ucmwoKS0+bnJsX1NlbWFudGljczsKKyAgICByZXR1cm4gUVVybDo6ZnJv
bUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3
LzA4LzE1L25ybCNTZW1hbnRpY3MiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29w
cmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpTeW1tZXRyaWNQcm9wZXJ0eSgpCiB7Ci0gICAgcmV0dXJu
IHNfbnJsKCktPm5ybF9TeW1tZXRyaWNQcm9wZXJ0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCNTeW1tZXRyaWNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OlRyYW5zaXRpdmVQcm9wZXJ0eSgpCiB7Ci0gICAg
cmV0dXJuIHNfbnJsKCktPm5ybF9UcmFuc2l0aXZlUHJvcGVydHk7CisgICAgcmV0dXJuIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5IiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6Vmlld1NwZWNpZmljYXRpb24oKQog
ewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfVmlld1NwZWNpZmljYXRpb247CisgICAgcmV0dXJu
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9ucmwjVmlld1NwZWNpZmljYXRpb24iLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpjYXJkaW5hbGl0eSgpCiB7
Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9jYXJkaW5hbGl0eTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNjYXJkaW5hbGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmNvcmVHcmFwaE1ldGFkYXRhRm9yKCkKIHsKLSAg
ICByZXR1cm4gc19ucmwoKS0+bnJsX2NvcmVHcmFwaE1ldGFkYXRhRm9yOworICAgIHJldHVybiBR
VXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9n
aWVzLzIwMDcvMDgvMTUvbnJsI2NvcmVHcmFwaE1ldGFkYXRhRm9yIiwgUVVybDo6U3RyaWN0TW9k
ZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6ZXF1aXZhbGVudEdyYXBo
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2VxdWl2YWxlbnRHcmFwaDsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgiLCBRVXJsOjpTdHJpY3RNb2Rl
ICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpleHRlcm5hbFJlYWxpemVy
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2V4dGVybmFsUmVhbGl6ZXI7CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZXh0ZXJuYWxSZWFsaXplciIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmdyYXBoTWV0YWRhdGFG
b3IoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfZ3JhcGhNZXRhZGF0YUZvcjsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNncmFwaE1ldGFkYXRhRm9yIiwgUVVybDo6U3RyaWN0
TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6aGFzU2VtYW50aWNz
KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2hhc1NlbWFudGljczsKKyAgICByZXR1cm4g
UVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNoYXNTZW1hbnRpY3MiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9
CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpoYXNTcGVjaWZpY2F0aW9uKCkKIHsK
LSAgICByZXR1cm4gc19ucmwoKS0+bnJsX2hhc1NwZWNpZmljYXRpb247CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lmaWNhdGlvbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OmltcG9ydHMoKQogewotICAgIHJl
dHVybiBzX25ybCgpLT5ucmxfaW1wb3J0czsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCNpbXBvcnRzIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2Fi
dWxhcnk6Ok5STDo6aW52ZXJzZVByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJs
X2ludmVyc2VQcm9wZXJ0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNpbnZlcnNl
UHJvcGVydHkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6TlJMOjptYXhDYXJkaW5hbGl0eSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9t
YXhDYXJkaW5hbGl0eTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtYXhDYXJkaW5h
bGl0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpOUkw6Om1pbkNhcmRpbmFsaXR5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX21pbkNh
cmRpbmFsaXR5OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21pbkNhcmRpbmFsaXR5
IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5S
TDo6cmVhbGl6ZXMoKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfcmVhbGl6ZXM7CisgICAg
cmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcmVhbGl6ZXMiLCBRVXJsOjpTdHJpY3RNb2RlICk7
CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJMOjpydWxlKCkKIHsKLSAgICByZXR1
cm4gc19ucmwoKS0+bnJsX3J1bGU7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcnVs
ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpO
Ukw6OnJ1bGVMYW5ndWFnZSgpCiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9ydWxlTGFuZ3Vh
Z2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcnVsZUxhbmd1YWdlIiwgUVVybDo6
U3RyaWN0TW9kZSApOwogfQogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6c2VtYW50
aWNzRGVmaW5lZEJ5KCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX3NlbWFudGljc0RlZmlu
ZWRCeTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNzZW1hbnRpY3NEZWZpbmVkQnki
LCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6TlJM
OjpzdWJHcmFwaE9mKCkKIHsKLSAgICByZXR1cm4gc19ucmwoKS0+bnJsX3N1YkdyYXBoT2Y7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhPZiIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpOUkw6OnN1cGVyR3JhcGhPZigp
CiB7Ci0gICAgcmV0dXJuIHNfbnJsKCktPm5ybF9zdXBlckdyYXBoT2Y7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dp
ZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9mIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6Ok5STDo6dXBkYXRhYmxlKCkKIHsKLSAgICByZXR1
cm4gc19ucmwoKS0+bnJsX3VwZGF0YWJsZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25y
bCN1cGRhdGFibGUiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIFFVcmwgU29wcmFubzo6Vm9j
YWJ1bGFyeTo6TlJMOjp2aWV3T24oKQogewotICAgIHJldHVybiBzX25ybCgpLT5ucmxfdmlld09u
OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3ZpZXdPbiIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS9ucmwuaCBiL3NvcHJhbm8v
dm9jYWJ1bGFyeS9ucmwuaAppbmRleCA2Y2JkZDc2Li41NTZjMjVmIDEwMDY0NAotLS0gYS9zb3By
YW5vL3ZvY2FidWxhcnkvbnJsLmgKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L25ybC5oCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIG9u
dG8ydm9jYWJ1bGFyeWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNlYmFz
dGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDExIFNl
YmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjgs
MzE5ICsyOCwzMTkgQEAgbmFtZXNwYWNlIFNvcHJhbm8gewogICAgIG5hbWVzcGFjZSBWb2NhYnVs
YXJ5IHsKICAgICAgICAgbmFtZXNwYWNlIE5STCB7CiAgICAgICAgICAgICAvKioKLSAgICAgICAg
ICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgv
MTUvbnJsIworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS8KICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFO
T19FWFBPUlQgUVVybCBucmxOYW1lc3BhY2UoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAg
ICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4
LzE1L25ybCNBc3ltbWV0cmljUHJvcGVydHkKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAg
KiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBhc3ltbWV0cmljIHByb3BlcnRpZXMKKyAgICAg
ICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcv
MDgvMTUvbnJsI0FzeW1tZXRyaWNQcm9wZXJ0eSAKKyAgICAgICAgICAgICAqIAorICAgICAgICAg
ICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgYXN5bW1ldHJpYyBwcm9wZXJ0aWVzIAog
ICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEFzeW1tZXRy
aWNQcm9wZXJ0eSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93
d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZpZ3Vy
YXRpb24KLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQg
Z3JhcGggY29udGFpbmluZyBjb25maWd1cmF0aW9uIGRhdGEKKyAgICAgICAgICAgICAqIGh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0NvbmZp
Z3VyYXRpb24gCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYSBu
YW1lZCBncmFwaCBjb250YWluaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSAKICAgICAgICAgICAgICAq
LwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBDb25maWd1cmF0aW9uKCk7CiAKICAg
ICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRGF0YQotICAgICAgICAgICAgICoKLSAgICAg
ICAgICAgICAqIEFuIGFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhbGwgbmFtZWQgZ3JhcGgg
cm9sZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI0RhdGEgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIEFuIGFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhbGwgbmFtZWQgZ3JhcGggcm9sZXMg
CiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGF0YSgp
OwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNk
ZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0RlZmF1bHRHcmFwaAotICAgICAg
ICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2VudHMgdGhlIGRlZmF1bHQgZ3JhcGgsIHRo
ZSBncmFwaCB3aGljaCBjb250YWlucyBhbnkKLSAgICAgICAgICAgICAqIHRyaXBsZSB0aGF0IGRv
ZXMgbm90IGJlbG9uZyB0byBhbnkgb3RoZXIgbmFtZWQgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0Rl
ZmF1bHRHcmFwaCAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyB0
aGUgZGVmYXVsdCBncmFwaCwgdGhlIGdyYXBoIHdoaWNoIGNvbnRhaW5zIGFueSAKKyAgICAgICAg
ICAgICAqIHRyaXBsZSB0aGF0IGRvZXMgbm90IGJlbG9uZyB0byBhbnkgb3RoZXIgbmFtZWQgZ3Jh
cGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGVm
YXVsdEdyYXBoKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRG9jdW1lbnRH
cmFwaAotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlk
ZW50aWZ5IG5hbWVkIGdyYXBocyB0aGF0IGV4aXN0IHdpdGhpbiBhIHBoeXNpY2FsCi0gICAgICAg
ICAgICAgKiBkb2N1bWVudAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0
b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRGlzY2FyZGFibGVJbnN0YW5jZUJhc2Ug
CisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbmFtZWQgZ3JhcGggY29udGFpbmlu
ZyBpbnN0YW5jZSBkYXRhIHRoYXQgY2FuIGJlIHJlY3JlYXRlZCAKKyAgICAgICAgICAgICAqIGJ5
IGFuYWx5emluZyB0aGUgb3JpZ2luYWwgcmVzb3VyY2VzLiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5
IAorICAgICAgICAgICAgICogbWV0YWRhdGEgZXh0cmFjdG9ycy4gCisgICAgICAgICAgICAgKi8K
KyAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgRGlzY2FyZGFibGVJbnN0YW5jZUJhc2Uo
KTsKKworICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGlj
ZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEb2N1bWVudEdyYXBoIAorICAg
ICAgICAgICAgICogCisgICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBu
YW1lZCBncmFwaHMgdGhhdCBleGlzdCB3aXRoaW4gYSBwaHlzaWNhbCAKKyAgICAgICAgICAgICAq
IGRvY3VtZW50IAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBR
VXJsIERvY3VtZW50R3JhcGgoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNF
eHRlcm5hbFZpZXdTcGVjaWZpY2F0aW9uCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICog
UmVwcmVzZW50cyBhbiBleHRlcm5hbCB2aWV3IHNwZWNpZmljYXRpb24sIHRoaXMgdXN1YWxseSBi
ZWluZwotICAgICAgICAgICAgICogYSBwcm9ncmFtIHdoaWNoIGF1dG9tYXRpY2FsbHkgZ2VuZXJh
dGVzIHRoZSByZXF1aXJlZCB2aWV3Ci0gICAgICAgICAgICAgKiBmb3IgYW4gaW5wdXQgZ3JhcGgK
KyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVz
LzIwMDcvMDgvMTUvbnJsI0V4dGVybmFsVmlld1NwZWNpZmljYXRpb24gCisgICAgICAgICAgICAg
KiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgdmlldyBzcGVjaWZpY2F0
aW9uLCB0aGlzIHVzdWFsbHkgYmVpbmcgCisgICAgICAgICAgICAgKiBhIHByb2dyYW0gd2hpY2gg
YXV0b21hdGljYWxseSBnZW5lcmF0ZXMgdGhlIHJlcXVpcmVkIHZpZXcgCisgICAgICAgICAgICAg
KiBmb3IgYW4gaW5wdXQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJB
Tk9fRVhQT1JUIFFVcmwgRXh0ZXJuYWxWaWV3U3BlY2lmaWNhdGlvbigpOwogCiAgICAgICAgICAg
ICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI0Z1bmN0aW9uYWxQcm9wZXJ0eQotICAgICAgICAgICAgICoK
LSAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5IGZ1bmN0aW9uYWwgcHJv
cGVydGllcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjRnVuY3Rpb25hbFByb3BlcnR5IAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBmdW5jdGlvbmFs
IHByb3BlcnRpZXMgCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JU
IFFVcmwgRnVuY3Rpb25hbFByb3BlcnR5KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAg
ICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8x
NS9ucmwjR3JhcGgKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEg
bmFtZWQgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0dyYXBoIAorICAgICAgICAgICAgICogCisgICAg
ICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAg
ICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgR3JhcGgoKTsKIAogICAgICAgICAgICAgLyoq
Ci0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNHcmFwaE1ldGFkYXRhCi0gICAgICAgICAgICAgKgotICAgICAgICAg
ICAgICogUmVwcmVzZW50cyBhIHNwZWNpYWwgbmFtZWQgZ3JhcGggdGhhdCBjb250YWlucyBtZXRh
ZGF0YSBmb3IKLSAgICAgICAgICAgICAqIGFub3RoZXIgZ3JhcGgKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0dy
YXBoTWV0YWRhdGEgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFJlcHJlc2VudHMg
YSBzcGVjaWFsIG5hbWVkIGdyYXBoIHRoYXQgY29udGFpbnMgbWV0YWRhdGEgZm9yIAorICAgICAg
ICAgICAgICogYW5vdGhlciBncmFwaCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09Q
UkFOT19FWFBPUlQgUVVybCBHcmFwaE1ldGFkYXRhKCk7CiAKICAgICAgICAgICAgIC8qKgotICAg
ICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAw
Ny8wOC8xNS9ucmwjR3JhcGhWaWV3Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogSWRl
bnRpZmllcyBhIGdyYXBoIHdoaWNoIGlzIGl0c2VsZiBhIHZpZXcgb2YgYW5vdGhlciBuYW1lZCBn
cmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9s
b2dpZXMvMjAwNy8wOC8xNS9ucmwjR3JhcGhWaWV3IAorICAgICAgICAgICAgICogCisgICAgICAg
ICAgICAgKiBJZGVudGlmaWVzIGEgZ3JhcGggd2hpY2ggaXMgaXRzZWxmIGEgdmlldyBvZiBhbm90
aGVyIG5hbWVkIGdyYXBoIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIEdyYXBoVmlldygpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAq
IGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I0luc3RhbmNlQmFzZQotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2VudHMg
YSBuYW1lZCBncmFwaCBjb250YWluaW5nIGluc3RhbmNlIGRhdGEKKyAgICAgICAgICAgICAqIGh0
dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0lu
c3RhbmNlQmFzZSAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyBh
IG5hbWVkIGdyYXBoIGNvbnRhaW5pbmcgaW5zdGFuY2UgZGF0YSAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBJbnN0YW5jZUJhc2UoKTsKIAogICAgICAg
ICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNEaXNjYXJkYWJsZUluc3RhbmNlQmFzZQotICAgICAg
ICAgICAgICoKLSAgICAgICAgICAgICAqIEEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBpbnN0YW5j
ZSBkYXRhIHRoYXQgY2FuIGJlIHJlY3JlYXRlZAotICAgICAgICAgICAgICogYnkgYW5hbHl6aW5n
IHRoZSBvcmlnaW5hbCByZXNvdXJjZXMuIEludGVuZGVkIHRvIGJlIHVzZWQgYnkKLSAgICAgICAg
ICAgICAqIG1ldGFkYXRhIGV4dHJhY3RvcnMuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAg
IFNPUFJBTk9fRVhQT1JUIFFVcmwgRGlzY2FyZGFibGVJbnN0YW5jZUJhc2UoKTsKLQotICAgICAg
ICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNJbnZlcnNlRnVuY3Rpb25hbFByb3BlcnR5Ci0gICAg
ICAgICAgICAgKgotICAgICAgICAgICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgaW52
ZXJzZSBmdW5jdGlvbmFsIHByb3BlcnRpZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI0ludmVyc2VGdW5jdGlv
bmFsUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFya2VyIGNs
YXNzIHRvIGlkZW50aWZ5IGludmVyc2UgZnVuY3Rpb25hbCBwcm9wZXJ0aWVzIAogICAgICAgICAg
ICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEludmVyc2VGdW5jdGlvbmFs
UHJvcGVydHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3
LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNLbm93bGVkZ2VC
YXNlCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIG5hbWVkIGdy
YXBoIGNvbnRhaW5pbmcgYm90aCBzY2hlbWF0aWMgYW5kIGluc3RhbmNlCi0gICAgICAgICAgICAg
KiBkYXRhCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250
b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNLbm93bGVkZ2VCYXNlIAorICAgICAgICAgICAgICogCisg
ICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBib3RoIHNj
aGVtYXRpYyBhbmQgaW5zdGFuY2UgCisgICAgICAgICAgICAgKiBkYXRhIAogICAgICAgICAgICAg
ICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIEtub3dsZWRnZUJhc2UoKTsKIAog
ICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3Rv
cC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNPbnRvbG9neQotICAgICAgICAgICAgICoK
LSAgICAgICAgICAgICAqIFJlcHJlc2VudHMgYSBuYW1lZCBncmFwaCBoYXZpbmcgdGhlIHJvbGUg
b2YgYW4gT250b2xvZ3kKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI09udG9sb2d5IAorICAgICAgICAgICAgICog
CisgICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggaGF2aW5nIHRoZSByb2xl
IG9mIGFuIE9udG9sb2d5IAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIE9udG9sb2d5KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
UmVmbGV4aXZlUHJvcGVydHkKLSAgICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBBIG1hcmtl
ciBjbGFzcyB0byBpZGVudGlmeSByZWZsZXhpdmUgcHJvcGVydGllcworICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
UmVmbGV4aXZlUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFy
a2VyIGNsYXNzIHRvIGlkZW50aWZ5IHJlZmxleGl2ZSBwcm9wZXJ0aWVzIAogICAgICAgICAgICAg
ICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIFJlZmxleGl2ZVByb3BlcnR5KCk7
CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjUnVsZVZpZXdTcGVjaWZpY2F0aW9u
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIHZpZXcgc3BlY2lm
aWNhdGlvbiB0aGF0IGlzIGNvbXBvc2VkIG9mIGEgc2V0IG9mCi0gICAgICAgICAgICAgKiBydWxl
cyB3aGljaCBnZW5lcmF0ZSB0aGUgcmVxdWlyZWQgdmlldyBmcm9tIHRoZSBpbnB1dCBncmFwaAot
ICAgICAgICAgICAgICogdXBvbiBmaXJpbmcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1J1bGVWaWV3U3BlY2lm
aWNhdGlvbiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUmVwcmVzZW50cyBhIHZp
ZXcgc3BlY2lmaWNhdGlvbiB0aGF0IGlzIGNvbXBvc2VkIG9mIGEgc2V0IG9mIAorICAgICAgICAg
ICAgICogcnVsZXMgd2hpY2ggZ2VuZXJhdGUgdGhlIHJlcXVpcmVkIHZpZXcgZnJvbSB0aGUgaW5w
dXQgZ3JhcGggCisgICAgICAgICAgICAgKiB1cG9uIGZpcmluZyAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBSdWxlVmlld1NwZWNpZmljYXRpb24oKTsK
IAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTY2hlbWEKLSAgICAgICAgICAgICAq
Ci0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBzY2hl
bWF0aWMgZGF0YQorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU2NoZW1hIAorICAgICAgICAgICAgICogCisgICAg
ICAgICAgICAgKiBSZXByZXNlbnRzIGEgbmFtZWQgZ3JhcGggY29udGFpbmluZyBzY2hlbWF0aWMg
ZGF0YSAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBT
Y2hlbWEoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNl
bWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTZW1hbnRpY3MKLSAg
ICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBSZXByZXNlbnRzIHNvbWUgZGVjbGFyYXRpdmUg
c2VtYW50aWNzCisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcv
b250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNTZW1hbnRpY3MgCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIFJlcHJlc2VudHMgc29tZSBkZWNsYXJhdGl2ZSBzZW1hbnRpY3MgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgU2VtYW50aWNzKCk7
CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU3ltbWV0cmljUHJvcGVydHkKLSAg
ICAgICAgICAgICAqCi0gICAgICAgICAgICAgKiBBIG1hcmtlciBjbGFzcyB0byBpZGVudGlmeSBz
eW1tZXRyaWMgcHJvcGVydGllcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjU3ltbWV0cmljUHJvcGVydHkgCisg
ICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5
IHN5bW1ldHJpYyBwcm9wZXJ0aWVzIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BS
QU5PX0VYUE9SVCBRVXJsIFN5bW1ldHJpY1Byb3BlcnR5KCk7CiAKICAgICAgICAgICAgIC8qKgot
ICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjVHJhbnNpdGl2ZVByb3BlcnR5Ci0gICAgICAgICAgICAgKgotICAgICAg
ICAgICAgICogQSBtYXJrZXIgY2xhc3MgdG8gaWRlbnRpZnkgdHJhbnNpdGl2ZSBwcm9wZXJ0aWVz
CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2ll
cy8yMDA3LzA4LzE1L25ybCNUcmFuc2l0aXZlUHJvcGVydHkgCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIEEgbWFya2VyIGNsYXNzIHRvIGlkZW50aWZ5IHRyYW5zaXRpdmUgcHJvcGVy
dGllcyAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBU
cmFuc2l0aXZlUHJvcGVydHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBo
dHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNW
aWV3U3BlY2lmaWNhdGlvbgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFJlcHJlc2Vu
dHMgYSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBtZWFucyB0byBhY2hpZXZlIGEgdHJhbnNmb3JtYXRp
b24KLSAgICAgICAgICAgICAqIG9mIGFuIGlucHV0IGdyYXBoIGludG8gdGhlIHJlcXVpcmVkIGdy
YXBoIHZpZXcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9v
bnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI1ZpZXdTcGVjaWZpY2F0aW9uIAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBSZXByZXNlbnRzIGEgc3BlY2lmaWNhdGlvbiBvZiB0aGUgbWVh
bnMgdG8gYWNoaWV2ZSBhIHRyYW5zZm9ybWF0aW9uIAorICAgICAgICAgICAgICogb2YgYW4gaW5w
dXQgZ3JhcGggaW50byB0aGUgcmVxdWlyZWQgZ3JhcGggdmlldyAKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBWaWV3U3BlY2lmaWNhdGlvbigpOwogCiAg
ICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2NhcmRpbmFsaXR5Ci0gICAgICAgICAgICAg
KgotICAgICAgICAgICAgICogU3BlY2lmaWVzIHRoZSBwcmVjaXNlIHZhbHVlIGNhcmRpbmFsaXR5
IGZvciBhIHNwZWNpZmljIHByb3BlcnR5CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNjYXJkaW5hbGl0eSAKKyAg
ICAgICAgICAgICAqIAorICAgICAgICAgICAgICogU3BlY2lmaWVzIHRoZSBwcmVjaXNlIHZhbHVl
IGNhcmRpbmFsaXR5IGZvciBhIHNwZWNpZmljIHByb3BlcnR5IAogICAgICAgICAgICAgICovCiAg
ICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIGNhcmRpbmFsaXR5KCk7CiAKICAgICAgICAg
ICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjY29yZUdyYXBoTWV0YWRhdGFGb3IKLSAgICAgICAgICAg
ICAqCi0gICAgICAgICAgICAgKiBMaW5rcyBhIG1ldGFkYXRhIGdyYXBoIHRvIHRoZSBncmFwaCBm
b3Igd2hpY2ggaXQgc3BlY2lmaWVzIHRoZQotICAgICAgICAgICAgICogY29yZSBncmFwaCBwcm9w
ZXJ0aWVzIGluY2x1ZGluZyB0aGUgc2VtYW50aWNzIGFuZCB0aGUgZ3JhcGgKLSAgICAgICAgICAg
ICAqIG5hbWVzcGFjZS4gQSBncmFwaCBjYW4gaGF2ZSBvbmx5IG9uZSB1bmlxdWUgY29yZSBtZXRh
ZGF0YSBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3Jn
L29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjY29yZUdyYXBoTWV0YWRhdGFGb3IgCisgICAgICAg
ICAgICAgKiAKKyAgICAgICAgICAgICAqIExpbmtzIGEgbWV0YWRhdGEgZ3JhcGggdG8gdGhlIGdy
YXBoIGZvciB3aGljaCBpdCBzcGVjaWZpZXMgdGhlIAorICAgICAgICAgICAgICogY29yZSBncmFw
aCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB0aGUgc2VtYW50aWNzIGFuZCB0aGUgZ3JhcGggCisgICAg
ICAgICAgICAgKiBuYW1lc3BhY2UuIEEgZ3JhcGggY2FuIGhhdmUgb25seSBvbmUgdW5pcXVlIGNv
cmUgbWV0YWRhdGEgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9f
RVhQT1JUIFFVcmwgY29yZUdyYXBoTWV0YWRhdGFGb3IoKTsKIAogICAgICAgICAgICAgLyoqCi0g
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGgKLSAgICAgICAgICAgICAqCi0gICAgICAgICAg
ICAgKiBMaW5rcyB0d28gZXF1aXZhbGVudCBuYW1lZCBncmFwaHMuIEEgc3ltbWV0cmljIHByb3Bl
cnR5CisgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xv
Z2llcy8yMDA3LzA4LzE1L25ybCNlcXVpdmFsZW50R3JhcGggCisgICAgICAgICAgICAgKiAKKyAg
ICAgICAgICAgICAqIExpbmtzIHR3byBlcXVpdmFsZW50IG5hbWVkIGdyYXBocy4gQSBzeW1tZXRy
aWMgcHJvcGVydHkgCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JU
IFFVcmwgZXF1aXZhbGVudEdyYXBoKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAg
ICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9u
cmwjZXh0ZXJuYWxSZWFsaXplcgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFBvaW50
cyB0byB0aGUgbG9jYXRpb24gb2YgdGhlIHJlYWxpemVyIGZvciB0aGUgZXh0ZXJuYWwgdmlldwot
ICAgICAgICAgICAgICogc3BlY2lmaWNhdGlvbgorICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjZXh0ZXJuYWxSZWFs
aXplciAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSBsb2Nh
dGlvbiBvZiB0aGUgcmVhbGl6ZXIgZm9yIHRoZSBleHRlcm5hbCB2aWV3IAorICAgICAgICAgICAg
ICogc3BlY2lmaWNhdGlvbiAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19F
WFBPUlQgUVVybCBleHRlcm5hbFJlYWxpemVyKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAg
ICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvcgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAq
IExpbmtzIGEgbWV0YWRhdGEgZ3JhcGggdG8gdGhlIGdyYXBoIHRoYXQgaXMgYmVpbmcgZGVzY3Jp
YmVkLgotICAgICAgICAgICAgICogQSB1bmlxdWUgdmFsdWUgaXMgY29tcHVsc29yeQorICAgICAg
ICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8w
OC8xNS9ucmwjZ3JhcGhNZXRhZGF0YUZvciAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAg
ICogTGlua3MgYSBtZXRhZGF0YSBncmFwaCB0byB0aGUgZ3JhcGggdGhhdCBpcyBiZWluZyBkZXNj
cmliZWQuIAorICAgICAgICAgICAgICogQSB1bmlxdWUgdmFsdWUgaXMgY29tcHVsc29yeSAKICAg
ICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBncmFwaE1ldGFk
YXRhRm9yKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU2VtYW50aWNz
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogUG9pbnRzIHRvIGEgcmVwcmVzZW50YXRp
b24gb2YgdGhlIGRlY2xhcmF0aXZlIHNlbWFudGljcyBmb3IKLSAgICAgICAgICAgICAqIGEgZ3Jh
cGggcm9sZQorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU2VtYW50aWNzIAorICAgICAgICAgICAgICogCisg
ICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVjbGFyYXRp
dmUgc2VtYW50aWNzIGZvciAKKyAgICAgICAgICAgICAqIGEgZ3JhcGggcm9sZSAKICAgICAgICAg
ICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBoYXNTZW1hbnRpY3MoKTsK
IAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVz
a3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNoYXNTcGVjaWZpY2F0aW9uCi0gICAg
ICAgICAgICAgKgotICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSByZXByZXNlbnRhdGlvbiBv
ZiB0aGUgdmlldyBzcGVjaWZpY2F0aW9uIHJlcXVpcmVkCi0gICAgICAgICAgICAgKiB0byBnZW5l
cmF0ZSB0aGUgZ3JhcGggdmlldyBpbiBxdWVzdGlvbgorICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaGFzU3BlY2lm
aWNhdGlvbiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogUG9pbnRzIHRvIHRoZSBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgdmlldyBzcGVjaWZpY2F0aW9uIHJlcXVpcmVkIAorICAgICAg
ICAgICAgICogdG8gZ2VuZXJhdGUgdGhlIGdyYXBoIHZpZXcgaW4gcXVlc3Rpb24gCiAgICAgICAg
ICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgaGFzU3BlY2lmaWNhdGlv
bigpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50
aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI2ltcG9ydHMKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBNb2RlbHMgYSBzdWJzdW1wdGlvbiByZWxhdGlvbnNoaXAg
YmV0d2VlbiB0d28gZ3JhcGhzLCBzdGF0aW5nCi0gICAgICAgICAgICAgKiB0aGF0IHRoZSBvYmpl
Y3QgZ3JhcGggaXMgaW1wb3J0ZWQgYW5kIGluY2x1ZGVkIGluIHRoZSBzdWJqZWN0Ci0gICAgICAg
ICAgICAgKiBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Au
b3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaW1wb3J0cyAKKyAgICAgICAgICAgICAqIAor
ICAgICAgICAgICAgICogTW9kZWxzIGEgc3Vic3VtcHRpb24gcmVsYXRpb25zaGlwIGJldHdlZW4g
dHdvIGdyYXBocywgc3RhdGluZyAKKyAgICAgICAgICAgICAqIHRoYXQgdGhlIG9iamVjdCBncmFw
aCBpcyBpbXBvcnRlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIHN1YmplY3QgCisgICAgICAgICAgICAg
KiBncmFwaCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVy
bCBpbXBvcnRzKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjaW52ZXJzZVBy
b3BlcnR5Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogTGlua3MgdHdvIHByb3BlcnRp
ZXMgYW5kIHNwZWNpZmllcyB0aGVpciBpbnZlcnNlIGJlaGF2aW91cgorICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
aW52ZXJzZVByb3BlcnR5IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBMaW5rcyB0
d28gcHJvcGVydGllcyBhbmQgc3BlY2lmaWVzIHRoZWlyIGludmVyc2UgYmVoYXZpb3VyIAogICAg
ICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIGludmVyc2VQcm9w
ZXJ0eSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2Vt
YW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21heENhcmRpbmFsaXR5
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgbWF4aW11bSB2YWx1
ZSBjYXJkaW5hbGl0eSBmb3IgYSBzcGVjaWZpYyBwcm9wZXJ0eQorICAgICAgICAgICAgICogaHR0
cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjbWF4
Q2FyZGluYWxpdHkgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFNwZWNpZmllcyBh
IG1heGltdW0gdmFsdWUgY2FyZGluYWxpdHkgZm9yIGEgc3BlY2lmaWMgcHJvcGVydHkgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgbWF4Q2FyZGluYWxp
dHkoKTsKIAogICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFu
dGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNtaW5DYXJkaW5hbGl0eQot
ICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyBhIG1pbmltdW0gdmFsdWUg
Y2FyZGluYWxpdHkgZm9yIGEgc3BlY2lmaWMgcHJvcGVydHkKKyAgICAgICAgICAgICAqIGh0dHA6
Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI21pbkNh
cmRpbmFsaXR5IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBTcGVjaWZpZXMgYSBt
aW5pbXVtIHZhbHVlIGNhcmRpbmFsaXR5IGZvciBhIHNwZWNpZmljIHByb3BlcnR5IAogICAgICAg
ICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VYUE9SVCBRVXJsIG1pbkNhcmRpbmFsaXR5
KCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRp
Y2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjcmVhbGl6ZXMKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUg
ZGVjbGFyYXRpdmUgc2VtYW50aWNzIHRoYXQKLSAgICAgICAgICAgICAqIHRoZSB2aWV3IHNwZWNp
ZmljYXRpb24gcmVhbGl6ZXMKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNr
dG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3JlYWxpemVzIAorICAgICAgICAgICAg
ICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVj
bGFyYXRpdmUgc2VtYW50aWNzIHRoYXQgCisgICAgICAgICAgICAgKiB0aGUgdmlldyBzcGVjaWZp
Y2F0aW9uIHJlYWxpemVzIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIHJlYWxpemVzKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICog
aHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwj
cnVsZQotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyBydWxlcyBmb3Ig
YSB2aWV3IHNwZWNpZmljYXRpb24gdGhhdCBpcyBkcml2ZW4gYnkgcnVsZXMKKyAgICAgICAgICAg
ICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUv
bnJsI3J1bGUgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAgICAqIFNwZWNpZmllcyBydWxl
cyBmb3IgYSB2aWV3IHNwZWNpZmljYXRpb24gdGhhdCBpcyBkcml2ZW4gYnkgcnVsZXMgCiAgICAg
ICAgICAgICAgKi8KICAgICAgICAgICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgcnVsZSgpOwogCiAg
ICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9w
Lm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJsI3J1bGVMYW5ndWFnZQotICAgICAgICAgICAg
ICoKLSAgICAgICAgICAgICAqIFNwZWNpZmllcyB0aGUgcnVsZSBsYW5ndWFnZSBmb3IgYSB2aWV3
IHNwZWNpZmljYXRpb24gdGhhdCBpcwotICAgICAgICAgICAgICogZHJpdmVuIGJ5IHJ1bGVzCisg
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNydWxlTGFuZ3VhZ2UgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIFNwZWNpZmllcyB0aGUgcnVsZSBsYW5ndWFnZSBmb3IgYSB2aWV3IHNwZWNpZmljYXRpb24g
dGhhdCBpcyAKKyAgICAgICAgICAgICAqIGRyaXZlbiBieSBydWxlcyAKICAgICAgICAgICAgICAq
LwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBydWxlTGFuZ3VhZ2UoKTsKIAogICAg
ICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5v
cmcvb250b2xvZ2llcy8yMDA3LzA4LzE1L25ybCNzZW1hbnRpY3NEZWZpbmVkQnkKLSAgICAgICAg
ICAgICAqCi0gICAgICAgICAgICAgKiBQb2ludHMgdG8gdGhlIGh1bWFuIHJlYWRhYmxlIHNwZWNp
ZmljYXRpb25zIGZvciBhIHJlcHJlc2VudGF0aW9uCi0gICAgICAgICAgICAgKiBvZiBzb21lIGRl
Y2xhcmF0aXZlIHNlbWFudGljcworICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rl
c2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc2VtYW50aWNzRGVmaW5lZEJ5IAor
ICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gdGhlIGh1bWFuIHJlYWRh
YmxlIHNwZWNpZmljYXRpb25zIGZvciBhIHJlcHJlc2VudGF0aW9uIAorICAgICAgICAgICAgICog
b2Ygc29tZSBkZWNsYXJhdGl2ZSBzZW1hbnRpY3MgCiAgICAgICAgICAgICAgKi8KICAgICAgICAg
ICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgc2VtYW50aWNzRGVmaW5lZEJ5KCk7CiAKICAgICAgICAg
ICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29u
dG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhPZgotICAgICAgICAgICAgICoKLSAgICAg
ICAgICAgICAqIFNwZWNpZmllcyBhIGNvbnRhaW5tZW50IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3
byBncmFwaHMsCi0gICAgICAgICAgICAgKiBtZWFuaW5nIHRoYXQgdGhlIHN1YmplY3QgZ3JhcGgg
aXMgaW5jbHVkZWQgaW4gdGhlIG9iamVjdCBncmFwaAorICAgICAgICAgICAgICogaHR0cDovL3d3
dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3ViR3JhcGhP
ZiAKKyAgICAgICAgICAgICAqIAorICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgY29udGFpbm1l
bnQgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIGdyYXBocywgCisgICAgICAgICAgICAgKiBtZWFu
aW5nIHRoYXQgdGhlIHN1YmplY3QgZ3JhcGggaXMgaW5jbHVkZWQgaW4gdGhlIG9iamVjdCBncmFw
aCAKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgU09QUkFOT19FWFBPUlQgUVVybCBzdWJH
cmFwaE9mKCk7CiAKICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICogaHR0cDovL3d3dy5z
ZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjc3VwZXJHcmFwaE9m
Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogU3BlY2lmaWVzIGEgc3Vic3VtcHRpb24g
cmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIGdyYXBocywKLSAgICAgICAgICAgICAqIG1lYW5pbmcg
dGhhdCB0aGUgb2JqZWN0IGdyYXBoIGlzIGluY2x1ZGVkIGluIHRoZSBzdWJqZWN0IGdyYXBoCisg
ICAgICAgICAgICAgKiBodHRwOi8vd3d3LnNlbWFudGljZGVza3RvcC5vcmcvb250b2xvZ2llcy8y
MDA3LzA4LzE1L25ybCNzdXBlckdyYXBoT2YgCisgICAgICAgICAgICAgKiAKKyAgICAgICAgICAg
ICAqIFNwZWNpZmllcyBhIHN1YnN1bXB0aW9uIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBncmFw
aHMsIAorICAgICAgICAgICAgICogbWVhbmluZyB0aGF0IHRoZSBvYmplY3QgZ3JhcGggaXMgaW5j
bHVkZWQgaW4gdGhlIHN1YmplY3QgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAg
IFNPUFJBTk9fRVhQT1JUIFFVcmwgc3VwZXJHcmFwaE9mKCk7CiAKICAgICAgICAgICAgIC8qKgot
ICAgICAgICAgICAgICogaHR0cDovL3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMv
MjAwNy8wOC8xNS9ucmwjdXBkYXRhYmxlCi0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICog
QSBjb3JlIGdyYXBoIG1ldGFkYXRhIHByb3BlcnR5LCB0aGlzIGRlZmluZXMgd2hldGhlciBhIGdy
YXBoCi0gICAgICAgICAgICAgKiBjYW4gYmUgZnJlZWx5IHVwZGF0ZWQgJzEnIG9yIG90aGVyd2lz
ZSAnMCcKKyAgICAgICAgICAgICAqIGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRv
bG9naWVzLzIwMDcvMDgvMTUvbnJsI3VwZGF0YWJsZSAKKyAgICAgICAgICAgICAqIAorICAgICAg
ICAgICAgICogQSBjb3JlIGdyYXBoIG1ldGFkYXRhIHByb3BlcnR5LCB0aGlzIGRlZmluZXMgd2hl
dGhlciBhIGdyYXBoIAorICAgICAgICAgICAgICogY2FuIGJlIGZyZWVseSB1cGRhdGVkICcxJyBv
ciBvdGhlcndpc2UgJzAnIAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBTT1BSQU5PX0VY
UE9SVCBRVXJsIHVwZGF0YWJsZSgpOwogCiAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAq
IGh0dHA6Ly93d3cuc2VtYW50aWNkZXNrdG9wLm9yZy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbnJs
I3ZpZXdPbgotICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAqIFBvaW50cyB0byBhIGdyYXBo
IHZpZXcgb3ZlciB0aGUgc3ViamVjdCBuYW1lZCBncmFwaAorICAgICAgICAgICAgICogaHR0cDov
L3d3dy5zZW1hbnRpY2Rlc2t0b3Aub3JnL29udG9sb2dpZXMvMjAwNy8wOC8xNS9ucmwjdmlld09u
IAorICAgICAgICAgICAgICogCisgICAgICAgICAgICAgKiBQb2ludHMgdG8gYSBncmFwaCB2aWV3
IG92ZXIgdGhlIHN1YmplY3QgbmFtZWQgZ3JhcGggCiAgICAgICAgICAgICAgKi8KICAgICAgICAg
ICAgIFNPUFJBTk9fRVhQT1JUIFFVcmwgdmlld09uKCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L3NvcHJhbm8vdm9jYWJ1bGFyeS9yZGYuY3BwIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZi5jcHAK
aW5kZXggM2FmMGVlMS4uNGJlZWY2ZiAxMDA2NDQKLS0tIGEvc29wcmFuby92b2NhYnVsYXJ5L3Jk
Zi5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZi5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0aGUgb250bzJ2b2NhYnVsYXJ5
Y2xhc3MgdG9vbAotICogY29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2ViYXN0aWFuIFRydWVnIDx0
cnVlZ0BrZGUub3JnPgorICogY29weXJpZ2h0IChDKSAyMDA3LTIwMTEgU2ViYXN0aWFuIFRydWVn
IDx0cnVlZ0BrZGUub3JnPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCwxMjQgKzIwLDgyIEBA
CiAKICNpbmNsdWRlICJyZGYuaCIKIAotY2xhc3MgUmRmUHJpdmF0ZQotewotcHVibGljOgotICAg
IFJkZlByaXZhdGUoKQotICAgICAgICA6IHJkZl9uYW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIsIFFVcmw6OlN0
cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9BbHQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0FsdCIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHJkZl9CYWcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDov
L3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0JhZyIsIFFVcmw6OlN0cmljdE1v
ZGUgKSApLAotICAgICAgICAgIHJkZl9MaXN0KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNMaXN0IiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgcmRmX1Byb3BlcnR5KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6
Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNQcm9wZXJ0eSIsIFFVcmw6OlN0
cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9TZXEoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1NlcSIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHJkZl9TdGF0ZW1lbnQoIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1N0YXRlbWVudCIsIFFV
cmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9YTUxMaXRlcmFsKCBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNYTUxM
aXRlcmFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgcmRmX2ZpcnN0KCBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u
cyNmaXJzdCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9uaWwoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5z
I25pbCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9vYmplY3QoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5z
I29iamVjdCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9wcmVkaWNhdGUo
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zI3ByZWRpY2F0ZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJkZl9y
ZXN0KCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyNyZXN0IiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgcmRmX3N1
YmplY3QoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zI3N1YmplY3QiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICBy
ZGZfdHlwZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjdHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHJk
Zl92YWx1ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjdmFsdWUiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSB7Ci0gICAgfQotCi0g
ICAgUVVybCByZGZfbmFtZXNwYWNlOwotICAgIFFVcmwgcmRmX0FsdDsKLSAgICBRVXJsIHJkZl9C
YWc7Ci0gICAgUVVybCByZGZfTGlzdDsKLSAgICBRVXJsIHJkZl9Qcm9wZXJ0eTsKLSAgICBRVXJs
IHJkZl9TZXE7Ci0gICAgUVVybCByZGZfU3RhdGVtZW50OwotICAgIFFVcmwgcmRmX1hNTExpdGVy
YWw7Ci0gICAgUVVybCByZGZfZmlyc3Q7Ci0gICAgUVVybCByZGZfbmlsOwotICAgIFFVcmwgcmRm
X29iamVjdDsKLSAgICBRVXJsIHJkZl9wcmVkaWNhdGU7Ci0gICAgUVVybCByZGZfcmVzdDsKLSAg
ICBRVXJsIHJkZl9zdWJqZWN0OwotICAgIFFVcmwgcmRmX3R5cGU7Ci0gICAgUVVybCByZGZfdmFs
dWU7Ci19OwotCi1RX0dMT0JBTF9TVEFUSUMoIFJkZlByaXZhdGUsIHNfcmRmICkKLQogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnJkZk5hbWVzcGFjZSgpCiB7Ci0gICAgcmV0dXJuIHNf
cmRmKCktPnJkZl9uYW1lc3BhY2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIsIFFVcmw6OlN0cmljdE1v
ZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OkFsdCgpCiB7Ci0gICAg
cmV0dXJuIHNfcmRmKCktPnJkZl9BbHQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0FsdCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OkJhZygpCiB7
Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9CYWc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI0JhZyIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Okxp
c3QoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfTGlzdDsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj
TGlzdCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREY6OlByb3BlcnR5KCkKIHsKLSAgICByZXR1cm4gc19yZGYoKS0+cmRmX1Byb3BlcnR5Owor
ICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIv
MjItcmRmLXN5bnRheC1ucyNQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OlNlcSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmKCkt
PnJkZl9TZXE7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5v
cmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1NlcSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OlN0YXRlbWVudCgpCiB7Ci0gICAgcmV0
dXJuIHNfcmRmKCktPnJkZl9TdGF0ZW1lbnQ7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI1N0YXRlbWVudCIs
IFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6
OlhNTExpdGVyYWwoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfWE1MTGl0ZXJhbDsKKyAg
ICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjWE1MTGl0ZXJhbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OmZpcnN0KCkKIHsKLSAgICByZXR1cm4gc19yZGYo
KS0+cmRmX2ZpcnN0OworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyNmaXJzdCIsIFFVcmw6OlN0cmljdE1vZGUg
KTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Om5pbCgpCiB7Ci0gICAgcmV0
dXJuIHNfcmRmKCktPnJkZl9uaWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI25pbCIsIFFVcmw6OlN0cmlj
dE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6Om9iamVjdCgpCiB7
Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9vYmplY3Q7CisgICAgcmV0dXJuIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI29iamVj
dCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpS
REY6OnByZWRpY2F0ZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmKCktPnJkZl9wcmVkaWNhdGU7Cisg
ICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y
Mi1yZGYtc3ludGF4LW5zI3ByZWRpY2F0ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVy
bCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnJlc3QoKQogewotICAgIHJldHVybiBzX3JkZigp
LT5yZGZfcmVzdDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjcmVzdCIsIFFVcmw6OlN0cmljdE1vZGUgKTsK
IH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnN1YmplY3QoKQogewotICAgIHJl
dHVybiBzX3JkZigpLT5yZGZfc3ViamVjdDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjc3ViamVjdCIsIFFV
cmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREY6OnR5
cGUoKQogewotICAgIHJldHVybiBzX3JkZigpLT5yZGZfdHlwZTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj
dHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREY6OnZhbHVlKCkKIHsKLSAgICByZXR1cm4gc19yZGYoKS0+cmRmX3ZhbHVlOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyN2YWx1ZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3Nv
cHJhbm8vdm9jYWJ1bGFyeS9yZGZzLmNwcCBiL3NvcHJhbm8vdm9jYWJ1bGFyeS9yZGZzLmNwcApp
bmRleCBhMTc5ZmQzLi40M2QyMjZkIDEwMDY0NAotLS0gYS9zb3ByYW5vL3ZvY2FidWxhcnkvcmRm
cy5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5L3JkZnMuY3BwCkBAIC0xLDYgKzEsNiBAQAog
LyoKICAqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIG9udG8ydm9jYWJ1bGFy
eWNsYXNzIHRvb2wKLSAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNlYmFzdGlhbiBUcnVlZyA8
dHJ1ZWdAa2RlLm9yZz4KKyAqIGNvcHlyaWdodCAoQykgMjAwNy0yMDExIFNlYmFzdGlhbiBUcnVl
ZyA8dHJ1ZWdAa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsMTI0ICsyMCw4MiBA
QAogCiAjaW5jbHVkZSAicmRmcy5oIgogCi1jbGFzcyBSZGZzUHJpdmF0ZQotewotcHVibGljOgot
ICAgIFJkZnNQcml2YXRlKCkKLSAgICAgICAgOiByZGZzX25hbWVzcGFjZSggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgcmRmc19DbGFzcyggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjQ2xhc3MiLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICByZGZzX0NvbnRhaW5lciggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjQ29udGFpbmVyIiwgUVVybDo6U3Ry
aWN0TW9kZSApICksCi0gICAgICAgICAgcmRmc19Db250YWluZXJNZW1iZXJzaGlwUHJvcGVydHko
IFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1h
I0NvbnRhaW5lck1lbWJlcnNoaXBQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfRGF0YXR5cGUoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5v
cmcvMjAwMC8wMS9yZGYtc2NoZW1hI0RhdGF0eXBlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19MaXRlcmFsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNMaXRlcmFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19SZXNvdXJjZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjUmVzb3VyY2UiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX2NvbW1lbnQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2NvbW1lbnQiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX2RvbWFpbiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjZG9tYWluIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0g
ICAgICAgICAgcmRmc19pc0RlZmluZWRCeSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3
LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjaXNEZWZpbmVkQnkiLCBRVXJsOjpTdHJpY3RNb2Rl
ICkgKSwKLSAgICAgICAgICByZGZzX2xhYmVsKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNsYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIHJkZnNfbWVtYmVyKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNtZW1iZXIiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwK
LSAgICAgICAgICByZGZzX3JhbmdlKCBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNyYW5nZSIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfc2VlQWxzbyggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwLzAxL3JkZi1zY2hlbWEjc2VlQWxzbyIsIFFVcmw6OlN0cmljdE1vZGUgKSApLAotICAg
ICAgICAgIHJkZnNfc3ViQ2xhc3NPZiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViQ2xhc3NPZiIsIFFVcmw6OlN0cmljdE1vZGUgKSAp
LAotICAgICAgICAgIHJkZnNfc3ViUHJvcGVydHlPZiggUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViUHJvcGVydHlPZiIsIFFVcmw6OlN0
cmljdE1vZGUgKSApIHsKLSAgICB9Ci0KLSAgICBRVXJsIHJkZnNfbmFtZXNwYWNlOwotICAgIFFV
cmwgcmRmc19DbGFzczsKLSAgICBRVXJsIHJkZnNfQ29udGFpbmVyOwotICAgIFFVcmwgcmRmc19D
b250YWluZXJNZW1iZXJzaGlwUHJvcGVydHk7Ci0gICAgUVVybCByZGZzX0RhdGF0eXBlOwotICAg
IFFVcmwgcmRmc19MaXRlcmFsOwotICAgIFFVcmwgcmRmc19SZXNvdXJjZTsKLSAgICBRVXJsIHJk
ZnNfY29tbWVudDsKLSAgICBRVXJsIHJkZnNfZG9tYWluOwotICAgIFFVcmwgcmRmc19pc0RlZmlu
ZWRCeTsKLSAgICBRVXJsIHJkZnNfbGFiZWw7Ci0gICAgUVVybCByZGZzX21lbWJlcjsKLSAgICBR
VXJsIHJkZnNfcmFuZ2U7Ci0gICAgUVVybCByZGZzX3NlZUFsc287Ci0gICAgUVVybCByZGZzX3N1
YkNsYXNzT2Y7Ci0gICAgUVVybCByZGZzX3N1YlByb3BlcnR5T2Y7Ci19OwotCi1RX0dMT0JBTF9T
VEFUSUMoIFJkZnNQcml2YXRlLCBzX3JkZnMgKQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6
OlJERlM6OnJkZnNOYW1lc3BhY2UoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19uYW1l
c3BhY2U7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMC8wMS9yZGYtc2NoZW1hIyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDbGFzcygpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5y
ZGZzX0NsYXNzOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNDbGFzcyIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDb250YWluZXIoKQogewotICAgIHJldHVy
biBzX3JkZnMoKS0+cmRmc19Db250YWluZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI0NvbnRhaW5lciIsIFFVcmw6
OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpDb250
YWluZXJNZW1iZXJzaGlwUHJvcGVydHkoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19D
b250YWluZXJNZW1iZXJzaGlwUHJvcGVydHk7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI0NvbnRhaW5lck1lbWJlcnNo
aXBQcm9wZXJ0eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpSREZTOjpEYXRhdHlwZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX0Rh
dGF0eXBlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvMDEvcmRmLXNjaGVtYSNEYXRhdHlwZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpMaXRlcmFsKCkKIHsKLSAgICByZXR1cm4g
c19yZGZzKCktPnJkZnNfTGl0ZXJhbDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjTGl0ZXJhbCIsIFFVcmw6OlN0cmlj
dE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpSZXNvdXJjZSgp
CiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX1Jlc291cmNlOworICAgIHJldHVybiBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNSZXNv
dXJjZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5
OjpSREZTOjpjb21tZW50KCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCktPnJkZnNfY29tbWVudDsK
KyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAx
L3JkZi1zY2hlbWEjY29tbWVudCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3By
YW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpkb21haW4oKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+
cmRmc19kb21haW47CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2RvbWFpbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjppc0RlZmluZWRCeSgpCiB7Ci0gICAg
cmV0dXJuIHNfcmRmcygpLT5yZGZzX2lzRGVmaW5lZEJ5OworICAgIHJldHVybiBRVXJsOjpmcm9t
RW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNpc0RlZmluZWRC
eSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpS
REZTOjpsYWJlbCgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygpLT5yZGZzX2xhYmVsOworICAgIHJl
dHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNj
aGVtYSNsYWJlbCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2Nh
YnVsYXJ5OjpSREZTOjptZW1iZXIoKQogewotICAgIHJldHVybiBzX3JkZnMoKS0+cmRmc19tZW1i
ZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAw
MC8wMS9yZGYtc2NoZW1hI21lbWJlciIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBT
b3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpyYW5nZSgpCiB7Ci0gICAgcmV0dXJuIHNfcmRmcygp
LT5yZGZzX3JhbmdlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNyYW5nZSIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpzZWVBbHNvKCkKIHsKLSAgICByZXR1
cm4gc19yZGZzKCktPnJkZnNfc2VlQWxzbzsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQo
ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc2VlQWxzbyIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpSREZTOjpzdWJDbGFz
c09mKCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCktPnJkZnNfc3ViQ2xhc3NPZjsKKyAgICByZXR1
cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hl
bWEjc3ViQ2xhc3NPZiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogUVVybCBTb3ByYW5vOjpW
b2NhYnVsYXJ5OjpSREZTOjpzdWJQcm9wZXJ0eU9mKCkKIHsKLSAgICByZXR1cm4gc19yZGZzKCkt
PnJkZnNfc3ViUHJvcGVydHlPZjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjc3ViUHJvcGVydHlPZiIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KZGlmZiAtLWdpdCBhL3NvcHJhbm8vdm9jYWJ1bGFyeS94c2QuY3BwIGIv
c29wcmFuby92b2NhYnVsYXJ5L3hzZC5jcHAKaW5kZXggNDQ0ZDc5NC4uYzgyZTJlOCAxMDA2NDQK
LS0tIGEvc29wcmFuby92b2NhYnVsYXJ5L3hzZC5jcHAKKysrIGIvc29wcmFuby92b2NhYnVsYXJ5
L3hzZC5jcHAKQEAgLTIyLDE2NSArMjIsMTE1IEBACiAjaW5jbHVkZSAieHNkLmgiCiAKIAotY2xh
c3MgWE1MU2NoZW1hCi17Ci1wdWJsaWM6Ci0gICAgWE1MU2NoZW1hKCkKLSAgICAgICAgOiB4c2RO
YW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT
Y2hlbWEjIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkSW50KCBRVXJsOjpm
cm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2ludCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHhzZEludGVnZXIoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjaW50ZWdlciIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHhzZE5lZ2F0aXZlSW50ZWdlciggUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNuZWdhdGl2ZUludGVnZXIiLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2ROb25OZWdhdGl2ZUludGVnZXIoIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjbm9uTmVn
YXRpdmVJbnRlZ2VyIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkRGVjaW1h
bCggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNk
ZWNpbWFsIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkU2hvcnQoIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc2hvcnQiLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RMb25nKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2xvbmciLCBRVXJsOjpTdHJpY3RN
b2RlICkgKSwKLSAgICAgICAgICB4c2RVbnNpZ25lZEludCggUVVybDo6ZnJvbUVuY29kZWQoICJo
dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZEludCIsIFFVcmw6OlN0cmlj
dE1vZGUgKSApLAotICAgICAgICAgIHhzZFVuc2lnbmVkU2hvcnQoIFFVcmw6OmZyb21FbmNvZGVk
KCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjdW5zaWduZWRTaG9ydCIsIFFVcmw6
OlN0cmljdE1vZGUgKSApLAotICAgICAgICAgIHhzZFVuc2lnbmVkTG9uZyggUVVybDo6ZnJvbUVu
Y29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZExvbmciLCBR
VXJsOjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RCb29sZWFuKCBRVXJsOjpmcm9tRW5j
b2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2Jvb2xlYW4iLCBRVXJsOjpT
dHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2REb3VibGUoIFFVcmw6OmZyb21FbmNvZGVkKCAi
aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZG91YmxlIiwgUVVybDo6U3RyaWN0TW9k
ZSApICksCi0gICAgICAgICAgeHNkRmxvYXQoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3
dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZmxvYXQiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSwKLSAg
ICAgICAgICB4c2RTdHJpbmcoIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEjc3RyaW5nIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAg
eHNkRGF0ZSggUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYSNkYXRlIiwgUVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkVGltZSggUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN0aW1lIiwg
UVVybDo6U3RyaWN0TW9kZSApICksCi0gICAgICAgICAgeHNkRGF0ZVRpbWUoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLCBRVXJs
OjpTdHJpY3RNb2RlICkgKSwKLSAgICAgICAgICB4c2RCYXNlNjRCaW5hcnkoIFFVcmw6OmZyb21F
bmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYmFzZTY0QmluYXJ5Iiwg
UVVybDo6U3RyaWN0TW9kZSApICkgewotICAgIH0KLQotICAgIFFVcmwgeHNkTmFtZXNwYWNlOwot
ICAgIFFVcmwgeHNkSW50OwotICAgIFFVcmwgeHNkSW50ZWdlcjsKLSAgICBRVXJsIHhzZE5lZ2F0
aXZlSW50ZWdlcjsKLSAgICBRVXJsIHhzZE5vbk5lZ2F0aXZlSW50ZWdlcjsKLSAgICBRVXJsIHhz
ZERlY2ltYWw7Ci0gICAgUVVybCB4c2RTaG9ydDsKLSAgICBRVXJsIHhzZExvbmc7Ci0gICAgUVVy
bCB4c2RVbnNpZ25lZEludDsKLSAgICBRVXJsIHhzZFVuc2lnbmVkU2hvcnQ7Ci0gICAgUVVybCB4
c2RVbnNpZ25lZExvbmc7Ci0gICAgUVVybCB4c2RCb29sZWFuOwotICAgIFFVcmwgeHNkRG91Ymxl
OwotICAgIFFVcmwgeHNkRmxvYXQ7Ci0gICAgUVVybCB4c2RTdHJpbmc7Ci0gICAgUVVybCB4c2RE
YXRlOwotICAgIFFVcmwgeHNkVGltZTsKLSAgICBRVXJsIHhzZERhdGVUaW1lOwotICAgIFFVcmwg
eHNkQmFzZTY0QmluYXJ5OwotfTsKLQotCi1RX0dMT0JBTF9TVEFUSUMoIFhNTFNjaGVtYSwgeHNk
ICkKLQotCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6eHNkTmFtZXNwYWNl
KCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZE5hbWVzcGFjZTsKKyAgICByZXR1cm4gUVVybDo6
ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSMiLCBRVXJsOjpT
dHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6
OnhzZEludCgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RJbnQ7CisgICAgcmV0dXJuIFFVcmw6
OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjaW50IiwgUVVy
bDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2No
ZW1hOjppbnRlZ2VyKCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEludGVnZXI7CisgICAgcmV0
dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEj
aW50ZWdlciIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2Fi
dWxhcnk6OlhNTFNjaGVtYTo6bmVnYXRpdmVJbnRlZ2VyKCkKIHsKLSAgICByZXR1cm4geHNkKCkt
PnhzZE5lZ2F0aXZlSW50ZWdlcjsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNuZWdhdGl2ZUludGVnZXIiLCBRVXJsOjpTdHJp
Y3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6Om5v
bk5lZ2F0aXZlSW50ZWdlcigpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2ROb25OZWdhdGl2ZUlu
dGVnZXI7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEjbm9uTmVnYXRpdmVJbnRlZ2VyIiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpkZWNpbWFsKCkKIHsK
LSAgICByZXR1cm4geHNkKCktPnhzZERlY2ltYWw7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNv
ZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGVjaW1hbCIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6
eHNkU2hvcnQoKQogewotICAgIHJldHVybiB4c2QoKS0+eHNkU2hvcnQ7CisgICAgcmV0dXJuIFFV
cmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc2hvcnQi
LCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpY
TUxTY2hlbWE6OnhzZExvbmcoKQogewotICAgIHJldHVybiB4c2QoKS0+eHNkTG9uZzsKKyAgICBy
ZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt
YSNsb25nIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1
bGFyeTo6WE1MU2NoZW1hOjp1bnNpZ25lZEludCgpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RV
bnNpZ25lZEludDsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAxL1hNTFNjaGVtYSN1bnNpZ25lZEludCIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0K
IAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6dW5zaWduZWRTaG9ydCgp
CiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RVbnNpZ25lZFNob3J0OworICAgIHJldHVybiBRVXJs
Ojpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI3Vuc2lnbmVk
U2hvcnQiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVs
YXJ5OjpYTUxTY2hlbWE6OnVuc2lnbmVkTG9uZygpCiB7Ci0gICAgcmV0dXJuIHhzZCgpLT54c2RV
bnNpZ25lZExvbmc7CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53
My5vcmcvMjAwMS9YTUxTY2hlbWEjdW5zaWduZWRMb25nIiwgUVVybDo6U3RyaWN0TW9kZSApOwog
fQogCiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpzdHJpbmcoKQogewot
ICAgIHJldHVybiB4c2QoKS0+eHNkU3RyaW5nOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2Rl
ZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI3N0cmluZyIsIFFVcmw6OlN0cmlj
dE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6eHNk
RG91YmxlKCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZERvdWJsZTsKKyAgICByZXR1cm4gUVVy
bDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkb3VibGUi
LCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAogUVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpY
TUxTY2hlbWE6OnhzZEZsb2F0KCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEZsb2F0OworICAg
IHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2No
ZW1hI2Zsb2F0IiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQogCiAKIFFVcmwgU29wcmFubzo6Vm9j
YWJ1bGFyeTo6WE1MU2NoZW1hOjpib29sZWFuKCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEJv
b2xlYW47CisgICAgcmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCAiaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEjYm9vbGVhbiIsIFFVcmw6OlN0cmljdE1vZGUgKTsKIH0KIAogCiBRVXJs
IFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6ZGF0ZSgpCiB7Ci0gICAgcmV0dXJuIHhz
ZCgpLT54c2REYXRlOworICAgIHJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCggImh0dHA6Ly93d3cu
dzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGUiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CiAKIAog
UVVybCBTb3ByYW5vOjpWb2NhYnVsYXJ5OjpYTUxTY2hlbWE6OnRpbWUoKQogewotICAgIHJldHVy
biB4c2QoKS0+eHNkVGltZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8v
d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSN0aW1lIiwgUVVybDo6U3RyaWN0TW9kZSApOwogfQog
CiAKIFFVcmwgU29wcmFubzo6Vm9jYWJ1bGFyeTo6WE1MU2NoZW1hOjpkYXRlVGltZSgpCiB7Ci0g
ICAgcmV0dXJuIHhzZCgpLT54c2REYXRlVGltZTsKKyAgICByZXR1cm4gUVVybDo6ZnJvbUVuY29k
ZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsIFFVcmw6OlN0
cmljdE1vZGUgKTsKIH0KIAogCiBRVXJsIFNvcHJhbm86OlZvY2FidWxhcnk6OlhNTFNjaGVtYTo6
YmFzZTY0QmluYXJ5KCkKIHsKLSAgICByZXR1cm4geHNkKCktPnhzZEJhc2U2NEJpbmFyeTsKKyAg
ICByZXR1cm4gUVVybDo6ZnJvbUVuY29kZWQoICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYSNiYXNlNjRCaW5hcnkiLCBRVXJsOjpTdHJpY3RNb2RlICk7CiB9CmRpZmYgLS1naXQgYS90
b29scy9vbnRvMnZvY2FidWxhcnljbGFzcy5jcHAgYi90b29scy9vbnRvMnZvY2FidWxhcnljbGFz
cy5jcHAKaW5kZXggOWE1YTkyYi4uMDAwZDdmMCAxMDA2NDQKLS0tIGEvdG9vbHMvb250bzJ2b2Nh
YnVsYXJ5Y2xhc3MuY3BwCisrKyBiL3Rvb2xzL29udG8ydm9jYWJ1bGFyeWNsYXNzLmNwcApAQCAt
MjcsNiArMjcsOCBAQAogI2luY2x1ZGUgPFF0Q29yZS9RRGlyPgogI2luY2x1ZGUgPFF0Q29yZS9R
UmVnRXhwPgogCisjaW5jbHVkZSAic29wcmFuby10b29scy1jb25maWcuaCIKKwogI2luY2x1ZGUg
Ii4uL3NvcHJhbm8vc3RhdGVtZW50aXRlcmF0b3IuaCIKICNpbmNsdWRlICIuLi9zb3ByYW5vL3F1
ZXJ5cmVzdWx0aXRlcmF0b3IuaCIKICNpbmNsdWRlICIuLi9zb3ByYW5vL25vZGVpdGVyYXRvci5o
IgpAQCAtNDUsNyArNDcsNyBAQCB1c2luZyBuYW1lc3BhY2UgU29wcmFubzsKIAogc3RhdGljIGNv
bnN0IGNoYXIqIExHUExfSEVBREVSID0gIi8qXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiICogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0aGUgb250bzJ2b2Nh
YnVsYXJ5Y2xhc3MgdG9vbFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAq
IGNvcHlyaWdodCAoQykgMjAwNy0yMDEwIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz5c
biIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKiBjb3B5cmlnaHQgKEMpIDIw
MDctMjAxMSBTZWJhc3RpYW4gVHJ1ZWcgPHRydWVnQGtkZS5vcmc+XG4iCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiICpcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWNc
biIKQEAgLTY0LDEyICs2NiwxMSBAQCBzdGF0aWMgY29uc3QgY2hhciogTEdQTF9IRUFERVIgPSAi
LypcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKi9cbiI7CiAKIAotI2Rl
ZmluZSBWRVJTSU9OICIxLjIiCiAKIGludCB2ZXJzaW9uKCkKIHsKICAgICBRVGV4dFN0cmVhbSBz
KCBzdGRlcnIgKTsKLSAgICBzIDw8ICJvbnRvMnZvY2FidWxhcnljbGFzcyAiIDw8IFZFUlNJT04g
PDwgIiAodXNpbmcgU29wcmFubyAiIDw8IFNvcHJhbm86OnZlcnNpb25TdHJpbmcoKSA8PCAiKSIg
PDwgZW5kbDsKKyAgICBzIDw8ICJvbnRvMnZvY2FidWxhcnljbGFzcyAiIDw8IFNvcHJhbm86OnZl
cnNpb25TdHJpbmcoKSA8PCBlbmRsOwogICAgIHMgPDwgIiAgIENvcHlyaWdodCAoQykgMjAwNy0y
MDExIFNlYmFzdGlhbiBUcnVlZyA8dHJ1ZWdAa2RlLm9yZz4iIDw8IGVuZGw7CiAgICAgcyA8PCAi
ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkiIDw8IGVuZGwKICAgICAgIDw8ICIgICBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSIgPDwgZW5k
bApAQCAtNDM3LDU4ICs0MzgsMTMgQEAgaW50IG1haW4oIGludCBhcmdjLCBjaGFyICphcmd2W10g
KQogICAgIHNvdXJjZVN0cmVhbSA8PCBMR1BMX0hFQURFUiA8PCBlbmRsOwogICAgIHNvdXJjZVN0
cmVhbSA8PCAiI2luY2x1ZGUgXCIiIDw8IGhlYWRlckZpbGUuZmlsZU5hbWUoKSA8PCAiXCIiIDw8
IGVuZGwgPDwgZW5kbDsKIAotICAgIFFTdHJpbmcgcHJpdmF0ZUNsYXNzTmFtZSA9IGNsYXNzTmFt
ZVswXS50b1VwcGVyKCkgKyBjbGFzc05hbWUubWlkKCAxICkudG9Mb3dlcigpICsgIlByaXZhdGUi
OwotICAgIFFTdHJpbmcgc2luZ2xldG9uTmFtZSA9ICJzXyIgKyBjbGFzc05hbWUudG9Mb3dlcigp
OwotCi0gICAgc291cmNlU3RyZWFtIDw8ICJjbGFzcyAiIDw8IHByaXZhdGVDbGFzc05hbWUgPDwg
ZW5kbAotICAgICAgICAgICAgICAgICA8PCAieyIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8
PCAicHVibGljOiIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJbmRlbnQoIDEg
KSA8PCBwcml2YXRlQ2xhc3NOYW1lIDw8ICIoKSIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8
PCBjcmVhdGVJbmRlbnQoIDIgKSA8PCAiOiAiOwotCi0gICAgc291cmNlU3RyZWFtIDw8IGNsYXNz
TmFtZS50b0xvd2VyKCkgPDwgIl9uYW1lc3BhY2UoIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwg
b250b05hbWVzcGFjZSA8PCAiXCIsIFFVcmw6OlN0cmljdE1vZGUgKSApLCIgPDwgZW5kbDsKLQot
ICAgIGlmICggIW5ybEdyYXBoLmlzRW1wdHkoKSApCi0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBj
cmVhdGVJbmRlbnQoIDIgKSA8PCAiICBucmxPbnRvbG9neUdyYXBoKCBRVXJsOjpmcm9tRW5jb2Rl
ZCggXCIiIDw8IG5ybEdyYXBoLnRvU3RyaW5nKCkgPDwgIlwiLCBRVXJsOjpTdHJpY3RNb2RlICkg
KSwiIDw8IGVuZGw7Ci0KLSAgICBmb3IoIFFNYXA8UVN0cmluZywgUVBhaXI8UVN0cmluZywgUVN0
cmluZz4gPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBub3JtYWxpemVkUmVzb3VyY2VzLmNvbnN0QmVn
aW4oKTsKLSAgICAgICAgIGl0ICE9IG5vcm1hbGl6ZWRSZXNvdXJjZXMuY29uc3RFbmQoKTsgKytp
dCApIHsKLSAgICAgICAgUVN0cmluZyB1cmkgPSBpdC5rZXkoKTsKLSAgICAgICAgUVN0cmluZyBu
YW1lID0gbm9ybWFsaXplTmFtZSggaXQudmFsdWUoKS5maXJzdCApOwotCi0gICAgICAgIHNvdXJj
ZVN0cmVhbSA8PCBjcmVhdGVJbmRlbnQoIDIgKSA8PCAiICAiIDw8IGNsYXNzTmFtZS50b0xvd2Vy
KCkgPDwgIl8iIDw8IG5hbWUgPDwgIiggUVVybDo6ZnJvbUVuY29kZWQoIFwiIiA8PCB1cmkgPDwg
IlwiLCBRVXJsOjpTdHJpY3RNb2RlICkgKSI7Ci0KLSAgICAgICAgKytpdDsKLSAgICAgICAgaWYg
KCBpdCAhPSBub3JtYWxpemVkUmVzb3VyY2VzLmNvbnN0RW5kKCkgKSB7Ci0gICAgICAgICAgICBz
b3VyY2VTdHJlYW0gPDwgIiwiIDw8IGVuZGw7Ci0gICAgICAgIH0KLSAgICAgICAgLS1pdDsKLSAg
ICB9Ci0KLSAgICBzb3VyY2VTdHJlYW0gPDwgIiB7IiA8PCBlbmRsCi0gICAgICAgICAgICAgICAg
IDw8IGNyZWF0ZUluZGVudCggMSApIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7Ci0KLSAgICBzb3Vy
Y2VTdHJlYW0gPDwgY3JlYXRlSW5kZW50KCAxICkgPDwgIlFVcmwgIiA8PCBjbGFzc05hbWUudG9M
b3dlcigpIDw8ICJfbmFtZXNwYWNlOyIgPDwgZW5kbDsKLQotICAgIGlmICggIW5ybEdyYXBoLmlz
RW1wdHkoKSApCi0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBjcmVhdGVJbmRlbnQoIDEgKSA8PCAi
UVVybCBucmxPbnRvbG9neUdyYXBoOyIgPDwgZW5kbDsKLQotICAgIGZvciggUU1hcDxRU3RyaW5n
LCBRUGFpcjxRU3RyaW5nLCBRU3RyaW5nPiA+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG5vcm1hbGl6
ZWRSZXNvdXJjZXMuY29uc3RCZWdpbigpOwotICAgICAgICAgaXQgIT0gbm9ybWFsaXplZFJlc291
cmNlcy5jb25zdEVuZCgpOyArK2l0ICkgewotICAgICAgICBRU3RyaW5nIG5hbWUgPSBub3JtYWxp
emVOYW1lKCBpdC52YWx1ZSgpLmZpcnN0ICk7Ci0gICAgICAgIHNvdXJjZVN0cmVhbSA8PCBjcmVh
dGVJbmRlbnQoIDEgKSA8PCAiUVVybCAiIDw8IGNsYXNzTmFtZS50b0xvd2VyKCkgPDwgIl8iIDw8
IG5hbWUgPDwgIjsiIDw8IGVuZGw7Ci0gICAgfQotICAgIHNvdXJjZVN0cmVhbSA8PCAifTsiIDw8
IGVuZGwgPDwgZW5kbDsKLQotICAgIHNvdXJjZVN0cmVhbSA8PCAiUV9HTE9CQUxfU1RBVElDKCAi
IDw8IHByaXZhdGVDbGFzc05hbWUgPDwgIiwgIiA8PCBzaW5nbGV0b25OYW1lIDw8ICIgKSIgPDwg
ZW5kbCA8PCBlbmRsOwotCiAgICAgc291cmNlU3RyZWFtIDw8ICJRVXJsICI7CiAgICAgaWYgKCAh
bmFtZXNwYWNlTmFtZS5pc0VtcHR5KCkgKSB7CiAgICAgICAgIHNvdXJjZVN0cmVhbSA8PCBuYW1l
c3BhY2VOYW1lIDw8ICI6OiI7CiAgICAgfQogICAgIHNvdXJjZVN0cmVhbSA8PCBjbGFzc05hbWUg
PDwgIjo6IiA8PCBjbGFzc05hbWUudG9Mb3dlcigpIDw8ICJOYW1lc3BhY2UoKSIgPDwgZW5kbAog
ICAgICAgICAgICAgICAgICA8PCAieyIgPDwgZW5kbAotICAgICAgICAgICAgICAgICA8PCBjcmVh
dGVJbmRlbnQoIDEgKSA8PCAicmV0dXJuICIgPDwgc2luZ2xldG9uTmFtZSA8PCAiKCktPiIgPDwg
Y2xhc3NOYW1lLnRvTG93ZXIoKSA8PCAiX25hbWVzcGFjZTsiIDw8IGVuZGwKKyAgICAgICAgICAg
ICAgICAgPDwgY3JlYXRlSW5kZW50KCAxICkgPDwgInJldHVybiBRVXJsOjpmcm9tRW5jb2RlZCgg
XCIiIDw8IG9udG9OYW1lc3BhY2UgPDwgIlwiLCBRVXJsOjpTdHJpY3RNb2RlICk7IiA8PCBlbmRs
CiAgICAgICAgICAgICAgICAgIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7CiAKICAgICBpZiAoICFu
cmxHcmFwaC5pc0VtcHR5KCkgKSB7CkBAIC00OTgsMTIgKzQ1NCwxMyBAQCBpbnQgbWFpbiggaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSApCiAgICAgICAgIH0KICAgICAgICAgc291cmNlU3RyZWFtIDw8
IGNsYXNzTmFtZSA8PCAiOjpucmxPbnRvbG9neUdyYXBoKCkiIDw8IGVuZGwKICAgICAgICAgICAg
ICAgICAgICAgIDw8ICJ7IiA8PCBlbmRsCi0gICAgICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJ
bmRlbnQoIDEgKSA8PCAicmV0dXJuICIgPDwgc2luZ2xldG9uTmFtZSA8PCAiKCktPm5ybE9udG9s
b2d5R3JhcGg7IiA8PCBlbmRsCisgICAgICAgICAgICAgICAgICAgICA8PCBjcmVhdGVJbmRlbnQo
IDEgKSA8PCAicmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwgbnJsR3JhcGgudG9TdHJp
bmcoKSA8PCAiXCIsIFFVcmw6OlN0cmljdE1vZGUgKTsiIDw8IGVuZGwKICAgICAgICAgICAgICAg
ICAgICAgIDw8ICJ9IiA8PCBlbmRsIDw8IGVuZGw7CiAgICAgfQogCiAgICAgZm9yKCBRTWFwPFFT
dHJpbmcsIFFQYWlyPFFTdHJpbmcsIFFTdHJpbmc+ID46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbm9y
bWFsaXplZFJlc291cmNlcy5jb25zdEJlZ2luKCk7CiAgICAgICAgICBpdCAhPSBub3JtYWxpemVk
UmVzb3VyY2VzLmNvbnN0RW5kKCk7ICsraXQgKSB7CisgICAgICAgIFFTdHJpbmcgdXJpID0gaXQu
a2V5KCk7CiAgICAgICAgIFFTdHJpbmcgbmFtZSA9IG5vcm1hbGl6ZU5hbWUoIGl0LnZhbHVlKCku
Zmlyc3QgKTsKIAogICAgICAgICBzb3VyY2VTdHJlYW0gPDwgIlFVcmwgIjsKQEAgLTUxNCw3ICs0
NzEsNyBAQCBpbnQgbWFpbiggaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSApCiAKICAgICAgICAgc291
cmNlU3RyZWFtIDw8IGNsYXNzTmFtZSA8PCAiOjoiIDw8IGRpc2FtYmlndWF0ZUtleXdvcmQoIG5h
bWUsIGNsYXNzTmFtZSApIDw8ICIoKSIgPDwgZW5kbAogICAgICAgICAgICAgICAgICAgICAgPDwg
InsiIDw8IGVuZGwKLSAgICAgICAgICAgICAgICAgICAgIDw8IGNyZWF0ZUluZGVudCggMSApIDw8
ICJyZXR1cm4gIiA8PCBzaW5nbGV0b25OYW1lIDw8ICIoKS0+IiA8PCBjbGFzc05hbWUudG9Mb3dl
cigpIDw8ICJfIiA8PCBuYW1lIDw8ICI7IiA8PCBlbmRsCisgICAgICAgICAgICAgICAgICAgICA8
PCBjcmVhdGVJbmRlbnQoIDEgKSA8PCAicmV0dXJuIFFVcmw6OmZyb21FbmNvZGVkKCBcIiIgPDwg
dXJpIDw8ICJcIiwgUVVybDo6U3RyaWN0TW9kZSApOyIgPDwgZW5kbAogICAgICAgICAgICAgICAg
ICAgICAgPDwgIn0iIDw8IGVuZGw7CiAKICAgICAgICAgKytpdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63820</attachid>
            <date>2011-09-21 14:30:35 +0000</date>
            <delta_ts>2011-09-21 14:30:35 +0000</delta_ts>
            <desc>New crash information added by DrKonqi</desc>
            <filename>drkonqireport</filename>
            <type>text/plain</type>
            <size>5922</size>
            <attacher name="Vivek Umasuthan">vivekumasuthan</attacher>
            
              <data encoding="base64">QXBwbGljYXRpb246IG5lcG9tdWtzZXJ2aWNlc3R1YiAoMC4yKQpLREUgUGxhdGZvcm0gVmVyc2lv
bjogNC42LjIgKDQuNi4yKQpRdCBWZXJzaW9uOiA0LjcuMgpPcGVyYXRpbmcgU3lzdGVtOiBMaW51
eCAyLjYuMzgtMTEtZ2VuZXJpYyB4ODZfNjQKRGlzdHJpYnV0aW9uOiBVYnVudHUgMTEuMDQKCi0t
IEluZm9ybWF0aW9uIGFib3V0IHRoZSBjcmFzaDoKLSBXaGF0IEkgd2FzIGRvaW5nIHdoZW4gdGhl
IGFwcGxpY2F0aW9uIGNyYXNoZWQ6CgpUaGUgc3lzdGVtIGJvb3RlZCB1cCBhbmQgRG9scGhpbiBz
dGFydGVkIGF1dG9tYXRpY2FsbHkuIFRoZSBOZXBvbXVrIHN0dWIgY3Jhc2hlZCByaWdodCBhZnRl
ciB0aGF0LiBJIGhhZG4ndCBldmVuIHRvdWNoZWQgdGhlIGtleWJvYXJkIG9yIG1vdXNlLgoKLS0g
QmFja3RyYWNlOgpBcHBsaWNhdGlvbjogTmVwb211ayBTZXJ2aWNlIFN0dWIgKG5lcG9tdWtzZXJ2
aWNlc3R1YiksIHNpZ25hbDogQWJvcnRlZApfX2xsbF9sb2NrX3dhaXRfcHJpdmF0ZSAoKSBhdCAu
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9sb3dsZXZlbGxvY2suUzo5NwoJ
aW4gLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvbG93bGV2ZWxsb2NrLlMK
W0N1cnJlbnQgdGhyZWFkIGlzIDEgKFRocmVhZCAweDdmZjJkZWFjNDc4MCAoTFdQIDE5NzQpKV0K
ClRocmVhZCAyIChUaHJlYWQgMHg3ZmYyY2RiYWU3MDAgKExXUCAxOTk4KSk6CltLQ3Jhc2ggSGFu
ZGxlcl0KIzYgIDB4MDAwMDdmZjJkYzBkNmQwNSBpbiByYWlzZSAoc2lnPTYpIGF0IC4uL25wdGwv
c3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYzo2NAojNyAgMHgwMDAwN2ZmMmRjMGRhYWI2
IGluIGFib3J0ICgpIGF0IGFib3J0LmM6OTIKIzggIDB4MDAwMDdmZjJkYzEwZmQ3YiBpbiBfX2xp
YmNfbWVzc2FnZSAoZG9fYWJvcnQ9MiwgZm10PTB4N2ZmMmRjMWY4NDAwICIqKiogZ2xpYmMgZGV0
ZWN0ZWQgKioqICVzOiAlczogMHglcyAqKipcbiIpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L2xpYmNfZmF0YWwuYzoxODkKIzkgIDB4MDAwMDdmZjJkYzExOWJiNiBpbiBtYWxsb2NfcHJp
bnRlcnIgKGFjdGlvbj0zLCBzdHI9MHg3ZmYyZGMxZjg5ODAgIm1hbGxvYygpOiBtZW1vcnkgY29y
cnVwdGlvbiAoZmFzdCkiLCBwdHI9PHZhbHVlIG9wdGltaXplZCBvdXQ+KSBhdCBtYWxsb2MuYzo2
MjgzCiMxMCAweDAwMDA3ZmYyZGMxMWNlNzggaW4gX2ludF9tYWxsb2MgKGF2PTB4N2ZmMmM4MDAw
MDIwLCBieXRlcz08dmFsdWUgb3B0aW1pemVkIG91dD4pIGF0IG1hbGxvYy5jOjQzMDgKIzExIDB4
MDAwMDdmZjJkYzExZjMxZSBpbiBfX2xpYmNfbWFsbG9jIChieXRlcz01NSkgYXQgbWFsbG9jLmM6
MzY2MAojMTIgMHgwMDAwN2ZmMmRlNGM1MDM2IGluIFFCeXRlQXJyYXk6OlFCeXRlQXJyYXkgKHRo
aXM9MHg3ZmYyY2RiYWM2NzAsIGRhdGE9MHgxYWJjZGRmICJ3d3cuc2VtYW50aWNkZXNrdG9wLm9y
Zy9vbnRvbG9naWVzLzIwMDcvMDgvMTUvbmFvI2hhc1N5bWJvbCIsIHNpemU9MjMpIGF0IHRvb2xz
L3FieXRlYXJyYXkuY3BwOjEzMDYKIzEzIDB4MDAwMDdmZjJkZTU2MGEyNSBpbiBRVXJsUHJpdmF0
ZTo6cGFyc2UgKHRoaXM9MHgxYWJjZTMwLCBwYXJzZU9wdGlvbnM9UVVybFByaXZhdGU6OlBhcnNl
QW5kU2V0KSBhdCBpby9xdXJsLmNwcDozODM2CiMxNCAweDAwMDA3ZmYyZGU1NmMyNGIgaW4gUVVy
bDo6b3BlcmF0b3I9PSAodGhpcz0weDdmZjJjZGJhYzg5MCwgdXJsPS4uLikgYXQgaW8vcXVybC5j
cHA6NTk1OAojMTUgMHgwMDAwN2ZmMmRkNDQ3YzMyIGluIE5lcG9tdWs6OlR5cGVzOjpFbnRpdHlQ
cml2YXRlOjpsb2FkICh0aGlzPTB4MTllYmQ5MCkgYXQgLi4vLi4vbmVwb211ay90eXBlcy9lbnRp
dHkuY3BwOjk5CiMxNiAweDAwMDA3ZmYyZGQ0NDY5NjEgaW4gTmVwb211azo6VHlwZXM6OkVudGl0
eVByaXZhdGU6OmluaXQgKHRoaXM9MHgxOWViZDkwKSBhdCAuLi8uLi9uZXBvbXVrL3R5cGVzL2Vu
dGl0eS5jcHA6NTEKIzE3IDB4MDAwMDdmZjJkZDQ0ZTBkNyBpbiBOZXBvbXVrOjpUeXBlczo6UHJv
cGVydHk6Om1heENhcmRpbmFsaXR5ICh0aGlzPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0PikgYXQgLi4v
Li4vbmVwb211ay90eXBlcy9wcm9wZXJ0eS5jcHA6Mzg0CiMxOCAweDAwMDA3ZmYyZDRkMzc3MDAg
aW4gdW5pcXVlVmFyTmFtZSAodGhpcz0weDFhYzRkMjAsIHFiZD0weDdmZjJjZGJhZDMxMCkgYXQg
Li4vLi4vLi4vbmVwb211ay9xdWVyeS9xdWVyeWJ1aWxkZXJkYXRhX3AuaDoxMjEKIzE5IE5lcG9t
dWs6OlF1ZXJ5OjpDb21wYXJpc29uVGVybVByaXZhdGU6OmdldE1haW5WYXJpYWJsZU5hbWUgKHRo
aXM9MHgxYWM0ZDIwLCBxYmQ9MHg3ZmYyY2RiYWQzMTApIGF0IC4uLy4uLy4uL25lcG9tdWsvcXVl
cnkvY29tcGFyaXNvbnRlcm0uY3BwOjM1NwojMjAgMHgwMDAwN2ZmMmQ0ZDM3ZThkIGluIE5lcG9t
dWs6OlF1ZXJ5OjpDb21wYXJpc29uVGVybVByaXZhdGU6OnRvU3BhcnFsR3JhcGhQYXR0ZXJuICh0
aGlzPTB4MWFjNGQyMCwgcmVzb3VyY2VWYXJOYW1lPS4uLiwgcWJkPTB4N2ZmMmNkYmFkMzEwKSBh
dCAuLi8uLi8uLi9uZXBvbXVrL3F1ZXJ5L2NvbXBhcmlzb250ZXJtLmNwcDoxNDIKIzIxIDB4MDAw
MDdmZjJkNGQzNWUzNiBpbiBOZXBvbXVrOjpRdWVyeTo6QW5kVGVybVByaXZhdGU6OnRvU3BhcnFs
R3JhcGhQYXR0ZXJuICh0aGlzPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0PiwgcmVzb3VyY2VWYXJOYW1l
PS4uLiwgcWJkPTB4N2ZmMmNkYmFkMzEwKSBhdCAuLi8uLi8uLi9uZXBvbXVrL3F1ZXJ5L2FuZHRl
cm0uY3BwOjM0CiMyMiAweDAwMDA3ZmYyZDRkNDAzMTggaW4gTmVwb211azo6UXVlcnk6OlF1ZXJ5
Ojp0b1NwYXJxbFF1ZXJ5ICh0aGlzPTB4MWE2ZjI5OCwgc3BhcnFsRmxhZ3M9Li4uKSBhdCAuLi8u
Li8uLi9uZXBvbXVrL3F1ZXJ5L3F1ZXJ5LmNwcDo0NjYKIzIzIDB4MDAwMDdmZjJjZTNmMzNkYiBp
biA/PyAoKSBmcm9tIC91c3IvbGliL2tkZTQvbmVwb211a3F1ZXJ5c2VydmljZS5zbwojMjQgMHgw
MDAwN2ZmMmNlM2Y2MTU3IGluID8/ICgpIGZyb20gL3Vzci9saWIva2RlNC9uZXBvbXVrcXVlcnlz
ZXJ2aWNlLnNvCiMyNSAweDAwMDA3ZmYyZGU0YjgxODggaW4gUVRocmVhZFBvb2xUaHJlYWQ6OnJ1
biAodGhpcz0weDFhYmFlYzApIGF0IGNvbmN1cnJlbnQvcXRocmVhZHBvb2wuY3BwOjEwNgojMjYg
MHgwMDAwN2ZmMmRlNGMzMTc1IGluIFFUaHJlYWRQcml2YXRlOjpzdGFydCAoYXJnPTB4MWFiYWVj
MCkgYXQgdGhyZWFkL3F0aHJlYWRfdW5peC5jcHA6MzIwCiMyNyAweDAwMDA3ZmYyZGJlOGJkOGMg
aW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmYyY2RiYWU3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6
MzA0CiMyOCAweDAwMDA3ZmYyZGMxODkwNGQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTEyCiMyOSAweDAwMDAwMDAwMDAwMDAwMDAgaW4g
Pz8gKCkKClRocmVhZCAxIChUaHJlYWQgMHg3ZmYyZGVhYzQ3ODAgKExXUCAxOTc0KSk6CiMwICBf
X2xsbF9sb2NrX3dhaXRfcHJpdmF0ZSAoKSBhdCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9sb3dsZXZlbGxvY2suUzo5NwojMSAgMHgwMDAwN2ZmMmRjMTIxODBmIGluIF9M
X2xvY2tfMTIwMTMgKCkgZnJvbSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42CiMyICAw
eDAwMDA3ZmYyZGMxMWY4ZDggaW4gX19saWJjX2ZyZWUgKG1lbT0weDdmZjJjODAwMDAyMCkgYXQg
bWFsbG9jLmM6MzczNgojMyAgMHgwMDAwN2ZmMmRlNTYxOGRjIGluIH5RQnl0ZUFycmF5ICh0aGlz
PTx2YWx1ZSBvcHRpbWl6ZWQgb3V0PiwgX19pbl9jaHJnPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0Pikg
YXQgLi4vLi4vaW5jbHVkZS9RdENvcmUvLi4vLi4vc3JjL2NvcmVsaWIvdG9vbHMvcWJ5dGVhcnJh
eS5oOjM4MwojNCAgflFVcmxQcml2YXRlICh0aGlzPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0PiwgX19p
bl9jaHJnPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0PikgYXQgaW8vcXVybC5jcHA6Mjk0CiM1ICBRVXJs
Ojp+UVVybCAodGhpcz08dmFsdWUgb3B0aW1pemVkIG91dD4sIF9faW5fY2hyZz08dmFsdWUgb3B0
aW1pemVkIG91dD4pIGF0IGlvL3F1cmwuY3BwOjQxODYKIzYgIDB4MDAwMDdmZjJkOGZjNzgwOSBp
biA/PyAoKSBmcm9tIC91c3IvbGliL2xpYnNvcHJhbm8uc28uNAojNyAgMHgwMDAwN2ZmMmRjMGRj
OTYxIGluIF9fcnVuX2V4aXRfaGFuZGxlcnMgKHN0YXR1cz0xKSBhdCBleGl0LmM6NzgKIzggIGV4
aXQgKHN0YXR1cz0xKSBhdCBleGl0LmM6MTAwCiM5ICAweDAwMDA3ZmYyZGM5NjJmYjggaW4gcXRf
eGlvX2VycmhhbmRsZXIgKCkgYXQga2VybmVsL3FhcHBsaWNhdGlvbl94MTEuY3BwOjc4MQojMTAg
MHgwMDAwN2ZmMmRkOGU3NjM4IGluIEtBcHBsaWNhdGlvbjo6eGlvRXJyaGFuZGxlciAodGhpcz0w
eDdmZmY2Y2QyNjY4MCwgZHB5PTB4MTk3NzhjMCkgYXQgLi4vLi4va2RldWkva2VybmVsL2thcHBs
aWNhdGlvbi5jcHA6NDE5CiMxMSAweDAwMDA3ZmYyZDliY2RkZWUgaW4gX1hJT0Vycm9yICgpIGZy
b20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojMTIgMHgwMDAwN2ZmMmQ5
YmNiNjJkIGluIF9YRXZlbnRzUXVldWVkICgpIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu
dS9saWJYMTEuc28uNgojMTMgMHgwMDAwN2ZmMmQ5YmJiZjFmIGluIFhFdmVudHNRdWV1ZWQgKCkg
ZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiMxNCAweDAwMDA3ZmYy
ZGM5YTAzMmMgaW4geDExRXZlbnRTb3VyY2VDaGVjayAocz0weDE5NTBmMTApIGF0IGtlcm5lbC9x
Z3VpZXZlbnRkaXNwYXRjaGVyX2dsaWIuY3BwOjg1CiMxNSAweDAwMDA3ZmYyZGIzYWY4NTQgaW4g
Z19tYWluX2NvbnRleHRfY2hlY2sgKCkgZnJvbSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliZ2xp
Yi0yLjAuc28uMAojMTYgMHgwMDAwN2ZmMmRiM2IwMTIyIGluID8/ICgpIGZyb20gL2xpYi94ODZf
NjQtbGludXgtZ251L2xpYmdsaWItMi4wLnNvLjAKIzE3IDB4MDAwMDdmZjJkYjNiMDYzOSBpbiBn
X21haW5fY29udGV4dF9pdGVyYXRpb24gKCkgZnJvbSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGli
Z2xpYi0yLjAuc28uMAojMTggMHgwMDAwN2ZmMmRlNWQ1M2VmIGluIFFFdmVudERpc3BhdGNoZXJH
bGliOjpwcm9jZXNzRXZlbnRzICh0aGlzPTB4MTkwNjRhMCwgZmxhZ3M9PHZhbHVlIG9wdGltaXpl
ZCBvdXQ+KSBhdCBrZXJuZWwvcWV2ZW50ZGlzcGF0Y2hlcl9nbGliLmNwcDo0MjIKIzE5IDB4MDAw
MDdmZjJkYzlhMDRkZSBpbiBRR3VpRXZlbnREaXNwYXRjaGVyR2xpYjo6cHJvY2Vzc0V2ZW50cyAo
dGhpcz08dmFsdWUgb3B0aW1pemVkIG91dD4sIGZsYWdzPTx2YWx1ZSBvcHRpbWl6ZWQgb3V0Pikg
YXQga2VybmVsL3FndWlldmVudGRpc3BhdGNoZXJfZ2xpYi5jcHA6MjA0CiMyMCAweDAwMDA3ZmYy
ZGU1YTk4ODIgaW4gUUV2ZW50TG9vcDo6cHJvY2Vzc0V2ZW50cyAodGhpcz08dmFsdWUgb3B0aW1p
emVkIG91dD4sIGZsYWdzPS4uLikgYXQga2VybmVsL3FldmVudGxvb3AuY3BwOjE0OQojMjEgMHgw
MDAwN2ZmMmRlNWE5YWJjIGluIFFFdmVudExvb3A6OmV4ZWMgKHRoaXM9MHg3ZmZmNmNkMjY0OTAs
IGZsYWdzPS4uLikgYXQga2VybmVsL3FldmVudGxvb3AuY3BwOjIwMQojMjIgMHgwMDAwN2ZmMmRl
NWFkZWNiIGluIFFDb3JlQXBwbGljYXRpb246OmV4ZWMgKCkgYXQga2VybmVsL3Fjb3JlYXBwbGlj
YXRpb24uY3BwOjEwMDgKIzIzIDB4MDAwMDAwMDAwMDQwM2MzZiBpbiBfc3RhcnQgKCkKClBvc3Np
YmxlIGR1cGxpY2F0ZXMgYnkgcXVlcnk6IGJ1ZyAyODIyNzcsIGJ1ZyAyODIxMjQsIGJ1ZyAyODE5
MzAsIGJ1ZyAyODE4NjgsIGJ1ZyAyODE1ODcuCgpSZXBvcnRlZCB1c2luZyBEcktvbnFp
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>65279</attachid>
            <date>2011-11-06 02:56:16 +0000</date>
            <delta_ts>2011-11-06 02:56:16 +0000</delta_ts>
            <desc>New crash information added by DrKonqi</desc>
            <filename>drkonqireport</filename>
            <type>text/plain</type>
            <size>5344</size>
            <attacher name="Steven Sroka">Sroka.Steven</attacher>
            
              <data encoding="base64">QXBwbGljYXRpb246IG5lcG9tdWtzZXJ2aWNlc3R1YiAoMC4yKQpLREUgUGxhdGZvcm0gVmVyc2lv
bjogNC43LjIgKDQuNy4yKQpRdCBWZXJzaW9uOiA0LjcuNApPcGVyYXRpbmcgU3lzdGVtOiBMaW51
eCAzLjAuMC0xMi1nZW5lcmljIHg4Nl82NApEaXN0cmlidXRpb246IFVidW50dSAxMS4xMAoKLS0g
SW5mb3JtYXRpb24gYWJvdXQgdGhlIGNyYXNoOgotIFdoYXQgSSB3YXMgZG9pbmcgd2hlbiB0aGUg
YXBwbGljYXRpb24gY3Jhc2hlZDoKCkkgd2FzIGJyb3dzaW5nIHRocm91Z2ggbXkgbG9jYWwgZmls
ZXN5c3RlbSB3aXRoIERvbHBoaW4uCgotLSBCYWNrdHJhY2U6CkFwcGxpY2F0aW9uOiBOZXBvbXVr
IFNlcnZpY2UgU3R1YiAobmVwb211a3NlcnZpY2VzdHViKSwgc2lnbmFsOiBTZWdtZW50YXRpb24g
ZmF1bHQKX19sbGxfbG9ja193YWl0X3ByaXZhdGUgKCkgYXQgLi4vbnB0bC9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvbG93bGV2ZWxsb2NrLlM6OTcKCWluIC4uL25wdGwvc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L2xvd2xldmVsbG9jay5TCltDdXJyZW50IHRocmVhZCBpcyAx
IChUaHJlYWQgMHg3Zjc5MmNhYTc3ODAgKExXUCAxNjI0KSldCgpUaHJlYWQgMyAoVGhyZWFkIDB4
N2Y3OTFjZTU1NzAwIChMV1AgMjcyMykpOgojMCAgX19sbGxfbG9ja193YWl0X3ByaXZhdGUgKCkg
YXQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvbG93bGV2ZWxsb2NrLlM6
OTcKIzEgIDB4MDAwMDdmNzkyYTA5MTlkZiBpbiBfTF9sb2NrXzEwNTAxICgpIGZyb20gL2xpYi94
ODZfNjQtbGludXgtZ251L2xpYmMuc28uNgojMiAgMHgwMDAwN2Y3OTJhMDhmZDcxIGluIF9fR0lf
X19saWJjX2ZyZWUgKG1lbT0weDdmNzkyYTNhZDFjMCkgYXQgbWFsbG9jLmM6MzczNgojMyAgMHgw
MDAwN2Y3OTJjNDk2OTgyIGluIFFCeXRlQXJyYXk6Om9wZXJhdG9yPSAodGhpcz0weDE3MjZkODgs
IG90aGVyPS4uLikgYXQgdG9vbHMvcWJ5dGVhcnJheS5jcHA6ODY5CiM0ICAweDAwMDA3Zjc5MmM1
MzU4ZTMgaW4gUVVybFByaXZhdGU6OnBhcnNlICh0aGlzPTB4MTcyNmQzMCwgcGFyc2VPcHRpb25z
PVFVcmxQcml2YXRlOjpQYXJzZUFuZFNldCkgYXQgaW8vcXVybC5jcHA6Mzg0MQojNSAgMHgwMDAw
N2Y3OTJjNTM5OTNjIGluIFFVcmxQcml2YXRlOjp0b0VuY29kZWQgKHRoaXM9MHgxNzI2ZDMwLCBv
cHRpb25zPS4uLikgYXQgaW8vcXVybC5jcHA6MzkwMAojNiAgMHgwMDAwN2Y3OTJjNTM5ZmFkIGlu
IFFVcmw6OnRvRW5jb2RlZCAodGhpcz08b3B0aW1pemVkIG91dD4sIG9wdGlvbnM9PG9wdGltaXpl
ZCBvdXQ+KSBhdCBpby9xdXJsLmNwcDo1NjkyCiM3ICAweDAwMDA3Zjc5MjZjZjViYjAgaW4gU29w
cmFubzo6Tm9kZTo6cmVzb3VyY2VUb04zKFFVcmwgY29uc3QmKSAoKSBmcm9tIC91c3IvbGliL2xp
YnNvcHJhbm8uc28uNAojOCAgMHgwMDAwN2Y3OTFkNmI0NzFiIGluIE5lcG9tdWs6OlF1ZXJ5OjpR
dWVyeTo6dG9TcGFycWxRdWVyeSAodGhpcz0weDE2MDViYTgsIHNwYXJxbEZsYWdzPS4uLikgYXQg
Li4vLi4vLi4vbmVwb211ay9xdWVyeS9xdWVyeS5jcHA6NDY4CiM5ICAweDAwMDA3Zjc5MWQ4ZTI2
OWIgaW4gPz8gKCkgZnJvbSAvdXNyL2xpYi9rZGU0L25lcG9tdWtxdWVyeXNlcnZpY2Uuc28KIzEw
IDB4MDAwMDdmNzkxZDhlNWE5YiBpbiA/PyAoKSBmcm9tIC91c3IvbGliL2tkZTQvbmVwb211a3F1
ZXJ5c2VydmljZS5zbwojMTEgMHgwMDAwN2Y3OTJjNDg5Nzk1IGluIFFUaHJlYWRQb29sVGhyZWFk
OjpydW4gKHRoaXM9MHgxNzIxNTcwKSBhdCBjb25jdXJyZW50L3F0aHJlYWRwb29sLmNwcDoxMDYK
IzEyIDB4MDAwMDdmNzkyYzQ5NGQwNSBpbiBRVGhyZWFkUHJpdmF0ZTo6c3RhcnQgKGFyZz0weDE3
MjE1NzApIGF0IHRocmVhZC9xdGhyZWFkX3VuaXguY3BwOjMzMQojMTMgMHgwMDAwN2Y3OTI5ZGZk
ZWZjIGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2Y3OTFjZTU1NzAwKSBhdCBwdGhyZWFkX2NyZWF0
ZS5jOjMwNAojMTQgMHgwMDAwN2Y3OTJhMGY0ODlkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExMgojMTUgMHgwMDAwMDAwMDAwMDAwMDAw
IGluID8/ICgpCgpUaHJlYWQgMiAoVGhyZWFkIDB4N2Y3OTE3ZmZmNzAwIChMV1AgMjcyNCkpOgpb
S0NyYXNoIEhhbmRsZXJdCiM2ICBfaW50X2ZyZWUgKGF2PTB4N2Y3OTJhM2FkMWMwLCBwPTB4MTcy
MzRiMCkgYXQgbWFsbG9jLmM6NDg5MgojNyAgMHgwMDAwN2Y3OTJhMDhmZDdjIGluIF9fR0lfX19s
aWJjX2ZyZWUgKG1lbT08b3B0aW1pemVkIG91dD4pIGF0IG1hbGxvYy5jOjM3MzgKIzggIDB4MDAw
MDdmNzkyYzRkOTBhYyBpbiBRU3RyaW5nOjpmcmVlIChkPTB4MTcyMzRjMCkgYXQgdG9vbHMvcXN0
cmluZy5jcHA6MTE4NgojOSAgMHgwMDAwN2Y3OTJjNTM4YTdhIGluIH5RU3RyaW5nICh0aGlzPTB4
N2Y3OTE3ZmZlMjAwLCBfX2luX2Nocmc9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9pbmNsdWRl
L1F0Q29yZS8uLi8uLi9zcmMvY29yZWxpYi90b29scy9xc3RyaW5nLmg6ODgzCiMxMCBRVXJsUHJp
dmF0ZTo6Y2Fub25pY2FsSG9zdCAodGhpcz0weDE3MjZkMzApIGF0IGlvL3F1cmwuY3BwOjM0MTgK
IzExIDB4MDAwMDdmNzkyYzUzOGNiMyBpbiBRVXJsUHJpdmF0ZTo6YXV0aG9yaXR5ICh0aGlzPTB4
MTcyNmQzMCwgb3B0aW9ucz0uLi4pIGF0IGlvL3F1cmwuY3BwOjM0ODcKIzEyIDB4MDAwMDdmNzky
YzUzOTlkNSBpbiBRVXJsUHJpdmF0ZTo6dG9FbmNvZGVkICh0aGlzPTB4MTcyNmQzMCwgb3B0aW9u
cz0uLi4pIGF0IGlvL3F1cmwuY3BwOjM5MTMKIzEzIDB4MDAwMDdmNzkyYzUzOWZhZCBpbiBRVXJs
Ojp0b0VuY29kZWQgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBvcHRpb25zPTxvcHRpbWl6ZWQgb3V0
PikgYXQgaW8vcXVybC5jcHA6NTY5MgojMTQgMHgwMDAwN2Y3OTI2Y2Y1YmIwIGluIFNvcHJhbm86
Ok5vZGU6OnJlc291cmNlVG9OMyhRVXJsIGNvbnN0JikgKCkgZnJvbSAvdXNyL2xpYi9saWJzb3By
YW5vLnNvLjQKIzE1IDB4MDAwMDdmNzkxZDZiNDcxYiBpbiBOZXBvbXVrOjpRdWVyeTo6UXVlcnk6
OnRvU3BhcnFsUXVlcnkgKHRoaXM9MHgxNzFkNDQ4LCBzcGFycWxGbGFncz0uLi4pIGF0IC4uLy4u
Ly4uL25lcG9tdWsvcXVlcnkvcXVlcnkuY3BwOjQ2OAojMTYgMHgwMDAwN2Y3OTFkOGUyNjliIGlu
ID8/ICgpIGZyb20gL3Vzci9saWIva2RlNC9uZXBvbXVrcXVlcnlzZXJ2aWNlLnNvCiMxNyAweDAw
MDA3Zjc5MWQ4ZTVhOWIgaW4gPz8gKCkgZnJvbSAvdXNyL2xpYi9rZGU0L25lcG9tdWtxdWVyeXNl
cnZpY2Uuc28KIzE4IDB4MDAwMDdmNzkyYzQ4OTc5NSBpbiBRVGhyZWFkUG9vbFRocmVhZDo6cnVu
ICh0aGlzPTB4MTcyMGRkMCkgYXQgY29uY3VycmVudC9xdGhyZWFkcG9vbC5jcHA6MTA2CiMxOSAw
eDAwMDA3Zjc5MmM0OTRkMDUgaW4gUVRocmVhZFByaXZhdGU6OnN0YXJ0IChhcmc9MHgxNzIwZGQw
KSBhdCB0aHJlYWQvcXRocmVhZF91bml4LmNwcDozMzEKIzIwIDB4MDAwMDdmNzkyOWRmZGVmYyBp
biBzdGFydF90aHJlYWQgKGFyZz0weDdmNzkxN2ZmZjcwMCkgYXQgcHRocmVhZF9jcmVhdGUuYzoz
MDQKIzIxIDB4MDAwMDdmNzkyYTBmNDg5ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMTIKIzIyIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/
PyAoKQoKVGhyZWFkIDEgKFRocmVhZCAweDdmNzkyY2FhNzc4MCAoTFdQIDE2MjQpKToKIzAgIF9f
bGxsX2xvY2tfd2FpdF9wcml2YXRlICgpIGF0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L2xvd2xldmVsbG9jay5TOjk3CiMxICAweDAwMDA3Zjc5MmEwOTE5ZGYgaW4gX0xf
bG9ja18xMDUwMSAoKSBmcm9tIC9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjLnNvLjYKIzIgIDB4
MDAwMDdmNzkyYTA4ZmQ3MSBpbiBfX0dJX19fbGliY19mcmVlIChtZW09MHg3Zjc5MmEzYWQxYzAp
IGF0IG1hbGxvYy5jOjM3MzYKIzMgIDB4MDAwMDdmNzkyYzVhNjY2NSBpbiBzb2NrZXROb3RpZmll
clNvdXJjZUNoZWNrIChzb3VyY2U9MHgxNTViYmQwKSBhdCBrZXJuZWwvcWV2ZW50ZGlzcGF0Y2hl
cl9nbGliLmNwcDo5MgojNCAgMHgwMDAwN2Y3OTI5MzFiNzM0IGluIGdfbWFpbl9jb250ZXh0X2No
ZWNrICgpIGZyb20gL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmdsaWItMi4wLnNvLjAKIzUgIDB4
MDAwMDdmNzkyOTMxYmY4MiBpbiA/PyAoKSBmcm9tIC9saWIveDg2XzY0LWxpbnV4LWdudS9saWJn
bGliLTIuMC5zby4wCiM2ICAweDAwMDA3Zjc5MjkzMWM0MjkgaW4gZ19tYWluX2NvbnRleHRfaXRl
cmF0aW9uICgpIGZyb20gL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmdsaWItMi4wLnNvLjAKIzcg
IDB4MDAwMDdmNzkyYzVhNmVkNiBpbiBRRXZlbnREaXNwYXRjaGVyR2xpYjo6cHJvY2Vzc0V2ZW50
cyAodGhpcz0weDE1MzljZTAsIGZsYWdzPTxvcHRpbWl6ZWQgb3V0PikgYXQga2VybmVsL3FldmVu
dGRpc3BhdGNoZXJfZ2xpYi5jcHA6NDIyCiM4ICAweDAwMDA3Zjc5MmE5NWQwN2UgaW4gUUd1aUV2
ZW50RGlzcGF0Y2hlckdsaWI6OnByb2Nlc3NFdmVudHMgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBm
bGFncz08b3B0aW1pemVkIG91dD4pIGF0IGtlcm5lbC9xZ3VpZXZlbnRkaXNwYXRjaGVyX2dsaWIu
Y3BwOjIwNAojOSAgMHgwMDAwN2Y3OTJjNTdhY2YyIGluIFFFdmVudExvb3A6OnByb2Nlc3NFdmVu
dHMgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBmbGFncz0uLi4pIGF0IGtlcm5lbC9xZXZlbnRsb29w
LmNwcDoxNDkKIzEwIDB4MDAwMDdmNzkyYzU3YWVmNyBpbiBRRXZlbnRMb29wOjpleGVjICh0aGlz
PTB4N2ZmZmYwM2RiNzgwLCBmbGFncz0uLi4pIGF0IGtlcm5lbC9xZXZlbnRsb29wLmNwcDoyMDEK
IzExIDB4MDAwMDdmNzkyYzU3Zjc4OSBpbiBRQ29yZUFwcGxpY2F0aW9uOjpleGVjICgpIGF0IGtl
cm5lbC9xY29yZWFwcGxpY2F0aW9uLmNwcDoxMDY0CiMxMiAweDAwMDAwMDAwMDA0MDM5YTkgaW4g
Pz8gKCkKIzEzIDB4MDAwMDdmNzkyYTAzNDMwZCBpbiBfX2xpYmNfc3RhcnRfbWFpbiAobWFpbj0w
eDQwMzA4MCwgYXJnYz0yLCB1YnBfYXY9MHg3ZmZmZjAzZGJkYjgsIGluaXQ9PG9wdGltaXplZCBv
dXQ+LCBmaW5pPTxvcHRpbWl6ZWQgb3V0PiwgcnRsZF9maW5pPTxvcHRpbWl6ZWQgb3V0Piwgc3Rh
Y2tfZW5kPTB4N2ZmZmYwM2RiZGE4KSBhdCBsaWJjLXN0YXJ0LmM6MjI2CiMxNCAweDAwMDAwMDAw
MDA0MDNjYzkgaW4gX3N0YXJ0ICgpCgpQb3NzaWJsZSBkdXBsaWNhdGVzIGJ5IHF1ZXJ5OiBidWcg
MjgyNzI0LCBidWcgMjgwODI4LgoKUmVwb3J0ZWQgdXNpbmcgRHJLb25xaQ==
</data>

          </attachment>
      

    </bug>

</bugzilla>