<?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>112623</bug_id>
          
          <creation_ts>2013-03-18 14:16:28 -0700</creation_ts>
          <short_desc>[SVG] Suppress painting when an empty viewBox is specified</short_desc>
          <delta_ts>2013-03-21 12:16:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>112630</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Florin Malita">fmalita</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>krit</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>857541</commentid>
    <comment_count>0</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-18 14:16:28 -0700</bug_when>
    <thetext>https://code.google.com/p/chromium/issues/detail?id=177148

Per spec, a zero width/height viewBox attribute should suppress rendering the element (http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute):

  A negative value for &lt;width&gt; or &lt;height&gt; is an error (see Error processing). A value of zero disables rendering of the element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857546</commentid>
    <comment_count>1</comment_count>
      <attachid>193650</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-18 14:17:23 -0700</bug_when>
    <thetext>Created attachment 193650
Empty-viewbox content should not be visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857558</commentid>
    <comment_count>2</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-18 14:28:44 -0700</bug_when>
    <thetext>Currently, size-related methods seem to simply ignore empty viewBoxes. Looks like we&apos;ll just have to explicitly check for this case when painting.

Unfortunately, this exposes an unrelated problem: there is no way to distinguish an empty, correctly specified viewBox from an invalid/unparsable attribute (which also results in an empty viewBox). This causes a couple Hixie tests to fail - we should open a separate bug for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858315</commentid>
    <comment_count>3</comment_count>
      <attachid>193838</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-19 08:37:07 -0700</bug_when>
    <thetext>Created attachment 193838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858345</commentid>
    <comment_count>4</comment_count>
      <attachid>193838</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 09:27:20 -0700</bug_when>
    <thetext>Comment on attachment 193838
Patch

Attachment 193838 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17120586

New failing tests:
html5lib/generated/run-tests11-write.html
html5lib/generated/run-tests11-data.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858350</commentid>
    <comment_count>5</comment_count>
      <attachid>193838</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 09:31:07 -0700</bug_when>
    <thetext>Comment on attachment 193838
Patch

Attachment 193838 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17221380

New failing tests:
html5lib/generated/run-tests11-write.html
html5lib/generated/run-tests11-data.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858448</commentid>
    <comment_count>6</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-19 10:43:26 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 193838 [details])
&gt; Attachment 193838 [details] did not pass mac-wk2-ews (mac-wk2):
&gt; Output: http://webkit-commit-queue.appspot.com/results/17221380
&gt; 
&gt; New failing tests:
&gt; html5lib/generated/run-tests11-write.html
&gt; html5lib/generated/run-tests11-data.html

Looking at the failing tests, I&apos;m starting to think that removing an invalid viewBox attribute might not be the best idea (unexpected, possibly causing other failures).

A general fix for https://bugs.webkit.org/show_bug.cgi?id=112630 is needed instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858486</commentid>
    <comment_count>7</comment_count>
      <attachid>193838</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-03-19 11:03:40 -0700</bug_when>
    <thetext>Comment on attachment 193838
Patch

R=me. Looks fine. I reset the CQ bit to get past the flakey tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858499</commentid>
    <comment_count>8</comment_count>
      <attachid>193838</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 11:12:39 -0700</bug_when>
    <thetext>Comment on attachment 193838
Patch

Attachment 193838 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17242103

New failing tests:
html5lib/generated/run-tests11-write.html
html5lib/generated/run-tests11-data.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858559</commentid>
    <comment_count>9</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-19 11:53:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 193838 [details])
&gt; R=me. Looks fine. I reset the CQ bit to get past the flakey tests.

Yeah, unfortunately those are real failures triggered by the removal of invalid viewBox attributes. We can either

a) update the expectations for the failing tests and commit in this form (I&apos;m somewhat wary of this now, thinking that messing with the attribute may have unintended consequences)

b) drop the attribute removal bit - this will cause a couple of other tests to fail &lt;- marks these as such, pending a fix for https://bugs.webkit.org/show_bug.cgi?id=112630

c) fix https://bugs.webkit.org/show_bug.cgi?id=112630 first, then re-factor this patch to detect whether the viewBox is valid without removing the attribute

Looking at what it would take for c) now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858566</commentid>
    <comment_count>10</comment_count>
      <attachid>193838</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 11:58:35 -0700</bug_when>
    <thetext>Comment on attachment 193838
Patch

Attachment 193838 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17252075

New failing tests:
html5lib/generated/run-tests11-write.html
html5lib/generated/run-tests11-data.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858588</commentid>
    <comment_count>11</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-03-19 12:17:36 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 193838 [details] [details])
&gt; &gt; R=me. Looks fine. I reset the CQ bit to get past the flakey tests.
&gt; 
&gt; Yeah, unfortunately those are real failures triggered by the removal of invalid viewBox attributes. We can either
&gt; 
&gt; a) update the expectations for the failing tests and commit in this form (I&apos;m somewhat wary of this now, thinking that messing with the attribute may have unintended consequences)
&gt; 
&gt; b) drop the attribute removal bit - this will cause a couple of other tests to fail &lt;- marks these as such, pending a fix for https://bugs.webkit.org/show_bug.cgi?id=112630
&gt; 
&gt; c) fix https://bugs.webkit.org/show_bug.cgi?id=112630 first, then re-factor this patch to detect whether the viewBox is valid without removing the attribute
&gt; 
&gt; Looking at what it would take for c) now.

My bad - I should have looked more carefully at the test and thought some more. I&apos;ll clear the R while you investigate.

Removing the attribute is an issue if the person subsequently sets it, right?

But then you need some way of saying a rect is &quot;invalid&quot; rather than empty, which is something that WebKit doesn&apos;t have yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858621</commentid>
    <comment_count>12</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-19 12:35:52 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Removing the attribute is an issue if the person subsequently sets it, right?

The problem is that currently invalid values are allowed. For example, e.setAttribute(&apos;width&apos;, &apos;mwahaha&apos;) does report a parsing error, but subsequently e.getAttribute(&apos;width&apos;) still returns &apos;mwahaha&apos;. So we can&apos;t just drop invalid values under these semantics...


&gt; But then you need some way of saying a rect is &quot;invalid&quot; rather than empty, which is something that WebKit doesn&apos;t have yet.

Yes, there&apos;s no such thing currently. I was thinking of adding an &apos;isValid&apos; field to SVGSynchronizableAnimatedProperty which defaults to false and gets reset to true in the (macroed) set##UpperProperty##BaseValue() setter. Then we should only call the setter if the value is successfully parsed (most parsers seem to already return a success result) and later we can query it via some other macroed getter (LowerProperty##IsValid()?) when using the attribute. This would allow us to detect the &quot;attribute present but invalid&quot; case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859424</commentid>
    <comment_count>13</comment_count>
      <attachid>194061</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 08:08:03 -0700</bug_when>
    <thetext>Created attachment 194061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859584</commentid>
    <comment_count>14</comment_count>
      <attachid>194061</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 11:39:36 -0700</bug_when>
    <thetext>Comment on attachment 194061
Patch

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

LGTM with a few small changes.

