<?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>115675</bug_id>
          
          <creation_ts>2013-05-06 14:11:42 -0700</creation_ts>
          <short_desc>Hittest finds the truncated text instead of the floating input, when the input is clicked.</short_desc>
          <delta_ts>2013-06-24 00:32:54 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>885374</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-06 14:11:42 -0700</bug_when>
    <thetext>&lt;style&gt;
  div {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

  input {
    float: right;
  }
&lt;/style&gt;

&lt;div&gt;&lt;input type=&apos;text&apos;&gt;long long long long long text&lt;/div&gt;

1, input is clicked.
2, text gets the hit test, even though it is truncated right before the floating input box.

attached test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885375</commentid>
    <comment_count>1</comment_count>
      <attachid>200808</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-05-06 14:12:10 -0700</bug_when>
    <thetext>Created attachment 200808
reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885384</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-06 14:19:39 -0700</bug_when>
    <thetext>1. We need to use the m_truncation at InlineTextBox::nodeAtPoint() to make sure truncated text is ignored while hittesting.
2, We need to teach the parent RootInlineBox to be smarter at hittesting (InlineFlowBox::nodeAtPoint()) to figure out that the truncated part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885413</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-06 15:11:46 -0700</bug_when>
    <thetext>[12:57am] dhyatt: if i were writing this feature from scratch i would probably have let the child elements overflow
[12:57am] dhyatt: but shrink the root line
[12:57am] dhyatt: might be some reason why i didn&apos;t do that though
[12:58am] dhyatt: easiest fix at this point is to just hack it then prob
[12:58am] dhyatt: painting must just be hacking it
[12:58am] dhyatt: so hit testing can too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885414</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-06 15:12:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/13008605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886727</commentid>
    <comment_count>5</comment_count>
      <attachid>201179</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-05-09 04:40:43 -0700</bug_when>
    <thetext>Created attachment 201179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887037</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-09 12:57:27 -0700</bug_when>
    <thetext>will be moving layout test to /fast/css</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887775</commentid>
    <comment_count>7</comment_count>
      <attachid>201456</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-05-11 07:18:01 -0700</bug_when>
    <thetext>Created attachment 201456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889849</commentid>
    <comment_count>8</comment_count>
      <attachid>201456</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-16 08:55:58 -0700</bug_when>
    <thetext>Comment on attachment 201456
Patch

Make a vertical-rl test too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891035</commentid>
    <comment_count>9</comment_count>
      <attachid>202237</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-05-19 08:41:37 -0700</bug_when>
    <thetext>Created attachment 202237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891036</commentid>
    <comment_count>10</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-05-19 08:48:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 201456 [details])
&gt; Make a vertical-rl test too.
added (best effort). Vertical text truncate bug is tracked here: bug #116413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902871</commentid>
    <comment_count>11</comment_count>
      <attachid>205277</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-06-23 23:51:38 -0700</bug_when>
    <thetext>Created attachment 205277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902874</commentid>
    <comment_count>12</comment_count>
      <attachid>205277</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-24 00:32:51 -0700</bug_when>
    <thetext>Comment on attachment 205277
Patch

Clearing flags on attachment: 205277

Committed r151894: &lt;http://trac.webkit.org/changeset/151894&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902875</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-24 00:32:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>200808</attachid>
            <date>2013-05-06 14:12:10 -0700</date>
            <delta_ts>2013-05-06 14:12:10 -0700</delta_ts>
            <desc>reduced test case</desc>
            <filename>float_text_overflow.html</filename>
            <type>text/html</type>
            <size>678</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+CiAgZGl2IHsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lz
OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgfQoKICBp
bnB1dCB7CiAgICBmbG9hdDogcmlnaHQ7CiAgfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2
Pgo8aW5wdXQgdHlwZT0idGV4dCI+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3Rl
dHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0
IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwg
cXVpcy5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzLkxvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1
c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4g
VXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXM8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201179</attachid>
            <date>2013-05-09 04:40:43 -0700</date>
            <delta_ts>2013-05-11 07:17:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115675-20130509143945.patch</filename>
            <type>text/plain</type>
            <size>13084</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM1YzE5NTY5N2JhZjVk
