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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>26457</bug_id>
          
          <creation_ts>2009-06-16 14:26:55 -0700</creation_ts>
          <short_desc>Build DumpRenderTree under Cairo</short_desc>
          <delta_ts>2009-07-02 21:40:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126289</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-16 14:26:55 -0700</bug_when>
    <thetext>This bug allows the Windows Cairo port of WebKit to build the DumpRenderTree tool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126291</commentid>
    <comment_count>1</comment_count>
      <attachid>31372</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-16 14:27:44 -0700</bug_when>
    <thetext>Created attachment 31372
Rough initial patch

Initial cut.  Not ready for general users, but available for people who wish to try it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127071</commentid>
    <comment_count>2</comment_count>
      <attachid>31577</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-19 16:58:59 -0700</bug_when>
    <thetext>Created attachment 31577
Proposed patch for adding this feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127121</commentid>
    <comment_count>3</comment_count>
      <attachid>31577</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-20 01:42:14 -0700</bug_when>
    <thetext>Comment on attachment 31577
Proposed patch for adding this feature

I would think this would be abstracted into a shared call:
68     printf(&quot;Content-Type: %s\n&quot;, &quot;image/png&quot;);
 69     printf(&quot;Content-Length: %lu\n&quot;, static_cast&lt;unsigned long&gt;(dataLength));
 70 
 71     const size_t bytesToWriteInOneChunk = 1 &lt;&lt; 15;
 72     size_t dataRemainingToWrite = dataLength;
 73     while (dataRemainingToWrite) {
 74         size_t bytesToWriteInThisChunk = min(dataRemainingToWrite, bytesToWriteInOneChunk);
 75         size_t bytesWritten = fwrite(data, 1, bytesToWriteInThisChunk, stdout);
 76         if (bytesWritten != bytesToWriteInThisChunk)
 77             break;
 78         dataRemainingToWrite -= bytesWritten;
 79         data += bytesWritten;
 80     }

Style:
 65     const size_t dataLength = pixeldata.size ();

This part should all be shared:
93     // We need to swap the bytes to ensure consistent hashes independently of endianness
 94     MD5_CTX md5Context;
 95     MD5_Init(&amp;md5Context);
 96     unsigned char* bitmapData = static_cast&lt;unsigned char*&gt;(cairo_image_surface_get_data(surface));
 97     for (unsigned row = 0; row &lt; pixelsHigh; row++) {
 98         MD5_Update(&amp;md5Context, bitmapData, 4 * pixelsWide);
 99         bitmapData += bytesPerRow;
 100     }
 101     unsigned char hash[16];
 102     MD5_Final(hash, &amp;md5Context);
 103 
 104     hashString[0] = &apos;\0&apos;;
 105     for (int i = 0; i &lt; 16; i++)
 106         snprintf(hashString, 33, &quot;%s%02x&quot;, hashString, hash[i]);
 107 }

There seems to be almost nothing cairo-specific about:
 109 void dumpWebViewAsPixelsAndCompareWithExpected(const std::string&amp; expectedHash)


Can we share more code here?  At least can we abstract things into methods which we could share later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129146</commentid>
    <comment_count>4</comment_count>
      <attachid>32087</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-30 13:33:03 -0700</bug_when>
    <thetext>Created attachment 32087
Revised per Eric&apos;s comments.

Moved shared Cairo/CG logic to parent file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129147</commentid>
    <comment_count>5</comment_count>
      <attachid>32088</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-30 13:35:57 -0700</bug_when>
    <thetext>Created attachment 32088
Xcode change for Mac build.

The new PixelDumpSupport.cpp file is needed by the Mac build as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129150</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-30 13:42:12 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 31577 [review])
&gt; This part should all be shared:
&gt; 93     // We need to swap the bytes to ensure consistent hashes independently
&gt; of endianness
&gt;  94     MD5_CTX md5Context;
&gt;  95     MD5_Init(&amp;md5Context);

I tried to share this, but this routine in shared between Cairo, CG (Windows), and CG (Mac).  On CG (Mac) there are some additional checks and endian handling that change the structure of this function a bit.

For now, I&apos;d prefer to leave this alone (all CG share one version, Cairo uses another), at least until I can start getting some build and run feedback from GTK users to determine if similar endianness logic is warranted.

Otherwise, I have made the changes you suggested.

I&apos;ve also tested the Mac version with these changes and confirmed it works properly on the LayoutTests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129513</commentid>
    <comment_count>7</comment_count>
      <attachid>32088</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-07-02 09:34:15 -0700</bug_when>
    <thetext>Comment on attachment 32088
Xcode change for Mac build.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129516</commentid>
    <comment_count>8</comment_count>
      <attachid>32087</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-07-02 09:47:21 -0700</bug_when>
    <thetext>Comment on attachment 32087
Revised per Eric&apos;s comments.

&gt; +2009-06-30  U-bfulgham-PC\bfulgham  &lt;bfulgham@webkit.org&gt;

Looks like you need to set REAL_NAME on this computer.

&gt; +        * DumpRenderTree/PixelDumpSupport.cpp: Added.
&gt; +        (dumpWebViewAsPixelsAndCompareWithExpected):
&gt; +        (printPNG):
&gt; +        * DumpRenderTree/PixelDumpSupport.h:
&gt; +        * DumpRenderTree/cairo: Added.
&gt; +        * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: Added.
&gt; +        (writeFunction):
&gt; +        (printPNG):
&gt; +        (computeMD5HashStringForBitmapContext):
&gt; +        (dumpBitmap):
&gt; +        * DumpRenderTree/cairo/PixelDumpSupportCairo.h: Added.
&gt; +        (BitmapContext::createByAdoptingBitmapAndContext):
&gt; +        (BitmapContext::~BitmapContext):
&gt; +        (BitmapContext::cairoContext):
&gt; +        (BitmapContext::BitmapContext):
&gt; +        * DumpRenderTree/cg/PixelDumpSupportCG.cpp:
&gt; +        (printPNG):
&gt; +        (computeMD5HashStringForBitmapContext):
&gt; +        (dumpBitmap):
&gt; +        * DumpRenderTree/cg/PixelDumpSupportCG.h:
&gt; +        * DumpRenderTree/win/DumpRenderTree.cpp:
&gt; +        (main):
&gt; +        * DumpRenderTree/win/DumpRenderTree.vcproj:
&gt; +        * DumpRenderTree/win/PixelDumpSupportWin.cpp:
&gt; +        (createBitmapContextFromWebView):

It would be good to add more detailed comments about what you changed next to each function/file.

&gt; +#include &quot;config.h&quot;
&gt; +#include &quot;PixelDumpSupport.h&quot;
&gt; +#if PLATFORM(CG)
&gt; +#include &lt;CoreGraphics/CGBitmapContext.h&gt;
&gt; +#include &quot;PixelDumpSupportCG.h&quot;
&gt; +#else
&gt; +#include &lt;cairo-win32.h&gt;
&gt; +#include &quot;PixelDumpSupportCairo.h&quot;
&gt; +#endif
&gt; +
&gt; +#include &quot;DumpRenderTree.h&quot;
&gt; +#include &quot;LayoutTestController.h&quot;
&gt; +#include &lt;wtf/Assertions.h&gt;
&gt; +#include &lt;wtf/RefPtr.h&gt;
&gt; +#include &lt;wtf/RetainPtr.h&gt;

I&apos;m not sure I understand why we need to include any port-specific headers here. Can the declarations of the required functions move to PixelDumpSupport.h?

&gt; +#if PLATFORM(WIN)
&gt; +static const CFStringRef kUTTypePNG = CFSTR(&quot;public.png&quot;);
&gt; +#endif

I don&apos;t think this is needed in PixelDumpSupportCairo.

&gt; +    const size_t dataLength = pixeldata.size ();
&gt; +    const unsigned char* data = &amp;pixeldata[0];
&gt; +
&gt; +    printPNG (dataLength, data);

Please remove the spaces after the function names.

pixeldata.data() would be better than &amp;pixeldata[0]. pixeldata should probably be renamed to pixelData.

&gt; +void computeMD5HashStringForBitmapContext(RefPtr&lt;BitmapContext&gt; context, char hashString[33])

context&apos;s type should be BitmapContext*.

&gt; +    // We need to swap the bytes to ensure consistent hashes independently of endianness

Your code doesn&apos;t seem to take endianness into account. Should this turn into a FIXME? Be removed entirely?

&gt; +void dumpBitmap(RefPtr&lt;BitmapContext&gt; context)

context&apos;s type should be BitmapContext*.

&gt; +{
&gt; +    cairo_surface_t* surface = cairo_get_target(context-&gt;cairoContext());
&gt; +    printPNG(surface);
&gt; +}
&gt; \ No newline at end of file

Please add a newline.

&gt; +    RetainPtr&lt;CairoContextRef&gt; m_context;

It seems unlikely that RetainPtr is the right smart pointer for holding a CairoContextRef. Is it really right to use CFRetain/CFRelease with a CairoContextRef?

&gt; +#endif // PixelDumpSupportCairo_h
&gt; \ No newline at end of file

Please add a newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129535</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 11:17:03 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 32087 [review])
&gt; &gt; +2009-06-30  U-bfulgham-PC\bfulgham  &lt;bfulgham@webkit.org&gt;
&gt; 
&gt; Looks like you need to set REAL_NAME on this computer.

Fixed (permanently!)

&gt; &gt; +        * DumpRenderTree/PixelDumpSupport.cpp: Added.
&gt; &gt; +        (dumpWebViewAsPixelsAndCompareWithExpected):
&gt; &gt; +        (printPNG):
[...]
&gt; &gt; +        * DumpRenderTree/win/PixelDumpSupportWin.cpp:
&gt; &gt; +        (createBitmapContextFromWebView):
&gt; 
&gt; It would be good to add more detailed comments about what you changed next to
&gt; each function/file.

Done

&gt; I&apos;m not sure I understand why we need to include any port-specific headers
&gt; here. Can the declarations of the required functions move to
&gt; PixelDumpSupport.h?

Done.  I initially thought this header was included in other DumpRenderTree variants, but since
it was already required these headers it shouldn&apos;t be a problem.

&gt; &gt; +#if PLATFORM(WIN)
&gt; &gt; +static const CFStringRef kUTTypePNG = CFSTR(&quot;public.png&quot;);
&gt; &gt; +#endif
&gt; 
&gt; I don&apos;t think this is needed in PixelDumpSupportCairo.

You are right.  Removed.

&gt; Please remove the spaces after the function names.
&gt; 
&gt; pixeldata.data() would be better than &amp;pixeldata[0]. pixeldata should probably
&gt; be renamed to pixelData.

Done.
 
&gt; &gt; +void computeMD5HashStringForBitmapContext(RefPtr&lt;BitmapContext&gt; context, char hashString[33])
&gt; 
&gt; context&apos;s type should be BitmapContext*.

Done.
 
&gt; &gt; +    // We need to swap the bytes to ensure consistent hashes independently of endianness
&gt; 
&gt; Your code doesn&apos;t seem to take endianness into account. Should this turn into a
&gt; FIXME? Be removed entirely?

This was copied from the CG logic.  In theory, someone might run this on a PowerPC Linux box so this
might be an issue, but I&apos;m not sure how much of an issue this is (no one else is using it yet, and Windows
is x86-only).

Removing the comment; this will only show up as a problem if the GTK port starts using this code on PPC or similar systems.  We can address it if that ever happens.

&gt; &gt; +void dumpBitmap(RefPtr&lt;BitmapContext&gt; context)
&gt; 
&gt; context&apos;s type should be BitmapContext*.

Done.

&gt; &gt; \ No newline at end of file

Done.
 
&gt; &gt; +    RetainPtr&lt;CairoContextRef&gt; m_context;
&gt; 
&gt; It seems unlikely that RetainPtr is the right smart pointer for holding a
&gt; CairoContextRef. Is it really right to use CFRetain/CFRelease with a
&gt; CairoContextRef?

Nope.  This is now fixed.
 
&gt; &gt; +#endif // PixelDumpSupportCairo_h
&gt; &gt; \ No newline at end of file

Done. 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129536</commentid>
    <comment_count>10</comment_count>
      <attachid>32189</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 11:17:59 -0700</bug_when>
    <thetext>Created attachment 32189
Revised per Adam&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129539</commentid>
    <comment_count>11</comment_count>
      <attachid>32190</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 11:25:21 -0700</bug_when>
    <thetext>Created attachment 32190
Revised per Adam&apos;s comments (better).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129545</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-02 12:19:37 -0700</bug_when>
    <thetext>Don&apos;t APIs normally have:
function(char* data, size_t length)
instead of:
function(length, data) like you used here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129549</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 12:31:49 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Don&apos;t APIs normally have:
&gt; function(char* data, size_t length)
&gt; instead of:
&gt; function(length, data) like you used here?
&gt; 

I guess; I can certainly change that if you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129570</commentid>
    <comment_count>14</comment_count>
      <attachid>32190</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-07-02 14:23:29 -0700</bug_when>
    <thetext>Comment on attachment 32190
Revised per Adam&apos;s comments (better).

There&apos;s a newer version of the license header in WebCore/html/PreloadScanner.cpp. Please use that template for new files.

&gt; +        * DumpRenderTree/PixelDumpSupport.h: Add declaration for new
&gt; +          common pringPNG function.

Typo: pringPNG

&gt; +    printPNG (dataLength, data);

Please remove the space after &quot;printPNG&quot;.

&gt; +typedef struct _cairo* CairoContextRef;

I thought there was a cairo_t typedef. Maybe there&apos;s some reason we can&apos;t use that name here.

&gt; +    BitmapContext(PlatformBitmapBuffer buffer, CairoContextRef context)
&gt; +        : m_buffer(buffer)
&gt; +        , m_context(context)
&gt; +    {
&gt; +    }
&gt; +
&gt; +    PlatformBitmapBuffer m_buffer;
&gt; +    CairoContextRef m_context;

Do we need to retain/release m_context (using the appropriate Cairo functions)?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129611</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 16:27:14 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 32190 [review])
&gt; There&apos;s a newer version of the license header in
&gt; WebCore/html/PreloadScanner.cpp. Please use that template for new files.
&gt; 
&gt; &gt; +        * DumpRenderTree/PixelDumpSupport.h: Add declaration for new
&gt; &gt; +          common pringPNG function.
&gt; 
&gt; Typo: pringPNG

Fixed while landing.

&gt; &gt; +    printPNG (dataLength, data);
&gt; 
&gt; Please remove the space after &quot;printPNG&quot;.

Fixed while landing. 

&gt; &gt; +typedef struct _cairo* CairoContextRef;
&gt; 
&gt; I thought there was a cairo_t typedef. Maybe there&apos;s some reason we can&apos;t use
&gt; that name here.

No; I thought it would be nice to look more like the CG code for comparison, but we use cairo_t* everywhere else, so I&apos;m changing to that while landing.

