<?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>138439</bug_id>
          
          <creation_ts>2014-11-05 14:40:26 -0800</creation_ts>
          <short_desc>Revert a change in SVGRenderSupport::mapLocalToContainer committed for fixing &lt;https://bugs.webkit.org/show_bug.cgi?id=119626&gt;</short_desc>
          <delta_ts>2015-02-16 15:19:40 -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>SVG</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1046605</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-11-05 14:40:26 -0800</bug_when>
    <thetext>The original fix &lt;https://bugs.webkit.org/show_bug.cgi?id=119626&gt; was just porting the Blink fix &lt;https://codereview.chromium.org/143363004&gt;.  This change causes the WebKit search in SVG to be broken.  And it was also reverted from Blink because it broke their SVG rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046993</commentid>
    <comment_count>1</comment_count>
      <attachid>241153</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-11-06 18:17:05 -0800</bug_when>
    <thetext>Created attachment 241153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046998</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-11-06 18:23:03 -0800</bug_when>
    <thetext>*** Bug 119626 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046999</commentid>
    <comment_count>3</comment_count>
      <attachid>241153</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-06 18:27:20 -0800</bug_when>
    <thetext>Comment on attachment 241153
Patch

This patch needs a layout test (or two).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048606</commentid>
    <comment_count>4</comment_count>
      <attachid>241530</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-11-13 19:26:00 -0800</bug_when>
    <thetext>Created attachment 241530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048607</commentid>
    <comment_count>5</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-11-13 19:31:15 -0800</bug_when>
    <thetext>After talking to Simon, he agreed on not submitting more layout tests. The original fix submitted the test svg/transforms/svg-geometry-crash.html which was firing an assertion. To revert the fix and keep the test, I had to come with the right fix which fixes the assertion and does not break the layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069119</commentid>
    <comment_count>6</comment_count>
      <attachid>246575</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-02-13 21:13:45 -0800</bug_when>
    <thetext>Created attachment 246575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069152</commentid>
    <comment_count>7</comment_count>
      <attachid>246575</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-13 22:17:52 -0800</bug_when>
    <thetext>Comment on attachment 246575
Patch

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

&gt; Source/WebCore/rendering/svg/SVGRenderSupport.cpp:94
&gt; +        transform = downcast&lt;RenderSVGRoot&gt;(parent).localToBorderBoxTransform() * renderer.localToParentTransform();

What is renderer.localToParentTransform() for the SVG root? I&apos;m confused that you need both this and localToBorderBoxTransform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069326</commentid>
    <comment_count>8</comment_count>
      <attachid>246623</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-02-15 14:55:53 -0800</bug_when>
    <thetext>Created attachment 246623
Example</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069327</commentid>
    <comment_count>9</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-02-15 14:56:52 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 246575 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=246575&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/svg/SVGRenderSupport.cpp:94
&gt; &gt; +        transform = downcast&lt;RenderSVGRoot&gt;(parent).localToBorderBoxTransform() * renderer.localToParentTransform();
&gt; 
&gt; What is renderer.localToParentTransform() for the SVG root? I&apos;m confused
&gt; that you need both this and localToBorderBoxTransform.

Consider the following example (attached):

&lt;html&gt;
&lt;head&gt;
  &lt;style&gt;
  svg {
    width: 200px;
    height: 200px;
    background-color: lime;
  }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;200&quot; height=&quot;200&quot; viewbox=&quot;-100 -100 200 200&quot;&gt;
    &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;orange&quot;/&gt;
	&lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; transform=&quot;translate(50,50) scale(0.5, 0.5)&quot; fill=&quot;red&quot;/&gt;
  &lt;/svg&gt;
&lt;/body&gt;
&lt;/html&gt;

To get the localToParentTransform for a point in the red rectangle you need to do the following:
-- Get localToParentTransform in SVG coordinate which is:
   = translate(50,50) * scale(0.5, 0.5)
-- Since the parent is the SVG root, we need to map from SVG coordinates to the css coordinates. And since the viewbox=&quot;-100 -100 200 200&quot;, the localToBorderBoxTransform of the SVG root is:
   = translate(100, 100).
-- So the localToParentTransform of a point in the red rectangle is css coordinate is:
   = translate(100, 100) * translate(50, 50) * scale(0.5, 0.5)
   = translate(150, 150) * scale(0.5, 0.5)

As a concrete example, let&apos;s map the center of the red rectangle from local coordinate (which is in SVG coordinates) to parent css coordinates.

-- The center of the red rectangle in local SVG coordinates is:
   p1 = (50,50)
-- Map p1 from local SVG coordinates to parent SVG coordinates:
   p2 = translate(50, 50) * scale(0.5, 0.5) * p1 = (75,75)
-- Map p2 from parent SVG coordinates to CSS coordinates:
   p3 = translate(100, 100) * p2 = (175,175)

which is the correct mapping.

Also notice that SVGRenderSupport::mapLocalToContainer() and SVGRenderSupport::pushMappingToContainer() handle the children SVG elements only. 
RenderSVGRoot does not call these methods and implements its own ones which expect local css box coordinates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069328</commentid>
    <comment_count>10</comment_count>
      <attachid>246624</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-02-15 14:58:00 -0800</bug_when>
    <thetext>Created attachment 246624
Example</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069592</commentid>
    <comment_count>11</comment_count>
      <attachid>246575</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-16 14:28:26 -0800</bug_when>
    <thetext>Comment on attachment 246575
Patch

Rejecting attachment 246575 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 246575, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/6731636418805760</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069595</commentid>
    <comment_count>12</comment_count>
      <attachid>246684</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-02-16 14:33:39 -0800</bug_when>
    <thetext>Created attachment 246684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069617</commentid>
    <comment_count>13</comment_count>
      <attachid>246684</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-16 15:19:33 -0800</bug_when>
    <thetext>Comment on attachment 246684
Patch

Clearing flags on attachment: 246684

Committed r180179: &lt;http://trac.webkit.org/changeset/180179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069618</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-16 15:19:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241153</attachid>
            <date>2014-11-06 18:17:05 -0800</date>
            <delta_ts>2014-11-13 19:25:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138439-20141106181716.patch</filename>
            <type>text/plain</type>
            <size>4439</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTczMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE0LTExLTA2ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IGEg