YzU0NmM3NjgwMWNmY2M4ZjM3MTUwOTYzMy4uMzFkMWYxM2YyNTE2MmNhYmM5N2YzOWNlMjM0YzU1
YmU1OGY0NmY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA1LTA5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5kcyB0aGUg
dHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4gdGhlIGlu
cHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJZ25vcmUgdHJ1bmNhdGVkIHRleHQgb24gaW5saW5lIHRleHRib3ggYW5kIGV2ZXJ5
dGhpbmcgYmV5b25kIHRoZSBlbGxpcHNpcyBib3ggb24gCisgICAgICAgIHRoZSByb290IGlubGlu
ZWJveCB3aGlsZSBoaXR0ZXN0aW5nLiAocHJvdmlkZWQgdGhhdCBub2RlQXRQb2ludCBmaW5kcyBu
byBoaXQgZm9yIGFueSBvZgorICAgICAgICB0aGUgcm9vdCBpbmxpbmUncyBjaGlsZHJlbi4pCisK
KyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9mb2N1cy1mbG9hdGluZy1pbnB1dC13aXRoLXRleHQt
b3ZlcmZsb3cuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQpOiBEbyBub3QgaGl0
dGVzdCBhbnl0aGluZyBiZXlvbmQgdGhlIGVsbGlwc2lzLiAKKyAgICAgICAgKiByZW5kZXJpbmcv
SW5saW5lRmxvd0JveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6SW5saW5l
Rmxvd0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQpOiBJZ25vcmUgdGhlIHRydW5j
YXRlZCB0ZXh0LgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJv
b3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KToKKwogMjAxMy0wNS0wNyAgTWlraGFpbCBQb3pkbnlh
a292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBIYXNoVHJhaXRz
PFJlZlB0cjxQPiA+OjpQZWVrVHlwZSBzaG91bGQgYmUgcmF3IHBvaW50ZXIgZm9yIGJldHRlciBw
ZXJmb3JtYW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCmlu
ZGV4IGQzMDE0ODA5MmE5M2ExNGVmOWQyNzM2NDc1MGUxYWRiMTg2MzlkYWUuLjEwMTFiODllYTJj
ODlhN2I1YmUyNmU5YTJiODQ3ZmRmODBmOTI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lRmxvd0JveC5jcHAKQEAgLTEwNDIsNiArMTA0MiwyNSBAQCBib29sIElubGluZUZs
b3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0
UmVzdWx0JiByZQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMuIFBpeGVsIHNu
YXAgaGl0IHRlc3RpbmcuCisgICAgaWYgKCF2aXNpYmxlVG9IaXRUZXN0aW5nKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIC8vIERvIG5vdCBoaXR0ZXN0IGNvbnRlbnQgYmV5b25kIHRo
ZSBlbGxpcHNpcyBib3guCisgICAgaWYgKGlzUm9vdElubGluZUJveCgpICYmIGhhc0VsbGlwc2lz
Qm94KCkpIHsKKyAgICAgICAgY29uc3QgRWxsaXBzaXNCb3gqIGVsbGlwc2lzQm94ID0gcm9vdCgp
LT5lbGxpcHNpc0JveCgpOworICAgICAgICBMYXlvdXRSZWN0IGJvdW5kc1JlY3QobG9naWNhbEZy
YW1lUmVjdCgpKTsKKworICAgICAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgYm91bmRzUmVjdC5zaGlmdFhFZGdlVG8oZWxs
aXBzaXNCb3gtPmxvZ2ljYWxSaWdodCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYm91
bmRzUmVjdC5zZXRXaWR0aChlbGxpcHNpc0JveC0+bG9naWNhbExlZnQoKSAtIGxvZ2ljYWxMZWZ0
KCkpOworCisgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShib3VuZHNSZWN0KTsKKyAgICAgICAg
Ym91bmRzUmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQpOworICAgICAgICBpZiAobG9jYXRp
b25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKGJvdW5kc1JlY3QpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKwogICAgIExheW91dFJlY3QgZnJhbWVSZWN0ID0gcm91bmRlZEZyYW1l
UmVjdCgpOwogICAgIExheW91dFVuaXQgbWluWCA9IGZyYW1lUmVjdC54KCk7CiAgICAgTGF5b3V0
VW5pdCBtaW5ZID0gZnJhbWVSZWN0LnkoKTsKQEAgLTEwNjQsOCArMTA4Myw5IEBAIGJvb2wgSW5s
aW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhp
dFRlc3RSZXN1bHQmIHJlCiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOwogICAgIHJlY3Qu
bW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAotICAgIGlmICh2aXNpYmxlVG9IaXRUZXN0aW5n
KCkgJiYgbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKSB7Ci0gICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUo
bG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9MYXlvdXRTaXplKGFjY3VtdWxhdGVkT2Zm
c2V0KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNvb3JkcyBp
biB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgorICAgIGlmIChsb2NhdGlvbkluQ29udGFp
bmVyLmludGVyc2VjdHMocmVjdCkpIHsKKyAgICAgICAgLy8gRG9uJ3QgYWRkIGluIG1feCBvciBt
X3kgaGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBzcGFjZS4K
KyAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JX
cml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoYWNj
dW11bGF0ZWRPZmZzZXQpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlvbkluQ29udGFp
bmVyLCByZWN0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyZjdjN2ViZGM0YmFkZmJjZDZl
MmEyMDBiZDU5OTAyMDEzNGMwY2NhLi41MTE3YWZhYmZiOTA5YzM1MjdiN2IyZmUwODEzOTcxNmM3
ZDc3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBA
IC0zNjUsMTggKzM2NSwzNSBAQCBib29sIElubGluZVRleHRCb3g6OmlzTGluZUJyZWFrKCkgY29u
c3QKIAogYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVz
dCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBIaXRUZXN0TG9jYXRpb24m
IGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNl
dCwgTGF5b3V0VW5pdCAvKiBsaW5lVG9wICovLCBMYXlvdXRVbml0IC8qbGluZUJvdHRvbSovKQog
eworICAgIGlmICghdmlzaWJsZVRvSGl0VGVzdGluZygpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
RmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7Ci0gICAg
Ym94T3JpZ2luLm1vdmVCeShhY2N1bXVsYXRlZE9mZnNldCk7Ci0gICAgRmxvYXRSZWN0IHJlY3Qo
Ym94T3JpZ2luLCBzaXplKCkpOwotICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxUcnVuY2F0
aW9uICYmIHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBsb2NhdGlvbkluQ29udGFpbmVyLmludGVy
c2VjdHMocmVjdCkpIHsKLSAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChy
ZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0
b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKSk7Ci0gICAgICAgIGlmICghcmVzdWx0LmFk
ZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBs
b2NhdGlvbkluQ29udGFpbmVyLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBGbG9hdFJlY3QgcmVjdChsb2dpY2FsRnJhbWVSZWN0KCkpOworICAgIC8vIE1h
a2Ugc3VyZSB0cnVuY2F0ZWQgdGV4dCBpcyBpZ25vcmVkIHdoaWxlIGhpdHRlc3RpbmcuCisgICAg
aWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CisgICAgICAgIExheW91dFVuaXQg
d2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0
YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgaXNGaXJzdExpbmVTdHlsZSgpKTsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAg
ICAgICAgICAgIHJlY3Quc2V0V2lkdGgod2lkdGhPZlZpc2libGVUZXh0KTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgcmVjdC5zaGlmdFhFZGdlVG8obG9naWNhbFJpZ2h0KCkgLSB3aWR0aE9m
VmlzaWJsZVRleHQpOwogICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmbGlwRm9yV3Jp
dGluZ01vZGUocmVjdCk7CisgICAgcmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQpOworICAg
IGlmICghbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwg
ZmxpcEZvcldyaXRpbmdNb2RlKGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5b3V0
U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkpKTsKKyAgICBpZiAocmVzdWx0LmFkZE5vZGVUb1JlY3RC
YXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlvbkluQ29u
dGFpbmVyLCByZWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7
CiB9CiAKIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3JhcGhpY3NDb250
ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBj
b25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wgb3BhcXVlLCBib29s
IGhvcml6b250YWwpCkBAIC01MjYsNyArNTQzLDYgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LAog
ICAgICAgICAgICAgLy8gdHJ1bmNhdGVkIHN0cmluZyBpLmUuICB8SGVsbG98Q0JBfCAtPiB8Li4u
bG98Q0JBfAogICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1Jl
bmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwgdGV4dFBv
cygpLCBpc0ZpcnN0TGluZVN0eWxlKCkpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aE9m
SGlkZGVuVGV4dCA9IG1fbG9naWNhbFdpZHRoIC0gd2lkdGhPZlZpc2libGVUZXh0OwotICAgICAg
ICAgICAgLy8gRklYTUU6IFRoZSBoaXQgdGVzdGluZyBsb2dpYyBhbHNvIG5lZWRzIHRvIHRha2Ug
dGhpcyB0cmFuc2xhdGlvbiBpbnRvIGFjY291bnQuCiAgICAgICAgICAgICBMYXlvdXRTaXplIHRy
dW5jYXRpb25PZmZzZXQoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gd2lkdGhPZkhpZGRlblRl
eHQgOiAtd2lkdGhPZkhpZGRlblRleHQsIDApOwogICAgICAgICAgICAgYWRqdXN0ZWRQYWludE9m
ZnNldC5tb3ZlKGlzSG9yaXpvbnRhbCgpID8gdHJ1bmNhdGlvbk9mZnNldCA6IHRydW5jYXRpb25P
ZmZzZXQudHJhbnNwb3NlZFNpemUoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Sb290SW5saW5lQm94LmNwcAppbmRleCA1ZTI2OTZiMTJjZjFjYjRjZjdjNzVhNDkzODk3
OGU0OTc1MDlkYjNjLi4xZWY2YTQ4MjA5YTlmMWU2ODgxZGMxYWZhNTA3MGI5NzNmNGUwYTdjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCkBAIC0yMjIsMTIg
KzIyMiwxMSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAKIGJvb2wgUm9vdElubGluZUJveDo6
bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQm
IHJlc3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25z
dCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgbGluZVRvcCwgTGF5
b3V0VW5pdCBsaW5lQm90dG9tKQogewotICAgIGlmIChoYXNFbGxpcHNpc0JveCgpICYmIHZpc2li
bGVUb0hpdFRlc3RpbmcoKSkgewotICAgICAgICBpZiAoZWxsaXBzaXNCb3goKS0+bm9kZUF0UG9p
bnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBhY2N1bXVsYXRlZE9mZnNl
dCwgbGluZVRvcCwgbGluZUJvdHRvbSkpIHsKLSAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0
ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xh
eW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICB9CisgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBoYXNFbGxpcHNpc0Jv
eCgpICYmIGVsbGlwc2lzQm94KCktPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRp
b25JbkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0b20pKSB7
CisgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlv
bkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorCiAgICAgcmV0dXJuIElubGluZUZsb3dCb3g6
Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgYWNjdW11
bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0b20pOwogfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODllN2JjZTYx
NmI3ZTViZDI1MzVmYjg5YTZiM2M1MjI1OGUwNTc3Yi4uNDFhOWU1YTVmM2M5ZTViYmY2MmFlZDky
NjhlZGUzYzFkNmMwZDIzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA1LTA5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5kcyB0aGUg
dHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4gdGhlIGlu
cHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZm9ybXMvZm9jdXMtZmxvYXRpbmctaW5wdXQtd2l0aC10ZXh0LW92ZXJm
bG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9mb2N1cy1mbG9h
dGluZy1pbnB1dC13aXRoLXRleHQtb3ZlcmZsb3cuaHRtbDogQWRkZWQuCisKIDIwMTMtMDUtMDYg
IEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CiAKICAgICAgICAgSGVhcC11c2Ut
YWZ0ZXItZnJlZSBpbiBXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpkZWxldGVMaW5lCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZvY3VzLWZsb2F0aW5nLWlucHV0LXdpdGgtdGV4
dC1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZvY3VzLWZs
b2F0aW5nLWlucHV0LXdpdGgtdGV4dC1vdmVyZmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2M3ZmMyYjM0MmI0OWZlZDJmM2ZiNjM0YjIwODc2NDJkZmJiYjBmMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9jdXMtZmxvYXRpbmctaW5wdXQtd2l0aC10ZXh0
LW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBp
cnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1
bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNh
dCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2Vy
dW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBp
bmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1p
bmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlz
aSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9s
b3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3Jl
IGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRh
dGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xs
aXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4
LCB5KS5pZCBpcyAncmlnaHQtZmxvYXRpbmctaW5wdXQnCitQQVNTIGRvY3VtZW50LmVsZW1lbnRG
cm9tUG9pbnQoeCAtIDEwLCB5KS5pZCBpcyAnY29udGFpbmVyLWx0cicKK1BBU1MgZG9jdW1lbnQu
ZWxlbWVudEZyb21Qb2ludCh4LCB5KS5pZCBpcyAnbGVmdC1mbG9hdGluZy1pbnB1dCcKK1BBU1Mg
ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4ICsgMjAwLCB5KS5pZCBpcyAnY29udGFpbmVyLXJ0
bCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZvY3VzLWZsb2F0aW5nLWlucHV0LXdp
dGgtdGV4dC1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb2N1cy1mbG9h
dGluZy1pbnB1dC13aXRoLXRleHQtb3ZlcmZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjkxYzRhYmZi
MDRjMTE1YmYxZTk0OTlmMWVkZDBkMzMwZWEyY2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9mb2N1cy1mbG9hdGluZy1pbnB1dC13aXRoLXRleHQtb3ZlcmZsb3cu
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIG9mZnNldChlbGVtKSB7CisgICAgdmFyIHJlc3VsdCA9IHt0b3A6
IDAsIGxlZnQ6IDB9OworICAgIGZvciAoOyBlbGVtOyBlbGVtID0gZWxlbS5vZmZzZXRQYXJlbnQp
IHsKKyAgICAgICAgcmVzdWx0LmxlZnQgKz0gZWxlbS5vZmZzZXRMZWZ0OworICAgICAgICByZXN1
bHQudG9wICs9IGVsZW0ub2Zmc2V0VG9wOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIHZhciBpbnB1dEJveCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdyaWdodC1mbG9hdGluZy1pbnB1dCcpOworICAgIHggPSBvZmZzZXQoaW5wdXRCb3gp
LmxlZnQ7CisgICAgeSA9IG9mZnNldChpbnB1dEJveCkudG9wOworICAgIHNob3VsZEJlKCJkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpLmlkIiwgIidyaWdodC1mbG9hdGluZy1pbnB1dCci
KTsKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4IC0gMTAsIHkpLmlk
IiwgIidjb250YWluZXItbHRyJyIpOworCisgICAgaW5wdXRCb3ggPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGVmdC1mbG9hdGluZy1pbnB1dCcpOworICAgIHggPSBvZmZzZXQoaW5wdXRCb3gp
LmxlZnQ7CisgICAgeSA9IG9mZnNldChpbnB1dEJveCkudG9wOworICAgIHNob3VsZEJlKCJkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpLmlkIiwgIidsZWZ0LWZsb2F0aW5nLWlucHV0JyIp
OworICAgIHNob3VsZEJlKCJkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHggKyAyMDAsIHkpLmlk
IiwgIidjb250YWluZXItcnRsJyIpOworCisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKK30K
Kzwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYgeworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lz
OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICBi
b3JkZXI6IHNvbGlkIDFweCByZWQ7CisgICAgcGFkZGluZzogMTBweDsKKyAgfQorCis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICA8cD48L3A+CisgIDxkaXYgaWQ9
J2NvbnRhaW5lci1sdHInPjxpbnB1dCBpZD0ncmlnaHQtZmxvYXRpbmctaW5wdXQnIHN0eWxlPSdm
bG9hdDogcmlnaHQnIHR5cGU9J3RleHQnPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25z
ZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVu
dCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5p
YW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxp
cXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJl
cHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdp
YXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24g
cHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0g
aWQgZXN0IGxhYm9ydW0uCisgIDwvZGl2PgorICA8ZGl2IGRpcj0ncnRsJyBpZD0nY29udGFpbmVy
LXJ0bCc+PGlucHV0IGlkPSdsZWZ0LWZsb2F0aW5nLWlucHV0JyBzdHlsZT0nZmxvYXQ6IGxlZnQn
IHR5cGU9J3RleHQnPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9z
dHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBj
b21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQg
aW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFy
aWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1
bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9y
dW0uCisgIDwvZGl2PgorICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201456</attachid>
            <date>2013-05-11 07:18:01 -0700</date>
            <delta_ts>2013-05-19 08:41:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115675-20130511171659.patch</filename>
            <type>text/plain</type>
            <size>13154</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM1YzE5NTY5N2JhZjVk
