<?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>131375</bug_id>
          
          <creation_ts>2014-04-08 11:06:56 -0700</creation_ts>
          <short_desc>[CSS Shapes] Can&apos;t select content within the area of the floating box when clip-path is applied</short_desc>
          <delta_ts>2014-05-08 00:57:43 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>998658</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-04-08 11:06:56 -0700</bug_when>
    <thetext>Can&apos;t select content within the floating area (lightgreen).

- Selection works properly for image shapes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998660</commentid>
    <comment_count>1</comment_count>
      <attachid>228858</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-04-08 11:07:21 -0700</bug_when>
    <thetext>Created attachment 228858
Test-case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998662</commentid>
    <comment_count>2</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-04-08 11:17:47 -0700</bug_when>
    <thetext>It looks like this only is a problem when -webkit-clip-path is used on the floating box. If the clip path is removed from the example, then the issue doesn&apos;t occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004105</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2014-04-25 08:36:39 -0700</bug_when>
    <thetext>I landed a fix for this in Blink:

http://src.chromium.org/viewvc/blink?view=rev&amp;rev=172619</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004212</commentid>
    <comment_count>4</comment_count>
      <attachid>230204</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-04-25 14:33:07 -0700</bug_when>
    <thetext>Created attachment 230204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004347</commentid>
    <comment_count>5</comment_count>
      <attachid>230204</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-04-26 12:31:41 -0700</bug_when>
    <thetext>Comment on attachment 230204
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:2971
&gt; +            if (!clipPath-&gt;pathForReferenceRect(borderBoxRect()).contains(locationInContainer.point() - localOffset, clipPath-&gt;windRule()))

Same question as in Blink. Hit-testing occurs dozen of times just by hovering over the original element size. Can you try to a create (manual) performance test? I am thinking about a script that creates hundred of div boxes with fixed size. Each box with a circle clip shape and a radius of 50%. Add :hover pseudo selectors that change the background color. Then hover with the mouse really fast and compare it with the same document where the div boxes are not clipped.

It would be interesting if it makes sense to investigate in more heuristics before asking the graphic lib if the point is in the path. Especially for circle, inset, ellipse it would be very easy to add heuristics. For polygon we could at least check the bounding box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006880</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-05-05 23:36:42 -0700</bug_when>
    <thetext>Hi Dirk,

I made the performance tests.

The test displays 30 circles (radius 100px) clipped by clip path. It exposes mouse hover/unhover from the 0,0 point until the center of the circle.

DESCRIPTION: Testing clip-path using 30 shapes.
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1417.15 ms
median= 1439.0 ms, stdev= 171.044246353 ms, min= 1038.0 ms, max= 1700.0 ms
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 598262.2 bytes
median= 604022.0 bytes, stdev= 11827.0697603 bytes, min= 575207.0 bytes, max= 604038.0 bytes
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1014103.6 bytes
median= 1010400.0 bytes, stdev= 8320.6471307 bytes, min= 1009616.0 bytes, max= 1036768.0 bytes
Finished: 35.947498 s

DESCRIPTION: Testing clip-path + shapes with circle() using 30 shapes.
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1510.9 ms
median= 1546.5 ms, stdev= 130.736335705 ms, min= 1128.0 ms, max= 1594.0 ms
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 596199.2 bytes
median= 601959.0 bytes, stdev= 11827.0697603 bytes, min= 573144.0 bytes, max= 601975.0 bytes
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1017173.6 bytes
median= 1015184.0 bytes, stdev= 7281.3986395 bytes, min= 1010456.0 bytes, max= 1033488.0 bytes
Finished: 37.944173 s

No-Shapes: 1439.0ms stdev~8%
Shapes: 1546.5ms  stdev ~11.8%

Shapes case is ~7.4% worse.

Although, the standard deviations are pretty high, I&apos;ve got the similar results after multiple runs. If you want to see these tests in the trunk, I can add them in a separate bug. Also, if you think it&apos;s worth to introduce optimizations, we can open the bug for it, but I see those task as possible follow up work after landing this. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006890</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-05-06 01:28:57 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Hi Dirk,
&gt; 
&gt; I made the performance tests.
&gt; 
&gt; The test displays 30 circles (radius 100px) clipped by clip path. It exposes mouse hover/unhover from the 0,0 point until the center of the circle.
&gt; 
&gt; DESCRIPTION: Testing clip-path using 30 shapes.
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1417.15 ms
&gt; median= 1439.0 ms, stdev= 171.044246353 ms, min= 1038.0 ms, max= 1700.0 ms
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 598262.2 bytes
&gt; median= 604022.0 bytes, stdev= 11827.0697603 bytes, min= 575207.0 bytes, max= 604038.0 bytes
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1014103.6 bytes
&gt; median= 1010400.0 bytes, stdev= 8320.6471307 bytes, min= 1009616.0 bytes, max= 1036768.0 bytes
&gt; Finished: 35.947498 s
&gt; 
&gt; DESCRIPTION: Testing clip-path + shapes with circle() using 30 shapes.
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1510.9 ms
&gt; median= 1546.5 ms, stdev= 130.736335705 ms, min= 1128.0 ms, max= 1594.0 ms
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 596199.2 bytes
&gt; median= 601959.0 bytes, stdev= 11827.0697603 bytes, min= 573144.0 bytes, max= 601975.0 bytes
&gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1017173.6 bytes
&gt; median= 1015184.0 bytes, stdev= 7281.3986395 bytes, min= 1010456.0 bytes, max= 1033488.0 bytes
&gt; Finished: 37.944173 s
&gt; 
&gt; No-Shapes: 1439.0ms stdev~8%
&gt; Shapes: 1546.5ms  stdev ~11.8%
&gt; 
&gt; Shapes case is ~7.4% worse.
&gt; 
&gt; Although, the standard deviations are pretty high, I&apos;ve got the similar results after multiple runs. If you want to see these tests in the trunk, I can add them in a separate bug. Also, if you think it&apos;s worth to introduce optimizations, we can open the bug for it, but I see those task as possible follow up work after landing this. What do you think?

Thanks for the tests. I am not sure if you understood my request though.

Just want to have performance tests for hit testing:
1) with clip-path
2) without clip-path.

It makes sense that shapes will make it slower. My concern was just about clip-path hit testing performance. The reason, if it is bad, we might want to compute the bounding box of the element after clipping and do hit testing on the bounding box first before asking isPointInPath().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006891</commentid>
    <comment_count>8</comment_count>
      <attachid>230204</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-05-06 01:31:19 -0700</bug_when>
    <thetext>Comment on attachment 230204
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:2970
&gt; +            // FIXME: handle marginBox etc.

Even if borderBox is probably the most use reference box, could you add the other boxes as well? the logic to compute these boxes should be in RenderLayer probably.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007041</commentid>
    <comment_count>9</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-05-06 12:25:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Hi Dirk,
&gt; &gt; 
&gt; &gt; I made the performance tests.
&gt; &gt; 
&gt; &gt; The test displays 30 circles (radius 100px) clipped by clip path. It exposes mouse hover/unhover from the 0,0 point until the center of the circle.
&gt; &gt; 
&gt; &gt; DESCRIPTION: Testing clip-path using 30 shapes.
&gt; &gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1417.15 ms
&gt; &gt; median= 1439.0 ms, stdev= 171.044246353 ms, min= 1038.0 ms, max= 1700.0 ms
&gt; &gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 598262.2 bytes
&gt; &gt; median= 604022.0 bytes, stdev= 11827.0697603 bytes, min= 575207.0 bytes, max= 604038.0 bytes
&gt; &gt; RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1014103.6 bytes
&gt; &gt; median= 1010400.0 bytes, stdev= 8320.6471307 bytes, min= 1009616.0 bytes, max= 1036768.0 bytes
&gt; &gt; Finished: 35.947498 s

DESCRIPTION: Testing no-clip-path 30 boxes.
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Time= 1343.85 ms
median= 1356.5 ms, stdev= 83.9801198279 ms, min= 997.0 ms, max= 1429.0 ms
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: JSHeap= 598390.2 bytes
median= 604150.0 bytes, stdev= 11827.0697603 bytes, min= 575335.0 bytes, max= 604166.0 bytes
RESULT Layout: Shapes: ShapeOutsideClipPathSelection: Malloc= 1017564.8 bytes
median= 1015432.0 bytes, stdev= 7189.77538336 bytes, min= 1010640.0 bytes, max= 1037768.0 bytes
Finished: 33.877189 s

&gt; Thanks for the tests. I am not sure if you understood my request though.
&gt; 
&gt; Just want to have performance tests for hit testing:
&gt; 1) with clip-path
&gt; 2) without clip-path.

clip-path: 1439ms ~6% worse
no-clip-path: 1356ms 

I&apos;ve run the the test for that case as well, results are above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007042</commentid>
    <comment_count>10</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-05-06 12:25:58 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 230204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=230204&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:2970
&gt; &gt; +            // FIXME: handle marginBox etc.
&gt; 
&gt; Even if borderBox is probably the most use reference box, could you add the other boxes as well? the logic to compute these boxes should be in RenderLayer probably.

