<?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>166637</bug_id>
          
          <creation_ts>2017-01-02 02:49:34 -0800</creation_ts>
          <short_desc>[css-grid] Fix crash clamping grid lines</short_desc>
          <delta_ts>2017-06-05 13:47:20 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=670241</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60731</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Manuel Rego Casasnovas">rego</reporter>
          <assigned_to name="Manuel Rego Casasnovas">rego</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hyatt</cc>
    
    <cc>jfernandez</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1263279</commentid>
    <comment_count>0</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-02 02:49:34 -0800</bug_when>
    <thetext>[css-grid] Fix crash clamping grid lines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263280</commentid>
    <comment_count>1</comment_count>
      <attachid>297887</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-02 02:49:54 -0800</bug_when>
    <thetext>Created attachment 297887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263281</commentid>
    <comment_count>2</comment_count>
      <attachid>297888</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-02 02:50:46 -0800</bug_when>
    <thetext>Created attachment 297888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263282</commentid>
    <comment_count>3</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-02 02:52:45 -0800</bug_when>
    <thetext>This has been ported from Blink:
https://codereview.chromium.org/2546993002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263388</commentid>
    <comment_count>4</comment_count>
      <attachid>297888</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-02 18:50:02 -0800</bug_when>
    <thetext>Comment on attachment 297888
Patch

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

Looks like good work, but I am not saying review+ or review- because I have so many doubts.

Link error saying this symbol can’t be found on the Apple platforms:

   &quot;WebCore::CSSPrimitiveValue::doubleValue() const&quot;

The fix is to add WEBCORE_EXPORT to the doubleValue() function in CSSPrimitiveValue.h or change the code so it doesn’t call this.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Avoid issues with very big values for the grid lines clamping them during parsing time.

Is parsing time the right place for these kinds of limits? I’d like to hear what Hyatt has to say about that, unless you are absolutely sure.

&gt; Source/WebCore/css/parser/CSSPropertyParser.cpp:2988
&gt; +    if (numericValue)
&gt; +        numericValue = CSSPrimitiveValue::create(clampTo(numericValue-&gt;intValue(), -kGridMaxTracks, kGridMaxTracks), CSSPrimitiveValue::UnitType::CSS_NUMBER);

It seems unfortunate to create a new CSSPrimitiveValue object for this rather than clamping before creating the CSSPrimitiveValue object; feels unnecessarily inefficient. If clamping during parsing is going to be a normal pattern, can we make a consumeInteger function that does the clamping perhaps?

&gt; Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:48
&gt; +static int getGridPositionInteger(CSSValueList&amp; valueList)

Normally we would not use &quot;get&quot; in a function name in WebKit unless the name came from the web platform.

&gt; Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:51
&gt; +    const auto* primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(valueList.item(0));

Given this is a test the assertions aren’t great. We’d rather have the test system assertions instead of WebKit’s own internal assertions, I think.

I would use auto* here; no need to explicitly write const. But also, why not use a reference instead a pointer?

&gt; Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:53
&gt; +    return primitiveValue-&gt;intValue();

Using intValue isn’t ideal for the test, because intValue itself does some clamping when it fetches the value. I suggest we use doubleValue() instead. Although perhaps the actual grid code uses intValue? (This seems a bit messy to me that we have are adding clamping in the parser and already have clamping in the intValue function.)

Given that intValue itself clamps, I think the clamping might belong in the grid, not in the style parsing. Or in the style computation. It’s a bit peculiar to have clamping that is visible through the CSS object model.

&gt; Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:96
&gt; +TEST(CSSPropertyParserTest, GridPositionLimits)

Given that we implemented the clamping in the parser, this could be tested easily with code in JavaScript using the CSS object model. So it seems unnecessary to make kind of unit-test-style test for it.

But I think maybe not in the parser.

&gt; Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:122
&gt; +        EXPECT_EQ(getGridPositionInteger(*downcast&lt;CSSValueList&gt;(value.get())), testCase.output);

Normally we would write downcast&lt;CSSValueList&gt;(*value) instead of the thing written here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263742</commentid>
    <comment_count>5</comment_count>
      <attachid>298006</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-04 05:06:58 -0800</bug_when>
    <thetext>Created attachment 298006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263744</commentid>
    <comment_count>6</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-04 05:12:48 -0800</bug_when>
    <thetext>Thanks for the review!

(In reply to comment #4)
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Avoid issues with very big values for the grid lines clamping them during parsing time.
&gt; 
&gt; Is parsing time the right place for these kinds of limits? I’d like to hear
&gt; what Hyatt has to say about that, unless you are absolutely sure.

We are already clamping on parsing time for &quot;repaet()&quot; syntax.
Hoever I&apos;ve tried a different approach for this patch, clamping on GridPosition, which seems to be working fine too.

I&apos;m creating a new unit test to check the expected behavior.
The reason to do a unit test instead of a regular layout test is to avoid creating a very huge grid to run the tests.
That&apos;s why we originally created CSSParser.cpp test in bug #136217.

PTAL to the new version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263745</commentid>
    <comment_count>7</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-04 05:13:53 -0800</bug_when>
    <thetext>BTW, when I reported the bug I forgot to mention how to reproduce it.
It&apos;s enough with a very simple grid like:
  &lt;!DOCTYPE html&gt;
  &lt;div style=&quot;display: grid;&quot;&gt;
    &lt;div style=&quot;grid-column-start: 500000000000000000000000 foo;&quot;&gt;test&lt;/div&gt;
  &lt;/div&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263803</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-04 10:04:04 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; We are already clamping on parsing time for &quot;repeat()&quot; syntax.

I believe this is a web-platform-observable choice. On the face of it, it seems always bad to me to change values as part of parsing them rather than in code that is interpreting the values. It reminds me of the kind of thing we did early in the WebKit project when we didn&apos;t understand the web platform as well as we do now.

Thanks for the new patch, I think it’s better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263804</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-04 10:04:23 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; BTW, when I reported the bug I forgot to mention how to reproduce it.
&gt; It&apos;s enough with a very simple grid like:
&gt;   &lt;!DOCTYPE html&gt;
&gt;   &lt;div style=&quot;display: grid;&quot;&gt;
&gt;     &lt;div style=&quot;grid-column-start: 500000000000000000000000 foo;&quot;&gt;test&lt;/div&gt;
&gt;   &lt;/div&gt;

Besides the unit test, I’d like to see a test like that one too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263805</commentid>
    <comment_count>10</comment_count>
      <attachid>298006</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-04 10:05:03 -0800</bug_when>
    <thetext>Comment on attachment 298006
Patch

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

&gt; Source/WebCore/rendering/style/GridPosition.h:136
&gt; +    void setIntegerPosition(int integerPosition)
&gt; +    {
&gt; +        m_integerPosition = clampTo(integerPosition, -kGridMaxTracks, kGridMaxTracks);
&gt; +    }

Normally we would put private function members before the data members, and we would put a blank line before &quot;private:&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263882</commentid>
    <comment_count>11</comment_count>
      <attachid>298042</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-04 13:58:36 -0800</bug_when>
    <thetext>Created attachment 298042
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263884</commentid>
    <comment_count>12</comment_count>
      <attachid>298006</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-01-04 14:00:34 -0800</bug_when>
    <thetext>Comment on attachment 298006
Patch

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

Uploaded patch for landing, adding layout test as requested.
Thanks for the review.

&gt;&gt; Source/WebCore/rendering/style/GridPosition.h:136
&gt;&gt; +    }
&gt; 
&gt; Normally we would put private function members before the data members, and we would put a blank line before &quot;private:&quot;.

Sure. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264023</commentid>
    <comment_count>13</comment_count>
      <attachid>298042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-04 23:04:07 -0800</bug_when>
    <thetext>Comment on attachment 298042
Patch for landing

Clearing flags on attachment: 298042

Committed r210320: &lt;http://trac.webkit.org/changeset/210320&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264024</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-04 23:04:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315765</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-05 13:47:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/32571846&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297887</attachid>
            <date>2017-01-02 02:49:54 -0800</date>
            <delta_ts>2017-01-02 02:50:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166637-20170102114831.patch</filename>
            <type>text/plain</type>
            <size>4673</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk4ZDcyNThmOWUzMzRl
