<?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>51982</bug_id>
          
          <creation_ts>2011-01-05 22:14:12 -0800</creation_ts>
          <short_desc>Shadow is not drawn when filling a path with a gradient</short_desc>
          <delta_ts>2011-01-16 02:46:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>52157</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Helder Correia">helder</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jorlow</cc>
    
    <cc>krit</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>330033</commentid>
    <comment_count>0</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-05 22:14:12 -0800</bug_when>
    <thetext>This happens in CG and seems to be the very same issue as in bug 51869, this time related to GraphicsContext::fillPath(const Path&amp; path). I&apos;ll upload a patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331093</commentid>
    <comment_count>1</comment_count>
      <attachid>78288</attachid>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-07 16:42:20 -0800</bug_when>
    <thetext>Created attachment 78288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331346</commentid>
    <comment_count>2</comment_count>
      <attachid>78288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-08 18:35:33 -0800</bug_when>
    <thetext>Comment on attachment 78288
Patch

Clearing flags on attachment: 78288

Committed r75341: &lt;http://trac.webkit.org/changeset/75341&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331347</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-08 18:35:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331350</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-08 18:53:56 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 78288:

fast/workers/storage/use-same-database-in-page-and-workers.html bug 50995 (author: dumi@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331734</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-10 11:17:50 -0800</bug_when>
    <thetext>This was rolled out by https://bugs.webkit.org/show_bug.cgi?id=52157 due to this:

The mac results on http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fbackgrounds%2Fsvg-as-background-2.html&amp;showExpectations=true&amp;master=ChromiumWebkit seem to demonstrate a real test failure.  There may have been others as well.  You can see where things broke here: http://build.chromium.org/p/chromium.webkit/waterfall?builder=Webkit%20Mac&amp;last_time=1294549999</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331818</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-10 12:10:25 -0800</bug_when>
    <thetext>Looks like the revert did indeed fix the problem.  Sorry to be the bearer of bad news!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334530</commentid>
    <comment_count>7</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-14 12:48:08 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Looks like the revert did indeed fix the problem.

Is any of the SVG folks able to help me figure out how this patch may have broken some (gradient?) functionality? Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334542</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-14 13:07:33 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Looks like the revert did indeed fix the problem.
&gt; 
&gt; Is any of the SVG folks able to help me figure out how this patch may have broken some (gradient?) functionality? Thanks

Pretty easy, on the old code you apply the path and transform the CTM afterwards. With the patch you&apos;re doing it the other way around. This can&apos;t work. Change the order for lines 596/570 with 572/573 and it will work again. I bet you get the same problems for shadowed paths. So you have to do it there as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334646</commentid>
    <comment_count>9</comment_count>
      <attachid>79008</attachid>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-14 15:05:47 -0800</bug_when>
    <thetext>Created attachment 79008
Seems to be working work now. Thanks, Dirk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334654</commentid>
    <comment_count>10</comment_count>
      <attachid>79008</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-14 15:10:18 -0800</bug_when>
    <thetext>Comment on attachment 79008
Seems to be working work now. Thanks, Dirk.

Do your previous GraphicsContext::fillRect() changes have the same issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334660</commentid>
    <comment_count>11</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-14 15:20:58 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 79008 [details])
&gt; Do your previous GraphicsContext::fillRect() changes have the same issue?

I don&apos;t think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334664</commentid>
    <comment_count>12</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-14 15:27:42 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 79008 [details] [details])
&gt; &gt; Do your previous GraphicsContext::fillRect() changes have the same issue?
&gt; 
&gt; I don&apos;t think so.

Unless I should be calling CGContextConcatCTM() after CGContextClipToRect().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334683</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 15:45:22 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 79008:

http/tests/xmlhttprequest/basic-auth.html bug 51613 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334684</commentid>
    <comment_count>14</comment_count>
      <attachid>79008</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 15:47:12 -0800</bug_when>
    <thetext>Comment on attachment 79008
Seems to be working work now. Thanks, Dirk.

Clearing flags on attachment: 79008

Committed r75833: &lt;http://trac.webkit.org/changeset/75833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334685</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 15:47:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334703</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-14 16:06:51 -0800</bug_when>
    <thetext>In GraphicsContext::fillRect(), don&apos;t you need to call CGContextConcatCTM(context, m_state.fillGradient-&gt;gradientSpaceTransform()); after setting up the layer&apos;s context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335017</commentid>
    <comment_count>17</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-15 23:32:16 -0800</bug_when>
    <thetext>Helder, can you point me to the other changes you made, that Simon mentioned? We have many failing tests on SVG (pixel tests fail). As far as I can see problems with filling and stroking tests with gradients. Because we don&apos;t see this failures in DRT, it must be problems with the drawing engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335018</commentid>
    <comment_count>18</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2011-01-16 00:16:26 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Helder, can you point me to the other changes you made, that Simon mentioned? We have many failing tests on SVG (pixel tests fail). As far as I can see problems with filling and stroking tests with gradients. Because we don&apos;t see this failures in DRT, it must be problems with the drawing engine.

Dirk, there&apos;s only r75139 and bug 52509 is waiting for a review. Let me know how I can help you further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335028</commentid>
    <comment_count>19</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-16 02:46:21 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; Helder, can you point me to the other changes you made, that Simon mentioned? We have many failing tests on SVG (pixel tests fail). As far as I can see problems with filling and stroking tests with gradients. Because we don&apos;t see this failures in DRT, it must be problems with the drawing engine.
&gt; 
&gt; Dirk, there&apos;s only r75139 and bug 52509 is waiting for a review. Let me know how I can help you further.

The change on GraphicsContextCg in r75139 looks bad. You changed the order of clipping and concatCTM. Looks like this caused the problem. I&apos;ll try it locally...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78288</attachid>
            <date>2011-01-07 16:42:20 -0800</date>
            <delta_ts>2011-01-14 15:05:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51982-20110107164219.patch</filename>
            <type>text/plain</type>
            <size>12906</size>
            <attacher name="Helder Correia">helder</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MGExMDAxYjZlM2EyYzJmYjlhZGRlNjRjMjgzYzM5NTVlM2U3MGE0Li41ZDY1MDg2