Y2hhbmdlIGluIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIgY29tbWl0dGVk
IGZvciA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTYyNj4uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0MzkuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByb2Js
ZW1hdGljIGNoYW5nZSB3YXMgcG9ydGVkIGZyb20gQmxpbms6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIwMjcuCisgICAgICAgIEl0IHdhcyB3YXMgcmV2ZXJ0ZWQg
YnkgQmxpbmsgYmVjYXVzZSBpdCBicm9rZSB0aGVpciBTVkcgcmVuZGVyaW5nLiBJdCBhbHNvIGNh
dXNlZAorICAgICAgICB0aGUgV2ViS2l0IFNWRyBzZWFyY2ggdG8gYmUgYnJva2VuLgorCisgICAg
ICAgIFRlc3RzOiBzdmcvdHJhbnNmb3Jtcy9zdmctZ2VvbWV0cnktY3Jhc2guaHRtbCBjb3ZlcnMg
dGhpcyBpc3N1ZS4gUmV2ZXJ0aW5nIHRoZSAKKyAgICAgICAgICAgICAgIG9yaWdpbmFsIGNoYW5n
ZSByZXF1aXJlZCBmaW5kaW5nIGEgbmV3IHNvbHV0aW9uIHRvIGZpeCB0aGUgYXNzZXJ0aW9uLgor
ICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwOgor
ICAgICAgICAKKyAgICAgICAgVGhlIG9yaWdpbmFsIGNvZGUgb2YgdGhpcyBmdW5jdGlvbiB3YXMg
Y29ycmVjdC4gVG8gbWFwIGZyb20gbG9jYWwgU1ZHIGNvb3JkaW5hdGVzCisgICAgICAgIHRvIHRo
ZSBjb250YWluZXIgY29vcmRpbmF0ZSwgd2UgaGF2ZSB0byBkbyB0aGUgZm9sbG93aW5nIGluIG9y
ZGVyOgorICAgICAgICAgICAgLSBNYXAgZnJvbSBTVkcgbG9jYWwgY29vcmRpbmF0ZXMgdG8gU1ZH
IHBhcmVudCBjb29yZGluYXRlcy4KKyAgICAgICAgICAgIC0gSWYgdGhlIHBhcmVudCBpcyB0aGUg
U1ZHIHJvb3QsIG1hcCBmcm9tIFNWRyBjb29yZGluYXRlcyB0byBDU1MgY29vcmRpbmF0ZXMuCisg
ICAgICAgICAgICAtIE1hcCBmcm9tIHRoZSBwYXJlbnQgY29vcmRpbmF0ZXMgKGVpdGhlciBTVkcg
b3IgQ1NTIGNvb3JkaW5hdGVzKSB0byB0aGUKKyAgICAgICAgICAgICAgY29udGFpbmVyIGNvb3Jk
aW5hdGVzLgorICAgICAgICBEb2luZyB0aGUgbWFwcGluZyBmcm9tIFNWRyBjb29yZGluYXRlcyB0
byBDU1MgY29vcmRpbmF0ZXMgYmVmb3JlIGRvaW5nIHRoZQorICAgICAgICBtYXBwaW5nIGZyb20g
bG9jYWwgU1ZHIHRvIHBhcmVudCBTVkcgd2FzIHdyb25nLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UmVuZGVyU3VwcG9ydDo6bWFwTG9jYWxUb0NvbnRhaW5lcik6CisgICAgICAgIAorICAgICAgICBU
aGUgbWFwcGluZyBsaXN0IG1haW50YWluZWQgYnkgUmVuZGVyR2VvbWV0cnlNYXAgbWFwcyBmcm9t
IGxvY2FsIHRvIHBhcmVudC4gVGhpcworICAgICAgICBtYXBwaW5nIGxpc3QgaXMgdXNlZCBpbiBS
ZW5kZXJHZW9tZXRyeU1hcDo6bWFwVG9Db250YWluZXIoKSBieSBnb2luZyBiYWNrd2FyZCBhbmQK
KyAgICAgICAgZG9pbmcgdGhlIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBmcm9tIHRoZSBsZWZ0IChp
LmUuIHBhcmVudF90cmFuc2Zvcm0gKiB0cmFuc2Zvcm0pCisgICAgICAgIHRvIGRvIHRoZSBtYXBw
aW5nIGZyb20gbG9jYWwgdG8gY29udGFpbmVyLgorICAgICAgICBJbiBTVkdSZW5kZXJTdXBwb3J0
OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKCksIHdlIHdhbnQgdG8gY2FsY3VsYXRlIHRoZSB0cmFu
c2Zvcm0KKyAgICAgICAgdGhhdCBtYXBzIGxvY2FsIHRvIHBhcmVudC4gSWYgdGhlIHBhcmVudCBp
cyB0aGUgU1ZHIHJvb3Qgd2Ugd2FudCB0byB0cmFuc2ZlciBmcm9tCisgICAgICAgIFNWRyBjb29y
ZGluYXRlcyB0byBDU1MgY29vcmRpbmF0ZXMgYWZ0ZXIgd2UgZG8gdGhlIGxvY2FsIHRvIHBhcmVu
dCBtYXBwaW5nLiBUbyBkbworICAgICAgICB0aGF0IHdlIG5lZWQgdG8gZ2V0ID0gc3ZnX3RvX2Nz
c19tYXBwaW5nICogbG9jYWxfdG9fcGFyZW50X21hcHBpbmcgd2hpY2ggbWVhbnMgd2UKKyAgICAg
ICAgbmVlZCB0byBnZXQgZG93bmNhc3Q8UmVuZGVyU1ZHUm9vdD4ocGFyZW50KS5sb2NhbFRvQm9y
ZGVyQm94VHJhbnNmb3JtKCkgKgorICAgICAgICByZW5kZXJlci5sb2NhbFRvUGFyZW50VHJhbnNm
b3JtKCkuIFdlIG5lZWQgdG8gcmV2ZXJzZSB0aGUgb3JkZXIgb2YgbXVsdGlwbGljYXRpb24uCisg
ICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVy
KToKKwogMjAxNC0xMS0wNiAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IHR5cG8gaW4gb3B0aW1pemVkIGZ1bGxzY3JlZW4gYWN0aXZhdGlvbi4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNw
cAkocmV2aXNpb24gMTc1NDg1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsOCBAQCB2b2lkIFNW
R1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVGbG9hdFJlY3RGCiAKIHZvaWQgU1ZHUmVuZGVyU3VwcG9y
dDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29u
c3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3Rh
dGUmIHRyYW5zZm9ybVN0YXRlLCBib29sKiB3YXNGaXhlZCkKIHsKKyAgICB0cmFuc2Zvcm1TdGF0
ZS5hcHBseVRyYW5zZm9ybShyZW5kZXJlci5sb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkpOworCiAg
ICAgQVNTRVJUKHJlbmRlcmVyLnBhcmVudCgpKTsKICAgICBhdXRvJiBwYXJlbnQgPSAqcmVuZGVy
ZXIucGFyZW50KCk7CiAgICAgCkBAIC05NCw4ICs5Niw2IEBAIHZvaWQgU1ZHUmVuZGVyU3VwcG9y
dDo6bWFwTG9jYWxUb0NvbnRhaW4KICAgICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocGFyZW50KSkK
ICAgICAgICAgdHJhbnNmb3JtU3RhdGUuYXBwbHlUcmFuc2Zvcm0oZG93bmNhc3Q8UmVuZGVyU1ZH
Um9vdD4ocGFyZW50KS5sb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtKCkpOwogCi0gICAgdHJhbnNm
b3JtU3RhdGUuYXBwbHlUcmFuc2Zvcm0ocmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgp
KTsKLQogICAgIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IFVzZVRyYW5zZm9ybXM7CiAgICAg
cGFyZW50Lm1hcExvY2FsVG9Db250YWluZXIocmVwYWludENvbnRhaW5lciwgdHJhbnNmb3JtU3Rh
dGUsIG1vZGUsIHdhc0ZpeGVkKTsKIH0KQEAgLTExMSw4ICsxMTEsOCBAQCBjb25zdCBSZW5kZXJF
bGVtZW50KiBTVkdSZW5kZXJTdXBwb3J0OjpwCiAgICAgLy8gdG8gbWFwIGFuIGVsZW1lbnQgZnJv
bSBTVkcgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8gQ1NTIGJveCBjb29yZGluYXRlcy4KICAgICAv
LyBSZW5kZXJTVkdSb290J3MgbWFwTG9jYWxUb0NvbnRhaW5lciBtZXRob2QgZXhwZWN0cyBDU1Mg
Ym94IGNvb3JkaW5hdGVzLgogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihwYXJlbnQpKSB7Ci0g
ICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeChyZW5kZXJlci5sb2NhbFRvUGFyZW50
VHJhbnNmb3JtKCkpOwotICAgICAgICBtYXRyaXgubXVsdGlwbHkoZG93bmNhc3Q8UmVuZGVyU1ZH
Um9vdD4ocGFyZW50KS5sb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtKCkpOworICAgICAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXgoZG93bmNhc3Q8UmVuZGVyU1ZHUm9vdD4ocGFyZW50KS5s
b2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtKCkpOworICAgICAgICBtYXRyaXgubXVsdGlwbHkocmVu
ZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKICAgICAgICAgZ2VvbWV0cnlNYXAucHVz
aCgmcmVuZGVyZXIsIG1hdHJpeCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGdlb21ldHJ5TWFwLnB1
c2goJnJlbmRlcmVyLCByZW5kZXJlci5sb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241530</attachid>
            <date>2014-11-13 19:26:00 -0800</date>
            <delta_ts>2015-02-13 21:13:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138439-20141113192607.patch</filename>
            <type>text/plain</type>
            <size>4476</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE0LTExLTEzICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IGEg