ZDhjYmExOGY3OWViODEzZTE3MDEzNzNhMy4uMmUzZTI3NjVmYzM2ZTM2MDUzOThlNjJhYjIyNzc1
NzIxNDIwZjYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAxLTAyICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gRml4IGNyYXNoIGNsYW1waW5nIGdyaWQgbGluZXMKKyAgICAgICAgTmVlZCB0aGUgYnVnIFVS
TCAoT09QUyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEF2b2lkIGlzc3VlcyB3aXRoIHZlcnkgYmlnIHZhbHVlcyBmb3IgdGhlIGdyaWQgbGluZXMg
Y2xhbXBpbmcgdGhlbSBkdXJpbmcgcGFyc2luZyB0aW1lLgorCisgICAgICAgICogY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lR3JpZExp
bmUpOiBVc2Uga0dyaWRNYXhUcmFja3MgdG8gY2xhbXAgZ3JpZCBsaW5lcy4KKwogMjAxNi0xMi0y
NiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBG
QUlMRUQ6ICFyZWN0LmlzRW1wdHkoKSBpbiBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdS
ZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
CmluZGV4IDVkMDE1NjIwNTZmNmU0Njk1OWZhNWNiNWVlOTg3MjJmYWFmNzhkODQuLjQwNGQzNGYx
ZTYxMGI5ZDVjMTBiYWI2ODUzNGZjZjgyODk5ZjVkYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0yOTg0LDYgKzI5ODQsOSBAQCBz
dGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lR3JpZExpbmUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCiAgICAgaWYgKG51bWVyaWNWYWx1ZSAmJiBudW1lcmljVmFsdWUtPmludFZhbHVl
KCkgPT0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7IC8vIEFuIDxpbnRlZ2VyPiB2YWx1ZSBv
ZiB6ZXJvIG1ha2VzIHRoZSBkZWNsYXJhdGlvbiBpbnZhbGlkLgogCisgICAgaWYgKG51bWVyaWNW
YWx1ZSkKKyAgICAgICAgbnVtZXJpY1ZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShj
bGFtcFRvKG51bWVyaWNWYWx1ZS0+aW50VmFsdWUoKSwgLWtHcmlkTWF4VHJhY2tzLCBrR3JpZE1h
eFRyYWNrcyksIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZTo6Q1NTX05VTUJFUik7CisKICAg
ICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNl
U2VwYXJhdGVkKCk7CiAgICAgaWYgKHNwYW5WYWx1ZSkKICAgICAgICAgdmFsdWVzLT5hcHBlbmQo
c3BhblZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDMxMmVhMzZmYzI3YTA3OTgxZDI4OWM4OTQ5NzExNTVj
MWIwZmMzZTguLmU5MzQ2OWRlMjg4Nzc1MmYwN2VkY2I4Y2E5MmRkYjZmYmY3MjkzYjYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxNy0wMS0wMiAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNv
bT4KKworICAgICAgICBbY3NzLWdyaWRdIEZpeCBjcmFzaCBjbGFtcGluZyBncmlkIGxpbmVzCisg
ICAgICAgIE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIG9uIENTU1BhcnNlci5j
cHAgdW5pdCB0ZXN0OiBDU1NQcm9wZXJ0eVBhcnNlclRlc3QuR3JpZFBvc2l0aW9uTGltaXRzLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpnZXRHcmlkUG9zaXRpb25JbnRlZ2VyKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTIzICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDkyOTkpOiBTZWxl
Y3Rpb24gaXMgYnJva2VuIHdoZW4geW91IHpvb20gaW4gd2VicGFnZSB1c2luZyB0cmFja3BhZApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcAppbmRl
eCA2N2E3OWJiYWNkYTNmZmI3YjQ5YThjM2Y0MzlhOTA3ZjNjMDcyYzBkLi43NTkzMmI3ZTdlYzlm
NDMyZjBlMWYxZDM5ODI1NWMzNGI0MmZkMWNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcApAQCAtNDQsNiArNDQsMTQgQEAgc3RhdGljIHVu
c2lnbmVkIGNvbXB1dGVOdW1iZXJPZlRyYWNrcyhDU1NWYWx1ZUxpc3QmIHZhbHVlTGlzdCkKICAg
ICB9CiAgICAgcmV0dXJuIG51bWJlck9mVHJhY2tzOwogfQorCitzdGF0aWMgaW50IGdldEdyaWRQ
b3NpdGlvbkludGVnZXIoQ1NTVmFsdWVMaXN0JiB2YWx1ZUxpc3QpCit7CisgICAgQVNTRVJUKHZh
bHVlTGlzdC5sZW5ndGgoKSA9PSAxKTsKKyAgICBjb25zdCBhdXRvKiBwcmltaXRpdmVWYWx1ZSA9
IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZUxpc3QuaXRlbSgwKSk7CisgICAgQVNT
RVJUKHByaW1pdGl2ZVZhbHVlLT5pc051bWJlcigpKTsKKyAgICByZXR1cm4gcHJpbWl0aXZlVmFs
dWUtPmludFZhbHVlKCk7Cit9CiAjZW5kaWYKIAogVEVTVChDU1NQcm9wZXJ0eVBhcnNlclRlc3Qs
IEdyaWRUcmFja0xpbWl0cykKQEAgLTg1LDQgKzkzLDM1IEBAIFRFU1QoQ1NTUHJvcGVydHlQYXJz
ZXJUZXN0LCBHcmlkVHJhY2tMaW1pdHMpCiAjZW5kaWYgLy8gRU5BQkxFKENTU19HUklEX0xBWU9V
VCkKIH0KIAorVEVTVChDU1NQcm9wZXJ0eVBhcnNlclRlc3QsIEdyaWRQb3NpdGlvbkxpbWl0cykK
K3sKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIHN0cnVjdCB7CisgICAgICAgIGNv
bnN0IENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRDsKKyAgICAgICAgY29uc3QgY2hhciogaW5wdXQ7
CisgICAgICAgIGNvbnN0IGludCBvdXRwdXQ7CisgICAgfSB0ZXN0Q2FzZXNbXSA9IHsKKyAgICAg
ICAge0NTU1Byb3BlcnR5R3JpZENvbHVtblN0YXJ0LCAiZ3JpZC1jb2x1bW4tc3RhcnQ6IDk5OTk5
OTsiLCA5OTk5OTl9LAorICAgICAgICB7Q1NTUHJvcGVydHlHcmlkQ29sdW1uRW5kLCAiZ3JpZC1j
b2x1bW4tZW5kOiAxMDAwMDAwOyIsIDEwMDAwMDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlHcmlk
Um93U3RhcnQsICJncmlkLXJvdy1zdGFydDogMTAwMDAwMTsiLCAxMDAwMDAwfSwKKyAgICAgICAg
e0NTU1Byb3BlcnR5R3JpZFJvd0VuZCwgImdyaWQtcm93LWVuZDogNTAwMDAwMDAwMDsiLCAxMDAw
MDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5R3JpZENvbHVtblN0YXJ0LCAiZ3JpZC1jb2x1bW4t
c3RhcnQ6IC05OTk5OTk7IiwgLTk5OTk5OX0sCisgICAgICAgIHtDU1NQcm9wZXJ0eUdyaWRDb2x1
bW5FbmQsICJncmlkLWNvbHVtbi1lbmQ6IC0xMDAwMDAwOyIsIC0xMDAwMDAwfSwKKyAgICAgICAg
e0NTU1Byb3BlcnR5R3JpZFJvd1N0YXJ0LCAiZ3JpZC1yb3ctc3RhcnQ6IC0xMDAwMDAxOyIsIC0x
MDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5R3JpZFJvd0VuZCwgImdyaWQtcm93LWVuZDog
LTUwMDAwMDAwMDA7IiwgLTEwMDAwMDB9LAorICAgIH07CisKKyAgICBDU1NQYXJzZXIgcGFyc2Vy
KHN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CisgICAgYXV0byBwcm9wZXJ0aWVzID0gTXV0YWJs
ZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CisKKyAgICBmb3IgKGF1dG8mIHRlc3RDYXNlIDog
dGVzdENhc2VzKSB7CisgICAgICAgIEFTU0VSVF9UUlVFKHBhcnNlci5wYXJzZURlY2xhcmF0aW9u
KHByb3BlcnRpZXMsIHRlc3RDYXNlLmlucHV0KSk7CisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4g
dmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHRlc3RDYXNlLnByb3BlcnR5
SUQpOworCisgICAgICAgIEFTU0VSVF9UUlVFKHZhbHVlLT5pc1ZhbHVlTGlzdCgpKTsKKyAgICAg
ICAgRVhQRUNUX0VRKGdldEdyaWRQb3NpdGlvbkludGVnZXIoKmRvd25jYXN0PENTU1ZhbHVlTGlz
dD4odmFsdWUuZ2V0KCkpKSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9CisjZW5kaWYgLy8gRU5B
QkxFKENTU19HUklEX0xBWU9VVCkKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297888</attachid>
            <date>2017-01-02 02:50:46 -0800</date>
            <delta_ts>2017-01-04 05:06:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166637-20170102114922.patch</filename>
            <type>text/plain</type>
            <size>4715</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk4ZDcyNThmOWUzMzRl
