<?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>65925</bug_id>
          
          <creation_ts>2011-08-09 10:03:30 -0700</creation_ts>
          <short_desc>MediaStream API: add createObjectURL functionality</short_desc>
          <delta_ts>2011-08-29 16:28:06 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>66045</dependson>
          <blocked>56459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>leandrogracia</cc>
    
    <cc>levin</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjjeon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448638</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-09 10:03:30 -0700</bug_when>
    <thetext>Adding window.URL.createObjectURL(MediaStream) with associated supporting code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448640</commentid>
    <comment_count>1</comment_count>
      <attachid>103367</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-09 10:08:11 -0700</bug_when>
    <thetext>Created attachment 103367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448669</commentid>
    <comment_count>2</comment_count>
      <attachid>103367</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-09 10:54:06 -0700</bug_when>
    <thetext>Comment on attachment 103367
Patch

Attachment 103367 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9340230

New failing tests:
fast/files/create-blob-url-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448685</commentid>
    <comment_count>3</comment_count>
      <attachid>103375</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-09 11:14:44 -0700</bug_when>
    <thetext>Created attachment 103375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448698</commentid>
    <comment_count>4</comment_count>
      <attachid>103375</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-09 11:30:50 -0700</bug_when>
    <thetext>Comment on attachment 103375
Patch

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

&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt; -PASS: Not enough arguments
&gt; +PASS: Type error

Why is this exception changing type?  I suspect we need to change the code generator to check the number of arguments before it checks the type of the arguments.

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:396
&gt; +    publicURL.setProtocol(&quot;x-raw-media&quot;);

Where does this URI scheme come from?  It is registered?

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:397
&gt; +    // Since WebWorkers cannot obtain Stream objects, we should be on the main thread.

Maybe add an ASSERT(isMainThread()) ?

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:424
&gt; +        // Since WebWorkers cannot obtain Stream objects, we should be on the main thread.

Same here.

&gt; Source/WebCore/platform/MediaStreamRegistry.cpp:55
&gt; +PassRefPtr&lt;MediaStream&gt; MediaStreamRegistry::getStream(const KURL&amp; url) const

getStream -&gt; WebKit doesn&apos;t use a leading &quot;get&quot; in function names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449098</commentid>
    <comment_count>5</comment_count>
      <attachid>103375</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-10 05:31:56 -0700</bug_when>
    <thetext>Comment on attachment 103375
Patch

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

&gt;&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt;&gt; +PASS: Type error
&gt; 
&gt; Why is this exception changing type?  I suspect we need to change the code generator to check the number of arguments before it checks the type of the arguments.

No idea as to why the code the code generator acts differently now, but I have verified that the JS bindings throw a type error as well.

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:396
&gt;&gt; +    publicURL.setProtocol(&quot;x-raw-media&quot;);
&gt; 
&gt; Where does this URI scheme come from?  It is registered?

I guess the people responsible for the chromium &lt;video&gt; tag wanted to somehow differentiate between &quot;raw&quot; video (from webcam) and other video data, but I was not involved in the discussion.

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:397
&gt;&gt; +    // Since WebWorkers cannot obtain Stream objects, we should be on the main thread.
&gt; 
&gt; Maybe add an ASSERT(isMainThread()) ?

Done.

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:424
&gt;&gt; +        // Since WebWorkers cannot obtain Stream objects, we should be on the main thread.
&gt; 
&gt; Same here.

Done.

&gt;&gt; Source/WebCore/platform/MediaStreamRegistry.cpp:55
&gt;&gt; +PassRefPtr&lt;MediaStream&gt; MediaStreamRegistry::getStream(const KURL&amp; url) const
&gt; 
&gt; getStream -&gt; WebKit doesn&apos;t use a leading &quot;get&quot; in function names.

Done, and I renamed the functions too to make them clearer (stream -&gt; mediaStream).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449100</commentid>
    <comment_count>6</comment_count>
      <attachid>103471</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-10 05:33:56 -0700</bug_when>
    <thetext>Created attachment 103471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449108</commentid>
    <comment_count>7</comment_count>
      <attachid>103476</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-10 05:53:55 -0700</bug_when>
    <thetext>Created attachment 103476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449134</commentid>
    <comment_count>8</comment_count>
      <attachid>103488</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-10 07:32:09 -0700</bug_when>
    <thetext>Created attachment 103488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449211</commentid>
    <comment_count>9</comment_count>
      <attachid>103488</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-10 10:06:42 -0700</bug_when>
    <thetext>Comment on attachment 103488
Patch

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

&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt; -PASS: Not enough arguments
&gt; +PASS: Type error

IMHO, we shouldn&apos;t change this behavior.  We probably need to fix the code generator to generate correct code.

&gt; Source/WebCore/ChangeLog:7
&gt; +        MediaStream API: add createObjectURL functionality
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=65925
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

This ChangeLog doesn&apos;t explain why we&apos;re making this change or why this patch doesn&apos;t contain tests.  Is there some reason we can&apos;t test this patch?

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:396
&gt; +    publicURL.setProtocol(&quot;x-raw-media&quot;);

http://groups.google.com/a/chromium.org/group/chromium-reviews/browse_thread/thread/c31593de00fba166?hide_quotes=no&amp;fwc=2&amp;pli=1 is the only reference to x-raw-media I can find on the Internet.  We shouldn&apos;t be making up URL schemes, especially ones that are visible externally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450384</commentid>
    <comment_count>10</comment_count>
      <attachid>103759</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-12 04:35:10 -0700</bug_when>
    <thetext>Created attachment 103759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450385</commentid>
    <comment_count>11</comment_count>
      <attachid>103488</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-12 04:38:05 -0700</bug_when>
    <thetext>Comment on attachment 103488
Patch

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

&gt;&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt;&gt; +PASS: Type error
&gt; 
&gt; IMHO, we shouldn&apos;t change this behavior.  We probably need to fix the code generator to generate correct code.

Would it be OK to change this for now, considering that a bug (66045) is created for changing the code generators?

&gt;&gt; Source/WebCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; This ChangeLog doesn&apos;t explain why we&apos;re making this change or why this patch doesn&apos;t contain tests.  Is there some reason we can&apos;t test this patch?

Added bug and short explanation.

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:396
&gt;&gt; +    publicURL.setProtocol(&quot;x-raw-media&quot;);
&gt; 
&gt; http://groups.google.com/a/chromium.org/group/chromium-reviews/browse_thread/thread/c31593de00fba166?hide_quotes=no&amp;fwc=2&amp;pli=1 is the only reference to x-raw-media I can find on the Internet.  We shouldn&apos;t be making up URL schemes, especially ones that are visible externally.

Fixed this to be at least standards compliant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450532</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-12 11:45:47 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 103488 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103488&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt; &gt;&gt; +PASS: Type error
&gt; &gt; 
&gt; &gt; IMHO, we shouldn&apos;t change this behavior.  We probably need to fix the code generator to generate correct code.
&gt; 
&gt; Would it be OK to change this for now, considering that a bug (66045) is created for changing the code generators?

Sure.  This is a minor issue.

&gt; &gt;&gt; Source/WebCore/ChangeLog:7
&gt; &gt;&gt; +
&gt; &gt; 
&gt; &gt; This ChangeLog doesn&apos;t explain why we&apos;re making this change or why this patch doesn&apos;t contain tests.  Is there some reason we can&apos;t test this patch?
&gt; 
&gt; Added bug and short explanation.

Great.

&gt; &gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:396
&gt; &gt;&gt; +    publicURL.setProtocol(&quot;x-raw-media&quot;);
&gt; &gt; 
&gt; &gt; http://groups.google.com/a/chromium.org/group/chromium-reviews/browse_thread/thread/c31593de00fba166?hide_quotes=no&amp;fwc=2&amp;pli=1 is the only reference to x-raw-media I can find on the Internet.  We shouldn&apos;t be making up URL schemes, especially ones that are visible externally.
&gt; 
&gt; Fixed this to be at least standards compliant.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450538</commentid>
    <comment_count>13</comment_count>
      <attachid>103759</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-12 11:59:11 -0700</bug_when>
    <thetext>Comment on attachment 103759
Patch

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