Y2hhbmdlIGluIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIgY29tbWl0dGVk
IGZvciA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTYyNj4uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0MzkuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByb2Js
ZW1hdGljIGNoYW5nZSB3YXMgcG9ydGVkIGZyb20gQmxpbms6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIwMjcuCisgICAgICAgIExhdGVyIGl0IHdhcyByZXZlcnRl
ZCBieSBCbGluayBiZWNhdXNlIGl0IGJyb2tlIENocm9tZSBTVkcgcmVuZGVyaW5nLiBJdCBhbHNv
CisgICAgICAgIGNhdXNlZCB0aGUgV2ViS2l0IFNWRyBzZWFyY2ggaGlnaGxpZ2h0aW5nIHRvIGJl
IGJyb2tlbi4KKworICAgICAgICBUZXN0czogc3ZnL3RyYW5zZm9ybXMvc3ZnLWdlb21ldHJ5LWNy
YXNoLmh0bWwgY292ZXJzIHRoaXMgaXNzdWUuIFJldmVydGluZyB0aGUgCisgICAgICAgICAgICAg
ICBvcmlnaW5hbCBjaGFuZ2UgcmVxdWlyZWQgZmluZGluZyBhIG5ldyBzb2x1dGlvbiB0byBmaXgg
dGhlIGFzc2VydGlvbi4KKyAgICAgICAgCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5k
ZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgCisgICAgICAgIFRoZSBvcmlnaW5hbCBjb2RlIG9mIHRo
aXMgZnVuY3Rpb24gd2FzIGNvcnJlY3QuIFRvIG1hcCBmcm9tIGxvY2FsIFNWRyBjb29yZGluYXRl
cworICAgICAgICB0byB0aGUgY29udGFpbmVyIGNvb3JkaW5hdGUsIHdlIGhhdmUgdG8gZG8gdGhl
IGZvbGxvd2luZyBpbiBvcmRlcjoKKyAgICAgICAgICAgIC0gTWFwIGZyb20gU1ZHIGxvY2FsIGNv
b3JkaW5hdGVzIHRvIFNWRyBwYXJlbnQgY29vcmRpbmF0ZXMuCisgICAgICAgICAgICAtIElmIHRo
ZSBwYXJlbnQgaXMgdGhlIFNWRyByb290LCBtYXAgZnJvbSBTVkcgY29vcmRpbmF0ZXMgdG8gQ1NT
IGNvb3JkaW5hdGVzLgorICAgICAgICAgICAgLSBNYXAgZnJvbSB0aGUgcGFyZW50IGNvb3JkaW5h
dGVzIChlaXRoZXIgU1ZHIG9yIENTUyBjb29yZGluYXRlcykgdG8gdGhlCisgICAgICAgICAgICAg
IGNvbnRhaW5lciBjb29yZGluYXRlcy4KKyAgICAgICAgRG9pbmcgdGhlIG1hcHBpbmcgZnJvbSBT
VkcgY29vcmRpbmF0ZXMgdG8gQ1NTIGNvb3JkaW5hdGVzIGJlZm9yZSBkb2luZyB0aGUKKyAgICAg
ICAgbWFwcGluZyBmcm9tIGxvY2FsIFNWRyB0byBwYXJlbnQgU1ZHIHdhcyB3cm9uZy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIpOgorICAg
ICAgICAKKyAgICAgICAgVGhlIG1hcHBpbmcgbGlzdCB3aGljaCBpcyBtYWludGFpbmVkIGJ5IFJl
bmRlckdlb21ldHJ5TWFwIG1hcHMgZnJvbSBsb2NhbCB0bworICAgICAgICBwYXJlbnQuIFRoaXMg
bGlzdCBpcyB1c2VkIGluIFJlbmRlckdlb21ldHJ5TWFwOjptYXBUb0NvbnRhaW5lcigpIGJ5IGdv
aW5nIGZyb20KKyAgICAgICAgYm90dG9tIHRvIHRvcCBhbmQgZG9pbmcgdGhlIG1hdHJpeCBtdWx0
aXBsaWNhdGlvbiBmcm9tIHRoZSBsZWZ0IChpLmUuIAorICAgICAgICBwYXJlbnRfdHJhbnNmb3Jt
ICogdHJhbnNmb3JtKS4KKyAgICAgICAgSW4gU1ZHUmVuZGVyU3VwcG9ydDo6cHVzaE1hcHBpbmdU
b0NvbnRhaW5lcigpLCB3ZSB3YW50IHRvIGNhbGN1bGF0ZSB0aGUgdHJhbnNmb3JtCisgICAgICAg
IHRoYXQgbWFwcyBsb2NhbCB0byBwYXJlbnQuIElmIHRoZSBwYXJlbnQgaXMgdGhlIFNWRyByb290
IHdlIHdhbnQgdG8gdHJhbnNmZXIgZnJvbQorICAgICAgICBTVkcgY29vcmRpbmF0ZXMgdG8gQ1NT
IGNvb3JkaW5hdGVzIGFmdGVyIHdlIGRvIHRoZSBsb2NhbCB0byBwYXJlbnQgbWFwcGluZy4gVG8g
ZG8KKyAgICAgICAgdGhhdCB3ZSBuZWVkIHRvIGdldCA9IHN2Z190b19jc3NfbWFwcGluZyAqIGxv
Y2FsX3RvX3BhcmVudF9tYXBwaW5nIHdoaWNoIG1lYW5zIHdlCisgICAgICAgIG5lZWQgdG8gZ2V0
IGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxUb0JvcmRlckJveFRyYW5zZm9y
bSgpICoKKyAgICAgICAgcmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpLiBTbyB3ZSBu
ZWVkIHRvIHJldmVyc2UgdGhlIG9yZGVyIG9mIG11bHRpcGxpY2F0aW9uCisgICAgICAgIGluIHRo
aXMgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjpwdXNoTWFw
cGluZ1RvQ29udGFpbmVyKToKKwogMjAxNC0xMS0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRXhwb3NlIHVzZXIgc2NyaXB0IG1l
c3NhZ2VzIHRvIEdPYmplY3QgRE9NIGJpbmRpbmdzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDE3NjAyMikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDggQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0Ojpjb21w
dXRlRmxvYXRSZWN0RgogCiB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWlu
ZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwg
Ym9vbCogd2FzRml4ZWQpCiB7CisgICAgdHJhbnNmb3JtU3RhdGUuYXBwbHlUcmFuc2Zvcm0ocmVu
ZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKKwogICAgIEFTU0VSVChyZW5kZXJlci5w
YXJlbnQoKSk7CiAgICAgYXV0byYgcGFyZW50ID0gKnJlbmRlcmVyLnBhcmVudCgpOwogICAgIApA
QCAtOTQsOCArOTYsNiBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWlu
CiAgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkpCiAgICAgICAgIHRyYW5zZm9ybVN0
YXRlLmFwcGx5VHJhbnNmb3JtKGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxU
b0JvcmRlckJveFRyYW5zZm9ybSgpKTsKIAotICAgIHRyYW5zZm9ybVN0YXRlLmFwcGx5VHJhbnNm
b3JtKHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSk7Ci0KICAgICBNYXBDb29yZGlu
YXRlc0ZsYWdzIG1vZGUgPSBVc2VUcmFuc2Zvcm1zOwogICAgIHBhcmVudC5tYXBMb2NhbFRvQ29u
dGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2RlLCB3YXNGaXhlZCk7
CiB9CkBAIC0xMTEsOCArMTExLDggQEAgY29uc3QgUmVuZGVyRWxlbWVudCogU1ZHUmVuZGVyU3Vw
cG9ydDo6cAogICAgIC8vIHRvIG1hcCBhbiBlbGVtZW50IGZyb20gU1ZHIHZpZXdwb3J0IGNvb3Jk
aW5hdGVzIHRvIENTUyBib3ggY29vcmRpbmF0ZXMuCiAgICAgLy8gUmVuZGVyU1ZHUm9vdCdzIG1h
cExvY2FsVG9Db250YWluZXIgbWV0aG9kIGV4cGVjdHMgQ1NTIGJveCBjb29yZGluYXRlcy4KICAg
ICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocGFyZW50KSkgewotICAgICAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBtYXRyaXgocmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKLSAgICAg
ICAgbWF0cml4Lm11bHRpcGx5KGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxU
b0JvcmRlckJveFRyYW5zZm9ybSgpKTsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0
cml4KGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxUb0JvcmRlckJveFRyYW5z
Zm9ybSgpKTsKKyAgICAgICAgbWF0cml4Lm11bHRpcGx5KHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRU
cmFuc2Zvcm0oKSk7CiAgICAgICAgIGdlb21ldHJ5TWFwLnB1c2goJnJlbmRlcmVyLCBtYXRyaXgp
OwogICAgIH0gZWxzZQogICAgICAgICBnZW9tZXRyeU1hcC5wdXNoKCZyZW5kZXJlciwgcmVuZGVy
ZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246575</attachid>
            <date>2015-02-13 21:13:45 -0800</date>
            <delta_ts>2015-02-16 14:33:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138439-20150213211343.patch</filename>
            <type>text/plain</type>
            <size>6332</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDA5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE1LTAyLTEzICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IGEg