ZDQ4ZjNiYjgzMWVkZGE3NGNkM2FiZWVkODk4ZWEzYmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDEtMDcgIEhlbGRlciBDb3JyZWlhICA8aGVsZGVyQHNlbmNoYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hhZG93IGlzIG5vdCBk
cmF3biB3aGVuIGZpbGxpbmcgYSBwYXRoIHdpdGggYSBncmFkaWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE5ODIKKworICAgICAgICBUaGlzIGhh
cHBlbnMgaW4gQ0cgYW5kIGlzIHJlbGF0ZWQgdG8gYnVnIDUxODY5LCB0aGlzIHRpbWUgdG8gYmUg
Zml4ZWQKKyAgICAgICAgaW4gR3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aChjb25zdCBQYXRoJiBw
YXRoKS4gV2UgbmVlZCB0byBkcmF3IHRoZQorICAgICAgICBncmFkaWVudCBjbGlwcGVkIHRvIHRo
ZSBwYXRoIG9uIGEgQ0dMYXllciBmaXJzdCwgYW5kIHRoZW4gZHJhdyB0aGUKKyAgICAgICAgbGF5
ZXIgb24gdGhlIEdyYXBoaWNzQ29udGV4dC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZh
cy1maWxsUGF0aC1ncmFkaWVudC1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3Jh
ZGllbnQtc2hhZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQ6IFNraXBwaW5nIG5ldyB0ZXN0IHNpbmNlIGl0IGZhaWxzLgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6IERpdHRvLgorCiAyMDEwLTEyLTI4ICBaaGVueWFv
IE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNz
ZWxsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQYXRo
LWdyYWRpZW50LXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MmViYmRiOTZlOTE3OTJkYjEwMjQwOGU5NTRjNjhkNzBmMDc3YjY3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRv
dy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5NyBAQAorRW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Ig
b2YgY2FudmFzIHdpdGggZmlsbFBhdGggdXNpbmcgYSBncmFkaWVudCBmaWxsU3R5bGUgYW5kIGEg
c2hhZG93CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitWZXJpZnlpbmcgYWxwaGEg
c2hhZG93Li4uCitQQVNTIGRhdGFbMF0gaXMgMAorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0
YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgMAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBk
YXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0
CitQQVNTIGRhdGFbMF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlz
IDAKK1BBU1MgZGF0YVszXSBpcyBhcm91bmQgNjQKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1Mg
ZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCA2
NAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBp
cyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0CisgCitWZXJpZnlpbmcgYmx1cnJ5IHNoYWRv
dy4uLgorUEFTUyBkYXRhWzBdIGlzIDAKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0g
aXMgMAorUEFTUyBkYXRhWzNdIGlzIDAKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsx
XSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCAzMQorUEFT
UyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAwCitQ
QVNTIGRhdGFbM10gaXMgYXJvdW5kIDMxCitQQVNTIGRhdGFbMF0gaXMgMjU1CitQQVNTIGRhdGFb
MV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0YVszXSBpcyBhcm91bmQgMzEKK1BB
U1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAor
UEFTUyBkYXRhWzNdIGlzIGFyb3VuZCAzMQorIAorVmVyaWZ5aW5nIHJvdGF0ZWQgYWxwaGEgc2hh
ZG93Li4uCitQQVNTIGRhdGFbMF0gaXMgMAorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsy
XSBpcyAwCitQQVNTIGRhdGFbM10gaXMgMAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRh
WzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0CitQ
QVNTIGRhdGFbMF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAK
K1BBU1MgZGF0YVszXSBpcyBhcm91bmQgNjQKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0
YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCA2NAor
UEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAw
CitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0CisgCitWZXJpZnlpbmcgcm90YXRlZCBibHVycnkg
c2hhZG93Li4uCitQQVNTIGRhdGFbMF0gaXMgMAorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0
YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgMAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBk
YXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDMx
CitQQVNTIGRhdGFbMF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlz
IDAKK1BBU1MgZGF0YVszXSBpcyBhcm91bmQgMzEKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1Mg
ZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCAz
MQorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBp
cyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDMxCisgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNkMjMyMGQ1NjUxZWQ5ZTRhY2YyNWY3NGYyN2FmMWIyMTAyMGIzNzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZmlsbFBhdGgtZ3JhZGll
bnQtc2hhZG93Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hh
ZG93LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hh
ZG93LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1maWxs
UGF0aC1ncmFkaWVudC1zaGFkb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQwYWM2MGUwNDhmMjYxMzU1NjZm
MjAwNWZhOTBiMzkwYmI1YjA2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93LmpzCkBA
IC0wLDAgKzEsMTE4IEBACitkZXNjcmlwdGlvbigiRW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Igb2Yg
Y2FudmFzIHdpdGggZmlsbFBhdGggdXNpbmcgYSBncmFkaWVudCBmaWxsU3R5bGUgYW5kIGEgc2hh
ZG93Iik7CisKK2Z1bmN0aW9uIHByaW50KG1lc3NhZ2UsIGNvbG9yKQoreworICAgIHZhciBwYXJh
Z3JhcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJhZ3JhcGguYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOworICAgIHBhcmFncmFw
aC5zdHlsZS5mb250RmFtaWx5ID0gIm1vbm9zcGFjZSI7CisgICAgaWYgKGNvbG9yKQorICAgICAg
ICBwYXJhZ3JhcGguc3R5bGUuY29sb3IgPSBjb2xvcjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7Cit9CisKK2Z1bmN0aW9uIHNo
b3VsZEJlQXJvdW5kKGEsIGIpCit7CisgICAgdmFyIGV2YWxBOworICAgIHRyeSB7CisgICAgICAg
IGV2YWxBID0gZXZhbChhKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgZXZhbEEgPSBlOwor
ICAgIH0KKworICAgIGlmIChNYXRoLmFicyhldmFsQSAtIGIpIDwgMTUpCisgICAgICAgIHByaW50
KCJQQVNTICIgKyBhICsgIiBpcyBhcm91bmQgIiArIGIgLCAiZ3JlZW4iKQorICAgIGVsc2UKKyAg
ICAgICAgcHJpbnQoIkZBSUwgIiArIGEgKyAiIGlzIG5vdCBhcm91bmQgIiArIGIgKyAiIChhY3R1
YWw6ICIgKyBldmFsQSArICIpIiwgInJlZCIpOworfQorCit2YXIgY2FudmFzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNhbnZh
cyk7CitjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICc2MDAnKTsKK2NhbnZhcy5zZXRBdHRy
aWJ1dGUoJ2hlaWdodCcsICcxMTAwJyk7Cit2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CisKK3ZhciBncmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAzMDAs
IDApOworZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICdyZ2JhKDAsIDAsIDI1NSwgMC41KScpOwor
Z3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICdyZ2JhKDAsIDAsIDI1NSwgMC41KScpOworCitjdHgu
c2F2ZSgpOworY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OworY3R4LnNoYWRvd0NvbG9yID0gJ3Jn
YmEoMjU1LCAwLCAwLCAwLjUpJzsKK2N0eC5zaGFkb3dPZmZzZXRYID0gMjUwOworCitmdW5jdGlv
biBmaWxsU2hhcGUoeCwgeSkgeworICAgIGN0eC5iZWdpblBhdGgoKTsKKyAgICBjdHguYXJjKHgs
IHksIDEwMCwgMCwgTWF0aC5QSSoyLCB0cnVlKTsKKyAgICBjdHguYXJjKHgsIHksIDUwLCAgMCwg
TWF0aC5QSSoyLCBmYWxzZSk7CisgICAgY3R4LmZpbGwoKTsKK30KKworLy8gQWxwaGEgc2hhZG93
LgorY3R4LnNoYWRvd0JsdXIgPSAwOworZmlsbFNoYXBlKDE1MCwgMTUwKTsKKworLy8gQmx1cnJ5
IHNoYWRvdy4KK2N0eC5zaGFkb3dCbHVyID0gMTA7CitmaWxsU2hhcGUoMTUwLCA0MDApOworCitj
dHgucm90YXRlKE1hdGguUEkvMik7CisKKy8vIFJvdGF0ZWQgYWxwaGEgc2hhZG93LgorY3R4LnNo
YWRvd0JsdXIgPSAwOworZmlsbFNoYXBlKDY1MCwgLTE1MCk7CisKKy8vIFJvdGF0ZWQgYmx1cnJ5
IHNoYWRvdy4KK2N0eC5zaGFkb3dCbHVyID0gMTA7CitmaWxsU2hhcGUoOTAwLCAtMTUwKTsKKwor
Y3R4LnJlc3RvcmUoKTsKKwordmFyIGltYWdlRGF0YSwgZGF0YTsKK2N0eC5maWxsU3R5bGUgPSAn
YmxhY2snOworCitmdW5jdGlvbiB0ZXN0KGFscGhhVGVzdEZ1bmN0aW9uLCB4LCB5LCByLCBnLCBi
LCBhKSB7CisgICAgLy8gR2V0IHBpeGVsLgorICAgIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURh
dGEoeCwgeSwgMSwgMSk7CisgICAgZGF0YSA9IGltYWdlRGF0YS5kYXRhOworICAgIC8vIFRlc3Qg
cGl4ZWwgY29sb3IgY29tcG9uZW50cy4KKyAgICBzaG91bGRCZSgnZGF0YVswXScsIHIrJycpOwor
ICAgIHNob3VsZEJlKCdkYXRhWzFdJywgZysnJyk7CisgICAgc2hvdWxkQmUoJ2RhdGFbMl0nLCBi
KycnKTsKKyAgICBhbHBoYVRlc3RGdW5jdGlvbignZGF0YVszXScsIGErJycpOworICAgIC8vIFBs
b3QgdGVzdCBwb2ludC4KKyAgICBjdHguZmlsbFJlY3QoeCwgeSwgMywgMyk7Cit9CisKK3ByaW50
KCdWZXJpZnlpbmcgYWxwaGEgc2hhZG93Li4uJyk7Cit0ZXN0KHNob3VsZEJlLCA0MDAsIDE1MCwg
MCwgMCwgMCwgMCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDc1LCAyNTUsICAwLCAwLCA2
NCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDIyNSwgMjU1LCAwLCAwLCA2NCk7Cit0ZXN0
KHNob3VsZEJlQXJvdW5kLCAzMjUsIDE1MCwgMjU1LCAwLCAwLCA2NCk7Cit0ZXN0KHNob3VsZEJl
QXJvdW5kLCA0NzUsIDE1MCwgMjU1LCAwLCAwLCA2NCk7CisKK3ByaW50KCcgJyk7CitwcmludCgn
VmVyaWZ5aW5nIGJsdXJyeSBzaGFkb3cuLi4nKTsKK3Rlc3Qoc2hvdWxkQmUsIDQwMCwgNDAwLCAw
LCAwLCAwLCAwKTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDQwMCwgMzAwLCAyNTUsIDAsIDAsIDMx
KTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDQwMCwgNTAwLCAyNTUsIDAsIDAsIDMxKTsKK3Rlc3Qo
c2hvdWxkQmVBcm91bmQsIDMwMCwgNDAwLCAyNTUsIDAsIDAsIDMxKTsKK3Rlc3Qoc2hvdWxkQmVB
cm91bmQsIDUwMCwgNDAwLCAyNTUsIDAsIDAsIDMxKTsKKworcHJpbnQoJyAnKTsKK3ByaW50KCdW
ZXJpZnlpbmcgcm90YXRlZCBhbHBoYSBzaGFkb3cuLi4nKTsKK3Rlc3Qoc2hvdWxkQmUsIDQwMCwg
NjUwLCAwLCAwLCAwLCAwKTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDQwMCwgNTc1LCAyNTUsIDAs
IDAsIDY0KTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDQwMCwgNzI1LCAyNTUsIDAsIDAsIDY0KTsK
K3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDMyNSwgNjUwLCAyNTUsIDAsIDAsIDY0KTsKK3Rlc3Qoc2hv
dWxkQmVBcm91bmQsIDQ3NSwgNjUwLCAyNTUsIDAsIDAsIDY0KTsKKworcHJpbnQoJyAnKTsKK3By
aW50KCdWZXJpZnlpbmcgcm90YXRlZCBibHVycnkgc2hhZG93Li4uJyk7Cit0ZXN0KHNob3VsZEJl
LCA0MDAsIDkwMCwgMCwgMCwgMCwgMCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDgwMCwg
MjU1LCAwLCAwLCAzMSk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDEwMDAsIDI1NSwgMCwg
MCwgMzEpOwordGVzdChzaG91bGRCZUFyb3VuZCwgMzAwLCA5MDAsIDI1NSwgMCwgMCwgMzEpOwor
dGVzdChzaG91bGRCZUFyb3VuZCwgNTAwLCA5MDAsIDI1NSwgMCwgMCwgMzEpOworCitwcmludCgn
ICcpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggOTFmOTQ2ZDJk
ZWM1YTk5YmFkYWFjNDhkNGVhNzk4OTRiYmQyOTcwYy4uYTFhYzc2ZjY0ZDNjNGFlNDU3ZTMwNWQ5
NzQyNDE4Y2M4ZjUyN2I0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMTMyNiw2ICsxMzI2LDcgQEAgQlVHQ1IyMzQ3
NyBNQUMgOiBmYXN0L2NhbnZhcy9jYW52YXMtYXMtaW1hZ2UtaW5jcmVtZW50YWwtcmVwYWludC5o
dG1sID0gSU1BR0UKIEJVR0NSMjM0NzcgTUFDIDogZmFzdC9jYW52YXMvY2FudmFzLWluY3JlbWVu
dGFsLXJlcGFpbnQuaHRtbCA9IElNQUdFCiBCVUdDUjIzNDc3IE1BQyA6IGZhc3QvY2FudmFzL2Zp
bGwtc3Ryb2tlLWNsaXAtcmVzZXQtcGF0aC5odG1sID0gSU1BR0UKIEJVR0NSMjM0NzcgTUFDIDog
ZmFzdC9keW5hbWljL2NvbnRhaW5pbmctYmxvY2stY2hhbmdlLmh0bWwgPSBJTUFHRQorQlVHV0s1
MTk4MiA6IGZhc3QvY2FudmFzL2NhbnZhcy1maWxsUGF0aC1ncmFkaWVudC1zaGFkb3cuaHRtbCA9
IEZBSUwKIAogLy8gVW5leHBlY3RlZCBncmF5CiBCVUdDUjIzNDc2IE1BQyA6IGZhc3QvZm9ybXMv
bGlzdGJveC1jbGlwLmh0bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMGM4
NzZjNTk1OGRkNTFlMDA3ZTY3ZDU5OTczZDgxYjhkZTljMTcwZC4uMGNmYzQ4OTM3N2U0ZjY0Yjli
YzZmMzhlM2JkNjdjMmQ2ODU5ODdlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yMzY3
LDYgKzIzNjcsNyBAQCBmYXN0L3RleHQvbGFyZ2UtdGV4dC1jb21wb3NlZC1jaGFyLWRvcy5odG1s
CiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC8wMDIuaHRtbAogZmFzdC9ibG9jay9wb3NpdGlvbmlu
Zy9hYnNvbHV0ZS1pbi1pbmxpbmUtcnRsLTQuaHRtbAogZmFzdC9jYW52YXMvY2FudmFzLWdyYWRp
ZW50LWFkZFN0b3AtZXJyb3IuaHRtbAorZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQYXRoLWdyYWRp
ZW50LXNoYWRvdy5odG1sCiBmYXN0L2Nzcy96b29tLWJvZHktc2Nyb2xsLmh0bWwKIGZhc3QvZG9t
L0VsZW1lbnQvZ2V0Qm91bmRpbmdDbGllbnRSZWN0Lmh0bWwKIGZhc3QvZG9tL0VsZW1lbnQvZ2V0
Q2xpZW50UmVjdHMuaHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBkYTlmNmE0ZWU5MDQ2M2Q3NDI3MjYxNDZjOTBlYmQwY2VlMmM5NzYz
Li40ZjEwMmQ0ZDQyMmRkYzA0OWQ5MjhkNDVhYmY5OTI1OWFlODVlYjIwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDExLTAxLTA3ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlckBzZW5jaGEuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoYWRvdyBpcyBub3Qg
ZHJhd24gd2hlbiBmaWxsaW5nIGEgcGF0aCB3aXRoIGEgZ3JhZGllbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxOTgyCisKKyAgICAgICAgVGhpcyBo
YXBwZW5zIGluIENHIGFuZCBpcyByZWxhdGVkIHRvIGJ1ZyA1MTg2OSwgdGhpcyB0aW1lIHRvIGJl
IGZpeGVkCisgICAgICAgIGluIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoY29uc3QgUGF0aCYg
cGF0aCkuIFdlIG5lZWQgdG8gZHJhdyB0aGUKKyAgICAgICAgZ3JhZGllbnQgY2xpcHBlZCB0byB0
aGUgcGF0aCBvbiBhIENHTGF5ZXIgZmlyc3QsIGFuZCB0aGVuIGRyYXcgdGhlCisgICAgICAgIGxh
eWVyIG9uIHRoZSBHcmFwaGljc0NvbnRleHQuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMv
Y2FudmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQ6OmZpbGxQYXRoKToKKwogMjAxMC0xMi0yOCAgWmhlbnlhbyBNbyAgPHpt
b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAK
aW5kZXggYWNkOTEyZjUwMTEyZjc1OGUyZmFlNTczMzM2M2JjZDgyNWY3NjA5ZC4uNDFlY2I2ZjU0
NGI4NzJhNmFkYTQ3NzNmMTY1Mzg4NWE2ZWJhOWY3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTU0NiwyMSArNTQ2LDQ3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aChjb25zdCBQYXRoJiBwYXRoKQogCiAg
ICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKIAotICAgIENHQ29u
dGV4dEJlZ2luUGF0aChjb250ZXh0KTsKLSAgICBDR0NvbnRleHRBZGRQYXRoKGNvbnRleHQsIHBh
dGgucGxhdGZvcm1QYXRoKCkpOwotCiAgICAgaWYgKG1fc3RhdGUuZmlsbEdyYWRpZW50KSB7Ci0g
ICAgICAgIENHQ29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7Ci0gICAgICAgIGlmIChmaWxsUnVs
ZSgpID09IFJVTEVfRVZFTk9ERCkKLSAgICAgICAgICAgIENHQ29udGV4dEVPQ2xpcChjb250ZXh0
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgQ0dDb250ZXh0Q2xpcChjb250ZXh0KTsKLSAg
ICAgICAgQ0dDb250ZXh0Q29uY2F0Q1RNKGNvbnRleHQsIG1fc3RhdGUuZmlsbEdyYWRpZW50LT5n
cmFkaWVudFNwYWNlVHJhbnNmb3JtKCkpOwotICAgICAgICBtX3N0YXRlLmZpbGxHcmFkaWVudC0+
cGFpbnQodGhpcyk7Ci0gICAgICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7Cisg
ICAgICAgIGlmIChoYXNTaGFkb3coKSkgeworICAgICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBw
YXRoLmJvdW5kaW5nUmVjdCgpOworICAgICAgICAgICAgQ0dMYXllclJlZiBsYXllciA9IENHTGF5
ZXJDcmVhdGVXaXRoQ29udGV4dChjb250ZXh0LCBDR1NpemVNYWtlKHJlY3Qud2lkdGgoKSwgcmVj
dC5oZWlnaHQoKSksIDApOworICAgICAgICAgICAgQ0dDb250ZXh0UmVmIGxheWVyQ29udGV4dCA9
IENHTGF5ZXJHZXRDb250ZXh0KGxheWVyKTsKKworICAgICAgICAgICAgQ0dDb250ZXh0VHJhbnNs
YXRlQ1RNKGxheWVyQ29udGV4dCwgLXJlY3QueCgpLCAtcmVjdC55KCkpOworICAgICAgICAgICAg
Q0dDb250ZXh0Q29uY2F0Q1RNKGxheWVyQ29udGV4dCwgbV9zdGF0ZS5maWxsR3JhZGllbnQtPmdy
YWRpZW50U3BhY2VUcmFuc2Zvcm0oKSk7CisgICAgICAgICAgICBDR0NvbnRleHRCZWdpblBhdGgo
bGF5ZXJDb250ZXh0KTsKKyAgICAgICAgICAgIENHQ29udGV4dEFkZFBhdGgobGF5ZXJDb250ZXh0
LCBwYXRoLnBsYXRmb3JtUGF0aCgpKTsKKworICAgICAgICAgICAgaWYgKGZpbGxSdWxlKCkgPT0g
UlVMRV9FVkVOT0REKQorICAgICAgICAgICAgICAgIENHQ29udGV4dEVPQ2xpcChsYXllckNvbnRl
eHQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIENHQ29udGV4dENsaXAobGF5
ZXJDb250ZXh0KTsKKworICAgICAgICAgICAgbV9zdGF0ZS5maWxsR3JhZGllbnQtPnBhaW50KGxh
eWVyQ29udGV4dCk7CisgICAgICAgICAgICBDR0NvbnRleHREcmF3TGF5ZXJBdFBvaW50KGNvbnRl
eHQsIENHUG9pbnRNYWtlKHJlY3QubGVmdCgpLCByZWN0LnRvcCgpKSwgbGF5ZXIpOworICAgICAg
ICAgICAgQ0dMYXllclJlbGVhc2UobGF5ZXIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKKyAgICAgICAgICAgIENHQ29udGV4dENv
bmNhdENUTShjb250ZXh0LCBtX3N0YXRlLmZpbGxHcmFkaWVudC0+Z3JhZGllbnRTcGFjZVRyYW5z
Zm9ybSgpKTsKKworICAgICAgICAgICAgQ0dDb250ZXh0QmVnaW5QYXRoKGNvbnRleHQpOworICAg
ICAgICAgICAgQ0dDb250ZXh0QWRkUGF0aChjb250ZXh0LCBwYXRoLnBsYXRmb3JtUGF0aCgpKTsK
KworICAgICAgICAgICAgaWYgKGZpbGxSdWxlKCkgPT0gUlVMRV9FVkVOT0REKQorICAgICAgICAg
ICAgICAgIENHQ29udGV4dEVPQ2xpcChjb250ZXh0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBDR0NvbnRleHRDbGlwKGNvbnRleHQpOworCisgICAgICAgICAgICBtX3N0YXRl
LmZpbGxHcmFkaWVudC0+cGFpbnQodGhpcyk7CisgICAgICAgICAgICBDR0NvbnRleHRSZXN0b3Jl
R1N0YXRlKGNvbnRleHQpOworICAgICAgICB9CisKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAor
ICAgIENHQ29udGV4dEJlZ2luUGF0aChjb250ZXh0KTsKKyAgICBDR0NvbnRleHRBZGRQYXRoKGNv
bnRleHQsIHBhdGgucGxhdGZvcm1QYXRoKCkpOworCiAgICAgaWYgKG1fc3RhdGUuZmlsbFBhdHRl
cm4pCiAgICAgICAgIGFwcGx5RmlsbFBhdHRlcm4oKTsKICAgICBmaWxsUGF0aFdpdGhGaWxsUnVs
ZShjb250ZXh0LCBmaWxsUnVsZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79008</attachid>
            <date>2011-01-14 15:05:47 -0800</date>
            <delta_ts>2011-01-14 15:47:12 -0800</delta_ts>
            <desc>Seems to be working work now. Thanks, Dirk.</desc>
            <filename>bug-51982-20110114150544.patch</filename>
            <type>text/plain</type>
            <size>12986</size>
            <attacher name="Helder Correia">helder</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYjFmM2RkNzdjMmZlMjAxYjczNmNjM2RmMjcwMTUxMGI5ODc2MzNjLi45MWUxNTY2