R- for the static initializer.  I don&apos;t know how I feel about the fragment identifier hack.  It doesn&apos;t seem like the right solution to the problem.  On the one hand, I don&apos;t want to block you from making progress here.  On the other hand, I don&apos;t want to expose these internal hacks to the platform.  :(

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:390
&gt; +static const String kMediaStreamFragment = &quot;mediastream&quot;;

This is a static initializer, which is banned in WebKit.  Instead, use DEFINE_STATIC_LOCAL in a function.

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:399
&gt; +    // This makes it faster to detect that this URL points to a MediaStream.
&gt; +    publicURL.setFragmentIdentifier(kMediaStreamFragment);

This is a bit of a hack.  I saw that you started a standards thread about creating a new scheme.  On the one hand, I don&apos;t want to prevent you from making progress, but on the other hand I&apos;m worried that this sort of thing is likely to stick around.

&gt; Source/WebCore/platform/MediaStreamRegistry.cpp:39
&gt; +    DEFINE_STATIC_LOCAL(MediaStreamRegistry, instance, ());

Here&apos;s an example of how to avoid static initializers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454498</commentid>
    <comment_count>14</comment_count>
      <attachid>103759</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-22 02:13:27 -0700</bug_when>
    <thetext>Comment on attachment 103759
Patch

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

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:390
&gt;&gt; +static const String kMediaStreamFragment = &quot;mediastream&quot;;
&gt; 
&gt; This is a static initializer, which is banned in WebKit.  Instead, use DEFINE_STATIC_LOCAL in a function.

Removed.

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:399
&gt;&gt; +    publicURL.setFragmentIdentifier(kMediaStreamFragment);
&gt; 
&gt; This is a bit of a hack.  I saw that you started a standards thread about creating a new scheme.  On the one hand, I don&apos;t want to prevent you from making progress, but on the other hand I&apos;m worried that this sort of thing is likely to stick around.

Hack removed, we just have to do an extra roundtrip chrome-&gt;webkit to ask if the blob url is a mediastream or blob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454500</commentid>
    <comment_count>15</comment_count>
      <attachid>104653</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-22 02:15:28 -0700</bug_when>
    <thetext>Created attachment 104653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454669</commentid>
    <comment_count>16</comment_count>
      <attachid>104653</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-22 10:30:42 -0700</bug_when>
    <thetext>Comment on attachment 104653
Patch

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

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:390
&gt; +static const String kMediaStreamFragment = &quot;mediastream&quot;;

This is still a static initializer.  These are forbidden in WebKit.

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:399
&gt; +    // This makes it faster to detect that this URL points to a MediaStream.
&gt; +    publicURL.setFragmentIdentifier(kMediaStreamFragment);

I though you removed this hack?  /me is confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454674</commentid>
    <comment_count>17</comment_count>
      <attachid>104653</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-22 10:37:07 -0700</bug_when>
    <thetext>Comment on attachment 104653
Patch

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

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:399
&gt;&gt; +    publicURL.setFragmentIdentifier(kMediaStreamFragment);
&gt; 
&gt; I though you removed this hack?  /me is confused.

So am I...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454679</commentid>
    <comment_count>18</comment_count>
      <attachid>104694</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-22 10:41:44 -0700</bug_when>
    <thetext>Created attachment 104694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454682</commentid>
    <comment_count>19</comment_count>
      <attachid>104694</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-22 10:48:42 -0700</bug_when>
    <thetext>Comment on attachment 104694
Patch

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

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:400
&gt; +    mediaStreamRegistry().registerMediaStreamURL(publicURL, stream);
&gt; +    m_publicStreamURLs.add(publicURL.string());

It&apos;s slightly unfortunate that we need to register this URL in two places, but I don&apos;t see how to avoid that.

&gt; Source/WebCore/platform/MediaStreamRegistry.h:42
&gt; +    PassRefPtr&lt;MediaStream&gt; mediaStream(const KURL&amp;) const;

Any particular reason why this returns a PassRefPtr rather than a raw pointer?  We&apos;re not transferring ownership here.

&gt; Source/WebCore/platform/MediaStreamRegistry.h:45
&gt; +    // Currently assuming that the URLs keep alive their associated Streams.

How is that enforced?  (Technically comments should be complete sentences.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456088</commentid>
    <comment_count>20</comment_count>
      <attachid>104694</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-24 07:23:43 -0700</bug_when>
    <thetext>Comment on attachment 104694
Patch

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

&gt;&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:400
&gt;&gt; +    m_publicStreamURLs.add(publicURL.string());
&gt; 
&gt; It&apos;s slightly unfortunate that we need to register this URL in two places, but I don&apos;t see how to avoid that.

No, neither can I. If we some day can have our own protocol I&apos;ll look at this again.

&gt;&gt; Source/WebCore/platform/MediaStreamRegistry.h:42
&gt;&gt; +    PassRefPtr&lt;MediaStream&gt; mediaStream(const KURL&amp;) const;
&gt; 
&gt; Any particular reason why this returns a PassRefPtr rather than a raw pointer?  We&apos;re not transferring ownership here.

Fixed. Sorry...

&gt;&gt; Source/WebCore/platform/MediaStreamRegistry.h:45
&gt;&gt; +    // Currently assuming that the URLs keep alive their associated Streams.
&gt; 
&gt; How is that enforced?  (Technically comments should be complete sentences.)

Removed comment since it wasn&apos;t up to date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456091</commentid>
    <comment_count>21</comment_count>
      <attachid>104996</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-08-24 07:30:12 -0700</bug_when>
    <thetext>Created attachment 104996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456163</commentid>
    <comment_count>22</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-24 10:14:51 -0700</bug_when>
    <thetext>Thanks for iterating on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456210</commentid>
    <comment_count>23</comment_count>
      <attachid>104996</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 11:07:57 -0700</bug_when>
    <thetext>Comment on attachment 104996
Patch

Clearing flags on attachment: 104996

Committed r93713: &lt;http://trac.webkit.org/changeset/93713&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456211</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 11:08:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458541</commentid>
    <comment_count>25</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-29 16:28:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 103375 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103375&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/files/create-blob-url-crash-expected.txt:2
&gt; &gt;&gt; +PASS: Type error
&gt; &gt; 
&gt; &gt; Why is this exception changing type?  I suspect we need to change the code generator to check the number of arguments before it checks the type of the arguments.
&gt; 
&gt; No idea as to why the code the code generator acts differently now, but I have verified that the JS bindings throw a type error as well.

Actually they don&apos;t. (At least when this define is turned off.)

So this creates a difference in out expected results which isn&apos;t good.

Sam fixed the expectation for JS here: http://trac.webkit.org/changeset/94023 (and now we&apos;ll need a special expectation for this test -- which is bad).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103367</attachid>
            <date>2011-08-09 10:08:11 -0700</date>
            <delta_ts>2011-08-09 11:14:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110809190810.patch</filename>
            <type>text/plain</type>
            <size>20412</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2NzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGI4M2Fk
YTMwZTY4MzA0ZjY1YjViOWIzOTg2ODJkMDIyYzUwMGE4MC4uNDgxODRjYzIzN2NmMzdlNDYyZWQ2
Yjc4NzY3ZDdlMmE0NjYzNzVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwMTksNiArMjAx
OSw3IEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBwMnAvUGVlckNvbm5lY3Rp
b24uY3BwCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBwbGF0Zm9ybS9NZWRp
YVN0cmVhbVJlZ2lzdHJ5LmNwcAogICAgICkKIAogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURM
X0ZJTEVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzNiYzliY2QyMDcwOTc5YTczODlmNTA5ZTNhM2U5ZDZmMTk3
M2NiMi4uYjUxOTdkODlhNjFmNWM1NDJkY2JhODdkZGQwMjU2YzJkOWE5ZWE1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTA4LTA5ICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15
d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogYWRkIGNyZWF0ZU9iamVj
dFVSTCBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NTkyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAg
ICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5T
Y3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGljQmxvYlVSTCk6CisgICAgICAgICogZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAgICogaHRtbC9E
T01VUkwuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGxhdGZvcm0v
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFT
dHJlYW1SZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojpy
ZWdpc3RlclN0cmVhbVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5
Ojp1bnJlZ2lzdGVyU3RyZWFtVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVn
aXN0cnk6OmdldFN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3Ry
eS5oOiBBZGRlZC4KKwogMjAxMS0wOC0wOSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgIlJlZnJlc2giIHRvIGNvbnRl
eHQgbWVudSBvZiByZXNvdXJjZXMgcGFuZWwgY29va2llcyB2aWV3LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggYTA2OGMwMjQ0OGE3NjA1Mzc3ZDdlMDg0NjQzMDc4ZWU2NDk4YmQ0
ZC4uYzBkNmVjNTRjN2Q1MDY0Njg1YzFlYjc4OTc0ZWU4N2JmOTdmMWFlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNjM5LDYgKzI2MzksOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01JTUVUeXBlUmVnaXN0cnkuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFT
dHJlYW1SZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVy
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFn
ZURlY29kZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3OWJlOWNkZTA0ODVlNTIxYTRhNDU2
ODNhNjYzZmFlZTAxYzc2MmZlLi5mNzY5YzYzMTcyNGNiYzY1ZTZiODExODc2YTViOTNkNGYxMjIz
OTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMDI2LDYgKzMwMjYsOCBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL0xpbmtIYXNoLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvZ2dpbmcuY3BwJywKKyAgICAg
ICAgICAgICdwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCcsCisgICAgICAgICAgICAn
cGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9N
ZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUGFzdGVib2FyZC5oJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KaW5kZXggYTZmODlhNGI2MmZhYmUwZWM3YzcxZTA4YzA5OTUyZjBlZTRkMDE4Zi4u
YWZmNTk5YjcyYWIwNTI0ZDA3MjhjNWZhYmQwNzcwZTU4NGZkZWRkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8K
QEAgLTMyNTcsNyArMzI1Nyw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJF
QU09MSkgewogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggXAogICAg
ICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAogICAgICAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCi0gICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
aAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBc
CkBAIC0zMjY4LDcgKzMyNjksOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RS
RUFNPTEpIHsKICAgICAgICAgcDJwL01lZGlhU3RyZWFtRXZlbnQuY3BwIFwKICAgICAgICAgcDJw
L1BlZXJDb25uZWN0aW9uLmNwcCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVy
LmNwcCBcCi0gICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCisgICAg
ICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIFwKKyAgICAgICAgcGxhdGZv
cm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKIAogICAgIHY4IHsKICAgICAgICAgU09VUkNFUyAr
PSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IGIyZTY5ZTBlZWE1ZjYxZmY0NThjZTczN2FjOWQ1ZTlmMzZhYTVhYjAuLmMxMWU5ZGViY2QwYzA3
MDk4ODI5ZGI2ZGNmYzkyZmI3YzkyZjk2OGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjc5NCw2ICsyNjc5NCwxNCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxNZWRpYVN0
cmVhbVJlZ2lzdHJ5LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxNZW1vcnlQcmVz
c3VyZUhhbmRsZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZDZmN2FlMzk4Njk3MTUz
ZjRjZmRmNTU4ZDY1ODNlMTBhNDM4NWI4Li5lZmM0ZTBmYzM3YTAzMGJiMDkyNTBhNjYxMzczNDlm
YjVhY2JmN2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTIzLDYgKzExMjMsOCBAQAogCQk0OTU4NzgyMjEyQTU3RERGMDA3
MjM4QUMgLyogUGxhdGZvcm1DQUxheWVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDk1ODc4MjAxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRmb3Jt
Q0FMYXllck1hYy5tbSAqLzsgfTsKIAkJNDk2OUIwRjIxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRl
c3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVzdGluZ1RyYW5z
Zm9ybVN0YXRlLmNwcCAqLzsgfTsKIAkJNDk2OUIwRjMxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRl
c3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zv
cm1TdGF0ZS5oICovOyB9OworCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJl
YW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAg
Ki87IH07CisJCTQ5Nzg1RUUxMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTc4NUVE
RjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oICovOyB9OwogCQk0OTgz
OTEzRjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk4MzkxM0QwRjFFNzY3NTAwQzIz
NzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLzsgfTsKIAkJNDk4MzkxNDAwRjFFNzY3NTAw
QzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OTgzOTEzRTBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRD
U1NNYXRyaXguaCAqLzsgfTsKIAkJNDk4MzkxNTAwRjFFNzZCNDAwQzIzNzgyIC8qIERPTVdlYktp
dENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDk4MzkxNEQwRjFFNzZCNDAwQzIzNzgyIC8qIERPTVdlYktpdENTU01hdHJpeC5oICovOyB9
OwpAQCAtNzY5Nyw2ICs3Njk5LDggQEAKIAkJNDk1ODc4MjAxMkE1N0RERjAwNzIzOEFDIC8qIFBs
YXRmb3JtQ0FMYXllck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IFBsYXRmb3JtQ0FMYXllck1hYy5tbTsgcGF0aCA9IGNhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYwMTNEMEIzM0YwMERG
MzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3Rp
bmdUcmFuc2Zvcm1TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaXRU
ZXN0aW5nVHJhbnNmb3JtU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDk3
ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhU3RyZWFtUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk4Mzkx
M0QwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0Q1NTTWF0cml4LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0
Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViS2l0Q1NT
TWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTREMEYxRTc2QjQw
MEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NV2ViS2l0Q1NTTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xOTA4MSw2ICsxOTA4NSw4IEBACiAJCQkJOTM1MjA3QkQwOUJENDEwQTAwRjIwMzhEIC8q
IExvY2FsaXplZFN0cmluZ3MuaCAqLywKIAkJCQlBODIzOURGRTA5QjNDRjhBMDBCNjA2NDEgLyog
TG9nZ2luZy5jcHAgKi8sCiAJCQkJQTgyMzlERkYwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcu
aCAqLywKKwkJCQk0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3Ry
eS5jcHAgKi8sCisJCQkJNDk3ODVFREYxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVn
aXN0cnkuaCAqLywKIAkJCQk2NTdFREEwNjEzODVDQjk3MDA0RTA2NDUgLyogTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmNwcCAqLywKIAkJCQk2NTdFREEwNzEzODVDQjk3MDA0RTA2NDUgLyogTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmggKi8sCiAJCQkJQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1J
TUVUeXBlUmVnaXN0cnkuY3BwICovLApAQCAtMjIzNjcsNiArMjIzNzMsNyBAQAogCQkJCTQ5QTJD
RkRBMTNFOTc4N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMUU1NDU5NjEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRp
YVN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5Nzg1RUUxMTNGMTkyRjAwMEE3OTVB
RCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUM5RjMyNjEz
RDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDlDOUYzMjMxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0IxNkMxODA5NzlDM0JEMDA0Njc3NDEgLyogTWVtb3J5Q2FjaGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjUzODMsNiArMjUzOTAsNyBAQAogCQkJCTQ5QTJDRkQ5MTNFOTc4
N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIx
RTU0NTk1MTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCMTQzNTNENTEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJl
YW1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5Nzg1RUUwMTNGMTkyRjAwMEE3OTVBRCAv
KiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzlGMzI3MTNE
NTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5NzlDM0JEMDA0Njc3NDEgLyogTWVtb3J5Q2FjaGUu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5jcHAKaW5kZXggOWI1ZGQ2ZmFmN2E2MWNhMDA5ODAxMTkxMWJlM2M1NGUyNDlmNmFm
Yi4uYzU0NmQ4MmExNTgyNzZmNTU2MDAxYzBlNjA1ZDNlMTk5MGZhNmZmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtMzksNiArMzksOCBA
QAogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIkZpbGVUaHJlYWQuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgorI2luY2x1
ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBA
IC0xMzQsNiArMTM2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkKICAgICAgICAgKCppdGVyKS0+Y29udGV4dERlc3Ryb3llZCgpOwogICAgIH0K
ICNlbmRpZgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBIYXNoU2V0PFN0cmluZz46
Oml0ZXJhdG9yIHB1YmxpY1N0cmVhbVVSTHNFbmQgPSBtX3B1YmxpY1N0cmVhbVVSTHMuZW5kKCk7
CisgICAgZm9yIChIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3B1YmxpY1N0cmVh
bVVSTHMuYmVnaW4oKTsgaXRlciAhPSBwdWJsaWNTdHJlYW1VUkxzRW5kOyArK2l0ZXIpCisgICAg
ICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS51bnJlZ2lzdGVyU3RyZWFtVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCAqaXRlcikpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCkBA
IC0zNzcsNiArMzg1LDIyIEBAIERPTVRpbWVyKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaW5k
VGltZW91dChpbnQgdGltZW91dElkKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorS1VSTCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJs
aWNCbG9iVVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAgaWYgKCFzdHJlYW0pCisgICAg
ICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0
ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKKyAgICBwdWJsaWNVUkwuc2V0UHJvdG9jb2wo
IngtcmF3LW1lZGlhIik7CisgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0
cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIG1lZGlh
U3RyZWFtUmVnaXN0cnkoKS5yZWdpc3RlclN0cmVhbVVSTChwdWJsaWNVUkwsIHN0cmVhbSk7Cisg
ICAgbV9wdWJsaWNTdHJlYW1VUkxzLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkpOworICAgIHJldHVy
biBwdWJsaWNVUkw7Cit9CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwogS1VSTCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJsaWNCbG9iVVJMKEJsb2IqIGJsb2IpCiB7
CiAgICAgaWYgKCFibG9iKQpAQCAtMzk1LDggKzQxOSwxNCBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnJldm9rZVB1YmxpY0Jsb2JVUkwoY29uc3QgS1VSTCYgdXJsKQogICAgICAgICBU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyQmxvYlVSTCh1cmwpOwogICAgICAgICBt
X3B1YmxpY0Jsb2JVUkxzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOwogICAgIH0KKyAgICBpZiAobV9w
dWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpIHsKKyAgICAgICAgLy8gRklY
TUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFzc2VydGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1ZXN0
aW9uIGlmIHJlcXVpcmVkLgorICAgICAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRh
aW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAg
ICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS51bnJlZ2lzdGVyU3RyZWFtVVJMKHVybCk7CisgICAg
ICAgIG1fcHVibGljU3RyZWFtVVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKKyAgICB9CiB9Ci0j
ZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFC
TEUoRklMRV9TWVNURU0pCiBGaWxlVGhyZWFkKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaWxl
VGhyZWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmlu
ZGV4IGEwODIyODE4NzM5ODZiNWNiMTQwMzM5NjdhZjBkY2RkNDlhYWUwYmYuLjUyZDkyMWNlN2Qw
NDZiMjU4MzMyNmNlZjdlZjU3MzA0ZmE1NDBlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNjYsNiArNjYsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisgICAgY2xhc3MgTWVkaWFTdHJlYW07CisjZW5kaWYKKwogICAgIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQgewogICAgIHB1YmxpYzoKICAgICAgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOwpAQCAtMTQ0LDkgKzE0OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIERPTVRpbWVyKiBmaW5kVGltZW91dChpbnQgdGltZW91dElkKTsKIAogI2lmIEVOQUJMRShC
TE9CKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIEtVUkwgY3JlYXRlUHVibGlj
QmxvYlVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgICAgIEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChCbG9iKik7CiAgICAgICAgIHZvaWQgcmV2
b2tlUHVibGljQmxvYlVSTChjb25zdCBLVVJMJik7Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUo
QkxPQikKIAogI2lmIFVTRShKU0MpCiAgICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhKCk7CkBAIC0xOTAsNiArMTk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5B
QkxFKEJMT0IpCiAgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY0Jsb2JVUkxzOworICAg
ICAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNTdHJlYW1VUkxzOwogICAgICAgICBIYXNoU2V0
PERPTVVSTCo+IG1fZG9tVXJsczsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKaW5kZXgg
ZDBmMGFlYjYyYzgxZGI1NTBkNjk5ZTBhY2IzOTRlNTYwMTY4MTYzZC4uNzhjZDdiOTMzZDVmYWUz
ZDBlZTUxYjc2NDk3ZjZkYzFiYjA4NDQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcApAQCAtNTMs
NiArNTMsMTUgQEAgdm9pZCBET01VUkw6OmNvbnRleHREZXN0cm95ZWQoKQogICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCA9IDA7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3Ry
aW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAg
aWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcmVhdGVQdWJsaWNCbG9iVVJM
KHN0cmVhbSkuc3RyaW5nKCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2Jq
ZWN0VVJMKEJsb2IqIGJsb2IpCiB7CiAgICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01VUkwuaAppbmRleCBkZmY0ZGQ4YjA4YTllNmY1YzkzMWJmNTcxMmVlNGI3YzZh
ZWQzNjg0Li4yMDdiMjMyYjJiYTEyNDg1MWI3OWI0MTdmZTAzN2IwOTk2NmMwMGMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQmxvYjsKK2NsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAogY2xhc3MgRE9NVVJMIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVVJMPiB7CkBAIC00Miw2
ICs0Myw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01VUkw+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgRE9NVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsgfQogICAgIH5ET01V
UkwoKTsKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgU3RyaW5nIGNyZWF0ZU9iamVj
dFVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmCiAgICAgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChC
bG9iKik7CiAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoY29uc3QgU3RyaW5nJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmlkbAppbmRleCA3NTk0NWI3YzQ4MjUzMWM5NjFkYWI1MDQ3ZjhjZjY2ODMyYWVl
NTljLi5kNmQ1NTc5MGY3YTBjYzdiZmQ3NDMwMDU0YWYyODMxMWJiMWIzNmRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaWRsCkBAIC0zMSw2ICszMSw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgR2Vu
ZXJhdGVUb0pTLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRE9NVVJMIHsKKyNpZiBk
ZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KKyAgICAg
ICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0
VVJMKGluIE1lZGlhU3RyZWFtIHN0cmVhbSk7CisjZW5kaWYKICAgICAgICAgW0NvbnZlcnROdWxs
U3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIEJsb2IgYmxv
Yik7CiAgICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGluIERPTVN0cmluZyB1cmwpOwogICAg
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE2MDRiZDgzMGVlZTZhNGNiNzM5NTlmNjRkMTVhMzE2MTdjYzYxZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgor
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVk
aWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgpCit7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU3RyZWFtUmVnaXN0
cnksIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2b2lkIE1lZGlh
U3RyZWFtUmVnaXN0cnk6OnJlZ2lzdGVyU3RyZWFtVVJMKGNvbnN0IEtVUkwmIHVybCwgUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgbV9zdHJlYW1zLmFkZCh1cmwuc3RyaW5nKCksIHN0cmVhbSk7Cit9CisKK3ZvaWQgTWVk
aWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3RlclN0cmVhbVVSTChjb25zdCBLVVJMJiB1cmwpCit7
CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX3N0cmVhbXMucmVtb3ZlKHVybC5z
dHJpbmcoKSk7Cit9CisKK1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtUmVnaXN0
cnk6OmdldFN0cmVhbShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKKyAgICBVUkxTdHJlYW1NYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdHJl
YW1zLmZpbmQodXJsLnN0cmluZygpKTsKKyAgICBpZiAoaXQgIT0gbV9zdHJlYW1zLmVuZCgpKQor
ICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDg4
ZTI0ZWRmODU2ZDJhZGU1MDAyMDk1YjliM2VkM2ZjYWFjN2RmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFTdHJlYW1SZWdpc3RyeV9oCisjZGVm
aW5lIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFTdHJl
YW07CisKK2NsYXNzIE1lZGlhU3RyZWFtUmVnaXN0cnkgeworcHVibGljOgorICAgIC8vIFJlZ2lz
dGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIHN0cmVhbSBkYXRhLgor
ICAgIHZvaWQgcmVnaXN0ZXJTdHJlYW1VUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW0+KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTdHJlYW1VUkwoY29uc3QgS1VSTCYpOworICAg
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IGdldFN0cmVhbShjb25zdCBLVVJMJikgY29uc3Q7CisK
K3ByaXZhdGU6CisgICAgLy8gQ3VycmVudGx5IGFzc3VtaW5nIHRoYXQgdGhlIFVSTHMga2VlcCBh
bGl2ZSB0aGVpciBhc3NvY2lhdGVkIFN0cmVhbXMuCisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmlu
ZywgUmVmUHRyPE1lZGlhU3RyZWFtPiA+IFVSTFN0cmVhbU1hcDsKKyAgICBVUkxTdHJlYW1NYXAg
bV9zdHJlYW1zOworfTsKKworLy8gUmV0dXJucyBhIHNpbmdsZSBpbnN0YW5jZSBvZiBNZWRpYVN0
cmVhbVJlZ2lzdHJ5LgorTWVkaWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgp
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVJlZ2lz
dHJ5X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103375</attachid>
            <date>2011-08-09 11:14:44 -0700</date>
            <delta_ts>2011-08-10 05:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110809201442.patch</filename>
            <type>text/plain</type>
            <size>20908</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2NzQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDRiODNhZGEzMGU2ODMwNGY2NWI1Yjli
Mzk4NjgyZDAyMmM1MDBhODAuLjQ4MTg0Y2MyMzdjZjM3ZTQ2MmVkNmI3ODc2N2Q3ZTJhNDY2Mzc1
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDE5LDYgKzIwMTksNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGMzYmM5YmNkMjA3MDk3OWE3Mzg5ZjUwOWUzYTNlOWQ2ZjE5NzNjYjIuLmI1MTk3ZDg5YTYx
ZjVjNTQyZGNiYTg3ZGRkMDI1NmMyZDlhOWVhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQ
dWJsaWNCbG9iVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnJldm9rZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0Lmg6CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmg6CisgICAgICAg
ICogaHRtbC9ET01VUkwuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0
cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhU3RyZWFtUmVnaXN0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJTdHJlYW1VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3RlclN0cmVh
bVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpnZXRTdHJlYW0p
OgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaDogQWRkZWQuCisKIDIw
MTEtMDgtMDkgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogQWRkICJSZWZyZXNoIiB0byBjb250ZXh0IG1lbnUgb2YgcmVzb3Vy
Y2VzIHBhbmVsIGNvb2tpZXMgdmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IGEwNjhjMDI0NDhhNzYwNTM3N2Q3ZTA4NDY0MzA3OGVlNjQ5OGJkNGQuLmMwZDZlYzU0YzdkNTA2
NDY4NWMxZWI3ODk3NGVlODdiZjk3ZjFhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMjYzOSw2ICsyNjM5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggNzliZTljZGUwNDg1ZTUyMWE0YTQ1NjgzYTY2M2ZhZWUwMWM3NjJm
ZS4uZjc2OWM2MzE3MjRjYmM2NWU2YjgxMTg3NmE1YjkzZDRmMTIyMzk1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMzAyNiw2ICszMDI2LDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9MaW5rSGFz
aC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0v
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL01lZGlhU3Ry
ZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGE2
Zjg5YTRiNjJmYWJlMGVjN2M3MWUwOGMwOTk1MmYwZWU0ZDAxOGYuLmFmZjU5OWI3MmFiMDUyNGQw
NzI4YzVmYWJkMDc3MGU1ODRmZGVkZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjU3LDcgKzMyNTcs
OCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICAgICAg
cGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
XAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAogICAgIFNPVVJDRVMg
Kz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAtMzI2OCw3ICszMjY5
LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAg
IHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVyQ29ubmVjdGlvbi5j
cHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgXAotICAgICAgICBw
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBwYWdlL01lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVn
aXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBiMmU2OWUwZWVhNWY2MWZm
NDU4Y2U3MzdhYzlkNWU5ZjM2YWE1YWIwLi5jMTFlOWRlYmNkMGMwNzA5ODgyOWRiNmRjZmM5MmZi
N2M5MmY5NjhiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjY3OTQsNiArMjY3OTQsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCIK
IAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Q2ZjdhZTM5ODY5NzE1M2Y0Y2ZkZjU1OGQ2NTgzZTEw
YTQzODViOC4uZWZjNGUwZmMzN2EwMzBiYjA5MjUwYTY2MTM3MzQ5ZmI1YWNiZjdkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTEyMyw2ICsxMTIzLDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRmb3Jt
Q0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJNYWMubW0gKi87
IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk2
OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgKi87
IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NjlC
MEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaCAqLzsgfTsK
KwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREUxM0Yx
OTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9OworCQk0OTc4NUVF
MTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0YxOTJGMDAwQTc5NUFE
IC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0YwRjFFNzY3NTAwQzIz
NzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENT
U01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktp
dENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggKi87IH07
CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTREMEYxRTc2
QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAgLTc2OTcsNiArNzY5
OSw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQbGF0Zm9ybUNBTGF5
ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9ybVN0
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURFMTNGMTkyRjAwMEE3
OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3Ry
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVJlZ2lzdHJ5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4
MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3ODIgLyogRE9NV2Vi
S2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktp
dENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwODEsNiArMTkw
ODUsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJpbmdz
LmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuY3BwICovLAog
CQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8sCisJCQkJNDk3ODVF
REUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovLAorCQkJCTQ5
Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8sCiAJCQkJ
NjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgKi8s
CiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5o
ICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmNw
cCAqLywKQEAgLTIyMzY3LDYgKzIyMzczLDcgQEAKIAkJCQk0OUEyQ0ZEQTEzRTk3ODdFMDA1NzlG
MTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFFNTQ1OTYxMzQ2
MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmggaW4g
SGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1S
ZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRGOTAwNTI2MDBBIC8q
IE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlGMzIzMTNENTc0Rjkw
MDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNC
MTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVhZGVycyAqLywKQEAg
LTI1MzgzLDYgKzI1MzkwLDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1NzlGMTMgLyogTWVk
aWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5NTEzNDYyOUMxMDA5
MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdp
c3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5MDA1MjYwMEEgLyog
TWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNDEzRDU3NEY5
MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4
IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLmM1NDZkODJhMTU4Mjc2
ZjU1NjAwMWMwZTYwNWQzZTE5OTBmYTZmZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNpbmNsdWRlICJFdmVu
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJGaWxlVGhy
ZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0LDYgKzEzNiwxMiBA
QCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAgICAg
ICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5kaWYKKworI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBwdWJsaWNT
dHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAgIGZvciAoSGFzaFNl
dDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxzLmJlZ2luKCk7IGl0
ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBtZWRpYVN0cmVhbVJl
Z2lzdHJ5KCkudW5yZWdpc3RlclN0cmVhbVVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywgKml0ZXIp
KTsKKyNlbmRpZgogfQogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQpAQCAtMzc3LDYgKzM4NSwyMiBA
QCBET01UaW1lciogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmluZFRpbWVvdXQoaW50IHRpbWVv
dXRJZCkKIH0KIAogI2lmIEVOQUJMRShCTE9CKQorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
K0tVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChNZWRpYVN0
cmVhbSogc3RyZWFtKQoreworICAgIGlmICghc3RyZWFtKQorICAgICAgICByZXR1cm4gS1VSTCgp
OworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2VjdXJp
dHlPcmlnaW4oKSk7CisgICAgcHVibGljVVJMLnNldFByb3RvY29sKCJ4LXJhdy1tZWRpYSIpOwor
ICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBTdHJlYW0gb2JqZWN0cywgd2Ug
c2hvdWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICBtZWRpYVN0cmVhbVJlZ2lzdHJ5KCku
cmVnaXN0ZXJTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0pOworICAgIG1fcHVibGljU3RyZWFt
VVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAgICByZXR1cm4gcHVibGljVVJMOworfQor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKIEtVUkwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9iKQogewogICAgIGlmICghYmxvYikK
QEAgLTM5NSw4ICs0MTksMTQgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXZva2VQ
dWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdp
c3RyeTo6dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAgICAgICAgbV9wdWJsaWNCbG9iVVJMcy5y
ZW1vdmUodXJsLnN0cmluZygpKTsKICAgICB9CisgICAgaWYgKG1fcHVibGljU3RyZWFtVVJMcy5j
b250YWlucyh1cmwuc3RyaW5nKCkpKSB7CisgICAgICAgIC8vIEZJWE1FOiBtYWtlIHN1cmUgb2Yg
dGhpcyBhc3NlcnRpb24gYmVsb3cuIFJhaXNlIGEgc3BlYyBxdWVzdGlvbiBpZiByZXF1aXJlZC4K
KyAgICAgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0cmVhbSBvYmplY3Rz
LCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgICAgICBtZWRpYVN0cmVhbVJl
Z2lzdHJ5KCkudW5yZWdpc3RlclN0cmVhbVVSTCh1cmwpOworICAgICAgICBtX3B1YmxpY1N0cmVh
bVVSTHMucmVtb3ZlKHVybC5zdHJpbmcoKSk7CisgICAgfQogfQotI2VuZGlmCisjZW5kaWYgLy8g
RU5BQkxFKEJMT0IpCiAKICNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQog
RmlsZVRocmVhZCogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBhMDgyMjgxODczOTg2
YjVjYjE0MDMzOTY3YWYwZGNkZDQ5YWFlMGJmLi41MmQ5MjFjZTdkMDQ2YjI1ODMzMjZjZWY3ZWY1
NzMwNGZhNTQwZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKQEAgLTY2LDYgKzY2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBG
aWxlVGhyZWFkOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNsYXNz
IE1lZGlhU3RyZWFtOworI2VuZGlmCisKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKQEAgLTE0
NCw5ICsxNDgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBET01UaW1lciogZmlu
ZFRpbWVvdXQoaW50IHRpbWVvdXRJZCk7CiAKICNpZiBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorICAgICAgICBLVVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVkaWFTdHJl
YW0qKTsKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICAgICBLVVJMIGNyZWF0
ZVB1YmxpY0Jsb2JVUkwoQmxvYiopOwogICAgICAgICB2b2lkIHJldm9rZVB1YmxpY0Jsb2JVUkwo
Y29uc3QgS1VSTCYpOwotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpCiAKICNpZiBVU0Uo
SlNDKQogICAgICAgICBKU0M6OkpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpOwpAQCAtMTkwLDYg
KzE5Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShCTE9CKQogICAgICAg
ICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNCbG9iVVJMczsKKyAgICAgICAgSGFzaFNldDxTdHJp
bmc+IG1fcHVibGljU3RyZWFtVVJMczsKICAgICAgICAgSGFzaFNldDxET01VUkwqPiBtX2RvbVVy
bHM7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCmluZGV4IGQwZjBhZWI2MmM4MWRiNTUw
ZDY5OWUwYWNiMzk0ZTU2MDE2ODE2M2QuLjc4Y2Q3YjkzM2Q1ZmFlM2QwZWU1MWI3NjQ5N2Y2ZGMx
YmIwODQ0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKQEAgLTUzLDYgKzUzLDE1IEBAIHZvaWQg
RE9NVVJMOjpjb250ZXh0RGVzdHJveWVkKCkKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQg
PSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBET01VUkw6OmNyZWF0
ZU9iamVjdFVSTChNZWRpYVN0cmVhbSogc3RyZWFtKQoreworICAgIGlmICghbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+Y3JlYXRlUHVibGljQmxvYlVSTChzdHJlYW0pLnN0cmluZygp
OworfQorI2VuZGlmCisKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChCbG9iKiBibG9i
KQogewogICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgK
aW5kZXggZGZmNGRkOGIwOGE5ZTZmNWM5MzFiZjU3MTJlZTRiN2M2YWVkMzY4NC4uMjA3YjIzMmIy
YmExMjQ4NTFiNzliNDE3ZmUwMzdiMDk5NjZjMDBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCkBAIC0z
NSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBN
ZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIERPTVVS
TCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVVSTD4gewpAQCAtNDIsNiArNDMsOSBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NVVJMPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTVVS
TChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSk7IH0KICAgICB+RE9NVVJMKCk7CiAKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoTWVkaWFTdHJlYW0q
KTsKKyNlbmRpZgogICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOwogICAgIHZvaWQg
cmV2b2tlT2JqZWN0VVJMKGNvbnN0IFN0cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTVVSTC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKaW5k
ZXggNzU5NDViN2M0ODI1MzFjOTYxZGFiNTA0N2Y4Y2Y2NjgzMmFlZTU5Yy4uZDZkNTU3OTBmN2Ew
Y2M3YmZkNzQzMDA1NGFmMjgzMTFiYjFiMzZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VUkwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbApAQCAt
MzEsNiArMzEsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEdlbmVyYXRlVG9KUywKICAgICAg
ICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIERPTVVSTCB7CisjaWYgZGVmaW5lZChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCisgICAgICAgIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPVVuZGVmaW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVh
bSBzdHJlYW0pOworI2VuZGlmCiAgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVmaW5l
ZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBCbG9iIGJsb2IpOwogICAgICAgICB2b2lk
IHJldm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcgdXJsKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjA0
YmQ4MzBlZWU2YTRjYjczOTU5ZjY0ZDE1YTMxNjE3Y2M2MWY0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKQEAgLTAsMCAr
MSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtUmVnaXN0cnkuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNs
dWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhU3RyZWFtUmVnaXN0cnkm
IG1lZGlhU3RyZWFtUmVnaXN0cnkoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChNZWRpYVN0cmVhbVJlZ2lzdHJ5LCBpbnN0YW5jZSwgKCkp
OworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKwordm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojpy
ZWdpc3RlclN0cmVhbVVSTChjb25zdCBLVVJMJiB1cmwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+
IHN0cmVhbSkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fc3RyZWFtcy5h
ZGQodXJsLnN0cmluZygpLCBzdHJlYW0pOworfQorCit2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6
OnVucmVnaXN0ZXJTdHJlYW1VUkwoY29uc3QgS1VSTCYgdXJsKQoreworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgbV9zdHJlYW1zLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpnZXRTdHJlYW0oY29u
c3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAg
VVJMU3RyZWFtTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3RyZWFtcy5maW5kKHVybC5zdHJp
bmcoKSk7CisgICAgaWYgKGl0ICE9IG1fc3RyZWFtcy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0
LT5zZWNvbmQ7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ4OGUyNGVkZjg1NmQyYWRlNTAw
MjA5NWI5YjNlZDNmY2FhYzdkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorI2RlZmluZSBNZWRpYVN0cmVhbVJl
Z2lzdHJ5X2gKKworI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU3RyZWFtOworCitjbGFzcyBNZWRp
YVN0cmVhbVJlZ2lzdHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVSTCBy
ZWZlcnJpbmcgdG8gdGhlIHNwZWNpZmllZCBzdHJlYW0gZGF0YS4KKyAgICB2b2lkIHJlZ2lzdGVy
U3RyZWFtVVJMKGNvbnN0IEtVUkwmLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPik7CisgICAgdm9p
ZCB1bnJlZ2lzdGVyU3RyZWFtVVJMKGNvbnN0IEtVUkwmKTsKKyAgICBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtPiBnZXRTdHJlYW0oY29uc3QgS1VSTCYpIGNvbnN0OworCitwcml2YXRlOgorICAgIC8v
IEN1cnJlbnRseSBhc3N1bWluZyB0aGF0IHRoZSBVUkxzIGtlZXAgYWxpdmUgdGhlaXIgYXNzb2Np
YXRlZCBTdHJlYW1zLgorICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0
cmVhbT4gPiBVUkxTdHJlYW1NYXA7CisgICAgVVJMU3RyZWFtTWFwIG1fc3RyZWFtczsKK307CisK
Ky8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1SZWdpc3RyeS4KK01l
ZGlhU3RyZWFtUmVnaXN0cnkmIG1lZGlhU3RyZWFtUmVnaXN0cnkoKTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTWVkaWFTdHJlYW1SZWdpc3RyeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103471</attachid>
            <date>2011-08-10 05:33:56 -0700</date>
            <delta_ts>2011-08-10 05:53:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110810143354.patch</filename>
            <type>text/plain</type>
            <size>20964</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI3NjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzNWJlNGFjNmE0MmNiZTNjYWJiYTNl
ZWVhYzU4ZDlkN2VlOWYyNGMuLmZlNGJjNmI3YjVmNjczMjEzNGU3MzAyMDJmMjJhZWU2NjU5OTE0
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDIwLDYgKzIwMjAsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDVjYzhjM2RmZWVlYzQ0ZjA2NGM2OTVlMjYyYTcwZTRlMjQyMDc1MDAuLmY1YmU3NDUxY2Vj
MmI3NTQ5NzFjYzZlM2Y1MWIxNjU1Zjc1ZGJkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQ
dWJsaWNCbG9iVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnJldm9rZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0Lmg6CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmg6CisgICAgICAg
ICogaHRtbC9ET01VUkwuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0
cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhU3RyZWFtUmVnaXN0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJTdHJlYW1VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3RlclN0cmVh
bVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpnZXRTdHJlYW0p
OgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaDogQWRkZWQuCisKIDIw
MTEtMDgtMTAgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViU29ja2V0OiBBZGQgYmluYXJ5VHlwZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDZiZWI5MzFhNmI5OTg2MWRkZTFkZThiY2QwNWYxNGQ1YWQzZDgyN2YuLjgw
ZjFiNGE1MGUyMTI1OTJhMzMwZjMxNmVmN2I5ZjMxNDA4ZWM0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMjYzOCw2ICsyNjM4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNv
ZGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMmM2MzJhZDRlMzUzYmI0MjkyYTY2OGYwNzZj
MDEzNGYwNGUzNTA5MS4uY2EyNzY4N2U2OGM1ZTU0N2ZlYmQ5MzNlNTZlMzA0NzA4NjJhZWY5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzAyNCw2ICszMDI0LDggQEAKICAgICAgICAgICAgICdwbGF0
Zm9ybS9MaW5rSGFzaC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdp
c3RyeS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGEwN2I5NGE5NDEwNTg5YmY1NWU4MDI3NWZjMDk1ZjQxMzI3MjY4NDQuLjRkNGM0
MGQwNTFkOGE4YzM3ZjkyMjQzYjRhODE4MTc4NGIyY2VlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0z
MjYwLDcgKzMyNjAsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEp
IHsKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAg
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggXAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAog
ICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAt
MzI3MSw3ICszMjcyLDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0x
KSB7CiAgICAgICAgIHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVy
Q29ubmVjdGlvbi5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAg
XAotICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBw
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBlNWRk
M2U5OGI0MjdiZThmMmY1OTc3MDcxOTMxYTc1MTk0Y2YzNmMwLi4zZTEyOTE4ODlkNzdiNDQxYTg5
ZmExNDA3YmUzZmM2MWJhZTRhODY2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjY3OTQsNiArMjY3OTQsMTQgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGJhODQ2NDYzZTUyN2RlNmZkYTMw
YWI3OTk2OGU2ZWFiNGM5YTJiZC4uMzQyNjVmYWY5NDkyNWJmYzU4YTBjNWNkZTI0ZDFhYTJiZGU5
MDI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTEyNSw2ICsxMTI1LDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFD
IC8qIFBsYXRmb3JtQ0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5
ZXJNYWMubW0gKi87IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDk2OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1T
dGF0ZS5jcHAgKi87IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCAqLzsgfTsKKwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVn
aXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9
OworCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0Yx
OTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0Yw
RjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAv
KiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4
MiAvKiBKU1dlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0
cml4LmggKi87IH07CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NN
YXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
ODM5MTREMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAg
LTc3MDQsNiArNzcwNiw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9y
bUNBTGF5ZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQ
bGF0Zm9ybUNBTGF5ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEg
LyogSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJh
bnNmb3JtU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURF
MTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFT
dHJlYW1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0
cmVhbVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYx
RTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01h
dHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJp
eC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3
ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVdlYktpdENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTkwOTIsNiArMTkwOTYsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2Nh
bGl6ZWRTdHJpbmdzLmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dp
bmcuY3BwICovLAogCQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8s
CisJCQkJNDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
ICovLAorCQkJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5
LmggKi8sCiAJCQkJNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAgKi8sCiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNz
dXJlSGFuZGxlci5oICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlw
ZVJlZ2lzdHJ5LmNwcCAqLywKQEAgLTIyMzc5LDYgKzIyMzg1LDcgQEAKIAkJCQk0OUEyQ0ZEQTEz
RTk3ODdFMDA1NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjFFNTQ1OTYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJl
YW1MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyog
TWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRG
OTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlG
MzIzMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1NDAxLDYgKzI1NDA4LDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1
NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5
NTEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVk
aWFTdHJlYW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5
MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5
RjMyNDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCmluZGV4IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLjNl
NDIwZGU4OGQwMmUxOWNiMmExYzY3ZjBhYzY2MzZhYzg0YTRiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNp
bmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJGaWxlVGhyZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0
LDYgKzEzNiwxMiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpCiAgICAgICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5k
aWYKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVy
YXRvciBwdWJsaWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAg
IGZvciAoSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxz
LmJlZ2luKCk7IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBt
ZWRpYVN0cmVhbVJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCAqaXRlcikpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCkBA
IC0zNzcsNiArMzg1LDIzIEBAIERPTVRpbWVyKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaW5k
VGltZW91dChpbnQgdGltZW91dElkKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorS1VSTCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJs
aWNCbG9iVVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAgaWYgKCFzdHJlYW0pCisgICAg
ICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0
ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKKyAgICBwdWJsaWNVUkwuc2V0UHJvdG9jb2wo
IngtcmF3LW1lZGlhIik7CisgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0
cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgbWVkaWFTdHJlYW1SZWdpc3RyeSgpLnJlZ2lzdGVyTWVk
aWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0pOworICAgIG1fcHVibGljU3RyZWFtVVJMcy5h
ZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAgICByZXR1cm4gcHVibGljVVJMOworfQorI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKIEtVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9iKQogewogICAgIGlmICghYmxvYikKQEAgLTM5
NSw4ICs0MjAsMTUgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXZva2VQdWJsaWNC
bG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6
dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAgICAgICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUo
dXJsLnN0cmluZygpKTsKICAgICB9CisgICAgaWYgKG1fcHVibGljU3RyZWFtVVJMcy5jb250YWlu
cyh1cmwuc3RyaW5nKCkpKSB7CisgICAgICAgIC8vIEZJWE1FOiBtYWtlIHN1cmUgb2YgdGhpcyBh
c3NlcnRpb24gYmVsb3cuIFJhaXNlIGEgc3BlYyBxdWVzdGlvbiBpZiByZXF1aXJlZC4KKyAgICAg
ICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBz
aG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOworICAgICAgICBtZWRpYVN0cmVhbVJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFt
VVJMKHVybCk7CisgICAgICAgIG1fcHVibGljU3RyZWFtVVJMcy5yZW1vdmUodXJsLnN0cmluZygp
KTsKKyAgICB9CiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIEVOQUJM
RShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCiBGaWxlVGhyZWFkKiBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpmaWxlVGhyZWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oCmluZGV4IGEwODIyODE4NzM5ODZiNWNiMTQwMzM5NjdhZjBkY2RkNDlhYWUw
YmYuLjUyZDkyMWNlN2QwNDZiMjU4MzMyNmNlZjdlZjU3MzA0ZmE1NDBlODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNjYsNiArNjYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY2xhc3MgTWVkaWFTdHJlYW07CisjZW5kaWYKKwog
ICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgewogICAgIHB1YmxpYzoKICAgICAgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpAQCAtMTQ0LDkgKzE0OCwxMiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIERPTVRpbWVyKiBmaW5kVGltZW91dChpbnQgdGltZW91dElkKTsK
IAogI2lmIEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIEtV
UkwgY3JlYXRlUHVibGljQmxvYlVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgICAgIEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChCbG9iKik7CiAg
ICAgICAgIHZvaWQgcmV2b2tlUHVibGljQmxvYlVSTChjb25zdCBLVVJMJik7Ci0jZW5kaWYKKyNl
bmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIFVTRShKU0MpCiAgICAgICAgIEpTQzo6SlNHbG9i
YWxEYXRhKiBnbG9iYWxEYXRhKCk7CkBAIC0xOTAsNiArMTk3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAjaWYgRU5BQkxFKEJMT0IpCiAgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1Ymxp
Y0Jsb2JVUkxzOworICAgICAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNTdHJlYW1VUkxzOwog
ICAgICAgICBIYXNoU2V0PERPTVVSTCo+IG1fZG9tVXJsczsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKaW5kZXggZDBmMGFlYjYyYzgxZGI1NTBkNjk5ZTBhY2IzOTRlNTYwMTY4MTYzZC4u
NzhjZDdiOTMzZDVmYWUzZDBlZTUxYjc2NDk3ZjZkYzFiYjA4NDQ3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmNwcApAQCAtNTMsNiArNTMsMTUgQEAgdm9pZCBET01VUkw6OmNvbnRleHREZXN0cm95ZWQo
KQogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IDA7CiB9CiAKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFtKiBz
dHJlYW0pCit7CisgICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcmVh
dGVQdWJsaWNCbG9iVVJMKHN0cmVhbSkuc3RyaW5nKCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIERP
TVVSTDo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCiB7CiAgICAgaWYgKCFtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAppbmRleCBkZmY0ZGQ4YjA4YTllNmY1Yzkz
MWJmNTcxMmVlNGI3YzZhZWQzNjg0Li4yMDdiMjMyYjJiYTEyNDg1MWI3OWI0MTdmZTAzN2IwOTk2
NmMwMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgRE9NVVJMIDogcHVibGljIFJlZkNvdW50ZWQ8RE9N
VVJMPiB7CkBAIC00Miw2ICs0Myw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
T01VUkw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgRE9NVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
KTsgfQogICAgIH5ET01VUkwoKTsKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmCiAgICAgU3RyaW5nIGNy
ZWF0ZU9iamVjdFVSTChCbG9iKik7CiAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoY29uc3QgU3Ry
aW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAppbmRleCA3NTk0NWI3YzQ4MjUzMWM5NjFkYWI1
MDQ3ZjhjZjY2ODMyYWVlNTljLi5kNmQ1NTc5MGY3YTBjYzdiZmQ3NDMwMDU0YWYyODMxMWJiMWIz
NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCkBAIC0zMSw2ICszMSw5IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgR2VuZXJhdGVUb0pTLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0g
RE9NVVJMIHsKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJ
QV9TVFJFQU0KKyAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJp
bmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlhU3RyZWFtIHN0cmVhbSk7CisjZW5kaWYKICAgICAg
ICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0
VVJMKGluIEJsb2IgYmxvYik7CiAgICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGluIERPTVN0
cmluZyB1cmwpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3Ry
ZWFtUmVnaXN0cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjMmE3YjE3ZTMyZWMwOWM4NDRhMjI2MjllY2Zi
ZGExZTA1ZjAwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworTWVkaWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgpCit7
CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1l
ZGlhU3RyZWFtUmVnaXN0cnksIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOwor
fQorCit2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29u
c3QgS1VSTCYgdXJsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0pCit7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX3N0cmVhbXMuYWRkKHVybC5zdHJpbmcoKSwgc3Ry
ZWFtKTsKK30KKwordm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJl
YW1VUkwoY29uc3QgS1VSTCYgdXJsKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cisg
ICAgbV9zdHJlYW1zLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtPiBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjptZWRpYVN0cmVhbShjb25zdCBLVVJMJiB1cmwp
IGNvbnN0Cit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBVUkxTdHJlYW1NYXA6
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdHJlYW1zLmZpbmQodXJsLnN0cmluZygpKTsKKyAgICBp
ZiAoaXQgIT0gbV9zdHJlYW1zLmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKyAg
ICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmU2NTZhNzlkYzJkMmNkYTZlMjA5ZGNmZDU3YTkwZDAz
YmYwOGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFT
dHJlYW1SZWdpc3RyeS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
TWVkaWFTdHJlYW1SZWdpc3RyeV9oCisjZGVmaW5lIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorCisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBLVVJMOworY2xhc3MgTWVkaWFTdHJlYW07CisKK2NsYXNzIE1lZGlhU3RyZWFtUmVnaXN0
cnkgeworcHVibGljOgorICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0
aGUgc3BlY2lmaWVkIHN0cmVhbSBkYXRhLgorICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TChjb25zdCBLVVJMJiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4pOworICAgIHZvaWQgdW5yZWdp
c3Rlck1lZGlhU3RyZWFtVVJMKGNvbnN0IEtVUkwmKTsKKyAgICBQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtPiBtZWRpYVN0cmVhbShjb25zdCBLVVJMJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgLy8g
Q3VycmVudGx5IGFzc3VtaW5nIHRoYXQgdGhlIFVSTHMga2VlcCBhbGl2ZSB0aGVpciBhc3NvY2lh
dGVkIFN0cmVhbXMuCisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3Ry
ZWFtPiA+IFVSTFN0cmVhbU1hcDsKKyAgICBVUkxTdHJlYW1NYXAgbV9zdHJlYW1zOworfTsKKwor
Ly8gUmV0dXJucyBhIHNpbmdsZSBpbnN0YW5jZSBvZiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LgorTWVk
aWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgpOworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103476</attachid>
            <date>2011-08-10 05:53:55 -0700</date>
            <delta_ts>2011-08-10 07:32:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110810145354.patch</filename>
            <type>text/plain</type>
            <size>21024</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI3NjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzNWJlNGFjNmE0MmNiZTNjYWJiYTNl
ZWVhYzU4ZDlkN2VlOWYyNGMuLmZlNGJjNmI3YjVmNjczMjEzNGU3MzAyMDJmMjJhZWU2NjU5OTE0
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDIwLDYgKzIwMjAsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDVjYzhjM2RmZWVlYzQ0ZjA2NGM2OTVlMjYyYTcwZTRlMjQyMDc1MDAuLmY1YmU3NDUxY2Vj
MmI3NTQ5NzFjYzZlM2Y1MWIxNjU1Zjc1ZGJkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQ
dWJsaWNCbG9iVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnJldm9rZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0Lmg6CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmg6CisgICAgICAg
ICogaHRtbC9ET01VUkwuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0
cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhU3RyZWFtUmVnaXN0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJTdHJlYW1VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3RlclN0cmVh
bVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpnZXRTdHJlYW0p
OgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaDogQWRkZWQuCisKIDIw
MTEtMDgtMTAgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViU29ja2V0OiBBZGQgYmluYXJ5VHlwZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDZiZWI5MzFhNmI5OTg2MWRkZTFkZThiY2QwNWYxNGQ1YWQzZDgyN2YuLjgw
ZjFiNGE1MGUyMTI1OTJhMzMwZjMxNmVmN2I5ZjMxNDA4ZWM0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMjYzOCw2ICsyNjM4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNv
ZGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMmM2MzJhZDRlMzUzYmI0MjkyYTY2OGYwNzZj
MDEzNGYwNGUzNTA5MS4uY2EyNzY4N2U2OGM1ZTU0N2ZlYmQ5MzNlNTZlMzA0NzA4NjJhZWY5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzAyNCw2ICszMDI0LDggQEAKICAgICAgICAgICAgICdwbGF0
Zm9ybS9MaW5rSGFzaC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdp
c3RyeS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGEwN2I5NGE5NDEwNTg5YmY1NWU4MDI3NWZjMDk1ZjQxMzI3MjY4NDQuLjRkNGM0
MGQwNTFkOGE4YzM3ZjkyMjQzYjRhODE4MTc4NGIyY2VlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0z
MjYwLDcgKzMyNjAsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEp
IHsKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAg
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggXAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAog
ICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAt
MzI3MSw3ICszMjcyLDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0x
KSB7CiAgICAgICAgIHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVy
Q29ubmVjdGlvbi5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAg
XAotICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBw
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBlNWRk
M2U5OGI0MjdiZThmMmY1OTc3MDcxOTMxYTc1MTk0Y2YzNmMwLi4zZTEyOTE4ODlkNzdiNDQxYTg5
ZmExNDA3YmUzZmM2MWJhZTRhODY2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjY3OTQsNiArMjY3OTQsMTQgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGJhODQ2NDYzZTUyN2RlNmZkYTMw
YWI3OTk2OGU2ZWFiNGM5YTJiZC4uMzQyNjVmYWY5NDkyNWJmYzU4YTBjNWNkZTI0ZDFhYTJiZGU5
MDI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTEyNSw2ICsxMTI1LDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFD
IC8qIFBsYXRmb3JtQ0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5
ZXJNYWMubW0gKi87IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDk2OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1T
dGF0ZS5jcHAgKi87IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCAqLzsgfTsKKwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVn
aXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9
OworCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0Yx
OTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0Yw
RjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAv
KiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4
MiAvKiBKU1dlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0
cml4LmggKi87IH07CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NN
YXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
ODM5MTREMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAg
LTc3MDQsNiArNzcwNiw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9y
bUNBTGF5ZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQ
bGF0Zm9ybUNBTGF5ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEg
LyogSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJh
bnNmb3JtU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURF
MTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFT
dHJlYW1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0
cmVhbVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYx
RTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01h
dHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJp
eC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3
ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVdlYktpdENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTkwOTIsNiArMTkwOTYsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2Nh
bGl6ZWRTdHJpbmdzLmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dp
bmcuY3BwICovLAogCQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8s
CisJCQkJNDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
ICovLAorCQkJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5
LmggKi8sCiAJCQkJNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAgKi8sCiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNz
dXJlSGFuZGxlci5oICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlw
ZVJlZ2lzdHJ5LmNwcCAqLywKQEAgLTIyMzc5LDYgKzIyMzg1LDcgQEAKIAkJCQk0OUEyQ0ZEQTEz
RTk3ODdFMDA1NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjFFNTQ1OTYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJl
YW1MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyog
TWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRG
OTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlG
MzIzMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1NDAxLDYgKzI1NDA4LDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1
NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5
NTEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVk
aWFTdHJlYW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5
MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5
RjMyNDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCmluZGV4IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLmIy
YWJhODA3M2ZjY2NmNjg4YzJhYzA2N2QxZDgyMTYwZWU2YmZkZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNp
bmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJGaWxlVGhyZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0
LDYgKzEzNiwxMiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpCiAgICAgICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5k
aWYKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVy
YXRvciBwdWJsaWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAg
IGZvciAoSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxz
LmJlZ2luKCk7IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBt
ZWRpYVN0cmVhbVJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCAqaXRlcikpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCkBA
IC0zNzcsNiArMzg1LDIzIEBAIERPTVRpbWVyKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaW5k
VGltZW91dChpbnQgdGltZW91dElkKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorS1VSTCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJs
aWNCbG9iVVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAgaWYgKCFzdHJlYW0pCisgICAg
ICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0
ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKKyAgICBwdWJsaWNVUkwuc2V0UHJvdG9jb2wo
IngtcmF3LW1lZGlhIik7CisgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0
cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgbWVkaWFTdHJlYW1SZWdpc3RyeSgpLnJlZ2lzdGVyTWVk
aWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0pOworICAgIG1fcHVibGljU3RyZWFtVVJMcy5h
ZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAgICByZXR1cm4gcHVibGljVVJMOworfQorI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKIEtVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9iKQogewogICAgIGlmICghYmxvYikKQEAgLTM5
NSw4ICs0MjAsMTggQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXZva2VQdWJsaWNC
bG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6
dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAgICAgICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUo
dXJsLnN0cmluZygpKTsKICAgICB9CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAo
bV9wdWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpIHsKKyAgICAgICAgLy8g
RklYTUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFzc2VydGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1
ZXN0aW9uIGlmIHJlcXVpcmVkLgorICAgICAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBv
YnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisg
ICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgICAgIG1lZGlhU3RyZWFtUmVnaXN0
cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwodXJsKTsKKyAgICAgICAgbV9wdWJsaWNTdHJl
YW1VUkxzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworICAgIH0KKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIEVO
QUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCiBGaWxlVGhyZWFkKiBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpmaWxlVGhyZWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCmluZGV4IGEwODIyODE4NzM5ODZiNWNiMTQwMzM5NjdhZjBkY2RkNDlh
YWUwYmYuLjUyZDkyMWNlN2QwNDZiMjU4MzMyNmNlZjdlZjU3MzA0ZmE1NDBlODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNjYsNiArNjYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY2xhc3MgTWVkaWFTdHJlYW07CisjZW5kaWYK
KwogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgewogICAgIHB1YmxpYzoKICAgICAg
ICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpAQCAtMTQ0LDkgKzE0OCwxMiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIERPTVRpbWVyKiBmaW5kVGltZW91dChpbnQgdGltZW91dElk
KTsKIAogI2lmIEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAg
IEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgICAgIEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChCbG9iKik7
CiAgICAgICAgIHZvaWQgcmV2b2tlUHVibGljQmxvYlVSTChjb25zdCBLVVJMJik7Ci0jZW5kaWYK
KyNlbmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIFVTRShKU0MpCiAgICAgICAgIEpTQzo6SlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7CkBAIC0xOTAsNiArMTk3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAjaWYgRU5BQkxFKEJMT0IpCiAgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1
YmxpY0Jsb2JVUkxzOworICAgICAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNTdHJlYW1VUkxz
OwogICAgICAgICBIYXNoU2V0PERPTVVSTCo+IG1fZG9tVXJsczsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RPTVVSTC5jcHAKaW5kZXggZDBmMGFlYjYyYzgxZGI1NTBkNjk5ZTBhY2IzOTRlNTYwMTY4MTYz
ZC4uNzhjZDdiOTMzZDVmYWUzZDBlZTUxYjc2NDk3ZjZkYzFiYjA4NDQ3MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmNwcApAQCAtNTMsNiArNTMsMTUgQEAgdm9pZCBET01VUkw6OmNvbnRleHREZXN0cm95
ZWQoKQogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IDA7CiB9CiAKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFt
KiBzdHJlYW0pCit7CisgICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5j
cmVhdGVQdWJsaWNCbG9iVVJMKHN0cmVhbSkuc3RyaW5nKCk7Cit9CisjZW5kaWYKKwogU3RyaW5n
IERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCiB7CiAgICAgaWYgKCFtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVS
TC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAppbmRleCBkZmY0ZGQ4YjA4YTllNmY1
YzkzMWJmNTcxMmVlNGI3YzZhZWQzNjg0Li4yMDdiMjMyYjJiYTEyNDg1MWI3OWI0MTdmZTAzN2Iw
OTk2NmMwMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgRE9NVVJMIDogcHVibGljIFJlZkNvdW50ZWQ8
RE9NVVJMPiB7CkBAIC00Miw2ICs0Myw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxET01VUkw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgRE9NVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpKTsgfQogICAgIH5ET01VUkwoKTsKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
U3RyaW5nIGNyZWF0ZU9iamVjdFVSTChNZWRpYVN0cmVhbSopOworI2VuZGlmCiAgICAgU3RyaW5n
IGNyZWF0ZU9iamVjdFVSTChCbG9iKik7CiAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoY29uc3Qg
U3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAppbmRleCA3NTk0NWI3YzQ4MjUzMWM5NjFk
YWI1MDQ3ZjhjZjY2ODMyYWVlNTljLi5kNmQ1NTc5MGY3YTBjYzdiZmQ3NDMwMDU0YWYyODMxMWJi
MWIzNmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCkBAIC0zMSw2ICszMSw5IEBAIG1vZHVsZSBo
dG1sIHsKICAgICAgICAgR2VuZXJhdGVUb0pTLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAg
IF0gRE9NVVJMIHsKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9N
RURJQV9TVFJFQU0KKyAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01T
dHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlhU3RyZWFtIHN0cmVhbSk7CisjZW5kaWYKICAg
ICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2Jq
ZWN0VVJMKGluIEJsb2IgYmxvYik7CiAgICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGluIERP
TVN0cmluZyB1cmwpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
U3RyZWFtUmVnaXN0cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjMmE3YjE3ZTMyZWMwOWM4NDRhMjI2Mjll
Y2ZiZGExZTA1ZjAwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworTWVkaWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgp
Cit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KE1lZGlhU3RyZWFtUmVnaXN0cnksIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNl
OworfQorCit2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwo
Y29uc3QgS1VSTCYgdXJsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0pCit7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX3N0cmVhbXMuYWRkKHVybC5zdHJpbmcoKSwg
c3RyZWFtKTsKK30KKwordm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFT
dHJlYW1VUkwoY29uc3QgS1VSTCYgdXJsKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgbV9zdHJlYW1zLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtPiBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjptZWRpYVN0cmVhbShjb25zdCBLVVJMJiB1
cmwpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBVUkxTdHJlYW1N
YXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdHJlYW1zLmZpbmQodXJsLnN0cmluZygpKTsKKyAg
ICBpZiAoaXQgIT0gbV9zdHJlYW1zLmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsK
KyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU3RyZWFtUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3Ry
ZWFtUmVnaXN0cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmU2NTZhNzlkYzJkMmNkYTZlMjA5ZGNmZDU3YTkw
ZDAzYmYwOGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTdHJlYW1SZWdpc3RyeS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgTWVkaWFTdHJlYW1SZWdpc3RyeV9oCisjZGVmaW5lIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAor
CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBLVVJMOworY2xhc3MgTWVkaWFTdHJlYW07CisKK2NsYXNzIE1lZGlhU3RyZWFtUmVn
aXN0cnkgeworcHVibGljOgorICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0
byB0aGUgc3BlY2lmaWVkIHN0cmVhbSBkYXRhLgorICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVN0cmVh
bVVSTChjb25zdCBLVVJMJiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4pOworICAgIHZvaWQgdW5y
ZWdpc3Rlck1lZGlhU3RyZWFtVVJMKGNvbnN0IEtVUkwmKTsKKyAgICBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtPiBtZWRpYVN0cmVhbShjb25zdCBLVVJMJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
Ly8gQ3VycmVudGx5IGFzc3VtaW5nIHRoYXQgdGhlIFVSTHMga2VlcCBhbGl2ZSB0aGVpciBhc3Nv
Y2lhdGVkIFN0cmVhbXMuCisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlh
U3RyZWFtPiA+IFVSTFN0cmVhbU1hcDsKKyAgICBVUkxTdHJlYW1NYXAgbV9zdHJlYW1zOworfTsK
KworLy8gUmV0dXJucyBhIHNpbmdsZSBpbnN0YW5jZSBvZiBNZWRpYVN0cmVhbVJlZ2lzdHJ5Lgor
TWVkaWFTdHJlYW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgpOworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103488</attachid>
            <date>2011-08-10 07:32:09 -0700</date>
            <delta_ts>2011-08-12 04:38:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110810163207.patch</filename>
            <type>text/plain</type>
            <size>21022</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI3NjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzNWJlNGFjNmE0MmNiZTNjYWJiYTNl
ZWVhYzU4ZDlkN2VlOWYyNGMuLmZlNGJjNmI3YjVmNjczMjEzNGU3MzAyMDJmMjJhZWU2NjU5OTE0
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDIwLDYgKzIwMjAsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDVjYzhjM2RmZWVlYzQ0ZjA2NGM2OTVlMjYyYTcwZTRlMjQyMDc1MDAuLmY1YmU3NDUxY2Vj
MmI3NTQ5NzFjYzZlM2Y1MWIxNjU1Zjc1ZGJkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQ
dWJsaWNCbG9iVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnJldm9rZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0Lmg6CisgICAgICAgICogaHRtbC9ET01VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VVJMOjpjcmVhdGVPYmplY3RVUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmg6CisgICAgICAg
ICogaHRtbC9ET01VUkwuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0
cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhU3RyZWFtUmVnaXN0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJTdHJlYW1VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3RlclN0cmVh
bVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpnZXRTdHJlYW0p
OgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaDogQWRkZWQuCisKIDIw
MTEtMDgtMTAgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViU29ja2V0OiBBZGQgYmluYXJ5VHlwZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDZiZWI5MzFhNmI5OTg2MWRkZTFkZThiY2QwNWYxNGQ1YWQzZDgyN2YuLjgw
ZjFiNGE1MGUyMTI1OTJhMzMwZjMxNmVmN2I5ZjMxNDA4ZWM0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMjYzOCw2ICsyNjM4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNv
ZGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMmM2MzJhZDRlMzUzYmI0MjkyYTY2OGYwNzZj
MDEzNGYwNGUzNTA5MS4uY2EyNzY4N2U2OGM1ZTU0N2ZlYmQ5MzNlNTZlMzA0NzA4NjJhZWY5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzAyNCw2ICszMDI0LDggQEAKICAgICAgICAgICAgICdwbGF0
Zm9ybS9MaW5rSGFzaC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdp
c3RyeS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGEwN2I5NGE5NDEwNTg5YmY1NWU4MDI3NWZjMDk1ZjQxMzI3MjY4NDQuLjRkNGM0
MGQwNTFkOGE4YzM3ZjkyMjQzYjRhODE4MTc4NGIyY2VlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0z
MjYwLDcgKzMyNjAsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEp
IHsKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAg
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggXAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAog
ICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAt
MzI3MSw3ICszMjcyLDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0x
KSB7CiAgICAgICAgIHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVy
Q29ubmVjdGlvbi5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAg
XAotICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBw
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBlNWRk
M2U5OGI0MjdiZThmMmY1OTc3MDcxOTMxYTc1MTk0Y2YzNmMwLi4zZTEyOTE4ODlkNzdiNDQxYTg5
ZmExNDA3YmUzZmM2MWJhZTRhODY2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjY3OTQsNiArMjY3OTQsMTQgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGJhODQ2NDYzZTUyN2RlNmZkYTMw
YWI3OTk2OGU2ZWFiNGM5YTJiZC4uMzQyNjVmYWY5NDkyNWJmYzU4YTBjNWNkZTI0ZDFhYTJiZGU5
MDI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTEyNSw2ICsxMTI1LDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFD
IC8qIFBsYXRmb3JtQ0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5
ZXJNYWMubW0gKi87IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDk2OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1T
dGF0ZS5jcHAgKi87IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5n
VHJhbnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCAqLzsgfTsKKwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVn
aXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9
OworCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0Yx
OTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0Yw
RjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAv
KiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4
MiAvKiBKU1dlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0
cml4LmggKi87IH07CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NN
YXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
ODM5MTREMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAg
LTc3MDQsNiArNzcwNiw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9y
bUNBTGF5ZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQ
bGF0Zm9ybUNBTGF5ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEg
LyogSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJh
bnNmb3JtU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURF
MTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFT
dHJlYW1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0
cmVhbVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYx
RTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01h
dHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJp
eC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3
ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVdlYktpdENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTkwOTIsNiArMTkwOTYsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2Nh
bGl6ZWRTdHJpbmdzLmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dp
bmcuY3BwICovLAogCQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8s
CisJCQkJNDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
ICovLAorCQkJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5
LmggKi8sCiAJCQkJNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAgKi8sCiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNz
dXJlSGFuZGxlci5oICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlw
ZVJlZ2lzdHJ5LmNwcCAqLywKQEAgLTIyMzc5LDYgKzIyMzg1LDcgQEAKIAkJCQk0OUEyQ0ZEQTEz
RTk3ODdFMDA1NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjFFNTQ1OTYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJl
YW1MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyog
TWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRG
OTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlG
MzIzMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1NDAxLDYgKzI1NDA4LDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1
NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5
NTEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVk
aWFTdHJlYW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5
MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5
RjMyNDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCmluZGV4IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLmRl
ZmI0NWRjZGUxMDEwYmMyNTVkY2Y1YzMwZTFkZTg1NzI4NmJlNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNp
bmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJGaWxlVGhyZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0
LDYgKzEzNiwxMiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpCiAgICAgICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5k
aWYKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVy
YXRvciBwdWJsaWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAg
IGZvciAoSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxz
LmJlZ2luKCk7IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBt
ZWRpYVN0cmVhbVJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCAqaXRlcikpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCkBA
IC0zNzcsNiArMzg1LDIzIEBAIERPTVRpbWVyKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaW5k
VGltZW91dChpbnQgdGltZW91dElkKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorS1VSTCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJs
aWNCbG9iVVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAgaWYgKCFzdHJlYW0pCisgICAg
ICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0
ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKKyAgICBwdWJsaWNVUkwuc2V0UHJvdG9jb2wo
IngtcmF3LW1lZGlhIik7CisgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0
cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgbWVkaWFTdHJlYW1SZWdpc3RyeSgpLnJlZ2lzdGVyTWVk
aWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0pOworICAgIG1fcHVibGljU3RyZWFtVVJMcy5h
ZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAgICByZXR1cm4gcHVibGljVVJMOworfQorI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKIEtVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9iKQogewogICAgIGlmICghYmxvYikKQEAgLTM5
NSw4ICs0MjAsMTcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXZva2VQdWJsaWNC
bG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6
dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAgICAgICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUo
dXJsLnN0cmluZygpKTsKICAgICB9CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAo
bV9wdWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpIHsKKyAgICAgICAgLy8g
RklYTUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFzc2VydGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1
ZXN0aW9uIGlmIHJlcXVpcmVkLgorICAgICAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBv
YnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisg
ICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgICAgIG1lZGlhU3RyZWFtUmVnaXN0
cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwodXJsKTsKKyAgICAgICAgbV9wdWJsaWNTdHJl
YW1VUkxzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogfQotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpCiAKICNpZiBFTkFC
TEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQogRmlsZVRocmVhZCogU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAppbmRleCBhMDgyMjgxODczOTg2YjVjYjE0MDMzOTY3YWYwZGNkZDQ5YWFl
MGJmLi41MmQ5MjFjZTdkMDQ2YjI1ODMzMjZjZWY3ZWY1NzMwNGZhNTQwZTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTY2LDYgKzY2LDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGaWxlVGhyZWFkOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNsYXNzIE1lZGlhU3RyZWFtOworI2VuZGlmCisK
ICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKQEAgLTE0NCw5ICsxNDgsMTIgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBET01UaW1lciogZmluZFRpbWVvdXQoaW50IHRpbWVvdXRJZCk7
CiAKICNpZiBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICBL
VVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVkaWFTdHJlYW0qKTsKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgICAgICBLVVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoQmxvYiopOwog
ICAgICAgICB2b2lkIHJldm9rZVB1YmxpY0Jsb2JVUkwoY29uc3QgS1VSTCYpOwotI2VuZGlmCisj
ZW5kaWYgLy8gRU5BQkxFKEJMT0IpCiAKICNpZiBVU0UoSlNDKQogICAgICAgICBKU0M6OkpTR2xv
YmFsRGF0YSogZ2xvYmFsRGF0YSgpOwpAQCAtMTkwLDYgKzE5Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2lmIEVOQUJMRShCTE9CKQogICAgICAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJs
aWNCbG9iVVJMczsKKyAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcHVibGljU3RyZWFtVVJMczsK
ICAgICAgICAgSGFzaFNldDxET01VUkwqPiBtX2RvbVVybHM7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuY3BwCmluZGV4IGQwZjBhZWI2MmM4MWRiNTUwZDY5OWUwYWNiMzk0ZTU2MDE2ODE2M2Qu
Ljc4Y2Q3YjkzM2Q1ZmFlM2QwZWU1MWI3NjQ5N2Y2ZGMxYmIwODQ0NzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKQEAgLTUzLDYgKzUzLDE1IEBAIHZvaWQgRE9NVVJMOjpjb250ZXh0RGVzdHJveWVk
KCkKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKK1N0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChNZWRpYVN0cmVhbSog
c3RyZWFtKQoreworICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3Jl
YXRlUHVibGljQmxvYlVSTChzdHJlYW0pLnN0cmluZygpOworfQorI2VuZGlmCisKIFN0cmluZyBE
T01VUkw6OmNyZWF0ZU9iamVjdFVSTChCbG9iKiBibG9iKQogewogICAgIGlmICghbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKaW5kZXggZGZmNGRkOGIwOGE5ZTZmNWM5
MzFiZjU3MTJlZTRiN2M2YWVkMzY4NC4uMjA3YjIzMmIyYmExMjQ4NTFiNzliNDE3ZmUwMzdiMDk5
NjZjMDBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIERPTVVSTCA6IHB1YmxpYyBSZWZDb3VudGVkPERP
TVVSTD4gewpAQCAtNDIsNiArNDMsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
RE9NVVJMPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTVVSTChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KSk7IH0KICAgICB+RE9NVVJMKCk7CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFN0
cmluZyBjcmVhdGVPYmplY3RVUkwoTWVkaWFTdHJlYW0qKTsKKyNlbmRpZgogICAgIFN0cmluZyBj
cmVhdGVPYmplY3RVUkwoQmxvYiopOwogICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGNvbnN0IFN0
cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKaW5kZXggNzU5NDViN2M0ODI1MzFjOTYxZGFi
NTA0N2Y4Y2Y2NjgzMmFlZTU5Yy4uZDZkNTU3OTBmN2EwY2M3YmZkNzQzMDA1NGFmMjgzMTFiYjFi
MzZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbApAQCAtMzEsNiArMzEsOSBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgICAgIEdlbmVyYXRlVG9KUywKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBd
IERPTVVSTCB7CisjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVE
SUFfU1RSRUFNCisgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVmaW5lZF0gRE9NU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRpYVN0cmVhbSBzdHJlYW0pOworI2VuZGlmCiAgICAg
ICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVmaW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVj
dFVSTChpbiBCbG9iIGJsb2IpOwogICAgICAgICB2b2lkIHJldm9rZU9iamVjdFVSTChpbiBET01T
dHJpbmcgdXJsKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0
cmVhbVJlZ2lzdHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzJhN2IxN2UzMmVjMDljODQ0YTIyNjI5ZWNm
YmRhMWUwNWYwMGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAq
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAi
TWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK01lZGlhU3RyZWFtUmVnaXN0cnkmIG1lZGlhU3RyZWFtUmVnaXN0cnkoKQor
eworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LCBpbnN0YW5jZSwgKCkpOworICAgIHJldHVybiBpbnN0YW5jZTsK
K30KKwordm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpyZWdpc3Rlck1lZGlhU3RyZWFtVVJMKGNv
bnN0IEtVUkwmIHVybCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQoreworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgbV9zdHJlYW1zLmFkZCh1cmwuc3RyaW5nKCksIHN0
cmVhbSk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU3Ry
ZWFtVVJMKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwor
ICAgIG1fc3RyZWFtcy5yZW1vdmUodXJsLnN0cmluZygpKTsKK30KKworUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbT4gTWVkaWFTdHJlYW1SZWdpc3RyeTo6bWVkaWFTdHJlYW0oY29uc3QgS1VSTCYgdXJs
KSBjb25zdAoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgVVJMU3RyZWFtTWFw
Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3RyZWFtcy5maW5kKHVybC5zdHJpbmcoKSk7CisgICAg
aWYgKGl0ICE9IG1fc3RyZWFtcy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVh
bVJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlNjU2YTc5ZGMyZDJjZGE2ZTIwOWRjZmQ1N2E5MGQw
M2JmMDhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
U3RyZWFtUmVnaXN0cnkuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorI2RlZmluZSBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKKwor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU3RyZWFtOworCitjbGFzcyBNZWRpYVN0cmVhbVJlZ2lz
dHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVSTCByZWZlcnJpbmcgdG8g
dGhlIHNwZWNpZmllZCBzdHJlYW0gZGF0YS4KKyAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+KTsKKyAgICB2b2lkIHVucmVn
aXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJik7CisgICAgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbT4gbWVkaWFTdHJlYW0oY29uc3QgS1VSTCYpIGNvbnN0OworCitwcml2YXRlOgorICAgIC8v
IEN1cnJlbnRseSBhc3N1bWluZyB0aGF0IHRoZSBVUkxzIGtlZXAgYWxpdmUgdGhlaXIgYXNzb2Np
YXRlZCBTdHJlYW1zLgorICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0
cmVhbT4gPiBVUkxTdHJlYW1NYXA7CisgICAgVVJMU3RyZWFtTWFwIG1fc3RyZWFtczsKK307CisK
Ky8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1SZWdpc3RyeS4KK01l
ZGlhU3RyZWFtUmVnaXN0cnkmIG1lZGlhU3RyZWFtUmVnaXN0cnkoKTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTWVkaWFTdHJlYW1SZWdpc3RyeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103759</attachid>
            <date>2011-08-12 04:35:10 -0700</date>
            <delta_ts>2011-08-22 02:15:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110812133508.patch</filename>
            <type>text/plain</type>
            <size>21513</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5NTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVjYjhjOTI0NDYxNTAzMmI2MzVmNWQ4
MjllZWZkMGM1OGFiN2UzMGQuLjZlNWY3YjE3OGM2Yzg3MGVjZmYzOGJjNGY4MDYyNWQ0NzU0Mjcw
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDI0LDYgKzIwMjQsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGFlNjBlMzcwMjFjY2IxNDZlMDk1M2VkZDc3OTIxNTNmMzRhYjY5MWEuLjY2NTUyN2ZjNzMw
ODNmNWRhMGQwZjE1OGYwYzNmOTZkMmE1Y2VhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGdl
bmVyYXRpbmcgdGhlIHVybCBhc3NvY2lhdGVkIHdpdGggYSBNZWRpYVN0cmVhbSwKKyAgICAgICAg
d2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIHNyYyBhdHRyaWJ1dGUgb2YgdGhlIDx2
aWRlbz4gdGFnIGZvciBleGFtcGxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGljQmxvYlVSTCk6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAgICog
aHRtbC9ET01VUkwuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGxh
dGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
bWVkaWFTdHJlYW1SZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lz
dHJ5OjpyZWdpc3RlclN0cmVhbVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJl
Z2lzdHJ5Ojp1bnJlZ2lzdGVyU3RyZWFtVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUmVnaXN0cnk6OmdldFN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTdHJlYW1S
ZWdpc3RyeS5oOiBBZGRlZC4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBB
UEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5k
ZWQgY29kZS4KKwogMjAxMS0wOC0xMSAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEluZGV4ZWREQjogT2JqZWN0IHN0b3JlIHJlY29yZHMgZG9uJ3QgbmVlZCB0
byBoYXZlIGtleXMgaW4gYWxsIGluZGV4ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDBlNmIyMDVjZThmNmQ1ZDE4NDc5MTY5ZTczZDZjMTBkZjY4OGE4ZGIuLjI0NjZmN2IxYjNi
MmUzM2MyZWNmM2ZmMTM5YzU4NThkOGE1YWNjNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjY0Myw2ICsyNjQzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01J
TUVUeXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJl
Z2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggOGM1NDU1MDFlMTE5ZDU0MzY2YzU1OWQzNjIxMWNkZWU5ZTRl
NDlkMy4uNDE4NWM5NDY4ZjZhNzUxMmFjZTU5MzA3YmM1Mzg3NDBjZmI0ZDIwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtMzAyOSw2ICszMDI5LDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9MaW5r
SGFzaC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAgICAncGxhdGZv
cm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL01lZGlh
U3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IGI3NjMwMzcwZmNjYWZhZjI4NTIxZWU2NTY5ZjFhODQ4MTFhOGJmMTIuLmMxZTdiZDQzYzUyMDll
YzFiZTRkNzE1NGI0NWViYThhNzBhMjExMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjYyLDcgKzMy
NjIsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICAg
ICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAgcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmggXAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAogICAgIFNPVVJD
RVMgKz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAtMzI3Myw3ICsz
Mjc0LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAg
ICAgIHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVyQ29ubmVjdGlv
bi5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgXAotICAgICAg
ICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBwYWdlL01lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1Yzc0NDZhODEwNGQ0
NzliNGM1OWJjMjZkNjcyMzgwYzE3YjU1ZDIyLi4wZmVmYWQ2YzdjM2RmMjdiNTgyMzM1NDRhNGNi
NGQzNjMxODY2MzMzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMjY4NTQsNiArMjY4NTQsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBs
YXRmb3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTBjNzhmODQyMzE3ZTQ5OTBiMWVmNGQ4MzBmZDMz
YjYzZjQ0NTQ2Mi4uMDNmMWNhMzRhMDgzMTE3ZGNmNzFlYTA2OTY0NzkzNTU1OTRjMmE3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTEyNSw2ICsxMTI1LDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRm
b3JtQ0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJNYWMubW0g
Ki87IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDk2OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAg
Ki87IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaCAqLzsg
fTsKKwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREUx
M0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9OworCQk0OTc4
NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0YxOTJGMDAwQTc5
NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0YwRjFFNzY3NTAw
QzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktp
dENTU01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dl
YktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggKi87
IH07CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTREMEYx
RTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAgLTc3MDYsNiAr
NzcwOCw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQbGF0Zm9ybUNB
TGF5ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVz
dGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9y
bVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURFMTNGMTkyRjAw
MEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdp
c3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVJlZ2lz
dHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYxRTc2NzUwMEMy
Mzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3ODIgLyogRE9N
V2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdl
YktpdENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwOTgsNiAr
MTkxMDIsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuY3BwICov
LAogCQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8sCisJCQkJNDk3
ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovLAorCQkJ
CTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8sCiAJ
CQkJNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAg
Ki8sCiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxl
ci5oICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5
LmNwcCAqLywKQEAgLTIyMzg2LDYgKzIyMzkyLDcgQEAKIAkJCQk0OUEyQ0ZEQTEzRTk3ODdFMDA1
NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFFNTQ1OTYx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJl
YW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRGOTAwNTI2MDBB
IC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlGMzIzMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVhZGVycyAqLywK
QEAgLTI1NDA5LDYgKzI1NDE2LDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1NzlGMTMgLyog
TWVkaWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5NTEzNDYyOUMx
MDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5MDA1MjYwMEEg
LyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNDEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmlu
ZGV4IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLjBiYWYxNjU4ZTMx
OWZmNDU1NmVlZDNjYjU3ODhjZWQzNTM2YjcxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNpbmNsdWRlICJF
dmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJGaWxl
VGhyZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVh
bVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0LDYgKzEzNiwx
MiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAg
ICAgICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5kaWYKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBwdWJs
aWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAgIGZvciAoSGFz
aFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxzLmJlZ2luKCk7
IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBtZWRpYVN0cmVh
bVJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5n
LCAqaXRlcikpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCkBAIC0zNzcsNiAr
Mzg1LDI3IEBAIERPTVRpbWVyKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaW5kVGltZW91dChp
bnQgdGltZW91dElkKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorc3RhdGljIGNvbnN0IFN0cmluZyBrTWVkaWFTdHJlYW1GcmFnbWVudCA9ICJtZWRp
YXN0cmVhbSI7CisKK0tVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVibGljQmxv
YlVSTChNZWRpYVN0cmVhbSogc3RyZWFtKQoreworICAgIGlmICghc3RyZWFtKQorICAgICAgICBy
ZXR1cm4gS1VSTCgpOworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJs
aWNVUkwoc2VjdXJpdHlPcmlnaW4oKSk7CisgICAgLy8gVGhpcyBtYWtlcyBpdCBmYXN0ZXIgdG8g
ZGV0ZWN0IHRoYXQgdGhpcyBVUkwgcG9pbnRzIHRvIGEgTWVkaWFTdHJlYW0uCisgICAgcHVibGlj
VVJMLnNldEZyYWdtZW50SWRlbnRpZmllcihrTWVkaWFTdHJlYW1GcmFnbWVudCk7CisKKyAgICAv
LyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3Vs
ZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAg
ICBtZWRpYVN0cmVhbVJlZ2lzdHJ5KCkucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChwdWJsaWNVUkws
IHN0cmVhbSk7CisgICAgbV9wdWJsaWNTdHJlYW1VUkxzLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkp
OworICAgIHJldHVybiBwdWJsaWNVUkw7Cit9CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKKwogS1VSTCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVQdWJsaWNCbG9iVVJMKEJs
b2IqIGJsb2IpCiB7CiAgICAgaWYgKCFibG9iKQpAQCAtMzk1LDggKzQyNCwxNyBAQCB2b2lkIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJldm9rZVB1YmxpY0Jsb2JVUkwoY29uc3QgS1VSTCYgdXJs
KQogICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyQmxvYlVSTCh1cmwp
OwogICAgICAgICBtX3B1YmxpY0Jsb2JVUkxzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOwogICAgIH0K
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGlmIChtX3B1YmxpY1N0cmVhbVVSTHMuY29u
dGFpbnModXJsLnN0cmluZygpKSkgeworICAgICAgICAvLyBGSVhNRTogbWFrZSBzdXJlIG9mIHRo
aXMgYXNzZXJ0aW9uIGJlbG93LiBSYWlzZSBhIHNwZWMgcXVlc3Rpb24gaWYgcmVxdWlyZWQuCisg
ICAgICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBTdHJlYW0gb2JqZWN0cywg
d2Ugc2hvdWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKyAgICAgICAgbWVkaWFTdHJlYW1SZWdpc3RyeSgpLnVucmVnaXN0ZXJNZWRpYVN0
cmVhbVVSTCh1cmwpOworICAgICAgICBtX3B1YmxpY1N0cmVhbVVSTHMucmVtb3ZlKHVybC5zdHJp
bmcoKSk7CisgICAgfQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiB9Ci0jZW5kaWYK
KyNlbmRpZiAvLyBFTkFCTEUoQkxPQikKIAogI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklM
RV9TWVNURU0pCiBGaWxlVGhyZWFkKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpmaWxlVGhyZWFk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGEw
ODIyODE4NzM5ODZiNWNiMTQwMzM5NjdhZjBkY2RkNDlhYWUwYmYuLjUyZDkyMWNlN2QwNDZiMjU4
MzMyNmNlZjdlZjU3MzA0ZmE1NDBlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaApAQCAtNjYsNiArNjYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisgICAgY2xhc3MgTWVkaWFTdHJlYW07CisjZW5kaWYKKwogICAgIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgewogICAgIHB1YmxpYzoKICAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOwpAQCAtMTQ0LDkgKzE0OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERP
TVRpbWVyKiBmaW5kVGltZW91dChpbnQgdGltZW91dElkKTsKIAogI2lmIEVOQUJMRShCTE9CKQor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIEtVUkwgY3JlYXRlUHVibGljQmxvYlVS
TChNZWRpYVN0cmVhbSopOworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgICAg
IEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChCbG9iKik7CiAgICAgICAgIHZvaWQgcmV2b2tlUHVi
bGljQmxvYlVSTChjb25zdCBLVVJMJik7Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikK
IAogI2lmIFVTRShKU0MpCiAgICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7
CkBAIC0xOTAsNiArMTk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKEJM
T0IpCiAgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY0Jsb2JVUkxzOworICAgICAgICBI
YXNoU2V0PFN0cmluZz4gbV9wdWJsaWNTdHJlYW1VUkxzOwogICAgICAgICBIYXNoU2V0PERPTVVS
TCo+IG1fZG9tVXJsczsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKaW5kZXggZDBmMGFl
YjYyYzgxZGI1NTBkNjk5ZTBhY2IzOTRlNTYwMTY4MTYzZC4uNzhjZDdiOTMzZDVmYWUzZDBlZTUx
Yjc2NDk3ZjZkYzFiYjA4NDQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01V
UkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcApAQCAtNTMsNiArNTMs
MTUgQEAgdm9pZCBET01VUkw6OmNvbnRleHREZXN0cm95ZWQoKQogICAgIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCA9IDA7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIERP
TVVSTDo6Y3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAgaWYgKCFt
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBy
ZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcmVhdGVQdWJsaWNCbG9iVVJMKHN0cmVh
bSkuc3RyaW5nKCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJM
KEJsb2IqIGJsb2IpCiB7CiAgICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaAppbmRleCBkZmY0ZGQ4YjA4YTllNmY1YzkzMWJmNTcxMmVlNGI3YzZhZWQzNjg0
Li4yMDdiMjMyYjJiYTEyNDg1MWI3OWI0MTdmZTAzN2IwOTk2NmMwMGMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxv
YjsKK2NsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Y2xhc3MgRE9NVVJMIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVVJMPiB7CkBAIC00Miw2ICs0Myw5
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01VUkw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgRE9NVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsgfQogICAgIH5ET01VUkwoKTsK
IAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChN
ZWRpYVN0cmVhbSopOworI2VuZGlmCiAgICAgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChCbG9iKik7
CiAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmlkbAppbmRleCA3NTk0NWI3YzQ4MjUzMWM5NjFkYWI1MDQ3ZjhjZjY2ODMyYWVlNTljLi5k
NmQ1NTc5MGY3YTBjYzdiZmQ3NDMwMDU0YWYyODMxMWJiMWIzNmRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01V
UkwuaWRsCkBAIC0zMSw2ICszMSw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgR2VuZXJhdGVU
b0pTLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRE9NVVJMIHsKKyNpZiBkZWZpbmVk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KKyAgICAgICAgW0Nv
bnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGlu
IE1lZGlhU3RyZWFtIHN0cmVhbSk7CisjZW5kaWYKICAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5n
VG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIEJsb2IgYmxvYik7CiAg
ICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGluIERPTVN0cmluZyB1cmwpOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFjMmE3YjE3ZTMyZWMwOWM4NDRhMjI2MjllY2ZiZGExZTA1ZjAwZWYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNw
cApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgorI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFTdHJl
YW1SZWdpc3RyeSYgbWVkaWFTdHJlYW1SZWdpc3RyeSgpCit7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU3RyZWFtUmVnaXN0cnksIGlu
c3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2b2lkIE1lZGlhU3RyZWFt
UmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYgdXJsLCBQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0pCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyAgICBtX3N0cmVhbXMuYWRkKHVybC5zdHJpbmcoKSwgc3RyZWFtKTsKK30KKwordm9pZCBNZWRp
YVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYgdXJs
KQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgbV9zdHJlYW1zLnJlbW92ZSh1
cmwuc3RyaW5nKCkpOworfQorCitQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbVJl
Z2lzdHJ5OjptZWRpYVN0cmVhbShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKyAgICBVUkxTdHJlYW1NYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
bV9zdHJlYW1zLmZpbmQodXJsLnN0cmluZygpKTsKKyAgICBpZiAoaXQgIT0gbV9zdHJlYW1zLmVu
ZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKyAgICByZXR1cm4gMDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MmU2NTZhNzlkYzJkMmNkYTZlMjA5ZGNmZDU3YTkwZDAzYmYwOGFkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFTdHJlYW1SZWdpc3RyeV9o
CisjZGVmaW5lIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOworY2xhc3MgTWVk
aWFTdHJlYW07CisKK2NsYXNzIE1lZGlhU3RyZWFtUmVnaXN0cnkgeworcHVibGljOgorICAgIC8v
IFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIHN0cmVhbSBk
YXRhLgorICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiwgUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbT4pOworICAgIHZvaWQgdW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKGNv
bnN0IEtVUkwmKTsKKyAgICBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBtZWRpYVN0cmVhbShjb25z
dCBLVVJMJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgLy8gQ3VycmVudGx5IGFzc3VtaW5nIHRo
YXQgdGhlIFVSTHMga2VlcCBhbGl2ZSB0aGVpciBhc3NvY2lhdGVkIFN0cmVhbXMuCisgICAgdHlw
ZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3RyZWFtPiA+IFVSTFN0cmVhbU1hcDsK
KyAgICBVUkxTdHJlYW1NYXAgbV9zdHJlYW1zOworfTsKKworLy8gUmV0dXJucyBhIHNpbmdsZSBp
bnN0YW5jZSBvZiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LgorTWVkaWFTdHJlYW1SZWdpc3RyeSYgbWVk
aWFTdHJlYW1SZWdpc3RyeSgpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104653</attachid>
            <date>2011-08-22 02:15:28 -0700</date>
            <delta_ts>2011-08-22 10:41:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110822111526.patch</filename>
            <type>text/plain</type>
            <size>21479</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM0OTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5ZjU5YWNiYjEzMDU5MDYwZTBlYmM2
MDdiODg1YzQ4MDRmNjgzZjEuLjg5ZTZjNGI3ZTY0MDFjMTQ2MjQ0OWQ4YzU3ZGU3NWNmM2YyY2Zk
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDQ3LDYgKzIwNDcsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDgwNTI0NDc0ZThkMjNiMWEwMmY5YzcxMTMxN2NjYjMzYTdiYjI2MmMuLmVmZTVjYWZiZjM2
MzIxNmFlNTQxY2JhNmFjNmIxMzE3OWNiMjUwNzcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGdl
bmVyYXRpbmcgdGhlIHVybCBhc3NvY2lhdGVkIHdpdGggYSBNZWRpYVN0cmVhbSwKKyAgICAgICAg
d2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIHNyYyBhdHRyaWJ1dGUgb2YgdGhlIDx2
aWRlbz4gdGFnIGZvciBleGFtcGxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGljQmxvYlVSTCk6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAgICog
aHRtbC9ET01VUkwuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGxh
dGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
bWVkaWFTdHJlYW1SZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lz
dHJ5OjpyZWdpc3RlclN0cmVhbVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJl
Z2lzdHJ5Ojp1bnJlZ2lzdGVyU3RyZWFtVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUmVnaXN0cnk6OmdldFN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTdHJlYW1S
ZWdpc3RyeS5oOiBBZGRlZC4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBB
UEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5k
ZWQgY29kZS4KKwogMjAxMS0wOC0yMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGZvciBXZWJLaXRHVEsrLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggM2FjMjUyNTRjMzY3OWY2MWU3YTIyOTRiYTM0Y2Q3
OWE1M2Q1YWJlNy4uYzQ0ODVhMThhMzJjM2E4YmQ0YzQ1NDVhOGI5MGE4NzQ0Yzk1MzYxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNjQ0LDYgKzI2NDQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJl
c3N1cmVIYW5kbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2Jt
cC9CTVBJbWFnZURlY29kZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyZWJkNDUwYTQyNDA0
NzBiMTUxN2JjYzdlYmMzN2Q1ODJhYTg4MWFmLi40ZjY4YzkwM2RkMTBiMGY3MjI0M2E3YTFhMjcy
NGViYTZjMGVjNGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMDI3LDYgKzMwMjcsOCBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0xpbmtIYXNoLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvZ2dpbmcuY3Bw
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCcsCisgICAg
ICAgICAgICAncGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUGFzdGVib2Fy
ZC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggYTk0YzI1MjRlYjc5NzAwNGVmNjgxYzNjMjQzODQwYWUw
ODMwNGNhNS4uNGI5Y2Y5M2Q4ZDNiMmM1YTFmNjI5ZGE0YjRjNTIxNjkyMDExZTZlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTMyNjAsNyArMzI2MCw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9N
RURJQV9TVFJFQU09MSkgewogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
LmggXAogICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAogICAgICAgICBw
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCi0gICAgICAgIHBhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuaAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3Ry
ZWFtLmNwcCBcCkBAIC0zMjcxLDcgKzMyNzIsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
TUVESUFfU1RSRUFNPTEpIHsKICAgICAgICAgcDJwL01lZGlhU3RyZWFtRXZlbnQuY3BwIFwKICAg
ICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1D
b250cm9sbGVyLmNwcCBcCi0gICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIu
Y3BwCisgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIFwKKyAgICAg
ICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKIAogICAgIHY4IHsKICAgICAgICAg
U09VUkNFUyArPSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGU4MmFmYmJlNDdiMDljYTNkNzhkYjBkZTU1NGVlMGNmNjM2MWQ4NzEuLmE2M2Zm
MTFhODEwNTVjM2NlN2JjZTc3NGUzZDEwYzE5ZGU2MDUxYzQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjg2Miw2ICsyNjg2MiwxNCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9y
bVxNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCQkJ
CT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxN
ZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyNDc0ZDUx
YmYxY2M2NzQ1MjVkNTBiMTY5NzJlM2VlZjYyOTVhMmJkLi43OTJmOThiMjkxOGI2YjRmZmJiODgw
NGUwMDFmYjFmYmQ2ZGIyMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTIxLDYgKzExMjEsOCBAQAogCQk0OTU4NzgyMjEy
QTU3RERGMDA3MjM4QUMgLyogUGxhdGZvcm1DQUxheWVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk1ODc4MjAxMkE1N0RERjAwNzIzOEFDIC8q
IFBsYXRmb3JtQ0FMYXllck1hYy5tbSAqLzsgfTsKIAkJNDk2OUIwRjIxM0QwQjMzRjAwREYzNTIx
IC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVz
dGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLzsgfTsKIAkJNDk2OUIwRjMxM0QwQjMzRjAwREYzNTIx
IC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3Rp
bmdUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OworCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyog
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdp
c3RyeS5jcHAgKi87IH07CisJCTQ5Nzg1RUUxMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVh
bVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oICovOyB9
OwogCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk4MzkxM0QwRjFF
NzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLzsgfTsKIAkJNDk4MzkxNDAw
RjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTgzOTEzRTBGMUU3Njc1MDBDMjM3ODIgLyog
SlNXZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKIAkJNDk4MzkxNTAwRjFFNzZCNDAwQzIzNzgyIC8q
IERPTVdlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk4MzkxNEQwRjFFNzZCNDAwQzIzNzgyIC8qIERPTVdlYktpdENTU01hdHJp
eC5oICovOyB9OwpAQCAtNzcwOCw2ICs3NzEwLDggQEAKIAkJNDk1ODc4MjAxMkE1N0RERjAwNzIz
OEFDIC8qIFBsYXRmb3JtQ0FMYXllck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgbmFtZSA9IFBsYXRmb3JtQ0FMYXllck1hYy5tbTsgcGF0aCA9IGNhL21hYy9QbGF0Zm9y
bUNBTGF5ZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYwMTNE
MEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8q
IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1SZWdpc3Ry
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3
OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDk4MzkxM0QwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0Q1NTTWF0cml4LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8q
IEpTV2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
V2ViS2l0Q1NTTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTRE
MEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0Q1NTTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xOTEwOCw2ICsxOTExMiw4IEBACiAJCQkJOTM1MjA3QkQwOUJENDEwQTAw
RjIwMzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCAqLywKIAkJCQlBODIzOURGRTA5QjNDRjhBMDBC
NjA2NDEgLyogTG9nZ2luZy5jcHAgKi8sCiAJCQkJQTgyMzlERkYwOUIzQ0Y4QTAwQjYwNjQxIC8q
IExvZ2dpbmcuaCAqLywKKwkJCQk0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJl
YW1SZWdpc3RyeS5jcHAgKi8sCisJCQkJNDk3ODVFREYxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlh
U3RyZWFtUmVnaXN0cnkuaCAqLywKIAkJCQk2NTdFREEwNjEzODVDQjk3MDA0RTA2NDUgLyogTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmNwcCAqLywKIAkJCQk2NTdFREEwNzEzODVDQjk3MDA0RTA2NDUg
LyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggKi8sCiAJCQkJQkM3NzJDNEMwQzRFQjMwNDAwODMy
ODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwICovLApAQCAtMjI0MDUsNiArMjI0MTEsNyBAQAog
CQkJCTQ5QTJDRkRBMTNFOTc4N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMUU1NDU5NjEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3
NiAvKiBNZWRpYVN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5Nzg1RUUxMTNGMTky
RjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUM5RjMyNjEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDlDOUYzMjMxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMxODA5NzlDM0JEMDA0Njc3NDEgLyogTWVtb3J5
Q2FjaGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU0MjIsNiArMjU0MjksNyBAQAogCQkJCTQ5QTJD
RkQ5MTNFOTc4N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUIxRTU0NTk1MTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMTQzNTNENTEzOEVBOEVEMDBENTMyNzYgLyog
TWVkaWFTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5Nzg1RUUwMTNGMTkyRjAw
MEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
QzlGMzI3MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5NzlDM0JEMDA0Njc3NDEgLyogTWVt
b3J5Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggOWI1ZGQ2ZmFmN2E2MWNhMDA5ODAxMTkxMWJlM2M1
NGUyNDlmNmFmYi4uMGJhZjE2NThlMzE5ZmY0NTU2ZWVkM2NiNTc4OGNlZDM1MzZiNzFlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtMzks
NiArMzksOCBAQAogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgIkZpbGVUaHJlYWQuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5o
IgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9y
dC5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCkBAIC0xMzQsNiArMTM2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkKICAgICAgICAgKCppdGVyKS0+Y29udGV4dERlc3Ryb3llZCgp
OwogICAgIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBIYXNoU2V0
PFN0cmluZz46Oml0ZXJhdG9yIHB1YmxpY1N0cmVhbVVSTHNFbmQgPSBtX3B1YmxpY1N0cmVhbVVS
THMuZW5kKCk7CisgICAgZm9yIChIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3B1
YmxpY1N0cmVhbVVSTHMuYmVnaW4oKTsgaXRlciAhPSBwdWJsaWNTdHJlYW1VUkxzRW5kOyArK2l0
ZXIpCisgICAgICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwoS1VSTChQYXJzZWRVUkxTdHJpbmcsICppdGVyKSk7CisjZW5kaWYKIH0KIAogI2lmIEVOQUJM
RShEQVRBQkFTRSkKQEAgLTM3Nyw2ICszODUsMjcgQEAgRE9NVGltZXIqIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQpCiB9CiAKICNpZiBFTkFCTEUoQkxP
QikKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitzdGF0aWMgY29uc3QgU3RyaW5nIGtNZWRp
YVN0cmVhbUZyYWdtZW50ID0gIm1lZGlhc3RyZWFtIjsKKworS1VSTCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpjcmVhdGVQdWJsaWNCbG9iVVJMKE1lZGlhU3RyZWFtKiBzdHJlYW0pCit7CisgICAg
aWYgKCFzdHJlYW0pCisgICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBLVVJMIHB1YmxpY1VS
TCA9IEJsb2JVUkw6OmNyZWF0ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKKyAgICAvLyBU
aGlzIG1ha2VzIGl0IGZhc3RlciB0byBkZXRlY3QgdGhhdCB0aGlzIFVSTCBwb2ludHMgdG8gYSBN
ZWRpYVN0cmVhbS4KKyAgICBwdWJsaWNVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKGtNZWRpYVN0
cmVhbUZyYWdtZW50KTsKKworICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBT
dHJlYW0gb2JqZWN0cywgd2Ugc2hvdWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS5yZWdpc3Rlck1l
ZGlhU3RyZWFtVVJMKHB1YmxpY1VSTCwgc3RyZWFtKTsKKyAgICBtX3B1YmxpY1N0cmVhbVVSTHMu
YWRkKHB1YmxpY1VSTC5zdHJpbmcoKSk7CisgICAgcmV0dXJuIHB1YmxpY1VSTDsKK30KKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCiBLVVJMIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OmNyZWF0ZVB1YmxpY0Jsb2JVUkwoQmxvYiogYmxvYikKIHsKICAgICBpZiAoIWJsb2IpCkBAIC0z
OTUsOCArNDI0LDE3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGlj
QmxvYlVSTChjb25zdCBLVVJMJiB1cmwpCiAgICAgICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6
OnVucmVnaXN0ZXJCbG9iVVJMKHVybCk7CiAgICAgICAgIG1fcHVibGljQmxvYlVSTHMucmVtb3Zl
KHVybC5zdHJpbmcoKSk7CiAgICAgfQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgaWYg
KG1fcHVibGljU3RyZWFtVVJMcy5jb250YWlucyh1cmwuc3RyaW5nKCkpKSB7CisgICAgICAgIC8v
IEZJWE1FOiBtYWtlIHN1cmUgb2YgdGhpcyBhc3NlcnRpb24gYmVsb3cuIFJhaXNlIGEgc3BlYyBx
dWVzdGlvbiBpZiByZXF1aXJlZC4KKyAgICAgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qg
b2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFkLgor
ICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBtZWRpYVN0cmVhbVJlZ2lz
dHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKHVybCk7CisgICAgICAgIG1fcHVibGljU3Ry
ZWFtVVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKKyAgICB9CisjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKIH0KLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShCTE9CKQogCiAjaWYgRU5B
QkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKIEZpbGVUaHJlYWQqIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OmZpbGVUaHJlYWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKaW5kZXggYTA4MjI4MTg3Mzk4NmI1Y2IxNDAzMzk2N2FmMGRjZGQ0OWFh
ZTBiZi4uNTJkOTIxY2U3ZDA0NmIyNTgzMzI2Y2VmN2VmNTczMDRmYTU0MGU4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC02Niw2ICs2NiwxMCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmlsZVRocmVhZDsKICNlbmRpZgogCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBjbGFzcyBNZWRpYVN0cmVhbTsKKyNlbmRpZgor
CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB7CiAgICAgcHVibGljOgogICAgICAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CkBAIC0xNDQsOSArMTQ4LDEyIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgRE9NVGltZXIqIGZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQp
OwogCiAjaWYgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAg
S1VSTCBjcmVhdGVQdWJsaWNCbG9iVVJMKE1lZGlhU3RyZWFtKik7CisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICAgICAgS1VSTCBjcmVhdGVQdWJsaWNCbG9iVVJMKEJsb2IqKTsK
ICAgICAgICAgdm9pZCByZXZva2VQdWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmKTsKLSNlbmRpZgor
I2VuZGlmIC8vIEVOQUJMRShCTE9CKQogCiAjaWYgVVNFKEpTQykKICAgICAgICAgSlNDOjpKU0ds
b2JhbERhdGEqIGdsb2JhbERhdGEoKTsKQEAgLTE5MCw2ICsxOTcsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICNpZiBFTkFCTEUoQkxPQikKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcHVi
bGljQmxvYlVSTHM7CisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY1N0cmVhbVVSTHM7
CiAgICAgICAgIEhhc2hTZXQ8RE9NVVJMKj4gbV9kb21VcmxzOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmNwcAppbmRleCBkMGYwYWViNjJjODFkYjU1MGQ2OTllMGFjYjM5NGU1NjAxNjgxNjNk
Li43OGNkN2I5MzNkNWZhZTNkMGVlNTFiNzY0OTdmNmRjMWJiMDg0NDcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuY3BwCkBAIC01Myw2ICs1MywxNSBAQCB2b2lkIERPTVVSTDo6Y29udGV4dERlc3Ryb3ll
ZCgpCiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gMDsKIH0KIAorI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCitTdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoTWVkaWFTdHJlYW0q
IHN0cmVhbSkKK3sKKyAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAgICAg
cmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNy
ZWF0ZVB1YmxpY0Jsb2JVUkwoc3RyZWFtKS5zdHJpbmcoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcg
RE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoQmxvYiogYmxvYikKIHsKICAgICBpZiAoIW1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJM
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCmluZGV4IGRmZjRkZDhiMDhhOWU2ZjVj
OTMxYmY1NzEyZWU0YjdjNmFlZDM2ODQuLjIwN2IyMzJiMmJhMTI0ODUxYjc5YjQxN2ZlMDM3YjA5
OTY2YzAwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBCbG9iOworY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBET01VUkwgOiBwdWJsaWMgUmVmQ291bnRlZDxE
T01VUkw+IHsKQEAgLTQyLDYgKzQzLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERPTVVSTD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01VUkwoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkpOyB9CiAgICAgfkRPTVVSTCgpOwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBT
dHJpbmcgY3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFtKik7CisjZW5kaWYKICAgICBTdHJpbmcg
Y3JlYXRlT2JqZWN0VVJMKEJsb2IqKTsKICAgICB2b2lkIHJldm9rZU9iamVjdFVSTChjb25zdCBT
dHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCmluZGV4IDc1OTQ1YjdjNDgyNTMxYzk2MWRh
YjUwNDdmOGNmNjY4MzJhZWU1OWMuLmQ2ZDU1NzkwZjdhMGNjN2JmZDc0MzAwNTRhZjI4MzExYmIx
YjM2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICBHZW5lcmF0ZVRvSlMsCiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAg
XSBET01VUkwgeworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01F
RElBX1NUUkVBTQorICAgICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1VbmRlZmluZWRdIERPTVN0
cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVkaWFTdHJlYW0gc3RyZWFtKTsKKyNlbmRpZgogICAg
ICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1VbmRlZmluZWRdIERPTVN0cmluZyBjcmVhdGVPYmpl
Y3RVUkwoaW4gQmxvYiBibG9iKTsKICAgICAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoaW4gRE9N
U3RyaW5nIHVybCk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFT
dHJlYW1SZWdpc3RyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWMyYTdiMTdlMzJlYzA5Yzg0NGEyMjYyOWVj
ZmJkYTFlMDVmMDBlZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitNZWRpYVN0cmVhbVJlZ2lzdHJ5JiBtZWRpYVN0cmVhbVJlZ2lzdHJ5KCkK
K3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
TWVkaWFTdHJlYW1SZWdpc3RyeSwgaW5zdGFuY2UsICgpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7
Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChj
b25zdCBLVVJMJiB1cmwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSkKK3sKKyAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fc3RyZWFtcy5hZGQodXJsLnN0cmluZygpLCBz
dHJlYW0pOworfQorCit2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVN0
cmVhbVVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyAgICBtX3N0cmVhbXMucmVtb3ZlKHVybC5zdHJpbmcoKSk7Cit9CisKK1Bhc3NSZWZQdHI8TWVk
aWFTdHJlYW0+IE1lZGlhU3RyZWFtUmVnaXN0cnk6Om1lZGlhU3RyZWFtKGNvbnN0IEtVUkwmIHVy
bCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIFVSTFN0cmVhbU1h
cDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3N0cmVhbXMuZmluZCh1cmwuc3RyaW5nKCkpOworICAg
IGlmIChpdCAhPSBtX3N0cmVhbXMuZW5kKCkpCisgICAgICAgIHJldHVybiBpdC0+c2Vjb25kOwor
ICAgIHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFTdHJlYW1SZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJl
YW1SZWdpc3RyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZTY1NmE3OWRjMmQyY2RhNmUyMDlkY2ZkNTdhOTBk
MDNiZjA4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRp
YVN0cmVhbVJlZ2lzdHJ5LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKKyNkZWZpbmUgTWVkaWFTdHJlYW1SZWdpc3RyeV9oCisK
KyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEtVUkw7CitjbGFzcyBNZWRpYVN0cmVhbTsKKworY2xhc3MgTWVkaWFTdHJlYW1SZWdp
c3RyeSB7CitwdWJsaWM6CisgICAgLy8gUmVnaXN0ZXJzIGEgYmxvYiBVUkwgcmVmZXJyaW5nIHRv
IHRoZSBzcGVjaWZpZWQgc3RyZWFtIGRhdGEuCisgICAgdm9pZCByZWdpc3Rlck1lZGlhU3RyZWFt
VVJMKGNvbnN0IEtVUkwmLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPik7CisgICAgdm9pZCB1bnJl
Z2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYpOworICAgIFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW0+IG1lZGlhU3RyZWFtKGNvbnN0IEtVUkwmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICAv
LyBDdXJyZW50bHkgYXNzdW1pbmcgdGhhdCB0aGUgVVJMcyBrZWVwIGFsaXZlIHRoZWlyIGFzc29j
aWF0ZWQgU3RyZWFtcy4KKyAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFT
dHJlYW0+ID4gVVJMU3RyZWFtTWFwOworICAgIFVSTFN0cmVhbU1hcCBtX3N0cmVhbXM7Cit9Owor
CisvLyBSZXR1cm5zIGEgc2luZ2xlIGluc3RhbmNlIG9mIE1lZGlhU3RyZWFtUmVnaXN0cnkuCitN
ZWRpYVN0cmVhbVJlZ2lzdHJ5JiBtZWRpYVN0cmVhbVJlZ2lzdHJ5KCk7CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104694</attachid>
            <date>2011-08-22 10:41:44 -0700</date>
            <delta_ts>2011-08-24 07:30:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110822194142.patch</filename>
            <type>text/plain</type>
            <size>21280</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM0OTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMTQ2MThk
NzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2NjNmZmOGU5ZDU4
MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
VGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzogVHlwZSBlcnJv
cgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5ZjU5YWNiYjEzMDU5MDYwZTBlYmM2
MDdiODg1YzQ4MDRmNjgzZjEuLjg5ZTZjNGI3ZTY0MDFjMTQ2MjQ0OWQ4YzU3ZGU3NWNmM2YyY2Zk
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDQ3LDYgKzIwNDcsNyBAQCBJRiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAogICAgICAgICBw
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDgwNTI0NDc0ZThkMjNiMWEwMmY5YzcxMTMxN2NjYjMzYTdiYjI2MmMuLmVmZTVjYWZiZjM2
MzIxNmFlNTQxY2JhNmFjNmIxMzE3OWNiMjUwNzcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBA
QAorMjAxMS0wOC0wOSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVuY3Rpb25hbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MjUK
KworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGdl
bmVyYXRpbmcgdGhlIHVybCBhc3NvY2lhdGVkIHdpdGggYSBNZWRpYVN0cmVhbSwKKyAgICAgICAg
d2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIHNyYyBhdHRyaWJ1dGUgb2YgdGhlIDx2
aWRlbz4gdGFnIGZvciBleGFtcGxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGljQmxvYlVSTCk6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6CisgICAgICAgICog
aHRtbC9ET01VUkwuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGxh
dGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
bWVkaWFTdHJlYW1SZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lz
dHJ5OjpyZWdpc3RlclN0cmVhbVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJl
Z2lzdHJ5Ojp1bnJlZ2lzdGVyU3RyZWFtVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUmVnaXN0cnk6OmdldFN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTdHJlYW1S
ZWdpc3RyeS5oOiBBZGRlZC4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBB
UEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5k
ZWQgY29kZS4KKwogMjAxMS0wOC0yMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGZvciBXZWJLaXRHVEsrLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggM2FjMjUyNTRjMzY3OWY2MWU3YTIyOTRiYTM0Y2Q3
OWE1M2Q1YWJlNy4uYzQ0ODVhMThhMzJjM2E4YmQ0YzQ1NDVhOGI5MGE4NzQ0Yzk1MzYxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNjQ0LDYgKzI2NDQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhU3RyZWFtUmVnaXN0cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJl
c3N1cmVIYW5kbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2Jt
cC9CTVBJbWFnZURlY29kZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyZWJkNDUwYTQyNDA0
NzBiMTUxN2JjYzdlYmMzN2Q1ODJhYTg4MWFmLi40ZjY4YzkwM2RkMTBiMGY3MjI0M2E3YTFhMjcy
NGViYTZjMGVjNGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMDI3LDYgKzMwMjcsOCBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0xpbmtIYXNoLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvZ2dpbmcuY3Bw
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCcsCisgICAg
ICAgICAgICAncGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUGFzdGVib2Fy
ZC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggYTk0YzI1MjRlYjc5NzAwNGVmNjgxYzNjMjQzODQwYWUw
ODMwNGNhNS4uNGI5Y2Y5M2Q4ZDNiMmM1YTFmNjI5ZGE0YjRjNTIxNjkyMDExZTZlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTMyNjAsNyArMzI2MCw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9N
RURJQV9TVFJFQU09MSkgewogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
LmggXAogICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAogICAgICAgICBw
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCi0gICAgICAgIHBhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuaAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3Ry
ZWFtLmNwcCBcCkBAIC0zMjcxLDcgKzMyNzIsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
TUVESUFfU1RSRUFNPTEpIHsKICAgICAgICAgcDJwL01lZGlhU3RyZWFtRXZlbnQuY3BwIFwKICAg
ICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1D
b250cm9sbGVyLmNwcCBcCi0gICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIu
Y3BwCisgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIFwKKyAgICAg
ICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKIAogICAgIHY4IHsKICAgICAgICAg
U09VUkNFUyArPSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGU4MmFmYmJlNDdiMDljYTNkNzhkYjBkZTU1NGVlMGNmNjM2MWQ4NzEuLmE2M2Zm
MTFhODEwNTVjM2NlN2JjZTc3NGUzZDEwYzE5ZGU2MDUxYzQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjg2Miw2ICsyNjg2MiwxNCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9y
bVxNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgorCQkJ
CT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxN
ZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyNDc0ZDUx
YmYxY2M2NzQ1MjVkNTBiMTY5NzJlM2VlZjYyOTVhMmJkLi43OTJmOThiMjkxOGI2YjRmZmJiODgw
NGUwMDFmYjFmYmQ2ZGIyMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTIxLDYgKzExMjEsOCBAQAogCQk0OTU4NzgyMjEy
QTU3RERGMDA3MjM4QUMgLyogUGxhdGZvcm1DQUxheWVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk1ODc4MjAxMkE1N0RERjAwNzIzOEFDIC8q
IFBsYXRmb3JtQ0FMYXllck1hYy5tbSAqLzsgfTsKIAkJNDk2OUIwRjIxM0QwQjMzRjAwREYzNTIx
IC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVz
dGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLzsgfTsKIAkJNDk2OUIwRjMxM0QwQjMzRjAwREYzNTIx
IC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3Rp
bmdUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OworCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyog
TWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdp
c3RyeS5jcHAgKi87IH07CisJCTQ5Nzg1RUUxMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVh
bVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oICovOyB9
OwogCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk4MzkxM0QwRjFF
NzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLzsgfTsKIAkJNDk4MzkxNDAw
RjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTgzOTEzRTBGMUU3Njc1MDBDMjM3ODIgLyog
SlNXZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKIAkJNDk4MzkxNTAwRjFFNzZCNDAwQzIzNzgyIC8q
IERPTVdlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk4MzkxNEQwRjFFNzZCNDAwQzIzNzgyIC8qIERPTVdlYktpdENTU01hdHJp
eC5oICovOyB9OwpAQCAtNzcwOCw2ICs3NzEwLDggQEAKIAkJNDk1ODc4MjAxMkE1N0RERjAwNzIz
OEFDIC8qIFBsYXRmb3JtQ0FMYXllck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgbmFtZSA9IFBsYXRmb3JtQ0FMYXllck1hYy5tbTsgcGF0aCA9IGNhL21hYy9QbGF0Zm9y
bUNBTGF5ZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5NjlCMEYwMTNE
MEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk2OUIwRjExM0QwQjMzRjAwREYzNTIxIC8q
IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDk3ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1SZWdpc3Ry
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURGMTNGMTkyRjAwMEE3
OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDk4MzkxM0QwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0Q1NTTWF0cml4LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8q
IEpTV2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
V2ViS2l0Q1NTTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTRE
MEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0Q1NTTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xOTEwOCw2ICsxOTExMiw4IEBACiAJCQkJOTM1MjA3QkQwOUJENDEwQTAw
RjIwMzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCAqLywKIAkJCQlBODIzOURGRTA5QjNDRjhBMDBC
NjA2NDEgLyogTG9nZ2luZy5jcHAgKi8sCiAJCQkJQTgyMzlERkYwOUIzQ0Y4QTAwQjYwNjQxIC8q
IExvZ2dpbmcuaCAqLywKKwkJCQk0OTc4NUVERTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJl
YW1SZWdpc3RyeS5jcHAgKi8sCisJCQkJNDk3ODVFREYxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlh
U3RyZWFtUmVnaXN0cnkuaCAqLywKIAkJCQk2NTdFREEwNjEzODVDQjk3MDA0RTA2NDUgLyogTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmNwcCAqLywKIAkJCQk2NTdFREEwNzEzODVDQjk3MDA0RTA2NDUg
LyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggKi8sCiAJCQkJQkM3NzJDNEMwQzRFQjMwNDAwODMy
ODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwICovLApAQCAtMjI0MDUsNiArMjI0MTEsNyBAQAog
CQkJCTQ5QTJDRkRBMTNFOTc4N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMUU1NDU5NjEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3
NiAvKiBNZWRpYVN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5Nzg1RUUxMTNGMTky
RjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUM5RjMyNjEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDlDOUYzMjMxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMxODA5NzlDM0JEMDA0Njc3NDEgLyogTWVtb3J5
Q2FjaGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU0MjIsNiArMjU0MjksNyBAQAogCQkJCTQ5QTJD
RkQ5MTNFOTc4N0UwMDU3OUYxMyAvKiBNZWRpYVN0cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUIxRTU0NTk1MTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMTQzNTNENTEzOEVBOEVEMDBENTMyNzYgLyog
TWVkaWFTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5Nzg1RUUwMTNGMTkyRjAw
MEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
QzlGMzI3MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5NzlDM0JEMDA0Njc3NDEgLyogTWVt
b3J5Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggOWI1ZGQ2ZmFmN2E2MWNhMDA5ODAxMTkxMWJlM2M1
NGUyNDlmNmFmYi4uNWVmNGZkNjA5MjMyYTM5YTdmZDJhZjcwZTdiNzVmMmFhNDQ2OGQ2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtMzks
NiArMzksOCBAQAogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgIkZpbGVUaHJlYWQuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5o
IgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9y
dC5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCkBAIC0xMzQsNiArMTM2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkKICAgICAgICAgKCppdGVyKS0+Y29udGV4dERlc3Ryb3llZCgp
OwogICAgIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBIYXNoU2V0
PFN0cmluZz46Oml0ZXJhdG9yIHB1YmxpY1N0cmVhbVVSTHNFbmQgPSBtX3B1YmxpY1N0cmVhbVVS
THMuZW5kKCk7CisgICAgZm9yIChIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3B1
YmxpY1N0cmVhbVVSTHMuYmVnaW4oKTsgaXRlciAhPSBwdWJsaWNTdHJlYW1VUkxzRW5kOyArK2l0
ZXIpCisgICAgICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwoS1VSTChQYXJzZWRVUkxTdHJpbmcsICppdGVyKSk7CisjZW5kaWYKIH0KIAogI2lmIEVOQUJM
RShEQVRBQkFTRSkKQEAgLTM3Nyw2ICszODUsMjMgQEAgRE9NVGltZXIqIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQpCiB9CiAKICNpZiBFTkFCTEUoQkxP
QikKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitLVVJMIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVkaWFTdHJlYW0qIHN0cmVhbSkKK3sKKyAgICBpZiAo
IXN0cmVhbSkKKyAgICAgICAgcmV0dXJuIEtVUkwoKTsKKworICAgIEtVUkwgcHVibGljVVJMID0g
QmxvYlVSTDo6Y3JlYXRlUHVibGljVVJMKHNlY3VyaXR5T3JpZ2luKCkpOworCisgICAgLy8gU2lu
Y2UgV2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUg
b24gdGhlIG1haW4gdGhyZWFkLgorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgbWVk
aWFTdHJlYW1SZWdpc3RyeSgpLnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJl
YW0pOworICAgIG1fcHVibGljU3RyZWFtVVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAg
ICByZXR1cm4gcHVibGljVVJMOworfQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
IEtVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBi
bG9iKQogewogICAgIGlmICghYmxvYikKQEAgLTM5NSw4ICs0MjAsMTcgQEAgdm9pZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpyZXZva2VQdWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAg
ICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAg
ICAgICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKICAgICB9CisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAobV9wdWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5z
KHVybC5zdHJpbmcoKSkpIHsKKyAgICAgICAgLy8gRklYTUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFz
c2VydGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1ZXN0aW9uIGlmIHJlcXVpcmVkLgorICAgICAg
ICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNo
b3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CisgICAgICAgIG1lZGlhU3RyZWFtUmVnaXN0cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwodXJsKTsKKyAgICAgICAgbV9wdWJsaWNTdHJlYW1VUkxzLnJlbW92ZSh1cmwuc3RyaW5nKCkp
OworICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQogfQotI2VuZGlmCisjZW5k
aWYgLy8gRU5BQkxFKEJMT0IpCiAKICNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lT
VEVNKQogRmlsZVRocmVhZCogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBhMDgyMjgx
ODczOTg2YjVjYjE0MDMzOTY3YWYwZGNkZDQ5YWFlMGJmLi41MmQ5MjFjZTdkMDQ2YjI1ODMzMjZj
ZWY3ZWY1NzMwNGZhNTQwZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTY2LDYgKzY2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGaWxlVGhyZWFkOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAg
IGNsYXNzIE1lZGlhU3RyZWFtOworI2VuZGlmCisKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
QEAgLTE0NCw5ICsxNDgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBET01UaW1l
ciogZmluZFRpbWVvdXQoaW50IHRpbWVvdXRJZCk7CiAKICNpZiBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICBLVVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVk
aWFTdHJlYW0qKTsKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICAgICBLVVJM
IGNyZWF0ZVB1YmxpY0Jsb2JVUkwoQmxvYiopOwogICAgICAgICB2b2lkIHJldm9rZVB1YmxpY0Js
b2JVUkwoY29uc3QgS1VSTCYpOwotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpCiAKICNp
ZiBVU0UoSlNDKQogICAgICAgICBKU0M6OkpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpOwpAQCAt
MTkwLDYgKzE5Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShCTE9CKQog
ICAgICAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNCbG9iVVJMczsKKyAgICAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fcHVibGljU3RyZWFtVVJMczsKICAgICAgICAgSGFzaFNldDxET01VUkwqPiBt
X2RvbVVybHM7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01V
UkwuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCmluZGV4IGQwZjBhZWI2MmM4
MWRiNTUwZDY5OWUwYWNiMzk0ZTU2MDE2ODE2M2QuLjc4Y2Q3YjkzM2Q1ZmFlM2QwZWU1MWI3NjQ5
N2Y2ZGMxYmIwODQ0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAKQEAgLTUzLDYgKzUzLDE1IEBA
IHZvaWQgRE9NVVJMOjpjb250ZXh0RGVzdHJveWVkKCkKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBET01VUkw6
OmNyZWF0ZU9iamVjdFVSTChNZWRpYVN0cmVhbSogc3RyZWFtKQoreworICAgIGlmICghbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJu
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3JlYXRlUHVibGljQmxvYlVSTChzdHJlYW0pLnN0
cmluZygpOworfQorI2VuZGlmCisKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChCbG9i
KiBibG9iKQogewogICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmgKaW5kZXggZGZmNGRkOGIwOGE5ZTZmNWM5MzFiZjU3MTJlZTRiN2M2YWVkMzY4NC4uMjA3
YjIzMmIyYmExMjQ4NTFiNzliNDE3ZmUwMzdiMDk5NjZjMDBjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5o
CkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7Citj
bGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNz
IERPTVVSTCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVVSTD4gewpAQCAtNDIsNiArNDMsOSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NVVJMPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IERPTVVSTChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSk7IH0KICAgICB+RE9NVVJMKCk7CiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoTWVkaWFT
dHJlYW0qKTsKKyNlbmRpZgogICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOwogICAg
IHZvaWQgcmV2b2tlT2JqZWN0VVJMKGNvbnN0IFN0cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5p
ZGwKaW5kZXggNzU5NDViN2M0ODI1MzFjOTYxZGFiNTA0N2Y4Y2Y2NjgzMmFlZTU5Yy4uZDZkNTU3
OTBmN2EwY2M3YmZkNzQzMDA1NGFmMjgzMTFiYjFiMzZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9ET01VUkwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlk
bApAQCAtMzEsNiArMzEsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEdlbmVyYXRlVG9KUywK
ICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIERPTVVSTCB7CisjaWYgZGVmaW5lZChFTkFC
TEVfTUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCisgICAgICAgIFtDb252ZXJ0
TnVsbFN0cmluZ1RvPVVuZGVmaW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBNZWRp
YVN0cmVhbSBzdHJlYW0pOworI2VuZGlmCiAgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVu
ZGVmaW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBCbG9iIGJsb2IpOwogICAgICAg
ICB2b2lkIHJldm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcgdXJsKTsKICAgICB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYzJhN2IxN2UzMmVjMDljODQ0YTIyNjI5ZWNmYmRhMWUwNWYwMGVmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKQEAg
LTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
KyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhU3RyZWFtUmVn
aXN0cnkmIG1lZGlhU3RyZWFtUmVnaXN0cnkoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNZWRpYVN0cmVhbVJlZ2lzdHJ5LCBpbnN0YW5j
ZSwgKCkpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKwordm9pZCBNZWRpYVN0cmVhbVJlZ2lz
dHJ5OjpyZWdpc3Rlck1lZGlhU3RyZWFtVVJMKGNvbnN0IEtVUkwmIHVybCwgUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbT4gc3RyZWFtKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAg
bV9zdHJlYW1zLmFkZCh1cmwuc3RyaW5nKCksIHN0cmVhbSk7Cit9CisKK3ZvaWQgTWVkaWFTdHJl
YW1SZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKGNvbnN0IEtVUkwmIHVybCkKK3sK
KyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fc3RyZWFtcy5yZW1vdmUodXJsLnN0
cmluZygpKTsKK30KKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW1SZWdpc3Ry
eTo6bWVkaWFTdHJlYW0oY29uc3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgVVJMU3RyZWFtTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3Ry
ZWFtcy5maW5kKHVybC5zdHJpbmcoKSk7CisgICAgaWYgKGl0ICE9IG1fc3RyZWFtcy5lbmQoKSkK
KyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJl
NjU2YTc5ZGMyZDJjZGE2ZTIwOWRjZmQ1N2E5MGQwM2JmMDhhZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApAQCAtMCwwICsx
LDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAorI2Rl
ZmluZSBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKKworI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Cisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2NsYXNzIE1lZGlhU3Ry
ZWFtOworCitjbGFzcyBNZWRpYVN0cmVhbVJlZ2lzdHJ5IHsKK3B1YmxpYzoKKyAgICAvLyBSZWdp
c3RlcnMgYSBibG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIHNwZWNpZmllZCBzdHJlYW0gZGF0YS4K
KyAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBL
VVJMJik7CisgICAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gbWVkaWFTdHJlYW0oY29uc3QgS1VS
TCYpIGNvbnN0OworCitwcml2YXRlOgorICAgIC8vIEN1cnJlbnRseSBhc3N1bWluZyB0aGF0IHRo
ZSBVUkxzIGtlZXAgYWxpdmUgdGhlaXIgYXNzb2NpYXRlZCBTdHJlYW1zLgorICAgIHR5cGVkZWYg
SGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0cmVhbT4gPiBVUkxTdHJlYW1NYXA7CisgICAg
VVJMU3RyZWFtTWFwIG1fc3RyZWFtczsKK307CisKKy8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFu
Y2Ugb2YgTWVkaWFTdHJlYW1SZWdpc3RyeS4KK01lZGlhU3RyZWFtUmVnaXN0cnkmIG1lZGlhU3Ry
ZWFtUmVnaXN0cnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTWVk
aWFTdHJlYW1SZWdpc3RyeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104996</attachid>
            <date>2011-08-24 07:30:12 -0700</date>
            <delta_ts>2011-08-24 11:07:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65925-20110824163010.patch</filename>
            <type>text/plain</type>
            <size>21948</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3MDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxYjY2NTJjMzIzZTRkMDM0YzM0MzA0
MmI3MjQxNmFmOGZkNGZiMWI4Li4zOTE3YTJhYWQ3ZWZjM2IzODg3MDY3ODgyMDlmOWQ1ZWVmZGRj
NjQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDgtMjQgIFRvbW15IFdpZGVuZmx5Y2h0
ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBhZGQgY3Jl
YXRlT2JqZWN0VVJMIGZ1bmN0aW9uYWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1OTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVzL2NyZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBl
Y3RlZC50eHQ6CisKIDIwMTEtMDgtMjQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgIFVucmV2aWV3ZWQsIGNocm9taXVtIHJlYmFzZWxpbmUgZm9y
IGdyYWRpZW50LWFmdGVyLXRyYW5zcGFyZW50LWJvcmRlci4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRl
eCBkMTQ2MThkNzdmMDY3MjM3ODUwODhhNTI2YTY4YzBkODgyOWY3ZWVlLi42ZWVmMDM1MmYyY2Nj
NmZmOGU5ZDU4MTc0NTQwNTRkYzQyMDNlZWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzL2NyZWF0ZS1ibG9iLXVybC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAogVGVzdCB0aGF0IGNyZWF0ZU9iamVjdFVSTCB3aXRoIG5vIGFyZ3VtZW50IHNob3Vs
ZCB0aHJvdyBhbiBleGNlcHRpb24uCi1QQVNTOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUzog
VHlwZSBlcnJvcgogRE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5ZjU5YWNiYjEzMDU5
MDYwZTBlYmM2MDdiODg1YzQ4MDRmNjgzZjEuLjg5ZTZjNGI3ZTY0MDFjMTQ2MjQ0OWQ4YzU3ZGU3
NWNmM2YyY2ZkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDQ3LDYgKzIwNDcsNyBAQCBJ
RiAoRU5BQkxFX01FRElBX1NUUkVBTSkKICAgICAgICAgcDJwL1BlZXJDb25uZWN0aW9uLmNwcAog
ICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKKyAgICAgICAgcGxhdGZvcm0vTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAKICAgICApCiAKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGFhNjgxNDcyMTJiYTIzYzUxZTFjNWMwZmQ4ZTY1MjVhZjE0ODlhYmQuLjlk
ODA5MGZlYmU5ZjY5NDc1ZDQ4OGVhNTE3Zjc2OTYwOGI3ZTdlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxMS0wOC0yNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xl
LmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IGFkZCBjcmVhdGVPYmplY3RVUkwgZnVu
Y3Rpb25hbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjU5MjUKKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGZ1bmN0aW9uYWxp
dHkgZm9yIGdlbmVyYXRpbmcgdGhlIHVybCBhc3NvY2lhdGVkIHdpdGggYSBNZWRpYVN0cmVhbSwK
KyAgICAgICAgd2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIHNyYyBhdHRyaWJ1dGUg
b2YgdGhlIDx2aWRlbz4gdGFnIGZvciBleGFtcGxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwpOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmV2b2tlUHVibGljQmxvYlVSTCk6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0RP
TVVSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6Cisg
ICAgICAgICogaHRtbC9ET01VUkwuaDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5pZGw6CisgICAg
ICAgICogcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6bWVkaWFTdHJlYW0pOgor
ICAgICAgICAqIHBsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnkuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaC4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlh
IFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVu
b3VnaCBsYW5kZWQgY29kZS4KKwogMjAxMS0wOC0yNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZXh0cmFjdCBDb25zb2xlTWVz
c2FnZSBpbnRvIGEgc2VwYXJhdGUgZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDNhYzI1MjU0YzM2NzlmNjFlN2EyMjk0YmEzNGNkNzlhNTNkNWFiZTcuLmM0NDg1YTE4YTMy
YzNhOGJkNGM0NTQ1YThiOTBhODc0NGM5NTM2MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjY0NCw2ICsyNjQ0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01J
TUVUeXBlUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJl
Z2lzdHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggOTczNDZjNTQxZmMwNGE4YThmYWZhZmJhODZmZjNlMDYyMzdh
MWMyZS4uOWQ3YjBjYzBlYzNhOTMwZjY2Yjk5ZjUzNzAzMWUyMGMyNTM5ODIzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtMzAyMiw2ICszMDIyLDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9MaW5r
SGFzaC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Mb2dnaW5nLmNwcCcsCisgICAgICAgICAgICAncGxhdGZv
cm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL01lZGlh
U3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IGE5NGMyNTI0ZWI3OTcwMDRlZjY4MWMzYzI0Mzg0MGFlMDgzMDRjYTUuLjRiOWNmOTNkOGQzYjJj
NWExZjYyOWRhNGI0YzUyMTY5MjAxMWU2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjYwLDcgKzMy
NjAsOCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICAg
ICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIFwKICAgICAgICAgcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmggXAotICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmggXAorICAgICAgICBwbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKIAogICAgIFNPVVJD
RVMgKz0gXAogICAgICAgICBkb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXApAQCAtMzI3MSw3ICsz
MjcyLDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAg
ICAgIHAycC9NZWRpYVN0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHAycC9QZWVyQ29ubmVjdGlv
bi5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgXAotICAgICAg
ICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorICAgICAgICBwYWdlL01lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBcCisgICAgICAgIHBsYXRmb3JtL01lZGlhU3RyZWFt
UmVnaXN0cnkuY3BwCiAKICAgICB2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0NGYyZjE1MDI3MjNj
NzI2MTE1ZjVmNTkyNWUxNzZjZThmZjJmY2ZkLi5hZDkwNTFmNDQ2YTkyYzQyMjNjMzAxZGUxZDQ1
OGQ4Mzg4ZTkyZjQwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMjY4NjIsNiArMjY4NjIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVkaWFTdHJlYW1SZWdpc3RyeS5j
cHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBs
YXRmb3JtXE1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjQ3NGQ1MWJmMWNjNjc0NTI1ZDUwYjE2OTcyZTNl
ZWY2Mjk1YTJiZC4uNzkyZjk4YjI5MThiNmI0ZmZiYjg4MDRlMDAxZmIxZmJkNmRiMjM5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTEyMSw2ICsxMTIxLDggQEAKIAkJNDk1ODc4MjIxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRm
b3JtQ0FMYXllck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJNYWMubW0g
Ki87IH07CiAJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDk2OUIwRjAxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAg
Ki87IH07CiAJCTQ5NjlCMEYzMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaCAqLzsg
fTsKKwkJNDk3ODVFRTAxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREUx
M0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovOyB9OworCQk0OTc4
NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdpc3RyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk3ODVFREYxM0YxOTJGMDAwQTc5
NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuaCAqLzsgfTsKIAkJNDk4MzkxM0YwRjFFNzY3NTAw
QzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTNEMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktp
dENTU01hdHJpeC5jcHAgKi87IH07CiAJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dl
YktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDk4MzkxM0UwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4LmggKi87
IH07CiAJCTQ5ODM5MTUwMEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5ODM5MTREMEYx
RTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXguaCAqLzsgfTsKQEAgLTc3MDgsNiAr
NzcxMCw4IEBACiAJCTQ5NTg3ODIwMTJBNTdEREYwMDcyMzhBQyAvKiBQbGF0Zm9ybUNBTGF5ZXJN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQbGF0Zm9ybUNB
TGF5ZXJNYWMubW07IHBhdGggPSBjYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OTY5QjBGMDEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVz
dGluZ1RyYW5zZm9ybVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5NjlCMEYxMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdGluZ1RyYW5zZm9y
bVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5Nzg1RURFMTNGMTkyRjAw
MEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0OTc4NUVERjEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1SZWdp
c3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVJlZ2lz
dHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5ODM5MTNEMEYxRTc2NzUwMEMy
Mzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5ODM5MTNFMEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENTU01hdHJpeC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTgzOTE0RDBGMUU3NkI0MDBDMjM3ODIgLyogRE9N
V2ViS2l0Q1NTTWF0cml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdl
YktpdENTU01hdHJpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkxMDgsNiAr
MTkxMTIsOCBAQAogCQkJCTkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggKi8sCiAJCQkJQTgyMzlERkUwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuY3BwICov
LAogCQkJCUE4MjM5REZGMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmggKi8sCisJCQkJNDk3
ODVFREUxM0YxOTJGMDAwQTc5NUFEIC8qIE1lZGlhU3RyZWFtUmVnaXN0cnkuY3BwICovLAorCQkJ
CTQ5Nzg1RURGMTNGMTkyRjAwMEE3OTVBRCAvKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5LmggKi8sCiAJ
CQkJNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAg
Ki8sCiAJCQkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxl
ci5oICovLAogCQkJCUJDNzcyQzRDMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5
LmNwcCAqLywKQEAgLTIyNDA1LDYgKzIyNDExLDcgQEAKIAkJCQk0OUEyQ0ZEQTEzRTk3ODdFMDA1
NzlGMTMgLyogTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFFNTQ1OTYx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0OTc4NUVFMTEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJl
YW1SZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDOUYzMjYxM0Q1NzRGOTAwNTI2MDBB
IC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzlGMzIzMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVhZGVycyAqLywK
QEAgLTI1NDIyLDYgKzI1NDI5LDcgQEAKIAkJCQk0OUEyQ0ZEOTEzRTk3ODdFMDA1NzlGMTMgLyog
TWVkaWFTdHJlYW1FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDU5NTEzNDYyOUMx
MDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0OTc4NUVFMDEzRjE5MkYwMDBBNzk1QUQgLyogTWVkaWFTdHJlYW1S
ZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNzEzRDU3NEY5MDA1MjYwMEEg
LyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM5RjMyNDEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCMTZDMTcwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmlu
ZGV4IDliNWRkNmZhZjdhNjFjYTAwOTgwMTE5MTFiZTNjNTRlMjQ5ZjZhZmIuLmE4ODJiZWY1Y2Vm
YmUyY2Y5MzkwMDgwMWI5NTViZGYyOWYzYWVhNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNpbmNsdWRlICJF
dmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJGaWxl
VGhyZWFkLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVh
bVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTM0LDYgKzEzNiwx
MiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAg
ICAgICAgICgqaXRlciktPmNvbnRleHREZXN0cm95ZWQoKTsKICAgICB9CiAjZW5kaWYKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBwdWJs
aWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAgIGZvciAoSGFz
aFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxzLmJlZ2luKCk7
IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBNZWRpYVN0cmVh
bVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChLVVJMKFBhcnNl
ZFVSTFN0cmluZywgKml0ZXIpKTsKKyNlbmRpZgogfQogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQpA
QCAtMzc3LDYgKzM4NSwyMyBAQCBET01UaW1lciogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Zmlu
ZFRpbWVvdXQoaW50IHRpbWVvdXRJZCkKIH0KIAogI2lmIEVOQUJMRShCTE9CKQorCisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKK0tVUkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVi
bGljQmxvYlVSTChNZWRpYVN0cmVhbSogc3RyZWFtKQoreworICAgIGlmICghc3RyZWFtKQorICAg
ICAgICByZXR1cm4gS1VSTCgpOworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVh
dGVQdWJsaWNVUkwoc2VjdXJpdHlPcmlnaW4oKSk7CisKKyAgICAvLyBTaW5jZSBXZWJXb3JrZXJz
IGNhbm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0
aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBNZWRpYVN0cmVhbVJlZ2lz
dHJ5OjpyZWdpc3RyeSgpLnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0p
OworICAgIG1fcHVibGljU3RyZWFtVVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKyAgICBy
ZXR1cm4gcHVibGljVVJMOworfQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKIEtV
UkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9i
KQogewogICAgIGlmICghYmxvYikKQEAgLTM5NSw4ICs0MjAsMTcgQEAgdm9pZCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpyZXZva2VQdWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKICAgICAg
ICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6dW5yZWdpc3RlckJsb2JVUkwodXJsKTsKICAgICAg
ICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKICAgICB9CisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAobV9wdWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5zKHVy
bC5zdHJpbmcoKSkpIHsKKyAgICAgICAgLy8gRklYTUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFzc2Vy
dGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1ZXN0aW9uIGlmIHJlcXVpcmVkLgorICAgICAgICAv
LyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3Vs
ZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgICAgIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlh
U3RyZWFtVVJMKHVybCk7CisgICAgICAgIG1fcHVibGljU3RyZWFtVVJMcy5yZW1vdmUodXJsLnN0
cmluZygpKTsKKyAgICB9CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKIH0KLSNlbmRp
ZgorI2VuZGlmIC8vIEVOQUJMRShCTE9CKQogCiAjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShG
SUxFX1NZU1RFTSkKIEZpbGVUaHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZpbGVUaHJl
YWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXgg
YTA4MjI4MTg3Mzk4NmI1Y2IxNDAzMzk2N2FmMGRjZGQ0OWFhZTBiZi4uNTJkOTIxY2U3ZDA0NmIy
NTgzMzI2Y2VmN2VmNTczMDRmYTU0MGU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCkBAIC02Niw2ICs2NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgRmlsZVRocmVhZDsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKyAgICBjbGFzcyBNZWRpYVN0cmVhbTsKKyNlbmRpZgorCiAgICAgY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCB7CiAgICAgcHVibGljOgogICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CkBAIC0xNDQsOSArMTQ4LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
RE9NVGltZXIqIGZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQpOwogCiAjaWYgRU5BQkxFKEJMT0Ip
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAgS1VSTCBjcmVhdGVQdWJsaWNCbG9i
VVJMKE1lZGlhU3RyZWFtKik7CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAg
ICAgS1VSTCBjcmVhdGVQdWJsaWNCbG9iVVJMKEJsb2IqKTsKICAgICAgICAgdm9pZCByZXZva2VQ
dWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmKTsKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShCTE9C
KQogCiAjaWYgVVNFKEpTQykKICAgICAgICAgSlNDOjpKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEo
KTsKQEAgLTE5MCw2ICsxOTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUo
QkxPQikKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcHVibGljQmxvYlVSTHM7CisgICAgICAg
IEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY1N0cmVhbVVSTHM7CiAgICAgICAgIEhhc2hTZXQ8RE9N
VVJMKj4gbV9kb21VcmxzOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAppbmRleCBkMGYw
YWViNjJjODFkYjU1MGQ2OTllMGFjYjM5NGU1NjAxNjgxNjNkLi43OGNkN2I5MzNkNWZhZTNkMGVl
NTFiNzY0OTdmNmRjMWJiMDg0NDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCkBAIC01Myw2ICs1
MywxNSBAQCB2b2lkIERPTVVSTDo6Y29udGV4dERlc3Ryb3llZCgpCiAgICAgbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0ID0gMDsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitTdHJpbmcg
RE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoTWVkaWFTdHJlYW0qIHN0cmVhbSkKK3sKKyAgICBpZiAo
IW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAg
IHJldHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZVB1YmxpY0Jsb2JVUkwoc3Ry
ZWFtKS5zdHJpbmcoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RV
UkwoQmxvYiogYmxvYikKIHsKICAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVVSTC5oCmluZGV4IGRmZjRkZDhiMDhhOWU2ZjVjOTMxYmY1NzEyZWU0YjdjNmFlZDM2
ODQuLjIwN2IyMzJiMmJhMTI0ODUxYjc5YjQxN2ZlMDM3YjA5OTY2YzAwYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBC
bG9iOworY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiBjbGFzcyBET01VUkwgOiBwdWJsaWMgUmVmQ291bnRlZDxET01VUkw+IHsKQEAgLTQyLDYgKzQz
LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVVSTD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBET01VUkwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpOyB9CiAgICAgfkRPTVVSTCgp
OwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBTdHJpbmcgY3JlYXRlT2JqZWN0VVJM
KE1lZGlhU3RyZWFtKik7CisjZW5kaWYKICAgICBTdHJpbmcgY3JlYXRlT2JqZWN0VVJMKEJsb2Iq
KTsKICAgICB2b2lkIHJldm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VUkwuaWRsCmluZGV4IDc1OTQ1YjdjNDgyNTMxYzk2MWRhYjUwNDdmOGNmNjY4MzJhZWU1OWMu
LmQ2ZDU1NzkwZjdhMGNjN2JmZDc0MzAwNTRhZjI4MzExYmIxYjM2ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBHZW5lcmF0
ZVRvSlMsCiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBET01VUkwgeworI2lmIGRlZmlu
ZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVBTQorICAgICAgICBb
Q29udmVydE51bGxTdHJpbmdUbz1VbmRlZmluZWRdIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwo
aW4gTWVkaWFTdHJlYW0gc3RyZWFtKTsKKyNlbmRpZgogICAgICAgICBbQ29udmVydE51bGxTdHJp
bmdUbz1VbmRlZmluZWRdIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gQmxvYiBibG9iKTsK
ICAgICAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoaW4gRE9NU3RyaW5nIHVybCk7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTU5MTU1NTcwMWQ0Y2MyN2JmYjQ4YWVlNTNjOGRmZmNlNjRhOTFkOQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
Y3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCisjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYVN0
cmVhbVJlZ2lzdHJ5JiBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCit7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE1lZGlhU3RyZWFt
UmVnaXN0cnksIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit2b2lk
IE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYg
dXJsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0pCit7CisgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKKyAgICBtX3N0cmVhbXMuYWRkKHVybC5zdHJpbmcoKSwgc3RyZWFtKTsKK30K
Kwordm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29u
c3QgS1VSTCYgdXJsKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgbV9zdHJl
YW1zLnJlbW92ZSh1cmwuc3RyaW5nKCkpOworfQorCitNZWRpYVN0cmVhbSogTWVkaWFTdHJlYW1S
ZWdpc3RyeTo6bWVkaWFTdHJlYW0oY29uc3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgVVJMU3RyZWFtTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IG1fc3RyZWFtcy5maW5kKHVybC5zdHJpbmcoKSk7CisgICAgaWYgKGl0ICE9IG1fc3RyZWFtcy5l
bmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQuZ2V0KCk7CisgICAgcmV0dXJuIDA7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWU5Y2QyYTE1YmUzYTUyNjZjNTMwYjYwODBhOGI3ZTlmYmFmZmRlYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU3RyZWFtUmVnaXN0cnku
aApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhU3RyZWFtUmVn
aXN0cnlfaAorI2RlZmluZSBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKKworI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2Ns
YXNzIE1lZGlhU3RyZWFtOworCitjbGFzcyBNZWRpYVN0cmVhbVJlZ2lzdHJ5IHsKK3B1YmxpYzoK
KyAgICAvLyBSZXR1cm5zIGEgc2luZ2xlIGluc3RhbmNlIG9mIE1lZGlhU3RyZWFtUmVnaXN0cnku
CisgICAgc3RhdGljIE1lZGlhU3RyZWFtUmVnaXN0cnkmIHJlZ2lzdHJ5KCk7CisKKyAgICAvLyBS
ZWdpc3RlcnMgYSBibG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIHNwZWNpZmllZCBzdHJlYW0gZGF0
YS4KKyAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3QgS1VSTCYsIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW0+KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25z
dCBLVVJMJik7CisgICAgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtKGNvbnN0IEtVUkwmKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVkaWFT
dHJlYW0+ID4gVVJMU3RyZWFtTWFwOworICAgIFVSTFN0cmVhbU1hcCBtX3N0cmVhbXM7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVJlZ2lzdHJ5
X2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>