ZDhjYmExOGY3OWViODEzZTE3MDEzNzNhMy4uODFiN2ZlZjEzMTAyYjVjYmU2MGM3ODE5NzZmMjJh
MzhjOGNhMjM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAxLTAyICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gRml4IGNyYXNoIGNsYW1waW5nIGdyaWQgbGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEF2b2lkIGlzc3VlcyB3aXRoIHZlcnkgYmlnIHZhbHVl
cyBmb3IgdGhlIGdyaWQgbGluZXMgY2xhbXBpbmcgdGhlbSBkdXJpbmcgcGFyc2luZyB0aW1lLgor
CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb25zdW1lR3JpZExpbmUpOiBVc2Uga0dyaWRNYXhUcmFja3MgdG8gY2xhbXAgZ3Jp
ZCBsaW5lcy4KKwogMjAxNi0xMi0yNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFyZWN0LmlzRW1wdHkoKSBpbiBXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQ6OmRyYXdSZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDVkMDE1NjIwNTZmNmU0Njk1OWZhNWNiNWVlOTg3
MjJmYWFmNzhkODQuLjQwNGQzNGYxZTYxMGI5ZDVjMTBiYWI2ODUzNGZjZjgyODk5ZjVkYzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBA
IC0yOTg0LDYgKzI5ODQsOSBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lR3JpZExp
bmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgaWYgKG51bWVyaWNWYWx1ZSAmJiBu
dW1lcmljVmFsdWUtPmludFZhbHVlKCkgPT0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7IC8v
IEFuIDxpbnRlZ2VyPiB2YWx1ZSBvZiB6ZXJvIG1ha2VzIHRoZSBkZWNsYXJhdGlvbiBpbnZhbGlk
LgogCisgICAgaWYgKG51bWVyaWNWYWx1ZSkKKyAgICAgICAgbnVtZXJpY1ZhbHVlID0gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShjbGFtcFRvKG51bWVyaWNWYWx1ZS0+aW50VmFsdWUoKSwgLWtH
cmlkTWF4VHJhY2tzLCBrR3JpZE1heFRyYWNrcyksIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZTo6Q1NTX05VTUJFUik7CisKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2YWx1ZXMgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgaWYgKHNwYW5WYWx1ZSkKICAg
ICAgICAgdmFsdWVzLT5hcHBlbmQoc3BhblZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDMxMmVhMzZmYzI3
YTA3OTgxZDI4OWM4OTQ5NzExNTVjMWIwZmMzZTguLjY4ODJlNjQxZTM5YmUxMWJmMjdmMDU5MTM0
NDFmZjk0OTU5ODg5YWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wMS0wMiAgTWFudWVsIFJlZ28gQ2FzYXNu
b3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWdyaWRdIEZpeCBjcmFzaCBj
bGFtcGluZyBncmlkIGxpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjY2MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIG9uIENTU1BhcnNlci5jcHAgdW5pdCB0ZXN0OiBD
U1NQcm9wZXJ0eVBhcnNlclRlc3QuR3JpZFBvc2l0aW9uTGltaXRzLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpnZXRHcmlkUG9zaXRpb25JbnRlZ2VyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorCiAyMDE2LTEyLTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDkyOTkpOiBTZWxlY3Rpb24gaXMgYnJva2Vu
IHdoZW4geW91IHpvb20gaW4gd2VicGFnZSB1c2luZyB0cmFja3BhZApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcAppbmRleCA2N2E3OWJiYWNkYTNm
ZmI3YjQ5YThjM2Y0MzlhOTA3ZjNjMDcyYzBkLi43NTkzMmI3ZTdlYzlmNDMyZjBlMWYxZDM5ODI1
NWMzNGI0MmZkMWNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvQ1NTUGFyc2VyLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Q1NTUGFyc2VyLmNwcApAQCAtNDQsNiArNDQsMTQgQEAgc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVO
dW1iZXJPZlRyYWNrcyhDU1NWYWx1ZUxpc3QmIHZhbHVlTGlzdCkKICAgICB9CiAgICAgcmV0dXJu
IG51bWJlck9mVHJhY2tzOwogfQorCitzdGF0aWMgaW50IGdldEdyaWRQb3NpdGlvbkludGVnZXIo
Q1NTVmFsdWVMaXN0JiB2YWx1ZUxpc3QpCit7CisgICAgQVNTRVJUKHZhbHVlTGlzdC5sZW5ndGgo
KSA9PSAxKTsKKyAgICBjb25zdCBhdXRvKiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1By
aW1pdGl2ZVZhbHVlPih2YWx1ZUxpc3QuaXRlbSgwKSk7CisgICAgQVNTRVJUKHByaW1pdGl2ZVZh
bHVlLT5pc051bWJlcigpKTsKKyAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmludFZhbHVlKCk7
Cit9CiAjZW5kaWYKIAogVEVTVChDU1NQcm9wZXJ0eVBhcnNlclRlc3QsIEdyaWRUcmFja0xpbWl0
cykKQEAgLTg1LDQgKzkzLDM1IEBAIFRFU1QoQ1NTUHJvcGVydHlQYXJzZXJUZXN0LCBHcmlkVHJh
Y2tMaW1pdHMpCiAjZW5kaWYgLy8gRU5BQkxFKENTU19HUklEX0xBWU9VVCkKIH0KIAorVEVTVChD
U1NQcm9wZXJ0eVBhcnNlclRlc3QsIEdyaWRQb3NpdGlvbkxpbWl0cykKK3sKKyNpZiBFTkFCTEUo
Q1NTX0dSSURfTEFZT1VUKQorICAgIHN0cnVjdCB7CisgICAgICAgIGNvbnN0IENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRDsKKyAgICAgICAgY29uc3QgY2hhciogaW5wdXQ7CisgICAgICAgIGNvbnN0
IGludCBvdXRwdXQ7CisgICAgfSB0ZXN0Q2FzZXNbXSA9IHsKKyAgICAgICAge0NTU1Byb3BlcnR5
R3JpZENvbHVtblN0YXJ0LCAiZ3JpZC1jb2x1bW4tc3RhcnQ6IDk5OTk5OTsiLCA5OTk5OTl9LAor
ICAgICAgICB7Q1NTUHJvcGVydHlHcmlkQ29sdW1uRW5kLCAiZ3JpZC1jb2x1bW4tZW5kOiAxMDAw
MDAwOyIsIDEwMDAwMDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlHcmlkUm93U3RhcnQsICJncmlk
LXJvdy1zdGFydDogMTAwMDAwMTsiLCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5R3Jp
ZFJvd0VuZCwgImdyaWQtcm93LWVuZDogNTAwMDAwMDAwMDsiLCAxMDAwMDAwfSwKKyAgICAgICAg
e0NTU1Byb3BlcnR5R3JpZENvbHVtblN0YXJ0LCAiZ3JpZC1jb2x1bW4tc3RhcnQ6IC05OTk5OTk7
IiwgLTk5OTk5OX0sCisgICAgICAgIHtDU1NQcm9wZXJ0eUdyaWRDb2x1bW5FbmQsICJncmlkLWNv
bHVtbi1lbmQ6IC0xMDAwMDAwOyIsIC0xMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5R3Jp
ZFJvd1N0YXJ0LCAiZ3JpZC1yb3ctc3RhcnQ6IC0xMDAwMDAxOyIsIC0xMDAwMDAwfSwKKyAgICAg
ICAge0NTU1Byb3BlcnR5R3JpZFJvd0VuZCwgImdyaWQtcm93LWVuZDogLTUwMDAwMDAwMDA7Iiwg
LTEwMDAwMDB9LAorICAgIH07CisKKyAgICBDU1NQYXJzZXIgcGFyc2VyKHN0cmljdENTU1BhcnNl
ckNvbnRleHQoKSk7CisgICAgYXV0byBwcm9wZXJ0aWVzID0gTXV0YWJsZVN0eWxlUHJvcGVydGll
czo6Y3JlYXRlKCk7CisKKyAgICBmb3IgKGF1dG8mIHRlc3RDYXNlIDogdGVzdENhc2VzKSB7Cisg
ICAgICAgIEFTU0VSVF9UUlVFKHBhcnNlci5wYXJzZURlY2xhcmF0aW9uKHByb3BlcnRpZXMsIHRl
c3RDYXNlLmlucHV0KSk7CisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBwcm9wZXJ0
aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHRlc3RDYXNlLnByb3BlcnR5SUQpOworCisgICAgICAg
IEFTU0VSVF9UUlVFKHZhbHVlLT5pc1ZhbHVlTGlzdCgpKTsKKyAgICAgICAgRVhQRUNUX0VRKGdl
dEdyaWRQb3NpdGlvbkludGVnZXIoKmRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUuZ2V0KCkp
KSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9CisjZW5kaWYgLy8gRU5BQkxFKENTU19HUklEX0xB
WU9VVCkKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298006</attachid>
            <date>2017-01-04 05:06:58 -0800</date>
            <delta_ts>2017-01-04 13:58:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166637-20170104140531.patch</filename>
            <type>text/plain</type>
            <size>13365</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjkxNzYwY2UzMjJkMmY5
