<?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>68916</bug_id>
          
          <creation_ts>2011-09-27 11:03:31 -0700</creation_ts>
          <short_desc>[fileapi] WebKitFlags should not be constructable per Directories &amp; System spec</short_desc>
          <delta_ts>2012-01-05 01:29:40 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Eric U.">ericu</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>arv</cc>
    
    <cc>ericu</cc>
    
    <cc>japhet</cc>
    
    <cc>kinuko</cc>
    
    <cc>loislo</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>474085</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-09-27 11:03:31 -0700</bug_when>
    <thetext>Per http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface, Flags is marked as [NoInterfaceObject], yet in Chromium WebKitFlags is a constructor hanging off of DOMWindow.  And there&apos;s custom V8 code that knows to transform a V8WebKitFlags into a WebKitFlags.

According to ericu, WebKitFlags shouldn&apos;t actually be constructable, so this bug just calls for deletion.  We shouldn&apos;t have to worry much about compat, since the normal use case is to just use an object literal in the API and the thing is vendor-prefixed anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474284</commentid>
    <comment_count>1</comment_count>
      <attachid>108911</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-09-27 15:22:29 -0700</bug_when>
    <thetext>Created attachment 108911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474300</commentid>
    <comment_count>2</comment_count>
      <attachid>108911</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-27 15:38:01 -0700</bug_when>
    <thetext>Comment on attachment 108911
Patch

Attachment 108911 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9883386</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474313</commentid>
    <comment_count>3</comment_count>
      <attachid>108919</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-09-27 15:57:52 -0700</bug_when>
    <thetext>Created attachment 108919
Added missing build file changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474506</commentid>
    <comment_count>4</comment_count>
      <attachid>108919</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-09-27 22:31:59 -0700</bug_when>
    <thetext>Comment on attachment 108919
Added missing build file changes.

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

Thanks for fixing this!

&gt; Source/WebCore/bindings/js/JSDirectoryEntryCustom.cpp:69
&gt; +        return jsUndefined();

I don&apos;t think we should return here?  (At least we should handle null and undefined cases)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474731</commentid>
    <comment_count>5</comment_count>
      <attachid>108919</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-09-28 08:03:01 -0700</bug_when>
    <thetext>Comment on attachment 108919
Added missing build file changes.

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

&gt;&gt; Source/WebCore/bindings/js/JSDirectoryEntryCustom.cpp:69
&gt;&gt; +        return jsUndefined();
&gt; 
&gt; I don&apos;t think we should return here?  (At least we should handle null and undefined cases)

Ah, you&apos;re right--I changed my mind on that and reverted that code elsewhere, but missed this one.  I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495018</commentid>
    <comment_count>6</comment_count>
      <attachid>113393</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-11-02 16:24:16 -0700</bug_when>
    <thetext>Created attachment 113393
I changed it just to ignore any non-object arguments, just as if you&apos;d passed in null or {}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525811</commentid>
    <comment_count>7</comment_count>
      <attachid>113393</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-21 16:26:57 -0800</bug_when>
    <thetext>Comment on attachment 113393
I changed it just to ignore any non-object arguments, just as if you&apos;d passed in null or {}.

Rejecting attachment 113393 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
bKitFlags.idl&apos;
patching file Source/WebCore/page/DOMWindow.idl
Hunk #1 succeeded at 195 with fuzz 2.
patching file Source/WebCore/workers/WorkerContext.idl
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/filesystem/flags-passing-expected.txt
patching file LayoutTests/fast/filesystem/script-tests/flags-passing.js

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10996182</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525832</commentid>
    <comment_count>8</comment_count>
      <attachid>120242</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-12-21 16:42:14 -0800</bug_when>
    <thetext>Created attachment 120242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525843</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-21 16:51:45 -0800</bug_when>
    <thetext>Attachment 120242 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