NDI2NTc0YzU3YWM2MzRlNmIzMzRmMzM1ZThkNWUwYjBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDEtMTQgIEhlbGRlciBDb3JyZWlhICA8aGVsZGVyQHNlbmNoYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hhZG93IGlzIG5vdCBk
cmF3biB3aGVuIGZpbGxpbmcgYSBwYXRoIHdpdGggYSBncmFkaWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE5ODIKKworICAgICAgICBUaGlzIGhh
cHBlbnMgaW4gQ0cgYW5kIGlzIHJlbGF0ZWQgdG8gYnVnIDUxODY5LCB0aGlzIHRpbWUgdG8gYmUg
Zml4ZWQKKyAgICAgICAgaW4gR3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aChjb25zdCBQYXRoJiBw
YXRoKS4gV2UgbmVlZCB0byBkcmF3IHRoZQorICAgICAgICBncmFkaWVudCBjbGlwcGVkIHRvIHRo
ZSBwYXRoIG9uIGEgQ0dMYXllciBmaXJzdCwgYW5kIHRoZW4gZHJhdyB0aGUKKyAgICAgICAgbGF5
ZXIgb24gdGhlIEdyYXBoaWNzQ29udGV4dC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZh
cy1maWxsUGF0aC1ncmFkaWVudC1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3Jh
ZGllbnQtc2hhZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQ6IFNraXBwaW5nIG5ldyB0ZXN0IHNpbmNlIGl0IGZhaWxzLgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6IERpdHRvLgorCiAyMDExLTAxLTEyICBIYXlhdG8g
SXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3QgZXhw
ZWN0YXRpb25zIGZpbGVzIGZpeC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2NhbnZhcy1maWxsUGF0aC1ncmFkaWVudC1zaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTJlYmJkYjk2ZTkxNzkyZGIxMDI0MDhlOTU0YzY4ZDcwZjA3N2I2Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1maWxsUGF0
aC1ncmFkaWVudC1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOTcgQEAKK0Vuc3VyZSBj
b3JyZWN0IGJlaGF2aW9yIG9mIGNhbnZhcyB3aXRoIGZpbGxQYXRoIHVzaW5nIGEgZ3JhZGllbnQg
ZmlsbFN0eWxlIGFuZCBhIHNoYWRvdworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
VmVyaWZ5aW5nIGFscGhhIHNoYWRvdy4uLgorUEFTUyBkYXRhWzBdIGlzIDAKK1BBU1MgZGF0YVsx
XSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIDAKK1BBU1MgZGF0YVsw
XSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRh
WzNdIGlzIGFyb3VuZCA2NAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAK
K1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0CitQQVNTIGRhdGFb
MF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0
YVszXSBpcyBhcm91bmQgNjQKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAw
CitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCA2NAorIAorVmVyaWZ5
aW5nIGJsdXJyeSBzaGFkb3cuLi4KK1BBU1MgZGF0YVswXSBpcyAwCitQQVNTIGRhdGFbMV0gaXMg
MAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0YVszXSBpcyAwCitQQVNTIGRhdGFbMF0gaXMg
MjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0YVszXSBp
cyBhcm91bmQgMzEKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNT
IGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCAzMQorUEFTUyBkYXRhWzBdIGlz
IDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10g
aXMgYXJvdW5kIDMxCitQQVNTIGRhdGFbMF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFT
UyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0YVszXSBpcyBhcm91bmQgMzEKKyAKK1ZlcmlmeWluZyBy
b3RhdGVkIGFscGhhIHNoYWRvdy4uLgorUEFTUyBkYXRhWzBdIGlzIDAKK1BBU1MgZGF0YVsxXSBp
cyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIDAKK1BBU1MgZGF0YVswXSBp
cyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNd
IGlzIGFyb3VuZCA2NAorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAKK1BB
U1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDY0CitQQVNTIGRhdGFbMF0g
aXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0YVsz
XSBpcyBhcm91bmQgNjQKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQ
QVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCA2NAorIAorVmVyaWZ5aW5n
IHJvdGF0ZWQgYmx1cnJ5IHNoYWRvdy4uLgorUEFTUyBkYXRhWzBdIGlzIDAKK1BBU1MgZGF0YVsx
XSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIDAKK1BBU1MgZGF0YVsw
XSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAwCitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRh
WzNdIGlzIGFyb3VuZCAzMQorUEFTUyBkYXRhWzBdIGlzIDI1NQorUEFTUyBkYXRhWzFdIGlzIDAK
K1BBU1MgZGF0YVsyXSBpcyAwCitQQVNTIGRhdGFbM10gaXMgYXJvdW5kIDMxCitQQVNTIGRhdGFb
MF0gaXMgMjU1CitQQVNTIGRhdGFbMV0gaXMgMAorUEFTUyBkYXRhWzJdIGlzIDAKK1BBU1MgZGF0
YVszXSBpcyBhcm91bmQgMzEKK1BBU1MgZGF0YVswXSBpcyAyNTUKK1BBU1MgZGF0YVsxXSBpcyAw
CitQQVNTIGRhdGFbMl0gaXMgMAorUEFTUyBkYXRhWzNdIGlzIGFyb3VuZCAzMQorIAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1maWxsUGF0aC1ncmFkaWVudC1zaGFkb3cu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1maWxsUGF0aC1ncmFkaWVudC1z
aGFkb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDIzMjBkNTY1MWVkOWU0YWNmMjVmNzRmMjdhZjFiMjEw
MjBiMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFz
LWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2FudmFzLWZpbGxQ
YXRoLWdyYWRpZW50LXNoYWRvdy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWZpbGxQ
YXRoLWdyYWRpZW50LXNoYWRvdy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10
ZXN0cy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMGFj
NjBlMDQ4ZjI2MTM1NTY2ZjIwMDVmYTkwYjM5MGJiNWIwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWZpbGxQYXRoLWdyYWRp
ZW50LXNoYWRvdy5qcwpAQCAtMCwwICsxLDExOCBAQAorZGVzY3JpcHRpb24oIkVuc3VyZSBjb3Jy
ZWN0IGJlaGF2aW9yIG9mIGNhbnZhcyB3aXRoIGZpbGxQYXRoIHVzaW5nIGEgZ3JhZGllbnQgZmls
bFN0eWxlIGFuZCBhIHNoYWRvdyIpOworCitmdW5jdGlvbiBwcmludChtZXNzYWdlLCBjb2xvcikK
K3sKKyAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2Up
KTsKKyAgICBwYXJhZ3JhcGguc3R5bGUuZm9udEZhbWlseSA9ICJtb25vc3BhY2UiOworICAgIGlm
IChjb2xvcikKKyAgICAgICAgcGFyYWdyYXBoLnN0eWxlLmNvbG9yID0gY29sb3I7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChwYXJhZ3JhcGgpOwor
fQorCitmdW5jdGlvbiBzaG91bGRCZUFyb3VuZChhLCBiKQoreworICAgIHZhciBldmFsQTsKKyAg
ICB0cnkgeworICAgICAgICBldmFsQSA9IGV2YWwoYSk7CisgICAgfSBjYXRjaChlKSB7CisgICAg
ICAgIGV2YWxBID0gZTsKKyAgICB9CisKKyAgICBpZiAoTWF0aC5hYnMoZXZhbEEgLSBiKSA8IDE1
KQorICAgICAgICBwcmludCgiUEFTUyAiICsgYSArICIgaXMgYXJvdW5kICIgKyBiICwgImdyZWVu
IikKKyAgICBlbHNlCisgICAgICAgIHByaW50KCJGQUlMICIgKyBhICsgIiBpcyBub3QgYXJvdW5k
ICIgKyBiICsgIiAoYWN0dWFsOiAiICsgZXZhbEEgKyAiKSIsICJyZWQiKTsKK30KKwordmFyIGNh
bnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChjYW52YXMpOworY2FudmFzLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnNjAwJyk7
CitjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMTEwMCcpOwordmFyIGN0eCA9IGNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZ3JhZGllbnQgPSBjdHguY3JlYXRlTGluZWFyR3Jh
ZGllbnQoMCwgMCwgMzAwLCAwKTsKK2dyYWRpZW50LmFkZENvbG9yU3RvcCgwLCAncmdiYSgwLCAw
LCAyNTUsIDAuNSknKTsKK2dyYWRpZW50LmFkZENvbG9yU3RvcCgxLCAncmdiYSgwLCAwLCAyNTUs
IDAuNSknKTsKKworY3R4LnNhdmUoKTsKK2N0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKK2N0eC5z
aGFkb3dDb2xvciA9ICdyZ2JhKDI1NSwgMCwgMCwgMC41KSc7CitjdHguc2hhZG93T2Zmc2V0WCA9
IDI1MDsKKworZnVuY3Rpb24gZmlsbFNoYXBlKHgsIHkpIHsKKyAgICBjdHguYmVnaW5QYXRoKCk7
CisgICAgY3R4LmFyYyh4LCB5LCAxMDAsIDAsIE1hdGguUEkqMiwgdHJ1ZSk7CisgICAgY3R4LmFy
Yyh4LCB5LCA1MCwgIDAsIE1hdGguUEkqMiwgZmFsc2UpOworICAgIGN0eC5maWxsKCk7Cit9CisK
Ky8vIEFscGhhIHNoYWRvdy4KK2N0eC5zaGFkb3dCbHVyID0gMDsKK2ZpbGxTaGFwZSgxNTAsIDE1
MCk7CisKKy8vIEJsdXJyeSBzaGFkb3cuCitjdHguc2hhZG93Qmx1ciA9IDEwOworZmlsbFNoYXBl
KDE1MCwgNDAwKTsKKworY3R4LnJvdGF0ZShNYXRoLlBJLzIpOworCisvLyBSb3RhdGVkIGFscGhh
IHNoYWRvdy4KK2N0eC5zaGFkb3dCbHVyID0gMDsKK2ZpbGxTaGFwZSg2NTAsIC0xNTApOworCisv
LyBSb3RhdGVkIGJsdXJyeSBzaGFkb3cuCitjdHguc2hhZG93Qmx1ciA9IDEwOworZmlsbFNoYXBl
KDkwMCwgLTE1MCk7CisKK2N0eC5yZXN0b3JlKCk7CisKK3ZhciBpbWFnZURhdGEsIGRhdGE7Citj
dHguZmlsbFN0eWxlID0gJ2JsYWNrJzsKKworZnVuY3Rpb24gdGVzdChhbHBoYVRlc3RGdW5jdGlv
biwgeCwgeSwgciwgZywgYiwgYSkgeworICAgIC8vIEdldCBwaXhlbC4KKyAgICBpbWFnZURhdGEg
PSBjdHguZ2V0SW1hZ2VEYXRhKHgsIHksIDEsIDEpOworICAgIGRhdGEgPSBpbWFnZURhdGEuZGF0
YTsKKyAgICAvLyBUZXN0IHBpeGVsIGNvbG9yIGNvbXBvbmVudHMuCisgICAgc2hvdWxkQmUoJ2Rh
dGFbMF0nLCByKycnKTsKKyAgICBzaG91bGRCZSgnZGF0YVsxXScsIGcrJycpOworICAgIHNob3Vs
ZEJlKCdkYXRhWzJdJywgYisnJyk7CisgICAgYWxwaGFUZXN0RnVuY3Rpb24oJ2RhdGFbM10nLCBh
KycnKTsKKyAgICAvLyBQbG90IHRlc3QgcG9pbnQuCisgICAgY3R4LmZpbGxSZWN0KHgsIHksIDMs
IDMpOworfQorCitwcmludCgnVmVyaWZ5aW5nIGFscGhhIHNoYWRvdy4uLicpOwordGVzdChzaG91
bGRCZSwgNDAwLCAxNTAsIDAsIDAsIDAsIDApOwordGVzdChzaG91bGRCZUFyb3VuZCwgNDAwLCA3
NSwgMjU1LCAgMCwgMCwgNjQpOwordGVzdChzaG91bGRCZUFyb3VuZCwgNDAwLCAyMjUsIDI1NSwg
MCwgMCwgNjQpOwordGVzdChzaG91bGRCZUFyb3VuZCwgMzI1LCAxNTAsIDI1NSwgMCwgMCwgNjQp
OwordGVzdChzaG91bGRCZUFyb3VuZCwgNDc1LCAxNTAsIDI1NSwgMCwgMCwgNjQpOworCitwcmlu
dCgnICcpOworcHJpbnQoJ1ZlcmlmeWluZyBibHVycnkgc2hhZG93Li4uJyk7Cit0ZXN0KHNob3Vs
ZEJlLCA0MDAsIDQwMCwgMCwgMCwgMCwgMCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDMw
MCwgMjU1LCAwLCAwLCAzMSk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDUwMCwgMjU1LCAw
LCAwLCAzMSk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCAzMDAsIDQwMCwgMjU1LCAwLCAwLCAzMSk7
Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA1MDAsIDQwMCwgMjU1LCAwLCAwLCAzMSk7CisKK3ByaW50
KCcgJyk7CitwcmludCgnVmVyaWZ5aW5nIHJvdGF0ZWQgYWxwaGEgc2hhZG93Li4uJyk7Cit0ZXN0
KHNob3VsZEJlLCA0MDAsIDY1MCwgMCwgMCwgMCwgMCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0
MDAsIDU3NSwgMjU1LCAwLCAwLCA2NCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0MDAsIDcyNSwg
MjU1LCAwLCAwLCA2NCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCAzMjUsIDY1MCwgMjU1LCAwLCAw
LCA2NCk7Cit0ZXN0KHNob3VsZEJlQXJvdW5kLCA0NzUsIDY1MCwgMjU1LCAwLCAwLCA2NCk7CisK
K3ByaW50KCcgJyk7CitwcmludCgnVmVyaWZ5aW5nIHJvdGF0ZWQgYmx1cnJ5IHNoYWRvdy4uLicp
OwordGVzdChzaG91bGRCZSwgNDAwLCA5MDAsIDAsIDAsIDAsIDApOwordGVzdChzaG91bGRCZUFy
b3VuZCwgNDAwLCA4MDAsIDI1NSwgMCwgMCwgMzEpOwordGVzdChzaG91bGRCZUFyb3VuZCwgNDAw
LCAxMDAwLCAyNTUsIDAsIDAsIDMxKTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDMwMCwgOTAwLCAy
NTUsIDAsIDAsIDMxKTsKK3Rlc3Qoc2hvdWxkQmVBcm91bmQsIDUwMCwgOTAwLCAyNTUsIDAsIDAs
IDMxKTsKKworcHJpbnQoJyAnKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IGFjYWViZTA3M2ZmZTAyOWRjN2E1M2MzMTdlNDQxNGI5MjIxMjVmZmYuLjA1Y2U3MWIz
ZjZjYWM2MzBhYzMzZmE5Y2Q4NmZmNjllZTgyNDZlMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTEyOTgsNiArMTI5
OCw3IEBAIEJVR0NSMjM0NzcgTUFDIDogZmFzdC9jYW52YXMvY2FudmFzLWFzLWltYWdlLWluY3Jl
bWVudGFsLXJlcGFpbnQuaHRtbCA9IElNQUdFCiBCVUdDUjIzNDc3IE1BQyA6IGZhc3QvY2FudmFz
L2NhbnZhcy1pbmNyZW1lbnRhbC1yZXBhaW50Lmh0bWwgPSBJTUFHRQogQlVHQ1IyMzQ3NyBNQUMg
OiBmYXN0L2NhbnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0LXBhdGguaHRtbCA9IElNQUdFCiBC
VUdDUjIzNDc3IE1BQyA6IGZhc3QvZHluYW1pYy9jb250YWluaW5nLWJsb2NrLWNoYW5nZS5odG1s
ID0gSU1BR0UKK0JVR1dLNTE5ODIgTElOVVggV0lOIDogZmFzdC9jYW52YXMvY2FudmFzLWZpbGxQ
YXRoLWdyYWRpZW50LXNoYWRvdy5odG1sID0gRkFJTAogCiAvLyBVbmV4cGVjdGVkIGdyYXkKIEJV
R0NSMjM0NzYgTUFDIDogZmFzdC9mb3Jtcy9saXN0Ym94LWNsaXAuaHRtbCA9IElNQUdFCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZAppbmRleCBiMmJiZGNmMjNhNDkxZjUyMzM0ZGI1ZjhiNzEzY2Q3Nzlh
NWJjZjc2Li40M2I0ODI5NmQxNzA1YTI0MzM4YzhhMGRjODI2MjZkMzhiMDFmOTE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQKQEAgLTIzNjYsNiArMjM2Niw3IEBAIGZhc3QvdGV4dC9sYXJnZS10
ZXh0LWNvbXBvc2VkLWNoYXItZG9zLmh0bWwKIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsLzAwMi5o
dG1sCiBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2Fic29sdXRlLWluLWlubGluZS1ydGwtNC5odG1s
CiBmYXN0L2NhbnZhcy9jYW52YXMtZ3JhZGllbnQtYWRkU3RvcC1lcnJvci5odG1sCitmYXN0L2Nh
bnZhcy9jYW52YXMtZmlsbFBhdGgtZ3JhZGllbnQtc2hhZG93Lmh0bWwKIGZhc3QvY3NzL3pvb20t
Ym9keS1zY3JvbGwuaHRtbAogZmFzdC9kb20vRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3Qu
aHRtbAogZmFzdC9kb20vRWxlbWVudC9nZXRDbGllbnRSZWN0cy5odG1sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzkxNWFjN2ZmMGI1YjU2NzI2MmM3ZDk0M2NmMzc1ZTYxOTEwMzM4MC4uNTRkODJkOTk3NWE3NDMx
NTU1M2M4NjBkOTY4ZGMzMDFkMzcyZmFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisy
MDExLTAxLTE0ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlckBzZW5jaGEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoYWRvdyBpcyBub3QgZHJh
d24gd2hlbiBmaWxsaW5nIGEgcGF0aCB3aXRoIGEgZ3JhZGllbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxOTgyCisKKyAgICAgICAgVGhpcyBoYXBw
ZW5zIGluIENHIGFuZCBpcyByZWxhdGVkIHRvIGJ1ZyA1MTg2OSwgdGhpcyB0aW1lIHRvIGJlIGZp
eGVkCisgICAgICAgIGluIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoY29uc3QgUGF0aCYgcGF0
aCkuIFdlIG5lZWQgdG8gZHJhdyB0aGUKKyAgICAgICAgZ3JhZGllbnQgY2xpcHBlZCB0byB0aGUg
cGF0aCBvbiBhIENHTGF5ZXIgZmlyc3QsIGFuZCB0aGVuIGRyYXcgdGhlCisgICAgICAgIGxheWVy
IG9uIHRoZSBHcmFwaGljc0NvbnRleHQuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2Fu
dmFzLWZpbGxQYXRoLWdyYWRpZW50LXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQ6OmZpbGxQYXRoKToKKwogMjAxMS0wMS0xMiAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAppbmRleCBhY2Q5MTJmNTAxMTJmNzU4ZTJmYWU1NzMzMzYzYmNkODI1Zjc2MDlk
Li5lZGRmNzM1NDY3MTFiYjI3ZTgwNzJlY2IzMDFjOTRhNzk2ZDZkYTRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0
Q0cuY3BwCkBAIC01NDYsMjEgKzU0Niw0NiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBh
dGgoY29uc3QgUGF0aCYgcGF0aCkKIAogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZv
cm1Db250ZXh0KCk7CiAKLSAgICBDR0NvbnRleHRCZWdpblBhdGgoY29udGV4dCk7Ci0gICAgQ0dD
b250ZXh0QWRkUGF0aChjb250ZXh0LCBwYXRoLnBsYXRmb3JtUGF0aCgpKTsKLQogICAgIGlmICht
X3N0YXRlLmZpbGxHcmFkaWVudCkgewotICAgICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRl
eHQpOwotICAgICAgICBpZiAoZmlsbFJ1bGUoKSA9PSBSVUxFX0VWRU5PREQpCi0gICAgICAgICAg
ICBDR0NvbnRleHRFT0NsaXAoY29udGV4dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIENH
Q29udGV4dENsaXAoY29udGV4dCk7Ci0gICAgICAgIENHQ29udGV4dENvbmNhdENUTShjb250ZXh0
LCBtX3N0YXRlLmZpbGxHcmFkaWVudC0+Z3JhZGllbnRTcGFjZVRyYW5zZm9ybSgpKTsKLSAgICAg
ICAgbV9zdGF0ZS5maWxsR3JhZGllbnQtPnBhaW50KHRoaXMpOwotICAgICAgICBDR0NvbnRleHRS
ZXN0b3JlR1N0YXRlKGNvbnRleHQpOworICAgICAgICBpZiAoaGFzU2hhZG93KCkpIHsKKyAgICAg
ICAgICAgIEZsb2F0UmVjdCByZWN0ID0gcGF0aC5ib3VuZGluZ1JlY3QoKTsKKyAgICAgICAgICAg
IENHTGF5ZXJSZWYgbGF5ZXIgPSBDR0xheWVyQ3JlYXRlV2l0aENvbnRleHQoY29udGV4dCwgQ0dT
aXplTWFrZShyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpLCAwKTsKKyAgICAgICAgICAgIENH
Q29udGV4dFJlZiBsYXllckNvbnRleHQgPSBDR0xheWVyR2V0Q29udGV4dChsYXllcik7CisKKyAg
ICAgICAgICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShsYXllckNvbnRleHQsIC1yZWN0LngoKSwg
LXJlY3QueSgpKTsKKyAgICAgICAgICAgIENHQ29udGV4dEJlZ2luUGF0aChsYXllckNvbnRleHQp
OworICAgICAgICAgICAgQ0dDb250ZXh0QWRkUGF0aChsYXllckNvbnRleHQsIHBhdGgucGxhdGZv
cm1QYXRoKCkpOworICAgICAgICAgICAgQ0dDb250ZXh0Q29uY2F0Q1RNKGxheWVyQ29udGV4dCwg
bV9zdGF0ZS5maWxsR3JhZGllbnQtPmdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oKSk7CisKKyAgICAg
ICAgICAgIGlmIChmaWxsUnVsZSgpID09IFJVTEVfRVZFTk9ERCkKKyAgICAgICAgICAgICAgICBD
R0NvbnRleHRFT0NsaXAobGF5ZXJDb250ZXh0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBDR0NvbnRleHRDbGlwKGxheWVyQ29udGV4dCk7CisKKyAgICAgICAgICAgIG1fc3Rh
dGUuZmlsbEdyYWRpZW50LT5wYWludChsYXllckNvbnRleHQpOworICAgICAgICAgICAgQ0dDb250
ZXh0RHJhd0xheWVyQXRQb2ludChjb250ZXh0LCBDR1BvaW50TWFrZShyZWN0LmxlZnQoKSwgcmVj
dC50b3AoKSksIGxheWVyKTsKKyAgICAgICAgICAgIENHTGF5ZXJSZWxlYXNlKGxheWVyKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIENHQ29udGV4dEJlZ2luUGF0aChjb250ZXh0KTsK
KyAgICAgICAgICAgIENHQ29udGV4dEFkZFBhdGgoY29udGV4dCwgcGF0aC5wbGF0Zm9ybVBhdGgo
KSk7CisgICAgICAgICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOworICAgICAgICAg
ICAgQ0dDb250ZXh0Q29uY2F0Q1RNKGNvbnRleHQsIG1fc3RhdGUuZmlsbEdyYWRpZW50LT5ncmFk
aWVudFNwYWNlVHJhbnNmb3JtKCkpOworCisgICAgICAgICAgICBpZiAoZmlsbFJ1bGUoKSA9PSBS
VUxFX0VWRU5PREQpCisgICAgICAgICAgICAgICAgQ0dDb250ZXh0RU9DbGlwKGNvbnRleHQpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIENHQ29udGV4dENsaXAoY29udGV4dCk7
CisKKyAgICAgICAgICAgIG1fc3RhdGUuZmlsbEdyYWRpZW50LT5wYWludCh0aGlzKTsKKyAgICAg
ICAgICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7CisgICAgICAgIH0KKwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCisgICAgQ0dDb250ZXh0QmVnaW5QYXRoKGNvbnRleHQpOwor
ICAgIENHQ29udGV4dEFkZFBhdGgoY29udGV4dCwgcGF0aC5wbGF0Zm9ybVBhdGgoKSk7CisKICAg
ICBpZiAobV9zdGF0ZS5maWxsUGF0dGVybikKICAgICAgICAgYXBwbHlGaWxsUGF0dGVybigpOwog
ICAgIGZpbGxQYXRoV2l0aEZpbGxSdWxlKGNvbnRleHQsIGZpbGxSdWxlKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>