I&apos;ll start to look into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007044</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-05-06 12:27:10 -0700</bug_when>
    <thetext>(In reply to comment #9)

&gt; clip-path: 1439ms ~6% worse
&gt; no-clip-path: 1356ms 
&gt; 
&gt; I&apos;ve run the the test for that case as well, results are above.

Ok, that sounds reasonable. Then just the other references boxes and the patch is good to go :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007520</commentid>
    <comment_count>12</comment_count>
      <attachid>231042</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-05-07 21:35:06 -0700</bug_when>
    <thetext>Created attachment 231042
Patch - Added support and testing for the CSS box models</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007521</commentid>
    <comment_count>13</comment_count>
      <attachid>231043</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-05-07 21:37:50 -0700</bug_when>
    <thetext>Created attachment 231043
Same as previous, just renamed selectors in the test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007547</commentid>
    <comment_count>14</comment_count>
      <attachid>231043</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-08 00:57:39 -0700</bug_when>
    <thetext>Comment on attachment 231043
Same as previous, just renamed selectors in the test case

Clearing flags on attachment: 231043

Committed r168463: &lt;http://trac.webkit.org/changeset/168463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007548</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-08 00:57:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>228858</attachid>
            <date>2014-04-08 11:07:21 -0700</date>
            <delta_ts>2014-04-08 11:07:21 -0700</delta_ts>
            <desc>Test-case</desc>
            <filename>testcase.html</filename>
            <type>text/html</type>
            <size>1190</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">PHN0eWxlPgpib2R5IHsKICAgIHdpZHRoOiA2MDBweDsKfQoKI2JhY2tncm91bmQgewogICAgcG9z
aXRpb246IGFic29sdXRlOwogICAgdG9wOiA4cHg7CiAgICBsZWZ0OiA4cHg7CiAgICB6LWluZGV4
OiAtMTsKICAgIHdpZHRoOiAyMDBweDsKICAgIGhlaWdodDogMjAwcHg7CiAgICBiYWNrZ3JvdW5k
OiBsaWdodGdyZWVuOwp9CgojdHJpYW5nbGVMZWZ0IHsKICAgIHdpZHRoOiAyMDBweDsKICAgIGhl
aWdodDogMjAwcHg7CiAgICBmbG9hdDogbGVmdDsKICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTog
cG9seWdvbigwIDAsIDEwMCUgNTAlLCAwIDEwMCUpOwogICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBv
bHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAlKTsKICAgIC13ZWJraXQtc2hhcGUtbWFyZ2luOiA0
cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7Cn0KPC9zdHlsZT4KCjxkaXYgaWQ9ImJh
Y2tncm91bmQiPjwvZGl2Pgo8ZGl2IGlkPSJ0cmlhbmdsZUxlZnQiPjwvZGl2PkFsdGhvdWdoIHRo
ZSBDdWx0dXJlIHdhcyBvcmlnaW5hdGVkIGJ5IGh1bWFub2lkIHNwZWNpZXMsIHN1YnNlcXVlbnQg
aW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgY2l2aWxpemF0aW9ucyBoYXZlIGludHJvZHVjZWQgbWFu
eSBub24taHVtYW5vaWQgc3BlY2llcyBpbnRvIHRoZSBDdWx0dXJlIChpbmNsdWRpbmcgc29tZSBm
b3JtZXIgZW5lbXkgY2l2aWxpemF0aW9ucyksIHRob3VnaCB0aGUgbWFqb3JpdHkgb2YgdGhlIGJp
b2xvZ2ljYWwgQ3VsdHVyZSBpcyBzdGlsbCBwYW4taHVtYW4uIExpdHRsZSB1bmlmb3JtaXR5IGV4
aXN0cyBpbiB0aGUgQ3VsdHVyZSwgYW5kIGl0cyBjaXRpemVucyBhcmUgc3VjaCBieSBjaG9pY2Us
IGZyZWUgdG8gY2hhbmdlIHBoeXNpY2FsIGZvcm0gYW5kIGV2ZW4gc3BlY2llcyAodGhvdWdoIHNv
bWUgc3RyYW5nZXIgYmlvbG9naWNhbCBjb252ZXJzaW9ucyBhcmUgaXJyZXZlcnNpYmxlLCBhbmQg
Y29udmVyc2lvbiBmcm9tIGJpb2xvZ2ljYWwgdG8gYXJ0aWZpY2lhbCBzZW50aWVuY2UgaXMgY29u
c2lkZXJlZCB0byBiZSB3aGF0IGlzIGtub3duIGFzIGFuIFVudXN1YWwgTGlmZSBDaG9pY2UpLiBB
bGwgbWVtYmVycyBhcmUgYWxzbyBmcmVlIHRvIGpvaW4sIGxlYXZlLCBhbmQgcmVqb2luLCBvciBp
bmRlZWQgZGVjbGFyZSB0aGVtc2VsdmVzIHRvIGJlLCBzYXksIDgwJSBDdWx0dXJlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230204</attachid>
            <date>2014-04-25 14:33:07 -0700</date>
            <delta_ts>2014-05-07 21:35:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>robport.patch</filename>
            <type>text/plain</type>
            <size>9587</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZDQ2YmJhLi41MjdkM2EyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDQt
MjUgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIENhbid0IHNlbGVjdCBjb250ZW50IHdpdGhpbiB0aGUgYXJlYSBvZiB0aGUgZmxvYXRp
bmcgYm94IHdoZW4gY2xpcC1wYXRoIGlzIGFwcGxpZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTM3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21hc2tpbmcvY2xpcC1wYXRo
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWNsaXAtcGF0aC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWNsaXAtcGF0aC1zZWxlY3Rpb24uaHRtbDogQWRkZWQuCisKIDIwMTQtMDQtMjQg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjc0NDEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L21hc2tpbmcvY2xpcC1wYXRoLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L21hc2tpbmcvY2xpcC1wYXRoLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAwNWVkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK1BBU1Mgc2VsLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsLnRvU3RyaW5n
KCkgaXMgIkxpdHRsZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorQWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQg
c3BlY2llcywgc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBjaXZpbGl6YXRpb25z
IGhhdmUgaW50cm9kdWNlZCBtYW55IG5vbi1odW1hbm9pZCBzcGVjaWVzIGludG8gdGhlIEN1bHR1
cmUgKGluY2x1ZGluZyBzb21lIGZvcm1lciBlbmVteSBjaXZpbGl6YXRpb25zKSwgdGhvdWdoIHRo
ZSBtYWpvcml0eSBvZiB0aGUgYmlvbG9naWNhbCBDdWx0dXJlIGlzIHN0aWxsIHBhbi1odW1hbi4g
TGl0dGxlIHVuaWZvcm1pdHkgZXhpc3RzIGluIHRoZSBDdWx0dXJlLCBhbmQgaXRzIGNpdGl6ZW5z
IGFyZSBzdWNoIGJ5IGNob2ljZSwgZnJlZSB0byBjaGFuZ2UgcGh5c2ljYWwgZm9ybSBhbmQgZXZl
biBzcGVjaWVzICh0aG91Z2ggc29tZSBzdHJhbmdlciBiaW9sb2dpY2FsIGNvbnZlcnNpb25zIGFy
ZSBpcnJldmVyc2libGUsIGFuZCBjb252ZXJzaW9uIGZyb20gYmlvbG9naWNhbCB0byBhcnRpZmlj
aWFsIHNlbnRpZW5jZSBpcyBjb25zaWRlcmVkIHRvIGJlIHdoYXQgaXMga25vd24gYXMgYW4gVW51
c3VhbCBMaWZlIENob2ljZSkuIEFsbCBtZW1iZXJzIGFyZSBhbHNvIGZyZWUgdG8gam9pbiwgbGVh
dmUsIGFuZCByZWpvaW4sIG9yIGluZGVlZCBkZWNsYXJlIHRoZW1zZWx2ZXMgdG8gYmUsIHNheSwg
ODAlIEN1bHR1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21hc2tpbmcvY2xpcC1w
YXRoLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDU0NWQ0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1z
ZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDM5IEBACis8c3R5bGU+Citib2R5IHsKKyAgICB3aWR0
aDogNjAwcHg7CisgICAgZm9udDogMThweC8xIEFoZW07Cit9CisKKyN0cmlhbmdsZUxlZnQgewor
ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDBweDsKKyAgICBsZWZ0OiAwcHg7Cisg
ICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYmFja2dyb3VuZDogZ3Jl
ZW47CisgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAl
KTsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InRyaWFuZ2xlTGVmdCI+QWx0aG91Z2ggdGhlIEN1
bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQgc3BlY2llcywgc3Vic2VxdWVudCBpbnRl
cmFjdGlvbnMgd2l0aCBvdGhlciBjaXZpbGl6YXRpb25zIGhhdmUgaW50cm9kdWNlZCBtYW55IG5v
bi1odW1hbm9pZCBzcGVjaWVzIGludG8gdGhlIEN1bHR1cmUgKGluY2x1ZGluZyBzb21lIGZvcm1l
ciBlbmVteSBjaXZpbGl6YXRpb25zKSwgdGhvdWdoIHRoZSBtYWpvcml0eSBvZiB0aGUgYmlvbG9n
aWNhbCBDdWx0dXJlIGlzIHN0aWxsIHBhbi1odW1hbi4gTGl0dGxlIHVuaWZvcm1pdHkgZXhpc3Rz
IGluIHRoZSBDdWx0dXJlLCBhbmQgaXRzIGNpdGl6ZW5zIGFyZSBzdWNoIGJ5IGNob2ljZSwgZnJl
ZSB0byBjaGFuZ2UgcGh5c2ljYWwgZm9ybSBhbmQgZXZlbiBzcGVjaWVzICh0aG91Z2ggc29tZSBz
dHJhbmdlciBiaW9sb2dpY2FsIGNvbnZlcnNpb25zIGFyZSBpcnJldmVyc2libGUsIGFuZCBjb252
ZXJzaW9uIGZyb20gYmlvbG9naWNhbCB0byBhcnRpZmljaWFsIHNlbnRpZW5jZSBpcyBjb25zaWRl
cmVkIHRvIGJlIHdoYXQgaXMga25vd24gYXMgYW4gVW51c3VhbCBMaWZlIENob2ljZSkuIEFsbCBt
ZW1iZXJzIGFyZSBhbHNvIGZyZWUgdG8gam9pbiwgbGVhdmUsIGFuZCByZWpvaW4sIG9yIGluZGVl
ZCBkZWNsYXJlIHRoZW1zZWx2ZXMgdG8gYmUsIHNheSwgODAlIEN1bHR1cmUuPC9kaXY+CisKKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorICAgIHZhciBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgc2VsLnJlbW92ZUFs
bFJhbmdlcygpOworICAgIC8vIHNlbGVjdCBwYXJ0IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhlIHRl
eHQKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxODAsIDQwKTsKKyAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyMDAsIDQwKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgc2hvdWxkQmUoJ3NlbC50b1N0cmluZygpJywg
JyIiJyk7CisKKyAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgLy8gc2VsZWN0ICdMaXR0
bGUnIHVzaW5nIHNlbGVjdCBkcmFnCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMjYw
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygxMDAsIDI2MCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIC8vIHZlcmlm
eSB0aGF0ICdMaXR0bGUnIHdhcyBzZWxlY3RlZAorICAgIHNob3VsZEJlKCdzZWwudG9TdHJpbmco
KScsICciTGl0dGxlIicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWNsaXAtcGF0aC1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTU2YjYwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
K1BBU1Mgc2VsLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsLnRvU3RyaW5nKCkgaXMgIm9yaWdp
bmF0ZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
K0FsdGhvdWdoIHRoZSBDdWx0dXJlIHdhcyBvcmlnaW5hdGVkIGJ5IGh1bWFub2lkIHNwZWNpZXMs
IHN1YnNlcXVlbnQgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgY2l2aWxpemF0aW9ucyBoYXZlIGlu
dHJvZHVjZWQgbWFueSBub24taHVtYW5vaWQgc3BlY2llcyBpbnRvIHRoZSBDdWx0dXJlIChpbmNs
dWRpbmcgc29tZSBmb3JtZXIgZW5lbXkgY2l2aWxpemF0aW9ucyksIHRob3VnaCB0aGUgbWFqb3Jp
dHkgb2YgdGhlIGJpb2xvZ2ljYWwgQ3VsdHVyZSBpcyBzdGlsbCBwYW4taHVtYW4uIExpdHRsZSB1
bmlmb3JtaXR5IGV4aXN0cyBpbiB0aGUgQ3VsdHVyZSwgYW5kIGl0cyBjaXRpemVucyBhcmUgc3Vj
aCBieSBjaG9pY2UsIGZyZWUgdG8gY2hhbmdlIHBoeXNpY2FsIGZvcm0gYW5kIGV2ZW4gc3BlY2ll
cyAodGhvdWdoIHNvbWUgc3RyYW5nZXIgYmlvbG9naWNhbCBjb252ZXJzaW9ucyBhcmUgaXJyZXZl
cnNpYmxlLCBhbmQgY29udmVyc2lvbiBmcm9tIGJpb2xvZ2ljYWwgdG8gYXJ0aWZpY2lhbCBzZW50
aWVuY2UgaXMgY29uc2lkZXJlZCB0byBiZSB3aGF0IGlzIGtub3duIGFzIGFuIFVudXN1YWwgTGlm
ZSBDaG9pY2UpLiBBbGwgbWVtYmVycyBhcmUgYWxzbyBmcmVlIHRvIGpvaW4sIGxlYXZlLCBhbmQg
cmVqb2luLCBvciBpbmRlZWQgZGVjbGFyZSB0aGVtc2VsdmVzIHRvIGJlLCBzYXksIDgwJSBDdWx0
dXJlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWNsaXAtcGF0
aC1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmE3
NzNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSw0OSBAQAorPHN0eWxlPgorYm9keSB7CisgICAgd2lkdGg6IDYwMHB4OworICAgIGZvbnQ6
IDE4cHgvMSBBaGVtOworfQorCisjYmFja2dyb3VuZCB7CisgICAgcG9zaXRpb246IGFic29sdXRl
OworICAgIHRvcDogOHB4OworICAgIGxlZnQ6IDhweDsKKyAgICB6LWluZGV4OiAtMTsKKyAgICB3
aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kOiBsaWdodGdy
ZWVuOworfQorCisjdHJpYW5nbGVMZWZ0IHsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0
OiAyMDBweDsKKyAgICBmbG9hdDogbGVmdDsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBv
bHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAlKTsKKyAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9s
eWdvbigwIDAsIDEwMCUgNTAlLCAwIDEwMCUpOworICAgIHNoYXBlLW1hcmdpbjogNHB4OworICAg
IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InRyaWFu
Z2xlTGVmdCI+PC9kaXY+QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVt
YW5vaWQgc3BlY2llcywgc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBjaXZpbGl6
YXRpb25zIGhhdmUgaW50cm9kdWNlZCBtYW55IG5vbi1odW1hbm9pZCBzcGVjaWVzIGludG8gdGhl
IEN1bHR1cmUgKGluY2x1ZGluZyBzb21lIGZvcm1lciBlbmVteSBjaXZpbGl6YXRpb25zKSwgdGhv
dWdoIHRoZSBtYWpvcml0eSBvZiB0aGUgYmlvbG9naWNhbCBDdWx0dXJlIGlzIHN0aWxsIHBhbi1o
dW1hbi4gTGl0dGxlIHVuaWZvcm1pdHkgZXhpc3RzIGluIHRoZSBDdWx0dXJlLCBhbmQgaXRzIGNp
dGl6ZW5zIGFyZSBzdWNoIGJ5IGNob2ljZSwgZnJlZSB0byBjaGFuZ2UgcGh5c2ljYWwgZm9ybSBh
bmQgZXZlbiBzcGVjaWVzICh0aG91Z2ggc29tZSBzdHJhbmdlciBiaW9sb2dpY2FsIGNvbnZlcnNp
b25zIGFyZSBpcnJldmVyc2libGUsIGFuZCBjb252ZXJzaW9uIGZyb20gYmlvbG9naWNhbCB0byBh
cnRpZmljaWFsIHNlbnRpZW5jZSBpcyBjb25zaWRlcmVkIHRvIGJlIHdoYXQgaXMga25vd24gYXMg
YW4gVW51c3VhbCBMaWZlIENob2ljZSkuIEFsbCBtZW1iZXJzIGFyZSBhbHNvIGZyZWUgdG8gam9p
biwgbGVhdmUsIGFuZCByZWpvaW4sIG9yIGluZGVlZCBkZWNsYXJlIHRoZW1zZWx2ZXMgdG8gYmUs
IHNheSwgODAlIEN1bHR1cmUuCisKKyA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNl
bGVjdGlvbigpOworICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAvLyBzZWxlY3QgcGFy
dCBvZiB0aGUgcG9seWdvbiwgbm90IHRoZSB0ZXh0CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oODAsIDEwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oMTQwLCAxMDApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAg
ICBzaG91bGRCZSgnc2VsLnRvU3RyaW5nKCknLCAnIiInKTsKKworICAgIC8vIHNlbGVjdCAnb3Ro
ZXInIHVzaW5nIHNlbGVjdCBkcmFnLgorICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyg4MCwgNTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93
bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDI2MCwgNTApOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKyAgICAvLyB2ZXJpZnkgdGhhdCAnb3RoZXInIHdhcyBzZWxlY3RlZAor
ICAgIHNob3VsZEJlKCdzZWwudG9TdHJpbmcoKScsICcib3JpZ2luYXRlZCInKTsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDMzMGUzZmMuLjJjZjg0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAxNC0wNC0yNSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBbQ1NTIFNoYXBlc10gQ2FuJ3Qgc2VsZWN0IGNvbnRlbnQgd2l0aGluIHRoZSBhcmVh
IG9mIHRoZSBmbG9hdGluZyBib3ggd2hlbiBjbGlwLXBhdGggaXMgYXBwbGllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMzc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIGh0dHA6
Ly93d3cudzMub3JnL1RSL2Nzcy1tYXNraW5nLTEvLCB0aGUgY2xpcHBlZCBwYXJ0IG9mIHRoZSBl
bGVtZW50IHNob3VsZAorICAgICAgICBub3QgaGF2ZSBwb2ludGVyIGV2ZW50IGRpc3BhdGNoaW5n
LiBTbyBhZGQgdGhpcyBsb2dpYyB0byBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQuIFRoaXMKKyAg
ICAgICAgZml4ZXMgdGhlIGJ1ZyBhcyBpdCBkaXNhbGxvd3Mgc2VsZWN0aW9uIG9uIGFueSBjbGlw
cGVkIHBhcnRzLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGlzIG1hZGUgYnkgUm9iIEJ1aXMg
PHJvYi5idWlzQHNhbXN1bmcuY29tPgorICAgICAgICBCbGluayByZXZpc2lvbjogaHR0cDovL3Ny
Yy5jaHJvbWl1bS5vcmcvdmlld3ZjL2JsaW5rP3ZpZXc9cmV2aXNpb24mcmV2aXNpb249MTcyNjE5
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtY2xpcC1wYXRoLXNlbGVjdGlvbi5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50
KToKKwogMjAxNC0wNC0yNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIE1hcmsgU3VwcGxlbWVudCBpbnN0ZWFkIG9mIFJlZkNvdW50ZWRTdXBwbGVt
ZW50IGluIE5hdmlnYXRvckNvbnRlbnRVdGlscyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCmluZGV4IGNmNjIyMGMuLjQ4NDQwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjk2Myw2ICsyOTYzLDIyIEBAIGJvb2wgUmVuZGVy
QmxvY2s6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0
UmVzdWx0JiByZXN1CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChz
dHlsZSgpLmNsaXBQYXRoKCkpIHsKKyAgICAgICAgc3dpdGNoIChzdHlsZSgpLmNsaXBQYXRoKCkt
PnR5cGUoKSkgeworICAgICAgICBjYXNlIENsaXBQYXRoT3BlcmF0aW9uOjpTaGFwZTogeworICAg
ICAgICAgICAgU2hhcGVDbGlwUGF0aE9wZXJhdGlvbiogY2xpcFBhdGggPSB0b1NoYXBlQ2xpcFBh
dGhPcGVyYXRpb24oc3R5bGUoKS5jbGlwUGF0aCgpKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBo
YW5kbGUgbWFyZ2luQm94IGV0Yy4KKyAgICAgICAgICAgIGlmICghY2xpcFBhdGgtPnBhdGhGb3JS
ZWZlcmVuY2VSZWN0KGJvcmRlckJveFJlY3QoKSkuY29udGFpbnMobG9jYXRpb25JbkNvbnRhaW5l
ci5wb2ludCgpIC0gbG9jYWxPZmZzZXQsIGNsaXBQYXRoLT53aW5kUnVsZSgpKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICAvLyBGSVhNRTogaGFuZGxlIFJlZmVyZW5jZS9Cb3gKKyAgICAgICAgY2FzZSBDbGlwUGF0
aE9wZXJhdGlvbjo6UmVmZXJlbmNlOgorICAgICAgICBjYXNlIENsaXBQYXRoT3BlcmF0aW9uOjpC
b3g6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIElmIHdl
IGhhdmUgY2xpcHBpbmcsIHRoZW4gd2UgY2FuJ3QgaGF2ZSBhbnkgc3BpbGxvdXQuCiAgICAgYm9v
bCB1c2VPdmVyZmxvd0NsaXAgPSBoYXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzU2VsZlBhaW50aW5n
TGF5ZXIoKTsKICAgICBib29sIHVzZUNsaXAgPSAoaGFzQ29udHJvbENsaXAoKSB8fCB1c2VPdmVy
Zmxvd0NsaXApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231042</attachid>
            <date>2014-05-07 21:35:06 -0700</date>
            <delta_ts>2014-05-07 21:37:50 -0700</delta_ts>
            <desc>Patch - Added support and testing for the CSS box models</desc>
            <filename>selection.patch</filename>
            <type>text/plain</type>
            <size>11801</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlOTE2ZDBjOC4uODU1MWJjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1
LTA1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1Mg
U2hhcGVzXSBDYW4ndCBzZWxlY3QgY29udGVudCB3aXRoaW4gdGhlIGFyZWEgb2YgdGhlIGZsb2F0
aW5nIGJveCB3aGVuIGNsaXAtcGF0aCBpcyBhcHBsaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tYXNraW5nL2NsaXAtcGF0
aC1zZWxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE0LTA1LTA1
ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25z
XSBTbGlkZXIgZGlzcGxheWVkIHdyb25nIGluIHJlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzU2ZmFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BB
U1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5n
KCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycKK1BBU1Mgc2VsZWN0
aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycK
K1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5n
KCkgaXMgJ3dhcycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21hc2tpbmcvY2xpcC1wYXRoLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzVhNDI3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDkzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KK2JvZHkg
eworICAgIHdpZHRoOiA2MDBweDsKKyAgICBmb250LWZhbWlseTogIkFyaWFsIjsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbGluZS1oZWlnaHQ6IDIwcHg7Cit9CisKKy50cmlhbmdsZUNvbnRh
aW5lciB7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgbWFyZ2lu
OiA1cHg7CisgICAgcGFkZGluZzogOHB4OworICAgIGJvcmRlcjogMTBweCBzb2xpZCB5ZWxsb3c7
CisgICAgYmFja2dyb3VuZDogZ3JlZW47Cit9CisKKyN0cmlhbmdsZUxlZnRCb3JkZXJCb3ggewor
ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDIwMHB4OworICAgIGxlZnQ6IDBweDsK
KyAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDUwJSAwLCA1MCUgMjUlLCAxMDAl
IDI1JSwgMTAwJSA3NSUsIDUwJSA3NSUsIDUwJSAxMDAlLCAwIDEwMCUpIGJvcmRlci1ib3g7Cit9
CisKKyN0cmlhbmdsZUxlZnRNYXJnaW5Cb3ggeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICB0b3A6IDIwMHB4OworICAgIGxlZnQ6IDMwMHB4OworICAgIC13ZWJraXQtY2xpcC1wYXRoOiBw
b2x5Z29uKDAgMCwgNTAlIDAsIDUwJSAyNSUsIDEwMCUgMjUlLCAxMDAlIDc1JSwgNTAlIDc1JSwg
NTAlIDEwMCUsIDAgMTAwJSkgbWFyZ2luLWJveDsKK30KKworI3RyaWFuZ2xlTGVmdFBhZGRpbmdC
b3ggeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDQ1MHB4OworICAgIGxlZnQ6
IDBweDsKKyAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDUwJSAwLCA1MCUgMjUl
LCAxMDAlIDI1JSwgMTAwJSA3NSUsIDUwJSA3NSUsIDUwJSAxMDAlLCAwIDEwMCUpIHBhZGRpbmct
Ym94OworfQorCisjdHJpYW5nbGVMZWZ0Q29udGVudEJveCB7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIHRvcDogNDUwcHg7CisgICAgbGVmdDogMzAwcHg7CisgICAgLXdlYmtpdC1jbGlw
LXBhdGg6IHBvbHlnb24oMCAwLCA1MCUgMCwgNTAlIDI1JSwgMTAwJSAyNSUsIDEwMCUgNzUlLCA1
MCUgNzUlLCA1MCUgMTAwJSwgMCAxMDAlKSBjb250ZW50LWJveDsKK30KKzwvc3R5bGU+CisKKzxk
aXYgaWQ9InRyaWFuZ2xlTGVmdEJvcmRlckJveCIgY2xhc3M9InRyaWFuZ2xlQ29udGFpbmVyIj5B
bHRob3VnaCB0aGUgQ3VsdHVyZSB3YXMgb3JpZ2luYXRlZCBieSBodW1hbm9pZCBzcGVjaWVzLi4u
PC9kaXY+Cis8ZGl2IGlkPSJ0cmlhbmdsZUxlZnRNYXJnaW5Cb3giIGNsYXNzPSJ0cmlhbmdsZUNv
bnRhaW5lciI+QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQg
c3BlY2llcy4uLjwvZGl2PgorPGRpdiBpZD0idHJpYW5nbGVMZWZ0UGFkZGluZ0JveCIgY2xhc3M9
InRyaWFuZ2xlQ29udGFpbmVyIj5BbHRob3VnaCB0aGUgQ3VsdHVyZSB3YXMgb3JpZ2luYXRlZCBi
eSBodW1hbm9pZCBzcGVjaWVzLi4uPC9kaXY+Cis8ZGl2IGlkPSJ0cmlhbmdsZUxlZnRDb250ZW50
Qm94IiBjbGFzcz0idHJpYW5nbGVDb250YWluZXIiPkFsdGhvdWdoIHRoZSBDdWx0dXJlIHdhcyBv
cmlnaW5hdGVkIGJ5IGh1bWFub2lkIHNwZWNpZXMuLi48L2Rpdj4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIHNl
bGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKKworICAgIGZ1bmN0aW9uIGNvbXBhcmVT
ZWxlY3Rpb25XaXRoVGV4dChzdGFydFgsIHN0YXJ0WSwgZW5kWCwgZW5kWSwgZXhwZWN0ZWRUZXh0
KSB7CisgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbmRYLCBlbmRZKTsK
KyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgICAgICBzaG91bGRCZSgnc2VsZWN0
aW9uLnRvU3RyaW5nKCknLCBleHBlY3RlZFRleHQpOworICAgIH0KKworICAgIC8vIHRyaWFuZ2xl
TGVmdEJvcmRlckJveCwgc2VsZWN0IHBhcnQgb2YgdGhlIHBvbHlnb24sIG5vdCB0aGUgdGV4dAor
ICAgIGNvbXBhcmVTZWxlY3Rpb25XaXRoVGV4dCgxNjAsIDIyMiwgMTgwLCAyNDIsICciIicpOwor
ICAgIC8vIHRyaWFuZ2xlTGVmdEJvcmRlckJveCwgc2VsZWN0ICd3YXMnIHVzaW5nIHNlbGVjdCBk
cmFnCisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDIzLCAyNDIsIDU5LCAyNjAsICInd2Fz
JyIpOworCisgICAgLy8gdHJpYW5nbGVMZWZ0TWFyZ2luQm94LCBzZWxlY3QgcGFydCBvZiB0aGUg
cG9seWdvbiwgbm90IHRoZSB0ZXh0CisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDQ2MCwg
MTYwLCA0ODAsIDE4MCwgJyIiJyk7CisgICAgLy8gdHJpYW5nbGVMZWZ0TWFyZ2luQm94LCBzZWxl
Y3QgJ3dhcycgdXNpbmcgc2VsZWN0IGRyYWcKKyAgICBjb21wYXJlU2VsZWN0aW9uV2l0aFRleHQo
MzIzLCAyNDIsIDM1OSwgMjYwLCAiJ3dhcyciKTsKKworICAgIC8vIHRyaWFuZ2xlTGVmdFBhZGRp
bmdCb3gsIHNlbGVjdCBwYXJ0IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhlIHRleHQKKyAgICBjb21w
YXJlU2VsZWN0aW9uV2l0aFRleHQoMTYwLCA0NzIsIDE4MCwgNDkyLCAnIiInKTsKKyAgICAvLyB0
cmlhbmdsZUxlZnRQYWRkaW5nQm94LCBzZWxlY3QgJ3dhcycgdXNpbmcgc2VsZWN0IGRyYWcKKyAg
ICBjb21wYXJlU2VsZWN0aW9uV2l0aFRleHQoMjMsIDQ5MiwgNTksIDUxMCwgIid3YXMnIik7CisK
KyAgICAvLyB0cmlhbmdsZUxlZnRDb250ZW50Qm94LCBzZWxlY3QgcGFydCBvZiB0aGUgcG9seWdv
biwgbm90IHRoZSB0ZXh0CisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDQ2MCwgNDcyLCA0
ODAsIDQ5MiwgJyIiJyk7CisgICAgLy8gdHJpYW5nbGVMZWZ0Q29udGVudEJveCwgc2VsZWN0ICd3
YXMnIHVzaW5nIHNlbGVjdCBkcmFnCisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDMyMywg
NDkyLCAzNTksIDUxMCwgIid3YXMnIik7CisKKyAgICAvLyBSZW1vdmUgdGVzdGluZyBjb250ZW50
IGZyb20gb3V0cHV0LgorICAgIHZhciB0cmlhbmdsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
Q2xhc3NOYW1lKCd0cmlhbmdsZUNvbnRhaW5lcicpOworICAgIGZvciAodmFyIGkgPSB0cmlhbmds
ZXMubGVuZ3RoIC0xIDsgaSA+PSAwOyAtLWkpCisgICAgICAgIHRyaWFuZ2xlc1tpXS5yZW1vdmUo
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtY2xpcC1wYXRoLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTE1NmI2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtY2xpcC1w
YXRoLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitQQVNTIHNlbC50b1N0
cmluZygpIGlzICIiCitQQVNTIHNlbC50b1N0cmluZygpIGlzICJvcmlnaW5hdGVkIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitBbHRob3VnaCB0aGUg
Q3VsdHVyZSB3YXMgb3JpZ2luYXRlZCBieSBodW1hbm9pZCBzcGVjaWVzLCBzdWJzZXF1ZW50IGlu
dGVyYWN0aW9ucyB3aXRoIG90aGVyIGNpdmlsaXphdGlvbnMgaGF2ZSBpbnRyb2R1Y2VkIG1hbnkg
bm9uLWh1bWFub2lkIHNwZWNpZXMgaW50byB0aGUgQ3VsdHVyZSAoaW5jbHVkaW5nIHNvbWUgZm9y
bWVyIGVuZW15IGNpdmlsaXphdGlvbnMpLCB0aG91Z2ggdGhlIG1ham9yaXR5IG9mIHRoZSBiaW9s
b2dpY2FsIEN1bHR1cmUgaXMgc3RpbGwgcGFuLWh1bWFuLiBMaXR0bGUgdW5pZm9ybWl0eSBleGlz
dHMgaW4gdGhlIEN1bHR1cmUsIGFuZCBpdHMgY2l0aXplbnMgYXJlIHN1Y2ggYnkgY2hvaWNlLCBm
cmVlIHRvIGNoYW5nZSBwaHlzaWNhbCBmb3JtIGFuZCBldmVuIHNwZWNpZXMgKHRob3VnaCBzb21l
IHN0cmFuZ2VyIGJpb2xvZ2ljYWwgY29udmVyc2lvbnMgYXJlIGlycmV2ZXJzaWJsZSwgYW5kIGNv
bnZlcnNpb24gZnJvbSBiaW9sb2dpY2FsIHRvIGFydGlmaWNpYWwgc2VudGllbmNlIGlzIGNvbnNp
ZGVyZWQgdG8gYmUgd2hhdCBpcyBrbm93biBhcyBhbiBVbnVzdWFsIExpZmUgQ2hvaWNlKS4gQWxs
IG1lbWJlcnMgYXJlIGFsc28gZnJlZSB0byBqb2luLCBsZWF2ZSwgYW5kIHJlam9pbiwgb3IgaW5k
ZWVkIGRlY2xhcmUgdGhlbXNlbHZlcyB0byBiZSwgc2F5LCA4MCUgQ3VsdHVyZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtY2xpcC1wYXRoLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFhMzRiZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtY2xpcC1wYXRoLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzxz
dHlsZT4KK2JvZHkgeworICAgIHdpZHRoOiA2MDBweDsKKyAgICBmb250OiAxOHB4LzEgQWhlbTsK
K30KKworI2JhY2tncm91bmQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDhw
eDsKKyAgICBsZWZ0OiA4cHg7CisgICAgei1pbmRleDogLTE7CisgICAgd2lkdGg6IDIwMHB4Owor
ICAgIGhlaWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZDogbGlnaHRncmVlbjsKK30KKworI3Ry
aWFuZ2xlTGVmdCB7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAg
ZmxvYXQ6IGxlZnQ7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDAgMCwgMTAw
JSA1MCUsIDAgMTAwJSk7CisgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAl
IDUwJSwgMCAxMDAlKTsKKyAgICBzaGFwZS1tYXJnaW46IDRweDsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB5ZWxsb3c7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJ0cmlhbmdsZUxlZnQiPjwvZGl2
PkFsdGhvdWdoIHRoZSBDdWx0dXJlIHdhcyBvcmlnaW5hdGVkIGJ5IGh1bWFub2lkIHNwZWNpZXMs
IHN1YnNlcXVlbnQgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgY2l2aWxpemF0aW9ucyBoYXZlIGlu
dHJvZHVjZWQgbWFueSBub24taHVtYW5vaWQgc3BlY2llcyBpbnRvIHRoZSBDdWx0dXJlIChpbmNs
dWRpbmcgc29tZSBmb3JtZXIgZW5lbXkgY2l2aWxpemF0aW9ucyksIHRob3VnaCB0aGUgbWFqb3Jp
dHkgb2YgdGhlIGJpb2xvZ2ljYWwgQ3VsdHVyZSBpcyBzdGlsbCBwYW4taHVtYW4uIExpdHRsZSB1
bmlmb3JtaXR5IGV4aXN0cyBpbiB0aGUgQ3VsdHVyZSwgYW5kIGl0cyBjaXRpemVucyBhcmUgc3Vj
aCBieSBjaG9pY2UsIGZyZWUgdG8gY2hhbmdlIHBoeXNpY2FsIGZvcm0gYW5kIGV2ZW4gc3BlY2ll
cyAodGhvdWdoIHNvbWUgc3RyYW5nZXIgYmlvbG9naWNhbCBjb252ZXJzaW9ucyBhcmUgaXJyZXZl
cnNpYmxlLCBhbmQgY29udmVyc2lvbiBmcm9tIGJpb2xvZ2ljYWwgdG8gYXJ0aWZpY2lhbCBzZW50
aWVuY2UgaXMgY29uc2lkZXJlZCB0byBiZSB3aGF0IGlzIGtub3duIGFzIGFuIFVudXN1YWwgTGlm
ZSBDaG9pY2UpLiBBbGwgbWVtYmVycyBhcmUgYWxzbyBmcmVlIHRvIGpvaW4sIGxlYXZlLCBhbmQg
cmVqb2luLCBvciBpbmRlZWQgZGVjbGFyZSB0aGVtc2VsdmVzIHRvIGJlLCBzYXksIDgwJSBDdWx0
dXJlLgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAg
IHNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAvLyBzZWxlY3QgcGFydCBvZiB0aGUgcG9seWdv
biwgbm90IHRoZSB0ZXh0CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oODAsIDEwMCk7Cisg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
MTQwLCAxMDApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBzaG91bGRCZSgnc2Vs
LnRvU3RyaW5nKCknLCAnIiInKTsKKworICAgIC8vIHNlbGVjdCAnb3RoZXInIHVzaW5nIHNlbGVj
dCBkcmFnLgorICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyg4MCwgNTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKDI2MCwgNTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
KyAgICAvLyB2ZXJpZnkgdGhhdCAnb3RoZXInIHdhcyBzZWxlY3RlZAorICAgIHNob3VsZEJlKCdz
ZWwudG9TdHJpbmcoKScsICcib3JpZ2luYXRlZCInKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRmODdkOTIuLmY0MzI4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wNS0w
NSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNo
YXBlc10gQ2FuJ3Qgc2VsZWN0IGNvbnRlbnQgd2l0aGluIHRoZSBhcmVhIG9mIHRoZSBmbG9hdGlu
ZyBib3ggd2hlbiBjbGlwLXBhdGggaXMgYXBwbGllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIGh0dHA6Ly93d3cudzMub3JnL1RS
L2Nzcy1tYXNraW5nLTEvLCB0aGUgY2xpcHBlZCBwYXJ0IG9mIHRoZSBlbGVtZW50IHNob3VsZAor
ICAgICAgICBub3QgaGF2ZSBwb2ludGVyIGV2ZW50IGRpc3BhdGNoaW5nLiBTbyBhZGQgdGhpcyBs
b2dpYyB0byBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQuIFRoaXMKKyAgICAgICAgZml4ZXMgdGhl
IGJ1ZyBhcyBpdCBkaXNhbGxvd3Mgc2VsZWN0aW9uIG9uIGFueSBjbGlwcGVkIHBhcnRzLgorCisg
ICAgICAgIEkgaW1wbGVtZW50ZWQgdGhlIHByb3BlciBzZWxlY3Rpb24gZm9yIHRoZSB2YXJpb3Vz
IENTUyBib3ggdHlwZXMgYW5kIGFkZGVkIHRlc3RpbmcKKyAgICAgICAgZm9yIHRoZW0uIEFsc28s
IEkgbWFkZSBhbmQgcnVuIHBlcmZvcm1hbmNlIHRlc3RzIGZvciBleHBvc2luZyBtb3VzZSBldmVu
dHMgb3ZlciB0aGUKKyAgICAgICAgY2xpcHBlZC9ub24tY2xpcHBlZCBhcmVhLCB3aGljaCByZXN1
bHRzIGNhbiBiZSBzZWVuIGluIGJ1Z3ppbGxhLgorCisgICAgICAgIEJhc2VkIG9uIHRoZSBwYXRj
aCBtYWRlIGJ5IFJvYiBCdWlzIDxyb2IuYnVpc0BzYW1zdW5nLmNvbT4KKyAgICAgICAgQmxpbmsg
cmV2aXNpb246IGh0dHA6Ly9zcmMuY2hyb21pdW0ub3JnL3ZpZXd2Yy9ibGluaz92aWV3PXJldmlz
aW9uJnJldmlzaW9uPTE3MjYxOQorCisgICAgICAgIFRlc3RzOiBmYXN0L21hc2tpbmcvY2xpcC1w
YXRoLXNlbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3NoYXBlcy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWNsaXAtcGF0aC1zZWxlY3Rpb24uaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpub2RlQXRQb2ludCk6CisKIDIwMTQtMDUtMDUgIEFuZHJlaSBCdWN1ciAgPGFidWN1
ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1JlZ2lvbnNdIFNsaWRlciBkaXNwbGF5ZWQgd3Jv
bmcgaW4gcmVnaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5k
ZXggNTVjNjU3ZS4uMGMwNzViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCkBAIC0yOTg2LDYgKzI5ODYsNDIgQEAgYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9p
bnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3UKICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKHN0eWxlKCkuY2xpcFBhdGgo
KSkgeworICAgICAgICBzd2l0Y2ggKHN0eWxlKCkuY2xpcFBhdGgoKS0+dHlwZSgpKSB7CisgICAg
ICAgIGNhc2UgQ2xpcFBhdGhPcGVyYXRpb246OlNoYXBlOiB7CisgICAgICAgICAgICBTaGFwZUNs
aXBQYXRoT3BlcmF0aW9uKiBjbGlwUGF0aCA9IHRvU2hhcGVDbGlwUGF0aE9wZXJhdGlvbihzdHls
ZSgpLmNsaXBQYXRoKCkpOworCisgICAgICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveFJl
Y3Q7CisgICAgICAgICAgICBzd2l0Y2ggKGNsaXBQYXRoLT5yZWZlcmVuY2VCb3goKSkgeworICAg
ICAgICAgICAgY2FzZSBDU1NCb3hUeXBlOjpNYXJnaW5Cb3g6CisgICAgICAgICAgICAgICAgcmVm
ZXJlbmNlQm94UmVjdCA9IG1hcmdpbkJveFJlY3QoKTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGNhc2UgQ1NTQm94VHlwZTo6Qm9yZGVyQm94OgorICAgICAgICAgICAgICAg
IHJlZmVyZW5jZUJveFJlY3QgPSBib3JkZXJCb3hSZWN0KCk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OlBhZGRpbmdCb3g6CisgICAgICAgICAg
ICAgICAgcmVmZXJlbmNlQm94UmVjdCA9IHBhZGRpbmdCb3hSZWN0KCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkNvbnRlbnRCb3g6CisgICAg
ICAgICAgICAgICAgcmVmZXJlbmNlQm94UmVjdCA9IGNvbnRlbnRCb3hSZWN0KCk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkJveE1pc3Npbmc6
CisgICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkZpbGw6CisgICAgICAgICAgICBjYXNlIENT
U0JveFR5cGU6OlN0cm9rZToKKyAgICAgICAgICAgIGNhc2UgQ1NTQm94VHlwZTo6Vmlld0JveDoK
KyAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3hSZWN0ID0gYm9yZGVyQm94UmVjdCgpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFjbGlwUGF0aC0+cGF0aEZvclJlZmVyZW5jZVJl
Y3QocmVmZXJlbmNlQm94UmVjdCkuY29udGFpbnMobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgp
IC0gbG9jYWxPZmZzZXQsIGNsaXBQYXRoLT53aW5kUnVsZSgpKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAvLyBG
SVhNRTogaGFuZGxlIFJlZmVyZW5jZS9Cb3gKKyAgICAgICAgY2FzZSBDbGlwUGF0aE9wZXJhdGlv
bjo6UmVmZXJlbmNlOgorICAgICAgICBjYXNlIENsaXBQYXRoT3BlcmF0aW9uOjpCb3g6CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIElmIHdlIGhhdmUgY2xp
cHBpbmcsIHRoZW4gd2UgY2FuJ3QgaGF2ZSBhbnkgc3BpbGxvdXQuCiAgICAgYm9vbCB1c2VPdmVy
Zmxvd0NsaXAgPSBoYXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzU2VsZlBhaW50aW5nTGF5ZXIoKTsK
ICAgICBib29sIHVzZUNsaXAgPSAoaGFzQ29udHJvbENsaXAoKSB8fCB1c2VPdmVyZmxvd0NsaXAp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231043</attachid>
            <date>2014-05-07 21:37:50 -0700</date>
            <delta_ts>2014-05-08 00:57:39 -0700</delta_ts>
            <desc>Same as previous, just renamed selectors in the test case</desc>
            <filename>selection.patch</filename>
            <type>text/plain</type>
            <size>11776</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlOTE2ZDBjOC4uODU1MWJjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1
LTA1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1Mg
U2hhcGVzXSBDYW4ndCBzZWxlY3QgY29udGVudCB3aXRoaW4gdGhlIGFyZWEgb2YgdGhlIGZsb2F0
aW5nIGJveCB3aGVuIGNsaXAtcGF0aCBpcyBhcHBsaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tYXNraW5nL2NsaXAtcGF0
aC1zZWxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE0LTA1LTA1
ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25z
XSBTbGlkZXIgZGlzcGxheWVkIHdyb25nIGluIHJlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzU2ZmFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BB
U1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5n
KCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycKK1BBU1Mgc2VsZWN0
aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgJ3dhcycK
K1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsZWN0aW9uLnRvU3RyaW5n
KCkgaXMgJ3dhcycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21hc2tpbmcvY2xpcC1wYXRoLXNl
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGFjZTRhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tYXNraW5nL2NsaXAtcGF0aC1zZWxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDkzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KK2JvZHkg
eworICAgIHdpZHRoOiA2MDBweDsKKyAgICBmb250LWZhbWlseTogIkFyaWFsIjsKKyAgICBmb250
LXNpemU6IDIwcHg7CisgICAgbGluZS1oZWlnaHQ6IDIwcHg7Cit9CisKKy5wb2x5Z29uQ29udGFp
bmVyIHsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBtYXJnaW46
IDVweDsKKyAgICBwYWRkaW5nOiA4cHg7CisgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHllbGxvdzsK
KyAgICBiYWNrZ3JvdW5kOiBncmVlbjsKK30KKworI3BvbHlnb25MZWZ0Qm9yZGVyQm94IHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAyMDBweDsKKyAgICBsZWZ0OiAwcHg7Cisg
ICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCA1MCUgMCwgNTAlIDI1JSwgMTAwJSAy
NSUsIDEwMCUgNzUlLCA1MCUgNzUlLCA1MCUgMTAwJSwgMCAxMDAlKSBib3JkZXItYm94OworfQor
CisjcG9seWdvbkxlZnRNYXJnaW5Cb3ggeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDIwMHB4OworICAgIGxlZnQ6IDMwMHB4OworICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5
Z29uKDAgMCwgNTAlIDAsIDUwJSAyNSUsIDEwMCUgMjUlLCAxMDAlIDc1JSwgNTAlIDc1JSwgNTAl
IDEwMCUsIDAgMTAwJSkgbWFyZ2luLWJveDsKK30KKworI3BvbHlnb25MZWZ0UGFkZGluZ0JveCB7
CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogNDUwcHg7CisgICAgbGVmdDogMHB4
OworICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNTAlIDAsIDUwJSAyNSUsIDEw
MCUgMjUlLCAxMDAlIDc1JSwgNTAlIDc1JSwgNTAlIDEwMCUsIDAgMTAwJSkgcGFkZGluZy1ib3g7
Cit9CisKKyNwb2x5Z29uTGVmdENvbnRlbnRCb3ggeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICB0b3A6IDQ1MHB4OworICAgIGxlZnQ6IDMwMHB4OworICAgIC13ZWJraXQtY2xpcC1wYXRo
OiBwb2x5Z29uKDAgMCwgNTAlIDAsIDUwJSAyNSUsIDEwMCUgMjUlLCAxMDAlIDc1JSwgNTAlIDc1
JSwgNTAlIDEwMCUsIDAgMTAwJSkgY29udGVudC1ib3g7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlk
PSJwb2x5Z29uTGVmdEJvcmRlckJveCIgY2xhc3M9InBvbHlnb25Db250YWluZXIiPkFsdGhvdWdo
IHRoZSBDdWx0dXJlIHdhcyBvcmlnaW5hdGVkIGJ5IGh1bWFub2lkIHNwZWNpZXMuLi48L2Rpdj4K
KzxkaXYgaWQ9InBvbHlnb25MZWZ0TWFyZ2luQm94IiBjbGFzcz0icG9seWdvbkNvbnRhaW5lciI+
QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQgc3BlY2llcy4u
LjwvZGl2PgorPGRpdiBpZD0icG9seWdvbkxlZnRQYWRkaW5nQm94IiBjbGFzcz0icG9seWdvbkNv
bnRhaW5lciI+QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQg
c3BlY2llcy4uLjwvZGl2PgorPGRpdiBpZD0icG9seWdvbkxlZnRDb250ZW50Qm94IiBjbGFzcz0i
cG9seWdvbkNvbnRhaW5lciI+QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2FzIG9yaWdpbmF0ZWQgYnkg
aHVtYW5vaWQgc3BlY2llcy4uLjwvZGl2PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgc2VsZWN0aW9uID0gd2lu
ZG93LmdldFNlbGVjdGlvbigpOworCisgICAgZnVuY3Rpb24gY29tcGFyZVNlbGVjdGlvbldpdGhU
ZXh0KHN0YXJ0WCwgc3RhcnRZLCBlbmRYLCBlbmRZLCBleHBlY3RlZFRleHQpIHsKKyAgICAgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBz
ZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHN0YXJ0WCwgc3RhcnRZKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGVuZFgsIGVuZFkpOworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7CisgICAgICAgIHNob3VsZEJlKCdzZWxlY3Rpb24udG9TdHJpbmco
KScsIGV4cGVjdGVkVGV4dCk7CisgICAgfQorCisgICAgLy8gcG9seWdvbkxlZnRCb3JkZXJCb3gs
IHNlbGVjdCBwYXJ0IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhlIHRleHQKKyAgICBjb21wYXJlU2Vs
ZWN0aW9uV2l0aFRleHQoMTYwLCAyMjIsIDE4MCwgMjQyLCAnIiInKTsKKyAgICAvLyBwb2x5Z29u
TGVmdEJvcmRlckJveCwgc2VsZWN0ICd3YXMnIHVzaW5nIHNlbGVjdCBkcmFnCisgICAgY29tcGFy
ZVNlbGVjdGlvbldpdGhUZXh0KDIzLCAyNDIsIDU5LCAyNjAsICInd2FzJyIpOworCisgICAgLy8g
cG9seWdvbkxlZnRNYXJnaW5Cb3gsIHNlbGVjdCBwYXJ0IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhl
IHRleHQKKyAgICBjb21wYXJlU2VsZWN0aW9uV2l0aFRleHQoNDYwLCAxNjAsIDQ4MCwgMTgwLCAn
IiInKTsKKyAgICAvLyBwb2x5Z29uTGVmdE1hcmdpbkJveCwgc2VsZWN0ICd3YXMnIHVzaW5nIHNl
bGVjdCBkcmFnCisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDMyMywgMjQyLCAzNTksIDI2
MCwgIid3YXMnIik7CisKKyAgICAvLyBwb2x5Z29uTGVmdFBhZGRpbmdCb3gsIHNlbGVjdCBwYXJ0
IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhlIHRleHQKKyAgICBjb21wYXJlU2VsZWN0aW9uV2l0aFRl
eHQoMTYwLCA0NzIsIDE4MCwgNDkyLCAnIiInKTsKKyAgICAvLyBwb2x5Z29uTGVmdFBhZGRpbmdC
b3gsIHNlbGVjdCAnd2FzJyB1c2luZyBzZWxlY3QgZHJhZworICAgIGNvbXBhcmVTZWxlY3Rpb25X
aXRoVGV4dCgyMywgNDkyLCA1OSwgNTEwLCAiJ3dhcyciKTsKKworICAgIC8vIHBvbHlnb25MZWZ0
Q29udGVudEJveCwgc2VsZWN0IHBhcnQgb2YgdGhlIHBvbHlnb24sIG5vdCB0aGUgdGV4dAorICAg
IGNvbXBhcmVTZWxlY3Rpb25XaXRoVGV4dCg0NjAsIDQ3MiwgNDgwLCA0OTIsICciIicpOworICAg
IC8vIHBvbHlnb25MZWZ0Q29udGVudEJveCwgc2VsZWN0ICd3YXMnIHVzaW5nIHNlbGVjdCBkcmFn
CisgICAgY29tcGFyZVNlbGVjdGlvbldpdGhUZXh0KDMyMywgNDkyLCAzNTksIDUxMCwgIid3YXMn
Iik7CisKKyAgICAvLyBSZW1vdmUgdGVzdGluZyBjb250ZW50IGZyb20gb3V0cHV0LgorICAgIHZh
ciBwb2x5Z29ucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3BvbHlnb25Db250
YWluZXInKTsKKyAgICBmb3IgKHZhciBpID0gcG9seWdvbnMubGVuZ3RoIC0xIDsgaSA+PSAwOyAt
LWkpCisgICAgICAgIHBvbHlnb25zW2ldLnJlbW92ZSgpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWNsaXAtcGF0aC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTU2
YjYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK1BBU1Mgc2VsLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgc2VsLnRv
U3RyaW5nKCkgaXMgIm9yaWdpbmF0ZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKK0FsdGhvdWdoIHRoZSBDdWx0dXJlIHdhcyBvcmlnaW5hdGVkIGJ5
IGh1bWFub2lkIHNwZWNpZXMsIHN1YnNlcXVlbnQgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgY2l2
aWxpemF0aW9ucyBoYXZlIGludHJvZHVjZWQgbWFueSBub24taHVtYW5vaWQgc3BlY2llcyBpbnRv
IHRoZSBDdWx0dXJlIChpbmNsdWRpbmcgc29tZSBmb3JtZXIgZW5lbXkgY2l2aWxpemF0aW9ucyks
IHRob3VnaCB0aGUgbWFqb3JpdHkgb2YgdGhlIGJpb2xvZ2ljYWwgQ3VsdHVyZSBpcyBzdGlsbCBw
YW4taHVtYW4uIExpdHRsZSB1bmlmb3JtaXR5IGV4aXN0cyBpbiB0aGUgQ3VsdHVyZSwgYW5kIGl0
cyBjaXRpemVucyBhcmUgc3VjaCBieSBjaG9pY2UsIGZyZWUgdG8gY2hhbmdlIHBoeXNpY2FsIGZv
cm0gYW5kIGV2ZW4gc3BlY2llcyAodGhvdWdoIHNvbWUgc3RyYW5nZXIgYmlvbG9naWNhbCBjb252
ZXJzaW9ucyBhcmUgaXJyZXZlcnNpYmxlLCBhbmQgY29udmVyc2lvbiBmcm9tIGJpb2xvZ2ljYWwg
dG8gYXJ0aWZpY2lhbCBzZW50aWVuY2UgaXMgY29uc2lkZXJlZCB0byBiZSB3aGF0IGlzIGtub3du
IGFzIGFuIFVudXN1YWwgTGlmZSBDaG9pY2UpLiBBbGwgbWVtYmVycyBhcmUgYWxzbyBmcmVlIHRv
IGpvaW4sIGxlYXZlLCBhbmQgcmVqb2luLCBvciBpbmRlZWQgZGVjbGFyZSB0aGVtc2VsdmVzIHRv
IGJlLCBzYXksIDgwJSBDdWx0dXJlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFw
ZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWNsaXAtcGF0aC1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xYWEzNGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1jbGlwLXBhdGgtc2Vs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPHN0eWxlPgorYm9keSB7CisgICAgd2lkdGg6
IDYwMHB4OworICAgIGZvbnQ6IDE4cHgvMSBBaGVtOworfQorCisjYmFja2dyb3VuZCB7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogOHB4OworICAgIGxlZnQ6IDhweDsKKyAgICB6
LWluZGV4OiAtMTsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBi
YWNrZ3JvdW5kOiBsaWdodGdyZWVuOworfQorCisjdHJpYW5nbGVMZWZ0IHsKKyAgICB3aWR0aDog
MjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBmbG9hdDogbGVmdDsKKyAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAlKTsKKyAgICAtd2Vi
a2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgNTAlLCAwIDEwMCUpOworICAgIHNoYXBl
LW1hcmdpbjogNHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKK30KKzwvc3R5bGU+
CisKKzxkaXYgaWQ9InRyaWFuZ2xlTGVmdCI+PC9kaXY+QWx0aG91Z2ggdGhlIEN1bHR1cmUgd2Fz
IG9yaWdpbmF0ZWQgYnkgaHVtYW5vaWQgc3BlY2llcywgc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMg
d2l0aCBvdGhlciBjaXZpbGl6YXRpb25zIGhhdmUgaW50cm9kdWNlZCBtYW55IG5vbi1odW1hbm9p
ZCBzcGVjaWVzIGludG8gdGhlIEN1bHR1cmUgKGluY2x1ZGluZyBzb21lIGZvcm1lciBlbmVteSBj
aXZpbGl6YXRpb25zKSwgdGhvdWdoIHRoZSBtYWpvcml0eSBvZiB0aGUgYmlvbG9naWNhbCBDdWx0
dXJlIGlzIHN0aWxsIHBhbi1odW1hbi4gTGl0dGxlIHVuaWZvcm1pdHkgZXhpc3RzIGluIHRoZSBD
dWx0dXJlLCBhbmQgaXRzIGNpdGl6ZW5zIGFyZSBzdWNoIGJ5IGNob2ljZSwgZnJlZSB0byBjaGFu
Z2UgcGh5c2ljYWwgZm9ybSBhbmQgZXZlbiBzcGVjaWVzICh0aG91Z2ggc29tZSBzdHJhbmdlciBi
aW9sb2dpY2FsIGNvbnZlcnNpb25zIGFyZSBpcnJldmVyc2libGUsIGFuZCBjb252ZXJzaW9uIGZy
b20gYmlvbG9naWNhbCB0byBhcnRpZmljaWFsIHNlbnRpZW5jZSBpcyBjb25zaWRlcmVkIHRvIGJl
IHdoYXQgaXMga25vd24gYXMgYW4gVW51c3VhbCBMaWZlIENob2ljZSkuIEFsbCBtZW1iZXJzIGFy
ZSBhbHNvIGZyZWUgdG8gam9pbiwgbGVhdmUsIGFuZCByZWpvaW4sIG9yIGluZGVlZCBkZWNsYXJl
IHRoZW1zZWx2ZXMgdG8gYmUsIHNheSwgODAlIEN1bHR1cmUuCisKKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHZhciBz
ZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpOwor
ICAgIC8vIHNlbGVjdCBwYXJ0IG9mIHRoZSBwb2x5Z29uLCBub3QgdGhlIHRleHQKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyg4MCwgMTAwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24o
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNDAsIDEwMCk7CisgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworICAgIHNob3VsZEJlKCdzZWwudG9TdHJpbmcoKScsICciIicpOworCisg
ICAgLy8gc2VsZWN0ICdvdGhlcicgdXNpbmcgc2VsZWN0IGRyYWcuCisgICAgc2VsLnJlbW92ZUFs
bFJhbmdlcygpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDgwLCA1MCk7CisgICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMjYwLCA1
MCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIC8vIHZlcmlmeSB0aGF0ICdvdGhl
cicgd2FzIHNlbGVjdGVkCisgICAgc2hvdWxkQmUoJ3NlbC50b1N0cmluZygpJywgJyJvcmlnaW5h
dGVkIicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY4N2Q5Mi4uZjQzMjhiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA1LTA1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRh
bkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBDYW4ndCBzZWxlY3QgY29udGVu
dCB3aXRoaW4gdGhlIGFyZWEgb2YgdGhlIGZsb2F0aW5nIGJveCB3aGVuIGNsaXAtcGF0aCBpcyBh
cHBsaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzEzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
Y2NvcmRpbmcgdG8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLW1hc2tpbmctMS8sIHRoZSBjbGlw
cGVkIHBhcnQgb2YgdGhlIGVsZW1lbnQgc2hvdWxkCisgICAgICAgIG5vdCBoYXZlIHBvaW50ZXIg
ZXZlbnQgZGlzcGF0Y2hpbmcuIFNvIGFkZCB0aGlzIGxvZ2ljIHRvIFJlbmRlckJsb2NrOjpub2Rl
QXRQb2ludC4gVGhpcworICAgICAgICBmaXhlcyB0aGUgYnVnIGFzIGl0IGRpc2FsbG93cyBzZWxl
Y3Rpb24gb24gYW55IGNsaXBwZWQgcGFydHMuCisKKyAgICAgICAgSSBpbXBsZW1lbnRlZCB0aGUg
cHJvcGVyIHNlbGVjdGlvbiBmb3IgdGhlIHZhcmlvdXMgQ1NTIGJveCB0eXBlcyBhbmQgYWRkZWQg
dGVzdGluZworICAgICAgICBmb3IgdGhlbS4gQWxzbywgSSBtYWRlIGFuZCBydW4gcGVyZm9ybWFu
Y2UgdGVzdHMgZm9yIGV4cG9zaW5nIG1vdXNlIGV2ZW50cyBvdmVyIHRoZQorICAgICAgICBjbGlw
cGVkL25vbi1jbGlwcGVkIGFyZWEsIHdoaWNoIHJlc3VsdHMgY2FuIGJlIHNlZW4gaW4gYnVnemls
bGEuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIG1hZGUgYnkgUm9iIEJ1aXMgPHJvYi5i
dWlzQHNhbXN1bmcuY29tPgorICAgICAgICBCbGluayByZXZpc2lvbjogaHR0cDovL3NyYy5jaHJv
bWl1bS5vcmcvdmlld3ZjL2JsaW5rP3ZpZXc9cmV2aXNpb24mcmV2aXNpb249MTcyNjE5CisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvbWFza2luZy9jbGlwLXBhdGgtc2VsZWN0aW9uLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
Y2xpcC1wYXRoLXNlbGVjdGlvbi5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KToKKwog
MjAxNC0wNS0wNSAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBb
Q1NTUmVnaW9uc10gU2xpZGVyIGRpc3BsYXllZCB3cm9uZyBpbiByZWdpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA1NWM2NTdlLi4wYzA3NWJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTI5ODYsNiArMjk4Niw0
MiBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYg
cmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKKyAgICBpZiAoc3R5bGUoKS5jbGlwUGF0aCgpKSB7CisgICAgICAgIHN3aXRjaCAoc3R5
bGUoKS5jbGlwUGF0aCgpLT50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBDbGlwUGF0aE9wZXJhdGlv
bjo6U2hhcGU6IHsKKyAgICAgICAgICAgIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb24qIGNsaXBQYXRo
ID0gdG9TaGFwZUNsaXBQYXRoT3BlcmF0aW9uKHN0eWxlKCkuY2xpcFBhdGgoKSk7CisKKyAgICAg
ICAgICAgIExheW91dFJlY3QgcmVmZXJlbmNlQm94UmVjdDsKKyAgICAgICAgICAgIHN3aXRjaCAo
Y2xpcFBhdGgtPnJlZmVyZW5jZUJveCgpKSB7CisgICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6
Ok1hcmdpbkJveDoKKyAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3hSZWN0ID0gbWFyZ2luQm94
UmVjdCgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NCb3hU
eXBlOjpCb3JkZXJCb3g6CisgICAgICAgICAgICAgICAgcmVmZXJlbmNlQm94UmVjdCA9IGJvcmRl
ckJveFJlY3QoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NT
Qm94VHlwZTo6UGFkZGluZ0JveDoKKyAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3hSZWN0ID0g
cGFkZGluZ0JveFJlY3QoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgQ1NTQm94VHlwZTo6Q29udGVudEJveDoKKyAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3hS
ZWN0ID0gY29udGVudEJveFJlY3QoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGNhc2UgQ1NTQm94VHlwZTo6Qm94TWlzc2luZzoKKyAgICAgICAgICAgIGNhc2UgQ1NTQm94
VHlwZTo6RmlsbDoKKyAgICAgICAgICAgIGNhc2UgQ1NTQm94VHlwZTo6U3Ryb2tlOgorICAgICAg
ICAgICAgY2FzZSBDU1NCb3hUeXBlOjpWaWV3Qm94OgorICAgICAgICAgICAgICAgIHJlZmVyZW5j
ZUJveFJlY3QgPSBib3JkZXJCb3hSZWN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoIWNsaXBQYXRoLT5wYXRoRm9yUmVmZXJlbmNlUmVjdChyZWZlcmVuY2VCb3hSZWN0KS5jb250
YWlucyhsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSBsb2NhbE9mZnNldCwgY2xpcFBhdGgt
PndpbmRSdWxlKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIC8vIEZJWE1FOiBoYW5kbGUgUmVmZXJlbmNlL0Jv
eAorICAgICAgICBjYXNlIENsaXBQYXRoT3BlcmF0aW9uOjpSZWZlcmVuY2U6CisgICAgICAgIGNh
c2UgQ2xpcFBhdGhPcGVyYXRpb246OkJveDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgfQorCiAgICAgLy8gSWYgd2UgaGF2ZSBjbGlwcGluZywgdGhlbiB3ZSBjYW4ndCBoYXZl
IGFueSBzcGlsbG91dC4KICAgICBib29sIHVzZU92ZXJmbG93Q2xpcCA9IGhhc092ZXJmbG93Q2xp
cCgpICYmICFoYXNTZWxmUGFpbnRpbmdMYXllcigpOwogICAgIGJvb2wgdXNlQ2xpcCA9IChoYXND
b250cm9sQ2xpcCgpIHx8IHVzZU92ZXJmbG93Q2xpcCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>