Y2hhbmdlIGluIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIgY29tbWl0dGVk
IGZvciBmaXhpbmcgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk2
MjY+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4
NDM5CisKKyAgICAgICAgVGhlIGNoYW5nZSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8xNjQ4NjEgd2FzIHBvcnRlZCBmcm9tIEJsaW5rCisgICAgICAgIGJ1dCBpdCB3YXMgd2FzIHJl
dmVydCBsYXRlciBiZWNhdXNlIGl0IGJyb2tlIENocm9tZSBTVkcgcmVuZGVyaW5nLiBJdCBhbHNv
CisgICAgICAgIGJyb2tlIHRoZSBXZWJLaXQgU1ZHIHRleHQgc2VhcmNoIGhpZ2hsaWdodGluZy4K
KyAgICAgICAgCisgICAgICAgIFRlc3RzOiBzdmcvdHJhbnNmb3Jtcy9zdmctZ2VvbWV0cnktY3Jh
c2guaHRtbDogVGhpcyB0ZXN0IHdhcyBhZGRlZCBieSB0aGUKKyAgICAgICAgYmxhbWVkIGNoYW5n
ZS4gQSBuZXcgYnV0IGNvcnJlY3Qgc29sdXRpb24gaXMgcmVxdWlyZWQgdG8gZml4IHRoZSBhc3Nl
cnRpb24uCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAgICBOb3Rp
Y2UgdGhhdCBUcmFuc2Zvcm1TdGF0ZS5hcHBseVRyYW5zZm9ybSgpIGRvZXMgbWF0cml4LWxlZnQt
bXVsdGlwbGljYXRpb24sCisgICAgICAgIGkuZS4gc3RhdGUgPSB0cmFuc2Zvcm0gKiBzdGF0ZS4g
QnV0IG9wZXJhdG9yKigpIG9mIEFmZmluZVRyYW5zZm9ybSBhbmQKKyAgICAgICAgTWF0cml4VHJh
bnNmb3JtICBkb2VzIHJpZ2h0IG11bHRpcGx5LCBpLmUuIHRoaXMgPSB0aGlzICogdHJhbnNmb3Jt
LgorICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmxvY2FsVG9Q
YXJlbnRUcmFuc2Zvcm0pOiBIYXZlIHRoZSBjYWxjdWxhdGlvbgorICAgICAgICBvZiB0aGUgU1ZH
IGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0gaW4gb25lIHNoYXJlZCBmdW5jdGlvbi4KKyAgICAgICAg
CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVy
KTogUmV2ZXJ0IHRoZSBCbGluayBjaGFuZ2UuCisgICAgICAgIElmIHRoZSBwYXJlbnQgaXMgdGhl
IFNWRyByb290LCB0aGUgdHJhbnNmb3JtIHN0YXRlIHNob3VsZCBiZSBlcXVhbCB0bworICAgICAg
ICB0cmFuc2Zvcm0gPSBzdmdfdG9fY3NzX21hcHBpbmcgKiBsb2NhbF90b19wYXJlbnRfbWFwcGlu
ZyAqIHRyYW5zZm9ybS4KKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBw
b3J0OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKTogR2V0IHRoZSBsb2NhbFRvUGFyZW50CisgICAg
ICAgIHRyYW5zZm9ybSB0byBiZSBwdXNoZWQgaW4gdGhlIGdlb21ldHJ5TWFwLiBJZiB0aGUgcGFy
ZW50IGlzIHRoZSBTVkcgcm9vdCwKKyAgICAgICAgbG9jYWxUb1BhcmVudCA9IHN2Z190b19jc3Nf
bWFwcGluZyAqIGxvY2FsX3RvX3BhcmVudF9tYXBwaW5nLiBUaGUgb3JpZ2luYWwKKyAgICAgICAg
Y29kZSB3YXMgZG9pbmcgdGhlIG9wcG9zaXRlIGFuZCB0aGlzIGlzIHRoZSBjYXVzZSBvZiB0aGUg
YXNzZXJ0aW9uIHdoaWNoIAorICAgICAgICB3YXMgZml4ZWQgd3JvbmdseSBieSByZXZlcnNpbmcg
dGhlIGNvcnJlY3QgbXVsdGlwbGljYXRpb24gb3JkZXIgaW4gCisgICAgICAgIFNWR1JlbmRlclN1
cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIoKS4KKwogMjAxNS0wMi0xMyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmRlckxpc3RJdGVtIHJlc2V0cyBpdHMg
bWFya2VyJ3Mgc3R5bGUgb24gc3R5bGUgY2hhbmdlIGV2ZW4gaWYgdGhlIGRpZmYgaXMgU3R5bGVE
aWZmZXJlbmNlRXF1YWwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkocmV2aXNpb24gMTc5OTgwKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODMsMTggKzgzLDI3IEBAIHZvaWQgU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUZsb2F0UmVjdEYK
ICAgICByZW5kZXJlci5wYXJlbnQoKS0+Y29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQocmVwYWlu
dENvbnRhaW5lciwgcmVwYWludFJlY3QsIGZpeGVkKTsKIH0KIAotdm9pZCBTVkdSZW5kZXJTdXBw
b3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1T
dGF0ZSYgdHJhbnNmb3JtU3RhdGUsIGJvb2wqIHdhc0ZpeGVkKQorY29uc3QgUmVuZGVyRWxlbWVu
dCYgU1ZHUmVuZGVyU3VwcG9ydDo6bG9jYWxUb1BhcmVudFRyYW5zZm9ybShjb25zdCBSZW5kZXJF
bGVtZW50JiByZW5kZXJlciwgQWZmaW5lVHJhbnNmb3JtICZ0cmFuc2Zvcm0pCiB7CiAgICAgQVNT
RVJUKHJlbmRlcmVyLnBhcmVudCgpKTsKICAgICBhdXRvJiBwYXJlbnQgPSAqcmVuZGVyZXIucGFy
ZW50KCk7Ci0gICAgCi0gICAgLy8gQXQgdGhlIFNWRy9IVE1MIGJvdW5kYXJ5IChha2EgUmVuZGVy
U1ZHUm9vdCksIHdlIGFwcGx5IHRoZSBsb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtIAorCisgICAg
Ly8gQXQgdGhlIFNWRy9IVE1MIGJvdW5kYXJ5IChha2EgUmVuZGVyU1ZHUm9vdCksIHdlIGFwcGx5
IHRoZSBsb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtCiAgICAgLy8gdG8gbWFwIGFuIGVsZW1lbnQg
ZnJvbSBTVkcgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8gQ1NTIGJveCBjb29yZGluYXRlcy4KLSAg
ICAvLyBSZW5kZXJTVkdSb290J3MgbWFwTG9jYWxUb0NvbnRhaW5lciBtZXRob2QgZXhwZWN0cyBD
U1MgYm94IGNvb3JkaW5hdGVzLgogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihwYXJlbnQpKQot
ICAgICAgICB0cmFuc2Zvcm1TdGF0ZS5hcHBseVRyYW5zZm9ybShkb3duY2FzdDxSZW5kZXJTVkdS
b290PihwYXJlbnQpLmxvY2FsVG9Cb3JkZXJCb3hUcmFuc2Zvcm0oKSk7CisgICAgICAgIHRyYW5z
Zm9ybSA9IGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxUb0JvcmRlckJveFRy
YW5zZm9ybSgpICogcmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpOworICAgIGVsc2UK
KyAgICAgICAgdHJhbnNmb3JtID0gcmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpOwor
CisgICAgcmV0dXJuIHBhcmVudDsKK30KIAotICAgIHRyYW5zZm9ybVN0YXRlLmFwcGx5VHJhbnNm
b3JtKHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSk7Cit2b2lkIFNWR1JlbmRlclN1
cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIs
IGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9y
bVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgYm9vbCogd2FzRml4ZWQpCit7CisgICAgQWZmaW5lVHJh
bnNmb3JtIHRyYW5zZm9ybTsKKyAgICBhdXRvJiBwYXJlbnQgPSBsb2NhbFRvUGFyZW50VHJhbnNm
b3JtKHJlbmRlcmVyLCB0cmFuc2Zvcm0pOworCisgICAgdHJhbnNmb3JtU3RhdGUuYXBwbHlUcmFu
c2Zvcm0odHJhbnNmb3JtKTsKIAogICAgIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IFVzZVRy
YW5zZm9ybXM7CiAgICAgcGFyZW50Lm1hcExvY2FsVG9Db250YWluZXIocmVwYWludENvbnRhaW5l
ciwgdHJhbnNmb3JtU3RhdGUsIG1vZGUsIHdhc0ZpeGVkKTsKQEAgLTEwNCwxOSArMTEzLDEwIEBA
IGNvbnN0IFJlbmRlckVsZW1lbnQqIFNWR1JlbmRlclN1cHBvcnQ6OnAKIHsKICAgICBBU1NFUlRf
VU5VU0VEKGFuY2VzdG9yVG9TdG9wQXQsIGFuY2VzdG9yVG9TdG9wQXQgIT0gJnJlbmRlcmVyKTsK
IAotICAgIEFTU0VSVChyZW5kZXJlci5wYXJlbnQoKSk7Ci0gICAgYXV0byYgcGFyZW50ID0gKnJl
bmRlcmVyLnBhcmVudCgpOwotCi0gICAgLy8gQXQgdGhlIFNWRy9IVE1MIGJvdW5kYXJ5IChha2Eg
UmVuZGVyU1ZHUm9vdCksIHdlIGFwcGx5IHRoZSBsb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtIAot
ICAgIC8vIHRvIG1hcCBhbiBlbGVtZW50IGZyb20gU1ZHIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRv
IENTUyBib3ggY29vcmRpbmF0ZXMuCi0gICAgLy8gUmVuZGVyU1ZHUm9vdCdzIG1hcExvY2FsVG9D
b250YWluZXIgbWV0aG9kIGV4cGVjdHMgQ1NTIGJveCBjb29yZGluYXRlcy4KLSAgICBpZiAoaXM8
UmVuZGVyU1ZHUm9vdD4ocGFyZW50KSkgewotICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBt
YXRyaXgocmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKLSAgICAgICAgbWF0cml4
Lm11bHRpcGx5KGRvd25jYXN0PFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkubG9jYWxUb0JvcmRlckJv
eFRyYW5zZm9ybSgpKTsKLSAgICAgICAgZ2VvbWV0cnlNYXAucHVzaCgmcmVuZGVyZXIsIG1hdHJp
eCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIGdlb21ldHJ5TWFwLnB1c2goJnJlbmRlcmVyLCByZW5k
ZXJlci5sb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkpOworICAgIEFmZmluZVRyYW5zZm9ybSB0cmFu
c2Zvcm07CisgICAgYXV0byYgcGFyZW50ID0gbG9jYWxUb1BhcmVudFRyYW5zZm9ybShyZW5kZXJl
ciwgdHJhbnNmb3JtKTsKIAorICAgIGdlb21ldHJ5TWFwLnB1c2goJnJlbmRlcmVyLCB0cmFuc2Zv
cm0pOwogICAgIHJldHVybiAmcGFyZW50OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaAkocmV2aXNpb24gMTc5OTgwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY4LDYgKzY4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBGbG9hdFJlY3QgcmVw
YWludFJlY3RGb3JSZW5kZXJlckluTG9jYWxDb29yZGluYXRlc0V4Y2x1ZGluZ1NWR1NoYWRvdyhj
b25zdCBSZW5kZXJFbGVtZW50Jik7CiAgICAgc3RhdGljIExheW91dFJlY3QgY2xpcHBlZE92ZXJm
bG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyRWxlbWVudCYsIGNvbnN0IFJlbmRlckxheWVy
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHN0YXRpYyB2b2lkIGNvbXB1dGVG
bG9hdFJlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckVsZW1lbnQmLCBjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBGbG9hdFJlY3QmLCBib29sIGZpeGVkKTsK
KyAgICBzdGF0aWMgY29uc3QgUmVuZGVyRWxlbWVudCYgbG9jYWxUb1BhcmVudFRyYW5zZm9ybShj
b25zdCBSZW5kZXJFbGVtZW50JiwgQWZmaW5lVHJhbnNmb3JtICYpOwogICAgIHN0YXRpYyB2b2lk
IG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyRWxlbWVudCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgYm9vbCog
d2FzRml4ZWQgPSAwKTsKICAgICBzdGF0aWMgY29uc3QgUmVuZGVyRWxlbWVudCogcHVzaE1hcHBp
bmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCogYW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmKTsKICAgICBzdGF0
aWMgYm9vbCBjaGVja0ZvclNWR1JlcGFpbnREdXJpbmdMYXlvdXQoY29uc3QgUmVuZGVyRWxlbWVu
dCYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>246623</attachid>
            <date>2015-02-15 14:55:53 -0800</date>
            <delta_ts>2015-02-15 14:57:41 -0800</delta_ts>
            <desc>Example</desc>
            <filename>test057.html</filename>
            <type>text/html</type>
            <size>347</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDxzdHlsZT4KICBzdmcgewoJICB3aWR0aDogMjAwcHg7CgkgIGhlaWdo