YzU0NmM3NjgwMWNmY2M4ZjM3MTUwOTYzMy4uNTgzOGJhYmQwOGQxNTZjOTgxNWNjYjU2Y2Y5MTk3
YjdhMDNkYWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA1LTA5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5kcyB0aGUg
dHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4gdGhlIGlu
cHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJZ25vcmUgdHJ1bmNhdGVkIHRleHQgb24gaW5saW5lIHRleHRib3ggYW5kIGV2ZXJ5
dGhpbmcgYmV5b25kIHRoZSBlbGxpcHNpcyBib3ggb24KKyAgICAgICAgdGhlIHJvb3QgaW5saW5l
Ym94IHdoaWxlIGhpdHRlc3RpbmcuIChwcm92aWRlZCB0aGF0IG5vZGVBdFBvaW50IGZpbmRzIG5v
IGhpdCBmb3IgYW55IG9mCisgICAgICAgIHRoZSByb290IGlubGluZSdzIGNoaWxkcmVuLikKKwor
ICAgICAgICBUZXN0OiBmYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGlu
Zy1pbnB1dC1oaXR0ZXN0Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KTogRG8g
bm90IGhpdHRlc3QgYW55dGhpbmcgYmV5b25kIHRoZSBlbGxpcHNpcy4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
SW5saW5lRmxvd0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQpOiBJZ25vcmUgdGhl
IHRydW5jYXRlZCB0ZXh0LgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQp
OgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KToKKwogMjAxMy0wNS0wNyAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBIYXNo
VHJhaXRzPFJlZlB0cjxQPiA+OjpQZWVrVHlwZSBzaG91bGQgYmUgcmF3IHBvaW50ZXIgZm9yIGJl
dHRlciBwZXJmb3JtYW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCmluZGV4IGQzMDE0ODA5MmE5M2ExNGVmOWQyNzM2NDc1MGUxYWRiMTg2MzlkYWUuLjEwMTFi
ODllYTJjODlhN2I1YmUyNmU5YTJiODQ3ZmRmODBmOTI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKQEAgLTEwNDIsNiArMTA0MiwyNSBAQCBib29sIElu
bGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBI
aXRUZXN0UmVzdWx0JiByZQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMuIFBp
eGVsIHNuYXAgaGl0IHRlc3RpbmcuCisgICAgaWYgKCF2aXNpYmxlVG9IaXRUZXN0aW5nKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIERvIG5vdCBoaXR0ZXN0IGNvbnRlbnQgYmV5
b25kIHRoZSBlbGxpcHNpcyBib3guCisgICAgaWYgKGlzUm9vdElubGluZUJveCgpICYmIGhhc0Vs
bGlwc2lzQm94KCkpIHsKKyAgICAgICAgY29uc3QgRWxsaXBzaXNCb3gqIGVsbGlwc2lzQm94ID0g
cm9vdCgpLT5lbGxpcHNpc0JveCgpOworICAgICAgICBMYXlvdXRSZWN0IGJvdW5kc1JlY3QobG9n
aWNhbEZyYW1lUmVjdCgpKTsKKworICAgICAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgYm91bmRzUmVjdC5zaGlmdFhFZGdl
VG8oZWxsaXBzaXNCb3gtPmxvZ2ljYWxSaWdodCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgYm91bmRzUmVjdC5zZXRXaWR0aChlbGxpcHNpc0JveC0+bG9naWNhbExlZnQoKSAtIGxvZ2lj
YWxMZWZ0KCkpOworCisgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShib3VuZHNSZWN0KTsKKyAg
ICAgICAgYm91bmRzUmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQpOworICAgICAgICBpZiAo
bG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKGJvdW5kc1JlY3QpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIExheW91dFJlY3QgZnJhbWVSZWN0ID0gcm91bmRl
ZEZyYW1lUmVjdCgpOwogICAgIExheW91dFVuaXQgbWluWCA9IGZyYW1lUmVjdC54KCk7CiAgICAg
TGF5b3V0VW5pdCBtaW5ZID0gZnJhbWVSZWN0LnkoKTsKQEAgLTEwNjQsOCArMTA4Myw5IEBAIGJv
b2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVl
c3QsIEhpdFRlc3RSZXN1bHQmIHJlCiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOwogICAg
IHJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAotICAgIGlmICh2aXNpYmxlVG9IaXRU
ZXN0aW5nKCkgJiYgbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKSB7Ci0gICAg
ICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGlu
Z01vZGUobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9MYXlvdXRTaXplKGFjY3VtdWxh
dGVkT2Zmc2V0KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNv
b3JkcyBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgorICAgIGlmIChsb2NhdGlvbklu
Q29udGFpbmVyLmludGVyc2VjdHMocmVjdCkpIHsKKyAgICAgICAgLy8gRG9uJ3QgYWRkIGluIG1f
eCBvciBtX3kgaGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBz
cGFjZS4KKyAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZs
aXBGb3JXcml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNp
emUoYWNjdW11bGF0ZWRPZmZzZXQpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1Jl
Y3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlvbklu
Q29udGFpbmVyLCByZWN0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyZjdjN2ViZGM0YmFk
ZmJjZDZlMmEyMDBiZDU5OTAyMDEzNGMwY2NhLi41MTE3YWZhYmZiOTA5YzM1MjdiN2IyZmUwODEz
OTcxNmM3ZDc3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCkBAIC0zNjUsMTggKzM2NSwzNSBAQCBib29sIElubGluZVRleHRCb3g6OmlzTGluZUJyZWFr
KCkgY29uc3QKIAogYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0
UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCwgTGF5b3V0VW5pdCAvKiBsaW5lVG9wICovLCBMYXlvdXRVbml0IC8qbGluZUJvdHRv
bSovKQogeworICAgIGlmICghdmlzaWJsZVRvSGl0VGVzdGluZygpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7
Ci0gICAgYm94T3JpZ2luLm1vdmVCeShhY2N1bXVsYXRlZE9mZnNldCk7Ci0gICAgRmxvYXRSZWN0
IHJlY3QoYm94T3JpZ2luLCBzaXplKCkpOwotICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxU
cnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBsb2NhdGlvbkluQ29udGFpbmVy
LmludGVyc2VjdHMocmVjdCkpIHsKLSAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJl
c3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50
KCkgLSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKSk7Ci0gICAgICAgIGlmICghcmVz
dWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1
ZXN0LCBsb2NhdGlvbkluQ29udGFpbmVyLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBGbG9hdFJlY3QgcmVjdChsb2dpY2FsRnJhbWVSZWN0KCkpOworICAg
IC8vIE1ha2Ugc3VyZSB0cnVuY2F0ZWQgdGV4dCBpcyBpZ25vcmVkIHdoaWxlIGhpdHRlc3Rpbmcu
CisgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CisgICAgICAgIExheW91
dFVuaXQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0
aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgaXNGaXJzdExpbmVTdHlsZSgpKTsK
KyAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSkKKyAgICAgICAgICAgIHJlY3Quc2V0V2lkdGgod2lkdGhPZlZpc2libGVUZXh0KTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcmVjdC5zaGlmdFhFZGdlVG8obG9naWNhbFJpZ2h0KCkgLSB3
aWR0aE9mVmlzaWJsZVRleHQpOwogICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmbGlw
Rm9yV3JpdGluZ01vZGUocmVjdCk7CisgICAgcmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQp
OworICAgIGlmICghbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJl
c3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRv
TGF5b3V0U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkpKTsKKyAgICBpZiAocmVzdWx0LmFkZE5vZGVU
b1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlv
bkluQ29udGFpbmVyLCByZWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7CiB9CiAKIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3JhcGhp
Y3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgU2hhZG93RGF0YSogc2hh
ZG93LCBjb25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wgb3BhcXVl
LCBib29sIGhvcml6b250YWwpCkBAIC01MjYsNyArNTQzLDYgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0LAogICAgICAgICAgICAgLy8gdHJ1bmNhdGVkIHN0cmluZyBpLmUuICB8SGVsbG98Q0JBfCAt
PiB8Li4ubG98Q0JBfAogICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aE9mVmlzaWJsZVRleHQg
PSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwg
dGV4dFBvcygpLCBpc0ZpcnN0TGluZVN0eWxlKCkpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCB3
aWR0aE9mSGlkZGVuVGV4dCA9IG1fbG9naWNhbFdpZHRoIC0gd2lkdGhPZlZpc2libGVUZXh0Owot
ICAgICAgICAgICAgLy8gRklYTUU6IFRoZSBoaXQgdGVzdGluZyBsb2dpYyBhbHNvIG5lZWRzIHRv
IHRha2UgdGhpcyB0cmFuc2xhdGlvbiBpbnRvIGFjY291bnQuCiAgICAgICAgICAgICBMYXlvdXRT
aXplIHRydW5jYXRpb25PZmZzZXQoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gd2lkdGhPZkhp
ZGRlblRleHQgOiAtd2lkdGhPZkhpZGRlblRleHQsIDApOwogICAgICAgICAgICAgYWRqdXN0ZWRQ
YWludE9mZnNldC5tb3ZlKGlzSG9yaXpvbnRhbCgpID8gdHJ1bmNhdGlvbk9mZnNldCA6IHRydW5j
YXRpb25PZmZzZXQudHJhbnNwb3NlZFNpemUoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAppbmRleCA1ZTI2OTZiMTJjZjFjYjRjZjdjNzVh
NDkzODk3OGU0OTc1MDlkYjNjLi4xZWY2YTQ4MjA5YTlmMWU2ODgxZGMxYWZhNTA3MGI5NzNmNGUw
YTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCkBAIC0y
MjIsMTIgKzIyMiwxMSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAKIGJvb2wgUm9vdElubGlu
ZUJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgbGluZVRv
cCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKQogewotICAgIGlmIChoYXNFbGxpcHNpc0JveCgpICYm
IHZpc2libGVUb0hpdFRlc3RpbmcoKSkgewotICAgICAgICBpZiAoZWxsaXBzaXNCb3goKS0+bm9k
ZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBhY2N1bXVsYXRl
ZE9mZnNldCwgbGluZVRvcCwgbGluZUJvdHRvbSkpIHsKLSAgICAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkg
LSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKTsKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9CisgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBoYXNFbGxp
cHNpc0JveCgpICYmIGVsbGlwc2lzQm94KCktPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwg
bG9jYXRpb25JbkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0
b20pKSB7CisgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBs
b2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZz
ZXQpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorCiAgICAgcmV0dXJuIElubGluZUZs
b3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwg
YWNjdW11bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0b20pOwogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODll
N2JjZTYxNmI3ZTViZDI1MzVmYjg5YTZiM2M1MjI1OGUwNTc3Yi4uYmMyYzFhMmFmZjZmODliZDdj
MWFjNzE1MDIyNTcwODZiYjVhOGYwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA1LTA5
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5k
cyB0aGUgdHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4g
dGhlIGlucHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvY3NzL3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtYW5kLWZsb2F0
aW5nLWlucHV0LWhpdHRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0Lmh0bWw6
IEFkZGVkLgorCiAyMDEzLTA1LTA2ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29t
PgogCiAgICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgaW4gV2ViQ29yZTo6SW5saW5lRmxvd0Jv
eDo6ZGVsZXRlTGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVy
Zmxvdy1lbGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1p
bnB1dC1oaXR0ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YzdmYzJiMzQyYjQ5ZmVkMmYz
ZmI2MzRiMjA4NzY0MmRmYmJiMGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0s
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJl
aGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQg
bnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJv
aWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQg
ZXN0IGxhYm9ydW0uCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoeCwgeSkuaWQgaXMg
J3JpZ2h0LWZsb2F0aW5nLWlucHV0JworUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHgg
LSAxMCwgeSkuaWQgaXMgJ2NvbnRhaW5lci1sdHInCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQoeCwgeSkuaWQgaXMgJ2xlZnQtZmxvYXRpbmctaW5wdXQnCitQQVNTIGRvY3VtZW50LmVs
ZW1lbnRGcm9tUG9pbnQoeCArIDIwMCwgeSkuaWQgaXMgJ2NvbnRhaW5lci1ydGwnCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1hbmQtZmxvYXRpbmct
aW5wdXQtaGl0dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVyZmxvdy1l
bGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOTFj
NGFiZmIwNGMxMTViZjFlOTQ5OWYxZWRkMGQzMzBlYTJjZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1p
bnB1dC1oaXR0ZXN0Lmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvZmZzZXQoZWxlbSkgeworICAgIHZhciBy
ZXN1bHQgPSB7dG9wOiAwLCBsZWZ0OiAwfTsKKyAgICBmb3IgKDsgZWxlbTsgZWxlbSA9IGVsZW0u
b2Zmc2V0UGFyZW50KSB7CisgICAgICAgIHJlc3VsdC5sZWZ0ICs9IGVsZW0ub2Zmc2V0TGVmdDsK
KyAgICAgICAgcmVzdWx0LnRvcCArPSBlbGVtLm9mZnNldFRvcDsKKyAgICB9CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICB2YXIgaW5wdXRCb3ggPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgncmlnaHQtZmxvYXRpbmctaW5wdXQnKTsKKyAgICB4ID0gb2Zm
c2V0KGlucHV0Qm94KS5sZWZ0OworICAgIHkgPSBvZmZzZXQoaW5wdXRCb3gpLnRvcDsKKyAgICBz
aG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KS5pZCIsICIncmlnaHQtZmxv
YXRpbmctaW5wdXQnIik7CisgICAgc2hvdWxkQmUoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQo
eCAtIDEwLCB5KS5pZCIsICInY29udGFpbmVyLWx0ciciKTsKKworICAgIGlucHV0Qm94ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlZnQtZmxvYXRpbmctaW5wdXQnKTsKKyAgICB4ID0gb2Zm
c2V0KGlucHV0Qm94KS5sZWZ0OworICAgIHkgPSBvZmZzZXQoaW5wdXRCb3gpLnRvcDsKKyAgICBz
aG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KS5pZCIsICInbGVmdC1mbG9h
dGluZy1pbnB1dCciKTsKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4
ICsgMjAwLCB5KS5pZCIsICInY29udGFpbmVyLXJ0bCciKTsKKworICAgIGlzU3VjY2Vzc2Z1bGx5
UGFyc2VkKCk7Cit9Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAgICB0ZXh0LW92ZXJm
bG93OiBlbGxpcHNpczsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHdoaXRlLXNwYWNlOiBu
b3dyYXA7CisgICAgYm9yZGVyOiBzb2xpZCAxcHggcmVkOworICAgIHBhZGRpbmc6IDEwcHg7Cisg
IH0KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgPHA+PC9w
PgorICA8ZGl2IGlkPSdjb250YWluZXItbHRyJz48aW5wdXQgaWQ9J3JpZ2h0LWZsb2F0aW5nLWlu
cHV0JyBzdHlsZT0nZmxvYXQ6IHJpZ2h0JyB0eXBlPSd0ZXh0Jz5Mb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0g
YWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3Jp
cyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVy
ZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBk
b2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBj
dXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50
IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICA8L2Rpdj4KKyAgPGRpdiBkaXI9J3J0bCcg
aWQ9J2NvbnRhaW5lci1ydGwnPjxpbnB1dCBpZD0nbGVmdC1mbG9hdGluZy1pbnB1dCcgc3R5bGU9
J2Zsb2F0OiBsZWZ0JyB0eXBlPSd0ZXh0Jz5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiBy
ZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVn
aWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9u
IHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmlt
IGlkIGVzdCBsYWJvcnVtLgorICA8L2Rpdj4KKyAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202237</attachid>
            <date>2013-05-19 08:41:37 -0700</date>
            <delta_ts>2013-06-23 23:51:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115675-20130519184025.patch</filename>
            <type>text/plain</type>
            <size>15466</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM1YzE5NTY5N2JhZjVk
