<?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>89674</bug_id>
          
          <creation_ts>2012-06-21 10:18:26 -0700</creation_ts>
          <short_desc>Cannot open calendar picker for input type=date using a touch tap gesture if TOUCH_ADJUSTMENT is enabled.</short_desc>
          <delta_ts>2012-07-27 01:13:18 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>89556</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kevin Ellis">kevers</reporter>
          <assigned_to name="Kevin Ellis">kevers</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hayato</cc>
    
    <cc>morrita</cc>
    
    <cc>rjkroege</cc>
    
    <cc>tdanderson</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>654649</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-21 10:18:26 -0700</bug_when>
    <thetext>Cannot open calendar picker for input type=date using a touch tap gesture if TOUCH_ADJUSTMENT is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654663</commentid>
    <comment_count>1</comment_count>
      <attachid>148831</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-21 10:29:15 -0700</bug_when>
    <thetext>Created attachment 148831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655330</commentid>
    <comment_count>2</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-06-22 02:49:08 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 89556 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655333</commentid>
    <comment_count>3</comment_count>
      <attachid>148831</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-06-22 02:52:48 -0700</bug_when>
    <thetext>Comment on attachment 148831
Patch

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

Looks mostly good, but needs to be merged with my similar patch in 89556, and we need to decide if the returned targetNode should be the shadow-element or the shadow-ancestor.

&gt; Source/WebCore/page/EventHandler.cpp:2493
&gt; +    bool success = findBestClickableCandidate(targetNode, targetPoint, touchCenter, touchRect, *nodeList.get());
&gt; +    if (success &amp;&amp; targetNode)
&gt; +        targetNode = targetNode-&gt;shadowAncestorNode();
&gt; +    return success;

I am unsure about this change. For point-adjustment it doesn&apos;t matter, but we want to fix the problem of performing unnecesary later hit-testing later and just use the found target node. If we return a shadowAncestorNode instead of the shadow element, we would have the same problem again then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655390</commentid>
    <comment_count>4</comment_count>
      <attachid>148831</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 05:58:37 -0700</bug_when>
    <thetext>Comment on attachment 148831
Patch

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

&gt;&gt; Source/WebCore/page/EventHandler.cpp:2493
&gt;&gt; +    return success;
&gt; 
&gt; I am unsure about this change. For point-adjustment it doesn&apos;t matter, but we want to fix the problem of performing unnecesary later hit-testing later and just use the found target node. If we return a shadowAncestorNode instead of the shadow element, we would have the same problem again then.

Was erring on the side of caution.  Without this node adjustment, we introduce a regression in touchadjustment/html_label.html.  I see that you have addressed the change in behavior in your patch for 89556.  Happy to back out the changes to event handler and land the test portion of the patch after your patch, or alternatively it might make sense to push this change in first and then back out the node adjustment in your more detailed patch.  Option 3 is to merge the nested shadow node test into your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655426</commentid>
    <comment_count>5</comment_count>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 07:06:24 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655427</commentid>
    <comment_count>6</comment_count>
      <attachid>149020</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 07:06:27 -0700</bug_when>
    <thetext>Created attachment 149020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655433</commentid>
    <comment_count>7</comment_count>
      <attachid>148831</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 07:11:31 -0700</bug_when>
    <thetext>Comment on attachment 148831
Patch

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

&gt;&gt;&gt; Source/WebCore/page/EventHandler.cpp:2493
&gt;&gt;&gt; +    return success;
&gt;&gt; 
&gt;&gt; I am unsure about this change. For point-adjustment it doesn&apos;t matter, but we want to fix the problem of performing unnecesary later hit-testing later and just use the found target node. If we return a shadowAncestorNode instead of the shadow element, we would have the same problem again then.
&gt; 
&gt; Was erring on the side of caution.  Without this node adjustment, we introduce a regression in touchadjustment/html_label.html.  I see that you have addressed the change in behavior in your patch for 89556.  Happy to back out the changes to event handler and land the test portion of the patch after your patch, or alternatively it might make sense to push this change in first and then back out the node adjustment in your more detailed patch.  Option 3 is to merge the nested shadow node test into your patch.

Added FIXME to remove need for shadowAncestorNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655644</commentid>
    <comment_count>8</comment_count>
      <attachid>149020</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-06-22 11:27:10 -0700</bug_when>
    <thetext>Comment on attachment 149020
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2494
&gt; +    // FIXME: Should be able to handle targetNode being a shadow DOM node to avoid performing uncessary hit tests
&gt; +    // in the case where further processing on the node is required. Returning the shadow ancestor prevents a
&gt; +    // regression in touchadjustment/html-label.html. Some refinement is required to testing/internals to
&gt; +    // handle targetNode being a shadow DOM node (see bug 69556). 

This is supported in HitTestResult side. The BlackBerry port, for example, only works with shadow content, if they have a media element (&lt;video&gt; or &lt;audio&gt;) as ancestor.

The bug 69556 does not seem related. Maybe wrong bug ID?

