<?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>119316</bug_id>
          
          <creation_ts>2013-07-30 21:27:32 -0700</creation_ts>
          <short_desc>compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected</short_desc>
          <delta_ts>2015-08-25 10:58:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dom.spec.whatwg.org/#dom-node-comparedocumentposition</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>913175</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-30 21:27:32 -0700</bug_when>
    <thetext>Consider merging https://chromium.googlesource.com/chromium/blink/+/12e90f1c03c5782b68a7256f9b88a37563e9876f

As per the latest specification, compareDocumentPosition() should report PRECEEDING or FOLLOWING
information even if nodes are disconnected:
- http://dom.spec.whatwg.org/#dom-node-comparedocumentposition

This behavior is consistent with both IE10 and Firefox 22.

Blink was not reporting PRECEEDING or FOLLOWING in all cases. This patches makes Blink behave
as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913183</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-30 21:40:22 -0700</bug_when>
    <thetext>Reverted in https://chromium.googlesource.com/chromium/blink/+/1b044bea20701ec484f159b4aa74d867b7a2c397.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913187</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-30 21:56:20 -0700</bug_when>
    <thetext>Relanded in https://chromium.googlesource.com/chromium/blink/+/6c9a408bdc07b499e7dfe7c41b2e6ed8cce2681a.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913194</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-30 22:28:52 -0700</bug_when>
    <thetext>I&apos;m planning to merge this to WebKit very soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913212</commentid>
    <comment_count>4</comment_count>
      <attachid>207812</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-31 00:03:41 -0700</bug_when>
    <thetext>Created attachment 207812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913988</commentid>
    <comment_count>5</comment_count>
      <attachid>207812</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-01 20:16:35 -0700</bug_when>
    <thetext>Comment on attachment 207812
Patch

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

&gt; Source/WebCore/dom/Node.cpp:1642
&gt; +        unsigned short direction = (this &gt; otherNode) ? DOCUMENT_POSITION_PRECEDING : DOCUMENT_POSITION_FOLLOWING;

There is a nice comment how about we use an implementation dependent ordering in some cases.
Can we extract that comment along with pointer comparisons as a function so that it doesn&apos;t look as strange?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914036</commentid>
    <comment_count>6</comment_count>
      <attachid>207988</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 00:30:01 -0700</bug_when>
    <thetext>Created attachment 207988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914072</commentid>
    <comment_count>7</comment_count>
      <attachid>207988</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-02 02:41:41 -0700</bug_when>
    <thetext>Comment on attachment 207988
Patch

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

&gt; Source/WebCore/dom/Node.cpp:1624
&gt; +static inline unsigned short computeDisconnectedElementsPosition(Node* firstNode, Node* secondNode)

I would have called this compareDetachedElementPositions

&gt; Source/WebCore/dom/Node.cpp:1700
&gt;      unsigned index2 = chain2.size();

Huh, this one implements a fancy O(n) algorithm to find the common ancestor...
We should probably extract this a function in Node and use it in various places; e.g. Range::commonAncestor.

&gt; LayoutTests/platform/efl/TestExpectations:350
&gt; +# These conformace tests are no longer in sync with the latest specification
&gt; +# and expect compareDocumentPosition() to return:
&gt; +# DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_DISCONNECTED
&gt; +# for disconnected nodes (missing PRECEDING / FOLLOWING information).
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition03.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition05.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition16.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml [ WontFix ]

Instead of adding these expectations, simply rebaseline tests with the new expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914080</commentid>
    <comment_count>8</comment_count>
      <attachid>207988</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 03:27:28 -0700</bug_when>
    <thetext>Comment on attachment 207988
Patch

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

&gt;&gt; Source/WebCore/dom/Node.cpp:1700
&gt;&gt;      unsigned index2 = chain2.size();
&gt; 
&gt; Huh, this one implements a fancy O(n) algorithm to find the common ancestor...
&gt; We should probably extract this a function in Node and use it in various places; e.g. Range::commonAncestor.

Ok, I can look into this in a follow-up patch since this is a bit out of scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914081</commentid>
    <comment_count>9</comment_count>
      <attachid>207988</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 03:38:15 -0700</bug_when>
    <thetext>Comment on attachment 207988
Patch

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

&gt;&gt; LayoutTests/platform/efl/TestExpectations:350
&gt;&gt; +dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml [ WontFix ]
&gt; 
&gt; Instead of adding these expectations, simply rebaseline tests with the new expectations.

This will not work: it will result in flakiness. The output will look like:
isImplSpecificDisconnected1: assertEquals failed, actual 35, expected 33.