&gt; &gt; +    BitmapContext(PlatformBitmapBuffer buffer, CairoContextRef context)
&gt; &gt; +        : m_buffer(buffer)
&gt; &gt; +        , m_context(context)
&gt; &gt; +    {
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +    PlatformBitmapBuffer m_buffer;
&gt; &gt; +    CairoContextRef m_context;
&gt; 
&gt; Do we need to retain/release m_context (using the appropriate Cairo functions)?
&gt; 
&gt; r=me
Yes; I forgot about the possibility of the m_context not being null at the time we do the Adopt.  So, it needs to release the old context (if it exists), but it does *not* add a retain to the pointer being passed in.

Thanks -- I corrected that as well. 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129628</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 16:51:12 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/45505.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129643</commentid>
    <comment_count>17</comment_count>
      <attachid>32214</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-02 18:12:20 -0700</bug_when>
    <thetext>Created attachment 32214
Workaround for build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31372</attachid>
            <date>2009-06-16 14:27:44 -0700</date>
            <delta_ts>2009-06-19 16:58:59 -0700</delta_ts>
            <desc>Rough initial patch</desc>
            <filename>drt_patch.patch</filename>
            <type>text/plain</type>
            <size>62746</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnNsbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBE
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5zbG4JKHJldmlzaW9uIDQ0NzM1KQorKysgRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuc2xuCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw2ICsx
Myw3IEBAIEdsb2JhbA0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRm
b3JtcykgPSBwcmVTb2x1dGlvbg0KIAkJRGVidWdfSW50ZXJuYWx8V2luMzIgPSBEZWJ1Z19JbnRl
cm5hbHxXaW4zMg0KIAkJRGVidWd8V2luMzIgPSBEZWJ1Z3xXaW4zMg0KKwkJUmVsZWFzZV9DYWly
b3xXaW4zMiA9IFJlbGVhc2VfQ2Fpcm98V2luMzINCiAJCVJlbGVhc2V8V2luMzIgPSBSZWxlYXNl
fFdpbjMyDQogCUVuZEdsb2JhbFNlY3Rpb24NCiAJR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmln
dXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24NCkBAIC0yMCwyNCArMjEsMzIgQEAgR2xv
YmFsDQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19JbnRl
cm5hbHxXaW4zMi5CdWlsZC4wID0gRGVidWdfSW50ZXJuYWx8V2luMzINCiAJCXs2NTY3REZENC1E
NkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVn
fFdpbjMyDQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z3xX
aW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0x
N0UzNTNEMTYwRTF9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZV9DYWly
b3xXaW4zMg0KKwkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uUmVsZWFz
ZV9DYWlyb3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZV9DYWlyb3xXaW4zMg0KIAkJezY1NjdERkQ0
LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBS
ZWxlYXNlfFdpbjMyDQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5S
ZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7QzA3MzczOTgtMzU2NS00
MzlFLUEyQjgtQUIyQkU0RDU0MzBDfS5EZWJ1Z19JbnRlcm5hbHxXaW4zMi5BY3RpdmVDZmcgPSBE
ZWJ1Z19JbnRlcm5hbHxXaW4zMg0KIAkJe0MwNzM3Mzk4LTM1NjUtNDM5RS1BMkI4LUFCMkJFNEQ1
NDMwQ30uRGVidWdfSW50ZXJuYWx8V2luMzIuQnVpbGQuMCA9IERlYnVnX0ludGVybmFsfFdpbjMy
DQogCQl7QzA3MzczOTgtMzU2NS00MzlFLUEyQjgtQUIyQkU0RDU0MzBDfS5EZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJe0MwNzM3Mzk4LTM1NjUtNDM5RS1BMkI4LUFCMkJF
NEQ1NDMwQ30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7QzA3MzczOTgt
MzU2NS00MzlFLUEyQjgtQUIyQkU0RDU0MzBDfS5SZWxlYXNlX0NhaXJvfFdpbjMyLkFjdGl2ZUNm
ZyA9IFJlbGVhc2VfQ2Fpcm98V2luMzINCisJCXtDMDczNzM5OC0zNTY1LTQzOUUtQTJCOC1BQjJC
RTRENTQzMEN9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQnVpbGQuMCA9IFJlbGVhc2VfQ2Fpcm98V2lu
MzINCiAJCXtDMDczNzM5OC0zNTY1LTQzOUUtQTJCOC1BQjJCRTRENTQzMEN9LlJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJe0MwNzM3Mzk4LTM1NjUtNDM5RS1BMkI4
LUFCMkJFNEQ1NDMwQ30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJ
e0RBMzFEQTUyLTY2NzUtNDhENC04OUUwLTMzM0E3MTQ0Mzk3Q30uRGVidWdfSW50ZXJuYWx8V2lu
MzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtEQTMxREE1Mi02Njc1LTQ4RDQtODlFMC0z
MzNBNzE0NDM5N0N9LkRlYnVnX0ludGVybmFsfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0K
LQkJe0RBMzFEQTUyLTY2NzUtNDhENC04OUUwLTMzM0E3MTQ0Mzk3Q30uRGVidWd8V2luMzIuQWN0
aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtEQTMxREE1Mi02Njc1LTQ4RDQtODlFMC0zMzNBNzE0
NDM5N0N9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0RBMzFEQTUyLTY2
NzUtNDhENC04OUUwLTMzM0E3MTQ0Mzk3Q30uRGVidWdfSW50ZXJuYWx8V2luMzIuQWN0aXZlQ2Zn
ID0gUmVsZWFzZV9DYWlyb3xXaW4zMg0KKwkJe0RBMzFEQTUyLTY2NzUtNDhENC04OUUwLTMzM0E3
MTQ0Mzk3Q30uRGVidWdfSW50ZXJuYWx8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2VfQ2Fpcm98V2lu
MzINCisJCXtEQTMxREE1Mi02Njc1LTQ4RDQtODlFMC0zMzNBNzE0NDM5N0N9LkRlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFJlbGVhc2VfQ2Fpcm98V2luMzINCisJCXtEQTMxREE1Mi02Njc1LTQ4RDQt
ODlFMC0zMzNBNzE0NDM5N0N9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlX0NhaXJvfFdp
bjMyDQorCQl7REEzMURBNTItNjY3NS00OEQ0LTg5RTAtMzMzQTcxNDQzOTdDfS5SZWxlYXNlX0Nh
aXJvfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2VfQ2Fpcm98V2luMzINCisJCXtEQTMxREE1Mi02
Njc1LTQ4RDQtODlFMC0zMzNBNzE0NDM5N0N9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQnVpbGQuMCA9
IFJlbGVhc2VfQ2Fpcm98V2luMzINCiAJCXtEQTMxREE1Mi02Njc1LTQ4RDQtODlFMC0zMzNBNzE0
NDM5N0N9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJe0RBMzFE
QTUyLTY2NzUtNDhENC04OUUwLTMzM0E3MTQ0Mzk3Q30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0g
UmVsZWFzZXxXaW4zMg0KIAkJezU5Q0MwNTQ3LTcwQUMtNDk5Qy05QjE5LUVDMDFDNkY2MTEzN30u
RGVidWdfSW50ZXJuYWx8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWdfSW50ZXJuYWx8V2luMzINCiAJ
CXs1OUNDMDU0Ny03MEFDLTQ5OUMtOUIxOS1FQzAxQzZGNjExMzd9LkRlYnVnX0ludGVybmFsfFdp
bjMyLkJ1aWxkLjAgPSBEZWJ1Z19JbnRlcm5hbHxXaW4zMg0KIAkJezU5Q0MwNTQ3LTcwQUMtNDk5
Qy05QjE5LUVDMDFDNkY2MTEzN30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIN
CiAJCXs1OUNDMDU0Ny03MEFDLTQ5OUMtOUIxOS1FQzAxQzZGNjExMzd9LkRlYnVnfFdpbjMyLkJ1
aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezU5Q0MwNTQ3LTcwQUMtNDk5Qy05QjE5LUVDMDFDNkY2
MTEzN30uUmVsZWFzZV9DYWlyb3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7
NTlDQzA1NDctNzBBQy00OTlDLTlCMTktRUMwMUM2RjYxMTM3fS5SZWxlYXNlX0NhaXJvfFdpbjMy
LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7NTlDQzA1NDctNzBBQy00OTlDLTlCMTktRUMw
MUM2RjYxMTM3fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXs1
OUNDMDU0Ny03MEFDLTQ5OUMtOUIxOS1FQzAxQzZGNjExMzd9LlJlbGVhc2V8V2luMzIuQnVpbGQu
MCA9IFJlbGVhc2V8V2luMzINCiAJRW5kR2xvYmFsU2VjdGlvbg0KSW5kZXg6IER1bXBSZW5kZXJU
cmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHVtcFJl
bmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmNwcAkocmV2aXNpb24gNDQ2MTAp
CShmcm9tIER1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5jcHA6NDQ2MTApCisr
KyBEdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2
LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAoQykg
MjAwNyBHcmFoYW0gRGVubmlzIChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkKKyAqICAgICAgICAg
ICAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q0cuaCIKKworI2luY2x1ZGUgIkR1bXBSZW5k
ZXJUcmVlLmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxJ
bWFnZUlPL0NHSW1hZ2VEZXN0aW5hdGlvbi5oPgorI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNs
dWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvU3Ry
aW5nRXh0cmFzLmg+CisKKyNpZiBQTEFURk9STShXSU4pCisjaW5jbHVkZSAiTUQ1LmgiCisjZWxp
ZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8TGF1bmNoU2VydmljZXMvVVRDb3JlVHlwZXMuaD4K
KyNkZWZpbmUgQ09NTU9OX0RJR0VTVF9GT1JfT1BFTlNTTAorI2luY2x1ZGUgPENvbW1vbkNyeXB0
by9Db21tb25EaWdlc3QuaD4KKyNlbmRpZgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCisjaWYg
UExBVEZPUk0oV0lOKQorc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtVVFR5cGVQTkcgPSBDRlNU
UigicHVibGljLnBuZyIpOworI2VuZGlmCisKK3N0YXRpYyB2b2lkIHByaW50UE5HKENHSW1hZ2VS
ZWYgaW1hZ2UpCit7CisgICAgUmV0YWluUHRyPENGTXV0YWJsZURhdGFSZWY+IGltYWdlRGF0YShB
ZG9wdENGLCBDRkRhdGFDcmVhdGVNdXRhYmxlKDAsIDApKTsKKyAgICBSZXRhaW5QdHI8Q0dJbWFn
ZURlc3RpbmF0aW9uUmVmPiBpbWFnZURlc3QoQWRvcHRDRiwgQ0dJbWFnZURlc3RpbmF0aW9uQ3Jl
YXRlV2l0aERhdGEoaW1hZ2VEYXRhLmdldCgpLCBrVVRUeXBlUE5HLCAxLCAwKSk7CisgICAgQ0dJ
bWFnZURlc3RpbmF0aW9uQWRkSW1hZ2UoaW1hZ2VEZXN0LmdldCgpLCBpbWFnZSwgMCk7CisgICAg
Q0dJbWFnZURlc3RpbmF0aW9uRmluYWxpemUoaW1hZ2VEZXN0LmdldCgpKTsKKworICAgIGNvbnN0
IFVJbnQ4KiBkYXRhID0gQ0ZEYXRhR2V0Qnl0ZVB0cihpbWFnZURhdGEuZ2V0KCkpOworICAgIENG
SW5kZXggZGF0YUxlbmd0aCA9IENGRGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOworCisg
ICAgcHJpbnRmKCJDb250ZW50LVR5cGU6ICVzXG4iLCAiaW1hZ2UvcG5nIik7CisgICAgcHJpbnRm
KCJDb250ZW50LUxlbmd0aDogJWx1XG4iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihkYXRh
TGVuZ3RoKSk7CisKKyAgICBjb25zdCBzaXplX3QgYnl0ZXNUb1dyaXRlSW5PbmVDaHVuayA9IDEg
PDwgMTU7CisgICAgc2l6ZV90IGRhdGFSZW1haW5pbmdUb1dyaXRlID0gZGF0YUxlbmd0aDsKKyAg
ICB3aGlsZSAoZGF0YVJlbWFpbmluZ1RvV3JpdGUpIHsKKyAgICAgICAgc2l6ZV90IGJ5dGVzVG9X
cml0ZUluVGhpc0NodW5rID0gbWluKGRhdGFSZW1haW5pbmdUb1dyaXRlLCBieXRlc1RvV3JpdGVJ
bk9uZUNodW5rKTsKKyAgICAgICAgc2l6ZV90IGJ5dGVzV3JpdHRlbiA9IGZ3cml0ZShkYXRhLCAx
LCBieXRlc1RvV3JpdGVJblRoaXNDaHVuaywgc3Rkb3V0KTsKKyAgICAgICAgaWYgKGJ5dGVzV3Jp
dHRlbiAhPSBieXRlc1RvV3JpdGVJblRoaXNDaHVuaykKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkYXRhUmVtYWluaW5nVG9Xcml0ZSAtPSBieXRlc1dyaXR0ZW47CisgICAgICAgIGRhdGEg
Kz0gYnl0ZXNXcml0dGVuOworICAgIH0KK30KKworc3RhdGljIHZvaWQgY29tcHV0ZU1ENUhhc2hT
dHJpbmdGb3JCaXRtYXBDb250ZXh0KENHQ29udGV4dFJlZiBiaXRtYXBDb250ZXh0LCBjaGFyIGhh
c2hTdHJpbmdbMzNdKQoreworICAgIEFTU0VSVChDR0JpdG1hcENvbnRleHRHZXRCaXRzUGVyUGl4
ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAvLyBJbWFnZURpZmYgYXNzdW1lcyAzMiBiaXQgUkdC
QSwgd2UgbXVzdCBhcyB3ZWxsLgorICAgIHNpemVfdCBwaXhlbHNIaWdoID0gQ0dCaXRtYXBDb250
ZXh0R2V0SGVpZ2h0KGJpdG1hcENvbnRleHQpOworICAgIHNpemVfdCBwaXhlbHNXaWRlID0gQ0dC
aXRtYXBDb250ZXh0R2V0V2lkdGgoYml0bWFwQ29udGV4dCk7CisgICAgc2l6ZV90IGJ5dGVzUGVy
Um93ID0gQ0dCaXRtYXBDb250ZXh0R2V0Qnl0ZXNQZXJSb3coYml0bWFwQ29udGV4dCk7CisKKyAg
ICAvLyBXZSBuZWVkIHRvIHN3YXAgdGhlIGJ5dGVzIHRvIGVuc3VyZSBjb25zaXN0ZW50IGhhc2hl
cyBpbmRlcGVuZGVudGx5IG9mIGVuZGlhbm5lc3MKKyAgICBNRDVfQ1RYIG1kNUNvbnRleHQ7Cisg
ICAgTUQ1X0luaXQoJm1kNUNvbnRleHQpOworICAgIHVuc2lnbmVkIGNoYXIqIGJpdG1hcERhdGEg
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyKj4oQ0dCaXRtYXBDb250ZXh0R2V0RGF0YShiaXRt
YXBDb250ZXh0KSk7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlmICgoQ0dCaXRtYXBDb250ZXh0
R2V0Qml0bWFwSW5mbyhiaXRtYXBDb250ZXh0KSAmIGtDR0JpdG1hcEJ5dGVPcmRlck1hc2spID09
IGtDR0JpdG1hcEJ5dGVPcmRlcjMyQmlnKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgcm93ID0g
MDsgcm93IDwgcGl4ZWxzSGlnaDsgcm93KyspIHsKKyAgICAgICAgICAgIHVpbnQzMl90IGJ1ZmZl
cltwaXhlbHNXaWRlXTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgY29sdW1uID0gMDsgY29s
dW1uIDwgcGl4ZWxzV2lkZTsgY29sdW1uKyspCisgICAgICAgICAgICAgICAgYnVmZmVyW2NvbHVt
bl0gPSBPU1JlYWRMaXR0bGVJbnQzMihiaXRtYXBEYXRhLCA0ICogY29sdW1uKTsKKyAgICAgICAg
ICAgIE1ENV9VcGRhdGUoJm1kNUNvbnRleHQsIGJ1ZmZlciwgNCAqIHBpeGVsc1dpZGUpOworICAg
ICAgICAgICAgYml0bWFwRGF0YSArPSBieXRlc1BlclJvdzsKKyAgICAgICAgfQorICAgIH0gZWxz
ZQorI2VuZGlmCisgICAgeworICAgICAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJvdyA8IHBp
eGVsc0hpZ2g7IHJvdysrKSB7CisgICAgICAgICAgICBNRDVfVXBkYXRlKCZtZDVDb250ZXh0LCBi
aXRtYXBEYXRhLCA0ICogcGl4ZWxzV2lkZSk7CisgICAgICAgICAgICBiaXRtYXBEYXRhICs9IGJ5
dGVzUGVyUm93OworICAgICAgICB9CisgICAgfQorICAgIHVuc2lnbmVkIGNoYXIgaGFzaFsxNl07
CisgICAgTUQ1X0ZpbmFsKGhhc2gsICZtZDVDb250ZXh0KTsKKworICAgIGhhc2hTdHJpbmdbMF0g
PSAnXDAnOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTY7IGkrKykKKyAgICAgICAgc25wcmlu
dGYoaGFzaFN0cmluZywgMzMsICIlcyUwMngiLCBoYXNoU3RyaW5nLCBoYXNoW2ldKTsKK30KKwor
dm9pZCBkdW1wV2ViVmlld0FzUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3RlZChjb25zdCBzdGQ6
OnN0cmluZyYgZXhwZWN0ZWRIYXNoKQoreworICAgIFJlZlB0cjxCaXRtYXBDb250ZXh0PiBjb250
ZXh0OworICAgIAorICAgIGNvbnRleHQgPSBjcmVhdGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXco
Z0xheW91dFRlc3RDb250cm9sbGVyLT50ZXN0T25zY3JlZW4oKSwgZ0xheW91dFRlc3RDb250cm9s
bGVyLT50ZXN0UmVwYWludCgpLCBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnRlc3RSZXBhaW50U3dl
ZXBIb3Jpem9udGFsbHkoKSwgZ0xheW91dFRlc3RDb250cm9sbGVyLT5kdW1wU2VsZWN0aW9uUmVj
dCgpKTsKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgCisgICAgLy8gQ29tcHV0ZSB0aGUgaGFz
aCBvZiB0aGUgYml0bWFwIGNvbnRleHQgcGl4ZWxzCisgICAgY2hhciBhY3R1YWxIYXNoWzMzXTsK
KyAgICBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQoY29udGV4dC0+Y2dDb250
ZXh0KCksIGFjdHVhbEhhc2gpOworICAgIHByaW50ZigiXG5BY3R1YWxIYXNoOiAlc1xuIiwgYWN0
dWFsSGFzaCk7CisgICAgCisgICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIGhhc2ggYWdhaW5zdCB0
aGUgZXhwZWN0ZWQgb25lIGFuZCBkdW1wIGltYWdlIG9uIG1pc21hdGNoCisgICAgYm9vbCBkdW1w
SW1hZ2UgPSB0cnVlOworICAgIGlmIChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPiAwKSB7CisgICAg
ICAgIEFTU0VSVChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPT0gMzIpOworICAgICAgICAKKyAgICAg
ICAgcHJpbnRmKCJcbkV4cGVjdGVkSGFzaDogJXNcbiIsIGV4cGVjdGVkSGFzaC5jX3N0cigpKTsK
KyAgICAgICAgCisgICAgICAgIGlmIChleHBlY3RlZEhhc2ggPT0gYWN0dWFsSGFzaCkgICAgIC8v
IEZJWE1FOiBkbyBjYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmUKKyAgICAgICAgICAgIGR1bXBJbWFn
ZSA9IGZhbHNlOworICAgIH0KKyAgICAKKyAgICBpZiAoZHVtcEltYWdlKSB7CisgICAgICAgIFJl
dGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBDR0JpdG1hcENvbnRleHRDcmVhdGVJ
bWFnZShjb250ZXh0LT5jZ0NvbnRleHQoKSkpOworICAgICAgICBwcmludFBORyhpbWFnZS5nZXQo
KSk7CisgICAgfQorfQpJbmRleDogRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9y
dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1bXBT
dXBwb3J0Q2Fpcm8uY3BwCShyZXZpc2lvbiAwKQorKysgRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4
ZWxEdW1wU3VwcG9ydENhaXJvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDYgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogICAgICAgICAgIChDKSAyMDA3IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5k
ZW5uaXNAZ21haWwuY29tKQotICogICAgICAgICAgIChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmlj
QHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogICAgICAgICAgIChDKSAyMDA5IEJyZW50IEZ1bGdoYW0gPGJmdWxnaGFt
QHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDExICsy
OCwxMCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQaXhlbER1bXBT
dXBwb3J0Q0cuaCIKKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCIKIAogI2luY2x1
ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIK
LSNpbmNsdWRlIDxJbWFnZUlPL0NHSW1hZ2VEZXN0aW5hdGlvbi5oPgogI2luY2x1ZGUgPGFsZ29y
aXRobT4KICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBA
IC00MSwyOSArMzksMjcgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1N0cmluZ0V4dHJhcy5oPgogCi0jaWYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIk1ENS5o
IgotI2VsaWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgPExhdW5jaFNlcnZpY2VzL1VUQ29yZVR5
cGVzLmg+Ci0jZGVmaW5lIENPTU1PTl9ESUdFU1RfRk9SX09QRU5TU0wKLSNpbmNsdWRlIDxDb21t
b25DcnlwdG8vQ29tbW9uRGlnZXN0Lmg+Ci0jZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsK
IAotI2lmIFBMQVRGT1JNKFdJTikKIHN0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrVVRUeXBlUE5H
ID0gQ0ZTVFIoInB1YmxpYy5wbmciKTsKLSNlbmRpZgogCi1zdGF0aWMgdm9pZCBwcmludFBORyhD
R0ltYWdlUmVmIGltYWdlKQorc3RhdGljIGNhaXJvX3N0YXR1c190IHdyaXRlRnVuY3Rpb24odm9p
ZCogY2xvc3VyZSwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgaW50IGxlbmd0
aCkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGF0YVJlZj4gaW1hZ2VEYXRhKEFkb3B0Q0Ys
IENGRGF0YUNyZWF0ZU11dGFibGUoMCwgMCkpOwotICAgIFJldGFpblB0cjxDR0ltYWdlRGVzdGlu
YXRpb25SZWY+IGltYWdlRGVzdChBZG9wdENGLCBDR0ltYWdlRGVzdGluYXRpb25DcmVhdGVXaXRo
RGF0YShpbWFnZURhdGEuZ2V0KCksIGtVVFR5cGVQTkcsIDEsIDApKTsKLSAgICBDR0ltYWdlRGVz
dGluYXRpb25BZGRJbWFnZShpbWFnZURlc3QuZ2V0KCksIGltYWdlLCAwKTsKLSAgICBDR0ltYWdl
RGVzdGluYXRpb25GaW5hbGl6ZShpbWFnZURlc3QuZ2V0KCkpOworICAgIFZlY3RvcjxjaGFyPiog
aW4gPSByZWludGVycHJldF9jYXN0PFZlY3RvcjxjaGFyPio+KGNsb3N1cmUpOworICAgIGluLT5h
cHBlbmQoZGF0YSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gQ0FJUk9fU1RBVFVTX1NVQ0NFU1M7Cit9
CisKK3N0YXRpYyB2b2lkIHByaW50UE5HKGNhaXJvX3N1cmZhY2VfdCogaW1hZ2UpCit7CisgICAg
VmVjdG9yPGNoYXI+IHBpeGVsZGF0YTsKKyAgICAvLyBPbmx5IFBORyBvdXRwdXQgaXMgc3VwcG9y
dGVkIGZvciBub3cuCisgICAgY2Fpcm9fc3VyZmFjZV93cml0ZV90b19wbmdfc3RyZWFtKGltYWdl
LCB3cml0ZUZ1bmN0aW9uLCAmcGl4ZWxkYXRhKTsKIAotICAgIGNvbnN0IFVJbnQ4KiBkYXRhID0g
Q0ZEYXRhR2V0Qnl0ZVB0cihpbWFnZURhdGEuZ2V0KCkpOwotICAgIENGSW5kZXggZGF0YUxlbmd0
aCA9IENGRGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOworICAgIGNvbnN0IHNpemVfdCBk
YXRhTGVuZ3RoID0gcGl4ZWxkYXRhLnNpemUgKCk7CisgICAgY29uc3QgY2hhciogZGF0YSA9ICZw
aXhlbGRhdGFbMF07CiAKICAgICBwcmludGYoIkNvbnRlbnQtVHlwZTogJXNcbiIsICJpbWFnZS9w
bmciKTsKICAgICBwcmludGYoIkNvbnRlbnQtTGVuZ3RoOiAlbHVcbiIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmc+KGRhdGFMZW5ndGgpKTsKQEAgLTgwLDMzICs3NiwyMyBAQCBzdGF0aWMgdm9p
ZCBwcmludFBORyhDR0ltYWdlUmVmIGltYWdlKQogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgY29t
cHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KENHQ29udGV4dFJlZiBiaXRtYXBDb250
ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQorc3RhdGljIHZvaWQgY29tcHV0ZU1ENUhhc2hTdHJp
bmdGb3JCaXRtYXBDb250ZXh0KENhaXJvQ29udGV4dFJlZiBiaXRtYXBDb250ZXh0LCBjaGFyIGhh
c2hTdHJpbmdbMzNdKQogewotICAgIEFTU0VSVChDR0JpdG1hcENvbnRleHRHZXRCaXRzUGVyUGl4
ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAvLyBJbWFnZURpZmYgYXNzdW1lcyAzMiBiaXQgUkdC
QSwgd2UgbXVzdCBhcyB3ZWxsLgotICAgIHNpemVfdCBwaXhlbHNIaWdoID0gQ0dCaXRtYXBDb250
ZXh0R2V0SGVpZ2h0KGJpdG1hcENvbnRleHQpOwotICAgIHNpemVfdCBwaXhlbHNXaWRlID0gQ0dC
aXRtYXBDb250ZXh0R2V0V2lkdGgoYml0bWFwQ29udGV4dCk7Ci0gICAgc2l6ZV90IGJ5dGVzUGVy
Um93ID0gQ0dCaXRtYXBDb250ZXh0R2V0Qnl0ZXNQZXJSb3coYml0bWFwQ29udGV4dCk7CisgICAg
Y2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlID0gY2Fpcm9fZ2V0X3RhcmdldChiaXRtYXBDb250ZXh0
KTsKKyAgIAorICAgIEFTU0VSVChjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9mb3JtYXQoc3VyZmFj
ZSkgPT0gQ0FJUk9fRk9STUFUX0FSR0IzMik7IC8vIEltYWdlRGlmZiBhc3N1bWVzIDMyIGJpdCBS
R0JBLCB3ZSBtdXN0IGFzIHdlbGwuCisKKyAgICBzaXplX3QgcGl4ZWxzSGlnaCA9IGNhaXJvX2lt
YWdlX3N1cmZhY2VfZ2V0X2hlaWdodChzdXJmYWNlKTsKKyAgICBzaXplX3QgcGl4ZWxzV2lkZSA9
IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKHN1cmZhY2UpOworICAgIHNpemVfdCBieXRl
c1BlclJvdyA9IHBpeGVsc1dpZGUgKiBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoc3Vy
ZmFjZSk7CiAKICAgICAvLyBXZSBuZWVkIHRvIHN3YXAgdGhlIGJ5dGVzIHRvIGVuc3VyZSBjb25z
aXN0ZW50IGhhc2hlcyBpbmRlcGVuZGVudGx5IG9mIGVuZGlhbm5lc3MKICAgICBNRDVfQ1RYIG1k
NUNvbnRleHQ7CiAgICAgTUQ1X0luaXQoJm1kNUNvbnRleHQpOwotICAgIHVuc2lnbmVkIGNoYXIq
IGJpdG1hcERhdGEgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyKj4oQ0dCaXRtYXBDb250ZXh0
R2V0RGF0YShiaXRtYXBDb250ZXh0KSk7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICgoQ0dC
aXRtYXBDb250ZXh0R2V0Qml0bWFwSW5mbyhiaXRtYXBDb250ZXh0KSAmIGtDR0JpdG1hcEJ5dGVP
cmRlck1hc2spID09IGtDR0JpdG1hcEJ5dGVPcmRlcjMyQmlnKSB7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgcm93ID0gMDsgcm93IDwgcGl4ZWxzSGlnaDsgcm93KyspIHsKLSAgICAgICAgICAgIHVp
bnQzMl90IGJ1ZmZlcltwaXhlbHNXaWRlXTsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgY29s
dW1uID0gMDsgY29sdW1uIDwgcGl4ZWxzV2lkZTsgY29sdW1uKyspCi0gICAgICAgICAgICAgICAg
YnVmZmVyW2NvbHVtbl0gPSBPU1JlYWRMaXR0bGVJbnQzMihiaXRtYXBEYXRhLCA0ICogY29sdW1u
KTsKLSAgICAgICAgICAgIE1ENV9VcGRhdGUoJm1kNUNvbnRleHQsIGJ1ZmZlciwgNCAqIHBpeGVs
c1dpZGUpOwotICAgICAgICAgICAgYml0bWFwRGF0YSArPSBieXRlc1BlclJvdzsKLSAgICAgICAg
fQotICAgIH0gZWxzZQotI2VuZGlmCi0gICAgewotICAgICAgICBmb3IgKHVuc2lnbmVkIHJvdyA9
IDA7IHJvdyA8IHBpeGVsc0hpZ2g7IHJvdysrKSB7Ci0gICAgICAgICAgICBNRDVfVXBkYXRlKCZt
ZDVDb250ZXh0LCBiaXRtYXBEYXRhLCA0ICogcGl4ZWxzV2lkZSk7Ci0gICAgICAgICAgICBiaXRt
YXBEYXRhICs9IGJ5dGVzUGVyUm93OwotICAgICAgICB9CisgICAgdW5zaWduZWQgY2hhciogYml0
bWFwRGF0YSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihjYWlyb19pbWFnZV9zdXJmYWNl
X2dldF9kYXRhKHN1cmZhY2UpKTsKKyAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJvdyA8IHBp
eGVsc0hpZ2g7IHJvdysrKSB7CisgICAgICAgIE1ENV9VcGRhdGUoJm1kNUNvbnRleHQsIGJpdG1h
cERhdGEsIDQgKiBwaXhlbHNXaWRlKTsKKyAgICAgICAgYml0bWFwRGF0YSArPSBieXRlc1BlclJv
dzsKICAgICB9CiAgICAgdW5zaWduZWQgY2hhciBoYXNoWzE2XTsKICAgICBNRDVfRmluYWwoaGFz
aCwgJm1kNUNvbnRleHQpOwpAQCAtMTI1LDcgKzExMSw3IEBAIHZvaWQgZHVtcFdlYlZpZXdBc1Bp
eGVsc0FuZENvbXBhcmVXaXRoRXgKICAgICAKICAgICAvLyBDb21wdXRlIHRoZSBoYXNoIG9mIHRo
ZSBiaXRtYXAgY29udGV4dCBwaXhlbHMKICAgICBjaGFyIGFjdHVhbEhhc2hbMzNdOwotICAgIGNv
bXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dChjb250ZXh0LT5jZ0NvbnRleHQoKSwg
YWN0dWFsSGFzaCk7CisgICAgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KGNv
bnRleHQtPmNhaXJvQ29udGV4dCgpLCBhY3R1YWxIYXNoKTsKICAgICBwcmludGYoIlxuQWN0dWFs
SGFzaDogJXNcbiIsIGFjdHVhbEhhc2gpOwogICAgIAogICAgIC8vIENoZWNrIHRoZSBjb21wdXRl
ZCBoYXNoIGFnYWluc3QgdGhlIGV4cGVjdGVkIG9uZSBhbmQgZHVtcCBpbWFnZSBvbiBtaXNtYXRj
aApAQCAtMTQwLDcgKzEyNiw3IEBAIHZvaWQgZHVtcFdlYlZpZXdBc1BpeGVsc0FuZENvbXBhcmVX
aXRoRXgKICAgICB9CiAgICAgCiAgICAgaWYgKGR1bXBJbWFnZSkgewotICAgICAgICBSZXRhaW5Q
dHI8Q0dJbWFnZVJlZj4gaW1hZ2UoQWRvcHRDRiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlSW1hZ2Uo
Y29udGV4dC0+Y2dDb250ZXh0KCkpKTsKLSAgICAgICAgcHJpbnRQTkcoaW1hZ2UuZ2V0KCkpOwor
ICAgICAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19nZXRfdGFyZ2V0KGNvbnRl
eHQtPmNhaXJvQ29udGV4dCgpKTsKKyAgICAgICAgcHJpbnRQTkcoc3VyZmFjZSk7CiAgICAgfQog
fQoKUHJvcGVydHkgY2hhbmdlcyBvbjogRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3Vw
cG9ydENhaXJvLmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWVyZ2VpbmZvCgpJbmRleDogRHVt
cFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
RHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgJKHJldmlzaW9uIDQ0
NjEwKQkoZnJvbSBEdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1bXBTdXBwb3J0Q0cuaDo0NDYxMCkK
KysrIER1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYs
IDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgIChDKSAy
MDA3IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5kZW5uaXNAZ21haWwuY29tKQorICogICAgICAgICAg
IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQaXhlbER1bXBT
dXBwb3J0Q0dfaAorI2RlZmluZSBQaXhlbER1bXBTdXBwb3J0Q0dfaAorCisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBMQVRGT1JNKFdJTikKKyNpbmNsdWRlIDx3aW5kb3dzLmg+
CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgQ0dDb250ZXh0KiBDR0NvbnRleHRSZWY7CisKKyNp
ZiBQTEFURk9STShNQUMpCit0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQml0bWFwQnVmZmVyOworI2Vs
aWYgUExBVEZPUk0oV0lOKQordHlwZWRlZiBIQklUTUFQIFBsYXRmb3JtQml0bWFwQnVmZmVyOwor
I2VuZGlmCisKK2NsYXNzIEJpdG1hcENvbnRleHQgOiBwdWJsaWMgUmVmQ291bnRlZDxCaXRtYXBD
b250ZXh0PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Qml0bWFwQ29udGV4dD4g
Y3JlYXRlQnlBZG9wdGluZ0JpdG1hcEFuZENvbnRleHQoUGxhdGZvcm1CaXRtYXBCdWZmZXIgYnVm
ZmVyLCBDR0NvbnRleHRSZWYgY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgQml0bWFwQ29udGV4dChidWZmZXIsIGNvbnRleHQpKTsKKyAgICB9CisKKyAgICB+Qml0
bWFwQ29udGV4dCgpCisgICAgeworICAgICAgICBpZiAobV9idWZmZXIpCisjaWYgUExBVEZPUk0o
TUFDKQorICAgICAgICAgICAgZnJlZShtX2J1ZmZlcik7CisjZWxpZiBQTEFURk9STShXSU4pCisg
ICAgICAgICAgICBEZWxldGVPYmplY3QobV9idWZmZXIpOworI2VuZGlmCisgICAgfQorCisgICAg
Q0dDb250ZXh0UmVmIGNnQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsg
fQorCitwcml2YXRlOgorCisgICAgQml0bWFwQ29udGV4dChQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBi
dWZmZXIsIENHQ29udGV4dFJlZiBjb250ZXh0KQorICAgICAgICA6IG1fYnVmZmVyKGJ1ZmZlcikK
KyAgICAgICAgLCBtX2NvbnRleHQoQWRvcHRDRiwgY29udGV4dCkKKyAgICB7CisgICAgfQorCisg
ICAgUGxhdGZvcm1CaXRtYXBCdWZmZXIgbV9idWZmZXI7CisgICAgUmV0YWluUHRyPENHQ29udGV4
dFJlZj4gbV9jb250ZXh0OworCit9OworCitQYXNzUmVmUHRyPEJpdG1hcENvbnRleHQ+IGNyZWF0
ZUJpdG1hcENvbnRleHRGcm9tV2ViVmlldyhib29sIG9uc2NyZWVuLCBib29sIGluY3JlbWVudGFs
UmVwYWludCwgYm9vbCBzd2VlcEhvcml6b250YWxseSwgYm9vbCBkcmF3U2VsZWN0aW9uUmVjdCk7
CisKKyNlbmRpZiAvLyBQaXhlbER1bXBTdXBwb3J0Q0dfaApJbmRleDogRHVtcFJlbmRlclRyZWUv
Y2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRy
ZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgJKHJldmlzaW9uIDApCisrKyBEdW1wUmVu
ZGVyVHJlZS9jYWlyby9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaAkod29ya2luZyBjb3B5KQpAQCAt
MSw3ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogICAgICAgICAgIChDKSAyMDA3IEdyYWhhbSBE
ZW5uaXMgKGdyYWhhbS5kZW5uaXNAZ21haWwuY29tKQotICogICAgICAgICAgIChDKSAyMDA3IEVy
aWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgIChDKSAyMDA5IEJyZW50IEZ1
bGdoYW0gPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI4LDI4ICsyNywyMyBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFBpeGVs
RHVtcFN1cHBvcnRDR19oCi0jZGVmaW5lIFBpeGVsRHVtcFN1cHBvcnRDR19oCisjaWZuZGVmIFBp
eGVsRHVtcFN1cHBvcnRDYWlyb19oCisjZGVmaW5lIFBpeGVsRHVtcFN1cHBvcnRDYWlyb19oCiAK
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi0jaWYgUExBVEZPUk0oV0lOKQogI2luY2x1
ZGUgPHdpbmRvd3MuaD4KLSNlbmRpZgorI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+CiAKLXR5cGVk
ZWYgc3RydWN0IENHQ29udGV4dCogQ0dDb250ZXh0UmVmOwordHlwZWRlZiBzdHJ1Y3QgX2NhaXJv
KiBDYWlyb0NvbnRleHRSZWY7CiAKLSNpZiBQTEFURk9STShNQUMpCi10eXBlZGVmIHZvaWQqIFBs
YXRmb3JtQml0bWFwQnVmZmVyOwotI2VsaWYgUExBVEZPUk0oV0lOKQogdHlwZWRlZiBIQklUTUFQ
IFBsYXRmb3JtQml0bWFwQnVmZmVyOwotI2VuZGlmCiAKIGNsYXNzIEJpdG1hcENvbnRleHQgOiBw
dWJsaWMgUmVmQ291bnRlZDxCaXRtYXBDb250ZXh0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8Qml0bWFwQ29udGV4dD4gY3JlYXRlQnlBZG9wdGluZ0JpdG1hcEFuZENvbnRleHQo
UGxhdGZvcm1CaXRtYXBCdWZmZXIgYnVmZmVyLCBDR0NvbnRleHRSZWYgY29udGV4dCkKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCeUFkb3B0aW5nQml0bWFwQW5k
Q29udGV4dChQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBidWZmZXIsIENhaXJvQ29udGV4dFJlZiBjb250
ZXh0KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCaXRtYXBDb250ZXh0KGJ1
ZmZlciwgY29udGV4dCkpOwogICAgIH0KQEAgLTU3LDI4ICs1MSwyMyBAQCBwdWJsaWM6CiAgICAg
fkJpdG1hcENvbnRleHQoKQogICAgIHsKICAgICAgICAgaWYgKG1fYnVmZmVyKQotI2lmIFBMQVRG
T1JNKE1BQykKLSAgICAgICAgICAgIGZyZWUobV9idWZmZXIpOwotI2VsaWYgUExBVEZPUk0oV0lO
KQogICAgICAgICAgICAgRGVsZXRlT2JqZWN0KG1fYnVmZmVyKTsKLSNlbmRpZgogICAgIH0KIAot
ICAgIENHQ29udGV4dFJlZiBjZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQuZ2V0
KCk7IH0KKyAgICBDYWlyb0NvbnRleHRSZWYgY2Fpcm9Db250ZXh0KCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZXh0LmdldCgpOyB9CiAKIHByaXZhdGU6CiAKLSAgICBCaXRtYXBDb250ZXh0KFBsYXRm
b3JtQml0bWFwQnVmZmVyIGJ1ZmZlciwgQ0dDb250ZXh0UmVmIGNvbnRleHQpCisgICAgQml0bWFw
Q29udGV4dChQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBidWZmZXIsIENhaXJvQ29udGV4dFJlZiBjb250
ZXh0KQogICAgICAgICA6IG1fYnVmZmVyKGJ1ZmZlcikKICAgICAgICAgLCBtX2NvbnRleHQoQWRv
cHRDRiwgY29udGV4dCkKICAgICB7CiAgICAgfQogCiAgICAgUGxhdGZvcm1CaXRtYXBCdWZmZXIg
bV9idWZmZXI7Ci0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gbV9jb250ZXh0OwotCisgICAg
UmV0YWluUHRyPENhaXJvQ29udGV4dFJlZj4gbV9jb250ZXh0OwogfTsKIAogUGFzc1JlZlB0cjxC
aXRtYXBDb250ZXh0PiBjcmVhdGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXcoYm9vbCBvbnNjcmVl
biwgYm9vbCBpbmNyZW1lbnRhbFJlcGFpbnQsIGJvb2wgc3dlZXBIb3Jpem9udGFsbHksIGJvb2wg
ZHJhd1NlbGVjdGlvblJlY3QpOwogCi0jZW5kaWYgLy8gUGl4ZWxEdW1wU3VwcG9ydENHX2gKKyNl
bmRpZiAvLyBQaXhlbER1bXBTdXBwb3J0Q2Fpcm9faAoKUHJvcGVydHkgY2hhbmdlcyBvbjogRHVt
cFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAkocmV2aXNpb24gNDQ3MzUpCisrKyBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw5IEBACiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+Cisj
aWYgUExBVEZPUk0oQ0ZORVRXT1JLKQogI2luY2x1ZGUgPENGTmV0d29yay9DRlVSTENhY2hlUHJp
di5oPgorI2VuZGlmCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgogI2luY2x1ZGUgPFdl
YktpdC9XZWJLaXQuaD4KQEAgLTEwNDEsNiArMTA0Myw3IEBAIElXZWJWaWV3KiBjcmVhdGVXZWJW
aWV3QW5kT2Zmc2NyZWVuV2luZG8KICAgICByZXR1cm4gd2ViVmlldzsKIH0KIAorI2lmIFBMQVRG
T1JNKENGTkVUV09SSykKIFJldGFpblB0cjxDRlVSTENhY2hlUmVmPiBzaGFyZWRDRlVSTENhY2hl
KCkKIHsKICAgICBITU9EVUxFIG1vZHVsZSA9IEdldE1vZHVsZUhhbmRsZShURVhUKCJDRk5ldHdv
cmtfZGVidWcuZGxsIikpOwpAQCAtMTA1OSw2ICsxMDYyLDcgQEAgUmV0YWluUHRyPENGVVJMQ2Fj
aGVSZWY+IHNoYXJlZENGVVJMQ2FjaAogCiAgICAgcmV0dXJuIDA7CiB9CisjZW5kaWYKIAogaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKIHsKQEAgLTExMTUsOCArMTExOSwxMCBAQCBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIGlmIChGQUlMRUQod2ViVmlldy0+
bWFpbkZyYW1lKCZmcmFtZSkpKQogICAgICAgICByZXR1cm4gLTE7CiAKKyNpZiBQTEFURk9STShD
Rk5FVFdPUkspCiAgICAgUmV0YWluUHRyPENGVVJMQ2FjaGVSZWY+IHVybENhY2hlID0gc2hhcmVk
Q0ZVUkxDYWNoZSgpOwogICAgIENGVVJMQ2FjaGVSZW1vdmVBbGxDYWNoZWRSZXNwb25zZXModXJs
Q2FjaGUuZ2V0KCkpOworI2VuZGlmCiAKICNpZmRlZiBfREVCVUcKICAgICBfQ3J0TWVtU3RhdGUg
ZW50cnlUb01haW5NZW1DaGVja3BvaW50OwpJbmRleDogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUudmNwcm9qCShyZXZpc2lvbiA0NDczNSkKKysrIER1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsyMzEsMTU1IEBA
CiAJCQkJQ29tbWFuZExpbmU9ImlmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWls
ZGZhaWxlZCZxdW90OyBkZWwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1
b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7aWYgbm90IGRlZmluZWQgQVJDSElWRV9CVUlMRCAo
aWYgZGVmaW5lZCBQUk9EVUNUSU9OIGV4aXQgL2IpJiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7bWtk
aXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
OyYjeDBEOyYjeDBBO2lmIG5vdCBleGlzdCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgZXhpdCAvYiYj
eDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2Qg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNv
bmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENG
TmV0d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXENGTmV0d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENGTmV0d29yay5yZXNvdXJj
ZXMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2Vz
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMmcXVvdDsgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4
Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENoYXJhY3Rl
clNldHMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgp
LnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxkbnNzZC5kbGwmcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1ZHQ0MC5kbGwmcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1ZHQ0MCQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAkKExp
YnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxpY3VpbjQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxsaWJ4
bWwyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5cbGlieHNsdCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZm
aXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMy
JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcYmluXFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgpLnBk
YiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNv
bmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHps
aWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBOyINCiAJCQkvPg0KIAkJPC9Db25maWd1cmF0aW9uPg0K
KwkJPENvbmZpZ3VyYXRpb24NCisJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQlPdXRw
dXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChDb25maWd1cmF0aW9uTmFtZSkiDQorCQkJSW50
ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25OYW1lKSINCisJCQlDb25maWd1cmF0
aW9uVHlwZT0iMSINCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChXZWJLaXRMaWJyYXJp
ZXNEaXIpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHM7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XHRvb2xzXHZzcHJvcHNcZGVidWcudnNwcm9wcyINCisJCQlDaGFyYWN0ZXJTZXQ9IjEiDQorCQkJ
Pg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQorCQkJCUNvbW1h
bmRMaW5lPSJzZXQgUEFUSD0lU3lzdGVtRHJpdmUlXGN5Z3dpblxiaW47JVBBVEglJiN4MEQ7JiN4
MEE7aWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7IGdy
ZXAgWFgkKFByb2plY3ROYW1lKVhYICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxl
ZCZxdW90OyYjeDBEOyYjeDBBO2lmIGVycm9ybGV2ZWwgMSBleGl0IDEmI3gwRDsmI3gwQTtlY2hv
IFhYJChQcm9qZWN0TmFtZSlYWCAmZ3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZh
aWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlJnF1b3Q7JiN4MEQ7JiN4MEE7
bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRl
clRyZWVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5n
SGVhZGVyc1x3dGYmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFByb2plY3REaXIpXC4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlwqLmgmcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2FyZGluZ0hlYWRl
cnNcd3RmJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0i
VkNDdXN0b21CdWlsZFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hNTERh
dGFHZW5lcmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJTZXJ2
aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNN
SURMVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcilc
LiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cY2Fpcm8mcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGUmcXVvdDs7JnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2FyZGluZ0hl
YWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcSmF2YVNjcmlwdENv
cmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGUmcXVvdDs7JnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcSW5jbHVkZVxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJ
bmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENvbXBhdGliaWxpdHlIZWFkZXJzJnF1b3Q7OyZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENvbXBhdGli
aWxpdHlIZWFkZXJzXEdOVUNvbXBhdGliaWxpdHkmcXVvdDsiDQorCQkJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJfQ09OU09MRSINCisJCQkJRGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQxNDYi
DQorCQkJCUZvcmNlZEluY2x1ZGVGaWxlcz0iRHVtcFJlbmRlclRyZWVQcmVmaXguaCINCisJCQkv
Pg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCisJCQkJQWRkaXRpb25hbERlcGVu
ZGVuY2llcz0iSmF2YVNjcmlwdENvcmUkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIFdlYktp
dEdVSUQkKFdlYktpdENvbmZpZ1N1ZmZpeCkubGliIFdlYktpdCQoV2ViS2l0RExMQ29uZmlnU3Vm
Zml4KS5saWIgQ0ZMaXRlX0RlYnVnLmxpYiBjYWlyby5saWIganBlZy5saWIgbGlicG5nLmxpYiBs
aWJjdXJsX2ltcC5saWIgcHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIGdkaTMy
LmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHVzZXIzMi5saWIgc2hsd2FwaS5saWIgb2xlYWNj
LmxpYiINCisJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iIg0KKwkJCQlEZWxheUxv
YWRETExzPSIiDQorCQkJCVN1YlN5c3RlbT0iMSINCisJCQkJVGFyZ2V0TWFjaGluZT0iMSINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlO
YW1lPSJWQ1hEQ01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNCc2NN
YWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSJp
ZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZGVsICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBE
OyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmluZWQgUFJPRFVDVElP
TiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3Qg
ZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gwQTsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0
aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25m
aWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5l
dHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5k
YXRpb24ucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ29yZUZv
dW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1b3Q7ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cZG5zc2QuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXGljdWR0NDAuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXGljdWR0NDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFy
eUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVv
dDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieG1sMiQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhzbHQk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXFNRTGl0ZTMkKExp
YnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTsiDQorCQkJLz4NCisJCTwvQ29uZmlndXJhdGlvbj4NCisJCTxDb25maWd1cmF0aW9uDQor
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQlPdXRwdXREaXJlY3Rvcnk9IiQoU29s
dXRpb25EaXIpJChDb25maWd1cmF0aW9uTmFtZSkiDQorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5
PSIkKENvbmZpZ3VyYXRpb25OYW1lKSINCisJCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCisJCQlJ
bmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChXZWJLaXRMaWJyYXJpZXNEaXIpXHRvb2xzXHZzcHJv
cHNcY29tbW9uLnZzcHJvcHM7JChXZWJLaXRMaWJyYXJpZXNEaXIpXHRvb2xzXHZzcHJvcHNccmVs
ZWFzZS52c3Byb3BzIg0KKwkJCUNoYXJhY3RlclNldD0iMSINCisJCQlXaG9sZVByb2dyYW1PcHRp
bWl6YXRpb249IjEiDQorCQkJPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVu
dFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSJzZXQgUEFUSD0lU3lzdGVtRHJpdmUlXGN5Z3dpblxi
aW47JVBBVEglJiN4MEQ7JiN4MEE7aWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1
aWxkZmFpbGVkJnF1b3Q7IGdyZXAgWFgkKFByb2plY3ROYW1lKVhYICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBO2lmIGVycm9ybGV2ZWwgMSBleGl0
IDEmI3gwRDsmI3gwQTtlY2hvIFhYJChQcm9qZWN0TmFtZSlYWCAmZ3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGly
IDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVl
JnF1b3Q7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDsmI3gwRDsmI3gw
QTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVu
ZGVyVHJlZVxGb3J3YXJkaW5nSGVhZGVyc1x3dGYmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFByb2plY3REaXIpXC4uXEZvcndhcmRpbmdIZWFkZXJzXHd0
ZlwqLmgmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRy
ZWVcRm9yd2FyZGluZ0hlYWRlcnNcd3RmJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQkJ
PFRvb2wNCisJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJ
CQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNNSURMVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90OyQoUHJvamVjdERpcilcLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cY2Fpcm8mcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XEluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcRHVtcFJlbmRl
clRyZWVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXElu
Y2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXElu
Y2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMm
cXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENvbXBhdGliaWxpdHlI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXENvcmVGb3Vu
ZGF0aW9uXE9TWENvbXBhdGliaWxpdHlIZWFkZXJzXEdOVUNvbXBhdGliaWxpdHkmcXVvdDsiDQor
CQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCisJCQkJRGlzYWJsZVNwZWNp
ZmljV2FybmluZ3M9IjQxNDYiDQorCQkJCUZvcmNlZEluY2x1ZGVGaWxlcz0iRHVtcFJlbmRlclRy
ZWVQcmVmaXguaCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291
cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNSZXNvdXJj
ZUNvbXBpbGVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUHJlTGlua0V2
ZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCisJ
CQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iSmF2YVNjcmlwdENvcmUkKFdlYktpdERMTENvbmZp
Z1N1ZmZpeCkubGliIFdlYktpdEdVSUQkKFdlYktpdENvbmZpZ1N1ZmZpeCkubGliIFdlYktpdCQo
V2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgQ0ZMaXRlLmxpYiBjYWlyby5saWIganBlZy5saWIg
bGlicG5nLmxpYiBsaWJjdXJsX2ltcC5saWIgcHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkubGliIGdkaTMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHVzZXIzMi5saWIgc2hsd2Fw
aS5saWIgb2xlYWNjLmxpYiINCisJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iIg0K
KwkJCQlEZWxheUxvYWRETExzPSIiDQorCQkJCVN1YlN5c3RlbT0iMSINCisJCQkJVGFyZ2V0TWFj
aGluZT0iMSINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNCc2NNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDRnhD
b3BUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQorCQkJCUNv
bW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQm
cXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBE
OyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmlu
ZWQgUFJPRFVDVElPTiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7
TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsm
I3gwQTtpZiBub3QgZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91
bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZm
aXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdy
YXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cZG5zc2QuZGxsJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAuZGxsJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1
aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieG1sMiQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXGxpYnhzbHQkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFy
eUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVv
dDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZm
aXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTsiDQorCQkJLz4NCisJCTwvQ29uZmlndXJhdGlvbj4NCiAJPC9Db25m
aWd1cmF0aW9ucz4NCiAJPFJlZmVyZW5jZXM+DQogCTwvUmVmZXJlbmNlcz4NCkBAIC0zNzIsMTIg
KzUyMSwxMDAgQEAKIAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRo
PSIuLlxjYWlyb1xQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uY3BwIg0KKwkJCT4NCisJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJPC9GaWxlPg0KKwkJ
PEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNhaXJvXFBpeGVsRHVtcFN1cHBvcnRDYWlyby5o
Ig0KKwkJCT4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWd8V2luMzIi
DQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0K
KwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJ
TmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2lu
MzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQor
CQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJPC9GaWxlPg0KKwkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNnXFBp
eGVsRHVtcFN1cHBvcnRDRy5jcHAiDQogCQkJPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQog
CQkJUmVsYXRpdmVQYXRoPSIuLlxjZ1xQaXhlbER1bXBTdXBwb3J0Q0cuaCINCiAJCQk+DQorCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0i
VkNDdXN0b21CdWlsZFRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5h
bWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0aD0iLlxQaXhlbER1bXBTdXBw
b3J0V2luLmNwcCINCkluZGV4OiBEdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmLnZjcHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBEdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmLnZjcHJvagkocmV2aXNp
b24gNDQ3MzUpCisrKyBEdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmLnZjcHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMjE2LDEzICsyMTYsMjE3IEBACiAJCQkJQ29tbWFuZExpbmU9ImlmIGV4aXN0
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBkZWwgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7
bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmluZWQg
UFJPRFVDVElPTiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBleGlzdCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGwmcXVvdDsgZXhpdCAvYiYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExp
YnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAv
aSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uLnJlc291cmNl
cyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENvcmVGb3VuZGF0aW9uLnJlc291
cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGlj
cyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXGljdWR0MzguZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXGljdWR0MzgkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjM4JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW4zOCQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdXVj
MzgkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxpY3V1YzM4JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLmRs
bCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNv
bmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTsiDQogCQkJLz4NCiAJCTwvQ29uZmlndXJhdGlvbj4NCisJCTxDb25maWd1cmF0
aW9uDQorCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KFNvbHV0aW9uRGlyKSQoQ29uZmlndXJhdGlvbk5hbWUpIg0KKwkJCUludGVybWVkaWF0ZURpcmVj
dG9yeT0iJChDb25maWd1cmF0aW9uTmFtZSkiDQorCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQor
CQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2
c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3Bz
XGRlYnVnLnZzcHJvcHMiDQorCQkJQ2hhcmFjdGVyU2V0PSIyIg0KKwkJCT4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ic2V0IFBB
VEg9JVN5c3RlbURyaXZlJVxjeWd3aW5cYmluOyVQQVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBncmVwIFhYJChQcm9qZWN0
TmFtZSlYWCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsm
I3gwQTtpZiBlcnJvcmxldmVsIDEgZXhpdCAxJiN4MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVjdE5h
bWUpWFggJmd0OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gw
RDsmI3gwQTsiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9v
bCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRv
clRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01JRExUb29sIg0KKwkJCS8+
DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGUmcXVv
dDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVh
ZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRp
YmlsaXR5SGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxD
b3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVyc1xHTlVDb21wYXRpYmlsaXR5JnF1
b3Q7Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21w
aWxlclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGls
ZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29s
Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPSJDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmxp
YiBDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIg0KKwkJCQlBZGRpdGlv
bmFsTGlicmFyeURpcmVjdG9yaWVzPSIiDQorCQkJCVN1YlN5c3RlbT0iMSINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNNYW5pZmVzdFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hE
Q01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KKwkJCS8+DQorCQkJ
PFRvb2wNCisJCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSJpZiBleGlzdCAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZGVsICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21r
ZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBS
T0RVQ1RJT04gZXhpdCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3QgZXhpc3QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJj
ZXMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpblxDaGFyYWN0ZXJTZXRzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgp
LmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3Mk
KExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxpY3VkdDM4LmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxpY3VkdDM4JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxiaW5caWN1aW4zOCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluMzgkKExpYnJhcnlDb25maWdT
dWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7
JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzM4
JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5caWN1dWMzOCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+DQorCQk8Q29uZmlndXJhdGlv
bg0KKwkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJT3V0cHV0RGlyZWN0b3J5PSIk
KFNvbHV0aW9uRGlyKSQoQ29uZmlndXJhdGlvbk5hbWUpIg0KKwkJCUludGVybWVkaWF0ZURpcmVj
dG9yeT0iJChDb25maWd1cmF0aW9uTmFtZSkiDQorCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQor
CQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2
c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3Bz
XHJlbGVhc2UudnNwcm9wcyINCisJCQlDaGFyYWN0ZXJTZXQ9IjIiDQorCQkJV2hvbGVQcm9ncmFt
T3B0aW1pemF0aW9uPSIxIg0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUJ1aWxk
RXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3
aW5cYmluOyVQQVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxidWlsZGZhaWxlZCZxdW90OyBncmVwIFhYJChQcm9qZWN0TmFtZSlYWCAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTtpZiBlcnJvcmxldmVsIDEg
ZXhpdCAxJiN4MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVjdE5hbWUpWFggJmd0OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkvPg0KKwkJCTxUb29s
DQorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ01JRExUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVycyZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21w
YXRpYmlsaXR5SGVhZGVyc1xHTlVDb21wYXRpYmlsaXR5JnF1b3Q7Ig0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJ
PFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wN
CisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJD
b3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBDb3JlRm91bmRhdGlvbiQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkubGliIg0KKwkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVz
PSIiDQorCQkJCVN1YlN5c3RlbT0iMSINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
QUxpbmtUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KKwkJCS8+DQor
CQkJPFRvb2wNCisJCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNB
cHBWZXJpZmllclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYkRlcGxv
eW1lbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVu
dFRvb2wiDQorCQkJCUNvbW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYnVpbGRmYWlsZWQmcXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZh
aWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3Qg
ZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBST0RVQ1RJT04gZXhpdCAvYikmI3gw
RDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3QgZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4
aXQgL2ImI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExp
YnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMmcXVvdDsgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4
Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENoYXJhY3Rl
clNldHMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgp
LnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDM4LmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDM4JChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1
aW4zOCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGljdWluMzgkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzM4JChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWMzOCQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQor
CQk8L0NvbmZpZ3VyYXRpb24+DQogCTwvQ29uZmlndXJhdGlvbnM+DQogCTxSZWZlcmVuY2VzPg0K
IAk8L1JlZmVyZW5jZXM+DQogCTxGaWxlcz4NCiAJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIu
LlxjYWlyb1xJbWFnZURpZmZDYWlyby5jcHAiDQorCQkJPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCS8+
DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
TmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCTwvRmlsZT4NCisJCTxGaWxlDQogCQkJ
UmVsYXRpdmVQYXRoPSIuLlxjZ1xJbWFnZURpZmZDRy5jcHAiDQogCQkJPg0KKwkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJPg0KKwkJCQk8VG9vbA0K
KwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xX
aW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wN
CisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRv
b2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCiAJCTwvRmlsZT4NCiAJPC9GaWxlcz4NCiAJPEdsb2JhbHM+DQpJbmRleDog
RHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IER1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAkocmV2aXNpb24gNDQ3
MzUpCisrKyBEdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDEwICsyNywxNSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
KyNpZiBQTEFURk9STShDQUlSTykKKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCIK
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0Lmg+CisjZWxzZQogI2luY2x1
ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5oIgorI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+CisjZW5k
aWYKIAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNz
L0NHQml0bWFwQ29udGV4dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC02MCw5ICs2NSwxOSBAQCBQYXNzUmVmUHRyPEJpdG1h
cENvbnRleHQ+IGNyZWF0ZUJpdG1hcENvCiAgICAgR2V0T2JqZWN0KGJpdG1hcCwgc2l6ZW9mKGlu
Zm8pLCAmaW5mbyk7CiAgICAgQVNTRVJUKGluZm8uYm1CaXRzUGl4ZWwgPT0gMzIpOwogCisjaWYg
UExBVEZPUk0oQ0cpCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29sb3JTcGFjZShB
ZG9wdENGLCBDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKSk7CiAgICAgQ0dDb250ZXh0UmVm
IGNvbnRleHQgPSBDR0JpdG1hcENvbnRleHRDcmVhdGUoaW5mby5ibUJpdHMsIGluZm8uYm1XaWR0
aCwgaW5mby5ibUhlaWdodCwgOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluZm8uYm1XaWR0aEJ5dGVzLCBjb2xvclNwYWNlLmdldCgpLCBrQ0dCaXRt
YXBCeXRlT3JkZXIzMkxpdHRsZSB8IGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkRmlyc3QpOwor
I2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IGNhaXJv
X2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKCh1bnNpZ25lZCBjaGFyKilpbmZvLmJtQml0
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FJUk9f
Rk9STUFUX0FSR0IzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5mby5ibVdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmJtSGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmZvLmJtV2lkdGhCeXRlcyk7CisgICAgY2Fpcm9fdCogY29udGV4
dCA9IGNhaXJvX2NyZWF0ZShpbWFnZSk7CisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGltYWdl
KTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIEJpdG1hcENvbnRleHQ6OmNyZWF0ZUJ5QWRvcHRpbmdC
aXRtYXBBbmRDb250ZXh0KGJpdG1hcCwgY29udGV4dCk7CiB9CkluZGV4OiBEdW1wUmVuZGVyVHJl
ZS93aW4vVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gRHVtcFJlbmRlclRyZWUvd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2Nh
cGVQbHVnaW4udmNwcm9qCShyZXZpc2lvbiA0NDczNSkKKysrIER1bXBSZW5kZXJUcmVlL3dpbi9U
ZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnZjcHJvagkod29ya2luZyBjb3B5
KQpAQCAtMjIxLDYgKzIyMSw3NyBAQAogCQkJCUNvbW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyINCiAJCQkvPg0KIAkJPC9Db25maWd1cmF0aW9uPg0K
KwkJPENvbmZpZ3VyYXRpb24NCisJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCU91
dHB1dERpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKENvbmZpZ3VyYXRpb25OYW1lKSINCisJCQlJ
bnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoQ29uZmlndXJhdGlvbk5hbWUpIg0KKwkJCUNvbmZpZ3Vy
YXRpb25UeXBlPSIyIg0KKwkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFdlYktpdExpYnJh
cmllc0RpcilcdG9vbHNcdnNwcm9wc1xjb21tb24udnNwcm9wczskKFdlYktpdExpYnJhcmllc0Rp
cilcdG9vbHNcdnNwcm9wc1xyZWxlYXNlLnZzcHJvcHMiDQorCQkJQ2hhcmFjdGVyU2V0PSIxIg0K
KwkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCisJCQk+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCisJCQkJQ29tbWFuZExpbmU9InNldCBQQVRIPSVT
eXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjslUEFUSCUmI3gwRDsmI3gwQTtpZiBleGlzdCAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZ3JlcCBYWCQoUHJvamVjdE5hbWUp
WFggJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7
aWYgZXJyb3JsZXZlbCAxIGV4aXQgMSYjeDBEOyYjeDBBO2VjaG8gWFgkKFByb2plY3ROYW1lKVhY
ICZndDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4
MEE7Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29s
Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNSURMVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXC4uXFRlc3ROZXRzY2FwZVBsdWdpbi5zdWJwcm9qJnF1
b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENvbXBhdGliaWxpdHlI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXENvcmVGb3Vu
ZGF0aW9uXE9TWENvbXBhdGliaWxpdHlIZWFkZXJzXEdOVUNvbXBhdGliaWxpdHkmcXVvdDsiDQor
CQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1RFU1RORVRTQ0FQRVBMVUdJTl9F
WFBPUlRTO3NucHJpbnRmPV9zbnByaW50ZiINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJl
Y3Rvcmllcz0iIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRU
b29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlP
dXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkkKFdlYktpdENvbmZpZ1N1ZmZpeClc
bnAkKFByb2plY3ROYW1lKSQoV2ViS2l0Q29uZmlnU3VmZml4KS5kbGwiDQorCQkJCU1vZHVsZURl
ZmluaXRpb25GaWxlPSJUZXN0TmV0c2NhcGVQbHVnaW4kKFdlYktpdENvbmZpZ1N1ZmZpeCkuZGVm
Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q0JzY01ha2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNGeENvcFRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCisJCQkv
Pg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCisJCQkJQ29tbWFuZExp
bmU9ImlmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBk
ZWwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7Ig0KKwkJCS8+DQor
CQk8L0NvbmZpZ3VyYXRpb24+DQogCTwvQ29uZmlndXJhdGlvbnM+DQogCTxSZWZlcmVuY2VzPg0K
IAk8L1JlZmVyZW5jZXM+DQpJbmRleDogRmluZFNhZmFyaS9GaW5kU2FmYXJpLnZjcHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBGaW5kU2FmYXJpL0ZpbmRTYWZhcmkudmNwcm9qCShyZXZpc2lvbiA0NDczNSkK
KysrIEZpbmRTYWZhcmkvRmluZFNhZmFyaS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYg
Kzc4LDcyIEBACiAJCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQogCQkJLz4NCiAJCTwv
Q29uZmlndXJhdGlvbj4NCisJCTxDb25maWd1cmF0aW9uDQorCQkJTmFtZT0iUmVsZWFzZV9DYWly
b3xXaW4zMiINCisJCQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChDb25maWd1cmF0
aW9uTmFtZSkiDQorCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKENvbmZpZ3VyYXRpb25OYW1l
KSINCisJCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCisJCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0
cz0iJChXZWJLaXRMaWJyYXJpZXNEaXIpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnZzcHJvcHM7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXHRvb2xzXHZzcHJvcHNccmVsZWFzZS52c3Byb3BzIg0KKwkJCUNo
YXJhY3RlclNldD0iMSINCisJCQk+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVCdWlsZEV2
ZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29s
Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9y
VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTUlETFRvb2wiDQorCQkJLz4N
CisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRv
b2wNCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJ
PFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wN
CisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJz
aGx3YXBpLmxpYiBhZHZhcGkzMi5saWIgb2xlMzIubGliIg0KKwkJCQlPdXRwdXRGaWxlPSIkKE91
dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KKwkJCQlTdWJTeXN0ZW09IjEiDQorCQkJLz4NCisJ
CQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNY
RENNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wN
CisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+
DQogCTwvQ29uZmlndXJhdGlvbnM+DQogCTxSZWZlcmVuY2VzPg0KIAk8L1JlZmVyZW5jZXM+DQpJ
bmRleDogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNjcmlwdHMvcnVu
LXdlYmtpdC10ZXN0cwkocmV2aXNpb24gNDQ3MzUpCisrKyBTY3JpcHRzL3J1bi13ZWJraXQtdGVz
dHMJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw3ICszMDcsNyBAQCBpZiAoIWRlZmluZWQoJHJvb3Qp
KSB7CiB9CiAKIG15ICRkdW1wVG9vbE5hbWUgPSAiRHVtcFJlbmRlclRyZWUiOwotJGR1bXBUb29s
TmFtZSAuPSAiX2RlYnVnIiBpZiBpc0N5Z3dpbigpICYmICRjb25maWd1cmF0aW9uIG5lICJSZWxl
YXNlIjsKKyMkZHVtcFRvb2xOYW1lIC49ICJfZGVidWciIGlmIGlzQ3lnd2luKCkgJiYgJGNvbmZp
Z3VyYXRpb24gbmUgIlJlbGVhc2UiOwogbXkgJGR1bXBUb29sID0gIiRwcm9kdWN0RGlyLyRkdW1w
VG9vbE5hbWUiOwogZGllICJjYW4ndCBmaW5kIGV4ZWN1dGFibGUgJGR1bXBUb29sTmFtZSAobG9v
a2VkIGluICRwcm9kdWN0RGlyKVxuIiB1bmxlc3MgLXggJGR1bXBUb29sOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31577</attachid>
            <date>2009-06-19 16:58:59 -0700</date>
            <delta_ts>2009-06-30 13:33:03 -0700</delta_ts>
            <desc>Proposed patch for adding this feature</desc>
            <filename>drt_cairo.patch</filename>
            <type>text/plain</type>
            <size>35026</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gNDQ4ODApCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMDktMDYtMTkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBuZXcgRHVtcFJlbmRlclRyZWUgV2luZG93cyBDYWlybyB0YXJnZXRzIHRvIHRoZQorICAgICAg
ICBSZWxlYXNlX0NhaXJvIGFuZCBEZWJ1Z19DYWlybyBzb2x1dGlvbiB0YXJnZXRzLgorICAgICAg
ICBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDU3LgorCisg
ICAgICAgICogd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnNsbjoKKwogMjAwOS0wNi0wOCAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5
IE1hcmsgUm93ZS4KSW5kZXg6IFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCShyZXZpc2lv
biA0NDg3OCkKKysrIFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzQsMTQgKzEzNCwxNCBAQCBHbG9iYWwNCiAJCXsxQzE2MzM3Qi1BQ0YzLTRE
MDMtQUE5MC04NTFDNUI1RUFEQTZ9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQnVpbGQuMCA9IFJlbGVh
c2VfQ2Fpcm98V2luMzINCiAJCXsxQzE2MzM3Qi1BQ0YzLTREMDMtQUE5MC04NTFDNUI1RUFEQTZ9
LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezFDMTYzMzdCLUFD
RjMtNEQwMy1BQTkwLTg1MUM1QjVFQURBNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFz
ZXxXaW4zMg0KLQkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uRGVidWdf
Q2Fpcm98V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs2NTY3REZENC1ENkRFLTRD
RDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xX
aW4zMg0KKwkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uRGVidWdfQ2Fp
cm98V2luMzIuQWN0aXZlQ2ZnID0gRGVidWdfQ2Fpcm98V2luMzINCisJCXs2NTY3REZENC1ENkRF
LTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1
Z19DYWlyb3xXaW4zMg0KIAkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0u
RGVidWdfSW50ZXJuYWx8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWdfSW50ZXJuYWx8V2luMzINCiAJ
CXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnX0ludGVybmFsfFdp
bjMyLkJ1aWxkLjAgPSBEZWJ1Z19JbnRlcm5hbHxXaW4zMg0KIAkJezY1NjdERkQ0LUQ2REUtNENE
NS04MjVELTE3RTM1M0QxNjBFMX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIN
CiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnfFdpbjMyLkJ1
aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0Qx
NjBFMX0uUmVsZWFzZV9DYWlyb3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7
NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNlX0NhaXJvfFdpbjMy
LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdF
MzUzRDE2MEUxfS5SZWxlYXNlX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2VfQ2Fpcm98
V2luMzINCisJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LlJlbGVhc2Vf
Q2Fpcm98V2luMzIuQnVpbGQuMCA9IFJlbGVhc2VfQ2Fpcm98V2luMzINCiAJCXs2NTY3REZENC1E
NkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVs
ZWFzZXxXaW4zMg0KIAkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0MwNzM3Mzk4LTM1NjUtNDM5
RS1BMkI4LUFCMkJFNEQ1NDMwQ30uRGVidWdfQ2Fpcm98V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8
V2luMzINCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDg4MCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDA5LTA2LTE5ICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgV2luZG93cyBDYWlybyB0YXJnZXRzIHRvIHRoZSBEdW1w
UmVuZGVyVHJlZSBwcm9qZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjY0NTcuCisKKyAgICAgICAgQWRkIENhaXJvLXNwZWNpZmljIGdyYXBoaWNh
bCBzdXBwb3J0IGxvZ2ljIGluIGNhaXJvIHN1YmRpcmVjdG9yeSwKKyAgICAgICAgYW5kIHVwZGF0
ZSBQaXhlbER1bXBTdXBwb3J0V2luLmNwcCB0byB1c2UgdGhpcyB3aGVuIGJ1aWxkaW5nCisgICAg
ICAgIGZvciB0aGUgQ2Fpcm8gdGFyZ2V0LgorCisgICAgICAgIE1vZGlmeSBtYWluIER1bXBSZW5k
ZXJUcmVlIGxvZ2ljIHRvIHJ1biB3aXRob3V0IENGTmV0d29yay4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2NhaXJvOiBhZGRlZAorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2NhaXJvL1Bp
eGVsRHVtcFN1cHBvcnRDYWlyby5jcHA6IGFkZGVkCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmg6IGFkZGVkCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2o6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwOgorICAgICAgICAoY3JlYXRl
Qml0bWFwQ29udGV4dEZyb21XZWJWaWV3KToKKwogMjAwOS0wNi0xNSAgQW5kcmUgUGVkcmFsaG8g
IDxhbmRyZS5wZWRyYWxob0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRv
ciBBcm5lIFZlc3Riw7guCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWlyby9Q
aXhlbER1bXBTdXBwb3J0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8u
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgKEMpIDIw
MDkgQnJlbnQgRnVsZ2hhbSA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgiCisKKyNpbmNsdWRlICJEdW1wUmVu
ZGVyVHJlZS5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8
YWxnb3JpdGhtPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KKworI2lmIFBMQVRGT1JNKFdJTikKKyNpbmNs
dWRlICJNRDUuaCIKKyNlbmRpZgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCisjaWYgUExBVEZP
Uk0oV0lOKQorc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtVVFR5cGVQTkcgPSBDRlNUUigicHVi
bGljLnBuZyIpOworI2VuZGlmCisKK3N0YXRpYyBjYWlyb19zdGF0dXNfdCB3cml0ZUZ1bmN0aW9u
KHZvaWQqIGNsb3N1cmUsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGludCBs
ZW5ndGgpCit7CisgICAgVmVjdG9yPGNoYXI+KiBpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8VmVjdG9y
PGNoYXI+Kj4oY2xvc3VyZSk7CisgICAgaW4tPmFwcGVuZChkYXRhLCBsZW5ndGgpOworICAgIHJl
dHVybiBDQUlST19TVEFUVVNfU1VDQ0VTUzsKK30KKworc3RhdGljIHZvaWQgcHJpbnRQTkcoY2Fp
cm9fc3VyZmFjZV90KiBpbWFnZSkKK3sKKyAgICBWZWN0b3I8Y2hhcj4gcGl4ZWxkYXRhOworICAg
IC8vIE9ubHkgUE5HIG91dHB1dCBpcyBzdXBwb3J0ZWQgZm9yIG5vdy4KKyAgICBjYWlyb19zdXJm
YWNlX3dyaXRlX3RvX3BuZ19zdHJlYW0oaW1hZ2UsIHdyaXRlRnVuY3Rpb24sICZwaXhlbGRhdGEp
OworCisgICAgY29uc3Qgc2l6ZV90IGRhdGFMZW5ndGggPSBwaXhlbGRhdGEuc2l6ZSAoKTsKKyAg
ICBjb25zdCBjaGFyKiBkYXRhID0gJnBpeGVsZGF0YVswXTsKKworICAgIHByaW50ZigiQ29udGVu
dC1UeXBlOiAlc1xuIiwgImltYWdlL3BuZyIpOworICAgIHByaW50ZigiQ29udGVudC1MZW5ndGg6
ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YUxlbmd0aCkpOworCisgICAg
Y29uc3Qgc2l6ZV90IGJ5dGVzVG9Xcml0ZUluT25lQ2h1bmsgPSAxIDw8IDE1OworICAgIHNpemVf
dCBkYXRhUmVtYWluaW5nVG9Xcml0ZSA9IGRhdGFMZW5ndGg7CisgICAgd2hpbGUgKGRhdGFSZW1h
aW5pbmdUb1dyaXRlKSB7CisgICAgICAgIHNpemVfdCBieXRlc1RvV3JpdGVJblRoaXNDaHVuayA9
IG1pbihkYXRhUmVtYWluaW5nVG9Xcml0ZSwgYnl0ZXNUb1dyaXRlSW5PbmVDaHVuayk7CisgICAg
ICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBmd3JpdGUoZGF0YSwgMSwgYnl0ZXNUb1dyaXRlSW5U
aGlzQ2h1bmssIHN0ZG91dCk7CisgICAgICAgIGlmIChieXRlc1dyaXR0ZW4gIT0gYnl0ZXNUb1dy
aXRlSW5UaGlzQ2h1bmspCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGF0YVJlbWFpbmlu
Z1RvV3JpdGUgLT0gYnl0ZXNXcml0dGVuOworICAgICAgICBkYXRhICs9IGJ5dGVzV3JpdHRlbjsK
KyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29u
dGV4dChDYWlyb0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCwgY2hhciBoYXNoU3RyaW5nWzMzXSkK
K3sKKyAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19nZXRfdGFyZ2V0KGJpdG1h
cENvbnRleHQpOworCisgICAgQVNTRVJUKGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2Zvcm1hdChz
dXJmYWNlKSA9PSBDQUlST19GT1JNQVRfQVJHQjMyKTsgLy8gSW1hZ2VEaWZmIGFzc3VtZXMgMzIg
Yml0IFJHQkEsIHdlIG11c3QgYXMgd2VsbC4KKworICAgIHNpemVfdCBwaXhlbHNIaWdoID0gY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KHN1cmZhY2UpOworICAgIHNpemVfdCBwaXhlbHNX
aWRlID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSk7CisgICAgc2l6ZV90
IGJ5dGVzUGVyUm93ID0gcGl4ZWxzV2lkZSAqIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3N0cmlk
ZShzdXJmYWNlKTsKKworICAgIC8vIFdlIG5lZWQgdG8gc3dhcCB0aGUgYnl0ZXMgdG8gZW5zdXJl
IGNvbnNpc3RlbnQgaGFzaGVzIGluZGVwZW5kZW50bHkgb2YgZW5kaWFubmVzcworICAgIE1ENV9D
VFggbWQ1Q29udGV4dDsKKyAgICBNRDVfSW5pdCgmbWQ1Q29udGV4dCk7CisgICAgdW5zaWduZWQg
Y2hhciogYml0bWFwRGF0YSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihjYWlyb19pbWFn
ZV9zdXJmYWNlX2dldF9kYXRhKHN1cmZhY2UpKTsKKyAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7
IHJvdyA8IHBpeGVsc0hpZ2g7IHJvdysrKSB7CisgICAgICAgIE1ENV9VcGRhdGUoJm1kNUNvbnRl
eHQsIGJpdG1hcERhdGEsIDQgKiBwaXhlbHNXaWRlKTsKKyAgICAgICAgYml0bWFwRGF0YSArPSBi
eXRlc1BlclJvdzsKKyAgICB9CisgICAgdW5zaWduZWQgY2hhciBoYXNoWzE2XTsKKyAgICBNRDVf
RmluYWwoaGFzaCwgJm1kNUNvbnRleHQpOworCisgICAgaGFzaFN0cmluZ1swXSA9ICdcMCc7Cisg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxNjsgaSsrKQorICAgICAgICBzbnByaW50ZihoYXNoU3Ry
aW5nLCAzMywgIiVzJTAyeCIsIGhhc2hTdHJpbmcsIGhhc2hbaV0pOworfQorCit2b2lkIGR1bXBX
ZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBl
eHBlY3RlZEhhc2gpCit7CisgICAgUmVmUHRyPEJpdG1hcENvbnRleHQ+IGNvbnRleHQ7CisKKyAg
ICBjb250ZXh0ID0gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGdMYXlvdXRUZXN0Q29u
dHJvbGxlci0+dGVzdE9uc2NyZWVuKCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFp
bnQoKSwgZ0xheW91dFRlc3RDb250cm9sbGVyLT50ZXN0UmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5
KCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcFNlbGVjdGlvblJlY3QoKSk7CisgICAgQVNT
RVJUKGNvbnRleHQpOworCisgICAgLy8gQ29tcHV0ZSB0aGUgaGFzaCBvZiB0aGUgYml0bWFwIGNv
bnRleHQgcGl4ZWxzCisgICAgY2hhciBhY3R1YWxIYXNoWzMzXTsKKyAgICBjb21wdXRlTUQ1SGFz
aFN0cmluZ0ZvckJpdG1hcENvbnRleHQoY29udGV4dC0+Y2Fpcm9Db250ZXh0KCksIGFjdHVhbEhh
c2gpOworICAgIHByaW50ZigiXG5BY3R1YWxIYXNoOiAlc1xuIiwgYWN0dWFsSGFzaCk7CisKKyAg
ICAvLyBDaGVjayB0aGUgY29tcHV0ZWQgaGFzaCBhZ2FpbnN0IHRoZSBleHBlY3RlZCBvbmUgYW5k
IGR1bXAgaW1hZ2Ugb24gbWlzbWF0Y2gKKyAgICBib29sIGR1bXBJbWFnZSA9IHRydWU7CisgICAg
aWYgKGV4cGVjdGVkSGFzaC5sZW5ndGgoKSA+IDApIHsKKyAgICAgICAgQVNTRVJUKGV4cGVjdGVk
SGFzaC5sZW5ndGgoKSA9PSAzMik7CisKKyAgICAgICAgcHJpbnRmKCJcbkV4cGVjdGVkSGFzaDog
JXNcbiIsIGV4cGVjdGVkSGFzaC5jX3N0cigpKTsKKworICAgICAgICBpZiAoZXhwZWN0ZWRIYXNo
ID09IGFjdHVhbEhhc2gpICAgICAvLyBGSVhNRTogZG8gY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJl
CisgICAgICAgICAgICBkdW1wSW1hZ2UgPSBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoZHVtcElt
YWdlKSB7CisgICAgICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IGNhaXJvX2dldF90YXJn
ZXQoY29udGV4dC0+Y2Fpcm9Db250ZXh0KCkpOworICAgICAgICBwcmludFBORyhzdXJmYWNlKTsK
KyAgICB9Cit9CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1
bXBTdXBwb3J0Q2Fpcm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jYWlyby9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaAkocmV2aXNpb24gMCkKKysrIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5oCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAoQykgMjAwOSBCcmVudCBGdWxn
aGFtIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGl4ZWxEdW1wU3VwcG9ydENhaXJvX2gK
KyNkZWZpbmUgUGl4ZWxEdW1wU3VwcG9ydENhaXJvX2gKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CisKKyNpZiBQTEFURk9STShXSU4pCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1
ZGUgPGNhaXJvLXdpbjMyLmg+CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX2NhaXJvKiBDYWly
b0NvbnRleHRSZWY7CisKKyNpZiBQTEFURk9STShXSU4pCit0eXBlZGVmIEhCSVRNQVAgUGxhdGZv
cm1CaXRtYXBCdWZmZXI7CisjZWxzZQordHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUJpdG1hcEJ1ZmZl
cjsKKyNlbmRpZgorCitjbGFzcyBCaXRtYXBDb250ZXh0IDogcHVibGljIFJlZkNvdW50ZWQ8Qml0
bWFwQ29udGV4dD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcENvbnRl
eHQ+IGNyZWF0ZUJ5QWRvcHRpbmdCaXRtYXBBbmRDb250ZXh0KFBsYXRmb3JtQml0bWFwQnVmZmVy
IGJ1ZmZlciwgQ2Fpcm9Db250ZXh0UmVmIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEJpdG1hcENvbnRleHQoYnVmZmVyLCBjb250ZXh0KSk7CisgICAgfQorCisg
ICAgfkJpdG1hcENvbnRleHQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyKQorI2lmIFBM
QVRGT1JNKFdJTikKKyAgICAgICAgICAgIERlbGV0ZU9iamVjdChtX2J1ZmZlcik7CisjZWxzZQor
ICAgICAgICAgICAgZnJlZShtX2J1ZmZlcik7CisjZW5kaWYKKyAgICB9CisKKyAgICBDYWlyb0Nv
bnRleHRSZWYgY2Fpcm9Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9
CisKK3ByaXZhdGU6CisKKyAgICBCaXRtYXBDb250ZXh0KFBsYXRmb3JtQml0bWFwQnVmZmVyIGJ1
ZmZlciwgQ2Fpcm9Db250ZXh0UmVmIGNvbnRleHQpCisgICAgICAgIDogbV9idWZmZXIoYnVmZmVy
KQorICAgICAgICAsIG1fY29udGV4dChBZG9wdENGLCBjb250ZXh0KQorICAgIHsKKyAgICB9CisK
KyAgICBQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBtX2J1ZmZlcjsKKyAgICBSZXRhaW5QdHI8Q2Fpcm9D
b250ZXh0UmVmPiBtX2NvbnRleHQ7CisKK307CisKK1Bhc3NSZWZQdHI8Qml0bWFwQ29udGV4dD4g
Y3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJvb2wgb25zY3JlZW4sIGJvb2wgaW5jcmVt
ZW50YWxSZXBhaW50LCBib29sIHN3ZWVwSG9yaXpvbnRhbGx5LCBib29sIGRyYXdTZWxlY3Rpb25S
ZWN0KTsKKworI2VuZGlmIC8vIFBpeGVsRHVtcFN1cHBvcnRDYWlyb19oCkluZGV4OiBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlz
aW9uIDQ0ODc4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsOSBAQAogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d2luZG93cy5o
PgorI2lmIFBMQVRGT1JNKENGTkVUV09SSykKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxDYWNo
ZVByaXYuaD4KKyNlbmRpZgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9u
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KICNpbmNsdWRl
IDxXZWJLaXQvV2ViS2l0Lmg+CkBAIC0xMDQyLDYgKzEwNDQsNyBAQCBJV2ViVmlldyogY3JlYXRl
V2ViVmlld0FuZE9mZnNjcmVlbldpbmRvCiAgICAgcmV0dXJuIHdlYlZpZXc7CiB9CiAKKyNpZiBQ
TEFURk9STShDRk5FVFdPUkspCiBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gc2hhcmVkQ0ZVUkxD
YWNoZSgpCiB7CiAgICAgSE1PRFVMRSBtb2R1bGUgPSBHZXRNb2R1bGVIYW5kbGUoVEVYVCgiQ0ZO
ZXR3b3JrX2RlYnVnLmRsbCIpKTsKQEAgLTEwNjAsNiArMTA2Myw3IEBAIFJldGFpblB0cjxDRlVS
TENhY2hlUmVmPiBzaGFyZWRDRlVSTENhY2gKIAogICAgIHJldHVybiAwOwogfQorI2VuZGlmCiAK
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiB7CkBAIC0xMTE2LDggKzExMjAsMTAg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBpZiAoRkFJTEVEKHdlYlZp
ZXctPm1haW5GcmFtZSgmZnJhbWUpKSkKICAgICAgICAgcmV0dXJuIC0xOwogCisjaWYgUExBVEZP
Uk0oQ0ZORVRXT1JLKQogICAgIFJldGFpblB0cjxDRlVSTENhY2hlUmVmPiB1cmxDYWNoZSA9IHNo
YXJlZENGVVJMQ2FjaGUoKTsKICAgICBDRlVSTENhY2hlUmVtb3ZlQWxsQ2FjaGVkUmVzcG9uc2Vz
KHVybENhY2hlLmdldCgpKTsKKyNlbmRpZgogCiAjaWZkZWYgX0RFQlVHCiAgICAgX0NydE1lbVN0
YXRlIGVudHJ5VG9NYWluTWVtQ2hlY2twb2ludDsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvagkocmV2aXNpb24gNDQ4
NzgpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMxLDE1MSBAQAogCQkJCUNvbW1hbmRMaW5l
PSJpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZGVs
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBOyYj
eDBEOyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmluZWQgUFJPRFVD
VElPTiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBu
b3QgZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQo
TGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gwQTsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3Vu
ZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxD
Rk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZv
dW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ29y
ZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChM
aWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cZG5zc2QuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXGljdWR0NDAuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGljdWR0NDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieG1sMiQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhz
bHQkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXFNRTGl0ZTMk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTsiDQogCQkJLz4NCiAJCTwvQ29uZmlndXJhdGlvbj4NCisJCTxDb25maWd1cmF0aW9u
DQorCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJQ29uZmlndXJhdGlvblR5cGU9IjEi
DQorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29s
c1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3By
b3BzXGRlYnVnLnZzcHJvcHMiDQorCQkJQ2hhcmFjdGVyU2V0PSIxIg0KKwkJCT4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ic2V0
IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3aW5cYmluOyVQQVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBncmVwIFhYJChQcm9q
ZWN0TmFtZSlYWCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gw
RDsmI3gwQTtpZiBlcnJvcmxldmVsIDEgZXhpdCAxJiN4MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVj
dE5hbWUpWFggJmd0OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsm
I3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZSZxdW90OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7
TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndh
cmRpbmdIZWFkZXJzJnF1b3Q7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2FyZGluZ0hlYWRlcnNcd3Rm
JnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcKi5oJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90
OyYjeDBEOyYjeDBBOyINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ3VzdG9tQnVp
bGRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9y
VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2Vu
ZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTUlETFRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXGNhaXJvJnF1
b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxJbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxJbmNsdWRlXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1
ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3Jl
Rm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVy
c1xHTlVDb21wYXRpYmlsaXR5JnF1b3Q7Ig0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0i
X0NPTlNPTEUiDQorCQkJCURpc2FibGVTcGVjaWZpY1dhcm5pbmdzPSI0MTQ2Ig0KKwkJCQlGb3Jj
ZWRJbmNsdWRlRmlsZXM9IkR1bXBSZW5kZXJUcmVlUHJlZml4LmgiDQorCQkJLz4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ikph
dmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBXZWJLaXRHVUlEJChXZWJL
aXRDb25maWdTdWZmaXgpLmxpYiBXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIENG
TGl0ZV9EZWJ1Zy5saWIgY2Fpcm8ubGliIGpwZWcubGliIGxpYnBuZy5saWIgbGliY3VybF9pbXAu
bGliIHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBnZGkzMi5saWIgb2xlMzIu
bGliIG9sZWF1dDMyLmxpYiB1c2VyMzIubGliIHNobHdhcGkubGliIG9sZWFjYy5saWIiDQorCQkJ
CUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiINCisJCQkJRGVsYXlMb2FkRExMcz0iIg0K
KwkJCQlTdWJTeXN0ZW09IjEiDQorCQkJCVRhcmdldE1hY2hpbmU9IjEiDQorCQkJLz4NCisJCQk8
VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYRENN
YWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCisJCQkvPg0KKwkJCTxU
b29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJ
CQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0iaWYgZXhpc3QgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7IGRlbCAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBu
b3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBST0RVQ1RJT04gZXhpdCAvYikm
I3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7aWYgbm90IGV4aXN0ICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdT
dWZmaXgpLmRsbCZxdW90OyBleGl0IC9iJiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFy
eUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVv
dDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAv
ZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uLnJlc291
cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENvcmVGb3VuZGF0aW9uLnJl
c291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFw
aGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGRuc3NkLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxpY3VkdDQwLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxp
Y3VkdDQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAkKExpYnJhcnlDb25maWdTdWZm
aXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChM
aWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXGxpYnhtbDIkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxsaWJ4c2x0JChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRo
cmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmln
U3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cU1FMaXRl
MyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJ
CS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+DQorCQk8Q29uZmlndXJhdGlvbg0KKwkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQorCQkJSW5oZXJp
dGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3BzXGNv
bW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3BzXHJlbGVhc2Uu
dnNwcm9wcyINCisJCQlDaGFyYWN0ZXJTZXQ9IjEiDQorCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0
aW9uPSIxIg0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29s
Ig0KKwkJCQlDb21tYW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3aW5cYmluOyVQ
QVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZh
aWxlZCZxdW90OyBncmVwIFhYJChQcm9qZWN0TmFtZSlYWCAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTtpZiBlcnJvcmxldmVsIDEgZXhpdCAxJiN4
MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVjdE5hbWUpWFggJmd0OyAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0
O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZSZxdW90
OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNs
dWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7JiN4MEQ7JiN4MEE7bWtk
aXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRy
ZWVcRm9yd2FyZGluZ0hlYWRlcnNcd3RmJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcKi5o
JnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZv
cndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyINCisJCQkvPg0KKwkJCTxUb29s
DQorCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQor
CQkJCU5hbWU9IlZDTUlETFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDsk
KFByb2plY3REaXIpXC4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXGNhaXJvJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNs
dWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXER1bXBSZW5kZXJUcmVl
XEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRl
XEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRl
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7
OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVy
cyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlv
blxPU1hDb21wYXRpYmlsaXR5SGVhZGVyc1xHTlVDb21wYXRpYmlsaXR5JnF1b3Q7Ig0KKwkJCQlQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQorCQkJCURpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPSI0MTQ2Ig0KKwkJCQlGb3JjZWRJbmNsdWRlRmlsZXM9IkR1bXBSZW5kZXJUcmVlUHJl
Zml4LmgiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNv
bXBpbGVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21w
aWxlclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQorCQkJCUFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM9IkphdmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZm
aXgpLmxpYiBXZWJLaXRHVUlEJChXZWJLaXRDb25maWdTdWZmaXgpLmxpYiBXZWJLaXQkKFdlYktp
dERMTENvbmZpZ1N1ZmZpeCkubGliIENGTGl0ZS5saWIgY2Fpcm8ubGliIGpwZWcubGliIGxpYnBu
Zy5saWIgbGliY3VybF9pbXAubGliIHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmxp
YiBnZGkzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1c2VyMzIubGliIHNobHdhcGkubGli
IG9sZWFjYy5saWIiDQorCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiINCisJCQkJ
RGVsYXlMb2FkRExMcz0iIg0KKwkJCQlTdWJTeXN0ZW09IjEiDQorCQkJCVRhcmdldE1hY2hpbmU9
IjEiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wN
CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDQnNjTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9v
bCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5k
TGluZT0iaWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7
IGRlbCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBS
T0RVQ1RJT04gZXhpdCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7
aWYgbm90IGV4aXN0ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRp
b24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyBleGl0IC9iJiN4MEQ7JiN4MEE7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3Jl
Rm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5w
ZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENv
cmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
XENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9l
IC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGlj
cyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGRuc3NkLmRsbCZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAk
KExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRi
JnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29w
eSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhtbDIkKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxs
aWJ4c2x0JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxp
dGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlD
b25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+DQogCTwvQ29uZmlndXJh
dGlvbnM+DQogCTxSZWZlcmVuY2VzPg0KIAk8L1JlZmVyZW5jZXM+DQpAQCAtMzcyLDEyICs1MTcs
MTAwIEBACiAJCQk+DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KKwkJCVJlbGF0aXZlUGF0aD0iLi5c
Y2Fpcm9cUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmNwcCINCisJCQk+DQorCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCTwvRmlsZT4NCisJCTxGaWxl
DQorCQkJUmVsYXRpdmVQYXRoPSIuLlxjYWlyb1xQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCINCisJ
CQk+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFt
ZT0iVkNDdXN0b21CdWlsZFRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9
IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0K
KwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJ
TmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCTwvRmlsZT4NCisJCTxGaWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlxjZ1xQaXhlbER1
bXBTdXBwb3J0Q0cuY3BwIg0KIAkJCT4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkvPg0K
KwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkv
Pg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KIAkJCVJl
bGF0aXZlUGF0aD0iLi5cY2dcUGl4ZWxEdW1wU3VwcG9ydENHLmgiDQogCQkJPg0KKwkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ3Vz
dG9tQnVpbGRUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJW
Q0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBhdGg9Ii5cUGl4ZWxEdW1wU3VwcG9ydFdp
bi5jcHAiDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1
cHBvcnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAkocmV2aXNpb24gNDQ4NzgpCisrKyBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDEwICsyNywxNSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBQ
TEFURk9STShDRykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0Lmg+CiAj
aW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENHLmgiCisjZWxzZQorI2luY2x1ZGUgPGNhaXJvLXdp
bjMyLmg+CisjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgiCisjZW5kaWYKIAogI2lu
Y2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQml0bWFw
Q29udGV4dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCkBAIC02MCw5ICs2NSwxOSBAQCBQYXNzUmVmUHRyPEJpdG1hcENvbnRleHQ+
IGNyZWF0ZUJpdG1hcENvCiAgICAgR2V0T2JqZWN0KGJpdG1hcCwgc2l6ZW9mKGluZm8pLCAmaW5m
byk7CiAgICAgQVNTRVJUKGluZm8uYm1CaXRzUGl4ZWwgPT0gMzIpOwogCisjaWYgUExBVEZPUk0o
Q0cpCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29sb3JTcGFjZShBZG9wdENGLCBD
R0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKSk7CiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQg
PSBDR0JpdG1hcENvbnRleHRDcmVhdGUoaW5mby5ibUJpdHMsIGluZm8uYm1XaWR0aCwgaW5mby5i
bUhlaWdodCwgOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluZm8uYm1XaWR0aEJ5dGVzLCBjb2xvclNwYWNlLmdldCgpLCBrQ0dCaXRtYXBCeXRlT3Jk
ZXIzMkxpdHRsZSB8IGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkRmlyc3QpOworI2VsaWYgUExB
VEZPUk0oQ0FJUk8pCisgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IGNhaXJvX2ltYWdlX3N1
cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKCh1bnNpZ25lZCBjaGFyKilpbmZvLmJtQml0cywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FJUk9fRk9STUFUX0FS
R0IzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5m
by5ibVdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmZvLmJtSGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmZvLmJtV2lkdGhCeXRlcyk7CisgICAgY2Fpcm9fdCogY29udGV4dCA9IGNhaXJv
X2NyZWF0ZShpbWFnZSk7CisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGltYWdlKTsKKyNlbmRp
ZgogCiAgICAgcmV0dXJuIEJpdG1hcENvbnRleHQ6OmNyZWF0ZUJ5QWRvcHRpbmdCaXRtYXBBbmRD
b250ZXh0KGJpdG1hcCwgY29udGV4dCk7CiB9Cg==
</data>
<flag name="review"
          id="16210"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32087</attachid>
            <date>2009-06-30 13:33:03 -0700</date>
            <delta_ts>2009-07-02 11:17:59 -0700</delta_ts>
            <desc>Revised per Eric&apos;s comments.</desc>
            <filename>drt_cairo_win.patch</filename>
            <type>text/plain</type>
            <size>43650</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L3dpbi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ1MzkzKQ0KKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMSwzICsxLDE0IEBADQorMjAwOS0wNi0zMCAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGdtYWlsLmNvbT4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLg0KKw0KKyAgICAgICAgQnVpbGQgRHVtcFJlbmRlclRyZWUgdW5kZXIgQ2Fpcm8uDQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY0NTcNCisNCisg
ICAgICAgICogV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuOiBBZGQgQ2Fpcm8gdGFyZ2V0cyB0byB0
aGUNCisgICAgICAgICAgRHVtcFJlbmRlclRyZWUgYnVpbGQsIGFuZCB1c2UgdGhlIGluIHRoZSBE
ZWJ1Z19DYWlybw0KKyAgICAgICAgICBhbmQgUmVsZWFzZV9DYWlybyB0YXJnZXRzLg0KKw0KIDIw
MDktMDYtMjkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPg0KIA0KICAgICAgICAgRml4
IFdpbmRvd3MgYnVzdGFnZS4gIE1pc3NlZCB0d28gY29uZmlndXJhdGlvbnMgZm9yIGVuYWJsaW5n
IERBVEFHUklELg0KSW5kZXg6IFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4JKHJldmlz
aW9uIDQ1MzU1KQ0KKysrIFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMTM0LDE0ICsxMzQsMTQgQEAgR2xvYmFsDQogCQl7MUMxNjMzN0ItQUNG
My00RDAzLUFBOTAtODUxQzVCNUVBREE2fS5SZWxlYXNlX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBS
ZWxlYXNlX0NhaXJvfFdpbjMyDQogCQl7MUMxNjMzN0ItQUNGMy00RDAzLUFBOTAtODUxQzVCNUVB
REE2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXsxQzE2MzM3
Qi1BQ0YzLTREMDMtQUE5MC04NTFDNUI1RUFEQTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJl
bGVhc2V8V2luMzINCi0JCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRl
YnVnX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NjU2N0RGRDQtRDZE
RS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19DYWlyb3xXaW4zMi5CdWlsZC4wID0gRGVi
dWd8V2luMzINCisJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVn
X0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnX0NhaXJvfFdpbjMyDQorCQl7NjU2N0RGRDQt
RDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19DYWlyb3xXaW4zMi5CdWlsZC4wID0g
RGVidWdfQ2Fpcm98V2luMzINCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYw
RTF9LkRlYnVnX0ludGVybmFsfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnX0ludGVybmFsfFdpbjMy
DQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19JbnRlcm5h
bHxXaW4zMi5CdWlsZC4wID0gRGVidWdfSW50ZXJuYWx8V2luMzINCiAJCXs2NTY3REZENC1ENkRF
LTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdp
bjMyDQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0Uz
NTNEMTYwRTF9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0K
LQkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uUmVsZWFzZV9DYWlyb3xX
aW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezY1NjdERkQ0LUQ2REUtNENENS04MjVE
LTE3RTM1M0QxNjBFMX0uUmVsZWFzZV9DYWlyb3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlX0Nh
aXJvfFdpbjMyDQorCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxl
YXNlX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlX0NhaXJvfFdpbjMyDQogCQl7NjU2N0RG
RDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9
IFJlbGVhc2V8V2luMzINCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9
LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtDMDczNzM5OC0zNTY1
LTQzOUUtQTJCOC1BQjJCRTRENTQzMEN9LkRlYnVnX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERl
YnVnfFdpbjMyDQpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NTM5MykNCisrKyBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMzggQEANCisyMDA5LTA2LTMwICBV
LWJmdWxnaGFtLVBDXGJmdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4NCisNCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgQWRkIGJ1aWxkIHN1cHBv
cnQgZm9yIGEgV2luZG93cyBDYWlybyB2ZXJzaW9uIG9mDQorICAgICAgICBEdW1wUmVuZGVyVHJl
ZS4gIFNoYXJlIGFzIG11Y2ggbG9naWMgYmV0d2VlbiB0aGUNCisgICAgICAgIENHIGFuZCBDYWly
byBidWlsZHMgYXMgcG9zc2libGUuDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjY0NTcNCisNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvUGl4ZWxE
dW1wU3VwcG9ydC5jcHA6IEFkZGVkLg0KKyAgICAgICAgKGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRD
b21wYXJlV2l0aEV4cGVjdGVkKToNCisgICAgICAgIChwcmludFBORyk6DQorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQuaDoNCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2Fpcm86IEFkZGVkLg0KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1
bXBTdXBwb3J0Q2Fpcm8uY3BwOiBBZGRlZC4NCisgICAgICAgICh3cml0ZUZ1bmN0aW9uKToNCisg
ICAgICAgIChwcmludFBORyk6DQorICAgICAgICAoY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRt
YXBDb250ZXh0KToNCisgICAgICAgIChkdW1wQml0bWFwKToNCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmg6IEFkZGVkLg0KKyAgICAgICAgKEJp
dG1hcENvbnRleHQ6OmNyZWF0ZUJ5QWRvcHRpbmdCaXRtYXBBbmRDb250ZXh0KToNCisgICAgICAg
IChCaXRtYXBDb250ZXh0Ojp+Qml0bWFwQ29udGV4dCk6DQorICAgICAgICAoQml0bWFwQ29udGV4
dDo6Y2Fpcm9Db250ZXh0KToNCisgICAgICAgIChCaXRtYXBDb250ZXh0OjpCaXRtYXBDb250ZXh0
KToNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmNwcDoN
CisgICAgICAgIChwcmludFBORyk6DQorICAgICAgICAoY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JC
aXRtYXBDb250ZXh0KToNCisgICAgICAgIChkdW1wQml0bWFwKToNCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmg6DQorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6DQorICAgICAgICAobWFpbik6DQorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2o6DQorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcDoNCisgICAgICAgIChjcmVh
dGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXcpOg0KKw0KIDIwMDktMDYtMzAgIEVyaWMgU2VpZGVs
ICA8ZXJpY0B3ZWJraXQub3JnPg0KIA0KICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNo
b3dpYWsuDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9y
dC5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9QaXhlbER1
bXBTdXBwb3J0LmNwcAkocmV2aXNpb24gMCkNCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9QaXhlbER1bXBTdXBwb3J0LmNwcAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsODUgQEANCisv
Kg0KKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
Lg0KKyAqDQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKg0K
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodA0KKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUNCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBv
ZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZg0KKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkDQorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZDQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRA0KKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUNCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
DQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMNCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7DQorICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EDQorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YNCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLg0KKyAqLw0KKw0KKyNpbmNsdWRlICJjb25maWcuaCINCisjaW5jbHVk
ZSAiUGl4ZWxEdW1wU3VwcG9ydC5oIg0KKyNpZiBQTEFURk9STShDRykNCisjaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NHQml0bWFwQ29udGV4dC5oPg0KKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0
Q0cuaCINCisjZWxzZQ0KKyNpbmNsdWRlIDxjYWlyby13aW4zMi5oPg0KKyNpbmNsdWRlICJQaXhl
bER1bXBTdXBwb3J0Q2Fpcm8uaCINCisjZW5kaWYNCisNCisjaW5jbHVkZSAiRHVtcFJlbmRlclRy
ZWUuaCINCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4NCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPg0KKyNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+DQorDQordm9pZCBkdW1wV2ViVmlld0FzUGl4ZWxzQW5kQ29tcGFyZVdpdGhF
eHBlY3RlZChjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRIYXNoKQ0KK3sNCisgICAgUmVmUHRy
PEJpdG1hcENvbnRleHQ+IGNvbnRleHQgPSBjcmVhdGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXco
Z0xheW91dFRlc3RDb250cm9sbGVyLT50ZXN0T25zY3JlZW4oKSwgZ0xheW91dFRlc3RDb250cm9s
bGVyLT50ZXN0UmVwYWludCgpLCBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnRlc3RSZXBhaW50U3dl
ZXBIb3Jpem9udGFsbHkoKSwgZ0xheW91dFRlc3RDb250cm9sbGVyLT5kdW1wU2VsZWN0aW9uUmVj
dCgpKTsNCisgICAgQVNTRVJUKGNvbnRleHQpOw0KKyAgICANCisgICAgLy8gQ29tcHV0ZSB0aGUg
aGFzaCBvZiB0aGUgYml0bWFwIGNvbnRleHQgcGl4ZWxzDQorICAgIGNoYXIgYWN0dWFsSGFzaFsz
M107DQorICAgIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dChjb250ZXh0LCBh
Y3R1YWxIYXNoKTsNCisgICAgcHJpbnRmKCJcbkFjdHVhbEhhc2g6ICVzXG4iLCBhY3R1YWxIYXNo
KTsNCisgICAgDQorICAgIC8vIENoZWNrIHRoZSBjb21wdXRlZCBoYXNoIGFnYWluc3QgdGhlIGV4
cGVjdGVkIG9uZSBhbmQgZHVtcCBpbWFnZSBvbiBtaXNtYXRjaA0KKyAgICBib29sIGR1bXBJbWFn
ZSA9IHRydWU7DQorICAgIGlmIChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPiAwKSB7DQorICAgICAg
ICBBU1NFUlQoZXhwZWN0ZWRIYXNoLmxlbmd0aCgpID09IDMyKTsNCisgICAgICAgIA0KKyAgICAg
ICAgcHJpbnRmKCJcbkV4cGVjdGVkSGFzaDogJXNcbiIsIGV4cGVjdGVkSGFzaC5jX3N0cigpKTsN
CisgICAgICAgIA0KKyAgICAgICAgaWYgKGV4cGVjdGVkSGFzaCA9PSBhY3R1YWxIYXNoKSAgICAg
Ly8gRklYTUU6IGRvIGNhc2UgaW5zZW5zaXRpdmUgY29tcGFyZQ0KKyAgICAgICAgICAgIGR1bXBJ
bWFnZSA9IGZhbHNlOw0KKyAgICB9DQorICAgIA0KKyAgICBpZiAoZHVtcEltYWdlKQ0KKyAgICAg
IGR1bXBCaXRtYXAoY29udGV4dCk7DQorfQ0KKw0KK3ZvaWQgcHJpbnRQTkcoY29uc3Qgc2l6ZV90
IGRhdGFMZW5ndGgsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEpDQorew0KKyAgICBwcmludGYo
IkNvbnRlbnQtVHlwZTogJXNcbiIsICJpbWFnZS9wbmciKTsNCisgICAgcHJpbnRmKCJDb250ZW50
LUxlbmd0aDogJWx1XG4iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihkYXRhTGVuZ3RoKSk7
DQorDQorICAgIGNvbnN0IHNpemVfdCBieXRlc1RvV3JpdGVJbk9uZUNodW5rID0gMSA8PCAxNTsN
CisgICAgc2l6ZV90IGRhdGFSZW1haW5pbmdUb1dyaXRlID0gZGF0YUxlbmd0aDsNCisgICAgd2hp
bGUgKGRhdGFSZW1haW5pbmdUb1dyaXRlKSB7DQorICAgICAgICBzaXplX3QgYnl0ZXNUb1dyaXRl
SW5UaGlzQ2h1bmsgPSBzdGQ6Om1pbihkYXRhUmVtYWluaW5nVG9Xcml0ZSwgYnl0ZXNUb1dyaXRl
SW5PbmVDaHVuayk7DQorICAgICAgICBzaXplX3QgYnl0ZXNXcml0dGVuID0gZndyaXRlKGRhdGEs
IDEsIGJ5dGVzVG9Xcml0ZUluVGhpc0NodW5rLCBzdGRvdXQpOw0KKyAgICAgICAgaWYgKGJ5dGVz
V3JpdHRlbiAhPSBieXRlc1RvV3JpdGVJblRoaXNDaHVuaykNCisgICAgICAgICAgICBicmVhazsN
CisgICAgICAgIGRhdGFSZW1haW5pbmdUb1dyaXRlIC09IGJ5dGVzV3JpdHRlbjsNCisgICAgICAg
IGRhdGEgKz0gYnl0ZXNXcml0dGVuOw0KKyAgICB9DQorfQ0KSW5kZXg6IFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQuaAkocmV2aXNpb24gNDUzNTUpDQor
KysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9ydC5oCSh3b3JraW5n
IGNvcHkpDQpAQCAtMzIsNiArMzIsNyBAQA0KICNpbmNsdWRlIDxzdHJpbmc+DQogDQogdm9pZCBk
dW1wV2ViVmlld0FzUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3RlZChjb25zdCBzdGQ6OnN0cmlu
ZyYgZXhwZWN0ZWRIYXNoKTsNCit2b2lkIHByaW50UE5HKGNvbnN0IHNpemVfdCBkYXRhTGVuZ3Ro
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhKTsNCiANCiAjaWYgUExBVEZPUk0oTUFDKQ0KIA0K
SW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRD
YWlyby5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWly
by9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uY3BwCShyZXZpc2lvbiAwKQ0KKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAJKHJldmlzaW9u
IDApDQpAQCAtMCwwICsxLDEwMiBAQA0KKy8qDQorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKiAgICAgICAgICAgKEMpIDIwMDkgQnJlbnQg
RnVsZ2hhbSA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodA0KKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
DQorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YNCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQor
ICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQ0KKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQNCisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFDQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQ0KKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTDQorICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOw0KKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORA0KKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUDQorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GDQorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCisgKi8NCisNCisj
aW5jbHVkZSAiY29uZmlnLmgiDQorI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDYWlyby5oIg0K
Kw0KKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIg0KKyNpbmNsdWRlICJQaXhlbER1bXBTdXBw
b3J0LmgiDQorI2luY2x1ZGUgPGFsZ29yaXRobT4NCisjaW5jbHVkZSA8Y3R5cGUuaD4NCisjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4NCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPg0KKyNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+DQorI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4NCisN
CisjaWYgUExBVEZPUk0oV0lOKQ0KKyNpbmNsdWRlICJNRDUuaCINCisjZW5kaWYNCisNCit1c2lu
ZyBuYW1lc3BhY2Ugc3RkOw0KKw0KKyNpZiBQTEFURk9STShXSU4pDQorc3RhdGljIGNvbnN0IENG
U3RyaW5nUmVmIGtVVFR5cGVQTkcgPSBDRlNUUigicHVibGljLnBuZyIpOw0KKyNlbmRpZg0KKw0K
K3N0YXRpYyBjYWlyb19zdGF0dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIGNsb3N1cmUsIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGludCBsZW5ndGgpDQorew0KKyAgICBWZWN0
b3I8dW5zaWduZWQgY2hhcj4qIGluID0gcmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8dW5zaWduZWQg
Y2hhcj4qPihjbG9zdXJlKTsNCisgICAgaW4tPmFwcGVuZChkYXRhLCBsZW5ndGgpOw0KKyAgICBy
ZXR1cm4gQ0FJUk9fU1RBVFVTX1NVQ0NFU1M7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHByaW50UE5H
KGNhaXJvX3N1cmZhY2VfdCogaW1hZ2UpDQorew0KKyAgICBWZWN0b3I8dW5zaWduZWQgY2hhcj4g
cGl4ZWxkYXRhOw0KKyAgICAvLyBPbmx5IFBORyBvdXRwdXQgaXMgc3VwcG9ydGVkIGZvciBub3cu
DQorICAgIGNhaXJvX3N1cmZhY2Vfd3JpdGVfdG9fcG5nX3N0cmVhbShpbWFnZSwgd3JpdGVGdW5j
dGlvbiwgJnBpeGVsZGF0YSk7DQorDQorICAgIGNvbnN0IHNpemVfdCBkYXRhTGVuZ3RoID0gcGl4
ZWxkYXRhLnNpemUgKCk7DQorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEgPSAmcGl4ZWxk
YXRhWzBdOw0KKw0KKyAgICBwcmludFBORyAoZGF0YUxlbmd0aCwgZGF0YSk7DQorfQ0KKw0KK3Zv
aWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KFJlZlB0cjxCaXRtYXBDb250
ZXh0PiBjb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQ0KK3sNCisgICAgQ2Fpcm9Db250ZXh0
UmVmIGJpdG1hcENvbnRleHQgPSBjb250ZXh0LT5jYWlyb0NvbnRleHQoKTsNCisgICAgY2Fpcm9f
c3VyZmFjZV90KiBzdXJmYWNlID0gY2Fpcm9fZ2V0X3RhcmdldChiaXRtYXBDb250ZXh0KTsNCisN
CisgICAgQVNTRVJUKGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2Zvcm1hdChzdXJmYWNlKSA9PSBD
QUlST19GT1JNQVRfQVJHQjMyKTsgLy8gSW1hZ2VEaWZmIGFzc3VtZXMgMzIgYml0IFJHQkEsIHdl
IG11c3QgYXMgd2VsbC4NCisNCisgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBjYWlyb19pbWFnZV9z
dXJmYWNlX2dldF9oZWlnaHQoc3VyZmFjZSk7DQorICAgIHNpemVfdCBwaXhlbHNXaWRlID0gY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSk7DQorICAgIHNpemVfdCBieXRlc1Bl
clJvdyA9IHBpeGVsc1dpZGUgKiBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoc3VyZmFj
ZSk7DQorDQorICAgIC8vIFdlIG5lZWQgdG8gc3dhcCB0aGUgYnl0ZXMgdG8gZW5zdXJlIGNvbnNp
c3RlbnQgaGFzaGVzIGluZGVwZW5kZW50bHkgb2YgZW5kaWFubmVzcw0KKyAgICBNRDVfQ1RYIG1k
NUNvbnRleHQ7DQorICAgIE1ENV9Jbml0KCZtZDVDb250ZXh0KTsNCisgICAgdW5zaWduZWQgY2hh
ciogYml0bWFwRGF0YSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihjYWlyb19pbWFnZV9z
dXJmYWNlX2dldF9kYXRhKHN1cmZhY2UpKTsNCisgICAgZm9yICh1bnNpZ25lZCByb3cgPSAwOyBy
b3cgPCBwaXhlbHNIaWdoOyByb3crKykgew0KKyAgICAgICAgTUQ1X1VwZGF0ZSgmbWQ1Q29udGV4
dCwgYml0bWFwRGF0YSwgNCAqIHBpeGVsc1dpZGUpOw0KKyAgICAgICAgYml0bWFwRGF0YSArPSBi
eXRlc1BlclJvdzsNCisgICAgfQ0KKyAgICB1bnNpZ25lZCBjaGFyIGhhc2hbMTZdOw0KKyAgICBN
RDVfRmluYWwoaGFzaCwgJm1kNUNvbnRleHQpOw0KKw0KKyAgICBoYXNoU3RyaW5nWzBdID0gJ1ww
JzsNCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxNjsgaSsrKQ0KKyAgICAgICAgc25wcmludGYo
aGFzaFN0cmluZywgMzMsICIlcyUwMngiLCBoYXNoU3RyaW5nLCBoYXNoW2ldKTsNCit9DQorDQor
dm9pZCBkdW1wQml0bWFwKFJlZlB0cjxCaXRtYXBDb250ZXh0PiBjb250ZXh0KQ0KK3sNCisgICAg
Y2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlID0gY2Fpcm9fZ2V0X3RhcmdldChjb250ZXh0LT5jYWly
b0NvbnRleHQoKSk7DQorICAgIHByaW50UE5HKHN1cmZhY2UpOw0KK30NClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQ0KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1Bp
eGVsRHVtcFN1cHBvcnRDYWlyby5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgJKHJldmlzaW9uIDApDQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgJ
KHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDg3IEBADQorLyoNCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqICAgICAgICAgICAoQykgMjAw
OSBCcmVudCBGdWxnaGFtIDxiZnVsZ2hhbUB3ZWJraXQub3JnPg0KKyAqDQorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKg0KKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuDQorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4NCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZg0KKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkDQorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZDQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRA0KKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUNCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZDQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMNCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7DQorICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EDQorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQNCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YNCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KKyAq
Lw0KKw0KKyNpZm5kZWYgUGl4ZWxEdW1wU3VwcG9ydENhaXJvX2gNCisjZGVmaW5lIFBpeGVsRHVt
cFN1cHBvcnRDYWlyb19oDQorDQorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+DQorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+DQorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4NCisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPg0KKw0KKyNpZiBQTEFURk9STShXSU4pDQorI2luY2x1ZGUgPHdp
bmRvd3MuaD4NCisjaW5jbHVkZSA8Y2Fpcm8td2luMzIuaD4NCisjZW5kaWYNCisNCit0eXBlZGVm
IHN0cnVjdCBfY2Fpcm8qIENhaXJvQ29udGV4dFJlZjsNCisNCisjaWYgUExBVEZPUk0oV0lOKQ0K
K3R5cGVkZWYgSEJJVE1BUCBQbGF0Zm9ybUJpdG1hcEJ1ZmZlcjsNCisjZWxzZQ0KK3R5cGVkZWYg
dm9pZCogUGxhdGZvcm1CaXRtYXBCdWZmZXI7DQorI2VuZGlmDQorDQorY2xhc3MgQml0bWFwQ29u
dGV4dCA6IHB1YmxpYyBSZWZDb3VudGVkPEJpdG1hcENvbnRleHQ+IHsNCitwdWJsaWM6DQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcENvbnRleHQ+IGNyZWF0ZUJ5QWRvcHRpbmdCaXRtYXBB
bmRDb250ZXh0KFBsYXRmb3JtQml0bWFwQnVmZmVyIGJ1ZmZlciwgQ2Fpcm9Db250ZXh0UmVmIGNv
bnRleHQpDQorICAgIHsNCisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFwQ29udGV4
dChidWZmZXIsIGNvbnRleHQpKTsNCisgICAgfQ0KKw0KKyAgICB+Qml0bWFwQ29udGV4dCgpDQor
ICAgIHsNCisgICAgICAgIGlmIChtX2J1ZmZlcikNCisjaWYgUExBVEZPUk0oV0lOKQ0KKyAgICAg
ICAgICAgIERlbGV0ZU9iamVjdChtX2J1ZmZlcik7DQorI2Vsc2UNCisgICAgICAgICAgICBmcmVl
KG1fYnVmZmVyKTsNCisjZW5kaWYNCisgICAgfQ0KKw0KKyAgICBDYWlyb0NvbnRleHRSZWYgY2Fp
cm9Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9DQorDQorcHJpdmF0
ZToNCisNCisgICAgQml0bWFwQ29udGV4dChQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBidWZmZXIsIENh
aXJvQ29udGV4dFJlZiBjb250ZXh0KQ0KKyAgICAgICAgOiBtX2J1ZmZlcihidWZmZXIpDQorICAg
ICAgICAsIG1fY29udGV4dChBZG9wdENGLCBjb250ZXh0KQ0KKyAgICB7DQorICAgIH0NCisNCisg
ICAgUGxhdGZvcm1CaXRtYXBCdWZmZXIgbV9idWZmZXI7DQorICAgIFJldGFpblB0cjxDYWlyb0Nv
bnRleHRSZWY+IG1fY29udGV4dDsNCisNCit9Ow0KKw0KK1Bhc3NSZWZQdHI8Qml0bWFwQ29udGV4
dD4gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJvb2wgb25zY3JlZW4sIGJvb2wgaW5j
cmVtZW50YWxSZXBhaW50LCBib29sIHN3ZWVwSG9yaXpvbnRhbGx5LCBib29sIGRyYXdTZWxlY3Rp
b25SZWN0KTsNCit2b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dChSZWZQ
dHI8Qml0bWFwQ29udGV4dD4sIGNoYXIgaGFzaFN0cmluZ1szM10pOw0KK3ZvaWQgZHVtcEJpdG1h
cChSZWZQdHI8Qml0bWFwQ29udGV4dD4pOw0KKw0KKyNlbmRpZiAvLyBQaXhlbER1bXBTdXBwb3J0
Q2Fpcm9faA0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmNwcA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5jcHAJKHJl
dmlzaW9uIDQ1MzU1KQ0KKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVt
cFN1cHBvcnRDRy5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zMiw3ICszMiw3IEBADQogI2luY2x1
ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5oIg0KIA0KICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5o
Ig0KLSNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIg0KKyNpbmNsdWRlICJQaXhlbER1
bXBTdXBwb3J0LmgiDQogI2luY2x1ZGUgPEltYWdlSU8vQ0dJbWFnZURlc3RpbmF0aW9uLmg+DQog
I2luY2x1ZGUgPGFsZ29yaXRobT4NCiAjaW5jbHVkZSA8Y3R5cGUuaD4NCkBAIC02NSwyMyArNjUs
MTMgQEAgc3RhdGljIHZvaWQgcHJpbnRQTkcoQ0dJbWFnZVJlZiBpbWFnZSkNCiAgICAgY29uc3Qg
VUludDgqIGRhdGEgPSBDRkRhdGFHZXRCeXRlUHRyKGltYWdlRGF0YS5nZXQoKSk7DQogICAgIENG
SW5kZXggZGF0YUxlbmd0aCA9IENGRGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOw0KIA0K
LSAgICBwcmludGYoIkNvbnRlbnQtVHlwZTogJXNcbiIsICJpbWFnZS9wbmciKTsNCi0gICAgcHJp
bnRmKCJDb250ZW50LUxlbmd0aDogJWx1XG4iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihk
YXRhTGVuZ3RoKSk7DQotDQotICAgIGNvbnN0IHNpemVfdCBieXRlc1RvV3JpdGVJbk9uZUNodW5r
ID0gMSA8PCAxNTsNCi0gICAgc2l6ZV90IGRhdGFSZW1haW5pbmdUb1dyaXRlID0gZGF0YUxlbmd0
aDsNCi0gICAgd2hpbGUgKGRhdGFSZW1haW5pbmdUb1dyaXRlKSB7DQotICAgICAgICBzaXplX3Qg
Ynl0ZXNUb1dyaXRlSW5UaGlzQ2h1bmsgPSBtaW4oZGF0YVJlbWFpbmluZ1RvV3JpdGUsIGJ5dGVz
VG9Xcml0ZUluT25lQ2h1bmspOw0KLSAgICAgICAgc2l6ZV90IGJ5dGVzV3JpdHRlbiA9IGZ3cml0
ZShkYXRhLCAxLCBieXRlc1RvV3JpdGVJblRoaXNDaHVuaywgc3Rkb3V0KTsNCi0gICAgICAgIGlm
IChieXRlc1dyaXR0ZW4gIT0gYnl0ZXNUb1dyaXRlSW5UaGlzQ2h1bmspDQotICAgICAgICAgICAg
YnJlYWs7DQotICAgICAgICBkYXRhUmVtYWluaW5nVG9Xcml0ZSAtPSBieXRlc1dyaXR0ZW47DQot
ICAgICAgICBkYXRhICs9IGJ5dGVzV3JpdHRlbjsNCi0gICAgfQ0KKyAgICBwcmludFBORyhzdGF0
aWNfY2FzdDxzaXplX3Q+KGRhdGFMZW5ndGgpLCBzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBj
aGFyKj4oZGF0YSkpOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBjb21wdXRlTUQ1SGFzaFN0cmluZ0Zv
ckJpdG1hcENvbnRleHQoQ0dDb250ZXh0UmVmIGJpdG1hcENvbnRleHQsIGNoYXIgaGFzaFN0cmlu
Z1szM10pDQordm9pZCBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQoUmVmUHRy
PEJpdG1hcENvbnRleHQ+IGNvbnRleHQsIGNoYXIgaGFzaFN0cmluZ1szM10pDQogew0KKyAgICBD
R0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCA9IGNvbnRleHQtPmNnQ29udGV4dCgpOw0KKw0KICAg
ICBBU1NFUlQoQ0dCaXRtYXBDb250ZXh0R2V0Qml0c1BlclBpeGVsKGJpdG1hcENvbnRleHQpID09
IDMyKTsgLy8gSW1hZ2VEaWZmIGFzc3VtZXMgMzIgYml0IFJHQkEsIHdlIG11c3QgYXMgd2VsbC4N
CiAgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBDR0JpdG1hcENvbnRleHRHZXRIZWlnaHQoYml0bWFw
Q29udGV4dCk7DQogICAgIHNpemVfdCBwaXhlbHNXaWRlID0gQ0dCaXRtYXBDb250ZXh0R2V0V2lk
dGgoYml0bWFwQ29udGV4dCk7DQpAQCAtMTE2LDMxICsxMDYsOCBAQCBzdGF0aWMgdm9pZCBjb21w
dXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hDQogICAgICAgICBzbnByaW50ZihoYXNoU3RyaW5nLCAz
MywgIiVzJTAyeCIsIGhhc2hTdHJpbmcsIGhhc2hbaV0pOw0KIH0NCiANCi12b2lkIGR1bXBXZWJW
aWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBl
Y3RlZEhhc2gpDQordm9pZCBkdW1wQml0bWFwKFJlZlB0cjxCaXRtYXBDb250ZXh0PiBjb250ZXh0
KQ0KIHsNCi0gICAgUmVmUHRyPEJpdG1hcENvbnRleHQ+IGNvbnRleHQ7DQotICAgIA0KLSAgICBj
b250ZXh0ID0gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGdMYXlvdXRUZXN0Q29udHJv
bGxlci0+dGVzdE9uc2NyZWVuKCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFpbnQo
KSwgZ0xheW91dFRlc3RDb250cm9sbGVyLT50ZXN0UmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5KCks
IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcFNlbGVjdGlvblJlY3QoKSk7DQotICAgIEFTU0VS
VChjb250ZXh0KTsNCi0gICAgDQotICAgIC8vIENvbXB1dGUgdGhlIGhhc2ggb2YgdGhlIGJpdG1h
cCBjb250ZXh0IHBpeGVscw0KLSAgICBjaGFyIGFjdHVhbEhhc2hbMzNdOw0KLSAgICBjb21wdXRl
TUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQoY29udGV4dC0+Y2dDb250ZXh0KCksIGFjdHVh
bEhhc2gpOw0KLSAgICBwcmludGYoIlxuQWN0dWFsSGFzaDogJXNcbiIsIGFjdHVhbEhhc2gpOw0K
LSAgICANCi0gICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIGhhc2ggYWdhaW5zdCB0aGUgZXhwZWN0
ZWQgb25lIGFuZCBkdW1wIGltYWdlIG9uIG1pc21hdGNoDQotICAgIGJvb2wgZHVtcEltYWdlID0g
dHJ1ZTsNCi0gICAgaWYgKGV4cGVjdGVkSGFzaC5sZW5ndGgoKSA+IDApIHsNCi0gICAgICAgIEFT
U0VSVChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPT0gMzIpOw0KLSAgICAgICAgDQotICAgICAgICBw
cmludGYoIlxuRXhwZWN0ZWRIYXNoOiAlc1xuIiwgZXhwZWN0ZWRIYXNoLmNfc3RyKCkpOw0KLSAg
ICAgICAgDQotICAgICAgICBpZiAoZXhwZWN0ZWRIYXNoID09IGFjdHVhbEhhc2gpICAgICAvLyBG
SVhNRTogZG8gY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJlDQotICAgICAgICAgICAgZHVtcEltYWdl
ID0gZmFsc2U7DQotICAgIH0NCi0gICAgDQotICAgIGlmIChkdW1wSW1hZ2UpIHsNCi0gICAgICAg
IFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBDR0JpdG1hcENvbnRleHRDcmVh
dGVJbWFnZShjb250ZXh0LT5jZ0NvbnRleHQoKSkpOw0KLSAgICAgICAgcHJpbnRQTkcoaW1hZ2Uu
Z2V0KCkpOw0KLSAgICB9DQorICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENG
LCBDR0JpdG1hcENvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0LT5jZ0NvbnRleHQoKSkpOw0KKyAg
ICBwcmludFBORyhpbWFnZS5nZXQoKSk7DQogfQ0KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmgJKHJldmlzaW9uIDQ1MzU1
KQ0KKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5o
CSh3b3JraW5nIGNvcHkpDQpAQCAtMzMsNiArMzMsNyBAQA0KIA0KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPg0KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPg0KKyNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+DQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4NCiANCiAjaWYgUExBVEZPUk0o
V0lOKQ0KQEAgLTgwLDUgKzgxLDcgQEAgcHJpdmF0ZToNCiB9Ow0KIA0KIFBhc3NSZWZQdHI8Qml0
bWFwQ29udGV4dD4gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJvb2wgb25zY3JlZW4s
IGJvb2wgaW5jcmVtZW50YWxSZXBhaW50LCBib29sIHN3ZWVwSG9yaXpvbnRhbGx5LCBib29sIGRy
YXdTZWxlY3Rpb25SZWN0KTsNCit2b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29u
dGV4dChSZWZQdHI8Qml0bWFwQ29udGV4dD4sIGNoYXIgaGFzaFN0cmluZ1szM10pOw0KK3ZvaWQg
ZHVtcEJpdG1hcChSZWZQdHI8Qml0bWFwQ29udGV4dD4pOw0KIA0KICNlbmRpZiAvLyBQaXhlbER1
bXBTdXBwb3J0Q0dfaA0KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiA0NTM1NSkNCisrKyBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpDQpA
QCAtNTAsNyArNTAsOSBAQA0KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+DQogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4NCiAjaW5jbHVkZSA8d2luZG93cy5oPg0KKyNpZiBQTEFURk9STShDRk5F
VFdPUkspDQogI2luY2x1ZGUgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5oPg0KKyNlbmRpZg0K
ICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPg0KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPg0KICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0
Lmg+DQpAQCAtMTA0Miw2ICsxMDQ0LDcgQEAgSVdlYlZpZXcqIGNyZWF0ZVdlYlZpZXdBbmRPZmZz
Y3JlZW5XaW5kbw0KICAgICByZXR1cm4gd2ViVmlldzsNCiB9DQogDQorI2lmIFBMQVRGT1JNKENG
TkVUV09SSykNCiBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gc2hhcmVkQ0ZVUkxDYWNoZSgpDQog
ew0KICAgICBITU9EVUxFIG1vZHVsZSA9IEdldE1vZHVsZUhhbmRsZShURVhUKCJDRk5ldHdvcmtf
ZGVidWcuZGxsIikpOw0KQEAgLTEwNjAsNiArMTA2Myw3IEBAIFJldGFpblB0cjxDRlVSTENhY2hl
UmVmPiBzaGFyZWRDRlVSTENhY2gNCiANCiAgICAgcmV0dXJuIDA7DQogfQ0KKyNlbmRpZg0KIA0K
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pDQogew0KQEAgLTExMjgsOCArMTEzMiwx
MCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQ0KICAgICBpZiAoRkFJTEVEKHdl
YlZpZXctPm1haW5GcmFtZSgmZnJhbWUpKSkNCiAgICAgICAgIHJldHVybiAtMTsNCiANCisjaWYg
UExBVEZPUk0oQ0ZORVRXT1JLKQ0KICAgICBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gdXJsQ2Fj
aGUgPSBzaGFyZWRDRlVSTENhY2hlKCk7DQogICAgIENGVVJMQ2FjaGVSZW1vdmVBbGxDYWNoZWRS
ZXNwb25zZXModXJsQ2FjaGUuZ2V0KCkpOw0KKyNlbmRpZg0KIA0KICNpZmRlZiBfREVCVUcNCiAg
ICAgX0NydE1lbVN0YXRlIGVudHJ5VG9NYWluTWVtQ2hlY2twb2ludDsNCkluZGV4OiBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUudmNwcm9qDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJv
agkocmV2aXNpb24gNDUzNTUpDQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLnZjcHJvagkod29ya2luZyBjb3B5KQ0KQEAgLTIzMSw2ICsyMzEsMTUxIEBA
DQogCQkJCUNvbW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVp
bGRmYWlsZWQmcXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZx
dW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQg
KGlmIGRlZmluZWQgUFJPRFVDVElPTiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21r
ZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTtpZiBub3QgZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2Im
I3gwRDsmI3gwQTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlD
b25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxD
Rk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsucmVzb3Vy
Y2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNl
cyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDaGFyYWN0
ZXJTZXRzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cZG5zc2QuZGxsJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAuZGxsJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAkKExpYnJhcnlDb25maWdTdWZm
aXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChM
aWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGli
eG1sMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGxpYnhzbHQkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3Vm
Zml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZD
MiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5w
ZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6
bGliMSQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsiDQogCQkJLz4NCiAJCTwvQ29uZmlndXJhdGlvbj4N
CisJCTxDb25maWd1cmF0aW9uDQorCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJQ29u
ZmlndXJhdGlvblR5cGU9IjEiDQorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0
TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFy
aWVzRGlyKVx0b29sc1x2c3Byb3BzXGRlYnVnLnZzcHJvcHMiDQorCQkJQ2hhcmFjdGVyU2V0PSIx
Ig0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KKwkJ
CQlDb21tYW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3aW5cYmluOyVQQVRIJSYj
eDBEOyYjeDBBO2lmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZx
dW90OyBncmVwIFhYJChQcm9qZWN0TmFtZSlYWCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVp
bGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTtpZiBlcnJvcmxldmVsIDEgZXhpdCAxJiN4MEQ7JiN4
MEE7ZWNobyBYWCQoUHJvamVjdE5hbWUpWFggJmd0OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZSZxdW90OyYjeDBE
OyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1
bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7JiN4MEQ7JiN4MEE7bWtkaXIgMiZn
dDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9y
d2FyZGluZ0hlYWRlcnNcd3RmJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcKi5oJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRp
bmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJ
CU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0i
VkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
V2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDTUlETFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2pl
Y3REaXIpXC4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXGNhaXJvJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlJnF1
b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndh
cmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXEphdmFT
Y3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVycyZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hD
b21wYXRpYmlsaXR5SGVhZGVyc1xHTlVDb21wYXRpYmlsaXR5JnF1b3Q7Ig0KKwkJCQlQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQorCQkJCURpc2FibGVTcGVjaWZpY1dhcm5pbmdz
PSI0MTQ2Ig0KKwkJCQlGb3JjZWRJbmNsdWRlRmlsZXM9IkR1bXBSZW5kZXJUcmVlUHJlZml4Lmgi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVy
VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQorCQkJCUFkZGl0aW9u
YWxEZXBlbmRlbmNpZXM9IkphdmFTY3JpcHRDb3JlJChXZWJLaXRETExDb25maWdTdWZmaXgpLmxp
YiBXZWJLaXRHVUlEJChXZWJLaXRDb25maWdTdWZmaXgpLmxpYiBXZWJLaXQkKFdlYktpdERMTENv
bmZpZ1N1ZmZpeCkubGliIENGTGl0ZV9EZWJ1Zy5saWIgY2Fpcm8ubGliIGpwZWcubGliIGxpYnBu
Zy5saWIgbGliY3VybF9pbXAubGliIHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmxp
YiBnZGkzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1c2VyMzIubGliIHNobHdhcGkubGli
IG9sZWFjYy5saWIiDQorCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiINCisJCQkJ
RGVsYXlMb2FkRExMcz0iIg0KKwkJCQlTdWJTeXN0ZW09IjEiDQorCQkJCVRhcmdldE1hY2hpbmU9
IjEiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wN
CisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDQnNjTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0Z4Q29wVG9v
bCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5k
TGluZT0iaWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7
IGRlbCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBS
T0RVQ1RJT04gZXhpdCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7
aWYgbm90IGV4aXN0ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRp
b24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyBleGl0IC9iJiN4MEQ7JiN4MEE7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3Jl
Rm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5w
ZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENv
cmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
XENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9l
IC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGlj
cyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGRuc3NkLmRsbCZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAk
KExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRi
JnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29w
eSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhtbDIkKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxs
aWJ4c2x0JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxp
dGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlD
b25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRpb24+DQorCQk8Q29uZmlndXJh
dGlvbg0KKwkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJQ29uZmlndXJhdGlvblR5
cGU9IjEiDQorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGly
KVx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29s
c1x2c3Byb3BzXHJlbGVhc2UudnNwcm9wcyINCisJCQlDaGFyYWN0ZXJTZXQ9IjEiDQorCQkJV2hv
bGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KKwkJCT4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q1ByZUJ1aWxkRXZlbnRUb29sIg0KKwkJCQlDb21tYW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURy
aXZlJVxjeWd3aW5cYmluOyVQQVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBncmVwIFhYJChQcm9qZWN0TmFtZSlYWCAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTtpZiBlcnJv
cmxldmVsIDEgZXhpdCAxJiN4MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVjdE5hbWUpWFggJmd0OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gw
RDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxE
dW1wUmVuZGVyVHJlZSZxdW90OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1
b3Q7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGlu
Y2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2FyZGluZ0hlYWRlcnNcd3RmJnF1b3Q7JiN4MEQ7JiN4
MEE7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxGb3J3YXJk
aW5nSGVhZGVyc1x3dGZcKi5oJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRl
XER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCS8+
DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCisJCQkvPg0K
KwkJCTxUb29sDQorCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCisJ
CQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTUlETFRvb2wiDQorCQkJLz4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXGNhaXJvJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNs
dWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNs
dWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXFdlYkNv
cmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hD
b21wYXRpYmlsaXR5SGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5j
bHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVyc1xHTlVDb21wYXRpYmls
aXR5JnF1b3Q7Ig0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQorCQkJ
CURpc2FibGVTcGVjaWZpY1dhcm5pbmdzPSI0MTQ2Ig0KKwkJCQlGb3JjZWRJbmNsdWRlRmlsZXM9
IkR1bXBSZW5kZXJUcmVlUHJlZml4LmgiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJW
Q01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1l
PSJWQ1ByZUxpbmtFdmVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0xp
bmtlclRvb2wiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IkphdmFTY3JpcHRDb3JlJChX
ZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBXZWJLaXRHVUlEJChXZWJLaXRDb25maWdTdWZmaXgp
LmxpYiBXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIENGTGl0ZS5saWIgY2Fpcm8u
bGliIGpwZWcubGliIGxpYnBuZy5saWIgbGliY3VybF9pbXAubGliIHB0aHJlYWRWQzIkKExpYnJh
cnlDb25maWdTdWZmaXgpLmxpYiBnZGkzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1c2Vy
MzIubGliIHNobHdhcGkubGliIG9sZWFjYy5saWIiDQorCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGly
ZWN0b3JpZXM9IiINCisJCQkJRGVsYXlMb2FkRExMcz0iIg0KKwkJCQlTdWJTeXN0ZW09IjEiDQor
CQkJCVRhcmdldE1hY2hpbmU9IjEiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FM
aW5rVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJ
CQlOYW1lPSJWQ0Z4Q29wVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDQXBw
VmVyaWZpZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNXZWJEZXBsb3lt
ZW50VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRU
b29sIg0KKwkJCQlDb21tYW5kTGluZT0iaWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJ1aWxkZmFpbGVkJnF1b3Q7IGRlbCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWls
ZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JV
SUxEIChpZiBkZWZpbmVkIFBST0RVQ1RJT04gZXhpdCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gw
QTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7
JiN4MEE7JiN4MEQ7JiN4MEE7aWYgbm90IGV4aXN0ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyBleGl0
IC9iJiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGIm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrLnJl
c291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENGTmV0d29yay5yZXNv
dXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluXENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ2hh
cmFjdGVyU2V0cyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENoYXJhY3RlclNl
dHMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1
ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGRuc3NkLmRs
bCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwLmRsbCZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwJChMaWJyYXJ5Q29uZmln
U3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40
MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXGljdWluNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFy
eUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVv
dDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XGxpYnhtbDIkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxsaWJ4c2x0JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJl
YWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KKwkJCS8+DQorCQk8L0NvbmZpZ3VyYXRp
b24+DQogCTwvQ29uZmlndXJhdGlvbnM+DQogCTxSZWZlcmVuY2VzPg0KIAk8L1JlZmVyZW5jZXM+
DQpAQCAtMzY4LDE2ICs1MTMsMTA4IEBADQogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCi0J
CQlSZWxhdGl2ZVBhdGg9Ii5cUGl4ZWxEdW1wU3VwcG9ydC5oIg0KKwkJCVJlbGF0aXZlUGF0aD0i
Li5cUGl4ZWxEdW1wU3VwcG9ydC5jcHAiDQogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCisJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFBpeGVsRHVtcFN1cHBvcnQuaCINCisJCQk+DQorCQk8L0ZpbGU+
DQorCQk8RmlsZQ0KKwkJCVJlbGF0aXZlUGF0aD0iLi5cY2Fpcm9cUGl4ZWxEdW1wU3VwcG9ydENh
aXJvLmNwcCINCisJCQk+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9v
bA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0K
KwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5h
bHxXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRv
b2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCTwvRmlsZT4NCisJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIuLlxj
YWlyb1xQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCINCisJCQk+DQorCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQor
CQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJ
CQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wi
DQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCTwvRmlsZT4NCisJCTxGaWxl
DQogCQkJUmVsYXRpdmVQYXRoPSIuLlxjZ1xQaXhlbER1bXBTdXBwb3J0Q0cuY3BwIg0KIAkJCT4N
CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQor
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0aD0iLi5cY2dcUGl4ZWxE
dW1wU3VwcG9ydENHLmgiDQogCQkJPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1l
PSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCQkvPg0K
KwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJ
Lz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCiAJCQlS
ZWxhdGl2ZVBhdGg9Ii5cUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAiDQpJbmRleDogV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4u
Y3BwCShyZXZpc2lvbiA0NTM1NSkNCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
UGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0yNywxMCArMjcsMTUg
QEANCiAgKi8NCiANCiAjaW5jbHVkZSAiY29uZmlnLmgiDQorI2lmIFBMQVRGT1JNKENHKQ0KKyNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0Lmg+DQogI2luY2x1ZGUgIlBpeGVs
RHVtcFN1cHBvcnRDRy5oIg0KKyNlbHNlDQorI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+DQorI2lu
Y2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDYWlyby5oIg0KKyNlbmRpZg0KIA0KICNpbmNsdWRlICJE
dW1wUmVuZGVyVHJlZS5oIg0KLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0
Lmg+DQogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+DQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4NCiANCkBAIC02MCw5ICs2NSwxOSBAQCBQYXNzUmVmUHRyPEJpdG1hcENvbnRleHQ+IGNy
ZWF0ZUJpdG1hcENvDQogICAgIEdldE9iamVjdChiaXRtYXAsIHNpemVvZihpbmZvKSwgJmluZm8p
Ow0KICAgICBBU1NFUlQoaW5mby5ibUJpdHNQaXhlbCA9PSAzMik7DQogDQorI2lmIFBMQVRGT1JN
KENHKQ0KICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBjb2xvclNwYWNlKEFkb3B0Q0Ys
IENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpKTsNCiAgICAgQ0dDb250ZXh0UmVmIGNvbnRl
eHQgPSBDR0JpdG1hcENvbnRleHRDcmVhdGUoaW5mby5ibUJpdHMsIGluZm8uYm1XaWR0aCwgaW5m
by5ibUhlaWdodCwgOCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmZvLmJtV2lkdGhCeXRlcywgY29sb3JTcGFjZS5nZXQoKSwga0NHQml0bWFwQnl0
ZU9yZGVyMzJMaXR0bGUgfCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0KTsNCisjZWxp
ZiBQTEFURk9STShDQUlSTykNCisgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IGNhaXJvX2lt
YWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKCh1bnNpZ25lZCBjaGFyKilpbmZvLmJtQml0cywN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBSVJPX0ZP
Uk1BVF9BUkdCMzIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbmZvLmJtV2lkdGgsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmJtSGVpZ2h0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW5mby5ibVdpZHRoQnl0ZXMpOw0KKyAgICBjYWlyb190KiBjb250
ZXh0ID0gY2Fpcm9fY3JlYXRlKGltYWdlKTsNCisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGlt
YWdlKTsNCisjZW5kaWYNCiANCiAgICAgcmV0dXJuIEJpdG1hcENvbnRleHQ6OmNyZWF0ZUJ5QWRv
cHRpbmdCaXRtYXBBbmRDb250ZXh0KGJpdG1hcCwgY29udGV4dCk7DQogfQ0K
</data>
<flag name="review"
          id="16604"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32088</attachid>
            <date>2009-06-30 13:35:57 -0700</date>
            <delta_ts>2009-07-02 17:49:50 -0700</delta_ts>
            <desc>Xcode change for Mac build.</desc>
            <filename>cg_drt_brent.patch</filename>
            <type>text/plain</type>
            <size>3635</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IER1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
NDUzNzgpCisrKyBEdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBACiAJCTVEQjlBQzlFMEY3MjJDMzYwMDY4NDY0MSAv
KiBXZWJLaXRXZWlnaHRXYXRjaGVyNzAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzcwREFDM0NCNjAwQzhCNEU1IC8qIFdl
YktpdFdlaWdodFdhdGNoZXI3MDAudHRmICovOyB9OwogCQk1REI5QUM5RjBGNzIyQzM2MDA2ODQ2
NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjgwMC50dGYgaW4gQ29weSBGb250IEZpbGVzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc4MERBQzNDQjYwMEM4QjRFNSAv
KiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiAqLzsgfTsKIAkJNURCOUFDQTAwRjcyMkMzNjAw
Njg0NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmIGluIENvcHkgRm9udCBGaWxlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3OTBEQUMzQ0I2MDBDOEI0
RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi87IH07CisJCTg0NjVFMkM3MEZGQThE
RjIwMDNCODM0MiAvKiBQaXhlbER1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NjVFMkM2MEZGQThERjIwMDNCODM0MiAvKiBQaXhl
bER1bXBTdXBwb3J0LmNwcCAqLzsgfTsKIAkJOTMzQkY1QUIwRjkzRkE1QzAwMEYwNDQxIC8qIFBs
YWluVGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzM0JGNUE5MEY5M0ZBNUMwMDBGMDQ0MSAvKiBQbGFpblRleHRDb250cm9sbGVy
LmggKi87IH07CiAJCTkzM0JGNUFDMEY5M0ZBNUMwMDBGMDQ0MSAvKiBQbGFpblRleHRDb250cm9s
bGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMz
QkY1QUEwRjkzRkE1QzAwMEYwNDQxIC8qIFBsYWluVGV4dENvbnRyb2xsZXIubW0gKi87IH07CiAJ
CTkzNDA5OTRDMDg1NDBDQUUwMDdGM0JDOCAvKiBEdW1wUmVuZGVyVHJlZVByZWZpeC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzJBNzBBQUIwMzcwNUUx
RjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi87IH07CkBAIC0xODAsNiArMTgx
LDcgQEAKIAkJMzc1RjA5NzcwREFDM0NCNjAwQzhCNEU1IC8qIFdlYktpdFdlaWdodFdhdGNoZXI3
MDAudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
ZmlsZTsgbmFtZSA9IFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmOyBwYXRoID0gZm9udHMvV2Vi
S2l0V2VpZ2h0V2F0Y2hlcjcwMC50dGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3
NUYwOTc4MERBQzNDQjYwMEM4QjRFNSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IG5hbWUg
PSBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZjsgcGF0aCA9IGZvbnRzL1dlYktpdFdlaWdodFdh
dGNoZXI4MDAudHRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzVGMDk3OTBEQUMz
Q0I2MDBDOEI0RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gV2ViS2l0V2Vp
Z2h0V2F0Y2hlcjkwMC50dGY7IHBhdGggPSBmb250cy9XZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0
Zjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ2NUUyQzYwRkZBOERGMjAwM0I4MzQy
IC8qIFBpeGVsRHVtcFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4
cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGZpbGVFbmNvZGluZyA9IDMw
OyBwYXRoID0gUGl4ZWxEdW1wU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMzU0MzVGMDNENzU1MDIwMDg2MzVDRSAvKiBXZWJLaXQuZnJhbWV3b3JrICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdv
cms7IHBhdGggPSBXZWJLaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwogCQk5MzNCRjVBOTBGOTNGQTVDMDAwRjA0NDEgLyogUGxhaW5UZXh0Q29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQbGFpblRleHRDb250cm9sbGVy
Lmg7IHBhdGggPSBtYWMvUGxhaW5UZXh0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MzNCRjVBQTBGOTNGQTVDMDAwRjA0NDEgLyogUGxhaW5UZXh0Q29udHJvbGxl
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFBsYWluVGV4dENv
bnRyb2xsZXIubW07IHBhdGggPSBtYWMvUGxhaW5UZXh0Q29udHJvbGxlci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2OCw2ICs0NzAsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlCQ0IyODRGMzBDRkE4NEYyMDA3RTUzM0UgLyogSW1hZ2VE
aWZmQ0cuY3BwICovLAorCQkJCTg0NjVFMkM2MEZGQThERjIwMDNCODM0MiAvKiBQaXhlbER1bXBT
dXBwb3J0LmNwcCAqLywKIAkJCQlCQ0IyODQ4QTBDRkE4MjBGMDA3RTUzM0UgLyogUGl4ZWxEdW1w
U3VwcG9ydC5oICovLAogCQkJCUJDQjI4NDg4MENGQTgyMDIwMDdFNTMzRSAvKiBQaXhlbER1bXBT
dXBwb3J0Q0cuY3BwICovLAogCQkJCUJDQjI4NDg5MENGQTgyMDIwMDdFNTMzRSAvKiBQaXhlbER1
bXBTdXBwb3J0Q0cuaCAqLywKQEAgLTY2Niw2ICs2NjksNyBAQAogCQkJCUJDQTE4QjI2MEM5QjAx
NUMwMDExNDM2OSAvKiBXb3JrUXVldWVJdGVtTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
QkY1QUMwRjkzRkE1QzAwMEYwNDQxIC8qIFBsYWluVGV4dENvbnRyb2xsZXIubW0gaW4gU291cmNl
cyAqLywKIAkJCQlBOEQ3OUNFQjBGQzI4QjJDMDA0QUM4RkUgLyogRHVtcFJlbmRlclRyZWVGaWxl
RHJhZ2dpbmdTb3VyY2UubSBpbiBTb3VyY2VzICovLAorCQkJCTg0NjVFMkM3MEZGQThERjIwMDNC
ODM0MiAvKiBQaXhlbER1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32189</attachid>
            <date>2009-07-02 11:17:59 -0700</date>
            <delta_ts>2009-07-02 11:25:21 -0700</delta_ts>
            <desc>Revised per Adam&apos;s comments.</desc>
            <filename>drt_cairo_win.patch</filename>
            <type>text/plain</type>
            <size>43081</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA0NTM5MykKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDYtMzAgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQnVpbGQgRHVtcFJlbmRlclRyZWUgdW5kZXIgQ2Fpcm8uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjQ1NworCisgICAgICAgICogV2Vi
S2l0LnZjcHJvai9XZWJLaXQuc2xuOiBBZGQgQ2Fpcm8gdGFyZ2V0cyB0byB0aGUKKyAgICAgICAg
ICBEdW1wUmVuZGVyVHJlZSBidWlsZCwgYW5kIHVzZSB0aGUgaW4gdGhlIERlYnVnX0NhaXJvCisg
ICAgICAgICAgYW5kIFJlbGVhc2VfQ2Fpcm8gdGFyZ2V0cy4KKwogMjAwOS0wNi0yOSAgRGF2aWQg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVzdGFnZS4g
IE1pc3NlZCB0d28gY29uZmlndXJhdGlvbnMgZm9yIGVuYWJsaW5nIERBVEFHUklELgpJbmRleDog
V2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4JKHJldmlzaW9uIDQ1MzU1KQorKysgV2ViS2l0
L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4JKHdvcmtpbmcgY29weSkKQEAgLTEzNCwxNCAr
MTM0LDE0IEBAIEdsb2JhbAogCQl7MUMxNjMzN0ItQUNGMy00RDAzLUFBOTAtODUxQzVCNUVBREE2
fS5SZWxlYXNlX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlX0NhaXJvfFdpbjMyCiAJCXsx
QzE2MzM3Qi1BQ0YzLTREMDMtQUE5MC04NTFDNUI1RUFEQTZ9LlJlbGVhc2V8V2luMzIuQWN0aXZl
Q2ZnID0gUmVsZWFzZXxXaW4zMgogCQl7MUMxNjMzN0ItQUNGMy00RDAzLUFBOTAtODUxQzVCNUVB
REE2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCi0JCXs2NTY3REZENC1E
NkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9
IERlYnVnfFdpbjMyCi0JCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRl
YnVnX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgorCQl7NjU2N0RGRDQtRDZERS00
Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19DYWlyb3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1
Z19DYWlyb3xXaW4zMgorCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5E
ZWJ1Z19DYWlyb3xXaW4zMi5CdWlsZC4wID0gRGVidWdfQ2Fpcm98V2luMzIKIAkJezY1NjdERkQ0
LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uRGVidWdfSW50ZXJuYWx8V2luMzIuQWN0aXZl
Q2ZnID0gRGVidWdfSW50ZXJuYWx8V2luMzIKIAkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3
RTM1M0QxNjBFMX0uRGVidWdfSW50ZXJuYWx8V2luMzIuQnVpbGQuMCA9IERlYnVnX0ludGVybmFs
fFdpbjMyCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnfFdp
bjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0x
N0UzNTNEMTYwRTF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMgotCQl7NjU2N0RG
RDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNlX0NhaXJvfFdpbjMyLkFjdGl2
ZUNmZyA9IFJlbGVhc2V8V2luMzIKLQkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0Qx
NjBFMX0uUmVsZWFzZV9DYWlyb3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgorCQl7NjU2
N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNlX0NhaXJvfFdpbjMyLkFj
dGl2ZUNmZyA9IFJlbGVhc2VfQ2Fpcm98V2luMzIKKwkJezY1NjdERkQ0LUQ2REUtNENENS04MjVE
LTE3RTM1M0QxNjBFMX0uUmVsZWFzZV9DYWlyb3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZV9DYWly
b3xXaW4zMgogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNl
fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzIKIAkJezY1NjdERkQ0LUQ2REUtNENENS04
MjVELTE3RTM1M0QxNjBFMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMgog
CQl7QzA3MzczOTgtMzU2NS00MzlFLUEyQjgtQUIyQkU0RDU0MzBDfS5EZWJ1Z19DYWlyb3xXaW4z
Mi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNDUzOTMpCisrKyBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0OSBAQAorMjAw
OS0wNi0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIHN1cHBvcnQg
Zm9yIGEgV2luZG93cyBDYWlybyB2ZXJzaW9uIG9mCisgICAgICAgIER1bXBSZW5kZXJUcmVlLiAg
U2hhcmUgYXMgbXVjaCBsb2dpYyBiZXR3ZWVuIHRoZQorICAgICAgICBDRyBhbmQgQ2Fpcm8gYnVp
bGRzIGFzIHBvc3NpYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjY0NTcKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBv
cnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0
aEV4cGVjdGVkKTogTW92ZWQgY29tbW9uIGxvZ2ljCisgICAgICAgICAgZnJvbSBDRy1zcGVjaWZp
YyBmaWxlLgorICAgICAgICAocHJpbnRQTkcpOiBNb3ZlZCBjb21tb24gbG9naWMgZnJvbSBDRy1z
cGVjaWZpYyBmaWxlLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQu
aDogQWRkIGRlY2xhcmF0aW9uIGZvciBuZXcKKyAgICAgICAgICBjb21tb24gcHJpbmdQTkcgZnVu
Y3Rpb24uCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2Fpcm86IEFkZGVkLgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHA6IEFkZGVkLgor
ICAgICAgICAgIEltcGxlbWVudCBjYWlyby1zcGVjaWZpYyBsb2dpYyBmb3IgZGVhbGluZyB3aXRo
IENhaXJvIHN1cmZhY2VzLgorICAgICAgICAod3JpdGVGdW5jdGlvbik6CisgICAgICAgIChwcmlu
dFBORyk6IENhaXJvLXNwZWNpZmljIFBORyBoYW5kbGluZyBsb2dpYy4KKyAgICAgICAgKGNvbXB1
dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dCk6IE5ldyBDYWlybyByb3V0aW5lIHVzaW5n
CisgICAgICAgICAgdGhlIGdlbmVyaWMgQml0bWFwQ29udGV4dCBzaWduYXR1cmUuCisgICAgICAg
IChkdW1wQml0bWFwKTogTmV3IGZ1bmN0aW9uIGNvbnRhaW5pbmcgQ2Fpcm8tc3BlY2lmaWMgcG9y
dGlvbnMgb2YKKyAgICAgICAgICB0aGUgZHVtcGluZyByb3V0aW5lLgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5oOiBBZGRlZC4KKyAgICAgICAg
ICBQcm92aWRlIENhaXJvIHZlcnNpb24gb2YgdGhlIEJpdG1hcENvbnRleHQgc3RydWN0dXJlIHNv
IHRoYXQKKyAgICAgICAgICBkdW1waW5nIHJvdXRpbmVzIGNhbiB3b3JrIG9uIGFuIGFic3RyYWN0
IHR5cGUuCisgICAgICAgIChCaXRtYXBDb250ZXh0OjpjcmVhdGVCeUFkb3B0aW5nQml0bWFwQW5k
Q29udGV4dCk6CisgICAgICAgIChCaXRtYXBDb250ZXh0Ojp+Qml0bWFwQ29udGV4dCk6CisgICAg
ICAgIChCaXRtYXBDb250ZXh0OjpjYWlyb0NvbnRleHQpOgorICAgICAgICAoQml0bWFwQ29udGV4
dDo6Qml0bWFwQ29udGV4dCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1w
U3VwcG9ydENHLmNwcDoKKyAgICAgICAgKHByaW50UE5HKTogQ0ctc3BlY2lmaWMgUE5HIGhhbmRs
aW5nIGxvZ2ljLgorICAgICAgICAoY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0
KTogUmV2aXNlZCB0byB1c2UgZ2VuZXJpYworICAgICAgICAgIEJpdG1hcENvbnRleHQgc2lnbmF0
dXJlLgorICAgICAgICAoZHVtcEJpdG1hcCk6IE5ldyBmdW5jdGlvbiBjb250YWluaW5nIENHLXNw
ZWNpZmljIHBvcnRpb25zIG9mCisgICAgICAgICAgdGhlIGR1bXBpbmcgcm91dGluZS4KKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1bXBTdXBwb3J0Q0cuaDogQWRkIG5ldyBzaWdu
YXR1cmVzLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6
IERpc2FibGUgQ0ZOZXR3b3JrIGxvZ2ljCisgICAgICAgICAgd2hlbiBidWlsZGluZyB0aGUgbm9u
LUNGTmV0d29yayB2ZXJzaW9uLgorICAgICAgICAobWFpbik6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvajoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHA6CisgICAgICAgIChjcmVhdGVCaXRtYXBDb250
ZXh0RnJvbVdlYlZpZXcpOiBQcm92aWRlIHBhcmFsbGVsIENhaXJvIGltcGxlbWVudGF0aW9uCisg
ICAgICAgICAgb2YgQ0cgYml0bWFwL2NvbnRleHQgc2V0dXAuCisKIDIwMDktMDYtMzAgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBT
dGFjaG93aWFrLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3Vw
cG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxE
dW1wU3VwcG9ydC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9QaXhlbER1bXBTdXBwb3J0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisg
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgorI2luY2x1ZGUg
IkxheW91dFRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydC5oIgor
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBMQVRGT1JNKENHKQorI2luY2x1ZGUgIlBp
eGVsRHVtcFN1cHBvcnRDRy5oIgorI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisjaW5jbHVkZSAiUGl4
ZWxEdW1wU3VwcG9ydENhaXJvLmgiCisjZW5kaWYKKwordm9pZCBkdW1wV2ViVmlld0FzUGl4ZWxz
QW5kQ29tcGFyZVdpdGhFeHBlY3RlZChjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRIYXNoKQor
eworICAgIFJlZlB0cjxCaXRtYXBDb250ZXh0PiBjb250ZXh0ID0gY3JlYXRlQml0bWFwQ29udGV4
dEZyb21XZWJWaWV3KGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdE9uc2NyZWVuKCksIGdMYXlv
dXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFpbnQoKSwgZ0xheW91dFRlc3RDb250cm9sbGVyLT50
ZXN0UmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5KCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+ZHVt
cFNlbGVjdGlvblJlY3QoKSk7CisgICAgQVNTRVJUKGNvbnRleHQpOworICAgIAorICAgIC8vIENv
bXB1dGUgdGhlIGhhc2ggb2YgdGhlIGJpdG1hcCBjb250ZXh0IHBpeGVscworICAgIGNoYXIgYWN0
dWFsSGFzaFszM107CisgICAgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KGNv
bnRleHQuZ2V0KCksIGFjdHVhbEhhc2gpOworICAgIHByaW50ZigiXG5BY3R1YWxIYXNoOiAlc1xu
IiwgYWN0dWFsSGFzaCk7CisgICAgCisgICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIGhhc2ggYWdh
aW5zdCB0aGUgZXhwZWN0ZWQgb25lIGFuZCBkdW1wIGltYWdlIG9uIG1pc21hdGNoCisgICAgYm9v
bCBkdW1wSW1hZ2UgPSB0cnVlOworICAgIGlmIChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPiAwKSB7
CisgICAgICAgIEFTU0VSVChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPT0gMzIpOworICAgICAgICAK
KyAgICAgICAgcHJpbnRmKCJcbkV4cGVjdGVkSGFzaDogJXNcbiIsIGV4cGVjdGVkSGFzaC5jX3N0
cigpKTsKKyAgICAgICAgCisgICAgICAgIGlmIChleHBlY3RlZEhhc2ggPT0gYWN0dWFsSGFzaCkg
ICAgIC8vIEZJWE1FOiBkbyBjYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmUKKyAgICAgICAgICAgIGR1
bXBJbWFnZSA9IGZhbHNlOworICAgIH0KKyAgICAKKyAgICBpZiAoZHVtcEltYWdlKQorICAgICAg
ZHVtcEJpdG1hcChjb250ZXh0LmdldCgpKTsKK30KKwordm9pZCBwcmludFBORyhjb25zdCBzaXpl
X3QgZGF0YUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSkKK3sKKyAgICBwcmludGYo
IkNvbnRlbnQtVHlwZTogJXNcbiIsICJpbWFnZS9wbmciKTsKKyAgICBwcmludGYoIkNvbnRlbnQt
TGVuZ3RoOiAlbHVcbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KGRhdGFMZW5ndGgpKTsK
KworICAgIGNvbnN0IHNpemVfdCBieXRlc1RvV3JpdGVJbk9uZUNodW5rID0gMSA8PCAxNTsKKyAg
ICBzaXplX3QgZGF0YVJlbWFpbmluZ1RvV3JpdGUgPSBkYXRhTGVuZ3RoOworICAgIHdoaWxlIChk
YXRhUmVtYWluaW5nVG9Xcml0ZSkgeworICAgICAgICBzaXplX3QgYnl0ZXNUb1dyaXRlSW5UaGlz
Q2h1bmsgPSBzdGQ6Om1pbihkYXRhUmVtYWluaW5nVG9Xcml0ZSwgYnl0ZXNUb1dyaXRlSW5PbmVD
aHVuayk7CisgICAgICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBmd3JpdGUoZGF0YSwgMSwgYnl0
ZXNUb1dyaXRlSW5UaGlzQ2h1bmssIHN0ZG91dCk7CisgICAgICAgIGlmIChieXRlc1dyaXR0ZW4g
IT0gYnl0ZXNUb1dyaXRlSW5UaGlzQ2h1bmspCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ZGF0YVJlbWFpbmluZ1RvV3JpdGUgLT0gYnl0ZXNXcml0dGVuOworICAgICAgICBkYXRhICs9IGJ5
dGVzV3JpdHRlbjsKKyAgICB9Cit9CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Q
aXhlbER1bXBTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvUGl4ZWxEdW1wU3VwcG9ydC5oCShyZXZpc2lvbiA0NTM1NSkKKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsMTUgQEAKIAogI2luY2x1ZGUgPHN0cmluZz4KIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisKK2NsYXNzIEJpdG1hcENvbnRleHQ7CisKK3ZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdG
b3JCaXRtYXBDb250ZXh0KEJpdG1hcENvbnRleHQqLCBjaGFyIGhhc2hTdHJpbmdbMzNdKTsKK1Bh
c3NSZWZQdHI8Qml0bWFwQ29udGV4dD4gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJv
b2wgb25zY3JlZW4sIGJvb2wgaW5jcmVtZW50YWxSZXBhaW50LCBib29sIHN3ZWVwSG9yaXpvbnRh
bGx5LCBib29sIGRyYXdTZWxlY3Rpb25SZWN0KTsKK3ZvaWQgZHVtcEJpdG1hcChCaXRtYXBDb250
ZXh0Kik7CiB2b2lkIGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKGNv
bnN0IHN0ZDo6c3RyaW5nJiBleHBlY3RlZEhhc2gpOwordm9pZCBwcmludFBORyhjb25zdCBzaXpl
X3QgZGF0YUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSk7CiAKICNpZiBQTEFURk9S
TShNQUMpCiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVt
cFN1cHBvcnRDYWlyby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgIChDKSAyMDA5IEJyZW50
IEZ1bGdoYW0gPGJmdWxnaGFtQHdlYmtpdC5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAg
TmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRo
ZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlBpeGVsRHVtcFN1cHBvcnRDYWlyby5oIgorCisjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWUu
aCIKKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0LmgiCisjaW5jbHVkZSA8YWxnb3JpdGhtPgor
I2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KKworI2lmIFBMQVRGT1JNKFdJTikKKyNpbmNsdWRlICJNRDUuaCIK
KyNlbmRpZgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCitzdGF0aWMgY2Fpcm9fc3RhdHVzX3Qg
d3JpdGVGdW5jdGlvbih2b2lkKiBjbG9zdXJlLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCBpbnQgbGVuZ3RoKQoreworICAgIFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiogaW4gPSBy
ZWludGVycHJldF9jYXN0PFZlY3Rvcjx1bnNpZ25lZCBjaGFyPio+KGNsb3N1cmUpOworICAgIGlu
LT5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gQ0FJUk9fU1RBVFVTX1NVQ0NFU1M7
Cit9CisKK3N0YXRpYyB2b2lkIHByaW50UE5HKGNhaXJvX3N1cmZhY2VfdCogaW1hZ2UpCit7Cisg
ICAgVmVjdG9yPHVuc2lnbmVkIGNoYXI+IHBpeGVsRGF0YTsKKyAgICAvLyBPbmx5IFBORyBvdXRw
dXQgaXMgc3VwcG9ydGVkIGZvciBub3cuCisgICAgY2Fpcm9fc3VyZmFjZV93cml0ZV90b19wbmdf
c3RyZWFtKGltYWdlLCB3cml0ZUZ1bmN0aW9uLCAmcGl4ZWxEYXRhKTsKKworICAgIGNvbnN0IHNp
emVfdCBkYXRhTGVuZ3RoID0gcGl4ZWxEYXRhLnNpemUoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhID0gcGl4ZWxEYXRhLmRhdGEoKTsKKworICAgIHByaW50UE5HIChkYXRhTGVuZ3Ro
LCBkYXRhKTsKK30KKwordm9pZCBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQo
Qml0bWFwQ29udGV4dCogY29udGV4dCwgY2hhciBoYXNoU3RyaW5nWzMzXSkKK3sKKyAgICBDYWly
b0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCA9IGNvbnRleHQtPmNhaXJvQ29udGV4dCgpOworICAg
IGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IGNhaXJvX2dldF90YXJnZXQoYml0bWFwQ29udGV4
dCk7CisKKyAgICBBU1NFUlQoY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZm9ybWF0KHN1cmZhY2Up
ID09IENBSVJPX0ZPUk1BVF9BUkdCMzIpOyAvLyBJbWFnZURpZmYgYXNzdW1lcyAzMiBiaXQgUkdC
QSwgd2UgbXVzdCBhcyB3ZWxsLgorCisgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBjYWlyb19pbWFn
ZV9zdXJmYWNlX2dldF9oZWlnaHQoc3VyZmFjZSk7CisgICAgc2l6ZV90IHBpeGVsc1dpZGUgPSBj
YWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChzdXJmYWNlKTsKKyAgICBzaXplX3QgYnl0ZXNQ
ZXJSb3cgPSBwaXhlbHNXaWRlICogY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfc3RyaWRlKHN1cmZh
Y2UpOworCisgICAgTUQ1X0NUWCBtZDVDb250ZXh0OworICAgIE1ENV9Jbml0KCZtZDVDb250ZXh0
KTsKKyAgICB1bnNpZ25lZCBjaGFyKiBiaXRtYXBEYXRhID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQg
Y2hhcio+KGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoc3VyZmFjZSkpOworICAgIGZvciAo
dW5zaWduZWQgcm93ID0gMDsgcm93IDwgcGl4ZWxzSGlnaDsgcm93KyspIHsKKyAgICAgICAgTUQ1
X1VwZGF0ZSgmbWQ1Q29udGV4dCwgYml0bWFwRGF0YSwgNCAqIHBpeGVsc1dpZGUpOworICAgICAg
ICBiaXRtYXBEYXRhICs9IGJ5dGVzUGVyUm93OworICAgIH0KKyAgICB1bnNpZ25lZCBjaGFyIGhh
c2hbMTZdOworICAgIE1ENV9GaW5hbChoYXNoLCAmbWQ1Q29udGV4dCk7CisKKyAgICBoYXNoU3Ry
aW5nWzBdID0gJ1wwJzsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDE2OyBpKyspCisgICAgICAg
IHNucHJpbnRmKGhhc2hTdHJpbmcsIDMzLCAiJXMlMDJ4IiwgaGFzaFN0cmluZywgaGFzaFtpXSk7
Cit9CisKK3ZvaWQgZHVtcEJpdG1hcChCaXRtYXBDb250ZXh0KiBjb250ZXh0KQoreworICAgIGNh
aXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IGNhaXJvX2dldF90YXJnZXQoY29udGV4dC0+Y2Fpcm9D
b250ZXh0KCkpOworICAgIHByaW50UE5HKHN1cmZhY2UpOworfQpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJv
LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhl
bER1bXBTdXBwb3J0Q2Fpcm8uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAg
ICAgICAgICAgKEMpIDIwMDkgQnJlbnQgRnVsZ2hhbSA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFBpeGVsRHVtcFN1cHBvcnRDYWlyb19oCisjZGVmaW5lIFBpeGVsRHVtcFN1cHBvcnRDYWly
b19oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCisjaWYgUExBVEZPUk0oV0lOKQorI2lu
Y2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNsdWRlIDxjYWlyby13aW4zMi5oPgorI2VuZGlmCisKK3R5
cGVkZWYgc3RydWN0IF9jYWlybyogQ2Fpcm9Db250ZXh0UmVmOworCisjaWYgUExBVEZPUk0oV0lO
KQordHlwZWRlZiBIQklUTUFQIFBsYXRmb3JtQml0bWFwQnVmZmVyOworI2Vsc2UKK3R5cGVkZWYg
dm9pZCogUGxhdGZvcm1CaXRtYXBCdWZmZXI7CisjZW5kaWYKKworY2xhc3MgQml0bWFwQ29udGV4
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEJpdG1hcENvbnRleHQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCeUFkb3B0aW5nQml0bWFwQW5kQ29u
dGV4dChQbGF0Zm9ybUJpdG1hcEJ1ZmZlciBidWZmZXIsIENhaXJvQ29udGV4dFJlZiBjb250ZXh0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCaXRtYXBDb250ZXh0KGJ1ZmZl
ciwgY29udGV4dCkpOworICAgIH0KKworICAgIH5CaXRtYXBDb250ZXh0KCkKKyAgICB7CisgICAg
ICAgIGlmIChtX2J1ZmZlcikKKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgICAgICBEZWxldGVP
YmplY3QobV9idWZmZXIpOworI2Vsc2UKKyAgICAgICAgICAgIGZyZWUobV9idWZmZXIpOworI2Vu
ZGlmCisgICAgICAgIGNhaXJvX2Rlc3Ryb3kobV9jb250ZXh0KTsKKyAgICB9CisKKyAgICBDYWly
b0NvbnRleHRSZWYgY2Fpcm9Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0OyB9CisK
K3ByaXZhdGU6CisKKyAgICBCaXRtYXBDb250ZXh0KFBsYXRmb3JtQml0bWFwQnVmZmVyIGJ1ZmZl
ciwgQ2Fpcm9Db250ZXh0UmVmIGNvbnRleHQpCisgICAgICAgIDogbV9idWZmZXIoYnVmZmVyKQor
ICAgICAgICAsIG1fY29udGV4dChjb250ZXh0KQorICAgIHsKKyAgICB9CisKKyAgICBQbGF0Zm9y
bUJpdG1hcEJ1ZmZlciBtX2J1ZmZlcjsKKyAgICBDYWlyb0NvbnRleHRSZWYgbV9jb250ZXh0Owor
Cit9OworCisjZW5kaWYgLy8gUGl4ZWxEdW1wU3VwcG9ydENhaXJvX2gKSW5kZXg6IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmNwcAko
cmV2aXNpb24gNDUzNTUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1
bXBTdXBwb3J0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVk
ZSAiUGl4ZWxEdW1wU3VwcG9ydENHLmgiCiAKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgot
I2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGl4ZWxEdW1wU3Vw
cG9ydC5oIgogI2luY2x1ZGUgPEltYWdlSU8vQ0dJbWFnZURlc3RpbmF0aW9uLmg+CiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGN0eXBlLmg+CkBAIC02NSwyMyArNjUsMTMgQEAgc3Rh
dGljIHZvaWQgcHJpbnRQTkcoQ0dJbWFnZVJlZiBpbWFnZSkKICAgICBjb25zdCBVSW50OCogZGF0
YSA9IENGRGF0YUdldEJ5dGVQdHIoaW1hZ2VEYXRhLmdldCgpKTsKICAgICBDRkluZGV4IGRhdGFM
ZW5ndGggPSBDRkRhdGFHZXRMZW5ndGgoaW1hZ2VEYXRhLmdldCgpKTsKIAotICAgIHByaW50Zigi
Q29udGVudC1UeXBlOiAlc1xuIiwgImltYWdlL3BuZyIpOwotICAgIHByaW50ZigiQ29udGVudC1M
ZW5ndGg6ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YUxlbmd0aCkpOwot
Ci0gICAgY29uc3Qgc2l6ZV90IGJ5dGVzVG9Xcml0ZUluT25lQ2h1bmsgPSAxIDw8IDE1OwotICAg
IHNpemVfdCBkYXRhUmVtYWluaW5nVG9Xcml0ZSA9IGRhdGFMZW5ndGg7Ci0gICAgd2hpbGUgKGRh
dGFSZW1haW5pbmdUb1dyaXRlKSB7Ci0gICAgICAgIHNpemVfdCBieXRlc1RvV3JpdGVJblRoaXND
aHVuayA9IG1pbihkYXRhUmVtYWluaW5nVG9Xcml0ZSwgYnl0ZXNUb1dyaXRlSW5PbmVDaHVuayk7
Ci0gICAgICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBmd3JpdGUoZGF0YSwgMSwgYnl0ZXNUb1dy
aXRlSW5UaGlzQ2h1bmssIHN0ZG91dCk7Ci0gICAgICAgIGlmIChieXRlc1dyaXR0ZW4gIT0gYnl0
ZXNUb1dyaXRlSW5UaGlzQ2h1bmspCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGF0YVJl
bWFpbmluZ1RvV3JpdGUgLT0gYnl0ZXNXcml0dGVuOwotICAgICAgICBkYXRhICs9IGJ5dGVzV3Jp
dHRlbjsKLSAgICB9CisgICAgcHJpbnRQTkcoc3RhdGljX2Nhc3Q8c2l6ZV90PihkYXRhTGVuZ3Ro
KSwgc3RhdGljX2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KGRhdGEpKTsKIH0KIAotc3RhdGlj
IHZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KENHQ29udGV4dFJlZiBi
aXRtYXBDb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQordm9pZCBjb21wdXRlTUQ1SGFzaFN0
cmluZ0ZvckJpdG1hcENvbnRleHQoQml0bWFwQ29udGV4dCogY29udGV4dCwgY2hhciBoYXNoU3Ry
aW5nWzMzXSkKIHsKKyAgICBDR0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCA9IGNvbnRleHQtPmNn
Q29udGV4dCgpOworCiAgICAgQVNTRVJUKENHQml0bWFwQ29udGV4dEdldEJpdHNQZXJQaXhlbChi
aXRtYXBDb250ZXh0KSA9PSAzMik7IC8vIEltYWdlRGlmZiBhc3N1bWVzIDMyIGJpdCBSR0JBLCB3
ZSBtdXN0IGFzIHdlbGwuCiAgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBDR0JpdG1hcENvbnRleHRH
ZXRIZWlnaHQoYml0bWFwQ29udGV4dCk7CiAgICAgc2l6ZV90IHBpeGVsc1dpZGUgPSBDR0JpdG1h
cENvbnRleHRHZXRXaWR0aChiaXRtYXBDb250ZXh0KTsKQEAgLTExNiwzMSArMTA2LDggQEAgc3Rh
dGljIHZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYQogICAgICAgICBzbnByaW50Ziho
YXNoU3RyaW5nLCAzMywgIiVzJTAyeCIsIGhhc2hTdHJpbmcsIGhhc2hbaV0pOwogfQogCi12b2lk
IGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKGNvbnN0IHN0ZDo6c3Ry
aW5nJiBleHBlY3RlZEhhc2gpCit2b2lkIGR1bXBCaXRtYXAoQml0bWFwQ29udGV4dCogY29udGV4
dCkKIHsKLSAgICBSZWZQdHI8Qml0bWFwQ29udGV4dD4gY29udGV4dDsKLSAgICAKLSAgICBjb250
ZXh0ID0gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGdMYXlvdXRUZXN0Q29udHJvbGxl
ci0+dGVzdE9uc2NyZWVuKCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFpbnQoKSwg
Z0xheW91dFRlc3RDb250cm9sbGVyLT50ZXN0UmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5KCksIGdM
YXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcFNlbGVjdGlvblJlY3QoKSk7Ci0gICAgQVNTRVJUKGNv
bnRleHQpOwotICAgIAotICAgIC8vIENvbXB1dGUgdGhlIGhhc2ggb2YgdGhlIGJpdG1hcCBjb250
ZXh0IHBpeGVscwotICAgIGNoYXIgYWN0dWFsSGFzaFszM107Ci0gICAgY29tcHV0ZU1ENUhhc2hT
dHJpbmdGb3JCaXRtYXBDb250ZXh0KGNvbnRleHQtPmNnQ29udGV4dCgpLCBhY3R1YWxIYXNoKTsK
LSAgICBwcmludGYoIlxuQWN0dWFsSGFzaDogJXNcbiIsIGFjdHVhbEhhc2gpOwotICAgIAotICAg
IC8vIENoZWNrIHRoZSBjb21wdXRlZCBoYXNoIGFnYWluc3QgdGhlIGV4cGVjdGVkIG9uZSBhbmQg
ZHVtcCBpbWFnZSBvbiBtaXNtYXRjaAotICAgIGJvb2wgZHVtcEltYWdlID0gdHJ1ZTsKLSAgICBp
ZiAoZXhwZWN0ZWRIYXNoLmxlbmd0aCgpID4gMCkgewotICAgICAgICBBU1NFUlQoZXhwZWN0ZWRI
YXNoLmxlbmd0aCgpID09IDMyKTsKLSAgICAgICAgCi0gICAgICAgIHByaW50ZigiXG5FeHBlY3Rl
ZEhhc2g6ICVzXG4iLCBleHBlY3RlZEhhc2guY19zdHIoKSk7Ci0gICAgICAgIAotICAgICAgICBp
ZiAoZXhwZWN0ZWRIYXNoID09IGFjdHVhbEhhc2gpICAgICAvLyBGSVhNRTogZG8gY2FzZSBpbnNl
bnNpdGl2ZSBjb21wYXJlCi0gICAgICAgICAgICBkdW1wSW1hZ2UgPSBmYWxzZTsKLSAgICB9Ci0g
ICAgCi0gICAgaWYgKGR1bXBJbWFnZSkgewotICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
aW1hZ2UoQWRvcHRDRiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dC0+Y2dDb250
ZXh0KCkpKTsKLSAgICAgICAgcHJpbnRQTkcoaW1hZ2UuZ2V0KCkpOwotICAgIH0KKyAgICBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UoQWRvcHRDRiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlSW1h
Z2UoY29udGV4dC0+Y2dDb250ZXh0KCkpKTsKKyAgICBwcmludFBORyhpbWFnZS5nZXQoKSk7CiB9
CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1bXBTdXBwb3J0Q0cu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1bXBT
dXBwb3J0Q0cuaAkocmV2aXNpb24gNDUzNTUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jZy9QaXhlbER1bXBTdXBwb3J0Q0cuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBA
QAogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CiAKICNpZiBQTEFURk9STShXSU4pCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDQ1MzU1KQorKysgV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTAsNyArNTAsOSBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgorI2lmIFBMQVRGT1JNKENGTkVU
V09SSykKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxDYWNoZVByaXYuaD4KKyNlbmRpZgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CkBA
IC0xMDQyLDYgKzEwNDQsNyBAQCBJV2ViVmlldyogY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldp
bmRvCiAgICAgcmV0dXJuIHdlYlZpZXc7CiB9CiAKKyNpZiBQTEFURk9STShDRk5FVFdPUkspCiBS
ZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gc2hhcmVkQ0ZVUkxDYWNoZSgpCiB7CiAgICAgSE1PRFVM
RSBtb2R1bGUgPSBHZXRNb2R1bGVIYW5kbGUoVEVYVCgiQ0ZOZXR3b3JrX2RlYnVnLmRsbCIpKTsK
QEAgLTEwNjAsNiArMTA2Myw3IEBAIFJldGFpblB0cjxDRlVSTENhY2hlUmVmPiBzaGFyZWRDRlVS
TENhY2gKIAogICAgIHJldHVybiAwOwogfQorI2VuZGlmCiAKIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiBhcmd2W10pCiB7CkBAIC0xMTI4LDggKzExMzIsMTAgQEAgaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIqIGFyZ3ZbXSkKICAgICBpZiAoRkFJTEVEKHdlYlZpZXctPm1haW5GcmFtZSgmZnJhbWUp
KSkKICAgICAgICAgcmV0dXJuIC0xOwogCisjaWYgUExBVEZPUk0oQ0ZORVRXT1JLKQogICAgIFJl
dGFpblB0cjxDRlVSTENhY2hlUmVmPiB1cmxDYWNoZSA9IHNoYXJlZENGVVJMQ2FjaGUoKTsKICAg
ICBDRlVSTENhY2hlUmVtb3ZlQWxsQ2FjaGVkUmVzcG9uc2VzKHVybENhY2hlLmdldCgpKTsKKyNl
bmRpZgogCiAjaWZkZWYgX0RFQlVHCiAgICAgX0NydE1lbVN0YXRlIGVudHJ5VG9NYWluTWVtQ2hl
Y2twb2ludDsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLnZjcHJvagkocmV2aXNpb24gNDUzNTUpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0yMzEsNiArMjMxLDE1MSBAQAogCQkJCUNvbW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBkZWZp
bmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmluZWQgUFJPRFVDVElPTiBleGl0IC9iKSYjeDBEOyYj
eDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxi
aW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtpZiBub3QgZXhpc3QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCku
ZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmln
U3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZv
dW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5c
Q0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2Vz
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxi
aW5cQ2hhcmFjdGVyU2V0cyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChM
aWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5cZG5zc2QuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGlj
dWR0NDAuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRi
JnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29w
eSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxp
Y3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cbGlieG1sMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhzbHQkKExpYnJhcnlDb25maWdTdWZm
aXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMy
JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgp
LmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsiCiAJCQkvPgogCQk8
L0NvbmZpZ3VyYXRpb24+CisJCTxDb25maWd1cmF0aW9uCisJCQlOYW1lPSJEZWJ1Z19DYWlyb3xX
aW4zMiIKKwkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVl
dHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQo
V2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2c3Byb3BzXGRlYnVnLnZzcHJvcHMiCisJCQlDaGFy
YWN0ZXJTZXQ9IjEiCisJCQk+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRv
b2wiCisJCQkJQ29tbWFuZExpbmU9InNldCBQQVRIPSVTeXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjsl
UEFUSCUmI3gwRDsmI3gwQTtpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRm
YWlsZWQmcXVvdDsgZ3JlcCBYWCQoUHJvamVjdE5hbWUpWFggJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7aWYgZXJyb3JsZXZlbCAxIGV4aXQgMSYj
eDBEOyYjeDBBO2VjaG8gWFgkKFByb2plY3ROYW1lKVhYICZndDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7bWtkaXIgMiZn
dDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRyZWUmcXVv
dDsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5j
bHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyYjeDBEOyYjeDBBO21r
ZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJU
cmVlXEZvcndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hj
b3B5IC95IC9kICZxdW90OyQoUHJvamVjdERpcilcLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXCou
aCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxG
b3J3YXJkaW5nSGVhZGVyc1x3dGYmcXVvdDsmI3gwRDsmI3gwQTsiCisJCQkvPgorCQkJPFRvb2wK
KwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9
IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1dl
YlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJW
Q01JRExUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpXC4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XGNhaXJvJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFk
ZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3Jl
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxJbmNsdWRlXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5j
bHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmlsaXR5SGVhZGVycyZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxDb3JlRm91bmRhdGlvblxPU1hDb21wYXRpYmls
aXR5SGVhZGVyc1xHTlVDb21wYXRpYmlsaXR5JnF1b3Q7IgorCQkJCVByZXByb2Nlc3NvckRlZmlu
aXRpb25zPSJfQ09OU09MRSIKKwkJCQlEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iNDE0NiIKKwkJ
CQlGb3JjZWRJbmNsdWRlRmlsZXM9IkR1bXBSZW5kZXJUcmVlUHJlZml4LmgiCisJCQkvPgorCQkJ
PFRvb2wKKwkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+CisJ
CQk8VG9vbAorCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCisJCQkvPgorCQkJPFRv
b2wKKwkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlO
YW1lPSJWQ0xpbmtlclRvb2wiCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iSmF2YVNjcmlw
dENvcmUkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCkubGliIFdlYktpdEdVSUQkKFdlYktpdENvbmZp
Z1N1ZmZpeCkubGliIFdlYktpdCQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgQ0ZMaXRlX0Rl
YnVnLmxpYiBjYWlyby5saWIganBlZy5saWIgbGlicG5nLmxpYiBsaWJjdXJsX2ltcC5saWIgcHRo
cmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIGdkaTMyLmxpYiBvbGUzMi5saWIgb2xl
YXV0MzIubGliIHVzZXIzMi5saWIgc2hsd2FwaS5saWIgb2xlYWNjLmxpYiIKKwkJCQlBZGRpdGlv
bmFsTGlicmFyeURpcmVjdG9yaWVzPSIiCisJCQkJRGVsYXlMb2FkRExMcz0iIgorCQkJCVN1YlN5
c3RlbT0iMSIKKwkJCQlUYXJnZXRNYWNoaW5lPSIxIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNBTGlua1Rvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ01hbmlmZXN0VG9v
bCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiCisJCQkvPgorCQkJ
PFRvb2wKKwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFt
ZT0iVkNGeENvcFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVy
VG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiCisJ
CQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIKKwkJCQlDb21t
YW5kTGluZT0iaWYgZXhpc3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1
b3Q7IGRlbCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsm
I3gwQTsmI3gwRDsmI3gwQTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVk
IFBST0RVQ1RJT04gZXhpdCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05V
TCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4
MEE7aWYgbm90IGV4aXN0ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5k
YXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyBleGl0IC9iJiN4MEQ7JiN4MEE7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxD
b3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChM
aWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxiaW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluXENvcmVGb3VuZGF0aW9uLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
IC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90
OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsm
I3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFw
aGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGRuc3NkLmRsbCZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwLmRsbCZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxpY3VkdDQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWlu
NDAkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCku
cGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4
Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhtbDIkKExpYnJh
cnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxsaWJ4c2x0JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRP
dXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlD
b25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7
JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxT
UUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZx
dW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJh
cnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1
b3Q7JiN4MEQ7JiN4MEE7IgorCQkJLz4KKwkJPC9Db25maWd1cmF0aW9uPgorCQk8Q29uZmlndXJh
dGlvbgorCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiIKKwkJCUNvbmZpZ3VyYXRpb25UeXBl
PSIxIgorCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoV2ViS2l0TGlicmFyaWVzRGlyKVx0
b29sc1x2c3Byb3BzXGNvbW1vbi52c3Byb3BzOyQoV2ViS2l0TGlicmFyaWVzRGlyKVx0b29sc1x2
c3Byb3BzXHJlbGVhc2UudnNwcm9wcyIKKwkJCUNoYXJhY3RlclNldD0iMSIKKwkJCVdob2xlUHJv
Z3JhbU9wdGltaXphdGlvbj0iMSIKKwkJCT4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNQcmVCdWls
ZEV2ZW50VG9vbCIKKwkJCQlDb21tYW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3
aW5cYmluOyVQQVRIJSYjeDBEOyYjeDBBO2lmIGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxidWlsZGZhaWxlZCZxdW90OyBncmVwIFhYJChQcm9qZWN0TmFtZSlYWCAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTtpZiBlcnJvcmxldmVsIDEg
ZXhpdCAxJiN4MEQ7JiN4MEE7ZWNobyBYWCQoUHJvamVjdE5hbWUpWFggJmd0OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtt
a2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVy
VHJlZSZxdW90OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7JiN4MEQ7
JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVt
cFJlbmRlclRyZWVcRm9yd2FyZGluZ0hlYWRlcnNcd3RmJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7
JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVy
c1x3dGZcKi5oJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5k
ZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyIKKwkJCS8+CisJ
CQk8VG9vbAorCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgorCQkJLz4KKwkJCTxUb29sCisJ
CQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5h
bWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJ
CU5hbWU9IlZDTUlETFRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVj
dERpcilcLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cY2Fpcm8mcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGUmcXVv
dDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcRHVtcFJlbmRlclRyZWVcRm9yd2Fy
ZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcSmF2YVNj
cmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXEluY2x1ZGVcV2ViQ29yZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcSW5jbHVkZVxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxJbmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENvbXBhdGliaWxpdHlIZWFkZXJzJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXENvcmVGb3VuZGF0aW9uXE9TWENv
bXBhdGliaWxpdHlIZWFkZXJzXEdOVUNvbXBhdGliaWxpdHkmcXVvdDsiCisJCQkJUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIgorCQkJCURpc2FibGVTcGVjaWZpY1dhcm5pbmdzPSI0
MTQ2IgorCQkJCUZvcmNlZEluY2x1ZGVGaWxlcz0iRHVtcFJlbmRlclRyZWVQcmVmaXguaCIKKwkJ
CS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgor
CQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKKwkJCS8+
CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKKwkJCS8+CisJCQk8VG9v
bAorCQkJCU5hbWU9IlZDTGlua2VyVG9vbCIKKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJK
YXZhU2NyaXB0Q29yZSQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgV2ViS2l0R1VJRCQoV2Vi
S2l0Q29uZmlnU3VmZml4KS5saWIgV2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBD
RkxpdGUubGliIGNhaXJvLmxpYiBqcGVnLmxpYiBsaWJwbmcubGliIGxpYmN1cmxfaW1wLmxpYiBw
dGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5saWIgZ2RpMzIubGliIG9sZTMyLmxpYiBv
bGVhdXQzMi5saWIgdXNlcjMyLmxpYiBzaGx3YXBpLmxpYiBvbGVhY2MubGliIgorCQkJCUFkZGl0
aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiIKKwkJCQlEZWxheUxvYWRETExzPSIiCisJCQkJU3Vi
U3lzdGVtPSIxIgorCQkJCVRhcmdldE1hY2hpbmU9IjEiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlO
YW1lPSJWQ0FMaW5rVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDTWFuaWZlc3RU
b29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKKwkJCS8+CisJ
CQk8VG9vbAorCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCisJCQkvPgorCQkJPFRvb2wKKwkJCQlO
YW1lPSJWQ0Z4Q29wVG9vbCIKKwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDQXBwVmVyaWZp
ZXJUb29sIgorCQkJLz4KKwkJCTxUb29sCisJCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIK
KwkJCS8+CisJCQk8VG9vbAorCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgorCQkJCUNv
bW1hbmRMaW5lPSJpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQm
cXVvdDsgZGVsICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyYjeDBE
OyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBkZWZpbmVkIEFSQ0hJVkVfQlVJTEQgKGlmIGRlZmlu
ZWQgUFJPRFVDVElPTiBleGl0IC9iKSYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7
TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsm
I3gwQTtpZiBub3QgZXhpc3QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91
bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7IGV4aXQgL2ImI3gwRDsmI3gw
QTsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZm
aXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxDRk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kg
L2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyYjeDBE
OyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUdy
YXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95
IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cZG5zc2QuZGxsJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAuZGxsJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXGljdWR0NDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZx
dW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1
aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieG1sMiQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXGxpYnhzbHQkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5ccHRocmVhZFZDMiQoTGlicmFy
eUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVv
dDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZm
aXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4
MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTsiCisJCQkvPgorCQk8L0NvbmZpZ3VyYXRpb24+CiAJPC9Db25maWd1
cmF0aW9ucz4KIAk8UmVmZXJlbmNlcz4KIAk8L1JlZmVyZW5jZXM+CkBAIC0zNjgsMTYgKzUxMywx
MDggQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJUmVsYXRpdmVQYXRoPSIuXFBpeGVs
RHVtcFN1cHBvcnQuaCIKKwkJCVJlbGF0aXZlUGF0aD0iLi5cUGl4ZWxEdW1wU3VwcG9ydC5jcHAi
CiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cUGl4ZWxEdW1w
U3VwcG9ydC5oIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGNhaXJvXFBpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAiCisJCQk+CisJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQk+CisJCQkJPFRvb2wKKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkv
PgorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJPgor
CQkJCTxUb29sCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJLz4KKwkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQlOYW1lPSJEZWJ1Z19J
bnRlcm5hbHxXaW4zMiIKKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQk+CisJCQkJ
PFRvb2wKKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkvPgorCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJPC9GaWxlPgorCQk8RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIuLlxjYWly
b1xQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCIKKwkJCT4KKwkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CT4KKwkJCQk8VG9vbAorCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKKwkJCQkvPgorCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCU5hbWU9IlJl
bGVhc2V8V2luMzIiCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJPgorCQkJCTxU
b29sCisJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgorCQkJCS8+CisJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJTmFtZT0iRGVidWdfSW50ZXJu
YWx8V2luMzIiCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJPgorCQkJCTxUb29s
CisJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgorCQkJCS8+CisJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQk8L0ZpbGU+CisJCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNnXFBpeGVs
RHVtcFN1cHBvcnRDRy5jcHAiCiAJCQk+CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQlOYW1l
PSJEZWJ1Z19DYWlyb3xXaW4zMiIKKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQk+
CisJCQkJPFRvb2wKKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkvPgorCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCU5hbWU9IlJlbGVh
c2VfQ2Fpcm98V2luMzIiCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJPgorCQkJ
CTxUb29sCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJLz4KKwkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CiAJCTwvRmlsZT4KIAkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cY2dc
UGl4ZWxEdW1wU3VwcG9ydENHLmgiCiAJCQk+CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQlO
YW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIKKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQk+CisJCQkJPFRvb2wKKwkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiCisJCQkJLz4KKwkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvfFdpbjMyIgorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCT4K
KwkJCQk8VG9vbAorCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKKwkJCQkvPgorCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KIAkJPC9GaWxlPgogCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIu
XFBpeGVsRHVtcFN1cHBvcnRXaW4uY3BwIgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAkocmV2aXNpb24gNDUz
NTUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxNSBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpZiBQTEFURk9STShDRykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dC
aXRtYXBDb250ZXh0Lmg+CiAjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENHLmgiCisjZWxzZQor
I2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+CisjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENhaXJv
LmgiCisjZW5kaWYKIAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCi0jaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NHQml0bWFwQ29udGV4dC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC02MCw5ICs2NSwxOSBAQCBQYXNzUmVm
UHRyPEJpdG1hcENvbnRleHQ+IGNyZWF0ZUJpdG1hcENvCiAgICAgR2V0T2JqZWN0KGJpdG1hcCwg
c2l6ZW9mKGluZm8pLCAmaW5mbyk7CiAgICAgQVNTRVJUKGluZm8uYm1CaXRzUGl4ZWwgPT0gMzIp
OwogCisjaWYgUExBVEZPUk0oQ0cpCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29s
b3JTcGFjZShBZG9wdENGLCBDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKSk7CiAgICAgQ0dD
b250ZXh0UmVmIGNvbnRleHQgPSBDR0JpdG1hcENvbnRleHRDcmVhdGUoaW5mby5ibUJpdHMsIGlu
Zm8uYm1XaWR0aCwgaW5mby5ibUhlaWdodCwgOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZm8uYm1XaWR0aEJ5dGVzLCBjb2xvclNwYWNlLmdldCgp
LCBrQ0dCaXRtYXBCeXRlT3JkZXIzMkxpdHRsZSB8IGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVk
Rmlyc3QpOworI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFn
ZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKCh1bnNpZ25lZCBjaGFyKilp
bmZvLmJtQml0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQ0FJUk9fRk9STUFUX0FSR0IzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5mby5ibVdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmZvLmJtSGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmJtV2lkdGhCeXRlcyk7CisgICAgY2Fpcm9f
dCogY29udGV4dCA9IGNhaXJvX2NyZWF0ZShpbWFnZSk7CisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0
cm95KGltYWdlKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIEJpdG1hcENvbnRleHQ6OmNyZWF0ZUJ5
QWRvcHRpbmdCaXRtYXBBbmRDb250ZXh0KGJpdG1hcCwgY29udGV4dCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32190</attachid>
            <date>2009-07-02 11:25:21 -0700</date>
            <delta_ts>2009-07-02 17:49:51 -0700</delta_ts>
            <desc>Revised per Adam&apos;s comments (better).</desc>
            <filename>drt_cairo_win.patch</filename>
            <type>text/plain</type>
            <size>43453</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L3dpbi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ1MzkzKQ0KKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMSwzICsxLDE0IEBADQorMjAwOS0wNi0zMCAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGdtYWlsLmNvbT4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLg0KKw0KKyAgICAgICAgQnVpbGQgRHVtcFJlbmRlclRyZWUgdW5kZXIgQ2Fpcm8uDQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY0NTcNCisNCisg
ICAgICAgICogV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuOiBBZGQgQ2Fpcm8gdGFyZ2V0cyB0byB0
aGUNCisgICAgICAgICAgRHVtcFJlbmRlclRyZWUgYnVpbGQsIGFuZCB1c2UgdGhlIGluIHRoZSBE
ZWJ1Z19DYWlybw0KKyAgICAgICAgICBhbmQgUmVsZWFzZV9DYWlybyB0YXJnZXRzLg0KKw0KIDIw
MDktMDYtMjkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPg0KIA0KICAgICAgICAgRml4
IFdpbmRvd3MgYnVzdGFnZS4gIE1pc3NlZCB0d28gY29uZmlndXJhdGlvbnMgZm9yIGVuYWJsaW5n
IERBVEFHUklELg0KSW5kZXg6IFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdC5zbG4JKHJldmlz
aW9uIDQ1MzU1KQ0KKysrIFdlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQuc2xuCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMTM0LDE0ICsxMzQsMTQgQEAgR2xvYmFsDQogCQl7MUMxNjMzN0ItQUNG
My00RDAzLUFBOTAtODUxQzVCNUVBREE2fS5SZWxlYXNlX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBS
ZWxlYXNlX0NhaXJvfFdpbjMyDQogCQl7MUMxNjMzN0ItQUNGMy00RDAzLUFBOTAtODUxQzVCNUVB
REE2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXsxQzE2MzM3
Qi1BQ0YzLTREMDMtQUE5MC04NTFDNUI1RUFEQTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJl
bGVhc2V8V2luMzINCi0JCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRl
YnVnX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NjU2N0RGRDQtRDZE
RS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19DYWlyb3xXaW4zMi5CdWlsZC4wID0gRGVi
dWd8V2luMzINCisJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVn
X0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnX0NhaXJvfFdpbjMyDQorCQl7NjU2N0RGRDQt
RDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19DYWlyb3xXaW4zMi5CdWlsZC4wID0g
RGVidWdfQ2Fpcm98V2luMzINCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYw
RTF9LkRlYnVnX0ludGVybmFsfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnX0ludGVybmFsfFdpbjMy
DQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z19JbnRlcm5h
bHxXaW4zMi5CdWlsZC4wID0gRGVidWdfSW50ZXJuYWx8V2luMzINCiAJCXs2NTY3REZENC1ENkRF
LTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdp
bjMyDQogCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5EZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0Uz
NTNEMTYwRTF9LlJlbGVhc2VfQ2Fpcm98V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0K
LQkJezY1NjdERkQ0LUQ2REUtNENENS04MjVELTE3RTM1M0QxNjBFMX0uUmVsZWFzZV9DYWlyb3xX
aW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezY1NjdERkQ0LUQ2REUtNENENS04MjVE
LTE3RTM1M0QxNjBFMX0uUmVsZWFzZV9DYWlyb3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlX0Nh
aXJvfFdpbjMyDQorCQl7NjU2N0RGRDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxl
YXNlX0NhaXJvfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlX0NhaXJvfFdpbjMyDQogCQl7NjU2N0RG
RDQtRDZERS00Q0Q1LTgyNUQtMTdFMzUzRDE2MEUxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9
IFJlbGVhc2V8V2luMzINCiAJCXs2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9
LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtDMDczNzM5OC0zNTY1
LTQzOUUtQTJCOC1BQjJCRTRENTQzMEN9LkRlYnVnX0NhaXJvfFdpbjMyLkFjdGl2ZUNmZyA9IERl
YnVnfFdpbjMyDQpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NTM5MykNCisrKyBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsNDkgQEANCisyMDA5LTA2LTMwICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4NCisNCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgQWRkIGJ1aWxkIHN1cHBvcnQgZm9yIGEg
V2luZG93cyBDYWlybyB2ZXJzaW9uIG9mDQorICAgICAgICBEdW1wUmVuZGVyVHJlZS4gIFNoYXJl
IGFzIG11Y2ggbG9naWMgYmV0d2VlbiB0aGUNCisgICAgICAgIENHIGFuZCBDYWlybyBidWlsZHMg
YXMgcG9zc2libGUuDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjY0NTcNCisNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9y
dC5jcHA6IEFkZGVkLg0KKyAgICAgICAgKGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0
aEV4cGVjdGVkKTogTW92ZWQgY29tbW9uIGxvZ2ljDQorICAgICAgICAgIGZyb20gQ0ctc3BlY2lm
aWMgZmlsZS4NCisgICAgICAgIChwcmludFBORyk6IE1vdmVkIGNvbW1vbiBsb2dpYyBmcm9tIENH
LXNwZWNpZmljIGZpbGUuDQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBv
cnQuaDogQWRkIGRlY2xhcmF0aW9uIGZvciBuZXcNCisgICAgICAgICAgY29tbW9uIHByaW5nUE5H
IGZ1bmN0aW9uLg0KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jYWlybzogQWRkZWQuDQorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHA6IEFk
ZGVkLg0KKyAgICAgICAgICBJbXBsZW1lbnQgY2Fpcm8tc3BlY2lmaWMgbG9naWMgZm9yIGRlYWxp
bmcgd2l0aCBDYWlybyBzdXJmYWNlcy4NCisgICAgICAgICh3cml0ZUZ1bmN0aW9uKToNCisgICAg
ICAgIChwcmludFBORyk6IENhaXJvLXNwZWNpZmljIFBORyBoYW5kbGluZyBsb2dpYy4NCisgICAg
ICAgIChjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQpOiBOZXcgQ2Fpcm8gcm91
dGluZSB1c2luZw0KKyAgICAgICAgICB0aGUgZ2VuZXJpYyBCaXRtYXBDb250ZXh0IHNpZ25hdHVy
ZS4NCisgICAgICAgIChkdW1wQml0bWFwKTogTmV3IGZ1bmN0aW9uIGNvbnRhaW5pbmcgQ2Fpcm8t
c3BlY2lmaWMgcG9ydGlvbnMgb2YNCisgICAgICAgICAgdGhlIGR1bXBpbmcgcm91dGluZS4NCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmg6IEFk
ZGVkLg0KKyAgICAgICAgICBQcm92aWRlIENhaXJvIHZlcnNpb24gb2YgdGhlIEJpdG1hcENvbnRl
eHQgc3RydWN0dXJlIHNvIHRoYXQNCisgICAgICAgICAgZHVtcGluZyByb3V0aW5lcyBjYW4gd29y
ayBvbiBhbiBhYnN0cmFjdCB0eXBlLg0KKyAgICAgICAgKEJpdG1hcENvbnRleHQ6OmNyZWF0ZUJ5
QWRvcHRpbmdCaXRtYXBBbmRDb250ZXh0KToNCisgICAgICAgIChCaXRtYXBDb250ZXh0Ojp+Qml0
bWFwQ29udGV4dCk6DQorICAgICAgICAoQml0bWFwQ29udGV4dDo6Y2Fpcm9Db250ZXh0KToNCisg
ICAgICAgIChCaXRtYXBDb250ZXh0OjpCaXRtYXBDb250ZXh0KToNCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2cvUGl4ZWxEdW1wU3VwcG9ydENHLmNwcDoNCisgICAgICAgIChwcmludFBORyk6
IENHLXNwZWNpZmljIFBORyBoYW5kbGluZyBsb2dpYy4NCisgICAgICAgIChjb21wdXRlTUQ1SGFz
aFN0cmluZ0ZvckJpdG1hcENvbnRleHQpOiBSZXZpc2VkIHRvIHVzZSBnZW5lcmljDQorICAgICAg
ICAgIEJpdG1hcENvbnRleHQgc2lnbmF0dXJlLg0KKyAgICAgICAgKGR1bXBCaXRtYXApOiBOZXcg
ZnVuY3Rpb24gY29udGFpbmluZyBDRy1zcGVjaWZpYyBwb3J0aW9ucyBvZg0KKyAgICAgICAgICB0
aGUgZHVtcGluZyByb3V0aW5lLg0KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jZy9QaXhlbER1
bXBTdXBwb3J0Q0cuaDogQWRkIG5ldyBzaWduYXR1cmVzLg0KKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOiBEaXNhYmxlIENGTmV0d29yayBsb2dpYw0KKyAg
ICAgICAgICB3aGVuIGJ1aWxkaW5nIHRoZSBub24tQ0ZOZXR3b3JrIHZlcnNpb24uDQorICAgICAg
ICAobWFpbik6DQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52
Y3Byb2o6DQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2lu
LmNwcDoNCisgICAgICAgIChjcmVhdGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXcpOiBQcm92aWRl
IHBhcmFsbGVsIENhaXJvIGltcGxlbWVudGF0aW9uDQorICAgICAgICAgIG9mIENHIGJpdG1hcC9j
b250ZXh0IHNldHVwLg0KKw0KIDIwMDktMDYtMzAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPg0KIA0KICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuDQpJbmRleDog
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9ydC5jcHANCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9QaXhlbER1bXBTdXBwb3J0LmNwcAko
cmV2aXNpb24gMCkNCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9QaXhlbER1bXBTdXBw
b3J0LmNwcAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsODMgQEANCisvKg0KKyAqIENvcHlyaWdo
dCAoQykgMjAwOSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqDQorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKg0KKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0K
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuDQorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4NCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZg0KKyAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkDQor
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZDQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RA0KKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUNCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZDQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMNCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7DQorICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
DQorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YNCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
Lg0KKyAqLw0KKw0KKyNpbmNsdWRlICJjb25maWcuaCINCisjaW5jbHVkZSAiRHVtcFJlbmRlclRy
ZWUuaCINCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisjaW5jbHVkZSAiUGl4
ZWxEdW1wU3VwcG9ydC5oIg0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPg0KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+DQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4NCisNCisjaWYgUExB
VEZPUk0oQ0cpDQorI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5oIg0KKyNlbGlmIFBMQVRG
T1JNKENBSVJPKQ0KKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCINCisjZW5kaWYN
CisNCit2b2lkIGR1bXBXZWJWaWV3QXNQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKGNvbnN0
IHN0ZDo6c3RyaW5nJiBleHBlY3RlZEhhc2gpDQorew0KKyAgICBSZWZQdHI8Qml0bWFwQ29udGV4
dD4gY29udGV4dCA9IGNyZWF0ZUJpdG1hcENvbnRleHRGcm9tV2ViVmlldyhnTGF5b3V0VGVzdENv
bnRyb2xsZXItPnRlc3RPbnNjcmVlbigpLCBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnRlc3RSZXBh
aW50KCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFpbnRTd2VlcEhvcml6b250YWxs
eSgpLCBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBTZWxlY3Rpb25SZWN0KCkpOw0KKyAgICBB
U1NFUlQoY29udGV4dCk7DQorICAgIA0KKyAgICAvLyBDb21wdXRlIHRoZSBoYXNoIG9mIHRoZSBi
aXRtYXAgY29udGV4dCBwaXhlbHMNCisgICAgY2hhciBhY3R1YWxIYXNoWzMzXTsNCisgICAgY29t
cHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KGNvbnRleHQuZ2V0KCksIGFjdHVhbEhh
c2gpOw0KKyAgICBwcmludGYoIlxuQWN0dWFsSGFzaDogJXNcbiIsIGFjdHVhbEhhc2gpOw0KKyAg
ICANCisgICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIGhhc2ggYWdhaW5zdCB0aGUgZXhwZWN0ZWQg
b25lIGFuZCBkdW1wIGltYWdlIG9uIG1pc21hdGNoDQorICAgIGJvb2wgZHVtcEltYWdlID0gdHJ1
ZTsNCisgICAgaWYgKGV4cGVjdGVkSGFzaC5sZW5ndGgoKSA+IDApIHsNCisgICAgICAgIEFTU0VS
VChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPT0gMzIpOw0KKyAgICAgICAgDQorICAgICAgICBwcmlu
dGYoIlxuRXhwZWN0ZWRIYXNoOiAlc1xuIiwgZXhwZWN0ZWRIYXNoLmNfc3RyKCkpOw0KKyAgICAg
ICAgDQorICAgICAgICBpZiAoZXhwZWN0ZWRIYXNoID09IGFjdHVhbEhhc2gpICAgICAvLyBGSVhN
RTogZG8gY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJlDQorICAgICAgICAgICAgZHVtcEltYWdlID0g
ZmFsc2U7DQorICAgIH0NCisgICAgDQorICAgIGlmIChkdW1wSW1hZ2UpDQorICAgICAgZHVtcEJp
dG1hcChjb250ZXh0LmdldCgpKTsNCit9DQorDQordm9pZCBwcmludFBORyhjb25zdCBzaXplX3Qg
ZGF0YUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSkNCit7DQorICAgIHByaW50Zigi
Q29udGVudC1UeXBlOiAlc1xuIiwgImltYWdlL3BuZyIpOw0KKyAgICBwcmludGYoIkNvbnRlbnQt
TGVuZ3RoOiAlbHVcbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KGRhdGFMZW5ndGgpKTsN
CisNCisgICAgY29uc3Qgc2l6ZV90IGJ5dGVzVG9Xcml0ZUluT25lQ2h1bmsgPSAxIDw8IDE1Ow0K
KyAgICBzaXplX3QgZGF0YVJlbWFpbmluZ1RvV3JpdGUgPSBkYXRhTGVuZ3RoOw0KKyAgICB3aGls
ZSAoZGF0YVJlbWFpbmluZ1RvV3JpdGUpIHsNCisgICAgICAgIHNpemVfdCBieXRlc1RvV3JpdGVJ
blRoaXNDaHVuayA9IHN0ZDo6bWluKGRhdGFSZW1haW5pbmdUb1dyaXRlLCBieXRlc1RvV3JpdGVJ
bk9uZUNodW5rKTsNCisgICAgICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBmd3JpdGUoZGF0YSwg
MSwgYnl0ZXNUb1dyaXRlSW5UaGlzQ2h1bmssIHN0ZG91dCk7DQorICAgICAgICBpZiAoYnl0ZXNX
cml0dGVuICE9IGJ5dGVzVG9Xcml0ZUluVGhpc0NodW5rKQ0KKyAgICAgICAgICAgIGJyZWFrOw0K
KyAgICAgICAgZGF0YVJlbWFpbmluZ1RvV3JpdGUgLT0gYnl0ZXNXcml0dGVuOw0KKyAgICAgICAg
ZGF0YSArPSBieXRlc1dyaXR0ZW47DQorICAgIH0NCit9DQpJbmRleDogV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9ydC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9ydC5oCShyZXZpc2lvbiA0NTM1NSkNCisr
KyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9QaXhlbER1bXBTdXBwb3J0LmgJKHdvcmtpbmcg
Y29weSkNCkBAIC0zMSw3ICszMSwxNSBAQA0KIA0KICNpbmNsdWRlIDxzdHJpbmc+DQogDQorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+DQorDQorY2xhc3MgQml0bWFwQ29udGV4dDsNCisNCit2
b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dChCaXRtYXBDb250ZXh0Kiwg
Y2hhciBoYXNoU3RyaW5nWzMzXSk7DQorUGFzc1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVC
aXRtYXBDb250ZXh0RnJvbVdlYlZpZXcoYm9vbCBvbnNjcmVlbiwgYm9vbCBpbmNyZW1lbnRhbFJl
cGFpbnQsIGJvb2wgc3dlZXBIb3Jpem9udGFsbHksIGJvb2wgZHJhd1NlbGVjdGlvblJlY3QpOw0K
K3ZvaWQgZHVtcEJpdG1hcChCaXRtYXBDb250ZXh0Kik7DQogdm9pZCBkdW1wV2ViVmlld0FzUGl4
ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3RlZChjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRIYXNo
KTsNCit2b2lkIHByaW50UE5HKGNvbnN0IHNpemVfdCBkYXRhTGVuZ3RoLCBjb25zdCB1bnNpZ25l
ZCBjaGFyKiBkYXRhKTsNCiANCiAjaWYgUExBVEZPUk0oTUFDKQ0KIA0KSW5kZXg6IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHANCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1bXBTdXBw
b3J0Q2Fpcm8uY3BwCShyZXZpc2lvbiAwKQ0KKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAJKHJldmlzaW9uIDApDQpAQCAtMCwwICsx
LDk3IEBADQorLyoNCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLg0KKyAqICAgICAgICAgICAoQykgMjAwOSBCcmVudCBGdWxnaGFtIDxiZnVsZ2hh
bUB3ZWJraXQub3JnPg0KKyAqDQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJl
IG1ldDoNCisgKg0KKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
DQorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCisgKiAzLiAgTmVpdGhl
ciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1l
cyBvZg0KKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkDQorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCisgKg0KKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZDQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRA0KKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUNCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZDQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMNCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7DQorICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EDQorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YNCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KKyAqLw0KKw0KKyNpbmNsdWRlICJjb25maWcu
aCINCisjaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydENhaXJvLmgiDQorDQorI2luY2x1ZGUgIkR1
bXBSZW5kZXJUcmVlLmgiDQorI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnQuaCINCisjaW5jbHVk
ZSA8YWxnb3JpdGhtPg0KKyNpbmNsdWRlIDxjdHlwZS5oPg0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPg0KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+DQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4NCisjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPg0KKw0KKyNpZiBQTEFURk9STShX
SU4pDQorI2luY2x1ZGUgIk1ENS5oIg0KKyNlbmRpZg0KKw0KK3VzaW5nIG5hbWVzcGFjZSBzdGQ7
DQorDQorc3RhdGljIGNhaXJvX3N0YXR1c190IHdyaXRlRnVuY3Rpb24odm9pZCogY2xvc3VyZSwg
Y29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgaW50IGxlbmd0aCkNCit7DQorICAg
IFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiogaW4gPSByZWludGVycHJldF9jYXN0PFZlY3Rvcjx1bnNp
Z25lZCBjaGFyPio+KGNsb3N1cmUpOw0KKyAgICBpbi0+YXBwZW5kKGRhdGEsIGxlbmd0aCk7DQor
ICAgIHJldHVybiBDQUlST19TVEFUVVNfU1VDQ0VTUzsNCit9DQorDQorc3RhdGljIHZvaWQgcHJp
bnRQTkcoY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSkNCit7DQorICAgIFZlY3Rvcjx1bnNpZ25lZCBj
aGFyPiBwaXhlbERhdGE7DQorICAgIC8vIE9ubHkgUE5HIG91dHB1dCBpcyBzdXBwb3J0ZWQgZm9y
IG5vdy4NCisgICAgY2Fpcm9fc3VyZmFjZV93cml0ZV90b19wbmdfc3RyZWFtKGltYWdlLCB3cml0
ZUZ1bmN0aW9uLCAmcGl4ZWxEYXRhKTsNCisNCisgICAgY29uc3Qgc2l6ZV90IGRhdGFMZW5ndGgg
PSBwaXhlbERhdGEuc2l6ZSgpOw0KKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhID0gcGl4
ZWxEYXRhLmRhdGEoKTsNCisNCisgICAgcHJpbnRQTkcgKGRhdGFMZW5ndGgsIGRhdGEpOw0KK30N
CisNCit2b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWFwQ29udGV4dChCaXRtYXBDb250
ZXh0KiBjb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQ0KK3sNCisgICAgQ2Fpcm9Db250ZXh0
UmVmIGJpdG1hcENvbnRleHQgPSBjb250ZXh0LT5jYWlyb0NvbnRleHQoKTsNCisgICAgY2Fpcm9f
c3VyZmFjZV90KiBzdXJmYWNlID0gY2Fpcm9fZ2V0X3RhcmdldChiaXRtYXBDb250ZXh0KTsNCisN
CisgICAgQVNTRVJUKGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2Zvcm1hdChzdXJmYWNlKSA9PSBD
QUlST19GT1JNQVRfQVJHQjMyKTsgLy8gSW1hZ2VEaWZmIGFzc3VtZXMgMzIgYml0IFJHQkEsIHdl
IG11c3QgYXMgd2VsbC4NCisNCisgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBjYWlyb19pbWFnZV9z
dXJmYWNlX2dldF9oZWlnaHQoc3VyZmFjZSk7DQorICAgIHNpemVfdCBwaXhlbHNXaWRlID0gY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSk7DQorICAgIHNpemVfdCBieXRlc1Bl
clJvdyA9IHBpeGVsc1dpZGUgKiBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoc3VyZmFj
ZSk7DQorDQorICAgIE1ENV9DVFggbWQ1Q29udGV4dDsNCisgICAgTUQ1X0luaXQoJm1kNUNvbnRl
eHQpOw0KKyAgICB1bnNpZ25lZCBjaGFyKiBiaXRtYXBEYXRhID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcio+KGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoc3VyZmFjZSkpOw0KKyAgICBm
b3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJvdyA8IHBpeGVsc0hpZ2g7IHJvdysrKSB7DQorICAgICAg
ICBNRDVfVXBkYXRlKCZtZDVDb250ZXh0LCBiaXRtYXBEYXRhLCA0ICogcGl4ZWxzV2lkZSk7DQor
ICAgICAgICBiaXRtYXBEYXRhICs9IGJ5dGVzUGVyUm93Ow0KKyAgICB9DQorICAgIHVuc2lnbmVk
IGNoYXIgaGFzaFsxNl07DQorICAgIE1ENV9GaW5hbChoYXNoLCAmbWQ1Q29udGV4dCk7DQorDQor
ICAgIGhhc2hTdHJpbmdbMF0gPSAnXDAnOw0KKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDE2OyBp
KyspDQorICAgICAgICBzbnByaW50ZihoYXNoU3RyaW5nLCAzMywgIiVzJTAyeCIsIGhhc2hTdHJp
bmcsIGhhc2hbaV0pOw0KK30NCisNCit2b2lkIGR1bXBCaXRtYXAoQml0bWFwQ29udGV4dCogY29u
dGV4dCkNCit7DQorICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IGNhaXJvX2dldF90YXJn
ZXQoY29udGV4dC0+Y2Fpcm9Db250ZXh0KCkpOw0KKyAgICBwcmludFBORyhzdXJmYWNlKTsNCit9
DQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9y
dENhaXJvLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jYWly
by9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaAkocmV2aXNpb24gMCkNCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jYWlyby9QaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaAkocmV2aXNpb24gMCkN
CkBAIC0wLDAgKzEsODIgQEANCisvKg0KKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICogICAgICAgICAgIChDKSAyMDA5IEJyZW50IEZ1bGdo
YW0gPGJmdWxnaGFtQHdlYmtpdC5vcmc+DQorICoNCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMNCisgKiBhcmUgbWV0Og0KKyAqDQorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQNCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBu
b3IgdGhlIG5hbWVzIG9mDQorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQNCisgKiAgICAgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KKyAqDQor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkNCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEDQorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQ0KKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkNCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUw0KKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsNCisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQNCisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVA0KKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRg0KKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQorICovDQorDQorI2lmbmRl
ZiBQaXhlbER1bXBTdXBwb3J0Q2Fpcm9faA0KKyNkZWZpbmUgUGl4ZWxEdW1wU3VwcG9ydENhaXJv
X2gNCisNCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4NCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4NCisNCisjaWYgUExBVEZPUk0oV0lOKQ0KKyNpbmNsdWRlIDx3aW5kb3dzLmg+DQor
I2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+DQorI2VuZGlmDQorDQordHlwZWRlZiBzdHJ1Y3QgX2Nh
aXJvKiBDYWlyb0NvbnRleHRSZWY7DQorDQorI2lmIFBMQVRGT1JNKFdJTikNCit0eXBlZGVmIEhC
SVRNQVAgUGxhdGZvcm1CaXRtYXBCdWZmZXI7DQorI2Vsc2UNCit0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtQml0bWFwQnVmZmVyOw0KKyNlbmRpZg0KKw0KK2NsYXNzIEJpdG1hcENvbnRleHQgOiBwdWJs
aWMgUmVmQ291bnRlZDxCaXRtYXBDb250ZXh0PiB7DQorcHVibGljOg0KKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCeUFkb3B0aW5nQml0bWFwQW5kQ29udGV4dChQ
bGF0Zm9ybUJpdG1hcEJ1ZmZlciBidWZmZXIsIENhaXJvQ29udGV4dFJlZiBjb250ZXh0KQ0KKyAg
ICB7DQorICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJpdG1hcENvbnRleHQoYnVmZmVyLCBj
b250ZXh0KSk7DQorICAgIH0NCisNCisgICAgfkJpdG1hcENvbnRleHQoKQ0KKyAgICB7DQorICAg
ICAgICBpZiAobV9idWZmZXIpDQorI2lmIFBMQVRGT1JNKFdJTikNCisgICAgICAgICAgICBEZWxl
dGVPYmplY3QobV9idWZmZXIpOw0KKyNlbHNlDQorICAgICAgICAgICAgZnJlZShtX2J1ZmZlcik7
DQorI2VuZGlmDQorICAgICAgICBjYWlyb19kZXN0cm95KG1fY29udGV4dCk7DQorICAgIH0NCisN
CisgICAgQ2Fpcm9Db250ZXh0UmVmIGNhaXJvQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dGV4dDsgfQ0KKw0KK3ByaXZhdGU6DQorDQorICAgIEJpdG1hcENvbnRleHQoUGxhdGZvcm1CaXRt
YXBCdWZmZXIgYnVmZmVyLCBDYWlyb0NvbnRleHRSZWYgY29udGV4dCkNCisgICAgICAgIDogbV9i
dWZmZXIoYnVmZmVyKQ0KKyAgICAgICAgLCBtX2NvbnRleHQoY29udGV4dCkNCisgICAgew0KKyAg
ICB9DQorDQorICAgIFBsYXRmb3JtQml0bWFwQnVmZmVyIG1fYnVmZmVyOw0KKyAgICBDYWlyb0Nv
bnRleHRSZWYgbV9jb250ZXh0Ow0KKw0KK307DQorDQorI2VuZGlmIC8vIFBpeGVsRHVtcFN1cHBv
cnRDYWlyb19oDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2cvUGl4ZWxEdW1w
U3VwcG9ydENHLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5jcHAJKHJldmlzaW9uIDQ1MzU1KQ0KKysrIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2NnL1BpeGVsRHVtcFN1cHBvcnRDRy5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC0zMiw3ICszMiw3IEBADQogI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5oIg0K
IA0KICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIg0KLSNpbmNsdWRlICJMYXlvdXRUZXN0Q29u
dHJvbGxlci5oIg0KKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0LmgiDQogI2luY2x1ZGUgPElt
YWdlSU8vQ0dJbWFnZURlc3RpbmF0aW9uLmg+DQogI2luY2x1ZGUgPGFsZ29yaXRobT4NCiAjaW5j
bHVkZSA8Y3R5cGUuaD4NCkBAIC02NSwyMyArNjUsMTMgQEAgc3RhdGljIHZvaWQgcHJpbnRQTkco
Q0dJbWFnZVJlZiBpbWFnZSkNCiAgICAgY29uc3QgVUludDgqIGRhdGEgPSBDRkRhdGFHZXRCeXRl
UHRyKGltYWdlRGF0YS5nZXQoKSk7DQogICAgIENGSW5kZXggZGF0YUxlbmd0aCA9IENGRGF0YUdl
dExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOw0KIA0KLSAgICBwcmludGYoIkNvbnRlbnQtVHlwZTog
JXNcbiIsICJpbWFnZS9wbmciKTsNCi0gICAgcHJpbnRmKCJDb250ZW50LUxlbmd0aDogJWx1XG4i
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihkYXRhTGVuZ3RoKSk7DQotDQotICAgIGNvbnN0
IHNpemVfdCBieXRlc1RvV3JpdGVJbk9uZUNodW5rID0gMSA8PCAxNTsNCi0gICAgc2l6ZV90IGRh
dGFSZW1haW5pbmdUb1dyaXRlID0gZGF0YUxlbmd0aDsNCi0gICAgd2hpbGUgKGRhdGFSZW1haW5p
bmdUb1dyaXRlKSB7DQotICAgICAgICBzaXplX3QgYnl0ZXNUb1dyaXRlSW5UaGlzQ2h1bmsgPSBt
aW4oZGF0YVJlbWFpbmluZ1RvV3JpdGUsIGJ5dGVzVG9Xcml0ZUluT25lQ2h1bmspOw0KLSAgICAg
ICAgc2l6ZV90IGJ5dGVzV3JpdHRlbiA9IGZ3cml0ZShkYXRhLCAxLCBieXRlc1RvV3JpdGVJblRo
aXNDaHVuaywgc3Rkb3V0KTsNCi0gICAgICAgIGlmIChieXRlc1dyaXR0ZW4gIT0gYnl0ZXNUb1dy
aXRlSW5UaGlzQ2h1bmspDQotICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICBkYXRhUmVtYWlu
aW5nVG9Xcml0ZSAtPSBieXRlc1dyaXR0ZW47DQotICAgICAgICBkYXRhICs9IGJ5dGVzV3JpdHRl
bjsNCi0gICAgfQ0KKyAgICBwcmludFBORyhzdGF0aWNfY2FzdDxzaXplX3Q+KGRhdGFMZW5ndGgp
LCBzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oZGF0YSkpOw0KIH0NCiANCi1zdGF0
aWMgdm9pZCBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckJpdG1hcENvbnRleHQoQ0dDb250ZXh0UmVm
IGJpdG1hcENvbnRleHQsIGNoYXIgaGFzaFN0cmluZ1szM10pDQordm9pZCBjb21wdXRlTUQ1SGFz
aFN0cmluZ0ZvckJpdG1hcENvbnRleHQoQml0bWFwQ29udGV4dCogY29udGV4dCwgY2hhciBoYXNo
U3RyaW5nWzMzXSkNCiB7DQorICAgIENHQ29udGV4dFJlZiBiaXRtYXBDb250ZXh0ID0gY29udGV4
dC0+Y2dDb250ZXh0KCk7DQorDQogICAgIEFTU0VSVChDR0JpdG1hcENvbnRleHRHZXRCaXRzUGVy
UGl4ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAvLyBJbWFnZURpZmYgYXNzdW1lcyAzMiBiaXQg
UkdCQSwgd2UgbXVzdCBhcyB3ZWxsLg0KICAgICBzaXplX3QgcGl4ZWxzSGlnaCA9IENHQml0bWFw
Q29udGV4dEdldEhlaWdodChiaXRtYXBDb250ZXh0KTsNCiAgICAgc2l6ZV90IHBpeGVsc1dpZGUg
PSBDR0JpdG1hcENvbnRleHRHZXRXaWR0aChiaXRtYXBDb250ZXh0KTsNCkBAIC0xMTYsMzEgKzEw
Niw4IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQml0bWENCiAgICAgICAg
IHNucHJpbnRmKGhhc2hTdHJpbmcsIDMzLCAiJXMlMDJ4IiwgaGFzaFN0cmluZywgaGFzaFtpXSk7
DQogfQ0KIA0KLXZvaWQgZHVtcFdlYlZpZXdBc1BpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQo
Y29uc3Qgc3RkOjpzdHJpbmcmIGV4cGVjdGVkSGFzaCkNCit2b2lkIGR1bXBCaXRtYXAoQml0bWFw
Q29udGV4dCogY29udGV4dCkNCiB7DQotICAgIFJlZlB0cjxCaXRtYXBDb250ZXh0PiBjb250ZXh0
Ow0KLSAgICANCi0gICAgY29udGV4dCA9IGNyZWF0ZUJpdG1hcENvbnRleHRGcm9tV2ViVmlldyhn
TGF5b3V0VGVzdENvbnRyb2xsZXItPnRlc3RPbnNjcmVlbigpLCBnTGF5b3V0VGVzdENvbnRyb2xs
ZXItPnRlc3RSZXBhaW50KCksIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+dGVzdFJlcGFpbnRTd2Vl
cEhvcml6b250YWxseSgpLCBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBTZWxlY3Rpb25SZWN0
KCkpOw0KLSAgICBBU1NFUlQoY29udGV4dCk7DQotICAgIA0KLSAgICAvLyBDb21wdXRlIHRoZSBo
YXNoIG9mIHRoZSBiaXRtYXAgY29udGV4dCBwaXhlbHMNCi0gICAgY2hhciBhY3R1YWxIYXNoWzMz
XTsNCi0gICAgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JCaXRtYXBDb250ZXh0KGNvbnRleHQtPmNn
Q29udGV4dCgpLCBhY3R1YWxIYXNoKTsNCi0gICAgcHJpbnRmKCJcbkFjdHVhbEhhc2g6ICVzXG4i
LCBhY3R1YWxIYXNoKTsNCi0gICAgDQotICAgIC8vIENoZWNrIHRoZSBjb21wdXRlZCBoYXNoIGFn
YWluc3QgdGhlIGV4cGVjdGVkIG9uZSBhbmQgZHVtcCBpbWFnZSBvbiBtaXNtYXRjaA0KLSAgICBi
b29sIGR1bXBJbWFnZSA9IHRydWU7DQotICAgIGlmIChleHBlY3RlZEhhc2gubGVuZ3RoKCkgPiAw
KSB7DQotICAgICAgICBBU1NFUlQoZXhwZWN0ZWRIYXNoLmxlbmd0aCgpID09IDMyKTsNCi0gICAg
ICAgIA0KLSAgICAgICAgcHJpbnRmKCJcbkV4cGVjdGVkSGFzaDogJXNcbiIsIGV4cGVjdGVkSGFz
aC5jX3N0cigpKTsNCi0gICAgICAgIA0KLSAgICAgICAgaWYgKGV4cGVjdGVkSGFzaCA9PSBhY3R1
YWxIYXNoKSAgICAgLy8gRklYTUU6IGRvIGNhc2UgaW5zZW5zaXRpdmUgY29tcGFyZQ0KLSAgICAg
ICAgICAgIGR1bXBJbWFnZSA9IGZhbHNlOw0KLSAgICB9DQotICAgIA0KLSAgICBpZiAoZHVtcElt
YWdlKSB7DQotICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UoQWRvcHRDRiwgQ0dC
aXRtYXBDb250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dC0+Y2dDb250ZXh0KCkpKTsNCi0gICAgICAg
IHByaW50UE5HKGltYWdlLmdldCgpKTsNCi0gICAgfQ0KKyAgICBSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gaW1hZ2UoQWRvcHRDRiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dC0+Y2dD
b250ZXh0KCkpKTsNCisgICAgcHJpbnRQTkcoaW1hZ2UuZ2V0KCkpOw0KIH0NCkluZGV4OiBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
cmV2aXNpb24gNDUzNTUpDQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTUwLDcgKzUwLDkgQEANCiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPg0KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+DQogI2luY2x1ZGUg
PHdpbmRvd3MuaD4NCisjaWYgUExBVEZPUk0oQ0ZORVRXT1JLKQ0KICNpbmNsdWRlIDxDRk5ldHdv
cmsvQ0ZVUkxDYWNoZVByaXYuaD4NCisjZW5kaWYNCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24v
Q29yZUZvdW5kYXRpb24uaD4NCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuaD4NCiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPg0KQEAgLTEwNDIsNiArMTA0NCw3IEBA
IElXZWJWaWV3KiBjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG8NCiAgICAgcmV0dXJuIHdl
YlZpZXc7DQogfQ0KIA0KKyNpZiBQTEFURk9STShDRk5FVFdPUkspDQogUmV0YWluUHRyPENGVVJM
Q2FjaGVSZWY+IHNoYXJlZENGVVJMQ2FjaGUoKQ0KIHsNCiAgICAgSE1PRFVMRSBtb2R1bGUgPSBH
ZXRNb2R1bGVIYW5kbGUoVEVYVCgiQ0ZOZXR3b3JrX2RlYnVnLmRsbCIpKTsNCkBAIC0xMDYwLDYg
KzEwNjMsNyBAQCBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gc2hhcmVkQ0ZVUkxDYWNoDQogDQog
ICAgIHJldHVybiAwOw0KIH0NCisjZW5kaWYNCiANCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciog
YXJndltdKQ0KIHsNCkBAIC0xMTI4LDggKzExMzIsMTAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo
YXIqIGFyZ3ZbXSkNCiAgICAgaWYgKEZBSUxFRCh3ZWJWaWV3LT5tYWluRnJhbWUoJmZyYW1lKSkp
DQogICAgICAgICByZXR1cm4gLTE7DQogDQorI2lmIFBMQVRGT1JNKENGTkVUV09SSykNCiAgICAg
UmV0YWluUHRyPENGVVJMQ2FjaGVSZWY+IHVybENhY2hlID0gc2hhcmVkQ0ZVUkxDYWNoZSgpOw0K
ICAgICBDRlVSTENhY2hlUmVtb3ZlQWxsQ2FjaGVkUmVzcG9uc2VzKHVybENhY2hlLmdldCgpKTsN
CisjZW5kaWYNCiANCiAjaWZkZWYgX0RFQlVHDQogICAgIF9DcnRNZW1TdGF0ZSBlbnRyeVRvTWFp
bk1lbUNoZWNrcG9pbnQ7DQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLnZjcHJvag0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2oJKHJldmlzaW9uIDQ1MzU1KQ0KKysrIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkNCkBAIC0yMzEsNiArMjMxLDE1MSBAQA0KIAkJCQlDb21tYW5kTGluZT0iaWYgZXhp
c3QgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7IGRlbCAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsmI3gwRDsmI3gwQTsmI3gwRDsmI3gw
QTtpZiBub3QgZGVmaW5lZCBBUkNISVZFX0JVSUxEIChpZiBkZWZpbmVkIFBST0RVQ1RJT04gZXhp
dCAvYikmI3gwRDsmI3gwQTsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7aWYgbm90IGV4aXN0
ICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlD
b25maWdTdWZmaXgpLmRsbCZxdW90OyBleGl0IC9iJiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQo
TGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxi
aW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3Vm
Zml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3Jr
JChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91
dHB1dERpcilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9u
LnJlc291cmNlcyZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluXENvcmVGb3VuZGF0
aW9uLnJlc291cmNlcyZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kIC9lIC9pICZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ2hhcmFjdGVyU2V0cyZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVHcmFwaGljcyQoTGlicmFyeUNv
bmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENv
cmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXGRuc3NkLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxpY3VkdDQwLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxpY3VkdDQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxiaW5caWN1aW40MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1
b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAv
eSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAkKExpYnJhcnlDb25m
aWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4
MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3V1
YzQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90
OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGxpYnhtbDIkKExpYnJhcnlDb25maWdTdWZmaXgp
LmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxsaWJ4c2x0JChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZx
dW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxi
aW5ccHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLnBk
YiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxTUUxpdGUzJChMaWJyYXJ5
Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90
OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5c
U1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cemxpYjEkKExpYnJhcnlDb25maWdTdWZmaXgp
LnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7
Ig0KIAkJCS8+DQogCQk8L0NvbmZpZ3VyYXRpb24+DQorCQk8Q29uZmlndXJhdGlvbg0KKwkJCU5h
bWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KKwkJCUlu
aGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFdlYktpdExpYnJhcmllc0RpcilcdG9vbHNcdnNwcm9w
c1xjb21tb24udnNwcm9wczskKFdlYktpdExpYnJhcmllc0RpcilcdG9vbHNcdnNwcm9wc1xkZWJ1
Zy52c3Byb3BzIg0KKwkJCUNoYXJhY3RlclNldD0iMSINCisJCQk+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCisJCQkJQ29tbWFuZExpbmU9InNldCBQQVRIPSVT
eXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjslUEFUSCUmI3gwRDsmI3gwQTtpZiBleGlzdCAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVvdDsgZ3JlcCBYWCQoUHJvamVjdE5hbWUp
WFggJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7
aWYgZXJyb3JsZXZlbCAxIGV4aXQgMSYjeDBEOyYjeDBBO2VjaG8gWFgkKFByb2plY3ROYW1lKVhY
ICZndDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4
MEE7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGlu
Y2x1ZGVcRHVtcFJlbmRlclRyZWUmcXVvdDsmI3gwRDsmI3gwQTtta2RpciAyJmd0O05VTCAmcXVv
dDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5nSGVh
ZGVycyZxdW90OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndhcmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYj
eDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoUHJvamVjdERpcilcLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcd3RmXCouaCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
aW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5nSGVhZGVyc1x3dGYmcXVvdDsmI3gwRDsm
I3gwQTsiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIN
CisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQor
CQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01JRExUb29sIg0KKwkJCS8+DQor
CQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKVwuJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxjYWlybyZxdW90OzsmcXVv
dDskKFdlYktpdE91dHB1dERpcilcSW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERp
cilcSW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcSW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcSW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcSW5jbHVk
ZVxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXFdlYkNv
cmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcQ29yZUZvdW5kYXRp
b25cT1NYQ29tcGF0aWJpbGl0eUhlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXEluY2x1ZGVcQ29yZUZvdW5kYXRpb25cT1NYQ29tcGF0aWJpbGl0eUhlYWRlcnNcR05VQ29t
cGF0aWJpbGl0eSZxdW90OyINCisJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xF
Ig0KKwkJCQlEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iNDE0NiINCisJCQkJRm9yY2VkSW5jbHVk
ZUZpbGVzPSJEdW1wUmVuZGVyVHJlZVByZWZpeC5oIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJ
TmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0K
KwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJ
CQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFt
ZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJKYXZhU2NyaXB0
Q29yZSQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgV2ViS2l0R1VJRCQoV2ViS2l0Q29uZmln
U3VmZml4KS5saWIgV2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBDRkxpdGVfRGVi
dWcubGliIGNhaXJvLmxpYiBqcGVnLmxpYiBsaWJwbmcubGliIGxpYmN1cmxfaW1wLmxpYiBwdGhy
ZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5saWIgZ2RpMzIubGliIG9sZTMyLmxpYiBvbGVh
dXQzMi5saWIgdXNlcjMyLmxpYiBzaGx3YXBpLmxpYiBvbGVhY2MubGliIg0KKwkJCQlBZGRpdGlv
bmFsTGlicmFyeURpcmVjdG9yaWVzPSIiDQorCQkJCURlbGF5TG9hZERMTHM9IiINCisJCQkJU3Vi
U3lzdGVtPSIxIg0KKwkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJ
CQkJTmFtZT0iVkNBTGlua1Rvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ01h
bmlmZXN0VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wi
DQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KKwkJCS8+DQor
CQkJPFRvb2wNCisJCQkJTmFtZT0iVkNGeENvcFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJ
CQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9
IlZDV2ViRGVwbG95bWVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Bv
c3RCdWlsZEV2ZW50VG9vbCINCisJCQkJQ29tbWFuZExpbmU9ImlmIGV4aXN0ICZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBkZWwgJnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7aWYgbm90IGRlZmlu
ZWQgQVJDSElWRV9CVUlMRCAoaWYgZGVmaW5lZCBQUk9EVUNUSU9OIGV4aXQgL2IpJiN4MEQ7JiN4
MEE7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
biZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBleGlzdCAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5k
bGwmcXVvdDsgZXhpdCAvYiYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdT
dWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7
JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91
bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXENGTmV0d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENGTmV0d29yayQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmlu
XENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxD
Rk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgL2UgL2kgJnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMmcXVv
dDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDb3JlRm91bmRhdGlvbi5yZXNvdXJjZXMm
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJp
blxDaGFyYWN0ZXJTZXRzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmRs
bCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExp
YnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmlu
JnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGJpblxkbnNzZC5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYj
eDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1
ZHQ0MC5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1ZHQ0MCQo
TGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxi
aW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcYmluXGljdWluNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGIm
cXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5
IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5caWN1dWM0MCQoTGlicmFyeUNv
bmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsm
I3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXGlj
dXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1
dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGJpblxsaWJ4bWwyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieHNsdCQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gw
QTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHB0aHJlYWRWQzIk
KExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilc
YmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7
JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cU1FMaXRlMyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCku
ZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4
Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXFNRTGl0ZTMkKExpYnJh
cnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blx6bGliMSQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBOyINCisJCQkvPg0KKwkJ
PC9Db25maWd1cmF0aW9uPg0KKwkJPENvbmZpZ3VyYXRpb24NCisJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvfFdpbjMyIg0KKwkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KKwkJCUluaGVyaXRlZFByb3Bl
cnR5U2hlZXRzPSIkKFdlYktpdExpYnJhcmllc0RpcilcdG9vbHNcdnNwcm9wc1xjb21tb24udnNw
cm9wczskKFdlYktpdExpYnJhcmllc0RpcilcdG9vbHNcdnNwcm9wc1xyZWxlYXNlLnZzcHJvcHMi
DQorCQkJQ2hhcmFjdGVyU2V0PSIxIg0KKwkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSIN
CisJCQk+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCisJCQkJ
Q29tbWFuZExpbmU9InNldCBQQVRIPSVTeXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjslUEFUSCUmI3gw
RDsmI3gwQTtpZiBleGlzdCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYnVpbGRmYWlsZWQmcXVv
dDsgZ3JlcCBYWCQoUHJvamVjdE5hbWUpWFggJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxk
ZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7aWYgZXJyb3JsZXZlbCAxIGV4aXQgMSYjeDBEOyYjeDBB
O2VjaG8gWFgkKFByb2plY3ROYW1lKVhYICZndDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1
aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcRHVtcFJlbmRlclRyZWUmcXVvdDsmI3gwRDsm
I3gwQTtta2RpciAyJmd0O05VTCAmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1w
UmVuZGVyVHJlZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyYjeDBEOyYjeDBBO21rZGlyIDImZ3Q7
TlVMICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXER1bXBSZW5kZXJUcmVlXEZvcndh
cmRpbmdIZWFkZXJzXHd0ZiZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO3hjb3B5IC95IC9k
ICZxdW90OyQoUHJvamVjdERpcilcLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXCouaCZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJkaW5n
SGVhZGVyc1x3dGYmcXVvdDsmI3gwRDsmI3gwQTsiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlO
YW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5hbWU9IlZD
WE1MRGF0YUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1dl
YlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1l
PSJWQ01JRExUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0
RGlyKVwuJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxjYWlybyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcSW5jbHVkZSZxdW90
OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcSW5jbHVkZVxEdW1wUmVuZGVyVHJlZVxGb3J3YXJk
aW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcSW5jbHVkZVxKYXZhU2Ny
aXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcSW5jbHVkZVxXZWJDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxJbmNsdWRlXFdlYkNvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXEluY2x1ZGVcQ29yZUZvdW5kYXRpb25cT1NYQ29tcGF0aWJpbGl0eUhlYWRlcnMmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcQ29yZUZvdW5kYXRpb25cT1NYQ29t
cGF0aWJpbGl0eUhlYWRlcnNcR05VQ29tcGF0aWJpbGl0eSZxdW90OyINCisJCQkJUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KKwkJCQlEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0i
NDE0NiINCisJCQkJRm9yY2VkSW5jbHVkZUZpbGVzPSJEdW1wUmVuZGVyVHJlZVByZWZpeC5oIg0K
KwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRv
b2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29s
Ig0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KKwkJCQlBZGRpdGlvbmFs
RGVwZW5kZW5jaWVzPSJKYXZhU2NyaXB0Q29yZSQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIg
V2ViS2l0R1VJRCQoV2ViS2l0Q29uZmlnU3VmZml4KS5saWIgV2ViS2l0JChXZWJLaXRETExDb25m
aWdTdWZmaXgpLmxpYiBDRkxpdGUubGliIGNhaXJvLmxpYiBqcGVnLmxpYiBsaWJwbmcubGliIGxp
YmN1cmxfaW1wLmxpYiBwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5saWIgZ2RpMzIu
bGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXNlcjMyLmxpYiBzaGx3YXBpLmxpYiBvbGVhY2Mu
bGliIg0KKwkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIiDQorCQkJCURlbGF5TG9h
ZERMTHM9IiINCisJCQkJU3ViU3lzdGVtPSIxIg0KKwkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KKwkJ
CS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQorCQkJLz4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCisJCQkvPg0KKwkJCTxUb29sDQorCQkJCU5h
bWU9IlZDWERDTWFrZVRvb2wiDQorCQkJLz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0JzY01h
a2VUb29sIg0KKwkJCS8+DQorCQkJPFRvb2wNCisJCQkJTmFtZT0iVkNGeENvcFRvb2wiDQorCQkJ
Lz4NCisJCQk8VG9vbA0KKwkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCisJCQkvPg0KKwkJ
CTxUb29sDQorCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQorCQkJLz4NCisJCQk8VG9v
bA0KKwkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCisJCQkJQ29tbWFuZExpbmU9Imlm
IGV4aXN0ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxidWlsZGZhaWxlZCZxdW90OyBkZWwgJnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJ1aWxkZmFpbGVkJnF1b3Q7JiN4MEQ7JiN4MEE7JiN4MEQ7
JiN4MEE7aWYgbm90IGRlZmluZWQgQVJDSElWRV9CVUlMRCAoaWYgZGVmaW5lZCBQUk9EVUNUSU9O
IGV4aXQgL2IpJiN4MEQ7JiN4MEE7JiN4MEQ7JiN4MEE7bWtkaXIgMiZndDtOVUwgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBOyYjeDBEOyYjeDBBO2lmIG5vdCBl
eGlzdCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENvcmVGb3VuZGF0aW9uJChMaWJy
YXJ5Q29uZmlnU3VmZml4KS5kbGwmcXVvdDsgZXhpdCAvYiYjeDBEOyYjeDBBOyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cQ29yZUZvdW5kYXRp
b24kKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERp
cilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGJpblxDb3JlRm91bmRhdGlvbiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENGTmV0d29yayQoTGlicmFyeUNvbmZp
Z1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gw
RDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENGTmV0
d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkucGRiJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0
RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcYmluXENGTmV0d29yay5yZXNvdXJjZXMmcXVvdDsgJnF1b3Q7JChXZWJL
aXRPdXRwdXREaXIpXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgL2UgL2kgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlRm91bmRh
dGlvbi5yZXNvdXJjZXMmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpblxDb3JlRm91
bmRhdGlvbi5yZXNvdXJjZXMmcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAvZSAvaSAmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXENoYXJhY3RlclNldHMmcXVvdDsgJnF1b3Q7JChX
ZWJLaXRPdXRwdXREaXIpXGJpblxDaGFyYWN0ZXJTZXRzJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkg
L3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxDb3JlR3JhcGhpY3MkKExpYnJh
cnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1
b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJp
blxDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxkbnNzZC5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRw
dXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxiaW5caWN1ZHQ0MC5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGJpbiZxdW90OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxiaW5caWN1ZHQ0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQo
V2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcYmluXGljdWluNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLmRs
bCZxdW90OyAmcXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNv
cHkgL3kgL2QgJnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxpY3VpbjQwJChMaWJyYXJ5
Q29uZmlnU3VmZml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90
OyYjeDBEOyYjeDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5c
aWN1dWM0MCQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0
cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcYmluXGljdXVjNDAkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2Qg
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxsaWJ4bWwyJChMaWJyYXJ5Q29uZmlnU3Vm
Zml4KS5kbGwmcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBO3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cbGlieHNsdCQo
TGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxi
aW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcYmluXHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbCZxdW90OyAmcXVvdDsk
KFdlYktpdE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGJpblxwdGhyZWFkVkMyJChMaWJyYXJ5Q29uZmlnU3VmZml4
KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYjeDBB
O3hjb3B5IC95IC9kICZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxiaW5cU1FMaXRlMyQoTGli
cmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4m
cXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAvZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
YmluXFNRTGl0ZTMkKExpYnJhcnlDb25maWdTdWZmaXgpLnBkYiZxdW90OyAmcXVvdDskKFdlYktp
dE91dHB1dERpcilcYmluJnF1b3Q7JiN4MEQ7JiN4MEE7eGNvcHkgL3kgL2QgJnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGJpblx6bGliMSQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkuZGxsJnF1b3Q7
ICZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxiaW4mcXVvdDsmI3gwRDsmI3gwQTt4Y29weSAveSAv
ZCAmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcYmluXHpsaWIxJChMaWJyYXJ5Q29uZmlnU3Vm
Zml4KS5wZGImcXVvdDsgJnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGJpbiZxdW90OyYjeDBEOyYj
eDBBOyINCisJCQkvPg0KKwkJPC9Db25maWd1cmF0aW9uPg0KIAk8L0NvbmZpZ3VyYXRpb25zPg0K
IAk8UmVmZXJlbmNlcz4NCiAJPC9SZWZlcmVuY2VzPg0KQEAgLTM2OCwxNiArNTEzLDEwOCBAQA0K
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuXFBpeGVsRHVt
cFN1cHBvcnQuaCINCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXFBpeGVsRHVtcFN1cHBvcnQuY3BwIg0K
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIuLlxQaXhlbER1
bXBTdXBwb3J0LmgiDQorCQkJPg0KKwkJPC9GaWxlPg0KKwkJPEZpbGUNCisJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGNhaXJvXFBpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAiDQorCQkJPg0KKwkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQk8L0ZpbGU+DQor
CQk8RmlsZQ0KKwkJCVJlbGF0aXZlUGF0aD0iLi5cY2Fpcm9cUGl4ZWxEdW1wU3VwcG9ydENhaXJv
LmgiDQorCQkJPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJ
CQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
DQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJ
CQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxX
aW4zMiINCisJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCT4NCisJCQkJPFRvb2wN
CisJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0aD0iLi5cY2dc
UGl4ZWxEdW1wU3VwcG9ydENHLmNwcCINCiAJCQk+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUN
CiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNnXFBpeGVsRHVtcFN1cHBvcnRDRy5oIg0KIAkJCT4NCisJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1l
PSJWQ0N1c3RvbUJ1aWxkVG9vbCINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0K
KwkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJ
TmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuXFBpeGVsRHVtcFN1
cHBvcnRXaW4uY3BwIg0KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9QaXhl
bER1bXBTdXBwb3J0V2luLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAkocmV2aXNpb24gNDUzNTUpDQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwCSh3
b3JraW5nIGNvcHkpDQpAQCAtMjcsMTAgKzI3LDE1IEBADQogICovDQogDQogI2luY2x1ZGUgImNv
bmZpZy5oIg0KKyNpZiBQTEFURk9STShDRykNCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQml0
bWFwQ29udGV4dC5oPg0KICNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q0cuaCINCisjZWxzZQ0K
KyNpbmNsdWRlIDxjYWlyby13aW4zMi5oPg0KKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q2Fp
cm8uaCINCisjZW5kaWYNCiANCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCINCi0jaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NHQml0bWFwQ29udGV4dC5oPg0KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPg0KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+DQogDQpAQCAtNjAsOSArNjUsMTkg
QEAgUGFzc1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCaXRtYXBDbw0KICAgICBHZXRPYmpl
Y3QoYml0bWFwLCBzaXplb2YoaW5mbyksICZpbmZvKTsNCiAgICAgQVNTRVJUKGluZm8uYm1CaXRz
UGl4ZWwgPT0gMzIpOw0KIA0KKyNpZiBQTEFURk9STShDRykNCiAgICAgUmV0YWluUHRyPENHQ29s
b3JTcGFjZVJlZj4gY29sb3JTcGFjZShBZG9wdENGLCBDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VS
R0IoKSk7DQogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gQ0dCaXRtYXBDb250ZXh0Q3JlYXRl
KGluZm8uYm1CaXRzLCBpbmZvLmJtV2lkdGgsIGluZm8uYm1IZWlnaHQsIDgsDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5ibVdpZHRoQnl0ZXMs
IGNvbG9yU3BhY2UuZ2V0KCksIGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlIHwga0NHSW1hZ2VB
bHBoYVByZW11bHRpcGxpZWRGaXJzdCk7DQorI2VsaWYgUExBVEZPUk0oQ0FJUk8pDQorICAgIGNh
aXJvX3N1cmZhY2VfdCogaW1hZ2UgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0
YSgodW5zaWduZWQgY2hhciopaW5mby5ibUJpdHMsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBDQUlST19GT1JNQVRfQVJHQjMyLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5ibVdpZHRoLA0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5ibUhlaWdodCwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYm1X
aWR0aEJ5dGVzKTsNCisgICAgY2Fpcm9fdCogY29udGV4dCA9IGNhaXJvX2NyZWF0ZShpbWFnZSk7
DQorICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShpbWFnZSk7DQorI2VuZGlmDQogDQogICAgIHJl
dHVybiBCaXRtYXBDb250ZXh0OjpjcmVhdGVCeUFkb3B0aW5nQml0bWFwQW5kQ29udGV4dChiaXRt
YXAsIGNvbnRleHQpOw0KIH0NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32214</attachid>
            <date>2009-07-02 18:12:20 -0700</date>
            <delta_ts>2009-07-02 21:37:20 -0700</delta_ts>
            <desc>Workaround for build.</desc>
            <filename>tryagain.patch</filename>
            <type>text/plain</type>
            <size>2294</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gNDU1
MTUpDQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDEyIEBADQorMjAw
OS0wNy0wMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+DQorDQorICAgICAg
ICBVbnJldmlld2VkIGJ1aWxkIGZpeCAoQ2Fpcm8gdGhpcyB0aW1lKSBmb3IgRHVtcFJlbmRlclRy
ZWUuDQorICAgICAgICBQdXQgQ2Fpcm8gY29kZSBiYWNrIGluLCBidXQgdXNlIG9yaWdpbmFsIGlu
Y2x1ZGUgb3JkZXINCisgICAgICAgIGZvciB0aGUgQ0cgc3R1ZmYgdG8gYXZvaWQgY29tcGlsZSBp
c3N1ZXMuDQorDQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0
V2luLmNwcDoNCisgICAgICAgIChjcmVhdGVCaXRtYXBDb250ZXh0RnJvbVdlYlZpZXcpOg0KKw0K
IDIwMDktMDctMDIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPg0KIA0KICAgICAgICAg
Q29ycmVjdCBibGF0YW50IHR5cG8gKG1pc3NpbmcgW10pLCBubyByZXZpZXcuDQpJbmRleDogRHVt
cFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
RHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBvcnRXaW4uY3BwCShyZXZpc2lvbiA0NTUx
NSkNCisrKyBEdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAJKHdvcmtp
bmcgY29weSkNCkBAIC0yNyw5ICsyNywyMCBAQA0KICAqLw0KIA0KICNpbmNsdWRlICJjb25maWcu
aCINCisNCisjaWYgUExBVEZPUk0oQ0cpDQorI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5o
Ig0KKyNlbGlmIFBMQVRGT1JNKENBSVJPKQ0KICNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q0cu
aCINCisjZW5kaWYNCisNCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCINCisNCisjaWYgUExB
VEZPUk0oQ0cpDQorLy8gTm90ZTogTXVzdCBiZSBpbmNsdWRlZCAqYWZ0ZXIqIER1bXBSZW5kZXJU
cmVlLmggdG8gYXZvaWQgY29tcGlsZSBlcnJvci4NCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NH
Qml0bWFwQ29udGV4dC5oPg0KKyNlbmRpZg0KKw0KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
Pg0KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+DQogDQpAQCAtNTksOSArNzAsMTYgQEAgUGFz
c1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCaXRtYXBDbw0KICAgICBHZXRPYmplY3QoYml0
bWFwLCBzaXplb2YoaW5mbyksICZpbmZvKTsNCiAgICAgQVNTRVJUKGluZm8uYm1CaXRzUGl4ZWwg
PT0gMzIpOw0KIA0KKyNpZiBQTEFURk9STShDRykNCiAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFj
ZVJlZj4gY29sb3JTcGFjZShBZG9wdENGLCBDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKSk7
DQogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKGluZm8u
Ym1CaXRzLCBpbmZvLmJtV2lkdGgsIGluZm8uYm1IZWlnaHQsIDgsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5ibVdpZHRoQnl0ZXMsIGNvbG9y
U3BhY2UuZ2V0KCksIGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlIHwga0NHSW1hZ2VBbHBoYVBy
ZW11bHRpcGxpZWRGaXJzdCk7DQorI2VsaWYgUExBVEZPUk0oQ0FJUk8pIA0KKyAgICBjYWlyb19z
dXJmYWNlX3QqIGltYWdlID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoKHVu
c2lnbmVkIGNoYXIqKWluZm8uYm1CaXRzLCBDQUlST19GT1JNQVRfQVJHQjMyLCANCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmJtV2lk
dGgsIGluZm8uYm1IZWlnaHQsIGluZm8uYm1XaWR0aEJ5dGVzKTsgDQorICAgIGNhaXJvX3QqIGNv
bnRleHQgPSBjYWlyb19jcmVhdGUoaW1hZ2UpOyANCisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95
KGltYWdlKTsgDQorI2VuZGlmIA0KIA0KLSAgICByZXR1cm4gQml0bWFwQ29udGV4dDo6Y3JlYXRl
QnlBZG9wdGluZ0JpdG1hcEFuZENvbnRleHQoYml0bWFwLCBjb250ZXh0KTsNCisgICByZXR1cm4g
Qml0bWFwQ29udGV4dDo6Y3JlYXRlQnlBZG9wdGluZ0JpdG1hcEFuZENvbnRleHQoYml0bWFwLCBj
b250ZXh0KTsNCiB9DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>