First, rewinding head to replay your work on top of it...
Applying: Inform the scrolling coordinator when scrollbar layers come and go
Using index info to reconstruct a base tree...
&lt;stdin&gt;:474806: trailing whitespace.
        [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
&lt;stdin&gt;:474827: trailing whitespace.
        Nothing to test, just removing redundant code. Correct behavior tested by 
&lt;stdin&gt;:475346: trailing whitespace.
    
warning: 3 lines add whitespace errors.
Falling back to patching base and 3-way merge...
warning: too many files (created: 167522 deleted: 3), skipping inexact rename detection
Auto-merging LayoutTests/ChangeLog
CONFLICT (content): Merge conflict in LayoutTests/ChangeLog
Auto-merging LayoutTests/platform/chromium/test_expectations.txt
CONFLICT (content): Merge conflict in LayoutTests/platform/chromium/test_expectations.txt
Auto-merging Source/WebCore/ChangeLog
CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Auto-merging Source/WebCore/page/ScrollingCoordinator.h
CONFLICT (content): Merge conflict in Source/WebCore/page/ScrollingCoordinator.h
Auto-merging Source/WebCore/page/mac/ScrollingCoordinatorMac.mm
CONFLICT (content): Merge conflict in Source/WebCore/page/mac/ScrollingCoordinatorMac.mm
Auto-merging Source/WebCore/platform/ScrollView.cpp
Auto-merging Source/WebCore/rendering/RenderLayerCompositor.cpp
CONFLICT (content): Merge conflict in Source/WebCore/rendering/RenderLayerCompositor.cpp
Auto-merging Source/WebKit2/ChangeLog
CONFLICT (content): Merge conflict in Source/WebKit2/ChangeLog
Auto-merging Tools/ChangeLog
CONFLICT (content): Merge conflict in Tools/ChangeLog
Auto-merging Tools/Scripts/build-webkit
Auto-merging Tools/Scripts/webkitdirs.pm
CONFLICT (content): Merge conflict in Tools/Scripts/webkitdirs.pm
Failed to merge in the changes.
Patch failed at 0001 Inform the scrolling coordinator when scrollbar layers come and go

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 158.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526352</commentid>
    <comment_count>10</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-22 10:37:31 -0800</bug_when>
    <thetext>I think I may have missed some discussion about this, but I thought the direction we were taking the platform as a whole was to make these sorts of dictionaries constructible, but not required, i.e. you can pass any object, but you can also construct it if you like. The advantage of doing it this way is that  it allows for feature detection.

That all said, whatever constructor/API we expose should have a less generic name than Flags since we&apos;re adding these sorts of dictionaries all over the platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526361</commentid>
    <comment_count>11</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-12-22 10:49:22 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I think I may have missed some discussion about this, but I thought the direction we were taking the platform as a whole was to make these sorts of dictionaries constructible, but not required, i.e. you can pass any object, but you can also construct it if you like. The advantage of doing it this way is that  it allows for feature detection.

We could certainly do that here, but I don&apos;t think it&apos;s necessary.  You can just check for [prefix]requestFileSystem to do feature detection.  Anyway, that&apos;s a spec decision, not an implementation decision.  This patch just brings us in line with the spec.

&gt; That all said, whatever constructor/API we expose should have a less generic name than Flags since we&apos;re adding these sorts of dictionaries all over the platform.

Indeed; I wanted to get rid of this first of all.  If we want to add back in a constructable object later, we can take the time to come up with a better name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526836</commentid>
    <comment_count>12</comment_count>
      <attachid>120242</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-23 05:23:37 -0800</bug_when>
    <thetext>Comment on attachment 120242
Patch

Clearing flags on attachment: 120242

Committed r103624: &lt;http://trac.webkit.org/changeset/103624&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526837</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-23 05:23:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526852</commentid>
    <comment_count>14</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-12-23 07:35:31 -0800</bug_when>
    <thetext>Reverted r103624 for reason:

Broke Snow Leopard builders

Committed r103625: &lt;http://trac.webkit.org/changeset/103625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529162</commentid>
    <comment_count>15</comment_count>
      <attachid>121018</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2012-01-03 16:47:52 -0800</bug_when>
    <thetext>Created attachment 121018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529584</commentid>
    <comment_count>16</comment_count>
      <attachid>121018</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2012-01-04 10:03:33 -0800</bug_when>
    <thetext>Comment on attachment 121018
Patch

Build fix: removed the last few references to the file and global object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530095</commentid>
    <comment_count>17</comment_count>
      <attachid>121018</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-05 01:29:34 -0800</bug_when>
    <thetext>Comment on attachment 121018
Patch

Clearing flags on attachment: 121018

Committed r104126: &lt;http://trac.webkit.org/changeset/104126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530096</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-05 01:29:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108911</attachid>
            <date>2011-09-27 15:22:29 -0700</date>
            <delta_ts>2011-09-27 15:57:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68916-20110927152228.patch</filename>
            <type>text/plain</type>
            <size>24961</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU2ODUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODFhZGUzMjViNDBiOWMwYWVkN2Rj
OWE4YTFjNDRlZDZiMWVmOTI4Li40MzJhZjczMjgyYTU2ZDRlZDU2MTY1ZmQ2M2RiM2M1MGQ0MzYw
Mzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjcgIEVyaWMgVWhyaGFuZSAgPGVy
aWN1QGNocm9taXVtLm9yZz4KKworICAgICAgICBbZmlsZWFwaV0gV2ViS2l0RmxhZ3Mgc2hvdWxk
IG5vdCBiZSBjb25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3RlbSBzcGVjCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIHRlc3Qg
dGhhdCBjb25zdHJ1Y3RlZCB0aGUgb2JqZWN0OyBhZGQgb25lIHRoYXQgdGVzdHMgZXJyb3ItaGFu
ZGxpbmcgZm9yIG5vbi1vYmplY3QgcGFyYW1ldGVycyB3aGlsZSBJJ20gaW4gdGhlcmUuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL2ZsYWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qczoKKwogMjAx
MS0wOS0yMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBDcmFzaCBpbiBSZW5kZXJCb3g6OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29u
dGV4dCdzIHBhaW50aW5nIGlzIGRpc2FibGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQKaW5kZXggMTFlMjAzOTdiYjRm
ZmIxYmJjYTA5MGQ2MDllYWJiMTU0MGE2YjNiNC4uNWM4NzU1MjAzMGFjOTk3M2NjODAyYmVjY2Fj
NDU1NWVkMmIwMjc3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2Zs
YWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9mbGFncy1wYXNzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxNCBAQAotUGFzc2luZyBG
bGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBw
YXJhbWV0ZXJzIChpbiBPYmplY3QgZm9ybWF0IG9yIGluIEpTT04gZm9ybWF0KSB0byBEaXJlY3Rv
cnlFbnRyeS5nZXRGaWxlIGRvZXMgbm90IGNyYXNoIGFuZCB3b3JrcyBhcyBleHBlY3RlZC4KK1Bh
c3NpbmcgRmxhZ3MgcGFyYW1ldGVyIHRlc3RzLiBUaGlzIHRlc3QgY2hlY2tzIGlmIHBhc3Npbmcg
RmxhZ3MgcGFyYW1ldGVycyB0byBEaXJlY3RvcnlFbnRyeS5nZXRGaWxlIGRvZXMgbm90IGNyYXNo
IGFuZCB3b3JrcyBhcyBleHBlY3RlZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LSogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdC4KLSogUmVjeWNsaW5nIHRoZSBzYW1lIFdl
YktpdEZsYWdzIG9iamVjdC4KLSogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdCAod2l0aCBl
eGNsdXNpdmU9dHJ1ZSkuCiAqIFBhc3NpbmcgSlNPTiBGbGFncyBvYmplY3QuCiAqIFBhc3Npbmcg
SlNPTiBGbGFncyBvYmplY3QgKHdpdGggZXhjbHVzaXZlPXRydWUpLgogKiBQYXNzaW5nIG51bGwg
YXMgYSBXZWJLaXRGbGFncyBwYXJhbWV0ZXIuCisqIFBhc3NpbmcgYSBudW1iZXIgYXMgYSBXZWJL
aXRGbGFncyBwYXJhbWV0ZXIuCiBGaW5pc2hlZCBydW5uaW5nIHRlc3RzLgotUEFTUyBleHBlY3Rl
ZENhbGxiYWNrc0NvdW50IGlzIDMKK1BBU1MgZXhwZWN0ZWRDYWxsYmFja3NDb3VudCBpcyAxCiBQ
QVNTIHVuZXhwZWN0ZWRDYWxsYmFja3NDb3VudCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zY3Jp
cHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9z
Y3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcwppbmRleCA2NGEyODljZmU4NTQwNWNkOWNkNWQ5
NDUzNzRhYjk0MTUyM2JiYzM1Li5jNWNjY2FhMjhlYjQ1M2IwZDk4NDQxYTI3OGI4MDJiODIyNWVi
MTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3Rz
L2ZsYWdzLXBhc3NpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Njcmlw
dC10ZXN0cy9mbGFncy1wYXNzaW5nLmpzCkBAIC0xLDQgKzEsNCBAQAotZGVzY3JpcHRpb24oIlBh
c3NpbmcgRmxhZ3MgcGFyYW1ldGVyIHRlc3RzLiBUaGlzIHRlc3QgY2hlY2tzIGlmIHBhc3Npbmcg
RmxhZ3MgcGFyYW1ldGVycyAoaW4gT2JqZWN0IGZvcm1hdCBvciBpbiBKU09OIGZvcm1hdCkgdG8g
RGlyZWN0b3J5RW50cnkuZ2V0RmlsZSBkb2VzIG5vdCBjcmFzaCBhbmQgd29ya3MgYXMgZXhwZWN0
ZWQuIik7CitkZXNjcmlwdGlvbigiUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRoaXMg
dGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIHRvIERpcmVjdG9yeUVudHJ5
LmdldEZpbGUgZG9lcyBub3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLiIpOwogCiB2YXIg
dGVzdEZpbGVOYW1lID0gJy9ub25fZXhpc3RlbnRfZmlsZSc7CiB2YXIgZmlsZVN5c3RlbSA9IG51
bGw7CkBAIC05LDE4ICs5LDE4IEBAIHZhciB1bmV4cGVjdGVkID0gZnVuY3Rpb24oZSkgeyB1bmV4
cGVjdGVkQ2FsbGJhY2tzQ291bnQrKzsgfTsKIAogdmFyIHRlc3RzTGlzdCA9IFsKICAgICAncnVu
T2JqZWN0VGVzdCcsCi0gICAgJ3J1bk9iamVjdFRlc3RXaXRoRXhjbHVzaXZlJywKICAgICAnY2xl
YW51cEFuZFJ1bk5leHQnLAogICAgICdydW5KU09OVGVzdCcsCiAgICAgJ3J1bkpTT05UZXN0V2l0
aEV4Y2x1c2l2ZScsCi0gICAgJ3J1bk51bGxUZXN0JworICAgICdydW5OdWxsVGVzdCcsCisgICAg
J3J1bk5vbk9iamVjdFRlc3QnCiBdOwogdmFyIHRlc3RDb3VudGVyID0gMDsKIAogZnVuY3Rpb24g
cnVuTmV4dFRlc3QodikgewogICAgIGlmICh0ZXN0Q291bnRlciA9PSB0ZXN0c0xpc3QubGVuZ3Ro
KSB7CiAgICAgICAgIGRlYnVnKCJGaW5pc2hlZCBydW5uaW5nIHRlc3RzLiIpOwotICAgICAgICBz
aG91bGRCZSgnZXhwZWN0ZWRDYWxsYmFja3NDb3VudCcsICczJyk7CisgICAgICAgIHNob3VsZEJl
KCdleHBlY3RlZENhbGxiYWNrc0NvdW50JywgJzEnKTsKICAgICAgICAgc2hvdWxkQmUoJ3VuZXhw
ZWN0ZWRDYWxsYmFja3NDb3VudCcsICcwJyk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAg
IH0gZWxzZQpAQCAtNDAsMjkgKzQwLDE4IEBAIGZ1bmN0aW9uIHJ1bk51bGxUZXN0KHYpIHsKICAg
ICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIG51bGwsIHJ1bk5leHRUZXN0
LCBlcnJvckNhbGxiYWNrKTsKIH0KIAotZnVuY3Rpb24gcnVuT2JqZWN0VGVzdCh2KSB7Ci0gICAg
ZGVidWcoIiogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdC4iKTsKLSAgICB2YXIgZmxhZ3Mg
PSBuZXcgV2ViS2l0RmxhZ3MoKTsKLSAgICBmbGFncy5jcmVhdGUgPSBmYWxzZTsKLQotICAgIGZp
bGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHVuZXhwZWN0ZWQsIGV4
cGVjdGVkKTsKLQotICAgIGRlYnVnKCIqIFJlY3ljbGluZyB0aGUgc2FtZSBXZWJLaXRGbGFncyBv
YmplY3QuIik7Ci0KLSAgICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZs
YWdzLCB1bmV4cGVjdGVkLCBleHBlY3RlZCk7CitmdW5jdGlvbiBydW5Ob25PYmplY3RUZXN0KHYp
IHsKKyAgICBkZWJ1ZygiKiBQYXNzaW5nIGEgbnVtYmVyIGFzIGEgV2ViS2l0RmxhZ3MgcGFyYW1l
dGVyLiIpOwogCi0gICAgZmxhZ3MuY3JlYXRlID0gdHJ1ZTsKLSAgICBmaWxlU3lzdGVtLnJvb3Qu
Z2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZsYWdzLCBydW5OZXh0VGVzdCwgZXJyb3JDYWxsYmFjayk7
CisgICAgLy8gVGhpcyBzaG91bGQgYmUgb2sgYW5kIHdlIHRyZWF0IGl0IGFzIHtmYWxzZSwgZmFs
c2V9IEZsYWdzLgorICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgNywg
cnVuTmV4dFRlc3QsIGVycm9yQ2FsbGJhY2spOwogfQogCi1mdW5jdGlvbiBydW5PYmplY3RUZXN0
V2l0aEV4Y2x1c2l2ZSh2KSB7Ci0gICAgZGVidWcoIiogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9i
amVjdCAod2l0aCBleGNsdXNpdmU9dHJ1ZSkuIik7Ci0gICAgdmFyIGZsYWdzID0gbmV3IFdlYktp
dEZsYWdzOwotICAgIGZsYWdzLmNyZWF0ZSA9IHRydWU7Ci0gICAgZmxhZ3MuZXhjbHVzaXZlID0g
dHJ1ZTsKLQotICAgIC8vIFRoaXMgc2hvdWxkIGZhaWwuCi0gICAgZmlsZVN5c3RlbS5yb290Lmdl
dEZpbGUodGVzdEZpbGVOYW1lLCBmbGFncywgZXJyb3JDYWxsYmFjaywgcnVuTmV4dFRlc3QpOwor
ZnVuY3Rpb24gcnVuT2JqZWN0VGVzdCh2KSB7CisgICAgLy8gV2ViS2l0RmxhZ3Mgbm8gbG9uZ2Vy
IGhhcyBhIHZpc2libGUgY29uc3RydWN0b3IuCisgICAgaWYgKHdpbmRvdy5XZWJLaXRGbGFncykK
KyAgICAgICAgdGhyb3cgIlRoZXJlIHNob3VsZCBiZSBubyBjb25zdHJ1Y3RvciBmb3IgV2ViS2l0
RmxhZ3MhIjsKKyAgICBydW5OZXh0VGVzdCgpOwogfQogCiBmdW5jdGlvbiBydW5KU09OVGVzdCh2
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZDBlODc2YzE3ZjlhYzc1MjZmNGNkMTU4OWFkOTViMDBiNzM1YWQ5
Yy4uYzgzNzgwNDI0N2Q4MTA0OTZlZTNkNDBkMjgxODdhNmVmM2M0MmEwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI5IEBACisyMDExLTA5LTI3ICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2ZpbGVhcGldIFdlYktpdEZsYWdzIHNob3VsZCBub3QgYmUgY29u
c3RydWN0YWJsZSBwZXIgRGlyZWN0b3JpZXMgJiBTeXN0ZW0gc3BlYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgSURMIGZvciB0aGUgb2JqZWN0
IGFuZCBhbGwgRE9NIHJlZmVyZW5jZXMgdG8gaXQuCisgICAgICAgICogZmlsZWFwaS9XZWJLaXRG
bGFncy5pZGw6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgUmVtb3ZlIHJlZmVyZW5jZXMg
dG8gdGhlIEpTQy9WOCBvYmplY3RzIGNvbXBpbGVkIGZyb20gdGhlIElETC4KKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RpcmVjdG9y
eUVudHJ5OjpnZXREaXJlY3RvcnkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEZsYWdzKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpnZXRGbGFncyk6CisKIDIwMTEtMDktMjEgIEp1bGllbiBDaGFm
ZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gUmVuZGVy
Qm94OjpwYWludE1hc2tJbWFnZXMgd2hlbiBHcmFwaGljc0NvbnRleHQncyBwYWludGluZyBpcyBk
aXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDkyMjhkMDU1MTg3ZDI3ZTUxOTFkNTJiODRjZmE3
ZjdmMjliMWE4N2MuLjAwMDQ3NjU5NWZiOGYzMDE3NDhmYjAyNzlmZjE1ODc4ZWFmZWFmNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTEyMzgsNyArMTIzOCw2IEBACiAgICAgICAgICAgICAnZmlsZWFw
aS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0
ZXJTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhj
ZXB0aW9uLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01l
dGFkYXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL1dlYktpdEJsb2JCdWls
ZGVyLmlkbCcsCkBAIC03MzQ2LDggKzczNDUsNiBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyQ2FsbGJhY2suaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0
ZXJTeW5jLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5jcHAnLAotICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxv
YXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24uY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMzRjYzVlY2UxNzFlODY3
MGZjMzAzY2RkOTVjN2E2MTVjOGRhNjljYS4uZWU3MTk1NjIzMDQzM2YzNzZkY2EwNGQ3YjAyYTg2
ODQ4ZjEwMmE3OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKQEAgLTIyNzk4LDYyICsyMjc5OCw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRGbGFncy5jcHAiCi0JCQkJPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRGbGFn
cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
V2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3MDA0
NGRhYWM5MmQ0NWJjNzMzNWRhMDY2NTY1YjlkZjU2YTFkMGM0Li4zZWM4NWEzZjE3MDY3M2UwN2M1
YTZmYWE4NzlhODUwYmY4ZmI4NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODU0LDggKzI4NTQsNiBAQAogCQk4OTg3ODVC
MTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTlCMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0Zp
bGVFbnRyeS5oICovOyB9OwogCQk4OTg3ODVCMjEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lz
dGVtQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODk4Nzg1OUMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNw
cCAqLzsgfTsKIAkJODk4Nzg1QjMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5c3RlbUNhbGxi
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3
ODU5RDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLzsgfTsKLQkJ
ODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUUxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwICovOyB9OwotCQk4OTg3ODVCNTEyMkNBMkE3MDAzQUFC
REEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCAq
LzsgfTsKIAkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1QTAxMjJDQTJB
NzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwICovOyB9OwogCQk4OTg3ODVCNzEyMkNBMkE3MDAz
QUFCREEgLyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCAqLzsg
fTsKIAkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODVBMjEy
MkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCAqLzsgfTsKQEAgLTk0OTAs
OCArOTQ4OCw2IEBACiAJCTg5ODc4NTlCMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVFbnRyeS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODU5QzEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxl
U3lzdGVtQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OTg3ODU5RDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODk4Nzg1OUUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2Vi
S2l0RmxhZ3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJL
aXRGbGFncy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5ODc4NTlGMTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTV2ViS2l0RmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4
Nzg1QTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZXRhZGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg5ODc4NUExMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWV0YWRhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODk4Nzg1QTIxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxs
YmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01ldGFkYXRh
Q2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU5NzQsOCArMTU5
NzAsNiBAQAogCQkJCTJFMjQ0NzY3MTM5NTkxNzMwMDRCNkMxOSAvKiBKU09wZXJhdGlvbk5vdEFs
bG93ZWRFeGNlcHRpb24uaCAqLywKIAkJCQk4OUNEMDI5MTExQzg1Qjg3MDA3MEI3OTEgLyogSlNX
ZWJLaXRCbG9iQnVpbGRlci5jcHAgKi8sCiAJCQkJODlDRDAyOTIxMUM4NUI4NzAwNzBCNzkxIC8q
IEpTV2ViS2l0QmxvYkJ1aWxkZXIuaCAqLywKLQkJCQk4OTg3ODU5RTEyMkNBMkE3MDAzQUFCREEg
LyogSlNXZWJLaXRGbGFncy5jcHAgKi8sCi0JCQkJODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTV2ViS2l0RmxhZ3MuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gRmlsZUFQSTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMjM4MSw3ICsyMjM3NSw2IEBACiAJCQkJMzE2RkUwNzQw
RTZDQ0JFRTAwQkY2MDg4IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk4MzkxNDAwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2ViS2l0Q1NTTWF0cml4Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTYxMUU1QjBFMUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODk4Nzg1QjUxMjJDQTJBNzAw
M0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjFENUMxMTJE
NTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0OTRCRDc5RTBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NDM1LDcgKzI1NDI4LDYgQEAKIAkJCQk0OTgzOTEz
RjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMyNzVCN0QxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2ViS2l0Q1NTTWF0cml4Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTg5ODc4NUI0MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkz
RjFENUMwMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250ZXh0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFDNUQxQzMwMEM5MjA2QyAvKiBKU1dlYktp
dFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAppbmRleCA4MmQ3YzFmMzlm
MmY0OWQzNTNjMzIyYTc3MWZjMTEzNDk5ZmM0YjBlLi40Y2JmODI2ZjY0OTlmODFlMzI3NGU1ZmQ3
NDBmMmVhM2I4YTk4M2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUg
IkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUg
IkpTRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkpTV2ViS2l0RmxhZ3MuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtNTksNyArNTgs
NyBAQCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoRXhlY1N0YXRlKiBleGVjKQog
ICAgIH0KIAogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3M7Ci0gICAgaWYgKCFleGVjLT5h
cmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAm
JiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhl
cml0cygmSlNXZWJLaXRGbGFnczo6c19pbmZvKSkgeworICAgIGlmICghZXhlYy0+YXJndW1lbnQo
MSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhlYy0+
YXJndW1lbnQoMSkuaXNPYmplY3QoKSkgewogICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhl
Yy0+YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CiAgICAgICAgIGZsYWdzID0gV2ViS2l0RmxhZ3M6
OmNyZWF0ZSgpOwogICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywg
SWRlbnRpZmllcihleGVjLCAiY3JlYXRlIikpOwpAQCAtNjcsNyArNjYsNyBAQCBKU1ZhbHVlIEpT
RGlyZWN0b3J5RW50cnk6OmdldEZpbGUoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBKU1ZhbHVl
IGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVz
aXZlIikpOwogICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVh
bihleGVjKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIGZsYWdzID0gdG9XZWJLaXRGbGFncyhleGVj
LT5hcmd1bWVudCgxKSk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAg
UmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKQEAgLTEwNSw3ICsxMDQsNyBA
QCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgfQogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsKLSAgICBpZiAoIWV4ZWMt
PmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgp
ICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlu
aGVyaXRzKCZKU1dlYktpdEZsYWdzOjpzX2luZm8pKSB7CisgICAgaWYgKCFleGVjLT5hcmd1bWVu
dCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVj
LT5hcmd1bWVudCgxKS5pc09iamVjdCgpKSB7CiAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBl
eGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKICAgICAgICAgZmxhZ3MgPSBXZWJLaXRGbGFn
czo6Y3JlYXRlKCk7CiAgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBvYmplY3QtPmdldChleGVj
LCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CkBAIC0xMTMsNyArMTEyLDcgQEAgSlNWYWx1
ZSBKU0RpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkoRXhlY1N0YXRlKiBleGVjKQogICAgICAg
ICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVj
LCAiZXhjbHVzaXZlIikpOwogICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpzRXhjbHVzaXZl
LnRvQm9vbGVhbihleGVjKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIGZsYWdzID0gdG9XZWJLaXRG
bGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3Vz
dG9tLmNwcAppbmRleCAyMTAwNmFiM2NlMzQ0NDI4YTI0Y2M0N2NhYmQ4MDIzZmZiZjQxODhiLi40
ODdkMDg0YTg3ZGM3MmFjZTM4ZWNhZGNjY2RkYjE2ZDYzYzA2MzlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20u
Y3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmgiCiAjaW5j
bHVkZSAiSlNFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNGaWxlRW50cnlTeW5jLmgiCi0j
aW5jbHVkZSAiSlNXZWJLaXRGbGFncy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC00OSw4ICs0OCw2IEBAIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYktpdEZsYWdzPiBnZXRGbGFncyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTVmFsdWUmIGFy
Z3VtZW50CiB7CiAgICAgaWYgKGFyZ3VtZW50LmlzTnVsbCgpIHx8IGFyZ3VtZW50LmlzVW5kZWZp
bmVkKCkgfHwgIWFyZ3VtZW50LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiAwOwotICAgIGlm
IChhcmd1bWVudC5pbmhlcml0cygmSlNXZWJLaXRGbGFnczo6c19pbmZvKSkKLSAgICAgICAgcmV0
dXJuIHRvRmxhZ3MoYXJndW1lbnQpOwogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsK
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXJndW1lbnQuZ2V0T2JqZWN0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRy
eUN1c3RvbS5jcHAKaW5kZXggMDg4OTQ1MWQzNWViNjQ2MmIzNWMzY2JkNTZhOWY1ZjFmMmQ5NGQ3
OC4uNjcyYmY3MmI2ZTc0NWZmNTA3YzViMDc2MTYzMmVmMTYwN2ZjOGU2OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVu
dHJ5Q3VzdG9tLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jv
cy5oIgogI2luY2x1ZGUgIlY4RW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIlY4RXJyb3JDYWxs
YmFjay5oIgotI2luY2x1ZGUgIlY4V2ViS2l0RmxhZ3MuaCIKICNpbmNsdWRlICJWOFByb3h5Lmgi
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC01Niw3ICs1NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5Ojpn
ZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAgICAgICAgIHJldHVybiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKICAgICB9CiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBm
bGFnczsKLSAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklz
T2JqZWN0KCkgJiYgIVY4V2ViS2l0RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pKSB7CisgICAg
aWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVjdCgpKSB7
CiAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCBvYmplY3Qs
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpOwogICAgICAgICBmbGFncyA9
IFdlYktpdEZsYWdzOjpjcmVhdGUoKTsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhD
cmVhdGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImNyZWF0ZSIpKTsKQEAgLTY5LDkg
KzY4LDYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVj
dG9yeUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMKICAgICAgICAgICAgIEVYQ0VQVElPTl9C
TE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsKICAg
ICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUpOwogICAgICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktpdEZsYWdzKiwgdG1wX2Zs
YWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4V2ViS2l0RmxhZ3M6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7Ci0g
ICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOwogICAgIH0KICAgICBSZWZQdHI8RW50cnlDYWxsYmFj
az4gc3VjY2Vzc0NhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMiAmJiAhYXJnc1sy
XS0+SXNOdWxsKCkgJiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpIHsKQEAgLTk5LDcgKzk1LDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6
OlZhbHVlPigpOwogICAgIH0KICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzOwotICAgIGlm
ICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAh
VjhXZWJLaXRGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICBpZiAoIWlzVW5kZWZp
bmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkpIHsKICAgICAgICAgRVhD
RVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CiAgICAgICAgIGZsYWdzID0gV2ViS2l0RmxhZ3M6
OmNyZWF0ZSgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOwpAQCAtMTEyLDkgKzEwOCw2IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwg
aXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CiAgICAgICAgICAgICBm
bGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktpdEZsYWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktp
dEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7Ci0gICAgICAgZmxhZ3Mg
PSB0bXBfZmxhZ3M7CiAgICAgfQogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAm
JiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5j
cHAKaW5kZXggY2QzOGNhNDViMGRlZTFkNWE3ZDVjZjFiYjU2YzcwYjBjMDQ2ZGJjNC4uODk3ODQ4
YjU5NmJjZjlkMTRlNGY1OThiYTlkNDlmNWFlNDJhMzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5
bmNDdXN0b20uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiVjhFbnRyeUNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhGaWxlRW50cnlT
eW5jLmgiCi0jaW5jbHVkZSAiVjhXZWJLaXRGbGFncy5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTY3LDggKzY2LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGdldEZsYWdzKGNv
bnN0IHY4OjpMb2NhbDx2ODo6VmFsdWU+JiBhcmcsIEV4Y2VwdGkKICAgICBlYyA9IDA7CiAgICAg
aWYgKGlzVW5kZWZpbmVkT3JOdWxsKGFyZykgfHwgIWFyZy0+SXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgaWYgKFY4V2ViS2l0RmxhZ3M6Okhhc0luc3RhbmNlKGFyZykpCi0gICAg
ICAgIHJldHVybiBWOFdlYktpdEZsYWdzOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGFyZykpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3Q7CiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNTMzNzk2YTY4ZWU0MmMxZDJmNWQ1ZmZkN2YzOGRlNmVhNjMxYjI3Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQot
ICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1t
b2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9RklM
RV9TWVNURU0sCi0gICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCi0gICAgICAgIE5vU3RhdGljVGFi
bGVzCi0gICAgXSBXZWJLaXRGbGFncyB7Ci0gICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNyZWF0
ZTsKLSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gZXhjbHVzaXZlOwotICAgIH07Ci19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNzAyZjBlN2EwYWRlYTQ2YjVmZmMyYmMzZDViYWRi
MGE1YmFiNjNhMS4uNGEzY2RmZGI5YzRhMTAwMGQ5NjZlNGJmM2I2OTU2MzIxMjdjZWFjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk5LDggKzE5OSw2IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNURU5UID0gMTsKICAgICAg
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5
c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcgc2l6ZSwgaW4gW0NhbGxi
YWNrLCBPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICAgICAg
W0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxl
U3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOwotCi0gICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVu
dGltZT1GaWxlU3lzdGVtXSBXZWJLaXRGbGFnc0NvbnN0cnVjdG9yIFdlYktpdEZsYWdzOwogI2Vu
ZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMpICYmIEVOQUJMRV9P
UklFTlRBVElPTl9FVkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRs
CmluZGV4IGY3YzFiYmIyOWRkZWE2OGY2OWQzNTg5NGE0Y2ZhNWNiNDUyM2UxNjUuLmQ3MDAzYTJl
OGZkNDE3NWY4ZjM5NmRmN2FjYWUxOWY5MzNhZGZiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmlkbApAQCAtMTExLDcgKzExMSw2IEBAIG1vZHVsZSB0aHJlYWRzIHsK
ICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRSZXNvbHZl
TG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAgICBbRW5hYmxlZEF0UnVudGlt
ZT1GaWxlU3lzdGVtXSBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNV
UkwoaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKIAotICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gV2ViS2l0Rmxh
Z3NDb25zdHJ1Y3RvciBXZWJLaXRGbGFnczsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtF
bmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJv
cjsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0
ZW1dIEZpbGVFeGNlcHRpb25Db25zdHJ1Y3RvciBGaWxlRXhjZXB0aW9uOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108919</attachid>
            <date>2011-09-27 15:57:52 -0700</date>
            <delta_ts>2011-11-02 16:24:14 -0700</delta_ts>
            <desc>Added missing build file changes.</desc>
            <filename>bug-68916-20110927155751.patch</filename>
            <type>text/plain</type>
            <size>27370</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU2ODUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODFhZGUzMjViNDBiOWMwYWVkN2Rj
OWE4YTFjNDRlZDZiMWVmOTI4Li40MzJhZjczMjgyYTU2ZDRlZDU2MTY1ZmQ2M2RiM2M1MGQ0MzYw
Mzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjcgIEVyaWMgVWhyaGFuZSAgPGVy
aWN1QGNocm9taXVtLm9yZz4KKworICAgICAgICBbZmlsZWFwaV0gV2ViS2l0RmxhZ3Mgc2hvdWxk
IG5vdCBiZSBjb25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3RlbSBzcGVjCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIHRlc3Qg
dGhhdCBjb25zdHJ1Y3RlZCB0aGUgb2JqZWN0OyBhZGQgb25lIHRoYXQgdGVzdHMgZXJyb3ItaGFu
ZGxpbmcgZm9yIG5vbi1vYmplY3QgcGFyYW1ldGVycyB3aGlsZSBJJ20gaW4gdGhlcmUuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL2ZsYWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qczoKKwogMjAx
MS0wOS0yMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBDcmFzaCBpbiBSZW5kZXJCb3g6OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29u
dGV4dCdzIHBhaW50aW5nIGlzIGRpc2FibGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQKaW5kZXggMTFlMjAzOTdiYjRm
ZmIxYmJjYTA5MGQ2MDllYWJiMTU0MGE2YjNiNC4uNWM4NzU1MjAzMGFjOTk3M2NjODAyYmVjY2Fj
NDU1NWVkMmIwMjc3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2Zs
YWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9mbGFncy1wYXNzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxNCBAQAotUGFzc2luZyBG
bGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBw
YXJhbWV0ZXJzIChpbiBPYmplY3QgZm9ybWF0IG9yIGluIEpTT04gZm9ybWF0KSB0byBEaXJlY3Rv
cnlFbnRyeS5nZXRGaWxlIGRvZXMgbm90IGNyYXNoIGFuZCB3b3JrcyBhcyBleHBlY3RlZC4KK1Bh
c3NpbmcgRmxhZ3MgcGFyYW1ldGVyIHRlc3RzLiBUaGlzIHRlc3QgY2hlY2tzIGlmIHBhc3Npbmcg
RmxhZ3MgcGFyYW1ldGVycyB0byBEaXJlY3RvcnlFbnRyeS5nZXRGaWxlIGRvZXMgbm90IGNyYXNo
IGFuZCB3b3JrcyBhcyBleHBlY3RlZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LSogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdC4KLSogUmVjeWNsaW5nIHRoZSBzYW1lIFdl
YktpdEZsYWdzIG9iamVjdC4KLSogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdCAod2l0aCBl
eGNsdXNpdmU9dHJ1ZSkuCiAqIFBhc3NpbmcgSlNPTiBGbGFncyBvYmplY3QuCiAqIFBhc3Npbmcg
SlNPTiBGbGFncyBvYmplY3QgKHdpdGggZXhjbHVzaXZlPXRydWUpLgogKiBQYXNzaW5nIG51bGwg
YXMgYSBXZWJLaXRGbGFncyBwYXJhbWV0ZXIuCisqIFBhc3NpbmcgYSBudW1iZXIgYXMgYSBXZWJL
aXRGbGFncyBwYXJhbWV0ZXIuCiBGaW5pc2hlZCBydW5uaW5nIHRlc3RzLgotUEFTUyBleHBlY3Rl
ZENhbGxiYWNrc0NvdW50IGlzIDMKK1BBU1MgZXhwZWN0ZWRDYWxsYmFja3NDb3VudCBpcyAxCiBQ
QVNTIHVuZXhwZWN0ZWRDYWxsYmFja3NDb3VudCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zY3Jp
cHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9z
Y3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcwppbmRleCA2NGEyODljZmU4NTQwNWNkOWNkNWQ5
NDUzNzRhYjk0MTUyM2JiYzM1Li5jNWNjY2FhMjhlYjQ1M2IwZDk4NDQxYTI3OGI4MDJiODIyNWVi
MTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3Rz
L2ZsYWdzLXBhc3NpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Njcmlw
dC10ZXN0cy9mbGFncy1wYXNzaW5nLmpzCkBAIC0xLDQgKzEsNCBAQAotZGVzY3JpcHRpb24oIlBh
c3NpbmcgRmxhZ3MgcGFyYW1ldGVyIHRlc3RzLiBUaGlzIHRlc3QgY2hlY2tzIGlmIHBhc3Npbmcg
RmxhZ3MgcGFyYW1ldGVycyAoaW4gT2JqZWN0IGZvcm1hdCBvciBpbiBKU09OIGZvcm1hdCkgdG8g
RGlyZWN0b3J5RW50cnkuZ2V0RmlsZSBkb2VzIG5vdCBjcmFzaCBhbmQgd29ya3MgYXMgZXhwZWN0
ZWQuIik7CitkZXNjcmlwdGlvbigiUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRoaXMg
dGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIHRvIERpcmVjdG9yeUVudHJ5
LmdldEZpbGUgZG9lcyBub3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLiIpOwogCiB2YXIg
dGVzdEZpbGVOYW1lID0gJy9ub25fZXhpc3RlbnRfZmlsZSc7CiB2YXIgZmlsZVN5c3RlbSA9IG51
bGw7CkBAIC05LDE4ICs5LDE4IEBAIHZhciB1bmV4cGVjdGVkID0gZnVuY3Rpb24oZSkgeyB1bmV4
cGVjdGVkQ2FsbGJhY2tzQ291bnQrKzsgfTsKIAogdmFyIHRlc3RzTGlzdCA9IFsKICAgICAncnVu
T2JqZWN0VGVzdCcsCi0gICAgJ3J1bk9iamVjdFRlc3RXaXRoRXhjbHVzaXZlJywKICAgICAnY2xl
YW51cEFuZFJ1bk5leHQnLAogICAgICdydW5KU09OVGVzdCcsCiAgICAgJ3J1bkpTT05UZXN0V2l0
aEV4Y2x1c2l2ZScsCi0gICAgJ3J1bk51bGxUZXN0JworICAgICdydW5OdWxsVGVzdCcsCisgICAg
J3J1bk5vbk9iamVjdFRlc3QnCiBdOwogdmFyIHRlc3RDb3VudGVyID0gMDsKIAogZnVuY3Rpb24g
cnVuTmV4dFRlc3QodikgewogICAgIGlmICh0ZXN0Q291bnRlciA9PSB0ZXN0c0xpc3QubGVuZ3Ro
KSB7CiAgICAgICAgIGRlYnVnKCJGaW5pc2hlZCBydW5uaW5nIHRlc3RzLiIpOwotICAgICAgICBz
aG91bGRCZSgnZXhwZWN0ZWRDYWxsYmFja3NDb3VudCcsICczJyk7CisgICAgICAgIHNob3VsZEJl
KCdleHBlY3RlZENhbGxiYWNrc0NvdW50JywgJzEnKTsKICAgICAgICAgc2hvdWxkQmUoJ3VuZXhw
ZWN0ZWRDYWxsYmFja3NDb3VudCcsICcwJyk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAg
IH0gZWxzZQpAQCAtNDAsMjkgKzQwLDE4IEBAIGZ1bmN0aW9uIHJ1bk51bGxUZXN0KHYpIHsKICAg
ICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIG51bGwsIHJ1bk5leHRUZXN0
LCBlcnJvckNhbGxiYWNrKTsKIH0KIAotZnVuY3Rpb24gcnVuT2JqZWN0VGVzdCh2KSB7Ci0gICAg
ZGVidWcoIiogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9iamVjdC4iKTsKLSAgICB2YXIgZmxhZ3Mg
PSBuZXcgV2ViS2l0RmxhZ3MoKTsKLSAgICBmbGFncy5jcmVhdGUgPSBmYWxzZTsKLQotICAgIGZp
bGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHVuZXhwZWN0ZWQsIGV4
cGVjdGVkKTsKLQotICAgIGRlYnVnKCIqIFJlY3ljbGluZyB0aGUgc2FtZSBXZWJLaXRGbGFncyBv
YmplY3QuIik7Ci0KLSAgICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZs
YWdzLCB1bmV4cGVjdGVkLCBleHBlY3RlZCk7CitmdW5jdGlvbiBydW5Ob25PYmplY3RUZXN0KHYp
IHsKKyAgICBkZWJ1ZygiKiBQYXNzaW5nIGEgbnVtYmVyIGFzIGEgV2ViS2l0RmxhZ3MgcGFyYW1l
dGVyLiIpOwogCi0gICAgZmxhZ3MuY3JlYXRlID0gdHJ1ZTsKLSAgICBmaWxlU3lzdGVtLnJvb3Qu
Z2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZsYWdzLCBydW5OZXh0VGVzdCwgZXJyb3JDYWxsYmFjayk7
CisgICAgLy8gVGhpcyBzaG91bGQgYmUgb2sgYW5kIHdlIHRyZWF0IGl0IGFzIHtmYWxzZSwgZmFs
c2V9IEZsYWdzLgorICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgNywg
cnVuTmV4dFRlc3QsIGVycm9yQ2FsbGJhY2spOwogfQogCi1mdW5jdGlvbiBydW5PYmplY3RUZXN0
V2l0aEV4Y2x1c2l2ZSh2KSB7Ci0gICAgZGVidWcoIiogUGFzc2luZyBhIFdlYktpdEZsYWdzIG9i
amVjdCAod2l0aCBleGNsdXNpdmU9dHJ1ZSkuIik7Ci0gICAgdmFyIGZsYWdzID0gbmV3IFdlYktp
dEZsYWdzOwotICAgIGZsYWdzLmNyZWF0ZSA9IHRydWU7Ci0gICAgZmxhZ3MuZXhjbHVzaXZlID0g
dHJ1ZTsKLQotICAgIC8vIFRoaXMgc2hvdWxkIGZhaWwuCi0gICAgZmlsZVN5c3RlbS5yb290Lmdl
dEZpbGUodGVzdEZpbGVOYW1lLCBmbGFncywgZXJyb3JDYWxsYmFjaywgcnVuTmV4dFRlc3QpOwor
ZnVuY3Rpb24gcnVuT2JqZWN0VGVzdCh2KSB7CisgICAgLy8gV2ViS2l0RmxhZ3Mgbm8gbG9uZ2Vy
IGhhcyBhIHZpc2libGUgY29uc3RydWN0b3IuCisgICAgaWYgKHdpbmRvdy5XZWJLaXRGbGFncykK
KyAgICAgICAgdGhyb3cgIlRoZXJlIHNob3VsZCBiZSBubyBjb25zdHJ1Y3RvciBmb3IgV2ViS2l0
RmxhZ3MhIjsKKyAgICBydW5OZXh0VGVzdCgpOwogfQogCiBmdW5jdGlvbiBydW5KU09OVGVzdCh2
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJlNWI0YzJkNmU4M2EzMGM5NTIwNDU0MTYzNjY5
NTI0OWIzYmVhOWQuLmQ0MmIwZWNlYzkwOGIyN2U5YWI0OTk1OTgyOThmZDBmN2E0ZWE2MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNTU4LDcgKzE1NTgsNiBAQCBpZiAoRU5BQkxFX0ZJTEVf
U1lTVEVNKQogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwKICAgICAgICAg
ZmlsZWFwaS9GaWxlV3JpdGVyLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmlk
bAotICAgICAgICBmaWxlYXBpL1dlYktpdEZsYWdzLmlkbAogICAgICAgICBmaWxlYXBpL01ldGFk
YXRhLmlkbAogICAgICAgICBmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsCiAgICAgKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGQwZTg3NmMxN2Y5YWM3NTI2ZjRjZDE1ODlhZDk1YjAwYjczNWFkOWMuLjc4YzE4
ODFmY2E0MzhiODMzNjIyNzJmY2IwNWY4MjE5MzViOWY2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNCBAQAorMjAxMS0wOS0yNyAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtmaWxlYXBpXSBXZWJLaXRGbGFncyBzaG91bGQgbm90IGJlIGNvbnN0cnVjdGFi
bGUgcGVyIERpcmVjdG9yaWVzICYgU3lzdGVtIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIElETCBmb3IgdGhlIG9iamVjdCBhbmQgYWxs
IERPTSByZWZlcmVuY2VzIHRvIGl0LgorICAgICAgICAqIGZpbGVhcGkvV2ViS2l0RmxhZ3MuaWRs
OiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaWRsOgorICAgICAgICBSZW1vdmUgcmVmZXJlbmNlcyB0byB0aGUg
SlNDL1Y4IG9iamVjdHMgY29tcGlsZWQgZnJvbSB0aGUgSURMLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEaXJl
Y3RvcnlFbnRyeTo6Z2V0RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RpcmVjdG9yeUVudHJ5
OjpnZXREaXJlY3RvcnkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlT
eW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEZsYWdzKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2spOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpnZXRGbGFncyk6CisgICAgICAgIEZpeCB1cCBidWlsZCBmaWxlcy4KKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS9Db2RlR2Vu
ZXJhdG9ycy5wcmk6CisgICAgICAgICogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDExLTA5LTIxICBKdWxpZW4g
Q2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIFJl
bmRlckJveDo6cGFpbnRNYXNrSW1hZ2VzIHdoZW4gR3JhcGhpY3NDb250ZXh0J3MgcGFpbnRpbmcg
aXMgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnBy
aSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCAxOGMzOTUyNjFhNzk5
MzcxM2MwODJlZGVlYzYwNTE1ZmU1Yzg1NWIwLi4xZGJiODdhZDdlMzZlZjdiMDIyOGEwMjMzYmE4
ZWRkZDNkNDk5NjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5w
cmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0yMDIsNyArMjAy
LDYgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuaWRsIFwKICAg
ICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwgXAogICAgIGZpbGVhcGkvT3BlcmF0aW9u
Tm90QWxsb3dlZEV4Y2VwdGlvbi5pZGwgXAotICAgIGZpbGVhcGkvV2ViS2l0RmxhZ3MuaWRsIFwK
ICAgICBmaWxlYXBpL01ldGFkYXRhLmlkbCBcCiAgICAgZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNr
LmlkbCBcCiAgICAgZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCmluZGV4IDhhNDU5ODZhZmZlYmY1MjRlMTRhZDk4YjExN2RmODEzYjUwZDE2
YmYuLjE1ZjBjMTI3NTEzNTlkNDFkNDAwNjYyNmRhZDZjMzE3YTVjYThlNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKQEAgLTEyNyw3ICsxMjcsNiBAQAogI2luY2x1ZGUgIkpTRmlsZVdy
aXRlci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUg
IkpTRmlsZVdyaXRlclN5bmMuY3BwIgotI2luY2x1ZGUgIkpTV2ViS2l0RmxhZ3MuY3BwIgogI2lu
Y2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0NjRBcnJheS5jcHAi
CiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCA4YTQ2NDM0MzExODcyNjViODhjMzUxMjUwMzA4NmJmM2U5ZWVmMjFiLi4wZDExZWZk
YzZkMDJhNzFiZmQwNDMwOWQ1MGQ0MDc1OTVjYmRlNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTQyNDYsOCArNDI0Niw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJDYWxsYmFjay5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYktpdEZsYWdzLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEZsYWdz
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWV0YWRhdGFDYWxsYmFjay5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDkyMjhkMDU1MTg3ZDI3
ZTUxOTFkNTJiODRjZmE3ZjdmMjliMWE4N2MuLjAwMDQ3NjU5NWZiOGYzMDE3NDhmYjAyNzlmZjE1
ODc4ZWFmZWFmNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEyMzgsNyArMTIzOCw2IEBACiAgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRp
b25Ob3RBbGxvd2VkRXhjZXB0aW9uLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9XZWJLaXRG
bGFncy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAgICAgICAg
ICAgICdmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmlkbCcsCkBAIC03MzQ2LDggKzczNDUsNiBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyQ2Fs
bGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0ZpbGVXcml0ZXJTeW5jLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAotICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5jcHAn
LAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRGbGFncy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24uY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MzRjYzVlY2UxNzFlODY3MGZjMzAzY2RkOTVjN2E2MTVjOGRhNjljYS4uZWU3MTk1NjIzMDQzM2Yz
NzZkY2EwNGQ3YjAyYTg2ODQ4ZjEwMmE3OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTIyNzk4LDYyICsyMjc5OCw2IEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRGbGFncy5jcHAi
Ci0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAot
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
X0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJ
CQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9k
dWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNXZWJLaXRGbGFncy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3MDA0NGRhYWM5MmQ0NWJjNzMzNWRhMDY2NTY1YjlkZjU2YTFkMGM0Li4zZWM4
NWEzZjE3MDY3M2UwN2M1YTZmYWE4NzlhODUwYmY4ZmI4NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODU0LDggKzI4NTQs
NiBAQAogCQk4OTg3ODVCMTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTlCMTIyQ0EyQTcw
MDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5oICovOyB9OwogCQk4OTg3ODVCMjEyMkNBMkE3MDAzQUFC
REEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5
c3RlbUNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJODk4Nzg1QjMxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
RmlsZVN5c3RlbUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTg3ODU5RDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJh
Y2suaCAqLzsgfTsKLQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3Mu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1
OUUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwICovOyB9OwotCQk4OTg3ODVC
NTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
V2ViS2l0RmxhZ3MuaCAqLzsgfTsKIAkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0
YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODk4Nzg1QTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwICovOyB9OwogCQk4OTg3
ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8qIEpT
TWV0YWRhdGEuaCAqLzsgfTsKIAkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRh
dGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTg3ODVBMjEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCAq
LzsgfTsKQEAgLTk0OTAsOCArOTQ4OCw2IEBACiAJCTg5ODc4NTlCMTIyQ0EyQTcwMDNBQUJEQSAv
KiBKU0ZpbGVFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVF
bnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODU5QzEyMkNBMkE3MDAz
QUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4OTg3ODU5RDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtQ2Fs
bGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODk4Nzg1OUUxMjJDQTJBNzAw
M0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNXZWJLaXRGbGFncy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg5ODc4NTlGMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViS2l0RmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODk4Nzg1QTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZXRhZGF0YS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NUExMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01l
dGFkYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWV0YWRhdGEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1QTIxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01ldGFkYXRhQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTU5NzQsOCArMTU5NzAsNiBAQAogCQkJCTJFMjQ0NzY3MTM5NTkxNzMwMDRCNkMxOSAvKiBK
U09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uaCAqLywKIAkJCQk4OUNEMDI5MTExQzg1Qjg3
MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5jcHAgKi8sCiAJCQkJODlDRDAyOTIxMUM4
NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxkZXIuaCAqLywKLQkJCQk4OTg3ODU5RTEy
MkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5jcHAgKi8sCi0JCQkJODk4Nzg1OUYxMjJD
QTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gRmls
ZUFQSTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMjM4MSw3ICsyMjM3NSw2IEBA
CiAJCQkJMzE2RkUwNzQwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk4MzkxNDAwRjFFNzY3NTAwQzIzNzgyIC8qIEpTV2Vi
S2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTYxMUU1QjBFMUM0REUwMDBGNkE1
NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODk4
Nzg1QjUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCBpbiBIZWFkZXJzICovLAog
CQkJCTkzRjFENUMxMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250ZXh0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk0OTRCRDc5RTBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2lu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NDM1LDcgKzI1NDI4LDYg
QEAKIAkJCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyNzVCN0QxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2ViS2l0
Q1NTTWF0cml4Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxNjExRTVBMEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTg5ODc4NUI0MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzRjFENUMwMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250
ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0NzgyOCAvKiBK
U1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFDNUQxQzMwMEM5
MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApp
bmRleCA4MmQ3YzFmMzlmMmY0OWQzNTNjMzIyYTc3MWZjMTEzNDk5ZmM0YjBlLi40Y2JmODI2ZjY0
OTlmODFlMzI3NGU1ZmQ3NDBmMmVhM2I4YTk4M2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtMzgsNyArMzgs
NiBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRW50cnlDYWxsYmFj
ay5oIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkpTV2ViS2l0Rmxh
Z3MuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlND
OwpAQCAtNTksNyArNTgsNyBAQCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoRXhl
Y1N0YXRlKiBleGVjKQogICAgIH0KIAogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3M7Ci0g
ICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSku
aXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpICYmICFleGVjLT5h
cmd1bWVudCgxKS5pbmhlcml0cygmSlNXZWJLaXRGbGFnczo6c19pbmZvKSkgeworICAgIGlmICgh
ZXhlYy0+YXJndW1lbnQoMSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZp
bmVkKCkgJiYgZXhlYy0+YXJndW1lbnQoMSkuaXNPYmplY3QoKSkgewogICAgICAgICBKU09iamVj
dCogb2JqZWN0ID0gZXhlYy0+YXJndW1lbnQoMSkuZ2V0T2JqZWN0KCk7CiAgICAgICAgIGZsYWdz
ID0gV2ViS2l0RmxhZ3M6OmNyZWF0ZSgpOwogICAgICAgICBKU1ZhbHVlIGpzQ3JlYXRlID0gb2Jq
ZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY3JlYXRlIikpOwpAQCAtNjcsNyArNjYs
NyBAQCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoRXhlY1N0YXRlKiBleGVjKQog
ICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmll
cihleGVjLCAiZXhjbHVzaXZlIikpOwogICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpzRXhj
bHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIGZsYWdzID0gdG9X
ZWJLaXRGbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKQEAg
LTEwNSw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgfQogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsK
LSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgx
KS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4ZWMt
PmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU1dlYktpdEZsYWdzOjpzX2luZm8pKSB7CisgICAgaWYg
KCFleGVjLT5hcmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRl
ZmluZWQoKSAmJiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpKSB7CiAgICAgICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKICAgICAgICAgZmxh
Z3MgPSBXZWJLaXRGbGFnczo6Y3JlYXRlKCk7CiAgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBv
YmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CkBAIC0xMTMsNyAr
MTEyLDcgQEAgSlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywg
SWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOwogICAgICAgICBmbGFncy0+c2V0RXhjbHVz
aXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIGZs
YWdzID0gdG9XZWJLaXRGbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAgICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5
RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAppbmRleCAyMTAwNmFiM2NlMzQ0NDI4YTI0Y2M0N2NhYmQ4
MDIzZmZiZjQxODhiLi40ODdkMDg0YTg3ZGM3MmFjZTM4ZWNhZGNjY2RkYjE2ZDYzYzA2MzlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3lu
Y0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSlNFbnRyeUNh
bGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNGaWxl
RW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiSlNXZWJLaXRGbGFncy5oIgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC00OSw4ICs0OCw2IEBAIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYktpdEZsYWdzPiBnZXRGbGFncyhFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IEpTVmFsdWUmIGFyZ3VtZW50CiB7CiAgICAgaWYgKGFyZ3VtZW50LmlzTnVsbCgpIHx8IGFy
Z3VtZW50LmlzVW5kZWZpbmVkKCkgfHwgIWFyZ3VtZW50LmlzT2JqZWN0KCkpCiAgICAgICAgIHJl
dHVybiAwOwotICAgIGlmIChhcmd1bWVudC5pbmhlcml0cygmSlNXZWJLaXRGbGFnczo6c19pbmZv
KSkKLSAgICAgICAgcmV0dXJuIHRvRmxhZ3MoYXJndW1lbnQpOwogCiAgICAgUmVmUHRyPFdlYktp
dEZsYWdzPiBmbGFnczsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXJndW1lbnQuZ2V0T2JqZWN0
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJl
Y3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKaW5kZXggMDg4OTQ1MWQzNWViNjQ2MmIzNWMzY2Jk
NTZhOWY1ZjFmMmQ5NGQ3OC4uNjcyYmY3MmI2ZTc0NWZmNTA3YzViMDc2MTYzMmVmMTYwN2ZjOGU2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0
b3J5RW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUg
IlY4QmluZGluZ01hY3Jvcy5oIgogI2luY2x1ZGUgIlY4RW50cnlDYWxsYmFjay5oIgogI2luY2x1
ZGUgIlY4RXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIlY4V2ViS2l0RmxhZ3MuaCIKICNpbmNs
dWRlICJWOFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERp
cmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKICAgICB9CiAgICAgUmVmUHRy
PFdlYktpdEZsYWdzPiBmbGFnczsKLSAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0p
ICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkgJiYgIVY4V2ViS2l0RmxhZ3M6Okhhc0luc3RhbmNlKGFy
Z3NbMV0pKSB7CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFd
LT5Jc09iamVjdCgpKSB7CiAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+LCBvYmplY3QsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpOwog
ICAgICAgICBmbGFncyA9IFdlYktpdEZsYWdzOjpjcmVhdGUoKTsKICAgICAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdjhDcmVhdGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImNyZWF0
ZSIpKTsKQEAgLTY5LDkgKzY4LDYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5
RW50cnk6OmdldERpcmVjdG9yeUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMKICAgICAgICAg
ICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xl
YW5WYWx1ZSgpKTsKICAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUp
OwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktp
dEZsYWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/
IFY4V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJn
c1sxXSkpIDogMCk7Ci0gICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOwogICAgIH0KICAgICBSZWZQ
dHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgp
ID4gMiAmJiAhYXJnc1syXS0+SXNOdWxsKCkgJiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpIHsK
QEAgLTk5LDcgKzk1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6
OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAgICAgICAgcmV0dXJu
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogICAgIH0KICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+
IGZsYWdzOwotICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+
SXNPYmplY3QoKSAmJiAhVjhXZWJLaXRGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAg
ICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkp
IHsKICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVj
dCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CiAgICAgICAgIGZsYWdz
ID0gV2ViS2l0RmxhZ3M6OmNyZWF0ZSgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2
OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOwpAQCAtMTEy
LDkgKzEwOCw2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXRG
aWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAgICAgICAgICBFWENFUFRJ
T05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7
CiAgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKICAgICAgICAg
fQotICAgIH0gZWxzZSB7Ci0gICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktpdEZsYWdzKiwgdG1w
X2ZsYWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4V2ViS2l0Rmxh
Z3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7
Ci0gICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7CiAgICAgfQogICAgIFJlZlB0cjxFbnRyeUNhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdz
WzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVu
dHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggY2QzOGNhNDViMGRlZTFkNWE3ZDVjZjFiYjU2YzcwYjBj
MDQ2ZGJjNC4uODk3ODQ4YjU5NmJjZjlkMTRlNGY1OThiYTlkNDlmNWFlNDJhMzI4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlT
eW5jQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAi
VjhFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVk
ZSAiVjhGaWxlRW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiVjhXZWJLaXRGbGFncy5oIgogI2luY2x1
ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTY3LDggKzY2LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0Rmxh
Z3M+IGdldEZsYWdzKGNvbnN0IHY4OjpMb2NhbDx2ODo6VmFsdWU+JiBhcmcsIEV4Y2VwdGkKICAg
ICBlYyA9IDA7CiAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKGFyZykgfHwgIWFyZy0+SXNPYmpl
Y3QoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFY4V2ViS2l0RmxhZ3M6Okhhc0luc3Rh
bmNlKGFyZykpCi0gICAgICAgIHJldHVybiBWOFdlYktpdEZsYWdzOjp0b05hdGl2ZSh2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZykpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBvYmplY3Q7CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJL
aXRGbGFncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTMzNzk2YTY4ZWU0MmMxZDJmNWQ1ZmZkN2YzOGRl
NmVhNjMxYjI3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbAorKysgL2Rldi9udWxsCkBA
IC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi1tb2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50ZXJmYWNlIFsKLSAgICAgICAg
Q29uZGl0aW9uYWw9RklMRV9TWVNURU0sCi0gICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCi0gICAg
ICAgIE5vU3RhdGljVGFibGVzCi0gICAgXSBXZWJLaXRGbGFncyB7Ci0gICAgICAgIGF0dHJpYnV0
ZSBib29sZWFuIGNyZWF0ZTsKLSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gZXhjbHVzaXZlOwot
ICAgIH07Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNzAyZjBlN2EwYWRlYTQ2
YjVmZmMyYmMzZDViYWRiMGE1YmFiNjNhMS4uNGEzY2RmZGI5YzRhMTAwMGQ5NjZlNGJmM2I2OTU2
MzIxMjdjZWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk5LDggKzE5OSw2
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJTSVNU
RU5UID0gMTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJr
aXRSZXF1ZXN0RmlsZVN5c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBsb25nIGxvbmcg
c2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRS
ZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotCi0gICAgICAgIGF0dHJpYnV0
ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBXZWJLaXRGbGFnc0NvbnN0cnVjdG9yIFdl
YktpdEZsYWdzOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFMpICYmIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaWRsCmluZGV4IGY3YzFiYmIyOWRkZWE2OGY2OWQzNTg5NGE0Y2ZhNWNiNDUy
M2UxNjUuLmQ3MDAzYTJlOGZkNDE3NWY4ZjM5NmRmN2FjYWUxOWY5MzNhZGZiMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbApAQCAtMTExLDcgKzExMSw2IEBAIG1v
ZHVsZSB0aHJlYWRzIHsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9p
ZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAgICBb
RW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2Fs
RmlsZVN5c3RlbVN5bmNVUkwoaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9u
KTsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5
c3RlbV0gV2ViS2l0RmxhZ3NDb25zdHJ1Y3RvciBXZWJLaXRGbGFnczsKICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFcnJvckNvbnN0
cnVjdG9yIEZpbGVFcnJvcjsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRS
dW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFeGNlcHRpb25Db25zdHJ1Y3RvciBGaWxlRXhjZXB0aW9u
OwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113393</attachid>
            <date>2011-11-02 16:24:16 -0700</date>
            <delta_ts>2011-12-21 16:42:08 -0800</delta_ts>
            <desc>I changed it just to ignore any non-object arguments, just as if you&apos;d passed in null or {}.</desc>
            <filename>bug-68916-20111102162415.patch</filename>
            <type>text/plain</type>
            <size>25566</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MmY2MjZiN2EzYjQ0OWVl
Mjc0YTU1Mzg3YTc4MGVkMzMyMzI1YmI0Li5iYTgyZDFmNWNkOWY4ZWI5NmNkMTM3ZTRjZGQ3NGEy
ZWY0Y2UzMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMTEtMDIgIEVyaWMg
VWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAgICAgIFtmaWxlYXBpXSBXZWJLaXRG
bGFncyBzaG91bGQgbm90IGJlIGNvbnN0cnVjdGFibGUgcGVyIERpcmVjdG9yaWVzICYgU3lzdGVt
IHNwZWMKKyAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5
MTYKKworICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgUmVtb3Zl
IElETCBmb3IgdGhlIG9iamVjdCBhbmQgYWxsIERPTSByZWZlcmVuY2VzIHRvIGl0LgorICAgICAg
ICogZmlsZWFwaS9XZWJLaXRGbGFncy5pZGw6IFJlbW92ZWQuCisgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5pZGw6CisgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsOgorICAgICAgIFJl
bW92ZSByZWZlcmVuY2VzIHRvIHRoZSBKU0MvVjggb2JqZWN0cyBjb21waWxlZCBmcm9tIHRoZSBJ
REwuCisgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDoKKyAg
ICAgICAoV2ViQ29yZTo6SlNEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZSk6CisgICAgICAgKFdlYkNv
cmU6OkpTRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeSk6CisgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHA6CisgICAgICAgKFdlYkNvcmU6OmdldEZs
YWdzKToKKyAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9t
LmNwcDoKKyAgICAgICAoV2ViQ29yZTo6VjhEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5Q2Fs
bGJhY2spOgorICAgICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJh
Y2spOgorICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3Vz
dG9tLmNwcDoKKyAgICAgICAoV2ViQ29yZTo6Z2V0RmxhZ3MpOgorICAgICAgIEZpeCB1cCBidWls
ZCBmaWxlcy4KKyAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICogV2ViQ29yZS9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAqIFdlYkNvcmUv
Q29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHA6
CisgICAgICAgKiBXZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW06CisKIDIwMTEtMTEtMDIgIFRv
bW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJl
YW1SZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRvIE1lZGlhU3RyZWFtRGVzY3JpcHRv
ciByYXRoZXIgdGhhbiBNZWRpYVN0cmVhbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1OTNlNDkz
YTQ3ZTYyZjA3M2IzYmU0OTlkYjA1MDkyNzA1Mjg3ZDNhLi5lOTQ2NGE5NDM1NDMyZGFkYmU2ODZk
N2NkNzRiMzA5NGIyOTY1OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU4Nyw3ICsxNTg3
LDYgQEAgaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVy
Q2FsbGJhY2suaWRsCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5pZGwKICAgICAgICAgZmls
ZWFwaS9GaWxlV3JpdGVyU3luYy5pZGwKLSAgICAgICAgZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwK
ICAgICAgICAgZmlsZWFwaS9NZXRhZGF0YS5pZGwKICAgICAgICAgZmlsZWFwaS9NZXRhZGF0YUNh
bGxiYWNrLmlkbAogICAgICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0
b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCAwZjBhMzlj
ZWYzYmM0YTA1MTVjNmYwYTE4M2YyZjY2NzE3YjEzNjViLi4xNmE3ZjY3YjJkNGEzZjljNTkwMDAw
YjQ0YTliZGY5NjEwYzUxMjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJh
dG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0xOTUs
NyArMTk1LDYgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuaWRs
IFwKICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwgXAogICAgIGZpbGVhcGkvT3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5pZGwgXAotICAgIGZpbGVhcGkvV2ViS2l0RmxhZ3Mu
aWRsIFwKICAgICBmaWxlYXBpL01ldGFkYXRhLmlkbCBcCiAgICAgZmlsZWFwaS9NZXRhZGF0YUNh
bGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGM4NWFiMWVkY2ZlYTNiM2ZiNDQ1OTNiODI3NzJiNmQy
ZTk2NjVhZjguLmFlZmZlY2FjNzE4ODQ2OTZhMGUyMzhiZWQ3OTQzYzBiNWE0NTAwNWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEyNyw3ICsxMjcsNiBAQAogI2luY2x1ZGUgIkpT
RmlsZVdyaXRlci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3BwIgotI2luY2x1ZGUgIkpTV2ViS2l0RmxhZ3MuY3Bw
IgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0NjRBcnJh
eS5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCA5N2U1MTM2MDNjZWJmMmQxMjBhYWM5NzI3YmE2ODQzYjk2ZTZkZGE5Li4x
Yjk2NzgzN2JkNmMyNTc4ZGNmN2FkMzY2NjdmNTRjMjQ5MGMyYzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTQzMDUsOCArNDMwNSw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJDYWxsYmFjay5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdEZsYWdzLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktp
dEZsYWdzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWV0YWRhdGFDYWxsYmFjay5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRiYjYyNDcw
MDEzMzMyYzdkZWY1MThhZjg0YzhiMWVlODVmN2M1OTYuLmVkYzY5NjNjMWQwZjU3MDgzNjVlMjJh
ZTU0ZDE3OTkxMWM5ZDE4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEyNDcsNyArMTI0Nyw2IEBA
CiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAg
ICAgICdmaWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9P
cGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9X
ZWJLaXRGbGFncy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdm
aWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmlkbCcsCkBAIC03MzIwLDggKzczMTksNiBAQAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3Jp
dGVyQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAotICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFn
cy5jcHAnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJLaXRGbGFncy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRp
b24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2ZjI4MTk1YzdkNTQ4NDk5MjliYWJkZjM0Y2NiOTAzZjM0YTc1NzljLi45
MThkYzZhMTNhOGUwNGM4MTc5NDJmZDNjZmExNmRmZGM4OGZhNjMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODY1LDggKzI4
NjUsNiBAQAogCQk4OTg3ODVCMTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTlCMTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5oICovOyB9OwogCQk4OTg3ODVCMjEyMkNBMkE3MDAz
QUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmls
ZVN5c3RlbUNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJODk4Nzg1QjMxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTRmlsZVN5c3RlbUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTg3ODU5RDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2Fs
bGJhY2suaCAqLzsgfTsKLQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0Rmxh
Z3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4
Nzg1OUUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwICovOyB9OwotCQk4OTg3
ODVCNTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTV2ViS2l0RmxhZ3MuaCAqLzsgfTsKIAkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
TWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODk4Nzg1QTAxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwICovOyB9OwogCQk4
OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGEuaCAqLzsgfTsKIAkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0
YWRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTg3ODVBMjEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNw
cCAqLzsgfTsKQEAgLTEwMDEwLDggKzEwMDA4LDYgQEAKIAkJODk4Nzg1OUIxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTRmlsZUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RmlsZUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTlDMTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTlEMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4OTg3ODU5RTEyMkNB
MkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1dlYktpdEZsYWdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRGbGFncy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4OTg3ODVBMDEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01ldGFkYXRhLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZXRhZGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODVBMjEyMkNBMkE3MDAzQUFC
REEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTWV0YWRhdGFDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNjc1MCw4ICsxNjc0Niw2IEBACiAJCQkJMkUyNDQ3NjcxMzk1OTE3MzAwNEI2QzE5
IC8qIEpTT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oICovLAogCQkJCTg5Q0QwMjkxMTFD
ODVCODcwMDcwQjc5MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCAqLywKIAkJCQk4OUNEMDI5
MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oICovLAotCQkJCTg5ODc4
NTlFMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCAqLywKLQkJCQk4OTg3ODU5
RjEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oICovLAogCQkJKTsKIAkJCW5hbWUg
PSBGaWxlQVBJOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIzNDA3LDcgKzIzNDAx
LDYgQEAKIAkJCQkzMTZGRTA3NDBFNkNDQkVFMDBCRjYwODggLyogSlNXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTgzOTE0MDBGMUU3Njc1MDBDMjM3ODIgLyog
SlNXZWJLaXRDU1NNYXRyaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNjExRTVCMEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk4OTg3ODVCNTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTNGMUQ1QzExMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1NUM5NEMw
MDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDYwLDcgKzI2
NDUzLDYgQEAKIAkJCQlFMUFEMTRCNTEyOTczNENBMDBBQ0E5ODkgLyogSlNXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTNGMEYxRTc2NzUw
MEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTYx
MUU1QTBFMUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk4OTg3ODVCNDEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFn
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVDMDEyRDUzMzU2MDA4MzJCRUMgLyogSlNX
ZWJLaXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNkYwOTAyQzE0MzI3RDRG
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUM2RjA5MTdGMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCmluZGV4IDgyZDdjMWYzOWYyZjQ5ZDM1
M2MzMjJhNzcxZmMxMTM0OTlmYzRiMGUuLmQzMjVjMzcxNTJmMDU4Nzk2NDdlM2QzNTBjYmY3Yzgz
NmIzMWUwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0
b3J5RW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGly
ZWN0b3J5RW50cnlDdXN0b20uY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSlNET01C
aW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFcnJv
ckNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiSlNXZWJLaXRGbGFncy5oIgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC01OSwxNSArNTgsMTQgQEAg
SlNWYWx1ZSBKU0RpcmVjdG9yeUVudHJ5OjpnZXRGaWxlKEV4ZWNTdGF0ZSogZXhlYykKICAgICB9
CiAKICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzOwotICAgIGlmICghZXhlYy0+YXJndW1l
bnQoMSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhl
Yy0+YXJndW1lbnQoMSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJpdHMo
JkpTV2ViS2l0RmxhZ3M6OnNfaW5mbykpIHsKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlz
TnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3Vt
ZW50KDEpLmlzT2JqZWN0KCkpIHsKICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmFy
Z3VtZW50KDEpLmdldE9iamVjdCgpOwogICAgICAgICBmbGFncyA9IFdlYktpdEZsYWdzOjpjcmVh
dGUoKTsKICAgICAgICAgSlNWYWx1ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50
aWZpZXIoZXhlYywgImNyZWF0ZSIpKTsKICAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0
ZS50b0Jvb2xlYW4oZXhlYykpOwogICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0
LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOwogICAgICAgICBmbGFn
cy0+c2V0RXhjbHVzaXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7Ci0gICAgfSBlbHNl
Ci0gICAgICAgIGZsYWdzID0gdG9XZWJLaXRGbGFncyhleGVjLT5hcmd1bWVudCgxKSk7CisgICAg
fQogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKQEAgLTEw
NSwxNSArMTAzLDE0IEBAIEpTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KEV4
ZWNTdGF0ZSogZXhlYykKICAgICB9CiAKICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzOwot
ICAgIGlmICghZXhlYy0+YXJndW1lbnQoMSkuaXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEp
LmlzVW5kZWZpbmVkKCkgJiYgZXhlYy0+YXJndW1lbnQoMSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+
YXJndW1lbnQoMSkuaW5oZXJpdHMoJkpTV2ViS2l0RmxhZ3M6OnNfaW5mbykpIHsKKyAgICBpZiAo
IWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVm
aW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkpIHsKICAgICAgICAgSlNPYmpl
Y3QqIG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50KDEpLmdldE9iamVjdCgpOwogICAgICAgICBmbGFn
cyA9IFdlYktpdEZsYWdzOjpjcmVhdGUoKTsKICAgICAgICAgSlNWYWx1ZSBqc0NyZWF0ZSA9IG9i
amVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImNyZWF0ZSIpKTsKICAgICAgICAgZmxh
Z3MtPnNldENyZWF0ZShqc0NyZWF0ZS50b0Jvb2xlYW4oZXhlYykpOwogICAgICAgICBKU1ZhbHVl
IGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiZXhjbHVz
aXZlIikpOwogICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVh
bihleGVjKSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIGZsYWdzID0gdG9XZWJLaXRGbGFncyhleGVj
LT5hcmd1bWVudCgxKSk7CisgICAgfQogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAppbmRleCAyMTAwNmFiM2NlMzQ0NDI4YTI0
Y2M0N2NhYmQ4MDIzZmZiZjQxODhiLi40ODdkMDg0YTg3ZGM3MmFjZTM4ZWNhZGNjY2RkYjE2ZDYz
YzA2MzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9y
eUVudHJ5U3luY0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAi
SlNFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVk
ZSAiSlNGaWxlRW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiSlNXZWJLaXRGbGFncy5oIgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC00OSw4ICs0
OCw2IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdEZsYWdzPiBnZXRGbGFncyhFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IEpTVmFsdWUmIGFyZ3VtZW50CiB7CiAgICAgaWYgKGFyZ3VtZW50LmlzTnVs
bCgpIHx8IGFyZ3VtZW50LmlzVW5kZWZpbmVkKCkgfHwgIWFyZ3VtZW50LmlzT2JqZWN0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotICAgIGlmIChhcmd1bWVudC5pbmhlcml0cygmSlNXZWJLaXRGbGFn
czo6c19pbmZvKSkKLSAgICAgICAgcmV0dXJuIHRvRmxhZ3MoYXJndW1lbnQpOwogCiAgICAgUmVm
UHRyPFdlYktpdEZsYWdzPiBmbGFnczsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXJndW1lbnQu
Z2V0T2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKaW5kZXggMDg4OTQ1MWQzNWViNjQ2
MmIzNWMzY2JkNTZhOWY1ZjFmMmQ5NGQ3OC4uNjcyYmY3MmI2ZTc0NWZmNTA3YzViMDc2MTYzMmVm
MTYwN2ZjOGU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtMzksNyArMzksNiBAQAog
I2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgogI2luY2x1ZGUgIlY4RW50cnlDYWxsYmFjay5o
IgogI2luY2x1ZGUgIlY4RXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIlY4V2ViS2l0RmxhZ3Mu
aCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzCiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKICAgICB9CiAg
ICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsKLSAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxs
KGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkgJiYgIVY4V2ViS2l0RmxhZ3M6Okhhc0lu
c3RhbmNlKGFyZ3NbMV0pKSB7CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAm
JiBhcmdzWzFdLT5Jc09iamVjdCgpKSB7CiAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+LCBvYmplY3QsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJn
c1sxXSkpOwogICAgICAgICBmbGFncyA9IFdlYktpdEZsYWdzOjpjcmVhdGUoKTsKICAgICAgICAg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhDcmVhdGUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpO
ZXcoImNyZWF0ZSIpKTsKQEAgLTY5LDkgKzY4LDYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMK
ICAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNp
dmUtPkJvb2xlYW5WYWx1ZSgpKTsKICAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNF
eGNsdXNpdmUpOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgRVhDRVBUSU9OX0JM
T0NLKFdlYktpdEZsYWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShh
cmdzWzFdKSA/IFY4V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1sxXSkpIDogMCk7Ci0gICAgICAgIGZsYWdzID0gdG1wX2ZsYWdzOwogICAgIH0K
ICAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrOwogICAgIGlmIChhcmdz
Lkxlbmd0aCgpID4gMiAmJiAhYXJnc1syXS0+SXNOdWxsKCkgJiYgIWFyZ3NbMl0tPklzVW5kZWZp
bmVkKCkpIHsKQEAgLTk5LDcgKzk1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0
b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAgICAg
ICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogICAgIH0KICAgICBSZWZQdHI8V2Vi
S2l0RmxhZ3M+IGZsYWdzOwotICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYg
YXJnc1sxXS0+SXNPYmplY3QoKSAmJiAhVjhXZWJLaXRGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sx
XSkpIHsKKyAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklz
T2JqZWN0KCkpIHsKICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CiAgICAg
ICAgIGZsYWdzID0gV2ViS2l0RmxhZ3M6OmNyZWF0ZSgpOwogICAgICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikp
OwpAQCAtMTEyLDkgKzEwOCw2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVu
dHJ5OjpnZXRGaWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAgICAgICAg
ICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFu
VmFsdWUoKSk7CiAgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsK
ICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktpdEZs
YWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4
V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sx
XSkpIDogMCk7Ci0gICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7CiAgICAgfQogICAgIFJlZlB0cjxF
bnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAy
ICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50
cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERp
cmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggY2QzOGNhNDViMGRlZTFkNWE3ZDVjZjFi
YjU2YzcwYjBjMDQ2ZGJjNC4uODk3ODQ4YjU5NmJjZjlkMTRlNGY1OThiYTlkNDlmNWFlNDJhMzI4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAj
aW5jbHVkZSAiVjhFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiVjhGaWxlRW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiVjhXZWJLaXRGbGFncy5o
IgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTY3LDggKzY2LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8
V2ViS2l0RmxhZ3M+IGdldEZsYWdzKGNvbnN0IHY4OjpMb2NhbDx2ODo6VmFsdWU+JiBhcmcsIEV4
Y2VwdGkKICAgICBlYyA9IDA7CiAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKGFyZykgfHwgIWFy
Zy0+SXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFY4V2ViS2l0RmxhZ3M6
Okhhc0luc3RhbmNlKGFyZykpCi0gICAgICAgIHJldHVybiBWOFdlYktpdEZsYWdzOjp0b05hdGl2
ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZykpOwogCiAgICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBvYmplY3Q7CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9XZWJLaXRGbGFncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdz
LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTMzNzk2YTY4ZWU0MmMxZDJmNWQ1
ZmZkN2YzOGRlNmVhNjMxYjI3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50ZXJmYWNlIFsK
LSAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCi0gICAgICAgIENhbkJlQ29uc3RydWN0
ZWQsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCi0gICAgXSBXZWJLaXRGbGFncyB7Ci0gICAgICAg
IGF0dHJpYnV0ZSBib29sZWFuIGNyZWF0ZTsKLSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gZXhj
bHVzaXZlOwotICAgIH07Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNmNjZDRh
NDdkMzEyM2ZhZmM4NjdhMzFjZmE2NzlkNDc2ZjRhZWE2Mi4uMzM1ZTQ1NzE1ZTQ0YzU2ZmZmZWEz
ZWIxZjc0ODlkYWI2OWIxZTAwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTk1
LDggKzE5NSw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBQRVJTSVNURU5UID0gMTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0g
dm9pZCB3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbShpbiB1bnNpZ25lZCBzaG9ydCB0eXBlLCBpbiBs
b25nIGxvbmcgc2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRmlsZVN5c3RlbUNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9p
ZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtD
YWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotCi0gICAgICAg
IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBXZWJLaXRGbGFnc0NvbnN0
cnVjdG9yIFdlYktpdEZsYWdzOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PUklFTlRB
VElPTl9FVkVOVFMpICYmIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCmluZGV4IGY3YzFiYmIyOWRkZWE2OGY2OWQzNTg5NGE0
Y2ZhNWNiNDUyM2UxNjUuLmQ3MDAzYTJlOGZkNDE3NWY4ZjM5NmRmN2FjYWUxOWY5MzNhZGZiMTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbApAQCAtMTExLDcgKzEx
MSw2IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5
c3RlbV0gdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1
cmwsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNr
LCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwog
ICAgICAgICBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBFbnRyeVN5bmMgd2Via2l0UmVz
b2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNVUkwoaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxl
RXhjZXB0aW9uKTsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRp
bWU9RmlsZVN5c3RlbV0gV2ViS2l0RmxhZ3NDb25zdHJ1Y3RvciBXZWJLaXRGbGFnczsKICAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVF
cnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtF
bmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFeGNlcHRpb25Db25zdHJ1Y3RvciBGaWxl
RXhjZXB0aW9uOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRjYTRkY2JiZDdiZjI3OTliNTBmNzQ5ZmM3MDg1
MDI3MTdhZmM3MC4uYjA4MjRjNTMzNDIxNjgzNDcxYmYzNjY0YjgxZDYxOThhZWM0MDZkZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTAyICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICBbZmlsZWFwaV0gV2ViS2l0RmxhZ3Mgc2hvdWxkIG5vdCBiZSBj
b25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3RlbSBzcGVjCisgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE2CisKKyAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgIFJlbW92ZSBhIHRlc3QgdGhhdCBjb25zdHJ1
Y3RlZCB0aGUgb2JqZWN0OyBhZGQgb25lIHRoYXQgdGVzdHMgZXJyb3ItaGFuZGxpbmcgZm9yIG5v
bi1vYmplY3QgcGFyYW1ldGVycyB3aGlsZSBJJ20gaW4gdGhlcmUuCisgICAgICAgKiBmYXN0L2Zp
bGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgKiBmYXN0L2ZpbGVz
eXN0ZW0vc2NyaXB0LXRlc3RzL2ZsYWdzLXBhc3NpbmcuanM6CisKIDIwMTEtMTEtMDIgIFRvbnkg
Q2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBMYW5kIGNocm9taXVtIHdpbi9s
ZW9wYXJkIGJhc2VsaW5lcyBmb3IgcHJpbnRpbmcvc2V0UHJpbnRpbmcuaHRtbCBhbmQgcHJpbnRp
bmcgc2luZ2xlLWxpbmUtbXVzdC1ub3QtYmUtc3BsaXQtaW50by10d28tcGFnZXMuaHRtbC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNzaW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNzaW5nLWV4cGVj
dGVkLnR4dAppbmRleCAxMWUyMDM5N2JiNGZmYjFiYmNhMDkwZDYwOWVhYmIxNTQwYTZiM2I0Li41
Yzg3NTUyMDMwYWM5OTczY2M4MDJiZWNjYWM0NTU1ZWQyYjAyNzdkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZsYWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0CkBA
IC0xLDE2ICsxLDE0IEBACi1QYXNzaW5nIEZsYWdzIHBhcmFtZXRlciB0ZXN0cy4gVGhpcyB0ZXN0
IGNoZWNrcyBpZiBwYXNzaW5nIEZsYWdzIHBhcmFtZXRlcnMgKGluIE9iamVjdCBmb3JtYXQgb3Ig
aW4gSlNPTiBmb3JtYXQpIHRvIERpcmVjdG9yeUVudHJ5LmdldEZpbGUgZG9lcyBub3QgY3Jhc2gg
YW5kIHdvcmtzIGFzIGV4cGVjdGVkLgorUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRo
aXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIHRvIERpcmVjdG9yeUVu
dHJ5LmdldEZpbGUgZG9lcyBub3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLgogCiBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotKiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2JqZWN0
LgotKiBSZWN5Y2xpbmcgdGhlIHNhbWUgV2ViS2l0RmxhZ3Mgb2JqZWN0LgotKiBQYXNzaW5nIGEg
V2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10cnVlKS4KICogUGFzc2luZyBKU09O
IEZsYWdzIG9iamVjdC4KICogUGFzc2luZyBKU09OIEZsYWdzIG9iamVjdCAod2l0aCBleGNsdXNp
dmU9dHJ1ZSkuCiAqIFBhc3NpbmcgbnVsbCBhcyBhIFdlYktpdEZsYWdzIHBhcmFtZXRlci4KKyog
UGFzc2luZyBhIG51bWJlciBhcyBhIFdlYktpdEZsYWdzIHBhcmFtZXRlci4KIEZpbmlzaGVkIHJ1
bm5pbmcgdGVzdHMuCi1QQVNTIGV4cGVjdGVkQ2FsbGJhY2tzQ291bnQgaXMgMworUEFTUyBleHBl
Y3RlZENhbGxiYWNrc0NvdW50IGlzIDEKIFBBU1MgdW5leHBlY3RlZENhbGxiYWNrc0NvdW50IGlz
IDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNzaW5nLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNzaW5nLmpzCmlu
ZGV4IGQyZDA2YjIwMmNmZjIxMmUzOWVlZGJjMjdlNDk3Zjc1NjEyMmI4MTcuLjJlNWZiZWVhMjZk
MjM2Zjk2YTEyYTQwNWEzM2FmNmE0NjFkZThkOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZsYWdzLXBhc3NpbmcuanMKQEAgLTEs
NCArMSw0IEBACi1kZXNjcmlwdGlvbigiUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMuIFRo
aXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIChpbiBPYmplY3QgZm9y
bWF0IG9yIGluIEpTT04gZm9ybWF0KSB0byBEaXJlY3RvcnlFbnRyeS5nZXRGaWxlIGRvZXMgbm90
IGNyYXNoIGFuZCB3b3JrcyBhcyBleHBlY3RlZC4iKTsKK2Rlc2NyaXB0aW9uKCJQYXNzaW5nIEZs
YWdzIHBhcmFtZXRlciB0ZXN0cy4gVGhpcyB0ZXN0IGNoZWNrcyBpZiBwYXNzaW5nIEZsYWdzIHBh
cmFtZXRlcnMgdG8gRGlyZWN0b3J5RW50cnkuZ2V0RmlsZSBkb2VzIG5vdCBjcmFzaCBhbmQgd29y
a3MgYXMgZXhwZWN0ZWQuIik7CiAKIHZhciB0ZXN0RmlsZU5hbWUgPSAnL25vbl9leGlzdGVudF9m
aWxlJzsKIHZhciBmaWxlU3lzdGVtID0gbnVsbDsKQEAgLTksMTggKzksMTggQEAgdmFyIHVuZXhw
ZWN0ZWQgPSBmdW5jdGlvbihlKSB7IHVuZXhwZWN0ZWRDYWxsYmFja3NDb3VudCsrOyB9OwogCiB2
YXIgdGVzdHNMaXN0ID0gWwogICAgICdydW5PYmplY3RUZXN0JywKLSAgICAncnVuT2JqZWN0VGVz
dFdpdGhFeGNsdXNpdmUnLAogICAgICdjbGVhbnVwQW5kUnVuTmV4dCcsCiAgICAgJ3J1bkpTT05U
ZXN0JywKICAgICAncnVuSlNPTlRlc3RXaXRoRXhjbHVzaXZlJywKLSAgICAncnVuTnVsbFRlc3Qn
CisgICAgJ3J1bk51bGxUZXN0JywKKyAgICAncnVuTm9uT2JqZWN0VGVzdCcKIF07CiB2YXIgdGVz
dENvdW50ZXIgPSAwOwogCiBmdW5jdGlvbiBydW5OZXh0VGVzdCh2KSB7CiAgICAgaWYgKHRlc3RD
b3VudGVyID09IHRlc3RzTGlzdC5sZW5ndGgpIHsKICAgICAgICAgZGVidWcoIkZpbmlzaGVkIHJ1
bm5pbmcgdGVzdHMuIik7Ci0gICAgICAgIHNob3VsZEJlKCdleHBlY3RlZENhbGxiYWNrc0NvdW50
JywgJzMnKTsKKyAgICAgICAgc2hvdWxkQmUoJ2V4cGVjdGVkQ2FsbGJhY2tzQ291bnQnLCAnMScp
OwogICAgICAgICBzaG91bGRCZSgndW5leHBlY3RlZENhbGxiYWNrc0NvdW50JywgJzAnKTsKICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSBlbHNlCkBAIC00MCwyOSArNDAsMTggQEAgZnVu
Y3Rpb24gcnVuTnVsbFRlc3QodikgewogICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RG
aWxlTmFtZSwgbnVsbCwgcnVuTmV4dFRlc3QsIGVycm9yQ2FsbGJhY2spOwogfQogCi1mdW5jdGlv
biBydW5PYmplY3RUZXN0KHYpIHsKLSAgICBkZWJ1ZygiKiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mg
b2JqZWN0LiIpOwotICAgIHZhciBmbGFncyA9IG5ldyBXZWJLaXRGbGFncygpOwotICAgIGZsYWdz
LmNyZWF0ZSA9IGZhbHNlOwotCi0gICAgZmlsZVN5c3RlbS5yb290LmdldEZpbGUodGVzdEZpbGVO
YW1lLCBmbGFncywgdW5leHBlY3RlZCwgZXhwZWN0ZWQpOwotCi0gICAgZGVidWcoIiogUmVjeWNs
aW5nIHRoZSBzYW1lIFdlYktpdEZsYWdzIG9iamVjdC4iKTsKLQotICAgIGZpbGVTeXN0ZW0ucm9v
dC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHVuZXhwZWN0ZWQsIGV4cGVjdGVkKTsKK2Z1
bmN0aW9uIHJ1bk5vbk9iamVjdFRlc3QodikgeworICAgIGRlYnVnKCIqIFBhc3NpbmcgYSBudW1i
ZXIgYXMgYSBXZWJLaXRGbGFncyBwYXJhbWV0ZXIuIik7CiAKLSAgICBmbGFncy5jcmVhdGUgPSB0
cnVlOwotICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHJ1
bk5leHRUZXN0LCBlcnJvckNhbGxiYWNrKTsKKyAgICAvLyBUaGlzIHNob3VsZCBiZSBvayBhbmQg
d2UgdHJlYXQgaXQgYXMge2ZhbHNlLCBmYWxzZX0gRmxhZ3MuCisgICAgZmlsZVN5c3RlbS5yb290
LmdldEZpbGUodGVzdEZpbGVOYW1lLCA3LCBydW5OZXh0VGVzdCwgZXJyb3JDYWxsYmFjayk7CiB9
CiAKLWZ1bmN0aW9uIHJ1bk9iamVjdFRlc3RXaXRoRXhjbHVzaXZlKHYpIHsKLSAgICBkZWJ1Zygi
KiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10cnVlKS4iKTsK
LSAgICB2YXIgZmxhZ3MgPSBuZXcgV2ViS2l0RmxhZ3M7Ci0gICAgZmxhZ3MuY3JlYXRlID0gdHJ1
ZTsKLSAgICBmbGFncy5leGNsdXNpdmUgPSB0cnVlOwotCi0gICAgLy8gVGhpcyBzaG91bGQgZmFp
bC4KLSAgICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZsYWdzLCBlcnJv
ckNhbGxiYWNrLCBydW5OZXh0VGVzdCk7CitmdW5jdGlvbiBydW5PYmplY3RUZXN0KHYpIHsKKyAg
ICAvLyBXZWJLaXRGbGFncyBubyBsb25nZXIgaGFzIGEgdmlzaWJsZSBjb25zdHJ1Y3Rvci4KKyAg
ICBpZiAod2luZG93LldlYktpdEZsYWdzKQorICAgICAgICB0aHJvdyAiVGhlcmUgc2hvdWxkIGJl
IG5vIGNvbnN0cnVjdG9yIGZvciBXZWJLaXRGbGFncyEiOworICAgIHJ1bk5leHRUZXN0KCk7CiB9
CiAKIGZ1bmN0aW9uIHJ1bkpTT05UZXN0KHYpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120242</attachid>
            <date>2011-12-21 16:42:14 -0800</date>
            <delta_ts>2012-01-03 16:47:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68916-20111221164213.patch</filename>
            <type>text/plain</type>
            <size>25455</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDA1N2M5ZDQ0YmZlZDkw
YzFiMTJhNmU3ZjlmMTVhYmY5ZDU2YjMxZS4uMzQzOWZlYTZlYjFhZWVjYjg5NDQwOWJlNmE3MDM2
MDA1OGQ2NjViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTAyICBFcmlj
IFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICBbZmlsZWFwaV0gV2ViS2l0
RmxhZ3Mgc2hvdWxkIG5vdCBiZSBjb25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3Rl
bSBzcGVjCisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
OTE2CisKKyAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgIFJlbW92ZSBJ
REwgZm9yIHRoZSBvYmplY3QgYW5kIGFsbCBET00gcmVmZXJlbmNlcyB0byBpdC4KKyAgICAgICAq
IGZpbGVhcGkvV2ViS2l0RmxhZ3MuaWRsOiBSZW1vdmVkLgorICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICBSZW1v
dmUgcmVmZXJlbmNlcyB0byB0aGUgSlNDL1Y4IG9iamVjdHMgY29tcGlsZWQgZnJvbSB0aGUgSURM
LgorICAgICAgICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHA6CisgICAg
ICAgKFdlYkNvcmU6OkpTRGlyZWN0b3J5RW50cnk6OmdldEZpbGUpOgorICAgICAgIChXZWJDb3Jl
OjpKU0RpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkpOgorICAgICAgICogYmluZGluZ3MvanMv
SlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOgorICAgICAgIChXZWJDb3JlOjpnZXRGbGFn
cyk6CisgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5j
cHA6CisgICAgICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxi
YWNrKToKKyAgICAgICAoV2ViQ29yZTo6VjhEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZUNhbGxiYWNr
KToKKyAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHA6CisgICAgICAgKFdlYkNvcmU6OmdldEZsYWdzKToKKyAgICAgICBGaXggdXAgYnVpbGQg
ZmlsZXMuCisgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAqIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgKiBXZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAqIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICogV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDExLTEyLTIwICBTY290
dCBHcmFoYW0gIDxzY290dG1nQGNocm9taXVtLm9yZz4KIAogICAgICAgICB3b3VsZFRhaW50T3Jp
Z2luIG1fY2xlYW5VUkxzIGNhY2hlIGdyb3dzIHZlcnkgbGFyZ2Ugd2hlbiBkYXRhIHVybHMgdXNl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwZWZjYzQ1ZmNjNGE3OWUzOTJjYWYwZWFjNDAwOWQ3
NDBkMjZkZDA0Li41YWE5NzVjMGM5ZTFlNzU5ZTRmMDRiNDFhZWVlOTQzNTkwMTY3OWRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU5OSw3ICsxNTk5LDYgQEAgaWYgKEVOQUJMRV9GSUxFX1NZ
U1RFTSkKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsCiAgICAgICAgIGZp
bGVhcGkvRmlsZVdyaXRlci5pZGwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGwK
LSAgICAgICAgZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwKICAgICAgICAgZmlsZWFwaS9NZXRhZGF0
YS5pZGwKICAgICAgICAgZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNrLmlkbAogICAgICkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAyMmNiZWVlOGMzMzEzZGU4MTFiNDcyMGRjYjM5N2Vh
MWQ5NmZjZTVjLi5kODVkY2M1MDMwZWYyZmUxMGJjYjUzZjU5MTFhNTgwZDQwOWNmMWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xMjcsNyArMTI3LDYgQEAKICNpbmNsdWRlICJK
U0ZpbGVXcml0ZXIuY3BwIgogI2luY2x1ZGUgIkpTRmlsZVdyaXRlckNhbGxiYWNrLmNwcCIKICNp
bmNsdWRlICJKU0ZpbGVXcml0ZXJTeW5jLmNwcCIKLSNpbmNsdWRlICJKU1dlYktpdEZsYWdzLmNw
cCIKICNpbmNsdWRlICJKU0Zsb2F0MzJBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDY0QXJy
YXkuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMucHJpCmluZGV4IGM0NDY3MjJkNTVkZTI1Y2Y5NzM2MGM5ZTEyMTdjMWUyYzA5N2NhZjkuLjQ3
MmE5ZWQzMDdjYjIyMWNkYjQyMTc4ZTJjY2M1YmFlZTUwYzRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKQEAgLTIwNSw3ICsyMDUsNiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGZp
bGVhcGkvRmlsZVdyaXRlci5pZGwgXAogICAgIGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmlk
bCBcCiAgICAgZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmlkbCBcCi0gICAg
ZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwgXAogICAgIGZpbGVhcGkvTWV0YWRhdGEuaWRsIFwKICAg
ICBmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsIFwKICAgICBmaWxlYXBpL1dlYktpdEJsb2JC
dWlsZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2YThiMjY2M2Ni
MDMyZTRiNTQyNWEzOTZjYWVhMTljN2ZkMzVhZjQ1Li5jZWU2OWQxODZlZTdmMTIxNjExN2Q0OThm
YWRmNTkyMTM2Njg1ZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQzODYs
OCArNDM4Niw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZpbGVXcml0ZXJDYWxsYmFjay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRmlsZVdyaXRlclN5bmMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdy
aXRlclN5bmMuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEZsYWdzLmNwcCBc
Ci0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEZsYWdzLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZXRhZGF0YS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWV0YWRhdGFDYWxsYmFjay5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGZjZGY1YjhiMzI1MDE5ZGQ4NDJjMjdlYTU4NTkwZDJl
ZTZlZTQ5MzUuLjI4ZjJmNTBhNTU1YTU4NzQ5MjM4OTIyNDBlMGVkM2UzMmRlZDZiZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTEyNjgsNyArMTI2OCw2IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXJT
eW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwnLAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFk
YXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVy
LmlkbCcsCkBAIC03NDM2LDggKzc0MzUsNiBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyQ2FsbGJhY2suaCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJT
eW5jLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5jcHAnLAotICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQz
MkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxODBhYTMzMDcx
ODE0OWEzN2MzZTkwOTI2NWQ2YTlhYzcyZjU2NTg3Li41NWU5NTQwOGJlZDZhMTNiZjZlZWViM2M5
NjUxM2ZjMDc1NjNmZTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTMxLDggKzI5MzEsNiBAQAogCQk4OTg3ODVCMTEyMkNB
MkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTlCMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRy
eS5oICovOyB9OwogCQk4OTg3ODVCMjEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODk4Nzg1OUMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNwcCAqLzsg
fTsKIAkJODk4Nzg1QjMxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODU5RDEy
MkNBMkE3MDAzQUFCREEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLzsgfTsKLQkJODk4Nzg1
QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUUxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTV2ViS2l0RmxhZ3MuY3BwICovOyB9OwotCQk4OTg3ODVCNTEyMkNBMkE3MDAzQUFCREEgLyog
SlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODk4Nzg1OUYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCAqLzsgfTsK
IAkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1QTAxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTTWV0YWRhdGEuY3BwICovOyB9OwogCQk4OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEg
LyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCAqLzsgfTsKIAkJ
ODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODVBMjEyMkNBMkE3
MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCAqLzsgfTsKQEAgLTEwMTg2LDggKzEw
MTg0LDYgQEAKIAkJODk4Nzg1OUIxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUVudHJ5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTlDMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Zp
bGVTeXN0ZW1DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4
NTlEMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4OTg3ODU5RTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRG
bGFncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdEZs
YWdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODk4Nzg1OUYxMjJDQTJBNzAw
M0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNXZWJLaXRGbGFncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODVB
MDEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU01ldGFkYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODk4Nzg1QTExMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZXRhZGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4OTg3ODVBMjEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWV0YWRhdGFDYWxs
YmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzAyMSw4ICsxNzAxNyw2
IEBACiAJCQkJMkUyNDQ3NjcxMzk1OTE3MzAwNEI2QzE5IC8qIEpTT3BlcmF0aW9uTm90QWxsb3dl
ZEV4Y2VwdGlvbi5oICovLAogCQkJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU1dlYktp
dEJsb2JCdWlsZGVyLmNwcCAqLywKIAkJCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNX
ZWJLaXRCbG9iQnVpbGRlci5oICovLAotCQkJCTg5ODc4NTlFMTIyQ0EyQTcwMDNBQUJEQSAvKiBK
U1dlYktpdEZsYWdzLmNwcCAqLywKLQkJCQk4OTg3ODU5RjEyMkNBMkE3MDAzQUFCREEgLyogSlNX
ZWJLaXRGbGFncy5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBGaWxlQVBJOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTIzNzY4LDcgKzIzNzYyLDYgQEAKIAkJCQkzMTZGRTA3NDBFNkND
QkVFMDBCRjYwODggLyogSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OTgzOTE0MDBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxNjExRTVCMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJCQk4OTg3ODVCNTEyMkNBMkE3MDAzQUFC
REEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDkwMkQxNDMyN0Q0
RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDk0QkQ3OUUwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTMxQzBGRjQwMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25F
dmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg3Miw3ICsyNjg2NSw2IEBACiAJCQkJRTFBRDE0
QjUxMjk3MzRDQTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRD
U1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNUEwRTFDNERFMDAwRjZBNTc5
IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJODk4
Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzZGMDkwMkMxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJE
NzlEMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3Vz
dG9tLmNwcAppbmRleCA2ZTkzNzZlNDM5NGE0OThjZjdlMzhhMTQyOTk3ZTQxZjAwODhkMzBhLi4z
MTIzMmQzY2NkMTlkMTBiYTdjMzJkY2E3YjFhNGZmMTc1ODdhZGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAt
MzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRW50
cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkpT
V2ViS2l0RmxhZ3MuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1l
c3BhY2UgSlNDOwpAQCAtNjIsMTUgKzYxLDE0IEBAIEpTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeTo6
Z2V0RmlsZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgfQogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdz
PiBmbGFnczsKLSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5h
cmd1bWVudCgxKS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkg
JiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU1dlYktpdEZsYWdzOjpzX2luZm8pKSB7
CisgICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQo
MSkuaXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpKSB7CiAgICAg
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKICAg
ICAgICAgZmxhZ3MgPSBXZWJLaXRGbGFnczo6Y3JlYXRlKCk7CiAgICAgICAgIEpTVmFsdWUganND
cmVhdGUgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CiAg
ICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoanNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKICAgICAg
ICAgSlNWYWx1ZSBqc0V4Y2x1c2l2ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhl
YywgImV4Y2x1c2l2ZSIpKTsKICAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShqc0V4Y2x1c2l2
ZS50b0Jvb2xlYW4oZXhlYykpOwotICAgIH0gZWxzZQotICAgICAgICBmbGFncyA9IHRvV2ViS2l0
RmxhZ3MoZXhlYy0+YXJndW1lbnQoMSkpOworICAgIH0KICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIFJlZlB0cjxFbnRyeUNh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CkBAIC0xMTEsMTUgKzEwOSwxNCBAQCBKU1ZhbHVlIEpT
RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgfQogCiAg
ICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsKLSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEp
LmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFy
Z3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU1dl
YktpdEZsYWdzOjpzX2luZm8pKSB7CisgICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5pc051bGwo
KSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1bWVudCgx
KS5pc09iamVjdCgpKSB7CiAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVu
dCgxKS5nZXRPYmplY3QoKTsKICAgICAgICAgZmxhZ3MgPSBXZWJLaXRGbGFnczo6Y3JlYXRlKCk7
CiAgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVy
KGV4ZWMsICJjcmVhdGUiKSk7CiAgICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoanNDcmVhdGUudG9C
b29sZWFuKGV4ZWMpKTsKICAgICAgICAgSlNWYWx1ZSBqc0V4Y2x1c2l2ZSA9IG9iamVjdC0+Z2V0
KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImV4Y2x1c2l2ZSIpKTsKICAgICAgICAgZmxhZ3MtPnNl
dEV4Y2x1c2l2ZShqc0V4Y2x1c2l2ZS50b0Jvb2xlYW4oZXhlYykpOwotICAgIH0gZWxzZQotICAg
ICAgICBmbGFncyA9IHRvV2ViS2l0RmxhZ3MoZXhlYy0+YXJndW1lbnQoMSkpOworICAgIH0KICAg
ICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHAKaW5kZXggMjEwMDZhYjNjZTM0NDQyOGEyNGNjNDdjYWJkODAyM2ZmYmY0MTg4Yi4uNDg3
ZDA4NGE4N2RjNzJhY2UzOGVjYWRjY2NkZGIxNmQ2M2MwNjM5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNw
cApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgogI2luY2x1
ZGUgIkpTRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgotI2lu
Y2x1ZGUgIkpTV2ViS2l0RmxhZ3MuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1
c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtNDksOCArNDgsNiBAQCBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJLaXRGbGFncz4gZ2V0RmxhZ3MoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBKU1ZhbHVlJiBhcmd1
bWVudAogewogICAgIGlmIChhcmd1bWVudC5pc051bGwoKSB8fCBhcmd1bWVudC5pc1VuZGVmaW5l
ZCgpIHx8ICFhcmd1bWVudC5pc09iamVjdCgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAo
YXJndW1lbnQuaW5oZXJpdHMoJkpTV2ViS2l0RmxhZ3M6OnNfaW5mbykpCi0gICAgICAgIHJldHVy
biB0b0ZsYWdzKGFyZ3VtZW50KTsKIAogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3M7CiAg
ICAgSlNPYmplY3QqIG9iamVjdCA9IGFyZ3VtZW50LmdldE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlD
dXN0b20uY3BwCmluZGV4IDRhNzc0ODY4ZTQ3ZmM2MzFjZWNkYWMyMmQyMTU4MjBmOWYwMWU2ZmQu
LmE4MDYyZmI3Nzc4ZmVjNTU5NDExNWQyZmFmNmJmY2NjMzFlNWQxZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRy
eUN1c3RvbS5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJWOEJpbmRpbmdNYWNyb3Mu
aCIKICNpbmNsdWRlICJWOEVudHJ5Q2FsbGJhY2suaCIKICNpbmNsdWRlICJWOEVycm9yQ2FsbGJh
Y2suaCIKLSNpbmNsdWRlICJWOFdlYktpdEZsYWdzLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAt
NjAsNyArNTksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0
RGlyZWN0b3J5Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cwogICAgICAgICByZXR1cm4gdjg6
OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiAgICAgfQogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxh
Z3M7Ci0gICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09i
amVjdCgpICYmICFWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgIGlm
ICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSkgewog
ICAgICAgICBFWENFUFRJT05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKICAgICAgICAgZmxhZ3MgPSBX
ZWJLaXRGbGFnczo6Y3JlYXRlKCk7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3Jl
YXRlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7CkBAIC03Myw5ICs3
Miw2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3Rv
cnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAgICAgICAgICAgICBFWENFUFRJT05fQkxP
Q0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CiAgICAg
ICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKICAgICAgICAgfQotICAg
IH0gZWxzZSB7Ci0gICAgICAgIEVYQ0VQVElPTl9CTE9DSyhXZWJLaXRGbGFncyosIHRtcF9mbGFn
cywgVjhXZWJLaXRGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOFdlYktpdEZsYWdzOjp0
b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDApOwotICAg
ICAgICBmbGFncyA9IHRtcF9mbGFnczsKICAgICB9CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0t
PklzTnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CkBAIC0xMDcsNyArMTAzLDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6
OlZhbHVlPigpOwogICAgIH0KICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzOwotICAgIGlm
ICghaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAh
VjhXZWJLaXRGbGFnczo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICBpZiAoIWlzVW5kZWZp
bmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFyZ3NbMV0tPklzT2JqZWN0KCkpIHsKICAgICAgICAgRVhD
RVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSk7CiAgICAgICAgIGZsYWdzID0gV2ViS2l0RmxhZ3M6
OmNyZWF0ZSgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiY3JlYXRlIikpOwpAQCAtMTIwLDkgKzExNiw2IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwg
aXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CiAgICAgICAgICAgICBm
bGFncy0+c2V0RXhjbHVzaXZlKGlzRXhjbHVzaXZlKTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgRVhDRVBUSU9OX0JMT0NLKFdlYktpdEZsYWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktp
dEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMCk7Ci0gICAgICAgZmxhZ3Mg
PSB0bXBfZmxhZ3M7CiAgICAgfQogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAm
JiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5j
cHAKaW5kZXggY2QzOGNhNDViMGRlZTFkNWE3ZDVjZjFiYjU2YzcwYjBjMDQ2ZGJjNC4uODk3ODQ4
YjU5NmJjZjlkMTRlNGY1OThiYTlkNDlmNWFlNDJhMzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5
bmNDdXN0b20uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiVjhFbnRyeUNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhGaWxlRW50cnlT
eW5jLmgiCi0jaW5jbHVkZSAiVjhXZWJLaXRGbGFncy5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTY3LDggKzY2LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGdldEZsYWdzKGNv
bnN0IHY4OjpMb2NhbDx2ODo6VmFsdWU+JiBhcmcsIEV4Y2VwdGkKICAgICBlYyA9IDA7CiAgICAg
aWYgKGlzVW5kZWZpbmVkT3JOdWxsKGFyZykgfHwgIWFyZy0+SXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgaWYgKFY4V2ViS2l0RmxhZ3M6Okhhc0luc3RhbmNlKGFyZykpCi0gICAg
ICAgIHJldHVybiBWOFdlYktpdEZsYWdzOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGFyZykpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3Q7CiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2QxMDMyNzViMTIzYTk2OWRmMGQxYzZjYTVkZmY2ZDRkZjE1YTMwOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQot
ICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1t
b2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9RklM
RV9TWVNURU0sCi0gICAgICAgIENvbnN0cnVjdG9yLAotICAgICAgICBOb1N0YXRpY1RhYmxlcwot
ICAgIF0gV2ViS2l0RmxhZ3MgewotICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjcmVhdGU7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGV4Y2x1c2l2ZTsKLSAgICB9OwotfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCmluZGV4IDJlYzhkNmE1YjA1ZTU2ZGEwMWVjM2QwNDc3NGFjMmE2M2Qz
ZjkzNjEuLmVhNmI5MzZjMjk4MzNkNWZkYjQ1YmRmM2M4NjE4OGM1MTNmNGFlNWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTE5NSw4ICsxOTUsNiBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSU0lTVEVOVCA9IDE7CiAgICAgICAgIFtF
bmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0o
aW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgaW4gbG9uZyBsb25nIHNpemUsIGluIFtDYWxsYmFja10g
RmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25h
bF0gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRp
bWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERP
TVN0cmluZyB1cmwsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vz
c0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOwotCi0gICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVt
XSBXZWJLaXRGbGFnc0NvbnN0cnVjdG9yIFdlYktpdEZsYWdzOwogI2VuZGlmCiAKICNpZiBkZWZp
bmVkKEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMpICYmIEVOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCmluZGV4IDczNmJiYzEz
M2Y3ZjIzMzBmNzBhYjA3M2E4ODgwM2UwNzVhZTBhZDIuLmI5NDcyNzUwMmIzMWI3Y2VkMjQ5YTkw
ZDVkM2FjZThhZWRmNzZlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmlkbApAQCAtMTExLDcgKzExMSw2IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVt
VVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOwogICAgICAgICBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBF
bnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVN5bmNVUkwoaW4gRE9NU3RyaW5n
IHVybCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gV2ViS2l0RmxhZ3NDb25zdHJ1Y3RvciBX
ZWJLaXRGbGFnczsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1l
PUZpbGVTeXN0ZW1dIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsKICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFeGNlcHRp
b25Db25zdHJ1Y3RvciBGaWxlRXhjZXB0aW9uOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODBmYTFhZTk3OTc3
ZGQ3NzYyOTcxOTlmNWQyNmMzOWViYTExMDcwNC4uOWNlZTFmZGVmMmMyYTZjNWZkYmVkYWE5ZjVm
YmM0OGE5ZDc4NDk3MSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTAyICBFcmljIFVo
cmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICBbZmlsZWFwaV0gV2ViS2l0Rmxh
Z3Mgc2hvdWxkIG5vdCBiZSBjb25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3RlbSBz
cGVjCisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE2
CisKKyAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgIFJlbW92ZSBhIHRl
c3QgdGhhdCBjb25zdHJ1Y3RlZCB0aGUgb2JqZWN0OyBhZGQgb25lIHRoYXQgdGVzdHMgZXJyb3It
aGFuZGxpbmcgZm9yIG5vbi1vYmplY3QgcGFyYW1ldGVycyB3aGlsZSBJJ20gaW4gdGhlcmUuCisg
ICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQ6CisgICAg
ICAgKiBmYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZsYWdzLXBhc3NpbmcuanM6CisKIDIw
MTEtMTItMjAgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIFVucmV2aWV3ZWQsIGFjY29yZGluZyB0byB0aGUgZmxha2luZXNzIGRhc2hib2FyZCwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNzaW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNzaW5nLWV4
cGVjdGVkLnR4dAppbmRleCAxMWUyMDM5N2JiNGZmYjFiYmNhMDkwZDYwOWVhYmIxNTQwYTZiM2I0
Li41Yzg3NTUyMDMwYWM5OTczY2M4MDJiZWNjYWM0NTU1ZWQyYjAyNzdkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZsYWdzLXBhc3NpbmctZXhwZWN0ZWQudHh0
CkBAIC0xLDE2ICsxLDE0IEBACi1QYXNzaW5nIEZsYWdzIHBhcmFtZXRlciB0ZXN0cy4gVGhpcyB0
ZXN0IGNoZWNrcyBpZiBwYXNzaW5nIEZsYWdzIHBhcmFtZXRlcnMgKGluIE9iamVjdCBmb3JtYXQg
b3IgaW4gSlNPTiBmb3JtYXQpIHRvIERpcmVjdG9yeUVudHJ5LmdldEZpbGUgZG9lcyBub3QgY3Jh
c2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLgorUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMu
IFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIHRvIERpcmVjdG9y
eUVudHJ5LmdldEZpbGUgZG9lcyBub3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLgogCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotKiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2Jq
ZWN0LgotKiBSZWN5Y2xpbmcgdGhlIHNhbWUgV2ViS2l0RmxhZ3Mgb2JqZWN0LgotKiBQYXNzaW5n
IGEgV2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10cnVlKS4KICogUGFzc2luZyBK
U09OIEZsYWdzIG9iamVjdC4KICogUGFzc2luZyBKU09OIEZsYWdzIG9iamVjdCAod2l0aCBleGNs
dXNpdmU9dHJ1ZSkuCiAqIFBhc3NpbmcgbnVsbCBhcyBhIFdlYktpdEZsYWdzIHBhcmFtZXRlci4K
KyogUGFzc2luZyBhIG51bWJlciBhcyBhIFdlYktpdEZsYWdzIHBhcmFtZXRlci4KIEZpbmlzaGVk
IHJ1bm5pbmcgdGVzdHMuCi1QQVNTIGV4cGVjdGVkQ2FsbGJhY2tzQ291bnQgaXMgMworUEFTUyBl
eHBlY3RlZENhbGxiYWNrc0NvdW50IGlzIDEKIFBBU1MgdW5leHBlY3RlZENhbGxiYWNrc0NvdW50
IGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNzaW5nLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNzaW5nLmpz
CmluZGV4IGQyZDA2YjIwMmNmZjIxMmUzOWVlZGJjMjdlNDk3Zjc1NjEyMmI4MTcuLjJlNWZiZWVh
MjZkMjM2Zjk2YTEyYTQwNWEzM2FmNmE0NjFkZThkOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZsYWdzLXBhc3NpbmcuanMKQEAg
LTEsNCArMSw0IEBACi1kZXNjcmlwdGlvbigiUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIgdGVzdHMu
IFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIChpbiBPYmplY3Qg
Zm9ybWF0IG9yIGluIEpTT04gZm9ybWF0KSB0byBEaXJlY3RvcnlFbnRyeS5nZXRGaWxlIGRvZXMg
bm90IGNyYXNoIGFuZCB3b3JrcyBhcyBleHBlY3RlZC4iKTsKK2Rlc2NyaXB0aW9uKCJQYXNzaW5n
IEZsYWdzIHBhcmFtZXRlciB0ZXN0cy4gVGhpcyB0ZXN0IGNoZWNrcyBpZiBwYXNzaW5nIEZsYWdz
IHBhcmFtZXRlcnMgdG8gRGlyZWN0b3J5RW50cnkuZ2V0RmlsZSBkb2VzIG5vdCBjcmFzaCBhbmQg
d29ya3MgYXMgZXhwZWN0ZWQuIik7CiAKIHZhciB0ZXN0RmlsZU5hbWUgPSAnL25vbl9leGlzdGVu
dF9maWxlJzsKIHZhciBmaWxlU3lzdGVtID0gbnVsbDsKQEAgLTksMTggKzksMTggQEAgdmFyIHVu
ZXhwZWN0ZWQgPSBmdW5jdGlvbihlKSB7IHVuZXhwZWN0ZWRDYWxsYmFja3NDb3VudCsrOyB9Owog
CiB2YXIgdGVzdHNMaXN0ID0gWwogICAgICdydW5PYmplY3RUZXN0JywKLSAgICAncnVuT2JqZWN0
VGVzdFdpdGhFeGNsdXNpdmUnLAogICAgICdjbGVhbnVwQW5kUnVuTmV4dCcsCiAgICAgJ3J1bkpT
T05UZXN0JywKICAgICAncnVuSlNPTlRlc3RXaXRoRXhjbHVzaXZlJywKLSAgICAncnVuTnVsbFRl
c3QnCisgICAgJ3J1bk51bGxUZXN0JywKKyAgICAncnVuTm9uT2JqZWN0VGVzdCcKIF07CiB2YXIg
dGVzdENvdW50ZXIgPSAwOwogCiBmdW5jdGlvbiBydW5OZXh0VGVzdCh2KSB7CiAgICAgaWYgKHRl
c3RDb3VudGVyID09IHRlc3RzTGlzdC5sZW5ndGgpIHsKICAgICAgICAgZGVidWcoIkZpbmlzaGVk
IHJ1bm5pbmcgdGVzdHMuIik7Ci0gICAgICAgIHNob3VsZEJlKCdleHBlY3RlZENhbGxiYWNrc0Nv
dW50JywgJzMnKTsKKyAgICAgICAgc2hvdWxkQmUoJ2V4cGVjdGVkQ2FsbGJhY2tzQ291bnQnLCAn
MScpOwogICAgICAgICBzaG91bGRCZSgndW5leHBlY3RlZENhbGxiYWNrc0NvdW50JywgJzAnKTsK
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSBlbHNlCkBAIC00MCwyOSArNDAsMTggQEAg
ZnVuY3Rpb24gcnVuTnVsbFRlc3QodikgewogICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRl
c3RGaWxlTmFtZSwgbnVsbCwgcnVuTmV4dFRlc3QsIGVycm9yQ2FsbGJhY2spOwogfQogCi1mdW5j
dGlvbiBydW5PYmplY3RUZXN0KHYpIHsKLSAgICBkZWJ1ZygiKiBQYXNzaW5nIGEgV2ViS2l0Rmxh
Z3Mgb2JqZWN0LiIpOwotICAgIHZhciBmbGFncyA9IG5ldyBXZWJLaXRGbGFncygpOwotICAgIGZs
YWdzLmNyZWF0ZSA9IGZhbHNlOwotCi0gICAgZmlsZVN5c3RlbS5yb290LmdldEZpbGUodGVzdEZp
bGVOYW1lLCBmbGFncywgdW5leHBlY3RlZCwgZXhwZWN0ZWQpOwotCi0gICAgZGVidWcoIiogUmVj
eWNsaW5nIHRoZSBzYW1lIFdlYktpdEZsYWdzIG9iamVjdC4iKTsKLQotICAgIGZpbGVTeXN0ZW0u
cm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHVuZXhwZWN0ZWQsIGV4cGVjdGVkKTsK
K2Z1bmN0aW9uIHJ1bk5vbk9iamVjdFRlc3QodikgeworICAgIGRlYnVnKCIqIFBhc3NpbmcgYSBu
dW1iZXIgYXMgYSBXZWJLaXRGbGFncyBwYXJhbWV0ZXIuIik7CiAKLSAgICBmbGFncy5jcmVhdGUg
PSB0cnVlOwotICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3Ms
IHJ1bk5leHRUZXN0LCBlcnJvckNhbGxiYWNrKTsKKyAgICAvLyBUaGlzIHNob3VsZCBiZSBvayBh
bmQgd2UgdHJlYXQgaXQgYXMge2ZhbHNlLCBmYWxzZX0gRmxhZ3MuCisgICAgZmlsZVN5c3RlbS5y
b290LmdldEZpbGUodGVzdEZpbGVOYW1lLCA3LCBydW5OZXh0VGVzdCwgZXJyb3JDYWxsYmFjayk7
CiB9CiAKLWZ1bmN0aW9uIHJ1bk9iamVjdFRlc3RXaXRoRXhjbHVzaXZlKHYpIHsKLSAgICBkZWJ1
ZygiKiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10cnVlKS4i
KTsKLSAgICB2YXIgZmxhZ3MgPSBuZXcgV2ViS2l0RmxhZ3M7Ci0gICAgZmxhZ3MuY3JlYXRlID0g
dHJ1ZTsKLSAgICBmbGFncy5leGNsdXNpdmUgPSB0cnVlOwotCi0gICAgLy8gVGhpcyBzaG91bGQg
ZmFpbC4KLSAgICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZsYWdzLCBl
cnJvckNhbGxiYWNrLCBydW5OZXh0VGVzdCk7CitmdW5jdGlvbiBydW5PYmplY3RUZXN0KHYpIHsK
KyAgICAvLyBXZWJLaXRGbGFncyBubyBsb25nZXIgaGFzIGEgdmlzaWJsZSBjb25zdHJ1Y3Rvci4K
KyAgICBpZiAod2luZG93LldlYktpdEZsYWdzKQorICAgICAgICB0aHJvdyAiVGhlcmUgc2hvdWxk
IGJlIG5vIGNvbnN0cnVjdG9yIGZvciBXZWJLaXRGbGFncyEiOworICAgIHJ1bk5leHRUZXN0KCk7
CiB9CiAKIGZ1bmN0aW9uIHJ1bkpTT05UZXN0KHYpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121018</attachid>
            <date>2012-01-03 16:47:52 -0800</date>
            <delta_ts>2012-01-05 01:29:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68916-20120103164751.patch</filename>
            <type>text/plain</type>
            <size>28710</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdjNDlmOTI3Y2NhODQz
YWUzNDg4MGJmMWE2M2E3NDkyYTBiYTJjZi4uNWZhNmYzOTc3YWQyYmRjYzU5ZmY0MTcyZjc5NTE5
ZjY0YmZmMDcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAxLTAzICBFcmlj
IFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICBbZmlsZWFwaV0gV2ViS2l0
RmxhZ3Mgc2hvdWxkIG5vdCBiZSBjb25zdHJ1Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3Rl
bSBzcGVjCisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
OTE2CisKKyAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgIFJlbW92ZSBJ
REwgZm9yIHRoZSBvYmplY3QgYW5kIGFsbCBET00gcmVmZXJlbmNlcyB0byBpdC4KKyAgICAgICAq
IGZpbGVhcGkvV2ViS2l0RmxhZ3MuaWRsOiBSZW1vdmVkLgorICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICBSZW1v
dmUgcmVmZXJlbmNlcyB0byB0aGUgSlNDL1Y4IG9iamVjdHMgY29tcGlsZWQgZnJvbSB0aGUgSURM
LgorICAgICAgICogYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHA6CisgICAg
ICAgKFdlYkNvcmU6OkpTRGlyZWN0b3J5RW50cnk6OmdldEZpbGUpOgorICAgICAgIChXZWJDb3Jl
OjpKU0RpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkpOgorICAgICAgICogYmluZGluZ3MvanMv
SlNEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwOgorICAgICAgIChXZWJDb3JlOjpnZXRGbGFn
cyk6CisgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5j
cHA6CisgICAgICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxi
YWNrKToKKyAgICAgICAoV2ViQ29yZTo6VjhEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZUNhbGxiYWNr
KToKKyAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3Rv
bS5jcHA6CisgICAgICAgKFdlYkNvcmU6OmdldEZsYWdzKToKKyAgICAgICBGaXggdXAgYnVpbGQg
ZmlsZXMuCisgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAqIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgKiBXZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAqIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICogV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDEyLTAxLTAzICBZdXpodSBTaGVuICA8eXpzaGVuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICB2OCBiaW5kaW5nOiBucENyZWF0ZVY4U2NyaXB0T2JqZWN0
KCkgc2hvdWxkIG5vdCByZXR1cm5lZCBhbiBleGlzdGluZyBWOE5QT2JqZWN0IGlmIHRoZSByb290
T2JqZWN0IGRvZXNuJ3QgbWF0Y2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg4ZTBmMTQxM2Q5
OWI4NDhkMzRmNTgwODI2MDQwYzUzZWMwN2NlNy4uYmQ5NWUxOWMyODdiNTAzMjRhYTIxMjUwNmY2
OTUwMzYyYWVmZjA2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDEsNyArMTYwMSw2IEBA
IGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlckNhbGxi
YWNrLmlkbAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIuaWRsCiAgICAgICAgIGZpbGVhcGkv
RmlsZVdyaXRlclN5bmMuaWRsCi0gICAgICAgIGZpbGVhcGkvV2ViS2l0RmxhZ3MuaWRsCiAgICAg
ICAgIGZpbGVhcGkvTWV0YWRhdGEuaWRsCiAgICAgICAgIGZpbGVhcGkvTWV0YWRhdGFDYWxsYmFj
ay5pZGwKICAgICApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMjJjYmVlZThjMzMx
M2RlODExYjQ3MjBkY2IzOTdlYTFkOTZmY2U1Yy4uZDg1ZGNjNTAzMGVmMmZlMTBiY2I1M2Y1OTEx
YTU4MGQ0MDljZjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI3LDcgKzEy
Nyw2IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVXcml0
ZXJDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCi0jaW5jbHVk
ZSAiSlNXZWJLaXRGbGFncy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgogI2lu
Y2x1ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGFmNzY2ZDcxMDNkOTI3NDQ3YTIwYTc3
YWY5YzViNjQ1NmMyYzE3ZTcuLmU4Yzc2NjQ3MDNhODRjNjEyNmE5ZGU3ODlhOTE0YWI4NDg3ODVl
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2LDcgKzE3Niw2IEBAIEJJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5p
ZGwgXAogICAgICQoV2ViQ29yZSkvZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9maWxlYXBpL1dlYktpdEZsYWdzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL0RPTUZvcm1EYXRhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0RPTVRva2VuTGlzdC5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IGQ5ZTRjYzhjMTRlZTFmMTM1NGRlYjM5NmE2YTMz
ZGY3YWU0YmQwNGIuLmI2OWI3NDRhZGVlNDk5NGE2NjYxOGRkMmVhMmNjNTA1ZTk0MGMwMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTIwNSw3ICsyMDUsNiBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIGZpbGVhcGkvRmlsZVdyaXRlci5pZGwgXAogICAgIGZpbGVhcGkvRmlsZVdy
aXRlckNhbGxiYWNrLmlkbCBcCiAgICAgZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmlkbCBcCi0gICAgZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwgXAogICAgIGZpbGVhcGkvTWV0
YWRhdGEuaWRsIFwKICAgICBmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsIFwKICAgICBmaWxl
YXBpL1dlYktpdEJsb2JCdWlsZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpp
bmRleCBlYWQ2ZGFkZDNmZDBmYjI1YjgzMDI0OTUyNDdiNzdhOTU5YzdmY2QzLi44MzIyOWNhYjI3
ZDk0NGRiMjdkN2MyMTRlZWVlZjQ4YmI1NjAyM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KQEAgLTQ3MTIsOCArNDcxMiw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJDYWxsYmFjay5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YktpdEZsYWdzLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEZsYWdzLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZXRhZGF0YS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWV0
YWRhdGFDYWxsYmFjay5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDgzMDVmY2VkOGVhZjYzMDlm
N2U2YmM5YmY3NjFiMDIxYWMwNDQ4ODUuLmU1ODFjMDJkYzFjNzAyNjE2OGUyNGMxNmM2MTdiNjky
YzkxYTg5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEyNjcsNyArMTI2Nyw2IEBACiAgICAgICAg
ICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZpbGVXcml0ZXJTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9PcGVyYXRpb25O
b3RBbGxvd2VkRXhjZXB0aW9uLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9XZWJLaXRGbGFn
cy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAgICAgICAgICAg
ICdmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL1dl
YktpdEJsb2JCdWlsZGVyLmlkbCcsCkBAIC03NDM3LDggKzc0MzYsNiBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyQ2FsbGJh
Y2suaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0ZpbGVXcml0ZXJTeW5jLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAotICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRGbGFncy5jcHAnLAot
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRGbGFncy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24uY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZDBj
ZjM5NWU5M2JmZDg3YjFmY2FiYWFiNzhkZjZmYmU1OWI5Y2JiYy4uZDQ0M2FkMzkzNzk5NDMzMzli
Mjg0MWE1MmFlOWMzMGM4NmYwNDhlNyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTIyNDk4LDYyICsyMjQ5OCw2IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRGbGFncy5jcHAiCi0J
CQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
QWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8
VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0
aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8
VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNXZWJLaXRGbGFncy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAiCiAJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDE4YzcwNzNlNTJhOTJmMGViOWMzMWY3YjczY2IwMTBmYzA2Yjhi
NmMuLjY2MzNkZTg1OWJkMjhmMWE4YjFkOTM3MTZkMjhmMGQxYWZlYzA0NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5MzIs
OCArMjkzMiw2IEBACiAJCTg5ODc4NUIxMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVFbnRyeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1OUIx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmggKi87IH07CiAJCTg5ODc4NUIyMTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODU5QzEyMkNBMkE3MDAzQUFCREEgLyog
SlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwICovOyB9OwogCQk4OTg3ODVCMzEyMkNBMkE3MDAzQUFC
REEgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTlEMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5oICovOyB9OwotCQk4OTg3ODVCNDEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJL
aXRGbGFncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTg3ODU5RTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5jcHAgKi87IH07Ci0J
CTg5ODc4NUI1MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODU5RjEyMkNBMkE3MDAzQUFC
REEgLyogSlNXZWJLaXRGbGFncy5oICovOyB9OwogCQk4OTg3ODVCNjEyMkNBMkE3MDAzQUFCREEg
LyogSlNNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTg3ODVBMDEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5jcHAgKi87IH07
CiAJCTg5ODc4NUI3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODVBMTEyMkNBMkE3MDAzQUFC
REEgLyogSlNNZXRhZGF0YS5oICovOyB9OwogCQk4OTg3ODVCODEyMkNBMkE3MDAzQUFCREEgLyog
SlNNZXRhZGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5ODc4NUEyMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJh
Y2suY3BwICovOyB9OwpAQCAtMTAxOTAsOCArMTAxODgsNiBAQAogCQk4OTg3ODU5QjEyMkNBMkE3
MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNGaWxlRW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1OUMx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1OUQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTRmls
ZVN5c3RlbUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmls
ZVN5c3RlbUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5ODc4NTlF
MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0RmxhZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk4OTg3ODU5RjEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdEZsYWdzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NUEwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFk
YXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWV0YWRhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODVBMTEyMkNBMkE3MDAzQUFC
REEgLyogSlNNZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01l
dGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NUEyMTIyQ0EyQTcw
MDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNNZXRhZGF0YUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE3MDI3LDggKzE3MDIzLDYgQEAKIAkJCQkyRTI0NDc2NzEzOTU5MTczMDA0
QjZDMTkgLyogSlNPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmggKi8sCiAJCQkJODlDRDAy
OTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxkZXIuY3BwICovLAogCQkJCTg5
Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmggKi8sCi0JCQkJ
ODk4Nzg1OUUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuY3BwICovLAotCQkJCTg5
ODc4NTlGMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggKi8sCiAJCQkpOwogCQkJ
bmFtZSA9IEZpbGVBUEk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjM4MzMsNyAr
MjM4MjcsNiBAQAogCQkJCTMxNkZFMDc0MEU2Q0NCRUUwMEJGNjA4OCAvKiBKU1dlYktpdENTU0tl
eWZyYW1lc1J1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5ODM5MTQwMEYxRTc2NzUwMEMyMzc4
MiAvKiBKU1dlYktpdENTU01hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2MTFFNUIwRTFD
NERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICov
LAotCQkJCTg5ODc4NUI1MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDNkYwOTAyRDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTRCRDc5RTBGNTVDOTRDMDA3NDc4Mjgg
LyogSlNXZWJLaXRQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDMEZGNDAwRTRDRUZBQzAw
N0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
OTQ3LDcgKzI2OTQwLDYgQEAKIAkJCQlFMUFEMTRCNTEyOTczNENBMDBBQ0E5ODkgLyogSlNXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTNG
MEYxRTc2NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMTYxMUU1QTBFMUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4OTg3ODVCNDEyMkNBMkE3MDAzQUFCREEgLyogSlNX
ZWJLaXRGbGFncy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNkYwOTAyQzE0MzI3RDRGMDA2ODU4
NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM2
RjA5MTdGMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDc2MTNBQzQxNDc1M0U1NjAwREI4NjA2IC8qIEpTV2Vi
S2l0TmFtZWRGbG93LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAppbmRleCA2ZTkzNzZlNDM5
NGE0OThjZjdlMzhhMTQyOTk3ZTQxZjAwODhkMzBhLi4zMTIzMmQzY2NkMTlkMTBiYTdjMzJkY2E3
YjFhNGZmMTc1ODdhZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUg
IkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUg
IkpTRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkpTV2ViS2l0RmxhZ3MuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtNjIsMTUgKzYx
LDE0IEBAIEpTVmFsdWUgSlNEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgfQogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFnczsKLSAgICBpZiAoIWV4ZWMt
PmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgp
ICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlu
aGVyaXRzKCZKU1dlYktpdEZsYWdzOjpzX2luZm8pKSB7CisgICAgaWYgKCFleGVjLT5hcmd1bWVu
dCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVj
LT5hcmd1bWVudCgxKS5pc09iamVjdCgpKSB7CiAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBl
eGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKICAgICAgICAgZmxhZ3MgPSBXZWJLaXRGbGFn
czo6Y3JlYXRlKCk7CiAgICAgICAgIEpTVmFsdWUganNDcmVhdGUgPSBvYmplY3QtPmdldChleGVj
LCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CiAgICAgICAgIGZsYWdzLT5zZXRDcmVhdGUo
anNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKICAgICAgICAgSlNWYWx1ZSBqc0V4Y2x1c2l2ZSA9
IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImV4Y2x1c2l2ZSIpKTsKICAgICAg
ICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShqc0V4Y2x1c2l2ZS50b0Jvb2xlYW4oZXhlYykpOwotICAg
IH0gZWxzZQotICAgICAgICBmbGFncyA9IHRvV2ViS2l0RmxhZ3MoZXhlYy0+YXJndW1lbnQoMSkp
OworICAgIH0KICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOwogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7
CkBAIC0xMTEsMTUgKzEwOSwxNCBAQCBKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6OmdldERpcmVj
dG9yeShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgfQogCiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBm
bGFnczsKLSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDEpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1
bWVudCgxKS5pc1VuZGVmaW5lZCgpICYmIGV4ZWMtPmFyZ3VtZW50KDEpLmlzT2JqZWN0KCkgJiYg
IWV4ZWMtPmFyZ3VtZW50KDEpLmluaGVyaXRzKCZKU1dlYktpdEZsYWdzOjpzX2luZm8pKSB7Cisg
ICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSku
aXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1bWVudCgxKS5pc09iamVjdCgpKSB7CiAgICAgICAg
IEpTT2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKICAgICAg
ICAgZmxhZ3MgPSBXZWJLaXRGbGFnczo6Y3JlYXRlKCk7CiAgICAgICAgIEpTVmFsdWUganNDcmVh
dGUgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjcmVhdGUiKSk7CiAgICAg
ICAgIGZsYWdzLT5zZXRDcmVhdGUoanNDcmVhdGUudG9Cb29sZWFuKGV4ZWMpKTsKICAgICAgICAg
SlNWYWx1ZSBqc0V4Y2x1c2l2ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywg
ImV4Y2x1c2l2ZSIpKTsKICAgICAgICAgZmxhZ3MtPnNldEV4Y2x1c2l2ZShqc0V4Y2x1c2l2ZS50
b0Jvb2xlYW4oZXhlYykpOwotICAgIH0gZWxzZQotICAgICAgICBmbGFncyA9IHRvV2ViS2l0Rmxh
Z3MoZXhlYy0+YXJndW1lbnQoMSkpOworICAgIH0KICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIFJlZlB0cjxFbnRyeUNhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggMjEwMDZhYjNjZTM0
NDQyOGEyNGNjNDdjYWJkODAyM2ZmYmY0MTg4Yi4uNDg3ZDA4NGE4N2RjNzJhY2UzOGVjYWRjY2Nk
ZGIxNmQ2M2MwNjM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
aXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2lu
Y2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5oIgog
I2luY2x1ZGUgIkpTRmlsZUVudHJ5U3luYy5oIgotI2luY2x1ZGUgIkpTV2ViS2l0RmxhZ3MuaCIK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAt
NDksOCArNDgsNiBAQCBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRGbGFncz4gZ2V0RmxhZ3MoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBKU1ZhbHVlJiBhcmd1bWVudAogewogICAgIGlmIChhcmd1bWVu
dC5pc051bGwoKSB8fCBhcmd1bWVudC5pc1VuZGVmaW5lZCgpIHx8ICFhcmd1bWVudC5pc09iamVj
dCgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoYXJndW1lbnQuaW5oZXJpdHMoJkpTV2Vi
S2l0RmxhZ3M6OnNfaW5mbykpCi0gICAgICAgIHJldHVybiB0b0ZsYWdzKGFyZ3VtZW50KTsKIAog
ICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3M7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFy
Z3VtZW50LmdldE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCmluZGV4IDRhNzc0ODY4
ZTQ3ZmM2MzFjZWNkYWMyMmQyMTU4MjBmOWYwMWU2ZmQuLmE4MDYyZmI3Nzc4ZmVjNTU5NDExNWQy
ZmFmNmJmY2NjMzFlNWQxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKQEAgLTM5LDcgKzM5
LDYgQEAKICNpbmNsdWRlICJWOEJpbmRpbmdNYWNyb3MuaCIKICNpbmNsdWRlICJWOEVudHJ5Q2Fs
bGJhY2suaCIKICNpbmNsdWRlICJWOEVycm9yQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJWOFdlYktp
dEZsYWdzLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNjAsNyArNTksNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cwogICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiAg
ICAgfQogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3M7Ci0gICAgaWYgKCFpc1VuZGVmaW5l
ZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVjdCgpICYmICFWOFdlYktpdEZsYWdz
OjpIYXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJn
c1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSkgewogICAgICAgICBFWENFUFRJT05fQkxPQ0so
djg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpD
YXN0KGFyZ3NbMV0pKTsKICAgICAgICAgZmxhZ3MgPSBXZWJLaXRGbGFnczo6Y3JlYXRlKCk7CiAg
ICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6OlN0
cmluZzo6TmV3KCJjcmVhdGUiKSk7CkBAIC03Myw5ICs3Miw2IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzCiAgICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4
RXhjbHVzaXZlLT5Cb29sZWFuVmFsdWUoKSk7CiAgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVz
aXZlKGlzRXhjbHVzaXZlKTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIEVYQ0VQ
VElPTl9CTE9DSyhXZWJLaXRGbGFncyosIHRtcF9mbGFncywgVjhXZWJLaXRGbGFnczo6SGFzSW5z
dGFuY2UoYXJnc1sxXSkgPyBWOFdlYktpdEZsYWdzOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDApOwotICAgICAgICBmbGFncyA9IHRtcF9mbGFnczsK
ICAgICB9CiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFhcmdzWzJdLT5J
c1VuZGVmaW5lZCgpKSB7CkBAIC0xMDcsNyArMTAzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmcKICAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogICAgIH0KICAgICBS
ZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzOwotICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoYXJn
c1sxXSkgJiYgYXJnc1sxXS0+SXNPYmplY3QoKSAmJiAhVjhXZWJLaXRGbGFnczo6SGFzSW5zdGFu
Y2UoYXJnc1sxXSkpIHsKKyAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMV0pICYmIGFy
Z3NbMV0tPklzT2JqZWN0KCkpIHsKICAgICAgICAgRVhDRVBUSU9OX0JMT0NLKHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4sIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFd
KSk7CiAgICAgICAgIGZsYWdzID0gV2ViS2l0RmxhZ3M6OmNyZWF0ZSgpOwogICAgICAgICB2ODo6
TG9jYWw8djg6OlZhbHVlPiB2OENyZWF0ZSA9IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygi
Y3JlYXRlIikpOwpAQCAtMTIwLDkgKzExNiw2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERp
cmVjdG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAg
ICAgICAgICAgICBFWENFUFRJT05fQkxPQ0soYm9vbCwgaXNFeGNsdXNpdmUsIHY4RXhjbHVzaXZl
LT5Cb29sZWFuVmFsdWUoKSk7CiAgICAgICAgICAgICBmbGFncy0+c2V0RXhjbHVzaXZlKGlzRXhj
bHVzaXZlKTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgRVhDRVBUSU9OX0JMT0NL
KFdlYktpdEZsYWdzKiwgdG1wX2ZsYWdzLCBWOFdlYktpdEZsYWdzOjpIYXNJbnN0YW5jZShhcmdz
WzFdKSA/IFY4V2ViS2l0RmxhZ3M6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoYXJnc1sxXSkpIDogMCk7Ci0gICAgICAgZmxhZ3MgPSB0bXBfZmxhZ3M7CiAgICAgfQogICAg
IFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQo
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGly
ZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggY2QzOGNhNDViMGRlZTFk
NWE3ZDVjZjFiYjU2YzcwYjBjMDQ2ZGJjNC4uODk3ODQ4YjU5NmJjZjlkMTRlNGY1OThiYTlkNDlm
NWFlNDJhMzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC00MCw3ICs0
MCw2IEBACiAjaW5jbHVkZSAiVjhFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhFcnJvckNh
bGxiYWNrLmgiCiAjaW5jbHVkZSAiVjhGaWxlRW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiVjhXZWJL
aXRGbGFncy5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTY3LDggKzY2LDYgQEAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGdldEZsYWdzKGNvbnN0IHY4OjpMb2NhbDx2ODo6VmFsdWU+
JiBhcmcsIEV4Y2VwdGkKICAgICBlYyA9IDA7CiAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKGFy
ZykgfHwgIWFyZy0+SXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFY4V2Vi
S2l0RmxhZ3M6Okhhc0luc3RhbmNlKGFyZykpCi0gICAgICAgIHJldHVybiBWOFdlYktpdEZsYWdz
Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZykpOwogCiAgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3Q7CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9XZWJLaXRGbGFncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dl
YktpdEZsYWdzLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2QxMDMyNzViMTIz
YTk2OWRmMGQxYzZjYTVkZmY2ZDRkZjE1YTMwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEZsYWdzLmlk
bAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50
ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCi0gICAgICAgIENvbnN0
cnVjdG9yLAotICAgICAgICBOb1N0YXRpY1RhYmxlcwotICAgIF0gV2ViS2l0RmxhZ3MgewotICAg
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjcmVhdGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBib29sZWFu
IGV4Y2x1c2l2ZTsKLSAgICB9OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDJl
YzhkNmE1YjA1ZTU2ZGEwMWVjM2QwNDc3NGFjMmE2M2QzZjkzNjEuLmVhNmI5MzZjMjk4MzNkNWZk
YjQ1YmRmM2M4NjE4OGM1MTNmNGFlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTE5NSw4ICsxOTUsNiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgUEVSU0lTVEVOVCA9IDE7CiAgICAgICAgIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0
ZW1dIHZvaWQgd2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwg
aW4gbG9uZyBsb25nIHNpemUsIGluIFtDYWxsYmFja10gRmlsZVN5c3RlbUNhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRXJyb3JDYWxsYmFjayBlcnJvckNh
bGxiYWNrKTsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0gdm9pZCB3ZWJr
aXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGluIFtDYWxsYmFj
aywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotCi0gICAgICAgIGF0dHJp
YnV0ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBXZWJLaXRGbGFnc0NvbnN0cnVjdG9y
IFdlYktpdEZsYWdzOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9F
VkVOVFMpICYmIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuaWRsCmluZGV4IDczNmJiYzEzM2Y3ZjIzMzBmNzBhYjA3M2E4ODgwM2Uw
NzVhZTBhZDIuLmI5NDcyNzUwMmIzMWI3Y2VkMjQ5YTkwZDVkM2FjZThhZWRmNzZlMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbApAQCAtMTExLDcgKzExMSw2IEBA
IG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmlsZVN5c3RlbV0g
dm9pZCB3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMKGluIERPTVN0cmluZyB1cmwsIGlu
IFtDYWxsYmFjaywgT3B0aW9uYWxdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
Q2FsbGJhY2ssIE9wdGlvbmFsXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAg
ICBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBFbnRyeVN5bmMgd2Via2l0UmVzb2x2ZUxv
Y2FsRmlsZVN5c3RlbVN5bmNVUkwoaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzIChGaWxlRXhjZXB0
aW9uKTsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9Rmls
ZVN5c3RlbV0gV2ViS2l0RmxhZ3NDb25zdHJ1Y3RvciBXZWJLaXRGbGFnczsKICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFcnJvckNv
bnN0cnVjdG9yIEZpbGVFcnJvcjsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVk
QXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZpbGVFeGNlcHRpb25Db25zdHJ1Y3RvciBGaWxlRXhjZXB0
aW9uOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjI1ZWJiYTdmOWZmMGRhYTkxYTIxMWQ4NDczMmYyOWI2MjRk
ZDAzNC4uNmRiZTY3Zjc2YWY4NTE5MmI3NmM0YzY4ZGJlMzlhNmI0ZmFjMTc3YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTAxLTAzICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICBbZmlsZWFwaV0gV2ViS2l0RmxhZ3Mgc2hvdWxkIG5vdCBiZSBjb25zdHJ1
Y3RhYmxlIHBlciBEaXJlY3RvcmllcyAmIFN5c3RlbSBzcGVjCisgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE2CisKKyAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KKworICAgICAgIFJlbW92ZSBhIHRlc3QgdGhhdCBjb25zdHJ1Y3RlZCB0aGUg
b2JqZWN0OyBhZGQgb25lIHRoYXQgdGVzdHMgZXJyb3ItaGFuZGxpbmcgZm9yIG5vbi1vYmplY3Qg
cGFyYW1ldGVycyB3aGlsZSBJJ20gaW4gdGhlcmUuCisgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
ZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vc2Ny
aXB0LXRlc3RzL2ZsYWdzLXBhc3NpbmcuanM6CisKKyAgICAgICBSZW1vdmUgYSBzcGVjaWFsIGNh
c2UgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgV2ViS2l0RmxhZ3MgY29uc3RydWN0b3IuCisgICAg
ICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzOgorCiAy
MDEyLTAxLTAzICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZDogZmlsZXMgYnVnIENSMTA5MDY4IGZvciBhcHBjYWNoZS9pbnRlcnJ1cHRlZC11
cGRhdGUuaHRtbCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcmlw
dC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmluZGV4IDUyODNkMjU4NjA3ZWNk
NmM5NmE4NWNhMjM5MGMxMGVlOWY4YWZjNzMuLjZiODczNjFiMDNkZTVkZTRiMjUzODI4NGMxODRm
YmNmMGU1MTQ5OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0
cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
aXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAtMjgsNyArMjgsNiBAQCB2YXIg
c2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIkRldmljZU9yaWVudGF0aW9uRXZlbnQiLAogICAg
ICJEZXZpY2VNb3Rpb25FdmVudCIsCiAgICAgIlRFTVBPUkFSWSIsICJQRVJTSVNURU5UIiwKLSAg
ICAiV2ViS2l0RmxhZ3MiLAogICAgICJ2OExvY2FsZSIsCiAgICAgLy8gSWdub3JlIHRoaXMgcHJv
cGVydHkgYmVjYXVzZSBpdCBvbmx5IGFwcGVhcnMgaW4gZGVidWcgYnVpbGRzLgogICAgICJqc2Nw
cmludCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNz
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9mbGFncy1wYXNz
aW5nLWV4cGVjdGVkLnR4dAppbmRleCAxMWUyMDM5N2JiNGZmYjFiYmNhMDkwZDYwOWVhYmIxNTQw
YTZiM2I0Li41Yzg3NTUyMDMwYWM5OTczY2M4MDJiZWNjYWM0NTU1ZWQyYjAyNzdkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmxhZ3MtcGFzc2luZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZsYWdzLXBhc3NpbmctZXhwZWN0
ZWQudHh0CkBAIC0xLDE2ICsxLDE0IEBACi1QYXNzaW5nIEZsYWdzIHBhcmFtZXRlciB0ZXN0cy4g
VGhpcyB0ZXN0IGNoZWNrcyBpZiBwYXNzaW5nIEZsYWdzIHBhcmFtZXRlcnMgKGluIE9iamVjdCBm
b3JtYXQgb3IgaW4gSlNPTiBmb3JtYXQpIHRvIERpcmVjdG9yeUVudHJ5LmdldEZpbGUgZG9lcyBu
b3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVkLgorUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIg
dGVzdHMuIFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIHRvIERp
cmVjdG9yeUVudHJ5LmdldEZpbGUgZG9lcyBub3QgY3Jhc2ggYW5kIHdvcmtzIGFzIGV4cGVjdGVk
LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotKiBQYXNzaW5nIGEgV2ViS2l0Rmxh
Z3Mgb2JqZWN0LgotKiBSZWN5Y2xpbmcgdGhlIHNhbWUgV2ViS2l0RmxhZ3Mgb2JqZWN0LgotKiBQ
YXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10cnVlKS4KICogUGFz
c2luZyBKU09OIEZsYWdzIG9iamVjdC4KICogUGFzc2luZyBKU09OIEZsYWdzIG9iamVjdCAod2l0
aCBleGNsdXNpdmU9dHJ1ZSkuCiAqIFBhc3NpbmcgbnVsbCBhcyBhIFdlYktpdEZsYWdzIHBhcmFt
ZXRlci4KKyogUGFzc2luZyBhIG51bWJlciBhcyBhIFdlYktpdEZsYWdzIHBhcmFtZXRlci4KIEZp
bmlzaGVkIHJ1bm5pbmcgdGVzdHMuCi1QQVNTIGV4cGVjdGVkQ2FsbGJhY2tzQ291bnQgaXMgMwor
UEFTUyBleHBlY3RlZENhbGxiYWNrc0NvdW50IGlzIDEKIFBBU1MgdW5leHBlY3RlZENhbGxiYWNr
c0NvdW50IGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNzaW5n
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9mbGFncy1wYXNz
aW5nLmpzCmluZGV4IGQyZDA2YjIwMmNmZjIxMmUzOWVlZGJjMjdlNDk3Zjc1NjEyMmI4MTcuLjJl
NWZiZWVhMjZkMjM2Zjk2YTEyYTQwNWEzM2FmNmE0NjFkZThkOTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmxhZ3MtcGFzc2luZy5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZsYWdzLXBhc3Npbmcu
anMKQEAgLTEsNCArMSw0IEBACi1kZXNjcmlwdGlvbigiUGFzc2luZyBGbGFncyBwYXJhbWV0ZXIg
dGVzdHMuIFRoaXMgdGVzdCBjaGVja3MgaWYgcGFzc2luZyBGbGFncyBwYXJhbWV0ZXJzIChpbiBP
YmplY3QgZm9ybWF0IG9yIGluIEpTT04gZm9ybWF0KSB0byBEaXJlY3RvcnlFbnRyeS5nZXRGaWxl
IGRvZXMgbm90IGNyYXNoIGFuZCB3b3JrcyBhcyBleHBlY3RlZC4iKTsKK2Rlc2NyaXB0aW9uKCJQ
YXNzaW5nIEZsYWdzIHBhcmFtZXRlciB0ZXN0cy4gVGhpcyB0ZXN0IGNoZWNrcyBpZiBwYXNzaW5n
IEZsYWdzIHBhcmFtZXRlcnMgdG8gRGlyZWN0b3J5RW50cnkuZ2V0RmlsZSBkb2VzIG5vdCBjcmFz
aCBhbmQgd29ya3MgYXMgZXhwZWN0ZWQuIik7CiAKIHZhciB0ZXN0RmlsZU5hbWUgPSAnL25vbl9l
eGlzdGVudF9maWxlJzsKIHZhciBmaWxlU3lzdGVtID0gbnVsbDsKQEAgLTksMTggKzksMTggQEAg
dmFyIHVuZXhwZWN0ZWQgPSBmdW5jdGlvbihlKSB7IHVuZXhwZWN0ZWRDYWxsYmFja3NDb3VudCsr
OyB9OwogCiB2YXIgdGVzdHNMaXN0ID0gWwogICAgICdydW5PYmplY3RUZXN0JywKLSAgICAncnVu
T2JqZWN0VGVzdFdpdGhFeGNsdXNpdmUnLAogICAgICdjbGVhbnVwQW5kUnVuTmV4dCcsCiAgICAg
J3J1bkpTT05UZXN0JywKICAgICAncnVuSlNPTlRlc3RXaXRoRXhjbHVzaXZlJywKLSAgICAncnVu
TnVsbFRlc3QnCisgICAgJ3J1bk51bGxUZXN0JywKKyAgICAncnVuTm9uT2JqZWN0VGVzdCcKIF07
CiB2YXIgdGVzdENvdW50ZXIgPSAwOwogCiBmdW5jdGlvbiBydW5OZXh0VGVzdCh2KSB7CiAgICAg
aWYgKHRlc3RDb3VudGVyID09IHRlc3RzTGlzdC5sZW5ndGgpIHsKICAgICAgICAgZGVidWcoIkZp
bmlzaGVkIHJ1bm5pbmcgdGVzdHMuIik7Ci0gICAgICAgIHNob3VsZEJlKCdleHBlY3RlZENhbGxi
YWNrc0NvdW50JywgJzMnKTsKKyAgICAgICAgc2hvdWxkQmUoJ2V4cGVjdGVkQ2FsbGJhY2tzQ291
bnQnLCAnMScpOwogICAgICAgICBzaG91bGRCZSgndW5leHBlY3RlZENhbGxiYWNrc0NvdW50Jywg
JzAnKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSBlbHNlCkBAIC00MCwyOSArNDAs
MTggQEAgZnVuY3Rpb24gcnVuTnVsbFRlc3QodikgewogICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRG
aWxlKHRlc3RGaWxlTmFtZSwgbnVsbCwgcnVuTmV4dFRlc3QsIGVycm9yQ2FsbGJhY2spOwogfQog
Ci1mdW5jdGlvbiBydW5PYmplY3RUZXN0KHYpIHsKLSAgICBkZWJ1ZygiKiBQYXNzaW5nIGEgV2Vi
S2l0RmxhZ3Mgb2JqZWN0LiIpOwotICAgIHZhciBmbGFncyA9IG5ldyBXZWJLaXRGbGFncygpOwot
ICAgIGZsYWdzLmNyZWF0ZSA9IGZhbHNlOwotCi0gICAgZmlsZVN5c3RlbS5yb290LmdldEZpbGUo
dGVzdEZpbGVOYW1lLCBmbGFncywgdW5leHBlY3RlZCwgZXhwZWN0ZWQpOwotCi0gICAgZGVidWco
IiogUmVjeWNsaW5nIHRoZSBzYW1lIFdlYktpdEZsYWdzIG9iamVjdC4iKTsKLQotICAgIGZpbGVT
eXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwgZmxhZ3MsIHVuZXhwZWN0ZWQsIGV4cGVj
dGVkKTsKK2Z1bmN0aW9uIHJ1bk5vbk9iamVjdFRlc3QodikgeworICAgIGRlYnVnKCIqIFBhc3Np
bmcgYSBudW1iZXIgYXMgYSBXZWJLaXRGbGFncyBwYXJhbWV0ZXIuIik7CiAKLSAgICBmbGFncy5j
cmVhdGUgPSB0cnVlOwotICAgIGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxlKHRlc3RGaWxlTmFtZSwg
ZmxhZ3MsIHJ1bk5leHRUZXN0LCBlcnJvckNhbGxiYWNrKTsKKyAgICAvLyBUaGlzIHNob3VsZCBi
ZSBvayBhbmQgd2UgdHJlYXQgaXQgYXMge2ZhbHNlLCBmYWxzZX0gRmxhZ3MuCisgICAgZmlsZVN5
c3RlbS5yb290LmdldEZpbGUodGVzdEZpbGVOYW1lLCA3LCBydW5OZXh0VGVzdCwgZXJyb3JDYWxs
YmFjayk7CiB9CiAKLWZ1bmN0aW9uIHJ1bk9iamVjdFRlc3RXaXRoRXhjbHVzaXZlKHYpIHsKLSAg
ICBkZWJ1ZygiKiBQYXNzaW5nIGEgV2ViS2l0RmxhZ3Mgb2JqZWN0ICh3aXRoIGV4Y2x1c2l2ZT10
cnVlKS4iKTsKLSAgICB2YXIgZmxhZ3MgPSBuZXcgV2ViS2l0RmxhZ3M7Ci0gICAgZmxhZ3MuY3Jl
YXRlID0gdHJ1ZTsKLSAgICBmbGFncy5leGNsdXNpdmUgPSB0cnVlOwotCi0gICAgLy8gVGhpcyBz
aG91bGQgZmFpbC4KLSAgICBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0ZXN0RmlsZU5hbWUsIGZs
YWdzLCBlcnJvckNhbGxiYWNrLCBydW5OZXh0VGVzdCk7CitmdW5jdGlvbiBydW5PYmplY3RUZXN0
KHYpIHsKKyAgICAvLyBXZWJLaXRGbGFncyBubyBsb25nZXIgaGFzIGEgdmlzaWJsZSBjb25zdHJ1
Y3Rvci4KKyAgICBpZiAod2luZG93LldlYktpdEZsYWdzKQorICAgICAgICB0aHJvdyAiVGhlcmUg
c2hvdWxkIGJlIG5vIGNvbnN0cnVjdG9yIGZvciBXZWJLaXRGbGFncyEiOworICAgIHJ1bk5leHRU
ZXN0KCk7CiB9CiAKIGZ1bmN0aW9uIHJ1bkpTT05UZXN0KHYpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>