&gt; Source/WebCore/ChangeLog:17
&gt; +        macroed getter (LowerProperty##IsValid()).

Can we use an emum here instead of a bool?

&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:280
&gt; +    if (svg-&gt;hasAttribute(SVGNames::viewBoxAttr) &amp;&amp; svg-&gt;viewBoxIsValid() &amp;&amp; svg-&gt;viewBox().isEmpty())

This same set of checks is called many times in this patch. Can we roll it all into &quot;viewBoxIsValid()&quot;?

&gt; Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp:154
&gt; +

Extra space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859624</commentid>
    <comment_count>15</comment_count>
      <attachid>194061</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 12:54:26 -0700</bug_when>
    <thetext>Comment on attachment 194061
Patch

Thanks Philip.

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

&gt;&gt; Source/WebCore/ChangeLog:17
&gt;&gt; +        macroed getter (LowerProperty##IsValid()).
&gt; 
&gt; Can we use an emum here instead of a bool?

Not sure I follow this... do you mean internally? This seems consistent with other isXYZ() methods return type. Besides, isn&apos;t bool the ultimate enum? :)

&gt;&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:280
&gt;&gt; +    if (svg-&gt;hasAttribute(SVGNames::viewBoxAttr) &amp;&amp; svg-&gt;viewBoxIsValid() &amp;&amp; svg-&gt;viewBox().isEmpty())
&gt; 
&gt; This same set of checks is called many times in this patch. Can we roll it all into &quot;viewBoxIsValid()&quot;?

Yes, but unfortunately on different/unrelated types. There&apos;s minimal duplication for SVGSVGElement so maybe we can add a helper for this class alone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859638</commentid>
    <comment_count>16</comment_count>
      <attachid>194061</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 13:15:52 -0700</bug_when>
    <thetext>Comment on attachment 194061
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:17
&gt;&gt;&gt; +        macroed getter (LowerProperty##IsValid()).
&gt;&gt; 
&gt;&gt; Can we use an emum here instead of a bool?
&gt; 
&gt; Not sure I follow this... do you mean internally? This seems consistent with other isXYZ() methods return type. Besides, isn&apos;t bool the ultimate enum? :)

I should have been clearer. The &quot;validValue&apos; bool can be made into an enum. An example is http://trac.webkit.org/browser/trunk/Source/WebCore/svg/SVGLocatable.h#L43.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859665</commentid>
    <comment_count>17</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 13:36:59 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 194061 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194061&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/ChangeLog:17
&gt; &gt;&gt;&gt; +        macroed getter (LowerProperty##IsValid()).
&gt; &gt;&gt; 
&gt; &gt;&gt; Can we use an emum here instead of a bool?
&gt; &gt; 
&gt; &gt; Not sure I follow this... do you mean internally? This seems consistent with other isXYZ() methods return type. Besides, isn&apos;t bool the ultimate enum? :)
&gt; 
&gt; I should have been clearer. The &quot;validValue&apos; bool can be made into an enum. An example is http://trac.webkit.org/browser/trunk/Source/WebCore/svg/SVGLocatable.h#L43.

I&apos;m not convinced it&apos;s a good idea in this case: enums are preferred to bools as input params if the argument is likely to be constant (http://www.webkit.org/coding/coding-style.html#names-enum-to-bool). That&apos;s not the case here: callers would have to always convert a bool (the parse result) to this enum - which pretty much defeats the readability purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859685</commentid>
    <comment_count>18</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 13:45:56 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (From update of attachment 194061 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194061&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebCore/ChangeLog:17
&gt; &gt; &gt;&gt;&gt; +        macroed getter (LowerProperty##IsValid()).
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Can we use an emum here instead of a bool?
&gt; &gt; &gt; 
&gt; &gt; &gt; Not sure I follow this... do you mean internally? This seems consistent with other isXYZ() methods return type. Besides, isn&apos;t bool the ultimate enum? :)
&gt; &gt; 
&gt; &gt; I should have been clearer. The &quot;validValue&apos; bool can be made into an enum. An example is http://trac.webkit.org/browser/trunk/Source/WebCore/svg/SVGLocatable.h#L43.
&gt; 
&gt; I&apos;m not convinced it&apos;s a good idea in this case: enums are preferred to bools as input params if the argument is likely to be constant (http://www.webkit.org/coding/coding-style.html#names-enum-to-bool). That&apos;s not the case here: callers would have to always convert a bool (the parse result) to this enum - which pretty much defeats the readability purpose.

Sounds good to me; that&apos;s a reasonable argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859692</commentid>
    <comment_count>19</comment_count>
      <attachid>194112</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 13:53:12 -0700</bug_when>
    <thetext>Created attachment 194112
Patch

Updated per comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859702</commentid>
    <comment_count>20</comment_count>
      <attachid>194112</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 14:02:40 -0700</bug_when>
    <thetext>Comment on attachment 194112
Patch

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

&gt; Source/WebCore/svg/SVGURIReference.h:57
&gt; +    virtual void setHrefBaseValue(const String&amp;, const bool validValue = true) = 0;

One last question: If I set an invalid CSS value, it gets thrown away. For example:
document.body.style.background = &quot;we will not go to space today&quot;;
console.log(document.body.style.background); // prints &quot;&quot;

This makes me think we are not doing the right thing to pass both a string and a validValue here. Can you explain this discrepancy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859733</commentid>
    <comment_count>21</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 14:22:03 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 194112 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194112&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/svg/SVGURIReference.h:57
&gt; &gt; +    virtual void setHrefBaseValue(const String&amp;, const bool validValue = true) = 0;
&gt; 
&gt; One last question: If I set an invalid CSS value, it gets thrown away. For example:
&gt; document.body.style.background = &quot;we will not go to space today&quot;;
&gt; console.log(document.body.style.background); // prints &quot;&quot;
&gt; 
&gt; This makes me think we are not doing the right thing to pass both a string and a validValue here. Can you explain this discrepancy?

That&apos;s a good point. This approach is based on the assumption that the current SVG attribute behavior is appropriate - hence the need to differentiate the &quot;set-but-invalid&quot; state.

Personally I find CSS&apos; property handling to make more sense, but I suspect the discrepancy is not arbitrary (maybe someone more familiar with the spec can clarify):

1) simply ignoring invalid viewBox values triggers failures in a html5lib test
2) FF also allows random attribute values:

[17:16:00.569] r.getAttribute(&apos;width&apos;)
[17:16:00.572] &quot;100%&quot;
[17:16:04.449] r.setAttribute(&apos;width&apos;, &apos;mwahaha&apos;)
[17:16:04.452] undefined
[17:16:04.452] Unexpected value mwahaha parsing width attribute. @ Web Console:1
[17:16:08.121] r.getAttribute(&apos;width&apos;)
[17:16:08.125] &quot;mwahaha&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859737</commentid>
    <comment_count>22</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 14:26:45 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; 2) FF also allows random attribute values:

It looks like the same behavior is not true for Firefox&apos;s regular CSS values:
--
[14:20:42.051] document.body.style.backgroundImage = &quot;pasta batman&quot;
[14:20:42.052] &quot;pasta batman&quot;
[14:20:42.052] Error in parsing value for &apos;background-image&apos;.  Declaration dropped. @ http://cuteoverload.com/
[14:20:44.403] document.body.style.backgroundImage
[14:20:44.405] &quot;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859738</commentid>
    <comment_count>23</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 14:27:44 -0700</bug_when>
    <thetext>&gt; Personally I find CSS&apos; property handling to make more sense, but I suspect the discrepancy is not arbitrary (maybe someone more familiar with the spec can clarify):

I guess the answer is here: http://www.w3.org/TR/SVG/svgdom.html#InvalidValues

&quot;If a script sets a DOM attribute to an invalid value [...], unless this specification indicates otherwise, no exception shall be raised on setting, but the given document fragment shall become technically in error&quot;

The implication is that invalid attribute values are sticky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859787</commentid>
    <comment_count>24</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 15:16:21 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; &gt; Personally I find CSS&apos; property handling to make more sense, but I suspect the discrepancy is not arbitrary (maybe someone more familiar with the spec can clarify):
&gt; 
&gt; I guess the answer is here: http://www.w3.org/TR/SVG/svgdom.html#InvalidValues
&gt; 
&gt; &quot;If a script sets a DOM attribute to an invalid value [...], unless this specification indicates otherwise, no exception shall be raised on setting, but the given document fragment shall become technically in error&quot;
&gt; 
&gt; The implication is that invalid attribute values are sticky.

You are right.

I didn&apos;t realize the difference between dom attributes and style; attributes should be &quot;sticky&quot; (and they are on regular DOM attributes too).

I think this patch is going in the right direction now. Please add a test of setting and reading a completely nonsense string so we have test coverage.

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859789</commentid>
    <comment_count>25</comment_count>
      <attachid>194112</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-20 15:16:40 -0700</bug_when>
    <thetext>Comment on attachment 194112
Patch

R=me with an additional test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860461</commentid>
    <comment_count>26</comment_count>
      <attachid>194291</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-21 10:50:51 -0700</bug_when>
    <thetext>Created attachment 194291
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860553</commentid>
    <comment_count>27</comment_count>
      <attachid>194291</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 12:16:25 -0700</bug_when>
    <thetext>Comment on attachment 194291
Patch for landing

Clearing flags on attachment: 194291

Committed r146495: &lt;http://trac.webkit.org/changeset/146495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860554</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 12:16:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>193650</attachid>
            <date>2013-03-18 14:17:23 -0700</date>
            <delta_ts>2013-03-18 14:17:23 -0700</delta_ts>
            <desc>Empty-viewbox content should not be visible.</desc>
            <filename>empty-viewbox.svg</filename>
            <type>image/svg+xml</type>
            <size>194</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPHN2ZyB3aWR0aD0iMTAwcHgi
IGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAwIDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyI+DQoJPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAi
IGZpbGw9InJlZCIvPg0KPC9zdmc+DQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193838</attachid>
            <date>2013-03-19 08:37:07 -0700</date>
            <delta_ts>2013-03-20 08:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112623-20130319113257.patch</filename>
            <type>text/plain</type>
            <size>10075</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA3NjM4MmY4NjE4OTJl
OTI4MDA0OWE3ZThiNjZhYzNlYTQ5MGFkMS4uMTlhNzRhMGUyZDdjNWRiNDMyZDI4YWUzNTRhOTMy
YTVlY2IyYmI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTE5ICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NWR10gU3VwcHJl
c3MgcGFpbnRpbmcgd2hlbiBhbiBlbXB0eSB2aWV3Qm94IGlzIHNwZWNpZmllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGVyIHNwZWMsIGVsZW1lbnRz
IHdpdGggYW4gZW1wdHkgdmlld0JveCBzaG91bGQgbm90IGJlIHJlbmRlcmVkOgorICAgICAgICBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0dHJpYnV0ZS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIG1pc3Npbmcgdmlld0JveCBjaGVja3MgdG8gUmVu
ZGVyU1ZHUm9vdCwgUmVuZGVyU1ZHVmlld1BvcnRDb250YWluZXIsCisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyIGFuZCBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcidzIHBhaW50IG1ldGhv
ZHMuCisKKyAgICAgICAgVGVzdDogc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5Lmh0bWwKKworICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmRyYXcpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6YnVpbGRQYXR0ZXJuKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUm9vdDo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdWaWV3
cG9ydENvbnRhaW5lcjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oOgorICAgICAgICAoUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIpOgorICAgICAgICAqIHN2Zy9TVkdGaXRUb1ZpZXdCb3guaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUpOgorCiAy
MDEzLTAzLTE5ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW5hbWUgVGltZWxpbmVPdmVydmlld1dpbmRvdyB0byBPdmVy
dmlld0dyaWQuV2luZG93IGFuZCBmaXggbmFtZXMgZm9yIGNvbnN0YW50cy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5j
cHAKaW5kZXggN2FhZWYwZTllMDExNWViNGFlZjhlYjU1MzM0OWUwZDcyNDk5YzVjMy4uZWQ2NmVk
MzgxNWZmMTYxYTA3NmJjMzE2MzUzMTRiYTlhM2RkMTgwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKQEAg
LTEzMiw2ICsxMzIsMTIgQEAgQWZmaW5lVHJhbnNmb3JtIFJlbmRlclNWR1Jlc291cmNlTWFya2Vy
OjptYXJrZXJUcmFuc2Zvcm1hdGlvbihjb25zdCBGbG9hdFBvaW50JgogCiB2b2lkIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyOjpkcmF3KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIHRyYW5zZm9ybSkKIHsKKyAgICAvLyBBbiBlbXB0eSB2aWV3Qm94IGRpc2FibGVz
IHJlbmRlcmluZy4KKyAgICBTVkdNYXJrZXJFbGVtZW50KiBtYXJrZXIgPSB0b1NWR01hcmtlckVs
ZW1lbnQodG9TVkdFbGVtZW50KG5vZGUoKSkpOworICAgIEFTU0VSVChtYXJrZXIpOworICAgIGlm
IChtYXJrZXItPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6dmlld0JveEF0dHIpICYmIG1hcmtlci0+
dmlld0JveCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUGFpbnRJbmZvIGlu
Zm8ocGFpbnRJbmZvKTsKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIo
KmluZm8uY29udGV4dCk7CiAgICAgaW5mby5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4uY3BwCmluZGV4IDExMGRjZTRjMWM0NDY4OTFiZDkwYWYxZjZiMjY0M2IzY2Q5ZWJi
YmQuLjRkZjRjMjJhOTAwMDg3ZjgwMzBhZmI1NmUwMTI5ZjVhODA3ZGU3ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0
dGVybi5jcHAKQEAgLTc3LDYgKzc3LDEwIEBAIFBhdHRlcm5EYXRhKiBSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm46OmJ1aWxkUGF0dGVybihSZW5kZXJPYmplY3QqIG9iamVjdCwgdW5zaWduCiAgICAg
aWYgKCFtX2F0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCkpCiAgICAgICAgIHJldHVy
biAwOwogCisgICAgLy8gQW4gZW1wdHkgdmlld0JveCBkaXNhYmxlcyByZW5kZXJpbmcuCisgICAg
aWYgKG1fYXR0cmlidXRlcy5oYXNWaWV3Qm94KCkgJiYgbV9hdHRyaWJ1dGVzLnZpZXdCb3goKS5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgLy8gQ29tcHV0ZSBhbGwgbmVjZXNz
YXJ5IHRyYW5zZm9ybWF0aW9ucyB0byBidWlsZCB0aGUgdGlsZSBpbWFnZSAmIHRoZSBwYXR0ZXJu
LgogICAgIEZsb2F0UmVjdCB0aWxlQm91bmRhcmllczsKICAgICBBZmZpbmVUcmFuc2Zvcm0gdGls
ZUltYWdlVHJhbnNmb3JtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAKaW5kZXggZWU3YmE5YjNlNWMyY2Y5MTc5ZTgzMjBmNDQwZmZjOTc5MzRiODE0
Ni4uMGMwNjg5Yzg1Njc1NGE2MDk3YTVjYTMzMDA0OWY1M2ZlZGIyYzg3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yNjksMTAgKzI2
OSwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludAogICAgIGlmIChwaXhlbFNuYXBwZWRCb3Jk
ZXJCb3hSZWN0KCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBEb24ndCBw
YWludCwgaWYgdGhlIGNvbnRleHQgZXhwbGljaXRlbHkgZGlzYWJsZWQgaXQuCisgICAgLy8gRG9u
J3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQuCiAgICAgaWYg
KHBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
IAorICAgIC8vIEFuIGVtcHR5IHZpZXdCb3ggYWxzbyBkaXNhYmxlcyByZW5kZXJpbmcuCisgICAg
Ly8gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94QXR0cmlidXRl
KQorICAgIFNWR1NWR0VsZW1lbnQqIHN2ZyA9IHRvU1ZHU1ZHRWxlbWVudChub2RlKCkpOworICAg
IEFTU0VSVChzdmcpOworICAgIGlmIChzdmctPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6dmlld0Jv
eEF0dHIpICYmIHN2Zy0+dmlld0JveCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgUGFnZSogcGFnZSA9IDA7CiAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCkp
CiAgICAgICAgIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAppbmRl
eCA3ZTdmMWNjNmRlMjJhYTdmMDdiZGVmNGNjYzQwNzkwYTBjYzFiNzI0Li4xZmQ2MGRlYTNkNjJh
NmJhNjIxNDE2MGY5OTA3MGFiMWQyNWE5ODA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcApAQCAt
MTQ5LDYgKzE0OSwxOSBAQCBib29sIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyOjpwb2ludElz
SW5zaWRlVmlld3BvcnRDbGlwKGNvbnN0IEZsb2F0UG9pbnQmIHBvaQogICAgIHJldHVybiBtX3Zp
ZXdwb3J0LmNvbnRhaW5zKHBvaW50SW5QYXJlbnQpOwogfQogCit2b2lkIFJlbmRlclNWR1ZpZXdw
b3J0Q29udGFpbmVyOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0KQoreworCisgICAgLy8gQW4gZW1wdHkgdmlld0JveCBkaXNhYmxlcyBy
ZW5kZXJpbmcuCisgICAgaWYgKG5vZGUoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSkg
eworICAgICAgICBTVkdTVkdFbGVtZW50KiBzdmcgPSB0b1NWR1NWR0VsZW1lbnQobm9kZSgpKTsK
KyAgICAgICAgaWYgKHN2Zy0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjp2aWV3Qm94QXR0cikgJiYg
c3ZnLT52aWV3Qm94KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIFJlbmRlclNWR0NvbnRhaW5lcjo6cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7Cit9
CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKaW5kZXggZWVj
ZTE4NTA5MzBhMDQxMmMwYWRkODA4ZTA0MWFjNTAyMDEwOTZlNC4uNDI3ZTQyM2RhYTJhNTIwZTFm
OTkxOGFmOGExMTBjZWFhYTc4N2E3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaApAQCAtNDEsNiArNDEs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUlmTGF5b3V0U2l6ZUNoYW5n
ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVl
ZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFp
bnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERTsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNTVkdWaWV3cG9ydENvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAi
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3
Qm94LmgKaW5kZXggNGRjNWEzYWVhZWY5Y2VhOWQ1ZDdiZGZjNTNhNDY3OWEzODM3NGQzNi4uMzQx
NzcyNTU0NzM4NWY5N2NkOTMwYjY4NjViZjdjNGI4MjUwOWFkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGaXRUb1ZpZXdCb3guaApAQCAtNDgsOCArNDgsMTIgQEAgcHVibGljOgogICAgICAgICBBU1NF
UlQodGFyZ2V0LT5kb2N1bWVudCgpKTsKICAgICAgICAgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6OnZp
ZXdCb3hBdHRyKSB7CiAgICAgICAgICAgICBGbG9hdFJlY3Qgdmlld0JveDsKLSAgICAgICAgICAg
IGlmICghdmFsdWUuaXNOdWxsKCkpCi0gICAgICAgICAgICAgICAgcGFyc2VWaWV3Qm94KHRhcmdl
dC0+ZG9jdW1lbnQoKSwgdmFsdWUsIHZpZXdCb3gpOworICAgICAgICAgICAgaWYgKCF2YWx1ZS5p
c051bGwoKSkgeworICAgICAgICAgICAgICAgIC8vIFdoZW4gdGhlIHNwZWNpZmllZCB2aWV3Qm94
IHZhbHVlIGlzIGludmFsaWQsIHRoZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGlnbm9yZWQKKyAgICAg
ICAgICAgICAgICAvLyAob3RoZXJ3aXNlIHdlIGVuZCB1cCB3aXRoIGEgemVyby1pbml0aWFsaXpl
ZCB2aWV3Qm94IHdoaWNoIHN1cHByZXNzZXMgcmVuZGVyaW5nKS4KKyAgICAgICAgICAgICAgICBp
ZiAoIXBhcnNlVmlld0JveCh0YXJnZXQtPmRvY3VtZW50KCksIHZhbHVlLCB2aWV3Qm94KSkKKyAg
ICAgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1vdmVBdHRyaWJ1dGUoU1ZHTmFtZXM6OnZpZXdC
b3hBdHRyKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRhcmdldC0+c2V0Vmlld0JveEJh
c2VWYWx1ZSh2aWV3Qm94KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYzE5NjM2MzRhMTc1N2ZjZDE3MjQyNWFhYTYwYzdkMmNmOThhNTBjZC4uOGQzNDQzZjkx
NTc0Y2U1NGJiZWZhZjA2ZTk5NmNkNmRjZjQ3ZDdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEzLTAzLTE5ICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW1NWR10gU3VwcHJlc3MgcGFpbnRpbmcgd2hlbiBhbiBlbXB0eSB2aWV3Qm94IGlzIHNwZWNp
ZmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEy
NjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHktZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTE5ICDDgWTD
oW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuIFNraXAgc29tZSBmYWlsaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MTBjMDc3NWNiODA3YmE2OTNhOTJhN2FmZGExNDk1ZTgyZmUyZTdhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5LWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGJvZHk+DQorICA8c3Zn
IHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIxMDBweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIj4NCisgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVu
Ii8+DQorICAgIDxyZWN0IHg9IjEyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9Imdy
ZWVuIi8+DQorICAgIDxyZWN0IHg9IjI0MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9
ImdyZWVuIi8+DQorICA8L3N2Zz4NCisNCisgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVp
Z2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij4NCisgIDwvZGl2Pg0KKzwvYm9k
eT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94
LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NzE2M2NkZTkxODZlNDZjMzliZTUxZDY3ZGRlOThkMzkzOWQyMzZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5Lmh0bWwK
QEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGJvZHk+DQorICA8
IS0tIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2
MjMuDQorICAgICAgIEVtcHR5LXZpZXdCb3ggZWxlbWVudHMgc2hvdWxkIG5vdCBiZSByZW5kZXJl
ZC4gLS0+DQorDQorICA8c3ZnIHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIxMDBweCIgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCisgICAgPGRlZnM+DQorICAgICAgPHBhdHRlcm4g
aWQ9InBhdHRlcm4iIHZpZXdCb3g9IjEwIDEwIDAgMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAi
Pg0KKyAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPg0K
KyAgICAgIDwvcGF0dGVybj4NCisNCisgICAgICA8bWFya2VyIGlkPSJtYXJrZXIiIHZpZXdCb3g9
IjAgMCAwIDAiIG1hcmtlcldpZHRoPSIxMDAiIG1hcmtlckhlaWdodD0iMTAwIj4NCisgICAgICAg
IDxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiLz4NCisgICAgICA8L21h
cmtlcj4NCisgICAgPC9kZWZzPg0KKw0KKyAgICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCIgZmlsbD0iZ3JlZW4iLz4NCisgICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgi
IHZpZXdCb3g9IjAgMCAwIDAiPg0KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmls
bD0icmVkIi8+DQorICAgIDwvc3ZnPg0KKw0KKyAgICA8cmVjdCB4PSIxMjAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIvPg0KKyAgICA8cmVjdCB4PSIxMjAiIHdpZHRoPSIx
MDAiIGhlaWdodD0iMTAwIiBmaWxsPSJ1cmwoI3BhdHRlcm4pIi8+DQorDQorICAgIDxyZWN0IHg9
IjI0MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+DQorICAgIDxsaW5l
IHgxPSIyNDAiIHgyPSIzNDAiIG1hcmtlci1zdGFydD0idXJsKCNtYXJrZXIpIi8+DQorICA8L3N2
Zz4NCisNCisgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47Ij4NCisgICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAw
cHgiIHZpZXdCb3g9IjAgMCAwIDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+
DQorICAgICAgPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmVkIi8+DQor
ICAgIDwvc3ZnPg0KKyAgPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194061</attachid>
            <date>2013-03-20 08:08:03 -0700</date>
            <delta_ts>2013-03-20 13:53:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112623-20130320110352.patch</filename>
            <type>text/plain</type>
            <size>15019</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwMzZiYTgzNzc4YWZl
ZTkwNDhkNzcyMWY1MTk5ZDUyZjQ2MmI2Ni4uMTUzM2JkM2IyYzRhYjAxMmM1MTU0M2ZmYTQ3NGU5
NGNkYTAyYzY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAzLTIwICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NWR10gU3VwcHJl
c3MgcGFpbnRpbmcgd2hlbiBhbiBlbXB0eSB2aWV3Qm94IGlzIHNwZWNpZmllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGVyIHNwZWMsIGVsZW1lbnRz
IHdpdGggYW4gZW1wdHkgdmlld0JveCBzaG91bGQgbm90IGJlIHJlbmRlcmVkOgorICAgICAgICBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0dHJpYnV0ZS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIG1pc3Npbmcgdmlld0JveCBjaGVja3MgdG8gUmVu
ZGVyU1ZHUm9vdCwgUmVuZGVyU1ZHVmlld1BvcnRDb250YWluZXIsCisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyIGFuZCBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcidzIHBhaW50IG1ldGhv
ZHMuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBjYXNlIG9mICJ2aWV3Qm94IHBy
ZXNlbnQgYnV0IGludmFsaWQiLCB0aGUgcGF0Y2ggYWxzbyBpbnRyb2R1Y2VzCisgICAgICAgIFNW
R0FuaW1hdGVkUHJvcGVydHkgcGx1bWJpbmcgZm9yIHRyYWNraW5nIHByb3BlcnR5IHZhbGlkaXR5
OiB0aGUgYmFzZVZhbCBzZXR0ZXIgbm93IHRha2VzCisgICAgICAgIGFuIGFkZGl0aW9uYWwgb3B0
aW9uYWwgJ3ZhbGlkVmFsdWUnIGJvb2xlYW4gcGFyYW1ldGVyLCB3aGljaCBjYW4gbGF0ZXIgYmUg
cXVlcmllZCB2aWEgYQorICAgICAgICBtYWNyb2VkIGdldHRlciAoTG93ZXJQcm9wZXJ0eSMjSXNW
YWxpZCgpKS4KKworICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHkuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6ZHJhdyk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4pOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmg6CisgICAgICAgIChS
ZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcik6CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0UGF0
dGVybkF0dHJpYnV0ZXMpOgorICAgICAgICBTdXBwcmVzcyBwYWludGluZyBpZiBhIHZhbGlkIGVt
cHR5IHZpZXdCb3ggaXMgZm91bmQuCisKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgTWFyayB0aGUgdmlld0JveCBwcm9wZXJ0eSBhcyBpbnZhbGlkIGlmIG5vdCBzdWNjZXNz
ZnVsbHkgcGFyc2VkLgorCisgICAgICAgICogc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaDoKKyAgICAgICAgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpOgorICAgICAgICAq
IHN2Zy9TVkdVUklSZWZlcmVuY2UuaDoKKyAgICAgICAgKFNWR1VSSVJlZmVyZW5jZSk6CisgICAg
ICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5OjpTVkdTeW5jaHJv
bml6YWJsZUFuaW1hdGVkUHJvcGVydHkpOgorICAgICAgICAoU1ZHU3luY2hyb25pemFibGVBbmlt
YXRlZFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBQbHVtYmluZyBmb3Ig
dHJhY2tpbmcgcHJvcGVydHkgdmFsdWUgdmFsaWRhdGlvbi4KKwogMjAxMy0wMy0yMCAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjE0NjMzMS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKaW5kZXggN2FhZWYwZTllMDEx
NWViNGFlZjhlYjU1MzM0OWUwZDcyNDk5YzVjMy4uNDNhNWFlYTljNzBlYjc4NzNkYzgzOTc5OGUx
NGM4MTQ3MTg0NjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKQEAgLTEzMiw2ICsxMzIsMTIgQEAgQWZm
aW5lVHJhbnNmb3JtIFJlbmRlclNWR1Jlc291cmNlTWFya2VyOjptYXJrZXJUcmFuc2Zvcm1hdGlv
bihjb25zdCBGbG9hdFBvaW50JgogCiB2b2lkIFJlbmRlclNWR1Jlc291cmNlTWFya2VyOjpkcmF3
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkK
IHsKKyAgICAvLyBBbiBlbXB0eSB2aWV3Qm94IGRpc2FibGVzIHJlbmRlcmluZy4KKyAgICBTVkdN
YXJrZXJFbGVtZW50KiBtYXJrZXIgPSB0b1NWR01hcmtlckVsZW1lbnQodG9TVkdFbGVtZW50KG5v
ZGUoKSkpOworICAgIEFTU0VSVChtYXJrZXIpOworICAgIGlmIChtYXJrZXItPmhhc0F0dHJpYnV0
ZShTVkdOYW1lczo6dmlld0JveEF0dHIpICYmIG1hcmtlci0+dmlld0JveElzVmFsaWQoKSAmJiBt
YXJrZXItPnZpZXdCb3goKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFBhaW50
SW5mbyBpbmZvKHBhaW50SW5mbyk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKCppbmZvLmNvbnRleHQpOwogICAgIGluZm8uYXBwbHlUcmFuc2Zvcm0odHJhbnNmb3Jt
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuLmNwcAppbmRleCAxMTBkY2U0YzFjNDQ2ODkxYmQ5MGFmMWY2YjI2NDNi
M2NkOWViYmJkLi40ZGY0YzIyYTkwMDA4N2Y4MDMwYWZiNTZlMDEyOWY1YTgwN2RlN2ZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0
dGVybi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4uY3BwCkBAIC03Nyw2ICs3NywxMCBAQCBQYXR0ZXJuRGF0YSogUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4oUmVuZGVyT2JqZWN0KiBvYmplY3QsIHVuc2ln
bgogICAgIGlmICghbV9hdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpKQogICAgICAg
ICByZXR1cm4gMDsKIAorICAgIC8vIEFuIGVtcHR5IHZpZXdCb3ggZGlzYWJsZXMgcmVuZGVyaW5n
LgorICAgIGlmIChtX2F0dHJpYnV0ZXMuaGFzVmlld0JveCgpICYmIG1fYXR0cmlidXRlcy52aWV3
Qm94KCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIC8vIENvbXB1dGUgYWxs
IG5lY2Vzc2FyeSB0cmFuc2Zvcm1hdGlvbnMgdG8gYnVpbGQgdGhlIHRpbGUgaW1hZ2UgJiB0aGUg
cGF0dGVybi4KICAgICBGbG9hdFJlY3QgdGlsZUJvdW5kYXJpZXM7CiAgICAgQWZmaW5lVHJhbnNm
b3JtIHRpbGVJbWFnZVRyYW5zZm9ybTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDFjMTNkOWE4MGVlNTJjZDI2NWQzNTRmODQ4MjM3Y2Ji
ZTVkMjdmY2QuLjA1ODY5Yzk5NjZhYTI2NzU1OWM5YTYyZTM5ZTVkNjlmNmVkOGFlY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMjY5
LDEwICsyNjksMTcgQEAgdm9pZCBSZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnQKICAgICBpZiAocGl4ZWxTbmFw
cGVkQm9yZGVyQm94UmVjdCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8g
RG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0ZWx5IGRpc2FibGVkIGl0LgorICAg
IC8vIERvbid0IHBhaW50LCBpZiB0aGUgY29udGV4dCBleHBsaWNpdGx5IGRpc2FibGVkIGl0Lgog
ICAgIGlmIChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICBy
ZXR1cm47CiAKKyAgICAvLyBBbiBlbXB0eSB2aWV3Qm94IGFsc28gZGlzYWJsZXMgcmVuZGVyaW5n
LgorICAgIC8vIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0
dHJpYnV0ZSkKKyAgICBTVkdTVkdFbGVtZW50KiBzdmcgPSB0b1NWR1NWR0VsZW1lbnQobm9kZSgp
KTsKKyAgICBBU1NFUlQoc3ZnKTsKKyAgICBpZiAoc3ZnLT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6
OnZpZXdCb3hBdHRyKSAmJiBzdmctPnZpZXdCb3hJc1ZhbGlkKCkgJiYgc3ZnLT52aWV3Qm94KCku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICBQYWdlKiBwYWdlID0gMDsKICAgICBp
ZiAoRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKSkKICAgICAgICAgcGFnZSA9IGZyYW1lLT5w
YWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwCmluZGV4IDdlN2YxY2M2ZGUyMmFhN2YwN2JkZWY0
Y2NjNDA3OTBhMGNjMWI3MjQuLjdiMThiZDY5ODAyOTg3NTNmY2I4MmExZjM5Mzk5YmRmM2I2MDFl
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmll
d3BvcnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwCkBAIC0xNDksNiArMTQ5LDE5IEBAIGJvb2wgUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OnBvaW50SXNJbnNpZGVWaWV3cG9ydENsaXAoY29uc3Qg
RmxvYXRQb2ludCYgcG9pCiAgICAgcmV0dXJuIG1fdmlld3BvcnQuY29udGFpbnMocG9pbnRJblBh
cmVudCk7CiB9CiAKK3ZvaWQgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OnBhaW50KFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCit7CisKKyAg
ICAvLyBBbiBlbXB0eSB2aWV3Qm94IGRpc2FibGVzIHJlbmRlcmluZy4KKyAgICBpZiAobm9kZSgp
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpKSB7CisgICAgICAgIFNWR1NWR0VsZW1lbnQq
IHN2ZyA9IHRvU1ZHU1ZHRWxlbWVudChub2RlKCkpOworICAgICAgICBpZiAoc3ZnLT5oYXNBdHRy
aWJ1dGUoU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSAmJiBzdmctPnZpZXdCb3hJc1ZhbGlkKCkgJiYg
c3ZnLT52aWV3Qm94KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIFJlbmRlclNWR0NvbnRhaW5lcjo6cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7Cit9
CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKaW5kZXggZWVj
ZTE4NTA5MzBhMDQxMmMwYWRkODA4ZTA0MWFjNTAyMDEwOTZlNC4uNDI3ZTQyM2RhYTJhNTIwZTFm
OTkxOGFmOGExMTBjZWFhYTc4N2E3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaApAQCAtNDEsNiArNDEs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUlmTGF5b3V0U2l6ZUNoYW5n
ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVl
ZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFp
bnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERTsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNTVkdWaWV3cG9ydENvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAi
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaAppbmRleCBmNmE1NDdjMmMyMDdmMWU0OWYz
NDU3MTg2MjVhZTU1ODRkODg4NDM0Li4wMTI4NWFhZDU0NjllZmNkODk1ZjYwZjRkMzJhNjI4YWQ2
YTFkMDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAg
Ly8gVGhlc2UgdHlwZXMgbG9vayBhIGJpdCBhd2t3YXJkLCBidXQgaGF2ZSB0byBtYXRjaCB0aGUg
Z2VuZXJpYyB0eXBlcyBvZiB0aGUgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSBtYWNyb3MuCi0gICAgdmly
dHVhbCB2b2lkIHNldEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRCYXNlVmFsdWUoY29uc3QgYm9v
bCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEJh
c2VWYWx1ZShjb25zdCBib29sJiwgY29uc3QgYm9vbCB2YWxpZFZhbHVlID0gdHJ1ZSkgPSAwOwog
ICAgIHZpcnR1YWwgYm9vbCYgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEJhc2VWYWx1ZSgpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRIYXZlRmlyZWRMb2FkRXZlbnQoYm9vbCkg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggNGRjNWEzYWVhZWY5Y2Vh
OWQ1ZDdiZGZjNTNhNDY3OWEzODM3NGQzNi4uYjQzOGI0OGI5NDEyZWZjNGZlZDI4ZjhjMmM1MDA5
NGU3MDI0ODcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0Jv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNDgsOSAr
NDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCh0YXJnZXQtPmRvY3VtZW50KCkpOwogICAg
ICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld0JveEF0dHIpIHsKICAgICAgICAgICAgIEZs
b2F0UmVjdCB2aWV3Qm94OwotICAgICAgICAgICAgaWYgKCF2YWx1ZS5pc051bGwoKSkKLSAgICAg
ICAgICAgICAgICBwYXJzZVZpZXdCb3godGFyZ2V0LT5kb2N1bWVudCgpLCB2YWx1ZSwgdmlld0Jv
eCk7Ci0gICAgICAgICAgICB0YXJnZXQtPnNldFZpZXdCb3hCYXNlVmFsdWUodmlld0JveCk7Cisg
ICAgICAgICAgICBib29sIHZhbHVlSXNWYWxpZCA9ICF2YWx1ZS5pc051bGwoKSAmJiBwYXJzZVZp
ZXdCb3godGFyZ2V0LT5kb2N1bWVudCgpLCB2YWx1ZSwgdmlld0JveCk7CisgICAgICAgICAgICB0
YXJnZXQtPnNldFZpZXdCb3hCYXNlVmFsdWUodmlld0JveCwgdmFsdWVJc1ZhbGlkKTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwCmluZGV4IDJjMDc1NDhhNTNjZmZjOTVkNmY3ODNmOGZjZTI5ZTYyOWU4
N2IxMTMuLjNjYWE4MmRjMmE0ZmVlMjk1MzNhMWY4MDA4MmNlYjY4NTFmYTdkMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcApAQCAtMjA0LDcgKzIwNCw3IEBAIHZv
aWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmNvbGxlY3RQYXR0ZXJuQXR0cmlidXRlcyhQYXR0ZXJuQXR0
cmlidXRlcyYgYXR0cmlidXRlcykKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc0hlaWdodCgp
ICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6aGVpZ2h0QXR0cikpCiAgICAgICAg
ICAgICBhdHRyaWJ1dGVzLnNldEhlaWdodChjdXJyZW50LT5oZWlnaHQoKSk7CiAKLSAgICAgICAg
aWYgKCFhdHRyaWJ1dGVzLmhhc1ZpZXdCb3goKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZH
TmFtZXM6OnZpZXdCb3hBdHRyKSkKKyAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1ZpZXdCb3go
KSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSAmJiBjdXJy
ZW50LT52aWV3Qm94SXNWYWxpZCgpKQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRWaWV3Qm94
KGN1cnJlbnQtPnZpZXdCb3goKSk7CiAKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1ByZXNl
cnZlQXNwZWN0UmF0aW8oKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnByZXNl
cnZlQXNwZWN0UmF0aW9BdHRyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
UklSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAppbmRl
eCBhNTQ4MDBmYjlkMWE3ZWE0Mjc3ZGQ1MWI4NjFhMDUxYmFkODY5NzIyLi40NmNiMjY1MzVmOTUx
M2FkZmMwOTk5NTlkYWFlYWRkNjIyYmJjNzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVVJJUmVmZXJlbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVy
ZW5jZS5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0SHJlZkJhc2VWYWx1ZShjb25zdCBTdHJpbmcmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHNldEhyZWZCYXNlVmFsdWUoY29uc3QgU3RyaW5nJiwgY29uc3QgYm9vbCB2
YWxpZFZhbHVlID0gdHJ1ZSkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0
eU1hY3Jvcy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eU1hY3Jvcy5oCmluZGV4IGRhMGRiMzUzM2UyMzc3MmFmODE2Mjc4NDg0ZWI4MTEzYWY2MDk1
ZDIuLjc0NWZiYjQzZDc4NmE2YmJjZDEzOTEwOTI0NzBkM2E2OWI5Njg4NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5
TWFjcm9zLmgKQEAgLTM2LDYgKzM2LDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0
ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KCkKICAg
ICAgICAgOiB2YWx1ZShTVkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+Ojppbml0aWFsVmFs
dWUoKSkKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1Zh
bGlkKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQzLDYgKzQ0LDcgQEAgc3RydWN0IFNWR1N5
bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmlt
YXRlZFByb3BlcnR5KGNvbnN0IENvbnN0cnVjdG9yUGFyYW1ldGVyMSYgdmFsdWUxKQogICAgICAg
ICA6IHZhbHVlKHZhbHVlMSkKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAg
ICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTUwLDYgKzUyLDcgQEAg
c3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hy
b25pemFibGVBbmltYXRlZFByb3BlcnR5KGNvbnN0IENvbnN0cnVjdG9yUGFyYW1ldGVyMSYgdmFs
dWUxLCBjb25zdCBDb25zdHJ1Y3RvclBhcmFtZXRlcjImIHZhbHVlMikKICAgICAgICAgOiB2YWx1
ZSh2YWx1ZTEsIHZhbHVlMikKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAg
ICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTYwLDYgKzYzLDcgQEAg
c3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAKICAgICBQcm9wZXJ0
eVR5cGUgdmFsdWU7CiAgICAgYm9vbCBzaG91bGRTeW5jaHJvbml6ZSA6IDE7CisgICAgYm9vbCBp
c1ZhbGlkIDogMTsKIH07CiAKIC8vIFByb3BlcnR5IHJlZ2lzdHJhdGlvbiBoZWxwZXJzCkBAIC0x
MjUsOSArMTI5LDEwIEBAIHB1YmxpYzogXAogICAgICAgICByZXR1cm4gbV8jI0xvd2VyUHJvcGVy
dHkudmFsdWU7IFwKICAgICB9IFwKIFwKLSAgICB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFz
ZVZhbHVlKGNvbnN0IFByb3BlcnR5VHlwZSYgdHlwZSkgXAorICAgIHZvaWQgc2V0IyNVcHBlclBy
b3BlcnR5IyNCYXNlVmFsdWUoY29uc3QgUHJvcGVydHlUeXBlJiB0eXBlLCBjb25zdCBib29sIHZh
bGlkVmFsdWUgPSB0cnVlKSBcCiAgICAgeyBcCiAgICAgICAgIG1fIyNMb3dlclByb3BlcnR5LnZh
bHVlID0gdHlwZTsgXAorICAgICAgICBtXyMjTG93ZXJQcm9wZXJ0eS5pc1ZhbGlkID0gdmFsaWRW
YWx1ZTsgXAogICAgIH0gXAogXAogICAgIFBhc3NSZWZQdHI8VGVhck9mZlR5cGU+IExvd2VyUHJv
cGVydHkjI0FuaW1hdGVkKCkgXApAQCAtMTM2LDYgKzE0MSwxMSBAQCBwdWJsaWM6IFwKICAgICAg
ICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8VGVhck9mZlR5cGU+KGxvb2t1cE9yQ3JlYXRl
IyNVcHBlclByb3BlcnR5IyNXcmFwcGVyKHRoaXMpKTsgXAogICAgIH0gXAogXAorICAgIGJvb2wg
TG93ZXJQcm9wZXJ0eSMjSXNWYWxpZCgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJu
IG1fIyNMb3dlclByb3BlcnR5LmlzVmFsaWQ7IFwKKyAgICB9IFwKK1wKIHByaXZhdGU6IFwKICAg
ICB2b2lkIHN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5KCkgXAogICAgIHsgXApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2
NGM2OTM3OWRjYWVjODc0MjY1YzgzN2U5NDM2MzNhMzIzNDk2YmYuLmQzYzZhYTYyZTZhYTFjYThm
NzQ4ZTg5ZDk3MDdlMGZjYjYzY2FjNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMy0y
MCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTVkdd
IFN1cHByZXNzIHBhaW50aW5nIHdoZW4gYW4gZW1wdHkgdmlld0JveCBpcyBzcGVjaWZpZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjYyMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3ZnL2N1c3Rv
bS92aWV3Qm94LWVtcHR5LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vdmlld0JveC1lbXB0eS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0yMCAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjE0NjMzMS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdmll
d0JveC1lbXB0eS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94
LWVtcHR5LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYzODQxMWQ4Njc0NDY2OTg1NDViMjI5
MDMzNDJiYmRlNmM1YzU3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdmlld0JveC1lbXB0eS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKyAgPHN2ZyB3aWR0aD0iNjAwcHgiIGhlaWdodD0iMTAw
cHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPHJlY3Qgd2lkdGg9
IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+CisgICAgPHJlY3QgeD0iMTIwIiB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8cmVjdCB4PSIyNDAiIHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIvPgorICA8L3N2Zz4KKworICA8ZGl2
IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyI+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3ZpZXdCb3gtZW1wdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmUwYmNjYzZkZTkxMGU2YzJmM2JlMTY3
N2E2MzViMTlkZTNhNWJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS92aWV3Qm94LWVtcHR5Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5PgorICA8IS0tIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTI2MjMuCisgICAgICAgRW1wdHktdmlld0JveCBlbGVtZW50cyBzaG91
bGQgbm90IGJlIHJlbmRlcmVkLiAtLT4KKworICA8c3ZnIHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIx
MDBweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKyAgICA8ZGVmcz4KKyAg
ICAgIDxwYXR0ZXJuIGlkPSJwYXR0ZXJuIiB2aWV3Qm94PSIxMCAxMCAwIDAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIj4KKyAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZp
bGw9InJlZCIvPgorICAgICAgPC9wYXR0ZXJuPgorCisgICAgICA8bWFya2VyIGlkPSJtYXJrZXIi
IHZpZXdCb3g9IjAgMCAwIDAiIG1hcmtlcldpZHRoPSIxMDAiIG1hcmtlckhlaWdodD0iMTAwIj4K
KyAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPgorICAg
ICAgPC9tYXJrZXI+CisgICAgPC9kZWZzPgorCisgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIGZpbGw9ImdyZWVuIi8+CisgICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAw
cHgiIHZpZXdCb3g9IjAgMCAwIDAiPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBm
aWxsPSJyZWQiLz4KKyAgICA8L3N2Zz4KKworICAgIDxyZWN0IHg9IjEyMCIgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+CisgICAgPHJlY3QgeD0iMTIwIiB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNwYXR0ZXJuKSIvPgorCisgICAgPHJlY3QgeD0iMjQw
IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8bGluZSB4MT0i
MjQwIiB4Mj0iMzQwIiBtYXJrZXItc3RhcnQ9InVybCgjbWFya2VyKSIvPgorICA8L3N2Zz4KKwor
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyI+CisgICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdC
b3g9IjAgMCAwIDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgICA8
cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJyZWQiLz4KKyAgICA8L3N2Zz4K
KyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194112</attachid>
            <date>2013-03-20 13:53:12 -0700</date>
            <delta_ts>2013-03-21 10:50:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112623-20130320164901.patch</filename>
            <type>text/plain</type>
            <size>15631</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwMzZiYTgzNzc4YWZl
ZTkwNDhkNzcyMWY1MTk5ZDUyZjQ2MmI2Ni4uZGUwYmZiMTQzZTBlZWViMmQxYTlkOTg4MjgwNzc3
MGMyMzljOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAzLTIwICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NWR10gU3VwcHJl
c3MgcGFpbnRpbmcgd2hlbiBhbiBlbXB0eSB2aWV3Qm94IGlzIHNwZWNpZmllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGVyIHNwZWMsIGVsZW1lbnRz
IHdpdGggYW4gZW1wdHkgdmlld0JveCBzaG91bGQgbm90IGJlIHJlbmRlcmVkOgorICAgICAgICBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0dHJpYnV0ZS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIG1pc3Npbmcgdmlld0JveCBjaGVja3MgdG8gUmVu
ZGVyU1ZHUm9vdCwgUmVuZGVyU1ZHVmlld1BvcnRDb250YWluZXIsCisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyIGFuZCBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcidzIHBhaW50IG1ldGhv
ZHMuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBjYXNlIG9mICJ2aWV3Qm94IHBy
ZXNlbnQgYnV0IGludmFsaWQiLCB0aGUgcGF0Y2ggYWxzbyBpbnRyb2R1Y2VzCisgICAgICAgIFNW
R0FuaW1hdGVkUHJvcGVydHkgcGx1bWJpbmcgZm9yIHRyYWNraW5nIHByb3BlcnR5IHZhbGlkaXR5
OiB0aGUgYmFzZVZhbCBzZXR0ZXIgbm93IHRha2VzCisgICAgICAgIGFuIGFkZGl0aW9uYWwgb3B0
aW9uYWwgJ3ZhbGlkVmFsdWUnIGJvb2xlYW4gcGFyYW1ldGVyLCB3aGljaCBjYW4gbGF0ZXIgYmUg
cXVlcmllZCB2aWEgYQorICAgICAgICBtYWNyb2VkIGdldHRlciAoTG93ZXJQcm9wZXJ0eSMjSXNW
YWxpZCgpKS4KKworICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHkuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6ZHJhdyk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4pOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmg6CisgICAgICAgIChS
ZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcik6CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0UGF0
dGVybkF0dHJpYnV0ZXMpOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpoYXNFbXB0eVZpZXdCb3gpOgorICAgICAgICAoU1ZH
U1ZHRWxlbWVudCk6CisgICAgICAgIFN1cHByZXNzIHBhaW50aW5nIGlmIGEgdmFsaWQgZW1wdHkg
dmlld0JveCBpcyBmb3VuZC4KKworICAgICAgICAqIHN2Zy9TVkdGaXRUb1ZpZXdCb3guaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAg
ICBNYXJrIHRoZSB2aWV3Qm94IHByb3BlcnR5IGFzIGludmFsaWQgaWYgbm90IHN1Y2Nlc3NmdWxs
eSBwYXJzZWQuCisKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
OgorICAgICAgICAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCk6CisgICAgICAgICogc3Zn
L1NWR1VSSVJlZmVyZW5jZS5oOgorICAgICAgICAoU1ZHVVJJUmVmZXJlbmNlKToKKyAgICAgICAg
KiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVkUHJvcGVydHk6OlNWR1N5bmNocm9uaXph
YmxlQW5pbWF0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVk
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIFBsdW1iaW5nIGZvciB0cmFj
a2luZyBwcm9wZXJ0eSB2YWx1ZSB2YWxpZGF0aW9uLgorCiAyMDEzLTAzLTIwICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTQ2MzMxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcAppbmRleCA3YWFlZjBlOWUwMTE1ZWI0
YWVmOGViNTUzMzQ5ZTBkNzI0OTljNWMzLi40M2E1YWVhOWM3MGViNzg3M2RjODM5Nzk4ZTE0Yzgx
NDcxODQ2OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcApAQCAtMTMyLDYgKzEzMiwxMiBAQCBBZmZpbmVU
cmFuc2Zvcm0gUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6Om1hcmtlclRyYW5zZm9ybWF0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmCiAKIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmRyYXcoUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogewor
ICAgIC8vIEFuIGVtcHR5IHZpZXdCb3ggZGlzYWJsZXMgcmVuZGVyaW5nLgorICAgIFNWR01hcmtl
ckVsZW1lbnQqIG1hcmtlciA9IHRvU1ZHTWFya2VyRWxlbWVudCh0b1NWR0VsZW1lbnQobm9kZSgp
KSk7CisgICAgQVNTRVJUKG1hcmtlcik7CisgICAgaWYgKG1hcmtlci0+aGFzQXR0cmlidXRlKFNW
R05hbWVzOjp2aWV3Qm94QXR0cikgJiYgbWFya2VyLT52aWV3Qm94SXNWYWxpZCgpICYmIG1hcmtl
ci0+dmlld0JveCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUGFpbnRJbmZv
IGluZm8ocGFpbnRJbmZvKTsKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIoKmluZm8uY29udGV4dCk7CiAgICAgaW5mby5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4uY3BwCmluZGV4IDExMGRjZTRjMWM0NDY4OTFiZDkwYWYxZjZiMjY0M2IzY2Q5
ZWJiYmQuLjRkZjRjMjJhOTAwMDg3ZjgwMzBhZmI1NmUwMTI5ZjVhODA3ZGU3ZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
UGF0dGVybi5jcHAKQEAgLTc3LDYgKzc3LDEwIEBAIFBhdHRlcm5EYXRhKiBSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm46OmJ1aWxkUGF0dGVybihSZW5kZXJPYmplY3QqIG9iamVjdCwgdW5zaWduCiAg
ICAgaWYgKCFtX2F0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCkpCiAgICAgICAgIHJl
dHVybiAwOwogCisgICAgLy8gQW4gZW1wdHkgdmlld0JveCBkaXNhYmxlcyByZW5kZXJpbmcuCisg
ICAgaWYgKG1fYXR0cmlidXRlcy5oYXNWaWV3Qm94KCkgJiYgbV9hdHRyaWJ1dGVzLnZpZXdCb3go
KS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgLy8gQ29tcHV0ZSBhbGwgbmVj
ZXNzYXJ5IHRyYW5zZm9ybWF0aW9ucyB0byBidWlsZCB0aGUgdGlsZSBpbWFnZSAmIHRoZSBwYXR0
ZXJuLgogICAgIEZsb2F0UmVjdCB0aWxlQm91bmRhcmllczsKICAgICBBZmZpbmVUcmFuc2Zvcm0g
dGlsZUltYWdlVHJhbnNmb3JtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAKaW5kZXggMWMxM2Q5YTgwZWU1MmNkMjY1ZDM1NGY4NDgyMzdjYmJlNWQy
N2ZjZC4uOTlhMGM0MTdmYThjZDkxOTFjNmI5Y2NkODIwYTg3ZTc1YzA0OTIyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yNjksMTAg
KzI2OSwxNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludAogICAgIGlmIChwaXhlbFNuYXBwZWRC
b3JkZXJCb3hSZWN0KCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBEb24n
dCBwYWludCwgaWYgdGhlIGNvbnRleHQgZXhwbGljaXRlbHkgZGlzYWJsZWQgaXQuCisgICAgLy8g
RG9uJ3QgcGFpbnQsIGlmIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQuCiAgICAg
aWYgKHBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIAorICAgIC8vIEFuIGVtcHR5IHZpZXdCb3ggYWxzbyBkaXNhYmxlcyByZW5kZXJpbmcuCisg
ICAgLy8gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94QXR0cmli
dXRlKQorICAgIFNWR1NWR0VsZW1lbnQqIHN2ZyA9IHRvU1ZHU1ZHRWxlbWVudChub2RlKCkpOwor
ICAgIEFTU0VSVChzdmcpOworICAgIGlmIChzdmctPmhhc0VtcHR5Vmlld0JveCgpKQorICAgICAg
ICByZXR1cm47CisKICAgICBQYWdlKiBwYWdlID0gMDsKICAgICBpZiAoRnJhbWUqIGZyYW1lID0g
dGhpcy0+ZnJhbWUoKSkKICAgICAgICAgcGFnZSA9IGZyYW1lLT5wYWdlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250
YWluZXIuY3BwCmluZGV4IDdlN2YxY2M2ZGUyMmFhN2YwN2JkZWY0Y2NjNDA3OTBhMGNjMWI3MjQu
LjgzNDQ1MmQyMDk5ZjAxNjExNjM2YWMxMGQ3MmMxMTUwNDM4ZmEyZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250
YWluZXIuY3BwCkBAIC0xNDksNiArMTQ5LDE3IEBAIGJvb2wgUmVuZGVyU1ZHVmlld3BvcnRDb250
YWluZXI6OnBvaW50SXNJbnNpZGVWaWV3cG9ydENsaXAoY29uc3QgRmxvYXRQb2ludCYgcG9pCiAg
ICAgcmV0dXJuIG1fdmlld3BvcnQuY29udGFpbnMocG9pbnRJblBhcmVudCk7CiB9CiAKK3ZvaWQg
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCit7CisgICAgLy8gQW4gZW1wdHkgdmlld0Jv
eCBkaXNhYmxlcyByZW5kZXJpbmcuCisgICAgaWYgKG5vZGUoKS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6c3ZnVGFnKSkgeworICAgICAgICBpZiAodG9TVkdTVkdFbGVtZW50KG5vZGUoKSktPmhhc0Vt
cHR5Vmlld0JveCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlbmRlclNW
R0NvbnRhaW5lcjo6cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7Cit9CisKIH0KIAogI2Vu
ZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKaW5kZXggZWVjZTE4NTA5MzBhMDQx
MmMwYWRkODA4ZTA0MWFjNTAyMDEwOTZlNC4uNDI3ZTQyM2RhYTJhNTIwZTFmOTkxOGFmOGExMTBj
ZWFhYTc4N2E3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaApAQCAtNDEsNiArNDEsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUlmTGF5b3V0U2l6ZUNoYW5nZWQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVlZHNUcmFuc2Zvcm1V
cGRhdGUgPSB0cnVlOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29u
c3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERTsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wg
aXNTVkdWaWV3cG9ydENvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHVmll
d3BvcnRDb250YWluZXIiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuaAppbmRleCBmNmE1NDdjMmMyMDdmMWU0OWYzNDU3MTg2MjVhZTU1
ODRkODg4NDM0Li4wMTI4NWFhZDU0NjllZmNkODk1ZjYwZjRkMzJhNjI4YWQ2YTFkMDExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgK
QEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlc2UgdHlw
ZXMgbG9vayBhIGJpdCBhd2t3YXJkLCBidXQgaGF2ZSB0byBtYXRjaCB0aGUgZ2VuZXJpYyB0eXBl
cyBvZiB0aGUgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSBtYWNyb3MuCi0gICAgdmlydHVhbCB2b2lkIHNl
dEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRCYXNlVmFsdWUoY29uc3QgYm9vbCYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEJhc2VWYWx1ZShjb25z
dCBib29sJiwgY29uc3QgYm9vbCB2YWxpZFZhbHVlID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCYgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEJhc2VWYWx1ZSgpIGNvbnN0ID0gMDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBzZXRIYXZlRmlyZWRMb2FkRXZlbnQoYm9vbCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggNGRjNWEzYWVhZWY5Y2VhOWQ1ZDdiZGZjNTNh
NDY3OWEzODM3NGQzNi4uYjQzOGI0OGI5NDEyZWZjNGZlZDI4ZjhjMmM1MDA5NGU3MDI0ODcyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNDgsOSArNDgsOCBAQCBwdWJs
aWM6CiAgICAgICAgIEFTU0VSVCh0YXJnZXQtPmRvY3VtZW50KCkpOwogICAgICAgICBpZiAobmFt
ZSA9PSBTVkdOYW1lczo6dmlld0JveEF0dHIpIHsKICAgICAgICAgICAgIEZsb2F0UmVjdCB2aWV3
Qm94OwotICAgICAgICAgICAgaWYgKCF2YWx1ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBw
YXJzZVZpZXdCb3godGFyZ2V0LT5kb2N1bWVudCgpLCB2YWx1ZSwgdmlld0JveCk7Ci0gICAgICAg
ICAgICB0YXJnZXQtPnNldFZpZXdCb3hCYXNlVmFsdWUodmlld0JveCk7CisgICAgICAgICAgICBi
b29sIHZhbHVlSXNWYWxpZCA9ICF2YWx1ZS5pc051bGwoKSAmJiBwYXJzZVZpZXdCb3godGFyZ2V0
LT5kb2N1bWVudCgpLCB2YWx1ZSwgdmlld0JveCk7CisgICAgICAgICAgICB0YXJnZXQtPnNldFZp
ZXdCb3hCYXNlVmFsdWUodmlld0JveCwgdmFsdWVJc1ZhbGlkKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXR0ZXJuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQu
Y3BwCmluZGV4IDJjMDc1NDhhNTNjZmZjOTVkNmY3ODNmOGZjZTI5ZTYyOWU4N2IxMTMuLjNjYWE4
MmRjMmE0ZmVlMjk1MzNhMWY4MDA4MmNlYjY4NTFmYTdkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdHRlcm5FbGVtZW50LmNwcApAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgU1ZHUGF0dGVy
bkVsZW1lbnQ6OmNvbGxlY3RQYXR0ZXJuQXR0cmlidXRlcyhQYXR0ZXJuQXR0cmlidXRlcyYgYXR0
cmlidXRlcykKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc0hlaWdodCgpICYmIGN1cnJlbnQt
Pmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6aGVpZ2h0QXR0cikpCiAgICAgICAgICAgICBhdHRyaWJ1
dGVzLnNldEhlaWdodChjdXJyZW50LT5oZWlnaHQoKSk7CiAKLSAgICAgICAgaWYgKCFhdHRyaWJ1
dGVzLmhhc1ZpZXdCb3goKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnZpZXdC
b3hBdHRyKSkKKyAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1ZpZXdCb3goKSAmJiBjdXJyZW50
LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSAmJiBjdXJyZW50LT52aWV3Qm94
SXNWYWxpZCgpKQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRWaWV3Qm94KGN1cnJlbnQtPnZp
ZXdCb3goKSk7CiAKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1ByZXNlcnZlQXNwZWN0UmF0
aW8oKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0
aW9BdHRyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDljNDY0ZDg1YTZiMzMz
YmIyYmY2MTM3NzYzOGY5NmNlMTRkNmFmNTAuLjBkYmMxMTU4Zjg0YTY4OGJjNjlkMjJmNWYwMzlk
NGFjMjk5MTZhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtMTM1LDYgKzEz
NSw4IEBAIHB1YmxpYzoKICAgICBTVkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3Qg
eyByZXR1cm4gbV96b29tQW5kUGFuOyB9CiAgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVk
IHNob3J0IHpvb21BbmRQYW4pIHsgbV96b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VG
cm9tTnVtYmVyKHpvb21BbmRQYW4pOyB9CiAKKyAgICBib29sIGhhc0VtcHR5Vmlld0JveCgpIHsg
cmV0dXJuIGhhc0F0dHJpYnV0ZShTVkdOYW1lczo6dmlld0JveEF0dHIpICYmIHZpZXdCb3hJc1Zh
bGlkKCkgJiYgdmlld0JveCgpLmlzRW1wdHkoKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIGRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkgT1ZFUlJJ
REU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAppbmRleCBhNTQ4MDBmYjlkMWE3
ZWE0Mjc3ZGQ1MWI4NjFhMDUxYmFkODY5NzIyLi40NmNiMjY1MzVmOTUxM2FkZmMwOTk5NTlkYWFl
YWRkNjIyYmJjNzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJl
bmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCkBAIC01NCw3
ICs1NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0SHJlZkJhc2VWYWx1ZShjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
dEhyZWZCYXNlVmFsdWUoY29uc3QgU3RyaW5nJiwgY29uc3QgYm9vbCB2YWxpZFZhbHVlID0gdHJ1
ZSkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oCmlu
ZGV4IGRhMGRiMzUzM2UyMzc3MmFmODE2Mjc4NDg0ZWI4MTEzYWY2MDk1ZDIuLjc0NWZiYjQzZDc4
NmE2YmJjZDEzOTEwOTI0NzBkM2E2OWI5Njg4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgKQEAgLTM2
LDYgKzM2LDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAg
ICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KCkKICAgICAgICAgOiB2YWx1ZShT
VkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+Ojppbml0aWFsVmFsdWUoKSkKICAgICAgICAg
LCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAg
IHsKICAgICB9CiAKQEAgLTQzLDYgKzQ0LDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5p
bWF0ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KGNv
bnN0IENvbnN0cnVjdG9yUGFyYW1ldGVyMSYgdmFsdWUxKQogICAgICAgICA6IHZhbHVlKHZhbHVl
MSkKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1ZhbGlk
KGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTUwLDYgKzUyLDcgQEAgc3RydWN0IFNWR1N5bmNo
cm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRl
ZFByb3BlcnR5KGNvbnN0IENvbnN0cnVjdG9yUGFyYW1ldGVyMSYgdmFsdWUxLCBjb25zdCBDb25z
dHJ1Y3RvclBhcmFtZXRlcjImIHZhbHVlMikKICAgICAgICAgOiB2YWx1ZSh2YWx1ZTEsIHZhbHVl
MikKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1ZhbGlk
KGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTYwLDYgKzYzLDcgQEAgc3RydWN0IFNWR1N5bmNo
cm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAKICAgICBQcm9wZXJ0eVR5cGUgdmFsdWU7CiAg
ICAgYm9vbCBzaG91bGRTeW5jaHJvbml6ZSA6IDE7CisgICAgYm9vbCBpc1ZhbGlkIDogMTsKIH07
CiAKIC8vIFByb3BlcnR5IHJlZ2lzdHJhdGlvbiBoZWxwZXJzCkBAIC0xMjUsOSArMTI5LDEwIEBA
IHB1YmxpYzogXAogICAgICAgICByZXR1cm4gbV8jI0xvd2VyUHJvcGVydHkudmFsdWU7IFwKICAg
ICB9IFwKIFwKLSAgICB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKGNvbnN0IFBy
b3BlcnR5VHlwZSYgdHlwZSkgXAorICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFs
dWUoY29uc3QgUHJvcGVydHlUeXBlJiB0eXBlLCBjb25zdCBib29sIHZhbGlkVmFsdWUgPSB0cnVl
KSBcCiAgICAgeyBcCiAgICAgICAgIG1fIyNMb3dlclByb3BlcnR5LnZhbHVlID0gdHlwZTsgXAor
ICAgICAgICBtXyMjTG93ZXJQcm9wZXJ0eS5pc1ZhbGlkID0gdmFsaWRWYWx1ZTsgXAogICAgIH0g
XAogXAogICAgIFBhc3NSZWZQdHI8VGVhck9mZlR5cGU+IExvd2VyUHJvcGVydHkjI0FuaW1hdGVk
KCkgXApAQCAtMTM2LDYgKzE0MSwxMSBAQCBwdWJsaWM6IFwKICAgICAgICAgcmV0dXJuIHN0YXRp
Y19wb2ludGVyX2Nhc3Q8VGVhck9mZlR5cGU+KGxvb2t1cE9yQ3JlYXRlIyNVcHBlclByb3BlcnR5
IyNXcmFwcGVyKHRoaXMpKTsgXAogICAgIH0gXAogXAorICAgIGJvb2wgTG93ZXJQcm9wZXJ0eSMj
SXNWYWxpZCgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIG1fIyNMb3dlclByb3Bl
cnR5LmlzVmFsaWQ7IFwKKyAgICB9IFwKK1wKIHByaXZhdGU6IFwKICAgICB2b2lkIHN5bmNocm9u
aXplIyNVcHBlclByb3BlcnR5KCkgXAogICAgIHsgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2NGM2OTM3OWRjYWVjODc0
MjY1YzgzN2U5NDM2MzNhMzIzNDk2YmYuLmQzYzZhYTYyZTZhYTFjYThmNzQ4ZTg5ZDk3MDdlMGZj
YjYzY2FjNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMy0yMCAgRmxvcmluIE1hbGl0
YSAgPGZtYWxpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTVkddIFN1cHByZXNzIHBhaW50
aW5nIHdoZW4gYW4gZW1wdHkgdmlld0JveCBpcyBzcGVjaWZpZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjYyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdmlld0JveC1lbXB0
eS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0yMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NjMz
MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdmlld0JveC1lbXB0eS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDYzODQxMWQ4Njc0NDY2OTg1NDViMjI5MDMzNDJiYmRlNmM1YzU3
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdmlld0JveC1lbXB0
eS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKyAgPHN2ZyB3aWR0aD0iNjAwcHgiIGhlaWdodD0iMTAwcHgiIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGZpbGw9ImdyZWVuIi8+CisgICAgPHJlY3QgeD0iMTIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8cmVjdCB4PSIyNDAiIHdpZHRoPSIxMDAiIGhlaWdo
dD0iMTAwIiBmaWxsPSJncmVlbiIvPgorICA8L3N2Zz4KKworICA8ZGl2IHN0eWxlPSJ3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+CisgIDwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92
aWV3Qm94LWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZmUwYmNjYzZkZTkxMGU2YzJmM2JlMTY3N2E2MzViMTlkZTNhNWJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5
Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5Pgor
ICA8IS0tIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTI2MjMuCisgICAgICAgRW1wdHktdmlld0JveCBlbGVtZW50cyBzaG91bGQgbm90IGJlIHJlbmRl
cmVkLiAtLT4KKworICA8c3ZnIHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIxMDBweCIgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKyAgICA8ZGVmcz4KKyAgICAgIDxwYXR0ZXJuIGlk
PSJwYXR0ZXJuIiB2aWV3Qm94PSIxMCAxMCAwIDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4K
KyAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPgorICAg
ICAgPC9wYXR0ZXJuPgorCisgICAgICA8bWFya2VyIGlkPSJtYXJrZXIiIHZpZXdCb3g9IjAgMCAw
IDAiIG1hcmtlcldpZHRoPSIxMDAiIG1hcmtlckhlaWdodD0iMTAwIj4KKyAgICAgICAgPHJlY3Qg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPgorICAgICAgPC9tYXJrZXI+Cisg
ICAgPC9kZWZzPgorCisgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9Imdy
ZWVuIi8+CisgICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAg
MCAwIDAiPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiLz4KKyAg
ICA8L3N2Zz4KKworICAgIDxyZWN0IHg9IjEyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZp
bGw9ImdyZWVuIi8+CisgICAgPHJlY3QgeD0iMTIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIg
ZmlsbD0idXJsKCNwYXR0ZXJuKSIvPgorCisgICAgPHJlY3QgeD0iMjQwIiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8bGluZSB4MT0iMjQwIiB4Mj0iMzQwIiBt
YXJrZXItc3RhcnQ9InVybCgjbWFya2VyKSIvPgorICA8L3N2Zz4KKworICA8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+Cisg
ICAgPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAwIDAiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgICA8cmVjdCB3aWR0aD0iMTAw
JSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJyZWQiLz4KKyAgICA8L3N2Zz4KKyAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194291</attachid>
            <date>2013-03-21 10:50:51 -0700</date>
            <delta_ts>2013-03-21 12:16:24 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-112623-20130321134639.patch</filename>
            <type>text/plain</type>
            <size>18090</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMTIwZTFjMmI1NTNh
MDcxYTY4NzBkODRmMmQ3NjUxYWQyMjcwYy4uZmU4ZGE4N2RhOWY1NjBlM2Q1MmQyZDE2MjIxYmU3
MGExMDY2NjM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAzLTIxICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NWR10gU3VwcHJl
c3MgcGFpbnRpbmcgd2hlbiBhbiBlbXB0eSB2aWV3Qm94IGlzIHNwZWNpZmllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUGhpbGlwIFJvZ2Vycy4KKworICAgICAgICBQZXIgc3BlYywgZWxlbWVudHMg
d2l0aCBhbiBlbXB0eSB2aWV3Qm94IHNob3VsZCBub3QgYmUgcmVuZGVyZWQ6CisgICAgICAgIGh0
dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94QXR0cmlidXRlLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgbWlzc2luZyB2aWV3Qm94IGNoZWNrcyB0byBSZW5k
ZXJTVkdSb290LCBSZW5kZXJTVkdWaWV3UG9ydENvbnRhaW5lciwKKyAgICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VNYXJrZXIgYW5kIFJlbmRlclNWR1Jlc291cmNlTWFya2VyJ3MgcGFpbnQgbWV0aG9k
cy4KKworICAgICAgICBJbiBvcmRlciB0byBkZXRlY3QgdGhlIGNhc2Ugb2YgInZpZXdCb3ggcHJl
c2VudCBidXQgaW52YWxpZCIsIHRoZSBwYXRjaCBhbHNvIGludHJvZHVjZXMKKyAgICAgICAgU1ZH
QW5pbWF0ZWRQcm9wZXJ0eSBwbHVtYmluZyBmb3IgdHJhY2tpbmcgcHJvcGVydHkgdmFsaWRpdHk6
IHRoZSBiYXNlVmFsIHNldHRlciBub3cgdGFrZXMKKyAgICAgICAgYW4gYWRkaXRpb25hbCBvcHRp
b25hbCAndmFsaWRWYWx1ZScgYm9vbGVhbiBwYXJhbWV0ZXIsIHdoaWNoIGNhbiBsYXRlciBiZSBx
dWVyaWVkIHZpYSBhCisgICAgICAgIG1hY3JvZWQgZ2V0dGVyIChMb3dlclByb3BlcnR5IyNJc1Zh
bGlkKCkpLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vdmlld0JveC1lbXB0eS5odG1sCisK
KyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyOjpkcmF3KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmJ1aWxkUGF0dGVybik6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
Vmlld3BvcnRDb250YWluZXI6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDoKKyAgICAgICAgKFJl
bmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNvbGxlY3RQYXR0
ZXJuQXR0cmlidXRlcyk6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6Omhhc0VtcHR5Vmlld0JveCk6CisgICAgICAgIChTVkdT
VkdFbGVtZW50KToKKyAgICAgICAgU3VwcHJlc3MgcGFpbnRpbmcgaWYgYSB2YWxpZCBlbXB0eSB2
aWV3Qm94IGlzIGZvdW5kLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAg
IE1hcmsgdGhlIHZpZXdCb3ggcHJvcGVydHkgYXMgaW52YWxpZCBpZiBub3Qgc3VjY2Vzc2Z1bGx5
IHBhcnNlZC4KKworICAgICAgICAqIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmg6
CisgICAgICAgIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKToKKyAgICAgICAgKiBzdmcv
U1ZHVVJJUmVmZXJlbmNlLmg6CisgICAgICAgIChTVkdVUklSZWZlcmVuY2UpOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eTo6U1ZHU3luY2hyb25pemFi
bGVBbmltYXRlZFByb3BlcnR5KToKKyAgICAgICAgKFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQ
cm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgUGx1bWJpbmcgZm9yIHRyYWNr
aW5nIHByb3BlcnR5IHZhbHVlIHZhbGlkYXRpb24uCisKIDIwMTMtMDMtMjEgIEtvbmRhcGFsbHkg
S2FseWFuICA8a2FseWFuLmtvbmRhcGFsbHlAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dl
YkdMXSBJbXBsZW1lbnQgYSBjb21tb24gR3JhcGhpY3NTdXJmYWNlIEltcGxlbWVudGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZU1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlTWFya2VyLmNwcAppbmRleCA3YWFlZjBlOWUwMTE1ZWI0YWVmOGViNTUzMzQ5ZTBkNzI0OTlj
NWMzLi40M2E1YWVhOWM3MGViNzg3M2RjODM5Nzk4ZTE0YzgxNDcxODQ2OWQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmNwcApAQCAtMTMyLDYgKzEzMiwxMiBAQCBBZmZpbmVUcmFuc2Zvcm0gUmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXI6Om1hcmtlclRyYW5zZm9ybWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmCiAKIHZv
aWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmRyYXcoUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogeworICAgIC8vIEFuIGVtcHR5IHZpZXdC
b3ggZGlzYWJsZXMgcmVuZGVyaW5nLgorICAgIFNWR01hcmtlckVsZW1lbnQqIG1hcmtlciA9IHRv
U1ZHTWFya2VyRWxlbWVudCh0b1NWR0VsZW1lbnQobm9kZSgpKSk7CisgICAgQVNTRVJUKG1hcmtl
cik7CisgICAgaWYgKG1hcmtlci0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjp2aWV3Qm94QXR0cikg
JiYgbWFya2VyLT52aWV3Qm94SXNWYWxpZCgpICYmIG1hcmtlci0+dmlld0JveCgpLmlzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUGFpbnRJbmZvIGluZm8ocGFpbnRJbmZvKTsKICAg
ICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmluZm8uY29udGV4dCk7CiAg
ICAgaW5mby5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCmluZGV4
IDExMGRjZTRjMWM0NDY4OTFiZDkwYWYxZjZiMjY0M2IzY2Q5ZWJiYmQuLjRkZjRjMjJhOTAwMDg3
ZjgwMzBhZmI1NmUwMTI5ZjVhODA3ZGU3ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKQEAgLTc3LDYg
Kzc3LDEwIEBAIFBhdHRlcm5EYXRhKiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmJ1aWxkUGF0
dGVybihSZW5kZXJPYmplY3QqIG9iamVjdCwgdW5zaWduCiAgICAgaWYgKCFtX2F0dHJpYnV0ZXMu
cGF0dGVybkNvbnRlbnRFbGVtZW50KCkpCiAgICAgICAgIHJldHVybiAwOwogCisgICAgLy8gQW4g
ZW1wdHkgdmlld0JveCBkaXNhYmxlcyByZW5kZXJpbmcuCisgICAgaWYgKG1fYXR0cmlidXRlcy5o
YXNWaWV3Qm94KCkgJiYgbV9hdHRyaWJ1dGVzLnZpZXdCb3goKS5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiAwOworCiAgICAgLy8gQ29tcHV0ZSBhbGwgbmVjZXNzYXJ5IHRyYW5zZm9ybWF0aW9u
cyB0byBidWlsZCB0aGUgdGlsZSBpbWFnZSAmIHRoZSBwYXR0ZXJuLgogICAgIEZsb2F0UmVjdCB0
aWxlQm91bmRhcmllczsKICAgICBBZmZpbmVUcmFuc2Zvcm0gdGlsZUltYWdlVHJhbnNmb3JtOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXgg
MWMxM2Q5YTgwZWU1MmNkMjY1ZDM1NGY4NDgyMzdjYmJlNWQyN2ZjZC4uOTlhMGM0MTdmYThjZDkx
OTFjNmI5Y2NkODIwYTg3ZTc1YzA0OTIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yNjksMTAgKzI2OSwxNyBAQCB2b2lkIFJlbmRl
clNWR1Jvb3Q6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludAogICAgIGlmIChwaXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0KCkuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBEb24ndCBwYWludCwgaWYgdGhlIGNvbnRl
eHQgZXhwbGljaXRlbHkgZGlzYWJsZWQgaXQuCisgICAgLy8gRG9uJ3QgcGFpbnQsIGlmIHRoZSBj
b250ZXh0IGV4cGxpY2l0bHkgZGlzYWJsZWQgaXQuCiAgICAgaWYgKHBhaW50SW5mby5jb250ZXh0
LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIEFuIGVtcHR5
IHZpZXdCb3ggYWxzbyBkaXNhYmxlcyByZW5kZXJpbmcuCisgICAgLy8gKGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94QXR0cmlidXRlKQorICAgIFNWR1NWR0VsZW1l
bnQqIHN2ZyA9IHRvU1ZHU1ZHRWxlbWVudChub2RlKCkpOworICAgIEFTU0VSVChzdmcpOworICAg
IGlmIChzdmctPmhhc0VtcHR5Vmlld0JveCgpKQorICAgICAgICByZXR1cm47CisKICAgICBQYWdl
KiBwYWdlID0gMDsKICAgICBpZiAoRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKSkKICAgICAg
ICAgcGFnZSA9IGZyYW1lLT5wYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwCmluZGV4IDdlN2Yx
Y2M2ZGUyMmFhN2YwN2JkZWY0Y2NjNDA3OTBhMGNjMWI3MjQuLjgzNDQ1MmQyMDk5ZjAxNjExNjM2
YWMxMGQ3MmMxMTUwNDM4ZmEyZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwCkBAIC0xNDksNiAr
MTQ5LDE3IEBAIGJvb2wgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OnBvaW50SXNJbnNpZGVW
aWV3cG9ydENsaXAoY29uc3QgRmxvYXRQb2ludCYgcG9pCiAgICAgcmV0dXJuIG1fdmlld3BvcnQu
Y29udGFpbnMocG9pbnRJblBhcmVudCk7CiB9CiAKK3ZvaWQgUmVuZGVyU1ZHVmlld3BvcnRDb250
YWluZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFp
bnRPZmZzZXQpCit7CisgICAgLy8gQW4gZW1wdHkgdmlld0JveCBkaXNhYmxlcyByZW5kZXJpbmcu
CisgICAgaWYgKG5vZGUoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSkgeworICAgICAg
ICBpZiAodG9TVkdTVkdFbGVtZW50KG5vZGUoKSktPmhhc0VtcHR5Vmlld0JveCgpKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlbmRlclNWR0NvbnRhaW5lcjo6cGFpbnQocGFp
bnRJbmZvLCBwYWludE9mZnNldCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdw
b3J0Q29udGFpbmVyLmgKaW5kZXggZWVjZTE4NTA5MzBhMDQxMmMwYWRkODA4ZTA0MWFjNTAyMDEw
OTZlNC4uNDI3ZTQyM2RhYTJhNTIwZTFmOTkxOGFmOGExMTBjZWFhYTc4N2E3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRD
b250YWluZXIuaApAQCAtNDEsNiArNDEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRl
dGVybWluZUlmTGF5b3V0U2l6ZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNU
cmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVS
UklERTsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdWaWV3cG9ydENvbnRhaW5l
cigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRl
ck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIiOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaApp
bmRleCBmNmE1NDdjMmMyMDdmMWU0OWYzNDU3MTg2MjVhZTU1ODRkODg4NDM0Li4wMTI4NWFhZDU0
NjllZmNkODk1ZjYwZjRkMzJhNjI4YWQ2YTFkMDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVi
bGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlc2UgdHlwZXMgbG9vayBhIGJpdCBhd2t3YXJk
LCBidXQgaGF2ZSB0byBtYXRjaCB0aGUgZ2VuZXJpYyB0eXBlcyBvZiB0aGUgU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eSBtYWNyb3MuCi0gICAgdmlydHVhbCB2b2lkIHNldEV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRCYXNlVmFsdWUoY29uc3QgYm9vbCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEJhc2VWYWx1ZShjb25zdCBib29sJiwgY29uc3QgYm9vbCB2
YWxpZFZhbHVlID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCYgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZEJhc2VWYWx1ZSgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRI
YXZlRmlyZWRMb2FkRXZlbnQoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94
LmgKaW5kZXggNGRjNWEzYWVhZWY5Y2VhOWQ1ZDdiZGZjNTNhNDY3OWEzODM3NGQzNi4uYjQzOGI0
OGI5NDEyZWZjNGZlZDI4ZjhjMmM1MDA5NGU3MDI0ODcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
aXRUb1ZpZXdCb3guaApAQCAtNDgsOSArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCh0
YXJnZXQtPmRvY3VtZW50KCkpOwogICAgICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld0Jv
eEF0dHIpIHsKICAgICAgICAgICAgIEZsb2F0UmVjdCB2aWV3Qm94OwotICAgICAgICAgICAgaWYg
KCF2YWx1ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBwYXJzZVZpZXdCb3godGFyZ2V0LT5k
b2N1bWVudCgpLCB2YWx1ZSwgdmlld0JveCk7Ci0gICAgICAgICAgICB0YXJnZXQtPnNldFZpZXdC
b3hCYXNlVmFsdWUodmlld0JveCk7CisgICAgICAgICAgICBib29sIHZhbHVlSXNWYWxpZCA9ICF2
YWx1ZS5pc051bGwoKSAmJiBwYXJzZVZpZXdCb3godGFyZ2V0LT5kb2N1bWVudCgpLCB2YWx1ZSwg
dmlld0JveCk7CisgICAgICAgICAgICB0YXJnZXQtPnNldFZpZXdCb3hCYXNlVmFsdWUodmlld0Jv
eCwgdmFsdWVJc1ZhbGlkKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCmluZGV4IDJjMDc1NDhhNTNj
ZmZjOTVkNmY3ODNmOGZjZTI5ZTYyOWU4N2IxMTMuLjNjYWE4MmRjMmE0ZmVlMjk1MzNhMWY4MDA4
MmNlYjY4NTFmYTdkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNw
cApAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmNvbGxlY3RQYXR0
ZXJuQXR0cmlidXRlcyhQYXR0ZXJuQXR0cmlidXRlcyYgYXR0cmlidXRlcykKICAgICAgICAgaWYg
KCFhdHRyaWJ1dGVzLmhhc0hlaWdodCgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1l
czo6aGVpZ2h0QXR0cikpCiAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldEhlaWdodChjdXJyZW50
LT5oZWlnaHQoKSk7CiAKLSAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1ZpZXdCb3goKSAmJiBj
dXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSkKKyAgICAgICAgaWYg
KCFhdHRyaWJ1dGVzLmhhc1ZpZXdCb3goKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFt
ZXM6OnZpZXdCb3hBdHRyKSAmJiBjdXJyZW50LT52aWV3Qm94SXNWYWxpZCgpKQogICAgICAgICAg
ICAgYXR0cmlidXRlcy5zZXRWaWV3Qm94KGN1cnJlbnQtPnZpZXdCb3goKSk7CiAKICAgICAgICAg
aWYgKCFhdHRyaWJ1dGVzLmhhc1ByZXNlcnZlQXNwZWN0UmF0aW8oKSAmJiBjdXJyZW50LT5oYXNB
dHRyaWJ1dGUoU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oCmluZGV4IDljNDY0ZDg1YTZiMzMzYmIyYmY2MTM3NzYzOGY5NmNlMTRk
NmFmNTAuLjBkYmMxMTU4Zjg0YTY4OGJjNjlkMjJmNWYwMzlkNGFjMjk5MTZhMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtMTM1LDYgKzEzNSw4IEBAIHB1YmxpYzoKICAgICBT
Vkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyByZXR1cm4gbV96b29tQW5kUGFu
OyB9CiAgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4pIHsg
bV96b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKHpvb21BbmRQYW4p
OyB9CiAKKyAgICBib29sIGhhc0VtcHR5Vmlld0JveCgpIHsgcmV0dXJuIGhhc0F0dHJpYnV0ZShT
VkdOYW1lczo6dmlld0JveEF0dHIpICYmIHZpZXdCb3hJc1ZhbGlkKCkgJiYgdmlld0JveCgpLmlz
RW1wdHkoKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVUb05ld0Rv
Y3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVUklSZWZlcmVuY2UuaAppbmRleCBhNTQ4MDBmYjlkMWE3ZWE0Mjc3ZGQ1MWI4NjFhMDUxYmFk
ODY5NzIyLi40NmNiMjY1MzVmOTUxM2FkZmMwOTk5NTlkYWFlYWRkNjIyYmJjNzQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIHZvaWQgc2V0SHJlZkJhc2VWYWx1ZShjb25z
dCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldEhyZWZCYXNlVmFsdWUoY29uc3Qg
U3RyaW5nJiwgY29uc3QgYm9vbCB2YWxpZFZhbHVlID0gdHJ1ZSkgPSAwOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oCmluZGV4IGRhMGRiMzUzM2UyMzc3MmFm
ODE2Mjc4NDg0ZWI4MTEzYWY2MDk1ZDIuLjc0NWZiYjQzZDc4NmE2YmJjZDEzOTEwOTI0NzBkM2E2
OWI5Njg4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGVkUHJvcGVydHlNYWNyb3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgKQEAgLTM2LDYgKzM2LDcgQEAgc3RydWN0IFNW
R1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVB
bmltYXRlZFByb3BlcnR5KCkKICAgICAgICAgOiB2YWx1ZShTVkdQcm9wZXJ0eVRyYWl0czxQcm9w
ZXJ0eVR5cGU+Ojppbml0aWFsVmFsdWUoKSkKICAgICAgICAgLCBzaG91bGRTeW5jaHJvbml6ZShm
YWxzZSkKKyAgICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQzLDYg
KzQ0LDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSB7CiAgICAg
U1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KGNvbnN0IENvbnN0cnVjdG9yUGFyYW1l
dGVyMSYgdmFsdWUxKQogICAgICAgICA6IHZhbHVlKHZhbHVlMSkKICAgICAgICAgLCBzaG91bGRT
eW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAgIHsKICAgICB9
CiAKQEAgLTUwLDYgKzUyLDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9w
ZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KGNvbnN0IENvbnN0
cnVjdG9yUGFyYW1ldGVyMSYgdmFsdWUxLCBjb25zdCBDb25zdHJ1Y3RvclBhcmFtZXRlcjImIHZh
bHVlMikKICAgICAgICAgOiB2YWx1ZSh2YWx1ZTEsIHZhbHVlMikKICAgICAgICAgLCBzaG91bGRT
eW5jaHJvbml6ZShmYWxzZSkKKyAgICAgICAgLCBpc1ZhbGlkKGZhbHNlKQogICAgIHsKICAgICB9
CiAKQEAgLTYwLDYgKzYzLDcgQEAgc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9w
ZXJ0eSB7CiAKICAgICBQcm9wZXJ0eVR5cGUgdmFsdWU7CiAgICAgYm9vbCBzaG91bGRTeW5jaHJv
bml6ZSA6IDE7CisgICAgYm9vbCBpc1ZhbGlkIDogMTsKIH07CiAKIC8vIFByb3BlcnR5IHJlZ2lz
dHJhdGlvbiBoZWxwZXJzCkBAIC0xMjUsOSArMTI5LDEwIEBAIHB1YmxpYzogXAogICAgICAgICBy
ZXR1cm4gbV8jI0xvd2VyUHJvcGVydHkudmFsdWU7IFwKICAgICB9IFwKIFwKLSAgICB2b2lkIHNl
dCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKGNvbnN0IFByb3BlcnR5VHlwZSYgdHlwZSkgXAor
ICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoY29uc3QgUHJvcGVydHlUeXBl
JiB0eXBlLCBjb25zdCBib29sIHZhbGlkVmFsdWUgPSB0cnVlKSBcCiAgICAgeyBcCiAgICAgICAg
IG1fIyNMb3dlclByb3BlcnR5LnZhbHVlID0gdHlwZTsgXAorICAgICAgICBtXyMjTG93ZXJQcm9w
ZXJ0eS5pc1ZhbGlkID0gdmFsaWRWYWx1ZTsgXAogICAgIH0gXAogXAogICAgIFBhc3NSZWZQdHI8
VGVhck9mZlR5cGU+IExvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgXApAQCAtMTM2LDYgKzE0MSwx
MSBAQCBwdWJsaWM6IFwKICAgICAgICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8VGVhck9m
ZlR5cGU+KGxvb2t1cE9yQ3JlYXRlIyNVcHBlclByb3BlcnR5IyNXcmFwcGVyKHRoaXMpKTsgXAog
ICAgIH0gXAogXAorICAgIGJvb2wgTG93ZXJQcm9wZXJ0eSMjSXNWYWxpZCgpIGNvbnN0IFwKKyAg
ICB7IFwKKyAgICAgICAgcmV0dXJuIG1fIyNMb3dlclByb3BlcnR5LmlzVmFsaWQ7IFwKKyAgICB9
IFwKK1wKIHByaXZhdGU6IFwKICAgICB2b2lkIHN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5KCkg
XAogICAgIHsgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDkzYTJjNmQwZjM5MGQyYTNiODE5ZTBjZTkzNjY3ZjlhN2MyMzkx
ZTYuLmRkM2RjMjE4NDA2NjdmZmRhMWM5Nzk5YTJmMWJkYTVlN2EzODA5ZGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMy0wMy0yMSAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtTVkddIFN1cHByZXNzIHBhaW50aW5nIHdoZW4gYW4gZW1wdHkgdmll
d0JveCBpcyBzcGVjaWZpZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMjYyMworCisgICAgICAgIFJldmlld2VkIGJ5IFBoaWxpcCBSb2dlcnMuCisK
KyAgICAgICAgKiBzdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9zdmctdmlld0JveC1keW5hbWljLmpz
OgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXZpZXdCb3gtZHluYW1pYy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3ZnL2N1c3RvbS92aWV3Qm94LWVtcHR5LWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9jdXN0b20vdmlld0JveC1lbXB0eS5odG1sOiBBZGRlZC4KKwogMjAx
My0wMy0yMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NjQ1NC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL3N2Zy12aWV3Qm94LWR5bmFtaWMuanMgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9zdmctdmlld0JveC1keW5hbWljLmpz
CmluZGV4IDFiYTIxNTE3YmE0NzNiZmM0NTgzMmM1MDk3NzU3NzdmMjExMzVmZGIuLmRiNzI0YzJm
MDgzYzNlNmVhYTI2NWY3NDA1NDM5YjI1MDRlMzBkNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL3N2Zy12aWV3Qm94LWR5bmFtaWMuanMKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvc3ZnLXZpZXdCb3gtZHluYW1pYy5qcwpA
QCAtMiw2ICsyLDcgQEAgZGVzY3JpcHRpb24oIlRlc3RzIHdoZXRoZXIgcmVtb3ZpbmcgdGhlIHZp
ZXdCb3ggYXR0cmlidXRlIHByb3BhZ2F0ZXMgdG8gdGhlIHZpZXcKIAogdmFyIHN2Z0RvYyA9IGRv
Y3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIsICJzdmciLCBudWxsKTsKIHZhciBzdmcgPSBzdmdEb2Mucm9vdEVsZW1lbnQ7CisK
IHN2Zy5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCAiMjAgMTAgMjAwIDEwMCIpOwogc2hvdWxkQmUo
InN2Zy52aWV3Qm94LmJhc2VWYWwueCIsICIyMCIpOwogc2hvdWxkQmUoInN2Zy52aWV3Qm94LmJh
c2VWYWwueSIsICIxMCIpOwpAQCAtMTMsNCArMTQsMTYgQEAgc2hvdWxkQmUoInN2Zy52aWV3Qm94
LmJhc2VWYWwueSIsICIwIik7CiBzaG91bGRCZSgic3ZnLnZpZXdCb3guYmFzZVZhbC53aWR0aCIs
ICIwIik7CiBzaG91bGRCZSgic3ZnLnZpZXdCb3guYmFzZVZhbC5oZWlnaHQiLCAiMCIpOwogCitz
dmcuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IiwgIjIwIDEwIDIwMCAxMDAiKTsKK3Nob3VsZEJlKCJz
dmcudmlld0JveC5iYXNlVmFsLngiLCAiMjAiKTsKK3Nob3VsZEJlKCJzdmcudmlld0JveC5iYXNl
VmFsLnkiLCAiMTAiKTsKK3Nob3VsZEJlKCJzdmcudmlld0JveC5iYXNlVmFsLndpZHRoIiwgIjIw
MCIpOworc2hvdWxkQmUoInN2Zy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0IiwgIjEwMCIpOworc3Zn
LnNldEF0dHJpYnV0ZSgidmlld0JveCIsICJpbnZhbGlkIHZhbHVlIik7CitzaG91bGRCZSgic3Zn
LnZpZXdCb3guYmFzZVZhbC54IiwgIjAiKTsKK3Nob3VsZEJlKCJzdmcudmlld0JveC5iYXNlVmFs
LnkiLCAiMCIpOworc2hvdWxkQmUoInN2Zy52aWV3Qm94LmJhc2VWYWwud2lkdGgiLCAiMCIpOwor
c2hvdWxkQmUoInN2Zy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0IiwgIjAiKTsKK3Nob3VsZEJlKCJz
dmcuZ2V0QXR0cmlidXRlKCd2aWV3Qm94JykiLCAiJ2ludmFsaWQgdmFsdWUnIik7CisKIHZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctdmlld0JveC1keW5hbWljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vc3ZnLXZpZXdCb3gtZHluYW1pYy1leHBlY3RlZC50eHQKaW5kZXggMjFhMWMwZGFmNjJl
OGJjZDkyMzdhODI0YmMzYzJiMzViYTViN2I3OC4uNmE2YTcyMTY1OWZiY2I5YzhjMzRmNjY1OWI1
YTBjNzVlZDJmYzQ4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctdmll
d0JveC1keW5hbWljLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2
Zy12aWV3Qm94LWR5bmFtaWMtZXhwZWN0ZWQudHh0CkBAIC0xMSw2ICsxMSwxNSBAQCBQQVNTIHN2
Zy52aWV3Qm94LmJhc2VWYWwueCBpcyAwCiBQQVNTIHN2Zy52aWV3Qm94LmJhc2VWYWwueSBpcyAw
CiBQQVNTIHN2Zy52aWV3Qm94LmJhc2VWYWwud2lkdGggaXMgMAogUEFTUyBzdmcudmlld0JveC5i
YXNlVmFsLmhlaWdodCBpcyAwCitQQVNTIHN2Zy52aWV3Qm94LmJhc2VWYWwueCBpcyAyMAorUEFT
UyBzdmcudmlld0JveC5iYXNlVmFsLnkgaXMgMTAKK1BBU1Mgc3ZnLnZpZXdCb3guYmFzZVZhbC53
aWR0aCBpcyAyMDAKK1BBU1Mgc3ZnLnZpZXdCb3guYmFzZVZhbC5oZWlnaHQgaXMgMTAwCitQQVNT
IHN2Zy52aWV3Qm94LmJhc2VWYWwueCBpcyAwCitQQVNTIHN2Zy52aWV3Qm94LmJhc2VWYWwueSBp
cyAwCitQQVNTIHN2Zy52aWV3Qm94LmJhc2VWYWwud2lkdGggaXMgMAorUEFTUyBzdmcudmlld0Jv
eC5iYXNlVmFsLmhlaWdodCBpcyAwCitQQVNTIHN2Zy5nZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnKSBp
cyAnaW52YWxpZCB2YWx1ZScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3Qm94LWVt
cHR5LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ZpZXdCb3gtZW1wdHkt
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjM4NDExZDg2NzQ0NjY5ODU0NWIyMjkwMzM0MmJi
ZGU2YzVjNTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS92aWV3
Qm94LWVtcHR5LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorICA8c3ZnIHdpZHRoPSI2MDBweCIgaGVpZ2h0PSIxMDBweCIgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKyAgICA8cmVjdCB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8cmVjdCB4PSIxMjAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIvPgorICAgIDxyZWN0IHg9IjI0MCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+CisgIDwvc3ZnPgorCisgIDxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij4K
KyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3ZpZXdCb3gtZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdmlld0Jv
eC1lbXB0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZTBiY2NjNmRlOTEwZTZjMmYzYmUxNjc3YTYzNWIx
OWRlM2E1YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ZpZXdC
b3gtZW1wdHkuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+CisgIDwhLS0gVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjYyMy4KKyAgICAgICBFbXB0eS12aWV3Qm94IGVsZW1lbnRzIHNob3VsZCBub3Qg
YmUgcmVuZGVyZWQuIC0tPgorCisgIDxzdmcgd2lkdGg9IjYwMHB4IiBoZWlnaHQ9IjEwMHB4IiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgIDxkZWZzPgorICAgICAgPHBh
dHRlcm4gaWQ9InBhdHRlcm4iIHZpZXdCb3g9IjEwIDEwIDAgMCIgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiPgorICAgICAgICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0icmVk
Ii8+CisgICAgICA8L3BhdHRlcm4+CisKKyAgICAgIDxtYXJrZXIgaWQ9Im1hcmtlciIgdmlld0Jv
eD0iMCAwIDAgMCIgbWFya2VyV2lkdGg9IjEwMCIgbWFya2VySGVpZ2h0PSIxMDAiPgorICAgICAg
ICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0icmVkIi8+CisgICAgICA8L21h
cmtlcj4KKyAgICA8L2RlZnM+CisKKyAgICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIg
ZmlsbD0iZ3JlZW4iLz4KKyAgICA8c3ZnIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgdmll
d0JveD0iMCAwIDAgMCI+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJl
ZCIvPgorICAgIDwvc3ZnPgorCisgICAgPHJlY3QgeD0iMTIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKyAgICA8cmVjdCB4PSIxMjAiIHdpZHRoPSIxMDAiIGhlaWdo
dD0iMTAwIiBmaWxsPSJ1cmwoI3BhdHRlcm4pIi8+CisKKyAgICA8cmVjdCB4PSIyNDAiIHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIvPgorICAgIDxsaW5lIHgxPSIyNDAiIHgy
PSIzNDAiIG1hcmtlci1zdGFydD0idXJsKCNtYXJrZXIpIi8+CisgIDwvc3ZnPgorCisgIDxkaXYg
c3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Ij4KKyAgICA8c3ZnIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAw
IDAgMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KKyAgICAgIDxyZWN0IHdp
ZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InJlZCIvPgorICAgIDwvc3ZnPgorICA8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>