OGRlOTg1ODBmOTA5YjFiMzY0YmYxMzNiYi4uMjg5MDgyYWM4OTcwYmIzY2MwZmIyYWQ2MDFjOGM4
MzU0NTNlOGE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTA0ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gRml4IGNyYXNoIGNsYW1waW5nIGdyaWQgbGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEF2b2lkIGlzc3VlcyB3aXRoIHZlcnkgYmlnIHZhbHVl
cyBmb3IgdGhlIGdyaWQgbGluZXMgY2xhbXBpbmcgdGhlbSBvbiBHcmlkUG9zaXRpb24uCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZEFyZWEuaDogTW92ZSBrR3JpZE1heFRyYWNrcyBk
ZWZpbml0aW9uIHRvIEdyaWRQb3NpdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3Jp
ZFBvc2l0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmlkUG9zaXRpb246OnNldEV4cGxpY2l0
UG9zaXRpb24pOiBVc2UgbmV3IHNldEludGVnZXJQb3NpdGlvbigpLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFBvc2l0aW9uOjpzZXRTcGFuUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkdyaWRQb3NpdGlvbjo6c2V0SW50ZWdlclBvc2l0aW9uKTogQ2xhbXAgdGhlIHBvc2l0aW9u
IHVzaW5nIGtHcmlkTWF4VHJhY2tzLgorCiAyMDE3LTAxLTA0ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFByb3ZpZGUgYSBzZXR0aW5nIGZvciBjbGll
bnRzIHRvIGFsd2F5cyBwcmVmZXIgbG93LXBvd2VyIFdlYkdMCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZEFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkQXJlYS5oCmluZGV4IDgwNDAwNzY4MGNiMzQxMmI2ODNjYzhlYTJjZGQ1
M2ExMTM2ZjkwNjcuLjZjMDdlYTQxZmMzYjdhYzI2YjUxYzExODE1NzY5MWM4MzJiYTc1MjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkQXJlYS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkQXJlYS5oCkBAIC0zOSw5ICszOSw2
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gUmVjb21tZW5kZWQgbWF4aW11bSBzaXpl
IGZvciBib3RoIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcy4KLWNvbnN0IGludCBrR3JpZE1h
eFRyYWNrcyA9IDEwMDAwMDA7Ci0KIC8vIEEgc3BhbiBpbiBhIHNpbmdsZSBkaXJlY3Rpb24gKGVp
dGhlciByb3dzIG9yIGNvbHVtbnMpLiBOb3RlIHRoYXQgfHN0YXJ0TGluZXwKIC8vIGFuZCB8ZW5k
TGluZXwgYXJlIGdyaWQgbGluZXMnIGluZGV4ZXMuCiAvLyBEZXNwaXRlIGxpbmUgbnVtYmVycyBp
biB0aGUgc3BlYyBzdGFydCBpbiAiMSIsIHRoZSBpbmRleGVzIGhlcmUgc3RhcnQgaW4gIjAiLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbi5oCmluZGV4IGJh
MGYxMmY1OWQ2MGFjNWJlYmJlOTM5MGQ3N2Y0MzI4YTViZTk0Y2EuLjhlMjhhNTE0ZGE0Y2Q0YTU2
MWRlMGI2OTE2MWYwMzQ4ODkyNzdlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkUG9zaXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvR3JpZFBvc2l0aW9uLmgKQEAgLTM3LDYgKzM3LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisvLyBSZWNvbW1lbmRlZCBtYXhpbXVtIHNpemUgZm9yIGJvdGggZXhwbGljaXQgYW5k
IGltcGxpY2l0IGdyaWRzLgorY29uc3QgaW50IGtHcmlkTWF4VHJhY2tzID0gMTAwMDAwMDsKKwog
ZW51bSBHcmlkUG9zaXRpb25UeXBlIHsKICAgICBBdXRvUG9zaXRpb24sCiAgICAgRXhwbGljaXRQ
b3NpdGlvbiwgLy8gWyA8aW50ZWdlcj4gfHwgPHN0cmluZz4gXQpAQCAtNjksNyArNzIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRFeHBsaWNpdFBvc2l0aW9uKGludCBwb3NpdGlvbiwgY29uc3Qg
U3RyaW5nJiBuYW1lZEdyaWRMaW5lKQogICAgIHsKICAgICAgICAgbV90eXBlID0gRXhwbGljaXRQ
b3NpdGlvbjsKLSAgICAgICAgbV9pbnRlZ2VyUG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICAgICAg
c2V0SW50ZWdlclBvc2l0aW9uKHBvc2l0aW9uKTsKICAgICAgICAgbV9uYW1lZEdyaWRMaW5lID0g
bmFtZWRHcmlkTGluZTsKICAgICB9CiAKQEAgLTg1LDcgKzg4LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0U3BhblBvc2l0aW9uKGludCBwb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBuYW1lZEdyaWRM
aW5lKQogICAgIHsKICAgICAgICAgbV90eXBlID0gU3BhblBvc2l0aW9uOwotICAgICAgICBtX2lu
dGVnZXJQb3NpdGlvbiA9IHBvc2l0aW9uOworICAgICAgICBzZXRJbnRlZ2VyUG9zaXRpb24ocG9z
aXRpb24pOwogICAgICAgICBtX25hbWVkR3JpZExpbmUgPSBuYW1lZEdyaWRMaW5lOwogICAgIH0K
IApAQCAtMTI2LDYgKzEyOSwxMSBAQCBwcml2YXRlOgogICAgIEdyaWRQb3NpdGlvblR5cGUgbV90
eXBlOwogICAgIGludCBtX2ludGVnZXJQb3NpdGlvbjsKICAgICBTdHJpbmcgbV9uYW1lZEdyaWRM
aW5lOworCisgICAgdm9pZCBzZXRJbnRlZ2VyUG9zaXRpb24oaW50IGludGVnZXJQb3NpdGlvbikK
KyAgICB7CisgICAgICAgIG1faW50ZWdlclBvc2l0aW9uID0gY2xhbXBUbyhpbnRlZ2VyUG9zaXRp
b24sIC1rR3JpZE1heFRyYWNrcywga0dyaWRNYXhUcmFja3MpOworICAgIH0KIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCBhMmJiZmU0OWQ4YjY2OGE5MjQ1OGUxN2U1YTNhNjQwMmUyMDIwYmQxLi5i
ZmRiMzZlMTQyZWY2OTc5YjBkNzY3OWVlNTA1NmFjM2JhNzg5ZDUyIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTct
MDEtMDQgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW2Nzcy1ncmlkXSBGaXggY3Jhc2ggY2xhbXBpbmcgZ3JpZCBsaW5lcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NjM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlZCBuZXcgdW5pdCB0ZXN0
IHRvIHZlcmlmeSB0aGF0IHRoZSBtYXhpbXVtIHRyYWNrcyBsaW1pdAorICAgICAgICBpcyB1c2Vk
IGluIEdyaWRQb3NpdGlvbiB0b28uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3Jt
RWZsLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2U6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvR3JpZFBvc2l0aW9uLmNwcDogQWRkZWQu
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wMS0wNCAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92aWRlIGEgc2V0dGlu
ZyBmb3IgY2xpZW50cyB0byBhbHdheXMgcHJlZmVyIGxvdy1wb3dlciBXZWJHTApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggZTFjM2YxODA1YWYyNDllY2Q1NmQ2YzNkNmE0
NzE3YzExYzFiZWM0Ni4uN2E5YzgxNDcyNDlmYTg4ZmJmYmM1NjNlODUxNzI3MmFjNmNmYTZlNCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC01Nyw2ICs1Nyw3IEBAIGxp
c3QoQVBQRU5EIFRlc3RKYXZhU2NyaXB0Q29yZV9MSUJSQVJJRVMKIAogc2V0KHRlc3Rfd2ViY29y
ZV9CSU5BUklFUwogICAgIENTU1BhcnNlcgorICAgIEdyaWRQb3NpdGlvbgogICAgIEhUTUxQYXJz
ZXJJZGlvbXMKICAgICBMYXlvdXRVbml0CiAgICAgVVJMCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9y
bUdUSy5jbWFrZQppbmRleCBiMWJkNzU3MzQ1YTg2NzU4Yjg3MjJhNDBjYWQxZDJjZDA3MTIzMmM5
Li42OTFjY2NlMGMzMGMwMGUwODc5NTE0YzhiOWJjM2FiY2U1M2Y3MzI0IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTEzMiw2ICsxMzIsNyBAQCBhZGRfZXhlY3V0YWJs
ZShUZXN0V2ViQ29yZQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzQ29udHJvbGxlci5j
cHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0ZpbGVTeXN0ZW0uY3BwCisg
ICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9HcmlkUG9zaXRpb24uY3BwCiAg
ICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmNw
cAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1B1YmxpY1N1ZmZpeC5jcHAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDQ4OWJhZjEzZWZmMDA1NWQz
MzVlNDU1MWE1OTYzZGNlMTYzYmVmMGEuLmMzMDg4MmFlYWY3ZjE4ZDk5YWE1NDIwNmRiZmQ3ZTAw
MDdlYWJhZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21h
a2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtNTAsNiAr
NTAsNyBAQCBzZXQoVGVzdFdlYkNvcmVMaWJfU09VUkNFUwogICAgICR7VEVTVFdFQktJVEFQSV9E
SVJ9L1Rlc3RzL1dlYkNvcmUvRmxvYXRSZWN0LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9
L1Rlc3RzL1dlYkNvcmUvRmxvYXRQb2ludC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0cy9XZWJDb3JlL0Zsb2F0U2l6ZS5jcHAKKyAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0
cy9XZWJDb3JlL0dyaWRQb3NpdGlvbi5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0
cy9XZWJDb3JlL0hUTUxQYXJzZXJJZGlvbXMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0v
VGVzdHMvV2ViQ29yZS9JbnRSZWN0LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
L1dlYkNvcmUvSW50UG9pbnQuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM4ZWFjMGMx
MTkyYzM4ZWU2NTJkMWRmOWU4ZWNkZTUxNGNiNzI4YTcuLjAxZmFlZGUyNDVhMGYwMzI0MWEwMTc1
NDVkYzllMWE2MDZkZTI1Y2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MzAsNiArNDMw
LDcgQEAKIAkJODM1Q0Y5NjcxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVX
aXRob3V0TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0
ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCAqLzsgfTsKIAkJODM3QTM1RjExRDlBMUU3RDAwNjYzQzU3
IC8qIERvd25sb2FkUmVxdWVzdEJsb2JVUkwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyog
RG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sICovOyB9OwogCQk4M0NGMUMzMDFDNEYxQjhCMDA2
ODg0NDcgLyogU3RyaW5nVXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNDRjFDMkMxQzRGMTlBRTAwNjg4NDQ3IC8qIFN0cmluZ1V0aWxp
dGllcy5tbSAqLzsgfTsKKwkJOEU0QTg1MzcxRTFEMUFCMjAwRjUzQjBGIC8qIEdyaWRQb3NpdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4RTRB
ODUzNjFFMUQxQUExMDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCAqLzsgfTsKIAkJOTMwQUQ0
MDIxNTA2OThEMDAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMEFENDAxMTUwNjk4QjMwMDY3
OTcwRiAvKiBsb3RzLW9mLXRleHQuaHRtbCAqLzsgfTsKIAkJOTMyOUFBMjkxREUzRjgxRTAwM0FC
RDA3IC8qIFRleHRCcmVha0l0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzMjlBQTI4MURFM0Y4MUUwMDNBQkQwNyAvKiBUZXh0QnJlYWtJ
dGVyYXRvci5jcHAgKi87IH07CiAJCTkzMkFFNTNEMUQzNzEwNDcwMDVERkZBRiAvKiBmb2N1cy1p
bnB1dHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzU3NUM1NTFEMzAzNjZFMDAwRDYwNEQgLyogZm9jdXMtaW5wdXRzLmh0bWwgKi87
IH07CkBAIC0xMDg0LDYgKzEwODUsNyBAQAogCQk4QTNBRjkzQTE2QzlFRDI3MDBEMjQ4QzEgLyog
UmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4QUEyOEMxOTE2RDJGQTdCMDAyRkY0REIgLyogTG9hZFBhZ2VPbkNyYXNoLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRQYWdlT25DcmFzaC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThERDc2RkExMDQ4NkFBNzYwMEQ5NkI1RSAvKiBU
ZXN0V2ViS2l0QVBJICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBh
dGggPSBUZXN0V2ViS2l0QVBJOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQk4RTRBODUzNjFFMUQxQUExMDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyaWRQb3NpdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzMEFENDAxMTUwNjk4QjMwMDY3OTcwRiAvKiBsb3RzLW9mLXRl
eHQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsb3RzLW9mLXRleHQuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMjlBQTI4MURFM0Y4MUUwMDNBQkQwNyAv
KiBUZXh0QnJlYWtJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXh0QnJlYWtJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzMzE0MDdCMTdCNDQxOTAwMEYwODNCMSAvKiBEaWROb3RIYW5kbGVLZXlEb3duLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpZE5vdEhhbmRsZUtleURvd24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUzNyw2ICsxNTM5LDcgQEAKIAkJNDQw
QTFEMzYxNEEwMTAwMDAwOEE2NkYyIC8qIFdlYkNvcmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCThFNEE4NTM2MUUxRDFBQTEwMEY1M0IwRiAvKiBHcmlk
UG9zaXRpb24uY3BwICovLAogCQkJCUNEODlEMDM3MUM0RURCMTMwMDA0MEEwNCAvKiBjb2NvYSAq
LywKIAkJCQk3QTkwOUE2RjFEODc3NDc1MDA3RTEwRjggLyogQWZmaW5lVHJhbnNmb3JtLmNwcCAq
LywKIAkJCQk3QTkwOUE3MDFEODc3NDc1MDA3RTEwRjggLyogRmxvYXRQb2ludC5jcHAgKi8sCkBA
IC0yNjA5LDYgKzI2MTIsNyBAQAogCQkJCTdDQ0U3RjBFMUE0MTFBRTYwMDQ0N0M0QyAvKiBSZXNp
emVSZXZlcnNlUGFnaW5hdGVkV2ViVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yw
RjFBNDExQUU2MDA0NDdDNEMgLyogUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0YxMDFBNDExQUU2MDA0NDdDNEMgLyogUmVzcG9uc2l2ZW5lc3NUaW1l
ckRvZXNudEZpcmVFYXJseS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4RTRBODUzNzFFMUQxQUIy
MDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjEx
MUE0MTFBRTYwMDQ0N0M0QyAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRh
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTA5QTgxMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRQ
b2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzVDRjk2NzFEMjVGQ0Q2MDAxQTY1RDQgLyog
UmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0dyaWRQb3NpdGlv
bi5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvR3JpZFBvc2l0aW9uLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMGQwYjE5ZjcwYmUwYmEwYTM1NDFjZjA1NzdmN2U4NDVlODI4YjdiCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0dyaWRQ
b3NpdGlvbi5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBJ
Z2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9HcmlkUG9zaXRpb24uaD4KKworbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkgeworCitURVNUKEdyaWRQb3NpdGlvblRlc3QsIEdyaWRQb3NpdGlvbkxp
bWl0cykKK3sKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorCisgICAgV2ViQ29yZTo6R3Jp
ZFBvc2l0aW9uIGdyaWRQb3NpdGlvbjsKKworICAgIGdyaWRQb3NpdGlvbi5zZXRFeHBsaWNpdFBv
c2l0aW9uKDk5OTk5OSwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9zaXRpb24uaW50ZWdlclBv
c2l0aW9uKCksIDk5OTk5OSk7CisgICAgZ3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9zaXRpb24o
MTAwMDAwMCwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9zaXRpb24uaW50ZWdlclBvc2l0aW9u
KCksIDEwMDAwMDApOworICAgIGdyaWRQb3NpdGlvbi5zZXRFeHBsaWNpdFBvc2l0aW9uKDEwMDAw
MDEsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLmludGVnZXJQb3NpdGlvbigpLCAx
MDAwMDAwKTsKKyAgICBncmlkUG9zaXRpb24uc2V0RXhwbGljaXRQb3NpdGlvbihJTlRfTUFYLCAi
Iik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5pbnRlZ2VyUG9zaXRpb24oKSwgMTAwMDAw
MCk7CisgICAgZ3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9zaXRpb24oLTk5OTk5OSwgIiIpOwor
ICAgIEVYUEVDVF9FUShncmlkUG9zaXRpb24uaW50ZWdlclBvc2l0aW9uKCksIC05OTk5OTkpOwor
ICAgIGdyaWRQb3NpdGlvbi5zZXRFeHBsaWNpdFBvc2l0aW9uKC0xMDAwMDAwLCAiIik7CisgICAg
RVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5pbnRlZ2VyUG9zaXRpb24oKSwgLTEwMDAwMDApOworICAg
IGdyaWRQb3NpdGlvbi5zZXRFeHBsaWNpdFBvc2l0aW9uKC0xMDAwMDAxLCAiIik7CisgICAgRVhQ
RUNUX0VRKGdyaWRQb3NpdGlvbi5pbnRlZ2VyUG9zaXRpb24oKSwgLTEwMDAwMDApOworICAgIGdy
aWRQb3NpdGlvbi5zZXRFeHBsaWNpdFBvc2l0aW9uKElOVF9NSU4sICIiKTsKKyAgICBFWFBFQ1Rf
RVEoZ3JpZFBvc2l0aW9uLmludGVnZXJQb3NpdGlvbigpLCAtMTAwMDAwMCk7CisKKyAgICBncmlk
UG9zaXRpb24uc2V0U3BhblBvc2l0aW9uKDk5OTk5OSwgIiIpOworICAgIEVYUEVDVF9FUShncmlk
UG9zaXRpb24uc3BhblBvc2l0aW9uKCksIDk5OTk5OSk7CisgICAgZ3JpZFBvc2l0aW9uLnNldFNw
YW5Qb3NpdGlvbigxMDAwMDAwLCAiIik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFu
UG9zaXRpb24oKSwgMTAwMDAwMCk7CisgICAgZ3JpZFBvc2l0aW9uLnNldFNwYW5Qb3NpdGlvbigx
MDAwMDAxLCAiIik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwg
MTAwMDAwMCk7CisgICAgZ3JpZFBvc2l0aW9uLnNldFNwYW5Qb3NpdGlvbihJTlRfTUFYLCAiIik7
CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwgMTAwMDAwMCk7Cisg
ICAgZ3JpZFBvc2l0aW9uLnNldFNwYW5Qb3NpdGlvbigtOTk5OTk5LCAiIik7CisgICAgRVhQRUNU
X0VRKGdyaWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwgLTk5OTk5OSk7CisgICAgZ3JpZFBvc2l0
aW9uLnNldFNwYW5Qb3NpdGlvbigtMTAwMDAwMCwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9z
aXRpb24uc3BhblBvc2l0aW9uKCksIC0xMDAwMDAwKTsKKyAgICBncmlkUG9zaXRpb24uc2V0U3Bh
blBvc2l0aW9uKC0xMDAwMDAxLCAiIik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFu
UG9zaXRpb24oKSwgLTEwMDAwMDApOworICAgIGdyaWRQb3NpdGlvbi5zZXRTcGFuUG9zaXRpb24o
SU5UX01JTiwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9zaXRpb24uc3BhblBvc2l0aW9uKCks
IC0xMDAwMDAwKTsKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCit9CisKK30g
Ly8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298042</attachid>
            <date>2017-01-04 13:58:36 -0800</date>
            <delta_ts>2017-01-04 23:04:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-166637-20170104225708.patch</filename>
            <type>text/plain</type>
            <size>15247</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzYzZmFhZGE3ZjRkYmNl
