<?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>46405</bug_id>
          
          <creation_ts>2010-09-23 14:13:37 -0700</creation_ts>
          <short_desc>Add idl and mock classes for FileSystemSync for FileSystem API</short_desc>
          <delta_ts>2010-10-05 22:52:26 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>42903</blocked>
    
    <blocked>47044</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>jianli</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283937</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-23 14:13:37 -0700</bug_when>
    <thetext>Add idl and mock classes for FileSystemSync for FileSystem API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283981</commentid>
    <comment_count>1</comment_count>
      <attachid>68597</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-23 14:50:51 -0700</bug_when>
    <thetext>Created attachment 68597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285312</commentid>
    <comment_count>2</comment_count>
      <attachid>68597</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-26 22:13:28 -0700</bug_when>
    <thetext>Comment on attachment 68597
Patch

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

&gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:59
&gt; +        JSValue jsCreate = object-&gt;get(exec, Identifier(exec, &quot;create&quot;));

This call re-enters JavaScript and can do arbitrary things.  How do we know that |object| hasn&apos;t been deallocated?  What about |imp|?

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:75
&gt; +    } else {
&gt; +       EXCEPTION_BLOCK(Flags*, tmp_flags, V8Flags::HasInstance(args[1]) ? V8Flags::toNative(v8::Handle&lt;v8::Object&gt;::Cast(args[1])) : 0);
&gt; +       flags = tmp_flags;
&gt; +    }

Bad indent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286079</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-27 23:04:49 -0700</bug_when>
    <thetext>It seems that at this point some test should be possible. If nothing else, some tests for invalid values and verifying that appropriate erros are given.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287747</commentid>
    <comment_count>4</comment_count>
      <attachid>69366</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-30 12:49:32 -0700</bug_when>
    <thetext>Created attachment 69366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287752</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-30 12:55:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 68597 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68597&amp;action=review
&gt; 
&gt; &gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:59
&gt; &gt; +        JSValue jsCreate = object-&gt;get(exec, Identifier(exec, &quot;create&quot;));
&gt; 
&gt; This call re-enters JavaScript and can do arbitrary things.  How do we know that |object| hasn&apos;t been deallocated?  What about |imp|?

Per webkit-dev&apos;s feedback, they must be referenced by the current executing code and shouldn&apos;t be deallocated while they are being executed.

&gt; &gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:75
&gt; &gt; +    } else {
&gt; &gt; +       EXCEPTION_BLOCK(Flags*, tmp_flags, V8Flags::HasInstance(args[1]) ? V8Flags::toNative(v8::Handle&lt;v8::Object&gt;::Cast(args[1])) : 0);
&gt; &gt; +       flags = tmp_flags;
&gt; &gt; +    }
&gt; 
&gt; Bad indent.

Fixed.

(In reply to comment #3)
&gt; It seems that at this point some test should be possible. If nothing else, some tests for invalid values and verifying that appropriate erros are given.

Added basic tests that test requestFileSystem and requestFileSystemSync in workers (and in non-workers too for the former).

The patch size has increased some... I hope it&apos;d be ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287760</commentid>
    <comment_count>6</comment_count>
      <attachid>69370</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-30 13:02:56 -0700</bug_when>
    <thetext>Created attachment 69370
Patch

Updated ChangeLog according and rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287768</commentid>
    <comment_count>7</comment_count>
      <attachid>69371</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-30 13:24:51 -0700</bug_when>
    <thetext>Created attachment 69371
Patch

Cleaned up unnecessary headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287927</commentid>
    <comment_count>8</comment_count>
      <attachid>69393</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-30 16:38:50 -0700</bug_when>
    <thetext>Created attachment 69393
Patch

Updated test expectations for simple-{temporary-persistent}-sync as the entry method is not yet exposed in this patch.  For now they should contain reference errors for the method (requestFileSystemSync).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288599</commentid>
    <comment_count>9</comment_count>
      <attachid>69547</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-01 17:28:31 -0700</bug_when>
    <thetext>Created attachment 69547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288659</commentid>
    <comment_count>10</comment_count>
      <attachid>69567</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-01 23:43:29 -0700</bug_when>
    <thetext>Created attachment 69567
Patch

Did some more cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289522</commentid>
    <comment_count>11</comment_count>
      <attachid>69567</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-10-05 03:29:19 -0700</bug_when>
    <thetext>Comment on attachment 69567
Patch

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

&gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:89
&gt; +        flags = toFlags(exec-&gt;argument(1));

Up to here it is the same as the previous function.  Please consider a common function to do this stuff.

This appears to be missing:
  if (exec-&gt;hadException())
        return jsUndefined();

here.

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:56
&gt; +    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter&lt;&gt;, path, args[0]);

indent.

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:109
&gt; +    }

Duplicate code. consider a common function.

&gt; WebCore/fileapi/DOMFileSystemSync.cpp:43
&gt; +    return adoptRef(new DOMFileSystemSync(fileSystem-&gt;m_name, fileSystem-&gt;m_asyncFileSystem.leakPtr()));

This shouldn&apos;t be a leakPtr(). This should be a releasePtr.

leakPtr is only use when you want the OwnPtr to stop holding onto to the point and you want the raw pointer. You will manage the memory in some other way.  Here you are passing the point to a PassOwnPtr, so releasePtr is perfect.

&gt; WebCore/fileapi/DOMFileSystemSync.cpp:60
&gt; +} // namespace

These // namespace comments aren&apos;t necessary in WebKit as far as I know. However, if you are going to include it, make it correct :).

&gt; WebCore/fileapi/DOMFileSystemSync.h:51
&gt; +    // This call is destructive; the argument fileSystem will become unusable.

This sounds scary. It makes me wonder why it doesn&apos;t take a PassOwnPtr for fileSystem. If fileSystem is unusable afterward. is there a way to help callers to do the right thing and not use it again?

&gt; WebCore/fileapi/DOMFileSystemSync.h:62
&gt; +} // namespace

Ditto.

&gt; WebCore/fileapi/DirectoryEntrySync.h:61
&gt; +    DirectoryEntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);

Please remove variable names which add no information. fileSystem

&gt; WebCore/fileapi/DirectoryReader.h:60
&gt; +    DirectoryReader(DOMFileSystemBase* fileSystem, const String&amp; fullPath);

Please remove variable names which add no information. fileSystem

&gt; WebCore/fileapi/DirectoryReaderBase.h:46
&gt; +    void setHasMore(bool hasMore) { m_hasMore = hasMore; }

What does &quot;hasMore&quot; mean? has more what? (My initial reaction is cowbell since that is the current meme.)

&gt; WebCore/fileapi/DirectoryReaderSync.h:54
&gt; +    DirectoryReaderSync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);

fileSystem param name.

&gt; WebCore/fileapi/EntryArraySync.h:53
&gt; +    void set(unsigned index, PassRefPtr&lt;EntrySync&gt; entry);

Please remove variable names which add no information. entry

&gt; WebCore/fileapi/EntrySync.h:59
&gt; +    EntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);

Please remove variable names which add no information. fileSystem

&gt; WebCore/fileapi/FileEntrySync.h:54
&gt; +    FileEntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);

Please remove variable names which add no information. fileSystem

&gt; WebCore/fileapi/FileEntrySync.idl:40
&gt; +        // File file() raises (FileException);

Please remove commented out code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289527</commentid>
    <comment_count>12</comment_count>
      <attachid>69567</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-10-05 03:37:51 -0700</bug_when>
    <thetext>Comment on attachment 69567
Patch

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

Drive by comments

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:72
&gt; +       EXCEPTION_BLOCK(Flags*, tmp_flags, V8Flags::HasInstance(args[1]) ? V8Flags::toNative(v8::Handle&lt;v8::Object&gt;::Cast(args[1])) : 0);

I don&apos;t think you need to wrap this code into EXCEPTION_BLOCK as there is nothing that can throw an exception (unless I miss something)

&gt;&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:109
&gt;&gt; +    }
&gt; 
&gt; Duplicate code. consider a common function.

As another thought: why you need that to be custom?  Maybe you should just extend code generator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289541</commentid>
    <comment_count>13</comment_count>
      <attachid>69771</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-05 05:21:36 -0700</bug_when>
    <thetext>Created attachment 69771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289542</commentid>
    <comment_count>14</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-05 05:25:19 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 69567 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69567&amp;action=review
&gt; 
&gt; &gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:89
&gt; &gt; +        flags = toFlags(exec-&gt;argument(1));
&gt; 
&gt; Up to here it is the same as the previous function.  Please consider a common function to do this stuff.

Fixed.  (Introduced a static getFlags function)

&gt; This appears to be missing:
&gt;   if (exec-&gt;hadException())
&gt;         return jsUndefined();
&gt; 
&gt; here.

Fixed.

&gt; &gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:56
&gt; &gt; +    STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter&lt;&gt;, path, args[0]);
&gt; 
&gt; indent.

Fixed.

&gt; &gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:109
&gt; &gt; +    }
&gt; 
&gt; Duplicate code. consider a common function.

Fixed.  (Introduced a static getFlags function)

&gt; &gt; WebCore/fileapi/DOMFileSystemSync.cpp:43
&gt; &gt; +    return adoptRef(new DOMFileSystemSync(fileSystem-&gt;m_name, fileSystem-&gt;m_asyncFileSystem.leakPtr()));
&gt; 
&gt; This shouldn&apos;t be a leakPtr(). This should be a releasePtr.
&gt; leakPtr is only use when you want the OwnPtr to stop holding onto to the point and you want the raw pointer. You will manage the memory in some other way.  Here you are passing the point to a PassOwnPtr, so releasePtr is perfect.

Got it.  (For now I removed this code -- I&apos;ll think over the constructor.)

&gt; &gt; WebCore/fileapi/DOMFileSystemSync.cpp:60
&gt; &gt; +} // namespace
&gt; 
&gt; These // namespace comments aren&apos;t necessary in WebKit as far as I know. However, if you are going to include it, make it correct :).

Removed the comment.

&gt; &gt; WebCore/fileapi/DOMFileSystemSync.h:51
&gt; &gt; +    // This call is destructive; the argument fileSystem will become unusable.
&gt; 
&gt; This sounds scary. It makes me wonder why it doesn&apos;t take a PassOwnPtr for fileSystem. If fileSystem is unusable afterward. is there a way to help callers to do the right thing and not use it again?

I removed this constructor for now.

&gt; &gt; WebCore/fileapi/DOMFileSystemSync.h:62
&gt; &gt; +} // namespace
&gt; 
&gt; Ditto.

Fixed.

&gt; &gt; WebCore/fileapi/DirectoryEntrySync.h:61
&gt; &gt; +    DirectoryEntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);
&gt; 
&gt; Please remove variable names which add no information. fileSystem

Fixed.

&gt; &gt; WebCore/fileapi/DirectoryReader.h:60
&gt; &gt; +    DirectoryReader(DOMFileSystemBase* fileSystem, const String&amp; fullPath);
&gt; 
&gt; Please remove variable names which add no information. fileSystem

Fixed.

&gt; &gt; WebCore/fileapi/DirectoryReaderBase.h:46
&gt; &gt; +    void setHasMore(bool hasMore) { m_hasMore = hasMore; }
&gt; 
&gt; What does &quot;hasMore&quot; mean? has more what? (My initial reaction is cowbell since that is the current meme.)

Changed the method and variable names to hasMoreEntries.

&gt; &gt; WebCore/fileapi/DirectoryReaderSync.h:54
&gt; &gt; +    DirectoryReaderSync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);
&gt; 
&gt; fileSystem param name.

Fixed.

&gt; &gt; WebCore/fileapi/EntryArraySync.h:53
&gt; &gt; +    void set(unsigned index, PassRefPtr&lt;EntrySync&gt; entry);
&gt; 
&gt; Please remove variable names which add no information. entry

Fixed.  (Actually set() wasn&apos;t implemented anywhere.  Removed)

&gt; &gt; WebCore/fileapi/EntrySync.h:59
&gt; &gt; +    EntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);
&gt; 
&gt; Please remove variable names which add no information. fileSystem

Fixed.

&gt; &gt; WebCore/fileapi/FileEntrySync.h:54
&gt; &gt; +    FileEntrySync(DOMFileSystemBase* fileSystem, const String&amp; fullPath);
&gt; 
&gt; Please remove variable names which add no information. fileSystem

Fixed.

&gt; &gt; WebCore/fileapi/FileEntrySync.idl:40
&gt; &gt; +        // File file() raises (FileException);
&gt; 
&gt; Please remove commented out code.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289543</commentid>
    <comment_count>15</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-05 05:27:24 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 69567 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69567&amp;action=review
&gt; 
&gt; Drive by comments
&gt; 
&gt; &gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:72
&gt; &gt; +       EXCEPTION_BLOCK(Flags*, tmp_flags, V8Flags::HasInstance(args[1]) ? V8Flags::toNative(v8::Handle&lt;v8::Object&gt;::Cast(args[1])) : 0);
&gt; 
&gt; I don&apos;t think you need to wrap this code into EXCEPTION_BLOCK as there is nothing that can throw an exception (unless I miss something)

Thanks for the comment, fixed.

&gt; &gt;&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:109
&gt; &gt;&gt; +    }
&gt; &gt; 
&gt; &gt; Duplicate code. consider a common function.
&gt; 
&gt; As another thought: why you need that to be custom?  Maybe you should just extend code generator?

Right that would be ideal.  I have a proposing patch for this, which somehow works (but slow)... it&apos;d be great if you could take a look at it as well.
https://bugs.webkit.org/show_bug.cgi?id=45237</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289821</commentid>
    <comment_count>16</comment_count>
      <attachid>69771</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-10-05 13:04:33 -0700</bug_when>
    <thetext>Comment on attachment 69771
Patch

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

Just a few things to address.

&gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:72
&gt; +    RefPtr&lt;Flags&gt; flags = getFlags(exec, exec-&gt;argument(1));

Test for flags being 0?

Due to 
if (argument.isNull() || argument.isUndefined() || !argument.isObject())
        return 0;

&gt; WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp:89
&gt; +    RefPtr&lt;Flags&gt; flags = getFlags(exec, exec-&gt;argument(1));

Test for flags being 0?

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:48
&gt; +#define GET_FLAGS_EXCEPTION_BLOCK(type, var, value) \

Macros are bad in so many ways. Please get rid of the macro and just write out the code.

I guess this is already done for strings, but I&apos;d rather we no do it again here.

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:53
&gt; +        if (block.HasCaught()) {          \

This shouldn&apos;t have {} (single line statement).

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:88
&gt; +    RefPtr&lt;Flags&gt; flags = getFlags(args[1]);

Shouldn&apos;t this check for flags being 0? 

Is there a layout test for this error case?
If not, please add one.

&gt; WebCore/bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:103
&gt; +    RefPtr&lt;Flags&gt; flags = getFlags(args[1]);

Test for flags being 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290102</commentid>
    <comment_count>17</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-05 22:52:26 -0700</bug_when>
    <thetext>Committed r69178: &lt;http://trac.webkit.org/changeset/69178&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68597</attachid>
            <date>2010-09-23 14:50:51 -0700</date>
            <delta_ts>2010-09-30 12:49:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20100923145050.patch</filename>
            <type>text/plain</type>
            <size>118088</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGZhZWQ4ZWViYzg1MGQ4NGM1MjNkNmYxNTk0MDFmOGU2MDE4MDVjM2MuLjlmMDFi
YzRjNjllNmQ0MmFhZGEwNzQyMmYxMmYxNmYwZDI4ZGFlMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU4MiwxNCAr
MTU4MiwyNCBAQCBFTkRJRiAoKQogaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRy
eUN1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0
b20uY3BwCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9y
eUVudHJ5LmNwcAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKICAgICAg
ICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAKICAgICAgICAg
ZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1C
YXNlLmNwcAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcAogICAgICAgICBm
aWxlYXBpL0VudHJ5LmNwcAogICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuY3BwCisgICAgICAg
IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwCisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmNw
cAorICAgICAgICBmaWxlYXBpL0VudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlRW50
cnkuY3BwCisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFw
aS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuY3Bw
CiAgICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcApAQCAtMTU5NywxNSArMTYwNywy
MSBAQCBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgICkKICAgICBMSVNUKEFQUEVORCBXZWJD
b3JlX0lETF9GSUxFUwogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbAorICAgICAg
ICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXIuaWRsCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKICAg
ICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW1TeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwKICAgICAg
ICAgZmlsZWFwaS9FbnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuaWRsCiAgICAg
ICAgIGZpbGVhcGkvRW50cnlBcnJheS5pZGwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3lu
Yy5pZGwKICAgICAgICAgZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBp
L0Vycm9yQ2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbAogICAg
ICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5j
LmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFjay5pZGwKICAgICAgICAgZmls
ZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5p
ZGwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMDkzOTNhMTIyNTczMTA0ODIxYTQ3NGM4YTYyMWM1ZjFjYzZlNzI0OC4uZGFjODg0YzhkMjAy
YTI1ODNkNTI5MDE4ZDZlNjFlODE1NTY2NmQyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMC0wOS0yMyAg
S2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlkbCBhbmQgbW9jayBjbGFzc2VzIGZv
ciBGaWxlU3lzdGVtU3luYyBmb3IgRmlsZVN5c3RlbSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NDA1CisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
OyB0ZXN0cyB3aWxsIGJlIGFkZGVkIGxhdGVyIHdoZW4gd2UgYWRkIGltcGxlbWVudGF0aW9uLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5jcHA6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFk
ZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIG5ldyBmaWxlcy4K
KyAgICAgICAgKiBXZWJDb3JlLnByaTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIFdlYkNv
cmUucHJvOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6IEFkZGVkIG5ldyBmaWxlcy4gQWxzbyByZW1vdmVkIHRoZSBkdXBsaWNhdGVkIGZp
bGVhcGlcRmlsZUVudHJ5LmNwcCBlbnRyeS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAg
ICogZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVh
cGkvRE9NRmlsZVN5c3RlbUJhc2UuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5
bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGw6IEFk
ZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICog
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVj
dG9yeVJlYWRlclN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXJTeW5jLmlkbDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHA6
IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaDogQWRkZWQuCisgICAg
ICAgICogZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVh
cGkvRW50cnlCYXNlLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeUJhc2UuaDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KiBmaWxlYXBpL0VudHJ5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5U3lu
Yy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHA6IEFkZGVk
LgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsOiBBZGRlZC4KKwogMjAxMC0wOS0yMiAgQW5keSBFc3Rl
cyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGJhYjgxMDk3MDQ5NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3
MjhkMDYwN2EuLjRiMmY5NWZhNjJkYzkyZjFlM2YxM2U2MDJlYWE4ODg2NDk3NTY4YTIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC03NCwxMyArNzQsMTYgQEAKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtl
ckNvbnRleHQuY3BwIgogI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiCiAj
aW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRy
eVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyLmNwcCIKKyNpbmNsdWRlICJK
U0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTRG9jdW1lbnRGcmFnbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudFR5cGUu
Y3BwIgogI2luY2x1ZGUgIkpTRE9NQXBwbGljYXRpb25DYWNoZS5jcHAiCiAjaW5jbHVkZSAiSlNE
T01Db3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTUZpbGVTeXN0ZW0uY3BwIgorI2lu
Y2x1ZGUgIkpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRE9NRm9ybURhdGEu
Y3BwIgogI2luY2x1ZGUgIkpTRE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9N
TWltZVR5cGUuY3BwIgpAQCAtOTgsNiArMTAxLDggQEAKICNpbmNsdWRlICJKU0VudHJpZXNDYWxs
YmFjay5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeS5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUFycmF5
LmNwcCIKKyNpbmNsdWRlICJKU0VudHJ5QXJyYXlTeW5jLmNwcCIKKyNpbmNsdWRlICJKU0VudHJ5
U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0Vy
cm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRXJyb3JFdmVudC5jcHAiCkBAIC0xMDcsNiAr
MTEyLDcgQEAKICNpbmNsdWRlICJKU0ZpbGUuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUNhbGxiYWNr
LmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRW50cnlT
eW5jLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlRXhj
ZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBhZGJkMzBjY2Y1YjUxNmE0ZDZkMDIwNmVjOTAyZGYzZjI0NzE5ZmM0Li41YjEzZjFiMjI4MDRl
NGIyZDRlN2MzOGQzNmRlYjg5ZThjNjc4YjgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTQsNiAr
MTE0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9NQXBwbGljYXRpb25DYWNoZSBcCiAgICAg
RE9NQ29yZUV4Y2VwdGlvbiBcCiAgICAgRE9NRmlsZVN5c3RlbSBcCisgICAgRE9NRmlsZVN5c3Rl
bVN5bmMgXAogICAgIERPTUZvcm1EYXRhIFwKICAgICBET01JbXBsZW1lbnRhdGlvbiBcCiAgICAg
RE9NTWltZVR5cGUgXApAQCAtMTMxLDcgKzEzMiw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERl
dmljZU1vdGlvbkV2ZW50IFwKICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IFwKICAgICBEaXJl
Y3RvcnlFbnRyeSBcCisgICAgRGlyZWN0b3J5RW50cnlTeW5jIFwKICAgICBEaXJlY3RvcnlSZWFk
ZXIgXAorICAgIERpcmVjdG9yeVJlYWRlclN5bmMgXAogICAgIERvY3VtZW50IFwKICAgICBEb2N1
bWVudEZyYWdtZW50IFwKICAgICBEb2N1bWVudFR5cGUgXApAQCAtMTQxLDcgKzE0NCw5IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIEVudGl0eVJlZmVyZW5jZSBcCiAgICAgRW50cmllc0NhbGxiYWNr
IFwKICAgICBFbnRyeSBcCisgICAgRW50cnlTeW5jIFwKICAgICBFbnRyeUFycmF5IFwKKyAgICBF
bnRyeUFycmF5U3luYyBcCiAgICAgRW50cnlDYWxsYmFjayBcCiAgICAgRXJyb3JDYWxsYmFjayBc
CiAgICAgRXJyb3JFdmVudCBcCkBAIC0xNTMsNiArMTU4LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgRmlsZSBcCiAgICAgRmlsZUNhbGxiYWNrIFwKICAgICBGaWxlRW50cnkgXAorICAgIEZpbGVF
bnRyeVN5bmMgXAogICAgIEZpbGVFeGNlcHRpb24gXAogICAgIEZpbGVFcnJvciBcCiAgICAgRmls
ZUxpc3QgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KaW5kZXggZTcyNjViNjRlNWUxNjM2NDQzNGQzNTBkYjgxMWEyYTA4ZjdhYTlm
MS4uYjFlOTM5NDBhNmEzMmUwMDQzNGRhY2E1Y2RmMmEzZWM0YTQ5MjU3YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02
ODMsNiArNjgzLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMv
SlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJl
Y3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1l
bnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNo
ZUN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCkBA
IC03MDUsNiArNzA2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV3JhcHBlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3Rv
bS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0
ZW5lci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApAQCAt
MTM1OCwyMyArMTM2MCwzOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZmlsZWFw
aS9CbG9iVVJMLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAogCVdl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBcCiAJV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeVJlYWRlci5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAogCVdl
YkNvcmUvZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxl
UGF0aC5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgXAogCVdlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
QmFzZS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIFwKKwlXZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0VudHJpZXNDYWxsYmFjay5oIFwK
KwlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBc
CiAJV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50
cnlBcnJheS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKwlXZWJD
b3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFz
ZS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAJV2ViQ29yZS9maWxlYXBp
L0VudHJ5Q2FsbGJhY2suaCBcCi0JV2ViQ29yZS9maWxlYXBpL0VudHJ5LmNwcCBcCi0JV2ViQ29y
ZS9maWxlYXBpL0VudHJ5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwKKwlX
ZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9FcnJvckNhbGxi
YWNrLmggXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxl
YXBpL0ZpbGUuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0ZpbGVFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5j
cHAgXAorCVdlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFw
aS9GaWxlRXJyb3IuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uaCBcCiAJV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM4NzAyZmM3ZTNjMTBlNGVmOTZmYjgzZmU0ODkx
OWI4NWJmYTQxOWUuLmZlMWVmZmMyODc2YzFlNzAyYWVjOGY0MmYwODZlMzNkYWM1OWRmNzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC04OSwxNiArODksMjIgQEAKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2IuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0Jsb2JCdWlsZGVyLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50
cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRsJywK
KyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsJywKICAgICAgICAg
ICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RP
TUZpbGVTeXN0ZW1TeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2FsbGJh
Y2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5LmlkbCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9FbnRyeUFycmF5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5
U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9F
cnJvckNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmlkbCcsCiAgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZpbGVFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwn
LAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmlkbCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlzdC5p
ZGwnLApAQCAtNTY2LDYgKzU3Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFw
cGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwJywKQEAgLTU4NCw2ICs1OTEsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTRE9NV3JhcHBlci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VsZW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcCcs
CisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNFdmVudExpc3RlbmVyLmgnLApAQCAtNzYzLDYgKzc3MSw3IEBACiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0
b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRy
eVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1
bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwJywKQEAgLTc3MCw2ICs3NzksNyBAQAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhFdmVudFNvdXJjZUNvbnN0cnVjdG9yLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwJywKQEAgLTE0NDYs
MjQgKzE0NTYsNDAgQEAKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2JVUkwuaCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
RGlyZWN0b3J5RW50cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3lu
Yy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9ET01GaWxlUGF0aC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVT
eXN0ZW0uY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCcsCisgICAg
ICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAnLAorICAgICAgICAgICAgJ2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMu
aCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9FbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuaCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9FbnRyeUFycmF5LmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3Bw
JywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QmFz
ZS5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlCYXNlLmgnLAorICAgICAgICAgICAg
J2ZpbGVhcGkvRW50cnlTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMu
aCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRmlsZS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZS5oJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0Zp
bGVFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmgnLAorICAgICAg
ICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkv
RmlsZUVudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFcnJvci5oJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKaW5kZXggMzdiYjIwNTE4M2FlZDAwYTA3NWExYzRmMmI5ZDJmYTYyZjNk
YWZhMy4uYTJmZjUyMTYyNDlmOTkyZmVhMmI2YmQ1ZWQ0YjI2YzFjYzJjN2E5MCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0xNTYs
MTYgKzE1NiwyMiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGZpbGVhcGkvQmxvYi5pZGwgXAog
ICAgIGZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsIFwKICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5
LmlkbCBcCisgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlci5pZGwgXAorICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5p
ZGwgXAogICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwgXAorICAgIGZpbGVhcGkvRE9NRmls
ZVN5c3RlbVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwgXAogICAg
IGZpbGVhcGkvRW50cnkuaWRsIFwKICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuaWRsIFwKKyAgICBm
aWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmlk
bCBcCisgICAgZmlsZWFwaS9FbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0Vycm9yQ2FsbGJh
Y2suaWRsIFwKICAgICBmaWxlYXBpL0ZpbGUuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVDYWxsYmFj
ay5pZGwgXAogICAgIGZpbGVhcGkvRmlsZUVudHJ5LmlkbCBcCisgICAgZmlsZWFwaS9GaWxlRW50
cnlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlRXJyb3IuaWRsIFwKICAgICBmaWxlYXBpL0Zp
bGVMaXN0LmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlUmVhZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA1ZDM2NTBjZDZm
ZjhhNjkzYTc1ZTZmZmRkZjNhNTYxZTg4MzE5NWI1Li5iYTY4ZTAwNGJlZDMwZDcxMjgwMTQzODBj
Mzg0ZmQ4YTc1Y2U3Yjg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI5MjksMTYgKzI5MjksMjQgQEAgY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgZmls
ZWFwaS9Bc3luY0ZpbGVXcml0ZXIuaCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnku
aCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmggXAogICAgICAgICBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlci5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJT
eW5jLmggXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmggXAogICAgICAgICBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW0uaCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCBc
CisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkv
RW50cmllc0NhbGxiYWNrLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmggXAogICAgICAgICBm
aWxlYXBpL0VudHJ5QXJyYXkuaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBc
CisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2Fs
bGJhY2suaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmggXAogICAgICAgICBmaWxlYXBp
L0Vycm9yQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmggXAogICAg
ICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5j
LmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIFwKICAgICAgICAgZmls
ZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIu
aCBcCkBAIC0yOTUzLDE0ICsyOTYxLDI0IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxF
X1NZU1RFTT0xKSB7CiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNE
aXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9t
LmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwK
KyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVh
cGkvRE9NRmlsZVBhdGguY3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBc
CisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIFwKKyAgICAgICAgZmlsZWFw
aS9ET01GaWxlU3lzdGVtU3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJy
YXlTeW5jLmNwcCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisgICAgICAgIGZp
bGVhcGkvRW50cnlTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmNwcCBcCisg
ICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0ZpbGVT
eXN0ZW1DYWxsYmFja3MuY3BwIFwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCA1MmNiMjZiZmY4Yjg4ZmUxNTk3Y2E0MmVhYzYxMDdmMTlmNDI2
ZjMxLi40MGUxOWI5MmFkN2M0NGI4Y2UxNTllMjMwYTFmZDE0ZWZkNzRlNzVmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMwODEsNiArMzA4MSwxNCBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEaXJlY3RvcnlFbnRyeVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KQEAgLTMxMzcsNiArMzE0NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5
UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0RvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC0zNDczLDYgKzM0ODksMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01GaWxlU3lzdGVtU3luYy5oIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZvcm1EYXRhLmNw
cCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00NDI5LDYgKzQ0NTMsMTQg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5
QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNFbnRyeUFycmF5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0VudHJ5Q2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KQEAgLTQ0ODUsNiArNDUxNywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5bmMuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFcnJvckNhbGxiYWNr
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00ODgxLDYgKzQ5MjEs
MjIgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5bmMuY3BwIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5bmMu
aCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxl
RXJyb3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzY1Nyw2ICszNzcxMywxNCBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxl
YXBpXERpcmVjdG9yeUVudHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeUVudHJ5U3luYy5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NjY1
LDYgKzM3NzI5LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVj
dG9yeVJlYWRlclN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCkBAIC0zNzY4OSw2ICszNzc2MSwyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1C
YXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbVN5
bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01Gb3JtRGF0YS5jcHAiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzc3MTcsNiArMzc4MDUsMzAgQEAKIAkJCQk+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUFy
cmF5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QmFzZS5jcHAi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxm
aWxlYXBpXEVudHJ5QmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeVN5bmMu
aCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGZpbGVhcGlcRW50cnlDYWxsYmFjay5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzQx
LDExICszNzg1MywxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZmlsZWFwaVxGaWxlRW50cnkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmgiDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5U3luYy5o
Ig0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtNDQxMzIsNiArNDQyNDgsMTAg
QEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGJpbmRpbmdzXGpzXEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4N
CisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0RvY3VtZW50Q3VzdG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KQEAgLTQ0ODkyLDYgKzQ1MDEyLDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJ
CQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0VudHJ5U3luY0N1
c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+DQogCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGFkYmI0MzQ1OTkyN2UyMGM2N2MxNWM0OTNkMmYzYWIyYTY0OTEzZjguLmE5
NjdkOWQzMmNiNzBmMmZhNTE3Yjg3ZWFiNmJiYTE2NmQ2NjZhZmQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDE4LDYgKzI0MTgsMzYgQEAKIAkJODkz
QzQ3QkMxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdCQTEyMzhBMEE5MDAy
QjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3Q0MxMjNFRUJB
MjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlD
dXN0b20uY3BwICovOyB9OwogCQk4OTNDNDdERjEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3Rv
cnlFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3Rv
bS5jcHAgKi87IH07CisJCTg5M0M0ODAwMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRy
eVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODkzQzQ3RjAxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi87IH07
CisJCTg5M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0YxMTI0OEJE
MzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MDIxMjQ4
QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjIxMjQ4QkQzOTAwMkIzRDg2IC8q
IERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwMzEyNDhCRDNBMDAyQjNE
ODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjMxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJl
YWRlclN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MDQxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVT
eXN0ZW1CYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5M0M0N0Y0MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAgKi87
IH07CisJCTg5M0M0ODA1MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjUxMjQ4
QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggKi87IH07CisJCTg5M0M0ODA2MTI0
OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYgLyog
RE9NRmlsZVN5c3RlbVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwNzEyNDhCRDNBMDAyQjNEODYg
LyogRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0N0Y3MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3lu
Yy5oICovOyB9OworCQk4OTNDNDgwODEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4
MDkxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyog
RW50cnlBcnJheVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MEExMjQ4QkQzQTAwMkIzRDg2IC8qIEVu
dHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCAqLzsgfTsKKwkJODkz
QzQ4MEIxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkIxMjQ4QkQzOTAwMkIzRDg2IC8qIEVu
dHJ5QmFzZS5oICovOyB9OworCQk4OTNDNDgwQzEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5j
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
N0ZDMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwRDEy
NDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGRDEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlTeW5j
LmggKi87IH07CisJCTg5M0M0ODBFMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZF
MTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MEYx
MjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODIxMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRy
eVN5bmNDdXN0b20uY3BwICovOyB9OworCQk4OTNDNDgzMjEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5
RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLzsg
fTsKKwkJODkzQzQ4MzQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgy
ODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MzUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MjkxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgzNjEy
NDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYg
LyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0ODM3MTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxl
U3lzdGVtU3luYy5oICovOyB9OworCQk4OTNDNDgzODEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRy
eUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5jcHAgKi87
IH07CisJCTg5M0M0ODM5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyRDEyNDk1
NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgzQTEyNDk1
NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlT
eW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4M0IxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5j
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgy
RjEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4M0MxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgzMDEyNDk1NDcyMDAyQjNEODYgLyogSlNG
aWxlRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RmlsZUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODkzQzQ4MzExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oICovOyB9
OworCQk4OTNDNDg1MzEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4NTIxMjQ5
OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCAqLzsgfTsKIAkJODk4Nzg1NTIx
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJEQSAvKiBE
aXJlY3RvcnlFbnRyeS5jcHAgKi87IH07CiAJCTg5ODc4NTUzMTIyQ0EwNjQwMDNBQUJEQSAvKiBE
aXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi87IH07
CiAJCTg5ODc4NTU0MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1M0IxMjJDQTA2
NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CkBAIC04MzMwLDYgKzgzNjAs
MzYgQEAKIAkJODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4
NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTND
NDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjAxMjQ4QkQzOTAwMkIzRDg2
IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGMTEyNDhC
RDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjIxMjQ4
QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHBhdGggPSBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDdGMzEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHBhdGgg
PSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNlLmNw
cDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3RlbUJhc2Uu
aDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5j
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1T
eW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNzEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5
c3RlbVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3Rl
bVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlT
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QXJyYXlT
eW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5
bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlBcnJheVN5bmMuaDsg
cGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ3RkExMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeUJhc2UuY3BwOyBwYXRoID0gZmlsZWFw
aS9FbnRyeUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQjEy
NDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEVudHJ5QmFzZS5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeUJhc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3lu
Yy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeVN5bmMuY3Bw
OyBwYXRoID0gZmlsZWFwaS9FbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDdGRDEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlTeW5jLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeVN5
bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkUxMjQ4QkQzOTAwMkIz
RDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRmlsZUVudHJ5U3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNEODYg
LyogRmlsZUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxl
RW50cnlTeW5jLmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjcxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRGlyZWN0b3J5RW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlSZWFk
ZXJTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjkxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODkzQzQ4MkExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5
bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01GaWxlU3lz
dGVtU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJCMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ4MkMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeUFycmF5U3luYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJEMTI0OTU0NzIwMDJCM0Q4
NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4
MkUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ4MkYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg5M0M0ODMwMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5
bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlRW50cnlT
eW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzExMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0ZpbGVFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkz
QzQ4NTIxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlTeW5jQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVj
dG9yeUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVj
dG9yeUVudHJ5LmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0
b3J5RW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5RW50
cnkuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXIu
Y3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTM5MjgsMTggKzEzOTg4LDI4IEBACiAJCQkJODlDRDAyOTIxMUM4NUI4
NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLywKIAkJCQk4OTg3ODU4NjEyMkNBMjZBMDAz
QUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1ODcxMjJDQTI2QTAw
M0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTNDNDgyNjEyNDk1NDcyMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODI3MTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTg4MTIy
Q0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeVJlYWRlci5jcHAgKi8sCiAJCQkJODk4Nzg1ODkx
MjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkzQzQ4Mjgx
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8sCisJCQkJODkz
QzQ4MjkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAogCQkJ
CTg5ODc4NThFMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0RPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJ
CTg5ODc4NThGMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0RPTUZpbGVTeXN0ZW0uaCAqLywKKwkJCQk4
OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi8sCisJ
CQkJODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAqLywK
IAkJCQk4OTg3ODU5MDEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyaWVzQ2FsbGJhY2suY3BwICov
LAogCQkJCTg5ODc4NTkxMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJpZXNDYWxsYmFjay5oICov
LAogCQkJCTg5ODc4NTkyMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5LmNwcCAqLywKIAkJCQk4
OTg3ODU5MzEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeS5oICovLAogCQkJCTg5ODc4NTk0MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5QXJyYXkuY3BwICovLAogCQkJCTg5ODc4NTk1MTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0VudHJ5QXJyYXkuaCAqLywKKwkJCQk4OTNDNDgyQzEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MkQxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLywKIAkJCQk4OTg3ODU5NjEyMkNBMkE3MDAz
QUFCREEgLyogSlNFbnRyeUNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTg3ODU5NzEyMkNBMkE3MDAz
QUFCREEgLyogSlNFbnRyeUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ4MkUxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNEODYg
LyogSlNFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODU5ODEyMkNBMkE3MDAzQUFCREEgLyogSlNF
cnJvckNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTg3ODU5OTEyMkNBMkE3MDAzQUFCREEgLyogSlNF
cnJvckNhbGxiYWNrLmggKi8sCiAJCQkJQkMwMEYwMTAwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmls
ZS5jcHAgKi8sCkBAIC0xMzk0OCw2ICsxNDAxOCw4IEBACiAJCQkJODkzQzQ3QjYxMjM4QTA5OTAw
MkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1OUExMjJDQTJBNzAwM0FB
QkRBIC8qIEpTRmlsZUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODU5QjEyMkNBMkE3MDAzQUFCREEg
LyogSlNGaWxlRW50cnkuaCAqLywKKwkJCQk4OTNDNDgzMDEyNDk1NDcyMDAyQjNEODYgLyogSlNG
aWxlRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNG
aWxlRW50cnlTeW5jLmggKi8sCiAJCQkJMkUzQkMwQzgxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmls
ZUVycm9yLmNwcCAqLywKIAkJCQkyRTNCQzBDOTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJy
b3IuaCAqLywKIAkJCQk4OTg3ODVFRTEyMkUxRTg3MDAzQUFCREEgLyogSlNGaWxlRXhjZXB0aW9u
LmNwcCAqLywKQEAgLTE0NDQxLDI0ICsxNDUxMyw0MCBAQAogCQkJCTk3NkQ2QzYwMTIyQjhBM0Qw
MDFGRDFGNyAvKiBCbG9iVVJMLmggKi8sCiAJCQkJODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRBIC8q
IERpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyog
RGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGly
ZWN0b3J5RW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGMTEyNDhCRDM5MDAyQjNEODYgLyog
RGlyZWN0b3J5RW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRBIC8q
IERpcmVjdG9yeVJlYWRlci5jcHAgKi8sCiAJCQkJODk4Nzg1M0MxMjJDQTA2NDAwM0FBQkRBIC8q
IERpcmVjdG9yeVJlYWRlci5oICovLAorCQkJCTg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4NiAvKiBE
aXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGMzEyNDhCRDM5MDAyQjNEODYg
LyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAogCQkJCTg5ODc4NTNEMTIyQ0EwNjQwMDNBQUJE
QSAvKiBET01GaWxlUGF0aC5jcHAgKi8sCiAJCQkJODk4Nzg1M0UxMjJDQTA2NDAwM0FBQkRBIC8q
IERPTUZpbGVQYXRoLmggKi8sCiAJCQkJODk4Nzg1M0YxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZp
bGVTeXN0ZW0uY3BwICovLAogCQkJCTg5ODc4NTQwMTIyQ0EwNjQwMDNBQUJEQSAvKiBET01GaWxl
U3lzdGVtLmggKi8sCisJCQkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0
ZW1CYXNlLmNwcCAqLywKKwkJCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5
c3RlbUJhc2UuaCAqLywKKwkJCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5
c3RlbVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Y3MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxl
U3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTQxMTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyaWVz
Q2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU0MjEyMkNBMDY0MDAzQUFCREEgLyogRW50cnkuY3Bw
ICovLAogCQkJCTg5ODc4NTQzMTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeS5oICovLAogCQkJCTg5
ODc4NTQ0MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmNwcCAqLywKIAkJCQk4OTg3ODU0
NTEyMkNBMDY0MDAzQUFCREEgLyogRW50cnlBcnJheS5oICovLAorCQkJCTg5M0M0N0Y4MTI0OEJE
MzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjkxMjQ4QkQz
OTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi8sCisJCQkJODkzQzQ3RkExMjQ4QkQzOTAw
MkIzRDg2IC8qIEVudHJ5QmFzZS5jcHAgKi8sCisJCQkJODkzQzQ3RkIxMjQ4QkQzOTAwMkIzRDg2
IC8qIEVudHJ5QmFzZS5oICovLAogCQkJCTg5ODc4NTQ2MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRy
eUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3lu
Yy5jcHAgKi8sCisJCQkJODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oICov
LAogCQkJCTg5ODc4NTQ3MTIyQ0EwNjQwMDNBQUJEQSAvKiBFcnJvckNhbGxiYWNrLmggKi8sCiAJ
CQkJOTc2RDZDNjExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuY3BwICovLAogCQkJCTk3NkQ2QzYy
MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlLmggKi8sCiAJCQkJODkzQzQ3QTUxMjM4OTA4QjAwMkIz
RDg2IC8qIEZpbGVDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQ4MTIyQ0EwNjQwMDNBQUJEQSAv
KiBGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTQ5MTIyQ0EwNjQwMDNBQUJEQSAvKiBGaWxl
RW50cnkuaCAqLywKKwkJCQk4OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3lu
Yy5jcHAgKi8sCisJCQkJODkzQzQ3RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMu
aCAqLywKIAkJCQk5NzZENkM2NDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUVycm9yLmggKi8sCiAJ
CQkJMkVERjM2OUUxMjJDOTRDODAwMkY3RDRFIC8qIEZpbGVFeGNlcHRpb24uaCAqLywKIAkJCQk5
NzZENkM2NjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUxpc3QuY3BwICovLApAQCAtMTYzODIsNiAr
MTY0NzAsNyBAQAogCQkJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk4OTNDNDdERTEyM0VGNEE5
MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8sCisJCQkJODkzQzQ4MjAx
MjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCAqLywKIAkJ
CQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8sCiAJ
CQkJMUFDMjI2MTYwREI2OUY3NDAwODlCNjY5IC8qIEpTRE9NQXBwbGljYXRpb25DYWNoZUN1c3Rv
bS5jcHAgKi8sCiAJCQkJMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFD
dXN0b20uY3BwICovLApAQCAtMTYzOTMsNiArMTY0ODIsNyBAQAogCQkJCTY1MkZCQkJCMERFMjdD
QjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLAogCQkJCUJDMkVENTU0MEM2QjlC
RDMwMDkyMEJGRiAvKiBKU0VsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCTg5M0M0N0NBMTIzRUVC
QTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLywKKwkJCQk4OTNDNDg1MjEyNDk5QjA2
MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovLAogCQkJCUJDRUZBRjREMEMzMTdF
NjkwMEZBODFGNiAvKiBKU0V2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI4MDExQzVEMkI0
MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzIxMDUw
OEQ5QzAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5Q3VzdG9tLmNwcCAqLywKQEAgLTIwNTgyLDYg
KzIwNjcyLDIwIEBACiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRM
aWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTMxMjQ4RjBCMzAwRDNBOUM5
IC8qIFNwb3RMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDExMjQ4QkQz
QTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkz
QzQ4MDMxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg5M0M0ODA1MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDcxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVT
eXN0ZW1TeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYg
LyogRW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBCMTI0OEJEM0Ew
MDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBEMTI0OEJE
M0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBGMTI0
OEJEM0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTND
NDgzMzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg5M0M0ODM1MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5
bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODM3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RP
TUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzOTEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4M0Ix
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTND
NDgzRDEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTIzMDYxLDYgKzIzMTY1LDIyIEBACiAJCQkJODQ3MzBEOEExMjQ4RjBCMzAwRDNBOUM5IC8q
IEZFVGlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NDczMEQ4QzEyNDhGMEIzMDBEM0E5Qzkg
LyogRkVUdXJidWxlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0NzMwRDkwMTI0OEYwQjMw
MEQzQTlDOSAvKiBMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwMDEy
NDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lz
dGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwNjEyNDhCRDNBMDAyQjNEODYg
LyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDgxMjQ4
QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5
M0M0ODBBMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzIxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5
M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODkzQzQ4MzYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3Rl
bVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzgxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4M0ExMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODND
MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVu
dHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlT
eW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg2OGNlOGEwYWJjMGVmNmM2MjdjZWVhZmE5YWRk
OWZkZmMxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVj
dG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRGlyZWN0b3J5RW50
cnlTeW5jLmgiCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0VudHJ5
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Zp
bGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZsYWdzLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKEV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0PERpcmVjdG9yeUVu
dHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0gdmFsdWVUb1N0cmlu
Z1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
KworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5p
c051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1
bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0cygmSlNGbGFn
czo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+YXJndW1lbnQo
MSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAgICAg
ICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAi
Y3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRvQm9vbGVhbihl
eGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdldChleGVjLCBJ
ZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNp
dmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmxh
Z3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOworICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIHRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIGVjKSkpOwor
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
SlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0PERpcmVjdG9y
eUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0gdmFsdWVUb1N0
cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7Cisg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1bWVudCgx
KS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVjLT5h
cmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0cygmSlNG
bGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+YXJndW1l
bnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAg
ICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVj
LCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRvQm9vbGVh
bihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdldChleGVj
LCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5zZXRFeGNs
dXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
ZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIGVjKSkp
OworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVN
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MmY5NmFkODdhNzBhY2FiZmEzYzVlMTE0NTc5N2YzMDgyMWY5MjRjCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw2
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2lu
Y2x1ZGUgIkpTRW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3luYy5oIgorI2lu
Y2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1ZSB0
b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW50
cnlTeW5jKiBlbnRyeSkKK3sKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICByZXR1cm4ganNOdWxs
KCk7CisKKyAgICBpZiAoZW50cnktPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4gZ2V0RE9NT2Jq
ZWN0V3JhcHBlcjxKU0ZpbGVFbnRyeVN5bmM+KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nh
c3Q8RmlsZUVudHJ5U3luYyo+KGVudHJ5KSk7CisKKyAgICBBU1NFUlQoZW50cnktPmlzRGlyZWN0
b3J5KCkpOworICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpTRGlyZWN0b3J5RW50cnlT
eW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5U3luYyo+
KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDI0YzllYTg4NWJm
NTE4NzMwZDM0Yzc3MjY5MzY3MDlhMDU3YjRlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0wLDAg
KzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4RGlyZWN0b3J5RW50cnlT
eW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlF
bnRyeVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiVjhCaW5k
aW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAiVjhFbnRyeUNh
bGxiYWNrLmgiCisjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhGbGFn
cy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeUNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uRGlyZWN0
b3J5RW50cnlTeW5jLmdldERpcmVjdG9yeSIpOworICAgIERpcmVjdG9yeUVudHJ5U3luYyogaW1w
ID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIFNU
UklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8V2l0aFVuZGVm
aW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PD0gMSkgeworICAgICAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoKTsKKyAgICAgICAgcmV0dXJu
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdz
OworICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmpl
Y3QoKSAmJiAhVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAgICAgRVhDRVBU
SU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgp
OworICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRlLklzRW1wdHko
KSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAgICBFWENFUFRJ
T05fQkxPQ0soYm9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAg
ICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQorICAgICAgICB2
ODo6TG9jYWw8djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6
Ok5ldygiZXhjbHVzaXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklzRW1wdHkoKSAm
JiAhaXNVbmRlZmluZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAgICBFWENFUFRJ
T05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7
CisgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKKyAgICAgICAg
fQorICAgIH0gZWxzZSB7CisgICAgICAgRVhDRVBUSU9OX0JMT0NLKEZsYWdzKiwgdG1wX2ZsYWdz
LCBWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4RmxhZ3M6OnRvTmF0aXZlKHY4OjpI
YW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7CisgICAgICAgZmxhZ3MgPSB0
bXBfZmxhZ3M7CisgICAgfQorICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAh
YXJnc1syXS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0
KCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7Cisg
ICAgICAgIHN1Y2Nlc3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0s
IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJn
c1szXS0+SXNOdWxsKCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYg
KCFhcmdzWzNdLT5Jc09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQ
RV9NSVNNQVRDSF9FUlIpOworICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNr
OjpjcmVhdGUoYXJnc1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9Cisg
ICAgaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JD
YWxsYmFjayk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGVDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9y
eUVudHJ5U3luYy5nZXRGaWxlIik7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBWOERp
cmVjdG9yeUVudHJ5U3luYzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU1RSSU5HX1RP
X1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjxXaXRoVW5kZWZpbmVkT3JO
dWxsQ2hlY2s+LCBwYXRoLCBhcmdzWzBdKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7
CisgICAgICAgIGltcC0+Z2V0RmlsZShwYXRoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICgh
aXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAhVjhG
bGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAgICAgRVhDRVBUSU9OX0JMT0NLKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAgICAgICB2
ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5l
dygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRlLklzRW1wdHkoKSAmJiAhaXNVbmRl
ZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9v
bCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAgICBmbGFn
cy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQorICAgICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhjbHVz
aXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklzRW1wdHkoKSAmJiAhaXNVbmRlZmlu
ZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9v
bCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAg
ICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKKyAgICAgICAgfQorICAgIH0gZWxz
ZSB7CisgICAgICAgRVhDRVBUSU9OX0JMT0NLKEZsYWdzKiwgdG1wX2ZsYWdzLCBWOEZsYWdzOjpI
YXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9i
amVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7CisgICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7Cisg
ICAgfQorICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CisgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNV
bmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCisgICAgICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHN1Y2Nl
c3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0sIGdldFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJnc1szXS0+SXNOdWxs
KCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFhcmdzWzNdLT5J
c09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9F
UlIpOworICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpjcmVhdGUoYXJn
c1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgaW1wLT5nZXRG
aWxlKHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIHJl
dHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKworCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOThkZjE5
YjBiMTNlMTk0ZWJhYjY3MWU2ZjY0ZTBhMThmYzA3YjIyCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJWOEF0dHIuaCIKKyNpbmNsdWRlICJWOEJp
bmRpbmcuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmdTdGF0ZS5oIgorI2luY2x1ZGUgIlY4RGlyZWN0
b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiVjhFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOEZp
bGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KEVudHJ5U3luYyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6
TnVsbCgpOworCisgICAgaWYgKGltcGwtPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4gdG9WOChz
dGF0aWNfY2FzdDxGaWxlRW50cnlTeW5jKj4oaW1wbCkpOworCisgICAgQVNTRVJUKGltcGwtPmlz
RGlyZWN0b3J5KCkpOworICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5
U3luYyo+KGltcGwpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW0uY3BwIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IGFmZDNl
MWViMTJlYWE2NTk4YzUzMGU1YmNjMjU5Y2Y0NzZmN2Y1MTQuLjUyYjFiYmJhZTdlMGI2YTViMzcx
NjhlNmViMGJmYzUzOTg5MzQzMmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKQEAgLTUz
LDEzICs1Myw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERPTUZpbGVTeXN0ZW06OkRPTUZp
bGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQotICAgIDog
QWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCi0gICAgLCBtX25hbWUobmFtZSkKLSAgICAs
IG1fYXN5bmNGaWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKLXsKLX0KLQotRE9NRmlsZVN5c3Rl
bTo6fkRPTUZpbGVTeXN0ZW0oKQorICAgIDogRE9NRmlsZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNG
aWxlU3lzdGVtKQorICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmggYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDg4MWZmYzU5MzkyNDkwNmRiY2E1YzhjZDkzMmY2
MmNkNWI4YWEwMWQuLmJkYzY1Nzg2MDdlMWY1NmIxM2MwYWJlYzNjZWQ4NGUzZjhmZjI0NzEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW0uaApAQCAtMzUsNiArMzUsNyBAQAogCiAjaW5jbHVkZSAiQWN0
aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAi
RE9NRmlsZVN5c3RlbUJhc2UuaCIKICNpbmNsdWRlICJGbGFncy5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtNTMs
MTYgKzU0LDEzIEBAIGNsYXNzIEZpbGVXcml0ZXJDYWxsYmFjazsKIGNsYXNzIE1ldGFkYXRhQ2Fs
bGJhY2s7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiAKLWNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJs
aWMgUmVmQ291bnRlZDxET01GaWxlU3lzdGVtPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Citj
bGFzcyBET01GaWxlU3lzdGVtIDogcHVibGljIERPTUZpbGVTeXN0ZW1CYXNlLCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01GaWxlU3lz
dGVtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtKGNvbnRleHQsIG5h
bWUsIGFzeW5jRmlsZVN5c3RlbSkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfkRPTUZpbGVTeXN0
ZW0oKTsKLQotICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsg
fQogICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnk+IHJvb3QoKTsKIAogICAgIC8vIEFjdGl2
ZURPTU9iamVjdCBtZXRob2RzLgpAQCAtODgsOCArODYsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIERPTUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYg
bmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+KTsKIAotICAgIEFzeW5jRmlsZVN5c3Rl
bSogYXN5bmNGaWxlU3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9hc3luY0ZpbGVTeXN0ZW0uZ2V0
KCk7IH0KLQogICAgIC8vIEEgaGVscGVyIHRlbXBsYXRlIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2sg
dGFzay4KICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHRvIGEgbW9yZSBnZW5lcmljIHBsYWNlLgog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDQiwgdHlwZW5hbWUgQ0JBcmc+CkBAIC0xMTAsOSArMTA2
LDYgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPENCPiBtX2NhbGxiYWNrOwogICAgICAgICBS
ZWZQdHI8Q0JBcmc+IG1fY2FsbGJhY2tBcmc7CiAgICAgfTsKLQotICAgIFN0cmluZyBtX25hbWU7
Ci0gICAgbXV0YWJsZSBPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBtX2FzeW5jRmlsZVN5c3RlbTsK
IH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDQiwgdHlwZW5hbWUgQ0JBcmc+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGIvV2ViQ29yZS9maWxlYXBp
L0RPTUZpbGVTeXN0ZW1CYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODBjMDMwYTU2YjI2MWY1OTEzZGQy
YjE4NWRhZjcwZTllZWU0NDlkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVTeXN0ZW1CYXNlLmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJET01GaWxlUGF0aC5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5Lmgi
CisjaW5jbHVkZSAiRW50cmllc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiRW50cnlCYXNlLmgiCisj
aW5jbHVkZSAiRW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKyNp
bmNsdWRlICJGaWxlRXJyb3IuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiCisj
aW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgorI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgor
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01GaWxl
U3lzdGVtQmFzZTo6RE9NRmlsZVN5c3RlbUJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3du
UHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQorICAgIDogbV9uYW1lKG5hbWUp
CisgICAgLCBtX2FzeW5jRmlsZVN5c3RlbShhc3luY0ZpbGVTeXN0ZW0pCit7Cit9CisKK0RPTUZp
bGVTeXN0ZW1CYXNlOjp+RE9NRmlsZVN5c3RlbUJhc2UoKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMTBkYTUzNTgyZTY3NGMyYzZkN2IxZWFkOGU4
ZGNhZjk2ZWU1ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5
c3RlbUJhc2UuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01GaWxlU3lzdGVtQmFzZV9oCisj
ZGVmaW5lIERPTUZpbGVTeXN0ZW1CYXNlX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZsYWdzLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGly
ZWN0b3J5RW50cnk7CitjbGFzcyBFbnRyeUJhc2U7CitjbGFzcyBFbnRyeUNhbGxiYWNrOworY2xh
c3MgRW50cmllc0NhbGxiYWNrOworY2xhc3MgRXJyb3JDYWxsYmFjazsKK2NsYXNzIE1ldGFkYXRh
Q2FsbGJhY2s7CitjbGFzcyBWb2lkQ2FsbGJhY2s7CisKKy8vIEEgY29tbW9uIGJhc2UgY2xhc3Mg
Zm9yIERPTUZpbGVTeXN0ZW0gYW5kIERPTUZpbGVTeXN0ZW1TeW5jLgorY2xhc3MgRE9NRmlsZVN5
c3RlbUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxET01GaWxlU3lzdGVtQmFzZT4geworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVt
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtQmFzZShu
YW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKKyAgICB9CisgICAgdmlydHVhbCB+RE9NRmlsZVN5c3Rl
bUJhc2UoKTsKKworICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFt
ZTsgfQorICAgIEFzeW5jRmlsZVN5c3RlbSogYXN5bmNGaWxlU3lzdGVtKCkgY29uc3QgeyByZXR1
cm4gbV9hc3luY0ZpbGVTeXN0ZW0uZ2V0KCk7IH0KKworcHJvdGVjdGVkOgorICAgIERPTUZpbGVT
eXN0ZW1CYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+
KTsKKyAgICBmcmllbmQgY2xhc3MgRE9NRmlsZVN5c3RlbVN5bmM7CisKKyAgICBTdHJpbmcgbV9u
YW1lOworICAgIG11dGFibGUgT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gbV9hc3luY0ZpbGVTeXN0
ZW07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNlbmRpZiAvLyBET01GaWxlU3lzdGVtQmFzZV9oCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVTeXN0ZW1TeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGFmYzFkZGVjZDgxZTcyNDlkMzVkYzJk
MjRmMjUzNTMyNzkwZjc1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW1TeW5jLmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkRPTUZpbGVTeXN0ZW1TeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisK
KyNpbmNsdWRlICJET01GaWxlUGF0aC5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+
IERPTUZpbGVTeXN0ZW1TeW5jOjpjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0p
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtU3luYyhmaWxlU3lzdGVt
LT5tX25hbWUsIGZpbGVTeXN0ZW0tPm1fYXN5bmNGaWxlU3lzdGVtLmxlYWtQdHIoKSkpOworfQor
CitET01GaWxlU3lzdGVtU3luYzo6RE9NRmlsZVN5c3RlbVN5bmMoY29uc3QgU3RyaW5nJiBuYW1l
LCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQorICAgIDogRE9N
RmlsZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNGaWxlU3lzdGVtKQoreworfQorCitET01GaWxlU3lz
dGVtU3luYzo6fkRPTUZpbGVTeXN0ZW1TeW5jKCkKK3sKK30KKworUGFzc1JlZlB0cjxEaXJlY3Rv
cnlFbnRyeVN5bmM+IERPTUZpbGVTeXN0ZW1TeW5jOjpyb290KCkKK3sKKyAgICByZXR1cm4gRGly
ZWN0b3J5RW50cnlTeW5jOjpjcmVhdGUodGhpcywgRE9NRmlsZVBhdGg6OnJvb3QpOworfQorCit9
IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWNmNDYxNDliNzhiODQ3MDhmNTdlNDM3
OTNjODE1ZTg2M2FlNGUyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW1TeW5jLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9NRmlsZVN5c3RlbVN5bmNf
aAorI2RlZmluZSBET01GaWxlU3lzdGVtU3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5U3luYzsKKwordHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKKworY2xhc3MgRE9NRmlsZVN5c3RlbVN5bmMgOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2Ug
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1TeW5jPiBjcmVh
dGUoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNG
aWxlU3lzdGVtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lz
dGVtU3luYyhuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKKyAgICB9CisKKyAgICAvLyBUaGlzIGNh
bGwgaXMgZGVzdHJ1Y3RpdmU7IHRoZSBhcmd1bWVudCBmaWxlU3lzdGVtIHdpbGwgYmVjb21lIHVu
dXNhYmxlLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1TeW5jPiBjcmVhdGUo
RE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0pOworCisgICAgdmlydHVhbCB+RE9NRmlsZVN5
c3RlbVN5bmMoKTsKKworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiByb290KCk7
CisKK3ByaXZhdGU6CisgICAgRE9NRmlsZVN5c3RlbVN5bmMoY29uc3QgU3RyaW5nJiBuYW1lLCBQ
YXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERPTUZpbGVTeXN0ZW1TeW5j
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwgYi9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1MWQ4Y2Nk
NjIwMGE3NGFhZWEwZTQyNzY0NzkyYzZhZjYxN2Y5NjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
c3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNU
RU0sCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBET01GaWxlU3lzdGVtU3luYyB7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERpcmVjdG9yeUVudHJ5U3luYyByb290OworICAgIH07Cit9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NmRkNzgyNWU5MDI5NWVh
MDM3NWZhZjBjZjc5NjkzMjlhMjY4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVh
cGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgorI2luY2x1ZGUgIkVu
dHJ5U3luYy5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeUVudHJ5U3luYzo6
RGlyZWN0b3J5RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBT
dHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKQor
eworfQorCitQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlclN5bmM+IERpcmVjdG9yeUVudHJ5U3lu
Yzo6Y3JlYXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKQoreworICAgIHJldHVybiBEaXJlY3RvcnlS
ZWFkZXJTeW5jOjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Z1bGxQYXRoKTsKK30KKworUGFzc1Jl
ZlB0cjxGaWxlRW50cnlTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGUoY29uc3QgU3Ry
aW5nJiwgUGFzc1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKQoreworICAgIC8vIEZJWE1F
OiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAw
OworfQorCitQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gRGlyZWN0b3J5RW50cnlTeW5j
OjpnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlv
bkNvZGUmKQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjAyNTk1M2E2ZWQ5ZmEyODljYWE0OWJkZjgxMjA2OGM4MjFjMjg0MzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmgKQEAgLTAs
MCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgRGlyZWN0b3J5RW50cnlTeW5jX2gKKyNkZWZpbmUgRGlyZWN0b3J5
RW50cnlTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5
U3luYy5oIgorI2luY2x1ZGUgIkZsYWdzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5UmVhZGVyU3luYzsKK2Ns
YXNzIEZpbGVFbnRyeVN5bmM7CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5U3luYyA6IHB1YmxpYyBF
bnRyeVN5bmMgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5
U3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlF
bnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisgICAgdmlydHVhbCBib29s
IGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgUGFzc1JlZlB0cjxE
aXJlY3RvcnlSZWFkZXJTeW5jPiBjcmVhdGVSZWFkZXIoRXhjZXB0aW9uQ29kZSYpOworICAgIFBh
c3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gZ2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NS
ZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlF
bnRyeVN5bmM+IGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8Rmxh
Z3M+LCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIEVudHJ5
U3luYzsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERpcmVjdG9yeUVudHJ5U3lu
Y19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbCBi
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjNzk2
YmZjNzNkM2U4ZWE5N2MzMjc1ZDM4NjAxMDc0MzBiMmI0ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbApAQCAtMCwwICsxLDQyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9k
dWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVf
U1lTVEVNLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAgICAgICAgR2VuZXJh
dGVUb0pTLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRGlyZWN0b3J5RW50cnlTeW5j
IDogRW50cnlTeW5jIHsKKyAgICAgICAgRGlyZWN0b3J5UmVhZGVyU3luYyBjcmVhdGVSZWFkZXIo
KSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSBGaWxlRW50cnlTeW5j
IGdldEZpbGUoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyBwYXRoLCBpbiBGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAg
W0N1c3RvbV0gRGlyZWN0b3J5RW50cnlTeW5jIGdldERpcmVjdG9yeShpbiBbQ29udmVydFVuZGVm
aW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIEZsYWdzIGZsYWdzKSBy
YWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODdkNTZiYzZkOWZmMDliYTc0ZmJmNmIxN2U2MGY0
ODZkZDIxNjI0OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkRpcmVjdG9yeVJlYWRlclN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJlY3RvcnlSZWFkZXJTeW5jOjpEaXJlY3RvcnlS
ZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1
bGxQYXRoKQorICAgIDogbV9maWxlU3lzdGVtKGZpbGVTeXN0ZW0pCisgICAgLCBtX2Z1bGxQYXRo
KGZ1bGxQYXRoKQoreworfQorCitQYXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiBEaXJlY3RvcnlS
ZWFkZXJTeW5jOjpyZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTog
dG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsK
K30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggYi9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlODMxNjFkNjdiY2Nl
N2E4MzM2NDljMDJjYmYyNzgxZjk2YjI4YzEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVj
dG9yeVJlYWRlclN5bmNfaAorI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKKworI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5QXJyYXlTeW5jLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGly
ZWN0b3J5UmVhZGVyU3luYyA6IHB1YmxpYyBSZWZDb3VudGVkPERpcmVjdG9yeVJlYWRlclN5bmM+
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBj
cmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBh
dGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJlYWRlclN5
bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRyPEVudHJ5
QXJyYXlTeW5jPiByZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6CisgICAg
RGlyZWN0b3J5UmVhZGVyU3luYyhET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCk7CisKKyAgICBET01GaWxlU3lzdGVtQmFzZSogbV9maWxlU3lzdGVt
OworICAgIFN0cmluZyBtX2Z1bGxQYXRoOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERpcmVjdG9yeVJlYWRlclN5bmNf
aApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIGIv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMzk5
MjgzMjY3ZjhhNWJlYTJjZWYwZTY0ODdhMWZmOGQ2ODMyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKQEAgLTAsMCArMSwzOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21v
ZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxF
X1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERpcmVjdG9yeVJlYWRlclN5
bmMgeworICAgICAgICBFbnRyeUFycmF5U3luYyByZWFkRW50cmllcygpIHJhaXNlcyAoRmlsZUV4
Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVkYmYyZGNkZTdlYTE0Yzc5MWE5YjdlN2Q2OTYwOThlNDQ5ODkzNzYKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwCkBAIC0wLDAgKzEsNTEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMuaCIKKworI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFbnRyeUFycmF5
U3luYzo6RW50cnlBcnJheVN5bmMoKQoreworfQorCitFbnRyeVN5bmMqIEVudHJ5QXJyYXlTeW5j
OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBtX2VudHJp
ZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9lbnRyaWVzW2luZGV4
XS5nZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTEzMTJm
ZDViMzlmNDRiMTJmYzgwMmUxNmM3MWI3ZWMzZTdjMjdkCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRW50
cnlBcnJheVN5bmNfaAorI2RlZmluZSBFbnRyeUFycmF5U3luY19oCisKKyNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRW50cnlBcnJheTsKKworY2xhc3MgRW50cnlBcnJheVN5bmMgOiBwdWJsaWMg
UmVmQ291bnRlZDxFbnRyeUFycmF5U3luYz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEVudHJ5QXJyYXlTeW5jPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBFbnRyeUFycmF5U3luYygpKTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX2VudHJpZXMuc2l6ZSgpOyB9CisgICAgRW50cnlTeW5jKiBpdGVt
KHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICB2b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgUGFz
c1JlZlB0cjxFbnRyeVN5bmM+IGVudHJ5KTsKKworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsg
cmV0dXJuIG1fZW50cmllcy5pc0VtcHR5KCk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBtX2VudHJp
ZXMuY2xlYXIoKTsgfQorICAgIHZvaWQgYXBwZW5kKFBhc3NSZWZQdHI8RW50cnlTeW5jPiBlbnRy
eSkgeyBtX2VudHJpZXMuYXBwZW5kKGVudHJ5KTsgfQorCitwcml2YXRlOgorICAgIEVudHJ5QXJy
YXlTeW5jKCk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEVudHJ5U3luYz4gPiBtX2VudHJpZXM7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNU
RU0pCisKKyNlbmRpZiAvLyBFbnRyeUFycmF5U3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlBcnJheVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iZDU0ZjMzZWVlOWQyNzRkMmI2Y2IwZTg4OWNjMzY4ZDYxYmI1M2Y5
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBIYXNJbmRleEdldHRlciwKKyAgICAg
ICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIEVudHJ5QXJyYXlTeW5jIHsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgICAgICBFbnRyeVN5bmMgaXRl
bShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgfTsKK30KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
QmFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODM2NDY2ZDJmNzZkZTM0ZDc2NzcxN2M5ZDQyNDQ1ZDgyMjdj
ZDc1NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnlCYXNlLmgi
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlUGF0aC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VudHJ5QmFzZTo6RW50cnlCYXNlKERPTUZpbGVTeXN0
ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogbV9maWxl
U3lzdGVtKGZpbGVTeXN0ZW0pCisgICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQorICAgICwgbV9u
YW1lKERPTUZpbGVQYXRoOjpnZXROYW1lKGZ1bGxQYXRoKSkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5oIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE3MDhjNzI3MzNlM2ZlMDNjOTlhZDdjOGMzNmFlYzcyNzYzNDRhYzcKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmgKQEAgLTAsMCArMSw3
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgRW50cnlCYXNlX2gKKyNkZWZpbmUgRW50cnlCYXNlX2gKKworI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUZpbGVTeXN0ZW1CYXNlOworY2xhc3MgRW50cnlTeW5j
OworCisvLyBBIGNvbW1vbiBiYXNlIGNsYXNzIGZvciBFbnRyeSBhbmQgRW50cnlTeW5jLgorY2xh
c3MgRW50cnlCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnlCYXNlPiB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+RW50cnlCYXNlKCkgeyB9CisKKyAgICBET01GaWxlU3lzdGVtQmFzZSogZmls
ZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbTsgfQorCisgICAgdmlydHVhbCBi
b29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlz
RGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIGNvbnN0IFN0cmluZyYg
ZnVsbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxQYXRoOyB9CisgICAgY29uc3QgU3RyaW5n
JiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisKK3Byb3RlY3RlZDoKKyAgICBFbnRy
eUJhc2UoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBh
dGgpOworICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CisKKyAgICBET01GaWxlU3lzdGVtQmFz
ZSogbV9maWxlU3lzdGVtOworICAgIFN0cmluZyBtX2Z1bGxQYXRoOworICAgIFN0cmluZyBtX25h
bWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeUJhc2VfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YWFhMzU2Yzc0YjJlNzljYWM0ODA3YzI2ZTc1MWZmMGQ0OTRmNjM4Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5jcHAKQEAgLTAsMCArMSw4NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGly
ZWN0b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiTWV0YWRhdGEuaCIKKyNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VudHJ5U3luYzo6RW50cnlT
eW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KQorICAgIDogRW50cnlCYXNlKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKQoreworfQorCitQYXNzUmVm
UHRyPE1ldGFkYXRhPiBFbnRyeVN5bmM6OmdldE1ldGFkYXRhKEV4Y2VwdGlvbkNvZGUmKQorewor
ICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPEVudHJ5U3luYz4gRW50cnlTeW5jOjptb3Zl
VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRp
b25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxFbnRyeVN5
bmM+IEVudHJ5U3luYzo6Y29weVRvKFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiwgY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IHRvIGJl
IGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisK
K3ZvaWQgRW50cnlTeW5jOjpyZW1vdmUoRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7CisgICAgLy8g
RklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1Bh
c3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6OmdldFBhcmVudCgpIGNvbnN0Cit7CisgICAg
Ly8gU3luYyB2ZXJpb24gb2YgZ2V0UGFyZW50IGRvZXNuJ3QgdGhyb3cgZXhjZXB0aW9ucy4KKyAg
ICBTdHJpbmcgcGFyZW50UGF0aCA9IERPTUZpbGVQYXRoOjpnZXREaXJlY3RvcnkoZnVsbFBhdGgo
KSk7CisgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5U3luYzo6Y3JlYXRlKG1fZmlsZVN5c3RlbSwg
cGFyZW50UGF0aCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmggYi9XZWJD
b3JlL2ZpbGVhcGkvRW50cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE3ZGI2MGNlOTY3MGIzY2VlMWNh
YmRkZjg5ZDkxZTkwZjBkODZlYgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeVN5bmMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRyeVN5bmNfaAorI2RlZmluZSBF
bnRyeVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmls
ZVN5c3RlbVN5bmMuaCIKKyNpbmNsdWRlICJFbnRyeUJhc2UuaCIKKyNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOworY2xhc3MgTWV0YWRhdGE7CisKK2Ns
YXNzIEVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeUJhc2UgeworcHVibGljOgorICAgIERPTUZpbGVT
eXN0ZW1TeW5jKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NRmls
ZVN5c3RlbVN5bmMqPihtX2ZpbGVTeXN0ZW0pOyB9CisKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
TWV0YWRhdGE+IGdldE1ldGFkYXRhKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8RW50cnlTeW5jPiBtb3ZlVG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHBh
cmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdmly
dHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gY29weVRvKFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50
cnlTeW5jPiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0
OworICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IGdldFBhcmVudCgpIGNvbnN0OworCitwcm90ZWN0
ZWQ6CisgICAgRW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBT
dHJpbmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFC
TEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mYjdlZTNjMzhjOTU0OTQ4ODM4MzE5OWU3NjUzYTU5MmZmZjczZjU1Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwKQEAgLTAsMCAr
MSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgQ3VzdG9tVG9KUywKKyAgICAgICAgTm9TdGF0aWNU
YWJsZXMKKyAgICBdIEVudHJ5U3luYyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzRmlsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNEaXJlY3Rv
cnk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmdWxsUGF0aDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTUZpbGVTeXN0ZW1TeW5jIGZpbGVzeXN0ZW07CisKKyAgICAgICAgTWV0YWRh
dGEgZ2V0TWV0YWRhdGEoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBFbnRyeVN5
bmMgbW92ZVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJlbnQsIGluIFtDb252ZXJ0VW5kZWZp
bmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSkgcmFpc2VzIChGaWxlRXhjZXB0
aW9uKTsKKyAgICAgICAgRW50cnlTeW5jIGNvcHlUbyhpbiBEaXJlY3RvcnlFbnRyeVN5bmMgcGFy
ZW50LCBpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5h
bWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlKCkgcmFpc2Vz
IChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgRGlyZWN0b3J5RW50cnlTeW5jIGdldFBhcmVudCgp
OworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5j
cHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRlM2Y4
MzgxMDJiNzgyZDRlOTVjZDkzZmJhMjc5ZTk4ZjM5MzgwZQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGaWxlRW50cnlTeW5jOjpGaWxlRW50
cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQ
YXRoKQorICAgIDogRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKQoreworfQorCit9IC8v
IG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50
cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyZDJjMzU4YjJiM2JhMjRlZmZmMWZlY2M3NjgwMGI4ZjIw
NTlmYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZUVudHJ5U3luY19oCisjZGVmaW5lIEZpbGVFbnRy
eVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnlTeW5j
LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRmlsZUVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5bmMgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFz
ZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRmlsZUVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKyAgICBGaWxlRW50cnlT
eW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNlbmRpZiAvLyBGaWxlRW50cnlTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NTA1OTAxMmY4MGE5NjFiMDBmNTg1YWMyNmE5NzZiNzIwYzkzN2E5Ci0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCkBAIC0wLDAg
KzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAg
ICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBGaWxlRW50
cnlTeW5jIDogRW50cnlTeW5jIHsKKyAgICAgICAgLy8gRklYTUU6IHRvIGJlIGFkZGVkLgorICAg
ICAgICAvLyBGaWxlV3JpdGVyU3luYyBjcmVhdGVXcml0ZXIoKTsKKyAgICAgICAgLy8gRmlsZSBm
aWxlKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69366</attachid>
            <date>2010-09-30 12:49:32 -0700</date>
            <delta_ts>2010-09-30 13:02:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20100930124931.patch</filename>
            <type>text/plain</type>
            <size>135219</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29y
a2VyLWNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMt
d29ya2VyLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTE3NmMwYjY0NzMwNzc0MDVlMmQzNzNkMjdj
Njg2ZDA1Nzk0YWNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzCkBAIC0wLDAgKzEsMzQgQEAKK2Z1bmN0
aW9uIGRlYnVnKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UobWVzc2FnZSk7Cit9CisKK2Z1
bmN0aW9uIGZpbmlzaEpTVGVzdCgpCit7CisgICAgcG9zdE1lc3NhZ2UoIkRPTkUiKTsKK30KKwor
ZnVuY3Rpb24gZGVzY3JpcHRpb24obWVzc2FnZSkKK3sKKyAgICBwb3N0TWVzc2FnZSgnRGVzY3Jp
cHRpb246ICcgKyBtZXNzYWdlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmUoX2EsIF9iKQorewor
ICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAic3RyaW5nIikKKyAg
ICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMiKTsKKyAg
dmFyIF9hdiA9IGV2YWwoX2EpOworICB2YXIgX2J2ID0gZXZhbChfYik7CisgIGlmIChfYXYgPT09
IF9idikKKyAgICBkZWJ1ZygiUEFTUzogIiArIF9hICsgIiBpcyAiICsgX2IpOworICBlbHNlCisg
ICAgZGVidWcoIkZBSUw6ICIgKyBfYSArICIgc2hvdWxkIGJlICIgKyBfYnYgKyAiIChvZiB0eXBl
ICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9m
IF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVRydWUoX2EpIHsgc2hvdWxkQmUo
X2EsICJ0cnVlIik7IH0KKworaWYgKHRoaXMuaW1wb3J0U2NyaXB0cyAmJiAhdGhpcy5yZXF1ZXN0
RmlsZVN5c3RlbSkgeworICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMgRmlsZVN5c3RlbSBB
UEkuJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzRiMDI1MmYxNDY0N2QwNWU5OWMwM2Y4NTE3MmRiNTUyOTg3YzAwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13
b3JrZXItdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsOCBAQAord2FzUG9zdFRlc3RTY3JpcHRQYXJz
ZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK30KK2lmICh3aW5kb3cud2FzRmluaXNoSlNUZXN0Q2FsbGVkKQorICAgIGZp
bmlzaEpTVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jl
c291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDlhODczY2Zh
NGI2YjM1YTNjMWFkNDU1NTRhNTZlZmJiMWE4MDRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMKQEAg
LTAsMCArMSwzNiBAQAoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIGRlYnVnKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnIvPiI7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0V29ya2VyKHRlc3RTY3JpcHRV
UkwpCit7CisgICAgZGVidWcoJ1N0YXJ0aW5nIHdvcmtlcjogJyArIHRlc3RTY3JpcHRVUkwpOwor
ICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKHRlc3RTY3JpcHRVUkwpOworICAgIHdvcmtlci5v
bm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGRlYnVnKGV2ZW50LmRh
dGEpOworICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PSAiRE9ORSIpCisgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICB9OworCisgICAgd29ya2VyLm9uZXJyb3IgPSBmdW5jdGlvbihldmVu
dCkKKyAgICB7CisgICAgICAgIGFsZXJ0KGV2ZW50KTsKKyAgICAgICAgZGVidWcoJ0dvdCBlcnJv
ciBmcm9tIHdvcmtlcjogJyArIGV2ZW50Lm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGZpbmlzaEpTVGVzdCgpCit7CisgICAgd2FzRmluaXNo
SlNUZXN0Q2FsbGVkID0gdHJ1ZTsKKyAgICBpZiAoIXdpbmRvdy53YXNQb3N0VGVzdFNjcmlwdFBh
cnNlZCkKKyAgICAgICAgcmV0dXJuOworICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFz
cyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1w
ZXJzaXN0ZW50LXN5bmMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2Vz
L3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxOWRjYWQ2MTc4ODlkNDJh
YjVjNmM0MDk4MmZlOGQ4ZGZhZTI5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcwpAQCAtMCww
ICsxLDEzIEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygn
ZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGRlYnVnKCdXb3JrZXIgc3RhcnRlZC4nKTsKK30K
K2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3RlbVN5bmMgUEVSU0lTVEVOVCB0ZXN0LiIpOwor
Cit2YXIgZmlsZVN5c3RlbSA9IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhQRVJTSVNURU5ULCAxMDAp
OworCitkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbToi
ICsgZmlsZVN5c3RlbS5uYW1lKTsKK3Nob3VsZEJlVHJ1ZSgiZmlsZVN5c3RlbS5uYW1lLmxlbmd0
aCA+IDAiKTsKK3Nob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgiLCAnIi8iJyk7Citm
aW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVu
dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNp
c3RlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg0ZmRiNzgxN2M1OTNjMDg4ZjNjODQ1M2NlZDY3MTNjMWVj
ODk1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMKQEAgLTAsMCArMSwyNCBAQAoraWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1jb21tb24uanMnKTsK
KyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlvbigicmVxdWVzdEZp
bGVTeXN0ZW0gUEVSU0lTVEVOVCB0ZXN0LiIpOworCit2YXIgZmlsZVN5c3RlbSA9IG51bGw7CisK
K2Z1bmN0aW9uIGVycm9yQ2FsbGJhY2soZXJyb3IpIHsKKyAgICBkZWJ1ZygiRXJyb3Igb2NjdXJl
ZCB3aGlsZSByZXF1ZXN0aW5nIGEgUEVSU0lTVEVOVCBmaWxlIHN5c3RlbToiICsgZXJyb3IuY29k
ZSk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhm
cykgeworICAgIGZpbGVTeXN0ZW0gPSBmczsKKyAgICBkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFp
bmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKKyAgICBzaG91
bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAgc2hvdWxkQmUoImZp
bGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0ZW0oUEVSU0lTVEVO
VCwgMTAwLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
cmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNh
YzVjNzdhZWRhYjZjOTAxOGZkOGRiZWQ4MWY5ZDI3NzAzZjk0ODEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnkt
c3luYy5qcwpAQCAtMCwwICsxLDEzIEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAg
aW1wb3J0U2NyaXB0cygnZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGRlYnVnKCdXb3JrZXIg
c3RhcnRlZC4nKTsKK30KK2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3RlbVN5bmMgVEVNUE9S
QVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gcmVxdWVzdEZpbGVTeXN0ZW1TeW5jKFRF
TVBPUkFSWSwgMTAwKTsKKworZGVidWcoIlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkg
RmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKK3Nob3VsZEJlVHJ1ZSgiZmlsZVN5c3Rl
bS5uYW1lLmxlbmd0aCA+IDAiKTsKK3Nob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgi
LCAnIi8iJyk7CitmaW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1w
bGUtdGVtcG9yYXJ5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NjViNTBiYjgzZTRkMGIyM2RkMDY2M2E3
ZjI0MmZhMGFmNDQzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3JhcnkuanMKQEAgLTAsMCArMSwyNCBAQAoraWYg
KHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1jb21t
b24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlvbigi
cmVxdWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0g
bnVsbDsKKworZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCdFcnJv
ciBvY2N1cmVkIHdoaWxlIHJlcXVlc3RpbmcgYSBURU1QT1JBUlkgZmlsZSBzeXN0ZW06JyArIGVy
cm9yLmNvZGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2Fs
bGJhY2soZnMpIHsKKyAgICBmaWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nlc3NmdWxs
eSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKKyAg
ICBzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAgc2hvdWxk
QmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KKwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0ZW0oVEVN
UE9SQVJZLCAxMDAsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNDJi
MTFjZGQzMWJiNTEyZjZhNWUzOTU3MWZiOTllN2NmZmFiZjYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJT
SVNURU5UIEZpbGVTeXN0ZW06VGVzdFNoZWxsRmlsZVN5c3RlbQorUEFTUyBmaWxlU3lzdGVtLm5h
bWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTIGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAi
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtcGVyc2lzdGVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxNzdjMjYzZDg4ZDM3ZDI3NDIzMmU5ZmIxNDVhMGRlN2ZlNDk2MjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNp
c3RlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YThk
NDZmZmJkNDk5YTU2YjE4YTdkNjFkMmU3NTRlNjcyNDI5ZTJjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFRFTVBPUkFSWSB0ZXN0LgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBP
UkFSWSBGaWxlU3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3RlbS5uYW1l
Lmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnkuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTQ2MmFjNjRlYWM3NGU2ZmJhMzIzZGI4ODcxNjllNjM4MjQ5N2YzYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5
Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zOWNjZThhMjBkYTE5NDAwZjIxMGNmMjU4ZDUzNTA4MDE0YzI4M2VkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBl
cnNpc3RlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVz
dGluZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6
IC4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNj
cmlwdGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gUEVSU0lTVEVOVCB0ZXN0LgorU3VjY2Vzc2Z1bGx5
IG9idGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNp
c3RlbnQKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZp
bGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVy
c2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93
b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVj
NGE2NjIxZGI3MTYwNmVlOTNjMDE3NGVjZjliOTUxMzE4YTU5NzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3Rpbmcg
UEVSU0lTVEVOVCBGaWxlU3lzdGVtU3luYyBpbiBXb3JrZXIuCisKK1N0YXJ0aW5nIHdvcmtlcjog
Li4vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKK1dvcmtlciBzdGFydGVkLgor
RGVzY3JpcHRpb246IHJlcXVlc3RGaWxlU3lzdGVtU3luYyBQRVJTSVNURU5UIHRlc3QuCitTdWNj
ZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOmh0dHBfbG9jYWxob3N0Xzgw
ODA6UGVyc2lzdGVudAorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQor
UEFTUzogZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3Np
bXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93
b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMmY0ZjY2Y2Qx
OWFkZmQwYzI2N2ZjY2Y1YTA1ZGY2MGQxMWFiNDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1s
CkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBQRVJTSVNURU5UIEZpbGVT
eXN0ZW1TeW5jIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMn
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xOWVkNmM1MDM0ZjE2NGU3ZTE1NzRhYmYxOWI0M2U1Zjg2NTFj
NjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0
cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQgRmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFy
dGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitXb3Jr
ZXIgc3RhcnRlZC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06
aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJzaXN0ZW50CitQQVNTOiBmaWxlU3lzdGVtLm5hbWUubGVu
Z3RoID4gMCBpcyB0cnVlCitQQVNTOiBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitE
T05FCisKK1RFU1QgQ09NUExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MTViYjg0MWUzZDhhYmMwYjNlNjFmZWE1ZmZhYmVkYTJiMTU5MjhkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBG
aWxlU3lzdGVtIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzJyk7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5ZDQ5NWQxODZiOTM2NWU4OTM2NTcyMTVmNGZmNmIxMzYyNTdm
NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRl
c3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGlu
ZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzCitXb3JrZXIgc3RhcnRl
ZC4KK0Rlc2NyaXB0aW9uOiByZXF1ZXN0RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KK1N1Y2Nl
c3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgw
OlRlbXBvcmFyeQorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFT
UzogZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBs
ZS10ZW1wb3Jhcnktc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmViZTcxYThmZDBjYjdkYTAyOGNmOGNiMGJkNDkwMjNjODU5Y2Y0ZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBURU1QT1JBUlkgRmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6
IC4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKK1dvcmtlciBzdGFydGVkLgor
RGVzY3JpcHRpb246IHJlcXVlc3RGaWxlU3lzdGVtU3luYyBURU1QT1JBUlkgdGVzdC4KK1N1Y2Nl
c3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgw
OlRlbXBvcmFyeQorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFT
UzogZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBs
ZS10ZW1wb3Jhcnktc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIxNjEzYTgwOGI5NDlj
NzQxYzdmODVlMWM2NTYzNTRjZjkzZTRmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5odG1sCkBAIC0w
LDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Zz
LXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9m
cy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBURU1QT1JBUlkgRmlsZVN5c3RlbVN5
bmMgaW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0
YXJ0V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzJyk7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMDhhMzI3NzlmZmY1NzBhOGM5ZWNiMzA5NTRjMTBjMDMzYzFiYTU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFy
eS5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBURU1QT1JBUlkg
RmlsZVN5c3RlbSBpbiBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0Pgorc3RhcnRXb3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzJyk7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy9mcy10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jl
c291cmNlcy9mcy10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NDY1NmZmN2VlOTQxODYwMzNi
MTZiMWE0NzA5NzhhMWVhZDlkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcwpAQCAtMCwwICsxLDYgQEAKK3dhc1Bvc3RUZXN0
U2NyaXB0UGFyc2VkID0gdHJ1ZTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93Lndh
c0ZpbmlzaEpTVGVzdENhbGxlZCkKKyAgICBmaW5pc2hKU1Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA1Mjdl
YzI1NDVkZTBiNDk2NjRiNDkwNjVjYmQ5MGFlMmQ5NzdmYmFjLi5lYjZmMjRlZDI4ZDg5MDljZTUy
OGEyNmRmMTA1Y2VjMGY5YzFhYjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0xNTgsNiArMTU4LDcgQEAgV09OVEZJ
WCBTS0lQIDogZmFzdC9yZWdleC90ZXN0MS5odG1sID0gUEFTUwogLy8gV2UgdXNlIHdvcmtlcl91
aXRlc3RzIHRvIHJ1biB3b3JrZXJzIHRlc3RzLiBEb24ndCBydW4gdGhlbSBpbiB0ZXN0X3NoZWxs
LgogV09OVEZJWCBTS0lQIDogZmFzdC93b3JrZXJzID0gUEFTUyBUSU1FT1VUIEZBSUwKIFdPTlRG
SVggU0tJUCA6IGZhc3QvZmlsZXMvd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCitXT05URklY
IFNLSVAgOiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05U
RklYIFNLSVAgOiBodHRwL3Rlc3RzL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTAogV09OVEZJ
WCBTS0lQIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzID0gUEFTUyBUSU1FT1VU
IEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvZXZlbnRzb3VyY2Uvd29ya2VycyA9IFBB
U1MgVElNRU9VVCBGQUlMCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyMTAyNDRlMWEyYzE1NTU1NzRmMjJkOGQxZDQxZjcz
MjRlOWMzNGY5Li5iODU4M2VlN2M3YzAyMzA0ZDUyNjZlY2ZmNDc3ZDJkNTgwYmIzMGU0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTE2MTUsMTQgKzE2MTUsMjQgQEAgRU5ESUYgKCkKIGlmIChFTkFCTEVfRklMRV9TWVNU
RU0pCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAogICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9t
LmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKICAgICAgICAg
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eVN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcAorICAgICAgICBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBh
dGguY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKyAgICAgICAgZmlsZWFw
aS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3lu
Yy5jcHAKICAgICAgICAgZmlsZWFwaS9FbnRyeS5jcHAKICAgICAgICAgZmlsZWFwaS9FbnRyeUFy
cmF5LmNwcAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcAorICAgICAgICBmaWxl
YXBpL0VudHJ5QmFzZS5jcHAKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuY3BwCiAgICAgICAg
IGZpbGVhcGkvRmlsZUVudHJ5LmNwcAorICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3Bw
CiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKICAgICAgICAgZmlsZWFw
aS9GaWxlV3JpdGVyLmNwcAogICAgICAgICBmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5jcHAKQEAg
LTE2MzAsMTUgKzE2NDAsMjEgQEAgaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICApCiAgICAg
TElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCiAgICAgICAg
IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmlkbAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwKKyAgICAgICAg
ZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9FbnRyaWVzQ2Fs
bGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cnkuaWRsCisgICAgICAgIGZpbGVhcGkvRW50
cnlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuaWRsCisgICAgICAgIGZpbGVh
cGkvRW50cnlBcnJheVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwK
ICAgICAgICAgZmlsZWFwaS9FcnJvckNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVD
YWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsCisgICAgICAgIGZpbGVh
cGkvRmlsZUVudHJ5U3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2su
aWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmlkbAogICAgICAgICBmaWxl
YXBpL0ZpbGVXcml0ZXIuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJlNGQzYmEzMzQzMmViOWYwMmRmNzA3ZGYxZTEwZDNmZDBlNWY3
ODkuLmNiNzUwNTI2MGZmZjZiY2Q1NTBmOTViYWM1MDE3NTBhMDhmODQ2MmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTAtMDktMjkgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5k
IG1vY2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAg
ICAgIE5vIG5ldyB0ZXN0czsgdGVzdHMgd2lsbCBiZSBhZGRlZCBsYXRlciB3aGVuIHdlIGFkZCBp
bXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBuZXcgZmls
ZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOiBBZGRlZCBuZXcgZmlsZXMuCisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5neXBpOiBB
ZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5wcmk6IEFkZGVkIG5ldyBmaWxlcy4K
KyAgICAgICAgKiBXZWJDb3JlLnBybzogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIFdlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBBZGRlZCBuZXcgZmlsZXMuIEFsc28gcmVtb3ZlZCB0
aGUgZHVwbGljYXRlZCBmaWxlYXBpXEZpbGVFbnRyeS5jcHAgZW50cnkuCisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA6IEFk
ZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHA6
IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwOiBBZGRlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6IEFkZGVkLgorICAgICAgICAq
IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW1TeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5
c3RlbVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3lu
Yy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmg6IEFk
ZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcDogQWRkZWQuCisgICAgICAg
ICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVh
cGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50
cnlBcnJheVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QXJyYXlTeW5j
Lmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVh
cGkvRW50cnlCYXNlLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmNwcDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICog
ZmlsZWFwaS9FbnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRy
eVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaDogQWRk
ZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbDogQWRkZWQuCisKIDIwMTAt
MDktMjkgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggODk4ZGE1Y2FlYzhmMDY1
YWEzNTk0NWUyNGE2YjdjZTgwNWM2ZWY0Ni4uMDFmNTAyMzhmNzczZDMwMWViMGRhNGNiMDk5OTA2
NGY5N2Q4NDRmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTc0LDEzICs3NCwxNiBAQAogI2luY2x1ZGUg
IkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5LmNwcCIKKyNpbmNsdWRl
ICJKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNEaXJlY3RvcnlSZWFkZXIu
Y3BwIgorI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNE
b2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdtZW50LmNwcCIKICNpbmNsdWRl
ICJKU0RvY3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAiSlNET01BcHBsaWNhdGlvbkNhY2hlLmNw
cCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NRmls
ZVN5c3RlbS5jcHAiCisjaW5jbHVkZSAiSlNET01GaWxlU3lzdGVtU3luYy5jcHAiCiAjaW5jbHVk
ZSAiSlNET01Gb3JtRGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNET01JbXBsZW1lbnRhdGlvbi5jcHAi
CiAjaW5jbHVkZSAiSlNET01NaW1lVHlwZS5jcHAiCkBAIC05OSw2ICsxMDIsOCBAQAogI2luY2x1
ZGUgIkpTRW50cmllc0NhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5LmNwcCIKICNpbmNs
dWRlICJKU0VudHJ5QXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTRW50cnlBcnJheVN5bmMuY3BwIgor
I2luY2x1ZGUgIkpTRW50cnlTeW5jLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5Q2FsbGJhY2suY3Bw
IgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50
LmNwcCIKQEAgLTEwOCw2ICsxMTMsNyBAQAogI2luY2x1ZGUgIkpTRmlsZS5jcHAiCiAjaW5jbHVk
ZSAiSlNGaWxlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmNwcCIKKyNpbmNs
dWRlICJKU0ZpbGVFbnRyeVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVycm9yLmNwcCIKICNp
bmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRmlsZUxpc3QuY3BwIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDJmZGE1ZTk4YmUxYTY5ZjdjY2E1N2Y2YThhMDFlMGZjNDU1NmRi
YWIuLjM0MmJiN2I1YTY5YmVhYTVmYTk1OGU0OTM2YzZkNzllZjgwZGVmZDYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTExNCw2ICsxMTQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01BcHBsaWNh
dGlvbkNhY2hlIFwKICAgICBET01Db3JlRXhjZXB0aW9uIFwKICAgICBET01GaWxlU3lzdGVtIFwK
KyAgICBET01GaWxlU3lzdGVtU3luYyBcCiAgICAgRE9NRm9ybURhdGEgXAogICAgIERPTUltcGxl
bWVudGF0aW9uIFwKICAgICBET01NaW1lVHlwZSBcCkBAIC0xMzIsNyArMTMzLDkgQEAgRE9NX0NM
QVNTRVMgPSBcCiAgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0aW9u
RXZlbnQgXAogICAgIERpcmVjdG9yeUVudHJ5IFwKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMgXAog
ICAgIERpcmVjdG9yeVJlYWRlciBcCisgICAgRGlyZWN0b3J5UmVhZGVyU3luYyBcCiAgICAgRG9j
dW1lbnQgXAogICAgIERvY3VtZW50RnJhZ21lbnQgXAogICAgIERvY3VtZW50VHlwZSBcCkBAIC0x
NDIsNyArMTQ1LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRW50aXR5UmVmZXJlbmNlIFwKICAg
ICBFbnRyaWVzQ2FsbGJhY2sgXAogICAgIEVudHJ5IFwKKyAgICBFbnRyeVN5bmMgXAogICAgIEVu
dHJ5QXJyYXkgXAorICAgIEVudHJ5QXJyYXlTeW5jIFwKICAgICBFbnRyeUNhbGxiYWNrIFwKICAg
ICBFcnJvckNhbGxiYWNrIFwKICAgICBFcnJvckV2ZW50IFwKQEAgLTE1NCw2ICsxNTksNyBAQCBE
T01fQ0xBU1NFUyA9IFwKICAgICBGaWxlIFwKICAgICBGaWxlQ2FsbGJhY2sgXAogICAgIEZpbGVF
bnRyeSBcCisgICAgRmlsZUVudHJ5U3luYyBcCiAgICAgRmlsZUV4Y2VwdGlvbiBcCiAgICAgRmls
ZUVycm9yIFwKICAgICBGaWxlTGlzdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBjODBlOGVkNmNkN2ZkMDY3MjMxNTVk
N2NhZmE0NjY4NmIwMmM4YWExLi44Nzc5YWFiYWFkNTRkZDRiZDA3NGRiYWVkYTkyNWRiOWY4Yjk4
NGJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTY4Nyw2ICs2ODcsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwIFwKQEAgLTcwOSw2ICs3MTAsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3Vz
dG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAgXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
TGlzdGVuZXIuaCBcCkBAIC0xMzYzLDIzICsxMzY1LDM5IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9maWxlYXBpL0Jsb2JVUkwuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eUVudHJ5LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmggXAorCVdlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGly
ZWN0b3J5RW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3Bw
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorCVdlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmNwcCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0RPTUZpbGVQYXRoLmggXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBcCisJV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0
ZW1CYXNlLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgXAorCVdl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50
cmllc0NhbGxiYWNrLmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAgXAorCVdlYkNvcmUv
ZmlsZWFwaS9FbnRyeS5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAogCVdl
YkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5
U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oIFwKKwlXZWJDb3Jl
L2ZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5oIFwK
IAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50
cnkuY3BwIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCisJV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaCBcCiAJV2ViQ29yZS9m
aWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVDYWxsYmFjay5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlRW50
cnkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmggXAorCVdlYkNvcmUvZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBc
CiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUV4
Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOGU2YWY2YjI3NDhm
ZGEyZmRkMjJlMjE0ZmJkYzdlMTZhMDc3YjExNi4uMWQ3ZDc3YjhiYjY5M2U5YTg1YmFkMDQyMjlm
ZDViMjhkNWE0NWRlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDE2ICs4OSwyMiBAQAogICAgICAgICAgICAgJ2ZpbGVh
cGkvQmxvYi5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbCcsCisgICAgICAgICAgICAnZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVj
dG9yeVJlYWRlci5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3lu
Yy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwnLAorICAgICAg
ICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0VudHJpZXNDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaWRsJywKKyAgICAgICAgICAgICdm
aWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUNh
bGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuaWRsJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZpbGUuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5pZGwnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3IuaWRsJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL0ZpbGVMaXN0LmlkbCcsCkBAIC01NjcsNiArNTczLDcgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNTg1LDYgKzU5Miw3IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaCcsCkBAIC03NjQsNiArNzcyLDcgQEAK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
aXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLApAQCAtNzcyLDYg
Kzc4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20uY3Bw
JywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50U291cmNlQ29uc3RydWN0b3Iu
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3Rv
bS5jcHAnLApAQCAtMTQ1MCwyNCArMTQ2MCw0MCBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxv
YlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCcsCiAgICAg
ICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oJywKKyAgICAgICAgICAgICdmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCcs
CiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCcsCisgICAgICAgICAgICAn
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXJTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVBhdGgu
Y3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmgnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmls
ZVN5c3RlbS5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCcs
CisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9E
T01GaWxlU3lzdGVtU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJpZXNDYWxsYmFj
ay5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5LmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9FbnRyeS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuY3BwJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5bmMu
aCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmgnLAorICAgICAgICAgICAg
J2ZpbGVhcGkvRW50cnlCYXNlLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUJhc2Uu
aCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAgICdm
aWxlYXBpL0VudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2su
aCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUNhbGxiYWNrLmgnLAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxl
RW50cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCisgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
RmlsZUVycm9yLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAzMzMxNjI2OWJjMDYwNTZlYTg1
NmE5YmQzZTgzOWNiYmExNzhjZWJlLi4wNTFmNGQ5YzI2NWQzZjYxMWEyMDM3NzY0ZDIxOWJiNzA2
ZmNiYjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5wcmkKQEAgLTE1NiwxNiArMTU2LDIyIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZmls
ZWFwaS9CbG9iLmlkbCBcCiAgICAgZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwgXAogICAgIGZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuaWRsIFwKKyAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5p
ZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmlkbCBcCisgICAgZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCBcCisg
ICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwgXAogICAgIGZpbGVhcGkvRW50cmllc0Nh
bGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeS5pZGwgXAogICAgIGZpbGVhcGkvRW50cnlB
cnJheS5pZGwgXAorICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsIFwKICAgICBmaWxlYXBp
L0VudHJ5Q2FsbGJhY2suaWRsIFwKKyAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwgXAogICAgIGZp
bGVhcGkvRXJyb3JDYWxsYmFjay5pZGwgXAogICAgIGZpbGVhcGkvRmlsZS5pZGwgXAogICAgIGZp
bGVhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsIFwKKyAg
ICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVFcnJvci5pZGwg
XAogICAgIGZpbGVhcGkvRmlsZUxpc3QuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRs
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJv
CmluZGV4IGU1OTVmM2JmODFmOGViYzYwODM1MjBkZDUxNGMzYmMxNTA1MTVhMjguLjYxMGMyNTcx
MDM2YjZmNDMyOGNlZjdhZGU1YmIxOWFlMDYxODA0OWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjk2MywxNiArMjk2MywyNCBA
QCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgIEhFQURFUlMg
Kz0gXAogICAgICAgICBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlci5oIFwKICAgICAgICAgZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMu
aCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorICAgICAgICBmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlclN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGguaCBc
CiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIFwKKyAgICAgICAgZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5oIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oIFwK
ICAgICAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRW50
cnkuaCBcCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5oIFwKKyAgICAgICAgZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAgICAgICAg
IGZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuaCBc
CiAgICAgICAgIGZpbGVhcGkvRXJyb3JDYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9GaWxl
Q2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmggXAorICAgICAgICBmaWxl
YXBpL0ZpbGVFbnRyeVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNr
LmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBcCiAgICAgICAgIGZp
bGVhcGkvRmlsZVdyaXRlci5oIFwKQEAgLTI5ODcsMTQgKzI5OTUsMjQgQEAgY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAg
ICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRp
bmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdz
L2pzL0pTRW50cnlDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeVN5bmND
dXN0b20uY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAorICAgICAg
ICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0RpcmVj
dG9yeVJlYWRlci5jcHAgXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3Bw
IFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogICAgICAgICBmaWxlYXBpL0RP
TUZpbGVTeXN0ZW0uY3BwIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAg
XAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBcCiAgICAgICAgIGZpbGVh
cGkvRW50cnkuY3BwIFwKICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmNwcCBcCisgICAgICAg
IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJhc2Uu
Y3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9G
aWxlRW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCiAgICAg
ICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgXAogICAgICAgICBmaWxlYXBpL0Zp
bGVXcml0ZXIuY3BwIFwKICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGY4MWI3N2E3YjkwZGRmZWRlOWFm
ZWQ5MGJlZGQ2NzRiYmRlMzQxZDMuLmI2YzRkMTljMWQ2OTg4ZDM1ZmM5NTg5ODU0MTZiZWQxN2Q2
YzY4MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzEwMSw2ICsz
MTAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJlYWRlci5jcHAiDQog
CQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzE1Nyw2ICszMTY1LDE0IEBACiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KQEAgLTM0OTMsNiArMzUwOSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZpbGVTeXN0
ZW1TeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTRE9NRm9ybURhdGEuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAg
LTQ0NTcsNiArNDQ4MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTRW50cnlBcnJheVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5QXJyYXlTeW5jLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlDYWxsYmFjay5jcHAiDQog
CQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxMyw2ICs0NTQ1LDE0IEBACiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5bmMu
Y3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Vu
dHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0Vycm9yQ2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
QEAgLTQ5MDksNiArNDk0OSwyMiBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVudHJ5LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVudHJ5
U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTRmlsZUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU0ZpbGVFcnJvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzQ1
LDYgKzM3ODAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5RW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0
b3J5RW50cnlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeVJlYWRlci5jcHAiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMzc3NTMsNiArMzc4MTcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01EYXRhR3JpZERhdGFTb3Vy
Y2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3Nzc3LDYgKzM3ODQ5LDIyIEBACiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVh
cGlcRE9NRmlsZVN5c3RlbUJhc2UuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtQmFzZS5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFw
aVxET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1TeW5jLmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERP
TUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzgxMyw2ICszNzkwMSwz
MCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlBcnJheVN5bmMuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVh
cGlcRW50cnlCYXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlCYXNlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5U3luYy5jcHAi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxm
aWxlYXBpXEVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUNhbGxiYWNrLmgiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMzc4MzcsMTEgKzM3OTQ5LDE1IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmNwcCINCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5oIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnku
aCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeVN5bmMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFw
aVxGaWxlRW50cnlTeW5jLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC00
NDM4OCw2ICs0NDUwNCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0
b20uY3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRG9jdW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxNDgsNiArNDUyNjgsMTAgQEAKIAkJCQkJPg0K
IAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdz
XGpzXEpTRW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8
RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0V2ZW50Q3VzdG9tLmNw
cCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDEwNDQ1NTMxMThmZjE1NDg0MDM1YjZmNmJi
YTE4OTE5OTc5YTJiYy4uYzM5NjM2OWYxMDI5MjU4NjExZWVjNzc4ZGNkMDBhZGE0MTIxMjQ4OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0MzAsNiAr
MjQzMCwzNiBAQAogCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovOyB9Owog
CQk4OTNDNDdDQzEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdDQTEyM0VFQkEyMDAy
QjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTg5M0M0N0RGMTIzRUY0QTkwMDJC
M0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0Rp
cmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDAxMjQ4QkQzQTAwMkIzRDg2
IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50
cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9y
eUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICovOyB9
OworCQk4OTNDNDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMjEy
NDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi87IH07CisJCTg5M0M0
ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMzEyNDhCRDM5MDAyQjNE
ODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgwNDEyNDhCRDNBMDAy
QjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVT
eXN0ZW1CYXNlLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDUxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAqLzsg
fTsKKwkJODkzQzQ4MDYxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y2MTI0
OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0ODA3
MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjcxMjQ4QkQzOTAwMkIzRDg2IC8q
IERPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODA4MTI0OEJEM0EwMDJCM0Q4NiAv
KiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTNDNDdGODEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuY3Bw
ICovOyB9OworCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y5MTI0
OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgwQTEyNDhC
RDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZBMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2Uu
Y3BwICovOyB9OworCQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGQjEyNDhC
RDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi87IH07CisJCTg5M0M0ODBDMTI0OEJEM0EwMDJC
M0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgKi87
IH07CisJCTg5M0M0ODBEMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZEMTI0OEJEMzkwMDJC
M0Q4NiAvKiBFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2IC8q
IEZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwICov
OyB9OworCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkYxMjQ4QkQz
OTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MjExMjQ5NTM1QjAw
MkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4NiAv
KiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgKi87IH07CisJCTg5M0M0ODMyMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyog
SlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzMzEyNDk1NDcyMDAyQjNE
ODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9y
eUVudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgzNDEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJl
Y3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5
bmMuY3BwICovOyB9OworCQk4OTNDNDgzNTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlS
ZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi87
IH07CisJCTg5M0M0ODM2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJB
MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLzsgfTsKKwkJODkz
QzQ4MzcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJCMTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODM4MTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5
QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50
cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5M0M0ODJEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi87IH07
CisJCTg5M0M0ODNBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyRTEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzQjEyNDk1NDcyMDAyQjNE
ODYgLyogSlNFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICovOyB9
OworCQk4OTNDNDgzQzEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODMwMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzRDEyNDk1
NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxl
RW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5
U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICov
OyB9OwogCQk4OTg3ODU1MjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1MzkxMjJD
QTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLzsgfTsKIAkJODk4Nzg1NTMxMjJD
QTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0
b3J5RW50cnkuaCAqLzsgfTsKIAkJODk4Nzg1NTQxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9y
eVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLzsgfTsK
QEAgLTg0MDMsNiArODQzMywzNiBAQAogCQk4OTNDNDdCQTEyMzhBMEE5MDAyQjNEODYgLyogSlNG
aWxlV3JpdGVyQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNG
aWxlV3JpdGVyQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3
Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0
b3J5RW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdG
MDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHBhdGggPSBm
aWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg5M0M0N0YxMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5RW50cnlTeW5jLmg7IHBhdGgg
PSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDdGMjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlS
ZWFkZXJTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeVJl
YWRlclN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNDEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRE9N
RmlsZVN5c3RlbUJhc2UuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y1MTI0OEJEMzkwMDJCM0Q4NiAv
KiBET01GaWxlU3lzdGVtQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
T01GaWxlU3lzdGVtQmFzZS5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYgLyog
RE9NRmlsZVN5c3RlbVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtU3lu
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y3MTI0OEJEMzkwMDJC
M0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBET01GaWxlU3lzdGVtU3luYy5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtU3lu
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGODEyNDhCRDM5MDAyQjNE
ODYgLyogRW50cnlBcnJheVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRW50cnlBcnJheVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3luYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y5MTI0OEJEMzkwMDJCM0Q4
NiAvKiBFbnRyeUFycmF5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBF
bnRyeUFycmF5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlC
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFzZS5j
cHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0N0ZCMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlCYXNlLmg7IHBhdGggPSBmaWxlYXBpL0VudHJ5
QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQzEyNDhCRDM5MDAy
QjNEODYgLyogRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEVudHJ5U3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5U3luYy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeVN5
bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlTeW5jLmg7IHBhdGgg
PSBmaWxlYXBpL0VudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTND
NDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkv
RmlsZUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZG
MTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZpbGVFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRmlsZUVudHJ5U3lu
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyMDEyNDk1MzVCMDAyQjNE
ODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJl
Y3RvcnlFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGly
ZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYgLyog
SlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01GaWxlU3lzdGVtU3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyogSlNF
bnRyeUFycmF5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0VudHJ5QXJyYXlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4
MkQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeUFycmF5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNEODYgLyogSlNF
bnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeVN5bmMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIzRDg2
IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0ZpbGVFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmND
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEyMkNBMDY0
MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gRGlyZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIyQ0EwNjQw
MDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBEaXJlY3RvcnlFbnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyog
RGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IERpcmVjdG9yeVJlYWRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDA1NSwxOCArMTQxMTUsMjggQEAKIAkJ
CQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJCTg5
ODc4NTg2MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4
OTg3ODU4NzEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5
M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8sCisJ
CQkJODkzQzQ4MjcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmggKi8s
CiAJCQkJODk4Nzg1ODgxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNwcCAq
LywKIAkJCQk4OTg3ODU4OTEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIuaCAq
LywKKwkJCQk4OTNDNDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcCAqLywKKwkJCQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFk
ZXJTeW5jLmggKi8sCiAJCQkJODk4Nzg1OEUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmlsZVN5
c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1OEYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmlsZVN5
c3RlbS5oICovLAorCQkJCTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0
ZW1TeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxl
U3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTkwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJp
ZXNDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTExMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50
cmllc0NhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1OTIxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50
cnkuY3BwICovLAogCQkJCTg5ODc4NTkzMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5LmggKi8s
CiAJCQkJODk4Nzg1OTQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5jcHAgKi8sCiAJ
CQkJODk4Nzg1OTUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5oICovLAorCQkJCTg5
M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCAqLywKKwkJCQk4
OTNDNDgyRDEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovLAogCQkJCTg5
ODc4NTk2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICovLAogCQkJCTg5
ODc4NTk3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4OTND
NDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODJG
MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTk4MTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suY3BwICovLAogCQkJCTg5ODc4NTk5MTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suaCAqLywKIAkJCQlCQzAwRjAxMDBFMEExODk1
MDBGRDA0RTMgLyogSlNGaWxlLmNwcCAqLywKQEAgLTE0MDc1LDYgKzE0MTQ1LDggQEAKIAkJCQk4
OTNDNDdCNjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3
ODU5QTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTlC
MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0ODMwMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODMxMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQkyRTNCQzBDODExN0QzRTA4
MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovLAogCQkJCTJFM0JDMEM5MTE3RDNFMDgwMEI5
NDA5QSAvKiBKU0ZpbGVFcnJvci5oICovLAogCQkJCTg5ODc4NUVFMTIyRTFFODcwMDNBQUJEQSAv
KiBKU0ZpbGVFeGNlcHRpb24uY3BwICovLApAQCAtMTQ2MjYsMjQgKzE0Njk4LDQwIEBACiAJCQkJ
OTc2RDZDNjAxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JVUkwuaCAqLywKIAkJCQk4OTg3ODUzOTEy
MkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTNBMTIy
Q0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5M0M0N0YwMTI0OEJE
MzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0YxMTI0
OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODUzQjEy
MkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKIAkJCQk4OTg3ODUzQzEy
MkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkzQzQ3RjIxMjQ4
QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Yz
MTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8sCiAJCQkJODk4Nzg1
M0QxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRoLmNwcCAqLywKIAkJCQk4OTg3ODUzRTEy
MkNBMDY0MDAzQUFCREEgLyogRE9NRmlsZVBhdGguaCAqLywKIAkJCQk4OTg3ODUzRjEyMkNBMDY0
MDAzQUFCREEgLyogRE9NRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1NDAxMjJDQTA2NDAw
M0FBQkRBIC8qIERPTUZpbGVTeXN0ZW0uaCAqLywKKwkJCQk4OTNDNDdGNDEyNDhCRDM5MDAyQjNE
ODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwICovLAorCQkJCTg5M0M0N0Y1MTI0OEJEMzkwMDJC
M0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oICovLAorCQkJCTg5M0M0N0Y2MTI0OEJEMzkwMDJC
M0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjcxMjQ4QkQzOTAw
MkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi8sCiAJCQkJODk4Nzg1NDExMjJDQTA2NDAw
M0FBQkRBIC8qIEVudHJpZXNDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQyMTIyQ0EwNjQwMDNB
QUJEQSAvKiBFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDMxMjJDQTA2NDAwM0FBQkRBIC8qIEVu
dHJ5LmggKi8sCiAJCQkJODk4Nzg1NDQxMjJDQTA2NDAwM0FBQkRBIC8qIEVudHJ5QXJyYXkuY3Bw
ICovLAogCQkJCTg5ODc4NTQ1MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmggKi8sCisJ
CQkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLywKKwkJ
CQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCAqLywKKwkJCQk4
OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCAqLywKKwkJCQk4OTNDNDdG
QjEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi8sCiAJCQkJODk4Nzg1NDYxMjJDQTA2
NDAwM0FBQkRBIC8qIEVudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4OTNDNDdGQzEyNDhCRDM5MDAy
QjNEODYgLyogRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRDEyNDhCRDM5MDAyQjNEODYg
LyogRW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1NDcxMjJDQTA2NDAwM0FBQkRBIC8qIEVycm9y
Q2FsbGJhY2suaCAqLywKIAkJCQk5NzZENkM2MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5jcHAg
Ki8sCiAJCQkJOTc2RDZDNjIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuaCAqLywKIAkJCQk4OTND
NDdBNTEyMzg5MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1NDgx
MjJDQTA2NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDkxMjJDQTA2
NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0N0ZFMTI0OEJEMzkwMDJCM0Q4
NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNEODYg
LyogRmlsZUVudHJ5U3luYy5oICovLAogCQkJCTk3NkQ2QzY0MTIyQjhBM0QwMDFGRDFGNyAvKiBG
aWxlRXJyb3IuaCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4Y2Vw
dGlvbi5oICovLAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5jcHAg
Ki8sCkBAIC0xNjU2OCw2ICsxNjY1Niw3IEBACiAJCQkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEw
IC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTU5MEUxQjRBMTFFNEVG
NzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJ
CTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCAq
LywKKwkJCQk4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmND
dXN0b20uY3BwICovLAogCQkJCTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50
Q3VzdG9tLmNwcCAqLywKIAkJCQkxQUMyMjYxNjBEQjY5Rjc0MDA4OUI2NjkgLyogSlNET01BcHBs
aWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCAqLywKIAkJCQkyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUg
LyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0xNjU3OSw2ICsxNjY2OCw3IEBACiAJ
CQkJNjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8sCiAJ
CQkJQkMyRUQ1NTQwQzZCOUJEMzAwOTIwQkZGIC8qIEpTRWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJ
CQkJODkzQzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovLAorCQkJ
CTg5M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi8sCiAJ
CQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0b20uY3BwICovLAogCQkJ
CUJDMjc1QjgwMTFDNUQyQjQwMEM5MjA2QyAvKiBKU0V2ZW50U291cmNlQ3VzdG9tLmNwcCAqLywK
IAkJCQk0OUVFQ0Y3MjEwNTA4RDlDMDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXlDdXN0b20uY3Bw
ICovLApAQCAtMjA3OTgsNiArMjA4ODgsMjAgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlB
QkMgLyogWFNMVFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUx
MjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdERDRE
ODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5
M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg5M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5j
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwNTEyNDhCRDNBMDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODA3MTI0OEJEM0EwMDJCM0Q4
NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDkxMjQ4
QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTND
NDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
OTNDNDgwRDEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5j
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJl
Y3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNzEyNDk1NDcyMDAy
QjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4
MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yMzMxMSw2ICsyMzQxNSwyMiBAQAogCQkJCTkzRjE5QjA1MDgyNDVF
NTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTg5M0M0ODAwMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlF
bnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDIxMjQ4QkQzQTAwMkIzRDg2
IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDQx
MjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg5M0M0ODA2MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgwODEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5
bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MEExMjQ4QkQzQTAwMkIzRDg2IC8qIEVu
dHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwQzEyNDhCRDNBMDAyQjNEODYg
LyogRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODBFMTI0OEJEM0EwMDJC
M0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODIxMTI0
OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4OTNDNDgzMjEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5
bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzNjEyNDk1
NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4OTNDNDgzODEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk4OTNDNDgzQTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4M0MxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVu
dHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDg1MzEyNDk5QjA2MDAyQjNEODYg
LyogSlNFbnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVm
ODY4Y2U4YTBhYmMwZWY2YzYyN2NlZWFmYTlhZGQ5ZmRmYzExMWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAt
MCwwICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQorCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKworI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgorI2luY2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTRXJy
b3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkpT
RmxhZ3MuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorCit1c2luZyBuYW1lc3BhY2Ug
SlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeVN5
bmM6OmdldEZpbGUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIERpcmVjdG9yeUVudHJ5U3luYyog
aW1wID0gc3RhdGljX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5jKj4oaW1wbCgpKTsKKyAgICBjb25z
dCBTdHJpbmcmIHBhdGggPSB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGV4
ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPEZsYWdzPiBmbGFnczsK
KyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgx
KS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4ZWMt
PmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU0ZsYWdzOjpzX2luZm8pKSB7CisgICAgICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKKyAgICAgICAgZmxh
Z3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBvYmplY3Qt
PmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CisgICAgICAgIGZsYWdzLT5z
ZXRDcmVhdGUoanNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICAgICAgSlNWYWx1ZSBqc0V4
Y2x1c2l2ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImV4Y2x1c2l2ZSIp
KTsKKyAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShqc0V4Y2x1c2l2ZS50b0Jvb2xlYW4oZXhl
YykpOworICAgIH0gZWxzZQorICAgICAgICBmbGFncyA9IHRvRmxhZ3MoZXhlYy0+YXJndW1lbnQo
MSkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgSlNDOjpKU1ZhbHVlIHJl
c3VsdCA9IHRvSlMoZXhlYywgdGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGltcC0+
Z2V0RmlsZShwYXRoLCBmbGFncywgZWMpKSk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnlTeW5j
OjpnZXREaXJlY3RvcnkoRXhlY1N0YXRlKiBleGVjKQoreworICAgIERpcmVjdG9yeUVudHJ5U3lu
YyogaW1wID0gc3RhdGljX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5jKj4oaW1wbCgpKTsKKyAgICBj
b25zdCBTdHJpbmcmIHBhdGggPSB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNr
KGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPEZsYWdzPiBmbGFn
czsKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVu
dCgxKS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4
ZWMtPmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU0ZsYWdzOjpzX2luZm8pKSB7CisgICAgICAgIEpT
T2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKKyAgICAgICAg
ZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBvYmpl
Y3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CisgICAgICAgIGZsYWdz
LT5zZXRDcmVhdGUoanNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICAgICAgSlNWYWx1ZSBq
c0V4Y2x1c2l2ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImV4Y2x1c2l2
ZSIpKTsKKyAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShqc0V4Y2x1c2l2ZS50b0Jvb2xlYW4o
ZXhlYykpOworICAgIH0gZWxzZQorICAgICAgICBmbGFncyA9IHRvRmxhZ3MoZXhlYy0+YXJndW1l
bnQoMSkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIEpTQzo6SlNWYWx1ZSByZXN1
bHQgPSB0b0pTKGV4ZWMsIHRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXAtPmdl
dERpcmVjdG9yeShwYXRoLCBmbGFncywgZWMpKSk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMs
IGVjKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRy
eVN5bmNDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyZjk2YWQ4N2E3MGFjYWJmYTNjNWUxMTQ1Nzk3
ZjMwODIxZjkyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50
cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiSlNFbnRyeVN5bmMuaCIKKworI2lu
Y2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUg
IkpTRGlyZWN0b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiSlNGaWxlRW50cnlTeW5jLmgiCisj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbnRyeVN5bmMqIGVudHJ5KQoreworICAgIGlmICgh
ZW50cnkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIGlmIChlbnRyeS0+aXNGaWxl
KCkpCisgICAgICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpTRmlsZUVudHJ5U3luYz4o
ZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxGaWxlRW50cnlTeW5jKj4oZW50cnkpKTsK
KworICAgIEFTU0VSVChlbnRyeS0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIGdldERPTU9i
amVjdFdyYXBwZXI8SlNEaXJlY3RvcnlFbnRyeVN5bmM+KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3Rh
dGljX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5jKj4oZW50cnkpKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmYzhkMzEzOWMxMWRlNjZmYjljOTEyY2U1YzkzZGM1ZGZiMmJkMjYK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSwxMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiVjhEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmdN
YWNyb3MuaCIKKyNpbmNsdWRlICJWOEVudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOEVycm9y
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOEZsYWdzLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVu
dHJ5U3luYzo6Z2V0RGlyZWN0b3J5Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EaXJlY3RvcnlFbnRyeVN5bmMuZ2V0RGlyZWN0b3J5Iik7
CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBWOERpcmVjdG9yeUVudHJ5U3luYzo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElP
Tl9CTE9DSyhWOFBhcmFtZXRlcjxXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2s+LCBwYXRoLCBhcmdz
WzBdKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CisgICAgICAgIGltcC0+Z2V0RGly
ZWN0b3J5KHBhdGgpOworICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cisg
ICAgfQorICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVs
bChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVjdCgpICYmICFWOEZsYWdzOjpIYXNJbnN0YW5j
ZShhcmdzWzFdKSkgeworICAgICAgICBFWENFUFRJT05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKKyAg
ICAgICAgZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7Cisg
ICAgICAgIGlmICghdjhDcmVhdGUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OENy
ZWF0ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0NyZWF0ZSwgdjhD
cmVhdGUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXND
cmVhdGUpOworICAgICAgICB9CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4RXhjbHVz
aXZlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJleGNsdXNpdmUiKSk7CisgICAgICAg
IGlmICghdjhFeGNsdXNpdmUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1
c2l2ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwg
djhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNs
dXNpdmUoaXNFeGNsdXNpdmUpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgRVhD
RVBUSU9OX0JMT0NLKEZsYWdzKiwgdG1wX2ZsYWdzLCBWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdz
WzFdKSA/IFY4RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJn
c1sxXSkpIDogMCk7CisgICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOworICAgIH0KKyAgICBSZWZQ
dHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgp
ID4gMiAmJiAhYXJnc1syXS0+SXNOdWxsKCkgJiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpIHsK
KyAgICAgICAgaWYgKCFhcmdzWzJdLT5Jc09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBW
OEVudHJ5Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzJdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOworICAgIH0KKyAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjazsKKyAg
ICBpZiAoYXJncy5MZW5ndGgoKSA+IDMgJiYgIWFyZ3NbM10tPklzTnVsbCgpICYmICFhcmdzWzNd
LT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1szXS0+SXNPYmplY3QoKSkKKyAg
ICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAg
ZXJyb3JDYWxsYmFjayA9IFY4RXJyb3JDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbM10sIGdldFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgfQorICAgIGltcC0+Z2V0RGlyZWN0b3J5KHBhdGgs
IGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIHJldHVybiB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0
b3J5RW50cnlTeW5jOjpnZXRGaWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EaXJlY3RvcnlFbnRyeVN5bmMuZ2V0RmlsZSIpOworICAg
IERpcmVjdG9yeUVudHJ5U3luYyogaW1wID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZl
KGFyZ3MuSG9sZGVyKCkpOworICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxP
Q0soVjhQYXJhbWV0ZXI8V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7
CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPD0gMSkgeworICAgICAgICBpbXAtPmdldEZpbGUocGF0
aCk7CisgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICB9CisgICAg
UmVmUHRyPEZsYWdzPiBmbGFnczsKKyAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0p
ICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkgJiYgIVY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0p
KSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCBvYmpl
Y3QsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpOworICAgICAgICBmbGFn
cyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhDcmVh
dGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImNyZWF0ZSIpKTsKKyAgICAgICAgaWYg
KCF2OENyZWF0ZS5Jc0VtcHR5KCkgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKHY4Q3JlYXRlKSkgewor
ICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKGJvb2wsIGlzQ3JlYXRlLCB2OENyZWF0ZS0+Qm9v
bGVhblZhbHVlKCkpOworICAgICAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShpc0NyZWF0ZSk7Cisg
ICAgICAgIH0KKyAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhFeGNsdXNpdmUgPSBvYmpl
Y3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImV4Y2x1c2l2ZSIpKTsKKyAgICAgICAgaWYgKCF2OEV4
Y2x1c2l2ZS5Jc0VtcHR5KCkgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKHY4RXhjbHVzaXZlKSkgewor
ICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKGJvb2wsIGlzRXhjbHVzaXZlLCB2OEV4Y2x1c2l2
ZS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShpc0V4
Y2x1c2l2ZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgIEVYQ0VQVElPTl9CTE9D
SyhGbGFncyosIHRtcF9mbGFncywgVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOEZs
YWdzOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDAp
OworICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOworICAgIH0KKyAgICBSZWZQdHI8RW50cnlDYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMiAmJiAhYXJn
c1syXS0+SXNOdWxsKCkgJiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYg
KCFhcmdzWzJdLT5Jc09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQ
RV9NSVNNQVRDSF9FUlIpOworICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBWOEVudHJ5Q2FsbGJh
Y2s6OmNyZWF0ZShhcmdzWzJdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIH0K
KyAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjazsKKyAgICBpZiAoYXJncy5M
ZW5ndGgoKSA+IDMgJiYgIWFyZ3NbM10tPklzTnVsbCgpICYmICFhcmdzWzNdLT5Jc1VuZGVmaW5l
ZCgpKSB7CisgICAgICAgIGlmICghYXJnc1szXS0+SXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgZXJyb3JDYWxsYmFj
ayA9IFY4RXJyb3JDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbM10sIGdldFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CisgICAgfQorICAgIGltcC0+Z2V0RmlsZShwYXRoLCBmbGFncywgc3VjY2Vzc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KCk7Cit9CisKKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
RklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVu
dHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3lu
Y0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk4ZGYxOWIwYjEzZTE5NGViYWI2NzFlNmY2NGUwYTE4
ZmMwN2IyMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5j
bHVkZSAiVjhBdHRyLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5k
aW5nU3RhdGUuaCIKKyNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5U3luYy5oIgorI2luY2x1ZGUg
IlY4RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiVjhGaWxlRW50cnlTeW5jLmgiCisjaW5jbHVkZSAi
VjhQcm94eS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMqIGltcGwpCit7CisgICAg
aWYgKCFpbXBsKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKworICAgIGlmIChpbXBsLT5p
c0ZpbGUoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RmlsZUVudHJ5U3luYyo+
KGltcGwpKTsKKworICAgIEFTU0VSVChpbXBsLT5pc0RpcmVjdG9yeSgpKTsKKyAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmMqPihpbXBsKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBiL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCBiMWIxY2RjMTFlNmRlNTNhMWU4NWJlYmUzYzU2YjNm
ZWU4ZDQ0MGRkLi4xNzQyODQyZGEzMWY5ZTBkY2RlZmU4MWJhMzNlN2M2MTEyYzlkODk0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCkBAIC01NCwxMyArNTQsOCBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBET01GaWxlU3lzdGVtOjpET01GaWxlU3lzdGVtKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVT
eXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKLSAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0
aGlzKQotICAgICwgbV9uYW1lKG5hbWUpCi0gICAgLCBtX2FzeW5jRmlsZVN5c3RlbShhc3luY0Zp
bGVTeXN0ZW0pCi17Ci19Ci0KLURPTUZpbGVTeXN0ZW06On5ET01GaWxlU3lzdGVtKCkKKyAgICA6
IERPTUZpbGVTeXN0ZW1CYXNlKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkKKyAgICAsIEFjdGl2ZURP
TU9iamVjdChjb250ZXh0LCB0aGlzKQogewogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAppbmRl
eCA4NDk4ZTc1YjVmNDQ2ZTNlZmU5Yjc4ZDY4MjdlZDMyZmFjZDRlZjcyLi45MDhjMTZjOTQzZWNh
ZGY2OTEyMzJjNjA0NGFkY2VhZGQ1NDliY2FiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKQEAg
LTM1LDYgKzM1LDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUg
IkFzeW5jRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCiAjaW5j
bHVkZSAiRmxhZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTU0LDE2ICs1NSwxMyBAQCBjbGFzcyBGaWxlV3Jp
dGVyQ2FsbGJhY2s7CiBjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOwogY2xhc3MgVm9pZENhbGxiYWNr
OwogCi1jbGFzcyBET01GaWxlU3lzdGVtIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NRmlsZVN5c3Rl
bT4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgRE9NRmlsZVN5c3RlbSA6IHB1Ymxp
YyBET01GaWxlU3lzdGVtQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0Zp
bGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIH5ET01GaWxlU3lzdGVtKCk7Ci0KLSAgICBjb25zdCBTdHJpbmcm
IG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBQYXNzUmVmUHRyPERpcmVjdG9y
eUVudHJ5PiByb290KCk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QgbWV0aG9kcy4KQEAgLTk2
LDggKzk0LDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBET01GaWxlU3lzdGVtKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxl
U3lzdGVtPik7CiAKLSAgICBBc3luY0ZpbGVTeXN0ZW0qIGFzeW5jRmlsZVN5c3RlbSgpIGNvbnN0
IHsgcmV0dXJuIG1fYXN5bmNGaWxlU3lzdGVtLmdldCgpOyB9Ci0KICAgICAvLyBBIGhlbHBlciB0
ZW1wbGF0ZSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIHRhc2suCiAgICAgLy8gRklYTUU6IG1vdmUg
dGhpcyB0byBhIG1vcmUgZ2VuZXJpYyBwbGFjZS4KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ0Is
IHR5cGVuYW1lIENCQXJnPgpAQCAtMTE4LDkgKzExNCw2IEBAIHByaXZhdGU6CiAgICAgICAgIFJl
ZlB0cjxDQj4gbV9jYWxsYmFjazsKICAgICAgICAgUmVmUHRyPENCQXJnPiBtX2NhbGxiYWNrQXJn
OwogICAgIH07Ci0KLSAgICBTdHJpbmcgbV9uYW1lOwotICAgIG11dGFibGUgT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4gbV9hc3luY0ZpbGVTeXN0ZW07CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q0IsIHR5cGVuYW1lIENCQXJnPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW1CYXNlLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDgwYzAzMGE1NmIyNjFmNTkxM2RkMmIxODVkYWY3MGU5ZWVlNDQ5ZAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFz
ZS5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGgu
aCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkVudHJpZXNDYWxsYmFj
ay5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgorI2luY2x1ZGUgIkVudHJ5Q2FsbGJhY2suaCIK
KyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRmlsZUVycm9yLmgiCisjaW5j
bHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIk1ldGFkYXRhQ2FsbGJhY2su
aCIKKyNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworRE9NRmlsZVN5c3RlbUJhc2U6OkRPTUZpbGVTeXN0ZW1C
YXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5j
RmlsZVN5c3RlbSkKKyAgICA6IG1fbmFtZShuYW1lKQorICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0o
YXN5bmNGaWxlU3lzdGVtKQoreworfQorCitET01GaWxlU3lzdGVtQmFzZTo6fkRPTUZpbGVTeXN0
ZW1CYXNlKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0
ZW1CYXNlLmggYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kZDEwZGE1MzU4MmU2NzRjMmM2ZDdiMWVhZDhlOGRjYWY5NmVlNWY0Ci0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgKQEAgLTAsMCArMSw3NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgRE9NRmlsZVN5c3RlbUJhc2VfaAorI2RlZmluZSBET01GaWxlU3lzdGVtQmFzZV9o
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0u
aCIKKyNpbmNsdWRlICJGbGFncy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5OworY2xhc3MgRW50cnlC
YXNlOworY2xhc3MgRW50cnlDYWxsYmFjazsKK2NsYXNzIEVudHJpZXNDYWxsYmFjazsKK2NsYXNz
IEVycm9yQ2FsbGJhY2s7CitjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOworY2xhc3MgVm9pZENhbGxi
YWNrOworCisvLyBBIGNvbW1vbiBiYXNlIGNsYXNzIGZvciBET01GaWxlU3lzdGVtIGFuZCBET01G
aWxlU3lzdGVtU3luYy4KK2NsYXNzIERPTUZpbGVTeXN0ZW1CYXNlIDogcHVibGljIFJlZkNvdW50
ZWQ8RE9NRmlsZVN5c3RlbUJhc2U+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtQmFzZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxB
c3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7Cisg
ICAgfQorICAgIHZpcnR1YWwgfkRPTUZpbGVTeXN0ZW1CYXNlKCk7CisKKyAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBBc3luY0ZpbGVTeXN0ZW0q
IGFzeW5jRmlsZVN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fYXN5bmNGaWxlU3lzdGVtLmdldCgp
OyB9CisKK3Byb3RlY3RlZDoKKyAgICBET01GaWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7CisgICAgZnJpZW5kIGNsYXNzIERPTUZp
bGVTeXN0ZW1TeW5jOworCisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBtdXRhYmxlIE93blB0cjxB
c3luY0ZpbGVTeXN0ZW0+IG1fYXN5bmNGaWxlU3lzdGVtOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRE9N
RmlsZVN5c3RlbUJhc2VfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0
ZW1TeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjBhZmMxZGRlY2Q4MWU3MjQ5ZDM1ZGMyZDI0ZjI1MzUzMjc5MGY3NQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtU3luYy5o
IgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIK
KyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1TeW5jPiBET01GaWxlU3lzdGVtU3luYzo6Y3JlYXRl
KERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtKQoreworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgRE9NRmlsZVN5c3RlbVN5bmMoZmlsZVN5c3RlbS0+bV9uYW1lLCBmaWxlU3lzdGVtLT5tX2Fz
eW5jRmlsZVN5c3RlbS5sZWFrUHRyKCkpKTsKK30KKworRE9NRmlsZVN5c3RlbVN5bmM6OkRPTUZp
bGVTeXN0ZW1TeW5jKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0
ZW0+IGFzeW5jRmlsZVN5c3RlbSkKKyAgICA6IERPTUZpbGVTeXN0ZW1CYXNlKG5hbWUsIGFzeW5j
RmlsZVN5c3RlbSkKK3sKK30KKworRE9NRmlsZVN5c3RlbVN5bmM6On5ET01GaWxlU3lzdGVtU3lu
YygpCit7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBET01GaWxlU3lzdGVt
U3luYzo6cm9vdCgpCit7CisgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5U3luYzo6Y3JlYXRlKHRo
aXMsIERPTUZpbGVQYXRoOjpyb290KTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGVjZjQ2MTQ5Yjc4Yjg0NzA4ZjU3ZTQzNzkzYzgxNWU4NjNhZTRlMgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCkBAIC0wLDAgKzEs
NjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIERPTUZpbGVTeXN0ZW1TeW5jX2gKKyNkZWZpbmUgRE9NRmlsZVN5c3RlbVN5
bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVN5c3Rl
bUJhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5
bmM7CisKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIERPTUZpbGVTeXN0ZW1T
eW5jIDogcHVibGljIERPTUZpbGVTeXN0ZW1CYXNlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFz
c093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbVN5bmMobmFtZSwgYXN5bmNGaWxlU3lz
dGVtKSk7CisgICAgfQorCisgICAgLy8gVGhpcyBjYWxsIGlzIGRlc3RydWN0aXZlOyB0aGUgYXJn
dW1lbnQgZmlsZVN5c3RlbSB3aWxsIGJlY29tZSB1bnVzYWJsZS4KKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxET01GaWxlU3lzdGVtU3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lz
dGVtKTsKKworICAgIHZpcnR1YWwgfkRPTUZpbGVTeXN0ZW1TeW5jKCk7CisKKyAgICBQYXNzUmVm
UHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcm9vdCgpOworCitwcml2YXRlOgorICAgIERPTUZpbGVT
eXN0ZW1TeW5jKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+
KTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNlbmRpZiAvLyBET01GaWxlU3lzdGVtU3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0
ZW1TeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTFkOGNjZDYyMDBhNzRhYWVhMGU0Mjc2NDc5MmM2YWY2
MTdmOTYxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1T
eW5jLmlkbApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBOb1N0YXRpY1RhYmxl
cworICAgIF0gRE9NRmlsZVN5c3RlbVN5bmMgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG5hbWU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEaXJlY3RvcnlFbnRy
eVN5bmMgcm9vdDsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ODZkZDc4MjVlOTAyOTVlYTAzNzVmYWYwY2Y3OTY5MzI5YTI2ODE0Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAK
QEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlF
bnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRpcmVj
dG9yeVJlYWRlclN5bmMuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGaWxl
RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitEaXJlY3RvcnlFbnRyeVN5bmM6OkRpcmVjdG9yeUVudHJ5U3luYyhET01GaWxl
U3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IEVu
dHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1JlZlB0cjxEaXJlY3Rv
cnlSZWFkZXJTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZVJlYWRlcihFeGNlcHRpb25D
b2RlJikKK3sKKyAgICByZXR1cm4gRGlyZWN0b3J5UmVhZGVyU3luYzo6Y3JlYXRlKG1fZmlsZVN5
c3RlbSwgbV9mdWxsUGF0aCk7Cit9CisKK1Bhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gRGlyZWN0
b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBF
eGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxEaXJlY3Rv
cnlFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTog
dG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsK
K30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBiL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjU5NTNhNmVkOWZhMjg5
Y2FhNDliZGY4MTIwNjhjODIxYzI4NDMyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9y
eUVudHJ5U3luY19oCisjZGVmaW5lIERpcmVjdG9yeUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGbGFncy5o
IgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmM7CitjbGFzcyBGaWxlRW50cnlTeW5jOworCitjbGFz
cyBEaXJlY3RvcnlFbnRyeVN5bmMgOiBwdWJsaWMgRW50cnlTeW5jIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVt
QmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5RW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQ
YXRoKSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gY3JlYXRl
UmVhZGVyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGdl
dEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBnZXREaXJlY3RvcnkoY29u
c3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpOworCitw
cml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CisgICAgRGlyZWN0b3J5RW50cnlT
eW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNlbmRpZiAvLyBEaXJlY3RvcnlFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzc5NmJmYzczZDNlOGVhOTdjMzI3NWQzODYwMTA3
NDMwYjJiNGRiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVu
dHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0aWNU
YWJsZXMKKyAgICBdIERpcmVjdG9yeUVudHJ5U3luYyA6IEVudHJ5U3luYyB7CisgICAgICAgIERp
cmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVhZGVyKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsK
KyAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5U3luYyBnZXRGaWxlKGluIFtDb252ZXJ0VW5kZWZp
bmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gRmxhZ3MgZmxhZ3MpIHJh
aXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIERpcmVjdG9yeUVudHJ5U3lu
YyBnZXREaXJlY3RvcnkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyBwYXRoLCBpbiBGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAg
ICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg3ZDU2YmM2ZDlmZjA5YmE3NGZiZjZiMTdlNjBmNDg2ZGQyMTYyNDgKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKQEAgLTAsMCArMSw1
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXJTeW5jLmgi
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5o
IgorI2luY2x1ZGUgIkVudHJ5QXJyYXlTeW5jLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
RGlyZWN0b3J5UmVhZGVyU3luYzo6RGlyZWN0b3J5UmVhZGVyU3luYyhET01GaWxlU3lzdGVtQmFz
ZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IG1fZmlsZVN5c3Rl
bShmaWxlU3lzdGVtKQorICAgICwgbV9mdWxsUGF0aChmdWxsUGF0aCkKK3sKK30KKworUGFzc1Jl
ZlB0cjxFbnRyeUFycmF5U3luYz4gRGlyZWN0b3J5UmVhZGVyU3luYzo6cmVhZEVudHJpZXMoRXhj
ZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RGlyZWN0b3J5UmVhZGVyU3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5
bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZTgzMTYxZDY3YmNjZTdhODMzNjQ5YzAyY2JmMjc4MWY5NmIyOGMx
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
aApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKKyNkZWZpbmUg
RGlyZWN0b3J5UmVhZGVyU3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNs
dWRlICJFbnRyeUFycmF5U3luYy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmMgOiBwdWJsaWMg
UmVmQ291bnRlZDxEaXJlY3RvcnlSZWFkZXJTeW5jPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlSZWFkZXJTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7
CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4gcmVhZEVudHJpZXMoRXhj
ZXB0aW9uQ29kZSYpOworCitwcml2YXRlOgorICAgIERpcmVjdG9yeVJlYWRlclN5bmMoRE9NRmls
ZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworCisgICAg
RE9NRmlsZVN5c3RlbUJhc2UqIG1fZmlsZVN5c3RlbTsKKyAgICBTdHJpbmcgbV9mdWxsUGF0aDsK
K307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisK
KyNlbmRpZiAvLyBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTM5OTI4MzI2N2Y4YTViZWEyY2VmMGU2NDg3YTFm
ZjhkNjgzMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJm
YWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIE5vU3RhdGlj
VGFibGVzCisgICAgXSBEaXJlY3RvcnlSZWFkZXJTeW5jIHsKKyAgICAgICAgRW50cnlBcnJheVN5
bmMgcmVhZEVudHJpZXMoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIGIvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGJmMmRjZGU3ZWExNGM3OTFhOWI3
ZTdkNjk2MDk4ZTQ0OTg5Mzc2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5QXJyYXlTeW5jLmNwcApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkVudHJ5QXJyYXlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlBcnJheVN5bmM6OkVudHJ5QXJyYXlTeW5jKCkKK3sK
K30KKworRW50cnlTeW5jKiBFbnRyeUFycmF5U3luYzo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29u
c3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9lbnRyaWVzLnNpemUoKSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG1fZW50cmllc1tpbmRleF0uZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
QXJyYXlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UxMzEyZmQ1YjM5ZjQ0YjEyZmM4MDJlMTZjNzFiN2Vj
M2U3YzI3ZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3lu
Yy5oCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5QXJyYXlTeW5jX2gKKyNkZWZpbmUgRW50
cnlBcnJheVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50
cnlTeW5jLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJ5QXJyYXk7CisK
K2NsYXNzIEVudHJ5QXJyYXlTeW5jIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnlBcnJheVN5bmM+
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4gY3JlYXRl
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW50cnlBcnJheVN5bmMoKSk7
CisgICAgfQorCisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVz
LnNpemUoKTsgfQorICAgIEVudHJ5U3luYyogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7Cisg
ICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBlbnRyeSk7
CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXMuaXNFbXB0eSgp
OyB9CisgICAgdm9pZCBjbGVhcigpIHsgbV9lbnRyaWVzLmNsZWFyKCk7IH0KKyAgICB2b2lkIGFw
cGVuZChQYXNzUmVmUHRyPEVudHJ5U3luYz4gZW50cnkpIHsgbV9lbnRyaWVzLmFwcGVuZChlbnRy
eSk7IH0KKworcHJpdmF0ZToKKyAgICBFbnRyeUFycmF5U3luYygpOworCisgICAgVmVjdG9yPFJl
ZlB0cjxFbnRyeVN5bmM+ID4gbV9lbnRyaWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50cnlBcnJh
eVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCBi
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGYzM2Vl
ZTlkMjc0ZDJiNmNiMGU4ODljYzM2OGQ2MWJiNTNmOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9y
YWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwK
KyAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBF
bnRyeUFycmF5U3luYyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxlbmd0aDsKKyAgICAgICAgRW50cnlTeW5jIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxv
bmcgaW5kZXgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlC
YXNlLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzNjQ2
NmQyZjc2ZGUzNGQ3Njc3MTdjOWQ0MjQ0NWQ4MjI3Y2Q3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitF
bnRyeUJhc2U6OkVudHJ5QmFzZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lzdGVtKQorICAgICwg
bV9mdWxsUGF0aChmdWxsUGF0aCkKKyAgICAsIG1fbmFtZShET01GaWxlUGF0aDo6Z2V0TmFtZShm
dWxsUGF0aCkpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2Uu
aCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzA4YzcyNzMzZTNm
ZTAzYzk5YWQ3YzhjMzZhZWM3Mjc2MzQ0YWM3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5QmFzZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5QmFzZV9oCisj
ZGVmaW5lIEVudHJ5QmFzZV9oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01G
aWxlU3lzdGVtQmFzZTsKK2NsYXNzIEVudHJ5U3luYzsKKworLy8gQSBjb21tb24gYmFzZSBjbGFz
cyBmb3IgRW50cnkgYW5kIEVudHJ5U3luYy4KK2NsYXNzIEVudHJ5QmFzZSA6IHB1YmxpYyBSZWZD
b3VudGVkPEVudHJ5QmFzZT4geworcHVibGljOgorICAgIHZpcnR1YWwgfkVudHJ5QmFzZSgpIHsg
fQorCisgICAgRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBt
X2ZpbGVTeXN0ZW07IH0KKworICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisKKyAgICBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKCkgY29uc3QgeyByZXR1cm4g
bV9mdWxsUGF0aDsgfQorICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bmFtZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgRW50cnlCYXNlKERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKKyAgICBmcmllbmQgY2xhc3MgRW50
cnlTeW5jOworCisgICAgRE9NRmlsZVN5c3RlbUJhc2UqIG1fZmlsZVN5c3RlbTsKKyAgICBTdHJp
bmcgbV9mdWxsUGF0aDsKKyAgICBTdHJpbmcgbV9uYW1lOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50
cnlCYXNlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwIGIvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFhYTM1NmM3NGIyZTc5Y2Fj
NDgwN2MyNmU3NTFmZjBkNDk0ZjYzOAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9FbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJET01GaWxlUGF0aC5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgorI2luY2x1
ZGUgIk1ldGFkYXRhLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitFbnRyeVN5bmM6OkVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSogZmls
ZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IEVudHJ5QmFzZShmaWxlU3lz
dGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1JlZlB0cjxNZXRhZGF0YT4gRW50cnlTeW5jOjpn
ZXRNZXRhZGF0YShFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVt
ZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1Jl
ZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6bW92ZVRvKFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50
cnlTeW5jPiwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7CisgICAgLy8g
RklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6OmNvcHlUbyhQYXNz
UmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4sIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIEVudHJ5U3luYzo6cmVtb3ZlKEV4
Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4K
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitQYXNzUmVmUHRyPEVudHJ5U3luYz4gRW50cnlT
eW5jOjpnZXRQYXJlbnQoKSBjb25zdAoreworICAgIC8vIFN5bmMgdmVyaW9uIG9mIGdldFBhcmVu
dCBkb2Vzbid0IHRocm93IGV4Y2VwdGlvbnMuCisgICAgU3RyaW5nIHBhcmVudFBhdGggPSBET01G
aWxlUGF0aDo6Z2V0RGlyZWN0b3J5KGZ1bGxQYXRoKCkpOworICAgIHJldHVybiBEaXJlY3RvcnlF
bnRyeVN5bmM6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIHBhcmVudFBhdGgpOworfQorCit9IC8vIG5h
bWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJhN2RiNjBjZTk2NzBiM2NlZTFjYWJkZGY4OWQ5MWU5MGYwZDg2ZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmgKQEAgLTAsMCArMSw2NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgRW50cnlTeW5jX2gKKyNkZWZpbmUgRW50cnlTeW5jX2gKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1TeW5jLmgiCisjaW5jbHVkZSAi
RW50cnlCYXNlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeUVu
dHJ5U3luYzsKK2NsYXNzIE1ldGFkYXRhOworCitjbGFzcyBFbnRyeVN5bmMgOiBwdWJsaWMgRW50
cnlCYXNlIHsKK3B1YmxpYzoKKyAgICBET01GaWxlU3lzdGVtU3luYyogZmlsZXN5c3RlbSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PERPTUZpbGVTeXN0ZW1TeW5jKj4obV9maWxlU3lzdGVt
KTsgfQorCisgICAgdmlydHVhbCBQYXNzUmVmUHRyPE1ldGFkYXRhPiBnZXRNZXRhZGF0YShFeGNl
cHRpb25Db2RlJik7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gbW92ZVRvKFBh
c3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+
IGNvcHlUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcGFyZW50LCBjb25zdCBTdHJp
bmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
KEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5j
PiBnZXRQYXJlbnQoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIEVudHJ5U3luYyhET01GaWxl
U3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9
IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYg
Ly8gRW50cnlTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRs
IGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI3ZWUzYzM4Yzk1
NDk0ODgzODMxOTllNzY1M2E1OTJmZmY3M2Y1NQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9FbnRyeVN5bmMuaWRsCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7Cisg
ICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAg
IEN1c3RvbVRvSlMsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBFbnRyeVN5bmMgewor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0ZpbGU7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRGlyZWN0b3J5OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgZnVsbFBhdGg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtU3lu
YyBmaWxlc3lzdGVtOworCisgICAgICAgIE1ldGFkYXRhIGdldE1ldGFkYXRhKCkgcmFpc2VzIChG
aWxlRXhjZXB0aW9uKTsKKyAgICAgICAgRW50cnlTeW5jIG1vdmVUbyhpbiBEaXJlY3RvcnlFbnRy
eVN5bmMgcGFyZW50LCBpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9N
U3RyaW5nIG5hbWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIEVudHJ5U3luYyBj
b3B5VG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0NvbnZlcnRVbmRlZmluZWRP
ck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRpb24p
OworICAgICAgICB2b2lkIHJlbW92ZSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAg
IERpcmVjdG9yeUVudHJ5U3luYyBnZXRQYXJlbnQoKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVF
bnRyeVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkZTNmODM4MTAyYjc4MmQ0ZTk1Y2Q5M2ZiYTI3OWU5
OGYzOTM4MGUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3lu
Yy5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGaWxl
RW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworRmlsZUVudHJ5U3luYzo6RmlsZUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSog
ZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IEVudHJ5U3luYyhmaWxl
U3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVO
QUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyMmQy
YzM1OGIyYjNiYTI0ZWZmZjFmZWNjNzY4MDBiOGYyMDU5ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEZp
bGVFbnRyeVN5bmNfaAorI2RlZmluZSBGaWxlRW50cnlTeW5jX2gKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZpbGVFbnRyeVN5bmMgOiBw
dWJsaWMgRW50cnlTeW5jIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlRW50
cnlTeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVFbnRy
eVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNGaWxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCitwcml2YXRlOgorICAgIGZyaWVuZCBj
bGFzcyBFbnRyeVN5bmM7CisgICAgRmlsZUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSogZmls
ZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9IC8vIG5hbWVzcGFjZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRmlsZUVudHJ5U3lu
Y19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwgYi9XZWJD
b3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUwNTkwMTJmODBhOTYx
YjAwZjU4NWFjMjZhOTc2YjcyMGM5MzdhOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2Ugewor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAg
ICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAgICAgICAgR2VuZXJhdGVUb0pTLAorICAgICAg
ICBOb1N0YXRpY1RhYmxlcworICAgIF0gRmlsZUVudHJ5U3luYyA6IEVudHJ5U3luYyB7CisgICAg
ICAgIC8vIEZJWE1FOiB0byBiZSBhZGRlZC4KKyAgICAgICAgLy8gRmlsZVdyaXRlclN5bmMgY3Jl
YXRlV3JpdGVyKCk7CisgICAgICAgIC8vIEZpbGUgZmlsZSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlv
bik7CisgICAgfTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69370</attachid>
            <date>2010-09-30 13:02:56 -0700</date>
            <delta_ts>2010-09-30 13:24:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20100930130255.patch</filename>
            <type>text/plain</type>
            <size>137422</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDIwMzRiYzhlNDc0ODY0MzMzZTU5ZDYzODYxN2M4M2VkNjlkZDk1Li5lOWFmMWZi
ZDZkOTI5MmQzZDIwMTc3NTc0MWJjZWQ5Y2YwMzZjNDc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29y
a2VyLWNvbW1vbi5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9mcy13b3JrZXItdGVzdC1wb3N0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtdGVtcG9yYXJ5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
c2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zp
bGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
aWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0
ZW50LXN5bmMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
IEFkZGVkIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzCisgICAgICAgIG5vdCB0byBydW4gdGhlIHJl
Z3VsYXIgdGVzdHMgZm9yIHRoZW0uCisKIDIwMTAtMDktMzAgIEFscGhhIExhbSAgPGhjbGFtQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBCdWlsZCBmaXguCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24u
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21t
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDExNzZjMGI2NDczMDc3NDA1ZTJkMzczZDI3YzY4NmQwNTc5NGFj
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpAQCAtMCwwICsxLDM0IEBACitmdW5jdGlvbiBkZWJ1Zyht
ZXNzYWdlKQoreworICAgIHBvc3RNZXNzYWdlKG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBmaW5p
c2hKU1Rlc3QoKQoreworICAgIHBvc3RNZXNzYWdlKCJET05FIik7Cit9CisKK2Z1bmN0aW9uIGRl
c2NyaXB0aW9uKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UoJ0Rlc2NyaXB0aW9uOiAnICsg
bWVzc2FnZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlKF9hLCBfYikKK3sKKyAgaWYgKHR5cGVv
ZiBfYSAhPSAic3RyaW5nIiB8fCB0eXBlb2YgX2IgIT0gInN0cmluZyIpCisgICAgZGVidWcoIldB
Uk46IHNob3VsZEJlKCkgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzIik7CisgIHZhciBfYXYgPSBl
dmFsKF9hKTsKKyAgdmFyIF9idiA9IGV2YWwoX2IpOworICBpZiAoX2F2ID09PSBfYnYpCisgICAg
ZGVidWcoIlBBU1M6ICIgKyBfYSArICIgaXMgIiArIF9iKTsKKyAgZWxzZQorICAgIGRlYnVnKCJG
QUlMOiAiICsgX2EgKyAiIHNob3VsZCBiZSAiICsgX2J2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9m
IF9idiArICIpLiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBfYXYgKyAiKS4i
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVUcnVlKF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1ZSIp
OyB9CisKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMgJiYgIXRoaXMucmVxdWVzdEZpbGVTeXN0ZW0p
IHsKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIEZpbGVTeXN0ZW0gQVBJLicpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjM0YjAyNTJmMTQ2NDdkMDVlOTljMDNmODUxNzJkYjU1Mjk4N2MwMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3Qt
cG9zdC5qcwpAQCAtMCwwICsxLDggQEAKK3dhc1Bvc3RUZXN0U2NyaXB0UGFyc2VkID0gdHJ1ZTsK
KworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Cit9CitpZiAod2luZG93Lndhc0ZpbmlzaEpTVGVzdENhbGxlZCkKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMt
d29ya2VyLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9mcy13b3JrZXItdGVzdC1wcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5YTg3M2NmYTRiNmIzNWEzYzFh
ZDQ1NTU0YTU2ZWZiYjFhODA0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzCkBAIC0wLDAgKzEsMzYg
QEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKQoreworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAi
PGJyLz4iOworfQorCitmdW5jdGlvbiBzdGFydFdvcmtlcih0ZXN0U2NyaXB0VVJMKQoreworICAg
IGRlYnVnKCdTdGFydGluZyB3b3JrZXI6ICcgKyB0ZXN0U2NyaXB0VVJMKTsKKyAgICB2YXIgd29y
a2VyID0gbmV3IFdvcmtlcih0ZXN0U2NyaXB0VVJMKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0g
ZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBkZWJ1ZyhldmVudC5kYXRhKTsKKyAgICAg
ICAgaWYgKGV2ZW50LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgfTsKKworICAgIHdvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpCisgICAgewor
ICAgICAgICBhbGVydChldmVudCk7CisgICAgICAgIGRlYnVnKCdHb3QgZXJyb3IgZnJvbSB3b3Jr
ZXI6ICcgKyBldmVudC5tZXNzYWdlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBmaW5pc2hKU1Rlc3QoKQoreworICAgIHdhc0ZpbmlzaEpTVGVzdENhbGxl
ZCA9IHRydWU7CisgICAgaWYgKCF3aW5kb3cud2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQpCisgICAg
ICAgIHJldHVybjsKKyAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09N
UExFVEU8L3NwYW4+Jyk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVy
c2lzdGVudC1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMTlkY2FkNjE3ODg5ZDQyYWI1YzZjNDA5ODJm
ZThkOGRmYWUyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKQEAgLTAsMCArMSwxMyBAQAor
aWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1j
b21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlv
bigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVT
eXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoUEVSU0lTVEVOVCwgMTAwKTsKKworZGVidWco
IlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0
ZW0ubmFtZSk7CitzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7Citz
aG91bGRCZSgiZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOworZmluaXNoSlNUZXN0
KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY4NGZkYjc4MTdjNTkzYzA4OGYzYzg0NTNjZWQ2NzEzYzFlYzg5NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBs
ZS1wZXJzaXN0ZW50LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMp
IHsKKyAgICBpbXBvcnRTY3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgZGVidWco
J1dvcmtlciBzdGFydGVkLicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtIFBF
UlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSBudWxsOworCitmdW5jdGlvbiBl
cnJvckNhbGxiYWNrKGVycm9yKSB7CisgICAgZGVidWcoIkVycm9yIG9jY3VyZWQgd2hpbGUgcmVx
dWVzdGluZyBhIFBFUlNJU1RFTlQgZmlsZSBzeXN0ZW06IiArIGVycm9yLmNvZGUpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soZnMpIHsKKyAgICBm
aWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNU
RU5UIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0ZW0ubmFtZSk7CisgICAgc2hvdWxkQmVUcnVlKCJm
aWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIpOworICAgIHNob3VsZEJlKCJmaWxlU3lzdGVtLnJv
b3QuZnVsbFBhdGgiLCAnIi8iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVlc3RGaWxlU3lzdGVtKFBFUlNJU1RFTlQsIDEwMCwgc3Vj
Y2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVz
b3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWM1Yzc3YWVkYWI2
YzkwMThmZDhkYmVkODFmOWQyNzcwM2Y5NDgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKQEAg
LTAsMCArMSwxMyBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlw
dHMoJ2ZzLXdvcmtlci1jb21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7
Cit9CitkZXNjcmlwdGlvbigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFRFTVBPUkFSWSB0ZXN0LiIp
OworCit2YXIgZmlsZVN5c3RlbSA9IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhURU1QT1JBUlksIDEw
MCk7CisKK2RlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06
IiArIGZpbGVTeXN0ZW0ubmFtZSk7CitzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5n
dGggPiAwIik7CitzaG91bGRCZSgiZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOwor
ZmluaXNoSlNUZXN0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFy
eS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBv
cmFyeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNjY1YjUwYmI4M2U0ZDBiMjNkZDA2NjNhN2YyNDJmYTBhZjQ0
M2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291
cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2lmICh0aGlzLmltcG9y
dFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7Cisg
ICAgZGVidWcoJ1dvcmtlciBzdGFydGVkLicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxl
U3lzdGVtIFRFTVBPUkFSWSB0ZXN0LiIpOworCit2YXIgZmlsZVN5c3RlbSA9IG51bGw7CisKK2Z1
bmN0aW9uIGVycm9yQ2FsbGJhY2soZXJyb3IpIHsKKyAgICBkZWJ1ZygnRXJyb3Igb2NjdXJlZCB3
aGlsZSByZXF1ZXN0aW5nIGEgVEVNUE9SQVJZIGZpbGUgc3lzdGVtOicgKyBlcnJvci5jb2RlKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7
CisgICAgZmlsZVN5c3RlbSA9IGZzOworICAgIGRlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQg
VEVNUE9SQVJZIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0ZW0ubmFtZSk7CisgICAgc2hvdWxkQmVU
cnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIpOworICAgIHNob3VsZEJlKCJmaWxlU3lz
dGVtLnJvb3QuZnVsbFBhdGgiLCAnIi8iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3Zh
ciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVlc3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAw
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxl
LXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Np
bXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDQyYjExY2RkMzFiYjUx
MmY2YTVlMzk1NzFmYjk5ZTdjZmZhYmY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBQRVJTSVNURU5UIHRlc3QuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxl
U3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+
IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMTc3YzI2M2Q4OGQzN2QyNzQyMzJlOWZiMTQ1YTBkZTdmZTQ5NjI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2lt
cGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
c2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE4ZDQ2ZmZiZDQ5OWE1
NmIxOGE3ZDYxZDJlNzU0ZTY3MjQyOWUyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5
c3RlbTpUZXN0U2hlbGxGaWxlU3lzdGVtCitQQVNTIGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAw
IGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0
NjJhYzY0ZWFjNzRlNmZiYTMyM2RiODg3MTY5ZTYzODI0OTdmM2MKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlj
Y2U4YTIwZGExOTQwMGYyMTBjZjI1OGQ1MzUwODAxNGMyODNlZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lT
VEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9yZXNvdXJj
ZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMKK1dvcmtlciBzdGFydGVkLgorRGVzY3JpcHRpb246IHJl
cXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQ
RVJTSVNURU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJzaXN0ZW50CitQQVNT
OiBmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBmaWxlU3lzdGVtLnJv
b3QuZnVsbFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3lu
Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzRhNjYyMWRiNzE2
MDZlZTkzYzAxNzRlY2Y5Yjk1MTMxOGE1OTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQg
RmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9u
OiByZXF1ZXN0RmlsZVN5c3RlbVN5bmMgUEVSU0lTVEVOVCB0ZXN0LgorU3VjY2Vzc2Z1bGx5IG9i
dGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNpc3Rl
bnQKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVT
eXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJmNGY2NmNkMTlhZGZkMGMyNjdm
Y2NmNWEwNWRmNjBkMTFhYjQ0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbApAQCAtMCwwICsx
LDE1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3Jr
ZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29y
a2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtU3luYyBp
biBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRX
b3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzJyk7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTllZDZjNTAzNGYxNjRlN2UxNTc0YWJmMTliNDNlNWY4NjUxYzY4MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1w
ZXJzaXN0ZW50LXN5bmMudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2Vy
OiAuLi9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcworV29ya2VyIHN0YXJ0ZWQu
CitTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOmh0dHBfbG9jYWxo
b3N0XzgwODA6UGVyc2lzdGVudAorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMg
dHJ1ZQorUEFTUzogZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNU
IENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE1YmI4NDFlM2Q4
YWJjMGIzZTYxZmVhNWZmYWJlZGEyYjE1OTI4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwKQEAgLTAs
MCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMt
d29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Zz
LXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQgRmlsZVN5c3RlbSBp
biBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRX
b3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OWQ0OTVkMTg2YjkzNjVlODkzNjU3MjE1ZjRmZjZiMTM2MjU3ZjZkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRl
bXBvcmFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0
aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAu
Li9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlw
dGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuCitTdWNjZXNzZnVsbHkgb2J0
YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpUZW1wb3JhcnkK
K1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVTeXN0
ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
LXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmU3MWE4ZmQw
Y2I3ZGEwMjhjZjhjYjBiZDQ5MDIzYzg1OWNmNGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZ
IEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9yZXNvdXJj
ZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9u
OiByZXF1ZXN0RmlsZVN5c3RlbVN5bmMgVEVNUE9SQVJZIHRlc3QuCitTdWNjZXNzZnVsbHkgb2J0
YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpUZW1wb3JhcnkK
K1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVTeXN0
ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10
ZW1wb3Jhcnktc3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyMTYxM2E4MDhiOTQ5Yzc0MWM3Zjg1ZTFj
NjU2MzU0Y2Y5M2U0ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtl
ci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcign
Li4vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcycpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA4YTMyNzc5
ZmZmNTcwYThjOWVjYjMwOTU0YzEwYzAzM2MxYmE1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbApAQCAt
MCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9m
cy13b3JrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
ZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW0g
aW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0YXJ0
V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNv
dXJjZXMvZnMtdGVzdC1wb3N0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMt
dGVzdC1wb3N0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkODQ2NTZmZjdlZTk0MTg2MDMzYjE2YjFhNDcwOTc4
YTFlYWQ5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNl
cy9mcy10ZXN0LXBvc3QuanMKQEAgLTAsMCArMSw2IEBACit3YXNQb3N0VGVzdFNjcmlwdFBhcnNl
ZCA9IHRydWU7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy53YXNGaW5pc2hKU1Rl
c3RDYWxsZWQpCisgICAgZmluaXNoSlNUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggZjllMDUyZWJjYzMwNjc1
NjBjOGQ0Y2E2Zjc0ZjZiMTJhMWM0OWNhZC4uODMzMDUyNDhmZTYzMGFjNGY0MWU4MTlhNDRkYTYw
YmFkMGZhYzIwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMTU4LDYgKzE1OCw3IEBAIFdPTlRGSVggU0tJUCA6IGZh
c3QvcmVnZXgvdGVzdDEuaHRtbCA9IFBBU1MKIC8vIFdlIHVzZSB3b3JrZXJfdWl0ZXN0cyB0byBy
dW4gd29ya2VycyB0ZXN0cy4gRG9uJ3QgcnVuIHRoZW0gaW4gdGVzdF9zaGVsbC4KIFdPTlRGSVgg
U0tJUCA6IGZhc3Qvd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05URklYIFNLSVAgOiBm
YXN0L2ZpbGVzL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTAorV09OVEZJWCBTS0lQIDogZmFz
dC9maWxlc3lzdGVtL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQIDog
aHR0cC90ZXN0cy93b3JrZXJzID0gUEFTUyBUSU1FT1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05U
RklYIFNLSVAgOiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQg
RkFJTApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNmUzMmRkZjI0ZjM1NDJlZTRkZWVhMzQwMTc3NWEzZjUwOWJhNTdlOC4u
NjMzMGE5YzBlMmY1YWQxYzNjYjBjODQyMjhmZjVmNWI1MjgyMGRlNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjE2
LDE0ICsxNjE2LDI0IEBAIEVORElGICgpCiBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgIExJ
U1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9y
eUVudHJ5Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHAKICAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAKKyAgICAg
ICAgYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwCiAgICAgICAgIGZpbGVhcGkvRGly
ZWN0b3J5RW50cnkuY3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcAog
ICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAKKyAgICAgICAgZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcAogICAg
ICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5
c3RlbUJhc2UuY3BwCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCiAgICAg
ICAgIGZpbGVhcGkvRW50cnkuY3BwCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAKKyAg
ICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJh
c2UuY3BwCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0Zp
bGVFbnRyeS5jcHAKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcAogICAgICAgICBm
aWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRl
ci5jcHAKICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwCkBAIC0xNjMxLDE1ICsx
NjQxLDIxIEBAIGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgKQogICAgIExJU1QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsCisg
ICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlk
bAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsCisgICAgICAgIGZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmlkbAog
ICAgICAgICBmaWxlYXBpL0VudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwK
ICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJy
YXlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaWRsCiAgICAgICAgIGZp
bGVhcGkvRXJyb3JDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRs
CiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrLmlkbAogICAgICAg
ICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlV3Jp
dGVyLmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjMDg3ZTI3ZjhkYTMwNGY3YmIyMDExNWEyN2UwYmE4MmU3YmRkZGI4Li44Y2Q4OTRi
YTE1MTIzOTcyOTM3MmU3MjhjNDZjZjg3YzE0YjVhYjM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEwLTA5
LTMwICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaWRsIGFuZCBtb2NrIGNsYXNz
ZXMgZm9yIEZpbGVTeXN0ZW1TeW5jIGZvciBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY0MDUKKworICAgICAgICBUZXN0OiBm
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy8KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRl
ZCBuZXcgZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOiBBZGRlZCBuZXcgZmls
ZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogQWRkZWQgbmV3IGZpbGVzLgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29y
ZS5neXBpOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5wcmk6IEFkZGVkIG5l
dyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogQWRkZWQgbmV3IGZpbGVzLgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBBZGRlZCBuZXcgZmlsZXMuIEFsc28g
cmVtb3ZlZCB0aGUgZHVwbGljYXRlZCBmaWxlYXBpXEZpbGVFbnRyeS5jcHAgZW50cnkuCisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBuZXcgZmlsZXMu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVk
LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6IEFkZGVkLgor
ICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9y
eUVudHJ5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlT
eW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcDogQWRkZWQu
CisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZp
bGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5
QXJyYXlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5jcHA6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRW50cnlCYXNlLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlT
eW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0ZpbGVFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5
bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbDogQWRkZWQu
CisKIDIwMTAtMDktMzAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggODk4ZGE1Y2FlYzhm
MDY1YWEzNTk0NWUyNGE2YjdjZTgwNWM2ZWY0Ni4uMDFmNTAyMzhmNzczZDMwMWViMGRhNGNiMDk5
OTA2NGY5N2Q4NDRmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTc0LDEzICs3NCwxNiBAQAogI2luY2x1
ZGUgIkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5LmNwcCIKKyNpbmNs
dWRlICJKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNEaXJlY3RvcnlSZWFk
ZXIuY3BwIgorI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiCiAjaW5jbHVkZSAi
SlNEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdtZW50LmNwcCIKICNpbmNs
dWRlICJKU0RvY3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAiSlNET01BcHBsaWNhdGlvbkNhY2hl
LmNwcCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9N
RmlsZVN5c3RlbS5jcHAiCisjaW5jbHVkZSAiSlNET01GaWxlU3lzdGVtU3luYy5jcHAiCiAjaW5j
bHVkZSAiSlNET01Gb3JtRGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNET01JbXBsZW1lbnRhdGlvbi5j
cHAiCiAjaW5jbHVkZSAiSlNET01NaW1lVHlwZS5jcHAiCkBAIC05OSw2ICsxMDIsOCBAQAogI2lu
Y2x1ZGUgIkpTRW50cmllc0NhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5LmNwcCIKICNp
bmNsdWRlICJKU0VudHJ5QXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTRW50cnlBcnJheVN5bmMuY3Bw
IgorI2luY2x1ZGUgIkpTRW50cnlTeW5jLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5Q2FsbGJhY2su
Y3BwIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNFcnJvckV2
ZW50LmNwcCIKQEAgLTEwOCw2ICsxMTMsNyBAQAogI2luY2x1ZGUgIkpTRmlsZS5jcHAiCiAjaW5j
bHVkZSAiSlNGaWxlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmNwcCIKKyNp
bmNsdWRlICJKU0ZpbGVFbnRyeVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVycm9yLmNwcCIK
ICNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRmlsZUxpc3QuY3Bw
IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDJmZGE1ZTk4YmUxYTY5ZjdjY2E1N2Y2YThhMDFlMGZjNDU1
NmRiYWIuLjM0MmJiN2I1YTY5YmVhYTVmYTk1OGU0OTM2YzZkNzllZjgwZGVmZDYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTExNCw2ICsxMTQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01BcHBs
aWNhdGlvbkNhY2hlIFwKICAgICBET01Db3JlRXhjZXB0aW9uIFwKICAgICBET01GaWxlU3lzdGVt
IFwKKyAgICBET01GaWxlU3lzdGVtU3luYyBcCiAgICAgRE9NRm9ybURhdGEgXAogICAgIERPTUlt
cGxlbWVudGF0aW9uIFwKICAgICBET01NaW1lVHlwZSBcCkBAIC0xMzIsNyArMTMzLDkgQEAgRE9N
X0NMQVNTRVMgPSBcCiAgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0
aW9uRXZlbnQgXAogICAgIERpcmVjdG9yeUVudHJ5IFwKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMg
XAogICAgIERpcmVjdG9yeVJlYWRlciBcCisgICAgRGlyZWN0b3J5UmVhZGVyU3luYyBcCiAgICAg
RG9jdW1lbnQgXAogICAgIERvY3VtZW50RnJhZ21lbnQgXAogICAgIERvY3VtZW50VHlwZSBcCkBA
IC0xNDIsNyArMTQ1LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRW50aXR5UmVmZXJlbmNlIFwK
ICAgICBFbnRyaWVzQ2FsbGJhY2sgXAogICAgIEVudHJ5IFwKKyAgICBFbnRyeVN5bmMgXAogICAg
IEVudHJ5QXJyYXkgXAorICAgIEVudHJ5QXJyYXlTeW5jIFwKICAgICBFbnRyeUNhbGxiYWNrIFwK
ICAgICBFcnJvckNhbGxiYWNrIFwKICAgICBFcnJvckV2ZW50IFwKQEAgLTE1NCw2ICsxNTksNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBGaWxlIFwKICAgICBGaWxlQ2FsbGJhY2sgXAogICAgIEZp
bGVFbnRyeSBcCisgICAgRmlsZUVudHJ5U3luYyBcCiAgICAgRmlsZUV4Y2VwdGlvbiBcCiAgICAg
RmlsZUVycm9yIFwKICAgICBGaWxlTGlzdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA2YmVhNTJmMDkwNzMzYWI0N2Nh
NTQxNThjNzU0YzdjY2QxY2M0Y2RkLi4yZjdhY2JmNGJmYTk4NmUyYWMwMDBjODNjMWI3YjNhZDVl
ZGNkNzM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KQEAgLTY4OSw2ICs2ODksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIFwKQEAgLTcxMSw2ICs3MTIsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggXAogCVdlYkNvcmUvYmluZGlu
Z3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5
Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAg
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2
ZW50TGlzdGVuZXIuaCBcCkBAIC0xMzY1LDIzICsxMzY3LDM5IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9maWxlYXBpL0Jsb2JVUkwuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmggXAorCVdl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkv
RGlyZWN0b3J5RW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIu
Y3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorCVdlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmNwcCBcCiAJV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmggXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBcCisJV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW1CYXNlLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgXAor
CVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkv
RW50cmllc0NhbGxiYWNrLmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAgXAorCVdlYkNv
cmUvZmlsZWFwaS9FbnRyeS5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAog
CVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oIFwKKwlXZWJD
b3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKLQlXZWJDb3JlL2ZpbGVhcGkv
RW50cnkuY3BwIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCisJV2ViQ29yZS9maWxlYXBp
L0VudHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVDYWxsYmFj
ay5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmggXAorCVdlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMu
aCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTc3YWM1NTc2
MGI0ODAyNDA0ZTU0OTE0YWQyM2UwYTFkMGQ2NjRjNC4uMjk0NmFiYzY3YTNiNDFmNWNkNWJkMjdh
MjY1ZWNiNDMxODkxZjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDE2ICs4OSwyMiBAQAogICAgICAgICAgICAgJ2Zp
bGVhcGkvQmxvYi5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbCcsCisgICAgICAgICAgICAn
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnku
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaWRsJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRy
eUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZpbGUuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3IuaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAg
ICdmaWxlYXBpL0ZpbGVMaXN0LmlkbCcsCkBAIC01NjcsNiArNTczLDcgQEAKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNTg1LDYgKzU5Miw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5U3lu
Y0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaCcsCkBAIC03NjQsNiArNzcyLDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLApAQCAtNzcy
LDYgKzc4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50U291cmNlQ29uc3RydWN0
b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1
c3RvbS5jcHAnLApAQCAtMTQ1MCwyNCArMTQ2MCw0MCBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oJywKKyAgICAgICAgICAgICdmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCcsCisgICAgICAgICAg
ICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVBh
dGguY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmgnLAogICAgICAgICAg
ICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNw
cCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oJywKKyAgICAgICAg
ICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9ET01GaWxlU3lzdGVtU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJpZXNDYWxs
YmFjay5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5LmNwcCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9FbnRyeS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuY3BwJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9FbnRyeUFycmF5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5
bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmgnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRW50cnlCYXNlLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUJh
c2UuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJh
Y2suaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUNhbGxiYWNrLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlRW50cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCisg
ICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvRmlsZUVycm9yLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAzMzMxNjI2OWJjMDYwNTZl
YTg1NmE5YmQzZTgzOWNiYmExNzhjZWJlLi4wNTFmNGQ5YzI2NWQzZjYxMWEyMDM3NzY0ZDIxOWJi
NzA2ZmNiYjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKQEAgLTE1NiwxNiArMTU2LDIyIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAg
ZmlsZWFwaS9CbG9iLmlkbCBcCiAgICAgZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwgXAogICAgIGZp
bGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsIFwKKyAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3lu
Yy5pZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmlkbCBcCisgICAgZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCBc
CisgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwgXAogICAgIGZpbGVhcGkvRW50cmll
c0NhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeS5pZGwgXAogICAgIGZpbGVhcGkvRW50
cnlBcnJheS5pZGwgXAorICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsIFwKICAgICBmaWxl
YXBpL0VudHJ5Q2FsbGJhY2suaWRsIFwKKyAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwgXAogICAg
IGZpbGVhcGkvRXJyb3JDYWxsYmFjay5pZGwgXAogICAgIGZpbGVhcGkvRmlsZS5pZGwgXAogICAg
IGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsIFwK
KyAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVFcnJvci5p
ZGwgXAogICAgIGZpbGVhcGkvRmlsZUxpc3QuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIu
aWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGQxN2FmYzJmMTk3MGNiNTRjMTVkMGFmZDdjMDEwNDIyMjVhNmFkODYuLjQ3ODE3
YThkMDA4YmQ4YjkyOGI0ZDk0YjExZWE5YjNkYTg5YTI4ZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjk2NiwxNiArMjk2Niwy
NCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgIEhFQURF
UlMgKz0gXAogICAgICAgICBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlci5oIFwKICAgICAgICAgZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorICAgICAgICBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGgu
aCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIFwKKyAgICAgICAgZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5oIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5o
IFwKICAgICAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkv
RW50cnkuaCBcCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5oIFwKKyAgICAgICAgZmlsZWFw
aS9FbnRyeUFycmF5U3luYy5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAgICAg
ICAgIGZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMu
aCBcCiAgICAgICAgIGZpbGVhcGkvRXJyb3JDYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9G
aWxlQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmggXAorICAgICAgICBm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxi
YWNrLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBcCiAgICAgICAg
IGZpbGVhcGkvRmlsZVdyaXRlci5oIFwKQEAgLTI5OTAsMTQgKzI5OTgsMjQgQEAgY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKIAogICAgIFNPVVJDRVMgKz0gXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTRW50cnlDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeVN5
bmNDdXN0b20uY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAorICAg
ICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5jcHAgXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogICAgICAgICBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW0uY3BwIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5j
cHAgXAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBcCiAgICAgICAgIGZp
bGVhcGkvRW50cnkuY3BwIFwKICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmNwcCBcCisgICAg
ICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJh
c2UuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFw
aS9GaWxlRW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgXAogICAgICAgICBmaWxlYXBp
L0ZpbGVXcml0ZXIuY3BwIFwKICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDkxMjYzMTdjNzE4NzFmYzg1
ZWIzYTc4MTk4MGYzNmI2YmJjMmEzNjAuLjVjMDk3NGZlNDZiNjA1NWMyNzM1MjQ2YzA5MDBkZjcw
NTZkNjY2YWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzEwMSw2
ICszMTAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJlYWRlci5jcHAi
DQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzE1Nyw2ICszMTY1LDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJlY3Rv
cnlSZWFkZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQor
CQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTM0OTMsNiArMzUwOSwxNCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZpbGVT
eXN0ZW1TeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRE9NRm9ybURhdGEuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
QEAgLTQ0NTcsNiArNDQ4MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRW50cnlBcnJheVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5QXJyYXlTeW5jLmgiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlDYWxsYmFjay5jcHAi
DQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxMyw2ICs0NTQ1LDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5
bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0VudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0Vycm9yQ2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KQEAgLTQ5MDksNiArNDk0OSwyMiBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVudHJ5Lmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVu
dHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRmlsZUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0ZpbGVFcnJvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3
NzQ5LDYgKzM3ODA1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5RW50cnlTeW5jLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGly
ZWN0b3J5RW50cnlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeVJlYWRlci5jcHAiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpAQCAtMzc3NTcsNiArMzc4MjEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01EYXRhR3JpZERhdGFT
b3VyY2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzgxLDYgKzM3ODUzLDIyIEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZp
bGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtQmFzZS5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1TeW5jLmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XERPTUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzgxNyw2ICszNzkw
NSwzMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlBcnJheVN5bmMuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZp
bGVhcGlcRW50cnlCYXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlCYXNlLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5U3luYy5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxmaWxlYXBpXEVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUNhbGxiYWNrLmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpAQCAtMzc4NDEsMTEgKzM3OTUzLDE1IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmNwcCIN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5oIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50
cnkuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeVN5bmMuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxGaWxlRW50cnlTeW5jLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBA
IC00NDM5Miw2ICs0NDUwOCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUN
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeVN5bmND
dXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRG9jdW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0K
IAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxNTIsNiArNDUyNzIsMTAgQEAKIAkJCQkJ
Pg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTRW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJ
CQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0V2ZW50Q3VzdG9t
LmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzRlNjFiNzgwZDYyMWIyYmE2OTRkZWZi
ZTNlYThiNTJlMGIxNTU3Ny4uZTgwNDJkNTcwN2I4MjAxYzAyMTk1YTY4OTkzOGYwNzFmZWU2Mjdk
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0NTks
NiArMjQ1OSwzNiBAQAogCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5M0M0N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovOyB9
OwogCQk4OTNDNDdDQzEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdDQTEyM0VFQkEy
MDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTg5M0M0N0RGMTIzRUY0QTkw
MDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBK
U0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDAxMjQ4QkQzQTAwMkIz
RDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5
RW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVj
dG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdG
MjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi87IH07CisJCTg5
M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMzEyNDhCRDM5MDAy
QjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgwNDEyNDhCRDNB
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDUxMjQ4QkQzQTAwMkIzRDg2IC8qIERP
TUZpbGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAq
LzsgfTsKKwkJODkzQzQ4MDYxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y2
MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0
ODA3MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjcxMjQ4QkQzOTAwMkIzRDg2
IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODA4MTI0OEJEM0EwMDJCM0Q4
NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDdGODEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
Y3BwICovOyB9OworCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y5
MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgwQTEy
NDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZBMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJh
c2UuY3BwICovOyB9OworCQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGQjEy
NDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi87IH07CisJCTg5M0M0ODBDMTI0OEJEM0Ew
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAg
Ki87IH07CisJCTg5M0M0ODBEMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZEMTI0OEJEMzkw
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2
IC8qIEZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3Bw
ICovOyB9OworCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkYxMjQ4
QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MjExMjQ5NTM1
QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4
NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgKi87IH07CisJCTg5M0M0ODMyMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzMzEyNDk1NDcyMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgzNDEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRl
clN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzNTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3Rv
cnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgg
Ki87IH07CisJCTg5M0M0ODM2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5j
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MzcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJCMTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODM4MTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0Vu
dHJ5QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5M0M0ODJEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi87
IH07CisJCTg5M0M0ODNBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyRTEyNDk1NDcy
MDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzQjEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgzQzEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODMwMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzRDEy
NDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNG
aWxlRW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0Vu
dHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3Bw
ICovOyB9OwogCQk4OTg3ODU1MjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1Mzkx
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLzsgfTsKIAkJODk4Nzg1NTMx
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGly
ZWN0b3J5RW50cnkuaCAqLzsgfTsKIAkJODk4Nzg1NTQxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVj
dG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLzsg
fTsKQEAgLTg0NjEsNiArODQ5MSwzNiBAQAogCQk4OTNDNDdCQTEyMzhBMEE5MDAyQjNEODYgLyog
SlNGaWxlV3JpdGVyQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNGaWxlV3JpdGVyQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkz
QzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVu
dHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGly
ZWN0b3J5RW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTND
NDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHBhdGgg
PSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0N0YxMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5RW50cnlTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OTNDNDdGMjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3Rv
cnlSZWFkZXJTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9y
eVJlYWRlclN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNDEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y1MTI0OEJEMzkwMDJCM0Q4
NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBET01GaWxlU3lzdGVtQmFzZS5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYg
LyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y3MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBET01GaWxlU3lzdGVtU3luYy5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGODEyNDhCRDM5MDAy
QjNEODYgLyogRW50cnlBcnJheVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRW50cnlBcnJheVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3lu
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y5MTI0OEJEMzkwMDJC
M0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBFbnRyeUFycmF5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50
cnlCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFz
ZS5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg5M0M0N0ZCMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlCYXNlLmg7IHBhdGggPSBmaWxlYXBpL0Vu
dHJ5QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQzEyNDhCRDM5
MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEVudHJ5U3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5U3luYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRy
eVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0VudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVh
cGkvRmlsZUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0
N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZpbGVFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRmlsZUVudHJ5
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyMDEyNDk1MzVCMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGlyZWN0b3J5UmVhZGVyU3luYy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYg
LyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01GaWxlU3lzdGVtU3luYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyog
SlNFbnRyeUFycmF5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0VudHJ5QXJyYXlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkz
QzQ4MkQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeUFycmF5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNEODYgLyog
SlNFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeVN5
bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ZpbGVFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmND
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5
bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEyMkNB
MDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBEaXJlY3RvcnlFbnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERpcmVjdG9yeVJlYWRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE1NywxOCArMTQyMTcsMjggQEAK
IAkJCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJ
CTg5ODc4NTg2MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJ
CQk4OTg3ODU4NzEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJ
CTg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8s
CisJCQkJODkzQzQ4MjcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmgg
Ki8sCiAJCQkJODk4Nzg1ODgxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNw
cCAqLywKIAkJCQk4OTg3ODU4OTEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIu
aCAqLywKKwkJCQk4OTNDNDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlS
ZWFkZXJTeW5jLmggKi8sCiAJCQkJODk4Nzg1OEUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmls
ZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1OEYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmls
ZVN5c3RlbS5oICovLAorCQkJCTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVT
eXN0ZW1TeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01G
aWxlU3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTkwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0Vu
dHJpZXNDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTExMjJDQTJBNzAwM0FBQkRBIC8qIEpT
RW50cmllc0NhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1OTIxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTkzMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Lmgg
Ki8sCiAJCQkJODk4Nzg1OTQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5jcHAgKi8s
CiAJCQkJODk4Nzg1OTUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5oICovLAorCQkJ
CTg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCAqLywKKwkJ
CQk4OTNDNDgyRDEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovLAogCQkJ
CTg5ODc4NTk2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICovLAogCQkJ
CTg5ODc4NTk3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4
OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0
ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTk4MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suY3BwICovLAogCQkJCTg5ODc4NTk5MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suaCAqLywKIAkJCQlCQzAwRjAxMDBFMEEx
ODk1MDBGRDA0RTMgLyogSlNGaWxlLmNwcCAqLywKQEAgLTE0MTc3LDYgKzE0MjQ3LDggQEAKIAkJ
CQk4OTNDNDdCNjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLywKIAkJCQk4
OTg3ODU5QTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4
NTlCMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0ODMwMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODMxMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQkyRTNCQzBDODExN0Qz
RTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovLAogCQkJCTJFM0JDMEM5MTE3RDNFMDgw
MEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oICovLAogCQkJCTg5ODc4NUVFMTIyRTFFODcwMDNBQUJE
QSAvKiBKU0ZpbGVFeGNlcHRpb24uY3BwICovLApAQCAtMTQ3MjgsMjQgKzE0ODAwLDQwIEBACiAJ
CQkJOTc2RDZDNjAxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JVUkwuaCAqLywKIAkJCQk4OTg3ODUz
OTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTNB
MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5M0M0N0YwMTI0
OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Yx
MTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODUz
QjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKIAkJCQk4OTg3ODUz
QzEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkzQzQ3RjIx
MjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovLAorCQkJCTg5M0M0
N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8sCiAJCQkJODk4
Nzg1M0QxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRoLmNwcCAqLywKIAkJCQk4OTg3ODUz
RTEyMkNBMDY0MDAzQUFCREEgLyogRE9NRmlsZVBhdGguaCAqLywKIAkJCQk4OTg3ODUzRjEyMkNB
MDY0MDAzQUFCREEgLyogRE9NRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1NDAxMjJDQTA2
NDAwM0FBQkRBIC8qIERPTUZpbGVTeXN0ZW0uaCAqLywKKwkJCQk4OTNDNDdGNDEyNDhCRDM5MDAy
QjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwICovLAorCQkJCTg5M0M0N0Y1MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oICovLAorCQkJCTg5M0M0N0Y2MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjcxMjQ4QkQz
OTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi8sCiAJCQkJODk4Nzg1NDExMjJDQTA2
NDAwM0FBQkRBIC8qIEVudHJpZXNDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQyMTIyQ0EwNjQw
MDNBQUJEQSAvKiBFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDMxMjJDQTA2NDAwM0FBQkRBIC8q
IEVudHJ5LmggKi8sCiAJCQkJODk4Nzg1NDQxMjJDQTA2NDAwM0FBQkRBIC8qIEVudHJ5QXJyYXku
Y3BwICovLAogCQkJCTg5ODc4NTQ1MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmggKi8s
CisJCQkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLywK
KwkJCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCAqLywKKwkJ
CQk4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCAqLywKKwkJCQk4OTND
NDdGQjEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi8sCiAJCQkJODk4Nzg1NDYxMjJD
QTA2NDAwM0FBQkRBIC8qIEVudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4OTNDNDdGQzEyNDhCRDM5
MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRDEyNDhCRDM5MDAyQjNE
ODYgLyogRW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1NDcxMjJDQTA2NDAwM0FBQkRBIC8qIEVy
cm9yQ2FsbGJhY2suaCAqLywKIAkJCQk5NzZENkM2MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5j
cHAgKi8sCiAJCQkJOTc2RDZDNjIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuaCAqLywKIAkJCQk4
OTNDNDdBNTEyMzg5MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1
NDgxMjJDQTA2NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDkxMjJD
QTA2NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0N0ZFMTI0OEJEMzkwMDJC
M0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNE
ODYgLyogRmlsZUVudHJ5U3luYy5oICovLAogCQkJCTk3NkQ2QzY0MTIyQjhBM0QwMDFGRDFGNyAv
KiBGaWxlRXJyb3IuaCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4
Y2VwdGlvbi5oICovLAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5j
cHAgKi8sCkBAIC0xNjY3MSw2ICsxNjc1OSw3IEBACiAJCQkJMzFGQjFBNkIxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTU5MEUxQjRBMTFF
NEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNw
cCAqLywKKwkJCQk4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5
bmNDdXN0b20uY3BwICovLAogCQkJCTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3Vt
ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQkxQUMyMjYxNjBEQjY5Rjc0MDA4OUI2NjkgLyogSlNET01B
cHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCAqLywKIAkJCQkyRTA4ODhFNTExNDg4NEUyMDBBRjQy
NjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0xNjY4Miw2ICsxNjc3MSw3IEBA
CiAJCQkJNjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8s
CiAJCQkJQkMyRUQ1NTQwQzZCOUJEMzAwOTIwQkZGIC8qIEpTRWxlbWVudEN1c3RvbS5jcHAgKi8s
CiAJCQkJODkzQzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovLAor
CQkJCTg5M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi8s
CiAJCQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUJDMjc1QjgwMTFDNUQyQjQwMEM5MjA2QyAvKiBKU0V2ZW50U291cmNlQ3VzdG9tLmNwcCAq
LywKIAkJCQk0OUVFQ0Y3MjEwNTA4RDlDMDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXlDdXN0b20u
Y3BwICovLApAQCAtMjA5MTgsNiArMjEwMDgsMjAgQEAKIAkJCQk0OUI2OUU2MDEyNTRGRUVEMDA3
RDU3RUIgLyogTG9vcEJsaW5uQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUI2OUU2
NDEyNTRGRUVEMDA3RDU3RUIgLyogTG9vcEJsaW5uTWF0aFV0aWxzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUI2OUU2NjEyNTRGRUVEMDA3RDU3RUIgLyogTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9y
eUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDMxMjQ4QkQzQTAwMkIzRDg2
IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODA1MTI0
OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODkzQzQ4MDcxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCBp
biBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBCMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBEMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5
bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBGMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzMzEyNDk1NDcyMDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODM1MTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg5M0M0ODM3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OTNDNDgzOTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5
U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4M0IxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzRDEyNDk1NDcyMDAyQjNEODYg
LyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzNDQ0LDYgKzIzNTQ4LDIy
IEBACiAJCQkJNDlCNjlFNUUxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlubkNsYXNzaWZpZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlCNjlFNjMxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BC
bGlubk1hdGhVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUI2OUU2NTEyNTRGRUVEMDA3
RDU3RUIgLyogTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
OTNDNDgwMDEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAvKiBE
T01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwNjEyNDhCRDNB
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkz
QzQ4MDgxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODBBMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3lu
Yy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzIx
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9N
RmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzgxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4
M0ExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTg5M0M0ODNDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rp
cmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg2OGNlOGEwYWJjMGVmNmM2Mjdj
ZWVhZmE5YWRkOWZkZmMxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRGly
ZWN0b3J5RW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJKU0VudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZsYWdzLmgiCisjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKEV4ZWNTdGF0
ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0PERp
cmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0gdmFs
dWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVudCgw
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1
bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBl
eGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0
cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+
YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgp
OworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmll
cihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRv
Qm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdl
dChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5z
ZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOworICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIHRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3Ms
IGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworSlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KEV4ZWNT
dGF0ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0
PERpcmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0g
dmFsdWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVu
dCgwKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5h
cmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAm
JiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhl
cml0cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhl
Yy0+YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0
ZSgpOworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRp
ZmllcihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRl
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3Qt
PmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdz
LT5zZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxh
Z3MsIGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJ
TEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMmY5NmFkODdhNzBhY2FiZmEzYzVlMTE0NTc5N2YzMDgyMWY5MjRjCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkpTRW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3lu
Yy5oIgorI2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRW50cnlTeW5jKiBlbnRyeSkKK3sKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisKKyAgICBpZiAoZW50cnktPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4g
Z2V0RE9NT2JqZWN0V3JhcHBlcjxKU0ZpbGVFbnRyeVN5bmM+KGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RhdGljX2Nhc3Q8RmlsZUVudHJ5U3luYyo+KGVudHJ5KSk7CisKKyAgICBBU1NFUlQoZW50cnkt
PmlzRGlyZWN0b3J5KCkpOworICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpTRGlyZWN0
b3J5RW50cnlTeW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PERpcmVjdG9yeUVu
dHJ5U3luYyo+KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmM4
ZDMxMzljMTFkZTY2ZmI5YzkxMmNlNWM5M2RjNWRmYjJiZDI2Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4RGlyZWN0
b3J5RW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJE
aXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAi
VjhFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiVjhGbGFncy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9y
eUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldERpcmVjdG9yeSIpOworICAgIERpcmVjdG9yeUVudHJ5
U3luYyogaW1wID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8
V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CisgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPD0gMSkgeworICAgICAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoKTsKKyAgICAg
ICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8Rmxh
Z3M+IGZsYWdzOworICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sx
XS0+SXNPYmplY3QoKSAmJiAhVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAg
ICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6
OmNyZWF0ZSgpOworICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRl
LklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUo
KSk7CisgICAgICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQor
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiZXhjbHVzaXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklz
RW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFu
VmFsdWUoKSk7CisgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhGbGFncyos
IHRtcF9mbGFncywgVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOEZsYWdzOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDApOworICAgICAg
ICBmbGFncyA9IHRtcF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjazsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklz
TnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1sy
XS0+SXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVh
dGUoYXJnc1syXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVm
UHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAzICYmICFhcmdzWzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgewor
ICAgICAgICBpZiAoIWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVy
cm9yQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
OworICAgIH0KKyAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldEZpbGUiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMq
IGltcCA9IFY4RGlyZWN0b3J5RW50cnlTeW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAg
ICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPFdpdGhV
bmRlZmluZWRPck51bGxDaGVjaz4sIHBhdGgsIGFyZ3NbMF0pOworICAgIGlmIChhcmdzLkxlbmd0
aCgpIDw9IDEpIHsKKyAgICAgICAgaW1wLT5nZXRGaWxlKHBhdGgpOworICAgICAgICByZXR1cm4g
djg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQorICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7
CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVj
dCgpICYmICFWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgICAgICBFWENFUFRJ
T05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKKyAgICAgICAgZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7
CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6
OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7CisgICAgICAgIGlmICghdjhDcmVhdGUuSXNFbXB0eSgp
ICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OENyZWF0ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0NyZWF0ZSwgdjhDcmVhdGUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAg
ICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXNDcmVhdGUpOworICAgICAgICB9CisgICAgICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IHY4RXhjbHVzaXZlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6
TmV3KCJleGNsdXNpdmUiKSk7CisgICAgICAgIGlmICghdjhFeGNsdXNpdmUuSXNFbXB0eSgpICYm
ICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1c2l2ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsK
KyAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUpOworICAgICAgICB9
CisgICAgfSBlbHNlIHsKKyAgICAgICBFWENFUFRJT05fQkxPQ0soRmxhZ3MqLCB0bXBfZmxhZ3Ms
IFY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhGbGFnczo6dG9OYXRpdmUodjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwKTsKKyAgICAgICBmbGFncyA9IHRt
cF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
azsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFh
cmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1syXS0+SXNPYmplY3Qo
KSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAg
ICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVhdGUoYXJnc1syXSwg
Z2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAzICYmICFhcmdz
WzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAo
IWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBF
X01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVycm9yQ2FsbGJhY2s6
OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIH0KKyAg
ICBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
ayk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCisKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU5OGRmMTliMGIxM2UxOTRlYmFiNjcxZTZmNjRlMGExOGZjMDdiMjIKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMu
aCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlY4QXR0ci5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCisjaW5jbHVk
ZSAiVjhEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOEVudHJ5U3luYy5oIgorI2lu
Y2x1ZGUgIlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoRW50cnlTeW5jKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICBpZiAoaW1wbC0+aXNGaWxlKCkpCisgICAgICAgIHJl
dHVybiB0b1Y4KHN0YXRpY19jYXN0PEZpbGVFbnRyeVN5bmMqPihpbXBsKSk7CisKKyAgICBBU1NF
UlQoaW1wbC0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RGly
ZWN0b3J5RW50cnlTeW5jKj4oaW1wbCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAK
aW5kZXggYjFiMWNkYzExZTZkZTUzYTFlODViZWJlM2M1NmIzZmVlOGQ0NDBkZC4uMTc0Mjg0MmRh
MzFmOWUwZGNkZWZlODFiYTMzZTdjNjExMmM5ZDg5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcApAQCAtNTQsMTMgKzU0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRE9NRmlsZVN5
c3RlbTo6RE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0
ZW0pCi0gICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKLSAgICAsIG1fbmFtZShu
YW1lKQotICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0oYXN5bmNGaWxlU3lzdGVtKQotewotfQotCi1E
T01GaWxlU3lzdGVtOjp+RE9NRmlsZVN5c3RlbSgpCisgICAgOiBET01GaWxlU3lzdGVtQmFzZShu
YW1lLCBhc3luY0ZpbGVTeXN0ZW0pCisgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhp
cykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBi
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggODQ5OGU3NWI1ZjQ0NmUzZWZl
OWI3OGQ2ODI3ZWQzMmZhY2Q0ZWY3Mi4uOTA4YzE2Yzk0M2VjYWRmNjkxMjMyYzYwNDRhZGNlYWRk
NTQ5YmNhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC0zNSw2ICszNSw3IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIK
KyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgogI2luY2x1ZGUgIkZsYWdzLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCkBAIC01NCwxNiArNTUsMTMgQEAgY2xhc3MgRmlsZVdyaXRlckNhbGxiYWNrOwogY2xhc3Mg
TWV0YWRhdGFDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIAotY2xhc3MgRE9NRmlsZVN5
c3RlbSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW0+LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKK2NsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2Us
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBj
b25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVT
eXN0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0o
Y29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+
RE9NRmlsZVN5c3RlbSgpOwotCi0gICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCiAg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0IG1ldGhvZHMuCkBAIC05Niw4ICs5NCw2IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgRE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOwogCi0gICAgQXN5
bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2FzeW5jRmls
ZVN5c3RlbS5nZXQoKTsgfQotCiAgICAgLy8gQSBoZWxwZXIgdGVtcGxhdGUgdG8gc2NoZWR1bGUg
YSBjYWxsYmFjayB0YXNrLgogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gYSBtb3JlIGdlbmVy
aWMgcGxhY2UuCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4KQEAg
LTExOCw5ICsxMTQsNiBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8Q0I+IG1fY2FsbGJhY2s7
CiAgICAgICAgIFJlZlB0cjxDQkFyZz4gbV9jYWxsYmFja0FyZzsKICAgICB9OwotCi0gICAgU3Ry
aW5nIG1fbmFtZTsKLSAgICBtdXRhYmxlIE93blB0cjxBc3luY0ZpbGVTeXN0ZW0+IG1fYXN5bmNG
aWxlU3lzdGVtOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAgYi9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MGMwMzBhNTZi
MjYxZjU5MTNkZDJiMTg1ZGFmNzBlOWVlZTQ0OWQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbUJhc2UuaCIKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGlyZWN0
b3J5RW50cnkuaCIKKyNpbmNsdWRlICJFbnRyaWVzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJFbnRy
eUJhc2UuaCIKKyNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxs
YmFjay5oIgorI2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxs
YmFja3MuaCIKKyNpbmNsdWRlICJNZXRhZGF0YUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVm9pZENh
bGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0RPTUZpbGVTeXN0ZW1CYXNlOjpET01GaWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBt
X25hbWUobmFtZSkKKyAgICAsIG1fYXN5bmNGaWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKK3sK
K30KKworRE9NRmlsZVN5c3RlbUJhc2U6On5ET01GaWxlU3lzdGVtQmFzZSgpCit7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIGIvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQxMGRhNTM1ODJlNjc0YzJj
NmQ3YjFlYWQ4ZThkY2FmOTZlZTVmNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtQmFzZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTUZpbGVTeXN0
ZW1CYXNlX2gKKyNkZWZpbmUgRE9NRmlsZVN5c3RlbUJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRmxhZ3Mu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBEaXJlY3RvcnlFbnRyeTsKK2NsYXNzIEVudHJ5QmFzZTsKK2NsYXNzIEVudHJ5Q2Fs
bGJhY2s7CitjbGFzcyBFbnRyaWVzQ2FsbGJhY2s7CitjbGFzcyBFcnJvckNhbGxiYWNrOworY2xh
c3MgTWV0YWRhdGFDYWxsYmFjazsKK2NsYXNzIFZvaWRDYWxsYmFjazsKKworLy8gQSBjb21tb24g
YmFzZSBjbGFzcyBmb3IgRE9NRmlsZVN5c3RlbSBhbmQgRE9NRmlsZVN5c3RlbVN5bmMuCitjbGFz
cyBET01GaWxlU3lzdGVtQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW1CYXNl
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3lu
Y0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVT
eXN0ZW1CYXNlKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5E
T01GaWxlU3lzdGVtQmFzZSgpOworCisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lOyB9CisgICAgQXN5bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBj
b25zdCB7IHJldHVybiBtX2FzeW5jRmlsZVN5c3RlbS5nZXQoKTsgfQorCitwcm90ZWN0ZWQ6Cisg
ICAgRE9NRmlsZVN5c3RlbUJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4pOworICAgIGZyaWVuZCBjbGFzcyBET01GaWxlU3lzdGVtU3luYzsKKworICAg
IFN0cmluZyBtX25hbWU7CisgICAgbXV0YWJsZSBPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBtX2Fz
eW5jRmlsZVN5c3RlbTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERPTUZpbGVTeXN0ZW1CYXNlX2gKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgYi9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwYWZjMWRkZWNkODFl
NzI0OWQzNWRjMmQyNGYyNTM1MzI3OTBmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5
RW50cnlTeW5jLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxET01GaWxl
U3lzdGVtU3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OmNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSog
ZmlsZVN5c3RlbSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5j
KGZpbGVTeXN0ZW0tPm1fbmFtZSwgZmlsZVN5c3RlbS0+bV9hc3luY0ZpbGVTeXN0ZW0ubGVha1B0
cigpKSk7Cit9CisKK0RPTUZpbGVTeXN0ZW1TeW5jOjpET01GaWxlU3lzdGVtU3luYyhjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0p
CisgICAgOiBET01GaWxlU3lzdGVtQmFzZShuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCit7Cit9CisK
K0RPTUZpbGVTeXN0ZW1TeW5jOjp+RE9NRmlsZVN5c3RlbVN5bmMoKQoreworfQorCitQYXNzUmVm
UHRyPERpcmVjdG9yeUVudHJ5U3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OnJvb3QoKQoreworICAg
IHJldHVybiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZSh0aGlzLCBET01GaWxlUGF0aDo6cm9v
dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlY2Y0NjE0OWI3OGI4
NDcwOGY1N2U0Mzc5M2M4MTVlODYzYWU0ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01GaWxl
U3lzdGVtU3luY19oCisjZGVmaW5lIERPTUZpbGVTeXN0ZW1TeW5jX2gKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOworCit0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOworCitjbGFzcyBET01GaWxlU3lzdGVtU3luYyA6IHB1YmxpYyBET01GaWxl
U3lzdGVtQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bVN5bmM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERPTUZpbGVTeXN0ZW1TeW5jKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKworICAg
IC8vIFRoaXMgY2FsbCBpcyBkZXN0cnVjdGl2ZTsgdGhlIGFyZ3VtZW50IGZpbGVTeXN0ZW0gd2ls
bCBiZWNvbWUgdW51c2FibGUuCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5
bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSk7CisKKyAgICB2aXJ0dWFs
IH5ET01GaWxlU3lzdGVtU3luYygpOworCisgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5
bmM+IHJvb3QoKTsKKworcHJpdmF0ZToKKyAgICBET01GaWxlU3lzdGVtU3luYyhjb25zdCBTdHJp
bmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7Cit9OworCit9IC8vIG5hbWVz
cGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRE9NRmls
ZVN5c3RlbVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1T
eW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjUxZDhjY2Q2MjAwYTc0YWFlYTBlNDI3NjQ3OTJjNmFmNjE3Zjk2MQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKQEAgLTAsMCArMSwz
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1GSUxFX1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERPTUZpbGVTeXN0
ZW1TeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRGlyZWN0b3J5RW50cnlTeW5jIHJvb3Q7CisgICAgfTsK
K30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGIv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2ZGQ3
ODI1ZTkwMjk1ZWEwMzc1ZmFmMGNmNzk2OTMyOWEyNjgxNAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgiCisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXJTeW5jLmgiCisj
aW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGlyZWN0b3J5
RW50cnlTeW5jOjpEaXJlY3RvcnlFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwg
ZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gRGlyZWN0
b3J5RW50cnlTeW5jOjpjcmVhdGVSZWFkZXIoRXhjZXB0aW9uQ29kZSYpCit7CisgICAgcmV0dXJu
IERpcmVjdG9yeVJlYWRlclN5bmM6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIG1fZnVsbFBhdGgpOwor
fQorCitQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpCit7Cisg
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBEaXJlY3Rv
cnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdz
PiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgor
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50
cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI1OTUzYTZlZDlmYTI4OWNhYTQ5YmRmODEyMDY4YzgyMWMy
ODQzMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEaXJlY3RvcnlFbnRyeVN5bmNfaAorI2RlZmlu
ZSBEaXJlY3RvcnlFbnRyeVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5j
bHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmxhZ3MuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlSZWFk
ZXJTeW5jOworY2xhc3MgRmlsZUVudHJ5U3luYzsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5j
IDogcHVibGljIEVudHJ5U3luYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGly
ZWN0b3J5RW50cnlTeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERpcmVjdG9yeUVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKyAgICB2
aXJ0dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBQ
YXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlclN5bmM+IGNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2Rl
Jik7CisgICAgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBnZXRGaWxlKGNvbnN0IFN0cmluZyYg
cGF0aCwgUGFzc1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRy
PERpcmVjdG9yeUVudHJ5U3luYz4gZ2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgUGFz
c1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQg
Y2xhc3MgRW50cnlTeW5jOworICAgIERpcmVjdG9yeUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFz
ZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9IC8vIG5hbWVz
cGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRGlyZWN0
b3J5RW50cnlTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2M3OTZiZmM3M2QzZThlYTk3YzMyNzVkMzg2MDEwNzQzMGIyYjRkYgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCkBAIC0wLDAg
KzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAg
ICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBEaXJlY3Rv
cnlFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICBEaXJlY3RvcnlSZWFkZXJTeW5jIGNy
ZWF0ZVJlYWRlcigpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIEZp
bGVFbnRyeVN5bmMgZ2V0RmlsZShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nIHBhdGgsIGluIEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24p
OworICAgICAgICBbQ3VzdG9tXSBEaXJlY3RvcnlFbnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtD
b252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gRmxh
Z3MgZmxhZ3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2Q1NmJjNmQ5ZmYwOWJhNzRm
YmY2YjE3ZTYwZjQ4NmRkMjE2MjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBp
L0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIKKyNpbmNsdWRlICJFbnRyeUFy
cmF5U3luYy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeVJlYWRlclN5bmM6
OkRpcmVjdG9yeVJlYWRlclN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAs
IG1fZnVsbFBhdGgoZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+
IERpcmVjdG9yeVJlYWRlclN5bmM6OnJlYWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmKQoreworICAg
IC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVf
U1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
aCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU4
MzE2MWQ2N2JjY2U3YTgzMzY0OWMwMmNiZjI3ODFmOTZiMjhjMQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgKQEAgLTAsMCArMSw2MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgRGlyZWN0b3J5UmVhZGVyU3luY19oCisjZGVmaW5lIERpcmVjdG9yeVJlYWRlclN5bmNf
aAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBEaXJlY3RvcnlSZWFkZXJTeW5jIDogcHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5
UmVhZGVyU3luYz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeVJl
YWRlclN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0
b3J5UmVhZGVyU3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKworICAgIFBhc3NS
ZWZQdHI8RW50cnlBcnJheVN5bmM+IHJlYWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmKTsKKworcHJp
dmF0ZToKKyAgICBEaXJlY3RvcnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lz
dGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKKworICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBt
X2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7Cit9OworCit9IC8vIG5hbWVzcGFj
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRGlyZWN0b3J5
UmVhZGVyU3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWEzOTkyODMyNjdmOGE1YmVhMmNlZjBlNjQ4N2ExZmY4ZDY4MzI2NQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRGlyZWN0
b3J5UmVhZGVyU3luYyB7CisgICAgICAgIEVudHJ5QXJyYXlTeW5jIHJlYWRFbnRyaWVzKCkgcmFp
c2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWRiZjJkY2RlN2VhMTRjNzkxYTliN2U3ZDY5NjA5OGU0NDk4OTM3Ngot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAKQEAg
LTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeUFycmF5U3lu
Yy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0VudHJ5QXJyYXlTeW5jOjpFbnRyeUFycmF5U3luYygpCit7Cit9CisKK0VudHJ5U3luYyogRW50
cnlBcnJheVN5bmM6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4
ID49IG1fZW50cmllcy5zaXplKCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2Vu
dHJpZXNbaW5kZXhdLmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlBcnJheVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdlMTMxMmZkNWIzOWY0NGIxMmZjODAyZTE2YzcxYjdlYzNlN2MyN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaApAQCAtMCwwICsxLDY5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBFbnRyeUFycmF5U3luY19oCisjZGVmaW5lIEVudHJ5QXJyYXlTeW5jX2gKKworI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBFbnRyeUFycmF5OworCitjbGFzcyBFbnRyeUFycmF5U3lu
YyA6IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5QXJyYXlTeW5jPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEVudHJ5QXJyYXlTeW5jKCkpOworICAgIH0KKworICAgIHVuc2ln
bmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZW50cmllcy5zaXplKCk7IH0KKyAgICBFbnRy
eVN5bmMqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgc2V0KHVuc2lnbmVk
IGluZGV4LCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZW50cnkpOworCisgICAgYm9vbCBpc0VtcHR5
KCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVzLmlzRW1wdHkoKTsgfQorICAgIHZvaWQgY2xlYXIo
KSB7IG1fZW50cmllcy5jbGVhcigpOyB9CisgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxFbnRy
eVN5bmM+IGVudHJ5KSB7IG1fZW50cmllcy5hcHBlbmQoZW50cnkpOyB9CisKK3ByaXZhdGU6Cisg
ICAgRW50cnlBcnJheVN5bmMoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8RW50cnlTeW5jPiA+IG1f
ZW50cmllczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QXJyYXlTeW5jX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlBcnJheVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkNTRmMzNlZWU5ZDI3NGQyYjZjYjBlODg5Y2Mz
NjhkNjFiYjUzZjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJh
eVN5bmMuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEhhc0luZGV4R2V0
dGVyLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRW50cnlBcnJheVN5bmMgeworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIEVu
dHJ5U3luYyBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB9Owor
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5jcHAgYi9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlCYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzY0NjZkMmY3NmRlMzRkNzY3NzE3Yzlk
NDI0NDVkODIyN2NkNzU2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
QmFzZS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJF
bnRyeUJhc2UuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZp
bGVQYXRoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlCYXNlOjpFbnRyeUJhc2Uo
RE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisg
ICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAsIG1fZnVsbFBhdGgoZnVsbFBhdGgp
CisgICAgLCBtX25hbWUoRE9NRmlsZVBhdGg6OmdldE5hbWUoZnVsbFBhdGgpKQoreworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwOGM3MjczM2UzZmUwM2M5OWFkN2M4YzM2YWVjNzI3
NjM0NGFjNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaApA
QCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRyeUJhc2VfaAorI2RlZmluZSBFbnRyeUJhc2VfaAor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NRmlsZVN5c3RlbUJhc2U7CitjbGFz
cyBFbnRyeVN5bmM7CisKKy8vIEEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIEVudHJ5IGFuZCBFbnRy
eVN5bmMuCitjbGFzcyBFbnRyeUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeUJhc2U+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5FbnRyeUJhc2UoKSB7IH0KKworICAgIERPTUZpbGVTeXN0
ZW1CYXNlKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVtOyB9CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgY29u
c3QgU3RyaW5nJiBmdWxsUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbFBhdGg7IH0KKyAgICBj
b25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKworcHJvdGVjdGVk
OgorICAgIEVudHJ5QmFzZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCk7CisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKworICAgIERPTUZp
bGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7CisgICAg
U3RyaW5nIG1fbmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QmFzZV9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5
bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZhYWEzNTZjNzRiMmU3OWNhYzQ4MDdjMjZlNzUxZmYwZDQ5NGY2
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApAQCAt
MCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNp
bmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJNZXRhZGF0YS5oIgorI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlT
eW5jOjpFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeUJhc2UoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9
CisKK1Bhc3NSZWZQdHI8TWV0YWRhdGE+IEVudHJ5U3luYzo6Z2V0TWV0YWRhdGEoRXhjZXB0aW9u
Q29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRy
eVN5bmM6Om1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4sIGNvbnN0IFN0cmlu
ZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1l
bnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVm
UHRyPEVudHJ5U3luYz4gRW50cnlTeW5jOjpjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRy
eVN5bmM+LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBG
SVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gMDsKK30KKwordm9pZCBFbnRyeVN5bmM6OnJlbW92ZShFeGNlcHRpb25Db2RlJikgY29uc3QK
K3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKworUGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6Z2V0UGFyZW50KCkgY29u
c3QKK3sKKyAgICAvLyBTeW5jIHZlcmlvbiBvZiBnZXRQYXJlbnQgZG9lc24ndCB0aHJvdyBleGNl
cHRpb25zLgorICAgIFN0cmluZyBwYXJlbnRQYXRoID0gRE9NRmlsZVBhdGg6OmdldERpcmVjdG9y
eShmdWxsUGF0aCgpKTsKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVhdGUobV9m
aWxlU3lzdGVtLCBwYXJlbnRQYXRoKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5
bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTdkYjYwY2U5
NjcwYjNjZWUxY2FiZGRmODlkOTFlOTBmMGQ4NmViCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0VudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5U3luY19o
CisjZGVmaW5lIEVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNs
dWRlICJET01GaWxlU3lzdGVtU3luYy5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgorI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmM7CitjbGFzcyBNZXRh
ZGF0YTsKKworY2xhc3MgRW50cnlTeW5jIDogcHVibGljIEVudHJ5QmFzZSB7CitwdWJsaWM6Cisg
ICAgRE9NRmlsZVN5c3RlbVN5bmMqIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxET01GaWxlU3lzdGVtU3luYyo+KG1fZmlsZVN5c3RlbSk7IH0KKworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxNZXRhZGF0YT4gZ2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29kZSYpOworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IG1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVu
dHJ5U3luYz4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBjb3B5VG8oUGFzc1JlZlB0cjxE
aXJlY3RvcnlFbnRyeVN5bmM+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZ2V0UGFyZW50KCkgY29uc3Q7
CisKK3Byb3RlY3RlZDoKKyAgICBFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5U3luY19oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiN2VlM2MzOGM5NTQ5NDg4MzgzMTk5ZTc2NTNhNTky
ZmZmNzNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlk
bApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDdXN0b21Ub0pTLAorICAgICAg
ICBOb1N0YXRpY1RhYmxlcworICAgIF0gRW50cnlTeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNGaWxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc0RpcmVjdG9yeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbVN5bmMgZmlsZXN5c3RlbTsKKworICAg
ICAgICBNZXRhZGF0YSBnZXRNZXRhZGF0YSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAg
ICAgIEVudHJ5U3luYyBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0Nv
bnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMg
KEZpbGVFeGNlcHRpb24pOworICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVu
dHJ5U3luYyBwYXJlbnQsIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBE
T01TdHJpbmcgbmFtZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1v
dmUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBEaXJlY3RvcnlFbnRyeVN5bmMg
Z2V0UGFyZW50KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZGUzZjgzODEwMmI3ODJkNGU5NWNkOTNmYmEyNzllOThmMzkzODBlCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorCisjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVFbnRyeVN5
bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjJkMmMzNThiMmIzYmEyNGVmZmYxZmVj
Yzc2ODAwYjhmMjA1OWZhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVF
bnRyeVN5bmMuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlRW50cnlTeW5jX2gKKyNkZWZp
bmUgRmlsZUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBGaWxlRW50cnlTeW5jIDogcHVibGljIEVudHJ5U3luYyB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gY3JlYXRlKERPTUZp
bGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGaWxlRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1
bGxQYXRoKSk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgRW50cnlTeW5jOworICAg
IEZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEZpbGVFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1MDU5MDEyZjgwYTk2MWIwMGY1ODVhYzI2YTk3NmI3MjBj
OTM3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5p
ZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252
ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAg
ICBdIEZpbGVFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICAvLyBGSVhNRTogdG8gYmUg
YWRkZWQuCisgICAgICAgIC8vIEZpbGVXcml0ZXJTeW5jIGNyZWF0ZVdyaXRlcigpOworICAgICAg
ICAvLyBGaWxlIGZpbGUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69371</attachid>
            <date>2010-09-30 13:24:51 -0700</date>
            <delta_ts>2010-09-30 16:38:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20100930132450.patch</filename>
            <type>text/plain</type>
            <size>137422</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDIwMzRiYzhlNDc0ODY0MzMzZTU5ZDYzODYxN2M4M2VkNjlkZDk1Li5lOWFmMWZi
ZDZkOTI5MmQzZDIwMTc3NTc0MWJjZWQ5Y2YwMzZjNDc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29y
a2VyLWNvbW1vbi5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9mcy13b3JrZXItdGVzdC1wb3N0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtdGVtcG9yYXJ5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
c2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zp
bGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
aWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0
ZW50LXN5bmMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
IEFkZGVkIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzCisgICAgICAgIG5vdCB0byBydW4gdGhlIHJl
Z3VsYXIgdGVzdHMgZm9yIHRoZW0uCisKIDIwMTAtMDktMzAgIEFscGhhIExhbSAgPGhjbGFtQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBCdWlsZCBmaXguCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24u
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21t
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDExNzZjMGI2NDczMDc3NDA1ZTJkMzczZDI3YzY4NmQwNTc5NGFj
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpAQCAtMCwwICsxLDM0IEBACitmdW5jdGlvbiBkZWJ1Zyht
ZXNzYWdlKQoreworICAgIHBvc3RNZXNzYWdlKG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBmaW5p
c2hKU1Rlc3QoKQoreworICAgIHBvc3RNZXNzYWdlKCJET05FIik7Cit9CisKK2Z1bmN0aW9uIGRl
c2NyaXB0aW9uKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UoJ0Rlc2NyaXB0aW9uOiAnICsg
bWVzc2FnZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlKF9hLCBfYikKK3sKKyAgaWYgKHR5cGVv
ZiBfYSAhPSAic3RyaW5nIiB8fCB0eXBlb2YgX2IgIT0gInN0cmluZyIpCisgICAgZGVidWcoIldB
Uk46IHNob3VsZEJlKCkgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzIik7CisgIHZhciBfYXYgPSBl
dmFsKF9hKTsKKyAgdmFyIF9idiA9IGV2YWwoX2IpOworICBpZiAoX2F2ID09PSBfYnYpCisgICAg
ZGVidWcoIlBBU1M6ICIgKyBfYSArICIgaXMgIiArIF9iKTsKKyAgZWxzZQorICAgIGRlYnVnKCJG
QUlMOiAiICsgX2EgKyAiIHNob3VsZCBiZSAiICsgX2J2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9m
IF9idiArICIpLiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBfYXYgKyAiKS4i
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVUcnVlKF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1ZSIp
OyB9CisKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMgJiYgIXRoaXMucmVxdWVzdEZpbGVTeXN0ZW0p
IHsKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIEZpbGVTeXN0ZW0gQVBJLicpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjM0YjAyNTJmMTQ2NDdkMDVlOTljMDNmODUxNzJkYjU1Mjk4N2MwMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3Qt
cG9zdC5qcwpAQCAtMCwwICsxLDggQEAKK3dhc1Bvc3RUZXN0U2NyaXB0UGFyc2VkID0gdHJ1ZTsK
KworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
Cit9CitpZiAod2luZG93Lndhc0ZpbmlzaEpTVGVzdENhbGxlZCkKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMt
d29ya2VyLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9mcy13b3JrZXItdGVzdC1wcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5YTg3M2NmYTRiNmIzNWEzYzFh
ZDQ1NTU0YTU2ZWZiYjFhODA0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzCkBAIC0wLDAgKzEsMzYg
QEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKQoreworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAi
PGJyLz4iOworfQorCitmdW5jdGlvbiBzdGFydFdvcmtlcih0ZXN0U2NyaXB0VVJMKQoreworICAg
IGRlYnVnKCdTdGFydGluZyB3b3JrZXI6ICcgKyB0ZXN0U2NyaXB0VVJMKTsKKyAgICB2YXIgd29y
a2VyID0gbmV3IFdvcmtlcih0ZXN0U2NyaXB0VVJMKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0g
ZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBkZWJ1ZyhldmVudC5kYXRhKTsKKyAgICAg
ICAgaWYgKGV2ZW50LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgfTsKKworICAgIHdvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpCisgICAgewor
ICAgICAgICBhbGVydChldmVudCk7CisgICAgICAgIGRlYnVnKCdHb3QgZXJyb3IgZnJvbSB3b3Jr
ZXI6ICcgKyBldmVudC5tZXNzYWdlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBmaW5pc2hKU1Rlc3QoKQoreworICAgIHdhc0ZpbmlzaEpTVGVzdENhbGxl
ZCA9IHRydWU7CisgICAgaWYgKCF3aW5kb3cud2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQpCisgICAg
ICAgIHJldHVybjsKKyAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09N
UExFVEU8L3NwYW4+Jyk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVy
c2lzdGVudC1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMTlkY2FkNjE3ODg5ZDQyYWI1YzZjNDA5ODJm
ZThkOGRmYWUyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKQEAgLTAsMCArMSwxMyBAQAor
aWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1j
b21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlv
bigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVT
eXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoUEVSU0lTVEVOVCwgMTAwKTsKKworZGVidWco
IlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0
ZW0ubmFtZSk7CitzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7Citz
aG91bGRCZSgiZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOworZmluaXNoSlNUZXN0
KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY4NGZkYjc4MTdjNTkzYzA4OGYzYzg0NTNjZWQ2NzEzYzFlYzg5NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBs
ZS1wZXJzaXN0ZW50LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMp
IHsKKyAgICBpbXBvcnRTY3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgZGVidWco
J1dvcmtlciBzdGFydGVkLicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtIFBF
UlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSBudWxsOworCitmdW5jdGlvbiBl
cnJvckNhbGxiYWNrKGVycm9yKSB7CisgICAgZGVidWcoIkVycm9yIG9jY3VyZWQgd2hpbGUgcmVx
dWVzdGluZyBhIFBFUlNJU1RFTlQgZmlsZSBzeXN0ZW06IiArIGVycm9yLmNvZGUpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soZnMpIHsKKyAgICBm
aWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNU
RU5UIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0ZW0ubmFtZSk7CisgICAgc2hvdWxkQmVUcnVlKCJm
aWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIpOworICAgIHNob3VsZEJlKCJmaWxlU3lzdGVtLnJv
b3QuZnVsbFBhdGgiLCAnIi8iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVlc3RGaWxlU3lzdGVtKFBFUlNJU1RFTlQsIDEwMCwgc3Vj
Y2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVz
b3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWM1Yzc3YWVkYWI2
YzkwMThmZDhkYmVkODFmOWQyNzcwM2Y5NDgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKQEAg
LTAsMCArMSwxMyBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlw
dHMoJ2ZzLXdvcmtlci1jb21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7
Cit9CitkZXNjcmlwdGlvbigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFRFTVBPUkFSWSB0ZXN0LiIp
OworCit2YXIgZmlsZVN5c3RlbSA9IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhURU1QT1JBUlksIDEw
MCk7CisKK2RlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06
IiArIGZpbGVTeXN0ZW0ubmFtZSk7CitzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5n
dGggPiAwIik7CitzaG91bGRCZSgiZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOwor
ZmluaXNoSlNUZXN0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFy
eS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBv
cmFyeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNjY1YjUwYmI4M2U0ZDBiMjNkZDA2NjNhN2YyNDJmYTBhZjQ0
M2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291
cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2lmICh0aGlzLmltcG9y
dFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7Cisg
ICAgZGVidWcoJ1dvcmtlciBzdGFydGVkLicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxl
U3lzdGVtIFRFTVBPUkFSWSB0ZXN0LiIpOworCit2YXIgZmlsZVN5c3RlbSA9IG51bGw7CisKK2Z1
bmN0aW9uIGVycm9yQ2FsbGJhY2soZXJyb3IpIHsKKyAgICBkZWJ1ZygnRXJyb3Igb2NjdXJlZCB3
aGlsZSByZXF1ZXN0aW5nIGEgVEVNUE9SQVJZIGZpbGUgc3lzdGVtOicgKyBlcnJvci5jb2RlKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7
CisgICAgZmlsZVN5c3RlbSA9IGZzOworICAgIGRlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQg
VEVNUE9SQVJZIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0ZW0ubmFtZSk7CisgICAgc2hvdWxkQmVU
cnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIpOworICAgIHNob3VsZEJlKCJmaWxlU3lz
dGVtLnJvb3QuZnVsbFBhdGgiLCAnIi8iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3Zh
ciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVlc3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAw
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxl
LXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Np
bXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDQyYjExY2RkMzFiYjUx
MmY2YTVlMzk1NzFmYjk5ZTdjZmZhYmY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBQRVJTSVNURU5UIHRlc3QuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxl
U3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+
IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMTc3YzI2M2Q4OGQzN2QyNzQyMzJlOWZiMTQ1YTBkZTdmZTQ5NjI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2lt
cGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
c2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE4ZDQ2ZmZiZDQ5OWE1
NmIxOGE3ZDYxZDJlNzU0ZTY3MjQyOWUyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5
c3RlbTpUZXN0U2hlbGxGaWxlU3lzdGVtCitQQVNTIGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAw
IGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0
NjJhYzY0ZWFjNzRlNmZiYTMyM2RiODg3MTY5ZTYzODI0OTdmM2MKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlj
Y2U4YTIwZGExOTQwMGYyMTBjZjI1OGQ1MzUwODAxNGMyODNlZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lT
VEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9yZXNvdXJj
ZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMKK1dvcmtlciBzdGFydGVkLgorRGVzY3JpcHRpb246IHJl
cXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQ
RVJTSVNURU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJzaXN0ZW50CitQQVNT
OiBmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBmaWxlU3lzdGVtLnJv
b3QuZnVsbFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3lu
Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzRhNjYyMWRiNzE2
MDZlZTkzYzAxNzRlY2Y5Yjk1MTMxOGE1OTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQg
RmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9u
OiByZXF1ZXN0RmlsZVN5c3RlbVN5bmMgUEVSU0lTVEVOVCB0ZXN0LgorU3VjY2Vzc2Z1bGx5IG9i
dGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNpc3Rl
bnQKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVT
eXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJmNGY2NmNkMTlhZGZkMGMyNjdm
Y2NmNWEwNWRmNjBkMTFhYjQ0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbApAQCAtMCwwICsx
LDE1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3Jr
ZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29y
a2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtU3luYyBp
biBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRX
b3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzJyk7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTllZDZjNTAzNGYxNjRlN2UxNTc0YWJmMTliNDNlNWY4NjUxYzY4MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1w
ZXJzaXN0ZW50LXN5bmMudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2Vy
OiAuLi9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcworV29ya2VyIHN0YXJ0ZWQu
CitTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOmh0dHBfbG9jYWxo
b3N0XzgwODA6UGVyc2lzdGVudAorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMg
dHJ1ZQorUEFTUzogZmlsZVN5c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNU
IENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE1YmI4NDFlM2Q4
YWJjMGIzZTYxZmVhNWZmYWJlZGEyYjE1OTI4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwKQEAgLTAs
MCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMt
d29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Zz
LXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQgRmlsZVN5c3RlbSBp
biBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRX
b3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OWQ0OTVkMTg2YjkzNjVlODkzNjU3MjE1ZjRmZjZiMTM2MjU3ZjZkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRl
bXBvcmFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0
aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAu
Li9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlw
dGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuCitTdWNjZXNzZnVsbHkgb2J0
YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpUZW1wb3JhcnkK
K1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVTeXN0
ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
LXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmU3MWE4ZmQw
Y2I3ZGEwMjhjZjhjYjBiZDQ5MDIzYzg1OWNmNGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZ
IEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9yZXNvdXJj
ZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9u
OiByZXF1ZXN0RmlsZVN5c3RlbVN5bmMgVEVNUE9SQVJZIHRlc3QuCitTdWNjZXNzZnVsbHkgb2J0
YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpUZW1wb3JhcnkK
K1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVTeXN0
ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10
ZW1wb3Jhcnktc3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyMTYxM2E4MDhiOTQ5Yzc0MWM3Zjg1ZTFj
NjU2MzU0Y2Y5M2U0ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtl
ci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcign
Li4vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcycpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA4YTMyNzc5
ZmZmNTcwYThjOWVjYjMwOTU0YzEwYzAzM2MxYmE1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbApAQCAt
MCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9m
cy13b3JrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
ZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW0g
aW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0YXJ0
V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNv
dXJjZXMvZnMtdGVzdC1wb3N0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMt
dGVzdC1wb3N0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkODQ2NTZmZjdlZTk0MTg2MDMzYjE2YjFhNDcwOTc4
YTFlYWQ5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNl
cy9mcy10ZXN0LXBvc3QuanMKQEAgLTAsMCArMSw2IEBACit3YXNQb3N0VGVzdFNjcmlwdFBhcnNl
ZCA9IHRydWU7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy53YXNGaW5pc2hKU1Rl
c3RDYWxsZWQpCisgICAgZmluaXNoSlNUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggZjllMDUyZWJjYzMwNjc1
NjBjOGQ0Y2E2Zjc0ZjZiMTJhMWM0OWNhZC4uODMzMDUyNDhmZTYzMGFjNGY0MWU4MTlhNDRkYTYw
YmFkMGZhYzIwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMTU4LDYgKzE1OCw3IEBAIFdPTlRGSVggU0tJUCA6IGZh
c3QvcmVnZXgvdGVzdDEuaHRtbCA9IFBBU1MKIC8vIFdlIHVzZSB3b3JrZXJfdWl0ZXN0cyB0byBy
dW4gd29ya2VycyB0ZXN0cy4gRG9uJ3QgcnVuIHRoZW0gaW4gdGVzdF9zaGVsbC4KIFdPTlRGSVgg
U0tJUCA6IGZhc3Qvd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05URklYIFNLSVAgOiBm
YXN0L2ZpbGVzL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTAorV09OVEZJWCBTS0lQIDogZmFz
dC9maWxlc3lzdGVtL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQIDog
aHR0cC90ZXN0cy93b3JrZXJzID0gUEFTUyBUSU1FT1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05U
RklYIFNLSVAgOiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQg
RkFJTApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNmUzMmRkZjI0ZjM1NDJlZTRkZWVhMzQwMTc3NWEzZjUwOWJhNTdlOC4u
NjMzMGE5YzBlMmY1YWQxYzNjYjBjODQyMjhmZjVmNWI1MjgyMGRlNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjE2
LDE0ICsxNjE2LDI0IEBAIEVORElGICgpCiBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgIExJ
U1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9y
eUVudHJ5Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHAKICAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAKKyAgICAg
ICAgYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwCiAgICAgICAgIGZpbGVhcGkvRGly
ZWN0b3J5RW50cnkuY3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcAog
ICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAKKyAgICAgICAgZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcAogICAg
ICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5
c3RlbUJhc2UuY3BwCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCiAgICAg
ICAgIGZpbGVhcGkvRW50cnkuY3BwCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAKKyAg
ICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJh
c2UuY3BwCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0Zp
bGVFbnRyeS5jcHAKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcAogICAgICAgICBm
aWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRl
ci5jcHAKICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwCkBAIC0xNjMxLDE1ICsx
NjQxLDIxIEBAIGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgKQogICAgIExJU1QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsCisg
ICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlk
bAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsCisgICAgICAgIGZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmlkbAog
ICAgICAgICBmaWxlYXBpL0VudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwK
ICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJy
YXlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaWRsCiAgICAgICAgIGZp
bGVhcGkvRXJyb3JDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRs
CiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrLmlkbAogICAgICAg
ICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlV3Jp
dGVyLmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjMDg3ZTI3ZjhkYTMwNGY3YmIyMDExNWEyN2UwYmE4MmU3YmRkZGI4Li44Y2Q4OTRi
YTE1MTIzOTcyOTM3MmU3MjhjNDZjZjg3YzE0YjVhYjM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEwLTA5
LTMwICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaWRsIGFuZCBtb2NrIGNsYXNz
ZXMgZm9yIEZpbGVTeXN0ZW1TeW5jIGZvciBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY0MDUKKworICAgICAgICBUZXN0OiBm
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy8KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRl
ZCBuZXcgZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOiBBZGRlZCBuZXcgZmls
ZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogQWRkZWQgbmV3IGZpbGVzLgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29y
ZS5neXBpOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5wcmk6IEFkZGVkIG5l
dyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogQWRkZWQgbmV3IGZpbGVzLgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBBZGRlZCBuZXcgZmlsZXMuIEFsc28g
cmVtb3ZlZCB0aGUgZHVwbGljYXRlZCBmaWxlYXBpXEZpbGVFbnRyeS5jcHAgZW50cnkuCisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBuZXcgZmlsZXMu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVk
LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6IEFkZGVkLgor
ICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9y
eUVudHJ5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlT
eW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcDogQWRkZWQu
CisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZp
bGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5
QXJyYXlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5jcHA6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRW50cnlCYXNlLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlT
eW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0ZpbGVFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5
bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbDogQWRkZWQu
CisKIDIwMTAtMDktMzAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggODk4ZGE1Y2FlYzhm
MDY1YWEzNTk0NWUyNGE2YjdjZTgwNWM2ZWY0Ni4uMDFmNTAyMzhmNzczZDMwMWViMGRhNGNiMDk5
OTA2NGY5N2Q4NDRmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTc0LDEzICs3NCwxNiBAQAogI2luY2x1
ZGUgIkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5LmNwcCIKKyNpbmNs
dWRlICJKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNEaXJlY3RvcnlSZWFk
ZXIuY3BwIgorI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiCiAjaW5jbHVkZSAi
SlNEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdtZW50LmNwcCIKICNpbmNs
dWRlICJKU0RvY3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAiSlNET01BcHBsaWNhdGlvbkNhY2hl
LmNwcCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9N
RmlsZVN5c3RlbS5jcHAiCisjaW5jbHVkZSAiSlNET01GaWxlU3lzdGVtU3luYy5jcHAiCiAjaW5j
bHVkZSAiSlNET01Gb3JtRGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNET01JbXBsZW1lbnRhdGlvbi5j
cHAiCiAjaW5jbHVkZSAiSlNET01NaW1lVHlwZS5jcHAiCkBAIC05OSw2ICsxMDIsOCBAQAogI2lu
Y2x1ZGUgIkpTRW50cmllc0NhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5LmNwcCIKICNp
bmNsdWRlICJKU0VudHJ5QXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTRW50cnlBcnJheVN5bmMuY3Bw
IgorI2luY2x1ZGUgIkpTRW50cnlTeW5jLmNwcCIKICNpbmNsdWRlICJKU0VudHJ5Q2FsbGJhY2su
Y3BwIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNFcnJvckV2
ZW50LmNwcCIKQEAgLTEwOCw2ICsxMTMsNyBAQAogI2luY2x1ZGUgIkpTRmlsZS5jcHAiCiAjaW5j
bHVkZSAiSlNGaWxlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmNwcCIKKyNp
bmNsdWRlICJKU0ZpbGVFbnRyeVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVycm9yLmNwcCIK
ICNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRmlsZUxpc3QuY3Bw
IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDJmZGE1ZTk4YmUxYTY5ZjdjY2E1N2Y2YThhMDFlMGZjNDU1
NmRiYWIuLjM0MmJiN2I1YTY5YmVhYTVmYTk1OGU0OTM2YzZkNzllZjgwZGVmZDYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTExNCw2ICsxMTQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01BcHBs
aWNhdGlvbkNhY2hlIFwKICAgICBET01Db3JlRXhjZXB0aW9uIFwKICAgICBET01GaWxlU3lzdGVt
IFwKKyAgICBET01GaWxlU3lzdGVtU3luYyBcCiAgICAgRE9NRm9ybURhdGEgXAogICAgIERPTUlt
cGxlbWVudGF0aW9uIFwKICAgICBET01NaW1lVHlwZSBcCkBAIC0xMzIsNyArMTMzLDkgQEAgRE9N
X0NMQVNTRVMgPSBcCiAgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0
aW9uRXZlbnQgXAogICAgIERpcmVjdG9yeUVudHJ5IFwKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMg
XAogICAgIERpcmVjdG9yeVJlYWRlciBcCisgICAgRGlyZWN0b3J5UmVhZGVyU3luYyBcCiAgICAg
RG9jdW1lbnQgXAogICAgIERvY3VtZW50RnJhZ21lbnQgXAogICAgIERvY3VtZW50VHlwZSBcCkBA
IC0xNDIsNyArMTQ1LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRW50aXR5UmVmZXJlbmNlIFwK
ICAgICBFbnRyaWVzQ2FsbGJhY2sgXAogICAgIEVudHJ5IFwKKyAgICBFbnRyeVN5bmMgXAogICAg
IEVudHJ5QXJyYXkgXAorICAgIEVudHJ5QXJyYXlTeW5jIFwKICAgICBFbnRyeUNhbGxiYWNrIFwK
ICAgICBFcnJvckNhbGxiYWNrIFwKICAgICBFcnJvckV2ZW50IFwKQEAgLTE1NCw2ICsxNTksNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBGaWxlIFwKICAgICBGaWxlQ2FsbGJhY2sgXAogICAgIEZp
bGVFbnRyeSBcCisgICAgRmlsZUVudHJ5U3luYyBcCiAgICAgRmlsZUV4Y2VwdGlvbiBcCiAgICAg
RmlsZUVycm9yIFwKICAgICBGaWxlTGlzdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA2YmVhNTJmMDkwNzMzYWI0N2Nh
NTQxNThjNzU0YzdjY2QxY2M0Y2RkLi4yZjdhY2JmNGJmYTk4NmUyYWMwMDBjODNjMWI3YjNhZDVl
ZGNkNzM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KQEAgLTY4OSw2ICs2ODksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIFwKQEAgLTcxMSw2ICs3MTIsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggXAogCVdlYkNvcmUvYmluZGlu
Z3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5
Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAg
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2
ZW50TGlzdGVuZXIuaCBcCkBAIC0xMzY1LDIzICsxMzY3LDM5IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9maWxlYXBpL0Jsb2JVUkwuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmggXAorCVdl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkv
RGlyZWN0b3J5RW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIu
Y3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorCVdlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmNwcCBcCiAJV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmggXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBcCisJV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW1CYXNlLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgXAor
CVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkv
RW50cmllc0NhbGxiYWNrLmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAgXAorCVdlYkNv
cmUvZmlsZWFwaS9FbnRyeS5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAog
CVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oIFwKKwlXZWJD
b3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKLQlXZWJDb3JlL2ZpbGVhcGkv
RW50cnkuY3BwIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCisJV2ViQ29yZS9maWxlYXBp
L0VudHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVDYWxsYmFj
ay5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmggXAorCVdlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMu
aCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTc3YWM1NTc2
MGI0ODAyNDA0ZTU0OTE0YWQyM2UwYTFkMGQ2NjRjNC4uMjk0NmFiYzY3YTNiNDFmNWNkNWJkMjdh
MjY1ZWNiNDMxODkxZjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDE2ICs4OSwyMiBAQAogICAgICAgICAgICAgJ2Zp
bGVhcGkvQmxvYi5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbCcsCisgICAgICAgICAgICAn
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnku
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaWRsJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRy
eUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZpbGUuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3IuaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAg
ICdmaWxlYXBpL0ZpbGVMaXN0LmlkbCcsCkBAIC01NjcsNiArNTczLDcgQEAKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNTg1LDYgKzU5Miw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5U3lu
Y0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaCcsCkBAIC03NjQsNiArNzcyLDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLApAQCAtNzcy
LDYgKzc4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50U291cmNlQ29uc3RydWN0
b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1
c3RvbS5jcHAnLApAQCAtMTQ1MCwyNCArMTQ2MCw0MCBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oJywKKyAgICAgICAgICAgICdmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCcsCisgICAgICAgICAg
ICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVBh
dGguY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmgnLAogICAgICAgICAg
ICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNw
cCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oJywKKyAgICAgICAg
ICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9ET01GaWxlU3lzdGVtU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJpZXNDYWxs
YmFjay5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5LmNwcCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9FbnRyeS5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuY3BwJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9FbnRyeUFycmF5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5
bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmgnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRW50cnlCYXNlLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUJh
c2UuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJh
Y2suaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUNhbGxiYWNrLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlRW50cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCisg
ICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvRmlsZUVycm9yLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAzMzMxNjI2OWJjMDYwNTZl
YTg1NmE5YmQzZTgzOWNiYmExNzhjZWJlLi4wNTFmNGQ5YzI2NWQzZjYxMWEyMDM3NzY0ZDIxOWJi
NzA2ZmNiYjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKQEAgLTE1NiwxNiArMTU2LDIyIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAg
ZmlsZWFwaS9CbG9iLmlkbCBcCiAgICAgZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwgXAogICAgIGZp
bGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsIFwKKyAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3lu
Yy5pZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmlkbCBcCisgICAgZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCBc
CisgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwgXAogICAgIGZpbGVhcGkvRW50cmll
c0NhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeS5pZGwgXAogICAgIGZpbGVhcGkvRW50
cnlBcnJheS5pZGwgXAorICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsIFwKICAgICBmaWxl
YXBpL0VudHJ5Q2FsbGJhY2suaWRsIFwKKyAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwgXAogICAg
IGZpbGVhcGkvRXJyb3JDYWxsYmFjay5pZGwgXAogICAgIGZpbGVhcGkvRmlsZS5pZGwgXAogICAg
IGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsIFwK
KyAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVFcnJvci5p
ZGwgXAogICAgIGZpbGVhcGkvRmlsZUxpc3QuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIu
aWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGQxN2FmYzJmMTk3MGNiNTRjMTVkMGFmZDdjMDEwNDIyMjVhNmFkODYuLjQ3ODE3
YThkMDA4YmQ4YjkyOGI0ZDk0YjExZWE5YjNkYTg5YTI4ZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjk2NiwxNiArMjk2Niwy
NCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgIEhFQURF
UlMgKz0gXAogICAgICAgICBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlci5oIFwKICAgICAgICAgZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggXAorICAgICAgICBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGgu
aCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIFwKKyAgICAgICAgZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5oIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5o
IFwKICAgICAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkv
RW50cnkuaCBcCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5oIFwKKyAgICAgICAgZmlsZWFw
aS9FbnRyeUFycmF5U3luYy5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAgICAg
ICAgIGZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMu
aCBcCiAgICAgICAgIGZpbGVhcGkvRXJyb3JDYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9G
aWxlQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmggXAorICAgICAgICBm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxi
YWNrLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBcCiAgICAgICAg
IGZpbGVhcGkvRmlsZVdyaXRlci5oIFwKQEAgLTI5OTAsMTQgKzI5OTgsMjQgQEAgY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKIAogICAgIFNPVVJDRVMgKz0gXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCisgICAgICAgIGJp
bmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTRW50cnlDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeVN5
bmNDdXN0b20uY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAorICAg
ICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5jcHAgXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogICAgICAgICBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW0uY3BwIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5j
cHAgXAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBcCiAgICAgICAgIGZp
bGVhcGkvRW50cnkuY3BwIFwKICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmNwcCBcCisgICAg
ICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUJh
c2UuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFw
aS9GaWxlRW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgXAogICAgICAgICBmaWxlYXBp
L0ZpbGVXcml0ZXIuY3BwIFwKICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDkxMjYzMTdjNzE4NzFmYzg1
ZWIzYTc4MTk4MGYzNmI2YmJjMmEzNjAuLjVjMDk3NGZlNDZiNjA1NWMyNzM1MjQ2YzA5MDBkZjcw
NTZkNjY2YWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzEwMSw2
ICszMTAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJlYWRlci5jcHAi
DQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzE1Nyw2ICszMTY1LDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJlY3Rv
cnlSZWFkZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQor
CQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTM0OTMsNiArMzUwOSwxNCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZpbGVT
eXN0ZW1TeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRE9NRm9ybURhdGEuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
QEAgLTQ0NTcsNiArNDQ4MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRW50cnlBcnJheVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5QXJyYXlTeW5jLmgiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlDYWxsYmFjay5jcHAi
DQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxMyw2ICs0NTQ1LDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5
bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0VudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0Vycm9yQ2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KQEAgLTQ5MDksNiArNDk0OSwyMiBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVudHJ5Lmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVu
dHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRmlsZUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0ZpbGVFcnJvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3
NzQ5LDYgKzM3ODA1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5RW50cnlTeW5jLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGly
ZWN0b3J5RW50cnlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeVJlYWRlci5jcHAiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpAQCAtMzc3NTcsNiArMzc4MjEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01EYXRhR3JpZERhdGFT
b3VyY2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzgxLDYgKzM3ODUzLDIyIEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZp
bGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtQmFzZS5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1TeW5jLmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XERPTUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzgxNyw2ICszNzkw
NSwzMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlBcnJheVN5bmMuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZp
bGVhcGlcRW50cnlCYXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlCYXNlLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5U3luYy5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxmaWxlYXBpXEVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUNhbGxiYWNrLmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpAQCAtMzc4NDEsMTEgKzM3OTUzLDE1IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmNwcCIN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5oIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50
cnkuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeVN5bmMuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxGaWxlRW50cnlTeW5jLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBA
IC00NDM5Miw2ICs0NDUwOCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUN
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeVN5bmND
dXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRG9jdW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0K
IAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUxNTIsNiArNDUyNzIsMTAgQEAKIAkJCQkJ
Pg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTRW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJ
CQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0V2ZW50Q3VzdG9t
LmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzRlNjFiNzgwZDYyMWIyYmE2OTRkZWZi
ZTNlYThiNTJlMGIxNTU3Ny4uZTgwNDJkNTcwN2I4MjAxYzAyMTk1YTY4OTkzOGYwNzFmZWU2Mjdk
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0NTks
NiArMjQ1OSwzNiBAQAogCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5M0M0N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovOyB9
OwogCQk4OTNDNDdDQzEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdDQTEyM0VFQkEy
MDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTg5M0M0N0RGMTIzRUY0QTkw
MDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBK
U0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDAxMjQ4QkQzQTAwMkIz
RDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5
RW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVj
dG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdG
MjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi87IH07CisJCTg5
M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMzEyNDhCRDM5MDAy
QjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgwNDEyNDhCRDNB
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDUxMjQ4QkQzQTAwMkIzRDg2IC8qIERP
TUZpbGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAq
LzsgfTsKKwkJODkzQzQ4MDYxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y2
MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0
ODA3MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjcxMjQ4QkQzOTAwMkIzRDg2
IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODA4MTI0OEJEM0EwMDJCM0Q4
NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDdGODEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
Y3BwICovOyB9OworCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y5
MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgwQTEy
NDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZBMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJh
c2UuY3BwICovOyB9OworCQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGQjEy
NDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi87IH07CisJCTg5M0M0ODBDMTI0OEJEM0Ew
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAg
Ki87IH07CisJCTg5M0M0ODBEMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZEMTI0OEJEMzkw
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2
IC8qIEZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3Bw
ICovOyB9OworCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkYxMjQ4
QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MjExMjQ5NTM1
QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4
NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgKi87IH07CisJCTg5M0M0ODMyMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzMzEyNDk1NDcyMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgzNDEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRl
clN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzNTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3Rv
cnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgg
Ki87IH07CisJCTg5M0M0ODM2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5j
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MzcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJCMTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODM4MTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0Vu
dHJ5QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5M0M0ODJEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi87
IH07CisJCTg5M0M0ODNBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyRTEyNDk1NDcy
MDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzQjEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgzQzEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODMwMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzRDEy
NDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNG
aWxlRW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0Vu
dHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3Bw
ICovOyB9OwogCQk4OTg3ODU1MjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1Mzkx
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLzsgfTsKIAkJODk4Nzg1NTMx
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGly
ZWN0b3J5RW50cnkuaCAqLzsgfTsKIAkJODk4Nzg1NTQxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVj
dG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLzsg
fTsKQEAgLTg0NjEsNiArODQ5MSwzNiBAQAogCQk4OTNDNDdCQTEyMzhBMEE5MDAyQjNEODYgLyog
SlNGaWxlV3JpdGVyQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNGaWxlV3JpdGVyQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkz
QzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVu
dHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGly
ZWN0b3J5RW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTND
NDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHBhdGgg
PSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0N0YxMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5RW50cnlTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OTNDNDdGMjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3Rv
cnlSZWFkZXJTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9y
eVJlYWRlclN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNDEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y1MTI0OEJEMzkwMDJCM0Q4
NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBET01GaWxlU3lzdGVtQmFzZS5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYg
LyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y3MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBET01GaWxlU3lzdGVtU3luYy5oOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGODEyNDhCRDM5MDAy
QjNEODYgLyogRW50cnlBcnJheVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRW50cnlBcnJheVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3lu
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y5MTI0OEJEMzkwMDJC
M0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBFbnRyeUFycmF5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50
cnlCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFz
ZS5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg5M0M0N0ZCMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlCYXNlLmg7IHBhdGggPSBmaWxlYXBpL0Vu
dHJ5QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQzEyNDhCRDM5
MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEVudHJ5U3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5U3luYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRy
eVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0VudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlRW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVh
cGkvRmlsZUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0
N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZpbGVFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRmlsZUVudHJ5
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyMDEyNDk1MzVCMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGlyZWN0b3J5UmVhZGVyU3luYy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYg
LyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01GaWxlU3lzdGVtU3luYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyog
SlNFbnRyeUFycmF5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0VudHJ5QXJyYXlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkz
QzQ4MkQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeUFycmF5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNEODYgLyog
SlNFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeVN5
bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ZpbGVFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmND
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5
bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEyMkNB
MDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBEaXJlY3RvcnlFbnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERpcmVjdG9yeVJlYWRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE1NywxOCArMTQyMTcsMjggQEAK
IAkJCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJ
CTg5ODc4NTg2MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJ
CQk4OTg3ODU4NzEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJ
CTg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8s
CisJCQkJODkzQzQ4MjcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmgg
Ki8sCiAJCQkJODk4Nzg1ODgxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNw
cCAqLywKIAkJCQk4OTg3ODU4OTEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIu
aCAqLywKKwkJCQk4OTNDNDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlS
ZWFkZXJTeW5jLmggKi8sCiAJCQkJODk4Nzg1OEUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmls
ZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1OEYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmls
ZVN5c3RlbS5oICovLAorCQkJCTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVT
eXN0ZW1TeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01G
aWxlU3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTkwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0Vu
dHJpZXNDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTExMjJDQTJBNzAwM0FBQkRBIC8qIEpT
RW50cmllc0NhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1OTIxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTkzMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Lmgg
Ki8sCiAJCQkJODk4Nzg1OTQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5jcHAgKi8s
CiAJCQkJODk4Nzg1OTUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5oICovLAorCQkJ
CTg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCAqLywKKwkJ
CQk4OTNDNDgyRDEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovLAogCQkJ
CTg5ODc4NTk2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICovLAogCQkJ
CTg5ODc4NTk3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4
OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0
ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTk4MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suY3BwICovLAogCQkJCTg5ODc4NTk5MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0Vycm9yQ2FsbGJhY2suaCAqLywKIAkJCQlCQzAwRjAxMDBFMEEx
ODk1MDBGRDA0RTMgLyogSlNGaWxlLmNwcCAqLywKQEAgLTE0MTc3LDYgKzE0MjQ3LDggQEAKIAkJ
CQk4OTNDNDdCNjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLywKIAkJCQk4
OTg3ODU5QTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4
NTlCMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0ODMwMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODMxMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQkyRTNCQzBDODExN0Qz
RTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovLAogCQkJCTJFM0JDMEM5MTE3RDNFMDgw
MEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oICovLAogCQkJCTg5ODc4NUVFMTIyRTFFODcwMDNBQUJE
QSAvKiBKU0ZpbGVFeGNlcHRpb24uY3BwICovLApAQCAtMTQ3MjgsMjQgKzE0ODAwLDQwIEBACiAJ
CQkJOTc2RDZDNjAxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JVUkwuaCAqLywKIAkJCQk4OTg3ODUz
OTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTNB
MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5M0M0N0YwMTI0
OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Yx
MTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODUz
QjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKIAkJCQk4OTg3ODUz
QzEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkzQzQ3RjIx
MjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovLAorCQkJCTg5M0M0
N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8sCiAJCQkJODk4
Nzg1M0QxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRoLmNwcCAqLywKIAkJCQk4OTg3ODUz
RTEyMkNBMDY0MDAzQUFCREEgLyogRE9NRmlsZVBhdGguaCAqLywKIAkJCQk4OTg3ODUzRjEyMkNB
MDY0MDAzQUFCREEgLyogRE9NRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4Nzg1NDAxMjJDQTA2
NDAwM0FBQkRBIC8qIERPTUZpbGVTeXN0ZW0uaCAqLywKKwkJCQk4OTNDNDdGNDEyNDhCRDM5MDAy
QjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwICovLAorCQkJCTg5M0M0N0Y1MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oICovLAorCQkJCTg5M0M0N0Y2MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjcxMjQ4QkQz
OTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi8sCiAJCQkJODk4Nzg1NDExMjJDQTA2
NDAwM0FBQkRBIC8qIEVudHJpZXNDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQyMTIyQ0EwNjQw
MDNBQUJEQSAvKiBFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDMxMjJDQTA2NDAwM0FBQkRBIC8q
IEVudHJ5LmggKi8sCiAJCQkJODk4Nzg1NDQxMjJDQTA2NDAwM0FBQkRBIC8qIEVudHJ5QXJyYXku
Y3BwICovLAogCQkJCTg5ODc4NTQ1MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmggKi8s
CisJCQkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLywK
KwkJCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCAqLywKKwkJ
CQk4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCAqLywKKwkJCQk4OTND
NDdGQjEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi8sCiAJCQkJODk4Nzg1NDYxMjJD
QTA2NDAwM0FBQkRBIC8qIEVudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4OTNDNDdGQzEyNDhCRDM5
MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRDEyNDhCRDM5MDAyQjNE
ODYgLyogRW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1NDcxMjJDQTA2NDAwM0FBQkRBIC8qIEVy
cm9yQ2FsbGJhY2suaCAqLywKIAkJCQk5NzZENkM2MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5j
cHAgKi8sCiAJCQkJOTc2RDZDNjIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuaCAqLywKIAkJCQk4
OTNDNDdBNTEyMzg5MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1
NDgxMjJDQTA2NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1NDkxMjJD
QTA2NDAwM0FBQkRBIC8qIEZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0N0ZFMTI0OEJEMzkwMDJC
M0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNE
ODYgLyogRmlsZUVudHJ5U3luYy5oICovLAogCQkJCTk3NkQ2QzY0MTIyQjhBM0QwMDFGRDFGNyAv
KiBGaWxlRXJyb3IuaCAqLywKIAkJCQkyRURGMzY5RTEyMkM5NEM4MDAyRjdENEUgLyogRmlsZUV4
Y2VwdGlvbi5oICovLAogCQkJCTk3NkQ2QzY2MTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlTGlzdC5j
cHAgKi8sCkBAIC0xNjY3MSw2ICsxNjc1OSw3IEBACiAJCQkJMzFGQjFBNkIxMjBBNUQ2OTAwREMw
MkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTU5MEUxQjRBMTFF
NEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNw
cCAqLywKKwkJCQk4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5
bmNDdXN0b20uY3BwICovLAogCQkJCTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3Vt
ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQkxQUMyMjYxNjBEQjY5Rjc0MDA4OUI2NjkgLyogSlNET01B
cHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCAqLywKIAkJCQkyRTA4ODhFNTExNDg4NEUyMDBBRjQy
NjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0xNjY4Miw2ICsxNjc3MSw3IEBA
CiAJCQkJNjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8s
CiAJCQkJQkMyRUQ1NTQwQzZCOUJEMzAwOTIwQkZGIC8qIEpTRWxlbWVudEN1c3RvbS5jcHAgKi8s
CiAJCQkJODkzQzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovLAor
CQkJCTg5M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi8s
CiAJCQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUJDMjc1QjgwMTFDNUQyQjQwMEM5MjA2QyAvKiBKU0V2ZW50U291cmNlQ3VzdG9tLmNwcCAq
LywKIAkJCQk0OUVFQ0Y3MjEwNTA4RDlDMDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXlDdXN0b20u
Y3BwICovLApAQCAtMjA5MTgsNiArMjEwMDgsMjAgQEAKIAkJCQk0OUI2OUU2MDEyNTRGRUVEMDA3
RDU3RUIgLyogTG9vcEJsaW5uQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUI2OUU2
NDEyNTRGRUVEMDA3RDU3RUIgLyogTG9vcEJsaW5uTWF0aFV0aWxzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUI2OUU2NjEyNTRGRUVEMDA3RDU3RUIgLyogTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9y
eUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDMxMjQ4QkQzQTAwMkIzRDg2
IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODA1MTI0
OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODkzQzQ4MDcxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCBp
biBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBCMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBEMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5
bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODBGMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzMzEyNDk1NDcyMDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODM1MTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg5M0M0ODM3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OTNDNDgzOTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5
U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4M0IxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzRDEyNDk1NDcyMDAyQjNEODYg
LyogSlNGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzNDQ0LDYgKzIzNTQ4LDIy
IEBACiAJCQkJNDlCNjlFNUUxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlubkNsYXNzaWZpZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlCNjlFNjMxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BC
bGlubk1hdGhVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUI2OUU2NTEyNTRGRUVEMDA3
RDU3RUIgLyogTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
OTNDNDgwMDEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAvKiBE
T01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwNjEyNDhCRDNB
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkz
QzQ4MDgxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODBBMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3lu
Yy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzIx
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9N
RmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzgxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4
M0ExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTg5M0M0ODNDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rp
cmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg2OGNlOGEwYWJjMGVmNmM2Mjdj
ZWVhZmE5YWRkOWZkZmMxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRGly
ZWN0b3J5RW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJKU0VudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZsYWdzLmgiCisjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKEV4ZWNTdGF0
ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0PERp
cmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0gdmFs
dWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVudCgw
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1
bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBl
eGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0
cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+
YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgp
OworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmll
cihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRv
Qm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdl
dChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5z
ZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOworICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIHRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3Ms
IGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworSlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KEV4ZWNT
dGF0ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0
PERpcmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0g
dmFsdWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVu
dCgwKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5h
cmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAm
JiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhl
cml0cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhl
Yy0+YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0
ZSgpOworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRp
ZmllcihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRl
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3Qt
PmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdz
LT5zZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxh
Z3MsIGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJ
TEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMmY5NmFkODdhNzBhY2FiZmEzYzVlMTE0NTc5N2YzMDgyMWY5MjRjCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkpTRW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3lu
Yy5oIgorI2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRW50cnlTeW5jKiBlbnRyeSkKK3sKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisKKyAgICBpZiAoZW50cnktPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4g
Z2V0RE9NT2JqZWN0V3JhcHBlcjxKU0ZpbGVFbnRyeVN5bmM+KGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RhdGljX2Nhc3Q8RmlsZUVudHJ5U3luYyo+KGVudHJ5KSk7CisKKyAgICBBU1NFUlQoZW50cnkt
PmlzRGlyZWN0b3J5KCkpOworICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpTRGlyZWN0
b3J5RW50cnlTeW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PERpcmVjdG9yeUVu
dHJ5U3luYyo+KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmM4
ZDMxMzljMTFkZTY2ZmI5YzkxMmNlNWM5M2RjNWRmYjJiZDI2Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4RGlyZWN0
b3J5RW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJE
aXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAi
VjhFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiVjhGbGFncy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9y
eUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldERpcmVjdG9yeSIpOworICAgIERpcmVjdG9yeUVudHJ5
U3luYyogaW1wID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8
V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CisgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPD0gMSkgeworICAgICAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoKTsKKyAgICAg
ICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8Rmxh
Z3M+IGZsYWdzOworICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sx
XS0+SXNPYmplY3QoKSAmJiAhVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAg
ICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6
OmNyZWF0ZSgpOworICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRl
LklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUo
KSk7CisgICAgICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQor
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiZXhjbHVzaXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklz
RW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFu
VmFsdWUoKSk7CisgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhGbGFncyos
IHRtcF9mbGFncywgVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOEZsYWdzOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDApOworICAgICAg
ICBmbGFncyA9IHRtcF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjazsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklz
TnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1sy
XS0+SXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVh
dGUoYXJnc1syXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVm
UHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAzICYmICFhcmdzWzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgewor
ICAgICAgICBpZiAoIWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVy
cm9yQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
OworICAgIH0KKyAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldEZpbGUiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMq
IGltcCA9IFY4RGlyZWN0b3J5RW50cnlTeW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAg
ICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPFdpdGhV
bmRlZmluZWRPck51bGxDaGVjaz4sIHBhdGgsIGFyZ3NbMF0pOworICAgIGlmIChhcmdzLkxlbmd0
aCgpIDw9IDEpIHsKKyAgICAgICAgaW1wLT5nZXRGaWxlKHBhdGgpOworICAgICAgICByZXR1cm4g
djg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQorICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7
CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVj
dCgpICYmICFWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgICAgICBFWENFUFRJ
T05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKKyAgICAgICAgZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7
CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6
OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7CisgICAgICAgIGlmICghdjhDcmVhdGUuSXNFbXB0eSgp
ICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OENyZWF0ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0NyZWF0ZSwgdjhDcmVhdGUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAg
ICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXNDcmVhdGUpOworICAgICAgICB9CisgICAgICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IHY4RXhjbHVzaXZlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6
TmV3KCJleGNsdXNpdmUiKSk7CisgICAgICAgIGlmICghdjhFeGNsdXNpdmUuSXNFbXB0eSgpICYm
ICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1c2l2ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsK
KyAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUpOworICAgICAgICB9
CisgICAgfSBlbHNlIHsKKyAgICAgICBFWENFUFRJT05fQkxPQ0soRmxhZ3MqLCB0bXBfZmxhZ3Ms
IFY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhGbGFnczo6dG9OYXRpdmUodjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwKTsKKyAgICAgICBmbGFncyA9IHRt
cF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
azsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFh
cmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1syXS0+SXNPYmplY3Qo
KSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAg
ICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVhdGUoYXJnc1syXSwg
Z2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAzICYmICFhcmdz
WzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAo
IWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBF
X01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVycm9yQ2FsbGJhY2s6
OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIH0KKyAg
ICBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
ayk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCisKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU5OGRmMTliMGIxM2UxOTRlYmFiNjcxZTZmNjRlMGExOGZjMDdiMjIKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMu
aCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlY4QXR0ci5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCisjaW5jbHVk
ZSAiVjhEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOEVudHJ5U3luYy5oIgorI2lu
Y2x1ZGUgIlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoRW50cnlTeW5jKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICBpZiAoaW1wbC0+aXNGaWxlKCkpCisgICAgICAgIHJl
dHVybiB0b1Y4KHN0YXRpY19jYXN0PEZpbGVFbnRyeVN5bmMqPihpbXBsKSk7CisKKyAgICBBU1NF
UlQoaW1wbC0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RGly
ZWN0b3J5RW50cnlTeW5jKj4oaW1wbCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAK
aW5kZXggYjFiMWNkYzExZTZkZTUzYTFlODViZWJlM2M1NmIzZmVlOGQ0NDBkZC4uMTc0Mjg0MmRh
MzFmOWUwZGNkZWZlODFiYTMzZTdjNjExMmM5ZDg5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcApAQCAtNTQsMTMgKzU0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRE9NRmlsZVN5
c3RlbTo6RE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0
ZW0pCi0gICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKLSAgICAsIG1fbmFtZShu
YW1lKQotICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0oYXN5bmNGaWxlU3lzdGVtKQotewotfQotCi1E
T01GaWxlU3lzdGVtOjp+RE9NRmlsZVN5c3RlbSgpCisgICAgOiBET01GaWxlU3lzdGVtQmFzZShu
YW1lLCBhc3luY0ZpbGVTeXN0ZW0pCisgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhp
cykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBi
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggODQ5OGU3NWI1ZjQ0NmUzZWZl
OWI3OGQ2ODI3ZWQzMmZhY2Q0ZWY3Mi4uOTA4YzE2Yzk0M2VjYWRmNjkxMjMyYzYwNDRhZGNlYWRk
NTQ5YmNhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC0zNSw2ICszNSw3IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIK
KyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgogI2luY2x1ZGUgIkZsYWdzLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCkBAIC01NCwxNiArNTUsMTMgQEAgY2xhc3MgRmlsZVdyaXRlckNhbGxiYWNrOwogY2xhc3Mg
TWV0YWRhdGFDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIAotY2xhc3MgRE9NRmlsZVN5
c3RlbSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW0+LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKK2NsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2Us
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBj
b25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVT
eXN0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0o
Y29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+
RE9NRmlsZVN5c3RlbSgpOwotCi0gICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCiAg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0IG1ldGhvZHMuCkBAIC05Niw4ICs5NCw2IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgRE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOwogCi0gICAgQXN5
bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2FzeW5jRmls
ZVN5c3RlbS5nZXQoKTsgfQotCiAgICAgLy8gQSBoZWxwZXIgdGVtcGxhdGUgdG8gc2NoZWR1bGUg
YSBjYWxsYmFjayB0YXNrLgogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gYSBtb3JlIGdlbmVy
aWMgcGxhY2UuCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4KQEAg
LTExOCw5ICsxMTQsNiBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8Q0I+IG1fY2FsbGJhY2s7
CiAgICAgICAgIFJlZlB0cjxDQkFyZz4gbV9jYWxsYmFja0FyZzsKICAgICB9OwotCi0gICAgU3Ry
aW5nIG1fbmFtZTsKLSAgICBtdXRhYmxlIE93blB0cjxBc3luY0ZpbGVTeXN0ZW0+IG1fYXN5bmNG
aWxlU3lzdGVtOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAgYi9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MGMwMzBhNTZi
MjYxZjU5MTNkZDJiMTg1ZGFmNzBlOWVlZTQ0OWQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbUJhc2UuaCIKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGlyZWN0
b3J5RW50cnkuaCIKKyNpbmNsdWRlICJFbnRyaWVzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJFbnRy
eUJhc2UuaCIKKyNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxs
YmFjay5oIgorI2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxs
YmFja3MuaCIKKyNpbmNsdWRlICJNZXRhZGF0YUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVm9pZENh
bGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0RPTUZpbGVTeXN0ZW1CYXNlOjpET01GaWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBt
X25hbWUobmFtZSkKKyAgICAsIG1fYXN5bmNGaWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKK3sK
K30KKworRE9NRmlsZVN5c3RlbUJhc2U6On5ET01GaWxlU3lzdGVtQmFzZSgpCit7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIGIvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQxMGRhNTM1ODJlNjc0YzJj
NmQ3YjFlYWQ4ZThkY2FmOTZlZTVmNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtQmFzZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTUZpbGVTeXN0
ZW1CYXNlX2gKKyNkZWZpbmUgRE9NRmlsZVN5c3RlbUJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRmxhZ3Mu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBEaXJlY3RvcnlFbnRyeTsKK2NsYXNzIEVudHJ5QmFzZTsKK2NsYXNzIEVudHJ5Q2Fs
bGJhY2s7CitjbGFzcyBFbnRyaWVzQ2FsbGJhY2s7CitjbGFzcyBFcnJvckNhbGxiYWNrOworY2xh
c3MgTWV0YWRhdGFDYWxsYmFjazsKK2NsYXNzIFZvaWRDYWxsYmFjazsKKworLy8gQSBjb21tb24g
YmFzZSBjbGFzcyBmb3IgRE9NRmlsZVN5c3RlbSBhbmQgRE9NRmlsZVN5c3RlbVN5bmMuCitjbGFz
cyBET01GaWxlU3lzdGVtQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW1CYXNl
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3lu
Y0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVT
eXN0ZW1CYXNlKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5E
T01GaWxlU3lzdGVtQmFzZSgpOworCisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lOyB9CisgICAgQXN5bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBj
b25zdCB7IHJldHVybiBtX2FzeW5jRmlsZVN5c3RlbS5nZXQoKTsgfQorCitwcm90ZWN0ZWQ6Cisg
ICAgRE9NRmlsZVN5c3RlbUJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4pOworICAgIGZyaWVuZCBjbGFzcyBET01GaWxlU3lzdGVtU3luYzsKKworICAg
IFN0cmluZyBtX25hbWU7CisgICAgbXV0YWJsZSBPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBtX2Fz
eW5jRmlsZVN5c3RlbTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERPTUZpbGVTeXN0ZW1CYXNlX2gKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgYi9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwYWZjMWRkZWNkODFl
NzI0OWQzNWRjMmQyNGYyNTM1MzI3OTBmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5
RW50cnlTeW5jLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxET01GaWxl
U3lzdGVtU3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OmNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSog
ZmlsZVN5c3RlbSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5j
KGZpbGVTeXN0ZW0tPm1fbmFtZSwgZmlsZVN5c3RlbS0+bV9hc3luY0ZpbGVTeXN0ZW0ubGVha1B0
cigpKSk7Cit9CisKK0RPTUZpbGVTeXN0ZW1TeW5jOjpET01GaWxlU3lzdGVtU3luYyhjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0p
CisgICAgOiBET01GaWxlU3lzdGVtQmFzZShuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCit7Cit9CisK
K0RPTUZpbGVTeXN0ZW1TeW5jOjp+RE9NRmlsZVN5c3RlbVN5bmMoKQoreworfQorCitQYXNzUmVm
UHRyPERpcmVjdG9yeUVudHJ5U3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OnJvb3QoKQoreworICAg
IHJldHVybiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZSh0aGlzLCBET01GaWxlUGF0aDo6cm9v
dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlY2Y0NjE0OWI3OGI4
NDcwOGY1N2U0Mzc5M2M4MTVlODYzYWU0ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01GaWxl
U3lzdGVtU3luY19oCisjZGVmaW5lIERPTUZpbGVTeXN0ZW1TeW5jX2gKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOworCit0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOworCitjbGFzcyBET01GaWxlU3lzdGVtU3luYyA6IHB1YmxpYyBET01GaWxl
U3lzdGVtQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bVN5bmM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERPTUZpbGVTeXN0ZW1TeW5jKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKworICAg
IC8vIFRoaXMgY2FsbCBpcyBkZXN0cnVjdGl2ZTsgdGhlIGFyZ3VtZW50IGZpbGVTeXN0ZW0gd2ls
bCBiZWNvbWUgdW51c2FibGUuCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5
bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSk7CisKKyAgICB2aXJ0dWFs
IH5ET01GaWxlU3lzdGVtU3luYygpOworCisgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5
bmM+IHJvb3QoKTsKKworcHJpdmF0ZToKKyAgICBET01GaWxlU3lzdGVtU3luYyhjb25zdCBTdHJp
bmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7Cit9OworCit9IC8vIG5hbWVz
cGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRE9NRmls
ZVN5c3RlbVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1T
eW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjUxZDhjY2Q2MjAwYTc0YWFlYTBlNDI3NjQ3OTJjNmFmNjE3Zjk2MQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKQEAgLTAsMCArMSwz
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1GSUxFX1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERPTUZpbGVTeXN0
ZW1TeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRGlyZWN0b3J5RW50cnlTeW5jIHJvb3Q7CisgICAgfTsK
K30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGIv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2ZGQ3
ODI1ZTkwMjk1ZWEwMzc1ZmFmMGNmNzk2OTMyOWEyNjgxNAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgiCisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXJTeW5jLmgiCisj
aW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGlyZWN0b3J5
RW50cnlTeW5jOjpEaXJlY3RvcnlFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwg
ZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gRGlyZWN0
b3J5RW50cnlTeW5jOjpjcmVhdGVSZWFkZXIoRXhjZXB0aW9uQ29kZSYpCit7CisgICAgcmV0dXJu
IERpcmVjdG9yeVJlYWRlclN5bmM6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIG1fZnVsbFBhdGgpOwor
fQorCitQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpCit7Cisg
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBEaXJlY3Rv
cnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdz
PiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgor
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50
cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI1OTUzYTZlZDlmYTI4OWNhYTQ5YmRmODEyMDY4YzgyMWMy
ODQzMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEaXJlY3RvcnlFbnRyeVN5bmNfaAorI2RlZmlu
ZSBEaXJlY3RvcnlFbnRyeVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5j
bHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmxhZ3MuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlSZWFk
ZXJTeW5jOworY2xhc3MgRmlsZUVudHJ5U3luYzsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5j
IDogcHVibGljIEVudHJ5U3luYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGly
ZWN0b3J5RW50cnlTeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERpcmVjdG9yeUVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKyAgICB2
aXJ0dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBQ
YXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlclN5bmM+IGNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2Rl
Jik7CisgICAgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBnZXRGaWxlKGNvbnN0IFN0cmluZyYg
cGF0aCwgUGFzc1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRy
PERpcmVjdG9yeUVudHJ5U3luYz4gZ2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgUGFz
c1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQg
Y2xhc3MgRW50cnlTeW5jOworICAgIERpcmVjdG9yeUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFz
ZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9IC8vIG5hbWVz
cGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRGlyZWN0
b3J5RW50cnlTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2M3OTZiZmM3M2QzZThlYTk3YzMyNzVkMzg2MDEwNzQzMGIyYjRkYgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCkBAIC0wLDAg
KzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAg
ICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBEaXJlY3Rv
cnlFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICBEaXJlY3RvcnlSZWFkZXJTeW5jIGNy
ZWF0ZVJlYWRlcigpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIEZp
bGVFbnRyeVN5bmMgZ2V0RmlsZShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nIHBhdGgsIGluIEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24p
OworICAgICAgICBbQ3VzdG9tXSBEaXJlY3RvcnlFbnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtD
b252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gRmxh
Z3MgZmxhZ3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2Q1NmJjNmQ5ZmYwOWJhNzRm
YmY2YjE3ZTYwZjQ4NmRkMjE2MjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBp
L0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIKKyNpbmNsdWRlICJFbnRyeUFy
cmF5U3luYy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeVJlYWRlclN5bmM6
OkRpcmVjdG9yeVJlYWRlclN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAs
IG1fZnVsbFBhdGgoZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+
IERpcmVjdG9yeVJlYWRlclN5bmM6OnJlYWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmKQoreworICAg
IC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVf
U1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
aCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU4
MzE2MWQ2N2JjY2U3YTgzMzY0OWMwMmNiZjI3ODFmOTZiMjhjMQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgKQEAgLTAsMCArMSw2MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgRGlyZWN0b3J5UmVhZGVyU3luY19oCisjZGVmaW5lIERpcmVjdG9yeVJlYWRlclN5bmNf
aAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBEaXJlY3RvcnlSZWFkZXJTeW5jIDogcHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5
UmVhZGVyU3luYz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeVJl
YWRlclN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0
b3J5UmVhZGVyU3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKworICAgIFBhc3NS
ZWZQdHI8RW50cnlBcnJheVN5bmM+IHJlYWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmKTsKKworcHJp
dmF0ZToKKyAgICBEaXJlY3RvcnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lz
dGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKKworICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBt
X2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7Cit9OworCit9IC8vIG5hbWVzcGFj
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRGlyZWN0b3J5
UmVhZGVyU3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWEzOTkyODMyNjdmOGE1YmVhMmNlZjBlNjQ4N2ExZmY4ZDY4MzI2NQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRGlyZWN0
b3J5UmVhZGVyU3luYyB7CisgICAgICAgIEVudHJ5QXJyYXlTeW5jIHJlYWRFbnRyaWVzKCkgcmFp
c2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWRiZjJkY2RlN2VhMTRjNzkxYTliN2U3ZDY5NjA5OGU0NDk4OTM3Ngot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAKQEAg
LTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeUFycmF5U3lu
Yy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0VudHJ5QXJyYXlTeW5jOjpFbnRyeUFycmF5U3luYygpCit7Cit9CisKK0VudHJ5U3luYyogRW50
cnlBcnJheVN5bmM6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4
ID49IG1fZW50cmllcy5zaXplKCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2Vu
dHJpZXNbaW5kZXhdLmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlBcnJheVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdlMTMxMmZkNWIzOWY0NGIxMmZjODAyZTE2YzcxYjdlYzNlN2MyN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaApAQCAtMCwwICsxLDY5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBFbnRyeUFycmF5U3luY19oCisjZGVmaW5lIEVudHJ5QXJyYXlTeW5jX2gKKworI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBFbnRyeUFycmF5OworCitjbGFzcyBFbnRyeUFycmF5U3lu
YyA6IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5QXJyYXlTeW5jPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEVudHJ5QXJyYXlTeW5jKCkpOworICAgIH0KKworICAgIHVuc2ln
bmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZW50cmllcy5zaXplKCk7IH0KKyAgICBFbnRy
eVN5bmMqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgc2V0KHVuc2lnbmVk
IGluZGV4LCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZW50cnkpOworCisgICAgYm9vbCBpc0VtcHR5
KCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVzLmlzRW1wdHkoKTsgfQorICAgIHZvaWQgY2xlYXIo
KSB7IG1fZW50cmllcy5jbGVhcigpOyB9CisgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxFbnRy
eVN5bmM+IGVudHJ5KSB7IG1fZW50cmllcy5hcHBlbmQoZW50cnkpOyB9CisKK3ByaXZhdGU6Cisg
ICAgRW50cnlBcnJheVN5bmMoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8RW50cnlTeW5jPiA+IG1f
ZW50cmllczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QXJyYXlTeW5jX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlBcnJheVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkNTRmMzNlZWU5ZDI3NGQyYjZjYjBlODg5Y2Mz
NjhkNjFiYjUzZjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJh
eVN5bmMuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEhhc0luZGV4R2V0
dGVyLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRW50cnlBcnJheVN5bmMgeworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIEVu
dHJ5U3luYyBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB9Owor
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5jcHAgYi9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlCYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzY0NjZkMmY3NmRlMzRkNzY3NzE3Yzlk
NDI0NDVkODIyN2NkNzU2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
QmFzZS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJF
bnRyeUJhc2UuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZp
bGVQYXRoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlCYXNlOjpFbnRyeUJhc2Uo
RE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisg
ICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAsIG1fZnVsbFBhdGgoZnVsbFBhdGgp
CisgICAgLCBtX25hbWUoRE9NRmlsZVBhdGg6OmdldE5hbWUoZnVsbFBhdGgpKQoreworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwOGM3MjczM2UzZmUwM2M5OWFkN2M4YzM2YWVjNzI3
NjM0NGFjNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaApA
QCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRyeUJhc2VfaAorI2RlZmluZSBFbnRyeUJhc2VfaAor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NRmlsZVN5c3RlbUJhc2U7CitjbGFz
cyBFbnRyeVN5bmM7CisKKy8vIEEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIEVudHJ5IGFuZCBFbnRy
eVN5bmMuCitjbGFzcyBFbnRyeUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeUJhc2U+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5FbnRyeUJhc2UoKSB7IH0KKworICAgIERPTUZpbGVTeXN0
ZW1CYXNlKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVtOyB9CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgY29u
c3QgU3RyaW5nJiBmdWxsUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbFBhdGg7IH0KKyAgICBj
b25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKworcHJvdGVjdGVk
OgorICAgIEVudHJ5QmFzZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCk7CisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKworICAgIERPTUZp
bGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7CisgICAg
U3RyaW5nIG1fbmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QmFzZV9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5
bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZhYWEzNTZjNzRiMmU3OWNhYzQ4MDdjMjZlNzUxZmYwZDQ5NGY2
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApAQCAt
MCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNp
bmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJNZXRhZGF0YS5oIgorI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlT
eW5jOjpFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeUJhc2UoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9
CisKK1Bhc3NSZWZQdHI8TWV0YWRhdGE+IEVudHJ5U3luYzo6Z2V0TWV0YWRhdGEoRXhjZXB0aW9u
Q29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRy
eVN5bmM6Om1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4sIGNvbnN0IFN0cmlu
ZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1l
bnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVm
UHRyPEVudHJ5U3luYz4gRW50cnlTeW5jOjpjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRy
eVN5bmM+LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBG
SVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gMDsKK30KKwordm9pZCBFbnRyeVN5bmM6OnJlbW92ZShFeGNlcHRpb25Db2RlJikgY29uc3QK
K3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKworUGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6Z2V0UGFyZW50KCkgY29u
c3QKK3sKKyAgICAvLyBTeW5jIHZlcmlvbiBvZiBnZXRQYXJlbnQgZG9lc24ndCB0aHJvdyBleGNl
cHRpb25zLgorICAgIFN0cmluZyBwYXJlbnRQYXRoID0gRE9NRmlsZVBhdGg6OmdldERpcmVjdG9y
eShmdWxsUGF0aCgpKTsKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVhdGUobV9m
aWxlU3lzdGVtLCBwYXJlbnRQYXRoKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5
bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTdkYjYwY2U5
NjcwYjNjZWUxY2FiZGRmODlkOTFlOTBmMGQ4NmViCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0VudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5U3luY19o
CisjZGVmaW5lIEVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNs
dWRlICJET01GaWxlU3lzdGVtU3luYy5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgorI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmM7CitjbGFzcyBNZXRh
ZGF0YTsKKworY2xhc3MgRW50cnlTeW5jIDogcHVibGljIEVudHJ5QmFzZSB7CitwdWJsaWM6Cisg
ICAgRE9NRmlsZVN5c3RlbVN5bmMqIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxET01GaWxlU3lzdGVtU3luYyo+KG1fZmlsZVN5c3RlbSk7IH0KKworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxNZXRhZGF0YT4gZ2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29kZSYpOworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IG1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVu
dHJ5U3luYz4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBjb3B5VG8oUGFzc1JlZlB0cjxE
aXJlY3RvcnlFbnRyeVN5bmM+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZ2V0UGFyZW50KCkgY29uc3Q7
CisKK3Byb3RlY3RlZDoKKyAgICBFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5U3luY19oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiN2VlM2MzOGM5NTQ5NDg4MzgzMTk5ZTc2NTNhNTky
ZmZmNzNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlk
bApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDdXN0b21Ub0pTLAorICAgICAg
ICBOb1N0YXRpY1RhYmxlcworICAgIF0gRW50cnlTeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNGaWxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc0RpcmVjdG9yeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbVN5bmMgZmlsZXN5c3RlbTsKKworICAg
ICAgICBNZXRhZGF0YSBnZXRNZXRhZGF0YSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAg
ICAgIEVudHJ5U3luYyBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0Nv
bnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMg
KEZpbGVFeGNlcHRpb24pOworICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVu
dHJ5U3luYyBwYXJlbnQsIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBE
T01TdHJpbmcgbmFtZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1v
dmUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBEaXJlY3RvcnlFbnRyeVN5bmMg
Z2V0UGFyZW50KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZGUzZjgzODEwMmI3ODJkNGU5NWNkOTNmYmEyNzllOThmMzkzODBlCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorCisjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVFbnRyeVN5
bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjJkMmMzNThiMmIzYmEyNGVmZmYxZmVj
Yzc2ODAwYjhmMjA1OWZhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVF
bnRyeVN5bmMuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlRW50cnlTeW5jX2gKKyNkZWZp
bmUgRmlsZUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBGaWxlRW50cnlTeW5jIDogcHVibGljIEVudHJ5U3luYyB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gY3JlYXRlKERPTUZp
bGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGaWxlRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1
bGxQYXRoKSk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgRW50cnlTeW5jOworICAg
IEZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEZpbGVFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1MDU5MDEyZjgwYTk2MWIwMGY1ODVhYzI2YTk3NmI3MjBj
OTM3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5p
ZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252
ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAg
ICBdIEZpbGVFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICAvLyBGSVhNRTogdG8gYmUg
YWRkZWQuCisgICAgICAgIC8vIEZpbGVXcml0ZXJTeW5jIGNyZWF0ZVdyaXRlcigpOworICAgICAg
ICAvLyBGaWxlIGZpbGUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69393</attachid>
            <date>2010-09-30 16:38:50 -0700</date>
            <delta_ts>2010-10-01 17:28:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20100930163849.patch</filename>
            <type>text/plain</type>
            <size>137030</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTFhNjIzNGYxOGJlOGFiNzljMzJlZTAzZTMxZWJiZTJhYWU5NTUwLi5hM2MxYjhm
ZDM2MzdjYmNlYWUwMDcxMGMxYmY1OTEyYmM4YTgwMGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICBBbiBlbnRyeSBtZXRob2QgKHJlcXVlc3RGaWxlU3lzdGVt
U3luYykgaXMgbm90IHlldCBleHBvc2VkIHRvIHRoZQorICAgICAgICBXb3JrZXJDb250ZXh0IGlu
IHRoaXMgcGF0Y2gsIHNvIHdvcmtlcnMvc2ltcGxlLSotc3luYy1leHBlY3RlZC50eHQKKyAgICAg
ICAgaGF2ZSByZWZlcmVuY2UgZXJyb3JzIGZvciBub3cuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qczogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3Jhcnku
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBl
cnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3Vy
Y2VzL2ZzLXRlc3QtcG9zdC5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBBZGRlZCBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycworICAg
ICAgICBub3QgdG8gcnVuIHRoZW0gaW4gcmVndWxhciB0ZXN0IHJ1bnMuCisKIDIwMTAtMDktMzAg
IEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBCdWlsZCBmaXguIE5v
dCByZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9y
ZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTE3NmMwYjY0NzMwNzc0
MDVlMmQzNzNkMjdjNjg2ZDA1Nzk0YWNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzCkBAIC0wLDAgKzEs
MzQgQEAKK2Z1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UobWVzc2Fn
ZSk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaEpTVGVzdCgpCit7CisgICAgcG9zdE1lc3NhZ2UoIkRP
TkUiKTsKK30KKworZnVuY3Rpb24gZGVzY3JpcHRpb24obWVzc2FnZSkKK3sKKyAgICBwb3N0TWVz
c2FnZSgnRGVzY3JpcHRpb246ICcgKyBtZXNzYWdlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmUo
X2EsIF9iKQoreworICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAi
c3RyaW5nIikKKyAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmluZyBhcmd1
bWVudHMiKTsKKyAgdmFyIF9hdiA9IGV2YWwoX2EpOworICB2YXIgX2J2ID0gZXZhbChfYik7Cisg
IGlmIChfYXYgPT09IF9idikKKyAgICBkZWJ1ZygiUEFTUzogIiArIF9hICsgIiBpcyAiICsgX2Ip
OworICBlbHNlCisgICAgZGVidWcoIkZBSUw6ICIgKyBfYSArICIgc2hvdWxkIGJlICIgKyBfYnYg
KyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlw
ZSAiICsgdHlwZW9mIF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVRydWUoX2Ep
IHsgc2hvdWxkQmUoX2EsICJ0cnVlIik7IH0KKworaWYgKHRoaXMuaW1wb3J0U2NyaXB0cyAmJiAh
dGhpcy5yZXF1ZXN0RmlsZVN5c3RlbSkgeworICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMg
RmlsZVN5c3RlbSBBUEkuJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9z
dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzRiMDI1MmYxNDY0N2QwNWU5OWMwM2Y4NTE3MmRiNTUy
OTg3YzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jl
c291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsOCBAQAord2FzUG9zdFRl
c3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KK2lmICh3aW5kb3cud2FzRmluaXNoSlNUZXN0Q2Fs
bGVkKQorICAgIGZpbmlzaEpTVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMGVlNTg2NmI5NWNhYzhhMzJhZDA0NjhlMTJlYzM3ZWYwODQwOWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVz
dC1wcmUuanMKQEAgLTAsMCArMSwzNSBAQAoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIGRl
YnVnKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0V29ya2Vy
KHRlc3RTY3JpcHRVUkwpCit7CisgICAgZGVidWcoJ1N0YXJ0aW5nIHdvcmtlcjogJyArIHRlc3RT
Y3JpcHRVUkwpOworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKHRlc3RTY3JpcHRVUkwpOwor
ICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGRl
YnVnKGV2ZW50LmRhdGEpOworICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PSAiRE9ORSIpCisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9OworCisgICAgd29ya2VyLm9uZXJyb3IgPSBm
dW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGRlYnVnKCdHb3QgZXJyb3IgZnJvbSB3b3Jr
ZXI6ICcgKyBldmVudC5tZXNzYWdlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBmaW5pc2hKU1Rlc3QoKQoreworICAgIHdhc0ZpbmlzaEpTVGVzdENhbGxl
ZCA9IHRydWU7CisgICAgaWYgKCF3aW5kb3cud2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQpCisgICAg
ICAgIHJldHVybjsKKyAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09N
UExFVEU8L3NwYW4+Jyk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVy
c2lzdGVudC1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyOGVhYjQ3YmJhNGM2YzIzMjExNzk5N2NhZmRh
ZmNlMjdmNjNkYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKQEAgLTAsMCArMSwxMyBAQAor
aWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1j
b21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlv
bigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVT
eXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoUEVSU0lTVEVOVCwgMTAwKTsKKworZGVidWco
IlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jOiIgKyBmaWxl
U3lzdGVtLm5hbWUpOworc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIp
Oworc2hvdWxkQmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKK2ZpbmlzaEpT
VGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODRmZGI3ODE3YzU5M2MwODhmM2M4NDUzY2VkNjcxM2MxZWM4OTUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtcGVyc2lzdGVudC5qcwpAQCAtMCwwICsxLDI0IEBACitpZiAodGhpcy5pbXBvcnRTY3Jp
cHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygnZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGRl
YnVnKCdXb3JrZXIgc3RhcnRlZC4nKTsKK30KK2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3Rl
bSBQRVJTSVNURU5UIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gbnVsbDsKKworZnVuY3Rp
b24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCJFcnJvciBvY2N1cmVkIHdoaWxl
IHJlcXVlc3RpbmcgYSBQRVJTSVNURU5UIGZpbGUgc3lzdGVtOiIgKyBlcnJvci5jb2RlKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7Cisg
ICAgZmlsZVN5c3RlbSA9IGZzOworICAgIGRlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVS
U0lTVEVOVCBGaWxlU3lzdGVtOiIgKyBmaWxlU3lzdGVtLm5hbWUpOworICAgIHNob3VsZEJlVHJ1
ZSgiZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAiKTsKKyAgICBzaG91bGRCZSgiZmlsZVN5c3Rl
bS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIg
anNUZXN0SXNBc3luYyA9IHRydWU7CityZXF1ZXN0RmlsZVN5c3RlbShQRVJTSVNURU5ULCAxMDAs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk5MTIwYjQz
YTc5NDMzMmUwYjY5YTg2MzEwNTE1OTJiYTUzNWEzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpz
CkBAIC0wLDAgKzEsMTMgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRT
Y3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgZGVidWcoJ1dvcmtlciBzdGFydGVk
LicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtU3luYyBURU1QT1JBUlkgdGVz
dC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoVEVNUE9SQVJZ
LCAxMDApOworCitkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBPUkFSWSBGaWxlU3lz
dGVtU3luYzoiICsgZmlsZVN5c3RlbS5uYW1lKTsKK3Nob3VsZEJlVHJ1ZSgiZmlsZVN5c3RlbS5u
YW1lLmxlbmd0aCA+IDAiKTsKK3Nob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgiLCAn
Ii8iJyk7CitmaW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUt
dGVtcG9yYXJ5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1w
bGUtdGVtcG9yYXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NjViNTBiYjgzZTRkMGIyM2RkMDY2M2E3ZjI0
MmZhMGFmNDQzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3JhcnkuanMKQEAgLTAsMCArMSwyNCBAQAoraWYgKHRo
aXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1jb21tb24u
anMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlvbigicmVx
dWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gbnVs
bDsKKworZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCdFcnJvciBv
Y2N1cmVkIHdoaWxlIHJlcXVlc3RpbmcgYSBURU1QT1JBUlkgZmlsZSBzeXN0ZW06JyArIGVycm9y
LmNvZGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJh
Y2soZnMpIHsKKyAgICBmaWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBv
YnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKKyAgICBz
aG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAgc2hvdWxkQmUo
ImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0ZW0oVEVNUE9S
QVJZLCAxMDAsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNDJiMTFj
ZGQzMWJiNTEyZjZhNWUzOTU3MWZiOTllN2NmZmFiZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNU
RU5UIEZpbGVTeXN0ZW06VGVzdFNoZWxsRmlsZVN5c3RlbQorUEFTUyBmaWxlU3lzdGVtLm5hbWUu
bGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTIGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtcGVyc2lzdGVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYxNzdjMjYzZDg4ZDM3ZDI3NDIzMmU5ZmIxNDVhMGRlN2ZlNDk2MjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3Rl
bnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YThkNDZm
ZmJkNDk5YTU2YjE4YTdkNjFkMmU3NTRlNjcyNDI5ZTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFRFTVBPUkFSWSB0ZXN0LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBPUkFS
WSBGaWxlU3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3RlbS5uYW1lLmxl
bmd0aCA+IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ2MmFjNjRlYWM3NGU2ZmJhMzIzZGI4ODcxNjllNjM4MjQ5N2YzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93
b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zOWNjZThhMjBkYTE5NDAwZjIxMGNmMjU4ZDUzNTA4MDE0YzI4M2VkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNp
c3RlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4u
L3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlw
dGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gUEVSU0lTVEVOVCB0ZXN0LgorU3VjY2Vzc2Z1bGx5IG9i
dGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNpc3Rl
bnQKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVT
eXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3Jr
ZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMzk3
NjVmYWFhMjE3NzYxYjc2MjE1NjQ5Y2Q5MzM0Yzk4NmFmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5j
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGluZyBQRVJT
SVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9y
ZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNj
cmlwdGlvbjogcmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4KK0dvdCBlcnJv
ciBmcm9tIHdvcmtlcjogVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IHJlcXVlc3RGaWxlU3lzdGVt
U3luYyBpcyBub3QgZGVmaW5lZAorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50
LXN5bmMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMmY0ZjY2Y2QxOWFkZmQwYzI2N2ZjY2Y1YTA1ZGY2MGQx
MWFiNDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdHMgcmVxdWVzdGluZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVz
b3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWVk
NmM1MDM0ZjE2NGU3ZTE1NzRhYmYxOWI0M2U1Zjg2NTFjNjgwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3lu
Yy50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQg
RmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK1N1Y2Nlc3NmdWxs
eSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJz
aXN0ZW50CitQQVNTOiBmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBm
aWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUt
cGVyc2lzdGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2lt
cGxlLXBlcnNpc3RlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTViYjg0MWUzZDhhYmMwYjNlNjFmZWE1
ZmZhYmVkYTJiMTU5MjhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVz
b3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZDQ5
NWQxODZiOTM2NWU4OTM2NTcyMTVmNGZmNmIxMzYyNTdmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZ
IEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9uOiByZXF1ZXN0
RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JB
UlkgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlRlbXBvcmFyeQorUEFTUzogZmlsZVN5
c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUzogZmlsZVN5c3RlbS5yb290LmZ1bGxQ
YXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NzZiYjNlYTExNWNmZTRkYTZkOTg4
YzZhMmM2MDllOTQ4ZjQ4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOSBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtU3lu
YyBpbiBXb3JrZXIuCisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlwdGlvbjogcmVxdWVzdEZpbGVT
eXN0ZW1TeW5jIFRFTVBPUkFSWSB0ZXN0LgorR290IGVycm9yIGZyb20gd29ya2VyOiBVbmNhdWdo
dCBSZWZlcmVuY2VFcnJvcjogcmVxdWVzdEZpbGVTeXN0ZW1TeW5jIGlzIG5vdCBkZWZpbmVkCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MjE2MTNhODA4Yjk0OWM3NDFjN2Y4NWUxYzY1NjM1NGNmOTNlNGY3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1z
eW5jLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFRFTVBPUkFS
WSBGaWxlU3lzdGVtU3luYyBpbiBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0Pgorc3RhcnRXb3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5
bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXIt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwOGEzMjc3OWZmZjU3MGE4YzllY2IzMDk1NGMxMGMwMzNjMWJhNTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtdGVtcG9yYXJ5Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0
aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3JhcnkuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3Jr
ZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDg0NjU2
ZmY3ZWU5NDE4NjAzM2IxNmIxYTQ3MDk3OGExZWFkOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsNiBA
QAord2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cud2FzRmluaXNoSlNUZXN0Q2FsbGVkKQorICAgIGZpbmlzaEpTVGVzdCgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IDBlNWRiMDNkMGZkZGE3ZTRhZjNhZTUzYmNkM2ZjZjUzNjc2MDkzZTIuLjM4MjY2
YjEzNzE0ZDg5OTQ4ZmI3OTUzYTFlNjc1MjNmNzNhMmMyMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTE1OCw2ICsx
NTgsNyBAQCBXT05URklYIFNLSVAgOiBmYXN0L3JlZ2V4L3Rlc3QxLmh0bWwgPSBQQVNTCiAvLyBX
ZSB1c2Ugd29ya2VyX3VpdGVzdHMgdG8gcnVuIHdvcmtlcnMgdGVzdHMuIERvbid0IHJ1biB0aGVt
IGluIHRlc3Rfc2hlbGwuCiBXT05URklYIFNLSVAgOiBmYXN0L3dvcmtlcnMgPSBQQVNTIFRJTUVP
VVQgRkFJTAogV09OVEZJWCBTS0lQIDogZmFzdC9maWxlcy93b3JrZXJzID0gUEFTUyBUSU1FT1VU
IEZBSUwKK1dPTlRGSVggU0tJUCA6IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzID0gUEFTUyBUSU1F
T1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvd29ya2VycyA9IFBBU1MgVElNRU9V
VCBGQUlMCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMg
PSBQQVNTIFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS93b3JrZXJzID0gUEFTUyBUSU1FT1VUIEZBSUwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZlMzJkZGYyNGYzNTQyZWU0
ZGVlYTM0MDE3NzVhM2Y1MDliYTU3ZTguLjYzMzBhOWMwZTJmNWFkMWMzY2IwYzg0MjI4ZmY1ZjVi
NTI4MjBkZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYxNiwxNCArMTYxNiwyNCBAQCBFTkRJRiAoKQogaWYgKEVO
QUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICAg
ICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKKyAgICAgICAgYmluZGlu
Z3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9t
LmNwcAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcAorICAgICAgICBmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIu
Y3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKICAgICAgICAgZmls
ZWFwaS9ET01GaWxlUGF0aC5jcHAKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAor
ICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcAorICAgICAgICBmaWxlYXBpL0RP
TUZpbGVTeXN0ZW1TeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcAogICAgICAgICBm
aWxlYXBpL0VudHJ5QXJyYXkuY3BwCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3Bw
CisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmNwcAorICAgICAgICBmaWxlYXBpL0VudHJ5U3lu
Yy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnkuY3BwCisgICAgICAgIGZpbGVhcGkvRmls
ZUVudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAog
ICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwCiAgICAgICAgIGZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmNwcApAQCAtMTYzMSwxNSArMTY0MSwyMSBAQCBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVN
KQogICAgICkKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwogICAgICAgICBmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3lu
Yy5pZGwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRsCisgICAgICAgIGZpbGVh
cGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmlkbAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbAogICAgICAgICBmaWxl
YXBpL0VudHJpZXNDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9FbnRyeS5pZGwKKyAgICAg
ICAgZmlsZWFwaS9FbnRyeVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5pZGwK
KyAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9FbnRy
eUNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRsCiAgICAgICAg
IGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5pZGwK
KyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVT
eXN0ZW1DYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRs
CiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5pZGwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzNTNlMzJjYTFhZGVlYWIzMDI2Mzli
NzliODMxNGRiMWZkMmNjYy4uZTE4ZWJkNGQ1NjQ0ZjkyMzI5Zjk1N2FiM2ZkYzZlMDNkMzViNzAy
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0OCBAQAorMjAxMC0wOS0zMCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGlkbCBhbmQgbW9jayBjbGFzc2VzIGZvciBGaWxlU3lzdGVtU3luYyBmb3IgRmlsZVN5
c3RlbSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ2NDA1CisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLmNwcDogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3
IGZpbGVzLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAg
ICAqIFdlYkNvcmUucHJpOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5wcm86
IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ajogQWRkZWQgbmV3IGZpbGVzLiBBbHNvIHJlbW92ZWQgdGhlIGR1cGxpY2F0ZWQgZmlsZWFwaVxG
aWxlRW50cnkuY3BwIGVudHJ5LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNF
bnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1T
eW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyU3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyU3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcDogQWRkZWQu
CisgICAgICAgICogZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBm
aWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRy
eUJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5oOiBBZGRlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0VudHJ5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVh
cGkvRW50cnlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmlkbDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcDogQWRkZWQuCisgICAg
ICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkv
RmlsZUVudHJ5U3luYy5pZGw6IEFkZGVkLgorCiAyMDEwLTA5LTMwICBBbGV4ZXkgTWFyaW5pY2hl
diAgPGFtYXJpbmljaGV2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBDaHJp
cyBNYXJyaW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDg5OGRhNWNhZWM4ZjA2NWFhMzU5NDVlMjRhNmI3
Y2U4MDVjNmVmNDYuLjAxZjUwMjM4Zjc3M2QzMDFlYjBkYTRjYjA5OTkwNjRmOTdkODQ0ZmMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCkBAIC03NCwxMyArNzQsMTYgQEAKICNpbmNsdWRlICJKU0RlZGljYXRlZFdv
cmtlckNvbnRleHQuY3BwIgogI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAi
CiAjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlF
bnRyeVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyLmNwcCIKKyNpbmNsdWRl
ICJKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuY3BwIgog
I2luY2x1ZGUgIkpTRG9jdW1lbnRGcmFnbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudFR5
cGUuY3BwIgogI2luY2x1ZGUgIkpTRE9NQXBwbGljYXRpb25DYWNoZS5jcHAiCiAjaW5jbHVkZSAi
SlNET01Db3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTUZpbGVTeXN0ZW0uY3BwIgor
I2luY2x1ZGUgIkpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRE9NRm9ybURh
dGEuY3BwIgogI2luY2x1ZGUgIkpTRE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkpT
RE9NTWltZVR5cGUuY3BwIgpAQCAtOTksNiArMTAyLDggQEAKICNpbmNsdWRlICJKU0VudHJpZXND
YWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeS5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUFy
cmF5LmNwcCIKKyNpbmNsdWRlICJKU0VudHJ5QXJyYXlTeW5jLmNwcCIKKyNpbmNsdWRlICJKU0Vu
dHJ5U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJK
U0Vycm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRXJyb3JFdmVudC5jcHAiCkBAIC0xMDgs
NiArMTEzLDcgQEAKICNpbmNsdWRlICJKU0ZpbGUuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUNhbGxi
YWNrLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRW50
cnlTeW5jLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxl
RXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAyZmRhNWU5OGJlMWE2OWY3Y2NhNTdmNmE4YTAxZTBmYzQ1NTZkYmFiLi4zNDJiYjdiNWE2
OWJlYWE1ZmE5NThlNDkzNmM2ZDc5ZWY4MGRlZmQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTQs
NiArMTE0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9NQXBwbGljYXRpb25DYWNoZSBcCiAg
ICAgRE9NQ29yZUV4Y2VwdGlvbiBcCiAgICAgRE9NRmlsZVN5c3RlbSBcCisgICAgRE9NRmlsZVN5
c3RlbVN5bmMgXAogICAgIERPTUZvcm1EYXRhIFwKICAgICBET01JbXBsZW1lbnRhdGlvbiBcCiAg
ICAgRE9NTWltZVR5cGUgXApAQCAtMTMyLDcgKzEzMyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAg
IERldmljZU1vdGlvbkV2ZW50IFwKICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IFwKICAgICBE
aXJlY3RvcnlFbnRyeSBcCisgICAgRGlyZWN0b3J5RW50cnlTeW5jIFwKICAgICBEaXJlY3RvcnlS
ZWFkZXIgXAorICAgIERpcmVjdG9yeVJlYWRlclN5bmMgXAogICAgIERvY3VtZW50IFwKICAgICBE
b2N1bWVudEZyYWdtZW50IFwKICAgICBEb2N1bWVudFR5cGUgXApAQCAtMTQyLDcgKzE0NSw5IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIEVudGl0eVJlZmVyZW5jZSBcCiAgICAgRW50cmllc0NhbGxi
YWNrIFwKICAgICBFbnRyeSBcCisgICAgRW50cnlTeW5jIFwKICAgICBFbnRyeUFycmF5IFwKKyAg
ICBFbnRyeUFycmF5U3luYyBcCiAgICAgRW50cnlDYWxsYmFjayBcCiAgICAgRXJyb3JDYWxsYmFj
ayBcCiAgICAgRXJyb3JFdmVudCBcCkBAIC0xNTQsNiArMTU5LDcgQEAgRE9NX0NMQVNTRVMgPSBc
CiAgICAgRmlsZSBcCiAgICAgRmlsZUNhbGxiYWNrIFwKICAgICBGaWxlRW50cnkgXAorICAgIEZp
bGVFbnRyeVN5bmMgXAogICAgIEZpbGVFeGNlcHRpb24gXAogICAgIEZpbGVFcnJvciBcCiAgICAg
RmlsZUxpc3QgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggNmJlYTUyZjA5MDczM2FiNDdjYTU0MTU4Yzc1NGM3Y2NkMWNj
NGNkZC4uMmY3YWNiZjRiZmE5ODZlMmFjMDAwYzgzYzFiN2IzYWQ1ZWRjZDczNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBA
IC02ODksNiArNjg5LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9j
dW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25D
YWNoZUN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBc
CkBAIC03MTEsNiArNzEyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1
c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAgXAorCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRM
aXN0ZW5lci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApA
QCAtMTM2NSwyMyArMTM2NywzOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZmls
ZWFwaS9CbG9iVVJMLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAog
CVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGly
ZWN0b3J5RW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3lu
Yy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBcCiAJV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyU3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAog
CVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9ET01G
aWxlUGF0aC5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgXAogCVdlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtQmFzZS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIFwKKwlX
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0VudHJpZXNDYWxsYmFjay5o
IFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnku
aCBcCiAJV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkv
RW50cnlBcnJheS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKwlX
ZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5
QmFzZS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAJV2ViQ29yZS9maWxl
YXBpL0VudHJ5Q2FsbGJhY2suaCBcCi0JV2ViQ29yZS9maWxlYXBpL0VudHJ5LmNwcCBcCi0JV2Vi
Q29yZS9maWxlYXBpL0VudHJ5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwK
KwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9FcnJvckNh
bGxiYWNrLmggXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9m
aWxlYXBpL0ZpbGUuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCBcCiAJV2Vi
Q29yZS9maWxlYXBpL0ZpbGVFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3lu
Yy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmls
ZWFwaS9GaWxlRXJyb3IuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uaCBcCiAJ
V2ViQ29yZS9maWxlYXBpL0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGU3N2FjNTU3NjBiNDgwMjQwNGU1NDkxNGFk
MjNlMGExZDBkNjY0YzQuLjI5NDZhYmM2N2EzYjQxZjVjZDViZDI3YTI2NWVjYjQzMTg5MWYzZDAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC04OSwxNiArODksMjIgQEAKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2IuaWRsJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2JCdWlsZGVyLmlkbCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRs
JywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsJywKKyAgICAgICAgICAgICdmaWxlYXBp
L0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2Fs
bGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5LmlkbCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9FbnRyeUFycmF5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFw
aS9FcnJvckNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmlkbCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZpbGVFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5p
ZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmlkbCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlz
dC5pZGwnLApAQCAtNTY3LDYgKzU3Myw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RP
TUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwJywKQEAgLTU4NSw2ICs1OTIsNyBAQAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VsZW1l
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNw
cCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNFdmVudExpc3RlbmVyLmgnLApAQCAtNzY0LDYgKzc3Miw3IEBACiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlD
dXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
b2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwJywKQEAgLTc3Miw2ICs3ODEsNyBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5Q3VzdG9tLmNwcCcsCisgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhFdmVudFNvdXJjZUNvbnN0cnVjdG9yLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwJywKQEAgLTE0
NTAsMjQgKzE0NjAsNDAgQEAKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2JVUkwuaCcsCiAgICAg
ICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eVN5bmMuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9ET01GaWxlUGF0aC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZp
bGVTeXN0ZW0uY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCcsCisg
ICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAnLAorICAgICAgICAgICAg
J2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01G
aWxlU3lzdGVtU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5
bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9FbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuaCcs
CiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5LmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9FbnRyeUFycmF5LmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5bmMu
Y3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgnLAogICAgICAgICAg
ICAgJ2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5
QmFzZS5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlCYXNlLmgnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRW50cnlTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5
bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJ2ZpbGVhcGkvRmlsZS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZS5oJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZpbGVFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmgnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVh
cGkvRmlsZUVudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFcnJvci5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dl
YkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggMzMzMTYyNjliYzA2MDU2ZWE4NTZhOWJkM2U4MzljYmJh
MTc4Y2ViZS4uMDUxZjRkOWMyNjVkM2Y2MTFhMjAzNzc2NGQyMTliYjcwNmZjYmI3NSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0x
NTYsMTYgKzE1NiwyMiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGZpbGVhcGkvQmxvYi5pZGwg
XAogICAgIGZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsIFwKICAgICBmaWxlYXBpL0RpcmVjdG9yeUVu
dHJ5LmlkbCBcCisgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsIFwKICAgICBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlci5pZGwgXAorICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3lu
Yy5pZGwgXAogICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwgXAorICAgIGZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwgXAog
ICAgIGZpbGVhcGkvRW50cnkuaWRsIFwKICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuaWRsIFwKKyAg
ICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeUNhbGxiYWNr
LmlkbCBcCisgICAgZmlsZWFwaS9FbnRyeVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0Vycm9yQ2Fs
bGJhY2suaWRsIFwKICAgICBmaWxlYXBpL0ZpbGUuaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVDYWxs
YmFjay5pZGwgXAogICAgIGZpbGVhcGkvRmlsZUVudHJ5LmlkbCBcCisgICAgZmlsZWFwaS9GaWxl
RW50cnlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlRXJyb3IuaWRsIFwKICAgICBmaWxlYXBp
L0ZpbGVMaXN0LmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlUmVhZGVyLmlkbCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBkMTdhZmMy
ZjE5NzBjYjU0YzE1ZDBhZmQ3YzAxMDQyMjI1YTZhZDg2Li40NzgxN2E4ZDAwOGJkOGI5MjhiNGQ5
NGIxMWVhOWIzZGE4OWEyOGZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI5NjYsMTYgKzI5NjYsMjQgQEAgY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAg
ZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXIuaCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50
cnkuaCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmggXAogICAgICAgICBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXJTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmggXAogICAgICAgICBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW0uaCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2Uu
aCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBcCiAgICAgICAgIGZpbGVh
cGkvRW50cmllc0NhbGxiYWNrLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmggXAogICAgICAg
ICBmaWxlYXBpL0VudHJ5QXJyYXkuaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMu
aCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5
Q2FsbGJhY2suaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmggXAogICAgICAgICBmaWxl
YXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmggXAog
ICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIFwKICAgICAgICAg
ZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0
ZXIuaCBcCkBAIC0yOTkwLDE0ICsyOTk4LDI0IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9G
SUxFX1NZU1RFTT0xKSB7CiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvanMv
SlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVj
dG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5Q3Vz
dG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3Bw
IFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCiAgICAgICAgIGZp
bGVhcGkvRE9NRmlsZVBhdGguY3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNw
cCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIFwKKyAgICAgICAgZmls
ZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcCBc
CiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAorICAgICAgICBmaWxlYXBpL0VudHJ5
QXJyYXlTeW5jLmNwcCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisgICAgICAg
IGZpbGVhcGkvRW50cnlTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmNwcCBc
CisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0Zp
bGVTeXN0ZW1DYWxsYmFja3MuY3BwIFwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyLmNwcCBc
CiAgICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCA5MTI2MzE3YzcxODcxZmM4NWViM2E3ODE5ODBmMzZiNmJi
YzJhMzYwLi41YzA5NzRmZTQ2YjYwNTVjMjczNTI0NmMwOTAwZGY3MDU2ZDY2NmFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMxMDEsNiArMzEwMSwxNCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5RW50
cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8Rmls
ZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTMxNTcsNiArMzE2NSwxNCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0
b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0RvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CkBAIC0zNDkzLDYgKzM1MDksMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01GaWxlU3lzdGVtU3luYy5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZvcm1EYXRh
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00NDU3LDYgKzQ0ODEs
MTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Vu
dHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNFbnRyeUFycmF5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5Q2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTQ1MTMsNiArNDU0NSwxNCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlTeW5jLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5bmMuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFcnJvckNhbGxi
YWNrLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00OTA5LDYgKzQ5
NDksMjIgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5bmMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5
bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNG
aWxlRXJyb3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc0OSw2ICszNzgwNSwxNCBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxm
aWxlYXBpXERpcmVjdG9yeUVudHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeUVudHJ5U3luYy5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3
NzU3LDYgKzM3ODIxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERp
cmVjdG9yeVJlYWRlclN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcCINCiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc4MSw2ICszNzg1MywyMiBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0
ZW1CYXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3Rl
bVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01Gb3JtRGF0YS5jcHAi
DQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzc4MTcsNiArMzc5MDUsMzAgQEAKIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRy
eUFycmF5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QmFzZS5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxmaWxlYXBpXEVudHJ5QmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeVN5
bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGZpbGVhcGlcRW50cnlDYWxsYmFjay5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3
ODQxLDExICszNzk1MywxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZmlsZWFwaVxGaWxlRW50cnkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmgiDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5U3lu
Yy5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtNDQzOTIsNiArNDQ1MDgs
MTAgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJ
CT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0RvY3VtZW50Q3VzdG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KQEAgLTQ1MTUyLDYgKzQ1MjcyLDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0K
IAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0VudHJ5U3lu
Y0N1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+DQog
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDRkYTFkMjliYTFjMjdmNjcyZTUxYzY5ODU0MjUxNTNkYzJkNDQyZTcu
LmNlNTYyNTliNWNlYTk4MzUzZDg5NWU5NTEwYmI1ZWNlNjYwYWYyMTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDYwLDYgKzI0NjAsMzYgQEAKIAkJ
ODkzQzQ3QkMxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdCQTEyMzhBMEE5
MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3Q0MxMjNF
RUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3Q0ExMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50
cnlDdXN0b20uY3BwICovOyB9OwogCQk4OTNDNDdERjEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJl
Y3RvcnlFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1
c3RvbS5jcHAgKi87IH07CisJCTg5M0M0ODAwMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlF
bnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODkzQzQ3RjAxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi87
IH07CisJCTg5M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0YxMTI0
OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MDIx
MjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjIxMjQ4QkQzOTAwMkIzRDg2
IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwMzEyNDhCRDNBMDAy
QjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjMxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9y
eVJlYWRlclN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MDQxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5M0M0N0Y0MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAg
Ki87IH07CisJCTg5M0M0ODA1MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjUx
MjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggKi87IH07CisJCTg5M0M0ODA2
MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYg
LyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwNzEyNDhCRDNBMDAyQjNE
ODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y3MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVt
U3luYy5oICovOyB9OworCQk4OTNDNDgwODEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5
bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkz
QzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJODkz
QzQ4MDkxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYg
LyogRW50cnlBcnJheVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MEExMjQ4QkQzQTAwMkIzRDg2IC8q
IEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDdGQTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MEIxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkIxMjQ4QkQzOTAwMkIzRDg2IC8q
IEVudHJ5QmFzZS5oICovOyB9OworCQk4OTNDNDgwQzEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlT
eW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0N0ZDMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgw
RDEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGRDEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlT
eW5jLmggKi87IH07CisJCTg5M0M0ODBFMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5j
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
N0ZFMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4
MEYxMjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBG
aWxlRW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODIxMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0Rp
cmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwICovOyB9OworCQk4OTNDNDgzMjEyNDk1NDcyMDAyQjNEODYgLyog
SlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50
cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0
b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAq
LzsgfTsKKwkJODkzQzQ4MzQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3lu
Yy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTND
NDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLzsgfTsK
KwkJODkzQzQ4MzUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MjkxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgz
NjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyQTEyNDk1NDcyMDAyQjNE
ODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0ODM3MTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01G
aWxlU3lzdGVtU3luYy5oICovOyB9OworCQk4OTNDNDgzODEyNDk1NDcyMDAyQjNEODYgLyogSlNF
bnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5jcHAg
Ki87IH07CisJCTg5M0M0ODM5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyRDEy
NDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgzQTEy
NDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50
cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4M0IxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlT
eW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTND
NDgyRjEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4M0Mx
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgzMDEyNDk1NDcyMDAyQjNEODYgLyog
SlNGaWxlRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRmlsZUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODkzQzQ4MzExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDg1MzEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4NTIx
MjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCAqLzsgfTsKIAkJODk4Nzg1
NTIxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJEQSAv
KiBEaXJlY3RvcnlFbnRyeS5jcHAgKi87IH07CiAJCTg5ODc4NTUzMTIyQ0EwNjQwMDNBQUJEQSAv
KiBEaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi87
IH07CiAJCTg5ODc4NTU0MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1M0IxMjJD
QTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CkBAIC04NDYzLDYgKzg0
OTMsMzYgQEAKIAkJODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxi
YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0NBMTIzRUVCQTIwMDJC
M0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjAxMjQ4QkQzOTAwMkIz
RDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGMTEy
NDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjIx
MjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHBhdGggPSBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDdGMzEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNl
LmNwcDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3Rl
bUJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3RlbUJh
c2UuaDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1T
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0
ZW1TeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNzEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5
c3RlbVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJy
YXlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QXJy
YXlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJh
eVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlBcnJheVN5bmMu
aDsgcGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ3RkExMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeUJhc2UuY3BwOyBwYXRoID0gZmls
ZWFwaS9FbnRyeUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdG
QjEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEVudHJ5QmFzZS5oOyBwYXRoID0gZmlsZWFwaS9FbnRyeUJhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5
U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeVN5bmMu
Y3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OTNDNDdGRDEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlTeW5jLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9FbnRy
eVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkUxMjQ4QkQzOTAw
MkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRmlsZUVudHJ5U3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGRjEyNDhCRDM5MDAyQjNE
ODYgLyogRmlsZUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
aWxlRW50cnlTeW5jLmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5j
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0b3J5RW50
cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjcxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRGlyZWN0b3J5RW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5
bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MjkxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MkExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3Rl
bVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01GaWxl
U3lzdGVtU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJCMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODkzQzQ4MkMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeUFycmF5U3lu
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJEMTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkz
QzQ4MkUxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODkzQzQ4MkYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRW50cnlTeW5jLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODMwMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRy
eVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlRW50
cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzExMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0ZpbGVFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODkzQzQ4NTIxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlTeW5jQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRBIC8qIERp
cmVjdG9yeUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERp
cmVjdG9yeUVudHJ5LmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGly
ZWN0b3J5RW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5
RW50cnkuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFk
ZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTQxNjEsMTggKzE0MjIxLDI4IEBACiAJCQkJODlDRDAyOTIxMUM4
NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLywKIAkJCQk4OTg3ODU4NjEyMkNBMjZB
MDAzQUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1ODcxMjJDQTI2
QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTNDNDgyNjEyNDk1NDcy
MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODI3MTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTg4
MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeVJlYWRlci5jcHAgKi8sCiAJCQkJODk4Nzg1
ODkxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkzQzQ4
MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8sCisJCQkJ
ODkzQzQ4MjkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAog
CQkJCTg5ODc4NThFMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0RPTUZpbGVTeXN0ZW0uY3BwICovLAog
CQkJCTg5ODc4NThGMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0RPTUZpbGVTeXN0ZW0uaCAqLywKKwkJ
CQk4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5jcHAgKi8s
CisJCQkJODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAq
LywKIAkJCQk4OTg3ODU5MDEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyaWVzQ2FsbGJhY2suY3Bw
ICovLAogCQkJCTg5ODc4NTkxMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJpZXNDYWxsYmFjay5o
ICovLAogCQkJCTg5ODc4NTkyMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5LmNwcCAqLywKIAkJ
CQk4OTg3ODU5MzEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeS5oICovLAogCQkJCTg5ODc4NTk0
MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5QXJyYXkuY3BwICovLAogCQkJCTg5ODc4NTk1MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5QXJyYXkuaCAqLywKKwkJCQk4OTNDNDgyQzEyNDk1NDcy
MDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MkQxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLywKIAkJCQk4OTg3ODU5NjEyMkNBMkE3
MDAzQUFCREEgLyogSlNFbnRyeUNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTg3ODU5NzEyMkNBMkE3
MDAzQUFCREEgLyogSlNFbnRyeUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ4MkUxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNE
ODYgLyogSlNFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODU5ODEyMkNBMkE3MDAzQUFCREEgLyog
SlNFcnJvckNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTg3ODU5OTEyMkNBMkE3MDAzQUFCREEgLyog
SlNFcnJvckNhbGxiYWNrLmggKi8sCiAJCQkJQkMwMEYwMTAwRTBBMTg5NTAwRkQwNEUzIC8qIEpT
RmlsZS5jcHAgKi8sCkBAIC0xNDE4MSw2ICsxNDI1MSw4IEBACiAJCQkJODkzQzQ3QjYxMjM4QTA5
OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1OUExMjJDQTJBNzAw
M0FBQkRBIC8qIEpTRmlsZUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODU5QjEyMkNBMkE3MDAzQUFC
REEgLyogSlNGaWxlRW50cnkuaCAqLywKKwkJCQk4OTNDNDgzMDEyNDk1NDcyMDAyQjNEODYgLyog
SlNGaWxlRW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyog
SlNGaWxlRW50cnlTeW5jLmggKi8sCiAJCQkJMkUzQkMwQzgxMTdEM0UwODAwQjk0MDlBIC8qIEpT
RmlsZUVycm9yLmNwcCAqLywKIAkJCQkyRTNCQzBDOTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxl
RXJyb3IuaCAqLywKIAkJCQk4OTg3ODVFRTEyMkUxRTg3MDAzQUFCREEgLyogSlNGaWxlRXhjZXB0
aW9uLmNwcCAqLywKQEAgLTE0NzMyLDI0ICsxNDgwNCw0MCBAQAogCQkJCTk3NkQ2QzYwMTIyQjhB
M0QwMDFGRDFGNyAvKiBCbG9iVVJMLmggKi8sCiAJCQkJODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRB
IC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyog
RGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGMTEyNDhCRDM5MDAyQjNEODYg
LyogRGlyZWN0b3J5RW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRB
IC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi8sCiAJCQkJODk4Nzg1M0MxMjJDQTA2NDAwM0FBQkRB
IC8qIERpcmVjdG9yeVJlYWRlci5oICovLAorCQkJCTg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4NiAv
KiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGMzEyNDhCRDM5MDAyQjNE
ODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAogCQkJCTg5ODc4NTNEMTIyQ0EwNjQwMDNB
QUJEQSAvKiBET01GaWxlUGF0aC5jcHAgKi8sCiAJCQkJODk4Nzg1M0UxMjJDQTA2NDAwM0FBQkRB
IC8qIERPTUZpbGVQYXRoLmggKi8sCiAJCQkJODk4Nzg1M0YxMjJDQTA2NDAwM0FBQkRBIC8qIERP
TUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5ODc4NTQwMTIyQ0EwNjQwMDNBQUJEQSAvKiBET01G
aWxlU3lzdGVtLmggKi8sCisJCQkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVT
eXN0ZW1CYXNlLmNwcCAqLywKKwkJCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbUJhc2UuaCAqLywKKwkJCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Y3MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01G
aWxlU3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTQxMTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRy
aWVzQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU0MjEyMkNBMDY0MDAzQUFCREEgLyogRW50cnku
Y3BwICovLAogCQkJCTg5ODc4NTQzMTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeS5oICovLAogCQkJ
CTg5ODc4NTQ0MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmNwcCAqLywKIAkJCQk4OTg3
ODU0NTEyMkNBMDY0MDAzQUFCREEgLyogRW50cnlBcnJheS5oICovLAorCQkJCTg5M0M0N0Y4MTI0
OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjkxMjQ4
QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi8sCisJCQkJODkzQzQ3RkExMjQ4QkQz
OTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5jcHAgKi8sCisJCQkJODkzQzQ3RkIxMjQ4QkQzOTAwMkIz
RDg2IC8qIEVudHJ5QmFzZS5oICovLAogCQkJCTg5ODc4NTQ2MTIyQ0EwNjQwMDNBQUJEQSAvKiBF
bnRyeUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5
U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5o
ICovLAogCQkJCTg5ODc4NTQ3MTIyQ0EwNjQwMDNBQUJEQSAvKiBFcnJvckNhbGxiYWNrLmggKi8s
CiAJCQkJOTc2RDZDNjExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuY3BwICovLAogCQkJCTk3NkQ2
QzYyMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlLmggKi8sCiAJCQkJODkzQzQ3QTUxMjM4OTA4QjAw
MkIzRDg2IC8qIEZpbGVDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQ4MTIyQ0EwNjQwMDNBQUJE
QSAvKiBGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTQ5MTIyQ0EwNjQwMDNBQUJEQSAvKiBG
aWxlRW50cnkuaCAqLywKKwkJCQk4OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5
U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5
bmMuaCAqLywKIAkJCQk5NzZENkM2NDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUVycm9yLmggKi8s
CiAJCQkJMkVERjM2OUUxMjJDOTRDODAwMkY3RDRFIC8qIEZpbGVFeGNlcHRpb24uaCAqLywKIAkJ
CQk5NzZENkM2NjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUxpc3QuY3BwICovLApAQCAtMTY2NzUs
NiArMTY3NjMsNyBAQAogCQkJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1v
dGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyog
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk4OTNDNDdERTEyM0VG
NEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8sCisJCQkJODkzQzQ4
MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCAqLywK
IAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8s
CiAJCQkJMUFDMjI2MTYwREI2OUY3NDAwODlCNjY5IC8qIEpTRE9NQXBwbGljYXRpb25DYWNoZUN1
c3RvbS5jcHAgKi8sCiAJCQkJMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURh
dGFDdXN0b20uY3BwICovLApAQCAtMTY2ODYsNiArMTY3NzUsNyBAQAogCQkJCTY1MkZCQkJCMERF
MjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLAogCQkJCUJDMkVENTU0MEM2
QjlCRDMwMDkyMEJGRiAvKiBKU0VsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCTg5M0M0N0NBMTIz
RUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLywKKwkJCQk4OTNDNDg1MjEyNDk5
QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovLAogCQkJCUJDRUZBRjREMEMz
MTdFNjkwMEZBODFGNiAvKiBKU0V2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI4MDExQzVE
MkI0MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzIx
MDUwOEQ5QzAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5Q3VzdG9tLmNwcCAqLywKQEAgLTIwOTIy
LDYgKzIxMDEyLDIwIEBACiAJCQkJNDlCNjlFNjAxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlu
bkNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlCNjlFNjQxMjU0RkVFRDAwN0Q1N0VC
IC8qIExvb3BCbGlubk1hdGhVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlCNjlFNjYxMjU0
RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlublRleHR1cmVDb29yZHMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg5M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTg5M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFk
ZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwNTEyNDhCRDNBMDAyQjNEODYgLyog
RE9NRmlsZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODA3MTI0OEJEM0Ew
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4
MDkxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4OTNDNDgwRDEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50
cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNTEyNDk1NDcyMDAyQjNEODYgLyog
SlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNzEyNDk1
NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3lu
Yy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzQ0Nyw2ICsyMzU1MSwyMiBAQAogCQkJCTQ5QjY5RTVF
MTI1NEZFRUQwMDdENTdFQiAvKiBMb29wQmxpbm5DbGFzc2lmaWVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5QjY5RTYzMTI1NEZFRUQwMDdENTdFQiAvKiBMb29wQmxpbm5NYXRoVXRpbHMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDlCNjlFNjUxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlu
blRleHR1cmVDb29yZHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDAxMjQ4QkQzQTAw
MkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTND
NDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4OTNDNDgwNDEyNDhCRDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDYxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1TeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA4MTI0OEJEM0EwMDJC
M0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwQTEy
NDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0
ODBDMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJODkzQzQ4MjExMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5j
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODMyMTI0OTU0NzIwMDJCM0Q4NiAv
KiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzNDEy
NDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODM2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODM4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5
QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODNBMTI0OTU0NzIwMDJCM0Q4
NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzQzEyNDk1NDcy
MDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0
ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmND
dXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWY4NjhjZThhMGFiYzBlZjZjNjI3Y2VlYWZhOWFkZDlmZGZjMTEx
ZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRy
eVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3luYy5o
IgorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNr
LmgiCisjaW5jbHVkZSAiSlNFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNGaWxlRW50cnlT
eW5jLmgiCisjaW5jbHVkZSAiSlNGbGFncy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1
ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
RGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmMq
PihpbXBsKCkpOworICAgIGNvbnN0IFN0cmluZyYgcGF0aCA9IHZhbHVlVG9TdHJpbmdXaXRoVW5k
ZWZpbmVkT3JOdWxsQ2hlY2soZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBS
ZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghZXhlYy0+YXJndW1lbnQoMSkuaXNOdWxsKCkg
JiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhlYy0+YXJndW1lbnQoMSku
aXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJpdHMoJkpTRmxhZ3M6OnNfaW5m
bykpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50KDEpLmdldE9i
amVjdCgpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAgICAgSlNWYWx1
ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImNyZWF0ZSIp
KTsKKyAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0ZS50b0Jvb2xlYW4oZXhlYykpOwor
ICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmll
cihleGVjLCAiZXhjbHVzaXZlIikpOworICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpzRXhj
bHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CisgICAgfSBlbHNlCisgICAgICAgIGZsYWdzID0gdG9G
bGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
KyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGOjpnZXRQdHIoaW1wLT5nZXRGaWxlKHBhdGgsIGZsYWdzLCBlYykpKTsKKyAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0pTVmFsdWUg
SlNEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5
bmMqPihpbXBsKCkpOworICAgIGNvbnN0IFN0cmluZyYgcGF0aCA9IHZhbHVlVG9TdHJpbmdXaXRo
VW5kZWZpbmVkT3JOdWxsQ2hlY2soZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAg
ICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghZXhlYy0+YXJndW1lbnQoMSkuaXNOdWxs
KCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhlYy0+YXJndW1lbnQo
MSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJpdHMoJkpTRmxhZ3M6OnNf
aW5mbykpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50KDEpLmdl
dE9iamVjdCgpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAgICAgSlNW
YWx1ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImNyZWF0
ZSIpKTsKKyAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0ZS50b0Jvb2xlYW4oZXhlYykp
OworICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRp
ZmllcihleGVjLCAiZXhjbHVzaXZlIikpOworICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpz
RXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CisgICAgfSBlbHNlCisgICAgICAgIGZsYWdzID0g
dG9GbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgdGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURjo6Z2V0UHRyKGltcC0+Z2V0RGlyZWN0b3J5KHBhdGgsIGZsYWdzLCBlYykpKTsKKyAgICBz
ZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJmOTZhZDg3
YTcwYWNhYmZhM2M1ZTExNDU3OTdmMzA4MjFmOTI0YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJK
U0VudHJ5U3luYy5oIgorCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiSlNET01C
aW5kaW5nLmgiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJK
U0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorCit1c2luZyBu
YW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgdG9KUyhFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVudHJ5U3luYyog
ZW50cnkpCit7CisgICAgaWYgKCFlbnRyeSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisg
ICAgaWYgKGVudHJ5LT5pc0ZpbGUoKSkKKyAgICAgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBw
ZXI8SlNGaWxlRW50cnlTeW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEZpbGVF
bnRyeVN5bmMqPihlbnRyeSkpOworCisgICAgQVNTRVJUKGVudHJ5LT5pc0RpcmVjdG9yeSgpKTsK
KyAgICByZXR1cm4gZ2V0RE9NT2JqZWN0V3JhcHBlcjxKU0RpcmVjdG9yeUVudHJ5U3luYz4oZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmMqPihlbnRyeSkp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9T
WVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVj
dG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZjOGQzMTM5YzExZGU2NmZiOWM5
MTJjZTVjOTNkYzVkZmIyYmQyNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDEzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5U3luYy5oIgor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5j
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgor
I2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4RW50cnlDYWxsYmFjay5o
IgorI2luY2x1ZGUgIlY4RXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4RmxhZ3MuaCIKKyNp
bmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9yeUVudHJ5
U3luYy5nZXREaXJlY3RvcnkiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IFY4RGly
ZWN0b3J5RW50cnlTeW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTVFJJTkdfVE9f
VjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPFdpdGhVbmRlZmluZWRPck51
bGxDaGVjaz4sIHBhdGgsIGFyZ3NbMF0pOworICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDEpIHsK
KyAgICAgICAgaW1wLT5nZXREaXJlY3RvcnkocGF0aCk7CisgICAgICAgIHJldHVybiB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICB9CisgICAgUmVmUHRyPEZsYWdzPiBmbGFnczsKKyAgICBp
ZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkgJiYg
IVY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pKSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9D
Syh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCBvYmplY3QsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1sxXSkpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAg
ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhDcmVhdGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5n
OjpOZXcoImNyZWF0ZSIpKTsKKyAgICAgICAgaWYgKCF2OENyZWF0ZS5Jc0VtcHR5KCkgJiYgIWlz
VW5kZWZpbmVkT3JOdWxsKHY4Q3JlYXRlKSkgeworICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NL
KGJvb2wsIGlzQ3JlYXRlLCB2OENyZWF0ZS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAg
ZmxhZ3MtPnNldENyZWF0ZShpc0NyZWF0ZSk7CisgICAgICAgIH0KKyAgICAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdjhFeGNsdXNpdmUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImV4
Y2x1c2l2ZSIpKTsKKyAgICAgICAgaWYgKCF2OEV4Y2x1c2l2ZS5Jc0VtcHR5KCkgJiYgIWlzVW5k
ZWZpbmVkT3JOdWxsKHY4RXhjbHVzaXZlKSkgeworICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NL
KGJvb2wsIGlzRXhjbHVzaXZlLCB2OEV4Y2x1c2l2ZS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAg
ICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShpc0V4Y2x1c2l2ZSk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBFWENFUFRJT05fQkxPQ0soRmxhZ3MqLCB0bXBfZmxhZ3MsIFY4Rmxh
Z3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhGbGFnczo6dG9OYXRpdmUodjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwKTsKKyAgICAgICAgZmxhZ3MgPSB0bXBfZmxh
Z3M7CisgICAgfQorICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7Cisg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1sy
XS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCisg
ICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAg
IHN1Y2Nlc3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0sIGdldFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJnc1szXS0+
SXNOdWxsKCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFhcmdz
WzNdLT5Jc09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNN
QVRDSF9FUlIpOworICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpjcmVh
dGUoYXJnc1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgaW1w
LT5nZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
ayk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9yeUVudHJ5
U3luYy5nZXRGaWxlIik7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBWOERpcmVjdG9y
eUVudHJ5U3luYzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU1RSSU5HX1RPX1Y4UEFS
QU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjxXaXRoVW5kZWZpbmVkT3JOdWxsQ2hl
Y2s+LCBwYXRoLCBhcmdzWzBdKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CisgICAg
ICAgIGltcC0+Z2V0RmlsZShwYXRoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghaXNVbmRl
ZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAhVjhGbGFnczo6
SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAgICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdz
WzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAgICAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3Jl
YXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRlLklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRP
ck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXND
cmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAgICBmbGFncy0+c2V0
Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQorICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVl
PiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhjbHVzaXZlIikp
OworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51
bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNF
eGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAgICBmbGFn
cy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7Cisg
ICAgICAgRVhDRVBUSU9OX0JMT0NLKEZsYWdzKiwgdG1wX2ZsYWdzLCBWOEZsYWdzOjpIYXNJbnN0
YW5jZShhcmdzWzFdKSA/IFY4RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1sxXSkpIDogMCk7CisgICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7CisgICAgfQor
ICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmlu
ZWQoKSkgeworICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCisgICAgICAgICAgICBy
ZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHN1Y2Nlc3NDYWxs
YmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0sIGdldFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJnc1szXS0+SXNOdWxsKCkgJiYg
IWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFhcmdzWzNdLT5Jc09iamVj
dCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIpOwor
ICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpjcmVhdGUoYXJnc1szXSwg
Z2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgaW1wLT5nZXRGaWxlKHBh
dGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIHJldHVybiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKworCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOThkZjE5YjBiMTNl
MTk0ZWJhYjY3MWU2ZjY0ZTBhMThmYzA3YjIyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJWOEF0dHIuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcu
aCIKKyNpbmNsdWRlICJWOEJpbmRpbmdTdGF0ZS5oIgorI2luY2x1ZGUgIlY4RGlyZWN0b3J5RW50
cnlTeW5jLmgiCisjaW5jbHVkZSAiVjhFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOEZpbGVFbnRy
eVN5bmMuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEVudHJ5
U3luYyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgp
OworCisgICAgaWYgKGltcGwtPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNf
Y2FzdDxGaWxlRW50cnlTeW5jKj4oaW1wbCkpOworCisgICAgQVNTRVJUKGltcGwtPmlzRGlyZWN0
b3J5KCkpOworICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5U3luYyo+
KGltcGwpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0u
Y3BwIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IGIxYjFjZGMxMWU2
ZGU1M2ExZTg1YmViZTNjNTZiM2ZlZThkNDQwZGQuLjE3NDI4NDJkYTMxZjllMGRjZGVmZTgxYmEz
M2U3YzYxMTJjOWQ4OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKQEAgLTU0LDEzICs1
NCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0
ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQ
YXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQotICAgIDogQWN0aXZl
RE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCi0gICAgLCBtX25hbWUobmFtZSkKLSAgICAsIG1fYXN5
bmNGaWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKLXsKLX0KLQotRE9NRmlsZVN5c3RlbTo6fkRP
TUZpbGVTeXN0ZW0oKQorICAgIDogRE9NRmlsZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNGaWxlU3lz
dGVtKQorICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbS5oCmluZGV4IDg0OThlNzViNWY0NDZlM2VmZTliNzhkNjgyN2VkMzJmYWNk
NGVmNzIuLjkwOGMxNmM5NDNlY2FkZjY5MTIzMmM2MDQ0YWRjZWFkZDU0OWJjYWIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9maWxlYXBp
L0RPTUZpbGVTeXN0ZW0uaApAQCAtMzUsNiArMzUsNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9N
T2JqZWN0LmgiCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRE9NRmls
ZVN5c3RlbUJhc2UuaCIKICNpbmNsdWRlICJGbGFncy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtNTQsMTYgKzU1
LDEzIEBAIGNsYXNzIEZpbGVXcml0ZXJDYWxsYmFjazsKIGNsYXNzIE1ldGFkYXRhQ2FsbGJhY2s7
CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiAKLWNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgUmVm
Q291bnRlZDxET01GaWxlU3lzdGVtPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBE
T01GaWxlU3lzdGVtIDogcHVibGljIERPTUZpbGVTeXN0ZW1CYXNlLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtKGNvbnRleHQsIG5hbWUsIGFz
eW5jRmlsZVN5c3RlbSkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfkRPTUZpbGVTeXN0ZW0oKTsK
LQotICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogICAg
IFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnk+IHJvb3QoKTsKIAogICAgIC8vIEFjdGl2ZURPTU9i
amVjdCBtZXRob2RzLgpAQCAtOTYsOCArOTQsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERP
TUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFtZSwg
UGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+KTsKIAotICAgIEFzeW5jRmlsZVN5c3RlbSogYXN5
bmNGaWxlU3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9hc3luY0ZpbGVTeXN0ZW0uZ2V0KCk7IH0K
LQogICAgIC8vIEEgaGVscGVyIHRlbXBsYXRlIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2sgdGFzay4K
ICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHRvIGEgbW9yZSBnZW5lcmljIHBsYWNlLgogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBDQiwgdHlwZW5hbWUgQ0JBcmc+CkBAIC0xMTgsOSArMTE0LDYgQEAg
cHJpdmF0ZToKICAgICAgICAgUmVmUHRyPENCPiBtX2NhbGxiYWNrOwogICAgICAgICBSZWZQdHI8
Q0JBcmc+IG1fY2FsbGJhY2tBcmc7CiAgICAgfTsKLQotICAgIFN0cmluZyBtX25hbWU7Ci0gICAg
bXV0YWJsZSBPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBtX2FzeW5jRmlsZVN5c3RlbTsKIH07CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBDQiwgdHlwZW5hbWUgQ0JBcmc+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW1CYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjk4ODJkMTYwYWQ5ZThiNDRiZjUzNGJhM2Ji
MWI1MjMyM2EyNzIxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW1CYXNlLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNp
bmNsdWRlICJET01GaWxlUGF0aC5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitET01GaWxlU3lzdGVtQmFzZTo6RE9NRmlsZVN5c3RlbUJhc2UoY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lz
dGVtKQorICAgIDogbV9uYW1lKG5hbWUpCisgICAgLCBtX2FzeW5jRmlsZVN5c3RlbShhc3luY0Zp
bGVTeXN0ZW0pCit7Cit9CisKK0RPTUZpbGVTeXN0ZW1CYXNlOjp+RE9NRmlsZVN5c3RlbUJhc2Uo
KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2Uu
aCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3MTRk
OGQxN2FjMWNiMTk0ODA5YjQzNDhhMjE1YWRlYmVkODExNjcKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaApAQCAtMCwwICsxLDY3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBET01GaWxlU3lzdGVtQmFzZV9oCisjZGVmaW5lIERPTUZpbGVTeXN0ZW1CYXNlX2gKKworI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEEg
Y29tbW9uIGJhc2UgY2xhc3MgZm9yIERPTUZpbGVTeXN0ZW0gYW5kIERPTUZpbGVTeXN0ZW1TeW5j
LgorY2xhc3MgRE9NRmlsZVN5c3RlbUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxET01GaWxlU3lz
dGVtQmFzZT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1C
YXNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3Rl
bT4gYXN5bmNGaWxlU3lzdGVtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBE
T01GaWxlU3lzdGVtQmFzZShuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKKyAgICB9CisgICAgdmly
dHVhbCB+RE9NRmlsZVN5c3RlbUJhc2UoKTsKKworICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIEFzeW5jRmlsZVN5c3RlbSogYXN5bmNGaWxlU3lz
dGVtKCkgY29uc3QgeyByZXR1cm4gbV9hc3luY0ZpbGVTeXN0ZW0uZ2V0KCk7IH0KKworcHJvdGVj
dGVkOgorICAgIERPTUZpbGVTeXN0ZW1CYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0
cjxBc3luY0ZpbGVTeXN0ZW0+KTsKKyAgICBmcmllbmQgY2xhc3MgRE9NRmlsZVN5c3RlbVN5bmM7
CisKKyAgICBTdHJpbmcgbV9uYW1lOworICAgIG11dGFibGUgT3duUHRyPEFzeW5jRmlsZVN5c3Rl
bT4gbV9hc3luY0ZpbGVTeXN0ZW07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBET01GaWxlU3lzdGVtQmFz
ZV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGIv
V2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGFmYzFk
ZGVjZDgxZTcyNDlkMzVkYzJkMjRmMjUzNTMyNzkwZjc1Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcApAQCAtMCwwICsxLDYyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1TeW5jLmgiCisKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlUGF0aC5oIgorI2luY2x1ZGUgIkRp
cmVjdG9yeUVudHJ5U3luYy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8
RE9NRmlsZVN5c3RlbVN5bmM+IERPTUZpbGVTeXN0ZW1TeW5jOjpjcmVhdGUoRE9NRmlsZVN5c3Rl
bUJhc2UqIGZpbGVTeXN0ZW0pCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lz
dGVtU3luYyhmaWxlU3lzdGVtLT5tX25hbWUsIGZpbGVTeXN0ZW0tPm1fYXN5bmNGaWxlU3lzdGVt
LmxlYWtQdHIoKSkpOworfQorCitET01GaWxlU3lzdGVtU3luYzo6RE9NRmlsZVN5c3RlbVN5bmMo
Y29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxl
U3lzdGVtKQorICAgIDogRE9NRmlsZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNGaWxlU3lzdGVtKQor
eworfQorCitET01GaWxlU3lzdGVtU3luYzo6fkRPTUZpbGVTeXN0ZW1TeW5jKCkKK3sKK30KKwor
UGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IERPTUZpbGVTeXN0ZW1TeW5jOjpyb290KCkK
K3sKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVhdGUodGhpcywgRE9NRmlsZVBh
dGg6OnJvb3QpOworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVf
U1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmgg
Yi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWNmNDYx
NDliNzhiODQ3MDhmNTdlNDM3OTNjODE1ZTg2M2FlNGUyCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
RE9NRmlsZVN5c3RlbVN5bmNfaAorI2RlZmluZSBET01GaWxlU3lzdGVtU3luY19oCisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5U3luYzsKKwordHlwZWRl
ZiBpbnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3MgRE9NRmlsZVN5c3RlbVN5bmMgOiBwdWJsaWMg
RE9NRmlsZVN5c3RlbUJhc2UgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW1TeW5jPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBET01GaWxlU3lzdGVtU3luYyhuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKKyAgICB9
CisKKyAgICAvLyBUaGlzIGNhbGwgaXMgZGVzdHJ1Y3RpdmU7IHRoZSBhcmd1bWVudCBmaWxlU3lz
dGVtIHdpbGwgYmVjb21lIHVudXNhYmxlLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVT
eXN0ZW1TeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0pOworCisgICAg
dmlydHVhbCB+RE9NRmlsZVN5c3RlbVN5bmMoKTsKKworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5
RW50cnlTeW5jPiByb290KCk7CisKK3ByaXZhdGU6CisgICAgRE9NRmlsZVN5c3RlbVN5bmMoY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOworfTsKKworfSAv
LyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8v
IERPTUZpbGVTeXN0ZW1TeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI1MWQ4Y2NkNjIwMGE3NGFhZWEwZTQyNzY0NzkyYzZhZjYxN2Y5NjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsCkBAIC0w
LDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29u
ZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBET01G
aWxlU3lzdGVtU3luYyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERpcmVjdG9yeUVudHJ5U3luYyByb290Owor
ICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5j
LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4NmRkNzgyNWU5MDI5NWVhMDM3NWZhZjBjZjc5NjkzMjlhMjY4MTQKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDY5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3lu
Yy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIK
KyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0Rp
cmVjdG9yeUVudHJ5U3luYzo6RGlyZWN0b3J5RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRW50cnlTeW5jKGZpbGVT
eXN0ZW0sIGZ1bGxQYXRoKQoreworfQorCitQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlclN5bmM+
IERpcmVjdG9yeUVudHJ5U3luYzo6Y3JlYXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKQoreworICAg
IHJldHVybiBEaXJlY3RvcnlSZWFkZXJTeW5jOjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Z1bGxQ
YXRoKTsKK30KKworUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6
OmdldEZpbGUoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUm
KQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4g
RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0
cjxGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1l
bnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit9IC8vIG5h
bWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5U3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyNTk1M2E2ZWQ5ZmEyODljYWE0OWJkZjgxMjA2
OGM4MjFjMjg0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGlyZWN0b3J5RW50cnlTeW5jX2gK
KyNkZWZpbmUgRGlyZWN0b3J5RW50cnlTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
KworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkZsYWdzLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0
b3J5UmVhZGVyU3luYzsKK2NsYXNzIEZpbGVFbnRyeVN5bmM7CisKK2NsYXNzIERpcmVjdG9yeUVu
dHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5bmMgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERpcmVjdG9yeUVudHJ5U3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lz
dGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBEaXJlY3RvcnlFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9
CisgICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
CisgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBjcmVhdGVSZWFkZXIoRXhjZXB0
aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gZ2V0RmlsZShjb25zdCBT
dHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFz
c1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBh
dGgsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6CisgICAg
ZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMoRE9NRmlsZVN5
c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAv
LyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8v
IERpcmVjdG9yeUVudHJ5U3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNjNzk2YmZjNzNkM2U4ZWE5N2MzMjc1ZDM4NjAxMDc0MzBiMmI0ZGIKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbApA
QCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKKyAgICAgICAgR2VuZXJhdGVUb0pTLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0g
RGlyZWN0b3J5RW50cnlTeW5jIDogRW50cnlTeW5jIHsKKyAgICAgICAgRGlyZWN0b3J5UmVhZGVy
U3luYyBjcmVhdGVSZWFkZXIoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3Vz
dG9tXSBGaWxlRW50cnlTeW5jIGdldEZpbGUoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051
bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhj
ZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gRGlyZWN0b3J5RW50cnlTeW5jIGdldERpcmVjdG9y
eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgs
IGluIEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgYi9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODdkNTZiYzZkOWZm
MDliYTc0ZmJmNmIxN2U2MGY0ODZkZDIxNjI0OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlclN5bmMuaCIKKworI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAi
RW50cnlBcnJheVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJlY3RvcnlSZWFk
ZXJTeW5jOjpEaXJlY3RvcnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogbV9maWxlU3lzdGVtKGZpbGVTeXN0ZW0p
CisgICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQoreworfQorCitQYXNzUmVmUHRyPEVudHJ5QXJy
YXlTeW5jPiBEaXJlY3RvcnlSZWFkZXJTeW5jOjpyZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJikK
K3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXJTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlODMxNjFkNjdiY2NlN2E4MzM2NDljMDJjYmYyNzgxZjk2YjI4YzEKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCkBAIC0wLDAgKzEs
NjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIERpcmVjdG9yeVJlYWRlclN5bmNfaAorI2RlZmluZSBEaXJlY3RvcnlSZWFk
ZXJTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5QXJy
YXlTeW5jLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRGlyZWN0b3J5UmVhZGVyU3luYyA6IHB1YmxpYyBSZWZDb3VudGVkPERp
cmVjdG9yeVJlYWRlclN5bmM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJl
Y3RvcnlSZWFkZXJTeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERpcmVjdG9yeVJlYWRlclN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisKKyAg
ICBQYXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiByZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJik7
CisKK3ByaXZhdGU6CisgICAgRGlyZWN0b3J5UmVhZGVyU3luYyhET01GaWxlU3lzdGVtQmFzZSog
ZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CisKKyAgICBET01GaWxlU3lzdGVt
QmFzZSogbV9maWxlU3lzdGVtOworICAgIFN0cmluZyBtX2Z1bGxQYXRoOworfTsKKworfSAvLyBu
YW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERp
cmVjdG9yeVJlYWRlclN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFhMzk5MjgzMjY3ZjhhNWJlYTJjZWYwZTY0ODdhMWZmOGQ2ODMyNjUKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwK
QEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAg
ICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBd
IERpcmVjdG9yeVJlYWRlclN5bmMgeworICAgICAgICBFbnRyeUFycmF5U3luYyByZWFkRW50cmll
cygpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJh
eVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkYmYyZGNkZTdlYTE0Yzc5MWE5YjdlN2Q2OTYwOThlNDQ5
ODkzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMu
Y3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnlB
cnJheVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitFbnRyeUFycmF5U3luYzo6RW50cnlBcnJheVN5bmMoKQoreworfQorCitFbnRyeVN5
bmMqIEVudHJ5QXJyYXlTeW5jOjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlm
IChpbmRleCA+PSBtX2VudHJpZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gbV9lbnRyaWVzW2luZGV4XS5nZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ZTEzMTJmZDViMzlmNDRiMTJmYzgwMmUxNmM3MWI3ZWMzZTdjMjdkCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgKQEAgLTAsMCAr
MSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgRW50cnlBcnJheVN5bmNfaAorI2RlZmluZSBFbnRyeUFycmF5U3luY19o
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRW50cnlBcnJheTsKKworY2xhc3MgRW50cnlB
cnJheVN5bmMgOiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeUFycmF5U3luYz4geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiBjcmVhdGUoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFbnRyeUFycmF5U3luYygpKTsKKyAgICB9CisKKyAg
ICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXMuc2l6ZSgpOyB9Cisg
ICAgRW50cnlTeW5jKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICB2b2lkIHNldCh1
bnNpZ25lZCBpbmRleCwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IGVudHJ5KTsKKworICAgIGJvb2wg
aXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fZW50cmllcy5pc0VtcHR5KCk7IH0KKyAgICB2b2lk
IGNsZWFyKCkgeyBtX2VudHJpZXMuY2xlYXIoKTsgfQorICAgIHZvaWQgYXBwZW5kKFBhc3NSZWZQ
dHI8RW50cnlTeW5jPiBlbnRyeSkgeyBtX2VudHJpZXMuYXBwZW5kKGVudHJ5KTsgfQorCitwcml2
YXRlOgorICAgIEVudHJ5QXJyYXlTeW5jKCk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEVudHJ5U3lu
Yz4gPiBtX2VudHJpZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeUFycmF5U3luY19oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsIGIvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDU0ZjMzZWVlOWQyNzRkMmI2Y2Iw
ZTg4OWNjMzY4ZDYxYmI1M2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5QXJyYXlTeW5jLmlkbApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBIYXNJ
bmRleEdldHRlciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIEVudHJ5QXJyYXlTeW5j
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAg
ICAgICBFbnRyeVN5bmMgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7Cisg
ICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwIGIvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5QmFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM2NDY2ZDJmNzZkZTM0ZDc2
NzcxN2M5ZDQyNDQ1ZDgyMjdjZDc1NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9FbnRyeUJhc2UuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRW50cnlCYXNlLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJET01GaWxlUGF0aC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VudHJ5QmFzZTo6RW50
cnlCYXNlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQ
YXRoKQorICAgIDogbV9maWxlU3lzdGVtKGZpbGVTeXN0ZW0pCisgICAgLCBtX2Z1bGxQYXRoKGZ1
bGxQYXRoKQorICAgICwgbV9uYW1lKERPTUZpbGVQYXRoOjpnZXROYW1lKGZ1bGxQYXRoKSkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5oIGIvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5QmFzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3MDhjNzI3MzNlM2ZlMDNjOTlhZDdjOGMz
NmFlYzcyNzYzNDRhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlC
YXNlLmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRW50cnlCYXNlX2gKKyNkZWZpbmUgRW50cnlC
YXNlX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUZpbGVTeXN0ZW1CYXNl
OworY2xhc3MgRW50cnlTeW5jOworCisvLyBBIGNvbW1vbiBiYXNlIGNsYXNzIGZvciBFbnRyeSBh
bmQgRW50cnlTeW5jLgorY2xhc3MgRW50cnlCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnlC
YXNlPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+RW50cnlCYXNlKCkgeyB9CisKKyAgICBET01G
aWxlU3lzdGVtQmFzZSogZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbTsg
fQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwor
ICAgIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxQYXRoOyB9
CisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisKK3By
b3RlY3RlZDoKKyAgICBFbnRyeUJhc2UoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgZnVsbFBhdGgpOworICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CisKKyAg
ICBET01GaWxlU3lzdGVtQmFzZSogbV9maWxlU3lzdGVtOworICAgIFN0cmluZyBtX2Z1bGxQYXRo
OworICAgIFN0cmluZyBtX25hbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeUJhc2VfaApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWFhMzU2Yzc0YjJlNzljYWM0ODA3YzI2ZTc1MWZm
MGQ0OTRmNjM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5j
cHAKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeVN5
bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRo
LmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiTWV0YWRhdGEu
aCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0VudHJ5U3luYzo6RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25z
dCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRW50cnlCYXNlKGZpbGVTeXN0ZW0sIGZ1bGxQYXRo
KQoreworfQorCitQYXNzUmVmUHRyPE1ldGFkYXRhPiBFbnRyeVN5bmM6OmdldE1ldGFkYXRhKEV4
Y2VwdGlvbkNvZGUmKQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPEVudHJ5U3lu
Yz4gRW50cnlTeW5jOjptb3ZlVG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+LCBjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUg
aW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
UGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6Y29weVRvKFBhc3NSZWZQdHI8RGlyZWN0
b3J5RW50cnlTeW5jPiwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7Cisg
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgRW50cnlTeW5jOjpyZW1vdmUoRXhjZXB0aW9uQ29kZSYp
IGNvbnN0Cit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6OmdldFBhcmVu
dCgpIGNvbnN0Cit7CisgICAgLy8gU3luYyB2ZXJpb24gb2YgZ2V0UGFyZW50IGRvZXNuJ3QgdGhy
b3cgZXhjZXB0aW9ucy4KKyAgICBTdHJpbmcgcGFyZW50UGF0aCA9IERPTUZpbGVQYXRoOjpnZXRE
aXJlY3RvcnkoZnVsbFBhdGgoKSk7CisgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5U3luYzo6Y3Jl
YXRlKG1fZmlsZVN5c3RlbSwgcGFyZW50UGF0aCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE3
ZGI2MGNlOTY3MGIzY2VlMWNhYmRkZjg5ZDkxZTkwZjBkODZlYgotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRy
eVN5bmNfaAorI2RlZmluZSBFbnRyeVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5bmMuaCIKKyNpbmNsdWRlICJFbnRyeUJhc2UuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOworY2xh
c3MgTWV0YWRhdGE7CisKK2NsYXNzIEVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeUJhc2UgeworcHVi
bGljOgorICAgIERPTUZpbGVTeXN0ZW1TeW5jKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RE9NRmlsZVN5c3RlbVN5bmMqPihtX2ZpbGVTeXN0ZW0pOyB9CisKKyAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8TWV0YWRhdGE+IGdldE1ldGFkYXRhKEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBtb3ZlVG8oUGFzc1JlZlB0cjxEaXJl
Y3RvcnlFbnRyeVN5bmM+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gY29weVRvKFBhc3NS
ZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoRXhjZXB0aW9uQ29k
ZSYpIGNvbnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IGdldFBhcmVudCgp
IGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgRW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeVN5bmNf
aApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYjdlZTNjMzhjOTU0OTQ4ODM4MzE5OWU3
NjUzYTU5MmZmZjczZjU1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
U3luYy5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgQ3VzdG9tVG9KUywK
KyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIEVudHJ5U3luYyB7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gaXNEaXJlY3Rvcnk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmdWxsUGF0aDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUZpbGVTeXN0ZW1TeW5jIGZpbGVzeXN0ZW07
CisKKyAgICAgICAgTWV0YWRhdGEgZ2V0TWV0YWRhdGEoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24p
OworICAgICAgICBFbnRyeVN5bmMgbW92ZVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJlbnQs
IGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSkg
cmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgRW50cnlTeW5jIGNvcHlUbyhpbiBEaXJl
Y3RvcnlFbnRyeVN5bmMgcGFyZW50LCBpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0
cmluZ10gRE9NU3RyaW5nIG5hbWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIHZv
aWQgcmVtb3ZlKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgRGlyZWN0b3J5RW50
cnlTeW5jIGdldFBhcmVudCgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWRlM2Y4MzgxMDJiNzgyZDRlOTVjZDkzZmJhMjc5ZTk4ZjM5MzgwZQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIK
KworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGaWxl
RW50cnlTeW5jOjpGaWxlRW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBj
b25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQ
YXRoKQoreworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBiL1dlYkNv
cmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyZDJjMzU4YjJiM2JhMjRl
ZmZmMWZlY2M3NjgwMGI4ZjIwNTlmYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZUVudHJ5U3luY19o
CisjZGVmaW5lIEZpbGVFbnRyeVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisj
aW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmlsZUVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5
bmMgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGNyZWF0
ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmlsZUVudHJ5U3luYyhmaWxlU3lz
dGVtLCBmdWxsUGF0aCkpOworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3lu
YzsKKyAgICBGaWxlRW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25z
dCBTdHJpbmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBGaWxlRW50cnlTeW5jX2gKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTA1OTAxMmY4MGE5NjFiMDBmNTg1YWMyNmE5
NzZiNzIwYzkzN2E5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaWRsCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0
aXZlQ29udmVydGVyLAorICAgICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAgIE5vU3RhdGljVGFi
bGVzCisgICAgXSBGaWxlRW50cnlTeW5jIDogRW50cnlTeW5jIHsKKyAgICAgICAgLy8gRklYTUU6
IHRvIGJlIGFkZGVkLgorICAgICAgICAvLyBGaWxlV3JpdGVyU3luYyBjcmVhdGVXcml0ZXIoKTsK
KyAgICAgICAgLy8gRmlsZSBmaWxlKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICB9Owor
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69547</attachid>
            <date>2010-10-01 17:28:31 -0700</date>
            <delta_ts>2010-10-01 23:43:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20101001172829.patch</filename>
            <type>text/plain</type>
            <size>147442</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTFhNjIzNGYxOGJlOGFiNzljMzJlZTAzZTMxZWJiZTJhYWU5NTUwLi5hM2MxYjhm
ZDM2MzdjYmNlYWUwMDcxMGMxYmY1OTEyYmM4YTgwMGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICBBbiBlbnRyeSBtZXRob2QgKHJlcXVlc3RGaWxlU3lzdGVt
U3luYykgaXMgbm90IHlldCBleHBvc2VkIHRvIHRoZQorICAgICAgICBXb3JrZXJDb250ZXh0IGlu
IHRoaXMgcGF0Y2gsIHNvIHdvcmtlcnMvc2ltcGxlLSotc3luYy1leHBlY3RlZC50eHQKKyAgICAg
ICAgaGF2ZSByZWZlcmVuY2UgZXJyb3JzIGZvciBub3cuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qczogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3Jhcnku
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBl
cnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3Vy
Y2VzL2ZzLXRlc3QtcG9zdC5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBBZGRlZCBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycworICAg
ICAgICBub3QgdG8gcnVuIHRoZW0gaW4gcmVndWxhciB0ZXN0IHJ1bnMuCisKIDIwMTAtMDktMzAg
IEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBCdWlsZCBmaXguIE5v
dCByZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9y
ZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTE3NmMwYjY0NzMwNzc0
MDVlMmQzNzNkMjdjNjg2ZDA1Nzk0YWNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzCkBAIC0wLDAgKzEs
MzQgQEAKK2Z1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UobWVzc2Fn
ZSk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaEpTVGVzdCgpCit7CisgICAgcG9zdE1lc3NhZ2UoIkRP
TkUiKTsKK30KKworZnVuY3Rpb24gZGVzY3JpcHRpb24obWVzc2FnZSkKK3sKKyAgICBwb3N0TWVz
c2FnZSgnRGVzY3JpcHRpb246ICcgKyBtZXNzYWdlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmUo
X2EsIF9iKQoreworICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAi
c3RyaW5nIikKKyAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmluZyBhcmd1
bWVudHMiKTsKKyAgdmFyIF9hdiA9IGV2YWwoX2EpOworICB2YXIgX2J2ID0gZXZhbChfYik7Cisg
IGlmIChfYXYgPT09IF9idikKKyAgICBkZWJ1ZygiUEFTUzogIiArIF9hICsgIiBpcyAiICsgX2Ip
OworICBlbHNlCisgICAgZGVidWcoIkZBSUw6ICIgKyBfYSArICIgc2hvdWxkIGJlICIgKyBfYnYg
KyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlw
ZSAiICsgdHlwZW9mIF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVRydWUoX2Ep
IHsgc2hvdWxkQmUoX2EsICJ0cnVlIik7IH0KKworaWYgKHRoaXMuaW1wb3J0U2NyaXB0cyAmJiAh
dGhpcy5yZXF1ZXN0RmlsZVN5c3RlbSkgeworICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMg
RmlsZVN5c3RlbSBBUEkuJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9z
dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzRiMDI1MmYxNDY0N2QwNWU5OWMwM2Y4NTE3MmRiNTUy
OTg3YzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jl
c291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsOCBAQAord2FzUG9zdFRl
c3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KK2lmICh3aW5kb3cud2FzRmluaXNoSlNUZXN0Q2Fs
bGVkKQorICAgIGZpbmlzaEpTVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMGVlNTg2NmI5NWNhYzhhMzJhZDA0NjhlMTJlYzM3ZWYwODQwOWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVz
dC1wcmUuanMKQEAgLTAsMCArMSwzNSBAQAoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIGRl
YnVnKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0V29ya2Vy
KHRlc3RTY3JpcHRVUkwpCit7CisgICAgZGVidWcoJ1N0YXJ0aW5nIHdvcmtlcjogJyArIHRlc3RT
Y3JpcHRVUkwpOworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKHRlc3RTY3JpcHRVUkwpOwor
ICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGRl
YnVnKGV2ZW50LmRhdGEpOworICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PSAiRE9ORSIpCisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9OworCisgICAgd29ya2VyLm9uZXJyb3IgPSBm
dW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGRlYnVnKCdHb3QgZXJyb3IgZnJvbSB3b3Jr
ZXI6ICcgKyBldmVudC5tZXNzYWdlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBmaW5pc2hKU1Rlc3QoKQoreworICAgIHdhc0ZpbmlzaEpTVGVzdENhbGxl
ZCA9IHRydWU7CisgICAgaWYgKCF3aW5kb3cud2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQpCisgICAg
ICAgIHJldHVybjsKKyAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09N
UExFVEU8L3NwYW4+Jyk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVy
c2lzdGVudC1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyOGVhYjQ3YmJhNGM2YzIzMjExNzk5N2NhZmRh
ZmNlMjdmNjNkYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKQEAgLTAsMCArMSwxMyBAQAor
aWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1j
b21tb24uanMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlv
bigicmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVT
eXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoUEVSU0lTVEVOVCwgMTAwKTsKKworZGVidWco
IlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jOiIgKyBmaWxl
U3lzdGVtLm5hbWUpOworc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIp
Oworc2hvdWxkQmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKK2ZpbmlzaEpT
VGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODRmZGI3ODE3YzU5M2MwODhmM2M4NDUzY2VkNjcxM2MxZWM4OTUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtcGVyc2lzdGVudC5qcwpAQCAtMCwwICsxLDI0IEBACitpZiAodGhpcy5pbXBvcnRTY3Jp
cHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygnZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGRl
YnVnKCdXb3JrZXIgc3RhcnRlZC4nKTsKK30KK2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3Rl
bSBQRVJTSVNURU5UIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gbnVsbDsKKworZnVuY3Rp
b24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCJFcnJvciBvY2N1cmVkIHdoaWxl
IHJlcXVlc3RpbmcgYSBQRVJTSVNURU5UIGZpbGUgc3lzdGVtOiIgKyBlcnJvci5jb2RlKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7Cisg
ICAgZmlsZVN5c3RlbSA9IGZzOworICAgIGRlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVS
U0lTVEVOVCBGaWxlU3lzdGVtOiIgKyBmaWxlU3lzdGVtLm5hbWUpOworICAgIHNob3VsZEJlVHJ1
ZSgiZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAiKTsKKyAgICBzaG91bGRCZSgiZmlsZVN5c3Rl
bS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIg
anNUZXN0SXNBc3luYyA9IHRydWU7CityZXF1ZXN0RmlsZVN5c3RlbShQRVJTSVNURU5ULCAxMDAs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk5MTIwYjQz
YTc5NDMzMmUwYjY5YTg2MzEwNTE1OTJiYTUzNWEzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpz
CkBAIC0wLDAgKzEsMTMgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRT
Y3JpcHRzKCdmcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgZGVidWcoJ1dvcmtlciBzdGFydGVk
LicpOworfQorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtU3luYyBURU1QT1JBUlkgdGVz
dC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoVEVNUE9SQVJZ
LCAxMDApOworCitkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBPUkFSWSBGaWxlU3lz
dGVtU3luYzoiICsgZmlsZVN5c3RlbS5uYW1lKTsKK3Nob3VsZEJlVHJ1ZSgiZmlsZVN5c3RlbS5u
YW1lLmxlbmd0aCA+IDAiKTsKK3Nob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgiLCAn
Ii8iJyk7CitmaW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUt
dGVtcG9yYXJ5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1w
bGUtdGVtcG9yYXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NjViNTBiYjgzZTRkMGIyM2RkMDY2M2E3ZjI0
MmZhMGFmNDQzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3JhcnkuanMKQEAgLTAsMCArMSwyNCBAQAoraWYgKHRo
aXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1jb21tb24u
anMnKTsKKyAgICBkZWJ1ZygnV29ya2VyIHN0YXJ0ZWQuJyk7Cit9CitkZXNjcmlwdGlvbigicmVx
dWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gbnVs
bDsKKworZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCdFcnJvciBv
Y2N1cmVkIHdoaWxlIHJlcXVlc3RpbmcgYSBURU1QT1JBUlkgZmlsZSBzeXN0ZW06JyArIGVycm9y
LmNvZGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJh
Y2soZnMpIHsKKyAgICBmaWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBv
YnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKKyAgICBz
aG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAgc2hvdWxkQmUo
ImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0ZW0oVEVNUE9S
QVJZLCAxMDAsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNDJiMTFj
ZGQzMWJiNTEyZjZhNWUzOTU3MWZiOTllN2NmZmFiZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNU
RU5UIEZpbGVTeXN0ZW06VGVzdFNoZWxsRmlsZVN5c3RlbQorUEFTUyBmaWxlU3lzdGVtLm5hbWUu
bGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTIGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtcGVyc2lzdGVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYxNzdjMjYzZDg4ZDM3ZDI3NDIzMmU5ZmIxNDVhMGRlN2ZlNDk2MjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3Rl
bnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YThkNDZm
ZmJkNDk5YTU2YjE4YTdkNjFkMmU3NTRlNjcyNDI5ZTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFRFTVBPUkFSWSB0ZXN0LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBPUkFS
WSBGaWxlU3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3RlbS5uYW1lLmxl
bmd0aCA+IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ2MmFjNjRlYWM3NGU2ZmJhMzIzZGI4ODcxNjllNjM4MjQ5N2YzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93
b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zOWNjZThhMjBkYTE5NDAwZjIxMGNmMjU4ZDUzNTA4MDE0YzI4M2VkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNp
c3RlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4u
L3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlw
dGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gUEVSU0lTVEVOVCB0ZXN0LgorU3VjY2Vzc2Z1bGx5IG9i
dGFpbmVkIFBFUlNJU1RFTlQgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNpc3Rl
bnQKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVT
eXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3Jr
ZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMzk3
NjVmYWFhMjE3NzYxYjc2MjE1NjQ5Y2Q5MzM0Yzk4NmFmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5j
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGluZyBQRVJT
SVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci4KKworU3RhcnRpbmcgd29ya2VyOiAuLi9y
ZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNj
cmlwdGlvbjogcmVxdWVzdEZpbGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4KK0dvdCBlcnJv
ciBmcm9tIHdvcmtlcjogVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IHJlcXVlc3RGaWxlU3lzdGVt
U3luYyBpcyBub3QgZGVmaW5lZAorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50
LXN5bmMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMmY0ZjY2Y2QxOWFkZmQwYzI2N2ZjY2Y1YTA1ZGY2MGQx
MWFiNDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdHMgcmVxdWVzdGluZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVz
b3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWVk
NmM1MDM0ZjE2NGU3ZTE1NzRhYmYxOWI0M2U1Zjg2NTFjNjgwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3lu
Yy50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQg
RmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK1N1Y2Nlc3NmdWxs
eSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJz
aXN0ZW50CitQQVNTOiBmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBm
aWxlU3lzdGVtLnJvb3QuZnVsbFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUt
cGVyc2lzdGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2lt
cGxlLXBlcnNpc3RlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTViYjg0MWUzZDhhYmMwYjNlNjFmZWE1
ZmZhYmVkYTJiMTU5MjhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVz
b3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZDQ5
NWQxODZiOTM2NWU4OTM2NTcyMTVmNGZmNmIxMzYyNTdmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZ
IEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LmpzCitXb3JrZXIgc3RhcnRlZC4KK0Rlc2NyaXB0aW9uOiByZXF1ZXN0
RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JB
UlkgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlRlbXBvcmFyeQorUEFTUzogZmlsZVN5
c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUzogZmlsZVN5c3RlbS5yb290LmZ1bGxQ
YXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NzZiYjNlYTExNWNmZTRkYTZkOTg4
YzZhMmM2MDllOTQ4ZjQ4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOSBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtU3lu
YyBpbiBXb3JrZXIuCisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5qcworV29ya2VyIHN0YXJ0ZWQuCitEZXNjcmlwdGlvbjogcmVxdWVzdEZpbGVT
eXN0ZW1TeW5jIFRFTVBPUkFSWSB0ZXN0LgorR290IGVycm9yIGZyb20gd29ya2VyOiBVbmNhdWdo
dCBSZWZlcmVuY2VFcnJvcjogcmVxdWVzdEZpbGVTeXN0ZW1TeW5jIGlzIG5vdCBkZWZpbmVkCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MjE2MTNhODA4Yjk0OWM3NDFjN2Y4NWUxYzY1NjM1NGNmOTNlNGY3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1z
eW5jLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFRFTVBPUkFS
WSBGaWxlU3lzdGVtU3luYyBpbiBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0Pgorc3RhcnRXb3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5
bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXIt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwOGEzMjc3OWZmZjU3MGE4YzllY2IzMDk1NGMxMGMwMzNjMWJhNTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9z
aW1wbGUtdGVtcG9yYXJ5Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0
aW5nIFRFTVBPUkFSWSBGaWxlU3lzdGVtIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1w
b3JhcnkuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3Jr
ZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDg0NjU2
ZmY3ZWU5NDE4NjAzM2IxNmIxYTQ3MDk3OGExZWFkOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsNiBA
QAord2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cud2FzRmluaXNoSlNUZXN0Q2FsbGVkKQorICAgIGZpbmlzaEpTVGVzdCgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IDBlNWRiMDNkMGZkZGE3ZTRhZjNhZTUzYmNkM2ZjZjUzNjc2MDkzZTIuLjM4MjY2
YjEzNzE0ZDg5OTQ4ZmI3OTUzYTFlNjc1MjNmNzNhMmMyMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTE1OCw2ICsx
NTgsNyBAQCBXT05URklYIFNLSVAgOiBmYXN0L3JlZ2V4L3Rlc3QxLmh0bWwgPSBQQVNTCiAvLyBX
ZSB1c2Ugd29ya2VyX3VpdGVzdHMgdG8gcnVuIHdvcmtlcnMgdGVzdHMuIERvbid0IHJ1biB0aGVt
IGluIHRlc3Rfc2hlbGwuCiBXT05URklYIFNLSVAgOiBmYXN0L3dvcmtlcnMgPSBQQVNTIFRJTUVP
VVQgRkFJTAogV09OVEZJWCBTS0lQIDogZmFzdC9maWxlcy93b3JrZXJzID0gUEFTUyBUSU1FT1VU
IEZBSUwKK1dPTlRGSVggU0tJUCA6IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzID0gUEFTUyBUSU1F
T1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvd29ya2VycyA9IFBBU1MgVElNRU9V
VCBGQUlMCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMg
PSBQQVNTIFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS93b3JrZXJzID0gUEFTUyBUSU1FT1VUIEZBSUwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZlMzJkZGYyNGYzNTQyZWU0
ZGVlYTM0MDE3NzVhM2Y1MDliYTU3ZTguLjRhYTk4NjZiODg3NjcxZTFjMjdjNWJlNTMxNzg3MTBm
ZDgyY2M0M2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYxNiwxNCArMTYxNiwyMyBAQCBFTkRJRiAoKQogaWYgKEVO
QUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICAg
ICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKKyAgICAgICAgYmluZGlu
Z3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9t
LmNwcAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcAorICAgICAgICBmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIu
Y3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKICAgICAgICAgZmls
ZWFwaS9ET01GaWxlUGF0aC5jcHAKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAor
ICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcAorICAgICAgICBmaWxlYXBpL0RP
TUZpbGVTeXN0ZW1TeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcAogICAgICAgICBm
aWxlYXBpL0VudHJ5QXJyYXkuY3BwCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3Bw
CisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRy
eS5jcHAKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcAogICAgICAgICBmaWxlYXBp
L0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5jcHAK
ICAgICAgICAgZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uY3BwCkBAIC0xNjMxLDE1ICsxNjQwLDIx
IEBAIGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgKQogICAgIExJU1QoQVBQRU5EIFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsCisgICAgICAg
IGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9y
eVJlYWRlci5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbAogICAg
ICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5
c3RlbVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmlkbAogICAgICAg
ICBmaWxlYXBpL0VudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5U3luYy5pZGwKICAgICAg
ICAgZmlsZWFwaS9FbnRyeUFycmF5LmlkbAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmlkbAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkv
RXJyb3JDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRsCiAgICAg
ICAgIGZpbGVhcGkvRmlsZUVudHJ5LmlkbAorICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMu
aWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrLmlkbAogICAgICAgICBmaWxl
YXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyLmlk
bApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAyMTM1M2UzMmNhMWFkZWVhYjMwMjYzOWI3OWI4MzE0ZGIxZmQyY2NjLi5kZWFmNmNkZTdjZjUz
MGZlN2IyYzE5Zjk3NjU4MjQzNWNlOTI1MGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEwLTA5LTMwICBL
aW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaWRsIGFuZCBtb2NrIGNsYXNzZXMgZm9y
IEZpbGVTeXN0ZW1TeW5jIGZvciBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY0MDUKKworICAgICAgICBBZGRlZCBidW5jaCBv
ZiAqU3luYyBjbGFzc2VzLCBwbHVzIHJlZmFjdG9yZWQgc29tZSBjbGFzc2VzOgorICAgICAgICBB
ZGRlZCBET01GaWxlU3lzdGVtQmFzZSBhcyBhIGNvbW1vbiBiYXNlIGNsYXNzIGZvciBET01GaWxl
U3lzdGVtIGFuZAorICAgICAgICBET01GaWxlU3lzdGVtU3luYy4KKyAgICAgICAgQWRkZWQgRW50
cnlCYXNlIGFzIGEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIEVudHJ5IGFuZCBFbnRyeVN5bmMuCisg
ICAgICAgIEFkZGVkIERpcmVjdG9yeVJlYWRlckJhc2UgYXMgYSBjb21tb24gYmFzZSBjbGFzcyBm
b3IgRGlyZWN0b3J5UmVhZGVyIGFuZAorICAgICAgICBEaXJlY3RvcnlSZWFkZXJTeW5jLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzLworCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6
IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBBZGRlZCBu
ZXcgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcy4KKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3Jl
LnByaTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBBZGRlZCBuZXcg
ZmlsZXMuCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IEFkZGVkIG5l
dyBmaWxlcy4gQWxzbyByZW1vdmVkIHRoZSBkdXBsaWNhdGVkIGZpbGVhcGlcRmlsZUVudHJ5LmNw
cCBlbnRyeS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFk
ZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3Vz
dG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RW50cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxl
U3lzdGVtQmFzZS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJh
c2UuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHA6IEFk
ZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDogQWRkZWQuCisgICAg
ICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlckJh
c2UuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcDog
QWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg6IEFkZGVkLgor
ICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBp
L0VudHJ5QXJyYXlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlBcnJheVN5
bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5jcHA6IEFkZGVkLgor
ICAgICAgICAqIGZpbGVhcGkvRW50cnlCYXNlLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkv
RW50cnlTeW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaDogQWRk
ZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVF
bnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbDog
QWRkZWQuCisKIDIwMTAtMDktMzAgIEFsZXhleSBNYXJpbmljaGV2ICA8YW1hcmluaWNoZXZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IENocmlzIE1hcnJpbi4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKaW5kZXggODk4ZGE1Y2FlYzhmMDY1YWEzNTk0NWUyNGE2YjdjZTgwNWM2ZWY0Ni4uMDFmNTAy
MzhmNzczZDMwMWViMGRhNGNiMDk5OTA2NGY5N2Q4NDRmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTc0
LDEzICs3NCwxNiBAQAogI2luY2x1ZGUgIkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAiCiAj
aW5jbHVkZSAiSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RpcmVj
dG9yeUVudHJ5LmNwcCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAiCiAjaW5j
bHVkZSAiSlNEaXJlY3RvcnlSZWFkZXIuY3BwIgorI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVy
U3luYy5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVu
dEZyYWdtZW50LmNwcCIKICNpbmNsdWRlICJKU0RvY3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAi
SlNET01BcHBsaWNhdGlvbkNhY2hlLmNwcCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24u
Y3BwIgogI2luY2x1ZGUgIkpTRE9NRmlsZVN5c3RlbS5jcHAiCisjaW5jbHVkZSAiSlNET01GaWxl
U3lzdGVtU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNET01Gb3JtRGF0YS5jcHAiCiAjaW5jbHVkZSAi
SlNET01JbXBsZW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01NaW1lVHlwZS5jcHAiCkBA
IC05OSw2ICsxMDIsOCBAQAogI2luY2x1ZGUgIkpTRW50cmllc0NhbGxiYWNrLmNwcCIKICNpbmNs
dWRlICJKU0VudHJ5LmNwcCIKICNpbmNsdWRlICJKU0VudHJ5QXJyYXkuY3BwIgorI2luY2x1ZGUg
IkpTRW50cnlBcnJheVN5bmMuY3BwIgorI2luY2x1ZGUgIkpTRW50cnlTeW5jLmNwcCIKICNpbmNs
dWRlICJKU0VudHJ5Q2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5jcHAi
CiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmNwcCIKQEAgLTEwOCw2ICsxMTMsNyBAQAogI2luY2x1
ZGUgIkpTRmlsZS5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUg
IkpTRmlsZUVudHJ5LmNwcCIKKyNpbmNsdWRlICJKU0ZpbGVFbnRyeVN5bmMuY3BwIgogI2luY2x1
ZGUgIkpTRmlsZUVycm9yLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDJmZGE1ZTk4YmUxYTY5
ZjdjY2E1N2Y2YThhMDFlMGZjNDU1NmRiYWIuLjM0MmJiN2I1YTY5YmVhYTVmYTk1OGU0OTM2YzZk
NzllZjgwZGVmZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTExNCw2ICsxMTQsNyBAQCBET01fQ0xB
U1NFUyA9IFwKICAgICBET01BcHBsaWNhdGlvbkNhY2hlIFwKICAgICBET01Db3JlRXhjZXB0aW9u
IFwKICAgICBET01GaWxlU3lzdGVtIFwKKyAgICBET01GaWxlU3lzdGVtU3luYyBcCiAgICAgRE9N
Rm9ybURhdGEgXAogICAgIERPTUltcGxlbWVudGF0aW9uIFwKICAgICBET01NaW1lVHlwZSBcCkBA
IC0xMzIsNyArMTMzLDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRGV2aWNlTW90aW9uRXZlbnQg
XAogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgXAogICAgIERpcmVjdG9yeUVudHJ5IFwKKyAg
ICBEaXJlY3RvcnlFbnRyeVN5bmMgXAogICAgIERpcmVjdG9yeVJlYWRlciBcCisgICAgRGlyZWN0
b3J5UmVhZGVyU3luYyBcCiAgICAgRG9jdW1lbnQgXAogICAgIERvY3VtZW50RnJhZ21lbnQgXAog
ICAgIERvY3VtZW50VHlwZSBcCkBAIC0xNDIsNyArMTQ1LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgRW50aXR5UmVmZXJlbmNlIFwKICAgICBFbnRyaWVzQ2FsbGJhY2sgXAogICAgIEVudHJ5IFwK
KyAgICBFbnRyeVN5bmMgXAogICAgIEVudHJ5QXJyYXkgXAorICAgIEVudHJ5QXJyYXlTeW5jIFwK
ICAgICBFbnRyeUNhbGxiYWNrIFwKICAgICBFcnJvckNhbGxiYWNrIFwKICAgICBFcnJvckV2ZW50
IFwKQEAgLTE1NCw2ICsxNTksNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBGaWxlIFwKICAgICBG
aWxlQ2FsbGJhY2sgXAogICAgIEZpbGVFbnRyeSBcCisgICAgRmlsZUVudHJ5U3luYyBcCiAgICAg
RmlsZUV4Y2VwdGlvbiBcCiAgICAgRmlsZUVycm9yIFwKICAgICBGaWxlTGlzdCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCA2YmVhNTJmMDkwNzMzYWI0N2NhNTQxNThjNzU0YzdjY2QxY2M0Y2RkLi4yZjdhY2JmNGJmYTk4
NmUyYWMwMDBjODNjMWI3YjNhZDVlZGNkNzM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTY4OSw2ICs2ODksNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5
Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1
c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKQEAgLTcxMSw2ICs3MTIsNyBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVy
LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0VudHJ5U3luY0N1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaCBcCkBAIC0xMzY1LDIzICsxMzY3LDM5
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9maWxlYXBpL0Jsb2JVUkwuaCBcCiAJ
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeUVudHJ5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3Bw
IFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyLmggXAorCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCisJV2Vi
Q29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVQYXRoLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVQYXRoLmggXAogCVdlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW0uaCBcCisJV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCBcCisJV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtU3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmggXAorCVdlYkNvcmUvZmlsZWFw
aS9FbnRyeS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeS5oIFwKIAlXZWJDb3JlL2ZpbGVh
cGkvRW50cnlBcnJheS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5LmggXAorCVdl
YkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRy
eUFycmF5U3luYy5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcCBcCisJV2ViQ29y
ZS9maWxlYXBpL0VudHJ5QmFzZS5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlDYWxsYmFjay5o
IFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnku
aCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9F
bnRyeVN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0ZpbGVDYWxsYmFjay5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgXAog
CVdlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVu
dHJ5LmggXAorCVdlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9m
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwK
IAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmls
ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggZTc3YWM1NTc2MGI0ODAyNDA0ZTU0OTE0YWQyM2UwYTFkMGQ2NjRjNC4uZTQw
ZjFmYzQ0ODcyZGYwMDQwZTBkMjYyZDg3NmU3YjhjM2E5MmM1MiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDE2ICs4OSwy
MiBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYi5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvQmxvYkJ1aWxkZXIuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5
LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5pZGwnLAorICAgICAgICAgICAgJ2Zp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMu
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwnLAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvRW50cnkuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJy
YXkuaWRsJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCcsCiAgICAg
ICAgICAgICAnZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9FbnRyeVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGUuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZpbGVDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCcs
CisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9GaWxlRXJyb3IuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRp
b24uaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0LmlkbCcsCkBAIC01NjcsNiAr
NTczLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRy
eUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlT
eW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApA
QCAtNTg1LDYgKzU5Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVy
LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50
TGlzdGVuZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIu
aCcsCkBAIC03NjQsNiArNzcyLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAnLApAQCAtNzcyLDYgKzc4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEV2ZW50U291cmNlQ29uc3RydWN0b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAnLApAQCAtMTQ1MCwyNCArMTQ2MCw0MCBAQAog
ICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0Rp
cmVjdG9yeUVudHJ5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5o
JywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLAorICAgICAg
ICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvRGlyZWN0b3J5UmVhZGVyLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXIuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0RPTUZpbGVQYXRoLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlUGF0aC5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwJywKICAgICAgICAgICAgICdm
aWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lz
dGVtQmFzZS5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCcs
CisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9F
bnRyaWVzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeS5jcHAnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFy
cmF5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5LmgnLAorICAgICAgICAg
ICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0Vu
dHJ5QXJyYXlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oJywK
KyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QmFzZS5oJywKKyAgICAgICAgICAgICdmaWxlYXBp
L0VudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlTeW5jLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvRXJyb3JDYWxsYmFjay5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZpbGUuY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGUuaCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9GaWxlQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnku
Y3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFbnRyeS5oJywKKyAgICAgICAgICAgICdm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3IuaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUxp
c3QuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNv
cmUucHJpCmluZGV4IDMzMzE2MjY5YmMwNjA1NmVhODU2YTliZDNlODM5Y2JiYTE3OGNlYmUuLjA1
MWY0ZDljMjY1ZDNmNjExYTIwMzc3NjRkMjE5YmI3MDZmY2JiNzUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTU2LDE2ICsxNTYs
MjIgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL0Jsb2IuaWRsIFwKICAgICBmaWxl
YXBpL0Jsb2JCdWlsZGVyLmlkbCBcCiAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwgXAor
ICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXIuaWRsIFwKKyAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIFwKICAg
ICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsIFwKKyAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1T
eW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaWRsIFwKICAgICBmaWxlYXBp
L0VudHJ5LmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmlkbCBcCisgICAgZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5pZGwgXAogICAgIGZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwgXAorICAg
IGZpbGVhcGkvRW50cnlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FcnJvckNhbGxiYWNrLmlkbCBc
CiAgICAgZmlsZWFwaS9GaWxlLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlQ2FsbGJhY2suaWRsIFwK
ICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5pZGwgXAorICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5p
ZGwgXAogICAgIGZpbGVhcGkvRmlsZUVycm9yLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlTGlzdC5p
ZGwgXAogICAgIGZpbGVhcGkvRmlsZVJlYWRlci5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZDE3YWZjMmYxOTcwY2I1NGMx
NWQwYWZkN2MwMTA0MjIyNWE2YWQ4Ni4uMDlmMTYwNWMzZWI5NDY4MmNiZjlhMjg2ZTdmOTk3MjI4
MzVjMjBmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC0yOTY2LDE2ICsyOTY2LDI1IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9GSUxFX1NZU1RFTT0xKSB7CiAgICAgSEVBREVSUyArPSBcCiAgICAgICAgIGZpbGVhcGkvQXN5
bmNGaWxlV3JpdGVyLmggXAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmggXAorICAg
ICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oIFwKICAgICAgICAgZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXIuaCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oIFwK
KyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAogICAgICAgICBmaWxlYXBp
L0RPTUZpbGVQYXRoLmggXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBcCisgICAg
ICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmls
ZVN5c3RlbVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmggXAogICAg
ICAgICBmaWxlYXBpL0VudHJ5LmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuaCBcCisg
ICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlC
YXNlLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaCBcCisgICAgICAgIGZpbGVh
cGkvRW50cnlTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAgICAg
ICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5o
IFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0Zp
bGVTeXN0ZW1DYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tz
LmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuaCBcCkBAIC0yOTkwLDE0ICsyOTk5LDIz
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSB7CiAKICAgICBTT1VS
Q0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAg
XAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50
cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIFwKICAgICAg
ICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGguY3BwIFwKICAg
ICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmls
ZVN5c3RlbUJhc2UuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAg
XAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRW50cnlBcnJh
eS5jcHAgXAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcCBcCisgICAgICAgIGZp
bGVhcGkvRW50cnlTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5LmNwcCBcCisg
ICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0ZpbGVT
eXN0ZW1DYWxsYmFja3MuY3BwIFwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCA5MTI2MzE3YzcxODcxZmM4NWViM2E3ODE5ODBmMzZiNmJiYzJh
MzYwLi5hYzg0ZjBhODBhNGYzNWZhY2YwMzMzNTRkY2FjZmNmNzJkM2M3NGJjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMxMDEsNiArMzEwMSwxNCBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEaXJlY3RvcnlFbnRyeVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KQEAgLTMxNTcsNiArMzE2NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5
UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0RvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC0zNDkzLDYgKzM1MDksMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01GaWxlU3lzdGVtU3luYy5oIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZvcm1EYXRhLmNw
cCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00NDU3LDYgKzQ0ODEsMTQg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5
QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNFbnRyeUFycmF5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0VudHJ5Q2FsbGJhY2suY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KQEAgLTQ1MTMsNiArNDU0NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeVN5bmMuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFcnJvckNhbGxiYWNr
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00OTA5LDYgKzQ5NDks
MjIgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5bmMuY3BwIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5bmMu
aCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxl
RXJyb3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc0OSw2ICszNzgwNSwxNCBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxl
YXBpXERpcmVjdG9yeUVudHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeUVudHJ5U3luYy5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmls
ZWFwaVxEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzU3
LDYgKzM3ODIxLDE4IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyQmFzZS5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3Rv
cnlSZWFkZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01EYXRh
R3JpZERhdGFTb3VyY2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTM3NzgxLDYgKzM3
ODU3LDIyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVt
QmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1T
eW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXERPTUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzgx
Nyw2ICszNzkwOSwyNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlBcnJh
eVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRW50cnlCYXNlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5U3luYy5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVu
dHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZmlsZWFwaVxFbnRyeUNhbGxiYWNrLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtMzc4NDEsMTEgKzM3OTUzLDE1IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmNwcCINCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnkuaCINCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50
cnlTeW5jLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC00NDM5Miw2ICs0
NDUwOCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIg0K
KwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGJpbmRpbmdzXGpzXEpTRG9jdW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQpAQCAtNDUxNTIsNiArNDUyNzIsMTAgQEAKIAkJCQkJPg0KIAkJCQk8L0Zp
bGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRW50
cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0V2ZW50Q3VzdG9tLmNwcCINCiAJCQkJ
CT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNGRhMWQyOWJhMWMyN2Y2NzJlNTFjNjk4NTQyNTE1M2RjMmQ0
NDJlNy4uMjNlMDcyODZiNjhjMTIxNjk1MTgyODRiNzg1YzRkYmUzODY4NjUxMSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0NTIsNiArMjQ1Miw3IEBA
CiAJCTg1RkYzMTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1ODBBQUZCRkNC
MDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4NUZGMzE1QjBBQUZCRkNC
MDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXli
b2FyZEV2ZW50Lm1tICovOyB9OwogCQk4NjI0M0QwMTExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJh
eUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hl
bHBlci5oICovOyB9OworCQk4OTBBRTBFMTEyNTZBMDc5MDBGNTk2OEMgLyogRGlyZWN0b3J5UmVh
ZGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODkwQUUwRTAxMjU2QTA3OTAwRjU5NjhDIC8qIERpcmVjdG9yeVJlYWRlckJhc2UuaCAqLzsgfTsK
IAkJODkzQzQ3QTcxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3QTUxMjM4OTA4QjAwMkIz
RDg2IC8qIEZpbGVDYWxsYmFjay5oICovOyB9OwogCQk4OTNDNDdBODEyMzg5MDhCMDAyQjNEODYg
LyogRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDdBNjEyMzg5MDhCMDAyQjNEODYgLyogRmlsZVdyaXRlckNhbGxi
YWNrLmggKi87IH07CiAJCTg5M0M0N0I3MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTND
NDdCNTEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suY3BwICovOyB9OwpAQCAtMjQ2
MCw2ICsyNDYxLDM1IEBACiAJCTg5M0M0N0JDMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0
ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggKi87
IH07CiAJCTg5M0M0N0NDMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0NBMTIzRUVC
QTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJODkzQzQ3REYxMjNFRjRB
OTAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3REUxMjNFRjRBOTAwMkIzRDg2IC8q
IEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwICovOyB9OworCQk4OTNDNDgwMDEyNDhCRDNBMDAy
QjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0YwMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3Rv
cnlFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwMTEyNDhCRDNBMDAyQjNEODYgLyogRGly
ZWN0b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDdGMTEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmgg
Ki87IH07CisJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
N0YyMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MDMxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0YzMTI0OEJEMzkw
MDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi87IH07CisJCTg5M0M0ODA0MTI0OEJE
M0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGNDEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbUJhc2UuY3BwICovOyB9OworCQk4OTNDNDgwNTEyNDhCRDNBMDAyQjNEODYgLyog
RE9NRmlsZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5M0M0N0Y1MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5o
ICovOyB9OworCQk4OTNDNDgwNjEyNDhCRDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLzsgfTsKKwkJODkz
QzQ4MDcxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGNzEyNDhCRDM5MDAyQjNE
ODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MDgxMjQ4QkQzQTAwMkIz
RDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y4MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3lu
Yy5jcHAgKi87IH07CisJCTg5M0M0ODA5MTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3lu
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
RjkxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi87IH07CisJCTg5M0M0ODBC
MTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZCMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJh
c2UuaCAqLzsgfTsKKwkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGQzEy
NDhCRDM5MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MEQxMjQ4QkQz
QTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGRTEyNDhC
RDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODBGMTI0OEJE
M0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGRjEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5
U3luYy5oICovOyB9OworCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5j
Q3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0
b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5j
cHAgKi87IH07CisJCTg5M0M0ODMzMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5
U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkz
QzQ4MjcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmggKi87IH07CisJ
CTg5M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MjgxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi87IH07CisJCTg5M0M0
ODM1MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI5MTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MzYxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpT
RE9NRmlsZVN5c3RlbVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzNzEyNDk1NDcyMDAyQjNEODYg
LyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3Rl
bVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MzgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJh
eVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODkzQzQ4MkMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwICovOyB9Owor
CQk4OTNDNDgzOTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkQxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4M0ExMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJFMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5j
cHAgKi87IH07CisJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkYxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODNDMTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MzAxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVu
dHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODNEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVF
bnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5M0M0ODMxMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLzsgfTsKKwkJ
ODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODUyMTI0OTlCMDYw
MDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi87IH07CiAJCTg5ODc4NTUyMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0
b3J5RW50cnkuY3BwICovOyB9OwogCQk4OTg3ODU1MzEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0
b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovOyB9OwogCQk4
OTg3ODU1NDEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTNCMTIyQ0EwNjQwMDNB
QUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovOyB9OwpAQCAtODQ1NSw2ICs4NDg1LDcgQEAK
IAkJODVGRjMxNTgwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtleWJvYXJkRXZlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGRjMxNTkwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJv
YXJkRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9N
S2V5Ym9hcmRFdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYyNDNEMDAx
MUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3Rv
cnlSZWFkZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9y
eVJlYWRlckJhc2UuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDdBNTEyMzg5MDhCMDAyQjNEODYgLyogRmls
ZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZpbGVDYWxsYmFj
ay5oOyBwYXRoID0gZmlsZWFwaS9GaWxlQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODkzQzQ3QTYxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVXcml0ZXJDYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxlV3JpdGVyQ2FsbGJhY2suaDsg
cGF0aCA9IGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg5M0M0N0I1MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVDYWxsYmFjay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDYzLDYgKzg0OTQsMzUgQEAKIAkJODkz
QzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDdERTEyM0VGNEE5
MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjAxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9y
eUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJl
Y3RvcnlFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGMTEyNDhCRDM5MDAyQjNEODYg
LyogRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERpcmVjdG9yeUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjIxMjQ4QkQzOTAwMkIzRDg2
IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGMzEy
NDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHBhdGggPSBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3
RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNlLmNwcDsgcGF0aCA9IGZp
bGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3RlbUJhc2UuaDsgcGF0aCA9IGZp
bGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1TeW5jLmNwcDsgcGF0
aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OTNDNDdGNzEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3RlbVN5bmMuaDsgcGF0
aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QXJyYXlTeW5jLmNwcDsgcGF0
aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlBcnJheVN5bmMuaDsgcGF0aCA9IGZpbGVh
cGkvRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3
RkIxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBFbnRyeUJhc2UuaDsgcGF0aCA9IGZpbGVhcGkvRW50cnlCYXNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZDMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRy
eVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50cnlTeW5j
LmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRW50
cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZFMTI0OEJEMzkw
MDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEZpbGVFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9GaWxlRW50cnlTeW5j
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkYxMjQ4QkQzOTAwMkIz
RDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
RmlsZUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9GaWxlRW50cnlTeW5jLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3lu
Yy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVu
dHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODI3MTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4OTNDNDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODI5MTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0
ZW1TeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NRmls
ZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyQjEy
NDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0RPTUZpbGVTeXN0ZW1TeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5j
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlBcnJheVN5
bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyRDEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0VudHJ5QXJyYXlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5
M0M0ODJFMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VudHJ5U3luYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgzMDEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50
cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZUVu
dHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODMxMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNGaWxlRW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg5M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5U3luY0N1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJEQSAvKiBE
aXJlY3RvcnlFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
aXJlY3RvcnlFbnRyeS5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRBIC8qIERp
cmVjdG9yeUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9y
eUVudHJ5Lmg7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg5ODc4NTNCMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFk
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5UmVh
ZGVyLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MTYxLDE4ICsxNDIyMSwyOCBAQAogCQkJCTg5Q0QwMjkyMTFD
ODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi8sCiAJCQkJODk4Nzg1ODYxMjJDQTI2
QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTg3MTIyQ0Ey
NkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODkzQzQ4MjYxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyNzEy
NDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODU4
ODEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIuY3BwICovLAogCQkJCTg5ODc4
NTg5MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeVJlYWRlci5oICovLAorCQkJCTg5M0M0
ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovLAorCQkJ
CTg5M0M0ODI5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCAqLywK
IAkJCQk4OTg3ODU4RTEyMkNBMkE3MDAzQUFCREEgLyogSlNET01GaWxlU3lzdGVtLmNwcCAqLywK
IAkJCQk4OTg3ODU4RjEyMkNBMkE3MDAzQUFCREEgLyogSlNET01GaWxlU3lzdGVtLmggKi8sCisJ
CQkJODkzQzQ4MkExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwICov
LAorCQkJCTg5M0M0ODJCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmgg
Ki8sCiAJCQkJODk4Nzg1OTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cmllc0NhbGxiYWNrLmNw
cCAqLywKIAkJCQk4OTg3ODU5MTEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyaWVzQ2FsbGJhY2su
aCAqLywKIAkJCQk4OTg3ODU5MjEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeS5jcHAgKi8sCiAJ
CQkJODk4Nzg1OTMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnkuaCAqLywKIAkJCQk4OTg3ODU5
NDEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeUFycmF5LmNwcCAqLywKIAkJCQk4OTg3ODU5NTEy
MkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeUFycmF5LmggKi8sCisJCQkJODkzQzQ4MkMxMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODJEMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi8sCiAJCQkJODk4Nzg1OTYxMjJDQTJB
NzAwM0FBQkRBIC8qIEpTRW50cnlDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTcxMjJDQTJB
NzAwM0FBQkRBIC8qIEpTRW50cnlDYWxsYmFjay5oICovLAorCQkJCTg5M0M0ODJFMTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MkYxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1OTgxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTRXJyb3JDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTkxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTRXJyb3JDYWxsYmFjay5oICovLAogCQkJCUJDMDBGMDEwMEUwQTE4OTUwMEZEMDRFMyAvKiBK
U0ZpbGUuY3BwICovLApAQCAtMTQxODEsNiArMTQyNTEsOCBAQAogCQkJCTg5M0M0N0I2MTIzOEEw
OTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTlBMTIyQ0EyQTcw
MDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1OUIxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTRmlsZUVudHJ5LmggKi8sCisJCQkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRmlsZUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MzExMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRmlsZUVudHJ5U3luYy5oICovLAogCQkJCTJFM0JDMEM4MTE3RDNFMDgwMEI5NDA5QSAvKiBK
U0ZpbGVFcnJvci5jcHAgKi8sCiAJCQkJMkUzQkMwQzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmls
ZUVycm9yLmggKi8sCiAJCQkJODk4Nzg1RUUxMjJFMUU4NzAwM0FBQkRBIC8qIEpTRmlsZUV4Y2Vw
dGlvbi5jcHAgKi8sCkBAIC0xNDczMiwyNCArMTQ4MDQsNDAgQEAKIAkJCQk5NzZENkM2MDEyMkI4
QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oICovLAogCQkJCTg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRB
IC8qIERpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODkzQzQ3RjAxMjQ4QkQzOTAwMkIzRDg2IC8q
IERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2
IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTNCMTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovLAogCQkJCTg5ODc4NTNDMTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlSZWFkZXIuaCAqLywKKwkJCQk4OTBBRTBFMDEyNTZBMDc5MDBGNTk2OEMg
LyogRGlyZWN0b3J5UmVhZGVyQmFzZS5oICovLAorCQkJCTg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4
NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGMzEyNDhCRDM5MDAy
QjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAogCQkJCTg5ODc4NTNEMTIyQ0EwNjQw
MDNBQUJEQSAvKiBET01GaWxlUGF0aC5jcHAgKi8sCiAJCQkJODk4Nzg1M0UxMjJDQTA2NDAwM0FB
QkRBIC8qIERPTUZpbGVQYXRoLmggKi8sCiAJCQkJODk4Nzg1M0YxMjJDQTA2NDAwM0FBQkRBIC8q
IERPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5ODc4NTQwMTIyQ0EwNjQwMDNBQUJEQSAvKiBE
T01GaWxlU3lzdGVtLmggKi8sCisJCQkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmNwcCAqLywKKwkJCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbUJhc2UuaCAqLywKKwkJCQk4OTNDNDdGNjEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Y3MTI0OEJEMzkwMDJCM0Q4NiAvKiBE
T01GaWxlU3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTQxMTIyQ0EwNjQwMDNBQUJEQSAvKiBF
bnRyaWVzQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU0MjEyMkNBMDY0MDAzQUFCREEgLyogRW50
cnkuY3BwICovLAogCQkJCTg5ODc4NTQzMTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeS5oICovLAog
CQkJCTg5ODc4NTQ0MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5LmNwcCAqLywKIAkJCQk4
OTg3ODU0NTEyMkNBMDY0MDAzQUFCREEgLyogRW50cnlBcnJheS5oICovLAorCQkJCTg5M0M0N0Y4
MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3Rjkx
MjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi8sCisJCQkJODkzQzQ3RkIxMjQ4
QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oICovLAogCQkJCTg5ODc4NTQ2MTIyQ0EwNjQwMDNB
QUJEQSAvKiBFbnRyeUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ3RkMxMjQ4QkQzOTAwMkIzRDg2
IC8qIEVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVu
dHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTQ3MTIyQ0EwNjQwMDNBQUJEQSAvKiBFcnJvckNhbGxi
YWNrLmggKi8sCiAJCQkJOTc2RDZDNjExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGUuY3BwICovLAog
CQkJCTk3NkQ2QzYyMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlLmggKi8sCiAJCQkJODkzQzQ3QTUx
MjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVDYWxsYmFjay5oICovLAogCQkJCTg5ODc4NTQ4MTIyQ0Ew
NjQwMDNBQUJEQSAvKiBGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTQ5MTIyQ0EwNjQwMDNB
QUJEQSAvKiBGaWxlRW50cnkuaCAqLywKKwkJCQk4OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyog
RmlsZUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZp
bGVFbnRyeVN5bmMuaCAqLywKIAkJCQk5NzZENkM2NDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUVy
cm9yLmggKi8sCiAJCQkJMkVERjM2OUUxMjJDOTRDODAwMkY3RDRFIC8qIEZpbGVFeGNlcHRpb24u
aCAqLywKIAkJCQk5NzZENkM2NjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZUxpc3QuY3BwICovLApA
QCAtMTY2NzUsNiArMTY3NjMsNyBAQAogCQkJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBK
U0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk1OTBFMUI0QTExRTRFRjcwMDA2
OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk4OTND
NDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8sCisJ
CQkJODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9t
LmNwcCAqLywKIAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJMUFDMjI2MTYwREI2OUY3NDAwODlCNjY5IC8qIEpTRE9NQXBwbGljYXRp
b25DYWNoZUN1c3RvbS5jcHAgKi8sCiAJCQkJMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGFDdXN0b20uY3BwICovLApAQCAtMTY2ODYsNiArMTY3NzUsNyBAQAogCQkJCTY1
MkZCQkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLAogCQkJCUJD
MkVENTU0MEM2QjlCRDMwMDkyMEJGRiAvKiBKU0VsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCTg5
M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLywKKwkJCQk4OTND
NDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovLAogCQkJCUJD
RUZBRjREMEMzMTdFNjkwMEZBODFGNiAvKiBKU0V2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3
NUI4MDExQzVEMkI0MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgKi8sCiAJCQkJ
NDlFRUNGNzIxMDUwOEQ5QzAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5Q3VzdG9tLmNwcCAqLywK
QEAgLTIwOTIyLDYgKzIxMDEyLDIxIEBACiAJCQkJNDlCNjlFNjAxMjU0RkVFRDAwN0Q1N0VCIC8q
IExvb3BCbGlubkNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlCNjlFNjQxMjU0RkVF
RDAwN0Q1N0VCIC8qIExvb3BCbGlubk1hdGhVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlC
NjlFNjYxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlublRleHR1cmVDb29yZHMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg5M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5
bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJl
Y3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwNTEyNDhCRDNBMDAy
QjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODA3
MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODkzQzQ4MDkxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4OTNDNDgwRDEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3lu
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGly
ZWN0b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNTEyNDk1NDcyMDAy
QjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTND
NDgzNzEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCBp
biBIZWFkZXJzICovLAorCQkJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3lu
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmls
ZUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkwQUUwRTExMjU2QTA3OTAwRjU5NjhD
IC8qIERpcmVjdG9yeVJlYWRlckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjM0NDcsNiArMjM1
NTIsMjEgQEAKIAkJCQk0OUI2OUU1RTEyNTRGRUVEMDA3RDU3RUIgLyogTG9vcEJsaW5uQ2xhc3Np
Zmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUI2OUU2MzEyNTRGRUVEMDA3RDU3RUIgLyog
TG9vcEJsaW5uTWF0aFV0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QjY5RTY1MTI1NEZF
RUQwMDdENTdFQiAvKiBMb29wQmxpbm5UZXh0dXJlQ29vcmRzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTg5M0M0ODAwMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDIxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJl
YWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDQxMjQ4QkQzQTAwMkIzRDg2
IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA2MTI0
OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4OTNDNDgwODEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVudHJ5U3lu
Yy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzIx
MjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg5M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9N
RmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MzgxMjQ5NTQ3MjAw
MkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4
M0ExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTg5M0M0ODNDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rp
cmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg2OGNlOGEwYWJjMGVmNmM2Mjdj
ZWVhZmE5YWRkOWZkZmMxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRGly
ZWN0b3J5RW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJKU0VudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZsYWdzLmgiCisjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKEV4ZWNTdGF0
ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0PERp
cmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0gdmFs
dWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVudCgw
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1
bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBl
eGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0
cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+
YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgp
OworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmll
cihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRv
Qm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdl
dChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5z
ZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOworICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIHRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3Ms
IGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworSlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KEV4ZWNT
dGF0ZSogZXhlYykKK3sKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IHN0YXRpY19jYXN0
PERpcmVjdG9yeUVudHJ5U3luYyo+KGltcGwoKSk7CisgICAgY29uc3QgU3RyaW5nJiBwYXRoID0g
dmFsdWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCBleGVjLT5hcmd1bWVu
dCgwKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5h
cmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAm
JiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhl
cml0cygmSlNGbGFnczo6c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhl
Yy0+YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0
ZSgpOworICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRp
ZmllcihleGVjLCAiY3JlYXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRl
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3Qt
PmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdz
LT5zZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgZmxhZ3MgPSB0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxh
Z3MsIGVjKSkpOworICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJ
TEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMmY5NmFkODdhNzBhY2FiZmEzYzVlMTE0NTc5N2YzMDgyMWY5MjRjCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkpTRW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeUVudHJ5U3lu
Yy5oIgorI2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRW50cnlTeW5jKiBlbnRyeSkKK3sKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisKKyAgICBpZiAoZW50cnktPmlzRmlsZSgpKQorICAgICAgICByZXR1cm4g
Z2V0RE9NT2JqZWN0V3JhcHBlcjxKU0ZpbGVFbnRyeVN5bmM+KGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RhdGljX2Nhc3Q8RmlsZUVudHJ5U3luYyo+KGVudHJ5KSk7CisKKyAgICBBU1NFUlQoZW50cnkt
PmlzRGlyZWN0b3J5KCkpOworICAgIHJldHVybiBnZXRET01PYmplY3RXcmFwcGVyPEpTRGlyZWN0
b3J5RW50cnlTeW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PERpcmVjdG9yeUVu
dHJ5U3luYyo+KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmM4
ZDMxMzljMTFkZTY2ZmI5YzkxMmNlNWM5M2RjNWRmYjJiZDI2Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4RGlyZWN0
b3J5RW50cnlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJE
aXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAi
VjhFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiVjhGbGFncy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9y
eUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldERpcmVjdG9yeSIpOworICAgIERpcmVjdG9yeUVudHJ5
U3luYyogaW1wID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8
V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CisgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPD0gMSkgeworICAgICAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoKTsKKyAgICAg
ICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICBSZWZQdHI8Rmxh
Z3M+IGZsYWdzOworICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sx
XS0+SXNPYmplY3QoKSAmJiAhVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAg
ICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6
OmNyZWF0ZSgpOworICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRl
LklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUo
KSk7CisgICAgICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQor
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiZXhjbHVzaXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklz
RW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFu
VmFsdWUoKSk7CisgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhGbGFncyos
IHRtcF9mbGFncywgVjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOEZsYWdzOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDApOworICAgICAg
ICBmbGFncyA9IHRtcF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjazsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklz
TnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1sy
XS0+SXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVh
dGUoYXJnc1syXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVm
UHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAzICYmICFhcmdzWzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgewor
ICAgICAgICBpZiAoIWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVy
cm9yQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
OworICAgIH0KKyAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGlyZWN0b3J5RW50cnlTeW5jLmdldEZpbGUiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMq
IGltcCA9IFY4RGlyZWN0b3J5RW50cnlTeW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAg
ICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPFdpdGhV
bmRlZmluZWRPck51bGxDaGVjaz4sIHBhdGgsIGFyZ3NbMF0pOworICAgIGlmIChhcmdzLkxlbmd0
aCgpIDw9IDEpIHsKKyAgICAgICAgaW1wLT5nZXRGaWxlKHBhdGgpOworICAgICAgICByZXR1cm4g
djg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQorICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7
CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVj
dCgpICYmICFWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgICAgICBFWENFUFRJ
T05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKKyAgICAgICAgZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7
CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6
OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7CisgICAgICAgIGlmICghdjhDcmVhdGUuSXNFbXB0eSgp
ICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OENyZWF0ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0NyZWF0ZSwgdjhDcmVhdGUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAg
ICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXNDcmVhdGUpOworICAgICAgICB9CisgICAgICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IHY4RXhjbHVzaXZlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6
TmV3KCJleGNsdXNpdmUiKSk7CisgICAgICAgIGlmICghdjhFeGNsdXNpdmUuSXNFbXB0eSgpICYm
ICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1c2l2ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElP
Tl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsK
KyAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUpOworICAgICAgICB9
CisgICAgfSBlbHNlIHsKKyAgICAgICBFWENFUFRJT05fQkxPQ0soRmxhZ3MqLCB0bXBfZmxhZ3Ms
IFY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhGbGFnczo6dG9OYXRpdmUodjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwKTsKKyAgICAgICBmbGFncyA9IHRt
cF9mbGFnczsKKyAgICB9CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
azsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFh
cmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghYXJnc1syXS0+SXNPYmplY3Qo
KSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAg
ICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxiYWNrOjpjcmVhdGUoYXJnc1syXSwg
Z2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAzICYmICFhcmdz
WzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAo
IWFyZ3NbM10tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBF
X01JU01BVENIX0VSUik7CisgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBWOEVycm9yQ2FsbGJhY2s6
OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIH0KKyAg
ICBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
ayk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCisKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU5OGRmMTliMGIxM2UxOTRlYmFiNjcxZTZmNjRlMGExOGZjMDdiMjIKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMu
aCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlY4QXR0ci5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCisjaW5jbHVk
ZSAiVjhEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJWOEVudHJ5U3luYy5oIgorI2lu
Y2x1ZGUgIlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoRW50cnlTeW5jKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICBpZiAoaW1wbC0+aXNGaWxlKCkpCisgICAgICAgIHJl
dHVybiB0b1Y4KHN0YXRpY19jYXN0PEZpbGVFbnRyeVN5bmMqPihpbXBsKSk7CisKKyAgICBBU1NF
UlQoaW1wbC0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RGly
ZWN0b3J5RW50cnlTeW5jKj4oaW1wbCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAK
aW5kZXggYjFiMWNkYzExZTZkZTUzYTFlODViZWJlM2M1NmIzZmVlOGQ0NDBkZC4uMTc0Mjg0MmRh
MzFmOWUwZGNkZWZlODFiYTMzZTdjNjExMmM5ZDg5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcApAQCAtNTQsMTMgKzU0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRE9NRmlsZVN5
c3RlbTo6RE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0
ZW0pCi0gICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKLSAgICAsIG1fbmFtZShu
YW1lKQotICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0oYXN5bmNGaWxlU3lzdGVtKQotewotfQotCi1E
T01GaWxlU3lzdGVtOjp+RE9NRmlsZVN5c3RlbSgpCisgICAgOiBET01GaWxlU3lzdGVtQmFzZShu
YW1lLCBhc3luY0ZpbGVTeXN0ZW0pCisgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhp
cykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBi
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggODQ5OGU3NWI1ZjQ0NmUzZWZl
OWI3OGQ2ODI3ZWQzMmZhY2Q0ZWY3Mi4uOTA4YzE2Yzk0M2VjYWRmNjkxMjMyYzYwNDRhZGNlYWRk
NTQ5YmNhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC0zNSw2ICszNSw3IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIK
KyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgogI2luY2x1ZGUgIkZsYWdzLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCkBAIC01NCwxNiArNTUsMTMgQEAgY2xhc3MgRmlsZVdyaXRlckNhbGxiYWNrOwogY2xhc3Mg
TWV0YWRhdGFDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIAotY2xhc3MgRE9NRmlsZVN5
c3RlbSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW0+LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKK2NsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2Us
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBj
b25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVT
eXN0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0o
Y29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+
RE9NRmlsZVN5c3RlbSgpOwotCi0gICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCiAg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0IG1ldGhvZHMuCkBAIC05Niw4ICs5NCw2IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgRE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOwogCi0gICAgQXN5
bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2FzeW5jRmls
ZVN5c3RlbS5nZXQoKTsgfQotCiAgICAgLy8gQSBoZWxwZXIgdGVtcGxhdGUgdG8gc2NoZWR1bGUg
YSBjYWxsYmFjayB0YXNrLgogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gYSBtb3JlIGdlbmVy
aWMgcGxhY2UuCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4KQEAg
LTExOCw5ICsxMTQsNiBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8Q0I+IG1fY2FsbGJhY2s7
CiAgICAgICAgIFJlZlB0cjxDQkFyZz4gbV9jYWxsYmFja0FyZzsKICAgICB9OwotCi0gICAgU3Ry
aW5nIG1fbmFtZTsKLSAgICBtdXRhYmxlIE93blB0cjxBc3luY0ZpbGVTeXN0ZW0+IG1fYXN5bmNG
aWxlU3lzdGVtOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIENCLCB0eXBlbmFtZSBDQkFyZz4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAgYi9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2OTg4MmQxNjBh
ZDllOGI0NGJmNTM0YmEzYmIxYjUyMzIzYTI3MjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbUJhc2UuaCIKKworI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSA8d3RmL093
blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RPTUZpbGVTeXN0ZW1CYXNlOjpET01G
aWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBtX25hbWUobmFtZSkKKyAgICAsIG1fYXN5bmNG
aWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKK3sKK30KKworRE9NRmlsZVN5c3RlbUJhc2U6On5E
T01GaWxlU3lzdGVtQmFzZSgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5oIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTcxNGQ4ZDE3YWMxY2IxOTQ4MDliNDM0OGEyMTVhZGViZWQ4MTE2NwotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCkBAIC0w
LDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIERPTUZpbGVTeXN0ZW1CYXNlX2gKKyNkZWZpbmUgRE9NRmlsZVN5
c3RlbUJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiQXN5bmNG
aWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworLy8gQSBjb21tb24gYmFzZSBjbGFzcyBmb3IgRE9NRmlsZVN5c3RlbSBhbmQg
RE9NRmlsZVN5c3RlbVN5bmMuCitjbGFzcyBET01GaWxlU3lzdGVtQmFzZSA6IHB1YmxpYyBSZWZD
b3VudGVkPERPTUZpbGVTeXN0ZW1CYXNlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RE9NRmlsZVN5c3RlbUJhc2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25Q
dHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1CYXNlKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkp
OworICAgIH0KKyAgICB2aXJ0dWFsIH5ET01GaWxlU3lzdGVtQmFzZSgpOworCisgICAgY29uc3Qg
U3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAgQXN5bmNGaWxlU3lz
dGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2FzeW5jRmlsZVN5c3RlbS5n
ZXQoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgRE9NRmlsZVN5c3RlbUJhc2UoY29uc3QgU3RyaW5n
JiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOworICAgIGZyaWVuZCBjbGFzcyBE
T01GaWxlU3lzdGVtU3luYzsKKworICAgIFN0cmluZyBtX25hbWU7CisgICAgbXV0YWJsZSBPd25Q
dHI8QXN5bmNGaWxlU3lzdGVtPiBtX2FzeW5jRmlsZVN5c3RlbTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8v
IERPTUZpbGVTeXN0ZW1CYXNlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIwYWZjMWRkZWNkODFlNzI0OWQzNWRjMmQyNGYyNTM1MzI3OTBmNzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCkBAIC0w
LDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5
bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRo
LmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OmNy
ZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5jKGZpbGVTeXN0ZW0tPm1fbmFtZSwgZmlsZVN5c3RlbS0+
bV9hc3luY0ZpbGVTeXN0ZW0ubGVha1B0cigpKSk7Cit9CisKK0RPTUZpbGVTeXN0ZW1TeW5jOjpE
T01GaWxlU3lzdGVtU3luYyhjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxl
U3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBET01GaWxlU3lzdGVtQmFzZShuYW1lLCBh
c3luY0ZpbGVTeXN0ZW0pCit7Cit9CisKK0RPTUZpbGVTeXN0ZW1TeW5jOjp+RE9NRmlsZVN5c3Rl
bVN5bmMoKQoreworfQorCitQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gRE9NRmlsZVN5
c3RlbVN5bmM6OnJvb3QoKQoreworICAgIHJldHVybiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0
ZSh0aGlzLCBET01GaWxlUGF0aDo6cm9vdCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRlY2Y0NjE0OWI3OGI4NDcwOGY1N2U0Mzc5M2M4MTVlODYzYWU0ZTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaApAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBET01GaWxlU3lzdGVtU3luY19oCisjZGVmaW5lIERPTUZpbGVTeXN0
ZW1TeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVT
eXN0ZW1CYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50
cnlTeW5jOworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBET01GaWxlU3lz
dGVtU3luYyA6IHB1YmxpYyBET01GaWxlU3lzdGVtQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUs
IFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5jKG5hbWUsIGFzeW5jRmls
ZVN5c3RlbSkpOworICAgIH0KKworICAgIC8vIFRoaXMgY2FsbCBpcyBkZXN0cnVjdGl2ZTsgdGhl
IGFyZ3VtZW50IGZpbGVTeXN0ZW0gd2lsbCBiZWNvbWUgdW51c2FibGUuCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmls
ZVN5c3RlbSk7CisKKyAgICB2aXJ0dWFsIH5ET01GaWxlU3lzdGVtU3luYygpOworCisgICAgUGFz
c1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHJvb3QoKTsKKworcHJpdmF0ZToKKyAgICBET01G
aWxlU3lzdGVtU3luYyhjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtPik7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjZW5kaWYgLy8gRE9NRmlsZVN5c3RlbVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUxZDhjY2Q2MjAwYTc0YWFlYTBlNDI3NjQ3OTJj
NmFmNjE3Zjk2MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtU3luYy5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNU
YWJsZXMKKyAgICBdIERPTUZpbGVTeXN0ZW1TeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRGlyZWN0b3J5
RW50cnlTeW5jIHJvb3Q7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCmlu
ZGV4IDk1YzEyZTQ4ZjgxMGIxYmRlMDgwMTM4MDMxN2Y2NzJjN2Y4NmVjYzQuLmY3ODc4N2E0YmNk
N2YzZTVhNjU0NjkzYjM2MDViNjgzMjRiODQxZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5
LmNwcApAQCAtNTEsMTIgKzUxLDEyIEBAIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBEaXJl
Y3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKIAogdm9pZCBEaXJlY3RvcnlFbnRyeTo6Z2V0Rmls
ZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRy
PEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrKQogewotICAgIG1fZmlsZVN5c3RlbS0+Z2V0RmlsZSh0aGlzLCBwYXRo
LCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVt
KCktPmdldEZpbGUodGhpcywgcGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxs
YmFjayk7CiB9CiAKIHZvaWQgRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShjb25zdCBTdHJp
bmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJh
Y2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrKQogewotICAgIG1fZmlsZVN5c3RlbS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdz
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIGZpbGVzeXN0ZW0oKS0+Z2V0
RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJh
Y2spOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5j
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ODZkZDc4MjVlOTAyOTVlYTAzNzVmYWYwY2Y3OTY5MzI5YTI2ODE0
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5j
cHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXJlY3Rv
cnlFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRp
cmVjdG9yeVJlYWRlclN5bmMuaCIKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJG
aWxlRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitEaXJlY3RvcnlFbnRyeVN5bmM6OkRpcmVjdG9yeUVudHJ5U3luYyhET01G
aWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6
IEVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1JlZlB0cjxEaXJl
Y3RvcnlSZWFkZXJTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZVJlYWRlcihFeGNlcHRp
b25Db2RlJikKK3sKKyAgICByZXR1cm4gRGlyZWN0b3J5UmVhZGVyU3luYzo6Y3JlYXRlKG1fZmls
ZVN5c3RlbSwgbV9mdWxsUGF0aCk7Cit9CisKK1Bhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gRGly
ZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+
LCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxEaXJl
Y3RvcnlFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0
cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhN
RTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
MDsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBiL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjU5NTNhNmVkOWZh
Mjg5Y2FhNDliZGY4MTIwNjhjODIxYzI4NDMyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVj
dG9yeUVudHJ5U3luY19oCisjZGVmaW5lIERpcmVjdG9yeUVudHJ5U3luY19oCisKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGbGFn
cy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmM7CitjbGFzcyBGaWxlRW50cnlTeW5jOworCitj
bGFzcyBEaXJlY3RvcnlFbnRyeVN5bmMgOiBwdWJsaWMgRW50cnlTeW5jIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IGNyZWF0ZShET01GaWxlU3lz
dGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5RW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1
bGxQYXRoKSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KKworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gY3Jl
YXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+
IGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9u
Q29kZSYpOworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBnZXREaXJlY3Rvcnko
Y29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpOwor
Citwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CisgICAgRGlyZWN0b3J5RW50
cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQ
YXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNU
RU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzc5NmJmYzczZDNlOGVhOTdjMzI3NWQzODYw
MTA3NDMwYjJiNGRiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eUVudHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJh
dGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0
aWNUYWJsZXMKKyAgICBdIERpcmVjdG9yeUVudHJ5U3luYyA6IEVudHJ5U3luYyB7CisgICAgICAg
IERpcmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVhZGVyKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9u
KTsKKyAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5U3luYyBnZXRGaWxlKGluIFtDb252ZXJ0VW5k
ZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gRmxhZ3MgZmxhZ3Mp
IHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIERpcmVjdG9yeUVudHJ5
U3luYyBnZXREaXJlY3RvcnkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyBwYXRoLCBpbiBGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsK
KyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlci5j
cHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcAppbmRleCAwOTJmOTc2NDM4
NDJiZDE2ZjUzNmU0NjE3NTNlM2E3OGY4NTdmMTMyLi4zNmRlODg1YTM4MGM3MDFhZmRmYzFmNjgw
Y2RkZWQ3MWQ3Y2RkZmNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcApAQCAtMzMs
MjcgKzMzLDI1IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAKLSNpbmNsdWRlICJET01G
aWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRW50cmllc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRW50
cnlBcnJheS5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJGaWxlRXJy
b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EaXJlY3RvcnlSZWFkZXI6OkRpcmVjdG9y
eVJlYWRlcihQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpCi0gICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKLSAgICAsIG1fZnVs
bFBhdGgoZnVsbFBhdGgpCi0gICAgLCBtX2hhc01vcmUodHJ1ZSkKK0RpcmVjdG9yeVJlYWRlcjo6
RGlyZWN0b3J5UmVhZGVyKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVhZGVyQmFzZShmaWxlU3lzdGVtLCBmdWxs
UGF0aCkKIHsKIH0KIAogdm9pZCBEaXJlY3RvcnlSZWFkZXI6OnJlYWRFbnRyaWVzKFBhc3NSZWZQ
dHI8RW50cmllc0NhbGxiYWNrPiBlbnRyaWVzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKICAgICBpZiAoIW1faGFzTW9yZSkgewotICAgICAgICBt
X2ZpbGVTeXN0ZW0tPnNjaGVkdWxlQ2FsbGJhY2soZW50cmllc0NhbGxiYWNrLCBFbnRyeUFycmF5
OjpjcmVhdGUoKSk7CisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlbnRy
aWVzQ2FsbGJhY2ssIEVudHJ5QXJyYXk6OmNyZWF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBtX2ZpbGVTeXN0ZW0tPnJlYWREaXJlY3RvcnkodGhpcywgbV9mdWxsUGF0aCwgZW50
cmllc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPnJlYWREaXJl
Y3RvcnkodGhpcywgbV9mdWxsUGF0aCwgZW50cmllc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaAppbmRleCAzMzU4
ODUzNTA3N2Q5NGE5MDFhNDkxODEyYWIwZTVkNzBhYzNjMDE2Li5jYTdhZWRjMDAxMzlkMTMzOTAy
NjgwNGZjNDZiMGIyNzZlODE1YjQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oCkBAIC0z
NCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiRE9NRmls
ZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2UuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ0LDIzICs0NSwxOSBAQCBjbGFzcyBFbnRyaWVzQ2FsbGJh
Y2s7CiBjbGFzcyBFbnRyaWVzQ2FsbGJhY2tzOwogY2xhc3MgRXJyb3JDYWxsYmFjazsKIAotY2xh
c3MgRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5UmVhZGVyPiB7
CitjbGFzcyBEaXJlY3RvcnlSZWFkZXIgOiBwdWJsaWMgRGlyZWN0b3J5UmVhZGVyQmFzZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGUoUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIHBhdGgpCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGUoRE9NRmlsZVN5c3Rl
bUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJlYWRlcihmaWxlU3lzdGVtLCBwYXRoKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5UmVhZGVyKGZpbGVTeXN0ZW0s
IGZ1bGxQYXRoKSk7CiAgICAgfQogCi0gICAgRE9NRmlsZVN5c3RlbSogZmlsZXN5c3RlbSgpIGNv
bnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsgfQogICAgIHZvaWQgcmVhZEVudHJpZXMo
UGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0g
MCk7Ci0gICAgdm9pZCBzZXRIYXNNb3JlKGJvb2wgaGFzTW9yZSkgeyBtX2hhc01vcmUgPSBoYXNN
b3JlOyB9CiAKLXByaXZhdGU6Ci0gICAgRGlyZWN0b3J5UmVhZGVyKFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBwYXRoKTsKKyAgICBET01GaWxlU3lz
dGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NRmlsZVN5c3Rl
bSo+KG1fZmlsZVN5c3RlbSk7IH0KIAotICAgIFJlZlB0cjxET01GaWxlU3lzdGVtPiBtX2ZpbGVT
eXN0ZW07Ci0gICAgU3RyaW5nIG1fZnVsbFBhdGg7Ci0gICAgYm9vbCBtX2hhc01vcmU7Citwcml2
YXRlOgorICAgIERpcmVjdG9yeVJlYWRlcihET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaCBiL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNkZWM4NjM0NDZlNGQ1MzgxMGQ0
MTMwYmEzMDhlMjdmNmVjMTA5YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXJCYXNlLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGlyZWN0b3J5UmVh
ZGVyQmFzZV9oCisjZGVmaW5lIERpcmVjdG9yeVJlYWRlckJhc2VfaAorCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbUJhc2UuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3Rv
cnlSZWFkZXJCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5UmVhZGVyQmFzZT4gewor
cHVibGljOgorICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1
cm4gbV9maWxlU3lzdGVtOyB9CisgICAgdm9pZCBzZXRIYXNNb3JlKGJvb2wgaGFzTW9yZSkgeyBt
X2hhc01vcmUgPSBoYXNNb3JlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBEaXJlY3RvcnlSZWFkZXJC
YXNlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KQorICAgICAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lzdGVtKQorICAgICAgICAsIG1fZnVsbFBh
dGgoZnVsbFBhdGgpCisgICAgICAgICwgbV9oYXNNb3JlKHRydWUpCisgICAgeworICAgIH0KKwor
ICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBh
dGg7CisgICAgYm9vbCBtX2hhc01vcmU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlSZWFk
ZXJCYXNlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MDBhYjdmNmVmZTJiNWM1ZWE5YTE3ZDBjOTYxMTRhZDQyOTk3NDVjCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5o
IgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMu
aCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJlY3RvcnlSZWFkZXJTeW5jOjpEaXJlY3Rv
cnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVhZGVyQmFzZShmaWxlU3lzdGVtLCBmdWxsUGF0
aCkKK3sKK30KKworUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4gRGlyZWN0b3J5UmVhZGVyU3lu
Yzo6cmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShG
SUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJT
eW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI1NjQ4NjUxYWI5ZjNiZjY0MTdmNzNmMzcyMDA1Y2M4NTNiZGEyZGMKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCkBAIC0wLDAgKzEsNjEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIERpcmVjdG9yeVJlYWRlclN5bmNfaAorI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJT
eW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeVJl
YWRlckJhc2UuaCIKKyNpbmNsdWRlICJFbnRyeUFycmF5U3luYy5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJl
YWRlclN5bmMgOiBwdWJsaWMgRGlyZWN0b3J5UmVhZGVyQmFzZSB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1C
YXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlSZWFkZXJTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQ
YXRoKSk7CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4gcmVhZEVudHJp
ZXMoRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRlOgorICAgIERpcmVjdG9yeVJlYWRlclN5bmMo
RE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwor
fTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2VuZGlmIC8vIERpcmVjdG9yeVJlYWRlclN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMzk5MjgzMjY3ZjhhNWJlYTJjZWYwZTY0ODdhMWZm
OGQ2ODMyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyU3luYy5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgTm9TdGF0aWNU
YWJsZXMKKyAgICBdIERpcmVjdG9yeVJlYWRlclN5bmMgeworICAgICAgICBFbnRyeUFycmF5U3lu
YyByZWFkRW50cmllcygpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnku
Y3BwCmluZGV4IDk2OWFlMmI2ZGU2Y2I0OWRlOTA5ZTc2ZDMzZGVkNGMyMTcxMWRmOGIuLjk3YTMy
NzA4ZTJmODBmMTVhYjU3MjI0MmNlNGVjNjA5Mjg4NWNmNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9FbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5LmNwcApAQCAtNDMs
MzUgKzQzLDMzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEVudHJ5OjpFbnRyeShET01GaWxl
U3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQotICAgIDogbV9maWxl
U3lzdGVtKGZpbGVTeXN0ZW0pCi0gICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQotICAgICwgbV9u
YW1lKERPTUZpbGVQYXRoOjpnZXROYW1lKGZ1bGxQYXRoKSkKKyAgICA6IEVudHJ5QmFzZShmaWxl
U3lzdGVtLCBmdWxsUGF0aCkKIHsKIH0KIAogdm9pZCBFbnRyeTo6Z2V0TWV0YWRhdGEoUGFzc1Jl
ZlB0cjxNZXRhZGF0YUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JD
YWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBtX2ZpbGVTeXN0ZW0tPmdldE1ldGFkYXRh
KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAgZmlsZXN5c3RlbSgp
LT5nZXRNZXRhZGF0YSh0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQog
CiB2b2lkIEVudHJ5Ojptb3ZlVG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJp
bmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spIGNvbnN0CiB7Ci0gICAgbV9maWxl
U3lzdGVtLT5tb3ZlKHRoaXMsIHBhcmVudCwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPm1vdmUodGhpcywgcGFyZW50LCBuYW1lLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiB2b2lkIEVudHJ5Ojpjb3B5VG8oUGFz
c1JlZlB0cjxFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50
cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2spIGNvbnN0CiB7Ci0gICAgbV9maWxlU3lzdGVtLT5jb3B5KHRoaXMsIHBhcmVu
dCwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVt
KCktPmNvcHkodGhpcywgcGFyZW50LCBuYW1lLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJh
Y2spOwogfQogCiB2b2lkIEVudHJ5OjpyZW1vdmUoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKSBj
b25zdAogewotICAgIG1fZmlsZVN5c3RlbS0+cmVtb3ZlKHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjayk7CisgICAgZmlsZXN5c3RlbSgpLT5yZW1vdmUodGhpcywgc3VjY2Vzc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogdm9pZCBFbnRyeTo6Z2V0UGFyZW50KFBhc3NS
ZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2spIGNvbnN0CiB7Ci0gICAgbV9maWxlU3lzdGVtLT5nZXRQYXJl
bnQodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVt
KCktPmdldFBhcmVudCh0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQog
CiBTdHJpbmcgRW50cnk6OnRvVVJJKGNvbnN0IFN0cmluZyYpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2ZpbGVhcGkvRW50cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5oCmluZGV4IDlhZjUzMmY5
YmFhYzU1ZGMxMTQ0MmI4ZWUwNzkzYTU5ZjlkZTA4YTEuLmI3NWYxZWRlMWQwOThhZjM2YzA0YmMw
NWUyM2Q4MjU4Y2U0MGNhYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxF
KEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkVu
dHJ5QmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KIApAQCAtNDQsMTcgKzQ1LDExIEBAIGNsYXNzIEVycm9yQ2FsbGJhY2s7CiBj
bGFzcyBNZXRhZGF0YUNhbGxiYWNrOwogY2xhc3MgVm9pZENhbGxiYWNrOwogCi1jbGFzcyBFbnRy
eSA6IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5PiB7CitjbGFzcyBFbnRyeSA6IHB1YmxpYyBFbnRy
eUJhc2UgewogcHVibGljOgogICAgIHZpcnR1YWwgfkVudHJ5KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
aXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotCi0gICAgY29uc3QgU3RyaW5n
JiBmdWxsUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbFBhdGg7IH0KLSAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KLQotICAgIERPTUZpbGVTeXN0ZW0q
IGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2ZpbGVTeXN0ZW07IH0KKyAgICBET01GaWxl
U3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NRmlsZVN5
c3RlbSo+KG1fZmlsZVN5c3RlbSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBnZXRNZXRhZGF0YShQ
YXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQ
dHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwogICAgIHZpcnR1YWwgdm9pZCBt
b3ZlVG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUgPSBTdHJp
bmcoKSwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSAwKSBjb25zdDsKQEAgLTY2LDEw
ICs2MSw2IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIEVudHJ5KERPTUZpbGVTeXN0ZW0q
IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwotCi0gICAgRE9NRmlsZVN5c3Rl
bSogbV9maWxlU3lzdGVtOwotICAgIFN0cmluZyBtX2Z1bGxQYXRoOwotICAgIFN0cmluZyBtX25h
bWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZGJmMmRjZGU3ZWExNGM3OTFhOWI3ZTdkNjk2MDk4ZTQ0OTg5Mzc2
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcApA
QCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5QXJyYXlT
eW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworRW50cnlBcnJheVN5bmM6OkVudHJ5QXJyYXlTeW5jKCkKK3sKK30KKworRW50cnlTeW5jKiBF
bnRyeUFycmF5U3luYzo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5k
ZXggPj0gbV9lbnRyaWVzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1f
ZW50cmllc1tpbmRleF0uZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2UxMzEyZmQ1YjM5ZjQ0YjEyZmM4MDJlMTZjNzFiN2VjM2U3YzI3ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oCkBAIC0wLDAgKzEsNjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEVudHJ5QXJyYXlTeW5jX2gKKyNkZWZpbmUgRW50cnlBcnJheVN5bmNfaAorCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJ5QXJyYXk7CisKK2NsYXNzIEVudHJ5QXJyYXlT
eW5jIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnlBcnJheVN5bmM+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRW50cnlBcnJheVN5bmMoKSk7CisgICAgfQorCisgICAgdW5z
aWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVzLnNpemUoKTsgfQorICAgIEVu
dHJ5U3luYyogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisgICAgdm9pZCBzZXQodW5zaWdu
ZWQgaW5kZXgsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBlbnRyeSk7CisKKyAgICBib29sIGlzRW1w
dHkoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXMuaXNFbXB0eSgpOyB9CisgICAgdm9pZCBjbGVh
cigpIHsgbV9lbnRyaWVzLmNsZWFyKCk7IH0KKyAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPEVu
dHJ5U3luYz4gZW50cnkpIHsgbV9lbnRyaWVzLmFwcGVuZChlbnRyeSk7IH0KKworcHJpdmF0ZToK
KyAgICBFbnRyeUFycmF5U3luYygpOworCisgICAgVmVjdG9yPFJlZlB0cjxFbnRyeVN5bmM+ID4g
bV9lbnRyaWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50cnlBcnJheVN5bmNfaApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGYzM2VlZTlkMjc0ZDJiNmNiMGU4ODlj
YzM2OGQ2MWJiNTNmOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgSGFzSW5kZXhH
ZXR0ZXIsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBFbnRyeUFycmF5U3luYyB7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAg
RW50cnlTeW5jIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIH07
Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmggYi9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIzNDU4MDQyN2MwNWNjNzZmMzI3OWMzODgx
OTlmYmMwZTczYzhiZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJh
c2UuaApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRyeUJhc2VfaAorI2RlZmluZSBFbnRyeUJh
c2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGgu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBET01GaWxlU3lzdGVtQmFzZTsKK2NsYXNzIEVudHJ5U3luYzsKKworLy8gQSBjb21t
b24gYmFzZSBjbGFzcyBmb3IgRW50cnkgYW5kIEVudHJ5U3luYy4KK2NsYXNzIEVudHJ5QmFzZSA6
IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5QmFzZT4geworcHVibGljOgorICAgIHZpcnR1YWwgfkVu
dHJ5QmFzZSgpIHsgfQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KKworICAgIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7IHJldHVybiBt
X2Z1bGxQYXRoOyB9CisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CisKK3Byb3RlY3RlZDoKKyAgICBFbnRyeUJhc2UoRE9NRmlsZVN5c3RlbUJhc2UqIGZp
bGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgICAgIDogbV9maWxlU3lzdGVt
KGZpbGVTeXN0ZW0pCisgICAgICAgICwgbV9mdWxsUGF0aChmdWxsUGF0aCkKKyAgICB7CisgICAg
fQorCisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKworICAgIERPTUZpbGVTeXN0ZW1CYXNl
KiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7CisgICAgU3RyaW5nIG1fbmFt
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QmFzZV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZhYWEzNTZjNzRiMmU3OWNhYzQ4MDdjMjZlNzUxZmYwZDQ5NGY2MzgKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxF
KEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNpbmNsdWRlICJEaXJl
Y3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJNZXRhZGF0YS5oIgorI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlTeW5jOjpFbnRyeVN5
bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CisgICAgOiBFbnRyeUJhc2UoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQ
dHI8TWV0YWRhdGE+IEVudHJ5U3luYzo6Z2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29kZSYpCit7Cisg
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6Om1vdmVU
byhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4sIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPEVudHJ5U3lu
Yz4gRW50cnlTeW5jOjpjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+LCBjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUg
aW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
dm9pZCBFbnRyeVN5bmM6OnJlbW92ZShFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICAvLyBG
SVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworUGFz
c1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6Z2V0UGFyZW50KCkgY29uc3QKK3sKKyAgICAv
LyBTeW5jIHZlcmlvbiBvZiBnZXRQYXJlbnQgZG9lc24ndCB0aHJvdyBleGNlcHRpb25zLgorICAg
IFN0cmluZyBwYXJlbnRQYXRoID0gRE9NRmlsZVBhdGg6OmdldERpcmVjdG9yeShmdWxsUGF0aCgp
KTsKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVhdGUobV9maWxlU3lzdGVtLCBw
YXJlbnRQYXRoKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxF
X1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaCBiL1dlYkNv
cmUvZmlsZWFwaS9FbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTdkYjYwY2U5NjcwYjNjZWUxY2Fi
ZGRmODlkOTFlOTBmMGQ4NmViCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5U3luYy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5U3luY19oCisjZGVmaW5lIEVu
dHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxl
U3lzdGVtU3luYy5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmM7CitjbGFzcyBNZXRhZGF0YTsKKworY2xh
c3MgRW50cnlTeW5jIDogcHVibGljIEVudHJ5QmFzZSB7CitwdWJsaWM6CisgICAgRE9NRmlsZVN5
c3RlbVN5bmMqIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxET01GaWxl
U3lzdGVtU3luYyo+KG1fZmlsZVN5c3RlbSk7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxN
ZXRhZGF0YT4gZ2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxFbnRyeVN5bmM+IG1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcGFy
ZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRy
eVN5bmM+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdmly
dHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZ2V0UGFyZW50KCkgY29uc3Q7CisKK3Byb3RlY3Rl
ZDoKKyAgICBFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5U3luY19oCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZiN2VlM2MzOGM5NTQ5NDg4MzgzMTk5ZTc2NTNhNTkyZmZmNzNmNTUKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbApAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDdXN0b21Ub0pTLAorICAgICAgICBOb1N0YXRpY1Rh
YmxlcworICAgIF0gRW50cnlTeW5jIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gaXNGaWxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0RpcmVjdG9y
eTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NRmlsZVN5c3RlbVN5bmMgZmlsZXN5c3RlbTsKKworICAgICAgICBNZXRhZGF0
YSBnZXRNZXRhZGF0YSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIEVudHJ5U3lu
YyBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0NvbnZlcnRVbmRlZmlu
ZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRp
b24pOworICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJl
bnQsIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFt
ZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1vdmUoKSByYWlzZXMg
KEZpbGVFeGNlcHRpb24pOworICAgICAgICBEaXJlY3RvcnlFbnRyeVN5bmMgZ2V0UGFyZW50KCk7
CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNw
cCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGUzZjgz
ODEwMmI3ODJkNGU5NWNkOTNmYmEyNzllOThmMzkzODBlCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVFbnRyeVN5bmM6OkZpbGVFbnRy
eVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBh
dGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK30gLy8g
bmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRy
eVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MjJkMmMzNThiMmIzYmEyNGVmZmYxZmVjYzc2ODAwYjhmMjA1
OWZhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaApA
QCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlRW50cnlTeW5jX2gKKyNkZWZpbmUgRmlsZUVudHJ5
U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRyeVN5bmMu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBGaWxlRW50cnlTeW5jIDogcHVibGljIEVudHJ5U3luYyB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNl
KiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBGaWxlRW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7Cisg
ICAgfQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
KworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgRW50cnlTeW5jOworICAgIEZpbGVFbnRyeVN5
bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
OworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkK
KworI2VuZGlmIC8vIEZpbGVFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFbnRyeVN5bmMuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY1MDU5MDEyZjgwYTk2MWIwMGY1ODVhYzI2YTk3NmI3MjBjOTM3YTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwKQEAgLTAsMCAr
MSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisgICAg
ICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIEZpbGVFbnRy
eVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICAvLyBGSVhNRTogdG8gYmUgYWRkZWQuCisgICAg
ICAgIC8vIEZpbGVXcml0ZXJTeW5jIGNyZWF0ZVdyaXRlcigpOworICAgICAgICAvLyBGaWxlIGZp
bGUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69567</attachid>
            <date>2010-10-01 23:43:29 -0700</date>
            <delta_ts>2010-10-05 05:21:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20101001234328.patch</filename>
            <type>text/plain</type>
            <size>145984</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTFhNjIzNGYxOGJlOGFiNzljMzJlZTAzZTMxZWJiZTJhYWU5NTUwLi5hM2MxYjhm
ZDM2MzdjYmNlYWUwMDcxMGMxYmY1OTEyYmM4YTgwMGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICBBbiBlbnRyeSBtZXRob2QgKHJlcXVlc3RGaWxlU3lzdGVt
U3luYykgaXMgbm90IHlldCBleHBvc2VkIHRvIHRoZQorICAgICAgICBXb3JrZXJDb250ZXh0IGlu
IHRoaXMgcGF0Y2gsIHNvIHdvcmtlcnMvc2ltcGxlLSotc3luYy1leHBlY3RlZC50eHQKKyAgICAg
ICAgaGF2ZSByZWZlcmVuY2UgZXJyb3JzIGZvciBub3cuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qczogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3Jhcnku
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBl
cnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3Vy
Y2VzL2ZzLXRlc3QtcG9zdC5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBBZGRlZCBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycworICAg
ICAgICBub3QgdG8gcnVuIHRoZW0gaW4gcmVndWxhciB0ZXN0IHJ1bnMuCisKIDIwMTAtMDktMzAg
IEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBCdWlsZCBmaXguIE5v
dCByZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9y
ZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmJhMWYxOWM4YWViYWE5
YmYyZjYxOTRiYTExNGFmODNkY2ZiMzgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzCkBAIC0wLDAgKzEs
MzcgQEAKK2Z1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UobWVzc2Fn
ZSk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaEpTVGVzdCgpCit7CisgICAgcG9zdE1lc3NhZ2UoIkRP
TkUiKTsKK30KKworZnVuY3Rpb24gZGVzY3JpcHRpb24obWVzc2FnZSkKK3sKKyAgICBwb3N0TWVz
c2FnZSgnRGVzY3JpcHRpb246ICcgKyBtZXNzYWdlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmUo
X2EsIF9iKQoreworICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAi
c3RyaW5nIikKKyAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmluZyBhcmd1
bWVudHMiKTsKKyAgdmFyIF9hdiA9IGV2YWwoX2EpOworICB2YXIgX2J2ID0gZXZhbChfYik7Cisg
IGlmIChfYXYgPT09IF9idikKKyAgICBkZWJ1ZygiUEFTUzogIiArIF9hICsgIiBpcyAiICsgX2Ip
OworICBlbHNlCisgICAgZGVidWcoIkZBSUw6ICIgKyBfYSArICIgc2hvdWxkIGJlICIgKyBfYnYg
KyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlw
ZSAiICsgdHlwZW9mIF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVRydWUoX2Ep
IHsgc2hvdWxkQmUoX2EsICJ0cnVlIik7IH0KKworaWYgKHRoaXMuaW1wb3J0U2NyaXB0cyAmJiAh
dGhpcy5yZXF1ZXN0RmlsZVN5c3RlbSkgeworICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMg
RmlsZVN5c3RlbSBBUEkuJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubWVzc2FnZSA9
IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgaW1wb3J0U2NyaXB0cyhldmVudC5kYXRhKTsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2Vy
LXRlc3QtcG9zdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMt
d29ya2VyLXRlc3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzRiMDI1MmYxNDY0N2QwNWU5OWMwM2Y4
NTE3MmRiNTUyOTg3YzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsOCBAQAor
d2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KK2lmICh3aW5kb3cud2FzRmluaXNo
SlNUZXN0Q2FsbGVkKQorICAgIGZpbmlzaEpTVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NGUwZmFkOTUxNmIxNTIxYzU0MzhlMGNhYzBmZmNiMWYwODE3ZTBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13
b3JrZXItdGVzdC1wcmUuanMKQEAgLTAsMCArMSwzNyBAQAoraWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1
bmN0aW9uIGRlYnVnKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK2Z1bmN0aW9uIHN0
YXJ0V29ya2VyKHRlc3RTY3JpcHRVUkwpCit7CisgICAgZGVidWcoJ1N0YXJ0aW5nIHdvcmtlcjog
JyArIHRlc3RTY3JpcHRVUkwpOworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcuLi9yZXNv
dXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh0ZXN0
U2NyaXB0VVJMKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCisgICAg
eworICAgICAgICBkZWJ1ZyhldmVudC5kYXRhKTsKKyAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT0g
IkRPTkUiKQorICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfTsKKworICAgIHdvcmtl
ci5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBhbGVydChldmVudCk7
CisgICAgICAgIGRlYnVnKCdHb3QgZXJyb3IgZnJvbSB3b3JrZXI6ICcgKyBldmVudC5tZXNzYWdl
KTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBmaW5pc2hK
U1Rlc3QoKQoreworICAgIHdhc0ZpbmlzaEpTVGVzdENhbGxlZCA9IHRydWU7CisgICAgaWYgKCF3
aW5kb3cud2FzUG9zdFRlc3RTY3JpcHRQYXJzZWQpCisgICAgICAgIHJldHVybjsKKyAgICBkZWJ1
ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM1YjAwOTAwZmI5MmFjZmE3Njk2NDZiMjgzOWMyMTRlMTk1MTEyZGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1w
ZXJzaXN0ZW50LXN5bmMuanMKQEAgLTAsMCArMSw5IEBACitkZXNjcmlwdGlvbigicmVxdWVzdEZp
bGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1
ZXN0RmlsZVN5c3RlbVN5bmMoUEVSU0lTVEVOVCwgMTAwKTsKKworZGVidWcoIlN1Y2Nlc3NmdWxs
eSBvYnRhaW5lZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0ZW0ubmFtZSk7Citz
aG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CitzaG91bGRCZSgiZmls
ZVN5c3RlbS5yb290LmZ1bGxQYXRoIiwgJyIvIicpOworZmluaXNoSlNUZXN0KCk7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
OWY3NGFkOTE4OGQ5MTI2ODdmNjdhZTFhNDVhYjBhNWJhNTJlZGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50
LmpzCkBAIC0wLDAgKzEsMjAgQEAKK2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3RlbSBQRVJT
SVNURU5UIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gbnVsbDsKKworZnVuY3Rpb24gZXJy
b3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVnKCJFcnJvciBvY2N1cmVkIHdoaWxlIHJlcXVl
c3RpbmcgYSBQRVJTSVNURU5UIGZpbGUgc3lzdGVtOiIgKyBlcnJvci5jb2RlKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7CisgICAgZmls
ZVN5c3RlbSA9IGZzOworICAgIGRlYnVnKCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVO
VCBGaWxlU3lzdGVtOiIgKyBmaWxlU3lzdGVtLm5hbWUpOworICAgIHNob3VsZEJlVHJ1ZSgiZmls
ZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAiKTsKKyAgICBzaG91bGRCZSgiZmlsZVN5c3RlbS5yb290
LmZ1bGxQYXRoIiwgJyIvIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIganNUZXN0
SXNBc3luYyA9IHRydWU7CityZXF1ZXN0RmlsZVN5c3RlbShQRVJTSVNURU5ULCAxMDAsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2lt
cGxlLXRlbXBvcmFyeS1zeW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291
cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMzZjFkOWExNDA0MGI3
M2E4YTVmZTgxMzJiOGExODljZjZiZDYwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzCkBAIC0w
LDAgKzEsOSBAQAorZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtU3luYyBURU1QT1JBUlkg
dGVzdC4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1ZXN0RmlsZVN5c3RlbVN5bmMoVEVNUE9S
QVJZLCAxMDApOworCitkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFRFTVBPUkFSWSBGaWxl
U3lzdGVtOiIgKyBmaWxlU3lzdGVtLm5hbWUpOworc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtLm5h
bWUubGVuZ3RoID4gMCIpOworc2hvdWxkQmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICci
LyInKTsKK2ZpbmlzaEpTVGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10
ZW1wb3JhcnkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBs
ZS10ZW1wb3JhcnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQ4Njg1YzllMTJjNTQzZmVjYzhlY2MxYjZhYjBm
ZDhmYTNiYmVlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qcwpAQCAtMCwwICsxLDIwIEBACitkZXNjcmlw
dGlvbigicmVxdWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lz
dGVtID0gbnVsbDsKKworZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikgeworICAgIGRlYnVn
KCdFcnJvciBvY2N1cmVkIHdoaWxlIHJlcXVlc3RpbmcgYSBURU1QT1JBUlkgZmlsZSBzeXN0ZW06
JyArIGVycm9yLmNvZGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBzdWNj
ZXNzQ2FsbGJhY2soZnMpIHsKKyAgICBmaWxlU3lzdGVtID0gZnM7CisgICAgZGVidWcoIlN1Y2Nl
c3NmdWxseSBvYnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1l
KTsKKyAgICBzaG91bGRCZVRydWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAg
c2hvdWxkQmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0
ZW0oVEVNUE9SQVJZLCAxMDAsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIwNDJiMTFjZGQzMWJiNTEyZjZhNWUzOTU3MWZiOTllN2NmZmFiZjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVz
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBvYnRhaW5l
ZCBQRVJTSVNURU5UIEZpbGVTeXN0ZW06VGVzdFNoZWxsRmlsZVN5c3RlbQorUEFTUyBmaWxlU3lz
dGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTIGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0
aCBpcyAiLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNp
c3RlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtcGVyc2lzdGVu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxNzdjMjYzZDg4ZDM3ZDI3NDIzMmU5ZmIxNDVhMGRlN2ZlNDk2
MjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxl
LXBlcnNpc3RlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YThkNDZmZmJkNDk5YTU2YjE4YTdkNjFkMmU3NTRlNjcyNDI5ZTJjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVlc3RGaWxlU3lzdGVtIFRFTVBPUkFSWSB0ZXN0
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3VjY2Vzc2Z1bGx5IG9idGFpbmVk
IFRFTVBPUkFSWSBGaWxlU3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1MgZmlsZVN5c3Rl
bS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgg
aXMgIi8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3Jh
cnkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTQ2MmFjNjRlYWM3NGU2ZmJhMzIzZGI4ODcxNjllNjM4MjQ5N2YzYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVt
cG9yYXJ5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jOGVjNWE1ZjMyNTUzMGU1Y2FlOWJjODQ2YmE3MDNkOTQ3MzI4ZWZkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2lt
cGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMg
cmVxdWVzdGluZyBQRVJTSVNURU5UIEZpbGVTeXN0ZW0gaW4gV29ya2VyLgorCitTdGFydGluZyB3
b3JrZXI6IC4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcworRGVzY3JpcHRpb246IHJl
cXVlc3RGaWxlU3lzdGVtIFBFUlNJU1RFTlQgdGVzdC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQ
RVJTSVNURU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJzaXN0ZW50CitQQVNT
OiBmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBmaWxlU3lzdGVtLnJv
b3QuZnVsbFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3lu
Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2ViZmJkNGI2OTQ2
MDI0ODQyN2RjNTcwMjdiMmM2NTJjOTlmM2MyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw4IEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBG
aWxlU3lzdGVtU3luYyBpbiBXb3JrZXIuCisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2Vz
L3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuanMKK0Rlc2NyaXB0aW9uOiByZXF1ZXN0RmlsZVN5c3Rl
bVN5bmMgUEVSU0lTVEVOVCB0ZXN0LgorR290IGVycm9yIGZyb20gd29ya2VyOiBVbmNhdWdodCBS
ZWZlcmVuY2VFcnJvcjogcmVxdWVzdEZpbGVTeXN0ZW1TeW5jIGlzIG5vdCBkZWZpbmVkCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dv
cmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYy
ZjRmNjZjZDE5YWRmZDBjMjY3ZmNjZjVhMDVkZjYwZDExYWI0NDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RF
TlQgRmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQt
c3luYy5qcycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtl
ci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1z
eW5jLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJz
aXN0ZW50LXN5bmMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5ZWQ2YzUwMzRmMTY0ZTdlMTU3NGFiZjE5YjQz
ZTVmODY1MWM2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLnR4dApAQCAtMCwwICsxLDEyIEBACitU
aGlzIHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtU3luYyBpbiBXb3JrZXIu
CisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMu
anMKK1dvcmtlciBzdGFydGVkLgorU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFBFUlNJU1RFTlQgRmls
ZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlBlcnNpc3RlbnQKK1BBU1M6IGZpbGVTeXN0ZW0u
bmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6IGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBp
cyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmExNWJiODQxZTNkOGFiYzBiM2U2MWZlYTVmZmFiZWRhMmIxNTkyOGQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVy
c2lzdGVudC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBQRVJT
SVNURU5UIEZpbGVTeXN0ZW0gaW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQu
anMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFy
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRhN2UyZmYxMzIyZDg2MTI4MjU3NmFiMmZhNDMz
MjYyNzU0NjU2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K1RoaXMgdGVzdHMgcmVxdWVzdGluZyBURU1QT1JBUlkgRmlsZVN5c3RlbSBpbiBXb3JrZXIuCisK
K1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3JhcnkuanMKK0Rlc2Ny
aXB0aW9uOiByZXF1ZXN0RmlsZVN5c3RlbSBURU1QT1JBUlkgdGVzdC4KK1N1Y2Nlc3NmdWxseSBv
YnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbTpodHRwX2xvY2FsaG9zdF84MDgwOlRlbXBvcmFy
eQorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUzogZmlsZVN5
c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jh
cnktc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMjFjMDI4
MzQxYzhiOTA2YjZmM2I2MjMzNTQ3YjA4MGJjOGM5MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFRFTVBPUkFS
WSBGaWxlU3lzdGVtU3luYyBpbiBXb3JrZXIuCisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3Vy
Y2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcworRGVzY3JpcHRpb246IHJlcXVlc3RGaWxlU3lz
dGVtU3luYyBURU1QT1JBUlkgdGVzdC4KK0dvdCBlcnJvciBmcm9tIHdvcmtlcjogVW5jYXVnaHQg
UmVmZXJlbmNlRXJyb3I6IHJlcXVlc3RGaWxlU3lzdGVtU3luYyBpcyBub3QgZGVmaW5lZAorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93
b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIx
NjEzYTgwOGI5NDljNzQxYzdmODVlMWM2NTYzNTRjZjkzZTRmNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3lu
Yy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBURU1QT1JBUlkg
RmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5j
LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMDhhMzI3NzlmZmY1NzBhOGM5ZWNiMzA5NTRjMTBjMDMzYzFiYTU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2lt
cGxlLXRlbXBvcmFyeS5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGlu
ZyBURU1QT1JBUlkgRmlsZVN5c3RlbSBpbiBXb3JrZXIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRXb3JrZXIoJy4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9y
YXJ5LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2Vy
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9mcy10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL3Jlc291cmNlcy9mcy10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NDY1NmZm
N2VlOTQxODYwMzNiMTZiMWE0NzA5NzhhMWVhZDlkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2ZzLXRlc3QtcG9zdC5qcwpAQCAtMCwwICsxLDYgQEAK
K3dhc1Bvc3RUZXN0U2NyaXB0UGFyc2VkID0gdHJ1ZTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Citp
ZiAod2luZG93Lndhc0ZpbmlzaEpTVGVzdENhbGxlZCkKKyAgICBmaW5pc2hKU1Rlc3QoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dAppbmRleCAwZTVkYjAzZDBmZGRhN2U0YWYzYWU1M2JjZDNmY2Y1MzY3NjA5M2UyLi4zODI2NmIx
MzcxNGQ4OTk0OGZiNzk1M2ExZTY3NTIzZjczYTJjMjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0xNTgsNiArMTU4
LDcgQEAgV09OVEZJWCBTS0lQIDogZmFzdC9yZWdleC90ZXN0MS5odG1sID0gUEFTUwogLy8gV2Ug
dXNlIHdvcmtlcl91aXRlc3RzIHRvIHJ1biB3b3JrZXJzIHRlc3RzLiBEb24ndCBydW4gdGhlbSBp
biB0ZXN0X3NoZWxsLgogV09OVEZJWCBTS0lQIDogZmFzdC93b3JrZXJzID0gUEFTUyBUSU1FT1VU
IEZBSUwKIFdPTlRGSVggU0tJUCA6IGZhc3QvZmlsZXMvd29ya2VycyA9IFBBU1MgVElNRU9VVCBG
QUlMCitXT05URklYIFNLSVAgOiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycyA9IFBBU1MgVElNRU9V
VCBGQUlMCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQg
RkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzID0g
UEFTUyBUSU1FT1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
d29ya2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2ZTMyZGRmMjRmMzU0MmVlNGRl
ZWEzNDAxNzc1YTNmNTA5YmE1N2U4Li40YWE5ODY2Yjg4NzY3MWUxYzI3YzViZTUzMTc4NzEwZmQ4
MmNjNDNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE2MTYsMTQgKzE2MTYsMjMgQEAgRU5ESUYgKCkKIGlmIChFTkFC
TEVfRklMRV9TWVNURU0pCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAg
IGJpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAogICAgICAgICBiaW5kaW5ncy9qcy9K
U0VudHJ5Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5j
cHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKKyAgICAgICAgZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeVN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNw
cAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCiAgICAgICAgIGZpbGVh
cGkvRE9NRmlsZVBhdGguY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKyAg
ICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKKyAgICAgICAgZmlsZWFwaS9ET01G
aWxlU3lzdGVtU3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9FbnRyeS5jcHAKICAgICAgICAgZmls
ZWFwaS9FbnRyeUFycmF5LmNwcAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcAor
ICAgICAgICBmaWxlYXBpL0VudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnku
Y3BwCisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAKICAgICAgICAgZmlsZWFwaS9G
aWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwCiAg
ICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcApAQCAtMTYzMSwxNSArMTY0MCwyMSBA
QCBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgICkKICAgICBMSVNUKEFQUEVORCBXZWJDb3Jl
X0lETF9GSUxFUwogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbAorICAgICAgICBm
aWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXIuaWRsCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKICAgICAg
ICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0
ZW1TeW5jLmlkbAogICAgICAgICBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwKICAgICAgICAg
ZmlsZWFwaS9FbnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuaWRsCiAgICAgICAg
IGZpbGVhcGkvRW50cnlBcnJheS5pZGwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5p
ZGwKICAgICAgICAgZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0Vy
cm9yQ2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbAogICAgICAg
ICBmaWxlYXBpL0ZpbGVFbnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlk
bAogICAgICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFw
aS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5pZGwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjEzNTNlMzJjYTFhZGVlYWIzMDI2MzliNzliODMxNGRiMWZkMmNjYy4uZGVhZjZjZGU3Y2Y1MzBm
ZTdiMmMxOWY5NzY1ODI0MzVjZTkyNTBiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAxMC0wOS0zMCAgS2lu
dWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlkbCBhbmQgbW9jayBjbGFzc2VzIGZvciBG
aWxlU3lzdGVtU3luYyBmb3IgRmlsZVN5c3RlbSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NDA1CisKKyAgICAgICAgQWRkZWQgYnVuY2ggb2Yg
KlN5bmMgY2xhc3NlcywgcGx1cyByZWZhY3RvcmVkIHNvbWUgY2xhc3NlczoKKyAgICAgICAgQWRk
ZWQgRE9NRmlsZVN5c3RlbUJhc2UgYXMgYSBjb21tb24gYmFzZSBjbGFzcyBmb3IgRE9NRmlsZVN5
c3RlbSBhbmQKKyAgICAgICAgRE9NRmlsZVN5c3RlbVN5bmMuCisgICAgICAgIEFkZGVkIEVudHJ5
QmFzZSBhcyBhIGNvbW1vbiBiYXNlIGNsYXNzIGZvciBFbnRyeSBhbmQgRW50cnlTeW5jLgorICAg
ICAgICBBZGRlZCBEaXJlY3RvcnlSZWFkZXJCYXNlIGFzIGEgY29tbW9uIGJhc2UgY2xhc3MgZm9y
IERpcmVjdG9yeVJlYWRlciBhbmQKKyAgICAgICAgRGlyZWN0b3J5UmVhZGVyU3luYy4KKworICAg
ICAgICBUZXN0OiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy8KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOiBB
ZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogQWRkZWQgbmV3
IGZpbGVzLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5w
cmk6IEFkZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogQWRkZWQgbmV3IGZp
bGVzLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBBZGRlZCBuZXcg
ZmlsZXMuIEFsc28gcmVtb3ZlZCB0aGUgZHVwbGljYXRlZCBmaWxlYXBpXEZpbGVFbnRyeS5jcHAg
ZW50cnkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRl
ZCBuZXcgZmlsZXMuCisgICAgICAgICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmND
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVu
dHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEVudHJ5U3luY0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5
c3RlbUJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNl
Lmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmg6IEFkZGVkLgorICAgICAg
ICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGly
ZWN0b3J5RW50cnlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50
cnlTeW5jLmlkbDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNl
Lmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA6IEFk
ZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9F
bnRyeUFycmF5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmlkbDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeUJhc2UuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0Vu
dHJ5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmg6IEFkZGVk
LgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmlkbDogQWRkZWQuCisgICAgICAgICogZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50
cnlTeW5jLmg6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGw6IEFk
ZGVkLgorCiAyMDEwLTA5LTMwICBBbGV4ZXkgTWFyaW5pY2hldiAgPGFtYXJpbmljaGV2QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBNYXJyaW4uCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IDg5OGRhNWNhZWM4ZjA2NWFhMzU5NDVlMjRhNmI3Y2U4MDVjNmVmNDYuLjAxZjUwMjM4
Zjc3M2QzMDFlYjBkYTRjYjA5OTkwNjRmOTdkODQ0ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC03NCwx
MyArNzQsMTYgQEAKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwIgogI2lu
Y2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNEaXJlY3Rv
cnlFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIgogI2luY2x1
ZGUgIkpTRGlyZWN0b3J5UmVhZGVyLmNwcCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeVJlYWRlclN5
bmMuY3BwIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTRG9jdW1lbnRG
cmFnbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudFR5cGUuY3BwIgogI2luY2x1ZGUgIkpT
RE9NQXBwbGljYXRpb25DYWNoZS5jcHAiCiAjaW5jbHVkZSAiSlNET01Db3JlRXhjZXB0aW9uLmNw
cCIKICNpbmNsdWRlICJKU0RPTUZpbGVTeXN0ZW0uY3BwIgorI2luY2x1ZGUgIkpTRE9NRmlsZVN5
c3RlbVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRE9NRm9ybURhdGEuY3BwIgogI2luY2x1ZGUgIkpT
RE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NTWltZVR5cGUuY3BwIgpAQCAt
OTksNiArMTAyLDggQEAKICNpbmNsdWRlICJKU0VudHJpZXNDYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNFbnRyeS5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUFycmF5LmNwcCIKKyNpbmNsdWRlICJK
U0VudHJ5QXJyYXlTeW5jLmNwcCIKKyNpbmNsdWRlICJKU0VudHJ5U3luYy5jcHAiCiAjaW5jbHVk
ZSAiSlNFbnRyeUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suY3BwIgog
I2luY2x1ZGUgIkpTRXJyb3JFdmVudC5jcHAiCkBAIC0xMDgsNiArMTEzLDcgQEAKICNpbmNsdWRl
ICJKU0ZpbGUuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJK
U0ZpbGVFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRW50cnlTeW5jLmNwcCIKICNpbmNsdWRl
ICJKU0ZpbGVFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlRXhjZXB0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0ZpbGVMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZmRhNWU5OGJlMWE2OWY3
Y2NhNTdmNmE4YTAxZTBmYzQ1NTZkYmFiLi4zNDJiYjdiNWE2OWJlYWE1ZmE5NThlNDkzNmM2ZDc5
ZWY4MGRlZmQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTQsNiArMTE0LDcgQEAgRE9NX0NMQVNT
RVMgPSBcCiAgICAgRE9NQXBwbGljYXRpb25DYWNoZSBcCiAgICAgRE9NQ29yZUV4Y2VwdGlvbiBc
CiAgICAgRE9NRmlsZVN5c3RlbSBcCisgICAgRE9NRmlsZVN5c3RlbVN5bmMgXAogICAgIERPTUZv
cm1EYXRhIFwKICAgICBET01JbXBsZW1lbnRhdGlvbiBcCiAgICAgRE9NTWltZVR5cGUgXApAQCAt
MTMyLDcgKzEzMyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERldmljZU1vdGlvbkV2ZW50IFwK
ICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IFwKICAgICBEaXJlY3RvcnlFbnRyeSBcCisgICAg
RGlyZWN0b3J5RW50cnlTeW5jIFwKICAgICBEaXJlY3RvcnlSZWFkZXIgXAorICAgIERpcmVjdG9y
eVJlYWRlclN5bmMgXAogICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVudEZyYWdtZW50IFwKICAg
ICBEb2N1bWVudFR5cGUgXApAQCAtMTQyLDcgKzE0NSw5IEBAIERPTV9DTEFTU0VTID0gXAogICAg
IEVudGl0eVJlZmVyZW5jZSBcCiAgICAgRW50cmllc0NhbGxiYWNrIFwKICAgICBFbnRyeSBcCisg
ICAgRW50cnlTeW5jIFwKICAgICBFbnRyeUFycmF5IFwKKyAgICBFbnRyeUFycmF5U3luYyBcCiAg
ICAgRW50cnlDYWxsYmFjayBcCiAgICAgRXJyb3JDYWxsYmFjayBcCiAgICAgRXJyb3JFdmVudCBc
CkBAIC0xNTQsNiArMTU5LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRmlsZSBcCiAgICAgRmls
ZUNhbGxiYWNrIFwKICAgICBGaWxlRW50cnkgXAorICAgIEZpbGVFbnRyeVN5bmMgXAogICAgIEZp
bGVFeGNlcHRpb24gXAogICAgIEZpbGVFcnJvciBcCiAgICAgRmlsZUxpc3QgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
NmJlYTUyZjA5MDczM2FiNDdjYTU0MTU4Yzc1NGM3Y2NkMWNjNGNkZC4uMmY3YWNiZjRiZmE5ODZl
MmFjMDAwYzgzYzFiN2IzYWQ1ZWRjZDczNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02ODksNiArNjg5LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZl
bnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1
c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0
b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAlX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCkBAIC03MTEsNiArNzEyLDcgQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5o
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNF
bnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApAQCAtMTM2NSwyMyArMTM2NywzOSBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZmlsZWFwaS9CbG9iVVJMLmggXAogCVdl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBc
CisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oIFwKIAlXZWJDb3JlL2ZpbGVh
cGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRl
ci5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgXAorCVdlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9ET01G
aWxlUGF0aC5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlUGF0aC5oIFwKIAlXZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAgXAorCVdlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRE9NRmls
ZVN5c3RlbVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBc
CiAJV2ViQ29yZS9maWxlYXBpL0VudHJpZXNDYWxsYmFjay5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkv
RW50cnkuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCiAJV2ViQ29yZS9maWxlYXBp
L0VudHJ5QXJyYXkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheS5oIFwKKwlXZWJD
b3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlB
cnJheVN5bmMuaCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5jcHAgXAorCVdlYkNvcmUv
ZmlsZWFwaS9FbnRyeUJhc2UuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0VudHJ5Q2FsbGJhY2suaCBc
Ci0JV2ViQ29yZS9maWxlYXBpL0VudHJ5LmNwcCBcCi0JV2ViQ29yZS9maWxlYXBpL0VudHJ5Lmgg
XAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50
cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9FcnJvckNhbGxiYWNrLmggXAogCVdlYkNvcmUv
ZmlsZWFwaS9GaWxlQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwIFwKIAlX
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRy
eS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmggXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaCBcCiAJ
V2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGUu
aCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IGU3N2FjNTU3NjBiNDgwMjQwNGU1NDkxNGFkMjNlMGExZDBkNjY0YzQuLmU0MGYx
ZmM0NDg3MmRmMDA0MGUwZDI2MmQ4NzZlN2I4YzNhOTJjNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04OSwxNiArODksMjIg
QEAKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2IuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L0Jsb2JCdWlsZGVyLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5p
ZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbCcsCiAgICAg
ICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRsJywKKyAgICAgICAgICAgICdmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZp
bGVTeXN0ZW0uaWRsJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlk
bCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaWRsJywKICAgICAgICAg
ICAgICdmaWxlYXBpL0VudHJ5LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5
LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwnLAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkv
RW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FcnJvckNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFbnRyeS5pZGwnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZUVycm9yLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXhjZXB0aW9u
LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlTGlzdC5pZGwnLApAQCAtNTY3LDYgKzU3
Myw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlD
dXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwJywKQEAg
LTU4NSw2ICs1OTIsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5o
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFdmVudExp
c3RlbmVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmgn
LApAQCAtNzY0LDYgKzc3Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwJywKQEAgLTc3Miw2ICs3ODEsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEVudHJ5Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudFNvdXJjZUNvbnN0cnVjdG9yLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwJywKQEAgLTE0NTAsMjQgKzE0NjAsNDAgQEAKICAg
ICAgICAgICAgICdmaWxlYXBpL0Jsb2JVUkwuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaCcs
CisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwJywKKyAgICAgICAg
ICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlci5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oJywKKyAg
ICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9E
T01GaWxlUGF0aC5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVBhdGguaCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9ET01GaWxlU3lzdGVtLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3Rl
bUJhc2UuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50
cmllc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuY3BwJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0VudHJ5LmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJh
eS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheS5oJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRy
eUFycmF5U3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaCcsCisg
ICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUJhc2UuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9F
bnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5U3luYy5oJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlLmgnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZUNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnkuaCcsCisgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVycm9yLmgnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVMaXN0
LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQppbmRleCAzMzMxNjI2OWJjMDYwNTZlYTg1NmE5YmQzZTgzOWNiYmExNzhjZWJlLi4wNTFm
NGQ5YzI2NWQzZjYxMWEyMDM3NzY0ZDIxOWJiNzA2ZmNiYjc1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE1NiwxNiArMTU2LDIy
IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZmlsZWFwaS9CbG9iLmlkbCBcCiAgICAgZmlsZWFw
aS9CbG9iQnVpbGRlci5pZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsIFwKKyAg
ICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyLmlkbCBcCisgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBcCiAgICAg
ZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCBcCisgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3lu
Yy5pZGwgXAogICAgIGZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9F
bnRyeS5pZGwgXAogICAgIGZpbGVhcGkvRW50cnlBcnJheS5pZGwgXAorICAgIGZpbGVhcGkvRW50
cnlBcnJheVN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaWRsIFwKKyAgICBm
aWxlYXBpL0VudHJ5U3luYy5pZGwgXAogICAgIGZpbGVhcGkvRXJyb3JDYWxsYmFjay5pZGwgXAog
ICAgIGZpbGVhcGkvRmlsZS5pZGwgXAogICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAg
ICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsIFwKKyAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRs
IFwKICAgICBmaWxlYXBpL0ZpbGVFcnJvci5pZGwgXAogICAgIGZpbGVhcGkvRmlsZUxpc3QuaWRs
IFwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGQxN2FmYzJmMTk3MGNiNTRjMTVk
MGFmZDdjMDEwNDIyMjVhNmFkODYuLjA5ZjE2MDVjM2ViOTQ2ODJjYmY5YTI4NmU3Zjk5NzIyODM1
YzIwZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnBybwpAQCAtMjk2NiwxNiArMjk2NiwyNSBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
RklMRV9TWVNURU09MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICBmaWxlYXBpL0FzeW5j
RmlsZVdyaXRlci5oIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKyAgICAg
ICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyLmggXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaCBcCisg
ICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oIFwKICAgICAgICAgZmlsZWFwaS9E
T01GaWxlUGF0aC5oIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmggXAorICAgICAg
ICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmggXAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW1TeW5jLmggXAogICAgICAgICBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5oIFwKICAgICAg
ICAgZmlsZWFwaS9FbnRyeS5oIFwKICAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmggXAorICAg
ICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmggXAorICAgICAgICBmaWxlYXBpL0VudHJ5QmFz
ZS5oIFwKICAgICAgICAgZmlsZWFwaS9FbnRyeUNhbGxiYWNrLmggXAorICAgICAgICBmaWxlYXBp
L0VudHJ5U3luYy5oIFwKICAgICAgICAgZmlsZWFwaS9FcnJvckNhbGxiYWNrLmggXAogICAgICAg
ICBmaWxlYXBpL0ZpbGVDYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnkuaCBc
CisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5oIFwKICAgICAgICAgZmlsZWFwaS9GaWxl
U3lzdGVtQ2FsbGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5o
IFwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyLmggXApAQCAtMjk5MCwxNCArMjk5OSwyMyBA
QCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogCiAgICAgU09VUkNF
UyArPSBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwIFwK
KyAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9q
cy9KU0VudHJ5U3luY0N1c3RvbS5jcHAgXAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5
LmNwcCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBcCiAgICAgICAg
IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcCBcCiAgICAg
ICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgXAorICAgICAgICBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW1CYXNlLmNwcCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIFwK
ICAgICAgICAgZmlsZWFwaS9FbnRyeS5jcHAgXAogICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXku
Y3BwIFwKKyAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHAgXAorICAgICAgICBmaWxl
YXBpL0VudHJ5U3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5jcHAgXAorICAg
ICAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9GaWxlU3lz
dGVtQ2FsbGJhY2tzLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5jcHAgXAogICAg
ICAgICBmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggOTEyNjMxN2M3MTg3MWZjODVlYjNhNzgxOTgwZjM2YjZiYmMyYTM2
MC4uYWM4NGYwYTgwYTRmMzVmYWNmMDMzMzU0ZGNhY2ZjZjcyZDNjNzRiYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMTAxLDYgKzMxMDEsMTQgQEAKIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeUVudHJ5U3lu
Yy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
RGlyZWN0b3J5RW50cnlTeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVhZGVyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkBAIC0zMTU3LDYgKzMxNjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJl
YWRlclN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNEb2N1bWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAt
MzQ5Myw2ICszNTA5LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQor
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NRmlsZVN5c3RlbVN5bmMuaCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01Gb3JtRGF0YS5jcHAi
DQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDQ1Nyw2ICs0NDgxLDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeUFy
cmF5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRW50cnlBcnJheVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNFbnRyeUNhbGxiYWNrLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkBAIC00NTEzLDYgKzQ1NDUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlTeW5jLmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRXJyb3JDYWxsYmFjay5j
cHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDkwOSw2ICs0OTQ5LDIy
IEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRmlsZUVudHJ5LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnkuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnlTeW5jLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnlTeW5jLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVy
cm9yLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzc3NDksNiArMzc4MDUsMTQgQEAKIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFw
aVxEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3RvcnlFbnRyeVN5bmMuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVh
cGlcRGlyZWN0b3J5UmVhZGVyLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc1Nyw2
ICszNzgyMSwxOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeVJlYWRlckJhc2UuaCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeVJlYWRlclN5bmMuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NRGF0YUdy
aWREYXRhU291cmNlLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc4MSw2ICszNzg1
NywyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXERPTUZpbGVTeXN0ZW1CYXNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbUJh
c2UuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbVN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtU3lu
Yy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxET01Gb3JtRGF0YS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzc4MTcs
NiArMzc5MDksMjYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUFycmF5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlT
eW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXEVudHJ5QmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeVN5bmMuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRy
eVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGZpbGVhcGlcRW50cnlDYWxsYmFjay5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAg
LTM3ODQxLDExICszNzk1MywxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5jcHAiDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmgiDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlRW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5
U3luYy5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtNDQzOTIsNiArNDQ1
MDgsMTAgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCINCisJ
CQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU0RvY3VtZW50Q3VzdG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KQEAgLTQ1MTUyLDYgKzQ1MjcyLDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxl
Pg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0VudHJ5
U3luY0N1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+
DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDRkYTFkMjliYTFjMjdmNjcyZTUxYzY5ODU0MjUxNTNkYzJkNDQy
ZTcuLjIzZTA3Mjg2YjY4YzEyMTY5NTE4Mjg0Yjc4NWM0ZGJlMzg2ODY1MTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDUyLDYgKzI0NTIsNyBAQAog
CQk4NUZGMzE1QTBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGRjMxNTgwQUFGQkZDQjAw
Mzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQuaCAqLzsgfTsKIAkJODVGRjMxNUIwQUFGQkZDQjAw
Mzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1OTBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9h
cmRFdmVudC5tbSAqLzsgfTsKIAkJODYyNDNEMDExMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlC
dWZmZXJWaWV3SGVscGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxw
ZXIuaCAqLzsgfTsKKwkJODkwQUUwRTExMjU2QTA3OTAwRjU5NjhDIC8qIERpcmVjdG9yeVJlYWRl
ckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggKi87IH07CiAJ
CTg5M0M0N0E3MTIzODkwOEIwMDJCM0Q4NiAvKiBGaWxlQ2FsbGJhY2suaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0E1MTIzODkwOEIwMDJCM0Q4
NiAvKiBGaWxlQ2FsbGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3QTgxMjM4OTA4QjAwMkIzRDg2IC8q
IEZpbGVXcml0ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ3QTYxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVXcml0ZXJDYWxsYmFj
ay5oICovOyB9OwogCQk4OTNDNDdCNzEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
QjUxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmNwcCAqLzsgfTsKQEAgLTI0NjAs
NiArMjQ2MSwzNSBAQAogCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5M0M0N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovOyB9
OwogCQk4OTNDNDdDQzEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdDQTEyM0VFQkEy
MDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTg5M0M0N0RGMTIzRUY0QTkw
MDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBK
U0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDAxMjQ4QkQzQTAwMkIz
RDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMDEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5
RW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVj
dG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICov
OyB9OworCQk4OTNDNDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdG
MjEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi87IH07CisJCTg5
M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMzEyNDhCRDM5MDAy
QjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovOyB9OworCQk4OTNDNDgwNDEyNDhCRDNB
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmNwcCAqLzsgfTsKKwkJODkzQzQ4MDUxMjQ4QkQzQTAwMkIzRDg2IC8qIERP
TUZpbGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAq
LzsgfTsKKwkJODkzQzQ4MDYxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y2
MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi87IH07CisJCTg5M0M0
ODA3MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RjcxMjQ4QkQzOTAwMkIzRDg2
IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi87IH07CisJCTg5M0M0ODA4MTI0OEJEM0EwMDJCM0Q4
NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDdGODEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
Y3BwICovOyB9OworCQk4OTNDNDgwOTEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y5
MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovOyB9OworCQk4OTNDNDgwQjEy
NDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGQjEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlCYXNl
LmggKi87IH07CisJCTg5M0M0ODBDMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkMxMjQ4
QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODBEMTI0OEJEM0Ew
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCAqLzsg
fTsKKwkJODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkUxMjQ4QkQz
OTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwRjEyNDhCRDNB
MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5
bmMuaCAqLzsgfTsKKwkJODkzQzQ4MjExMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50
cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1
c3RvbS5jcHAgKi87IH07CisJCTg5M0M0ODMyMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9y
eUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3Bw
ICovOyB9OworCQk4OTNDNDgzMzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5
bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
ODI3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5oICovOyB9OworCQk4
OTNDNDgzNDEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI4MTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovOyB9OworCQk4OTNDNDgz
NTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDgyOTEyNDk1NDcyMDAyQjNE
ODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi87IH07CisJCTg5M0M0ODM2MTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RP
TUZpbGVTeXN0ZW1TeW5jLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzcxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5M0M0ODJCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1T
eW5jLmggKi87IH07CisJCTg5M0M0ODM4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlT
eW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJEMTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi87IH07CisJCTg5M0M0ODNBMTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTNDNDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3Bw
ICovOyB9OworCQk4OTNDNDgzQjEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJGMTI0OTU0
NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgzQzEyNDk1NDcyMDAy
QjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODMwMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRy
eVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzRDEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50
cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTNDNDgzMTEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi87IH07CisJCTg5
M0M0ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDg1MjEyNDk5QjA2MDAy
QjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovOyB9OwogCQk4OTg3ODU1MjEyMkNBMDY0
MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9y
eUVudHJ5LmNwcCAqLzsgfTsKIAkJODk4Nzg1NTMxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9y
eUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuaCAqLzsgfTsKIAkJODk4
Nzg1NTQxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzQjEyMkNBMDY0MDAzQUFC
REEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLzsgfTsKQEAgLTg0NTUsNiArODQ4NSw3IEBACiAJ
CTg1RkYzMTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01LZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2Fy
ZEV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUtl
eWJvYXJkRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2MjQzRDAwMTFC
QzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTBBRTBFMDEyNTZBMDc5MDBGNTk2OEMgLyogRGlyZWN0b3J5
UmVhZGVyQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlS
ZWFkZXJCYXNlLmg7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3QTUxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVD
YWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxlQ2FsbGJhY2su
aDsgcGF0aCA9IGZpbGVhcGkvRmlsZUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg5M0M0N0E2MTIzODkwOEIwMDJCM0Q4NiAvKiBGaWxlV3JpdGVyQ2FsbGJhY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmlsZVdyaXRlckNhbGxiYWNrLmg7IHBh
dGggPSBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4OTNDNDdCNTEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODQ2Myw2ICs4NDk0LDM1IEBACiAJCTg5M0M0
N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDdDQTEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3REUxMjNFRjRBOTAw
MkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0YwMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlF
bnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0
b3J5RW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8q
IERpcmVjdG9yeUVudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
aXJlY3RvcnlFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4NiAv
KiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjMxMjQ4
QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0Y0
MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01GaWxlU3lzdGVtQmFzZS5jcHA7IHBhdGggPSBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODkzQzQ3RjUxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNlLmg7IHBhdGggPSBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5
M0M0N0Y2MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01GaWxlU3lzdGVtU3luYy5jcHA7IHBhdGgg
PSBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODkzQzQ3RjcxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1TeW5jLmg7IHBhdGgg
PSBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg5M0M0N0Y4MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeUFycmF5U3luYy5jcHA7IHBhdGgg
PSBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODkzQzQ3RjkxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEVudHJ5QXJyYXlTeW5jLmg7IHBhdGggPSBmaWxlYXBp
L0VudHJ5QXJyYXlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZC
MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRW50cnlCYXNlLmg7IHBhdGggPSBmaWxlYXBpL0VudHJ5QmFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGQzEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlT
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5U3luYy5j
cHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlTeW5jLmg7IHBhdGggPSBmaWxlYXBpL0VudHJ5
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGRTEyNDhCRDM5MDAy
QjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGaWxlRW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRmlsZUVudHJ5U3luYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4
NiAvKiBGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZp
bGVFbnRyeVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyMDEyNDk1MzVCMDAyQjNEODYgLyogSlNEaXJlY3Rv
cnlFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OTNDNDgyNjEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRy
eVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyNzEyNDk1NDcy
MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ4MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3lu
Yy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeVJl
YWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyOTEyNDk1
NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTNDNDgyQTEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVt
U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUZpbGVT
eXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MkIxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNET01GaWxlU3lzdGVtU3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4OTNDNDgyQzEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5QXJyYXlTeW5j
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MkQxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNFbnRyeUFycmF5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTND
NDgyRTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4OTNDNDgyRjEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5
U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVFbnRy
eVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgzMTEyNDk1NDcy
MDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEgLyogRGly
ZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGly
ZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJl
Y3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlF
bnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeVJlYWRl
ci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNDE2MSwxOCArMTQyMjEsMjggQEAKIAkJCQk4OUNEMDI5MjExQzg1
Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJCTg5ODc4NTg2MTIyQ0EyNkEw
MDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODU4NzEyMkNBMjZB
MDAzQUFCREEgLyogSlNEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5M0M0ODI2MTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MjcxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1ODgx
MjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKIAkJCQk4OTg3ODU4
OTEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIuaCAqLywKKwkJCQk4OTNDNDgy
ODEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLywKKwkJCQk4
OTNDNDgyOTEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8sCiAJ
CQkJODk4Nzg1OEUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmlsZVN5c3RlbS5jcHAgKi8sCiAJ
CQkJODk4Nzg1OEYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRE9NRmlsZVN5c3RlbS5oICovLAorCQkJ
CTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLywK
KwkJCQk4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oICov
LAogCQkJCTg5ODc4NTkwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJpZXNDYWxsYmFjay5jcHAg
Ki8sCiAJCQkJODk4Nzg1OTExMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cmllc0NhbGxiYWNrLmgg
Ki8sCiAJCQkJODk4Nzg1OTIxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnkuY3BwICovLAogCQkJ
CTg5ODc4NTkzMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0VudHJ5LmggKi8sCiAJCQkJODk4Nzg1OTQx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5jcHAgKi8sCiAJCQkJODk4Nzg1OTUxMjJD
QTJBNzAwM0FBQkRBIC8qIEpTRW50cnlBcnJheS5oICovLAorCQkJCTg5M0M0ODJDMTI0OTU0NzIw
MDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCAqLywKKwkJCQk4OTNDNDgyRDEyNDk1NDcy
MDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovLAogCQkJCTg5ODc4NTk2MTIyQ0EyQTcw
MDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICovLAogCQkJCTg5ODc4NTk3MTIyQ0EyQTcw
MDNBQUJEQSAvKiBKU0VudHJ5Q2FsbGJhY2suaCAqLywKKwkJCQk4OTNDNDgyRTEyNDk1NDcyMDAy
QjNEODYgLyogSlNFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4
NiAvKiBKU0VudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTk4MTIyQ0EyQTcwMDNBQUJEQSAvKiBK
U0Vycm9yQ2FsbGJhY2suY3BwICovLAogCQkJCTg5ODc4NTk5MTIyQ0EyQTcwMDNBQUJEQSAvKiBK
U0Vycm9yQ2FsbGJhY2suaCAqLywKIAkJCQlCQzAwRjAxMDBFMEExODk1MDBGRDA0RTMgLyogSlNG
aWxlLmNwcCAqLywKQEAgLTE0MTgxLDYgKzE0MjUxLDggQEAKIAkJCQk4OTNDNDdCNjEyMzhBMDk5
MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU5QTEyMkNBMkE3MDAz
QUFCREEgLyogSlNGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTlCMTIyQ0EyQTcwMDNBQUJE
QSAvKiBKU0ZpbGVFbnRyeS5oICovLAorCQkJCTg5M0M0ODMwMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0ZpbGVFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODMxMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0ZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQkyRTNCQzBDODExN0QzRTA4MDBCOTQwOUEgLyogSlNG
aWxlRXJyb3IuY3BwICovLAogCQkJCTJFM0JDMEM5MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVF
cnJvci5oICovLAogCQkJCTg5ODc4NUVFMTIyRTFFODcwMDNBQUJEQSAvKiBKU0ZpbGVFeGNlcHRp
b24uY3BwICovLApAQCAtMTQ3MzIsMjQgKzE0ODA0LDQwIEBACiAJCQkJOTc2RDZDNjAxMjJCOEEz
RDAwMUZEMUY3IC8qIEJsb2JVUkwuaCAqLywKIAkJCQk4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAv
KiBEaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTg5M0M0N0YwMTI0OEJEMzkwMDJCM0Q4NiAvKiBE
aXJlY3RvcnlFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0YxMTI0OEJEMzkwMDJCM0Q4NiAv
KiBEaXJlY3RvcnlFbnRyeVN5bmMuaCAqLywKIAkJCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKIAkJCQk4OTg3ODUzQzEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODkwQUUwRTAxMjU2QTA3OTAwRjU5NjhDIC8q
IERpcmVjdG9yeVJlYWRlckJhc2UuaCAqLywKKwkJCQk4OTNDNDdGMjEyNDhCRDM5MDAyQjNEODYg
LyogRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjMxMjQ4QkQzOTAwMkIz
RDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCAqLywKIAkJCQk4OTg3ODUzRDEyMkNBMDY0MDAz
QUFCREEgLyogRE9NRmlsZVBhdGguY3BwICovLAogCQkJCTg5ODc4NTNFMTIyQ0EwNjQwMDNBQUJE
QSAvKiBET01GaWxlUGF0aC5oICovLAogCQkJCTg5ODc4NTNGMTIyQ0EwNjQwMDNBQUJEQSAvKiBE
T01GaWxlU3lzdGVtLmNwcCAqLywKIAkJCQk4OTg3ODU0MDEyMkNBMDY0MDAzQUFCREEgLyogRE9N
RmlsZVN5c3RlbS5oICovLAorCQkJCTg5M0M0N0Y0MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01GaWxl
U3lzdGVtQmFzZS5jcHAgKi8sCisJCQkJODkzQzQ3RjUxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1CYXNlLmggKi8sCisJCQkJODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZp
bGVTeXN0ZW1TeW5jLmNwcCAqLywKKwkJCQk4OTNDNDdGNzEyNDhCRDM5MDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbVN5bmMuaCAqLywKIAkJCQk4OTg3ODU0MTEyMkNBMDY0MDAzQUFCREEgLyogRW50
cmllc0NhbGxiYWNrLmggKi8sCiAJCQkJODk4Nzg1NDIxMjJDQTA2NDAwM0FBQkRBIC8qIEVudHJ5
LmNwcCAqLywKIAkJCQk4OTg3ODU0MzEyMkNBMDY0MDAzQUFCREEgLyogRW50cnkuaCAqLywKIAkJ
CQk4OTg3ODU0NDEyMkNBMDY0MDAzQUFCREEgLyogRW50cnlBcnJheS5jcHAgKi8sCiAJCQkJODk4
Nzg1NDUxMjJDQTA2NDAwM0FBQkRBIC8qIEVudHJ5QXJyYXkuaCAqLywKKwkJCQk4OTNDNDdGODEy
NDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJheVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Y5MTI0
OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oICovLAorCQkJCTg5M0M0N0ZCMTI0OEJE
MzkwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCAqLywKIAkJCQk4OTg3ODU0NjEyMkNBMDY0MDAzQUFC
REEgLyogRW50cnlDYWxsYmFjay5oICovLAorCQkJCTg5M0M0N0ZDMTI0OEJEMzkwMDJCM0Q4NiAv
KiBFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0ZEMTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRy
eVN5bmMuaCAqLywKIAkJCQk4OTg3ODU0NzEyMkNBMDY0MDAzQUFCREEgLyogRXJyb3JDYWxsYmFj
ay5oICovLAogCQkJCTk3NkQ2QzYxMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlLmNwcCAqLywKIAkJ
CQk5NzZENkM2MjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5oICovLAogCQkJCTg5M0M0N0E1MTIz
ODkwOEIwMDJCM0Q4NiAvKiBGaWxlQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU0ODEyMkNBMDY0
MDAzQUFCREEgLyogRmlsZUVudHJ5LmNwcCAqLywKIAkJCQk4OTg3ODU0OTEyMkNBMDY0MDAzQUFC
REEgLyogRmlsZUVudHJ5LmggKi8sCisJCQkJODkzQzQ3RkUxMjQ4QkQzOTAwMkIzRDg2IC8qIEZp
bGVFbnRyeVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0ZGMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxl
RW50cnlTeW5jLmggKi8sCiAJCQkJOTc2RDZDNjQxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVFcnJv
ci5oICovLAogCQkJCTJFREYzNjlFMTIyQzk0QzgwMDJGN0Q0RSAvKiBGaWxlRXhjZXB0aW9uLmgg
Ki8sCiAJCQkJOTc2RDZDNjYxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVMaXN0LmNwcCAqLywKQEAg
LTE2Njc1LDYgKzE2NzYzLDcgQEAKIAkJCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTkwRTFCNEExMUU0RUY3MDAwNjlG
Nzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJODkzQzQ3
REUxMjNFRjRBOTAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwICovLAorCQkJ
CTg5M0M0ODIwMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5j
cHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20u
Y3BwICovLAogCQkJCTFBQzIyNjE2MERCNjlGNzQwMDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9u
Q2FjaGVDdXN0b20uY3BwICovLAogCQkJCTJFMDg4OEU1MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhQ3VzdG9tLmNwcCAqLywKQEAgLTE2Njg2LDYgKzE2Nzc1LDcgQEAKIAkJCQk2NTJG
QkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCAqLywKIAkJCQlCQzJF
RDU1NDBDNkI5QkQzMDA5MjBCRkYgLyogSlNFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk4OTND
NDdDQTEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi8sCisJCQkJODkzQzQ4
NTIxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0VG
QUY0RDBDMzE3RTY5MDBGQTgxRjYgLyogSlNFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVC
ODAxMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20uY3BwICovLAogCQkJCTQ5
RUVDRjcyMTA1MDhEOUMwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheUN1c3RvbS5jcHAgKi8sCkBA
IC0yMDkyMiw2ICsyMTAxMiwyMSBAQAogCQkJCTQ5QjY5RTYwMTI1NEZFRUQwMDdENTdFQiAvKiBM
b29wQmxpbm5Db25zdGFudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QjY5RTY0MTI1NEZFRUQw
MDdENTdFQiAvKiBMb29wQmxpbm5NYXRoVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QjY5
RTY2MTI1NEZFRUQwMDdENTdFQiAvKiBMb29wQmxpbm5UZXh0dXJlQ29vcmRzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4OTNDNDgwMTEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5j
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwMzEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0
b3J5UmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MDUxMjQ4QkQzQTAwMkIz
RDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwNzEy
NDhCRDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTg5M0M0ODA5MTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODkzQzQ4MEIxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODkzQzQ4MEQxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODkzQzQ4MEYxMjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODMzMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MzUxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4
MzcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg5M0M0ODM5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OTNDNDgzQjEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODNEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVF
bnRyeVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5MEFFMEUxMTI1NkEwNzkwMEY1OTY4QyAv
KiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzNDQ3LDYgKzIzNTUy
LDIxIEBACiAJCQkJNDlCNjlFNUUxMjU0RkVFRDAwN0Q1N0VCIC8qIExvb3BCbGlubkNsYXNzaWZp
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlCNjlFNjMxMjU0RkVFRDAwN0Q1N0VCIC8qIExv
b3BCbGlubk1hdGhVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUI2OUU2NTEyNTRGRUVE
MDA3RDU3RUIgLyogTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4OTNDNDgwMDEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFk
ZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAv
KiBET01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwNjEyNDhC
RDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODkzQzQ4MDgxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTg5M0M0ODBDMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODkzQzQ4MEUxMjQ4QkQzQTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MjExMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGly
ZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODMyMTI0
OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4OTNDNDgzNDEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODM2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZp
bGVTeXN0ZW1TeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODM4MTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0ODNB
MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
OTNDNDgzQzEyNDk1NDcyMDAyQjNEODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTg5M0M0ODUzMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJl
Y3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY4NjhjZThhMGFiYzBlZjZjNjI3Y2Vl
YWZhOWFkZDlmZGZjMTExZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJKU0RpcmVj
dG9yeUVudHJ5U3luYy5oIgorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAi
SlNFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiSlNGaWxlRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiSlNGbGFncy5oIgorI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworSlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZShFeGVjU3RhdGUq
IGV4ZWMpCit7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBzdGF0aWNfY2FzdDxEaXJl
Y3RvcnlFbnRyeVN5bmMqPihpbXBsKCkpOworICAgIGNvbnN0IFN0cmluZyYgcGF0aCA9IHZhbHVl
VG9TdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2soZXhlYywgZXhlYy0+YXJndW1lbnQoMCkp
OworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CisKKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghZXhlYy0+YXJndW1l
bnQoMSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhl
Yy0+YXJndW1lbnQoMSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJpdHMo
JkpTRmxhZ3M6OnNfaW5mbykpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmFy
Z3VtZW50KDEpLmdldE9iamVjdCgpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsK
KyAgICAgICAgSlNWYWx1ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIo
ZXhlYywgImNyZWF0ZSIpKTsKKyAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0ZS50b0Jv
b2xlYW4oZXhlYykpOworICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQo
ZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOworICAgICAgICBmbGFncy0+c2V0
RXhjbHVzaXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CisgICAgfSBlbHNlCisgICAg
ICAgIGZsYWdzID0gdG9GbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCB0aGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoaW1wLT5nZXRGaWxlKHBhdGgsIGZsYWdzLCBl
YykpKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK0pTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShFeGVjU3Rh
dGUqIGV4ZWMpCit7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBzdGF0aWNfY2FzdDxE
aXJlY3RvcnlFbnRyeVN5bmMqPihpbXBsKCkpOworICAgIGNvbnN0IFN0cmluZyYgcGF0aCA9IHZh
bHVlVG9TdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2soZXhlYywgZXhlYy0+YXJndW1lbnQo
MCkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghZXhlYy0+YXJn
dW1lbnQoMSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYg
ZXhlYy0+YXJndW1lbnQoMSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJp
dHMoJkpTRmxhZ3M6OnNfaW5mbykpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMt
PmFyZ3VtZW50KDEpLmdldE9iamVjdCgpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUo
KTsKKyAgICAgICAgSlNWYWx1ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZp
ZXIoZXhlYywgImNyZWF0ZSIpKTsKKyAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0ZS50
b0Jvb2xlYW4oZXhlYykpOworICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5n
ZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOworICAgICAgICBmbGFncy0+
c2V0RXhjbHVzaXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CisgICAgfSBlbHNlCisg
ICAgICAgIGZsYWdzID0gdG9GbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CisgICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgdGhpcy0+
Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGltcC0+Z2V0RGlyZWN0b3J5KHBhdGgsIGZsYWdz
LCBlYykpKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxF
X1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0
b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjJmOTZhZDg3YTcwYWNhYmZhM2M1ZTExNDU3OTdmMzA4MjFmOTI0YwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0w
LDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJKU0VudHJ5U3luYy5oIgorCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeVN5bmMu
aCIKKyNpbmNsdWRlICJKU0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pT
VmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEVudHJ5U3luYyogZW50cnkpCit7CisgICAgaWYgKCFlbnRyeSkKKyAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOworCisgICAgaWYgKGVudHJ5LT5pc0ZpbGUoKSkKKyAgICAgICAgcmV0dXJuIGdl
dERPTU9iamVjdFdyYXBwZXI8SlNGaWxlRW50cnlTeW5jPihleGVjLCBnbG9iYWxPYmplY3QsIHN0
YXRpY19jYXN0PEZpbGVFbnRyeVN5bmMqPihlbnRyeSkpOworCisgICAgQVNTRVJUKGVudHJ5LT5p
c0RpcmVjdG9yeSgpKTsKKyAgICByZXR1cm4gZ2V0RE9NT2JqZWN0V3JhcHBlcjxKU0RpcmVjdG9y
eUVudHJ5U3luYz4oZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRy
eVN5bmMqPihlbnRyeSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWMzZjMz
NDJiZmM4MTEwYTM3NDFjZDExMjFiYmU1MmE3MDcwMTBiMAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOERpcmVjdG9y
eUVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGly
ZWN0b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUg
IlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4
RW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4RXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUg
IlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4RmxhZ3MuaCIKKyNpbmNsdWRlICJWOFBy
b3h5LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGly
ZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
JiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9yeUVudHJ5U3luYy5nZXREaXJl
Y3RvcnkiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IFY4RGlyZWN0b3J5RW50cnlT
eW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
KyAgICB7CisgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFt
ZXRlcjw+LCBwYXRoLCBhcmdzWzBdKTsKKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlm
ICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAh
VjhGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICAgICAgRVhDRVBUSU9OX0JMT0NL
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6
Q2FzdChhcmdzWzFdKSk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAgICAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6
Ok5ldygiY3JlYXRlIikpOworICAgICAgICBpZiAoIXY4Q3JlYXRlLklzRW1wdHkoKSAmJiAhaXNV
bmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0so
Ym9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAgICAgICBm
bGFncy0+c2V0Q3JlYXRlKGlzQ3JlYXRlKTsKKyAgICAgICAgfQorICAgICAgICB2ODo6TG9jYWw8
djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhj
bHVzaXZlIikpOworICAgICAgICBpZiAoIXY4RXhjbHVzaXZlLklzRW1wdHkoKSAmJiAhaXNVbmRl
ZmluZWRPck51bGwodjhFeGNsdXNpdmUpKSB7CisgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0so
Ym9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CisgICAgICAg
ICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKKyAgICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICAgRVhDRVBUSU9OX0JMT0NLKEZsYWdzKiwgdG1wX2ZsYWdzLCBWOEZsYWdz
OjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6
Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7CisgICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7
CisgICAgfQorICAgIFJlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHJlc3VsdCA9IGltcC0+Z2V0
RGlyZWN0b3J5KHBhdGgsIGZsYWdzLCBlYyk7CisgICAgaWYgKFVOTElLRUxZKGVjKSkKKyAgICAg
ICAgZ290byBmYWlsOworICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCkpOworICAgIH0K
KyAgICBmYWlsOgorICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgcmV0dXJu
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
aXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9yeUVudHJ5U3luYy5nZXRGaWxlIik7
CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKiBpbXAgPSBWOERpcmVjdG9yeUVudHJ5U3luYzo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgewor
ICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8Piwg
cGF0aCwgYXJnc1swXSk7CisgICAgUmVmUHRyPEZsYWdzPiBmbGFnczsKKyAgICBpZiAoIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkgJiYgIVY4RmxhZ3M6
Okhhc0luc3RhbmNlKGFyZ3NbMV0pKSB7CisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+LCBvYmplY3QsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJn
c1sxXSkpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAgICAgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gdjhDcmVhdGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImNy
ZWF0ZSIpKTsKKyAgICAgICAgaWYgKCF2OENyZWF0ZS5Jc0VtcHR5KCkgJiYgIWlzVW5kZWZpbmVk
T3JOdWxsKHY4Q3JlYXRlKSkgeworICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKGJvb2wsIGlz
Q3JlYXRlLCB2OENyZWF0ZS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAgZmxhZ3MtPnNl
dENyZWF0ZShpc0NyZWF0ZSk7CisgICAgICAgIH0KKyAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdjhFeGNsdXNpdmUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImV4Y2x1c2l2ZSIp
KTsKKyAgICAgICAgaWYgKCF2OEV4Y2x1c2l2ZS5Jc0VtcHR5KCkgJiYgIWlzVW5kZWZpbmVkT3JO
dWxsKHY4RXhjbHVzaXZlKSkgeworICAgICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKGJvb2wsIGlz
RXhjbHVzaXZlLCB2OEV4Y2x1c2l2ZS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICAgICAgZmxh
Z3MtPnNldEV4Y2x1c2l2ZShpc0V4Y2x1c2l2ZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2Ugewor
ICAgICAgIEVYQ0VQVElPTl9CTE9DSyhGbGFncyosIHRtcF9mbGFncywgVjhGbGFnczo6SGFzSW5z
dGFuY2UoYXJnc1sxXSkgPyBWOEZsYWdzOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGFyZ3NbMV0pKSA6IDApOworICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOworICAgIH0K
KyAgICBSZWZQdHI8RmlsZUVudHJ5U3luYz4gcmVzdWx0ID0gaW1wLT5nZXRGaWxlKHBhdGgsIGZs
YWdzLCBlYyk7CisgICAgaWYgKFVOTElLRUxZKGVjKSkKKyAgICAgICAgZ290byBmYWlsOworICAg
IHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCkpOworICAgIH0KKyAgICBmYWlsOgorICAgIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpOworfQorCisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhFbnRyeVN5bmNDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRy
eVN5bmNDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5OGRmMTliMGIxM2UxOTRlYmFiNjcxZTZmNjRl
MGExOGZjMDdiMjIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2luY2x1ZGUgIlY4QXR0ci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4
QmluZGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiVjhEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNs
dWRlICJWOEVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1
ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRW50cnlTeW5jKiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICBpZiAoaW1w
bC0+aXNGaWxlKCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEZpbGVFbnRyeVN5
bmMqPihpbXBsKSk7CisKKyAgICBBU1NFUlQoaW1wbC0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0
dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5jKj4oaW1wbCkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKaW5kZXggYjFiMWNkYzExZTZkZTUzYTFlODViZWJlM2M1
NmIzZmVlOGQ0NDBkZC4uMTc0Mjg0MmRhMzFmOWUwZGNkZWZlODFiYTMzZTdjNjExMmM5ZDg5NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNTQsMTMgKzU0LDggQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogRE9NRmlsZVN5c3RlbTo6RE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNG
aWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4
dCwgdGhpcykKLSAgICAsIG1fbmFtZShuYW1lKQotICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0oYXN5
bmNGaWxlU3lzdGVtKQotewotfQotCi1ET01GaWxlU3lzdGVtOjp+RE9NRmlsZVN5c3RlbSgpCisg
ICAgOiBET01GaWxlU3lzdGVtQmFzZShuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCisgICAgLCBBY3Rp
dmVET01PYmplY3QoY29udGV4dCwgdGhpcykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgK
aW5kZXggODQ5OGU3NWI1ZjQ0NmUzZWZlOWI3OGQ2ODI3ZWQzMmZhY2Q0ZWY3Mi4uOTA4YzE2Yzk0
M2VjYWRmNjkxMjMyYzYwNDRhZGNlYWRkNTQ5YmNhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5o
CkBAIC0zNSw2ICszNSw3IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNs
dWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtQmFzZS5oIgog
I2luY2x1ZGUgIkZsYWdzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC01NCwxNiArNTUsMTMgQEAgY2xhc3MgRmls
ZVdyaXRlckNhbGxiYWNrOwogY2xhc3MgTWV0YWRhdGFDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxs
YmFjazsKIAotY2xhc3MgRE9NRmlsZVN5c3RlbSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVT
eXN0ZW0+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNzIERPTUZpbGVTeXN0ZW0gOiBw
dWJsaWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5
bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7
CiAgICAgfQogCi0gICAgdmlydHVhbCB+RE9NRmlsZVN5c3RlbSgpOwotCi0gICAgY29uc3QgU3Ry
aW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgUGFzc1JlZlB0cjxEaXJl
Y3RvcnlFbnRyeT4gcm9vdCgpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IG1ldGhvZHMuCkBA
IC05Niw4ICs5NCw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRE9NRmlsZVN5c3RlbShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4pOwogCi0gICAgQXN5bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBj
b25zdCB7IHJldHVybiBtX2FzeW5jRmlsZVN5c3RlbS5nZXQoKTsgfQotCiAgICAgLy8gQSBoZWxw
ZXIgdGVtcGxhdGUgdG8gc2NoZWR1bGUgYSBjYWxsYmFjayB0YXNrLgogICAgIC8vIEZJWE1FOiBt
b3ZlIHRoaXMgdG8gYSBtb3JlIGdlbmVyaWMgcGxhY2UuCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IENCLCB0eXBlbmFtZSBDQkFyZz4KQEAgLTExOCw5ICsxMTQsNiBAQCBwcml2YXRlOgogICAgICAg
ICBSZWZQdHI8Q0I+IG1fY2FsbGJhY2s7CiAgICAgICAgIFJlZlB0cjxDQkFyZz4gbV9jYWxsYmFj
a0FyZzsKICAgICB9OwotCi0gICAgU3RyaW5nIG1fbmFtZTsKLSAgICBtdXRhYmxlIE93blB0cjxB
c3luY0ZpbGVTeXN0ZW0+IG1fYXN5bmNGaWxlU3lzdGVtOwogfTsKIAogdGVtcGxhdGUgPHR5cGVu
YW1lIENCLCB0eXBlbmFtZSBDQkFyZz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI2OTg4MmQxNjBhZDllOGI0NGJmNTM0YmEzYmIxYjUyMzIzYTI3MjEKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCkBA
IC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3Rl
bUJhc2UuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVQ
YXRoLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0RPTUZpbGVTeXN0ZW1CYXNlOjpET01GaWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5hbWUs
IFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBtX25h
bWUobmFtZSkKKyAgICAsIG1fYXN5bmNGaWxlU3lzdGVtKGFzeW5jRmlsZVN5c3RlbSkKK3sKK30K
KworRE9NRmlsZVN5c3RlbUJhc2U6On5ET01GaWxlU3lzdGVtQmFzZSgpCit7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIGIvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTcxNGQ4ZDE3YWMxY2IxOTQ4MDli
NDM0OGEyMTVhZGViZWQ4MTE2NwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTUZpbGVTeXN0ZW1C
YXNlX2gKKyNkZWZpbmUgRE9NRmlsZVN5c3RlbUJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gQSBjb21tb24gYmFzZSBjbGFz
cyBmb3IgRE9NRmlsZVN5c3RlbSBhbmQgRE9NRmlsZVN5c3RlbVN5bmMuCitjbGFzcyBET01GaWxl
U3lzdGVtQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW1CYXNlPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0
ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1CYXNl
KG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5ET01GaWxlU3lz
dGVtQmFzZSgpOworCisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CisgICAgQXN5bmNGaWxlU3lzdGVtKiBhc3luY0ZpbGVTeXN0ZW0oKSBjb25zdCB7IHJl
dHVybiBtX2FzeW5jRmlsZVN5c3RlbS5nZXQoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgRE9NRmls
ZVN5c3RlbUJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3Rl
bT4pOworICAgIGZyaWVuZCBjbGFzcyBET01GaWxlU3lzdGVtU3luYzsKKworICAgIFN0cmluZyBt
X25hbWU7CisgICAgbXV0YWJsZSBPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBtX2FzeW5jRmlsZVN5
c3RlbTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShG
SUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERPTUZpbGVTeXN0ZW1CYXNlX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwYWZjMWRkZWNkODFlNzI0OWQzNWRj
MmQyNGYyNTM1MzI3OTBmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
KworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5j
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3lu
Yz4gRE9NRmlsZVN5c3RlbVN5bmM6OmNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3Rl
bSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5jKGZpbGVTeXN0
ZW0tPm1fbmFtZSwgZmlsZVN5c3RlbS0+bV9hc3luY0ZpbGVTeXN0ZW0ubGVha1B0cigpKSk7Cit9
CisKK0RPTUZpbGVTeXN0ZW1TeW5jOjpET01GaWxlU3lzdGVtU3luYyhjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgOiBE
T01GaWxlU3lzdGVtQmFzZShuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCit7Cit9CisKK0RPTUZpbGVT
eXN0ZW1TeW5jOjp+RE9NRmlsZVN5c3RlbVN5bmMoKQoreworfQorCitQYXNzUmVmUHRyPERpcmVj
dG9yeUVudHJ5U3luYz4gRE9NRmlsZVN5c3RlbVN5bmM6OnJvb3QoKQoreworICAgIHJldHVybiBE
aXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZSh0aGlzLCBET01GaWxlUGF0aDo6cm9vdCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlY2Y0NjE0OWI3OGI4NDcwOGY1N2U0
Mzc5M2M4MTVlODYzYWU0ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbVN5bmMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01GaWxlU3lzdGVtU3lu
Y19oCisjZGVmaW5lIERPTUZpbGVTeXN0ZW1TeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOworCit0eXBlZGVmIGludCBFeGNlcHRpb25D
b2RlOworCitjbGFzcyBET01GaWxlU3lzdGVtU3luYyA6IHB1YmxpYyBET01GaWxlU3lzdGVtQmFz
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3lu
Y0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVT
eXN0ZW1TeW5jKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpOworICAgIH0KKworICAgIC8vIFRoaXMg
Y2FsbCBpcyBkZXN0cnVjdGl2ZTsgdGhlIGFyZ3VtZW50IGZpbGVTeXN0ZW0gd2lsbCBiZWNvbWUg
dW51c2FibGUuCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IGNyZWF0
ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSk7CisKKyAgICB2aXJ0dWFsIH5ET01GaWxl
U3lzdGVtU3luYygpOworCisgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHJvb3Qo
KTsKKworcHJpdmF0ZToKKyAgICBET01GaWxlU3lzdGVtU3luYyhjb25zdCBTdHJpbmcmIG5hbWUs
IFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisj
ZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRE9NRmlsZVN5c3RlbVN5
bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCBi
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUxZDhj
Y2Q2MjAwYTc0YWFlYTBlNDI3NjQ3OTJjNmFmNjE3Zjk2MQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZ
U1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERPTUZpbGVTeXN0ZW1TeW5jIHsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRGlyZWN0b3J5RW50cnlTeW5jIHJvb3Q7CisgICAgfTsKK30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuY3BwCmluZGV4IDk1YzEyZTQ4ZjgxMGIxYmRlMDgwMTM4MDMxN2Y2
NzJjN2Y4NmVjYzQuLmY3ODc4N2E0YmNkN2YzZTVhNjU0NjkzYjM2MDViNjgzMjRiODQxZjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcApAQCAtNTEsMTIgKzUxLDEyIEBAIFBhc3NSZWZQ
dHI8RGlyZWN0b3J5UmVhZGVyPiBEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKIAogdm9p
ZCBEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8
RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQogewotICAgIG1fZmlsZVN5
c3RlbS0+Z2V0RmlsZSh0aGlzLCBwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPmdldEZpbGUodGhpcywgcGF0aCwgZmxhZ3MsIHN1
Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiB9CiAKIHZvaWQgRGlyZWN0b3J5RW50cnk6
OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IGZsYWdz
LCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQogewotICAgIG1fZmlsZVN5c3RlbS0+Z2V0RGly
ZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
OworICAgIGZpbGVzeXN0ZW0oKS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODZkZDc4MjVlOTAyOTVl
YTAzNzVmYWYwY2Y3OTY5MzI5YTI2ODE0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlclN5bmMuaCIKKyNpbmNsdWRlICJF
bnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGaWxlRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJlY3RvcnlFbnRyeVN5bmM6
OkRpcmVjdG9yeUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IEVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkK
K3sKK30KKworUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBEaXJlY3RvcnlFbnRyeVN5
bmM6OmNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2RlJikKK3sKKyAgICByZXR1cm4gRGlyZWN0b3J5
UmVhZGVyU3luYzo6Y3JlYXRlKG1fZmlsZVN5c3RlbSwgbV9mdWxsUGF0aCk7Cit9CisKK1Bhc3NS
ZWZQdHI8RmlsZUVudHJ5U3luYz4gRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0IFN0
cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhN
RTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
MDsKK30KKworUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3lu
Yzo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBFeGNlcHRp
b25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMjU5NTNhNmVkOWZhMjg5Y2FhNDliZGY4MTIwNjhjODIxYzI4NDMyCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oCkBAIC0w
LDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeUVudHJ5U3luY19oCisjZGVmaW5lIERpcmVjdG9y
eUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRy
eVN5bmMuaCIKKyNpbmNsdWRlICJGbGFncy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmM7Citj
bGFzcyBGaWxlRW50cnlTeW5jOworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmMgOiBwdWJsaWMg
RW50cnlTeW5jIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRy
eVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5
RW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9v
bCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIFBhc3NSZWZQdHI8
RGlyZWN0b3J5UmVhZGVyU3luYz4gY3JlYXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQ
YXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
UmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5
RW50cnlTeW5jPiBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZs
YWdzPiwgRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBFbnRy
eVN5bmM7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lz
dGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlFbnRyeVN5
bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwg
Yi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzc5
NmJmYzczZDNlOGVhOTdjMzI3NWQzODYwMTA3NDMwYjJiNGRiCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21v
ZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxF
X1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEdlbmVy
YXRlVG9KUywKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERpcmVjdG9yeUVudHJ5U3lu
YyA6IEVudHJ5U3luYyB7CisgICAgICAgIERpcmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVhZGVy
KCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5U3lu
YyBnZXRGaWxlKGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgcGF0aCwgaW4gRmxhZ3MgZmxhZ3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAg
IFtDdXN0b21dIERpcmVjdG9yeUVudHJ5U3luYyBnZXREaXJlY3RvcnkoaW4gW0NvbnZlcnRVbmRl
ZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBGbGFncyBmbGFncykg
cmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyLmNwcAppbmRleCAwOTJmOTc2NDM4NDJiZDE2ZjUzNmU0NjE3NTNlM2E3OGY4NTdmMTMyLi4z
NmRlODg1YTM4MGM3MDFhZmRmYzFmNjgwY2RkZWQ3MWQ3Y2RkZmNkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGly
ZWN0b3J5UmVhZGVyLmNwcApAQCAtMzMsMjcgKzMzLDI1IEBACiAKICNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCiAKLSNpbmNsdWRlICJET01GaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRW50cmllc0Nh
bGxiYWNrLmgiCiAjaW5jbHVkZSAiRW50cnlBcnJheS5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJh
Y2suaCIKKyNpbmNsdWRlICJGaWxlRXJyb3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1E
aXJlY3RvcnlSZWFkZXI6OkRpcmVjdG9yeVJlYWRlcihQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+
IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCi0gICAgOiBtX2ZpbGVTeXN0ZW0o
ZmlsZVN5c3RlbSkKLSAgICAsIG1fZnVsbFBhdGgoZnVsbFBhdGgpCi0gICAgLCBtX2hhc01vcmUo
dHJ1ZSkKK0RpcmVjdG9yeVJlYWRlcjo6RGlyZWN0b3J5UmVhZGVyKERPTUZpbGVTeXN0ZW1CYXNl
KiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVh
ZGVyQmFzZShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKIHsKIH0KIAogdm9pZCBEaXJlY3RvcnlSZWFk
ZXI6OnJlYWRFbnRyaWVzKFBhc3NSZWZQdHI8RW50cmllc0NhbGxiYWNrPiBlbnRyaWVzQ2FsbGJh
Y2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKICAgICBpZiAo
IW1faGFzTW9yZSkgewotICAgICAgICBtX2ZpbGVTeXN0ZW0tPnNjaGVkdWxlQ2FsbGJhY2soZW50
cmllc0NhbGxiYWNrLCBFbnRyeUFycmF5OjpjcmVhdGUoKSk7CisgICAgICAgIGZpbGVzeXN0ZW0o
KS0+c2NoZWR1bGVDYWxsYmFjayhlbnRyaWVzQ2FsbGJhY2ssIEVudHJ5QXJyYXk6OmNyZWF0ZSgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2ZpbGVTeXN0ZW0tPnJlYWREaXJlY3Rv
cnkodGhpcywgbV9mdWxsUGF0aCwgZW50cmllc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAg
ICBmaWxlc3lzdGVtKCktPnJlYWREaXJlY3RvcnkodGhpcywgbV9mdWxsUGF0aCwgZW50cmllc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXIuaAppbmRleCAzMzU4ODUzNTA3N2Q5NGE5MDFhNDkxODEyYWIwZTVkNzBhYzNj
MDE2Li5jYTdhZWRjMDAxMzlkMTMzOTAyNjgwNGZjNDZiMGIyNzZlODE1YjQ1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBp
L0RpcmVjdG9yeVJlYWRlci5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQogCiAjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeVJl
YWRlckJhc2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ0LDIzICs0NSwx
OSBAQCBjbGFzcyBFbnRyaWVzQ2FsbGJhY2s7CiBjbGFzcyBFbnRyaWVzQ2FsbGJhY2tzOwogY2xh
c3MgRXJyb3JDYWxsYmFjazsKIAotY2xhc3MgRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8RGlyZWN0b3J5UmVhZGVyPiB7CitjbGFzcyBEaXJlY3RvcnlSZWFkZXIgOiBwdWJsaWMg
RGlyZWN0b3J5UmVhZGVyQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGly
ZWN0b3J5UmVhZGVyPiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIHBhdGgpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVh
ZGVyPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
ZnVsbFBhdGgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJl
YWRlcihmaWxlU3lzdGVtLCBwYXRoKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGly
ZWN0b3J5UmVhZGVyKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CiAgICAgfQogCi0gICAgRE9NRmls
ZVN5c3RlbSogZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsg
fQogICAgIHZvaWQgcmVhZEVudHJpZXMoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+LCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0gMCk7Ci0gICAgdm9pZCBzZXRIYXNNb3JlKGJvb2wgaGFz
TW9yZSkgeyBtX2hhc01vcmUgPSBoYXNNb3JlOyB9CiAKLXByaXZhdGU6Ci0gICAgRGlyZWN0b3J5
UmVhZGVyKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBwYXRoKTsKKyAgICBET01GaWxlU3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RE9NRmlsZVN5c3RlbSo+KG1fZmlsZVN5c3RlbSk7IH0KIAotICAgIFJlZlB0
cjxET01GaWxlU3lzdGVtPiBtX2ZpbGVTeXN0ZW07Ci0gICAgU3RyaW5nIG1fZnVsbFBhdGg7Ci0g
ICAgYm9vbCBtX2hhc01vcmU7Citwcml2YXRlOgorICAgIERpcmVjdG9yeVJlYWRlcihET01GaWxl
U3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRl
ckJhc2UuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWNkZWM4NjM0NDZlNGQ1MzgxMGQ0MTMwYmEzMDhlMjdmNmVjMTA5YQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKQEAgLTAsMCArMSw2
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgRGlyZWN0b3J5UmVhZGVyQmFzZV9oCisjZGVmaW5lIERpcmVjdG9yeVJlYWRl
ckJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVN5
c3RlbUJhc2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlSZWFkZXJCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8
RGlyZWN0b3J5UmVhZGVyQmFzZT4geworcHVibGljOgorICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVtOyB9CisgICAgdm9pZCBzZXRI
YXNNb3JlKGJvb2wgaGFzTW9yZSkgeyBtX2hhc01vcmUgPSBoYXNNb3JlOyB9CisKK3Byb3RlY3Rl
ZDoKKyAgICBEaXJlY3RvcnlSZWFkZXJCYXNlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgICAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lz
dGVtKQorICAgICAgICAsIG1fZnVsbFBhdGgoZnVsbFBhdGgpCisgICAgICAgICwgbV9oYXNNb3Jl
KHRydWUpCisgICAgeworICAgIH0KKworICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0
ZW07CisgICAgU3RyaW5nIG1fZnVsbFBhdGg7CisgICAgYm9vbCBtX2hhc01vcmU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisK
KyNlbmRpZiAvLyBEaXJlY3RvcnlSZWFkZXJCYXNlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDBhYjdmNmVmZTJiNWM1ZWE5YTE3ZDBjOTYxMTRh
ZDQyOTk3NDVjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisj
aW5jbHVkZSAiRW50cnlBcnJheVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJl
Y3RvcnlSZWFkZXJTeW5jOjpEaXJlY3RvcnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBm
aWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVhZGVy
QmFzZShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1JlZlB0cjxFbnRyeUFycmF5
U3luYz4gRGlyZWN0b3J5UmVhZGVyU3luYzo6cmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3Bh
Y2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NjQ4NjUxYWI5ZjNiZjY0MTdmNzNmMzcyMDA1Y2M4
NTNiZGEyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyU3luYy5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeVJlYWRlclN5bmNfaAor
I2RlZmluZSBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
KworI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2UuaCIKKyNpbmNsdWRlICJFbnRyeUFycmF5
U3luYy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmMgOiBwdWJsaWMgRGlyZWN0b3J5UmVhZGVy
QmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3lu
Yz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1
bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlSZWFk
ZXJTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxF
bnRyeUFycmF5U3luYz4gcmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRlOgor
ICAgIERpcmVjdG9yeVJlYWRlclN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIERpcmVjdG9yeVJlYWRlclN5bmNfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIGIvV2Vi
Q29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMzk5Mjgz
MjY3ZjhhNWJlYTJjZWYwZTY0ODdhMWZmOGQ2ODMyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZ
U1RFTSwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIERpcmVjdG9yeVJlYWRlclN5bmMg
eworICAgICAgICBFbnRyeUFycmF5U3luYyByZWFkRW50cmllcygpIHJhaXNlcyAoRmlsZUV4Y2Vw
dGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAg
Yi9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwCmluZGV4IDk2OWFlMmI2ZGU2Y2I0OWRlOTA5ZTc2
ZDMzZGVkNGMyMTcxMWRmOGIuLjk3YTMyNzA4ZTJmODBmMTVhYjU3MjI0MmNlNGVjNjA5Mjg4NWNm
NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5LmNwcApAQCAtNDMsMzUgKzQzLDMzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIEVudHJ5OjpFbnRyeShET01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKQotICAgIDogbV9maWxlU3lzdGVtKGZpbGVTeXN0ZW0pCi0gICAgLCBtX2Z1bGxQ
YXRoKGZ1bGxQYXRoKQotICAgICwgbV9uYW1lKERPTUZpbGVQYXRoOjpnZXROYW1lKGZ1bGxQYXRo
KSkKKyAgICA6IEVudHJ5QmFzZShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKIHsKIH0KIAogdm9pZCBF
bnRyeTo6Z2V0TWV0YWRhdGEoUGFzc1JlZlB0cjxNZXRhZGF0YUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBt
X2ZpbGVTeXN0ZW0tPmdldE1ldGFkYXRhKHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxs
YmFjayk7CisgICAgZmlsZXN5c3RlbSgpLT5nZXRNZXRhZGF0YSh0aGlzLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiB2b2lkIEVudHJ5Ojptb3ZlVG8oUGFzc1JlZlB0cjxF
bnRyeT4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFj
az4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJh
Y2spIGNvbnN0CiB7Ci0gICAgbV9maWxlU3lzdGVtLT5tb3ZlKHRoaXMsIHBhcmVudCwgbmFtZSwg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPm1vdmUo
dGhpcywgcGFyZW50LCBuYW1lLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQog
CiB2b2lkIEVudHJ5Ojpjb3B5VG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJp
bmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spIGNvbnN0CiB7Ci0gICAgbV9maWxl
U3lzdGVtLT5jb3B5KHRoaXMsIHBhcmVudCwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPmNvcHkodGhpcywgcGFyZW50LCBuYW1lLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiB2b2lkIEVudHJ5OjpyZW1vdmUoUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrKSBjb25zdAogewotICAgIG1fZmlsZVN5c3RlbS0+cmVtb3Zl
KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAgZmlsZXN5c3RlbSgp
LT5yZW1vdmUodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogdm9p
ZCBFbnRyeTo6Z2V0UGFyZW50KFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spIGNvbnN0CiB7Ci0g
ICAgbV9maWxlU3lzdGVtLT5nZXRQYXJlbnQodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPmdldFBhcmVudCh0aGlzLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiBTdHJpbmcgRW50cnk6OnRvVVJJKGNvbnN0IFN0cmlu
ZyYpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBiL1dlYkNvcmUvZmlsZWFw
aS9FbnRyeS5oCmluZGV4IDlhZjUzMmY5YmFhYzU1ZGMxMTQ0MmI4ZWUwNzkzYTU5ZjlkZTA4YTEu
LmI3NWYxZWRlMWQwOThhZjM2YzA0YmMwNWUyM2Q4MjU4Y2U0MGNhYjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZmlsZWFwaS9FbnRyeS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5oCkBAIC0z
NCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiRE9NRmls
ZVN5c3RlbS5oIgorI2luY2x1ZGUgIkVudHJ5QmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDQsMTcgKzQ1LDExIEBA
IGNsYXNzIEVycm9yQ2FsbGJhY2s7CiBjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOwogY2xhc3MgVm9p
ZENhbGxiYWNrOwogCi1jbGFzcyBFbnRyeSA6IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5PiB7Citj
bGFzcyBFbnRyeSA6IHB1YmxpYyBFbnRyeUJhc2UgewogcHVibGljOgogICAgIHZpcnR1YWwgfkVu
dHJ5KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQotCi0gICAgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVs
bFBhdGg7IH0KLSAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7
IH0KLQotICAgIERPTUZpbGVTeXN0ZW0qIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2Zp
bGVTeXN0ZW07IH0KKyAgICBET01GaWxlU3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8RE9NRmlsZVN5c3RlbSo+KG1fZmlsZVN5c3RlbSk7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBnZXRNZXRhZGF0YShQYXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+IHN1Y2Nl
c3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9
IDApOwogICAgIHZpcnR1YWwgdm9pZCBtb3ZlVG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBj
b25zdCBTdHJpbmcmIG5hbWUgPSBTdHJpbmcoKSwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJh
Y2sgPSAwKSBjb25zdDsKQEAgLTY2LDEwICs2MSw2IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgog
ICAgIEVudHJ5KERPTUZpbGVTeXN0ZW0qIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBh
dGgpOwotCi0gICAgRE9NRmlsZVN5c3RlbSogbV9maWxlU3lzdGVtOwotICAgIFN0cmluZyBtX2Z1
bGxQYXRoOwotICAgIFN0cmluZyBtX25hbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIGIvV2ViQ29y
ZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGJmMmRjZGU3ZWExNGM3
OTFhOWI3ZTdkNjk2MDk4ZTQ0OTg5Mzc2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QXJyYXlTeW5jLmNwcApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkVudHJ5QXJyYXlTeW5jLmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW50cnlBcnJheVN5bmM6OkVudHJ5QXJyYXlTeW5j
KCkKK3sKK30KKworRW50cnlTeW5jKiBFbnRyeUFycmF5U3luYzo6aXRlbSh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9lbnRyaWVzLnNpemUoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIG1fZW50cmllc1tpbmRleF0uZ2V0KCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBp
L0VudHJ5QXJyYXlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UxMzEyZmQ1YjM5ZjQ0YjEyZmM4MDJlMTZj
NzFiN2VjM2U3YzI3ZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5oCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5QXJyYXlTeW5jX2gKKyNkZWZp
bmUgRW50cnlBcnJheVN5bmNfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVk
ZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJ5QXJy
YXk7CisKK2NsYXNzIEVudHJ5QXJyYXlTeW5jIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnlBcnJh
eVN5bmM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxFbnRyeUFycmF5U3luYz4g
Y3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW50cnlBcnJheVN5
bmMoKSk7CisgICAgfQorCisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9l
bnRyaWVzLnNpemUoKTsgfQorICAgIEVudHJ5U3luYyogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29u
c3Q7CisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBl
bnRyeSk7CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXMuaXNF
bXB0eSgpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgbV9lbnRyaWVzLmNsZWFyKCk7IH0KKyAgICB2
b2lkIGFwcGVuZChQYXNzUmVmUHRyPEVudHJ5U3luYz4gZW50cnkpIHsgbV9lbnRyaWVzLmFwcGVu
ZChlbnRyeSk7IH0KKworcHJpdmF0ZToKKyAgICBFbnRyeUFycmF5U3luYygpOworCisgICAgVmVj
dG9yPFJlZlB0cjxFbnRyeVN5bmM+ID4gbV9lbnRyaWVzOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50
cnlBcnJheVN5bmNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5j
LmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1
NGYzM2VlZTlkMjc0ZDJiNmNiMGU4ODljYzM2OGQ2MWJiNTNmOQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZ
U1RFTSwKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisg
ICAgXSBFbnRyeUFycmF5U3luYyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKKyAgICAgICAgRW50cnlTeW5jIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlCYXNlLmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIz
NDU4MDQyN2MwNWNjNzZmMzI3OWMzODgxOTlmYmMwZTczYzhiZAotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRy
eUJhc2VfaAorI2RlZmluZSBFbnRyeUJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01GaWxlU3lzdGVtQmFzZTsKK2NsYXNz
IEVudHJ5U3luYzsKKworLy8gQSBjb21tb24gYmFzZSBjbGFzcyBmb3IgRW50cnkgYW5kIEVudHJ5
U3luYy4KK2NsYXNzIEVudHJ5QmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5QmFzZT4gewor
cHVibGljOgorICAgIHZpcnR1YWwgfkVudHJ5QmFzZSgpIHsgfQorCisgICAgdmlydHVhbCBib29s
IGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzRGly
ZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIGNvbnN0IFN0cmluZyYgZnVs
bFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxQYXRoOyB9CisgICAgY29uc3QgU3RyaW5nJiBu
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisKK3Byb3RlY3RlZDoKKyAgICBFbnRyeUJh
c2UoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CisgICAgICAgIDogbV9maWxlU3lzdGVtKGZpbGVTeXN0ZW0pCisgICAgICAgICwgbV9mdWxsUGF0
aChmdWxsUGF0aCkKKyAgICB7CisgICAgfQorCisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsK
KworICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVs
bFBhdGg7CisgICAgU3RyaW5nIG1fbmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QmFzZV9o
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmls
ZWFwaS9FbnRyeVN5bmMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhYWEzNTZjNzRiMmU3OWNhYzQ4MDdjMjZl
NzUxZmYwZDQ5NGY2MzgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlT
eW5jLmNwcApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVu
dHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmls
ZVBhdGguaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJNZXRh
ZGF0YS5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRW50cnlTeW5jOjpFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeUJhc2UoZmlsZVN5c3RlbSwgZnVs
bFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWV0YWRhdGE+IEVudHJ5U3luYzo6Z2V0TWV0YWRh
dGEoRXhjZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgor
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50
cnlTeW5jPiBFbnRyeVN5bmM6Om1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4s
IGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0
byBiZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOwor
fQorCitQYXNzUmVmUHRyPEVudHJ5U3luYz4gRW50cnlTeW5jOjpjb3B5VG8oUGFzc1JlZlB0cjxE
aXJlY3RvcnlFbnRyeVN5bmM+LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3QK
K3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBFbnRyeVN5bmM6OnJlbW92ZShFeGNlcHRpb25D
b2RlJikgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKworUGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6Z2V0
UGFyZW50KCkgY29uc3QKK3sKKyAgICAvLyBTeW5jIHZlcmlvbiBvZiBnZXRQYXJlbnQgZG9lc24n
dCB0aHJvdyBleGNlcHRpb25zLgorICAgIFN0cmluZyBwYXJlbnRQYXRoID0gRE9NRmlsZVBhdGg6
OmdldERpcmVjdG9yeShmdWxsUGF0aCgpKTsKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5j
OjpjcmVhdGUobV9maWxlU3lzdGVtLCBwYXJlbnRQYXRoKTsKK30KKworfSAvLyBuYW1lc3BhY2UK
KworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9FbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iYTdkYjYwY2U5NjcwYjNjZWUxY2FiZGRmODlkOTFlOTBmMGQ4NmViCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEVudHJ5U3luY19oCisjZGVmaW5lIEVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtU3luYy5oIgorI2luY2x1ZGUgIkVudHJ5QmFz
ZS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmM7
CitjbGFzcyBNZXRhZGF0YTsKKworY2xhc3MgRW50cnlTeW5jIDogcHVibGljIEVudHJ5QmFzZSB7
CitwdWJsaWM6CisgICAgRE9NRmlsZVN5c3RlbVN5bmMqIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxET01GaWxlU3lzdGVtU3luYyo+KG1fZmlsZVN5c3RlbSk7IH0KKwor
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxNZXRhZGF0YT4gZ2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IG1vdmVUbyhQYXNzUmVmUHRy
PERpcmVjdG9yeUVudHJ5U3luYz4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBjb3B5VG8o
UGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShFeGNlcHRp
b25Db2RlJikgY29uc3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3luYz4gZ2V0UGFy
ZW50KCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJh
c2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1l
c3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5
U3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbCBiL1dlYkNv
cmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiN2VlM2MzOGM5NTQ5NDg4Mzgz
MTk5ZTc2NTNhNTkyZmZmNzNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkv
RW50cnlTeW5jLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVy
ZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDdXN0b21U
b0pTLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRW50cnlTeW5jIHsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNGaWxlOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBpc0RpcmVjdG9yeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQ
YXRoOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbVN5bmMgZmlsZXN5
c3RlbTsKKworICAgICAgICBNZXRhZGF0YSBnZXRNZXRhZGF0YSgpIHJhaXNlcyAoRmlsZUV4Y2Vw
dGlvbik7CisgICAgICAgIEVudHJ5U3luYyBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBh
cmVudCwgaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBu
YW1lKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBFbnRyeVN5bmMgY29weVRvKGlu
IERpcmVjdG9yeUVudHJ5U3luYyBwYXJlbnQsIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9O
dWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAg
ICAgdm9pZCByZW1vdmUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBEaXJlY3Rv
cnlFbnRyeVN5bmMgZ2V0UGFyZW50KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5j
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZGUzZjgzODEwMmI3ODJkNGU5NWNkOTNmYmEyNzllOThmMzkzODBl
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBA
IC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3lu
Yy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0ZpbGVFbnRyeVN5bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwg
ZnVsbFBhdGgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oIGIv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjJkMmMzNThiMmIz
YmEyNGVmZmYxZmVjYzc2ODAwYjhmMjA1OWZhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlRW50cnlT
eW5jX2gKKyNkZWZpbmUgRmlsZUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGaWxlRW50cnlTeW5jIDogcHVibGljIEVu
dHJ5U3luYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4g
Y3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQ
YXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGaWxlRW50cnlTeW5jKGZp
bGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzRmlsZSgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgRW50
cnlTeW5jOworICAgIEZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEZpbGVFbnRyeVN5bmNfaApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFbnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1MDU5MDEyZjgwYTk2MWIwMGY1ODVh
YzI2YTk3NmI3MjBjOTM3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUVudHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJh
dGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAgTm9TdGF0
aWNUYWJsZXMKKyAgICBdIEZpbGVFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICAvLyBG
SVhNRTogdG8gYmUgYWRkZWQuCisgICAgICAgIC8vIEZpbGVXcml0ZXJTeW5jIGNyZWF0ZVdyaXRl
cigpOworICAgICAgICAvLyBGaWxlIGZpbGUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAg
IH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69771</attachid>
            <date>2010-10-05 05:21:36 -0700</date>
            <delta_ts>2010-10-05 13:04:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46405-20101005052135.patch</filename>
            <type>text/plain</type>
            <size>145654</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NmFmODU3ZjRjNmVkMDFhZThhOWEyYTZiMGQzMjBiMTZiNGI4N2Q1Li43ZmQwODc4
YzFhN2I0YmNlNmZkMzQyOGUyM2UyNWI1NTBhYmIzZGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAK
KzIwMTAtMDktMzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1v
Y2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAg
IEFkZCBzbWFsbCBzdWJzZXQgb2YgdGVzdHMgZm9yIHdvcmtlcnMgKGFuZCBub24td29ya2Vycykg
dGhhdCBjYW4gYmUKKyAgICAgICAgdGVzdGVkIHdpdGggdGhlIGN1cnJlbnQgbWluaW1hbCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICBBbiBlbnRyeSBtZXRob2QgKHJlcXVlc3RGaWxlU3lzdGVt
U3luYykgaXMgbm90IHlldCBleHBvc2VkIHRvIHRoZQorICAgICAgICBXb3JrZXJDb250ZXh0IGlu
IHRoaXMgcGF0Y2gsIHNvIHdvcmtlcnMvc2ltcGxlLSotc3luYy1leHBlY3RlZC50eHQKKyAgICAg
ICAgaGF2ZSByZWZlcmVuY2UgZXJyb3JzIGZvciBub3cuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtcGVyc2lzdGVudC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5qczogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3NpbXBsZS10ZW1wb3Jhcnku
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBl
cnNpc3RlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lz
dGVudC1zeW5jLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMv
c2ltcGxlLXBlcnNpc3RlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1w
b3Jhcnktc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vd29ya2Vy
cy9zaW1wbGUtdGVtcG9yYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3Vy
Y2VzL2ZzLXRlc3QtcG9zdC5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBBZGRlZCBmYXN0L2ZpbGVzeXN0ZW0vd29ya2VycworICAg
ICAgICBub3QgdG8gcnVuIHRoZW0gaW4gcmVndWxhciB0ZXN0IHJ1bnMuCisKIDIwMTAtMTAtMDUg
IFNhdGlzaCBTYW1wYXRoICA8c2F0aXNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBKZXJlbXkgT3Jsb3cuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJiYTFmMTlj
OGFlYmFhOWJmMmY2MTk0YmExMTRhZjgzZGNmYjM4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcwpAQCAt
MCwwICsxLDM3IEBACitmdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKQoreworICAgIHBvc3RNZXNzYWdl
KG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBmaW5pc2hKU1Rlc3QoKQoreworICAgIHBvc3RNZXNz
YWdlKCJET05FIik7Cit9CisKK2Z1bmN0aW9uIGRlc2NyaXB0aW9uKG1lc3NhZ2UpCit7CisgICAg
cG9zdE1lc3NhZ2UoJ0Rlc2NyaXB0aW9uOiAnICsgbWVzc2FnZSk7Cit9CisKK2Z1bmN0aW9uIHNo
b3VsZEJlKF9hLCBfYikKK3sKKyAgaWYgKHR5cGVvZiBfYSAhPSAic3RyaW5nIiB8fCB0eXBlb2Yg
X2IgIT0gInN0cmluZyIpCisgICAgZGVidWcoIldBUk46IHNob3VsZEJlKCkgZXhwZWN0cyBzdHJp
bmcgYXJndW1lbnRzIik7CisgIHZhciBfYXYgPSBldmFsKF9hKTsKKyAgdmFyIF9idiA9IGV2YWwo
X2IpOworICBpZiAoX2F2ID09PSBfYnYpCisgICAgZGVidWcoIlBBU1M6ICIgKyBfYSArICIgaXMg
IiArIF9iKTsKKyAgZWxzZQorICAgIGRlYnVnKCJGQUlMOiAiICsgX2EgKyAiIHNob3VsZCBiZSAi
ICsgX2J2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9mIF9idiArICIpLiBXYXMgIiArIF9hdiArICIg
KG9mIHR5cGUgIiArIHR5cGVvZiBfYXYgKyAiKS4iKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVU
cnVlKF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1ZSIpOyB9CisKK2lmICh0aGlzLmltcG9ydFNjcmlw
dHMgJiYgIXRoaXMucmVxdWVzdEZpbGVTeXN0ZW0pIHsKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJl
cXVpcmVzIEZpbGVTeXN0ZW0gQVBJLicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbm1l
c3NhZ2UgPSBmdW5jdGlvbihldmVudCkgeworICAgIGltcG9ydFNjcmlwdHMoZXZlbnQuZGF0YSk7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2Zz
LXdvcmtlci10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3Vy
Y2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM0YjAyNTJmMTQ2NDdkMDVl
OTljMDNmODUxNzJkYjU1Mjk4N2MwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcG9zdC5qcwpAQCAtMCwwICsx
LDggQEAKK3dhc1Bvc3RUZXN0U2NyaXB0UGFyc2VkID0gdHJ1ZTsKKworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CitpZiAod2luZG93Lndh
c0ZpbmlzaEpTVGVzdENhbGxlZCkKKyAgICBmaW5pc2hKU1Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1w
cmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODRlMGZhZDk1MTZiMTUyMWM1NDM4ZTBjYWMwZmZjYjFmMDgxN2Uw
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzCkBAIC0wLDAgKzEsMzcgQEAKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCitmdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyLz4iOworfQorCitmdW5j
dGlvbiBzdGFydFdvcmtlcih0ZXN0U2NyaXB0VVJMKQoreworICAgIGRlYnVnKCdTdGFydGluZyB3
b3JrZXI6ICcgKyB0ZXN0U2NyaXB0VVJMKTsKKyAgICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcign
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMnKTsKKyAgICB3b3JrZXIucG9zdE1lc3Nh
Z2UodGVzdFNjcmlwdFVSTCk7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50
KQorICAgIHsKKyAgICAgICAgZGVidWcoZXZlbnQuZGF0YSk7CisgICAgICAgIGlmIChldmVudC5k
YXRhID09ICJET05FIikKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH07CisKKyAg
ICB3b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgYWxlcnQo
ZXZlbnQpOworICAgICAgICBkZWJ1ZygnR290IGVycm9yIGZyb20gd29ya2VyOiAnICsgZXZlbnQu
bWVzc2FnZSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30KKworZnVuY3Rpb24g
ZmluaXNoSlNUZXN0KCkKK3sKKyAgICB3YXNGaW5pc2hKU1Rlc3RDYWxsZWQgPSB0cnVlOworICAg
IGlmICghd2luZG93Lndhc1Bvc3RUZXN0U2NyaXB0UGFyc2VkKQorICAgICAgICByZXR1cm47Cisg
ICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicp
OworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNWIwMDkwMGZiOTJhY2ZhNzY5NjQ2YjI4MzljMjE0ZTE5NTExMmRlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCkBAIC0wLDAgKzEsOSBAQAorZGVzY3JpcHRpb24oInJl
cXVlc3RGaWxlU3lzdGVtU3luYyBQRVJTSVNURU5UIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVt
ID0gcmVxdWVzdEZpbGVTeXN0ZW1TeW5jKFBFUlNJU1RFTlQsIDEwMCk7CisKK2RlYnVnKCJTdWNj
ZXNzZnVsbHkgb2J0YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOiIgKyBmaWxlU3lzdGVtLm5h
bWUpOworc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIpOworc2hvdWxk
QmUoImZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKK2ZpbmlzaEpTVGVzdCgpOwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS1wZXJzaXN0ZW50LmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNjlmNzRhZDkxODhkOTEyNjg3ZjY3YWUxYTQ1YWIwYTViYTUyZWRjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9zaW1wbGUtcGVy
c2lzdGVudC5qcwpAQCAtMCwwICsxLDIwIEBACitkZXNjcmlwdGlvbigicmVxdWVzdEZpbGVTeXN0
ZW0gUEVSU0lTVEVOVCB0ZXN0LiIpOworCit2YXIgZmlsZVN5c3RlbSA9IG51bGw7CisKK2Z1bmN0
aW9uIGVycm9yQ2FsbGJhY2soZXJyb3IpIHsKKyAgICBkZWJ1ZygiRXJyb3Igb2NjdXJlZCB3aGls
ZSByZXF1ZXN0aW5nIGEgUEVSU0lTVEVOVCBmaWxlIHN5c3RlbToiICsgZXJyb3IuY29kZSk7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhmcykgewor
ICAgIGZpbGVTeXN0ZW0gPSBmczsKKyAgICBkZWJ1ZygiU3VjY2Vzc2Z1bGx5IG9idGFpbmVkIFBF
UlNJU1RFTlQgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKKyAgICBzaG91bGRCZVRy
dWUoImZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIik7CisgICAgc2hvdWxkQmUoImZpbGVTeXN0
ZW0ucm9vdC5mdWxsUGF0aCIsICciLyInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFy
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmVxdWVzdEZpbGVTeXN0ZW0oUEVSU0lTVEVOVCwgMTAw
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3Vy
Y2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9yZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzM2YxZDlh
MTQwNDBiNzNhOGE1ZmU4MTMyYjhhMTg5Y2Y2YmQ2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5q
cwpAQCAtMCwwICsxLDkgQEAKK2Rlc2NyaXB0aW9uKCJyZXF1ZXN0RmlsZVN5c3RlbVN5bmMgVEVN
UE9SQVJZIHRlc3QuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gcmVxdWVzdEZpbGVTeXN0ZW1TeW5j
KFRFTVBPUkFSWSwgMTAwKTsKKworZGVidWcoIlN1Y2Nlc3NmdWxseSBvYnRhaW5lZCBURU1QT1JB
UlkgRmlsZVN5c3RlbToiICsgZmlsZVN5c3RlbS5uYW1lKTsKK3Nob3VsZEJlVHJ1ZSgiZmlsZVN5
c3RlbS5uYW1lLmxlbmd0aCA+IDAiKTsKK3Nob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBh
dGgiLCAnIi8iJyk7CitmaW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9z
aW1wbGUtdGVtcG9yYXJ5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNl
cy9zaW1wbGUtdGVtcG9yYXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ODY4NWM5ZTEyYzU0M2ZlY2M4ZWNj
MWI2YWIwZmQ4ZmEzYmJlZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3JhcnkuanMKQEAgLTAsMCArMSwyMCBAQAor
ZGVzY3JpcHRpb24oInJlcXVlc3RGaWxlU3lzdGVtIFRFTVBPUkFSWSB0ZXN0LiIpOworCit2YXIg
ZmlsZVN5c3RlbSA9IG51bGw7CisKK2Z1bmN0aW9uIGVycm9yQ2FsbGJhY2soZXJyb3IpIHsKKyAg
ICBkZWJ1ZygnRXJyb3Igb2NjdXJlZCB3aGlsZSByZXF1ZXN0aW5nIGEgVEVNUE9SQVJZIGZpbGUg
c3lzdGVtOicgKyBlcnJvci5jb2RlKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rp
b24gc3VjY2Vzc0NhbGxiYWNrKGZzKSB7CisgICAgZmlsZVN5c3RlbSA9IGZzOworICAgIGRlYnVn
KCJTdWNjZXNzZnVsbHkgb2J0YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06IiArIGZpbGVTeXN0
ZW0ubmFtZSk7CisgICAgc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtLm5hbWUubGVuZ3RoID4gMCIp
OworICAgIHNob3VsZEJlKCJmaWxlU3lzdGVtLnJvb3QuZnVsbFBhdGgiLCAnIi8iJyk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVlc3RG
aWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAwLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBlcnNpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMDQyYjExY2RkMzFiYjUxMmY2YTVlMzk1NzFmYjk5ZTdjZmZhYmY2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBsZS1wZXJzaXN0ZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBQRVJTSVNU
RU5UIHRlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdWNjZXNzZnVsbHkg
b2J0YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOlRlc3RTaGVsbEZpbGVTeXN0ZW0KK1BBU1Mg
ZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVtLnJvb3Qu
ZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NpbXBs
ZS1wZXJzaXN0ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXBl
cnNpc3RlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTc3YzI2M2Q4OGQzN2QyNzQyMzJlOWZiMTQ1YTBk
ZTdmZTQ5NjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3NpbXBsZS1wZXJzaXN0ZW50Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtcGVyc2lz
dGVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBvcmFyeS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGE4ZDQ2ZmZiZDQ5OWE1NmIxOGE3ZDYxZDJlNzU0ZTY3MjQyOWUyYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUtdGVtcG9yYXJ5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACityZXF1ZXN0RmlsZVN5c3RlbSBURU1QT1JB
UlkgdGVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N1Y2Nlc3NmdWxseSBv
YnRhaW5lZCBURU1QT1JBUlkgRmlsZVN5c3RlbTpUZXN0U2hlbGxGaWxlU3lzdGVtCitQQVNTIGZp
bGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbS5yb290LmZ1
bGxQYXRoIGlzICIvIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zaW1wbGUt
dGVtcG9yYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2ltcGxlLXRlbXBv
cmFyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NjJhYzY0ZWFjNzRlNmZiYTMyM2RiODg3MTY5ZTYzODI0
OTdmM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2lt
cGxlLXRlbXBvcmFyeS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2ltcGxlLXRlbXBvcmFyeS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlYzVhNWYzMjU1MzBlNWNhZTliYzg0NmJhNzAzZDk0NzMy
OGVmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3Jr
ZXJzL3NpbXBsZS1wZXJzaXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlz
IHRlc3RzIHJlcXVlc3RpbmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci4KKworU3Rh
cnRpbmcgd29ya2VyOiAuLi9yZXNvdXJjZXMvc2ltcGxlLXBlcnNpc3RlbnQuanMKK0Rlc2NyaXB0
aW9uOiByZXF1ZXN0RmlsZVN5c3RlbSBQRVJTSVNURU5UIHRlc3QuCitTdWNjZXNzZnVsbHkgb2J0
YWluZWQgUEVSU0lTVEVOVCBGaWxlU3lzdGVtOmh0dHBfbG9jYWxob3N0XzgwODA6UGVyc2lzdGVu
dAorUEFTUzogZmlsZVN5c3RlbS5uYW1lLmxlbmd0aCA+IDAgaXMgdHJ1ZQorUEFTUzogZmlsZVN5
c3RlbS5yb290LmZ1bGxQYXRoIGlzICIvIgorRE9ORQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0
ZW50LXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNlYmZi
ZDRiNjk0NjAyNDg0MjdkYzU3MDI3YjJjNjUyYzk5ZjNjMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJ
U1RFTlQgRmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jl
c291cmNlcy9zaW1wbGUtcGVyc2lzdGVudC1zeW5jLmpzCitEZXNjcmlwdGlvbjogcmVxdWVzdEZp
bGVTeXN0ZW1TeW5jIFBFUlNJU1RFTlQgdGVzdC4KK0dvdCBlcnJvciBmcm9tIHdvcmtlcjogVW5j
YXVnaHQgUmVmZXJlbmNlRXJyb3I6IHJlcXVlc3RGaWxlU3lzdGVtU3luYyBpcyBub3QgZGVmaW5l
ZAorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS1wZXJzaXN0ZW50LXN5bmMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMmY0ZjY2Y2QxOWFkZmQwYzI2N2ZjY2Y1YTA1ZGY2MGQxMWFiNDQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmVxdWVzdGluZyBQ
RVJTSVNURU5UIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS1wZXJz
aXN0ZW50LXN5bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9m
cy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNp
c3RlbnQtc3luYy50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1w
bGUtcGVyc2lzdGVudC1zeW5jLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWVkNmM1MDM0ZjE2NGU3ZTE1NzRh
YmYxOWI0M2U1Zjg2NTFjNjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQtc3luYy50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGhpcyB0ZXN0cyByZXF1ZXN0aW5nIFBFUlNJU1RFTlQgRmlsZVN5c3RlbVN5bmMgaW4g
V29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9zaW1wbGUtcGVyc2lzdGVu
dC1zeW5jLmpzCitXb3JrZXIgc3RhcnRlZC4KK1N1Y2Nlc3NmdWxseSBvYnRhaW5lZCBQRVJTSVNU
RU5UIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpQZXJzaXN0ZW50CitQQVNTOiBmaWxl
U3lzdGVtLm5hbWUubGVuZ3RoID4gMCBpcyB0cnVlCitQQVNTOiBmaWxlU3lzdGVtLnJvb3QuZnVs
bFBhdGggaXMgIi8iCitET05FCisKK1RFU1QgQ09NUExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtcGVyc2lzdGVudC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXBlcnNpc3RlbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMTViYjg0MWUzZDhhYmMwYjNlNjFmZWE1ZmZhYmVkYTJiMTU5MjhkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2lt
cGxlLXBlcnNpc3RlbnQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3Rp
bmcgUEVSU0lTVEVOVCBGaWxlU3lzdGVtIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS1wZXJz
aXN0ZW50LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29y
a2VyLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10
ZW1wb3JhcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YTdlMmZmMTMyMmQ4NjEyODI1NzZh
YjJmYTQzMzI2Mjc1NDY1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW0gaW4gV29y
a2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5Lmpz
CitEZXNjcmlwdGlvbjogcmVxdWVzdEZpbGVTeXN0ZW0gVEVNUE9SQVJZIHRlc3QuCitTdWNjZXNz
ZnVsbHkgb2J0YWluZWQgVEVNUE9SQVJZIEZpbGVTeXN0ZW06aHR0cF9sb2NhbGhvc3RfODA4MDpU
ZW1wb3JhcnkKK1BBU1M6IGZpbGVTeXN0ZW0ubmFtZS5sZW5ndGggPiAwIGlzIHRydWUKK1BBU1M6
IGZpbGVTeXN0ZW0ucm9vdC5mdWxsUGF0aCBpcyAiLyIKK0RPTkUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUt
dGVtcG9yYXJ5LXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1zeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZTIxYzAyODM0MWM4YjkwNmI2ZjNiNjIzMzU0N2IwODBiYzhjOTFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvc2ltcGxlLXRlbXBvcmFyeS1z
eW5jLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1RoaXMgdGVzdHMgcmVxdWVzdGluZyBU
RU1QT1JBUlkgRmlsZVN5c3RlbVN5bmMgaW4gV29ya2VyLgorCitTdGFydGluZyB3b3JrZXI6IC4u
L3Jlc291cmNlcy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuanMKK0Rlc2NyaXB0aW9uOiByZXF1ZXN0
RmlsZVN5c3RlbVN5bmMgVEVNUE9SQVJZIHRlc3QuCitHb3QgZXJyb3IgZnJvbSB3b3JrZXI6IFVu
Y2F1Z2h0IFJlZmVyZW5jZUVycm9yOiByZXF1ZXN0RmlsZVN5c3RlbVN5bmMgaXMgbm90IGRlZmlu
ZWQKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS93b3JrZXJzL3NpbXBsZS10ZW1wb3Jhcnktc3luYy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEyMTYxM2E4MDhiOTQ5Yzc0MWM3Zjg1ZTFjNjU2MzU0Y2Y5M2U0ZjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5LXN5bmMuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJlcXVlc3RpbmcgVEVN
UE9SQVJZIEZpbGVTeXN0ZW1TeW5jIGluIFdvcmtlci48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL3NpbXBsZS10ZW1wb3Jh
cnktc3luYy5qcycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdv
cmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9yYXJ5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9zaW1wbGUtdGVtcG9y
YXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA4YTMyNzc5ZmZmNTcwYThjOWVjYjMwOTU0YzEwYzAzM2Mx
YmE1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3Jr
ZXJzL3NpbXBsZS10ZW1wb3JhcnkuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3RzIHJl
cXVlc3RpbmcgVEVNUE9SQVJZIEZpbGVTeXN0ZW0gaW4gV29ya2VyLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcuLi9yZXNvdXJjZXMvc2ltcGxl
LXRlbXBvcmFyeS5qcycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Zz
LXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnMtdGVzdC1wb3N0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZk
ODQ2NTZmZjdlZTk0MTg2MDMzYjE2YjFhNDcwOTc4YTFlYWQ5ZGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9mcy10ZXN0LXBvc3QuanMKQEAgLTAsMCAr
MSw2IEBACit3YXNQb3N0VGVzdFNjcmlwdFBhcnNlZCA9IHRydWU7CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworaWYgKHdpbmRvdy53YXNGaW5pc2hKU1Rlc3RDYWxsZWQpCisgICAgZmluaXNoSlNUZXN0
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKaW5kZXggYjdjYjUyNWJmM2M1YTZiMGFjNWRlMzRhNWYzNmJlMDJlOWI0ZmY3YS4u
OTE1MzVkZWNmYjBkMzZkNDZiZmQ2NTdkNTYzYjFhNTNlNThlNjA2MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMTU4
LDYgKzE1OCw3IEBAIFdPTlRGSVggU0tJUCA6IGZhc3QvcmVnZXgvdGVzdDEuaHRtbCA9IFBBU1MK
IC8vIFdlIHVzZSB3b3JrZXJfdWl0ZXN0cyB0byBydW4gd29ya2VycyB0ZXN0cy4gRG9uJ3QgcnVu
IHRoZW0gaW4gdGVzdF9zaGVsbC4KIFdPTlRGSVggU0tJUCA6IGZhc3Qvd29ya2VycyA9IFBBU1Mg
VElNRU9VVCBGQUlMCiBXT05URklYIFNLSVAgOiBmYXN0L2ZpbGVzL3dvcmtlcnMgPSBQQVNTIFRJ
TUVPVVQgRkFJTAorV09OVEZJWCBTS0lQIDogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMgPSBQQVNT
IFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy93b3JrZXJzID0gUEFTUyBU
SU1FT1VUIEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29y
a2VycyA9IFBBU1MgVElNRU9VVCBGQUlMCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL2V2ZW50
c291cmNlL3dvcmtlcnMgPSBQQVNTIFRJTUVPVVQgRkFJTApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQ3NjExNmUyYjRl
ZDgzYzk2NDE5OGQ0MzY2YjUxMTJlOTM1ZmE1OS4uMjZjZTU0N2Q0ZTJjZTlkNTMxOTE3YTFiZDBj
OWM5MWY0ZmQ1OWI0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjMyLDE0ICsxNjMyLDIzIEBAIEVORElGICgpCiBp
ZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwog
ICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorICAgICAgICBi
aW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKICAgICAgICAgYmluZGlu
Z3MvanMvSlNFbnRyeUN1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeVN5bmND
dXN0b20uY3BwCiAgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCisgICAgICAgIGZp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJl
YWRlci5jcHAKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcAogICAgICAg
ICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0u
Y3BwCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCisgICAgICAgIGZpbGVh
cGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRW50cnkuY3BwCiAgICAg
ICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAKKyAgICAgICAgZmlsZWFwaS9FbnRyeUFycmF5U3lu
Yy5jcHAKKyAgICAgICAgZmlsZWFwaS9FbnRyeVN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRmls
ZUVudHJ5LmNwcAorICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCiAgICAgICAgIGZp
bGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVy
LmNwcAogICAgICAgICBmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5jcHAKQEAgLTE2NDcsMTUgKzE2
NTYsMjEgQEAgaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICApCiAgICAgTElTVChBUFBFTkQg
V2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKKyAg
ICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRGly
ZWN0b3J5UmVhZGVyLmlkbAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRs
CiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwKKyAgICAgICAgZmlsZWFwaS9ET01G
aWxlU3lzdGVtU3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaWRsCiAg
ICAgICAgIGZpbGVhcGkvRW50cnkuaWRsCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmlkbAog
ICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXkuaWRsCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJh
eVN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRW50cnlDYWxsYmFjay5pZGwKICAgICAgICAgZmls
ZWFwaS9FcnJvckNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVDYWxsYmFjay5pZGwK
ICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnkuaWRsCisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5
U3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2suaWRsCiAgICAgICAg
IGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0
ZXIuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDUzMTJkZDdlMWYxYTlkOWVlZmJmYzljZWM2MDYwYTU5YjI1MjliYWEuLjgzZjE3YjU0
OGQ0ODc0YjMxYjljMGNiZTM3NDRmNjFiNzdhMjU3N2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTAtMTAt
MDUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1vY2sgY2xhc3Nl
cyBmb3IgRmlsZVN5c3RlbVN5bmMgZm9yIEZpbGVTeXN0ZW0gQVBJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQwNQorCisgICAgICAgIEFkZGVkIGJ1
bmNoIG9mICpTeW5jIGNsYXNzZXMsIHBsdXMgcmVmYWN0b3JlZCBzb21lIGNsYXNzZXM6CisgICAg
ICAgIEFkZGVkIERPTUZpbGVTeXN0ZW1CYXNlIGFzIGEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIERP
TUZpbGVTeXN0ZW0gYW5kCisgICAgICAgIERPTUZpbGVTeXN0ZW1TeW5jLgorICAgICAgICBBZGRl
ZCBFbnRyeUJhc2UgYXMgYSBjb21tb24gYmFzZSBjbGFzcyBmb3IgRW50cnkgYW5kIEVudHJ5U3lu
Yy4KKyAgICAgICAgQWRkZWQgRGlyZWN0b3J5UmVhZGVyQmFzZSBhcyBhIGNvbW1vbiBiYXNlIGNs
YXNzIGZvciBEaXJlY3RvcnlSZWFkZXIgYW5kCisgICAgICAgIERpcmVjdG9yeVJlYWRlclN5bmMu
CisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LmNwcDogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFk
ZGVkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVz
LgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIFdl
YkNvcmUucHJpOiBBZGRlZCBuZXcgZmlsZXMuCisgICAgICAgICogV2ViQ29yZS5wcm86IEFkZGVk
IG5ldyBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajogQWRk
ZWQgbmV3IGZpbGVzLiBBbHNvIHJlbW92ZWQgdGhlIGR1cGxpY2F0ZWQgZmlsZWFwaVxGaWxlRW50
cnkuY3BwIGVudHJ5LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50
cnlTeW5jQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNFbnRyeVN5
bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJl
Y3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RP
TUZpbGVTeXN0ZW1CYXNlLmNwcDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lz
dGVtQmFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNw
cDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oOiBBZGRlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbDogQWRkZWQuCisgICAgICAg
ICogZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVj
dG9yeUVudHJ5U3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyQmFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaDogQWRk
ZWQuCisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbDogQWRkZWQuCisg
ICAgICAgICogZmlsZWFwaS9FbnRyeUFycmF5U3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZp
bGVhcGkvRW50cnlBcnJheVN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeUFy
cmF5U3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRW50cnlCYXNlLmg6IEFkZGVk
LgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmNwcDogQWRkZWQuCisgICAgICAgICogZmls
ZWFwaS9FbnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaDogQWRkZWQuCisgICAgICAgICogZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmlkbDogQWRkZWQuCisKIDIwMTAtMTAtMDUgIFNhdGlzaCBTYW1wYXRo
ICA8c2F0aXNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKZXJlbXkgT3Js
b3cuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCmluZGV4IDg5OGRhNWNhZWM4ZjA2NWFhMzU5NDVlMjRhNmI3Y2U4MDVj
NmVmNDYuLjAxZjUwMjM4Zjc3M2QzMDFlYjBkYTRjYjA5OTkwNjRmOTdkODQ0ZmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCkBAIC03NCwxMyArNzQsMTYgQEAKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckNv
bnRleHQuY3BwIgogI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiCiAjaW5j
bHVkZSAiSlNEaXJlY3RvcnlFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeVN5
bmMuY3BwIgogI2luY2x1ZGUgIkpTRGlyZWN0b3J5UmVhZGVyLmNwcCIKKyNpbmNsdWRlICJKU0Rp
cmVjdG9yeVJlYWRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTRG9jdW1lbnRGcmFnbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudFR5cGUuY3Bw
IgogI2luY2x1ZGUgIkpTRE9NQXBwbGljYXRpb25DYWNoZS5jcHAiCiAjaW5jbHVkZSAiSlNET01D
b3JlRXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTUZpbGVTeXN0ZW0uY3BwIgorI2luY2x1
ZGUgIkpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRE9NRm9ybURhdGEuY3Bw
IgogI2luY2x1ZGUgIkpTRE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NTWlt
ZVR5cGUuY3BwIgpAQCAtOTksNiArMTAyLDggQEAKICNpbmNsdWRlICJKU0VudHJpZXNDYWxsYmFj
ay5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeS5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUFycmF5LmNw
cCIKKyNpbmNsdWRlICJKU0VudHJ5QXJyYXlTeW5jLmNwcCIKKyNpbmNsdWRlICJKU0VudHJ5U3lu
Yy5jcHAiCiAjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0Vycm9y
Q2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRXJyb3JFdmVudC5jcHAiCkBAIC0xMDgsNiArMTEz
LDcgQEAKICNpbmNsdWRlICJKU0ZpbGUuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUNhbGxiYWNrLmNw
cCIKICNpbmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRW50cnlTeW5j
LmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlRXhjZXB0
aW9uLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAy
ZmRhNWU5OGJlMWE2OWY3Y2NhNTdmNmE4YTAxZTBmYzQ1NTZkYmFiLi4zNDJiYjdiNWE2OWJlYWE1
ZmE5NThlNDkzNmM2ZDc5ZWY4MGRlZmQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTQsNiArMTE0
LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9NQXBwbGljYXRpb25DYWNoZSBcCiAgICAgRE9N
Q29yZUV4Y2VwdGlvbiBcCiAgICAgRE9NRmlsZVN5c3RlbSBcCisgICAgRE9NRmlsZVN5c3RlbVN5
bmMgXAogICAgIERPTUZvcm1EYXRhIFwKICAgICBET01JbXBsZW1lbnRhdGlvbiBcCiAgICAgRE9N
TWltZVR5cGUgXApAQCAtMTMyLDcgKzEzMyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERldmlj
ZU1vdGlvbkV2ZW50IFwKICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IFwKICAgICBEaXJlY3Rv
cnlFbnRyeSBcCisgICAgRGlyZWN0b3J5RW50cnlTeW5jIFwKICAgICBEaXJlY3RvcnlSZWFkZXIg
XAorICAgIERpcmVjdG9yeVJlYWRlclN5bmMgXAogICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVu
dEZyYWdtZW50IFwKICAgICBEb2N1bWVudFR5cGUgXApAQCAtMTQyLDcgKzE0NSw5IEBAIERPTV9D
TEFTU0VTID0gXAogICAgIEVudGl0eVJlZmVyZW5jZSBcCiAgICAgRW50cmllc0NhbGxiYWNrIFwK
ICAgICBFbnRyeSBcCisgICAgRW50cnlTeW5jIFwKICAgICBFbnRyeUFycmF5IFwKKyAgICBFbnRy
eUFycmF5U3luYyBcCiAgICAgRW50cnlDYWxsYmFjayBcCiAgICAgRXJyb3JDYWxsYmFjayBcCiAg
ICAgRXJyb3JFdmVudCBcCkBAIC0xNTQsNiArMTU5LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
RmlsZSBcCiAgICAgRmlsZUNhbGxiYWNrIFwKICAgICBGaWxlRW50cnkgXAorICAgIEZpbGVFbnRy
eVN5bmMgXAogICAgIEZpbGVFeGNlcHRpb24gXAogICAgIEZpbGVFcnJvciBcCiAgICAgRmlsZUxp
c3QgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KaW5kZXggYjljNWI1YTU0NGYyYTAzNjIwNmQzNTM3ODlmMDhlYzFjMjM0NzkwNC4u
MTMzMjE3YWRmYTRmNmI0MjFiODAwYjRlM2NkY2M1ZTkyMzI0ODg1ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02ODks
NiArNjg5LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNE
aXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3Rv
cnlFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRD
dXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1
c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCkBAIC03
MTEsNiArNzEyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV3JhcHBlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5j
cHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5jcHAgXAorCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5l
ci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApAQCAtMTM2
NiwyMyArMTM2OCwzOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZmlsZWFwaS9C
bG9iVVJMLmggXAogCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAogCVdlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oIFwK
IAlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBp
L0RpcmVjdG9yeVJlYWRlci5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3lu
Yy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAogCVdlYkNv
cmUvZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlUGF0
aC5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgXAogCVdlYkNvcmUvZmls
ZWFwaS9ET01GaWxlU3lzdGVtLmggXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFz
ZS5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oIFwKKwlXZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRE9NRmls
ZVN5c3RlbVN5bmMuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0VudHJpZXNDYWxsYmFjay5oIFwKKwlX
ZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCiAJ
V2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlB
cnJheS5oIFwKKwlXZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKKwlXZWJDb3Jl
L2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBcCisJV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5o
IFwKIAlXZWJDb3JlL2ZpbGVhcGkvRW50cnlDYWxsYmFjay5oIFwKLQlXZWJDb3JlL2ZpbGVhcGkv
RW50cnkuY3BwIFwKLQlXZWJDb3JlL2ZpbGVhcGkvRW50cnkuaCBcCisJV2ViQ29yZS9maWxlYXBp
L0VudHJ5U3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaCBcCiAJV2ViQ29y
ZS9maWxlYXBpL0Vycm9yQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVDYWxsYmFj
ay5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnkuY3BwIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmggXAorCVdlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMu
aCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmls
ZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTI4OTUwNzZk
MWYzYmE5ZTdmMTM4MWNlYjg5YTcyZWZkMGRjNGQzZC4uNGM0ODg4MzE3MDljM2M4M2ZmMzUwZWJm
MmFjYzYwNGMxNWQwYTkxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDE2ICs4OSwyMiBAQAogICAgICAgICAgICAgJ2Zp
bGVhcGkvQmxvYi5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYkJ1aWxkZXIuaWRsJywK
ICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbCcsCisgICAgICAgICAgICAn
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlci5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnku
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QXJyYXkuaWRsJywKKyAgICAgICAgICAg
ICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRy
eUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeVN5bmMuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0Vycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZpbGUuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3IuaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAg
ICdmaWxlYXBpL0ZpbGVMaXN0LmlkbCcsCkBAIC01NjcsNiArNTczLDcgQEAKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNTg1LDYgKzU5Miw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5U3lu
Y0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuaCcsCkBAIC03NjQsNiArNzcyLDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLApAQCAtNzcy
LDYgKzc4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50U291cmNlQ29uc3RydWN0
b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1
c3RvbS5jcHAnLApAQCAtMTQ1MSwyNCArMTQ2MSw0MSBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oJywKKyAgICAgICAgICAgICdmaWxl
YXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNw
cCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCcsCisgICAgICAgICAg
ICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkv
RGlyZWN0b3J5UmVhZGVyU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlUGF0aC5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0RPTUZpbGVTeXN0ZW0uY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZpbGVTeXN0ZW0u
aCcsCisgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAnLAorICAgICAg
ICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9ET01GaWxlU3lzdGVtU3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5
c3RlbVN5bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaCcsCiAg
ICAgICAgICAgICAnZmlsZWFwaS9FbnRyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50
cnkuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUJhc2UuaCcsCiAgICAgICAgICAgICAn
ZmlsZWFwaS9FbnRyeUFycmF5LmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9FbnRyeUFycmF5
LmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwJywKKyAgICAgICAg
ICAgICdmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50
cnlDYWxsYmFjay5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0VudHJ5QmFzZS5oJywKKyAgICAg
ICAgICAgICdmaWxlYXBpL0VudHJ5U3luYy5jcHAnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRW50
cnlTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRXJyb3JDYWxsYmFjay5oJywKICAgICAg
ICAgICAgICdmaWxlYXBpL0ZpbGUuY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGUuaCcs
CiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GaWxlRW50cnkuY3BwJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFbnRyeS5oJywK
KyAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwJywKKyAgICAgICAgICAgICdm
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXJyb3Iu
aCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvRmlsZUxpc3QuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkg
Yi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IDMzMzE2MjY5YmMwNjA1NmVhODU2YTliZDNlODM5
Y2JiYTE3OGNlYmUuLjA1MWY0ZDljMjY1ZDNmNjExYTIwMzc3NjRkMjE5YmI3MDZmY2JiNzUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpA
QCAtMTU2LDE2ICsxNTYsMjIgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL0Jsb2Iu
aWRsIFwKICAgICBmaWxlYXBpL0Jsb2JCdWlsZGVyLmlkbCBcCiAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeS5pZGwgXAorICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbCBcCiAgICAg
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRsIFwKKyAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRl
clN5bmMuaWRsIFwKICAgICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsIFwKKyAgICBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyaWVzQ2FsbGJhY2suaWRs
IFwKICAgICBmaWxlYXBpL0VudHJ5LmlkbCBcCiAgICAgZmlsZWFwaS9FbnRyeUFycmF5LmlkbCBc
CisgICAgZmlsZWFwaS9FbnRyeUFycmF5U3luYy5pZGwgXAogICAgIGZpbGVhcGkvRW50cnlDYWxs
YmFjay5pZGwgXAorICAgIGZpbGVhcGkvRW50cnlTeW5jLmlkbCBcCiAgICAgZmlsZWFwaS9FcnJv
ckNhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxlLmlkbCBcCiAgICAgZmlsZWFwaS9GaWxl
Q2FsbGJhY2suaWRsIFwKICAgICBmaWxlYXBpL0ZpbGVFbnRyeS5pZGwgXAorICAgIGZpbGVhcGkv
RmlsZUVudHJ5U3luYy5pZGwgXAogICAgIGZpbGVhcGkvRmlsZUVycm9yLmlkbCBcCiAgICAgZmls
ZWFwaS9GaWxlTGlzdC5pZGwgXAogICAgIGZpbGVhcGkvRmlsZVJlYWRlci5pZGwgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZjc3
NGM5NWQ2NDJhY2YyYTcxN2IzOWZkZjRlY2E5Y2U4YTkyY2YxNS4uMzdkN2E0NjZjZmNjNGViYTc2
M2E5MzEyNmJlMzM3NjM5MGM4N2YzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybwor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yOTc0LDE2ICsyOTc0LDI1IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSB7CiAgICAgSEVBREVSUyArPSBcCiAgICAg
ICAgIGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyLmggXAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9y
eUVudHJ5LmggXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5oIFwKICAgICAg
ICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCBcCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyQmFzZS5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAog
ICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmggXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW0uaCBcCisgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaCBcCisgICAgICAg
IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRW50cmllc0Nh
bGxiYWNrLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmggXAogICAgICAgICBmaWxlYXBpL0Vu
dHJ5QXJyYXkuaCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaCBcCisgICAgICAg
IGZpbGVhcGkvRW50cnlCYXNlLmggXAogICAgICAgICBmaWxlYXBpL0VudHJ5Q2FsbGJhY2suaCBc
CisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0Vycm9yQ2Fs
bGJhY2suaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZUNhbGxiYWNrLmggXAogICAgICAgICBmaWxl
YXBpL0ZpbGVFbnRyeS5oIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggXAogICAg
ICAgICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIFwKICAgICAgICAgZmlsZWFwaS9GaWxl
U3lzdGVtQ2FsbGJhY2tzLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuaCBcCkBAIC0y
OTk4LDE0ICszMDA3LDIzIEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0x
KSB7CiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlF
bnRyeUN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcCBcCisg
ICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlTeW5jQ3VzdG9tLmNwcCBcCiAgICAgICAgIGZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKKyAgICAgICAg
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmls
ZVBhdGguY3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBcCisgICAgICAg
IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIFwKKyAgICAgICAgZmlsZWFwaS9ET01GaWxl
U3lzdGVtU3luYy5jcHAgXAogICAgICAgICBmaWxlYXBpL0VudHJ5LmNwcCBcCiAgICAgICAgIGZp
bGVhcGkvRW50cnlBcnJheS5jcHAgXAorICAgICAgICBmaWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNw
cCBcCisgICAgICAgIGZpbGVhcGkvRW50cnlTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmls
ZUVudHJ5LmNwcCBcCisgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgXAogICAgICAg
ICBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwIFwKICAgICAgICAgZmlsZWFwaS9GaWxl
V3JpdGVyLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBmZWQ1OTEzODIxYTQxM2VjZmVkZjRh
N2E3NjFmNjc1YWVmYzA2YTFlLi5iZTUzNGEwMmY0MGY3ZDA0OWI0Mjg1MDQzMWFlODk4YWI1MjMw
NTgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMwOTUsNiArMzA5
NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
RGlyZWN0b3J5RW50cnlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJ
CQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTMxNTEsNiArMzE1OSwxNCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVh
ZGVyU3luYy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRGlyZWN0b3J5UmVhZGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkBAIC0zNDg3LDYgKzM1MDMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01GaWxlU3lzdGVt
U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0RPTUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00
NDUxLDYgKzQ0NzUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0VudHJ5QXJyYXlTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeUFycmF5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5Q2FsbGJhY2suY3BwIg0KIAkJ
CQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTQ1MDcsNiArNDUzOSwxNCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnlTeW5jLmNw
cCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRy
eVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNFcnJvckNhbGxiYWNrLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC00OTAzLDYgKzQ5NDMsMjIgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRW50cnkuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeS5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFbnRyeVN5
bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0ZpbGVFbnRyeVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNGaWxlRXJyb3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzYzOSw2
ICszNzY5NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9yeUVudHJ5U3luYy5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXERpcmVjdG9y
eUVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXIuY3BwIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KQEAgLTM3NjQ3LDYgKzM3NzExLDE4IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyQmFzZS5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRGlyZWN0b3J5UmVhZGVyU3lu
Yy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
QEAgLTM3NjcxLDYgKzM3NzQ3LDIyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRE9NRmlsZVN5c3RlbUJhc2UuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFw
aVxET01GaWxlU3lzdGVtQmFzZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxET01GaWxlU3lzdGVtU3luYy5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBp
XERPTUZpbGVTeXN0ZW1TeW5jLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTUZvcm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCkBAIC0zNzcxNSw2ICszNzgwNywyNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5QXJyYXlTeW5jLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZp
bGVhcGlcRW50cnlBcnJheVN5bmMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRW50cnlCYXNlLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEVudHJ5U3lu
Yy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXEVudHJ5U3luYy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxFbnRyeUNhbGxiYWNrLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQpAQCAtMzc3MzksMTEgKzM3ODUxLDE1IEBACiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZUVudHJ5LmNw
cCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeS5oIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxl
RW50cnkuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEZpbGVFbnRyeVN5bmMuY3Bw
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZmlsZWFwaVxGaWxlRW50cnlTeW5jLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CkBAIC00NDI4Miw2ICs0NDM5OCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZp
bGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeVN5
bmNDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRG9jdW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJ
Pg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNDUwNDIsNiArNDUxNjIsMTAgQEAKIAkJ
CQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJp
bmRpbmdzXGpzXEpTRW50cnlTeW5jQ3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0K
KwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0V2ZW50Q3Vz
dG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGFiYjI1NjZkMzM0Y2E2NGIxZTMx
ZDM1YTVmYmMzYzg5M2JhYWE4ZS4uMWI5M2U2MGNlNTJjMWM3MGFjY2I0YmJhNTE5YzNlMmU1Mzgw
ZjA5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0
NjYsNiArMjQ2Niw3IEBACiAJCTg1RkYzMTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2Fy
ZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4
NUZGMzE1QjBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3
NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tICovOyB9OwogCQk4NjI0M0QwMTExQkMzMUY3MDBD
QzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0Fy
cmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4OTBBRTBFMTEyNTZBMDc5MDBGNTk2OEMg
LyogRGlyZWN0b3J5UmVhZGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkwQUUwRTAxMjU2QTA3OTAwRjU5NjhDIC8qIERpcmVjdG9yeVJlYWRl
ckJhc2UuaCAqLzsgfTsKIAkJODkzQzQ3QTcxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
QTUxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVDYWxsYmFjay5oICovOyB9OwogCQk4OTNDNDdBODEy
Mzg5MDhCMDAyQjNEODYgLyogRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdBNjEyMzg5MDhCMDAyQjNEODYgLyog
RmlsZVdyaXRlckNhbGxiYWNrLmggKi87IH07CiAJCTg5M0M0N0I3MTIzOEEwOTkwMDJCM0Q4NiAv
KiBKU0ZpbGVDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTNDNDdCNTEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suY3Bw
ICovOyB9OwpAQCAtMjQ3NCw2ICsyNDc1LDM1IEBACiAJCTg5M0M0N0JDMTIzOEEwQTkwMDJCM0Q4
NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRl
ckNhbGxiYWNrLmggKi87IH07CiAJCTg5M0M0N0NDMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
ODkzQzQ3REYxMjNFRjRBOTAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3REUxMjNF
RjRBOTAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwICovOyB9OworCQk4OTND
NDgwMDEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0YwMTI0OEJEMzkwMDJC
M0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgwMTEyNDhCRDNB
MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGMTEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0
b3J5RW50cnlTeW5jLmggKi87IH07CisJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJl
Y3RvcnlSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5j
LmNwcCAqLzsgfTsKKwkJODkzQzQ4MDMxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRl
clN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0N0YzMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi87IH07CisJ
CTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGNDEyNDhCRDM5
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuY3BwICovOyB9OworCQk4OTNDNDgwNTEyNDhC
RDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y1MTI0OEJEMzkwMDJCM0Q4NiAvKiBET01G
aWxlU3lzdGVtQmFzZS5oICovOyB9OworCQk4OTNDNDgwNjEyNDhCRDNBMDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNw
cCAqLzsgfTsKKwkJODkzQzQ4MDcxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5j
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdG
NzEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4
MDgxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0Y4MTI0OEJEMzkwMDJCM0Q4NiAv
KiBFbnRyeUFycmF5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODA5MTI0OEJEM0EwMDJCM0Q4NiAv
KiBFbnRyeUFycmF5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODkzQzQ3RjkxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi87
IH07CisJCTg5M0M0ODBCMTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0ZCMTI0OEJEMzkwMDJC
M0Q4NiAvKiBFbnRyeUJhc2UuaCAqLzsgfTsKKwkJODkzQzQ4MEMxMjQ4QkQzQTAwMkIzRDg2IC8q
IEVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDdGQzEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCAqLzsgfTsKKwkJ
ODkzQzQ4MEQxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8q
IEVudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgwRTEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVu
dHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTNDNDdGRTEyNDhCRDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi87IH07CisJ
CTg5M0M0ODBGMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdGRjEyNDhCRDM5MDAyQjNE
ODYgLyogRmlsZUVudHJ5U3luYy5oICovOyB9OworCQk4OTNDNDgyMTEyNDk1MzVCMDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGly
ZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCAqLzsgfTsKKwkJODkzQzQ4MzIxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVj
dG9yeUVudHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODMzMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0RpcmVjdG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODkzQzQ4MjcxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlT
eW5jLmggKi87IH07CisJCTg5M0M0ODM0MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJl
YWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODkzQzQ4MjgxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAg
Ki87IH07CisJCTg5M0M0ODM1MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5
bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
ODI5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCAqLzsgfTsKKwkJ
ODkzQzQ4MzYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkExMjQ5NTQ3
MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwICovOyB9OworCQk4OTNDNDgzNzEy
NDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MkIxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRE9NRmlsZVN5c3RlbVN5bmMuaCAqLzsgfTsKKwkJODkzQzQ4MzgxMjQ5NTQ3MjAwMkIzRDg2
IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ4MkMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5
bmMuY3BwICovOyB9OworCQk4OTNDNDgzOTEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5
U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkz
QzQ4MkQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuaCAqLzsgfTsKKwkJODkz
QzQ4M0ExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0ODJFMTI0OTU0NzIwMDJCM0Q4NiAv
KiBKU0VudHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0VudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODkzQzQ4MkYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggKi87IH07CisJCTg5
M0M0ODNDMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ4MzAxMjQ5NTQ3MjAwMkIz
RDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgKi87IH07CisJCTg5M0M0ODNEMTI0OTU0NzIwMDJC
M0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5M0M0ODMxMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5
bmMuaCAqLzsgfTsKKwkJODkzQzQ4NTMxMjQ5OUIwNjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1c3RvbS5jcHAgKi87IH07CiAJ
CTg5ODc4NTUyMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzOTEyMkNBMDY0MDAz
QUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovOyB9OwogCQk4OTg3ODU1MzEyMkNBMDY0MDAz
QUFCREEgLyogRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRy
eS5oICovOyB9OwogCQk4OTg3ODU1NDEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4
NTNCMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovOyB9OwpAQCAtODQ4
MCw2ICs4NTEwLDcgQEAKIAkJODVGRjMxNTgwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJvYXJk
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtleWJvYXJkRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGRjMxNTkwQUFGQkZDQjAwMzc0
RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRE9NS2V5Ym9hcmRFdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyYXlCdWZmZXJWaWV3SGVs
cGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5MEFFMEUwMTI1NkEwNzkwMEY1
OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERpcmVjdG9yeVJlYWRlckJhc2UuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVh
ZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDdBNTEyMzg5MDhC
MDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEZpbGVDYWxsYmFjay5oOyBwYXRoID0gZmlsZWFwaS9GaWxlQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3QTYxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVX
cml0ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxlV3Jp
dGVyQ2FsbGJhY2suaDsgcGF0aCA9IGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0I1MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0Zp
bGVDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Zp
bGVDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDg4LDYgKzg1
MTksMzUgQEAKIAkJODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxi
YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0NBMTIzRUVCQTIwMDJC
M0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjAxMjQ4QkQzOTAwMkIz
RDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGMTEy
NDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjIx
MjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHBhdGggPSBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDdGMzEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHBh
dGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ3RjQxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNl
LmNwcDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTNDNDdGNTEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmlsZVN5c3Rl
bUJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5c3RlbUJh
c2UuaDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjYxMjQ4QkQzOTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1T
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0
ZW1TeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGNzEyNDhCRDM5MDAyQjNEODYgLyogRE9NRmls
ZVN5c3RlbVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NRmlsZVN5
c3RlbVN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjgxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJy
YXlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QXJy
YXlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdGOTEyNDhCRDM5MDAyQjNEODYgLyogRW50cnlBcnJh
eVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW50cnlBcnJheVN5bmMu
aDsgcGF0aCA9IGZpbGVhcGkvRW50cnlBcnJheVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODkzQzQ3RkIxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBFbnRyeUJhc2UuaDsgcGF0aCA9IGZpbGVhcGkvRW50
cnlCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0ZDMTI0OEJEMzkw
MDJCM0Q4NiAvKiBFbnRyeVN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRW50cnlTeW5jLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlTeW5jLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RkQxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5
U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBFbnRyeVN5bmMuaDsgcGF0
aCA9IGZpbGVhcGkvRW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5
M0M0N0ZFMTI0OEJEMzkwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZpbGVFbnRyeVN5bmMuY3BwOyBwYXRoID0gZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3
RkYxMjQ4QkQzOTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRmlsZUVudHJ5U3luYy5oOyBwYXRoID0gZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODIwMTI0OTUzNUIwMDJC
M0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODI2MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0Rp
cmVjdG9yeUVudHJ5U3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0RpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg5M0M0ODI3MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5U3luYy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5U3luYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgyODEyNDk1NDcyMDAyQjNEODYgLyogSlNE
aXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg5M0M0ODI5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5bmMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJBMTI0OTU0NzIwMDJCM0Q4NiAv
KiBKU0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRE9NRmlsZVN5c3RlbVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OTNDNDgyQjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUZpbGVTeXN0ZW1TeW5jLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJDMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0VudHJ5QXJyYXlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRW50cnlBcnJheVN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTND
NDgyRDEyNDk1NDcyMDAyQjNEODYgLyogSlNFbnRyeUFycmF5U3luYy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0VudHJ5QXJyYXlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5M0M0ODJFMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5U3luYy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0ODJGMTI0OTU0NzIwMDJCM0Q4NiAvKiBK
U0VudHJ5U3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VudHJ5U3lu
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDgzMDEyNDk1NDcyMDAyQjNE
ODYgLyogSlNGaWxlRW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRmlsZUVudHJ5U3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg5M0M0ODMxMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0ZpbGVFbnRyeVN5bmMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlRW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg5M0M0ODUyMTI0OTlCMDYwMDJCM0Q4NiAvKiBKU0VudHJ5U3luY0N1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5U3lu
Y0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTM5MTIyQ0Ew
NjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeS5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9y
eUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1M0ExMjJDQTA2
NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERpcmVjdG9yeUVudHJ5Lmg7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNCMTIyQ0EwNjQwMDNBQUJEQSAv
KiBEaXJlY3RvcnlSZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRGlyZWN0b3J5UmVhZGVyLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjE2LDE4ICsxNDI3NiwyOCBAQAog
CQkJCTg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi8sCiAJCQkJ
ODk4Nzg1ODYxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnkuY3BwICovLAogCQkJ
CTg5ODc4NTg3MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJ
ODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLywK
KwkJCQk4OTNDNDgyNzEyNDk1NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuaCAq
LywKIAkJCQk4OTg3ODU4ODEyMkNBMjZBMDAzQUFCREEgLyogSlNEaXJlY3RvcnlSZWFkZXIuY3Bw
ICovLAogCQkJCTg5ODc4NTg5MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeVJlYWRlci5o
ICovLAorCQkJCTg5M0M0ODI4MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJlYWRlclN5
bmMuY3BwICovLAorCQkJCTg5M0M0ODI5MTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeVJl
YWRlclN5bmMuaCAqLywKIAkJCQk4OTg3ODU4RTEyMkNBMkE3MDAzQUFCREEgLyogSlNET01GaWxl
U3lzdGVtLmNwcCAqLywKIAkJCQk4OTg3ODU4RjEyMkNBMkE3MDAzQUFCREEgLyogSlNET01GaWxl
U3lzdGVtLmggKi8sCisJCQkJODkzQzQ4MkExMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRE9NRmlsZVN5
c3RlbVN5bmMuY3BwICovLAorCQkJCTg5M0M0ODJCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0RPTUZp
bGVTeXN0ZW1TeW5jLmggKi8sCiAJCQkJODk4Nzg1OTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50
cmllc0NhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTg3ODU5MTEyMkNBMkE3MDAzQUFCREEgLyogSlNF
bnRyaWVzQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU5MjEyMkNBMkE3MDAzQUFCREEgLyogSlNF
bnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1OTMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnkuaCAq
LywKIAkJCQk4OTg3ODU5NDEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeUFycmF5LmNwcCAqLywK
IAkJCQk4OTg3ODU5NTEyMkNBMkE3MDAzQUFCREEgLyogSlNFbnRyeUFycmF5LmggKi8sCisJCQkJ
ODkzQzQ4MkMxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5bmMuY3BwICovLAorCQkJ
CTg5M0M0ODJEMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5QXJyYXlTeW5jLmggKi8sCiAJCQkJ
ODk4Nzg1OTYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlDYWxsYmFjay5jcHAgKi8sCiAJCQkJ
ODk4Nzg1OTcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRW50cnlDYWxsYmFjay5oICovLAorCQkJCTg5
M0M0ODJFMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0VudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4
MkYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlTeW5jLmggKi8sCiAJCQkJODk4Nzg1OTgxMjJD
QTJBNzAwM0FBQkRBIC8qIEpTRXJyb3JDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1OTkxMjJD
QTJBNzAwM0FBQkRBIC8qIEpTRXJyb3JDYWxsYmFjay5oICovLAogCQkJCUJDMDBGMDEwMEUwQTE4
OTUwMEZEMDRFMyAvKiBKU0ZpbGUuY3BwICovLApAQCAtMTQyMzYsNiArMTQzMDYsOCBAQAogCQkJ
CTg5M0M0N0I2MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5oICovLAogCQkJCTg5
ODc4NTlBMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1
OUIxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmggKi8sCisJCQkJODkzQzQ4MzAxMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ4MzExMjQ5
NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5oICovLAogCQkJCTJFM0JDMEM4MTE3RDNF
MDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi8sCiAJCQkJMkUzQkMwQzkxMTdEM0UwODAw
Qjk0MDlBIC8qIEpTRmlsZUVycm9yLmggKi8sCiAJCQkJODk4Nzg1RUUxMjJFMUU4NzAwM0FBQkRB
IC8qIEpTRmlsZUV4Y2VwdGlvbi5jcHAgKi8sCkBAIC0xNDc5MSwyNCArMTQ4NjMsNDAgQEAKIAkJ
CQk5NzZENkM2MDEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oICovLAogCQkJCTg5ODc4NTM5
MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODk4Nzg1M0Ex
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODkzQzQ3RjAxMjQ4
QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RjEx
MjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTNC
MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovLAogCQkJCTg5ODc4NTND
MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuaCAqLywKKwkJCQk4OTBBRTBFMDEy
NTZBMDc5MDBGNTk2OEMgLyogRGlyZWN0b3J5UmVhZGVyQmFzZS5oICovLAorCQkJCTg5M0M0N0Yy
MTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCAqLywKKwkJCQk4OTND
NDdGMzEyNDhCRDM5MDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oICovLAogCQkJCTg5
ODc4NTNEMTIyQ0EwNjQwMDNBQUJEQSAvKiBET01GaWxlUGF0aC5jcHAgKi8sCiAJCQkJODk4Nzg1
M0UxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRoLmggKi8sCiAJCQkJODk4Nzg1M0YxMjJD
QTA2NDAwM0FBQkRBIC8qIERPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5ODc4NTQwMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBET01GaWxlU3lzdGVtLmggKi8sCisJCQkJODkzQzQ3RjQxMjQ4QkQzOTAw
MkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmNwcCAqLywKKwkJCQk4OTNDNDdGNTEyNDhCRDM5
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCAqLywKKwkJCQk4OTNDNDdGNjEyNDhCRDM5
MDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbVN5bmMuY3BwICovLAorCQkJCTg5M0M0N0Y3MTI0OEJE
MzkwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oICovLAogCQkJCTg5ODc4NTQxMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBFbnRyaWVzQ2FsbGJhY2suaCAqLywKIAkJCQk4OTg3ODU0MjEyMkNBMDY0
MDAzQUFCREEgLyogRW50cnkuY3BwICovLAogCQkJCTg5ODc4NTQzMTIyQ0EwNjQwMDNBQUJEQSAv
KiBFbnRyeS5oICovLAogCQkJCTg5ODc4NTQ0MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUFycmF5
LmNwcCAqLywKIAkJCQk4OTg3ODU0NTEyMkNBMDY0MDAzQUFCREEgLyogRW50cnlBcnJheS5oICov
LAorCQkJCTg5M0M0N0Y4MTI0OEJEMzkwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgKi8s
CisJCQkJODkzQzQ3RjkxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggKi8sCisJ
CQkJODkzQzQ3RkIxMjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5QmFzZS5oICovLAogCQkJCTg5ODc4
NTQ2MTIyQ0EwNjQwMDNBQUJEQSAvKiBFbnRyeUNhbGxiYWNrLmggKi8sCisJCQkJODkzQzQ3RkMx
MjQ4QkQzOTAwMkIzRDg2IC8qIEVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkQxMjQ4QkQz
OTAwMkIzRDg2IC8qIEVudHJ5U3luYy5oICovLAogCQkJCTg5ODc4NTQ3MTIyQ0EwNjQwMDNBQUJE
QSAvKiBFcnJvckNhbGxiYWNrLmggKi8sCiAJCQkJOTc2RDZDNjExMjJCOEEzRDAwMUZEMUY3IC8q
IEZpbGUuY3BwICovLAogCQkJCTk3NkQ2QzYyMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlLmggKi8s
CiAJCQkJODkzQzQ3QTUxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVDYWxsYmFjay5oICovLAogCQkJ
CTg5ODc4NTQ4MTIyQ0EwNjQwMDNBQUJEQSAvKiBGaWxlRW50cnkuY3BwICovLAogCQkJCTg5ODc4
NTQ5MTIyQ0EwNjQwMDNBQUJEQSAvKiBGaWxlRW50cnkuaCAqLywKKwkJCQk4OTNDNDdGRTEyNDhC
RDM5MDAyQjNEODYgLyogRmlsZUVudHJ5U3luYy5jcHAgKi8sCisJCQkJODkzQzQ3RkYxMjQ4QkQz
OTAwMkIzRDg2IC8qIEZpbGVFbnRyeVN5bmMuaCAqLywKIAkJCQk5NzZENkM2NDEyMkI4QTNEMDAx
RkQxRjcgLyogRmlsZUVycm9yLmggKi8sCiAJCQkJMkVERjM2OUUxMjJDOTRDODAwMkY3RDRFIC8q
IEZpbGVFeGNlcHRpb24uaCAqLywKIAkJCQk5NzZENkM2NjEyMkI4QTNEMDAxRkQxRjcgLyogRmls
ZUxpc3QuY3BwICovLApAQCAtMTY3MzUsNiArMTY4MjMsNyBAQAogCQkJCTMxRkIxQTZCMTIwQTVE
NjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk1OTBF
MUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCAqLywKIAkJCQk4OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1
c3RvbS5jcHAgKi8sCisJCQkJODkzQzQ4MjAxMjQ5NTM1QjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyog
SlNEb2N1bWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJMUFDMjI2MTYwREI2OUY3NDAwODlCNjY5IC8q
IEpTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAgKi8sCiAJCQkJMkUwODg4RTUxMTQ4ODRF
MjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0b20uY3BwICovLApAQCAtMTY3NDYsNiArMTY4
MzUsNyBAQAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3Rv
bS5oICovLAogCQkJCUJDMkVENTU0MEM2QjlCRDMwMDkyMEJGRiAvKiBKU0VsZW1lbnRDdXN0b20u
Y3BwICovLAogCQkJCTg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNw
cCAqLywKKwkJCQk4OTNDNDg1MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20u
Y3BwICovLAogCQkJCUJDRUZBRjREMEMzMTdFNjkwMEZBODFGNiAvKiBKU0V2ZW50Q3VzdG9tLmNw
cCAqLywKIAkJCQlCQzI3NUI4MDExQzVEMkI0MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDlFRUNGNzIxMDUwOEQ5QzAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5
Q3VzdG9tLmNwcCAqLywKQEAgLTIwOTYxLDYgKzIxMDUxLDIxIEBACiAJCQkJMDgxNjY4RDQxMjU2
MDNCRjAwNkYyNURFIC8qIFNWR1RleHRDaHVua0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA4MTY2OERBMTI1NjAzRDUwMDZGMjVERSAvKiBTVkdUZXh0TGF5b3V0RW5naW5lLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUY4RTExQTEyNTY1OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTg5M0M0ODAxMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlF
bnRyeVN5bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODAzMTI0OEJEM0EwMDJCM0Q4NiAv
KiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwNTEyNDhC
RDNBMDAyQjNEODYgLyogRE9NRmlsZVN5c3RlbUJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5
M0M0ODA3MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODkzQzQ4MDkxMjQ4QkQzQTAwMkIzRDg2IC8qIEVudHJ5QXJyYXlTeW5jLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OTNDNDgwQjEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlCYXNlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwRDEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5j
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgwRjEyNDhCRDNBMDAyQjNEODYgLyogRmlsZUVu
dHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4MzMxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRGlyZWN0b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTNDNDgzNTEyNDk1
NDcyMDAyQjNEODYgLyogSlNEaXJlY3RvcnlSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4OTNDNDgzNzEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lzdGVtU3luYy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODkzQzQ4MzkxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRW50cnlBcnJheVN5
bmMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5M0M0ODNCMTI0OTU0NzIwMDJCM0Q4NiAvKiBKU0Vu
dHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkzQzQ4M0QxMjQ5NTQ3MjAwMkIzRDg2IC8q
IEpTRmlsZUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODkwQUUwRTExMjU2QTA3OTAw
RjU5NjhDIC8qIERpcmVjdG9yeVJlYWRlckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjM0OTEs
NiArMjM1OTYsMjEgQEAKIAkJCQkwODE2NjhEOTEyNTYwM0Q1MDA2RjI1REUgLyogU1ZHVGV4dExh
eW91dEVuZ2luZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUY4RTEzMzEyNTY1QTQ0MDAyMzBG
RjcgLyogUHJveHlTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFGOEUxQzMxMjU2NzNF
MDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkz
QzQ4MDAxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4OTNDNDgwMjEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3lu
Yy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgwNDEyNDhCRDNBMDAyQjNEODYgLyogRE9N
RmlsZVN5c3RlbUJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4MDYxMjQ4QkQzQTAw
MkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5M0M0
ODA4MTI0OEJEM0EwMDJCM0Q4NiAvKiBFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4OTNDNDgwQzEyNDhCRDNBMDAyQjNEODYgLyogRW50cnlTeW5jLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTg5M0M0ODBFMTI0OEJEM0EwMDJCM0Q4NiAvKiBGaWxlRW50cnlTeW5jLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTg5M0M0ODIxMTI0OTUzNUIwMDJCM0Q4NiAvKiBKU0RpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzMjEyNDk1NDcy
MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODkzQzQ4MzQxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTNDNDgzNjEyNDk1NDcyMDAyQjNEODYgLyogSlNET01GaWxlU3lz
dGVtU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzODEyNDk1NDcyMDAyQjNEODYg
LyogSlNFbnRyeUFycmF5U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDgzQTEyNDk1
NDcyMDAyQjNEODYgLyogSlNFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkzQzQ4
M0MxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4OTNDNDg1MzEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRy
eVN5bmNDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMTRiNzk0OWMxMWE2NjZkMTlmYjY0OWE0NTZi
YmJlODUxYmZjZjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGly
ZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDEwMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRGlyZWN0b3J5
RW50cnlTeW5jLmgiCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0Vu
dHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJK
U0ZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZsYWdzLmgiCisjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdGF0aWMgUGFzc1JlZlB0cjxGbGFncz4gZ2V0RmxhZ3MoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBKU1ZhbHVlJiBhcmd1bWVudCkKK3sKKyAgICBpZiAoYXJndW1lbnQuaXNOdWxsKCkgfHwg
YXJndW1lbnQuaXNVbmRlZmluZWQoKSB8fCAhYXJndW1lbnQuaXNPYmplY3QoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKGFyZ3VtZW50LmluaGVyaXRzKCZKU0ZsYWdzOjpzX2luZm8pKQor
ICAgICAgICByZXR1cm4gdG9GbGFncyhhcmd1bWVudCk7CisKKyAgICBSZWZQdHI8RmxhZ3M+IGZs
YWdzOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhcmd1bWVudC5nZXRPYmplY3QoKTsKKyAgICBm
bGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5n
ZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY3JlYXRlIikpOworICAgIGZsYWdzLT5zZXRDcmVh
dGUoanNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0g
b2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOworICAgIGZs
YWdzLT5zZXRFeGNsdXNpdmUoanNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICByZXR1
cm4gZmxhZ3M7Cit9CisKK0pTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGUoRXhl
Y1N0YXRlKiBleGVjKQoreworICAgIERpcmVjdG9yeUVudHJ5U3luYyogaW1wID0gc3RhdGljX2Nh
c3Q8RGlyZWN0b3J5RW50cnlTeW5jKj4oaW1wbCgpKTsKKyAgICBjb25zdCBTdHJpbmcmIHBhdGgg
PSB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGV4ZWMsIGV4ZWMtPmFyZ3Vt
ZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPEZsYWdzPiBmbGFncyA9IGdldEZsYWdzKGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgdGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURjo6Z2V0UHRyKGltcC0+Z2V0RmlsZShwYXRoLCBmbGFncywgZWMpKSk7CisgICAgc2V0RE9N
RXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpT
RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnkoRXhlY1N0YXRlKiBleGVjKQoreworICAg
IERpcmVjdG9yeUVudHJ5U3luYyogaW1wID0gc3RhdGljX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5j
Kj4oaW1wbCgpKTsKKyAgICBjb25zdCBTdHJpbmcmIHBhdGggPSB2YWx1ZVRvU3RyaW5nV2l0aFVu
ZGVmaW5lZE9yTnVsbENoZWNrKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAg
UmVmUHRyPEZsYWdzPiBmbGFncyA9IGdldEZsYWdzKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDEpKTsK
KyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgSlNDOjpKU1ZhbHVlIHJlc3Vs
dCA9IHRvSlMoZXhlYywgdGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGltcC0+Z2V0
RGlyZWN0b3J5KHBhdGgsIGZsYWdzLCBlYykpKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywg
ZWMpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFbnRyeVN5bmNDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5
U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJmOTZhZDg3YTcwYWNhYmZhM2M1ZTExNDU3OTdm
MzA4MjFmOTI0YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRy
eVN5bmNDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJKU0VudHJ5U3luYy5oIgorCisjaW5j
bHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAi
SlNEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJKU0ZpbGVFbnRyeVN5bmMuaCIKKyNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVudHJ5U3luYyogZW50cnkpCit7CisgICAgaWYgKCFl
bnRyeSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisgICAgaWYgKGVudHJ5LT5pc0ZpbGUo
KSkKKyAgICAgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBwZXI8SlNGaWxlRW50cnlTeW5jPihl
eGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEZpbGVFbnRyeVN5bmMqPihlbnRyeSkpOwor
CisgICAgQVNTRVJUKGVudHJ5LT5pc0RpcmVjdG9yeSgpKTsKKyAgICByZXR1cm4gZ2V0RE9NT2Jq
ZWN0V3JhcHBlcjxKU0RpcmVjdG9yeUVudHJ5U3luYz4oZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0
aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmMqPihlbnRyeSkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGIyZmU5YWI2ZWNkOGI1YWM5MzU3ODE5OTlhYmM3NDFkNjc2YmE5NAot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ01h
Y3Jvcy5oIgorI2luY2x1ZGUgIlY4RW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4RXJyb3JD
YWxsYmFjay5oIgorI2luY2x1ZGUgIlY4RmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIlY4Rmxh
Z3MuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKKyNkZWZpbmUgR0VUX0ZMQUdTX0VYQ0VQVElPTl9C
TE9DSyh0eXBlLCB2YXIsIHZhbHVlKSBcCisgICAgdHlwZSB2YXI7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIHY4OjpUcnlDYXRjaCBibG9jazsgICAgICAgICAgICAgICBcCisgICAgICAgIHZh
ciA9ICh2YWx1ZSk7ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmIChibG9jay5IYXND
YXVnaHQoKSkgeyAgICAgICAgICBcCisgICAgICAgICAgICByZXR1cm4gMDsgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBQYXNzUmVmUHRyPEZsYWdzPiBn
ZXRGbGFncyhjb25zdCB2ODo6TG9jYWw8djg6OlZhbHVlPiYgYXJnKQoreworICAgIGlmIChpc1Vu
ZGVmaW5lZE9yTnVsbChhcmcpIHx8ICFhcmctPklzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiAw
OworICAgIGlmIChWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmcpKQorICAgICAgICByZXR1cm4gVjhG
bGFnczo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmcpKTsKKworICAg
IEdFVF9GTEFHU19FWENFUFRJT05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0
LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZykpOworICAgIFJlZlB0cjxGbGFncz4g
ZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhDcmVh
dGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImNyZWF0ZSIpKTsKKyAgICBpZiAoIXY4
Q3JlYXRlLklzRW1wdHkoKSAmJiAhaXNVbmRlZmluZWRPck51bGwodjhDcmVhdGUpKSB7CisgICAg
ICAgIEdFVF9GTEFHU19FWENFUFRJT05fQkxPQ0soYm9vbCwgaXNDcmVhdGUsIHY4Q3JlYXRlLT5C
b29sZWFuVmFsdWUoKSk7CisgICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXNDcmVhdGUpOworICAg
IH0KKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OEV4Y2x1c2l2ZSA9IG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiZXhjbHVzaXZlIikpOworICAgIGlmICghdjhFeGNsdXNpdmUuSXNFbXB0
eSgpICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1c2l2ZSkpIHsKKyAgICAgICAgR0VUX0ZM
QUdTX0VYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xl
YW5WYWx1ZSgpKTsKKyAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShpc0V4Y2x1c2l2ZSk7Cisg
ICAgfQorICAgIHJldHVybiBmbGFnczsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGly
ZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
JiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRpcmVjdG9yeUVudHJ5U3luYy5nZXREaXJl
Y3RvcnkiKTsKKyAgICBEaXJlY3RvcnlFbnRyeVN5bmMqIGltcCA9IFY4RGlyZWN0b3J5RW50cnlT
eW5jOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
KyAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4s
IHBhdGgsIGFyZ3NbMF0pOworICAgIFJlZlB0cjxGbGFncz4gZmxhZ3MgPSBnZXRGbGFncyhhcmdz
WzFdKTsKKyAgICBSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiByZXN1bHQgPSBpbXAtPmdldERp
cmVjdG9yeShwYXRoLCBmbGFncywgZWMpOworICAgIGlmIChVTkxJS0VMWShlYykpIHsKKyAgICAg
ICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgcmV0dXJuIHY4OjpIYW5k
bGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgp
KTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXRG
aWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMo
IkRPTS5EaXJlY3RvcnlFbnRyeVN5bmMuZ2V0RmlsZSIpOworICAgIERpcmVjdG9yeUVudHJ5U3lu
YyogaW1wID0gVjhEaXJlY3RvcnlFbnRyeVN5bmM6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwor
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENF
UFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8PiwgcGF0aCwgYXJnc1swXSk7CisgICAgUmVmUHRyPEZs
YWdzPiBmbGFncyA9IGdldEZsYWdzKGFyZ3NbMV0pOworICAgIFJlZlB0cjxGaWxlRW50cnlTeW5j
PiByZXN1bHQgPSBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIGVjKTsKKyAgICBpZiAoVU5MSUtF
TFkoZWMpKSB7CisgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgICAg
IHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICB9CisgICAgcmV0dXJuIHRvVjgo
cmVzdWx0LnJlbGVhc2UoKSk7Cit9CisKKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk4ZGYxOWIwYjEzZTE5NGVi
YWI2NzFlNmY2NGUwYTE4ZmMwN2IyMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMCwwICsxLDYxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjaW5jbHVkZSAiVjhBdHRyLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisj
aW5jbHVkZSAiVjhCaW5kaW5nU3RhdGUuaCIKKyNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5U3lu
Yy5oIgorI2luY2x1ZGUgIlY4RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiVjhGaWxlRW50cnlTeW5j
LmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMq
IGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKwor
ICAgIGlmIChpbXBsLT5pc0ZpbGUoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8
RmlsZUVudHJ5U3luYyo+KGltcGwpKTsKKworICAgIEFTU0VSVChpbXBsLT5pc0RpcmVjdG9yeSgp
KTsKKyAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmMqPihpbXBs
KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxF
X1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBi
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCBiMWIxY2RjMTFlNmRlNTNh
MWU4NWJlYmUzYzU2YjNmZWU4ZDQ0MGRkLi4xNzQyODQyZGEzMWY5ZTBkY2RlZmU4MWJhMzNlN2M2
MTEyYzlkODk0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCkBAIC01NCwxMyArNTQsOCBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBET01GaWxlU3lzdGVtOjpET01GaWxlU3lzdGVtKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093
blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKLSAgICA6IEFjdGl2ZURPTU9i
amVjdChjb250ZXh0LCB0aGlzKQotICAgICwgbV9uYW1lKG5hbWUpCi0gICAgLCBtX2FzeW5jRmls
ZVN5c3RlbShhc3luY0ZpbGVTeXN0ZW0pCi17Ci19Ci0KLURPTUZpbGVTeXN0ZW06On5ET01GaWxl
U3lzdGVtKCkKKyAgICA6IERPTUZpbGVTeXN0ZW1CYXNlKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkK
KyAgICAsIEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogewogfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW0uaAppbmRleCA4NDk4ZTc1YjVmNDQ2ZTNlZmU5Yjc4ZDY4MjdlZDMyZmFjZDRlZjcy
Li45MDhjMTZjOTQzZWNhZGY2OTEyMzJjNjA0NGFkY2VhZGQ1NDliY2FiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtLmgKQEAgLTM1LDYgKzM1LDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgogI2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0
ZW1CYXNlLmgiCiAjaW5jbHVkZSAiRmxhZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTU0LDE2ICs1NSwxMyBA
QCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiBjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOwogY2xh
c3MgVm9pZENhbGxiYWNrOwogCi1jbGFzcyBET01GaWxlU3lzdGVtIDogcHVibGljIFJlZkNvdW50
ZWQ8RE9NRmlsZVN5c3RlbT4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgRE9NRmls
ZVN5c3RlbSA6IHB1YmxpYyBET01GaWxlU3lzdGVtQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFz
c093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKICAgICB7CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3luY0Zp
bGVTeXN0ZW0pKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5ET01GaWxlU3lzdGVtKCk7Ci0KLSAg
ICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBQYXNz
UmVmUHRyPERpcmVjdG9yeUVudHJ5PiByb290KCk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3Qg
bWV0aG9kcy4KQEAgLTk2LDggKzk0LDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBET01GaWxl
U3lzdGVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NP
d25QdHI8QXN5bmNGaWxlU3lzdGVtPik7CiAKLSAgICBBc3luY0ZpbGVTeXN0ZW0qIGFzeW5jRmls
ZVN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fYXN5bmNGaWxlU3lzdGVtLmdldCgpOyB9Ci0KICAg
ICAvLyBBIGhlbHBlciB0ZW1wbGF0ZSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIHRhc2suCiAgICAg
Ly8gRklYTUU6IG1vdmUgdGhpcyB0byBhIG1vcmUgZ2VuZXJpYyBwbGFjZS4KICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ0IsIHR5cGVuYW1lIENCQXJnPgpAQCAtMTE4LDkgKzExNCw2IEBAIHByaXZh
dGU6CiAgICAgICAgIFJlZlB0cjxDQj4gbV9jYWxsYmFjazsKICAgICAgICAgUmVmUHRyPENCQXJn
PiBtX2NhbGxiYWNrQXJnOwogICAgIH07Ci0KLSAgICBTdHJpbmcgbV9uYW1lOwotICAgIG11dGFi
bGUgT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gbV9hc3luY0ZpbGVTeXN0ZW07CiB9OwogCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ0IsIHR5cGVuYW1lIENCQXJnPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtQmFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY5ODgyZDE2MGFkOWU4YjQ0YmY1MzRiYTNiYjFiNTIz
MjNhMjcyMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
QmFzZS5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJE
T01GaWxlU3lzdGVtQmFzZS5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVk
ZSAiRE9NRmlsZVBhdGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworRE9NRmlsZVN5c3RlbUJhc2U6OkRPTUZpbGVTeXN0ZW1CYXNlKGNvbnN0IFN0
cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkK
KyAgICA6IG1fbmFtZShuYW1lKQorICAgICwgbV9hc3luY0ZpbGVTeXN0ZW0oYXN5bmNGaWxlU3lz
dGVtKQoreworfQorCitET01GaWxlU3lzdGVtQmFzZTo6fkRPTUZpbGVTeXN0ZW1CYXNlKCkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmggYi9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzE0ZDhkMTdh
YzFjYjE5NDgwOWI0MzQ4YTIxNWFkZWJlZDgxMTY3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9N
RmlsZVN5c3RlbUJhc2VfaAorI2RlZmluZSBET01GaWxlU3lzdGVtQmFzZV9oCisKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBBIGNvbW1v
biBiYXNlIGNsYXNzIGZvciBET01GaWxlU3lzdGVtIGFuZCBET01GaWxlU3lzdGVtU3luYy4KK2Ns
YXNzIERPTUZpbGVTeXN0ZW1CYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NRmlsZVN5c3RlbUJh
c2U+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFz
eW5jRmlsZVN5c3RlbSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRE9NRmls
ZVN5c3RlbUJhc2UobmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7CisgICAgfQorICAgIHZpcnR1YWwg
fkRPTUZpbGVTeXN0ZW1CYXNlKCk7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX25hbWU7IH0KKyAgICBBc3luY0ZpbGVTeXN0ZW0qIGFzeW5jRmlsZVN5c3RlbSgp
IGNvbnN0IHsgcmV0dXJuIG1fYXN5bmNGaWxlU3lzdGVtLmdldCgpOyB9CisKK3Byb3RlY3RlZDoK
KyAgICBET01GaWxlU3lzdGVtQmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5
bmNGaWxlU3lzdGVtPik7CisgICAgZnJpZW5kIGNsYXNzIERPTUZpbGVTeXN0ZW1TeW5jOworCisg
ICAgU3RyaW5nIG1fbmFtZTsKKyAgICBtdXRhYmxlIE93blB0cjxBc3luY0ZpbGVTeXN0ZW0+IG1f
YXN5bmNGaWxlU3lzdGVtOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRE9NRmlsZVN5c3RlbUJhc2VfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBiL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIwMGQyMjhhYzE1
NjNkZGIxNGUyZGJmNGU2NTczNWI4NDI4OTkyZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtU3luYy5oIgorCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNpbmNsdWRlICJEaXJlY3Rv
cnlFbnRyeVN5bmMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01GaWxlU3lzdGVtU3lu
Yzo6RE9NRmlsZVN5c3RlbVN5bmMoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQorICAgIDogRE9NRmlsZVN5c3RlbUJhc2UobmFt
ZSwgYXN5bmNGaWxlU3lzdGVtKQoreworfQorCitET01GaWxlU3lzdGVtU3luYzo6fkRPTUZpbGVT
eXN0ZW1TeW5jKCkKK3sKK30KKworUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IERPTUZp
bGVTeXN0ZW1TeW5jOjpyb290KCkKK3sKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpj
cmVhdGUodGhpcywgRE9NRmlsZVBhdGg6OnJvb3QpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3Rl
bVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZlNjQ1MjZjZmRjOGQ4Njc5NTY5ZWJjY2MzYTAxZTdhNzk2ZDY2ZjUKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaApAQCAtMCwwICsxLDYzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBET01GaWxlU3lzdGVtU3luY19oCisjZGVmaW5lIERPTUZpbGVTeXN0ZW1TeW5jX2gK
KworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNl
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5RW50cnlTeW5jOwor
Cit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBET01GaWxlU3lzdGVtU3luYyA6
IHB1YmxpYyBET01GaWxlU3lzdGVtQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RE9NRmlsZVN5c3RlbVN5bmM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25Q
dHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW1TeW5jKG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkp
OworICAgIH0KKworICAgIHZpcnR1YWwgfkRPTUZpbGVTeXN0ZW1TeW5jKCk7CisKKyAgICBQYXNz
UmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcm9vdCgpOworCitwcml2YXRlOgorICAgIERPTUZp
bGVTeXN0ZW1TeW5jKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0
ZW0+KTsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlm
IC8vIERPTUZpbGVTeXN0ZW1TeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtU3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI1MWQ4Y2NkNjIwMGE3NGFhZWEwZTQyNzY0NzkyYzZhZjYxN2Y5NjEKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
Q29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBE
T01GaWxlU3lzdGVtU3luYyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERpcmVjdG9yeUVudHJ5U3luYyByb290
OworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnku
Y3BwIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcAppbmRleCA5NWMxMmU0OGY4
MTBiMWJkZTA4MDEzODAzMTdmNjcyYzdmODZlY2M0Li5mNzg3ODdhNGJjZDdmM2U1YTY1NDY5M2Iz
NjA1YjY4MzI0Yjg0MWYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50
cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKQEAgLTUxLDEy
ICs1MSwxMiBAQCBQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gRGlyZWN0b3J5RW50cnk6OmNy
ZWF0ZVJlYWRlcigpCiAKIHZvaWQgRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoY29uc3QgU3RyaW5n
JiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFj
aykKIHsKLSAgICBtX2ZpbGVTeXN0ZW0tPmdldEZpbGUodGhpcywgcGF0aCwgZmxhZ3MsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAgZmlsZXN5c3RlbSgpLT5nZXRGaWxlKHRo
aXMsIHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQogCiB2
b2lkIERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
UmVmUHRyPEZsYWdzPiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBt
X2ZpbGVTeXN0ZW0tPmdldERpcmVjdG9yeSh0aGlzLCBwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPmdldERpcmVjdG9yeSh0aGlz
LCBwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWFkMmNmNTEyZjFlOWQ5MTE0NGI1ZjMxYjcyMWQ5NzRmYzk0MmVlZAotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEs
NjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnlTeW5jLmgi
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXJT
eW5jLmgiCisjaW5jbHVkZSAiRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5o
IgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
RGlyZWN0b3J5RW50cnlTeW5jOjpEaXJlY3RvcnlFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2Uq
IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmls
ZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3lu
Yz4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVhdGVSZWFkZXIoRXhjZXB0aW9uQ29kZSYpCit7Cisg
ICAgcmV0dXJuIERpcmVjdG9yeVJlYWRlclN5bmM6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIG1fZnVs
bFBhdGgpOworfQorCitQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3lu
Yzo6Z2V0RmlsZShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29k
ZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5j
PiBEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmLCBQYXNzUmVm
UHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxl
bWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK30KKwor
I2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5
bmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZDdmYjlmMTAxYTM0ZGJkOTI1YTM2NjdjYjEwMTFmOTM4NWQxY2Yy
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5o
CkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeUVudHJ5U3luY19oCisjZGVmaW5lIERp
cmVjdG9yeUVudHJ5U3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGbGFncy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5
bmM7CitjbGFzcyBGaWxlRW50cnlTeW5jOworCitjbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmMgOiBw
dWJsaWMgRW50cnlTeW5jIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3Rv
cnlFbnRyeVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGly
ZWN0b3J5RW50cnlTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorICAgIHZpcnR1
YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIFBhc3NS
ZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3luYz4gY3JlYXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRo
LCBQYXNzUmVmUHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8RGly
ZWN0b3J5RW50cnlTeW5jPiBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVm
UHRyPEZsYWdzPiwgRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFz
cyBFbnRyeVN5bmM7CisgICAgRGlyZWN0b3J5RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiwg
Y29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkv
RGlyZWN0b3J5RW50cnlTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzc5NmJmYzczZDNlOGVhOTdjMzI3
NWQzODYwMTA3NDMwYjJiNGRiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeUVudHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAg
ICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEdlbmVyYXRlVG9KUywKKyAgICAgICAg
Tm9TdGF0aWNUYWJsZXMKKyAgICBdIERpcmVjdG9yeUVudHJ5U3luYyA6IEVudHJ5U3luYyB7Cisg
ICAgICAgIERpcmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVhZGVyKCkgcmFpc2VzIChGaWxlRXhj
ZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5U3luYyBnZXRGaWxlKGluIFtDb252
ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gRmxhZ3Mg
ZmxhZ3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIERpcmVjdG9y
eUVudHJ5U3luYyBnZXREaXJlY3RvcnkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0
aW9uKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlci5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcAppbmRleCAwOTJm
OTc2NDM4NDJiZDE2ZjUzNmU0NjE3NTNlM2E3OGY4NTdmMTMyLi4zNDM3Njc1MmQzNzU4ZDFhYzZj
YTE5YmEyNzhlMDU2MWIxZTYzZTk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcApA
QCAtMzMsMjkgKzMzLDI3IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAKLSNpbmNsdWRl
ICJET01GaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRW50cmllc0NhbGxiYWNrLmgiCiAjaW5jbHVk
ZSAiRW50cnlBcnJheS5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJG
aWxlRXJyb3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EaXJlY3RvcnlSZWFkZXI6OkRp
cmVjdG9yeVJlYWRlcihQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCi0gICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKLSAgICAs
IG1fZnVsbFBhdGgoZnVsbFBhdGgpCi0gICAgLCBtX2hhc01vcmUodHJ1ZSkKK0RpcmVjdG9yeVJl
YWRlcjo6RGlyZWN0b3J5UmVhZGVyKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25z
dCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVhZGVyQmFzZShmaWxlU3lzdGVt
LCBmdWxsUGF0aCkKIHsKIH0KIAogdm9pZCBEaXJlY3RvcnlSZWFkZXI6OnJlYWRFbnRyaWVzKFBh
c3NSZWZQdHI8RW50cmllc0NhbGxiYWNrPiBlbnRyaWVzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBpZiAoIW1faGFzTW9yZSkgewotICAg
ICAgICBtX2ZpbGVTeXN0ZW0tPnNjaGVkdWxlQ2FsbGJhY2soZW50cmllc0NhbGxiYWNrLCBFbnRy
eUFycmF5OjpjcmVhdGUoKSk7CisgICAgaWYgKCFtX2hhc01vcmVFbnRyaWVzKSB7CisgICAgICAg
IGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlbnRyaWVzQ2FsbGJhY2ssIEVudHJ5QXJy
YXk6OmNyZWF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2ZpbGVTeXN0ZW0t
PnJlYWREaXJlY3RvcnkodGhpcywgbV9mdWxsUGF0aCwgZW50cmllc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKTsKKyAgICBmaWxlc3lzdGVtKCktPnJlYWREaXJlY3RvcnkodGhpcywgbV9mdWxsUGF0
aCwgZW50cmllc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UK
K30KIAogI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXIuaAppbmRleCAzMzU4ODUzNTA3N2Q5NGE5MDFhNDkxODEyYWIwZTVkNzBhYzNjMDE2Li44MDZm
ZGYxZDAzYmFiYTkzYjRlODYzZjYxMzUwY2ZjOTMwZDlmOTc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eVJlYWRlci5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAj
aW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2Uu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ0LDI2ICs0NSwyMiBAQCBjbGFz
cyBFbnRyaWVzQ2FsbGJhY2s7CiBjbGFzcyBFbnRyaWVzQ2FsbGJhY2tzOwogY2xhc3MgRXJyb3JD
YWxsYmFjazsKIAotY2xhc3MgRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RGly
ZWN0b3J5UmVhZGVyPiB7CitjbGFzcyBEaXJlY3RvcnlSZWFkZXIgOiBwdWJsaWMgRGlyZWN0b3J5
UmVhZGVyQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVh
ZGVyPiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBT
dHJpbmcmIHBhdGgpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVh
dGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJlYWRlcihmaWxl
U3lzdGVtLCBwYXRoKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5UmVh
ZGVyKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CiAgICAgfQogCi0gICAgRE9NRmlsZVN5c3RlbSog
ZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsgfQogICAgIHZv
aWQgcmVhZEVudHJpZXMoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+ID0gMCk7Ci0gICAgdm9pZCBzZXRIYXNNb3JlKGJvb2wgaGFzTW9yZSkgeyBt
X2hhc01vcmUgPSBoYXNNb3JlOyB9CiAKLXByaXZhdGU6Ci0gICAgRGlyZWN0b3J5UmVhZGVyKFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBwYXRoKTsK
KyAgICBET01GaWxlU3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8RE9NRmlsZVN5c3RlbSo+KG1fZmlsZVN5c3RlbSk7IH0KIAotICAgIFJlZlB0cjxET01GaWxl
U3lzdGVtPiBtX2ZpbGVTeXN0ZW07Ci0gICAgU3RyaW5nIG1fZnVsbFBhdGg7Ci0gICAgYm9vbCBt
X2hhc01vcmU7Citwcml2YXRlOgorICAgIERpcmVjdG9yeVJlYWRlcihET01GaWxlU3lzdGVtQmFz
ZSosIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwogfTsKIAotfSAvLyBuYW1lc3BhY2UKK30KIAog
I2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXJCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y3M2M2YjI4MDY0ZDk0YWUzZjdkZDFmNDRjZjU0MDk0MDZh
Yjc5OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJC
YXNlLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGlyZWN0b3J5UmVhZGVyQmFzZV9oCisjZGVm
aW5lIERpcmVjdG9yeVJlYWRlckJhc2VfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisj
aW5jbHVkZSAiRE9NRmlsZVN5c3RlbUJhc2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlSZWFkZXJCYXNlIDog
cHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5UmVhZGVyQmFzZT4geworcHVibGljOgorICAgIERP
TUZpbGVTeXN0ZW1CYXNlKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVt
OyB9CisgICAgdm9pZCBzZXRIYXNNb3JlRW50cmllcyhib29sIGhhc01vcmVFbnRyaWVzKSB7IG1f
aGFzTW9yZUVudHJpZXMgPSBoYXNNb3JlRW50cmllczsgfQorCitwcm90ZWN0ZWQ6CisgICAgRGly
ZWN0b3J5UmVhZGVyQmFzZShET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCkKKyAgICAgICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAg
ICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQorICAgICAgICAsIG1faGFzTW9yZUVudHJpZXModHJ1
ZSkKKyAgICB7CisgICAgfQorCisgICAgRE9NRmlsZVN5c3RlbUJhc2UqIG1fZmlsZVN5c3RlbTsK
KyAgICBTdHJpbmcgbV9mdWxsUGF0aDsKKyAgICBib29sIG1faGFzTW9yZUVudHJpZXM7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNlbmRpZiAvLyBEaXJlY3RvcnlSZWFkZXJCYXNlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDBhYjdmNmVmZTJiNWM1ZWE5YTE3ZDBjOTYx
MTRhZDQyOTk3NDVjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitE
aXJlY3RvcnlSZWFkZXJTeW5jOjpEaXJlY3RvcnlSZWFkZXJTeW5jKERPTUZpbGVTeXN0ZW1CYXNl
KiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRGlyZWN0b3J5UmVh
ZGVyQmFzZShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1JlZlB0cjxFbnRyeUFy
cmF5U3luYz4gRGlyZWN0b3J5UmVhZGVyU3luYzo6cmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1l
c3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5UmVhZGVyU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MTE5YjdkNWVkNGQ3NjA5OGUzMDVmM2ZhNzcy
M2E4ZTRkYzJjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyU3luYy5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeVJlYWRlclN5bmNf
aAorI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2UuaCIKKyNpbmNsdWRlICJFbnRyeUFy
cmF5U3luYy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmMgOiBwdWJsaWMgRGlyZWN0b3J5UmVh
ZGVyQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVy
U3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlS
ZWFkZXJTeW5jKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorCisgICAgUGFzc1JlZlB0
cjxFbnRyeUFycmF5U3luYz4gcmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRl
OgorICAgIERpcmVjdG9yeVJlYWRlclN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUo
RklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBiL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTM5OTI4MzI2N2Y4YTVi
ZWEyY2VmMGU2NDg3YTFmZjhkNjgzMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFn
ZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisg
ICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBEaXJlY3RvcnlSZWFkZXJTeW5jIHsKKyAgICAg
ICAgRW50cnlBcnJheVN5bmMgcmVhZEVudHJpZXMoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwor
ICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIGIvV2ViQ29y
ZS9maWxlYXBpL0VudHJ5LmNwcAppbmRleCA5NjlhZTJiNmRlNmNiNDlkZTkwOWU3NmQzM2RlZDRj
MjE3MTFkZjhiLi45N2EzMjcwOGUyZjgwZjE1YWI1NzIyNDJjZTRlYzYwOTI4ODVjZjY4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeS5jcHAKQEAgLTQzLDM1ICs0MywzMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBFbnRy
eTo6RW50cnkoRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0
aCkKLSAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lzdGVtKQotICAgICwgbV9mdWxsUGF0aChmdWxs
UGF0aCkKLSAgICAsIG1fbmFtZShET01GaWxlUGF0aDo6Z2V0TmFtZShmdWxsUGF0aCkpCisgICAg
OiBFbnRyeUJhc2UoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCiB7CiB9CiAKIHZvaWQgRW50cnk6Omdl
dE1ldGFkYXRhKFBhc3NSZWZQdHI8TWV0YWRhdGFDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQ
YXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCiB7Ci0gICAgbV9maWxlU3lz
dGVtLT5nZXRNZXRhZGF0YSh0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
ICAgIGZpbGVzeXN0ZW0oKS0+Z2V0TWV0YWRhdGEodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJv
ckNhbGxiYWNrKTsKIH0KIAogdm9pZCBFbnRyeTo6bW92ZVRvKFBhc3NSZWZQdHI8RW50cnk+IHBh
cmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nl
c3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKSBjb25z
dAogewotICAgIG1fZmlsZVN5c3RlbS0+bW92ZSh0aGlzLCBwYXJlbnQsIG5hbWUsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAgZmlsZXN5c3RlbSgpLT5tb3ZlKHRoaXMsIHBh
cmVudCwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogdm9pZCBF
bnRyeTo6Y29weVRvKFBhc3NSZWZQdHI8RW50cnk+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKSBjb25zdAogewotICAgIG1fZmlsZVN5c3RlbS0+
Y29weSh0aGlzLCBwYXJlbnQsIG5hbWUsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7
CisgICAgZmlsZXN5c3RlbSgpLT5jb3B5KHRoaXMsIHBhcmVudCwgbmFtZSwgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogdm9pZCBFbnRyeTo6cmVtb3ZlKFBhc3NSZWZQdHI8
Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4g
ZXJyb3JDYWxsYmFjaykgY29uc3QKIHsKLSAgICBtX2ZpbGVTeXN0ZW0tPnJlbW92ZSh0aGlzLCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIGZpbGVzeXN0ZW0oKS0+cmVtb3Zl
KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiB9CiAKIHZvaWQgRW50cnk6
OmdldFBhcmVudChQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKSBjb25zdAogewotICAgIG1fZmls
ZVN5c3RlbS0+Z2V0UGFyZW50KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7
CisgICAgZmlsZXN5c3RlbSgpLT5nZXRQYXJlbnQodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJv
ckNhbGxiYWNrKTsKIH0KIAogU3RyaW5nIEVudHJ5Ojp0b1VSSShjb25zdCBTdHJpbmcmKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5LmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnku
aAppbmRleCA5YWY1MzJmOWJhYWM1NWRjMTE0NDJiOGVlMDc5M2E1OWY5ZGUwOGExLi5iNzVmMWVk
ZTFkMDk4YWYzNmMwNGJjMDVlMjNkODI1OGNlNDBjYWIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnkuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaApAQCAtMzQsNiArMzQs
NyBAQAogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKIAogI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0u
aCIKKyNpbmNsdWRlICJFbnRyeUJhc2UuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQ0LDE3ICs0NSwxMSBAQCBjbGFzcyBF
cnJvckNhbGxiYWNrOwogY2xhc3MgTWV0YWRhdGFDYWxsYmFjazsKIGNsYXNzIFZvaWRDYWxsYmFj
azsKIAotY2xhc3MgRW50cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeT4geworY2xhc3MgRW50
cnkgOiBwdWJsaWMgRW50cnlCYXNlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbnRyeSgpIHsg
fQogCi0gICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0g
ICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQot
ICAgIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxQYXRoOyB9
Ci0gICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9Ci0KLSAg
ICBET01GaWxlU3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVt
OyB9CisgICAgRE9NRmlsZVN5c3RlbSogZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PERPTUZpbGVTeXN0ZW0qPihtX2ZpbGVTeXN0ZW0pOyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0TWV0YWRhdGEoUGFzc1JlZlB0cjxNZXRhZGF0YUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSAwKTsKICAg
ICB2aXJ0dWFsIHZvaWQgbW92ZVRvKFBhc3NSZWZQdHI8RW50cnk+IHBhcmVudCwgY29uc3QgU3Ry
aW5nJiBuYW1lID0gU3RyaW5nKCksIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0Nh
bGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCkg
Y29uc3Q7CkBAIC02NiwxMCArNjEsNiBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBFbnRy
eShET01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKLQot
ICAgIERPTUZpbGVTeXN0ZW0qIG1fZmlsZVN5c3RlbTsKLSAgICBTdHJpbmcgbV9mdWxsUGF0aDsK
LSAgICBTdHJpbmcgbV9uYW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5QXJyYXlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFw
aS9FbnRyeUFycmF5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTllYzdkM2FmNWZjMTZkMjNjYzg3NzMy
ZGI2OGNjMDgxYWRlOTg1YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRy
eUFycmF5U3luYy5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJFbnRyeUFycmF5U3luYy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0VudHJ5QXJyYXlTeW5jOjpFbnRyeUFycmF5U3luYygpCit7Cit9
CisKK0VudHJ5U3luYyogRW50cnlBcnJheVN5bmM6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0
Cit7CisgICAgaWYgKGluZGV4ID49IG1fZW50cmllcy5zaXplKCkpCisgICAgICAgIHJldHVybiAw
OworICAgIHJldHVybiBtX2VudHJpZXNbaW5kZXhdLmdldCgpOworfQorCit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlB
cnJheVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5U3luYy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZkMDUyNGRhNDM2ODQ4ODcyY2NjNGIwYzM1OTQ1MTI5ZDE0ZDUyYzkKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaApAQCAtMCwwICsxLDY4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBFbnRyeUFycmF5U3luY19oCisjZGVmaW5lIEVudHJ5QXJyYXlTeW5jX2gKKworI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBFbnRyeUFycmF5OworCitjbGFzcyBFbnRyeUFycmF5U3luYyA6
IHB1YmxpYyBSZWZDb3VudGVkPEVudHJ5QXJyYXlTeW5jPiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEVudHJ5QXJyYXlTeW5jKCkpOworICAgIH0KKworICAgIHVuc2lnbmVk
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZW50cmllcy5zaXplKCk7IH0KKyAgICBFbnRyeVN5
bmMqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworCisgICAgYm9vbCBpc0VtcHR5KCkgY29u
c3QgeyByZXR1cm4gbV9lbnRyaWVzLmlzRW1wdHkoKTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IG1f
ZW50cmllcy5jbGVhcigpOyB9CisgICAgdm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxFbnRyeVN5bmM+
IGVudHJ5KSB7IG1fZW50cmllcy5hcHBlbmQoZW50cnkpOyB9CisKK3ByaXZhdGU6CisgICAgRW50
cnlBcnJheVN5bmMoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8RW50cnlTeW5jPiA+IG1fZW50cmll
czsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8v
IEVudHJ5QXJyYXlTeW5jX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUFycmF5
U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJkNTRmMzNlZWU5ZDI3NGQyYjZjYjBlODg5Y2MzNjhkNjFiYjUzZjkKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlBcnJheVN5bmMuaWRsCkBAIC0wLDAgKzEsNDAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitt
b2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklM
RV9TWVNURU0sCisgICAgICAgIEhhc0luZGV4R2V0dGVyLAorICAgICAgICBOb1N0YXRpY1RhYmxl
cworICAgIF0gRW50cnlBcnJheVN5bmMgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIEVudHJ5U3luYyBpdGVtKGluIFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0VudHJ5QmFzZS5oIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVlZTY1ZGYzN2JhMDYzN2MyMmZkMTliZTViYWE0YzZkOWZkMWM0MGEKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
RW50cnlCYXNlX2gKKyNkZWZpbmUgRW50cnlCYXNlX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NRmlsZVN5c3RlbUJhc2U7Citj
bGFzcyBFbnRyeVN5bmM7CisKKy8vIEEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIEVudHJ5IGFuZCBF
bnRyeVN5bmMuCitjbGFzcyBFbnRyeUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeUJhc2U+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5FbnRyeUJhc2UoKSB7IH0KKworICAgIHZpcnR1YWwg
Ym9vbCBpc0ZpbGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9mdWxsUGF0aDsgfQorICAgIGNvbnN0IFN0cmlu
ZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgRW50
cnlCYXNlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQ
YXRoKQorICAgICAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lzdGVtKQorICAgICAgICAsIG1fZnVs
bFBhdGgoZnVsbFBhdGgpCisgICAgICAgICwgbV9uYW1lKERPTUZpbGVQYXRoOjpnZXROYW1lKGZ1
bGxQYXRoKSkKKyAgICB7CisgICAgfQorCisgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKKwor
ICAgIERPTUZpbGVTeXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZnVsbFBh
dGg7CisgICAgU3RyaW5nIG1fbmFtZTsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QmFzZV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdkYTMwN2NhMzgyY2EyNmVlOWZlYzZiMzZiZjZkODhlMTI5ODk0YmUKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorCisjaWYgRU5BQkxF
KEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIKKyNpbmNsdWRlICJEaXJl
Y3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJNZXRhZGF0YS5oIgorI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxNZXRhZGF0
YT4gRW50cnlTeW5jOjpnZXRNZXRhZGF0YShFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhN
RTogdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
MDsKK30KKworUGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6bW92ZVRvKFBhc3NSZWZQ
dHI8RGlyZWN0b3J5RW50cnlTeW5jPiwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0Cit7CisgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5
bmM6OmNvcHlUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4sIGNvbnN0IFN0cmluZyYs
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRl
ZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIEVudHJ5
U3luYzo6cmVtb3ZlKEV4Y2VwdGlvbkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0byBi
ZSBpbXBsZW1lbnRlZC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitQYXNzUmVmUHRyPEVu
dHJ5U3luYz4gRW50cnlTeW5jOjpnZXRQYXJlbnQoKSBjb25zdAoreworICAgIC8vIFN5bmMgdmVy
aW9uIG9mIGdldFBhcmVudCBkb2Vzbid0IHRocm93IGV4Y2VwdGlvbnMuCisgICAgU3RyaW5nIHBh
cmVudFBhdGggPSBET01GaWxlUGF0aDo6Z2V0RGlyZWN0b3J5KGZ1bGxQYXRoKCkpOworICAgIHJl
dHVybiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIHBhcmVudFBhdGgp
OworfQorCitFbnRyeVN5bmM6OkVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3Rl
bSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICA6IEVudHJ5QmFzZShmaWxlU3lzdGVtLCBm
dWxsUGF0aCkKK3sKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5U3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwYjExMDFjZWUxZDk2Yjk3MWJjNGYwOGQ5MzZjM2I2ZmEy
YmVkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmgKQEAg
LTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgRW50cnlTeW5jX2gKKyNkZWZpbmUgRW50cnlTeW5jX2gKKwor
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1TeW5jLmgi
CisjaW5jbHVkZSAiRW50cnlCYXNlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IERpcmVjdG9yeUVudHJ5U3luYzsKK2NsYXNzIE1ldGFkYXRhOworCitjbGFzcyBFbnRyeVN5bmMg
OiBwdWJsaWMgRW50cnlCYXNlIHsKK3B1YmxpYzoKKyAgICBET01GaWxlU3lzdGVtU3luYyogZmls
ZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PERPTUZpbGVTeXN0ZW1TeW5jKj4o
bV9maWxlU3lzdGVtKTsgfQorCisgICAgdmlydHVhbCBQYXNzUmVmUHRyPE1ldGFkYXRhPiBnZXRN
ZXRhZGF0YShFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVudHJ5U3lu
Yz4gbW92ZVRvKFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBwYXJlbnQsIGNvbnN0IFN0
cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxFbnRyeVN5bmM+IGNvcHlUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcGFyZW50
LCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8RW50cnlTeW5jPiBnZXRQYXJlbnQoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIEVudHJ5
U3luYyhET01GaWxlU3lzdGVtQmFzZSosIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50cnlTeW5j
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRsIGIvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI3ZWUzYzM4Yzk1NDk0ODgzODMxOTll
NzY1M2E1OTJmZmY3M2Y1NQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRy
eVN5bmMuaWRsCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEN1c3RvbVRvSlMs
CisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBFbnRyeVN5bmMgeworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0ZpbGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGlzRGlyZWN0b3J5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZnVsbFBhdGg7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtU3luYyBmaWxlc3lzdGVt
OworCisgICAgICAgIE1ldGFkYXRhIGdldE1ldGFkYXRhKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9u
KTsKKyAgICAgICAgRW50cnlTeW5jIG1vdmVUbyhpbiBEaXJlY3RvcnlFbnRyeVN5bmMgcGFyZW50
LCBpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUp
IHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIEVudHJ5U3luYyBjb3B5VG8oaW4gRGly
ZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICB2
b2lkIHJlbW92ZSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIERpcmVjdG9yeUVu
dHJ5U3luYyBnZXRQYXJlbnQoKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcAppbmRleCBj
ZTBjMTE0YmY5OGEwNTFjMGIwNjI1ZGNhZDRiMWUzMDQ4ZmRiNzQxLi5kOTI5M2M2MTk5YzMwYmE3
NjkzNDUzMDNiNDZkOWEzYjdjZjVkNGYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUVudHJ5LmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcApAQCAtNDYsNyAr
NDYsNyBAQCBGaWxlRW50cnk6OkZpbGVFbnRyeShET01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBj
b25zdCBTdHJpbmcmIGZ1bGxQYXRoKQogCiB2b2lkIEZpbGVFbnRyeTo6Y3JlYXRlV3JpdGVyKFBh
c3NSZWZQdHI8RmlsZVdyaXRlckNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8
RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBtX2ZpbGVTeXN0ZW0tPmNyZWF0
ZVdyaXRlcih0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIGZpbGVz
eXN0ZW0oKS0+Y3JlYXRlV3JpdGVyKHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
ayk7CiB9CiAKIHZvaWQgRmlsZUVudHJ5OjpmaWxlKFBhc3NSZWZQdHI8RmlsZUNhbGxiYWNrPiwg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZDE3NjBkN2ExMmYyZGEzMzZlZTRmMTkxYTVmZDRjNzNjMDliN2IzCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0wLDAgKzEs
NDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVFbnRy
eVN5bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCisgICAgOiBFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgp
Cit7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVu
dHJ5U3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMjJhZmNlYjNlOGJhN2NmMjU3YjExYjhlZDMxMmJjNjkx
M2U2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5o
CkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEZpbGVFbnRyeVN5bmNfaAorI2RlZmluZSBGaWxlRW50
cnlTeW5jX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3lu
Yy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEZpbGVFbnRyeVN5bmMgOiBwdWJsaWMgRW50cnlTeW5jIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBjcmVhdGUoRE9NRmlsZVN5c3RlbUJh
c2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQorCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CisgICAgRmlsZUVudHJ5
U3luYyhET01GaWxlU3lzdGVtQmFzZSosIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOworfTsKKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRmlsZUVudHJ5
U3luY19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwgYi9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg4Yzg5NzFjYmUx
NWU0MWYzOWE4NTE1OGNiNjk3NjFjNTAyN2ViZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2Ug
eworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAg
ICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAgICAgICAgR2VuZXJhdGVUb0pTLAorICAg
ICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRmlsZUVudHJ5U3luYyA6IEVudHJ5U3luYyB7Cisg
ICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tz
LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAppbmRleCA1MTZm
NjI3NjhkYjg2ZTI5ODRmYTZlY2RhYmMyMzU2MjcwY2EzYTZkLi44M2IxMjBiYTUxYjEzNDM5NDFj
NjVmZDJiMzQ0YTg2ZjY2OTBiNGFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVN5
c3RlbUNhbGxiYWNrcy5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFj
a3MuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBFbnRyaWVzQ2FsbGJhY2tzOjpkaWRSZWFk
RGlyZWN0b3J5RW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIGlzRGlyZWN0b3IKIAogdm9p
ZCBFbnRyaWVzQ2FsbGJhY2tzOjpkaWRSZWFkRGlyZWN0b3J5RW50cmllcyhib29sIGhhc01vcmUp
CiB7Ci0gICAgbV9kaXJlY3RvcnlSZWFkZXItPnNldEhhc01vcmUoaGFzTW9yZSk7CisgICAgbV9k
aXJlY3RvcnlSZWFkZXItPnNldEhhc01vcmVFbnRyaWVzKGhhc01vcmUpOwogICAgIGlmIChtX3N1
Y2Nlc3NDYWxsYmFjaykKICAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1f
ZW50cmllcy5nZXQoKSk7CiB9Cg==
</data>
<flag name="review"
          id="59495"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="59577"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>