However, the actual value can be 35 or 37 depending on the test run (PRECEDING / FOLLOWING is not necessarily consistent between test runs since it relies on pointer comparison. I suggest to keep them in the TestExpectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914082</commentid>
    <comment_count>10</comment_count>
      <attachid>207998</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 03:43:51 -0700</bug_when>
    <thetext>Created attachment 207998
Patch for landing

I renamed the function to compareDetachedElementsPosition() but kept the rest as it was for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914187</commentid>
    <comment_count>11</comment_count>
      <attachid>207998</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-02 10:10:59 -0700</bug_when>
    <thetext>Comment on attachment 207998
Patch for landing

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

&gt; LayoutTests/platform/efl/TestExpectations:350
&gt; +# These conformace tests are no longer in sync with the latest specification
&gt; +# and expect compareDocumentPosition() to return:
&gt; +# DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_DISCONNECTED
&gt; +# for disconnected nodes (missing PRECEDING / FOLLOWING information).
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition03.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition05.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition16.xhtml [ WontFix ]
&gt; +dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml [ WontFix ]

We shouldn&apos;t do this. We should check in the failing results so that we can detect when they start passing or output changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914190</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 10:20:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 207998 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207998&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/efl/TestExpectations:350
&gt; &gt; +# These conformace tests are no longer in sync with the latest specification
&gt; &gt; +# and expect compareDocumentPosition() to return:
&gt; &gt; +# DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_DISCONNECTED
&gt; &gt; +# for disconnected nodes (missing PRECEDING / FOLLOWING information).
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition03.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition05.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition16.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml [ WontFix ]
&gt; 
&gt; We shouldn&apos;t do this. We should check in the failing results so that we can detect when they start passing or output changes.

(In reply to comment #11)
&gt; (From update of attachment 207998 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207998&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/efl/TestExpectations:350
&gt; &gt; +# These conformace tests are no longer in sync with the latest specification
&gt; &gt; +# and expect compareDocumentPosition() to return:
&gt; &gt; +# DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_DISCONNECTED
&gt; &gt; +# for disconnected nodes (missing PRECEDING / FOLLOWING information).
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition03.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition05.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition16.xhtml [ WontFix ]
&gt; &gt; +dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml [ WontFix ]
&gt; 
&gt; We shouldn&apos;t do this. We should check in the failing results so that we can detect when they start passing or output changes.

As I explained in https://bugs.webkit.org/show_bug.cgi?id=119316#c9, their result is likely to change for every test run due to the pointer comparison. Therefore, I cannot rebaseline them. This will make them flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914191</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-02 10:23:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; As I explained in https://bugs.webkit.org/show_bug.cgi?id=119316#c9, their result is likely to change for every test run due to the pointer comparison. Therefore, I cannot rebaseline them. This will make them flaky.

In that case, we should explain that and put it in LayoutTests/TestExpectations, not in each port&apos;s TestExpectations files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914192</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 10:25:34 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; As I explained in https://bugs.webkit.org/show_bug.cgi?id=119316#c9, their result is likely to change for every test run due to the pointer comparison. Therefore, I cannot rebaseline them. This will make them flaky.
&gt; 
&gt; In that case, we should explain that and put it in LayoutTests/TestExpectations, not in each port&apos;s TestExpectations files.

Ok, I did not know we had a global TestExpectations. It is better indeed, I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914195</commentid>
    <comment_count>15</comment_count>
      <attachid>208031</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 10:35:04 -0700</bug_when>
    <thetext>Created attachment 208031
Patch for landing

Move WontFix tests to global TestExpectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914196</commentid>
    <comment_count>16</comment_count>
      <attachid>208031</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-02 10:40:57 -0700</bug_when>
    <thetext>Comment on attachment 208031
Patch for landing

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

&gt; LayoutTests/platform/efl/TestExpectations:1715
&gt; +# Node::compareDocumentPosition() wrongly reports an attribute and its content as disconnected.
&gt; +webkit.org/b/119325 dom/xhtml/level3/core/nodecomparedocumentposition38.xhtml [ Failure ]

Why don&apos;t we also do this in LayoutTests/TestExpectations given that it&apos;s going to fail everywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914197</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 10:46:18 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 208031 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208031&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/efl/TestExpectations:1715
&gt; &gt; +# Node::compareDocumentPosition() wrongly reports an attribute and its content as disconnected.
&gt; &gt; +webkit.org/b/119325 dom/xhtml/level3/core/nodecomparedocumentposition38.xhtml [ Failure ]
&gt; 
&gt; Why don&apos;t we also do this in LayoutTests/TestExpectations given that it&apos;s going to fail everywhere?

Yes, it is going to fail everywhere. I did not know what was the policy for the global TestExpectations but I&apos;ll move it as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914199</commentid>
    <comment_count>18</comment_count>
      <attachid>208032</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 10:53:41 -0700</bug_when>
    <thetext>Created attachment 208032
Patch for landing

Move remaining failure to the global TestExpectations file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914228</commentid>
    <comment_count>19</comment_count>
      <attachid>208032</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-02 11:51:42 -0700</bug_when>
    <thetext>Comment on attachment 208032
Patch for landing

Clearing flags on attachment: 208032

Committed r153660: &lt;http://trac.webkit.org/changeset/153660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914229</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-02 11:51:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914261</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-02 13:51:33 -0700</bug_when>
    <thetext>&gt; As I explained in https://bugs.webkit.org/show_bug.cgi?id=119316#c9, their result is likely to change for every test run due to the pointer comparison.

I&apos;m not sure if that&apos;s acceptable in a Web API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914262</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 13:54:40 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; &gt; As I explained in https://bugs.webkit.org/show_bug.cgi?id=119316#c9, their result is likely to change for every test run due to the pointer comparison.
&gt; 
&gt; I&apos;m not sure if that&apos;s acceptable in a Web API.

FYI, this is the way recommended by the specification (Step 3):
http://dom.spec.whatwg.org/#dom-node-comparedocumentposition

I also looked at Firefox&apos;s code and it is implemented the same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914263</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-02 14:02:33 -0700</bug_when>
    <thetext>Well, the spec just just doesn&apos;t make any sense - they also allow returning a result based on Math.random, which means that a.compareDocumentPosition(b) and b.compareDocumentPosition(a) can both return PRECEDING. That violates a basic contract of any comparison function. You can have sets that are not fully ordered, but then comparison function should just refuse to compare elements that are not comparable.

Pointer comparison also has the same issue, because an implementation is free to move objects around at any time, even between two lines of JS code. And pointer comparison creates a way for JS to peek at implementation details that it simply has no business peeking at.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914274</commentid>
    <comment_count>24</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-02 14:15:31 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Well, the spec just just doesn&apos;t make any sense - they also allow returning a result based on Math.random, which means that a.compareDocumentPosition(b) and b.compareDocumentPosition(a) can both return PRECEDING. That violates a basic contract of any comparison function. You can have sets that are not fully ordered, but then comparison function should just refuse to compare elements that are not comparable.
&gt; 
&gt; Pointer comparison also has the same issue, because an implementation is free to move objects around at any time, even between two lines of JS code. And pointer comparison creates a way for JS to peek at implementation details that it simply has no business peeking at.

I agree that uses Math.random() wouldn&apos;t make sense.
In the case of pointer comparison though, it works in practice (while in theory, it is possible that the implementation moves objects around).

Also note that my patch is not really doing anything new. We were already doing pointer comparison in 1 out of 3 cases where the elements are detected as disconnected. My patch is merely making the code more consistent and using pointer comparison (to return FOLLOWING/PRECEDING information) in the 2 other places as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985882</commentid>
    <comment_count>25</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-28 22:42:31 -0800</bug_when>
    <thetext>Pointer comparison is crazy talk. Undoing this in bug 120244.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120439</commentid>
    <comment_count>26</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 16:00:47 -0700</bug_when>
    <thetext>Reopening as Alexey rolled it out. I will work on implementing this without pointer comparison.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120441</commentid>
    <comment_count>27</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 16:20:29 -0700</bug_when>
    <thetext>One possible idea would be to hash (with a cryptographically strong hash function) the pointers before comparing them.

W3C test suite covering this:
http://w3c-test.org/dom/nodes/Node-compareDocumentPosition.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120494</commentid>
    <comment_count>28</comment_count>
      <attachid>259804</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 18:50:42 -0700</bug_when>
    <thetext>Created attachment 259804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120638</commentid>
    <comment_count>29</comment_count>
      <attachid>259804</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-25 10:58:42 -0700</bug_when>
    <thetext>Comment on attachment 259804
Patch

Clearing flags on attachment: 259804

Committed r188917: &lt;http://trac.webkit.org/changeset/188917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120639</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-25 10:58:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207812</attachid>
            <date>2013-07-31 00:03:41 -0700</date>
            <delta_ts>2013-08-02 00:29:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119316-20130731100339.patch</filename>
            <type>text/plain</type>
            <size>27972</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFiYWMxYWQyZWUwMzA4
ZTE2MDY2M2EyMzYzODM0YWUzZWZjNDVkZi4uZjljMDQxYTdmNWM0NzVhZTY4NDQ2NWQ2NzY3YmI3
YzcxNmJmY2U4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA3LTMwICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBjb21w
YXJlRG9jdW1lbnRQb3NpdGlvbigpIHNob3VsZCByZXBvcnQgUFJFQ0VFRElORyBvciBGT0xMT1dJ
TkcgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkzMTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcyBwZXIgdGhlIGxhdGVzdCBz
cGVjaWZpY2F0aW9uLCBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigpIHNob3VsZCByZXBvcnQgUFJF
Q0VFRElORyBvciBGT0xMT1dJTkcKKyAgICAgICAgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBh
cmUgZGlzY29ubmVjdGVkOgorICAgICAgICAtIGh0dHA6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNk
b20tbm9kZS1jb21wYXJlZG9jdW1lbnRwb3NpdGlvbgorCisgICAgICAgIFRoaXMgYmVoYXZpb3Ig
aXMgY29uc2lzdGVudCB3aXRoIGJvdGggSUUxMCwgRmlyZWZveCAyMiBhbmQgc2luY2UgcmVjZW50
bHkgQmxpbmsuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6
Y29tcGFyZURvY3VtZW50UG9zaXRpb24pOgorCiAyMDEzLTA3LTMwICBQcmF2aW4gRCAgPHByYXZp
bmRAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgRG90dGVkIGJvcmRlcnMgcmVuZGVyIHcvIGFydGlm
YWN0cyBhbmQgc29tZXRpbWVzIGFzIHNvbGlkIGxpbmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZTQ0
NDk3NzJmZDNiMWZjZGNlZjkwYWQ0ODBjZTkwZWNkNzY3OTFhNy4uMzI2M2M1NGMyNDZmNDNlNDE5
MDU5MDA4YTI4MTA1ZWQxZTQ5ZmE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTYzOCw4ICsxNjM4
LDEwIEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUq
IG90aGVyTm9kZSkKICAgICAKICAgICAvLyBJZiBlaXRoZXIgb2Ygc3RhcnQxIG9yIHN0YXJ0MiBp
cyBudWxsLCB0aGVuIHdlIGFyZSBkaXNjb25uZWN0ZWQsIHNpbmNlIG9uZSBvZiB0aGUgbm9kZXMg
aXMKICAgICAvLyBhbiBvcnBoYW5lZCBhdHRyaWJ1dGUgbm9kZS4KLSAgICBpZiAoIXN0YXJ0MSB8
fCAhc3RhcnQyKQotICAgICAgICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVE
IHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUM7CisgICAgaWYgKCFz
dGFydDEgfHwgIXN0YXJ0MikgeworICAgICAgICB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24gPSAo
dGhpcyA+IG90aGVyTm9kZSkgPyBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgOiBET0NVTUVO
VF9QT1NJVElPTl9GT0xMT1dJTkc7CisgICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8
IGRpcmVjdGlvbjsKKyAgICB9CiAKICAgICBWZWN0b3I8Tm9kZSosIDE2PiBjaGFpbjE7CiAgICAg
VmVjdG9yPE5vZGUqLCAxNj4gY2hhaW4yOwpAQCAtMTY3NCw4ICsxNjc2LDEwIEBAIHVuc2lnbmVk
IHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAg
ICAvLyBJZiB0aGUgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgb3duaW5nIGRvY3VtZW50cywgdGhleSBt
dXN0IGJlIGRpc2Nvbm5lY3RlZC4gIE5vdGUgdGhhdCB3ZSBhdm9pZAogICAgIC8vIGNvbXBhcmlu
ZyBBdHRyIG5vZGVzIGhlcmUsIHNpbmNlIHRoZXkgcmV0dXJuIGZhbHNlIGZyb20gaW5Eb2N1bWVu
dCgpIGFsbCB0aGUgdGltZSAod2hpY2ggc2VlbXMgbGlrZSBhIGJ1ZykuCiAgICAgaWYgKHN0YXJ0
MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0Mi0+aW5Eb2N1bWVudCgpIHx8Ci0gICAgICAgIHN0YXJ0
MS0+dHJlZVNjb3BlKCkgIT0gc3RhcnQyLT50cmVlU2NvcGUoKSkKLSAgICAgICAgcmV0dXJuIERP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVO
VEFUSU9OX1NQRUNJRklDOworICAgICAgICBzdGFydDEtPnRyZWVTY29wZSgpICE9IHN0YXJ0Mi0+
dHJlZVNjb3BlKCkpIHsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uID0gKHRoaXMg
PiBvdGhlck5vZGUpID8gRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIDogRE9DVU1FTlRfUE9T
SVRJT05fRk9MTE9XSU5HOworICAgICAgICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBkaXJl
Y3Rpb247CisgICAgfQogCiAgICAgLy8gV2UgbmVlZCB0byBmaW5kIGEgY29tbW9uIGFuY2VzdG9y
IGNvbnRhaW5lciwgYW5kIHRoZW4gY29tcGFyZSB0aGUgaW5kaWNlcyBvZiB0aGUgdHdvIGltbWVk
aWF0ZSBjaGlsZHJlbi4KICAgICBOb2RlKiBjdXJyZW50OwpAQCAtMTY4OSw3ICsxNjkzLDcgQEAg
dW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJO
b2RlKQogCiAgICAgLy8gSWYgdGhlIHR3byBlbGVtZW50cyBkb24ndCBoYXZlIGEgY29tbW9uIHJv
b3QsIHRoZXkncmUgbm90IGluIHRoZSBzYW1lIHRyZWUuCiAgICAgaWYgKGNoYWluMVtpbmRleDEg
LSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pIHsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgZGly
ZWN0aW9uID0gKHN0YXJ0MSA+IHN0YXJ0MikgPyBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcg
OiBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7CisgICAgICAgIHVuc2lnbmVkIHNob3J0IGRp
cmVjdGlvbiA9ICh0aGlzID4gb3RoZXJOb2RlKSA/IERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO
RyA6IERPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORzsKICAgICAgICAgcmV0dXJuIERPQ1VNRU5U
X1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIHwgZGlyZWN0aW9uOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhiZDA2MjQxNTg0ZTU5ZWY0
MjFkODkxNTU5ODNlYjg0OTUxMDJjZDYuLjkwYTAyNDk2ZjljZTUzMTU2YTA1YWRkZWQyYjY1MTY4
NzU1OGFlZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMy0wNy0zMCAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSBzaG91bGQgcmVwb3J0IFBSRUNFRURJTkcgb3IgRk9MTE9XSU5HIGluZm9y
bWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzE2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGZhc3QvZG9tL2NvbXBhcmUtZG9j
dW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwgdG8gY2hlY2sgdGhhdCBjb21w
YXJlRG9jdW1lbnRQb3NpdGlvbigpCisgICAgICAgIG5vdyByZXR1cm5zIG9uZSBvZiB0aGUgZm9s
bG93aW5nIHZhbHVlcyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzOgorICAgICAgICAtIERPQ1VNRU5U
X1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCisgICAgICAgIC0gRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJ
T05fU1BFQ0lGSUMgfCBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKKworICAgICAgICBTZXZl
cmFsIGRvbS94aHRtbC9sZXZlbDMgYXJlIHNraXBwZWQgYW5kIG1hcmtlZCBhcyBXb25mRml4IGJl
Y2F1c2UgdGhleSBhcmUgb3V0ZGF0ZWQgYW5kIG5vIGxvbmdlciBtYXRjaAorICAgICAgICB0aGUg
RE9NNCBzcGVjaWZpY2F0aW9uLiBUaGV5IGV4cGVjdCBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigp
IG5vdCB0byByZXR1cm4gUFJFQ0VESU5HIC8gRk9MTE9XSU5HCisgICAgICAgIGluZm9ybWF0aW9u
IGZvciBkaXNjb25uZWN0ZWQgbm9kZXMuCisKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9u
LWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb21w
YXJlLWRvY3VtZW50LXBvc2l0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sOgorICAgICAgICAqIHBsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDctMzAgIFByYXZpbiBE
ICA8cHJhdmluZEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBEb3R0ZWQgYm9yZGVycyByZW5kZXIg
dy8gYXJ0aWZhY3RzIGFuZCBzb21ldGltZXMgYXMgc29saWQgbGluZXMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRp
b24zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0CmluZGV4IDFhMmM2ZjUxNmQ1
MzJjNTU0MmQ4ZWI5ZWI4YTY2ZWE5NzExODY0N2UuLmJjMzkwNzRlMjcwMWE2MDRkNmRiZWE2ZWY3
YjM4MmQ4MzUxZTZkNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlv
bjM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcv
MjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRp
b24zOAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9u
SXNDb250YWluc0ZvbGxvd2luZzM4OiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgMzMsIGV4
cGVjdGVkIDIwLgorU3RhdHVzCVN1Y2Nlc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlz
Y29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dAppbmRleCA2OTAxNTE0ODk5NDg1MWM1NDQxOGY5
NDJlMTY1NmEyNTc2NmJjNmYxLi40NTcxZmUxZmYxMTljMGIyNzU1NGM0YWJhY2EwZmQ5NWM1MmZm
NmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBv
c2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDkgKzEsNTggQEAKKyogVGVzdCB3aXRoIDIgZGlzY29ubmVjdGVkIGVs
ZW1lbnRzCiBQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5F
Q1RFRAogUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9J
TVBMRU1FTlRBVElPTl9TUEVDSUZJQwogUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
ICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCiBQQVNTIGEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBp
cyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HCiBQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBh
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xM
T1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQ
QVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3Rl
ZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NP
Tk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05O
RUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO
RyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8
fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8u
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5l
Y3RlZCBhdHRyaWJ1dGUKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
RElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJ
U0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
IGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1Mg
YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJF
Q0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKK1BBU1MgYS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VE
SU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24t
emVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgaXMgYi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggMiBkaXNjb25uZWN0ZWQgYXR0
cmlidXRlcworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05O
RUNURUQKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVD
VEVECitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihh
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcg
aXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX1BSRUNFRElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORworUEFTUyBhLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgor
UEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlzIGEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSBpcyBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpCisqIFRlc3Qgd2l0aCBkaXNjb25uZWN0ZWQgYXR0cmlidXRlIGFu
ZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NP
Tk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05O
RUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO
RyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8
fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8u
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1k
b2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwK
aW5kZXggYzNhYmVmOTUxZmMxMzhlYTdjNTVlYzJiMDkzMzA3ZWU4YTczNWViMC4uOTZhYTIwOWY3
ZDNkOWVmZDZmYzRhYzg5NWI4MTE0ODVlZmFjNDc2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRp
c2Nvbm5lY3RlZC1ub2Rlcy5odG1sCkBAIC0zLDE1ICszLDM2IEBACiA8aGVhZD4KICAgICA8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0PgotICAgICAgICB3aW5kb3cuYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsK
LSAgICAgICAgd2luZG93LmIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJyk7CisgICAgICAg
IHZhciBhOworICAgICAgICB2YXIgYjsKIAotICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywg
J05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7Ci0gICAgICAgIHNob3VsZEJl
KCdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKLSAg
ICAgICAgc2hvdWxkQmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKLSAgICAgICAgc2hvdWxkQmUoJ2IuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVO
VEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMnKTsKLSAgICAgICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycsICdiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcnKTsKLSAg
ICAgICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
ICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgZnVuY3Rpb24g
dGVzdEVsZW1lbnRzKF9hLCBfYikgeworICAgICAgICAgICAgYSA9IF9hOworICAgICAgICAgICAg
YiA9IF9iOworCisgICAgICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYi5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVD
VEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgICAgICAg
ICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2IuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVO
VEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMnKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCdhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcnLCAnYi5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJyk7
CisgICAgICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJywgJ2IuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICAg
ICAgc2hvdWxkQmVOb25aZXJvKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAgICAgICAgICBzaG91
bGRCZU5vblplcm8oJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3Vy
ZSB0aGUgcmV0dXJuZWQgcmVzdWx0IGlzIGNvbnNpc3RlbnQuCisgICAgICAgICAgICBzaG91bGRC
ZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKScsICdhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKScsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpJyk7CisgICAgICAgIH0KKworICAg
ICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggMiBkaXNjb25uZWN0ZWQgZWxlbWVudHMiKTsKKyAgICAg
ICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKSwgZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnYicpKTsKKyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIGRvY3VtZW50IGFu
ZCBhIGRpc2Nvbm5lY3RlZCBlbGVtZW50Iik7CisgICAgICAgIHRlc3RFbGVtZW50cyhkb2N1bWVu
dCwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYicpKTsKKyAgICAgICAgZGVidWcoIiogVGVzdCB3
aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGUiKTsKKyAgICAgICAgdGVz
dEVsZW1lbnRzKGRvY3VtZW50LCBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2InKSk7CisgICAg
ICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCAyIGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGVzIik7CisgICAg
ICAgIHRlc3RFbGVtZW50cyhkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoImEiKSwgZG9jdW1lbnQu
Y3JlYXRlQXR0cmlidXRlKCJiIikpOworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggZGlzY29u
bmVjdGVkIGF0dHJpYnV0ZSBhbmQgZWxlbWVudCIpOworICAgICAgICB0ZXN0RWxlbWVudHMoZG9j
dW1lbnQuY3JlYXRlQXR0cmlidXRlKCJhIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKSk7
CiAgICAgPC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDVkMGNkN2U3NDY5ZDkxOThlNjA0YjM1MGJhMDZkYjdmODc1NzM5MWQuLjIw
NTgwMWYyZjgxNDcxZWFmZWYyMjZkZDYyMWJkMjM0YTNkMTJmNGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1w
b3NpdGlvbi1leHBlY3RlZC50eHQKQEAgLTksOCArOSwxNCBAQCBQQVNTIGEyLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEzKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORwogUEFT
UyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMikgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9DT05UQUlORURfQlkgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORwogUEFTUyBi
Mi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9D
T05UQUlOUyB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCiBQQVNTIGIyLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIzKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lO
RwotUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgaXMgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFU
SU9OX1NQRUNJRklDCi1QQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSBpcyBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYTEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9u
LXplcm8uCitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVECitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiMSkgaXMgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpCitQQVNTIGIxLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5H
IHx8IGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlz
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYjEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpIGlzIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGMxKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1w
b3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1l
bnQtcG9zaXRpb24uaHRtbAppbmRleCAwOTllNTY0YjdhYWVlODZkZGY0YjE3MGViYjI4NjgwNWRl
NTNmMWFmLi5kYmZiZGU3ZWVjZTA5MTEzZDkzMDk5MTRjZTlkNzhlNjAwNzA5YzkwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50
LXBvc2l0aW9uLmh0bWwKQEAgLTQ1LDEwICs0NSwxNSBAQCBmdW5jdGlvbiB0ZXN0Q29tcGFyZURv
Y3VtZW50UG9zaXRpb24oKQogICAgIHNob3VsZEJlKCdiMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiMSknLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyB8IE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fUFJFQ0VESU5HJyk7CiAgICAgc2hvdWxkQmUoJ2IyLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIzKScsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOwogCi0gICAg
Ly8gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgcmV0dXJuIEZPTExPV0lORyBP
UiBQUkVDRURJTkcgZmxhZy4KLSAgICAvLyBXZSBuZWVkIGEgc3RhYmxlIGltcGxlbWVudGF0aW9u
IHdoaWNoIGRlY2lkZXMgdGhlIHRvdGFsIG9yZGVyIGJldHdlZW4gbm9kZXMgaW4gZGlmZmVyZW50
IHNoYWRvdyB0cmVlcy4KLSAgICBzaG91bGRCZSgnYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YjEpJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOwotICAgIHNob3VsZEJlKCdiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSknLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVND
T05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
Jyk7CisgICAgLy8gTm9kZXMgaW4gZGlmZmVyZW50IHNoYWRvdyB0cmVlcy4KKyAgICBzaG91bGRC
ZU5vblplcm8oJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fUFJFQ0VESU5HIHx8IGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAgc2hvdWxkQmUoJ2ExLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVD
VEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgc2hvdWxk
QmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBM
RU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgIHNob3VsZEJlKCdhMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiMSknLCAnYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpJyk7CisgICAgc2hv
dWxkQmVOb25aZXJvKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgIHNob3VsZEJlKCdiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NP
Tk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcpOworICAgIHNo
b3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICBzaG91bGRCZSgnYjEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYzEpJywgJ2IxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKScpOwogfQog
CiB0ZXN0Q29tcGFyZURvY3VtZW50UG9zaXRpb24oKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODllN2RlMjYwNWExNmNhM2YxOTEwMTU4YTRhNGMwOTEz
N2QxMzM1Ni4uZjdjOWQwNDBiNTUxZTA2MTBmNDBkMGY0OThiNjRkODIwOGMyM2ZlOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0MCw2ICszNDAsMTUg
QEAgQnVnKEVGTCkgZmFzdC9mb3Jtcy9pbnB1dC10ZXh0LWNsaWNrLW91dHNpZGUuaHRtbAogd2Vi
a2l0Lm9yZy9iLzg1NDY1IGNzczMvZmlsdGVycyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzg1NDY1
IGNvbXBvc2l0aW5nL2ZpbHRlcnMgWyBTa2lwIF0KIAorIyBUaGVzZSBjb25mb3JtYWNlIHRlc3Rz
IGFyZSBubyBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgorIyBh
bmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJuOgorIyBET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX0RJ
U0NPTk5FQ1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5nIFBSRUNFRElORyAv
IEZPTExPV0lORyBpbmZvcm1hdGlvbikuCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBh
cmVkb2N1bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQorZG9t
L3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1sIFsg
V29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0
aW9uMzMueGh0bWwgWyBXb250Rml4IF0KKwogIyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3Qg
eWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODUyNjIgZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlv
bgogCkBAIC0xNzExLDYgKzE3MjAsOSBAQCB3ZWJraXQub3JnL2IvMTE2MDIyIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L21lZGlhLXNyYy1hbGxvd2VkLgogd2Via2l0
Lm9yZy9iLzEwMTQwMCBzdmcvY3NzL3NoYWRvdy1jaGFuZ2VzLnN2ZyBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzEwMTQwMCBzdmcvY3NzL2NvbXBvc2l0ZS1zaGFkb3ctdGV4dC5zdmcgWyBGYWls
dXJlIF0KIAorIyBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigpIHdyb25nbHkgcmVwb3J0
cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBjb250ZW50IGFzIGRpc2Nvbm5lY3RlZC4KK3dlYmtpdC5v
cmcvYi8xMTkzMjUgZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3Np
dGlvbjM4LnhodG1sIFsgRmFpbHVyZSBdCisKICMgUmVncmVzc2lvbiAocjE0ODAzMiAtIHIxNDgx
MDMpLgogd2Via2l0Lm9yZy9iLzExNDkxOSBmYXN0L211bHRpY29sL3NoYWRvdy1icmVha2luZy5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTE0OTIwIGZhc3QvcmVwYWludC9tb3Zpbmct
c2hhZG93LW9uLWNvbnRhaW5lci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIxYzRlYTgzNjZkMTNlNTE4ZTE3MGZmOTdmYzQ1
ODMwZDkxZjI0NzMuLmM0YjEyYTVkNjhhYWRlYWU3ZjAzMDNiN2U4YzMxMjc2NDg2MjJjMDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03Miw2ICs3Miwx
NSBAQCBpbnNwZWN0b3Ivc3R5bGVzL3ZlbmRvci1wcmVmaXhlcy5odG1sIFsgV29udEZpeCBQYXNz
IF0KIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwgWyBXb250Rml4IFRp
bWVvdXQgRmFpbHVyZSBdCiBmYXN0L2RvbS9XaW5kb3cvc2xvdy11bmxvYWQtaGFuZGxlci1vbmx5
LWZyYW1lLWlzLXN0b3BwZWQuaHRtbCBbIFdvbnRGaXggVGltZW91dCBGYWlsdXJlIF0KIAorIyBU
aGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRl
c3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkg
dG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8
IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVz
IChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1hdGlvbikuCitkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4
IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54
aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1l
bnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBXb250Rml4IF0KKwogIyBBY2Nlc3Np
YmlsaXR5IHRlc3RzIHRoYXQgc2hvdWxkIG5ldmVyIGJlIHJ1biBmb3IgR1RLIGR1ZSB0byBiZQog
IyB3cml0dGVuIGluIGEgcGxhdGZvcm0tc3BlY2lmaWMgd2F5LiBUaGV5IHNob3VsZCBlaXRoZXIg
YmUgbW92ZWQgdG8KICMgdGhlIHJpZ2h0IHBsYXRmb3JtIG9yIHJlLXdyaXR0ZW4gaW4gYSBtb3Jl
IHBsYXRmb3JtLWFnbm9zdGljIHdheS4KQEAgLTE0MDQsNiArMTQxMyw5IEBAIHdlYmtpdC5vcmcv
Yi8xMTU0MzcgY3NzMy9mbGV4Ym94L2F1dG8tbWFyZ2lucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTE1NDM3IGZhc3QvY3NzL3N0aWNreS9zdGlja3ktd3JpdGluZy1t
b2RlLXZlcnRpY2FsLWxyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
MTU0MzcgZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigp
IHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBjb250ZW50IGFzIGRpc2Nvbm5l
Y3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21w
YXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVyZSBdCisKIHdlYmtpdC5vcmcvYi8x
MTU0MzcgZmFzdC90ZXh0L2NvbXBsZXgtaW5pdGlhbC1hZHZhbmNlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzExNTQ0MCBzdmcvc3Ryb2tlL2FuaW1hdGVkLW5vbi1z
Y2FsaW5nLXN0cm9rZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVkZGM4ZDQ4YWNiOGNjN2ZkMDM4Yzg0MTFl
ZTVhZGM2NWY0YzFhMjcuLmM3MGQ4ZDZlNGRkYmU0OTFmYzgzZDI2Mjc1MTZhZjgwYjE5OThiOWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NzIsNiAr
NDcyLDE1IEBAIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3Ry
dWN0b3IuaHRtbAogIyBGb250IGZlYXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVkLgog
Y3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwKIAorIyBUaGVzZSBjb25m
b3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lm
aWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJu
OgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5U
X1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5n
IFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1hdGlvbikuCitkb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdv
bnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlv
bjE2LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVk
b2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBXb250Rml4IF0KKwogIyBUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBhIG1pc21hdGNoIHJlZnRlc3Qgd2lsbCBmYWlsIGFzIGludGVuZGVkIGlmIGJvdGgg
cmVzdWx0cyBhcmUgc2FtZS4KIGZhc3QvaGFybmVzcy9zYW1wbGUtZmFpbC1taXNtYXRjaC1yZWZ0
ZXN0Lmh0bWwgWyBXb250Rml4IEltYWdlT25seUZhaWx1cmUgXQogCkBAIC0xMjM1LDYgKzEyNDQs
OSBAQCB3ZWJraXQub3JnL2IvMTEzMjI3IHRyYW5zaXRpb25zL2Nyb3NzLWZhZGUtYm9yZGVyLWlt
YWdlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzExMzIyNyB0cmFuc2l0aW9u
cy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xMTMyMjcgdHJhbnNpdGlvbnMvc3ZnLXRleHQtc2hhZG93LXRyYW5zaXRpb24uaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKKyMgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oKSB3cm9u
Z2x5IHJlcG9ydHMgYW4gYXR0cmlidXRlIGFuZCBpdHMgY29udGVudCBhcyBkaXNjb25uZWN0ZWQu
Cit3ZWJraXQub3JnL2IvMTE5MzI1IGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRv
Y3VtZW50cG9zaXRpb24zOC54aHRtbCBbIEZhaWx1cmUgXQorCiAjIE5ldyB0ZXN0IGZhaWxpbmcs
IG5lZWRzIGludmVzdGlnYXRpb24uCiB3ZWJraXQub3JnL2IvMTAzODU3IGZhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1jaGFuZ2UuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA1NmVlNmY3YzVlMWY1NmQxY2VhZjdkYmM2OGRhMDg0ODUyNTRiZTAwLi40
ZmRjMzI4MzY3OTE2MzAyMjMwZDM2NDE4NDYzMzA2YmY5NDYzODcyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTcwLDYgKzcwLDE1IEBAIGZhc3QvbG9hZGVy
L3N0b3AtcHJvdmlzaW9uYWwtbG9hZHMuaHRtbAogIyBleGNlcHRpb25zIHRoYXQgd2VyZSBwcmV2
aW91c2x5IGV4cGVjdGVkCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5vdXRzaWRl
c291cmNlLmh0bWwKIAorIyBUaGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4g
c3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3Ig
ZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1h
dGlvbikuCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9u
MDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRv
Y3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBXb250
Rml4IF0KKwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogIyAgICAgICBEaXNhYmxlZCBmZWF0dXJl
cy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwog
IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gIwpAQCAtMjYwOSw2ICsyNjE4LDkgQEAgaW5zcGVjdG9yL2Vk
aXRvci90ZXh0LWVkaXRvci13b3JkLWp1bXBzLmh0bWwKIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1l
ZGl0b3ItaG9tZS1idXR0b24uaHRtbAogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1zbWFy
dC1icmFjZXMuaHRtbAogCisjIE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgd3Jvbmds
eSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBhbmQgaXRzIGNvbnRlbnQgYXMgZGlzY29ubmVjdGVkLgor
d2Via2l0Lm9yZy9iLzExOTMyNSBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1
bWVudHBvc2l0aW9uMzgueGh0bWwgWyBGYWlsdXJlIF0KKwogIyBbUXRdIGRpZmZlcmVudCByZXN1
bHQgZnJvbSBvdGhlciBwbGF0Zm9ybXMKIHdlYmtpdC5vcmcvYi8xMDg2NzYgc3ZnL2N1c3RvbS9z
dmctZm9udHMtaW4tdGV4dC1jb250cm9scy5odG1sIFsgU2tpcCBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207988</attachid>
            <date>2013-08-02 00:30:01 -0700</date>
            <delta_ts>2013-08-02 03:43:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119316-20130802102959.patch</filename>
            <type>text/plain</type>
            <size>28681</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwNmEwOTFjZDUwNmQz
MDk2NjU4YTZlODU5YTY4Yjk0NzAwYjkyNC4uZWYwYmRjYzVlNzY3OTJmMDljNTBlMTNlYWM5ZTk2
YTQzYzk0MzQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA4LTAxICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBjb21w
YXJlRG9jdW1lbnRQb3NpdGlvbigpIHNob3VsZCByZXBvcnQgUFJFQ0VESU5HIG9yIEZPTExPV0lO
RyBpbmZvcm1hdGlvbiBldmVuIGlmIG5vZGVzIGFyZSBkaXNjb25uZWN0ZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTMxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBlciB0aGUgbGF0ZXN0IHNw
ZWNpZmljYXRpb24sIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVD
RURJTkcgb3IgRk9MTE9XSU5HCisgICAgICAgIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJl
IGRpc2Nvbm5lY3RlZDoKKyAgICAgICAgLSBodHRwOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9t
LW5vZGUtY29tcGFyZWRvY3VtZW50cG9zaXRpb24KKworICAgICAgICBUaGlzIGJlaGF2aW9yIGlz
IGNvbnNpc3RlbnQgd2l0aCBib3RoIElFMTAsIEZpcmVmb3ggMjIgYW5kIHNpbmNlIHJlY2VudGx5
IEJsaW5rLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVE
aXNjb25uZWN0ZWRFbGVtZW50c1Bvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKToKKwogMjAxMy0wOC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE1MzYwOC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBlNDQ0OTc3MmZkM2IxZmNkY2VmOTBhZDQ4MGNl
OTBlY2Q3Njc5MWE3Li5iYzA2MTU1ZmM2ZDZkM2Q4NTFmZTZhY2JiOThiNDk3MGY1MjFmYmQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCkBAIC0xNjIxLDYgKzE2MjEsMTggQEAgYm9vbCBOb2RlOjpvZmZzZXRJ
bkNoYXJhY3RlcnMoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGlubGlu
ZSB1bnNpZ25lZCBzaG9ydCBjb21wdXRlRGlzY29ubmVjdGVkRWxlbWVudHNQb3NpdGlvbihOb2Rl
KiBmaXJzdE5vZGUsIE5vZGUqIHNlY29uZE5vZGUpCit7CisgICAgLy8gSWYgdGhlIDIgbm9kZXMg
YXJlIG5vdCBpbiB0aGUgc2FtZSB0cmVlLCByZXR1cm4gdGhlIHJlc3VsdCBvZiBhZGRpbmcgRE9D
VU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVELAorICAgIC8vIERPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDLCBhbmQgZWl0aGVyIERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORyBvcgorICAgIC8vIERPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORywgd2l0aCB0aGUgY29u
c3RyYWludCB0aGF0IHRoaXMgaXMgdG8gYmUgY29uc2lzdGVudC4gV2hldGhlciB0byByZXR1cm4K
KyAgICAvLyBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgb3IgRE9DVU1FTlRfUE9TSVRJT05f
Rk9MTE9XSU5HIGlzIGltcGxlbWVudGVkIGhlcmUgdmlhIHBvaW50ZXIKKyAgICAvLyBjb21wYXJp
c29uLgorICAgIC8vIFNlZSBzdGVwIDMgaW4gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1k
b20tMjAxMjEyMDYvI2RvbS1ub2RlLWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uCisgICAgdW5zaWdu
ZWQgc2hvcnQgZGlyZWN0aW9uID0gKGZpcnN0Tm9kZSA+IHNlY29uZE5vZGUpID8gTm9kZTo6RE9D
VU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIDogTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9X
SU5HOworICAgIHJldHVybiBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBO
b2RlOjpET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IGRpcmVjdGlv
bjsKK30KKwogdW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9k
ZSogb3RoZXJOb2RlKQogewogICAgIC8vIEl0IGlzIG5vdCBjbGVhciB3aGF0IHNob3VsZCBiZSBk
b25lIGlmIHxvdGhlck5vZGV8IGlzIDAuCkBAIC0xNjM5LDcgKzE2NTEsNyBAQCB1bnNpZ25lZCBz
aG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKiBvdGhlck5vZGUpCiAgICAg
Ly8gSWYgZWl0aGVyIG9mIHN0YXJ0MSBvciBzdGFydDIgaXMgbnVsbCwgdGhlbiB3ZSBhcmUgZGlz
Y29ubmVjdGVkLCBzaW5jZSBvbmUgb2YgdGhlIG5vZGVzIGlzCiAgICAgLy8gYW4gb3JwaGFuZWQg
YXR0cmlidXRlIG5vZGUuCiAgICAgaWYgKCFzdGFydDEgfHwgIXN0YXJ0MikKLSAgICAgICAgcmV0
dXJuIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDOworICAgICAgICByZXR1cm4gY29tcHV0ZURpc2Nvbm5lY3Rl
ZEVsZW1lbnRzUG9zaXRpb24odGhpcywgb3RoZXJOb2RlKTsKIAogICAgIFZlY3RvcjxOb2RlKiwg
MTY+IGNoYWluMTsKICAgICBWZWN0b3I8Tm9kZSosIDE2PiBjaGFpbjI7CkBAIC0xNjc1LDcgKzE2
ODcsNyBAQCB1bnNpZ25lZCBzaG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2Rl
KiBvdGhlck5vZGUpCiAgICAgLy8gY29tcGFyaW5nIEF0dHIgbm9kZXMgaGVyZSwgc2luY2UgdGhl
eSByZXR1cm4gZmFsc2UgZnJvbSBpbkRvY3VtZW50KCkgYWxsIHRoZSB0aW1lICh3aGljaCBzZWVt
cyBsaWtlIGEgYnVnKS4KICAgICBpZiAoc3RhcnQxLT5pbkRvY3VtZW50KCkgIT0gc3RhcnQyLT5p
bkRvY3VtZW50KCkgfHwKICAgICAgICAgc3RhcnQxLT50cmVlU2NvcGUoKSAhPSBzdGFydDItPnRy
ZWVTY29wZSgpKQotICAgICAgICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVE
IHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUM7CisgICAgICAgIHJl
dHVybiBjb21wdXRlRGlzY29ubmVjdGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUp
OwogCiAgICAgLy8gV2UgbmVlZCB0byBmaW5kIGEgY29tbW9uIGFuY2VzdG9yIGNvbnRhaW5lciwg
YW5kIHRoZW4gY29tcGFyZSB0aGUgaW5kaWNlcyBvZiB0aGUgdHdvIGltbWVkaWF0ZSBjaGlsZHJl
bi4KICAgICBOb2RlKiBjdXJyZW50OwpAQCAtMTY4OCwxMCArMTcwMCw4IEBAIHVuc2lnbmVkIHNo
b3J0IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICB1
bnNpZ25lZCBpbmRleDIgPSBjaGFpbjIuc2l6ZSgpOwogCiAgICAgLy8gSWYgdGhlIHR3byBlbGVt
ZW50cyBkb24ndCBoYXZlIGEgY29tbW9uIHJvb3QsIHRoZXkncmUgbm90IGluIHRoZSBzYW1lIHRy
ZWUuCi0gICAgaWYgKGNoYWluMVtpbmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pIHsK
LSAgICAgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uID0gKHN0YXJ0MSA+IHN0YXJ0MikgPyBE
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgOiBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7
Ci0gICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IGRpcmVjdGlvbjsKLSAgICB9Cisg
ICAgaWYgKGNoYWluMVtpbmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pCisgICAgICAg
IHJldHVybiBjb21wdXRlRGlzY29ubmVjdGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5v
ZGUpOwogCiAgICAgLy8gV2FsayB0aGUgdHdvIGNoYWlucyBiYWNrd2FyZHMgYW5kIGxvb2sgZm9y
IHRoZSBmaXJzdCBkaWZmZXJlbmNlLgogICAgIGZvciAodW5zaWduZWQgaSA9IG1pbihpbmRleDEs
IGluZGV4Mik7IGk7IC0taSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBhY2EzNTIyZTkxMTA2OGFkMTgzMDA5ZDgzZjJj
NjUyOTBhZjkzNzkuLmRlNjI5ZjAwM2FlNDQ5ZmE1MDMyOTFlZTFlMzM3OTkxNjYzZjc4Y2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMy0wOC0wMSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1
bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgY29tcGFyZURvY3VtZW50UG9zaXRpb24o
KSBzaG91bGQgcmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJTkcgaW5mb3JtYXRpb24gZXZlbiBp
ZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTkzMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlv
bi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbCB0byBjaGVjayB0aGF0IGNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKCkKKyAgICAgICAgbm93IHJldHVybnMgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVz
IGZvciBkaXNjb25uZWN0ZWQgbm9kZXM6CisgICAgICAgIC0gRE9DVU1FTlRfUE9TSVRJT05fRElT
Q09OTkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBE
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKKyAgICAgICAgLSBET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8
IERPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORworCisgICAgICAgIFNldmVyYWwgZG9tL3hodG1s
L2xldmVsMyBhcmUgc2tpcHBlZCBhbmQgbWFya2VkIGFzIFdvbmZGaXggYmVjYXVzZSB0aGV5IGFy
ZSBvdXRkYXRlZCBhbmQgbm8gbG9uZ2VyIG1hdGNoCisgICAgICAgIHRoZSBET000IHNwZWNpZmlj
YXRpb24uIFRoZXkgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgbm90IHRvIHJldHVy
biBQUkVDRURJTkcgLyBGT0xMT1dJTkcKKyAgICAgICAgaW5mb3JtYXRpb24gZm9yIGRpc2Nvbm5l
Y3RlZCBub2Rlcy4KKworICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFy
ZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vY29t
cGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVk
LW5vZGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQt
cG9zaXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb21wYXJl
LWRvY3VtZW50LXBvc2l0aW9uLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE1
MzYwOC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rl
Y29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQu
dHh0CmluZGV4IDFhMmM2ZjUxNmQ1MzJjNTU0MmQ4ZWI5ZWI4YTY2ZWE5NzExODY0N2UuLmJjMzkw
NzRlMjcwMWE2MDRkNmRiZWE2ZWY3YjM4MmQ4MzUxZTZkNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVj
b21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDIgQEAKIFRl
c3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2Rl
Y29tcGFyZWRvY3VtZW50cG9zaXRpb24zOAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWNv
bXBhcmVkb2N1bWVudHBvc2l0aW9uSXNDb250YWluc0ZvbGxvd2luZzM4OiBhc3NlcnRFcXVhbHMg
ZmFpbGVkLCBhY3R1YWwgMzMsIGV4cGVjdGVkIDIwLgorU3RhdHVzCVN1Y2Nlc3MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29u
bmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUt
ZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dAppbmRleCA2
OTAxNTE0ODk5NDg1MWM1NDQxOGY5NDJlMTY1NmEyNTc2NmJjNmYxLi40NTcxZmUxZmYxMTljMGIy
NzU1NGM0YWJhY2EwZmQ5NWM1MmZmNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1k
aXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsNTggQEAKKyogVGVzdCB3
aXRoIDIgZGlzY29ubmVjdGVkIGVsZW1lbnRzCiBQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAogUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQwogUEFTUyBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDCiBQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCiBQQVNTIGEuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9X
SU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBi
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xM
T1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMg
YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3Vt
ZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihh
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3Qg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8
fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
aXMgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRv
Y3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGUKK1BBU1MgYS5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJ
QyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNT
IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlz
IG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9GT0xMT1dJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VE
SU5HIHx8IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSBpcyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYSkgaXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdp
dGggMiBkaXNjb25uZWN0ZWQgYXR0cmlidXRlcworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9QUkVDRURJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExP
V0lORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlz
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSBpcyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpCisqIFRlc3Qgd2l0aCBkaXNj
b25uZWN0ZWQgYXR0cmlidXRlIGFuZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihh
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3Qg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8
fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
aXMgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlz
Y29ubmVjdGVkLW5vZGVzLmh0bWwKaW5kZXggYzNhYmVmOTUxZmMxMzhlYTdjNTVlYzJiMDkzMzA3
ZWU4YTczNWViMC4uOTZhYTIwOWY3ZDNkOWVmZDZmYzRhYzg5NWI4MTE0ODVlZmFjNDc2MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1k
aXNjb25uZWN0ZWQtbm9kZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJl
LWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sCkBAIC0zLDE1ICszLDM2
IEBACiA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0PgotICAgICAgICB3aW5kb3cuYSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKLSAgICAgICAgd2luZG93LmIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdiJyk7CisgICAgICAgIHZhciBhOworICAgICAgICB2YXIgYjsKIAotICAgICAgICBz
aG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVE
Jyk7Ci0gICAgICAgIHNob3VsZEJlKCdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9ESVNDT05ORUNURUQnKTsKLSAgICAgICAgc2hvdWxkQmUoJ2EuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
JywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKLSAg
ICAgICAgc2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKLSAgICAgICAgc2hvdWxkTm90QmUoJ2Eu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORycsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9QUkVDRURJTkcnKTsKLSAgICAgICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycsICdiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcn
KTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdEVsZW1lbnRzKF9hLCBfYikgeworICAgICAgICAgICAg
YSA9IF9hOworICAgICAgICAgICAgYiA9IF9iOworCisgICAgICAgICAgICBzaG91bGRCZSgnYS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgICAg
ICAgICBzaG91bGRCZSgnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAn
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgICAg
ICAgICAgc2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJl
KCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9Q
UkVDRURJTkcnLCAnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fUFJFQ0VESU5HJyk7CisgICAgICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJywg
J2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZP
TExPV0lORycpOworICAgICAgICAgICAgc2hvdWxkQmVOb25aZXJvKCdhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5H
Jyk7CisgICAgICAgICAgICBzaG91bGRCZU5vblplcm8oJ2IuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAg
ICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcmV0dXJuZWQgcmVzdWx0IGlzIGNvbnNpc3RlbnQu
CisgICAgICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKScsICdh
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKScsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
Jyk7CisgICAgICAgIH0KKworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggMiBkaXNjb25uZWN0
ZWQgZWxlbWVudHMiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2EnKSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYicpKTsKKyAgICAgICAgZGVidWcoIiog
VGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBlbGVtZW50Iik7CisgICAgICAg
IHRlc3RFbGVtZW50cyhkb2N1bWVudCwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYicpKTsKKyAg
ICAgICAgZGVidWcoIiogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBhdHRy
aWJ1dGUiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LCBkb2N1bWVudC5jcmVhdGVB
dHRyaWJ1dGUoJ2InKSk7CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCAyIGRpc2Nvbm5lY3Rl
ZCBhdHRyaWJ1dGVzIik7CisgICAgICAgIHRlc3RFbGVtZW50cyhkb2N1bWVudC5jcmVhdGVBdHRy
aWJ1dGUoImEiKSwgZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJiIikpOworICAgICAgICBkZWJ1
ZygiKiBUZXN0IHdpdGggZGlzY29ubmVjdGVkIGF0dHJpYnV0ZSBhbmQgZWxlbWVudCIpOworICAg
ICAgICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJhIiksIGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImIiKSk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9j
dW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDVkMGNkN2U3NDY5ZDkxOThlNjA0YjM1
MGJhMDZkYjdmODc1NzM5MWQuLjIwNTgwMWYyZjgxNDcxZWFmZWYyMjZkZDYyMWJkMjM0YTNkMTJm
NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3Vt
ZW50LXBvc2l0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQKQEAgLTksOCArOSwxNCBA
QCBQQVNTIGEyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEzKSBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0ZPTExPV0lORwogUEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMikgaXMg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkgfCBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0ZPTExPV0lORwogUEFTUyBiMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJF
Q0VESU5HCiBQQVNTIGIyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIzKSBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORwotUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
MSkgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCi1QQVNTIGIxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYTEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJ
TkcgfHwgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMg
aXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBh
MS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgaXMgYTEuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYjEpCitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NP
Tk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExF
TUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJ
T05fU1BFQ0lGSUMKK1BBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpIGlzIGIxLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRtbAppbmRleCAwOTllNTY0YjdhYWVl
ODZkZGY0YjE3MGViYjI4NjgwNWRlNTNmMWFmLi5kYmZiZGU3ZWVjZTA5MTEzZDkzMDk5MTRjZTlk
NzhlNjAwNzA5YzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29t
cGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWwKQEAgLTQ1LDEwICs0NSwxNSBAQCBm
dW5jdGlvbiB0ZXN0Q29tcGFyZURvY3VtZW50UG9zaXRpb24oKQogICAgIHNob3VsZEJlKCdiMi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05U
QUlOUyB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJyk7CiAgICAgc2hvdWxkQmUo
J2IyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIzKScsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0ZPTExPV0lORycpOwogCi0gICAgLy8gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZG9lcyBu
b3QgcmV0dXJuIEZPTExPV0lORyBPUiBQUkVDRURJTkcgZmxhZy4KLSAgICAvLyBXZSBuZWVkIGEg
c3RhYmxlIGltcGxlbWVudGF0aW9uIHdoaWNoIGRlY2lkZXMgdGhlIHRvdGFsIG9yZGVyIGJldHdl
ZW4gbm9kZXMgaW4gZGlmZmVyZW50IHNoYWRvdyB0cmVlcy4KLSAgICBzaG91bGRCZSgnYTEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYjEpJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycp
OwotICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSknLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDJyk7CisgICAgLy8gTm9kZXMgaW4gZGlmZmVyZW50IHNoYWRv
dyB0cmVlcy4KKyAgICBzaG91bGRCZU5vblplcm8oJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGExLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7Cisg
ICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEJyk7CisgICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgIHNob3VsZEJl
KCdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnYTEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYjEpJyk7CisgICAgc2hvdWxkQmVOb25aZXJvKCdiMS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiMS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycp
OworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJ
U0NPTk5FQ1RFRCcpOworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihj
MSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICBzaG91
bGRCZSgnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpJywgJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKScpOwogfQogCiB0ZXN0Q29tcGFyZURvY3VtZW50UG9zaXRpb24oKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODllN2RlMjYwNWEx
NmNhM2YxOTEwMTU4YTRhNGMwOTEzN2QxMzM1Ni4uZjdjOWQwNDBiNTUxZTA2MTBmNDBkMGY0OThi
NjRkODIwOGMyM2ZlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTM0MCw2ICszNDAsMTUgQEAgQnVnKEVGTCkgZmFzdC9mb3Jtcy9pbnB1dC10ZXh0LWNs
aWNrLW91dHNpZGUuaHRtbAogd2Via2l0Lm9yZy9iLzg1NDY1IGNzczMvZmlsdGVycyBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzg1NDY1IGNvbXBvc2l0aW5nL2ZpbHRlcnMgWyBTa2lwIF0KIAorIyBU
aGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRl
c3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkg
dG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8
IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVz
IChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1hdGlvbikuCitkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4
IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54
aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1l
bnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBXb250Rml4IF0KKwogIyBDU1MgaW1h
Z2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODUyNjIgZmFz
dC9jc3MvaW1hZ2UtcmVzb2x1dGlvbgogCkBAIC0xNzExLDYgKzE3MjAsOSBAQCB3ZWJraXQub3Jn
L2IvMTE2MDIyIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L21lZGlh
LXNyYy1hbGxvd2VkLgogd2Via2l0Lm9yZy9iLzEwMTQwMCBzdmcvY3NzL3NoYWRvdy1jaGFuZ2Vz
LnN2ZyBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwMTQwMCBzdmcvY3NzL2NvbXBvc2l0ZS1z
aGFkb3ctdGV4dC5zdmcgWyBGYWlsdXJlIF0KIAorIyBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3Np
dGlvbigpIHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBjb250ZW50IGFzIGRp
c2Nvbm5lY3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVyZSBdCisKICMgUmVncmVz
c2lvbiAocjE0ODAzMiAtIHIxNDgxMDMpLgogd2Via2l0Lm9yZy9iLzExNDkxOSBmYXN0L211bHRp
Y29sL3NoYWRvdy1icmVha2luZy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTE0OTIw
IGZhc3QvcmVwYWludC9tb3Zpbmctc2hhZG93LW9uLWNvbnRhaW5lci5odG1sIFsgRmFpbHVyZSBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUwZTYxNDZj
YjZhNTFlNGE0YzlhMDJlMmU5MGMyOTcxOTdhMjZhOGEuLjMyYTgyZjkzMTZkMjIwYTlmN2JmMjEy
MmJmOGFkZWVjZGM1YTRiMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zCkBAIC03Miw2ICs3MiwxNSBAQCBpbnNwZWN0b3Ivc3R5bGVzL3ZlbmRvci1wcmVmaXhl
cy5odG1sIFsgV29udEZpeCBQYXNzIF0KIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5k
bGVyLmh0bWwgWyBXb250Rml4IFRpbWVvdXQgRmFpbHVyZSBdCiBmYXN0L2RvbS9XaW5kb3cvc2xv
dy11bmxvYWQtaGFuZGxlci1vbmx5LWZyYW1lLWlzLXN0b3BwZWQuaHRtbCBbIFdvbnRGaXggVGlt
ZW91dCBGYWlsdXJlIF0KIAorIyBUaGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIg
aW4gc3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBM
RU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBm
b3IgZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZv
cm1hdGlvbikuCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0
aW9uMDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFy
ZWRvY3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9j
b3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZpeCBdCitkb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBX
b250Rml4IF0KKwogIyBBY2Nlc3NpYmlsaXR5IHRlc3RzIHRoYXQgc2hvdWxkIG5ldmVyIGJlIHJ1
biBmb3IgR1RLIGR1ZSB0byBiZQogIyB3cml0dGVuIGluIGEgcGxhdGZvcm0tc3BlY2lmaWMgd2F5
LiBUaGV5IHNob3VsZCBlaXRoZXIgYmUgbW92ZWQgdG8KICMgdGhlIHJpZ2h0IHBsYXRmb3JtIG9y
IHJlLXdyaXR0ZW4gaW4gYSBtb3JlIHBsYXRmb3JtLWFnbm9zdGljIHdheS4KQEAgLTEzOTUsNiAr
MTQwNCw5IEBAIHdlYmtpdC5vcmcvYi8xMTU0MzcgY3NzMy9mbGV4Ym94L2F1dG8tbWFyZ2lucy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTE1NDM3IGZhc3QvY3NzL3N0
aWNreS9zdGlja3ktd3JpdGluZy1tb2RlLXZlcnRpY2FsLWxyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xMTU0MzcgZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZs
b3duLWludG8tcmVnaW9uLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBOb2RlOjpjb21w
YXJlRG9jdW1lbnRQb3NpdGlvbigpIHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0
cyBjb250ZW50IGFzIGRpc2Nvbm5lY3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1s
L2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVy
ZSBdCisKIHdlYmtpdC5vcmcvYi8xMTU0MzcgZmFzdC90ZXh0L2NvbXBsZXgtaW5pdGlhbC1hZHZh
bmNlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzExNTQ0MCBzdmcv
c3Ryb2tlL2FuaW1hdGVkLW5vbi1zY2FsaW5nLXN0cm9rZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDgxMDEw
NTljODJjYTA3ZjIzNDEyZjdlNjQ1ZTM2YWY0MWRkNWQ1MzYuLjU4N2JhNWNhNDZkNmQzNzNiMzM5
NmQyOTkzYjAyMWM5NGMyNzViZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC00NjksNiArNDY5LDE1IEBAIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9t
ZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbAogIyBGb250IGZlYXR1cmUgc2V0dGluZ3Mg
aXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5n
Lmh0bWwKIAorIyBUaGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4gc3luYyB3
aXRoIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKCkgdG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElP
Tl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3IgZGlzY29u
bmVjdGVkIG5vZGVzIChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1hdGlvbiku
Citkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDMueGh0
bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50
cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVj
b21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMueGh0bWwgWyBXb250Rml4IF0K
KwogIyBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBhIG1pc21hdGNoIHJlZnRlc3Qgd2lsbCBmYWls
IGFzIGludGVuZGVkIGlmIGJvdGggcmVzdWx0cyBhcmUgc2FtZS4KIGZhc3QvaGFybmVzcy9zYW1w
bGUtZmFpbC1taXNtYXRjaC1yZWZ0ZXN0Lmh0bWwgWyBXb250Rml4IEltYWdlT25seUZhaWx1cmUg
XQogCkBAIC0xMjUxLDYgKzEyNjAsOSBAQCB3ZWJraXQub3JnL2IvMTEzMjI3IHRyYW5zaXRpb25z
L3N2Zy10ZXh0LXNoYWRvdy10cmFuc2l0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogIyBDb2xv
ciBpbnB1dCBpcyBub3QgeWV0IGVuYWJsZWQgb24gTWFjIFdLMS4KIGZhc3QvZm9ybXMvY29sb3Iv
aW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbCBbIFNraXAgXQogCisjIE5vZGU6OmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKCkgd3JvbmdseSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBhbmQgaXRz
IGNvbnRlbnQgYXMgZGlzY29ubmVjdGVkLgord2Via2l0Lm9yZy9iLzExOTMyNSBkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgueGh0bWwgWyBGYWlsdXJl
IF0KKwogIyBOZXcgdGVzdCBmYWlsaW5nLCBuZWVkcyBpbnZlc3RpZ2F0aW9uLgogd2Via2l0Lm9y
Zy9iLzEwMzg1NyBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItY2hhbmdlLmh0bWwKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTZlZTZmN2M1ZTFmNTZkMWNl
YWY3ZGJjNjhkYTA4NDg1MjU0YmUwMC4uNGZkYzMyODM2NzkxNjMwMjIzMGQzNjQxODQ2MzMwNmJm
OTQ2Mzg3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC03
MCw2ICs3MCwxNSBAQCBmYXN0L2xvYWRlci9zdG9wLXByb3Zpc2lvbmFsLWxvYWRzLmh0bWwKICMg
ZXhjZXB0aW9ucyB0aGF0IHdlcmUgcHJldmlvdXNseSBleHBlY3RlZAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5kcmF3SW1hZ2Uub3V0c2lkZXNvdXJjZS5odG1sCiAKKyMgVGhlc2UgY29uZm9ybWFj
ZSB0ZXN0cyBhcmUgbm8gbG9uZ2VyIGluIHN5bmMgd2l0aCB0aGUgbGF0ZXN0IHNwZWNpZmljYXRp
b24KKyMgYW5kIGV4cGVjdCBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigpIHRvIHJldHVybjoKKyMg
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQKKyMgZm9yIGRpc2Nvbm5lY3RlZCBub2RlcyAobWlzc2luZyBQUkVD
RURJTkcgLyBGT0xMT1dJTkcgaW5mb3JtYXRpb24pLgorZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjAzLnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDUueGh0bWwgWyBXb250Rml4
IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24xNi54
aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1l
bnRwb3NpdGlvbjMzLnhodG1sIFsgV29udEZpeCBdCisKICMgPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMK
ICMgICAgICAgRGlzYWJsZWQgZmVhdHVyZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICMKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKQEAgLTI2MDks
NiArMjYxOCw5IEBAIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itd29yZC1qdW1wcy5odG1s
CiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhvbWUtYnV0dG9uLmh0bWwKIGluc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3Itc21hcnQtYnJhY2VzLmh0bWwKIAorIyBOb2RlOjpjb21wYXJl
RG9jdW1lbnRQb3NpdGlvbigpIHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBj
b250ZW50IGFzIGRpc2Nvbm5lY3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVyZSBd
CisKICMgW1F0XSBkaWZmZXJlbnQgcmVzdWx0IGZyb20gb3RoZXIgcGxhdGZvcm1zCiB3ZWJraXQu
b3JnL2IvMTA4Njc2IHN2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLXRleHQtY29udHJvbHMuaHRtbCBb
IFNraXAgXQogCg==
</data>
<flag name="review"
          id="229845"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207998</attachid>
            <date>2013-08-02 03:43:51 -0700</date>
            <delta_ts>2013-08-02 10:35:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>119316_compareDocumentPosition2.patch</filename>
            <type>text/plain</type>
            <size>27902</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyM2NjM2MzLi4xMjAxYmU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDgt
MDIgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAg
ICAgIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVDRURJTkcgb3Ig
Rk9MTE9XSU5HIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFVwZGF0ZSBmYXN0L2Rv
bS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sIHRvIGNo
ZWNrIHRoYXQgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKQorICAgICAgICBub3cgcmV0dXJucyBv
bmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZm9yIGRpc2Nvbm5lY3RlZCBub2RlczoKKyAgICAg
ICAgLSBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9J
TVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworICAg
ICAgICAtIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCisK
KyAgICAgICAgU2V2ZXJhbCBkb20veGh0bWwvbGV2ZWwzIGFyZSBza2lwcGVkIGFuZCBtYXJrZWQg
YXMgV29uZkZpeCBiZWNhdXNlIHRoZXkgYXJlIG91dGRhdGVkIGFuZCBubyBsb25nZXIgbWF0Y2gK
KyAgICAgICAgdGhlIERPTTQgc3BlY2lmaWNhdGlvbi4gVGhleSBleHBlY3QgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSBub3QgdG8gcmV0dXJuIFBSRUNFRElORyAvIEZPTExPV0lORworICAgICAg
ICBpbmZvcm1hdGlvbiBmb3IgZGlzY29ubmVjdGVkIG5vZGVzLgorCisgICAgICAgICogZG9tL3ho
dG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5l
Y3RlZC1ub2Rlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vY29tcGFyZS1kb2N1
bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRtbDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTA4
LTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWUgZmxh
dHRlbmluZzogQ2hhbmdlIHRoZSBsb2dpYyBvbiB3aGV0aGVyIHJlc2l6ZSBldmVudCBuZWVkcyB0
byBiZSBkaXNwYXRjaGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVs
My9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24z
OC1leHBlY3RlZC50eHQKaW5kZXggMWEyYzZmNS4uYmMzOTA3NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMiBAQAog
VGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25v
ZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4Ci1TdGF0dXMJZmFpbHVyZQotTWVzc2FnZQlub2Rl
Y29tcGFyZWRvY3VtZW50cG9zaXRpb25Jc0NvbnRhaW5zRm9sbG93aW5nMzg6IGFzc2VydEVxdWFs
cyBmYWlsZWQsIGFjdHVhbCAzMywgZXhwZWN0ZWQgMjAuCitTdGF0dXMJU3VjY2VzcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNj
b25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFy
ZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDY5MDE1MTQuLjQ1NzFmZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBh
cmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5l
Y3RlZC1ub2Rlcy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw1OCBAQAorKiBUZXN0IHdpdGggMiBk
aXNjb25uZWN0ZWQgZWxlbWVudHMKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVECiBQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRAogUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCiBQQVNTIGIuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMK
IFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBp
cyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
aXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggZG9jdW1lbnQgYW5k
IGEgZGlzY29ubmVjdGVkIGVsZW1lbnQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcK
K1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lO
RyBpcyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YSkgaXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggZG9jdW1lbnQg
YW5kIGEgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZQorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9QUkVDRURJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExP
V0lORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlz
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSBpcyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpCisqIFRlc3Qgd2l0aCAyIGRp
c2Nvbm5lY3RlZCBhdHRyaWJ1dGVzCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX1BSRUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQ
QVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcg
aXMgbm9uLXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
IGlzIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRpc2Nvbm5lY3Rl
ZCBhdHRyaWJ1dGUgYW5kIGVsZW1lbnQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcK
K1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lO
RyBpcyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YSkgaXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0
ZWQtbm9kZXMuaHRtbAppbmRleCBjM2FiZWY5Li45NmFhMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rl
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRp
b24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwKQEAgLTMsMTUgKzMsMzYgQEAKIDxoZWFkPgogICAg
IDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIHdpbmRvdy5hID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
YScpOwotICAgICAgICB3aW5kb3cuYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2InKTsKKyAg
ICAgICAgdmFyIGE7CisgICAgICAgIHZhciBiOwogCi0gICAgICAgIHNob3VsZEJlKCdhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKLSAgICAgICAgc2hv
dWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcp
OwotICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOwotICAgICAgICBzaG91bGRCZSgn
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycpOwotICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJywgJ2IuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycp
OwotICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICBmdW5j
dGlvbiB0ZXN0RWxlbWVudHMoX2EsIF9iKSB7CisgICAgICAgICAgICBhID0gX2E7CisgICAgICAg
ICAgICBiID0gX2I7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdi
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVND
T05ORUNURUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycsICdOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycpOworICAgICAgICAgICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycsICdiLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJ
TkcnKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnLCAnYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAg
ICAgICAgICBzaG91bGRCZU5vblplcm8oJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgICAg
IHNob3VsZEJlTm9uWmVybygnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICAgICAgLy8gTWFr
ZSBzdXJlIHRoZSByZXR1cm5lZCByZXN1bHQgaXMgY29uc2lzdGVudC4KKyAgICAgICAgICAgIHNo
b3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJywgJ2EuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYiknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSknKTsKKyAgICAgICAgfQor
CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCAyIGRpc2Nvbm5lY3RlZCBlbGVtZW50cyIpOwor
ICAgICAgICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpLCBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdiJykpOworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggZG9jdW1l
bnQgYW5kIGEgZGlzY29ubmVjdGVkIGVsZW1lbnQiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRv
Y3VtZW50LCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJykpOworICAgICAgICBkZWJ1ZygiKiBU
ZXN0IHdpdGggZG9jdW1lbnQgYW5kIGEgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZSIpOworICAgICAg
ICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQsIGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgnYicpKTsK
KyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIDIgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZXMiKTsK
KyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiYSIpLCBkb2N1
bWVudC5jcmVhdGVBdHRyaWJ1dGUoImIiKSk7CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCBk
aXNjb25uZWN0ZWQgYXR0cmlidXRlIGFuZCBlbGVtZW50Iik7CisgICAgICAgIHRlc3RFbGVtZW50
cyhkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoImEiKSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
YiIpKTsKICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1l
eHBlY3RlZC50eHQKaW5kZXggNWQwY2Q3ZS4uMjA1ODAxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0
aW9uLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5LDE0IEBAIFBBU1MgYTIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYTMpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCiBQQVNTIGIx
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIyKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NP
TlRBSU5FRF9CWSB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCiBQQVNTIGIyLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRB
SU5TIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKIFBBU1MgYjIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYjMpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCi1Q
QVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMKLVBBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpIGlzIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBM
RU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVy
by4KK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQKK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIxKSBpcyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkKK1BBU1MgYjEuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
YjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMx
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMx
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiMS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgaXMgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEp
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1w
b3NpdGlvbi5odG1sCmluZGV4IDA5OWU1NjQuLmRiZmJkZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRt
bApAQCAtNDUsMTAgKzQ1LDE1IEBAIGZ1bmN0aW9uIHRlc3RDb21wYXJlRG9jdW1lbnRQb3NpdGlv
bigpCiAgICAgc2hvdWxkQmUoJ2IyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKScsICdOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcnKTsKICAgICBzaG91bGRCZSgnYjIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjMpJywg
J05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CiAKLSAgICAvLyBUaGUgY3VycmVu
dCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCByZXR1cm4gRk9MTE9XSU5HIE9SIFBSRUNFRElORyBm
bGFnLgotICAgIC8vIFdlIG5lZWQgYSBzdGFibGUgaW1wbGVtZW50YXRpb24gd2hpY2ggZGVjaWRl
cyB0aGUgdG90YWwgb3JkZXIgYmV0d2VlbiBub2RlcyBpbiBkaWZmZXJlbnQgc2hhZG93IHRyZWVz
LgotICAgIHNob3VsZEJlKCdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDJyk7Ci0gICAgc2hvdWxkQmUoJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKScsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICAvLyBO
b2RlcyBpbiBkaWZmZXJlbnQgc2hhZG93IHRyZWVzLgorICAgIHNob3VsZEJlTm9uWmVybygnYTEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcgfHwgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICBzaG91bGRCZSgnYTEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICBzaG91bGRCZSgnYTEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDJyk7CisgICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKScs
ICdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknKTsKKyAgICBzaG91bGRCZU5vblplcm8o
J2IxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIHx8IGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAgc2hvdWxkQmUoJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgc2hvdWxkQmUoJ2IxLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVN
RU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElP
Tl9TUEVDSUZJQycpOworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihj
MSknLCAnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpJyk7CiB9CiAKIHRlc3RDb21wYXJl
RG9jdW1lbnRQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA4OWU3ZGUyLi5mN2M5ZDA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQwLDYgKzM0MCwxNSBAQCBCdWcoRUZMKSBmYXN0L2Zvcm1z
L2lucHV0LXRleHQtY2xpY2stb3V0c2lkZS5odG1sCiB3ZWJraXQub3JnL2IvODU0NjUgY3NzMy9m
aWx0ZXJzIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvODU0NjUgY29tcG9zaXRpbmcvZmlsdGVycyBb
IFNraXAgXQogCisjIFRoZXNlIGNvbmZvcm1hY2UgdGVzdHMgYXJlIG5vIGxvbmdlciBpbiBzeW5j
IHdpdGggdGhlIGxhdGVzdCBzcGVjaWZpY2F0aW9uCisjIGFuZCBleHBlY3QgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSB0byByZXR1cm46CisjIERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFU
SU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECisjIGZvciBkaXNj
b25uZWN0ZWQgbm9kZXMgKG1pc3NpbmcgUFJFQ0VESU5HIC8gRk9MTE9XSU5HIGluZm9ybWF0aW9u
KS4KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wMy54
aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1l
bnRwb3NpdGlvbjA1LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMTYueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zMy54aHRtbCBbIFdvbnRGaXgg
XQorCiAjIENTUyBpbWFnZS1yZXNvbHV0aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5v
cmcvYi84NTI2MiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uCiAKQEAgLTE3MTEsNiArMTcyMCw5
IEBAIHdlYmtpdC5vcmcvYi8xMTYwMjIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvbWVkaWEtc3JjLWFsbG93ZWQuCiB3ZWJraXQub3JnL2IvMTAxNDAwIHN2Zy9jc3Mv
c2hhZG93LWNoYW5nZXMuc3ZnIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAxNDAwIHN2Zy9j
c3MvY29tcG9zaXRlLXNoYWRvdy10ZXh0LnN2ZyBbIEZhaWx1cmUgXQogCisjIE5vZGU6OmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKCkgd3JvbmdseSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBhbmQgaXRz
IGNvbnRlbnQgYXMgZGlzY29ubmVjdGVkLgord2Via2l0Lm9yZy9iLzExOTMyNSBkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgueGh0bWwgWyBGYWlsdXJl
IF0KKwogIyBSZWdyZXNzaW9uIChyMTQ4MDMyIC0gcjE0ODEwMykuCiB3ZWJraXQub3JnL2IvMTE0
OTE5IGZhc3QvbXVsdGljb2wvc2hhZG93LWJyZWFraW5nLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xMTQ5MjAgZmFzdC9yZXBhaW50L21vdmluZy1zaGFkb3ctb24tY29udGFpbmVyLmh0
bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggNTBlNjE0Ni4uMzJhODJmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTcyLDYgKzcyLDE1IEBAIGluc3BlY3Rvci9zdHlsZXMvdmVuZG9yLXBy
ZWZpeGVzLmh0bWwgWyBXb250Rml4IFBhc3MgXQogZmFzdC9kb20vV2luZG93L3Nsb3ctdW5sb2Fk
LWhhbmRsZXIuaHRtbCBbIFdvbnRGaXggVGltZW91dCBGYWlsdXJlIF0KIGZhc3QvZG9tL1dpbmRv
dy9zbG93LXVubG9hZC1oYW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sIFsgV29udEZp
eCBUaW1lb3V0IEZhaWx1cmUgXQogCisjIFRoZXNlIGNvbmZvcm1hY2UgdGVzdHMgYXJlIG5vIGxv
bmdlciBpbiBzeW5jIHdpdGggdGhlIGxhdGVzdCBzcGVjaWZpY2F0aW9uCisjIGFuZCBleHBlY3Qg
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oKSB0byByZXR1cm46CisjIERPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVE
CisjIGZvciBkaXNjb25uZWN0ZWQgbm9kZXMgKG1pc3NpbmcgUFJFQ0VESU5HIC8gRk9MTE9XSU5H
IGluZm9ybWF0aW9uKS4KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50
cG9zaXRpb24wMy54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVj
b21wYXJlZG9jdW1lbnRwb3NpdGlvbjA1LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMTYueGh0bWwgWyBXb250Rml4IF0K
K2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zMy54aHRt
bCBbIFdvbnRGaXggXQorCiAjIEFjY2Vzc2liaWxpdHkgdGVzdHMgdGhhdCBzaG91bGQgbmV2ZXIg
YmUgcnVuIGZvciBHVEsgZHVlIHRvIGJlCiAjIHdyaXR0ZW4gaW4gYSBwbGF0Zm9ybS1zcGVjaWZp
YyB3YXkuIFRoZXkgc2hvdWxkIGVpdGhlciBiZSBtb3ZlZCB0bwogIyB0aGUgcmlnaHQgcGxhdGZv
cm0gb3IgcmUtd3JpdHRlbiBpbiBhIG1vcmUgcGxhdGZvcm0tYWdub3N0aWMgd2F5LgpAQCAtMTM5
NSw2ICsxNDA0LDkgQEAgd2Via2l0Lm9yZy9iLzExNTQzNyBjc3MzL2ZsZXhib3gvYXV0by1tYXJn
aW5zLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTU0MzcgZmFzdC9j
c3Mvc3RpY2t5L3N0aWNreS13cml0aW5nLW1vZGUtdmVydGljYWwtbHIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzExNTQzNyBmYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRl
bnQtZmxvd24taW50by1yZWdpb24uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCisjIE5vZGU6
OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgd3JvbmdseSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBh
bmQgaXRzIGNvbnRlbnQgYXMgZGlzY29ubmVjdGVkLgord2Via2l0Lm9yZy9iLzExOTMyNSBkb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgueGh0bWwgWyBG
YWlsdXJlIF0KKwogd2Via2l0Lm9yZy9iLzExNTQzNyBmYXN0L3RleHQvY29tcGxleC1pbml0aWFs
LWFkdmFuY2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTE1NDQw
IHN2Zy9zdHJva2UvYW5pbWF0ZWQtbm9uLXNjYWxpbmctc3Ryb2tlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ODEwMTA1OS4uNTg3YmE1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTQ2OSw2ICs0NjksMTUgQEAgZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCiAjIEZvbnQgZmVhdHVyZSBzZXR0aW5ncyBpcyBu
b3QgaW1wbGVtZW50ZWQuCiBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1yZW5kZXJpbmcuaHRt
bAogCisjIFRoZXNlIGNvbmZvcm1hY2UgdGVzdHMgYXJlIG5vIGxvbmdlciBpbiBzeW5jIHdpdGgg
dGhlIGxhdGVzdCBzcGVjaWZpY2F0aW9uCisjIGFuZCBleHBlY3QgY29tcGFyZURvY3VtZW50UG9z
aXRpb24oKSB0byByZXR1cm46CisjIERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECisjIGZvciBkaXNjb25uZWN0
ZWQgbm9kZXMgKG1pc3NpbmcgUFJFQ0VESU5HIC8gRk9MTE9XSU5HIGluZm9ybWF0aW9uKS4KK2Rv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wMy54aHRtbCBb
IFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3Np
dGlvbjA1LnhodG1sIFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBh
cmVkb2N1bWVudHBvc2l0aW9uMTYueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zMy54aHRtbCBbIFdvbnRGaXggXQorCiAj
IFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGEgbWlzbWF0Y2ggcmVmdGVzdCB3aWxsIGZhaWwgYXMg
aW50ZW5kZWQgaWYgYm90aCByZXN1bHRzIGFyZSBzYW1lLgogZmFzdC9oYXJuZXNzL3NhbXBsZS1m
YWlsLW1pc21hdGNoLXJlZnRlc3QuaHRtbCBbIFdvbnRGaXggSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
QEAgLTEyNTEsNiArMTI2MCw5IEBAIHdlYmtpdC5vcmcvYi8xMTMyMjcgdHJhbnNpdGlvbnMvc3Zn
LXRleHQtc2hhZG93LXRyYW5zaXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAjIENvbG9yIGlu
cHV0IGlzIG5vdCB5ZXQgZW5hYmxlZCBvbiBNYWMgV0sxLgogZmFzdC9mb3Jtcy9jb2xvci9pbnB1
dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sIFsgU2tpcCBdCiAKKyMgTm9kZTo6Y29tcGFyZURv
Y3VtZW50UG9zaXRpb24oKSB3cm9uZ2x5IHJlcG9ydHMgYW4gYXR0cmlidXRlIGFuZCBpdHMgY29u
dGVudCBhcyBkaXNjb25uZWN0ZWQuCit3ZWJraXQub3JnL2IvMTE5MzI1IGRvbS94aHRtbC9sZXZl
bDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC54aHRtbCBbIEZhaWx1cmUgXQor
CiAjIE5ldyB0ZXN0IGZhaWxpbmcsIG5lZWRzIGludmVzdGlnYXRpb24uCiB3ZWJraXQub3JnL2Iv
MTAzODU3IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1jaGFuZ2UuaHRtbAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NmVlNmY3Li40ZmRjMzI4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTcwLDYgKzcwLDE1IEBA
IGZhc3QvbG9hZGVyL3N0b3AtcHJvdmlzaW9uYWwtbG9hZHMuaHRtbAogIyBleGNlcHRpb25zIHRo
YXQgd2VyZSBwcmV2aW91c2x5IGV4cGVjdGVkCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJ
bWFnZS5vdXRzaWRlc291cmNlLmh0bWwKIAorIyBUaGVzZSBjb25mb3JtYWNlIHRlc3RzIGFyZSBu
byBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgorIyBhbmQgZXhw
ZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJuOgorIyBET0NVTUVOVF9QT1NJ
VElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5F
Q1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5nIFBSRUNFRElORyAvIEZPTExP
V0lORyBpbmZvcm1hdGlvbikuCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1
bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1s
L2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1sIFsgV29udEZp
eCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzMu
eGh0bWwgWyBXb250Rml4IF0KKwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogIyAgICAgICBEaXNh
YmxlZCBmZWF0dXJlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwpAQCAtMjYwOSw2ICsyNjE4LDkgQEAg
aW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci13b3JkLWp1bXBzLmh0bWwKIGluc3BlY3Rvci9l
ZGl0b3IvdGV4dC1lZGl0b3ItaG9tZS1idXR0b24uaHRtbAogaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1zbWFydC1icmFjZXMuaHRtbAogCisjIE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKCkgd3JvbmdseSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBhbmQgaXRzIGNvbnRlbnQgYXMgZGlz
Y29ubmVjdGVkLgord2Via2l0Lm9yZy9iLzExOTMyNSBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgueGh0bWwgWyBGYWlsdXJlIF0KKwogIyBbUXRdIGRp
ZmZlcmVudCByZXN1bHQgZnJvbSBvdGhlciBwbGF0Zm9ybXMKIHdlYmtpdC5vcmcvYi8xMDg2NzYg
c3ZnL2N1c3RvbS9zdmctZm9udHMtaW4tdGV4dC1jb250cm9scy5odG1sIFsgU2tpcCBdCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA5YmZkYzRlLi40NjVjMDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTMtMDgtMDIgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29t
PgorCisgICAgICAgIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVD
RURJTkcgb3IgRk9MTE9XSU5HIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5l
Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
MzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFzIHBl
ciB0aGUgbGF0ZXN0IHNwZWNpZmljYXRpb24sIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hv
dWxkIHJlcG9ydCBQUkVDRURJTkcgb3IgRk9MTE9XSU5HCisgICAgICAgIGluZm9ybWF0aW9uIGV2
ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZDoKKyAgICAgICAgLSBodHRwOi8vZG9tLnNwZWMu
d2hhdHdnLm9yZy8jZG9tLW5vZGUtY29tcGFyZWRvY3VtZW50cG9zaXRpb24KKworICAgICAgICBU
aGlzIGJlaGF2aW9yIGlzIGNvbnNpc3RlbnQgd2l0aCBib3RoIElFMTAsIEZpcmVmb3ggMjIgYW5k
IHNpbmNlIHJlY2VudGx5IEJsaW5rLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbXBhcmVEZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24pOgorCiAyMDEzLTA4LTAxICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmluZyBhbiBlbXB0eSBz
dHlsZSBzaGVldCBzaG91bGRuJ3QgdHJpZ2dlciBzdHlsZSByZWNhbGMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
aW5kZXggZTQ0NDk3Ny4uMThhYTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTYyMSw2ICsxNjIx
LDE4IEBAIGJvb2wgTm9kZTo6b2Zmc2V0SW5DaGFyYWN0ZXJzKCkgY29uc3QKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgc2hvcnQgY29tcGFyZURldGFjaGVk
RWxlbWVudHNQb3NpdGlvbihOb2RlKiBmaXJzdE5vZGUsIE5vZGUqIHNlY29uZE5vZGUpCit7Cisg
ICAgLy8gSWYgdGhlIDIgbm9kZXMgYXJlIG5vdCBpbiB0aGUgc2FtZSB0cmVlLCByZXR1cm4gdGhl
IHJlc3VsdCBvZiBhZGRpbmcgRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVELAorICAgIC8v
IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDLCBhbmQgZWl0aGVyIERP
Q1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBvcgorICAgIC8vIERPQ1VNRU5UX1BPU0lUSU9OX0ZP
TExPV0lORywgd2l0aCB0aGUgY29uc3RyYWludCB0aGF0IHRoaXMgaXMgdG8gYmUgY29uc2lzdGVu
dC4gV2hldGhlciB0byByZXR1cm4KKyAgICAvLyBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcg
b3IgRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIGltcGxlbWVudGVkIGhlcmUgdmlhIHBv
aW50ZXIKKyAgICAvLyBjb21wYXJpc29uLgorICAgIC8vIFNlZSBzdGVwIDMgaW4gaHR0cDovL3d3
dy53My5vcmcvVFIvMjAxMi9XRC1kb20tMjAxMjEyMDYvI2RvbS1ub2RlLWNvbXBhcmVkb2N1bWVu
dHBvc2l0aW9uCisgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uID0gKGZpcnN0Tm9kZSA+IHNl
Y29uZE5vZGUpID8gTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIDogTm9kZTo6RE9D
VU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HOworICAgIHJldHVybiBOb2RlOjpET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQgfCBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElP
Tl9TUEVDSUZJQyB8IGRpcmVjdGlvbjsKK30KKwogdW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFy
ZURvY3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJOb2RlKQogewogICAgIC8vIEl0IGlzIG5vdCBj
bGVhciB3aGF0IHNob3VsZCBiZSBkb25lIGlmIHxvdGhlck5vZGV8IGlzIDAuCkBAIC0xNjM5LDcg
KzE2NTEsNyBAQCB1bnNpZ25lZCBzaG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihO
b2RlKiBvdGhlck5vZGUpCiAgICAgLy8gSWYgZWl0aGVyIG9mIHN0YXJ0MSBvciBzdGFydDIgaXMg
bnVsbCwgdGhlbiB3ZSBhcmUgZGlzY29ubmVjdGVkLCBzaW5jZSBvbmUgb2YgdGhlIG5vZGVzIGlz
CiAgICAgLy8gYW4gb3JwaGFuZWQgYXR0cmlidXRlIG5vZGUuCiAgICAgaWYgKCFzdGFydDEgfHwg
IXN0YXJ0MikKLSAgICAgICAgcmV0dXJuIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8
IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOworICAgICAgICByZXR1
cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUpOwogCiAg
ICAgVmVjdG9yPE5vZGUqLCAxNj4gY2hhaW4xOwogICAgIFZlY3RvcjxOb2RlKiwgMTY+IGNoYWlu
MjsKQEAgLTE2NzUsNyArMTY4Nyw3IEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICAvLyBjb21wYXJpbmcgQXR0ciBub2Rl
cyBoZXJlLCBzaW5jZSB0aGV5IHJldHVybiBmYWxzZSBmcm9tIGluRG9jdW1lbnQoKSBhbGwgdGhl
IHRpbWUgKHdoaWNoIHNlZW1zIGxpa2UgYSBidWcpLgogICAgIGlmIChzdGFydDEtPmluRG9jdW1l
bnQoKSAhPSBzdGFydDItPmluRG9jdW1lbnQoKSB8fAogICAgICAgICBzdGFydDEtPnRyZWVTY29w
ZSgpICE9IHN0YXJ0Mi0+dHJlZVNjb3BlKCkpCi0gICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVD
SUZJQzsKKyAgICAgICAgcmV0dXJuIGNvbXBhcmVEZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24odGhp
cywgb3RoZXJOb2RlKTsKIAogICAgIC8vIFdlIG5lZWQgdG8gZmluZCBhIGNvbW1vbiBhbmNlc3Rv
ciBjb250YWluZXIsIGFuZCB0aGVuIGNvbXBhcmUgdGhlIGluZGljZXMgb2YgdGhlIHR3byBpbW1l
ZGlhdGUgY2hpbGRyZW4uCiAgICAgTm9kZSogY3VycmVudDsKQEAgLTE2ODgsMTAgKzE3MDAsOCBA
QCB1bnNpZ25lZCBzaG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKiBvdGhl
ck5vZGUpCiAgICAgdW5zaWduZWQgaW5kZXgyID0gY2hhaW4yLnNpemUoKTsKIAogICAgIC8vIElm
IHRoZSB0d28gZWxlbWVudHMgZG9uJ3QgaGF2ZSBhIGNvbW1vbiByb290LCB0aGV5J3JlIG5vdCBp
biB0aGUgc2FtZSB0cmVlLgotICAgIGlmIChjaGFpbjFbaW5kZXgxIC0gMV0gIT0gY2hhaW4yW2lu
ZGV4MiAtIDFdKSB7Ci0gICAgICAgIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlvbiA9IChzdGFydDEg
PiBzdGFydDIpID8gRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIDogRE9DVU1FTlRfUE9TSVRJ
T05fRk9MTE9XSU5HOwotICAgICAgICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVD
VEVEIHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBkaXJlY3Rp
b247Ci0gICAgfQorICAgIGlmIChjaGFpbjFbaW5kZXgxIC0gMV0gIT0gY2hhaW4yW2luZGV4MiAt
IDFdKQorICAgICAgICByZXR1cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbih0aGlz
LCBvdGhlck5vZGUpOwogCiAgICAgLy8gV2FsayB0aGUgdHdvIGNoYWlucyBiYWNrd2FyZHMgYW5k
IGxvb2sgZm9yIHRoZSBmaXJzdCBkaWZmZXJlbmNlLgogICAgIGZvciAodW5zaWduZWQgaSA9IG1p
bihpbmRleDEsIGluZGV4Mik7IGk7IC0taSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208031</attachid>
            <date>2013-08-02 10:35:04 -0700</date>
            <delta_ts>2013-08-02 10:53:41 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>119316_compareDocumentPosition2.patch</filename>
            <type>text/plain</type>
            <size>25606</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyM2NjM2MzLi5lNGQyMjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTMtMDgt
MDIgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAg
ICAgIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVDRURJTkcgb3Ig
Rk9MTE9XSU5HIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFVwZGF0ZSBmYXN0L2Rv
bS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sIHRvIGNo
ZWNrIHRoYXQgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKQorICAgICAgICBub3cgcmV0dXJucyBv
bmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZm9yIGRpc2Nvbm5lY3RlZCBub2RlczoKKyAgICAg
ICAgLSBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9J
TVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworICAg
ICAgICAtIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCisK
KyAgICAgICAgU2V2ZXJhbCBkb20veGh0bWwvbGV2ZWwzIGFyZSBza2lwcGVkIGFuZCBtYXJrZWQg
YXMgV29uZkZpeCBiZWNhdXNlIHRoZXkgYXJlIG91dGRhdGVkIGFuZCBubyBsb25nZXIgbWF0Y2gK
KyAgICAgICAgdGhlIERPTTQgc3BlY2lmaWNhdGlvbi4gVGhleSBleHBlY3QgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSBub3QgdG8gcmV0dXJuIFBSRUNFRElORyAvIEZPTExPV0lORworICAgICAg
ICBpbmZvcm1hdGlvbiBmb3IgZGlzY29ubmVjdGVkIG5vZGVzLgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVk
b2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2NvbXBh
cmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1u
b2Rlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBv
c2l0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1k
b2N1bWVudC1wb3NpdGlvbi5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDgtMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBGcmFtZSBmbGF0dGVuaW5nOiBDaGFuZ2UgdGhlIGxvZ2ljIG9u
IHdoZXRoZXIgcmVzaXplIGV2ZW50IG5lZWRzIHRvIGJlIGRpc3BhdGNoZWQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA3Y2VjZmFjLi4xMTBhZGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2LDYg
KzE2LDE4IEBAIHdlYmtpdC5vcmcvYi8xMTY0NzMgZWRpdGluZy9zZWxlY3Rpb24vdXNlci1kcmFn
LWVsZW1lbnQtYW5kLXVzZXItc2VsZWN0LW5vbmUuaHRtCiAjIG1lZGlhL1czQy92aWRlby9uZXR3
b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19wcm9ncmVzcy5odG1sIGlzIGZsYWt5CiB3ZWJr
aXQub3JnL2IvNzYyODAgbWVkaWEvVzNDL3ZpZGVvL25ldHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVf
ZHVyaW5nX3Byb2dyZXNzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCisjIFRoZXNlIGNvbmZvcm1h
Y2UgdGVzdHMgYXJlIG5vIGxvbmdlciBpbiBzeW5jIHdpdGggdGhlIGxhdGVzdCBzcGVjaWZpY2F0
aW9uCisjIGFuZCBleHBlY3QgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKSB0byByZXR1cm46Cisj
IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVECisjIGZvciBkaXNjb25uZWN0ZWQgbm9kZXMgKG1pc3NpbmcgUFJF
Q0VESU5HIC8gRk9MTE9XSU5HIGluZm9ybWF0aW9uKS4KKyMgV2UgY2Fubm90IGNoZWNrIHJlYmFz
ZWxpbmUgdGhlbSBiZWNhdXNlIHRoZWlyIG91dHB1dCBpcyBsaWtlbHkgdG8gY2hhbmdlCisjIGJl
dHdlZW4gdGVzdCBydW5zIGFzIGl0IGRlY2lkZXMgUFJFQ0VESU5HIC8gRk9MTE9XSU5HIHVzaW5n
IHBvaW50ZXIKKyMgY29tcGFyaXNvbi4KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFy
ZWRvY3VtZW50cG9zaXRpb24wMy54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9j
b3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjA1LnhodG1sIFsgV29udEZpeCBdCitkb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMTYueGh0bWwgWyBX
b250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRp
b24zMy54aHRtbCBbIFdvbnRGaXggXQorCiAjIFRoZSBDU1MgU2hhcGVzIHNwZWMgaGFzIGNoYW5n
ZWQgdGhlIHBvc2l0aW9uaW5nIG1vZGVsIGZvciBmbG9hdHMgd2l0aCBzaGFwZS1vdXRzaWRlLgog
IyBUaHVzIGFsbCBvZiB0aGUgdGVzdHMgbmVlZCB0byBiZSByZXdpdHRlbiB0byB3b3JrIGFzIHRo
ZSBpbXBsZW1lbnRhdGlvbiBvZgogIyB0aGUgbmV3IG1vZGVsIGlzIGNvbXBsZXRlZC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3Vt
ZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0CmluZGV4IDFh
MmM2ZjUuLmJjMzkwNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlv
bjM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcv
MjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRp
b24zOAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9u
SXNDb250YWluc0ZvbGxvd2luZzM4OiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgMzMsIGV4
cGVjdGVkIDIwLgorU3RhdHVzCVN1Y2Nlc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlz
Y29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dAppbmRleCA2OTAxNTE0Li40NTcxZmUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRp
c2Nvbm5lY3RlZC1ub2Rlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Y29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0
CkBAIC0xLDkgKzEsNTggQEAKKyogVGVzdCB3aXRoIDIgZGlzY29ubmVjdGVkIGVsZW1lbnRzCiBQ
QVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAogUEFT
UyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKIFBBU1Mg
YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQwogUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCiBQQVNTIGEuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3QgYi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VE
SU5HCiBQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMg
bm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKQor
UEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBlbGVtZW50
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAor
UEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3Qg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJF
Q0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcg
aXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
ICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBhdHRy
aWJ1dGUKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVD
VEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RF
RAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIGlz
IG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKK1BBU1MgYS5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExP
V0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgaXMgYi5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggMiBkaXNjb25uZWN0ZWQgYXR0cmlidXRlcwor
UEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BB
U1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
RElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNT
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgaXMgbm90IGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlz
IG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlzIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikK
K1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSBpcyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpCisqIFRlc3Qgd2l0aCBkaXNjb25uZWN0ZWQgYXR0cmlidXRlIGFuZCBlbGVtZW50
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAor
UEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyBub3Qg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJF
Q0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcg
aXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
ICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1w
b3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Nv
bXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwKaW5kZXggYzNh
YmVmOS4uOTZhYTIwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1k
b2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5o
dG1sCkBAIC0zLDE1ICszLDM2IEBACiA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0PgotICAgICAgICB3
aW5kb3cuYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKLSAgICAgICAgd2luZG93LmIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJyk7CisgICAgICAgIHZhciBhOworICAgICAgICB2
YXIgYjsKIAotICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVEJyk7Ci0gICAgICAgIHNob3VsZEJlKCdiLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKLSAgICAgICAgc2hvdWxkQmUoJ2Eu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExF
TUVOVEFUSU9OX1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJ
T05fU1BFQ0lGSUMnKTsKLSAgICAgICAgc2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywg
J05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKLSAgICAg
ICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORycsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcnKTsKLSAgICAgICAgc2hvdWxkTm90QmUo
J2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZP
TExPV0lORycsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdEVsZW1lbnRzKF9hLCBf
YikgeworICAgICAgICAgICAgYSA9IF9hOworICAgICAgICAgICAgYiA9IF9iOworCisgICAgICAg
ICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgICAgICAgICBzaG91bGRCZSgnYS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQycpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywg
J05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICAg
ICAgICAgIHNob3VsZE5vdEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcnLCAnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihh
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJyk7CisgICAgICAgICAgICBzaG91
bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRk9MTE9XSU5HJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICAgICAgc2hvdWxkQmVOb25aZXJv
KCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9Q
UkVDRURJTkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAgICAgICAgICBzaG91bGRCZU5vblplcm8oJ2IuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO
RyB8fCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9GT0xMT1dJTkcnKTsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcmV0dXJuZWQgcmVz
dWx0IGlzIGNvbnNpc3RlbnQuCisgICAgICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihiKScsICdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJyk7CisgICAgICAg
ICAgICBzaG91bGRCZSgnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKScsICdiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpJyk7CisgICAgICAgIH0KKworICAgICAgICBkZWJ1ZygiKiBUZXN0
IHdpdGggMiBkaXNjb25uZWN0ZWQgZWxlbWVudHMiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYicpKTsK
KyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nvbm5lY3RlZCBl
bGVtZW50Iik7CisgICAgICAgIHRlc3RFbGVtZW50cyhkb2N1bWVudCwgZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYicpKTsKKyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBh
IGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGUiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50
LCBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2InKSk7CisgICAgICAgIGRlYnVnKCIqIFRlc3Qg
d2l0aCAyIGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGVzIik7CisgICAgICAgIHRlc3RFbGVtZW50cyhk
b2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoImEiKSwgZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJi
IikpOworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggZGlzY29ubmVjdGVkIGF0dHJpYnV0ZSBh
bmQgZWxlbWVudCIpOworICAgICAgICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQuY3JlYXRlQXR0cmli
dXRlKCJhIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKSk7CiAgICAgPC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBh
cmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDVkMGNk
N2UuLjIwNTgwMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21w
YXJlLWRvY3VtZW50LXBvc2l0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQKQEAgLTks
OCArOSwxNCBAQCBQQVNTIGEyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEzKSBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORwogUEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiMikgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkgfCBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORwogUEFTUyBiMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
MSkgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyB8IE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HCiBQQVNTIGIyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIzKSBpcyBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORwotUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiMSkgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCi1QQVNTIGIxLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGMxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5F
Q1RFRCB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BB
U1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9QUkVDRURJTkcgfHwgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGExLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlz
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGExLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJ
QworUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgaXMgYTEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYjEpCitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgor
UEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAor
UEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEp
IGlzIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRtbAppbmRleCAwOTll
NTY0Li5kYmZiZGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29t
cGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWwKQEAgLTQ1LDEwICs0NSwxNSBAQCBm
dW5jdGlvbiB0ZXN0Q29tcGFyZURvY3VtZW50UG9zaXRpb24oKQogICAgIHNob3VsZEJlKCdiMi5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05U
QUlOUyB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJyk7CiAgICAgc2hvdWxkQmUo
J2IyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIzKScsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0ZPTExPV0lORycpOwogCi0gICAgLy8gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZG9lcyBu
b3QgcmV0dXJuIEZPTExPV0lORyBPUiBQUkVDRURJTkcgZmxhZy4KLSAgICAvLyBXZSBuZWVkIGEg
c3RhYmxlIGltcGxlbWVudGF0aW9uIHdoaWNoIGRlY2lkZXMgdGhlIHRvdGFsIG9yZGVyIGJldHdl
ZW4gbm9kZXMgaW4gZGlmZmVyZW50IHNoYWRvdyB0cmVlcy4KLSAgICBzaG91bGRCZSgnYTEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYjEpJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycp
OwotICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSknLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDJyk7CisgICAgLy8gTm9kZXMgaW4gZGlmZmVyZW50IHNoYWRv
dyB0cmVlcy4KKyAgICBzaG91bGRCZU5vblplcm8oJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGExLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7Cisg
ICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09O
TkVDVEVEJyk7CisgICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgIHNob3VsZEJl
KCdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnYTEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYjEpJyk7CisgICAgc2hvdWxkQmVOb25aZXJvKCdiMS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiMS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycp
OworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJ
U0NPTk5FQ1RFRCcpOworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihj
MSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJywgJ05v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICBzaG91
bGRCZSgnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpJywgJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKScpOwogfQogCiB0ZXN0Q29tcGFyZURvY3VtZW50UG9zaXRpb24oKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODllN2RlMi4uYWFl
OTI2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3
MTEsNiArMTcxMSw5IEBAIHdlYmtpdC5vcmcvYi8xMTYwMjIgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvbWVkaWEtc3JjLWFsbG93ZWQuCiB3ZWJraXQub3JnL2IvMTAx
NDAwIHN2Zy9jc3Mvc2hhZG93LWNoYW5nZXMuc3ZnIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTAxNDAwIHN2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy10ZXh0LnN2ZyBbIEZhaWx1cmUgXQogCisj
IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgd3JvbmdseSByZXBvcnRzIGFuIGF0dHJp
YnV0ZSBhbmQgaXRzIGNvbnRlbnQgYXMgZGlzY29ubmVjdGVkLgord2Via2l0Lm9yZy9iLzExOTMy
NSBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgueGh0
bWwgWyBGYWlsdXJlIF0KKwogIyBSZWdyZXNzaW9uIChyMTQ4MDMyIC0gcjE0ODEwMykuCiB3ZWJr
aXQub3JnL2IvMTE0OTE5IGZhc3QvbXVsdGljb2wvc2hhZG93LWJyZWFraW5nLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xMTQ5MjAgZmFzdC9yZXBhaW50L21vdmluZy1zaGFkb3ctb24t
Y29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNTBlNjE0Ni4uNzlmNmVlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzOTUsNiArMTM5NSw5IEBAIHdlYmtpdC5vcmcv
Yi8xMTU0MzcgY3NzMy9mbGV4Ym94L2F1dG8tbWFyZ2lucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTE1NDM3IGZhc3QvY3NzL3N0aWNreS9zdGlja3ktd3JpdGluZy1t
b2RlLXZlcnRpY2FsLWxyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
MTU0MzcgZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigp
IHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBjb250ZW50IGFzIGRpc2Nvbm5l
Y3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21w
YXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVyZSBdCisKIHdlYmtpdC5vcmcvYi8x
MTU0MzcgZmFzdC90ZXh0L2NvbXBsZXgtaW5pdGlhbC1hZHZhbmNlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzExNTQ0MCBzdmcvc3Ryb2tlL2FuaW1hdGVkLW5vbi1z
Y2FsaW5nLXN0cm9rZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDgxMDEwNTkuLjM0MjdkNzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjUxLDYgKzEyNTEsOSBA
QCB3ZWJraXQub3JnL2IvMTEzMjI3IHRyYW5zaXRpb25zL3N2Zy10ZXh0LXNoYWRvdy10cmFuc2l0
aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogIyBDb2xvciBpbnB1dCBpcyBub3QgeWV0IGVuYWJs
ZWQgb24gTWFjIFdLMS4KIGZhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZl
bnQuaHRtbCBbIFNraXAgXQogCisjIE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgd3Jv
bmdseSByZXBvcnRzIGFuIGF0dHJpYnV0ZSBhbmQgaXRzIGNvbnRlbnQgYXMgZGlzY29ubmVjdGVk
Lgord2Via2l0Lm9yZy9iLzExOTMyNSBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVk
b2N1bWVudHBvc2l0aW9uMzgueGh0bWwgWyBGYWlsdXJlIF0KKwogIyBOZXcgdGVzdCBmYWlsaW5n
LCBuZWVkcyBpbnZlc3RpZ2F0aW9uLgogd2Via2l0Lm9yZy9iLzEwMzg1NyBmYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3ItY2hhbmdlLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNTZlZTZmNy4uMzk4MzAxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNjA5LDYgKzI2MDksOSBAQCBpbnNwZWN0b3IvZWRpdG9y
L3RleHQtZWRpdG9yLXdvcmQtanVtcHMuaHRtbAogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRv
ci1ob21lLWJ1dHRvbi5odG1sCiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXNtYXJ0LWJy
YWNlcy5odG1sCiAKKyMgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oKSB3cm9uZ2x5IHJl
cG9ydHMgYW4gYXR0cmlidXRlIGFuZCBpdHMgY29udGVudCBhcyBkaXNjb25uZWN0ZWQuCit3ZWJr
aXQub3JnL2IvMTE5MzI1IGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50
cG9zaXRpb24zOC54aHRtbCBbIEZhaWx1cmUgXQorCiAjIFtRdF0gZGlmZmVyZW50IHJlc3VsdCBm
cm9tIG90aGVyIHBsYXRmb3Jtcwogd2Via2l0Lm9yZy9iLzEwODY3NiBzdmcvY3VzdG9tL3N2Zy1m
b250cy1pbi10ZXh0LWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDliZmRj
NGUuLjQ2NWMwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wOC0wMiAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgY29t
cGFyZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQgcmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJ
TkcgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkzMTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQXMgcGVyIHRoZSBsYXRlc3Qgc3Bl
Y2lmaWNhdGlvbiwgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQgcmVwb3J0IFBSRUNF
RElORyBvciBGT0xMT1dJTkcKKyAgICAgICAgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBhcmUg
ZGlzY29ubmVjdGVkOgorICAgICAgICAtIGh0dHA6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20t
bm9kZS1jb21wYXJlZG9jdW1lbnRwb3NpdGlvbgorCisgICAgICAgIFRoaXMgYmVoYXZpb3IgaXMg
Y29uc2lzdGVudCB3aXRoIGJvdGggSUUxMCwgRmlyZWZveCAyMiBhbmQgc2luY2UgcmVjZW50bHkg
QmxpbmsuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGFyZURl
dGFjaGVkRWxlbWVudHNQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpjb21wYXJl
RG9jdW1lbnRQb3NpdGlvbik6CisKIDIwMTMtMDgtMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92aW5nIGFuIGVtcHR5IHN0eWxlIHNoZWV0IHNob3Vs
ZG4ndCB0cmlnZ2VyIHN0eWxlIHJlY2FsYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBlNDQ0OTc3Li4x
OGFhNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNjIxLDYgKzE2MjEsMTggQEAgYm9vbCBOb2Rl
OjpvZmZzZXRJbkNoYXJhY3RlcnMoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBzaG9ydCBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9u
KE5vZGUqIGZpcnN0Tm9kZSwgTm9kZSogc2Vjb25kTm9kZSkKK3sKKyAgICAvLyBJZiB0aGUgMiBu
b2RlcyBhcmUgbm90IGluIHRoZSBzYW1lIHRyZWUsIHJldHVybiB0aGUgcmVzdWx0IG9mIGFkZGlu
ZyBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQsCisgICAgLy8gRE9DVU1FTlRfUE9TSVRJ
T05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMsIGFuZCBlaXRoZXIgRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIG9yCisgICAgLy8gRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLCB3aXRoIHRo
ZSBjb25zdHJhaW50IHRoYXQgdGhpcyBpcyB0byBiZSBjb25zaXN0ZW50LiBXaGV0aGVyIHRvIHJl
dHVybgorICAgIC8vIERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBvciBET0NVTUVOVF9QT1NJ
VElPTl9GT0xMT1dJTkcgaXMgaW1wbGVtZW50ZWQgaGVyZSB2aWEgcG9pbnRlcgorICAgIC8vIGNv
bXBhcmlzb24uCisgICAgLy8gU2VlIHN0ZXAgMyBpbiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEy
L1dELWRvbS0yMDEyMTIwNi8jZG9tLW5vZGUtY29tcGFyZWRvY3VtZW50cG9zaXRpb24KKyAgICB1
bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24gPSAoZmlyc3ROb2RlID4gc2Vjb25kTm9kZSkgPyBOb2Rl
OjpET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgOiBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkc7CisgICAgcmV0dXJuIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RF
RCB8IE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgZGly
ZWN0aW9uOworfQorCiB1bnNpZ25lZCBzaG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihOb2RlKiBvdGhlck5vZGUpCiB7CiAgICAgLy8gSXQgaXMgbm90IGNsZWFyIHdoYXQgc2hvdWxk
IGJlIGRvbmUgaWYgfG90aGVyTm9kZXwgaXMgMC4KQEAgLTE2MzksNyArMTY1MSw3IEBAIHVuc2ln
bmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkK
ICAgICAvLyBJZiBlaXRoZXIgb2Ygc3RhcnQxIG9yIHN0YXJ0MiBpcyBudWxsLCB0aGVuIHdlIGFy
ZSBkaXNjb25uZWN0ZWQsIHNpbmNlIG9uZSBvZiB0aGUgbm9kZXMgaXMKICAgICAvLyBhbiBvcnBo
YW5lZCBhdHRyaWJ1dGUgbm9kZS4KICAgICBpZiAoIXN0YXJ0MSB8fCAhc3RhcnQyKQotICAgICAg
ICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJ
T05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUM7CisgICAgICAgIHJldHVybiBjb21wYXJlRGV0YWNo
ZWRFbGVtZW50c1Bvc2l0aW9uKHRoaXMsIG90aGVyTm9kZSk7CiAKICAgICBWZWN0b3I8Tm9kZSos
IDE2PiBjaGFpbjE7CiAgICAgVmVjdG9yPE5vZGUqLCAxNj4gY2hhaW4yOwpAQCAtMTY3NSw3ICsx
Njg3LDcgQEAgdW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9k
ZSogb3RoZXJOb2RlKQogICAgIC8vIGNvbXBhcmluZyBBdHRyIG5vZGVzIGhlcmUsIHNpbmNlIHRo
ZXkgcmV0dXJuIGZhbHNlIGZyb20gaW5Eb2N1bWVudCgpIGFsbCB0aGUgdGltZSAod2hpY2ggc2Vl
bXMgbGlrZSBhIGJ1ZykuCiAgICAgaWYgKHN0YXJ0MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0Mi0+
aW5Eb2N1bWVudCgpIHx8CiAgICAgICAgIHN0YXJ0MS0+dHJlZVNjb3BlKCkgIT0gc3RhcnQyLT50
cmVlU2NvcGUoKSkKLSAgICAgICAgcmV0dXJuIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RF
RCB8IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOworICAgICAgICBy
ZXR1cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUpOwog
CiAgICAgLy8gV2UgbmVlZCB0byBmaW5kIGEgY29tbW9uIGFuY2VzdG9yIGNvbnRhaW5lciwgYW5k
IHRoZW4gY29tcGFyZSB0aGUgaW5kaWNlcyBvZiB0aGUgdHdvIGltbWVkaWF0ZSBjaGlsZHJlbi4K
ICAgICBOb2RlKiBjdXJyZW50OwpAQCAtMTY4OCwxMCArMTcwMCw4IEBAIHVuc2lnbmVkIHNob3J0
IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICB1bnNp
Z25lZCBpbmRleDIgPSBjaGFpbjIuc2l6ZSgpOwogCiAgICAgLy8gSWYgdGhlIHR3byBlbGVtZW50
cyBkb24ndCBoYXZlIGEgY29tbW9uIHJvb3QsIHRoZXkncmUgbm90IGluIHRoZSBzYW1lIHRyZWUu
Ci0gICAgaWYgKGNoYWluMVtpbmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pIHsKLSAg
ICAgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uID0gKHN0YXJ0MSA+IHN0YXJ0MikgPyBET0NV
TUVOVF9QT1NJVElPTl9QUkVDRURJTkcgOiBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7Ci0g
ICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IGRpcmVjdGlvbjsKLSAgICB9CisgICAg
aWYgKGNoYWluMVtpbmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pCisgICAgICAgIHJl
dHVybiBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKHRoaXMsIG90aGVyTm9kZSk7CiAK
ICAgICAvLyBXYWxrIHRoZSB0d28gY2hhaW5zIGJhY2t3YXJkcyBhbmQgbG9vayBmb3IgdGhlIGZp
cnN0IGRpZmZlcmVuY2UuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbWluKGluZGV4MSwgaW5kZXgy
KTsgaTsgLS1pKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208032</attachid>
            <date>2013-08-02 10:53:41 -0700</date>
            <delta_ts>2015-08-24 18:50:34 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>119316_compareDocumentPosition2.patch</filename>
            <type>text/plain</type>
            <size>22510</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyM2NjM2MzLi44ODViMDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMtMDgt
MDIgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAg
ICAgIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVDRURJTkcgb3Ig
Rk9MTE9XSU5HIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFVwZGF0ZSBmYXN0L2Rv
bS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sIHRvIGNo
ZWNrIHRoYXQgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKQorICAgICAgICBub3cgcmV0dXJucyBv
bmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZm9yIGRpc2Nvbm5lY3RlZCBub2RlczoKKyAgICAg
ICAgLSBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9J
TVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworICAg
ICAgICAtIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCisK
KyAgICAgICAgU2V2ZXJhbCBkb20veGh0bWwvbGV2ZWwzIGFyZSBza2lwcGVkIGFuZCBtYXJrZWQg
YXMgV29uZkZpeCBiZWNhdXNlIHRoZXkgYXJlIG91dGRhdGVkIGFuZCBubyBsb25nZXIgbWF0Y2gK
KyAgICAgICAgdGhlIERPTTQgc3BlY2lmaWNhdGlvbi4gVGhleSBleHBlY3QgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSBub3QgdG8gcmV0dXJuIFBSRUNFRElORyAvIEZPTExPV0lORworICAgICAg
ICBpbmZvcm1hdGlvbiBmb3IgZGlzY29ubmVjdGVkIG5vZGVzLgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVk
b2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2NvbXBh
cmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1u
b2Rlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBv
c2l0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1k
b2N1bWVudC1wb3NpdGlvbi5odG1sOgorCiAyMDEzLTA4LTAyICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWUgZmxhdHRlbmluZzogQ2hhbmdlIHRoZSBsb2dp
YyBvbiB3aGV0aGVyIHJlc2l6ZSBldmVudCBuZWVkcyB0byBiZSBkaXNwYXRjaGVkLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggN2NlY2ZhYy4uN2NkN2I5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0x
Niw2ICsxNiwyMSBAQCB3ZWJraXQub3JnL2IvMTE2NDczIGVkaXRpbmcvc2VsZWN0aW9uL3VzZXIt
ZHJhZy1lbGVtZW50LWFuZC11c2VyLXNlbGVjdC1ub25lLmh0bQogIyBtZWRpYS9XM0MvdmlkZW8v
bmV0d29ya1N0YXRlL25ldHdvcmtTdGF0ZV9kdXJpbmdfcHJvZ3Jlc3MuaHRtbCBpcyBmbGFreQog
d2Via2l0Lm9yZy9iLzc2MjgwIG1lZGlhL1czQy92aWRlby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0
YXRlX2R1cmluZ19wcm9ncmVzcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAorIyBUaGVzZSBjb25m
b3JtYWNlIHRlc3RzIGFyZSBubyBsb25nZXIgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3Qgc3BlY2lm
aWNhdGlvbgorIyBhbmQgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgdG8gcmV0dXJu
OgorIyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyB8IERPQ1VNRU5U
X1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorIyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzIChtaXNzaW5n
IFBSRUNFRElORyAvIEZPTExPV0lORyBpbmZvcm1hdGlvbikuCisjIFdlIGNhbm5vdCBjaGVjayBy
ZWJhc2VsaW5lIHRoZW0gYmVjYXVzZSB0aGVpciBvdXRwdXQgaXMgbGlrZWx5IHRvIGNoYW5nZQor
IyBiZXR3ZWVuIHRlc3QgcnVucyBhcyBpdCBkZWNpZGVzIFBSRUNFRElORyAvIEZPTExPV0lORyB1
c2luZyBwb2ludGVyCisjIGNvbXBhcmlzb24uCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNv
bXBhcmVkb2N1bWVudHBvc2l0aW9uMDMueGh0bWwgWyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZl
bDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24wNS54aHRtbCBbIFdvbnRGaXggXQor
ZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjE2LnhodG1s
IFsgV29udEZpeCBdCitkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBv
c2l0aW9uMzMueGh0bWwgWyBXb250Rml4IF0KKworIyBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3Np
dGlvbigpIHdyb25nbHkgcmVwb3J0cyBhbiBhdHRyaWJ1dGUgYW5kIGl0cyBjb250ZW50IGFzIGRp
c2Nvbm5lY3RlZC4KK3dlYmtpdC5vcmcvYi8xMTkzMjUgZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LnhodG1sIFsgRmFpbHVyZSBdCisKICMgVGhlIENT
UyBTaGFwZXMgc3BlYyBoYXMgY2hhbmdlZCB0aGUgcG9zaXRpb25pbmcgbW9kZWwgZm9yIGZsb2F0
cyB3aXRoIHNoYXBlLW91dHNpZGUuCiAjIFRodXMgYWxsIG9mIHRoZSB0ZXN0cyBuZWVkIHRvIGJl
IHJld2l0dGVuIHRvIHdvcmsgYXMgdGhlIGltcGxlbWVudGF0aW9uIG9mCiAjIHRoZSBuZXcgbW9k
ZWwgaXMgY29tcGxldGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVs
My9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24z
OC1leHBlY3RlZC50eHQKaW5kZXggMWEyYzZmNS4uYmMzOTA3NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMiBAQAog
VGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25v
ZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4Ci1TdGF0dXMJZmFpbHVyZQotTWVzc2FnZQlub2Rl
Y29tcGFyZWRvY3VtZW50cG9zaXRpb25Jc0NvbnRhaW5zRm9sbG93aW5nMzg6IGFzc2VydEVxdWFs
cyBmYWlsZWQsIGFjdHVhbCAzMywgZXhwZWN0ZWQgMjAuCitTdGF0dXMJU3VjY2VzcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNj
b25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFy
ZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDY5MDE1MTQuLjQ1NzFmZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBh
cmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5l
Y3RlZC1ub2Rlcy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw1OCBAQAorKiBUZXN0IHdpdGggMiBk
aXNjb25uZWN0ZWQgZWxlbWVudHMKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVECiBQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRAogUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCiBQQVNTIGIuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMK
IFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBp
cyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
aXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggZG9jdW1lbnQgYW5k
IGEgZGlzY29ubmVjdGVkIGVsZW1lbnQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcK
K1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lO
RyBpcyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YSkgaXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggZG9jdW1lbnQg
YW5kIGEgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZQorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5U
QVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9QUkVDRURJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExP
V0lORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9QUkVDRURJTkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlz
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSBpcyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpCisqIFRlc3Qgd2l0aCAyIGRp
c2Nvbm5lY3RlZCBhdHRyaWJ1dGVzCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX1BSRUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQ
QVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcg
aXMgbm9uLXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
IGlzIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRpc2Nvbm5lY3Rl
ZCBhdHRyaWJ1dGUgYW5kIGVsZW1lbnQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihi
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcK
K1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lO
RyBpcyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YSkgaXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0
ZWQtbm9kZXMuaHRtbAppbmRleCBjM2FiZWY5Li45NmFhMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rl
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRp
b24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwKQEAgLTMsMTUgKzMsMzYgQEAKIDxoZWFkPgogICAg
IDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIHdpbmRvdy5hID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
YScpOwotICAgICAgICB3aW5kb3cuYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2InKTsKKyAg
ICAgICAgdmFyIGE7CisgICAgICAgIHZhciBiOwogCi0gICAgICAgIHNob3VsZEJlKCdhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKLSAgICAgICAgc2hv
dWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcp
OwotICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOwotICAgICAgICBzaG91bGRCZSgn
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycpOwotICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJywgJ2IuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycp
OwotICAgICAgICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICBmdW5j
dGlvbiB0ZXN0RWxlbWVudHMoX2EsIF9iKSB7CisgICAgICAgICAgICBhID0gX2E7CisgICAgICAg
ICAgICBiID0gX2I7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdi
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVND
T05ORUNURUQnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycsICdOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJyk7CisgICAgICAgICAgICBzaG91bGRCZSgn
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1Q
TEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycpOworICAgICAgICAgICAgc2hvdWxkTm90QmUoJ2EuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycsICdiLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJ
TkcnKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnLCAnYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAg
ICAgICAgICBzaG91bGRCZU5vblplcm8oJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgICAg
IHNob3VsZEJlTm9uWmVybygnYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORycpOworICAgICAgICAgICAgLy8gTWFr
ZSBzdXJlIHRoZSByZXR1cm5lZCByZXN1bHQgaXMgY29uc2lzdGVudC4KKyAgICAgICAgICAgIHNo
b3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJywgJ2EuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYiknKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSknKTsKKyAgICAgICAgfQor
CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCAyIGRpc2Nvbm5lY3RlZCBlbGVtZW50cyIpOwor
ICAgICAgICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpLCBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdiJykpOworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGggZG9jdW1l
bnQgYW5kIGEgZGlzY29ubmVjdGVkIGVsZW1lbnQiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRv
Y3VtZW50LCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJykpOworICAgICAgICBkZWJ1ZygiKiBU
ZXN0IHdpdGggZG9jdW1lbnQgYW5kIGEgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZSIpOworICAgICAg
ICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQsIGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgnYicpKTsK
KyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIDIgZGlzY29ubmVjdGVkIGF0dHJpYnV0ZXMiKTsK
KyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiYSIpLCBkb2N1
bWVudC5jcmVhdGVBdHRyaWJ1dGUoImIiKSk7CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCBk
aXNjb25uZWN0ZWQgYXR0cmlidXRlIGFuZCBlbGVtZW50Iik7CisgICAgICAgIHRlc3RFbGVtZW50
cyhkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoImEiKSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
YiIpKTsKICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1l
eHBlY3RlZC50eHQKaW5kZXggNWQwY2Q3ZS4uMjA1ODAxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0
aW9uLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5LDE0IEBAIFBBU1MgYTIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYTMpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCiBQQVNTIGIx
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIyKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NP
TlRBSU5FRF9CWSB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCiBQQVNTIGIyLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRB
SU5TIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKIFBBU1MgYjIuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYjMpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCi1Q
QVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMKLVBBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpIGlzIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBM
RU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBhMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVy
by4KK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQKK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGIxKSBpcyBhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkKK1BBU1MgYjEuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
YjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9G
T0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMx
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMx
KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiMS5jb21w
YXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgaXMgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEp
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1w
b3NpdGlvbi5odG1sCmluZGV4IDA5OWU1NjQuLmRiZmJkZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRt
bApAQCAtNDUsMTAgKzQ1LDE1IEBAIGZ1bmN0aW9uIHRlc3RDb21wYXJlRG9jdW1lbnRQb3NpdGlv
bigpCiAgICAgc2hvdWxkQmUoJ2IyLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKScsICdOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TIHwgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcnKTsKICAgICBzaG91bGRCZSgnYjIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjMpJywg
J05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CiAKLSAgICAvLyBUaGUgY3VycmVu
dCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCByZXR1cm4gRk9MTE9XSU5HIE9SIFBSRUNFRElORyBm
bGFnLgotICAgIC8vIFdlIG5lZWQgYSBzdGFibGUgaW1wbGVtZW50YXRpb24gd2hpY2ggZGVjaWRl
cyB0aGUgdG90YWwgb3JkZXIgYmV0d2VlbiBub2RlcyBpbiBkaWZmZXJlbnQgc2hhZG93IHRyZWVz
LgotICAgIHNob3VsZEJlKCdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lN
UExFTUVOVEFUSU9OX1NQRUNJRklDJyk7Ci0gICAgc2hvdWxkQmUoJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKScsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsKKyAgICAvLyBO
b2RlcyBpbiBkaWZmZXJlbnQgc2hhZG93IHRyZWVzLgorICAgIHNob3VsZEJlTm9uWmVybygnYTEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcgfHwgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICBzaG91bGRCZSgnYTEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICBzaG91bGRCZSgnYTEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYjEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQycsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDJyk7CisgICAgc2hvdWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKScs
ICdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSknKTsKKyAgICBzaG91bGRCZU5vblplcm8o
J2IxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIHx8IGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fRk9MTE9XSU5HJyk7CisgICAgc2hvdWxkQmUoJ2IxLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJywgJ05v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEJyk7CisgICAgc2hvdWxkQmUoJ2IxLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVN
RU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElP
Tl9TUEVDSUZJQycpOworICAgIHNob3VsZEJlKCdiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihj
MSknLCAnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpJyk7CiB9CiAKIHRlc3RDb21wYXJl
RG9jdW1lbnRQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDliZmRjNGUuLjQ2NWMwNDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wOC0wMiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNo
LmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgY29tcGFyZURvY3VtZW50UG9zaXRp
b24oKSBzaG91bGQgcmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJTkcgaW5mb3JtYXRpb24gZXZl
biBpZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkzMTYKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtl
IE5pd2EuCisKKyAgICAgICAgQXMgcGVyIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbiwgY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQgcmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJTkcK
KyAgICAgICAgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkOgorICAg
ICAgICAtIGh0dHA6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tbm9kZS1jb21wYXJlZG9jdW1l
bnRwb3NpdGlvbgorCisgICAgICAgIFRoaXMgYmVoYXZpb3IgaXMgY29uc2lzdGVudCB3aXRoIGJv
dGggSUUxMCwgRmlyZWZveCAyMiBhbmQgc2luY2UgcmVjZW50bHkgQmxpbmsuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9t
L05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGFyZURldGFjaGVkRWxlbWVudHNQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbik6
CisKIDIwMTMtMDgtMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92aW5nIGFuIGVtcHR5IHN0eWxlIHNoZWV0IHNob3VsZG4ndCB0cmlnZ2VyIHN0eWxl
IHJlY2FsYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBlNDQ0OTc3Li4xOGFhNDRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCkBAIC0xNjIxLDYgKzE2MjEsMTggQEAgYm9vbCBOb2RlOjpvZmZzZXRJbkNoYXJhY3Rl
cnMoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25l
ZCBzaG9ydCBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKE5vZGUqIGZpcnN0Tm9kZSwg
Tm9kZSogc2Vjb25kTm9kZSkKK3sKKyAgICAvLyBJZiB0aGUgMiBub2RlcyBhcmUgbm90IGluIHRo
ZSBzYW1lIHRyZWUsIHJldHVybiB0aGUgcmVzdWx0IG9mIGFkZGluZyBET0NVTUVOVF9QT1NJVElP
Tl9ESVNDT05ORUNURUQsCisgICAgLy8gRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMsIGFuZCBlaXRoZXIgRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIG9yCisgICAg
Ly8gRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLCB3aXRoIHRoZSBjb25zdHJhaW50IHRoYXQg
dGhpcyBpcyB0byBiZSBjb25zaXN0ZW50LiBXaGV0aGVyIHRvIHJldHVybgorICAgIC8vIERPQ1VN
RU5UX1BPU0lUSU9OX1BSRUNFRElORyBvciBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMg
aW1wbGVtZW50ZWQgaGVyZSB2aWEgcG9pbnRlcgorICAgIC8vIGNvbXBhcmlzb24uCisgICAgLy8g
U2VlIHN0ZXAgMyBpbiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWRvbS0yMDEyMTIwNi8j
ZG9tLW5vZGUtY29tcGFyZWRvY3VtZW50cG9zaXRpb24KKyAgICB1bnNpZ25lZCBzaG9ydCBkaXJl
Y3Rpb24gPSAoZmlyc3ROb2RlID4gc2Vjb25kTm9kZSkgPyBOb2RlOjpET0NVTUVOVF9QT1NJVElP
Tl9QUkVDRURJTkcgOiBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7CisgICAgcmV0
dXJuIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5vZGU6OkRPQ1VNRU5U
X1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgZGlyZWN0aW9uOworfQorCiB1bnNp
Z25lZCBzaG9ydCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKiBvdGhlck5vZGUp
CiB7CiAgICAgLy8gSXQgaXMgbm90IGNsZWFyIHdoYXQgc2hvdWxkIGJlIGRvbmUgaWYgfG90aGVy
Tm9kZXwgaXMgMC4KQEAgLTE2MzksNyArMTY1MSw3IEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICAvLyBJZiBlaXRoZXIg
b2Ygc3RhcnQxIG9yIHN0YXJ0MiBpcyBudWxsLCB0aGVuIHdlIGFyZSBkaXNjb25uZWN0ZWQsIHNp
bmNlIG9uZSBvZiB0aGUgbm9kZXMgaXMKICAgICAvLyBhbiBvcnBoYW5lZCBhdHRyaWJ1dGUgbm9k
ZS4KICAgICBpZiAoIXN0YXJ0MSB8fCAhc3RhcnQyKQotICAgICAgICByZXR1cm4gRE9DVU1FTlRf
UE9TSVRJT05fRElTQ09OTkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUM7CisgICAgICAgIHJldHVybiBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9u
KHRoaXMsIG90aGVyTm9kZSk7CiAKICAgICBWZWN0b3I8Tm9kZSosIDE2PiBjaGFpbjE7CiAgICAg
VmVjdG9yPE5vZGUqLCAxNj4gY2hhaW4yOwpAQCAtMTY3NSw3ICsxNjg3LDcgQEAgdW5zaWduZWQg
c2hvcnQgTm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJOb2RlKQogICAg
IC8vIGNvbXBhcmluZyBBdHRyIG5vZGVzIGhlcmUsIHNpbmNlIHRoZXkgcmV0dXJuIGZhbHNlIGZy
b20gaW5Eb2N1bWVudCgpIGFsbCB0aGUgdGltZSAod2hpY2ggc2VlbXMgbGlrZSBhIGJ1ZykuCiAg
ICAgaWYgKHN0YXJ0MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0Mi0+aW5Eb2N1bWVudCgpIHx8CiAg
ICAgICAgIHN0YXJ0MS0+dHJlZVNjb3BlKCkgIT0gc3RhcnQyLT50cmVlU2NvcGUoKSkKLSAgICAg
ICAgcmV0dXJuIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lU
SU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOworICAgICAgICByZXR1cm4gY29tcGFyZURldGFj
aGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUpOwogCiAgICAgLy8gV2UgbmVlZCB0
byBmaW5kIGEgY29tbW9uIGFuY2VzdG9yIGNvbnRhaW5lciwgYW5kIHRoZW4gY29tcGFyZSB0aGUg
aW5kaWNlcyBvZiB0aGUgdHdvIGltbWVkaWF0ZSBjaGlsZHJlbi4KICAgICBOb2RlKiBjdXJyZW50
OwpAQCAtMTY4OCwxMCArMTcwMCw4IEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICB1bnNpZ25lZCBpbmRleDIgPSBjaGFp
bjIuc2l6ZSgpOwogCiAgICAgLy8gSWYgdGhlIHR3byBlbGVtZW50cyBkb24ndCBoYXZlIGEgY29t
bW9uIHJvb3QsIHRoZXkncmUgbm90IGluIHRoZSBzYW1lIHRyZWUuCi0gICAgaWYgKGNoYWluMVtp
bmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pIHsKLSAgICAgICAgdW5zaWduZWQgc2hv
cnQgZGlyZWN0aW9uID0gKHN0YXJ0MSA+IHN0YXJ0MikgPyBET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcgOiBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7Ci0gICAgICAgIHJldHVybiBET0NV
TUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQyB8IGRpcmVjdGlvbjsKLSAgICB9CisgICAgaWYgKGNoYWluMVtpbmRleDEg
LSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pCisgICAgICAgIHJldHVybiBjb21wYXJlRGV0YWNo
ZWRFbGVtZW50c1Bvc2l0aW9uKHRoaXMsIG90aGVyTm9kZSk7CiAKICAgICAvLyBXYWxrIHRoZSB0
d28gY2hhaW5zIGJhY2t3YXJkcyBhbmQgbG9vayBmb3IgdGhlIGZpcnN0IGRpZmZlcmVuY2UuCiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gbWluKGluZGV4MSwgaW5kZXgyKTsgaTsgLS1pKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259804</attachid>
            <date>2015-08-24 18:50:42 -0700</date>
            <delta_ts>2015-08-25 10:58:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119316-20150824185033.patch</filename>
            <type>text/plain</type>
            <size>24178</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwMjE4MWNmOWIyMTRj
N2RiMGU3NTI2M2Y3ZWU5ZmZiZGVlNGQ3NC4uZWIwMDQ4ZTdkNGI0ZTE3N2ZjYTNjMDFiY2Y3YTI1
NDc0YzllOGVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgY29tcGFyZURvY3VtZW50UG9z
aXRpb24oKSBzaG91bGQgcmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJTkcgaW5mb3JtYXRpb24g
ZXZlbiBpZiBub2RlcyBhcmUgZGlzY29ubmVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkzMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBcyB0aGUgbGF0ZXN0IERPTSBzcGVjaWZpY2F0aW9uLCBj
b21wYXJlRG9jdW1lbnRQb3NpdGlvbigpIHNob3VsZCByZXBvcnQKKyAgICAgICAgUFJFQ0VESU5H
IG9yIEZPTExPV0lORyBpbmZvcm1hdGlvbiBldmVuIGlmIG5vZGVzIGFyZSBkaXNjb25uZWN0ZWQ6
CisgICAgICAgIC0gaHR0cDovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2RvbS1ub2RlLWNvbXBhcmVk
b2N1bWVudHBvc2l0aW9uCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBpcyBjb25zaXN0ZW50IHdp
dGggYm90aCBJRTEwLCBGaXJlZm94IGFuZCBDaHJvbWUuCisKKyAgICAgICAgVGhlIGltcGxlbWVu
dGF0aW9uIHJlbGllcyBvbiB0aGUgY29tcGFyaXNvbiBvZiBjcnlwdG9ncmFwaGljIGhhc2hlcwor
ICAgICAgICAoU0hBMSkgb2YgdGhlIE5vZGUgcG9pbnRlcnMgc28gdGhhdCB0aGUgcmVzdWx0cyBy
ZXR1cm5lZCBieSB0aGUgZnVuY3Rpb24KKyAgICAgICAgYXJlIGNvbnNpc3RlbnQuIFdlIGRvbid0
IGNvbXBhcmUgTm9kZSBwb2ludGVycyBkaXJlY3RseSBhcyBpdCB3YXMgZG9uZQorICAgICAgICBw
cmV2aW91c2x5IGluIHIxNTM2NjAgdG8gYXZvaWQgbGVha2luZyBpbmZvcm1hdGlvbiBhYm91dCBv
dXIgbWVtb3J5CisgICAgICAgIG1vZGVsIHRvIHRoZSBXZWIuCisKKyAgICAgICAgVGVzdDogZmFz
dC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbAor
ICAgICAgICBXM0MgVGVzdCBzdWl0ZTogaHR0cDovL3czYy10ZXN0Lm9yZy9kb20vbm9kZXMvTm9k
ZS1jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi5odG1sCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpoYXNoUG9pbnRlcik6CisgICAgICAgIChXZWJDb3JlOjpjb21w
YXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKToKKwogMjAxNS0wOC0yNCAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhdHRlbXB0IHRvIGZp
eCBpT1MgYnVpbGQgYWZ0ZXIgcjE4ODg2MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDhkZmY3MDU4Yzc1
MWE4MDMyNmMwNTMzMGQwOWVlM2IzYTgzZGFkZmQuLmVlYjkyYTZhZDkzOGJkODUyMzFmZGI1MzBi
ZWQ4OTllMDhjZjVlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNs
dWRlICJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZExlYWtDb3VudGVyLmg+CisjaW5jbHVkZSA8d3RmL1NIQTEuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCkBAIC0xNDYwLDYgKzE0NjEsMzEgQEAgYm9vbCBOb2RlOjpvZmZzZXRJbkNoYXJhY3RlcnMo
KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIFNIQTE6OkRpZ2VzdCBoYXNo
UG9pbnRlcih2b2lkKiBwb2ludGVyKQoreworICAgIFNIQTEgc2hhMTsKKyAgICBzaGExLmFkZEJ5
dGVzKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZwb2ludGVyKSwgc2l6ZW9mKHBv
aW50ZXIpKTsKKyAgICBTSEExOjpEaWdlc3QgZGlnZXN0OworICAgIHNoYTEuY29tcHV0ZUhhc2go
ZGlnZXN0KTsKKyAgICByZXR1cm4gZGlnZXN0OworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IHNob3J0IGNvbXBhcmVEZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24oTm9kZSogZmlyc3ROb2RlLCBO
b2RlKiBzZWNvbmROb2RlKQoreworICAgIC8vIElmIHRoZSAyIG5vZGVzIGFyZSBub3QgaW4gdGhl
IHNhbWUgdHJlZSwgcmV0dXJuIHRoZSByZXN1bHQgb2YgYWRkaW5nIERPQ1VNRU5UX1BPU0lUSU9O
X0RJU0NPTk5FQ1RFRCwKKyAgICAvLyBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQywgYW5kIGVpdGhlciBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgb3IKKyAgICAv
LyBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcsIHdpdGggdGhlIGNvbnN0cmFpbnQgdGhhdCB0
aGlzIGlzIHRvIGJlIGNvbnNpc3RlbnQuIFdoZXRoZXIgdG8gcmV0dXJuCisgICAgLy8gRE9DVU1F
TlRfUE9TSVRJT05fUFJFQ0VESU5HIG9yIERPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBp
bXBsZW1lbnRlZCBieSBjb21wYXJpbmcgY3J5cHRvZ3JhcGhpYworICAgIC8vIGhhc2hlcyBvZiBO
b2RlIHBvaW50ZXJzLgorICAgIC8vIFNlZSBzdGVwIDMgaW4gaHR0cHM6Ly9kb20uc3BlYy53aGF0
d2cub3JnLyNkb20tbm9kZS1jb21wYXJlZG9jdW1lbnRwb3NpdGlvbgorICAgIFNIQTE6OkRpZ2Vz
dCBmaXJzdEhhc2ggPSBoYXNoUG9pbnRlcihmaXJzdE5vZGUpOworICAgIFNIQTE6OkRpZ2VzdCBz
ZWNvbmRIYXNoID0gaGFzaFBvaW50ZXIoc2Vjb25kTm9kZSk7CisKKyAgICB1bnNpZ25lZCBzaG9y
dCBkaXJlY3Rpb24gPSBtZW1jbXAoZmlyc3RIYXNoLmRhdGEoKSwgc2Vjb25kSGFzaC5kYXRhKCks
IFNIQTE6Omhhc2hTaXplKSA+IDAgPyBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcg
OiBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7CisKKyAgICByZXR1cm4gTm9kZTo6
RE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05f
SU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBkaXJlY3Rpb247Cit9CisKIHVuc2lnbmVkIHNob3J0
IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKIHsKICAgICAv
LyBJdCBpcyBub3QgY2xlYXIgd2hhdCBzaG91bGQgYmUgZG9uZSBpZiB8b3RoZXJOb2RlfCBpcyBu
dWxscHRyLgpAQCAtMTQ3OCw3ICsxNTA0LDcgQEAgdW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFy
ZURvY3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJOb2RlKQogICAgIC8vIElmIGVpdGhlciBvZiBz
dGFydDEgb3Igc3RhcnQyIGlzIG51bGwsIHRoZW4gd2UgYXJlIGRpc2Nvbm5lY3RlZCwgc2luY2Ug
b25lIG9mIHRoZSBub2RlcyBpcwogICAgIC8vIGFuIG9ycGhhbmVkIGF0dHJpYnV0ZSBub2RlLgog
ICAgIGlmICghc3RhcnQxIHx8ICFzdGFydDIpCi0gICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVD
SUZJQzsKKyAgICAgICAgcmV0dXJuIGNvbXBhcmVEZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24odGhp
cywgb3RoZXJOb2RlKTsKIAogICAgIFZlY3RvcjxOb2RlKiwgMTY+IGNoYWluMTsKICAgICBWZWN0
b3I8Tm9kZSosIDE2PiBjaGFpbjI7CkBAIC0xNTEwLDkgKzE1MzYsOCBAQCB1bnNpZ25lZCBzaG9y
dCBOb2RlOjpjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKiBvdGhlck5vZGUpCiAgICAgLy8g
SWYgb25lIG5vZGUgaXMgaW4gdGhlIGRvY3VtZW50IGFuZCB0aGUgb3RoZXIgaXMgbm90LCB3ZSBt
dXN0IGJlIGRpc2Nvbm5lY3RlZC4KICAgICAvLyBJZiB0aGUgbm9kZXMgaGF2ZSBkaWZmZXJlbnQg
b3duaW5nIGRvY3VtZW50cywgdGhleSBtdXN0IGJlIGRpc2Nvbm5lY3RlZC4gIE5vdGUgdGhhdCB3
ZSBhdm9pZAogICAgIC8vIGNvbXBhcmluZyBBdHRyIG5vZGVzIGhlcmUsIHNpbmNlIHRoZXkgcmV0
dXJuIGZhbHNlIGZyb20gaW5Eb2N1bWVudCgpIGFsbCB0aGUgdGltZSAod2hpY2ggc2VlbXMgbGlr
ZSBhIGJ1ZykuCi0gICAgaWYgKHN0YXJ0MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0Mi0+aW5Eb2N1
bWVudCgpIHx8Ci0gICAgICAgICZzdGFydDEtPnRyZWVTY29wZSgpICE9ICZzdGFydDItPnRyZWVT
Y29wZSgpKQotICAgICAgICByZXR1cm4gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwg
RE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUM7CisgICAgaWYgKHN0YXJ0
MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0Mi0+aW5Eb2N1bWVudCgpIHx8ICZzdGFydDEtPnRyZWVT
Y29wZSgpICE9ICZzdGFydDItPnRyZWVTY29wZSgpKQorICAgICAgICByZXR1cm4gY29tcGFyZURl
dGFjaGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUpOwogCiAgICAgLy8gV2UgbmVl
ZCB0byBmaW5kIGEgY29tbW9uIGFuY2VzdG9yIGNvbnRhaW5lciwgYW5kIHRoZW4gY29tcGFyZSB0
aGUgaW5kaWNlcyBvZiB0aGUgdHdvIGltbWVkaWF0ZSBjaGlsZHJlbi4KICAgICBOb2RlKiBjdXJy
ZW50OwpAQCAtMTUyNiw3ICsxNTUxLDcgQEAgdW5zaWduZWQgc2hvcnQgTm9kZTo6Y29tcGFyZURv
Y3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJOb2RlKQogCiAgICAgLy8gSWYgdGhlIHR3byBlbGVt
ZW50cyBkb24ndCBoYXZlIGEgY29tbW9uIHJvb3QsIHRoZXkncmUgbm90IGluIHRoZSBzYW1lIHRy
ZWUuCiAgICAgaWYgKGNoYWluMVtpbmRleDEgLSAxXSAhPSBjaGFpbjJbaW5kZXgyIC0gMV0pCi0g
ICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQzsKKyAgICAgICAgcmV0dXJuIGNvbXBhcmVE
ZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24odGhpcywgb3RoZXJOb2RlKTsKIAogICAgIC8vIFdhbGsg
dGhlIHR3byBjaGFpbnMgYmFja3dhcmRzIGFuZCBsb29rIGZvciB0aGUgZmlyc3QgZGlmZmVyZW5j
ZS4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGQ6Om1pbihpbmRleDEsIGluZGV4Mik7IGk7IC0t
aSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGRiYjY3NzkzNjZkYjg4OWIwMjk4ODg0M2JmNDg0OWZmOWY1YjE3OGYuLjcy
Y2FmNjIxN2UyOTVlNTk2M2FiYzc3M2QzMzExZTFmZTIwY2JjYTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwy
OCBAQAogMjAxNS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAg
ICAgIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgc2hvdWxkIHJlcG9ydCBQUkVDRURJTkcgb3Ig
Rk9MTE9XSU5HIGluZm9ybWF0aW9uIGV2ZW4gaWYgbm9kZXMgYXJlIGRpc2Nvbm5lY3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGZhc3Qv
ZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLmh0bWwgdG8g
Y2hlY2sgdGhhdCBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigpCisgICAgICAgIG5vdyByZXR1cm5z
IG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcyBmb3IgZGlzY29ubmVjdGVkIG5vZGVzOgorICAg
ICAgICAtIERPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCB8IERPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIHwgRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HCisg
ICAgICAgIC0gRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgRE9DVU1FTlRfUE9TSVRJ
T05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgfCBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcK
KworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFNldmVyYWwgZG9tL3hodG1s
L2xldmVsMyBhcmUgc2tpcHBlZCBhbmQgbWFya2VkIGFzIFdvbmZGaXggYmVjYXVzZSB0aGV5IGFy
ZSBvdXRkYXRlZCBhbmQgbm8gbG9uZ2VyIG1hdGNoCisgICAgICAgIHRoZSBsYXRlc3QgRE9NIHNw
ZWNpZmljYXRpb24uIFRoZXkgZXhwZWN0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkgbm90IHRv
IHJldHVybiBQUkVDRURJTkcgLyBGT0xMT1dJTkcKKyAgICAgICAgaW5mb3JtYXRpb24gZm9yIGRp
c2Nvbm5lY3RlZCBub2Rlcy4KKworICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rl
Y29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9k
b20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29u
bmVjdGVkLW5vZGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9j
dW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9j
b21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWw6CisKKzIwMTUtMDgtMjQgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBVbnJldmlld2VkLCBzbGlnaHQgbGF5b3V0
IHRlc3QgY2xlYW4gdXAgYWZ0ZXIgcjE4ODgyOS4KIAogICAgICAgICBSZW1vdmUgYSB1c2VsZXNz
IGJsYW5rIGxpbmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzNjFlYTY4N2U2NzI3Y2MwYzZiMWI3
NzAyZmU1NmE3ZTQzOWFjZWI4Li41NzE2ODhmYTQ3YzhiMDUzODhhMDMyYjBkMjk2YmVmNGExMDU0
OWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNiw2ICsxMjYsMjEgQEAgd2Via2l0Lm9yZy9i
Lzc0MTQ0IGZhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvNzQxNDQgZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10
by10aGUtc2FtZS1yZWdpb24uaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzc0MTQ0IGZhc3Qv
cmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sIFsgU2tpcCBdCiAK
KyMgVGhlc2UgY29uZm9ybWFjZSB0ZXN0cyBhcmUgbm8gbG9uZ2VyIGluIHN5bmMgd2l0aCB0aGUg
bGF0ZXN0IHNwZWNpZmljYXRpb24KKyMgYW5kIGV4cGVjdCBjb21wYXJlRG9jdW1lbnRQb3NpdGlv
bigpIHRvIHJldHVybjoKKyMgRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMgfCBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKKyMgZm9yIGRpc2Nvbm5lY3RlZCBu
b2RlcyAobWlzc2luZyBQUkVDRURJTkcgLyBGT0xMT1dJTkcgaW5mb3JtYXRpb24pLgorIyBXZSBj
YW5ub3QgY2hlY2sgcmViYXNlbGluZSB0aGVtIGJlY2F1c2UgdGhlaXIgb3V0cHV0IGlzIGxpa2Vs
eSB0byBjaGFuZ2UKKyMgYmV0d2VlbiB0ZXN0IHJ1bnMgYXMgaXQgZGVjaWRlcyBQUkVDRURJTkcg
LyBGT0xMT1dJTkcgdXNpbmcgcG9pbnRlcgorIyBjb21wYXJpc29uLgorZG9tL3hodG1sL2xldmVs
My9jb3JlL25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjAzLnhodG1sIFsgV29udEZpeCBdCitk
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMDUueGh0bWwg
WyBXb250Rml4IF0KK2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9z
aXRpb24xNi54aHRtbCBbIFdvbnRGaXggXQorZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVjb21w
YXJlZG9jdW1lbnRwb3NpdGlvbjMzLnhodG1sIFsgV29udEZpeCBdCisKKyMgTm9kZTo6Y29tcGFy
ZURvY3VtZW50UG9zaXRpb24oKSB3cm9uZ2x5IHJlcG9ydHMgYW4gYXR0cmlidXRlIGFuZCBpdHMg
Y29udGVudCBhcyBkaXNjb25uZWN0ZWQuCit3ZWJraXQub3JnL2IvMTE5MzI1IGRvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC54aHRtbCBbIEZhaWx1cmUg
XQorCiAjIEV4cGFuZG8gcHJvcGVydGllcyBvbiBhdHRyaWJ1dGUgbm9kZXMgZGlzYXBwZWFyCiB3
ZWJraXQub3JnL2IvODgwNDUgZmFzdC9kb20vZ2MtYXR0cmlidXRlLW5vZGUuaHRtbCBbIEZhaWx1
cmUgUGFzcyBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uMzgtZXhw
ZWN0ZWQudHh0CmluZGV4IDFhMmM2ZjUxNmQ1MzJjNTU0MmQ4ZWI5ZWI4YTY2ZWE5NzExODY0N2Uu
LmJjMzkwNzRlMjcwMWE2MDRkNmRiZWE2ZWY3YjM4MmQ4MzUxZTZkNzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRp
b24zOC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVjb21wYXJlZG9jdW1lbnRwb3NpdGlvbjM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDIg
QEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29y
ZS9ub2RlY29tcGFyZWRvY3VtZW50cG9zaXRpb24zOAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJ
bm9kZWNvbXBhcmVkb2N1bWVudHBvc2l0aW9uSXNDb250YWluc0ZvbGxvd2luZzM4OiBhc3NlcnRF
cXVhbHMgZmFpbGVkLCBhY3R1YWwgMzMsIGV4cGVjdGVkIDIwLgorU3RhdHVzCVN1Y2Nlc3MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24t
ZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Nv
bXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVzLWV4cGVjdGVkLnR4dApp
bmRleCBjMzQ5ZGM3ZGRhMzA1OTgzZWQyZjE1YTkyYWRmNDJlYmE1NDRmNGRkLi40NTcxZmUxZmYx
MTljMGIyNzU1NGM0YWJhY2EwZmQ5NWM1MmZmNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3Np
dGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsNTggQEAKKyog
VGVzdCB3aXRoIDIgZGlzY29ubmVjdGVkIGVsZW1lbnRzCiBQQVNTIGEuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAogUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQKIFBBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMg
aXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQwogUEFTUyBi
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBM
RU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFU
SU9OX1NQRUNJRklDCi1QQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRP
Q1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBpcyAwCi1QQVNTIGEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyAwCitQQVNTIGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRf
UE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO
RyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9uLXpl
cm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRpc2Nv
bm5lY3RlZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJ
QyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNT
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BS
RUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9u
LXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKKyogVGVzdCB3aXRoIGRvY3VtZW50IGFuZCBhIGRp
c2Nvbm5lY3RlZCBhdHRyaWJ1dGUKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAm
IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fRElTQ09OTkVDVEVECitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQ
RUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMK
K1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fUFJFQ0VESU5HIGlzIG5vdCBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vdCBiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKK1BB
U1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05f
UFJFQ0VESU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVyby4KK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIHx8IGIuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBp
cyBub24temVyby4KK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSBpcyBhLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIpCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
aXMgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKQorKiBUZXN0IHdpdGggMiBkaXNjb25uZWN0
ZWQgYXR0cmlidXRlcworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElT
Q09OTkVDVEVECitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VN
RU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMg
aXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBh
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVD
RURJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORworUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm90IGIuY29tcGFyZURvY3VtZW50
UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORworUEFTUyBhLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJ
TkcgfHwgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJ
T05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16
ZXJvLgorUEFTUyBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpIGlzIGEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYikKK1BBU1MgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSBpcyBiLmNv
bXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpCisqIFRlc3Qgd2l0aCBkaXNjb25uZWN0ZWQgYXR0cmli
dXRlIGFuZCBlbGVtZW50CitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0RJU0NPTk5FQ1RFRAorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9E
SVNDT05ORUNURUQKK1BBU1MgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9D
VU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgaXMgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQworUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJ
QyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNT
IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BS
RUNFRElORyBpcyBub3QgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fUFJFQ0VESU5HCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub3QgYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HCitQQVNTIGEu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNF
RElORyB8fCBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJ
VElPTl9GT0xMT1dJTkcgaXMgbm9uLXplcm8uCitQQVNTIGIuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiLmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgbm9u
LXplcm8uCitQQVNTIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgaXMgYS5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihiKQorUEFTUyBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpIGlzIGIu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29t
cGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9kZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZGlzY29ubmVjdGVkLW5vZGVz
Lmh0bWwKaW5kZXggNzM2YjUyYTFkMGE1NDgwYTQ5OWU3MGU1NTFjZDgyNjEyMGZiZDBjNS4uYjU0
OTJkYWJhNzAxN2Q2NTU3NjY4M2UzOTYzOWRlMzZkMTAyMDZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1kaXNjb25uZWN0ZWQtbm9k
ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb21wYXJlLWRvY3VtZW50LXBvc2l0
aW9uLWRpc2Nvbm5lY3RlZC1ub2Rlcy5odG1sCkBAIC0zLDE1ICszLDM1IEBACiA8aGVhZD4KICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0PgotICAgICAgICB3aW5kb3cuYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2EnKTsKLSAgICAgICAgd2luZG93LmIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJyk7Cisg
ICAgICAgIHZhciBhLCBiOwogCi0gICAgICAgIHNob3VsZEJlKCdhLmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKLSAgICAgICAgc2hvdWxkQmUoJ2IuY29t
cGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5F
Q1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcpOwotICAgICAgICBz
aG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9J
TVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOwotICAgICAgICBzaG91bGRCZSgnYi5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05f
U1BFQ0lGSUMnLCAnTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJ
QycpOwotICAgICAgICBzaG91bGRCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5v
ZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJywgJzAnKTsKLSAgICAgICAgc2hvdWxkQmUo
J2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZP
TExPV0lORycsICcwJyk7CisgICAgICAgIGZ1bmN0aW9uIHRlc3RFbGVtZW50cyhfYSwgX2IpIHsK
KyAgICAgICAgICAgIGEgPSBfYTsKKyAgICAgICAgICAgIGIgPSBfYjsKKworICAgICAgICAgICAg
c2hvdWxkQmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RF
RCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2EuY29tcGFyZURv
Y3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9O
X1NQRUNJRklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lG
SUMnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEp
ICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycsICdOb2Rl
LkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDJyk7CisgICAgICAgICAg
ICBzaG91bGROb3RCZSgnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1F
TlRfUE9TSVRJT05fUFJFQ0VESU5HJywgJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkgJiBO
b2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycpOworICAgICAgICAgICAgc2hvdWxkTm90
QmUoJ2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0ZPTExPV0lORycsICdiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKKyAgICAgICAgICAgIHNob3VsZEJlTm9uWmVybygnYS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VE
SU5HIHx8IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lU
SU9OX0ZPTExPV0lORycpOworICAgICAgICAgICAgc2hvdWxkQmVOb25aZXJvKCdiLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcgfHwg
Yi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HJyk7CisgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHJldHVybmVkIHJlc3VsdCBp
cyBjb25zaXN0ZW50LgorICAgICAgICAgICAgc2hvdWxkQmUoJ2EuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYiknLCAnYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKScpOworICAgICAgICAgICAg
c2hvdWxkQmUoJ2IuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSknLCAnYi5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbihhKScpOworICAgICAgICB9CisKKyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRo
IDIgZGlzY29ubmVjdGVkIGVsZW1lbnRzIik7CisgICAgICAgIHRlc3RFbGVtZW50cyhkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdhJyksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2InKSk7CisgICAg
ICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCBkb2N1bWVudCBhbmQgYSBkaXNjb25uZWN0ZWQgZWxlbWVu
dCIpOworICAgICAgICB0ZXN0RWxlbWVudHMoZG9jdW1lbnQsIGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2InKSk7CisgICAgICAgIGRlYnVnKCIqIFRlc3Qgd2l0aCBkb2N1bWVudCBhbmQgYSBkaXNj
b25uZWN0ZWQgYXR0cmlidXRlIik7CisgICAgICAgIHRlc3RFbGVtZW50cyhkb2N1bWVudCwgZG9j
dW1lbnQuY3JlYXRlQXR0cmlidXRlKCdiJykpOworICAgICAgICBkZWJ1ZygiKiBUZXN0IHdpdGgg
MiBkaXNjb25uZWN0ZWQgYXR0cmlidXRlcyIpOworICAgICAgICB0ZXN0RWxlbWVudHMoZG9jdW1l
bnQuY3JlYXRlQXR0cmlidXRlKCJhIiksIGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiYiIpKTsK
KyAgICAgICAgZGVidWcoIiogVGVzdCB3aXRoIGRpc2Nvbm5lY3RlZCBhdHRyaWJ1dGUgYW5kIGVs
ZW1lbnQiKTsKKyAgICAgICAgdGVzdEVsZW1lbnRzKGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgi
YSIpLCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIikpOwogICAgIDwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRv
Y3VtZW50LXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA1ZDBjZDdlNzQ2
OWQ5MTk4ZTYwNGIzNTBiYTA2ZGI3Zjg3NTczOTFkLi4yMDU4MDFmMmY4MTQ3MWVhZmVmMjI2ZGQ2
MjFiZDIzNGEzZDEyZjRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24tZXhwZWN0ZWQudHh0CkBA
IC05LDggKzksMTQgQEAgUEFTUyBhMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhMykgaXMgTm9k
ZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKIFBBU1MgYjEuY29tcGFyZURvY3VtZW50UG9z
aXRpb24oYjIpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIHwgTm9kZS5E
T0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKIFBBU1MgYjIuY29tcGFyZURvY3VtZW50UG9zaXRp
b24oYjEpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlMgfCBOb2RlLkRPQ1VNRU5U
X1BPU0lUSU9OX1BSRUNFRElORwogUEFTUyBiMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMykg
aXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcKLVBBU1MgYTEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYjEpIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwg
Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQwotUEFTUyBiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVND
T05ORUNURUQgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
CitQQVNTIGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUuRE9DVU1FTlRfUE9T
SVRJT05fUFJFQ0VESU5HIHx8IGExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKSAmIE5vZGUu
RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HIGlzIG5vbi16ZXJvLgorUEFTUyBhMS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RF
RCBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRAorUEFTUyBhMS5jb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFU
SU9OX1NQRUNJRklDIGlzIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BF
Q0lGSUMKK1BBU1MgYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpIGlzIGExLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKGIxKQorUEFTUyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBiMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihjMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyBpcyBub24temVy
by4KK1BBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9ESVNDT05ORUNURUQgaXMgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNU
RUQKK1BBU1MgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9Q
T1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBpcyBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9O
X0lNUExFTUVOVEFUSU9OX1NQRUNJRklDCitQQVNTIGIxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KGMxKSBpcyBiMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSkKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb21wYXJlLWRvY3VtZW50LXBvc2l0aW9uLmh0bWwKaW5kZXgg
NTdmOTgwNDVkYWQyOThmY2JjOTQxYjEwMzcxNjVjNmMxNTZmNGNlYi4uNmM1MWZmYmNjZDk0ZGIz
NTk5N2MwOTAwMDFlOGM4ODExMDUyMjE4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NvbXBhcmUtZG9jdW1lbnQtcG9zaXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29tcGFyZS1kb2N1bWVudC1wb3NpdGlvbi5odG1sCkBAIC00NSwx
MCArNDUsMTUgQEAgZnVuY3Rpb24gdGVzdENvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCkKICAgICBz
aG91bGRCZSgnYjIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpJywgJ05vZGUuRE9DVU1FTlRf
UE9TSVRJT05fQ09OVEFJTlMgfCBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORycpOwog
ICAgIHNob3VsZEJlKCdiMi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMyknLCAnTm9kZS5ET0NV
TUVOVF9QT1NJVElPTl9GT0xMT1dJTkcnKTsKIAotICAgIC8vIFRoZSBjdXJyZW50IGltcGxlbWVu
dGF0aW9uIGRvZXMgbm90IHJldHVybiBGT0xMT1dJTkcgT1IgUFJFQ0VESU5HIGZsYWcuCi0gICAg
Ly8gV2UgbmVlZCBhIHN0YWJsZSBpbXBsZW1lbnRhdGlvbiB3aGljaCBkZWNpZGVzIHRoZSB0b3Rh
bCBvcmRlciBiZXR3ZWVuIG5vZGVzIGluIGRpZmZlcmVudCBzaGFkb3cgdHJlZXMuCi0gICAgc2hv
dWxkQmUoJ2ExLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIxKScsICdOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRCB8IE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJ
T05fU1BFQ0lGSUMnKTsKLSAgICBzaG91bGRCZSgnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YzEpJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEIHwgTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQycpOworICAgIC8vIE5vZGVzIGluIGRp
ZmZlcmVudCBzaGFkb3cgdHJlZXMuCisgICAgc2hvdWxkQmVOb25aZXJvKCdhMS5jb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyB8fCBh
MS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZP
TExPV0lORycpOworICAgIHNob3VsZEJlKCdhMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiMSkg
JiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRCcsICdOb2RlLkRPQ1VNRU5UX1BP
U0lUSU9OX0RJU0NPTk5FQ1RFRCcpOworICAgIHNob3VsZEJlKCdhMS5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihiMSkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJ
RklDJywgJ05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMnKTsK
KyAgICBzaG91bGRCZSgnYTEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYjEpJywgJ2ExLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKGIxKScpOworICAgIHNob3VsZEJlTm9uWmVybygnYjEuY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcg
fHwgYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElP
Tl9GT0xMT1dJTkcnKTsKKyAgICBzaG91bGRCZSgnYjEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o
YzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQnLCAnTm9kZS5ET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQnKTsKKyAgICBzaG91bGRCZSgnYjEuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oYzEpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9T
UEVDSUZJQycsICdOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
Jyk7CisgICAgc2hvdWxkQmUoJ2IxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMxKScsICdiMS5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMSknKTsKIH0KIAogdGVzdENvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>