&gt; LayoutTests/touchadjustment/nested-shadow-node.html:37
&gt; +    function addShadowDom() {

Dom =&gt; DOM

&gt; LayoutTests/touchadjustment/nested-shadow-node.html:81
&gt; +        var left = touchX - padding/2;
&gt; +        var top = touchY - padding/2;

nit: space before/after &quot;/&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655680</commentid>
    <comment_count>9</comment_count>
      <attachid>149081</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 12:10:25 -0700</bug_when>
    <thetext>Created attachment 149081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655682</commentid>
    <comment_count>10</comment_count>
      <attachid>149020</attachid>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-22 12:12:39 -0700</bug_when>
    <thetext>Comment on attachment 149020
Patch

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

&gt;&gt; Source/WebCore/page/EventHandler.cpp:2494
&gt;&gt; +    // handle targetNode being a shadow DOM node (see bug 69556). 
&gt; 
&gt; This is supported in HitTestResult side. The BlackBerry port, for example, only works with shadow content, if they have a media element (&lt;video&gt; or &lt;audio&gt;) as ancestor.
&gt; 
&gt; The bug 69556 does not seem related. Maybe wrong bug ID?

Wrong ID.  Corrected to 89556 (Touch adjustment does not target shadow DOM elements).

&gt;&gt; LayoutTests/touchadjustment/nested-shadow-node.html:37
&gt;&gt; +    function addShadowDom() {
&gt; 
&gt; Dom =&gt; DOM

Done.

&gt;&gt; LayoutTests/touchadjustment/nested-shadow-node.html:81
&gt;&gt; +        var top = touchY - padding/2;
&gt; 
&gt; nit: space before/after &quot;/&quot;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656468</commentid>
    <comment_count>11</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-06-25 04:13:23 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=149081) [details]
&gt; Patch

Even though we plan to land it is a two patches, I would still prefer if you closed this bug as a duplicated, and landed the patch under the original bug. They are the same bug-report, and the title is more accurate in the older bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657584</commentid>
    <comment_count>12</comment_count>
    <who name="Kevin Ellis">kevers</who>
    <bug_when>2012-06-26 07:01:59 -0700</bug_when>
    <thetext>Test added to 89556.

*** This bug has been marked as a duplicate of bug 89556 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680260</commentid>
    <comment_count>13</comment_count>
      <attachid>148831</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:13:08 -0700</bug_when>
    <thetext>Comment on attachment 148831
Patch

Cleared review? from obsolete attachment 148831 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680261</commentid>
    <comment_count>14</comment_count>
      <attachid>149081</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:13:13 -0700</bug_when>
    <thetext>Comment on attachment 149081
Patch

Cleared review? from attachment 149081 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680262</commentid>
    <comment_count>15</comment_count>
      <attachid>149020</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:13:18 -0700</bug_when>
    <thetext>Comment on attachment 149020
Patch

Cleared review? from obsolete attachment 149020 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148831</attachid>
            <date>2012-06-21 10:29:15 -0700</date>
            <delta_ts>2012-07-27 01:13:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89674-20120621132915.patch</filename>
            <type>text/plain</type>
            <size>9427</size>
            <attacher name="Kevin Ellis">kevers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRkYTNlNTcwYjc0NTkz
NzYyMzgyYjExODI0ODIxYTYzYjk2YWMyZC4uZDYxNDZlODEzY2ViNjhhYzFlYzg4OTIxNDQ5ZGE5
MjI0MTAwYWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTIxICBLZXZp
biBFbGxpcyAgPGtldmVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2Fubm90IG9wZW4gY2Fs
ZW5kYXIgcGlja2VyIGZvciBpbnB1dCB0eXBlPWRhdGUgdXNpbmcgYSB0b3VjaCB0YXAgZ2VzdHVy
ZSBpZiBUT1VDSF9BREpVU1RNRU5UIGlzIGVuYWJsZWQuCisKKyAgICAgICAgVGhlIHBvc2l0aW9u
IG9mIGludGVybmFsIHNoYWRvdy1ET00gbm9kZXMgd2VyZSBub3QgYmVpbmcgY29uc2lkZXJlZCB3
aGVuIGRldGVybWluaW5nIHRoZSBzbmFwIHBvc2l0aW9uCisgICAgICAgIHdoZW4gVE9VQ0hfQURK
VVNUTUVOVCBpcyBlbmFibGVkIGZvciBmaW5lIHR1bmluZyB0aGUgcG9zaXRpb24gb2Ygc3ludGhl
dGljIG1vdXNlIGV2ZW50cy4gIFRoaXMgCisgICAgICAgIHJlc3RyaWN0aW9uIHJlc3VsdHMgaW4g
bm90IGJlaW5nIGFibGUgdG8gc2VsZWN0IHRoZSBjYWxlbmRhciBwaWNrZXIgd2hlbiBpbnB1dCB0
eXBlPWRhdGUsIG9yIHRvIAorICAgICAgICBjbGVhciB0aGUgc2VhcmNoIGZpZWxkIGZvciBpbnB1
dCB0eXBlPXNlYXJjaC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODk2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiB0b3VjaGFkanVzdG1lbnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KToKKwogMjAxMi0wNi0xOCAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXZlbnQgZGlzcGF0
Y2hlciBzaG91bGQgdXNlIEluc2VydGlvblBvaW50OjpoYXNEaXN0cmlidXRpb24gaW5zdGVhZCBv
ZiBJbnNlcnRpblBvaW50Ojppc0FjdGl2ZSBpbiByZS10YXJnZXRpbmcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZDFiOGMxMmEzYjgxY2ExZTNhNWZkYTNiZjJmYjRmOWZh
M2VlYjc0NC4uNDQwYzVmYjQ5MjM1M2ZjODI3NjFmNTk4YmJhZTVkYWVmYTEyNDQ4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjQ4MywxMSArMjQ4MywxNCBAQCBib29s
IEV2ZW50SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KGNvbnN0IEludFBv
aW50JiB0b3VjaENlbnRlciwgYwogewogICAgIEhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVz
dFR5cGUgaGl0VHlwZSA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0
OjpBY3RpdmU7CiAgICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0gbV9mcmFtZS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHRvdWNoQ2VudGVyKTsKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9
IGhpdFRlc3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQq
LyBmYWxzZSwgLyppZ25vcmVDbGlwcGluZyovIGZhbHNlLCBEb250SGl0VGVzdFNjcm9sbGJhcnMs
IGhpdFR5cGUsIHRvdWNoUmFkaXVzKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhpdFRl
c3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyB0cnVl
LCAvKmlnbm9yZUNsaXBwaW5nKi8gZmFsc2UsIERvbnRIaXRUZXN0U2Nyb2xsYmFycywgaGl0VHlw
ZSwgdG91Y2hSYWRpdXMpOwogCiAgICAgSW50UmVjdCB0b3VjaFJlY3QgPSByZXN1bHQucmVjdEZv
clBvaW50KHRvdWNoQ2VudGVyKTsKICAgICBSZWZQdHI8U3RhdGljSGFzaFNldE5vZGVMaXN0PiBu
b2RlTGlzdCA9IFN0YXRpY0hhc2hTZXROb2RlTGlzdDo6YWRvcHQocmVzdWx0LnJlY3RCYXNlZFRl
c3RSZXN1bHQoKSk7Ci0gICAgcmV0dXJuIGZpbmRCZXN0Q2xpY2thYmxlQ2FuZGlkYXRlKHRhcmdl
dE5vZGUsIHRhcmdldFBvaW50LCB0b3VjaENlbnRlciwgdG91Y2hSZWN0LCAqbm9kZUxpc3QuZ2V0
KCkpOworICAgIGJvb2wgc3VjY2VzcyA9IGZpbmRCZXN0Q2xpY2thYmxlQ2FuZGlkYXRlKHRhcmdl
dE5vZGUsIHRhcmdldFBvaW50LCB0b3VjaENlbnRlciwgdG91Y2hSZWN0LCAqbm9kZUxpc3QuZ2V0
KCkpOworICAgIGlmIChzdWNjZXNzICYmIHRhcmdldE5vZGUpCisgICAgICAgIHRhcmdldE5vZGUg
PSB0YXJnZXROb2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICByZXR1cm4gc3VjY2VzczsK
IH0KIAogYm9vbCBFdmVudEhhbmRsZXI6OmJlc3Rab29tYWJsZUFyZWFGb3JUb3VjaFBvaW50KGNv
bnN0IEludFBvaW50JiB0b3VjaENlbnRlciwgY29uc3QgSW50U2l6ZSYgdG91Y2hSYWRpdXMsIElu
dFJlY3QmIHRhcmdldEFyZWEsIE5vZGUqJiB0YXJnZXROb2RlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0YjVmYzQyNmEx
OGE5NjRkNTA5ZjA4ZDdjYmE5Y2FkZTE2MjBlMDUuLmI1MDJhMmNhNzFjYjJlOWJhNGJlODBmN2Rj
N2I3MjUzYjhkZWY3YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNi0yMSAgS2V2aW4g
RWxsaXMgIDxrZXZlcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENhbm5vdCBvcGVuIGNhbGVu
ZGFyIHBpY2tlciBmb3IgaW5wdXQgdHlwZT1kYXRlIHVzaW5nIGEgdG91Y2ggdGFwIGdlc3R1cmUg
aWYgVE9VQ0hfQURKVVNUTUVOVCBpcyBlbmFibGVkLgorCisgICAgICAgIFdoZW4gdG91Y2ggYWRq
dXN0bWVudCBpcyBlbmFibGVkLCB0aGUgcG9zaXRpb24gb2YgYSB0b3VjaCBwb2ludCBpcyBzbmFw
cGVkIHRvIHRoZSBjZW50ZXIgb2YgYW4KKyAgICAgICAgZWxlbWVudCB3aGVuIGdlbmVyYXRpbmcg
c3ludGhldGljIG1vdXNlIGV2ZW50cy4gIFRoZSBwb3NpdGlvbiBvZiBzaGFkb3cgbm9kZXMgd2Fz
IG5vdCBiZWluZyBjb25zaWRlcmVkCisgICAgICAgIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNuYXAg
cG9zaXRpb24uIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRvdWNoIGFkanVzdG1lbnQgbm93IGNv
bnNpZGVycyBzaGFkb3ctRE9NCisgICAgICAgIHdoZW4gY2FsY3VsYXRpbmcgdGhlIHNuYXAgcG9z
dGlpb24uIAorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04OTY3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogdG91Y2hhZGp1c3RtZW50L25lc3RlZC1zaGFkb3ctbm9kZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHRvdWNoYWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDYtMTggIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIEV2ZW50IGRpc3BhdGNoZXIgc2hvdWxkIHVzZSBJbnNlcnRpb25Qb2ludDo6aGFzRGlz
dHJpYnV0aW9uIGluc3RlYWQgb2YgSW5zZXJ0aW5Qb2ludDo6aXNBY3RpdmUgaW4gcmUtdGFyZ2V0
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdG91Y2hhZGp1c3RtZW50L25lc3RlZC1zaGFk
b3ctbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90b3VjaGFkanVzdG1lbnQvbmVzdGVk
LXNoYWRvdy1ub2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmI0YmIxODY3Zjc4NDk4OGVm
MDRiOWIxNTE3MmMxYTcxMDgwODQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdG91
Y2hhZGp1c3RtZW50L25lc3RlZC1zaGFkb3ctbm9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
NCBAQAorVGVzdCB0aGUgY2FzZSB3aGVyZSBhIGNsaWNrYWJsZSB0YXJnZXQgY29udGFpbnMgYSBz
aGFkb3ctRE9NIGVsZW1lbnQuIFRoZSBhZGp1c3RlZCBwb2ludCBzaG91bGQgc25hcCB0byB0aGUg
bG9jYXRpb24gb2YgdGhlIHNoYWRvdy1ET00gZWxlbWVudCBpZiBjbG9zZSBlbm91Z2ggdG8gdGhl
IG9yaWdpbmFsIHRvdWNoIHBvc2l0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBhZGp1c3RlZE5vZGUuaWQgaXMgZWxlbWVudC5pZAorUEFTUyBhZGp1c3RlZFBvaW50
LnggaXMgd2l0aGluIDEwIG9mIDg4CitQQVNTIGFkanVzdGVkUG9pbnQueSBpcyB3aXRoaW4gMTAg
b2YgMjgKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BBU1MgYWRqdXN0ZWRQ
b2ludC54IGlzIHdpdGhpbiAxMCBvZiA4OAorUEFTUyBhZGp1c3RlZFBvaW50LnkgaXMgd2l0aGlu
IDEwIG9mIDI4CitQQVNTIGFkanVzdGVkTm9kZS5pZCBpcyBlbGVtZW50LmlkCitQQVNTIGFkanVz
dGVkUG9pbnQueCBpcyB3aXRoaW4gMTAgb2YgODgKK1BBU1MgYWRqdXN0ZWRQb2ludC55IGlzIHdp
dGhpbiAxMCBvZiAyOAorUEFTUyBhZGp1c3RlZE5vZGUuaWQgaXMgZWxlbWVudC5pZAorUEFTUyBh
ZGp1c3RlZFBvaW50LnggaXMgd2l0aGluIDEwIG9mIDg4CitQQVNTIGFkanVzdGVkUG9pbnQueSBp
cyB3aXRoaW4gMTAgb2YgMjgKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BB
U1MgYWRqdXN0ZWRQb2ludC54IGlzIHdpdGhpbiAxIG9mIDU4CitQQVNTIGFkanVzdGVkUG9pbnQu
eSBpcyB3aXRoaW4gMSBvZiA1OAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RvdWNoYWRqdXN0bWVudC9u
ZXN0ZWQtc2hhZG93LW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL3RvdWNoYWRqdXN0bWVudC9uZXN0
ZWQtc2hhZG93LW5vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTJjNzg4YTZlZGY3NmRhMjhjMzVmMDE3
NTlmNjI4NDVkODQ4YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdG91Y2hhZGp1
c3RtZW50L25lc3RlZC1zaGFkb3ctbm9kZS5odG1sCkBAIC0wLDAgKzEsMTAzIEBACis8aHRtbD4K
KzxoZWFkPgorPHN0eWxlPgorICAgICN0YXJnZXREaXYgeworICAgICAgICBiYWNrZ3JvdW5kOiAj
MDBmOworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCkiPgorCis8ZGl2IGlkPSJ0YXJnZXREaXYiPgorPC9k
aXY+CisKKzxwIGlkPSdkZXNjcmlwdGlvbic+PC9wPgorPGRpdiBpZD0nY29uc29sZSc+PC9kaXY+
CisKKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnQ7CisgICAgdmFyIGFkanVzdGVkTm9kZTsKKyAg
ICB2YXIgYWRqdXN0ZWRQb2ludDsKKworICAgIGZ1bmN0aW9uIGZpbmRBYnNvbHV0ZVBvc2l0aW9u
KG5vZGUpIHsKKyAgICAgICAgdmFyIHBvcyA9IHtsZWZ0OiAwLCB0b3A6IDB9OworICAgICAgICBk
byB7CisgICAgICAgICAgICBwb3MubGVmdCArPSBub2RlLm9mZnNldExlZnQ7CisgICAgICAgICAg
ICBwb3MudG9wICs9IG5vZGUub2Zmc2V0VG9wOworICAgICAgICB9IHdoaWxlIChub2RlID0gbm9k
ZS5vZmZzZXRQYXJlbnQpOworICAgICAgICByZXR1cm4gcG9zOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGFkZFNoYWRvd0RvbSgpIHsKKyAgICAgICAgdmFyIHRhcmdldERpdiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXREaXYiKTsKKyAgICAgICAgdmFyIHJvb3QgPSBpbnRlcm5hbHMu
ZW5zdXJlU2hhZG93Um9vdCh0YXJnZXREaXYpOworICAgICAgICB2YXIgc2hhZG93RGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS53aWR0
aCA9ICIyMHB4IjsKKyAgICAgICAgc2hhZG93RGl2LnN0eWxlLmhlaWdodCA9ICIyMHB4IjsKKyAg
ICAgICAgc2hhZG93RGl2LnN0eWxlLmJhY2tncm91bmQgPSAiI2ZmMCI7CisgICAgICAgIHNoYWRv
d0Rpdi5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CisgICAgICAgIHNoYWRvd0Rpdi5zdHls
ZS5yaWdodCA9ICIxMHB4IjsKKyAgICAgICAgc2hhZG93RGl2LnN0eWxlLnRvcCA9ICIxMHB4IjsK
KyAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChzaGFkb3dEaXYpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHJ1blRvdWNoVGVzdHMoKSB7CisgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcign
Y2xpY2snLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7CisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7fSwgZmFsc2UpOworCisgICAgICAgIHZhciBw
b3MgPSBmaW5kQWJzb2x1dGVQb3NpdGlvbihlbGVtZW50KTsKKyAgICAgICAgdmFyIHggPSBwb3Mu
bGVmdDsKKyAgICAgICAgdmFyIHkgPSBwb3MudG9wOworICAgICAgICB2YXIgd2lkdGggPSBlbGVt
ZW50LmNsaWVudFdpZHRoOworICAgICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWln
aHQ7CisgICAgICAgIHZhciBtaWRYID0geCArIHdpZHRoIC8gMjsKKyAgICAgICAgdmFyIG1pZFkg
PSB5ICsgaGVpZ2h0IC8gMjsKKyAgICAgICAgdmFyIGJvcmRlciA9IDEwOworICAgICAgICB2YXIg
dGFyZ2V0UmFkaXVzID0gMTA7CisgICAgICAgIHZhciBwYWRkaW5nID0gMzA7CisgICAgICAgIHZh
ciB0YXJnZXRYID0geCArIHdpZHRoIC0gdGFyZ2V0UmFkaXVzIC0gYm9yZGVyOworICAgICAgICB2
YXIgdGFyZ2V0WSA9IHkgKyB0YXJnZXRSYWRpdXMgKyBib3JkZXI7CisgICAgICAgIHZhciBvZmZz
ZXQgPSAyOworCisgICAgICAgIC8vIFRlc3QgdG91Y2hlcyB0aGF0IGFyZSBqdXN0IG91dHNpZGUg
dGhlIGJvdW5kcyBvZiB0aGUgc2hhZG93LURPTS4gIFRoZSBhZGp1c3RlZCBwb2ludCBzaG91bGQg
YmUgcHVsbGVkIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoZSBzaGFkb3ctRE9NIG5vZGUuCisgICAg
ICAgIHRlc3RUb3VjaCh0YXJnZXRYICsgdGFyZ2V0UmFkaXVzICsgb2Zmc2V0LCB0YXJnZXRZLCBw
YWRkaW5nLCB0YXJnZXRYLCB0YXJnZXRZLCB0YXJnZXRSYWRpdXMpOworICAgICAgICB0ZXN0VG91
Y2godGFyZ2V0WCAtIHRhcmdldFJhZGl1cyAtIG9mZnNldCwgdGFyZ2V0WSwgcGFkZGluZywgdGFy
Z2V0WCwgdGFyZ2V0WSwgdGFyZ2V0UmFkaXVzKTsKKyAgICAgICAgdGVzdFRvdWNoKHRhcmdldFgs
IHRhcmdldFkgKyB0YXJnZXRSYWRpdXMgKyBvZmZzZXQsIHBhZGRpbmcsIHRhcmdldFgsIHRhcmdl
dFksIHRhcmdldFJhZGl1cyk7CisgICAgICAgIHRlc3RUb3VjaCh0YXJnZXRYLCB0YXJnZXRZIC0g
dGFyZ2V0UmFkaXVzIC0gb2Zmc2V0LCBwYWRkaW5nLCB0YXJnZXRYLCB0YXJnZXRZLCB0YXJnZXRS
YWRpdXMpOworICAgICAgICAKKyAgICAgICAgLy8gQSB0b3VjaCBpbiB0aGUgY2VudGVyIG9mIHRh
cmdldERpdiBpcyBzdWZmaWNpZW50IGRpc3RhbmNlIGZyb20gdGhlIHNoYWRvdy1ET00gZWxlbWVu
dCB0aGF0IHRoZSBwb3NpdGlvbiBzaG91bGQgbm90IHNuYXAuCisgICAgICAgIHRlc3RUb3VjaCht
aWRYLCBtaWRZLCBwYWRkaW5nLCBtaWRYLCBtaWRZLCAxKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biB0ZXN0VG91Y2godG91Y2hYLCB0b3VjaFksIHBhZGRpbmcsIGFkanVzdGVkWCwgYWRqdXN0ZWRZ
LCB0b2xlcmFuY2UpIHsKKyAgICAgICAgdmFyIGxlZnQgPSB0b3VjaFggLSBwYWRkaW5nLzI7Cisg
ICAgICAgIHZhciB0b3AgPSB0b3VjaFkgLSBwYWRkaW5nLzI7CisgICAgICAgIGFkanVzdGVkTm9k
ZSA9IGludGVybmFscy50b3VjaE5vZGVBZGp1c3RlZFRvQmVzdENsaWNrYWJsZU5vZGUobGVmdCwg
dG9wLCBwYWRkaW5nLCBwYWRkaW5nLCBkb2N1bWVudCk7CisgICAgICAgIHNob3VsZEJlKCdhZGp1
c3RlZE5vZGUuaWQnLCAnZWxlbWVudC5pZCcpOworICAgICAgICBhZGp1c3RlZFBvaW50ID0gaW50
ZXJuYWxzLnRvdWNoUG9zaXRpb25BZGp1c3RlZFRvQmVzdENsaWNrYWJsZU5vZGUobGVmdCwgdG9w
LCBwYWRkaW5nLCBwYWRkaW5nLCBkb2N1bWVudCk7CisgICAgICAgIHNob3VsZEJlQ2xvc2VUbygn
YWRqdXN0ZWRQb2ludC54JywgYWRqdXN0ZWRYLCB0b2xlcmFuY2UpOworICAgICAgICBzaG91bGRC
ZUNsb3NlVG8oJ2FkanVzdGVkUG9pbnQueScsIGFkanVzdGVkWSwgdG9sZXJhbmNlKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgeworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscyAmJiBpbnRlcm5hbHMudG91Y2hOb2RlQWRqdXN0
ZWRUb0Jlc3RDbGlja2FibGVOb2RlICYmIGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdCB0aGUgY2FzZSB3aGVyZSBhIGNsaWNrYWJsZSB0
YXJnZXQgY29udGFpbnMgYSBzaGFkb3ctRE9NIGVsZW1lbnQuICBUaGUgYWRqdXN0ZWQgcG9pbnQg
c2hvdWxkIHNuYXAgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFkb3ctRE9NIGVsZW1lbnQgaWYg
Y2xvc2UgZW5vdWdoIHRvIHRoZSBvcmlnaW5hbCB0b3VjaCBwb3NpdGlvbi4nKQorICAgICAgICAg
ICAgYWRkU2hhZG93RG9tKCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgcnVu
VG91Y2hUZXN0cygpOworICAgICAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149020</attachid>
            <date>2012-06-22 07:06:27 -0700</date>
            <delta_ts>2012-07-27 01:13:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89674-20120622100627.patch</filename>
            <type>text/plain</type>
            <size>9830</size>
            <attacher name="Kevin Ellis">kevers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRkYTNlNTcwYjc0NTkz
NzYyMzgyYjExODI0ODIxYTYzYjk2YWMyZC4uZDYxNDZlODEzY2ViNjhhYzFlYzg4OTIxNDQ5ZGE5
MjI0MTAwYWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTIxICBLZXZp
biBFbGxpcyAgPGtldmVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2Fubm90IG9wZW4gY2Fs
ZW5kYXIgcGlja2VyIGZvciBpbnB1dCB0eXBlPWRhdGUgdXNpbmcgYSB0b3VjaCB0YXAgZ2VzdHVy
ZSBpZiBUT1VDSF9BREpVU1RNRU5UIGlzIGVuYWJsZWQuCisKKyAgICAgICAgVGhlIHBvc2l0aW9u
IG9mIGludGVybmFsIHNoYWRvdy1ET00gbm9kZXMgd2VyZSBub3QgYmVpbmcgY29uc2lkZXJlZCB3
aGVuIGRldGVybWluaW5nIHRoZSBzbmFwIHBvc2l0aW9uCisgICAgICAgIHdoZW4gVE9VQ0hfQURK
VVNUTUVOVCBpcyBlbmFibGVkIGZvciBmaW5lIHR1bmluZyB0aGUgcG9zaXRpb24gb2Ygc3ludGhl
dGljIG1vdXNlIGV2ZW50cy4gIFRoaXMgCisgICAgICAgIHJlc3RyaWN0aW9uIHJlc3VsdHMgaW4g
bm90IGJlaW5nIGFibGUgdG8gc2VsZWN0IHRoZSBjYWxlbmRhciBwaWNrZXIgd2hlbiBpbnB1dCB0
eXBlPWRhdGUsIG9yIHRvIAorICAgICAgICBjbGVhciB0aGUgc2VhcmNoIGZpZWxkIGZvciBpbnB1
dCB0eXBlPXNlYXJjaC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODk2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiB0b3VjaGFkanVzdG1lbnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KToKKwogMjAxMi0wNi0xOCAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXZlbnQgZGlzcGF0
Y2hlciBzaG91bGQgdXNlIEluc2VydGlvblBvaW50OjpoYXNEaXN0cmlidXRpb24gaW5zdGVhZCBv
ZiBJbnNlcnRpblBvaW50Ojppc0FjdGl2ZSBpbiByZS10YXJnZXRpbmcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZDFiOGMxMmEzYjgxY2ExZTNhNWZkYTNiZjJmYjRmOWZh
M2VlYjc0NC4uYTYwMmEyYmVjMzI2ZTQ4MjNkNzFiN2EzOGFjYmU3NjQ3NDZhY2M1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjQ4MywxMSArMjQ4MywxOSBAQCBib29s
IEV2ZW50SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KGNvbnN0IEludFBv
aW50JiB0b3VjaENlbnRlciwgYwogewogICAgIEhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVz
dFR5cGUgaGl0VHlwZSA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0
OjpBY3RpdmU7CiAgICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0gbV9mcmFtZS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHRvdWNoQ2VudGVyKTsKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9
IGhpdFRlc3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQq
LyBmYWxzZSwgLyppZ25vcmVDbGlwcGluZyovIGZhbHNlLCBEb250SGl0VGVzdFNjcm9sbGJhcnMs
IGhpdFR5cGUsIHRvdWNoUmFkaXVzKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhpdFRl
c3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyB0cnVl
LCAvKmlnbm9yZUNsaXBwaW5nKi8gZmFsc2UsIERvbnRIaXRUZXN0U2Nyb2xsYmFycywgaGl0VHlw
ZSwgdG91Y2hSYWRpdXMpOwogCiAgICAgSW50UmVjdCB0b3VjaFJlY3QgPSByZXN1bHQucmVjdEZv
clBvaW50KHRvdWNoQ2VudGVyKTsKICAgICBSZWZQdHI8U3RhdGljSGFzaFNldE5vZGVMaXN0PiBu
b2RlTGlzdCA9IFN0YXRpY0hhc2hTZXROb2RlTGlzdDo6YWRvcHQocmVzdWx0LnJlY3RCYXNlZFRl
c3RSZXN1bHQoKSk7Ci0gICAgcmV0dXJuIGZpbmRCZXN0Q2xpY2thYmxlQ2FuZGlkYXRlKHRhcmdl
dE5vZGUsIHRhcmdldFBvaW50LCB0b3VjaENlbnRlciwgdG91Y2hSZWN0LCAqbm9kZUxpc3QuZ2V0
KCkpOworCisgICAgLy8gRklYTUU6IFNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSB0YXJnZXROb2Rl
IGJlaW5nIGEgc2hhZG93IERPTSBub2RlIHRvIGF2b2lkIHBlcmZvcm1pbmcgdW5jZXNzYXJ5IGhp
dCB0ZXN0cworICAgIC8vIGluIHRoZSBjYXNlIHdoZXJlIGZ1cnRoZXIgcHJvY2Vzc2luZyBvbiB0
aGUgbm9kZSBpcyByZXF1aXJlZC4gUmV0dXJuaW5nIHRoZSBzaGFkb3cgYW5jZXN0b3IgcHJldmVu
dHMgYQorICAgIC8vIHJlZ3Jlc3Npb24gaW4gdG91Y2hhZGp1c3RtZW50L2h0bWwtbGFiZWwuaHRt
bC4gU29tZSByZWZpbmVtZW50IGlzIHJlcXVpcmVkIHRvIHRlc3RpbmcvaW50ZXJuYWxzIHRvCisg
ICAgLy8gaGFuZGxlIHRhcmdldE5vZGUgYmVpbmcgYSBzaGFkb3cgRE9NIG5vZGUgKHNlZSBidWcg
Njk1NTYpLiAKKyAgICBib29sIHN1Y2Nlc3MgPSBmaW5kQmVzdENsaWNrYWJsZUNhbmRpZGF0ZSh0
YXJnZXROb2RlLCB0YXJnZXRQb2ludCwgdG91Y2hDZW50ZXIsIHRvdWNoUmVjdCwgKm5vZGVMaXN0
LmdldCgpKTsKKyAgICBpZiAoc3VjY2VzcyAmJiB0YXJnZXROb2RlKQorICAgICAgICB0YXJnZXRO
b2RlID0gdGFyZ2V0Tm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgcmV0dXJuIHN1Y2Nl
c3M7CiB9CiAKIGJvb2wgRXZlbnRIYW5kbGVyOjpiZXN0Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2lu
dChjb25zdCBJbnRQb2ludCYgdG91Y2hDZW50ZXIsIGNvbnN0IEludFNpemUmIHRvdWNoUmFkaXVz
LCBJbnRSZWN0JiB0YXJnZXRBcmVhLCBOb2RlKiYgdGFyZ2V0Tm9kZSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NGI1ZmM0
MjZhMThhOTY0ZDUwOWYwOGQ3Y2JhOWNhZGUxNjIwZTA1Li5iNTAyYTJjYTcxY2IyZTliYTRiZTgw
ZjdkYzdiNzI1M2I4ZGVmN2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDYtMjEgIEtl
dmluIEVsbGlzICA8a2V2ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW5ub3Qgb3BlbiBj
YWxlbmRhciBwaWNrZXIgZm9yIGlucHV0IHR5cGU9ZGF0ZSB1c2luZyBhIHRvdWNoIHRhcCBnZXN0
dXJlIGlmIFRPVUNIX0FESlVTVE1FTlQgaXMgZW5hYmxlZC4KKworICAgICAgICBXaGVuIHRvdWNo
IGFkanVzdG1lbnQgaXMgZW5hYmxlZCwgdGhlIHBvc2l0aW9uIG9mIGEgdG91Y2ggcG9pbnQgaXMg
c25hcHBlZCB0byB0aGUgY2VudGVyIG9mIGFuCisgICAgICAgIGVsZW1lbnQgd2hlbiBnZW5lcmF0
aW5nIHN5bnRoZXRpYyBtb3VzZSBldmVudHMuICBUaGUgcG9zaXRpb24gb2Ygc2hhZG93IG5vZGVz
IHdhcyBub3QgYmVpbmcgY29uc2lkZXJlZAorICAgICAgICB3aGVuIGRldGVybWluaW5nIHRoZSBz
bmFwIHBvc2l0aW9uLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0b3VjaCBhZGp1c3RtZW50IG5v
dyBjb25zaWRlcnMgc2hhZG93LURPTQorICAgICAgICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBzbmFw
IHBvc3RpaW9uLiAKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODk2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHRvdWNoYWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB0b3VjaGFkanVzdG1lbnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA2LTE4ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBFdmVudCBkaXNwYXRjaGVyIHNob3VsZCB1c2UgSW5zZXJ0aW9uUG9pbnQ6Omhh
c0Rpc3RyaWJ1dGlvbiBpbnN0ZWFkIG9mIEluc2VydGluUG9pbnQ6OmlzQWN0aXZlIGluIHJlLXRh
cmdldGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RvdWNoYWRqdXN0bWVudC9uZXN0ZWQt
c2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdG91Y2hhZGp1c3RtZW50L25l
c3RlZC1zaGFkb3ctbm9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiNGJiMTg2N2Y3ODQ5
ODhlZjA0YjliMTUxNzJjMWE3MTA4MDg0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3RvdWNoYWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjQgQEAKK1Rlc3QgdGhlIGNhc2Ugd2hlcmUgYSBjbGlja2FibGUgdGFyZ2V0IGNvbnRhaW5z
IGEgc2hhZG93LURPTSBlbGVtZW50LiBUaGUgYWRqdXN0ZWQgcG9pbnQgc2hvdWxkIHNuYXAgdG8g
dGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFkb3ctRE9NIGVsZW1lbnQgaWYgY2xvc2UgZW5vdWdoIHRv
IHRoZSBvcmlnaW5hbCB0b3VjaCBwb3NpdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BBU1MgYWRqdXN0ZWRQ
b2ludC54IGlzIHdpdGhpbiAxMCBvZiA4OAorUEFTUyBhZGp1c3RlZFBvaW50LnkgaXMgd2l0aGlu
IDEwIG9mIDI4CitQQVNTIGFkanVzdGVkTm9kZS5pZCBpcyBlbGVtZW50LmlkCitQQVNTIGFkanVz
dGVkUG9pbnQueCBpcyB3aXRoaW4gMTAgb2YgODgKK1BBU1MgYWRqdXN0ZWRQb2ludC55IGlzIHdp
dGhpbiAxMCBvZiAyOAorUEFTUyBhZGp1c3RlZE5vZGUuaWQgaXMgZWxlbWVudC5pZAorUEFTUyBh
ZGp1c3RlZFBvaW50LnggaXMgd2l0aGluIDEwIG9mIDg4CitQQVNTIGFkanVzdGVkUG9pbnQueSBp
cyB3aXRoaW4gMTAgb2YgMjgKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BB
U1MgYWRqdXN0ZWRQb2ludC54IGlzIHdpdGhpbiAxMCBvZiA4OAorUEFTUyBhZGp1c3RlZFBvaW50
LnkgaXMgd2l0aGluIDEwIG9mIDI4CitQQVNTIGFkanVzdGVkTm9kZS5pZCBpcyBlbGVtZW50Lmlk
CitQQVNTIGFkanVzdGVkUG9pbnQueCBpcyB3aXRoaW4gMSBvZiA1OAorUEFTUyBhZGp1c3RlZFBv
aW50LnkgaXMgd2l0aGluIDEgb2YgNTgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90b3VjaGFkanVzdG1l
bnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy90b3VjaGFkanVzdG1lbnQv
bmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkyYzc4OGE2ZWRmNzZkYTI4YzM1
ZjAxNzU5ZjYyODQ1ZDg0OGE3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RvdWNo
YWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUuaHRtbApAQCAtMCwwICsxLDEwMyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICAjdGFyZ2V0RGl2IHsKKyAgICAgICAgYmFja2dyb3Vu
ZDogIzAwZjsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0cygpIj4KKworPGRpdiBpZD0idGFyZ2V0RGl2Ij4K
KzwvZGl2PgorCis8cCBpZD0nZGVzY3JpcHRpb24nPjwvcD4KKzxkaXYgaWQ9J2NvbnNvbGUnPjwv
ZGl2PgorCis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50OworICAgIHZhciBhZGp1c3RlZE5vZGU7
CisgICAgdmFyIGFkanVzdGVkUG9pbnQ7CisKKyAgICBmdW5jdGlvbiBmaW5kQWJzb2x1dGVQb3Np
dGlvbihub2RlKSB7CisgICAgICAgIHZhciBwb3MgPSB7bGVmdDogMCwgdG9wOiAwfTsKKyAgICAg
ICAgZG8geworICAgICAgICAgICAgcG9zLmxlZnQgKz0gbm9kZS5vZmZzZXRMZWZ0OworICAgICAg
ICAgICAgcG9zLnRvcCArPSBub2RlLm9mZnNldFRvcDsKKyAgICAgICAgfSB3aGlsZSAobm9kZSA9
IG5vZGUub2Zmc2V0UGFyZW50KTsKKyAgICAgICAgcmV0dXJuIHBvczsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBhZGRTaGFkb3dEb20oKSB7CisgICAgICAgIHZhciB0YXJnZXREaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIHZhciByb290ID0gaW50ZXJu
YWxzLmVuc3VyZVNoYWRvd1Jvb3QodGFyZ2V0RGl2KTsKKyAgICAgICAgdmFyIHNoYWRvd0RpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBzaGFkb3dEaXYuc3R5bGUu
d2lkdGggPSAiMjBweCI7CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS5oZWlnaHQgPSAiMjBweCI7
CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS5iYWNrZ3JvdW5kID0gIiNmZjAiOworICAgICAgICBz
aGFkb3dEaXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOworICAgICAgICBzaGFkb3dEaXYu
c3R5bGUucmlnaHQgPSAiMTBweCI7CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS50b3AgPSAiMTBw
eCI7CisgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoc2hhZG93RGl2KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBydW5Ub3VjaFRlc3RzKCkgeworICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldERpdiIpOworICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7fSwgZmFsc2UpOworICAgICAgICBkb2N1bWVudC5hZGRF
dmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkge30sIGZhbHNlKTsKKworICAgICAgICB2
YXIgcG9zID0gZmluZEFic29sdXRlUG9zaXRpb24oZWxlbWVudCk7CisgICAgICAgIHZhciB4ID0g
cG9zLmxlZnQ7CisgICAgICAgIHZhciB5ID0gcG9zLnRvcDsKKyAgICAgICAgdmFyIHdpZHRoID0g
ZWxlbWVudC5jbGllbnRXaWR0aDsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQuY2xpZW50
SGVpZ2h0OworICAgICAgICB2YXIgbWlkWCA9IHggKyB3aWR0aCAvIDI7CisgICAgICAgIHZhciBt
aWRZID0geSArIGhlaWdodCAvIDI7CisgICAgICAgIHZhciBib3JkZXIgPSAxMDsKKyAgICAgICAg
dmFyIHRhcmdldFJhZGl1cyA9IDEwOworICAgICAgICB2YXIgcGFkZGluZyA9IDMwOworICAgICAg
ICB2YXIgdGFyZ2V0WCA9IHggKyB3aWR0aCAtIHRhcmdldFJhZGl1cyAtIGJvcmRlcjsKKyAgICAg
ICAgdmFyIHRhcmdldFkgPSB5ICsgdGFyZ2V0UmFkaXVzICsgYm9yZGVyOworICAgICAgICB2YXIg
b2Zmc2V0ID0gMjsKKworICAgICAgICAvLyBUZXN0IHRvdWNoZXMgdGhhdCBhcmUganVzdCBvdXRz
aWRlIHRoZSBib3VuZHMgb2YgdGhlIHNoYWRvdy1ET00uICBUaGUgYWRqdXN0ZWQgcG9pbnQgc2hv
dWxkIGJlIHB1bGxlZCB3aXRoaW4gdGhlIGJvdW5kcyBvZiB0aGUgc2hhZG93LURPTSBub2RlLgor
ICAgICAgICB0ZXN0VG91Y2godGFyZ2V0WCArIHRhcmdldFJhZGl1cyArIG9mZnNldCwgdGFyZ2V0
WSwgcGFkZGluZywgdGFyZ2V0WCwgdGFyZ2V0WSwgdGFyZ2V0UmFkaXVzKTsKKyAgICAgICAgdGVz
dFRvdWNoKHRhcmdldFggLSB0YXJnZXRSYWRpdXMgLSBvZmZzZXQsIHRhcmdldFksIHBhZGRpbmcs
IHRhcmdldFgsIHRhcmdldFksIHRhcmdldFJhZGl1cyk7CisgICAgICAgIHRlc3RUb3VjaCh0YXJn
ZXRYLCB0YXJnZXRZICsgdGFyZ2V0UmFkaXVzICsgb2Zmc2V0LCBwYWRkaW5nLCB0YXJnZXRYLCB0
YXJnZXRZLCB0YXJnZXRSYWRpdXMpOworICAgICAgICB0ZXN0VG91Y2godGFyZ2V0WCwgdGFyZ2V0
WSAtIHRhcmdldFJhZGl1cyAtIG9mZnNldCwgcGFkZGluZywgdGFyZ2V0WCwgdGFyZ2V0WSwgdGFy
Z2V0UmFkaXVzKTsKKyAgICAgICAgCisgICAgICAgIC8vIEEgdG91Y2ggaW4gdGhlIGNlbnRlciBv
ZiB0YXJnZXREaXYgaXMgc3VmZmljaWVudCBkaXN0YW5jZSBmcm9tIHRoZSBzaGFkb3ctRE9NIGVs
ZW1lbnQgdGhhdCB0aGUgcG9zaXRpb24gc2hvdWxkIG5vdCBzbmFwLgorICAgICAgICB0ZXN0VG91
Y2gobWlkWCwgbWlkWSwgcGFkZGluZywgbWlkWCwgbWlkWSwgMSk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gdGVzdFRvdWNoKHRvdWNoWCwgdG91Y2hZLCBwYWRkaW5nLCBhZGp1c3RlZFgsIGFkanVz
dGVkWSwgdG9sZXJhbmNlKSB7CisgICAgICAgIHZhciBsZWZ0ID0gdG91Y2hYIC0gcGFkZGluZy8y
OworICAgICAgICB2YXIgdG9wID0gdG91Y2hZIC0gcGFkZGluZy8yOworICAgICAgICBhZGp1c3Rl
ZE5vZGUgPSBpbnRlcm5hbHMudG91Y2hOb2RlQWRqdXN0ZWRUb0Jlc3RDbGlja2FibGVOb2RlKGxl
ZnQsIHRvcCwgcGFkZGluZywgcGFkZGluZywgZG9jdW1lbnQpOworICAgICAgICBzaG91bGRCZSgn
YWRqdXN0ZWROb2RlLmlkJywgJ2VsZW1lbnQuaWQnKTsKKyAgICAgICAgYWRqdXN0ZWRQb2ludCA9
IGludGVybmFscy50b3VjaFBvc2l0aW9uQWRqdXN0ZWRUb0Jlc3RDbGlja2FibGVOb2RlKGxlZnQs
IHRvcCwgcGFkZGluZywgcGFkZGluZywgZG9jdW1lbnQpOworICAgICAgICBzaG91bGRCZUNsb3Nl
VG8oJ2FkanVzdGVkUG9pbnQueCcsIGFkanVzdGVkWCwgdG9sZXJhbmNlKTsKKyAgICAgICAgc2hv
dWxkQmVDbG9zZVRvKCdhZGp1c3RlZFBvaW50LnknLCBhZGp1c3RlZFksIHRvbGVyYW5jZSk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQorICAgIHsKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMgJiYgaW50ZXJuYWxzLnRvdWNoTm9kZUFk
anVzdGVkVG9CZXN0Q2xpY2thYmxlTm9kZSAmJiBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIGNhc2Ugd2hlcmUgYSBjbGlja2Fi
bGUgdGFyZ2V0IGNvbnRhaW5zIGEgc2hhZG93LURPTSBlbGVtZW50LiAgVGhlIGFkanVzdGVkIHBv
aW50IHNob3VsZCBzbmFwIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgc2hhZG93LURPTSBlbGVtZW50
IGlmIGNsb3NlIGVub3VnaCB0byB0aGUgb3JpZ2luYWwgdG91Y2ggcG9zaXRpb24uJykKKyAgICAg
ICAgICAgIGFkZFNoYWRvd0RvbSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAg
IHJ1blRvdWNoVGVzdHMoKTsKKyAgICAgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149081</attachid>
            <date>2012-06-22 12:10:25 -0700</date>
            <delta_ts>2012-07-27 01:13:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89674-20120622151024.patch</filename>
            <type>text/plain</type>
            <size>9834</size>
            <attacher name="Kevin Ellis">kevers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRkYTNlNTcwYjc0NTkz
NzYyMzgyYjExODI0ODIxYTYzYjk2YWMyZC4uZDYxNDZlODEzY2ViNjhhYzFlYzg4OTIxNDQ5ZGE5
MjI0MTAwYWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTIxICBLZXZp
biBFbGxpcyAgPGtldmVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2Fubm90IG9wZW4gY2Fs
ZW5kYXIgcGlja2VyIGZvciBpbnB1dCB0eXBlPWRhdGUgdXNpbmcgYSB0b3VjaCB0YXAgZ2VzdHVy
ZSBpZiBUT1VDSF9BREpVU1RNRU5UIGlzIGVuYWJsZWQuCisKKyAgICAgICAgVGhlIHBvc2l0aW9u
IG9mIGludGVybmFsIHNoYWRvdy1ET00gbm9kZXMgd2VyZSBub3QgYmVpbmcgY29uc2lkZXJlZCB3
aGVuIGRldGVybWluaW5nIHRoZSBzbmFwIHBvc2l0aW9uCisgICAgICAgIHdoZW4gVE9VQ0hfQURK
VVNUTUVOVCBpcyBlbmFibGVkIGZvciBmaW5lIHR1bmluZyB0aGUgcG9zaXRpb24gb2Ygc3ludGhl
dGljIG1vdXNlIGV2ZW50cy4gIFRoaXMgCisgICAgICAgIHJlc3RyaWN0aW9uIHJlc3VsdHMgaW4g
bm90IGJlaW5nIGFibGUgdG8gc2VsZWN0IHRoZSBjYWxlbmRhciBwaWNrZXIgd2hlbiBpbnB1dCB0
eXBlPWRhdGUsIG9yIHRvIAorICAgICAgICBjbGVhciB0aGUgc2VhcmNoIGZpZWxkIGZvciBpbnB1
dCB0eXBlPXNlYXJjaC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODk2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiB0b3VjaGFkanVzdG1lbnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KToKKwogMjAxMi0wNi0xOCAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXZlbnQgZGlzcGF0
Y2hlciBzaG91bGQgdXNlIEluc2VydGlvblBvaW50OjpoYXNEaXN0cmlidXRpb24gaW5zdGVhZCBv
ZiBJbnNlcnRpblBvaW50Ojppc0FjdGl2ZSBpbiByZS10YXJnZXRpbmcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZDFiOGMxMmEzYjgxY2ExZTNhNWZkYTNiZjJmYjRmOWZh
M2VlYjc0NC4uMzJiOGQ5ZWIzNDBhMGUzZDFmMDQxZTBhODc0NWUwZWZmOTZhM2Q2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjQ4MywxMSArMjQ4MywxOSBAQCBib29s
IEV2ZW50SGFuZGxlcjo6YmVzdENsaWNrYWJsZU5vZGVGb3JUb3VjaFBvaW50KGNvbnN0IEludFBv
aW50JiB0b3VjaENlbnRlciwgYwogewogICAgIEhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVz
dFR5cGUgaGl0VHlwZSA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0
OjpBY3RpdmU7CiAgICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0gbV9mcmFtZS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHRvdWNoQ2VudGVyKTsKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9
IGhpdFRlc3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQq
LyBmYWxzZSwgLyppZ25vcmVDbGlwcGluZyovIGZhbHNlLCBEb250SGl0VGVzdFNjcm9sbGJhcnMs
IGhpdFR5cGUsIHRvdWNoUmFkaXVzKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhpdFRl
c3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyB0cnVl
LCAvKmlnbm9yZUNsaXBwaW5nKi8gZmFsc2UsIERvbnRIaXRUZXN0U2Nyb2xsYmFycywgaGl0VHlw
ZSwgdG91Y2hSYWRpdXMpOwogCiAgICAgSW50UmVjdCB0b3VjaFJlY3QgPSByZXN1bHQucmVjdEZv
clBvaW50KHRvdWNoQ2VudGVyKTsKICAgICBSZWZQdHI8U3RhdGljSGFzaFNldE5vZGVMaXN0PiBu
b2RlTGlzdCA9IFN0YXRpY0hhc2hTZXROb2RlTGlzdDo6YWRvcHQocmVzdWx0LnJlY3RCYXNlZFRl
c3RSZXN1bHQoKSk7Ci0gICAgcmV0dXJuIGZpbmRCZXN0Q2xpY2thYmxlQ2FuZGlkYXRlKHRhcmdl
dE5vZGUsIHRhcmdldFBvaW50LCB0b3VjaENlbnRlciwgdG91Y2hSZWN0LCAqbm9kZUxpc3QuZ2V0
KCkpOworCisgICAgLy8gRklYTUU6IFNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSB0YXJnZXROb2Rl
IGJlaW5nIGEgc2hhZG93IERPTSBub2RlIHRvIGF2b2lkIHBlcmZvcm1pbmcgdW5jZXNzYXJ5IGhp
dCB0ZXN0cworICAgIC8vIGluIHRoZSBjYXNlIHdoZXJlIGZ1cnRoZXIgcHJvY2Vzc2luZyBvbiB0
aGUgbm9kZSBpcyByZXF1aXJlZC4gUmV0dXJuaW5nIHRoZSBzaGFkb3cgYW5jZXN0b3IgcHJldmVu
dHMgYQorICAgIC8vIHJlZ3Jlc3Npb24gaW4gdG91Y2hhZGp1c3RtZW50L2h0bWwtbGFiZWwuaHRt
bC4gU29tZSByZWZpbmVtZW50IGlzIHJlcXVpcmVkIHRvIHRlc3RpbmcvaW50ZXJuYWxzIHRvCisg
ICAgLy8gaGFuZGxlIHRhcmdldE5vZGUgYmVpbmcgYSBzaGFkb3cgRE9NIG5vZGUgKHNlZSBidWcg
ODk1NTYpLiAKKyAgICBib29sIHN1Y2Nlc3MgPSBmaW5kQmVzdENsaWNrYWJsZUNhbmRpZGF0ZSh0
YXJnZXROb2RlLCB0YXJnZXRQb2ludCwgdG91Y2hDZW50ZXIsIHRvdWNoUmVjdCwgKm5vZGVMaXN0
LmdldCgpKTsKKyAgICBpZiAoc3VjY2VzcyAmJiB0YXJnZXROb2RlKQorICAgICAgICB0YXJnZXRO
b2RlID0gdGFyZ2V0Tm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgcmV0dXJuIHN1Y2Nl
c3M7CiB9CiAKIGJvb2wgRXZlbnRIYW5kbGVyOjpiZXN0Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2lu
dChjb25zdCBJbnRQb2ludCYgdG91Y2hDZW50ZXIsIGNvbnN0IEludFNpemUmIHRvdWNoUmFkaXVz
LCBJbnRSZWN0JiB0YXJnZXRBcmVhLCBOb2RlKiYgdGFyZ2V0Tm9kZSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NGI1ZmM0
MjZhMThhOTY0ZDUwOWYwOGQ3Y2JhOWNhZGUxNjIwZTA1Li5iNTAyYTJjYTcxY2IyZTliYTRiZTgw
ZjdkYzdiNzI1M2I4ZGVmN2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDYtMjEgIEtl
dmluIEVsbGlzICA8a2V2ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW5ub3Qgb3BlbiBj
YWxlbmRhciBwaWNrZXIgZm9yIGlucHV0IHR5cGU9ZGF0ZSB1c2luZyBhIHRvdWNoIHRhcCBnZXN0
dXJlIGlmIFRPVUNIX0FESlVTVE1FTlQgaXMgZW5hYmxlZC4KKworICAgICAgICBXaGVuIHRvdWNo
IGFkanVzdG1lbnQgaXMgZW5hYmxlZCwgdGhlIHBvc2l0aW9uIG9mIGEgdG91Y2ggcG9pbnQgaXMg
c25hcHBlZCB0byB0aGUgY2VudGVyIG9mIGFuCisgICAgICAgIGVsZW1lbnQgd2hlbiBnZW5lcmF0
aW5nIHN5bnRoZXRpYyBtb3VzZSBldmVudHMuICBUaGUgcG9zaXRpb24gb2Ygc2hhZG93IG5vZGVz
IHdhcyBub3QgYmVpbmcgY29uc2lkZXJlZAorICAgICAgICB3aGVuIGRldGVybWluaW5nIHRoZSBz
bmFwIHBvc2l0aW9uLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0b3VjaCBhZGp1c3RtZW50IG5v
dyBjb25zaWRlcnMgc2hhZG93LURPTQorICAgICAgICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBzbmFw
IHBvc3RpaW9uLiAKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODk2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHRvdWNoYWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB0b3VjaGFkanVzdG1lbnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA2LTE4ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBFdmVudCBkaXNwYXRjaGVyIHNob3VsZCB1c2UgSW5zZXJ0aW9uUG9pbnQ6Omhh
c0Rpc3RyaWJ1dGlvbiBpbnN0ZWFkIG9mIEluc2VydGluUG9pbnQ6OmlzQWN0aXZlIGluIHJlLXRh
cmdldGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RvdWNoYWRqdXN0bWVudC9uZXN0ZWQt
c2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdG91Y2hhZGp1c3RtZW50L25l
c3RlZC1zaGFkb3ctbm9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiNGJiMTg2N2Y3ODQ5
ODhlZjA0YjliMTUxNzJjMWE3MTA4MDg0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3RvdWNoYWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjQgQEAKK1Rlc3QgdGhlIGNhc2Ugd2hlcmUgYSBjbGlja2FibGUgdGFyZ2V0IGNvbnRhaW5z
IGEgc2hhZG93LURPTSBlbGVtZW50LiBUaGUgYWRqdXN0ZWQgcG9pbnQgc2hvdWxkIHNuYXAgdG8g
dGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFkb3ctRE9NIGVsZW1lbnQgaWYgY2xvc2UgZW5vdWdoIHRv
IHRoZSBvcmlnaW5hbCB0b3VjaCBwb3NpdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BBU1MgYWRqdXN0ZWRQ
b2ludC54IGlzIHdpdGhpbiAxMCBvZiA4OAorUEFTUyBhZGp1c3RlZFBvaW50LnkgaXMgd2l0aGlu
IDEwIG9mIDI4CitQQVNTIGFkanVzdGVkTm9kZS5pZCBpcyBlbGVtZW50LmlkCitQQVNTIGFkanVz
dGVkUG9pbnQueCBpcyB3aXRoaW4gMTAgb2YgODgKK1BBU1MgYWRqdXN0ZWRQb2ludC55IGlzIHdp
dGhpbiAxMCBvZiAyOAorUEFTUyBhZGp1c3RlZE5vZGUuaWQgaXMgZWxlbWVudC5pZAorUEFTUyBh
ZGp1c3RlZFBvaW50LnggaXMgd2l0aGluIDEwIG9mIDg4CitQQVNTIGFkanVzdGVkUG9pbnQueSBp
cyB3aXRoaW4gMTAgb2YgMjgKK1BBU1MgYWRqdXN0ZWROb2RlLmlkIGlzIGVsZW1lbnQuaWQKK1BB
U1MgYWRqdXN0ZWRQb2ludC54IGlzIHdpdGhpbiAxMCBvZiA4OAorUEFTUyBhZGp1c3RlZFBvaW50
LnkgaXMgd2l0aGluIDEwIG9mIDI4CitQQVNTIGFkanVzdGVkTm9kZS5pZCBpcyBlbGVtZW50Lmlk
CitQQVNTIGFkanVzdGVkUG9pbnQueCBpcyB3aXRoaW4gMSBvZiA1OAorUEFTUyBhZGp1c3RlZFBv
aW50LnkgaXMgd2l0aGluIDEgb2YgNTgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90b3VjaGFkanVzdG1l
bnQvbmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy90b3VjaGFkanVzdG1lbnQv
bmVzdGVkLXNoYWRvdy1ub2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY1NGM5NDFjNzliNGJjMDFlOWU2
MjU4MDMxZDA1NGZlOWM4NWU0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RvdWNo
YWRqdXN0bWVudC9uZXN0ZWQtc2hhZG93LW5vZGUuaHRtbApAQCAtMCwwICsxLDEwMyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICAjdGFyZ2V0RGl2IHsKKyAgICAgICAgYmFja2dyb3Vu
ZDogIzAwZjsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0cygpIj4KKworPGRpdiBpZD0idGFyZ2V0RGl2Ij4K
KzwvZGl2PgorCis8cCBpZD0nZGVzY3JpcHRpb24nPjwvcD4KKzxkaXYgaWQ9J2NvbnNvbGUnPjwv
ZGl2PgorCis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50OworICAgIHZhciBhZGp1c3RlZE5vZGU7
CisgICAgdmFyIGFkanVzdGVkUG9pbnQ7CisKKyAgICBmdW5jdGlvbiBmaW5kQWJzb2x1dGVQb3Np
dGlvbihub2RlKSB7CisgICAgICAgIHZhciBwb3MgPSB7bGVmdDogMCwgdG9wOiAwfTsKKyAgICAg
ICAgZG8geworICAgICAgICAgICAgcG9zLmxlZnQgKz0gbm9kZS5vZmZzZXRMZWZ0OworICAgICAg
ICAgICAgcG9zLnRvcCArPSBub2RlLm9mZnNldFRvcDsKKyAgICAgICAgfSB3aGlsZSAobm9kZSA9
IG5vZGUub2Zmc2V0UGFyZW50KTsKKyAgICAgICAgcmV0dXJuIHBvczsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBhZGRTaGFkb3dET00oKSB7CisgICAgICAgIHZhciB0YXJnZXREaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIHZhciByb290ID0gaW50ZXJu
YWxzLmVuc3VyZVNoYWRvd1Jvb3QodGFyZ2V0RGl2KTsKKyAgICAgICAgdmFyIHNoYWRvd0RpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBzaGFkb3dEaXYuc3R5bGUu
d2lkdGggPSAiMjBweCI7CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS5oZWlnaHQgPSAiMjBweCI7
CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS5iYWNrZ3JvdW5kID0gIiNmZjAiOworICAgICAgICBz
aGFkb3dEaXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOworICAgICAgICBzaGFkb3dEaXYu
c3R5bGUucmlnaHQgPSAiMTBweCI7CisgICAgICAgIHNoYWRvd0Rpdi5zdHlsZS50b3AgPSAiMTBw
eCI7CisgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoc2hhZG93RGl2KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBydW5Ub3VjaFRlc3RzKCkgeworICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldERpdiIpOworICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7fSwgZmFsc2UpOworICAgICAgICBkb2N1bWVudC5hZGRF
dmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkge30sIGZhbHNlKTsKKworICAgICAgICB2
YXIgcG9zID0gZmluZEFic29sdXRlUG9zaXRpb24oZWxlbWVudCk7CisgICAgICAgIHZhciB4ID0g
cG9zLmxlZnQ7CisgICAgICAgIHZhciB5ID0gcG9zLnRvcDsKKyAgICAgICAgdmFyIHdpZHRoID0g
ZWxlbWVudC5jbGllbnRXaWR0aDsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQuY2xpZW50
SGVpZ2h0OworICAgICAgICB2YXIgbWlkWCA9IHggKyB3aWR0aCAvIDI7CisgICAgICAgIHZhciBt
aWRZID0geSArIGhlaWdodCAvIDI7CisgICAgICAgIHZhciBib3JkZXIgPSAxMDsKKyAgICAgICAg
dmFyIHRhcmdldFJhZGl1cyA9IDEwOworICAgICAgICB2YXIgcGFkZGluZyA9IDMwOworICAgICAg
ICB2YXIgdGFyZ2V0WCA9IHggKyB3aWR0aCAtIHRhcmdldFJhZGl1cyAtIGJvcmRlcjsKKyAgICAg
ICAgdmFyIHRhcmdldFkgPSB5ICsgdGFyZ2V0UmFkaXVzICsgYm9yZGVyOworICAgICAgICB2YXIg
b2Zmc2V0ID0gMjsKKworICAgICAgICAvLyBUZXN0IHRvdWNoZXMgdGhhdCBhcmUganVzdCBvdXRz
aWRlIHRoZSBib3VuZHMgb2YgdGhlIHNoYWRvdy1ET00uICBUaGUgYWRqdXN0ZWQgcG9pbnQgc2hv
dWxkIGJlIHB1bGxlZCB3aXRoaW4gdGhlIGJvdW5kcyBvZiB0aGUgc2hhZG93LURPTSBub2RlLgor
ICAgICAgICB0ZXN0VG91Y2godGFyZ2V0WCArIHRhcmdldFJhZGl1cyArIG9mZnNldCwgdGFyZ2V0
WSwgcGFkZGluZywgdGFyZ2V0WCwgdGFyZ2V0WSwgdGFyZ2V0UmFkaXVzKTsKKyAgICAgICAgdGVz
dFRvdWNoKHRhcmdldFggLSB0YXJnZXRSYWRpdXMgLSBvZmZzZXQsIHRhcmdldFksIHBhZGRpbmcs
IHRhcmdldFgsIHRhcmdldFksIHRhcmdldFJhZGl1cyk7CisgICAgICAgIHRlc3RUb3VjaCh0YXJn
ZXRYLCB0YXJnZXRZICsgdGFyZ2V0UmFkaXVzICsgb2Zmc2V0LCBwYWRkaW5nLCB0YXJnZXRYLCB0
YXJnZXRZLCB0YXJnZXRSYWRpdXMpOworICAgICAgICB0ZXN0VG91Y2godGFyZ2V0WCwgdGFyZ2V0
WSAtIHRhcmdldFJhZGl1cyAtIG9mZnNldCwgcGFkZGluZywgdGFyZ2V0WCwgdGFyZ2V0WSwgdGFy
Z2V0UmFkaXVzKTsKKyAgICAgICAgCisgICAgICAgIC8vIEEgdG91Y2ggaW4gdGhlIGNlbnRlciBv
ZiB0YXJnZXREaXYgaXMgc3VmZmljaWVudCBkaXN0YW5jZSBmcm9tIHRoZSBzaGFkb3ctRE9NIGVs
ZW1lbnQgdGhhdCB0aGUgcG9zaXRpb24gc2hvdWxkIG5vdCBzbmFwLgorICAgICAgICB0ZXN0VG91
Y2gobWlkWCwgbWlkWSwgcGFkZGluZywgbWlkWCwgbWlkWSwgMSk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gdGVzdFRvdWNoKHRvdWNoWCwgdG91Y2hZLCBwYWRkaW5nLCBhZGp1c3RlZFgsIGFkanVz
dGVkWSwgdG9sZXJhbmNlKSB7CisgICAgICAgIHZhciBsZWZ0ID0gdG91Y2hYIC0gcGFkZGluZyAv
IDI7CisgICAgICAgIHZhciB0b3AgPSB0b3VjaFkgLSBwYWRkaW5nIC8gMjsKKyAgICAgICAgYWRq
dXN0ZWROb2RlID0gaW50ZXJuYWxzLnRvdWNoTm9kZUFkanVzdGVkVG9CZXN0Q2xpY2thYmxlTm9k
ZShsZWZ0LCB0b3AsIHBhZGRpbmcsIHBhZGRpbmcsIGRvY3VtZW50KTsKKyAgICAgICAgc2hvdWxk
QmUoJ2FkanVzdGVkTm9kZS5pZCcsICdlbGVtZW50LmlkJyk7CisgICAgICAgIGFkanVzdGVkUG9p
bnQgPSBpbnRlcm5hbHMudG91Y2hQb3NpdGlvbkFkanVzdGVkVG9CZXN0Q2xpY2thYmxlTm9kZShs
ZWZ0LCB0b3AsIHBhZGRpbmcsIHBhZGRpbmcsIGRvY3VtZW50KTsKKyAgICAgICAgc2hvdWxkQmVD
bG9zZVRvKCdhZGp1c3RlZFBvaW50LngnLCBhZGp1c3RlZFgsIHRvbGVyYW5jZSk7CisgICAgICAg
IHNob3VsZEJlQ2xvc2VUbygnYWRqdXN0ZWRQb2ludC55JywgYWRqdXN0ZWRZLCB0b2xlcmFuY2Up
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKKyAgICB7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzICYmIGludGVybmFscy50b3VjaE5v
ZGVBZGp1c3RlZFRvQmVzdENsaWNrYWJsZU5vZGUgJiYgaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jv
b3QpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IHRoZSBjYXNlIHdoZXJlIGEgY2xp
Y2thYmxlIHRhcmdldCBjb250YWlucyBhIHNoYWRvdy1ET00gZWxlbWVudC4gIFRoZSBhZGp1c3Rl
ZCBwb2ludCBzaG91bGQgc25hcCB0byB0aGUgbG9jYXRpb24gb2YgdGhlIHNoYWRvdy1ET00gZWxl
bWVudCBpZiBjbG9zZSBlbm91Z2ggdG8gdGhlIG9yaWdpbmFsIHRvdWNoIHBvc2l0aW9uLicpCisg
ICAgICAgICAgICBhZGRTaGFkb3dET00oKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
ICAgICBydW5Ub3VjaFRlc3RzKCk7CisgICAgICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>