YzU0NmM3NjgwMWNmY2M4ZjM3MTUwOTYzMy4uNTgzOGJhYmQwOGQxNTZjOTgxNWNjYjU2Y2Y5MTk3
YjdhMDNkYWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA1LTA5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5kcyB0aGUg
dHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4gdGhlIGlu
cHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJZ25vcmUgdHJ1bmNhdGVkIHRleHQgb24gaW5saW5lIHRleHRib3ggYW5kIGV2ZXJ5
dGhpbmcgYmV5b25kIHRoZSBlbGxpcHNpcyBib3ggb24KKyAgICAgICAgdGhlIHJvb3QgaW5saW5l
Ym94IHdoaWxlIGhpdHRlc3RpbmcuIChwcm92aWRlZCB0aGF0IG5vZGVBdFBvaW50IGZpbmRzIG5v
IGhpdCBmb3IgYW55IG9mCisgICAgICAgIHRoZSByb290IGlubGluZSdzIGNoaWxkcmVuLikKKwor
ICAgICAgICBUZXN0OiBmYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGlu
Zy1pbnB1dC1oaXR0ZXN0Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KTogRG8g
bm90IGhpdHRlc3QgYW55dGhpbmcgYmV5b25kIHRoZSBlbGxpcHNpcy4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
SW5saW5lRmxvd0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQpOiBJZ25vcmUgdGhl
IHRydW5jYXRlZCB0ZXh0LgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQp
OgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KToKKwogMjAxMy0wNS0wNyAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBIYXNo
VHJhaXRzPFJlZlB0cjxQPiA+OjpQZWVrVHlwZSBzaG91bGQgYmUgcmF3IHBvaW50ZXIgZm9yIGJl
dHRlciBwZXJmb3JtYW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCmluZGV4IGQzMDE0ODA5MmE5M2ExNGVmOWQyNzM2NDc1MGUxYWRiMTg2MzlkYWUuLjEwMTFi
ODllYTJjODlhN2I1YmUyNmU5YTJiODQ3ZmRmODBmOTI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKQEAgLTEwNDIsNiArMTA0MiwyNSBAQCBib29sIElu
bGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBI
aXRUZXN0UmVzdWx0JiByZQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMuIFBp
eGVsIHNuYXAgaGl0IHRlc3RpbmcuCisgICAgaWYgKCF2aXNpYmxlVG9IaXRUZXN0aW5nKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIERvIG5vdCBoaXR0ZXN0IGNvbnRlbnQgYmV5
b25kIHRoZSBlbGxpcHNpcyBib3guCisgICAgaWYgKGlzUm9vdElubGluZUJveCgpICYmIGhhc0Vs
bGlwc2lzQm94KCkpIHsKKyAgICAgICAgY29uc3QgRWxsaXBzaXNCb3gqIGVsbGlwc2lzQm94ID0g
cm9vdCgpLT5lbGxpcHNpc0JveCgpOworICAgICAgICBMYXlvdXRSZWN0IGJvdW5kc1JlY3QobG9n
aWNhbEZyYW1lUmVjdCgpKTsKKworICAgICAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgYm91bmRzUmVjdC5zaGlmdFhFZGdl
VG8oZWxsaXBzaXNCb3gtPmxvZ2ljYWxSaWdodCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgYm91bmRzUmVjdC5zZXRXaWR0aChlbGxpcHNpc0JveC0+bG9naWNhbExlZnQoKSAtIGxvZ2lj
YWxMZWZ0KCkpOworCisgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShib3VuZHNSZWN0KTsKKyAg
ICAgICAgYm91bmRzUmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQpOworICAgICAgICBpZiAo
bG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKGJvdW5kc1JlY3QpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIExheW91dFJlY3QgZnJhbWVSZWN0ID0gcm91bmRl
ZEZyYW1lUmVjdCgpOwogICAgIExheW91dFVuaXQgbWluWCA9IGZyYW1lUmVjdC54KCk7CiAgICAg
TGF5b3V0VW5pdCBtaW5ZID0gZnJhbWVSZWN0LnkoKTsKQEAgLTEwNjQsOCArMTA4Myw5IEBAIGJv
b2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVl
c3QsIEhpdFRlc3RSZXN1bHQmIHJlCiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOwogICAg
IHJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAotICAgIGlmICh2aXNpYmxlVG9IaXRU
ZXN0aW5nKCkgJiYgbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKSB7Ci0gICAg
ICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGlu
Z01vZGUobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9MYXlvdXRTaXplKGFjY3VtdWxh
dGVkT2Zmc2V0KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNv
b3JkcyBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgorICAgIGlmIChsb2NhdGlvbklu
Q29udGFpbmVyLmludGVyc2VjdHMocmVjdCkpIHsKKyAgICAgICAgLy8gRG9uJ3QgYWRkIGluIG1f
eCBvciBtX3kgaGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBz
cGFjZS4KKyAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZs
aXBGb3JXcml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNp
emUoYWNjdW11bGF0ZWRPZmZzZXQpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1Jl
Y3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlvbklu
Q29udGFpbmVyLCByZWN0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyZjdjN2ViZGM0YmFk
ZmJjZDZlMmEyMDBiZDU5OTAyMDEzNGMwY2NhLi41MTE3YWZhYmZiOTA5YzM1MjdiN2IyZmUwODEz
OTcxNmM3ZDc3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCkBAIC0zNjUsMTggKzM2NSwzNSBAQCBib29sIElubGluZVRleHRCb3g6OmlzTGluZUJyZWFr
KCkgY29uc3QKIAogYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0
UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCwgTGF5b3V0VW5pdCAvKiBsaW5lVG9wICovLCBMYXlvdXRVbml0IC8qbGluZUJvdHRv
bSovKQogeworICAgIGlmICghdmlzaWJsZVRvSGl0VGVzdGluZygpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7
Ci0gICAgYm94T3JpZ2luLm1vdmVCeShhY2N1bXVsYXRlZE9mZnNldCk7Ci0gICAgRmxvYXRSZWN0
IHJlY3QoYm94T3JpZ2luLCBzaXplKCkpOwotICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxU
cnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBsb2NhdGlvbkluQ29udGFpbmVy
LmludGVyc2VjdHMocmVjdCkpIHsKLSAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJl
c3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50
KCkgLSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKSk7Ci0gICAgICAgIGlmICghcmVz
dWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1
ZXN0LCBsb2NhdGlvbkluQ29udGFpbmVyLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBGbG9hdFJlY3QgcmVjdChsb2dpY2FsRnJhbWVSZWN0KCkpOworICAg
IC8vIE1ha2Ugc3VyZSB0cnVuY2F0ZWQgdGV4dCBpcyBpZ25vcmVkIHdoaWxlIGhpdHRlc3Rpbmcu
CisgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CisgICAgICAgIExheW91
dFVuaXQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0
aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgaXNGaXJzdExpbmVTdHlsZSgpKTsK
KyAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSkKKyAgICAgICAgICAgIHJlY3Quc2V0V2lkdGgod2lkdGhPZlZpc2libGVUZXh0KTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcmVjdC5zaGlmdFhFZGdlVG8obG9naWNhbFJpZ2h0KCkgLSB3
aWR0aE9mVmlzaWJsZVRleHQpOwogICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmbGlw
Rm9yV3JpdGluZ01vZGUocmVjdCk7CisgICAgcmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQp
OworICAgIGlmICghbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJl
c3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRv
TGF5b3V0U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkpKTsKKyAgICBpZiAocmVzdWx0LmFkZE5vZGVU
b1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCByZXF1ZXN0LCBsb2NhdGlv
bkluQ29udGFpbmVyLCByZWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7CiB9CiAKIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3JhcGhp
Y3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgU2hhZG93RGF0YSogc2hh
ZG93LCBjb25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wgb3BhcXVl
LCBib29sIGhvcml6b250YWwpCkBAIC01MjYsNyArNTQzLDYgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0LAogICAgICAgICAgICAgLy8gdHJ1bmNhdGVkIHN0cmluZyBpLmUuICB8SGVsbG98Q0JBfCAt
PiB8Li4ubG98Q0JBfAogICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aE9mVmlzaWJsZVRleHQg
PSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwg
dGV4dFBvcygpLCBpc0ZpcnN0TGluZVN0eWxlKCkpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCB3
aWR0aE9mSGlkZGVuVGV4dCA9IG1fbG9naWNhbFdpZHRoIC0gd2lkdGhPZlZpc2libGVUZXh0Owot
ICAgICAgICAgICAgLy8gRklYTUU6IFRoZSBoaXQgdGVzdGluZyBsb2dpYyBhbHNvIG5lZWRzIHRv
IHRha2UgdGhpcyB0cmFuc2xhdGlvbiBpbnRvIGFjY291bnQuCiAgICAgICAgICAgICBMYXlvdXRT
aXplIHRydW5jYXRpb25PZmZzZXQoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gd2lkdGhPZkhp
ZGRlblRleHQgOiAtd2lkdGhPZkhpZGRlblRleHQsIDApOwogICAgICAgICAgICAgYWRqdXN0ZWRQ
YWludE9mZnNldC5tb3ZlKGlzSG9yaXpvbnRhbCgpID8gdHJ1bmNhdGlvbk9mZnNldCA6IHRydW5j
YXRpb25PZmZzZXQudHJhbnNwb3NlZFNpemUoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAppbmRleCA1ZTI2OTZiMTJjZjFjYjRjZjdjNzVh
NDkzODk3OGU0OTc1MDlkYjNjLi4xZWY2YTQ4MjA5YTlmMWU2ODgxZGMxYWZhNTA3MGI5NzNmNGUw
YTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCkBAIC0y
MjIsMTIgKzIyMiwxMSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAKIGJvb2wgUm9vdElubGlu
ZUJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgbGluZVRv
cCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKQogewotICAgIGlmIChoYXNFbGxpcHNpc0JveCgpICYm
IHZpc2libGVUb0hpdFRlc3RpbmcoKSkgewotICAgICAgICBpZiAoZWxsaXBzaXNCb3goKS0+bm9k
ZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBhY2N1bXVsYXRl
ZE9mZnNldCwgbGluZVRvcCwgbGluZUJvdHRvbSkpIHsKLSAgICAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkg
LSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZzZXQpKTsKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9CisgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBoYXNFbGxp
cHNpc0JveCgpICYmIGVsbGlwc2lzQm94KCktPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwg
bG9jYXRpb25JbkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0
b20pKSB7CisgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBs
b2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoYWNjdW11bGF0ZWRPZmZz
ZXQpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorCiAgICAgcmV0dXJuIElubGluZUZs
b3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwg
YWNjdW11bGF0ZWRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0b20pOwogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODll
N2JjZTYxNmI3ZTViZDI1MzVmYjg5YTZiM2M1MjI1OGUwNTc3Yi4uYmMyYzFhMmFmZjZmODliZDdj
MWFjNzE1MDIyNTcwODZiYjVhOGYwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA1LTA5
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5k
cyB0aGUgdHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4g
dGhlIGlucHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvY3NzL3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtYW5kLWZsb2F0
aW5nLWlucHV0LWhpdHRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0Lmh0bWw6
IEFkZGVkLgorCiAyMDEzLTA1LTA2ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29t
PgogCiAgICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgaW4gV2ViQ29yZTo6SW5saW5lRmxvd0Jv
eDo6ZGVsZXRlTGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVy
Zmxvdy1lbGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1p
bnB1dC1oaXR0ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTIwYTc3OTRiNmVjNTcwOTk2
NmI4MWNhNzJjOWQ5ZGZjNDRkMTQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0s
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJl
aGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQg
bnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJv
aWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQg
ZXN0IGxhYm9ydW0uCitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0
IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBh
cmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBz
dW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJv
cnVtLgorCitIaXR0ZXN0IGZvciB0aGUgdmVydGljYWwgbW9kZSBuZWVkcyB1cGRhdGluZyBhZnRl
ciBmaXhpbmcgdGhpczogVGV4dCBkb2VzIG5vdCBnZXQgdHJ1bmNhdGVkIHByb3Blcmx5IGluIHZl
cnRpY2FsIHdyaXRpbmcgbW9kZSB3aGVuIG92ZXJmbG93OmhpZGRlbiBhbmQgdGV4dC1vdmVyZmxv
dzplbGxpcHNpcyBhcmUgc2V0CisKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChpbnB1
dExlZnQgKyAxMCwgaW5wdXRUb3ApLmlkIGlzICdyaWdodC1mbG9hdGluZy1pbnB1dCcKK1BBU1Mg
ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChpbnB1dExlZnQgLSAxMCwgaW5wdXRUb3ApLmlkIGlz
ICdjb250YWluZXItbHRyJworUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0Umln
aHQgLSAxMCwgaW5wdXRUb3ApLmlkIGlzICdsZWZ0LWZsb2F0aW5nLWlucHV0JworUEFTUyBkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0UmlnaHQgKyAxMCwgaW5wdXRUb3ApLmlkIGlzICdj
b250YWluZXItcnRsJworUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0UmlnaHQg
LSAxMCwgaW5wdXRUb3ApLmlkIGlzICdjb250YWluZXItdmVydGljYWwtcmwnCitQQVNTIGRvY3Vt
ZW50LmVsZW1lbnRGcm9tUG9pbnQoaW5wdXRSaWdodCwgaW5wdXRUb3AgLSAxMCkuaWQgaXMgJ2Nv
bnRhaW5lci12ZXJ0aWNhbC1ybCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LW92
ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1o
aXR0ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRkMjRjM2I1Yzg1Zjc1Y2M0Y2Q3YmEwMjQ0NmYwZjlk
YjEzZjgxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtb3Zl
cmZsb3ctZWxsaXBzaXMtYW5kLWZsb2F0aW5nLWlucHV0LWhpdHRlc3QuaHRtbApAQCAtMCwwICsx
LDY2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIG9mZnNldChlbGVtKSB7CisgICAgdmFyIHJlc3VsdCA9IHt0b3A6IDAsIGxlZnQ6IDB9Owor
ICAgIGZvciAoOyBlbGVtOyBlbGVtID0gZWxlbS5vZmZzZXRQYXJlbnQpIHsKKyAgICAgICAgcmVz
dWx0LmxlZnQgKz0gZWxlbS5vZmZzZXRMZWZ0OworICAgICAgICByZXN1bHQudG9wICs9IGVsZW0u
b2Zmc2V0VG9wOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiB0ZXN0
KCkgeworICAgIHZhciBpbnB1dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyaWdodC1m
bG9hdGluZy1pbnB1dCcpOworICAgIGlucHV0TGVmdCA9IG9mZnNldChpbnB1dEJveCkubGVmdDsK
KyAgICBpbnB1dFRvcCA9IG9mZnNldChpbnB1dEJveCkudG9wOworICAgIHNob3VsZEJlKCJkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0TGVmdCArIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ3Jp
Z2h0LWZsb2F0aW5nLWlucHV0JyIpOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5lbGVtZW50RnJv
bVBvaW50KGlucHV0TGVmdCAtIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2NvbnRhaW5lci1sdHInIik7
CisKKyAgICBpbnB1dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsZWZ0LWZsb2F0aW5n
LWlucHV0Jyk7CisgICAgaW5wdXRSaWdodCA9IG9mZnNldChpbnB1dEJveCkubGVmdCArIGlucHV0
Qm94Lm9mZnNldFdpZHRoOworICAgIGlucHV0VG9wID0gb2Zmc2V0KGlucHV0Qm94KS50b3A7Cisg
ICAgc2hvdWxkQmUoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoaW5wdXRSaWdodCAtIDEwLCBp
bnB1dFRvcCkuaWQiLCAiJ2xlZnQtZmxvYXRpbmctaW5wdXQnIik7CisgICAgc2hvdWxkQmUoImRv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoaW5wdXRSaWdodCArIDEwLCBpbnB1dFRvcCkuaWQiLCAi
J2NvbnRhaW5lci1ydGwnIik7CisKKyAgICBpbnB1dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd2ZXJ0aWFsLWxlZnQtZmxvYXRpbmctaW5wdXQnKTsKKyAgICBpbnB1dFJpZ2h0ID0gb2Zm
c2V0KGlucHV0Qm94KS5sZWZ0ICsgaW5wdXRCb3gub2Zmc2V0V2lkdGg7OworICAgIGlucHV0VG9w
ID0gb2Zmc2V0KGlucHV0Qm94KS50b3A7CisgICAgc2hvdWxkQmUoImRvY3VtZW50LmVsZW1lbnRG
cm9tUG9pbnQoaW5wdXRSaWdodCAtIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2NvbnRhaW5lci12ZXJ0
aWNhbC1ybCciKTsKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChpbnB1
dFJpZ2h0LCBpbnB1dFRvcCAtIDEwKS5pZCIsICInY29udGFpbmVyLXZlcnRpY2FsLXJsJyIpOwor
CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKK30KKzwvc2NyaXB0PgorCis8c3R5bGU+Cisg
IGRpdiB7CisgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgb3ZlcmZsb3c6IGhpZGRl
bjsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIGJvcmRlcjogc29saWQgMXB4IHJlZDsK
KyAgICBwYWRkaW5nOiAxMHB4OworICB9CisgIAorICAjY29udGFpbmVyLXZlcnRpY2FsLXJsIHsK
KyAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7CisgICAgaGVpZ2h0OiAxNTBw
eDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgPGRp
diBpZD0nY29udGFpbmVyLWx0cic+PGlucHV0IGlkPSdyaWdodC1mbG9hdGluZy1pbnB1dCcgc3R5
bGU9J2Zsb2F0OiByaWdodCcgdHlwZT0ndGV4dCc+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgPC9kaXY+CisgIDxkaXYgZGlyPSdydGwnIGlkPSdjb250
YWluZXItcnRsJz48aW5wdXQgaWQ9J2xlZnQtZmxvYXRpbmctaW5wdXQnIHN0eWxlPSdmbG9hdDog
bGVmdCcgdHlwZT0ndGV4dCc+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVy
IGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxh
Ym9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVp
cyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4
IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5k
ZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxs
YSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVu
dCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3Qg
bGFib3J1bS4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9J2NvbnRhaW5lci12ZXJ0aWNhbC1ybCc+PGlu
cHV0IGlkPSd2ZXJ0aWFsLWxlZnQtZmxvYXRpbmctaW5wdXQnIHN0eWxlPSdmbG9hdDogcmlnaHQn
IHR5cGU9J3RleHQnPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9z
dHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBj
b21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQg
aW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFy
aWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1
bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9y
dW0uCisgIDwvZGl2PgorICA8YnI+CisgIDxkaXY+SGl0dGVzdCBmb3IgdGhlIHZlcnRpY2FsIG1v
ZGUgbmVlZHMgdXBkYXRpbmcgYWZ0ZXIgZml4aW5nIHRoaXM6IDxhIGhyZWY9J2h0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY0MTMnPlRleHQgZG9lcyBub3QgZ2V0IHRy
dW5jYXRlZCBwcm9wZXJseSBpbiB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUgd2hlbiBvdmVyZmxvdzpo
aWRkZW4gYW5kIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXMgYXJlIHNldDwvYT48L2Rpdj4KKyAgPGJy
PgorICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205277</attachid>
            <date>2013-06-23 23:51:38 -0700</date>
            <delta_ts>2013-06-24 00:32:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115675-20130624094946.patch</filename>
            <type>text/plain</type>
            <size>13453</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ5MDI2YmJjNmM0Zjk5