dDogMjAwcHg7CgkgIGJhY2tncm91bmQtY29sb3I6IGxpbWU7CiAgfQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CiAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRo
PSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Ym94PSItMTAwIC0xMDAgMjAwIDIwMCI+Cgk8cmVjdCB4
PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo
NTAsNTApIHNjYWxlKDAuNSwgMC41KSIgZmlsbD0icmVkIi8+CiAgPC9zdmc+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>246624</attachid>
            <date>2015-02-15 14:58:00 -0800</date>
            <delta_ts>2015-02-15 14:58:00 -0800</delta_ts>
            <desc>Example</desc>
            <filename>test057.html</filename>
            <type>text/html</type>
            <size>410</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDxzdHlsZT4KICBzdmcgewoJICB3aWR0aDogMjAwcHg7CgkgIGhlaWdo
dDogMjAwcHg7CgkgIGJhY2tncm91bmQtY29sb3I6IGxpbWU7CiAgfQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CiAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRo
PSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Ym94PSItMTAwIC0xMDAgMjAwIDIwMCI+CiAgICA8cmVj
dCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ib3JhbmdlIi8+Cgk8
cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJ0cmFu
c2xhdGUoNTAsNTApIHNjYWxlKDAuNSwgMC41KSIgZmlsbD0icmVkIi8+CiAgPC9zdmc+CjwvYm9k
eT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246684</attachid>
            <date>2015-02-16 14:33:39 -0800</date>
            <delta_ts>2015-02-16 15:19:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138439-20150216143333.patch</filename>
            <type>text/plain</type>
            <size>6345</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDE3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE1LTAyLTE2ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IGEg