Yzc1ZDFjNTI2ZTllOGUyN2FkZWU0MzU5ZC4uYzc3NzdjMzI5MGFhZmJlZTllOGM1N2FlYWQzNDBl
ZGUwOGNiN2RkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAxLTA0ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gRml4IGNyYXNoIGNsYW1waW5nIGdyaWQgbGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYzNworCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEF2b2lkIGlzc3VlcyB3aXRoIHZlcnkgYmlnIHZhbHVlcyBm
b3IgdGhlIGdyaWQgbGluZXMgY2xhbXBpbmcgdGhlbSBvbiBHcmlkUG9zaXRpb24uCisKKyAgICAg
ICAgVGVzdDogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wb3NpdGlvbi1jcmFzaC5odG1sCisK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZEFyZWEuaDogTW92ZSBrR3JpZE1heFRyYWNr
cyBkZWZpbml0aW9uIHRvIEdyaWRQb3NpdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
R3JpZFBvc2l0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmlkUG9zaXRpb246OnNldEV4cGxp
Y2l0UG9zaXRpb24pOiBVc2UgbmV3IHNldEludGVnZXJQb3NpdGlvbigpLgorICAgICAgICAoV2Vi
Q29yZTo6R3JpZFBvc2l0aW9uOjpzZXRTcGFuUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkdyaWRQb3NpdGlvbjo6c2V0SW50ZWdlclBvc2l0aW9uKTogQ2xhbXAgdGhlIHBvc2l0
aW9uIHVzaW5nIGtHcmlkTWF4VHJhY2tzLgorCiAyMDE3LTAxLTA0ICBKb2huIFdpbGFuZGVyICA8
d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFZhbGlkYXRlIHRoZSBCQ1A0Ny1uZXNzIG9m
IHRoZSBsYW5ndWFnZSBzdHJpbmcgcGFzc2VkIHRvIFRyYWNrQmFzZTo6c2V0TGFuZ3VhZ2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRBcmVhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZEFyZWEuaAppbmRleCA4MDQwMDc2ODBj
YjM0MTJiNjgzY2M4ZWEyY2RkNTNhMTEzNmY5MDY3Li42YzA3ZWE0MWZjM2I3YWMyNmI1MWMxMTgx
NTc2OTFjODMyYmE3NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvR3JpZEFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZEFy
ZWEuaApAQCAtMzksOSArMzksNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIFJlY29t
bWVuZGVkIG1heGltdW0gc2l6ZSBmb3IgYm90aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgZ3JpZHMu
Ci1jb25zdCBpbnQga0dyaWRNYXhUcmFja3MgPSAxMDAwMDAwOwotCiAvLyBBIHNwYW4gaW4gYSBz
aW5nbGUgZGlyZWN0aW9uIChlaXRoZXIgcm93cyBvciBjb2x1bW5zKS4gTm90ZSB0aGF0IHxzdGFy
dExpbmV8CiAvLyBhbmQgfGVuZExpbmV8IGFyZSBncmlkIGxpbmVzJyBpbmRleGVzLgogLy8gRGVz
cGl0ZSBsaW5lIG51bWJlcnMgaW4gdGhlIHNwZWMgc3RhcnQgaW4gIjEiLCB0aGUgaW5kZXhlcyBo
ZXJlIHN0YXJ0IGluICIwIi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9HcmlkUG9zaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Hcmlk
UG9zaXRpb24uaAppbmRleCBiYTBmMTJmNTlkNjBhYzViZWJiZTkzOTBkNzdmNDMyOGE1YmU5NGNh
Li5mMmVkMDFlOTgwMmJkZmY4MzZmMGQyYzQyNTJlYjIyYWQwYmRlNzQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbi5oCkBAIC0zNyw2ICszNyw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gUmVjb21tZW5kZWQgbWF4aW11bSBzaXplIGZv
ciBib3RoIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcy4KK2NvbnN0IGludCBrR3JpZE1heFRy
YWNrcyA9IDEwMDAwMDA7CisKIGVudW0gR3JpZFBvc2l0aW9uVHlwZSB7CiAgICAgQXV0b1Bvc2l0
aW9uLAogICAgIEV4cGxpY2l0UG9zaXRpb24sIC8vIFsgPGludGVnZXI+IHx8IDxzdHJpbmc+IF0K
QEAgLTY5LDcgKzcyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RXhwbGljaXRQb3NpdGlvbihp
bnQgcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgbmFtZWRHcmlkTGluZSkKICAgICB7CiAgICAgICAg
IG1fdHlwZSA9IEV4cGxpY2l0UG9zaXRpb247Ci0gICAgICAgIG1faW50ZWdlclBvc2l0aW9uID0g
cG9zaXRpb247CisgICAgICAgIHNldEludGVnZXJQb3NpdGlvbihwb3NpdGlvbik7CiAgICAgICAg
IG1fbmFtZWRHcmlkTGluZSA9IG5hbWVkR3JpZExpbmU7CiAgICAgfQogCkBAIC04NSw3ICs4OCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNwYW5Qb3NpdGlvbihpbnQgcG9zaXRpb24sIGNvbnN0
IFN0cmluZyYgbmFtZWRHcmlkTGluZSkKICAgICB7CiAgICAgICAgIG1fdHlwZSA9IFNwYW5Qb3Np
dGlvbjsKLSAgICAgICAgbV9pbnRlZ2VyUG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICAgICAgc2V0
SW50ZWdlclBvc2l0aW9uKHBvc2l0aW9uKTsKICAgICAgICAgbV9uYW1lZEdyaWRMaW5lID0gbmFt
ZWRHcmlkTGluZTsKICAgICB9CiAKQEAgLTEyMiw3ICsxMjUsMTMgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgcmV0dXJuIGlzQXV0bygpIHx8IGlzU3BhbigpOwogICAgIH0KKwogcHJpdmF0ZToK
KyAgICB2b2lkIHNldEludGVnZXJQb3NpdGlvbihpbnQgaW50ZWdlclBvc2l0aW9uKQorICAgIHsK
KyAgICAgICAgbV9pbnRlZ2VyUG9zaXRpb24gPSBjbGFtcFRvKGludGVnZXJQb3NpdGlvbiwgLWtH
cmlkTWF4VHJhY2tzLCBrR3JpZE1heFRyYWNrcyk7CisgICAgfQorCiAgICAgR3JpZFBvc2l0aW9u
VHlwZSBtX3R5cGU7CiAgICAgaW50IG1faW50ZWdlclBvc2l0aW9uOwogICAgIFN0cmluZyBtX25h
bWVkR3JpZExpbmU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggYWJiOTBkNDk2YmE4NGE5YTY5Yjg2MzcxYTdjMzBkMWIwY2VhMDZiYy4uNWYyMDM2
MTljOTA2Y2ZiMDM5MTkxZWQzYWVlMGQ5NTVhMGVkYWI5NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAxLTA0
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtj
c3MtZ3JpZF0gRml4IGNyYXNoIGNsYW1waW5nIGdyaWQgbGluZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIENyZWF0ZXMgbmV3IHVuaXQgdGVzdCB0byB2ZXJp
ZnkgdGhhdCB0aGUgbWF4aW11bSB0cmFja3MgbGltaXQKKyAgICAgICAgaXMgdXNlZCBpbiBHcmlk
UG9zaXRpb24gdG9vLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFr
ZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0dyaWRQb3NpdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDEtMDQgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGNtYWtlIGJ1aWxkZml4
IGFmdGVyIHIyMTAyNjYuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBl
MWMzZjE4MDVhZjI0OWVjZDU2ZDZjM2Q2YTQ3MTdjMTFjMWJlYzQ2Li43YTljODE0NzI0OWZhODhm
YmZiYzU2M2U4NTE3MjcyYWM2Y2ZhNmU0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwu
Y21ha2UKQEAgLTU3LDYgKzU3LDcgQEAgbGlzdChBUFBFTkQgVGVzdEphdmFTY3JpcHRDb3JlX0xJ
QlJBUklFUwogCiBzZXQodGVzdF93ZWJjb3JlX0JJTkFSSUVTCiAgICAgQ1NTUGFyc2VyCisgICAg
R3JpZFBvc2l0aW9uCiAgICAgSFRNTFBhcnNlcklkaW9tcwogICAgIExheW91dFVuaXQKICAgICBV
UkwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGIxYmQ3NTczNDVhODY3
NThiODcyMmE0MGNhZDFkMmNkMDcxMjMyYzkuLjY5MWNjY2UwYzMwYzAwZTA4Nzk1MTRjOGI5YmMz
YWJjZTUzZjczMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTMy
LDYgKzEzMiw3IEBAIGFkZF9leGVjdXRhYmxlKFRlc3RXZWJDb3JlCiAgICAgJHtURVNUV0VCS0lU
QVBJX0RJUn0vVGVzdHNDb250cm9sbGVyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rl
c3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
L1dlYkNvcmUvRmlsZVN5c3RlbS5jcHAKKyAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
ZWJDb3JlL0dyaWRQb3NpdGlvbi5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
ZWJDb3JlL0hUTUxQYXJzZXJJZGlvbXMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVz
dHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
L1dlYkNvcmUvUHVibGljU3VmZml4LmNwcApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybVdpbi5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21h
a2UKaW5kZXggNDg5YmFmMTNlZmYwMDU1ZDMzNWU0NTUxYTU5NjNkY2UxNjNiZWYwYS4uYzMwODgy
YWVhZjdmMThkOTlhYTU0MjA2ZGJmZDdlMDAwN2VhYmFkNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Bs
YXRmb3JtV2luLmNtYWtlCkBAIC01MCw2ICs1MCw3IEBAIHNldChUZXN0V2ViQ29yZUxpYl9TT1VS
Q0VTCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9GbG9hdFJlY3QuY3Bw
CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9GbG9hdFBvaW50LmNwcAog
ICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvRmxvYXRTaXplLmNwcAorICAg
ICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvR3JpZFBvc2l0aW9uLmNwcAogICAg
ICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvSFRNTFBhcnNlcklkaW9tcy5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0ludFJlY3QuY3BwCiAgICAg
JHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9JbnRQb2ludC5jcHAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMzhlYWMwYzExOTJjMzhlZTY1MmQxZGY5ZThlY2RlNTE0Y2I3Mjhh
Ny4uMDFmYWVkZTI0NWEwZjAzMjQxYTAxNzU0NWRjOWUxYTYwNmRlMjVjYiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTQzMCw2ICs0MzAsNyBAQAogCQk4MzVDRjk2NzFEMjVGQ0Q2MDAxQTY1
RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUNGOTY2MUQyNUZDRDYwMDFB
NjVENCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwICovOyB9Owog
CQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
N0EzNUYwMUQ5QTFFNjQwMDY2M0M1NyAvKiBEb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWwgKi87
IH07CiAJCTgzQ0YxQzMwMUM0RjFCOEIwMDY4ODQ0NyAvKiBTdHJpbmdVdGlsaXRpZXMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0NGMUMyQzFDNEYx
OUFFMDA2ODg0NDcgLyogU3RyaW5nVXRpbGl0aWVzLm1tICovOyB9OworCQk4RTRBODUzNzFFMUQx
QUIyMDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhFNEE4NTM2MUUxRDFBQTEwMEY1M0IwRiAvKiBHcmlkUG9z
aXRpb24uY3BwICovOyB9OwogCQk5MzBBRDQwMjE1MDY5OEQwMDA2Nzk3MEYgLyogbG90cy1vZi10
ZXh0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTMwQUQ0MDExNTA2OThCMzAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1sICovOyB9
OwogCQk5MzI5QUEyOTFERTNGODFFMDAzQUJEMDcgLyogVGV4dEJyZWFrSXRlcmF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMyOUFBMjgxREUz
RjgxRTAwM0FCRDA3IC8qIFRleHRCcmVha0l0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJOTMyQUU1M0Qx
RDM3MTA0NzAwNURGRkFGIC8qIGZvY3VzLWlucHV0cy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNTc1QzU1MUQzMDM2NkUwMDBENjA0
RCAvKiBmb2N1cy1pbnB1dHMuaHRtbCAqLzsgfTsKQEAgLTEwODQsNiArMTA4NSw3IEBACiAJCThB
M0FGOTNBMTZDOUVEMjcwMEQyNDhDMSAvKiBSZWxvYWRQYWdlQWZ0ZXJDcmFzaC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWxvYWRQYWdlQWZ0ZXJDcmFzaC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBQTI4QzE5MTZEMkZBN0IwMDJGRjREQiAv
KiBMb2FkUGFnZU9uQ3Jhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTG9hZFBhZ2VPbkNyYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERE
NzZGQTEwNDg2QUE3NjAwRDk2QjVFIC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZXhlY3V0YWJs
ZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFRlc3RXZWJLaXRBUEk7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCThFNEE4NTM2MUUxRDFBQTEwMEY1M0IwRiAvKiBH
cmlkUG9zaXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3Jp
ZFBvc2l0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwQUQ0MDExNTA2
OThCMzAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImxvdHMtb2YtdGV4dC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMyOUFBMjgxREUzRjgxRTAwM0FCRDA3IC8qIFRleHRCcmVha0l0ZXJhdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRCcmVha0l0ZXJhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMzMTQwN0IxN0I0NDE5MDAwRjA4M0IxIC8qIERp
ZE5vdEhhbmRsZUtleURvd24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGlkTm90SGFuZGxlS2V5RG93bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTM3LDYgKzE1MzksNyBAQAogCQk0NDBBMUQzNjE0QTAxMDAwMDA4QTY2RjIgLyogV2ViQ29y
ZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJOEU0QTg1
MzYxRTFEMUFBMTAwRjUzQjBGIC8qIEdyaWRQb3NpdGlvbi5jcHAgKi8sCiAJCQkJQ0Q4OUQwMzcx
QzRFREIxMzAwMDQwQTA0IC8qIGNvY29hICovLAogCQkJCTdBOTA5QTZGMUQ4Nzc0NzUwMDdFMTBG
OCAvKiBBZmZpbmVUcmFuc2Zvcm0uY3BwICovLAogCQkJCTdBOTA5QTcwMUQ4Nzc0NzUwMDdFMTBG
OCAvKiBGbG9hdFBvaW50LmNwcCAqLywKQEAgLTI2MDksNiArMjYxMiw3IEBACiAJCQkJN0NDRTdG
MEUxQTQxMUFFNjAwNDQ3QzRDIC8qIFJlc2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjBGMUE0MTFBRTYwMDQ0N0M0QyAvKiBSZXNpemVXaW5k
b3dBZnRlckNyYXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjEwMUE0MTFBRTYwMDQ0
N0M0QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCThFNEE4NTM3MUUxRDFBQjIwMEY1M0IwRiAvKiBHcmlkUG9zaXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMTExQTQxMUFFNjAwNDQ3QzRDIC8qIFJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E5MDlB
ODExRDg3NzQ4MDAwN0UxMEY4IC8qIEludFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgz
NUNGOTY3MUQyNUZDRDYwMDFBNjVENCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmln
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvR3JpZFBvc2l0aW9uLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9HcmlkUG9zaXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwZDBiMTlmNzBiZTBiYTBh
MzU0MWNmMDU3N2Y3ZTg0NWU4MjhiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvR3JpZFBvc2l0aW9uLmNwcApAQCAtMCwwICsxLDc1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0dy
aWRQb3NpdGlvbi5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoR3JpZFBv
c2l0aW9uVGVzdCwgR3JpZFBvc2l0aW9uTGltaXRzKQoreworI2lmIEVOQUJMRShDU1NfR1JJRF9M
QVlPVVQpCisKKyAgICBXZWJDb3JlOjpHcmlkUG9zaXRpb24gZ3JpZFBvc2l0aW9uOworCisgICAg
Z3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9zaXRpb24oOTk5OTk5LCAiIik7CisgICAgRVhQRUNU
X0VRKGdyaWRQb3NpdGlvbi5pbnRlZ2VyUG9zaXRpb24oKSwgOTk5OTk5KTsKKyAgICBncmlkUG9z
aXRpb24uc2V0RXhwbGljaXRQb3NpdGlvbigxMDAwMDAwLCAiIik7CisgICAgRVhQRUNUX0VRKGdy
aWRQb3NpdGlvbi5pbnRlZ2VyUG9zaXRpb24oKSwgMTAwMDAwMCk7CisgICAgZ3JpZFBvc2l0aW9u
LnNldEV4cGxpY2l0UG9zaXRpb24oMTAwMDAwMSwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9z
aXRpb24uaW50ZWdlclBvc2l0aW9uKCksIDEwMDAwMDApOworICAgIGdyaWRQb3NpdGlvbi5zZXRF
eHBsaWNpdFBvc2l0aW9uKElOVF9NQVgsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9u
LmludGVnZXJQb3NpdGlvbigpLCAxMDAwMDAwKTsKKyAgICBncmlkUG9zaXRpb24uc2V0RXhwbGlj
aXRQb3NpdGlvbigtOTk5OTk5LCAiIik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5pbnRl
Z2VyUG9zaXRpb24oKSwgLTk5OTk5OSk7CisgICAgZ3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9z
aXRpb24oLTEwMDAwMDAsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLmludGVnZXJQ
b3NpdGlvbigpLCAtMTAwMDAwMCk7CisgICAgZ3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9zaXRp
b24oLTEwMDAwMDEsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLmludGVnZXJQb3Np
dGlvbigpLCAtMTAwMDAwMCk7CisgICAgZ3JpZFBvc2l0aW9uLnNldEV4cGxpY2l0UG9zaXRpb24o
SU5UX01JTiwgIiIpOworICAgIEVYUEVDVF9FUShncmlkUG9zaXRpb24uaW50ZWdlclBvc2l0aW9u
KCksIC0xMDAwMDAwKTsKKworICAgIGdyaWRQb3NpdGlvbi5zZXRTcGFuUG9zaXRpb24oOTk5OTk5
LCAiIik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwgOTk5OTk5
KTsKKyAgICBncmlkUG9zaXRpb24uc2V0U3BhblBvc2l0aW9uKDEwMDAwMDAsICIiKTsKKyAgICBF
WFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLnNwYW5Qb3NpdGlvbigpLCAxMDAwMDAwKTsKKyAgICBncmlk
UG9zaXRpb24uc2V0U3BhblBvc2l0aW9uKDEwMDAwMDEsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3Jp
ZFBvc2l0aW9uLnNwYW5Qb3NpdGlvbigpLCAxMDAwMDAwKTsKKyAgICBncmlkUG9zaXRpb24uc2V0
U3BhblBvc2l0aW9uKElOVF9NQVgsICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLnNw
YW5Qb3NpdGlvbigpLCAxMDAwMDAwKTsKKyAgICBncmlkUG9zaXRpb24uc2V0U3BhblBvc2l0aW9u
KC05OTk5OTksICIiKTsKKyAgICBFWFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLnNwYW5Qb3NpdGlvbigp
LCAtOTk5OTk5KTsKKyAgICBncmlkUG9zaXRpb24uc2V0U3BhblBvc2l0aW9uKC0xMDAwMDAwLCAi
Iik7CisgICAgRVhQRUNUX0VRKGdyaWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwgLTEwMDAwMDAp
OworICAgIGdyaWRQb3NpdGlvbi5zZXRTcGFuUG9zaXRpb24oLTEwMDAwMDEsICIiKTsKKyAgICBF
WFBFQ1RfRVEoZ3JpZFBvc2l0aW9uLnNwYW5Qb3NpdGlvbigpLCAtMTAwMDAwMCk7CisgICAgZ3Jp
ZFBvc2l0aW9uLnNldFNwYW5Qb3NpdGlvbihJTlRfTUlOLCAiIik7CisgICAgRVhQRUNUX0VRKGdy
aWRQb3NpdGlvbi5zcGFuUG9zaXRpb24oKSwgLTEwMDAwMDApOworCisjZW5kaWYgLy8gRU5BQkxF
KENTU19HUklEX0xBWU9VVCkKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDZiNGU0ZjM2N2I1MDk3N2IxYjU1NjQyNjc1NTljZWE1OWFiODkxYmIuLjg5YTYyZTMzZGQx
ZjI5NTM1YmFhMDYzNmFmOGJlNmI2YzAwMTgwMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAx
Ny0wMS0wNCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAorICAg
ICAgICBbY3NzLWdyaWRdIEZpeCBjcmFzaCBjbGFtcGluZyBncmlkIGxpbmVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtcG9zaXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLXBvc2l0aW9uLWNyYXNoLmh0bWw6IEFkZGVkLgorCisyMDE3
LTAxLTA0ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtHVEtdIFR3byBlZGl0aW5nIHRlc3RzIGFyZSBwYXNzaW5nIGJ1dCBtYXJrZWQgYXMgZmFp
bHVyZQogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcG9zaXRpb24tY3Jhc2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wb3NpdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFmNjFjOWQwYjIwOTJjYWVhMGUwNzRhNzhi
MzIyNTA5OWExZmE2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtcG9zaXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaCBhbmQgeW91IHNlZSBhIGdy
ZWVuICJQQVNTIiBiZWxvdy4KKworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1wb3NpdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wb3NpdGlvbi1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdl
ZmQ5YTI5NmViZjQ2NDFjN2JjNDBjN2NmZGJiM2NmNDhlYmU0NjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXBvc2l0aW9uLWNyYXNoLmh0
bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9Cis8L3Njcmlw
dD4KKzxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggYW5kIHlvdSBzZWUg
YSBncmVlbiAiUEFTUyIgYmVsb3cuPC9wPgorPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgY29s
b3I6IGdyZWVuOyI+CisgICAgPGRpdiBzdHlsZT0iZ3JpZC1jb2x1bW4tc3RhcnQ6IDUwMDAwMDAw
MDAgZm9vOyI+UEFTUzwvZGl2PgorPC9kaXY+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>