M2RiNGQwYmI2ZGJhYzU5MWUwZDM3YmQ5Ni4uOGRhZTE5NTkyMTc4ZDY1YTMwZGU5NTZlMzk3NjMx
YmViZDMxNzJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA2LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgSGl0dGVzdCBmaW5kcyB0aGUg
dHJ1bmNhdGVkIHRleHQgaW5zdGVhZCBvZiB0aGUgZmxvYXRpbmcgaW5wdXQsIHdoZW4gdGhlIGlu
cHV0IGlzIGNsaWNrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KKworICAg
ICAgICBJZ25vcmUgdHJ1bmNhdGVkIHRleHQgb24gaW5saW5lIHRleHRib3ggYW5kIGV2ZXJ5dGhp
bmcgYmV5b25kIHRoZSBlbGxpcHNpcyBib3ggb24KKyAgICAgICAgdGhlIHJvb3QgaW5saW5lYm94
IHdoaWxlIGhpdHRlc3RpbmcuIChwcm92aWRlZCB0aGF0IG5vZGVBdFBvaW50IGZpbmRzIG5vIGhp
dCBmb3IgYW55IG9mCisgICAgICAgIHRoZSByb290IGlubGluZSdzIGNoaWxkcmVuLikKKworICAg
ICAgICBUZXN0OiBmYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1p
bnB1dC1oaXR0ZXN0Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVUZXh0Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94
OjpwYWludCk6CisKIDIwMTMtMDYtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBDcmFzaGVzIGR1ZSB0byBOVUxMIGRlcmVmZXJlbmNlIGJlbmVhdGggV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTVkdEb2N1bWVudHMgYW5kIHJlbGF0ZWQg
ZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxv
d0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKaW5k
ZXggOTI1ZDExY2U4ZGYwNzIwNWNlNDIxNDJiMzYyMTNkYmRkYTlmNmJkNS4uNjU0ZjExMWIzYzc2
MWU2MGU5NTJlOTUzMWE1YjZhNmJjNGVlYWIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcApAQCAtMTA1MSw2ICsxMDUxLDI2IEBAIGJvb2wgSW5saW5lRmxv
d0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlCiAgICAgfQogCiAgICAgLy8gTm93IGNoZWNrIG91cnNlbHZlcy4gUGl4ZWwgc25h
cCBoaXQgdGVzdGluZy4KKyAgICBpZiAoIXZpc2libGVUb0hpdFRlc3RpbmcoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgLy8gRG8gbm90IGhpdHRlc3QgY29udGVudCBiZXlvbmQgdGhl
IGVsbGlwc2lzIGJveC4KKyAgICBpZiAoaXNSb290SW5saW5lQm94KCkgJiYgaGFzRWxsaXBzaXNC
b3goKSkgeworICAgICAgICBjb25zdCBFbGxpcHNpc0JveCogZWxsaXBzaXNCb3ggPSByb290KCkt
PmVsbGlwc2lzQm94KCk7CisgICAgICAgIExheW91dFJlY3QgYm91bmRzUmVjdChyb3VuZGVkRnJh
bWVSZWN0KCkpOworCisgICAgICAgIGlmIChpc0hvcml6b250YWwoKSkKKyAgICAgICAgICAgIHJl
bmRlcmVyKCktPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IGJvdW5kc1JlY3Qu
c2hpZnRYRWRnZVRvKGVsbGlwc2lzQm94LT5yaWdodCgpKSA6IGJvdW5kc1JlY3Quc2V0V2lkdGgo
ZWxsaXBzaXNCb3gtPmxlZnQoKSAtIGxlZnQoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGJvdW5kc1JlY3Quc2hpZnRZRWRnZVRvKGVsbGlwc2lzQm94LT5yaWdodCgpKTsKKworICAgICAg
ICBmbGlwRm9yV3JpdGluZ01vZGUoYm91bmRzUmVjdCk7CisgICAgICAgIGJvdW5kc1JlY3QubW92
ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKKyAgICAgICAgLy8gV2UgYXJlIGJleW9uZCB0aGUgZWxs
aXBzaXMgYm94LgorICAgICAgICBpZiAobG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKGJv
dW5kc1JlY3QpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIExheW91
dFJlY3QgZnJhbWVSZWN0ID0gcm91bmRlZEZyYW1lUmVjdCgpOwogICAgIExheW91dFVuaXQgbWlu
WCA9IGZyYW1lUmVjdC54KCk7CiAgICAgTGF5b3V0VW5pdCBtaW5ZID0gZnJhbWVSZWN0LnkoKTsK
QEAgLTEwNzMsNyArMTA5Myw3IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29u
c3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlCiAgICAgZmxpcEZv
cldyaXRpbmdNb2RlKHJlY3QpOwogICAgIHJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsK
IAotICAgIGlmICh2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgbG9jYXRpb25JbkNvbnRhaW5lci5p
bnRlcnNlY3RzKHJlY3QpKSB7CisgICAgaWYgKGxvY2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0
cyhyZWN0KSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3Vs
dCwgZmxpcEZvcldyaXRpbmdNb2RlKGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5
b3V0U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkpKTsgLy8gRG9uJ3QgYWRkIGluIG1feCBvciBtX3kg
aGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBzcGFjZS4KICAg
ICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigp
LT5ub2RlKCksIHJlcXVlc3QsIGxvY2F0aW9uSW5Db250YWluZXIsIHJlY3QpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAKaW5kZXggOTdlM2MxNmM3ODBmNmE1MjQ1NTJkZGM3MzY3MTMzM2U5YWVlODU0Ny4uNDllMmUx
ZGQwNzM3NDA0N2RhNzMzYTA3ZmM3ZjJjZjcyY2IzYTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAtMzcyLDEzICszNzIsMjkgQEAgYm9vbCBJbmxp
bmVUZXh0Qm94Ojppc0xpbmVCcmVhaygpIGNvbnN0CiAKIGJvb2wgSW5saW5lVGV4dEJveDo6bm9k
ZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJl
c3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgLyogbGluZVRvcCAqLywg
TGF5b3V0VW5pdCAvKmxpbmVCb3R0b20qLykKIHsKKyAgICBpZiAoIXZpc2libGVUb0hpdFRlc3Rp
bmcoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRp
b25JbmNsdWRpbmdGbGlwcGluZygpOwotICAgIGJveE9yaWdpbi5tb3ZlQnkoYWNjdW11bGF0ZWRP
ZmZzZXQpOwotICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgc2l6ZSgpKTsKLSAgICBpZiAo
bV90cnVuY2F0aW9uICE9IGNGdWxsVHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9IaXRUZXN0aW5nKCkg
JiYgbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKHJlY3QpKSB7CisgICAgaWYgKG1fdHJ1
bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IEZsb2F0UmVjdCByZWN0KGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKSwgc2l6ZSgpKTsKKyAg
ICAvLyBNYWtlIHN1cmUgdHJ1bmNhdGVkIHRleHQgaXMgaWdub3JlZCB3aGlsZSBoaXR0ZXN0aW5n
LgorICAgIGlmIChtX3RydW5jYXRpb24gIT0gY05vVHJ1bmNhdGlvbikgeworICAgICAgICBMYXlv
dXRVbml0IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lk
dGgobV9zdGFydCwgbV90cnVuY2F0aW9uLCB0ZXh0UG9zKCksIGlzRmlyc3RMaW5lU3R5bGUoKSk7
CisKKyAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcmVjdC5zZXRXaWR0aCh3aWR0aE9m
VmlzaWJsZVRleHQpIDogcmVjdC5zaGlmdFhFZGdlVG8ocmlnaHQoKSAtIHdpZHRoT2ZWaXNpYmxl
VGV4dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlY3Quc2V0SGVpZ2h0KHdpZHRoT2ZW
aXNpYmxlVGV4dCk7CisgICAgfQorCisgICAgcmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQp
OworCisgICAgaWYgKGxvY2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0cyhyZWN0KSkgewogICAg
ICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRp
bmdNb2RlKGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5b3V0U2l6ZShhY2N1bXVs
YXRlZE9mZnNldCkpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVz
dFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHJlcXVlc3QsIGxvY2F0aW9uSW5Db250YWluZXIs
IHJlY3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC01MzMsNyArNTQ5LDYgQEAgdm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0
UG9pbnQmIHBhaW50T2Zmc2V0LAogICAgICAgICAgICAgLy8gdHJ1bmNhdGVkIHN0cmluZyBpLmUu
ICB8SGVsbG98Q0JBfCAtPiB8Li4ubG98Q0JBfAogICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0
aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQs
IG1fdHJ1bmNhdGlvbiwgdGV4dFBvcygpLCBpc0ZpcnN0TGluZVN0eWxlKCkpOwogICAgICAgICAg
ICAgTGF5b3V0VW5pdCB3aWR0aE9mSGlkZGVuVGV4dCA9IG1fbG9naWNhbFdpZHRoIC0gd2lkdGhP
ZlZpc2libGVUZXh0OwotICAgICAgICAgICAgLy8gRklYTUU6IFRoZSBoaXQgdGVzdGluZyBsb2dp
YyBhbHNvIG5lZWRzIHRvIHRha2UgdGhpcyB0cmFuc2xhdGlvbiBpbnRvIGFjY291bnQuCiAgICAg
ICAgICAgICBMYXlvdXRTaXplIHRydW5jYXRpb25PZmZzZXQoaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpID8gd2lkdGhPZkhpZGRlblRleHQgOiAtd2lkdGhPZkhpZGRlblRleHQsIDApOwogICAgICAg
ICAgICAgYWRqdXN0ZWRQYWludE9mZnNldC5tb3ZlKGlzSG9yaXpvbnRhbCgpID8gdHJ1bmNhdGlv
bk9mZnNldCA6IHRydW5jYXRpb25PZmZzZXQudHJhbnNwb3NlZFNpemUoKSk7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMWJmMzE3ZWM2YWU0ZDhlODUyNjdhMTQ5NjVhYzkyZTIwMTc2NWU4Li5hMzIwOGFk
NjEzZTkxNDk1ZTZhN2U3YTYxM2M0ZGRmYjJlMmNiZGNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTMtMDYtMjIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBI
aXR0ZXN0IGZpbmRzIHRoZSB0cnVuY2F0ZWQgdGV4dCBpbnN0ZWFkIG9mIHRoZSBmbG9hdGluZyBp
bnB1dCwgd2hlbiB0aGUgaW5wdXQgaXMgY2xpY2tlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IERh
dmlkIEh5YXR0LgorCisgICAgICAgIElnbm9yZSB0cnVuY2F0ZWQgdGV4dCBvbiBpbmxpbmUgdGV4
dGJveCBhbmQgZXZlcnl0aGluZyBiZXlvbmQgdGhlIGVsbGlwc2lzIGJveCBvbgorICAgICAgICB0
aGUgcm9vdCBpbmxpbmVib3ggd2hpbGUgaGl0dGVzdGluZy4gKHByb3ZpZGVkIHRoYXQgbm9kZUF0
UG9pbnQgZmluZHMgbm8gaGl0IGZvciBhbnkgb2YKKyAgICAgICAgdGhlIHJvb3QgaW5saW5lJ3Mg
Y2hpbGRyZW4uKQorCisgICAgICAgICogZmFzdC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1h
bmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtYW5kLWZsb2F0aW5nLWlucHV0LWhpdHRl
c3QuaHRtbDogQWRkZWQuCisKIDIwMTMtMDYtMjEgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3NdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1hbmQt
ZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNTIwYTc3OTRiNmVjNTcwOTk2NmI4MWNhNzJjOWQ5ZGZjNDRk
MTQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGV4dC1vdmVyZmxv
dy1lbGxpcHNpcy1hbmQtZmxvYXRpbmctaW5wdXQtaGl0dGVzdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBp
c2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBl
dCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0
cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNv
bW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBp
biB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJp
YXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3Vu
dCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1
bS4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVy
Y2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNv
bnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0
YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4
Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3Vs
cGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCitMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9u
IHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQu
IER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxp
dCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIg
c2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBv
ZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorCitIaXR0ZXN0IGZv
ciB0aGUgdmVydGljYWwgbW9kZSBuZWVkcyB1cGRhdGluZyBhZnRlciBmaXhpbmcgdGhpczogVGV4
dCBkb2VzIG5vdCBnZXQgdHJ1bmNhdGVkIHByb3Blcmx5IGluIHZlcnRpY2FsIHdyaXRpbmcgbW9k
ZSB3aGVuIG92ZXJmbG93OmhpZGRlbiBhbmQgdGV4dC1vdmVyZmxvdzplbGxpcHNpcyBhcmUgc2V0
CisKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChpbnB1dExlZnQgKyAxMCwgaW5wdXRU
b3ApLmlkIGlzICdyaWdodC1mbG9hdGluZy1pbnB1dCcKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludChpbnB1dExlZnQgLSAxMCwgaW5wdXRUb3ApLmlkIGlzICdjb250YWluZXItbHRyJwor
UEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0UmlnaHQgLSAxMCwgaW5wdXRUb3Ap
LmlkIGlzICdsZWZ0LWZsb2F0aW5nLWlucHV0JworUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50KGlucHV0UmlnaHQgKyAxMCwgaW5wdXRUb3ApLmlkIGlzICdjb250YWluZXItcnRsJworUEFT
UyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0UmlnaHQgLSAxMCwgaW5wdXRUb3ApLmlk
IGlzICdjb250YWluZXItdmVydGljYWwtcmwnCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9p
bnQoaW5wdXRSaWdodCwgaW5wdXRUb3AgLSAxMCkuaWQgaXMgJ2NvbnRhaW5lci12ZXJ0aWNhbC1y
bCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0LW92ZXJmbG93LWVsbGlwc2lzLWFu
ZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXh0
LW92ZXJmbG93LWVsbGlwc2lzLWFuZC1mbG9hdGluZy1pbnB1dC1oaXR0ZXN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzRkMjRjM2I1Yzg1Zjc1Y2M0Y2Q3YmEwMjQ0NmYwZjlkYjEzZjgxMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtYW5k
LWZsb2F0aW5nLWlucHV0LWhpdHRlc3QuaHRtbApAQCAtMCwwICsxLDY2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIG9mZnNldChlbGVtKSB7
CisgICAgdmFyIHJlc3VsdCA9IHt0b3A6IDAsIGxlZnQ6IDB9OworICAgIGZvciAoOyBlbGVtOyBl
bGVtID0gZWxlbS5vZmZzZXRQYXJlbnQpIHsKKyAgICAgICAgcmVzdWx0LmxlZnQgKz0gZWxlbS5v
ZmZzZXRMZWZ0OworICAgICAgICByZXN1bHQudG9wICs9IGVsZW0ub2Zmc2V0VG9wOworICAgIH0K
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIHZhciBpbnB1
dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyaWdodC1mbG9hdGluZy1pbnB1dCcpOwor
ICAgIGlucHV0TGVmdCA9IG9mZnNldChpbnB1dEJveCkubGVmdDsKKyAgICBpbnB1dFRvcCA9IG9m
ZnNldChpbnB1dEJveCkudG9wOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50KGlucHV0TGVmdCArIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ3JpZ2h0LWZsb2F0aW5nLWlucHV0
JyIpOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGlucHV0TGVmdCAt
IDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2NvbnRhaW5lci1sdHInIik7CisKKyAgICBpbnB1dEJveCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsZWZ0LWZsb2F0aW5nLWlucHV0Jyk7CisgICAgaW5w
dXRSaWdodCA9IG9mZnNldChpbnB1dEJveCkubGVmdCArIGlucHV0Qm94Lm9mZnNldFdpZHRoOwor
ICAgIGlucHV0VG9wID0gb2Zmc2V0KGlucHV0Qm94KS50b3A7CisgICAgc2hvdWxkQmUoImRvY3Vt
ZW50LmVsZW1lbnRGcm9tUG9pbnQoaW5wdXRSaWdodCAtIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2xl
ZnQtZmxvYXRpbmctaW5wdXQnIik7CisgICAgc2hvdWxkQmUoImRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQoaW5wdXRSaWdodCArIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2NvbnRhaW5lci1ydGwnIik7
CisKKyAgICBpbnB1dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZXJ0aWFsLWxlZnQt
ZmxvYXRpbmctaW5wdXQnKTsKKyAgICBpbnB1dFJpZ2h0ID0gb2Zmc2V0KGlucHV0Qm94KS5sZWZ0
ICsgaW5wdXRCb3gub2Zmc2V0V2lkdGg7OworICAgIGlucHV0VG9wID0gb2Zmc2V0KGlucHV0Qm94
KS50b3A7CisgICAgc2hvdWxkQmUoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoaW5wdXRSaWdo
dCAtIDEwLCBpbnB1dFRvcCkuaWQiLCAiJ2NvbnRhaW5lci12ZXJ0aWNhbC1ybCciKTsKKyAgICBz
aG91bGRCZSgiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChpbnB1dFJpZ2h0LCBpbnB1dFRvcCAt
IDEwKS5pZCIsICInY29udGFpbmVyLXZlcnRpY2FsLXJsJyIpOworCisgICAgaXNTdWNjZXNzZnVs
bHlQYXJzZWQoKTsKK30KKzwvc2NyaXB0PgorCis8c3R5bGU+CisgIGRpdiB7CisgICAgdGV4dC1v
dmVyZmxvdzogZWxsaXBzaXM7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1zcGFj
ZTogbm93cmFwOworICAgIGJvcmRlcjogc29saWQgMXB4IHJlZDsKKyAgICBwYWRkaW5nOiAxMHB4
OworICB9CisgIAorICAjY29udGFpbmVyLXZlcnRpY2FsLXJsIHsKKyAgICAtd2Via2l0LXdyaXRp
bmctbW9kZTogdmVydGljYWwtcmw7CisgICAgaGVpZ2h0OiAxNTBweDsKKyAgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgPGRpdiBpZD0nY29udGFpbmVyLWx0
cic+PGlucHV0IGlkPSdyaWdodC1mbG9hdGluZy1pbnB1dCcgc3R5bGU9J2Zsb2F0OiByaWdodCcg
dHlwZT0ndGV4dCc+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBp
c2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBl
dCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0
cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNv
bW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBp
biB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJp
YXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3Vu
dCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1
bS4KKyAgPC9kaXY+CisgIDxkaXYgZGlyPSdydGwnIGlkPSdjb250YWluZXItcnRsJz48aW5wdXQg
aWQ9J2xlZnQtZmxvYXRpbmctaW5wdXQnIHN0eWxlPSdmbG9hdDogbGVmdCcgdHlwZT0ndGV4dCc+
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRh
dGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2Vx
dWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUg
dmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0
ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBx
dWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgPC9kaXY+
CisgIDxkaXYgaWQ9J2NvbnRhaW5lci12ZXJ0aWNhbC1ybCc+PGlucHV0IGlkPSd2ZXJ0aWFsLWxl
ZnQtZmxvYXRpbmctaW5wdXQnIHN0eWxlPSdmbG9hdDogcmlnaHQnIHR5cGU9J3RleHQnPkxvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFs
aXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24g
dWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4g
RHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0
IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBz
aW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9m
ZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgIDwvZGl2PgorICA8
YnI+CisgIDxkaXY+SGl0dGVzdCBmb3IgdGhlIHZlcnRpY2FsIG1vZGUgbmVlZHMgdXBkYXRpbmcg
YWZ0ZXIgZml4aW5nIHRoaXM6IDxhIGhyZWY9J2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTY0MTMnPlRleHQgZG9lcyBub3QgZ2V0IHRydW5jYXRlZCBwcm9wZXJseSBp
biB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUgd2hlbiBvdmVyZmxvdzpoaWRkZW4gYW5kIHRleHQtb3Zl
cmZsb3c6ZWxsaXBzaXMgYXJlIHNldDwvYT48L2Rpdj4KKyAgPGJyPgorICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>