Y2hhbmdlIGluIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIgY29tbWl0dGVk
IGZvciBmaXhpbmcgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk2
MjY+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4
NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhlIGNo
YW5nZSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNjQ4NjEgd2FzIHBvcnRlZCBm
cm9tIEJsaW5rCisgICAgICAgIGJ1dCBpdCB3YXMgd2FzIHJldmVydCBsYXRlciBiZWNhdXNlIGl0
IGJyb2tlIENocm9tZSBTVkcgcmVuZGVyaW5nLiBJdCBhbHNvCisgICAgICAgIGJyb2tlIHRoZSBX
ZWJLaXQgU1ZHIHRleHQgc2VhcmNoIGhpZ2hsaWdodGluZy4KKyAgICAgICAgCisgICAgICAgIFRl
c3RzOiBzdmcvdHJhbnNmb3Jtcy9zdmctZ2VvbWV0cnktY3Jhc2guaHRtbDogVGhpcyB0ZXN0IHdh
cyBhZGRlZCBieSB0aGUKKyAgICAgICAgYmxhbWVkIGNoYW5nZS4gQSBuZXcgYnV0IGNvcnJlY3Qg
c29sdXRpb24gaXMgcmVxdWlyZWQgdG8gZml4IHRoZSBhc3NlcnRpb24uCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAgICBOb3RpY2UgdGhhdCBUcmFuc2Zvcm1TdGF0
ZS5hcHBseVRyYW5zZm9ybSgpIGRvZXMgbWF0cml4LWxlZnQtbXVsdGlwbGljYXRpb24sCisgICAg
ICAgIGkuZS4gc3RhdGUgPSB0cmFuc2Zvcm0gKiBzdGF0ZS4gQnV0IG9wZXJhdG9yKigpIG9mIEFm
ZmluZVRyYW5zZm9ybSBhbmQKKyAgICAgICAgTWF0cml4VHJhbnNmb3JtICBkb2VzIHJpZ2h0IG11
bHRpcGx5LCBpLmUuIHRoaXMgPSB0aGlzICogdHJhbnNmb3JtLgorICAgICAgICAKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0pOiBIYXZl
IHRoZSBjYWxjdWxhdGlvbgorICAgICAgICBvZiB0aGUgU1ZHIGxvY2FsVG9QYXJlbnRUcmFuc2Zv
cm0gaW4gb25lIHNoYXJlZCBmdW5jdGlvbi4KKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlOjpT
VkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKTogUmV2ZXJ0IHRoZSBCbGluayBj
aGFuZ2UuCisgICAgICAgIElmIHRoZSBwYXJlbnQgaXMgdGhlIFNWRyByb290LCB0aGUgdHJhbnNm
b3JtIHN0YXRlIHNob3VsZCBiZSBlcXVhbCB0bworICAgICAgICB0cmFuc2Zvcm0gPSBzdmdfdG9f
Y3NzX21hcHBpbmcgKiBsb2NhbF90b19wYXJlbnRfbWFwcGluZyAqIHRyYW5zZm9ybS4KKyAgICAg
ICAgCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjpwdXNoTWFwcGluZ1RvQ29u
dGFpbmVyKTogR2V0IHRoZSBsb2NhbFRvUGFyZW50CisgICAgICAgIHRyYW5zZm9ybSB0byBiZSBw
dXNoZWQgaW4gdGhlIGdlb21ldHJ5TWFwLiBJZiB0aGUgcGFyZW50IGlzIHRoZSBTVkcgcm9vdCwK
KyAgICAgICAgbG9jYWxUb1BhcmVudCA9IHN2Z190b19jc3NfbWFwcGluZyAqIGxvY2FsX3RvX3Bh
cmVudF9tYXBwaW5nLiBUaGUgb3JpZ2luYWwKKyAgICAgICAgY29kZSB3YXMgZG9pbmcgdGhlIG9w
cG9zaXRlIGFuZCB0aGlzIGlzIHRoZSBjYXVzZSBvZiB0aGUgYXNzZXJ0aW9uIHdoaWNoIAorICAg
ICAgICB3YXMgZml4ZWQgd3JvbmdseSBieSByZXZlcnNpbmcgdGhlIGNvcnJlY3QgbXVsdGlwbGlj
YXRpb24gb3JkZXIgaW4gCisgICAgICAgIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250
YWluZXIoKS4KKwogMjAxNS0wMi0xNiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIGlmZGVmcyB0byBhdm9pZCBhZGp1c3RpbmcgUnVieSBzZWxlY3Rpb24gcmVj
dHMgdG8gYXZvaWQgb3ZlcmxhcCBvbiBpT1MuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDE4MDE3MykKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTgzLDE4ICs4MywyNyBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1
dGVGbG9hdFJlY3RGCiAgICAgcmVuZGVyZXIucGFyZW50KCktPmNvbXB1dGVGbG9hdFJlY3RGb3JS
ZXBhaW50KHJlcGFpbnRDb250YWluZXIsIHJlcGFpbnRSZWN0LCBmaXhlZCk7CiB9CiAKLXZvaWQg
U1ZHUmVuZGVyU3VwcG9ydDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50
JiByZW5kZXJlciwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgVHJhbnNmb3JtU3RhdGUmIHRyYW5zZm9ybVN0YXRlLCBib29sKiB3YXNGaXhlZCkKK2NvbnN0
IFJlbmRlckVsZW1lbnQmIFNWR1JlbmRlclN1cHBvcnQ6OmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0o
Y29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIEFmZmluZVRyYW5zZm9ybSAmdHJhbnNmb3Jt
KQogewogICAgIEFTU0VSVChyZW5kZXJlci5wYXJlbnQoKSk7CiAgICAgYXV0byYgcGFyZW50ID0g
KnJlbmRlcmVyLnBhcmVudCgpOwotICAgIAotICAgIC8vIEF0IHRoZSBTVkcvSFRNTCBib3VuZGFy
eSAoYWthIFJlbmRlclNWR1Jvb3QpLCB3ZSBhcHBseSB0aGUgbG9jYWxUb0JvcmRlckJveFRyYW5z
Zm9ybSAKKworICAgIC8vIEF0IHRoZSBTVkcvSFRNTCBib3VuZGFyeSAoYWthIFJlbmRlclNWR1Jv
b3QpLCB3ZSBhcHBseSB0aGUgbG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybQogICAgIC8vIHRvIG1h
cCBhbiBlbGVtZW50IGZyb20gU1ZHIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRvIENTUyBib3ggY29v
cmRpbmF0ZXMuCi0gICAgLy8gUmVuZGVyU1ZHUm9vdCdzIG1hcExvY2FsVG9Db250YWluZXIgbWV0
aG9kIGV4cGVjdHMgQ1NTIGJveCBjb29yZGluYXRlcy4KICAgICBpZiAoaXM8UmVuZGVyU1ZHUm9v
dD4ocGFyZW50KSkKLSAgICAgICAgdHJhbnNmb3JtU3RhdGUuYXBwbHlUcmFuc2Zvcm0oZG93bmNh
c3Q8UmVuZGVyU1ZHUm9vdD4ocGFyZW50KS5sb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtKCkpOwor
ICAgICAgICB0cmFuc2Zvcm0gPSBkb3duY2FzdDxSZW5kZXJTVkdSb290PihwYXJlbnQpLmxvY2Fs
VG9Cb3JkZXJCb3hUcmFuc2Zvcm0oKSAqIHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0o
KTsKKyAgICBlbHNlCisgICAgICAgIHRyYW5zZm9ybSA9IHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRU
cmFuc2Zvcm0oKTsKKworICAgIHJldHVybiBwYXJlbnQ7Cit9CiAKLSAgICB0cmFuc2Zvcm1TdGF0
ZS5hcHBseVRyYW5zZm9ybShyZW5kZXJlci5sb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkpOwordm9p
ZCBTVkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIGJvb2wqIHdhc0ZpeGVkKQorewor
ICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07CisgICAgYXV0byYgcGFyZW50ID0gbG9jYWxU
b1BhcmVudFRyYW5zZm9ybShyZW5kZXJlciwgdHJhbnNmb3JtKTsKKworICAgIHRyYW5zZm9ybVN0
YXRlLmFwcGx5VHJhbnNmb3JtKHRyYW5zZm9ybSk7CiAKICAgICBNYXBDb29yZGluYXRlc0ZsYWdz
IG1vZGUgPSBVc2VUcmFuc2Zvcm1zOwogICAgIHBhcmVudC5tYXBMb2NhbFRvQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2RlLCB3YXNGaXhlZCk7CkBAIC0xMDQs
MTkgKzExMywxMCBAQCBjb25zdCBSZW5kZXJFbGVtZW50KiBTVkdSZW5kZXJTdXBwb3J0OjpwCiB7
CiAgICAgQVNTRVJUX1VOVVNFRChhbmNlc3RvclRvU3RvcEF0LCBhbmNlc3RvclRvU3RvcEF0ICE9
ICZyZW5kZXJlcik7CiAKLSAgICBBU1NFUlQocmVuZGVyZXIucGFyZW50KCkpOwotICAgIGF1dG8m
IHBhcmVudCA9ICpyZW5kZXJlci5wYXJlbnQoKTsKLQotICAgIC8vIEF0IHRoZSBTVkcvSFRNTCBi
b3VuZGFyeSAoYWthIFJlbmRlclNWR1Jvb3QpLCB3ZSBhcHBseSB0aGUgbG9jYWxUb0JvcmRlckJv
eFRyYW5zZm9ybSAKLSAgICAvLyB0byBtYXAgYW4gZWxlbWVudCBmcm9tIFNWRyB2aWV3cG9ydCBj
b29yZGluYXRlcyB0byBDU1MgYm94IGNvb3JkaW5hdGVzLgotICAgIC8vIFJlbmRlclNWR1Jvb3Qn
cyBtYXBMb2NhbFRvQ29udGFpbmVyIG1ldGhvZCBleHBlY3RzIENTUyBib3ggY29vcmRpbmF0ZXMu
Ci0gICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHBhcmVudCkpIHsKLSAgICAgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggbWF0cml4KHJlbmRlcmVyLmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSk7Ci0g
ICAgICAgIG1hdHJpeC5tdWx0aXBseShkb3duY2FzdDxSZW5kZXJTVkdSb290PihwYXJlbnQpLmxv
Y2FsVG9Cb3JkZXJCb3hUcmFuc2Zvcm0oKSk7Ci0gICAgICAgIGdlb21ldHJ5TWFwLnB1c2goJnJl
bmRlcmVyLCBtYXRyaXgpOwotICAgIH0gZWxzZQotICAgICAgICBnZW9tZXRyeU1hcC5wdXNoKCZy
ZW5kZXJlciwgcmVuZGVyZXIubG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKKyAgICBBZmZpbmVU
cmFuc2Zvcm0gdHJhbnNmb3JtOworICAgIGF1dG8mIHBhcmVudCA9IGxvY2FsVG9QYXJlbnRUcmFu
c2Zvcm0ocmVuZGVyZXIsIHRyYW5zZm9ybSk7CiAKKyAgICBnZW9tZXRyeU1hcC5wdXNoKCZyZW5k
ZXJlciwgdHJhbnNmb3JtKTsKICAgICByZXR1cm4gJnBhcmVudDsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgJKHJldmlzaW9u
IDE4MDE3MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9y
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
RmxvYXRSZWN0IHJlcGFpbnRSZWN0Rm9yUmVuZGVyZXJJbkxvY2FsQ29vcmRpbmF0ZXNFeGNsdWRp
bmdTVkdTaGFkb3coY29uc3QgUmVuZGVyRWxlbWVudCYpOwogICAgIHN0YXRpYyBMYXlvdXRSZWN0
IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckVsZW1lbnQmLCBjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKTsKICAgICBzdGF0aWMg
dm9pZCBjb21wdXRlRmxvYXRSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJFbGVtZW50JiwgY29u
c3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgRmxvYXRSZWN0Jiwg
Ym9vbCBmaXhlZCk7CisgICAgc3RhdGljIGNvbnN0IFJlbmRlckVsZW1lbnQmIGxvY2FsVG9QYXJl
bnRUcmFuc2Zvcm0oY29uc3QgUmVuZGVyRWxlbWVudCYsIEFmZmluZVRyYW5zZm9ybSAmKTsKICAg
ICBzdGF0aWMgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmLCBj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1T
dGF0ZSYsIGJvb2wqIHdhc0ZpeGVkID0gMCk7CiAgICAgc3RhdGljIGNvbnN0IFJlbmRlckVsZW1l
bnQqIHB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyRWxlbWVudCYsIGNvbnN0IFJl
bmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQsIFJlbmRlckdlb21ldHJ5TWFw
Jik7CiAgICAgc3RhdGljIGJvb2wgY2hlY2tGb3JTVkdSZXBhaW50RHVyaW5nTGF5b3V0KGNvbnN0
IFJlbmRlckVsZW1lbnQmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>