<?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>60685</bug_id>
          
          <creation_ts>2011-05-11 20:22:45 -0700</creation_ts>
          <short_desc>Solar Walk For Mac: Info window is blank (HTML5 parser)</short_desc>
          <delta_ts>2011-07-18 20:29:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>64777</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adele Peterson">adele</reporter>
          <assigned_to name="Adele Peterson">adele</assigned_to>
          <cc>abarth</cc>
    
    <cc>aestes</cc>
    
    <cc>eric</cc>
    
    <cc>mrowe</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>402589</commentid>
    <comment_count>0</comment_count>
      <attachid>93238</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-11 20:22:45 -0700</bug_when>
    <thetext>Created attachment 93238
patch

&lt;rdar://problem/9253454&gt;

The HTML content in the info window uses a self closing title tag.

Attaching a patch.  I don&apos;t normally touch the parser, so I&apos;m not entirely sure of this.  I did test with the app and saw that it fixes the problem.  I also added a test and saw this passes existing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402591</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-11 20:25:17 -0700</bug_when>
    <thetext>Attachment 93238 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

LayoutTests/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit/mac/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 3 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402592</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 20:28:11 -0700</bug_when>
    <thetext>Would this be easier to do via one of the JS-based quirks where we auto-inject js into the page?  I&apos;m not sure that could fix this bug though, since I am not sure what would happen if we let everything get parsed inside the &lt;title&gt; and then move it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402595</commentid>
    <comment_count>3</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-11 20:29:58 -0700</bug_when>
    <thetext>Good question - I&apos;m not that familiar with that technique.  I&apos;ll look into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402598</commentid>
    <comment_count>4</comment_count>
      <attachid>93238</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-11 20:31:38 -0700</bug_when>
    <thetext>Comment on attachment 93238
patch

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

&gt; Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2734
&gt; +        if (m_usePreHTML5ParserQuirks &amp;&amp; token.selfClosing()) {

I don&apos;t think this what the old parser used to do. The old parser used to &quot;re-parse&quot; the document if the &lt;title&gt; tag ate the whole document.  I wonder if there&apos;s a more general solution that would apply to more apps than just solar walk.  In some sense, this is a &quot;double mistake&quot; by the author.  If we can treat the primary mistake (unterminated title tags), that&apos;s a mistake that&apos;s more likely to have been hit by other apps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402601</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-11 20:32:51 -0700</bug_when>
    <thetext>That could lead to a more general solution.  Basically, you&apos;ll want to grab the text content of the title tag and document.write it at the end of the document.  That will be a much more faithful simulation of re-parsing than what you&apos;ve got in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402607</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 20:39:03 -0700</bug_when>
    <thetext>We have a js-based quirks system using user-script injection.  Sam or Andy should know more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402611</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-05-11 20:40:50 -0700</bug_when>
    <thetext>This application is the only case where the difference in &lt;title&gt; parsing behavior has caused a problem since the HTML5 parser was enabled.  If this quirk were to be more widely needed than this single application then it could be beneficial to consider a more general solution.  Since it isn&apos;t I think the simple, targeted fix is reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402612</commentid>
    <comment_count>8</comment_count>
      <attachid>93238</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-11 20:43:33 -0700</bug_when>
    <thetext>Comment on attachment 93238
patch

Marking r- while Adele investigates using the content script approach.  Please feel free to renominate for review if you decide that this approach is better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402613</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 20:46:13 -0700</bug_when>
    <thetext>See:
http://trac.webkit.org/browser/trunk/Source/WebKit/mac/Misc/MailQuirksUserScript.js
http://trac.webkit.org/browser/trunk/Source/WebKit/mac/Misc/OutlookQuirksUserScript.js

For examples of how to do quirks with user-scripts.  I suspect we could do something similar here, with an UnclosedTitleQuirkUserScript.js:
document.write(document.title)

Might just fix the bug with that one line js quirk. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402615</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 20:46:51 -0700</bug_when>
    <thetext>(If you look at the changesets where those js quirks were added, you can see how WebKit goes about injecting them into Mail and Outlook respectively.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403016</commentid>
    <comment_count>11</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-12 11:32:39 -0700</bug_when>
    <thetext>When you use these user scripts, is there any way to test the quirk in DRT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403020</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-12 11:35:19 -0700</bug_when>
    <thetext>Not really.  Part of the point of the user script thing is that it makes the fix platform-only.  One doesn&apos;t have to change WebCore at all. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403290</commentid>
    <comment_count>13</comment_count>
      <attachid>93377</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-12 18:15:58 -0700</bug_when>
    <thetext>Created attachment 93377
patch

This patch uses the User Script approach.  I&apos;ve manually tested Solar Walk with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403296</commentid>
    <comment_count>14</comment_count>
      <attachid>93377</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-12 18:25:28 -0700</bug_when>
    <thetext>Comment on attachment 93377
patch

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

&gt; Source/WebKit/mac/Misc/SolarWalkQuirksUserScript.js:34
&gt; + window.onload = reparseTitle;

I&apos;d use window.addEventListender(&quot;load&quot;, reparseTitle, false) to make sure we don&apos;t get in the way of anyone else who&apos;s touching window.onload.

&gt; Source/WebKit/mac/WebView/WebView.mm:678
&gt; +    NSString *scriptPath = [[NSBundle bundleForClass:[WebView class]] pathForResource:@&quot;SolarWalkQuirksUserScript&quot; ofType:@&quot;js&quot;];

Would it make sense to call this reparseTitle.js in case apps besides solar walk need this quirk?  I guess we can rename it in the future were that to happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403302</commentid>
    <comment_count>15</comment_count>
      <attachid>93384</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-12 18:35:51 -0700</bug_when>
    <thetext>Created attachment 93384
patch

Fixes up the JS.  I didn&apos;t rename the file because so far all of our user scripts are per-app, and we might need to add further quirks for this application.   Not sure which will come first - more quirks for this app, or more apps that need this quirk.  We&apos;ll see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403303</commentid>
    <comment_count>16</comment_count>
      <attachid>93384</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-12 18:36:55 -0700</bug_when>
    <thetext>Comment on attachment 93384
patch

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

&gt; Source/WebKit/mac/WebView/WebView.mm:686
&gt; +    NSLog(@&quot;contents of user script: %@\n&quot;, solarWalkQuirksScriptContents);

Probably should take out this log before landing.

&gt; Source/WebKit/mac/WebView/WebView.mm:688
&gt; +    core(self)-&gt;group().addUserScriptToWorld(core([WebScriptWorld world]),
&gt; +                                             solarWalkQuirksScriptContents, KURL(), nullptr, nullptr, InjectAtDocumentEnd, InjectInAllFrames);

WebKit style says not to line subsequent lines up like this. (Too bad editors all seem to want to do it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403310</commentid>
    <comment_count>17</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-12 18:51:33 -0700</bug_when>
    <thetext>Committed http://trac.webkit.org/changeset/86407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403317</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-12 18:58:59 -0700</bug_when>
    <thetext>Fantastic!

FYI, I believe these scripts are injected right before onload? (I could be wrong, Sam could correct me.) in which case I doubt the onload hook was needed (aka, we might just have been able to run the scirpt directly).

Thanks for doing this Adele!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403331</commentid>
    <comment_count>19</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-12 19:31:27 -0700</bug_when>
    <thetext>I hit a loader assertion when trying to document.write immediately.  So the event handler fixed that up.

(In reply to comment #18)
&gt; Fantastic!
&gt; 
&gt; FYI, I believe these scripts are injected right before onload? (I could be wrong, Sam could correct me.) in which case I doubt the onload hook was needed (aka, we might just have been able to run the scirpt directly).
&gt; 
&gt; Thanks for doing this Adele!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404291</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-05-15 22:35:47 -0700</bug_when>
    <thetext>This caused some build warnings:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Build%29/builds/29796/steps/compile-webkit/logs/warnings%20%282%29</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404865</commentid>
    <comment_count>21</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-05-16 17:58:07 -0700</bug_when>
    <thetext>Dan fixed the warning for me:
http://trac.webkit.org/changeset/86639</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438947</commentid>
    <comment_count>22</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-07-18 20:26:09 -0700</bug_when>
    <thetext>I found a bug with this script where it is accidentally removing stylesheets from the document (since document.write() overwrites the &lt;style&gt; nodes that came before &lt;title /&gt;).

I posted a fix at &lt;https://bugs.webkit.org/show_bug.cgi?id=64777&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93238</attachid>
            <date>2011-05-11 20:22:45 -0700</date>
            <delta_ts>2011-05-12 18:15:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch_solar_walk.txt</filename>
            <type>text/plain</type>
            <size>7565</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMTEgIEFkZWxlIFBl
dGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzkyNTM0NTQ+IFNvbGFy
IFdhbGsgRm9yIE1hYzogSW5mbyB3aW5kb3cgaXMgYmxhbmsgKEhUTUw1IHBhcnNlcikKKworICAg
ICAgICBVcGRhdGVkIHRlc3Q6IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0
bWwKKworICAgICAgICBBZGRlZCBhIHF1aXJrIGZvciBhIHNlbGYtY2xvc2luZyB0aXRsZSB0YWcs
IHdoaWNoIHdhcyBmb3VuZCBpbiB0aGlzIGFwcGxpY2F0aW9uJ3MgSFRNTCBjb250ZW50LgorICAg
ICAgICBPdGhlciBhcHBzIGFscmVhZHkgb3B0aW5nIGludG8gc2ltaWxhciBxdWlya3Mgd2lsbCBv
bmx5IGJlIGFmZmVjdGVkIGJ5IHRoaXMgbmV3IHF1aXJrIGlmIHRoZXkgYWxzbyAKKyAgICAgICAg
aGF2ZSBjb250ZW50IHdpdGggc2VsZi1jbG9zaW5nIHRpdGxlIHRhZ3MuICBJZiB0aGV5IGRvLCB0
aGVuIHRoZXkgd2lsbCBhbHNvIGJlbmVmaXQgZnJvbSB0aGlzIHF1aXJrLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cDogKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5IZWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwOiAoV2ViQ29y
ZTo6YXBwbGljYXRpb25Jc1NvbGFyV2Fsayk6CisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmg6CisKIDIwMTEtMDUtMTEgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDg2MzAwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU2Nyw2ICs1NjcsNyBAQCBfX1pON1dlYkNvcmUy
MXNldEdsb2JhbEljb25EYXRhYmFzZUVQTlNfCiBfX1pON1dlYkNvcmUyMXNldFBsYXRmb3JtU3Ry
YXRlZ2llc0VQTlNfMThQbGF0Zm9ybVN0cmF0ZWdpZXNFCiBfX1pON1dlYkNvcmUyMlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQyNmNhblN1c3BlbmRBY3RpdmVET01PYmplY3RzRXYKIF9fWk43V2ViQ29y
ZTIyYXBwbGljYXRpb25Jc0FwcGxlTWFpbEV2CitfX1pON1dlYkNvcmUyMmFwcGxpY2F0aW9uSXNT
b2xhcldhbGtFdgogX19aTjdXZWJDb3JlMjJjb250ZXh0TWVudUl0ZW1UYWdCb2xkRXYKIF9fWk43
V2ViQ29yZTIyY291bnRlclZhbHVlRm9yRWxlbWVudEVQTlNfN0VsZW1lbnRFCiBfX1pON1dlYkNv
cmUyMmNyZWF0ZUZyYWdtZW50RnJvbVRleHRFUE5TXzVSYW5nZUVSS04zV1RGNlN0cmluZ0UKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAko
cmV2aXNpb24gODYzMDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1
aWxkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMxLDYgKzI3MzEsMTAgQEAgYm9vbCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvcgogICAgIH0KICAgICBpZiAodG9rZW4ubmFt
ZSgpID09IHRpdGxlVGFnKSB7CiAgICAgICAgIHByb2Nlc3NHZW5lcmljUkNEQVRBU3RhcnRUYWco
dG9rZW4pOworICAgICAgICBpZiAobV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyAmJiB0b2tlbi5z
ZWxmQ2xvc2luZygpKSB7CisgICAgICAgICAgICBwcm9jZXNzRmFrZUVuZFRhZyh0aXRsZVRhZyk7
CisgICAgICAgICAgICBtX3BhcnNlci0+dG9rZW5pemVyKCktPnNldFN0YXRlKEhUTUxUb2tlbml6
ZXI6OkRhdGFTdGF0ZSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
ICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gbm9zY3JpcHRUYWcpIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcAkocmV2
aXNpb24gODYzMDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNCArMTAyLDEwIEBAIGJvb2wgYXBw
bGljYXRpb25Jc0FwZXJ0dXJlKCkKICAgICByZXR1cm4gaXNBcGVydHVyZTsKIH0KIAorYm9vbCBh
cHBsaWNhdGlvbklzU29sYXJXYWxrKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpc1NvbGFyV2FsayA9
IG1haW5CdW5kbGVJc0VxdWFsVG8oImNvbS52aXRvdGVjaG5vbG9neS5Tb2xhcldhbGtNYWMiKTsK
KyAgICByZXR1cm4gaXNTb2xhcldhbGs7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5oCShyZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIGJv
b2wgYXBwbGljYXRpb25Jc01pY3Jvc29mdE1lc3NlbmdlcigpOwogYm9vbCBhcHBsaWNhdGlvbklz
TWljcm9zb2Z0TXlEYXkoKTsKIGJvb2wgYXBwbGljYXRpb25Jc01pY3Jvc29mdE91dGxvb2soKTsK
IGJvb2wgYXBwbGljYXRpb25Jc1NhZmFyaSgpOworYm9vbCBhcHBsaWNhdGlvbklzU29sYXJXYWxr
KCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gODYzMDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMSBAQAorMjAxMS0wNS0xMSAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRml4IGZvciA8cmRhcjovL3Byb2JsZW0vOTI1MzQ1ND4gU29sYXIgV2FsayBGb3IgTWFjOiBJ
bmZvIHdpbmRvdyBpcyBibGFuayAoSFRNTDUgcGFyc2VyKQorCisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOiAoLVtXZWJWaWV3IF9uZWVkc1ByZUhUTUw1UGFyc2VyUXVpcmtzXSk6IE9wdCBp
bnRvIHRoZXNlIHF1aXJrcyBmb3IgdGhlIFNvbGFyIFdhbGsgYXBwbGljYXRpb24uCisKIDIwMTEt
MDUtMTEgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lv
biA4NjMwMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTQxMSw3ICsxNDExLDcgQEAgLSAoQk9PTClfbmVlZHNQcmVIVE1MNVBhcnNl
clF1aXJrcwogICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDYxMzQ+IGFuZAogICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDYzMzQ+LgogICAgIHN0YXRpYyBib29sIGlzQXBwbGljYXRpb25OZWVkaW5nUGFyc2VyUXVp
cmtzID0gIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0hU
TUw1X1BBUlNFUikKLSAgICAgICAgJiYgKGFwcGxpY2F0aW9uSXNBT0xJbnN0YW50TWVzc2VuZ2Vy
KCkgfHwgYXBwbGljYXRpb25Jc01pY3Jvc29mdE15RGF5KCkpOworICAgICAgICAmJiAoYXBwbGlj
YXRpb25Jc0FPTEluc3RhbnRNZXNzZW5nZXIoKSB8fCBhcHBsaWNhdGlvbklzTWljcm9zb2Z0TXlE
YXkoKSB8fCBhcHBsaWNhdGlvbklzU29sYXJXYWxrKCkpOwogICAgIAogICAgIC8vIE1haWwuYXBw
IG11c3QgY29udGludWUgdG8gZGlzcGxheSBIVE1MIGVtYWlsIHRoYXQgY29udGFpbnMgcXVpcmt5
IG1hcmt1cC4KICAgICBzdGF0aWMgYm9vbCBpc0FwcGxlTWFpbCA9IGFwcGxpY2F0aW9uSXNBcHBs
ZU1haWwoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MzAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTEgIEFkZWxlIFBl
dGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIDxyZGFyOi8vcHJvYmxlbS85MjUzNDU0PiBTb2xh
ciBXYWxrIEZvciBNYWM6IEluZm8gd2luZG93IGlzIGJsYW5rIChIVE1MNSBwYXJzZXIpCisKKyAg
ICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1zZWxm
LWNsb3NpbmctdGl0bGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDUtMTEgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtv
di4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUt
aHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg2MzAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogVGhpcyB0ZXN0cyB0aGF0IGNlcnRhaW4g
cHJlLUhUTUw1IHBhcnNlciBydWxlcyBhcmUgYXBwbGllZCB3aGVuIHRoZSBXZWJLaXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlIGlzIHNldC4gU2VlIGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzQwOTYxIGFuZCBodHRwczovL3dlYmtpdC5vcmcvYi80MjkwOSBmb3IgZGV0YWlscy4KIAot
ICAgICAgICAKKyAgICAgICAgIAogCiAtLS0tLS0tLQogRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8v
PCEtLWZyYW1lMC0tPi0tPicKQEAgLTY5LDMgKzY5LDkgQEAgRnJhbWU6ICc8IS0tZnJhbWVQYXRo
IC8vPCEtLWZyYW1lOC0tPi0tPgogU2VsZi1jbG9zaW5nIDxzY3JpcHQ+IGluIGJvZHk6CiBQYXJz
aW5nOiBQQVNTCiBFeHRlcm5hbCBzY3JpcHQgbG9hZGluZzogUEFTUworCistLS0tLS0tLQorRnJh
bWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lOS0tPi0tPicKKy0tLS0tLS0tCitTZWxmLWNs
b3NpbmcgPHRpdGxlPgorUGFyc2luZzogUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy5odG1sCShyZXZpc2lvbiA4NjMw
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDQgKzE3LDUgQEAKIDxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sIj48L2lmcmFtZT4K
IDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1zZWxmLWNsb3Np
bmctc2NyaXB0LWluLWhlYWQuaHRtbCI+PC9pZnJhbWU+CiA8aWZyYW1lIHNyYz0icmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstc2VsZi1jbG9zaW5nLXNjcmlwdC1pbi1ib2R5Lmh0bWwi
PjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
LXNlbGYtY2xvc2luZy10aXRsZS5odG1sIj48L2lmcmFtZT4KIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstc2VsZi1jbG9zaW5n
LXRpdGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3Vy
Y2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstc2VsZi1jbG9zaW5nLXRpdGxlLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay1zZWxmLWNsb3NpbmctdGl0bGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw5IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlLz4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIFNlbGYtY2xvc2luZyAmbHQ7dGl0bGUmZ3Q7PGJyPgorICAg
ICAgICBQYXJzaW5nOiBQQVNTCisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="86378"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93377</attachid>
            <date>2011-05-12 18:15:58 -0700</date>
            <delta_ts>2011-05-12 18:35:51 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch_solar-3.txt</filename>
            <type>text/plain</type>
            <size>12557</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NDA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMTIgIEFkZWxlIFBl
dGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzkyNTM0NTQ+IFNvbGFy
IFdhbGsgRm9yIE1hYzogSW5mbyB3aW5kb3cgaXMgYmxhbmsgKEhUTUw1IHBhcnNlcikKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjg1CisKKyAgICAg
ICAgRGV0ZWN0IHRoZSBTb2xhciBXYWxrIGFwcGxpY2F0aW9uIHNvIHdlIGNhbiBhZGQgdGFyZ2V0
ZWQgcGFyc2VyIHF1aXJrcy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6IChXZWJDb3JlOjphcHBsaWNh
dGlvbklzU29sYXJXYWxrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaDoKKwogMjAxMS0wNS0xMiAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAK
ICAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIGJ1aWxkIGFmdGVyIGNoYW5nZXNldCA4NjM5MSA8
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODYzOTE+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkocmV2aXNpb24gODYzMDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkod29ya2luZyBjb3B5KQpAQCAtNTY3LDYgKzU2Nyw3IEBAIF9fWk43V2ViQ29yZTIxc2V0R2xv
YmFsSWNvbkRhdGFiYXNlRVBOU18KIF9fWk43V2ViQ29yZTIxc2V0UGxhdGZvcm1TdHJhdGVnaWVz
RVBOU18xOFBsYXRmb3JtU3RyYXRlZ2llc0UKIF9fWk43V2ViQ29yZTIyU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDI2Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNFdgogX19aTjdXZWJDb3JlMjJhcHBs
aWNhdGlvbklzQXBwbGVNYWlsRXYKK19fWk43V2ViQ29yZTIyYXBwbGljYXRpb25Jc1NvbGFyV2Fs
a0V2CiBfX1pON1dlYkNvcmUyMmNvbnRleHRNZW51SXRlbVRhZ0JvbGRFdgogX19aTjdXZWJDb3Jl
MjJjb3VudGVyVmFsdWVGb3JFbGVtZW50RVBOU183RWxlbWVudEUKIF9fWk43V2ViQ29yZTIyY3Jl
YXRlRnJhZ21lbnRGcm9tVGV4dEVQTlNfNVJhbmdlRVJLTjNXVEY2U3RyaW5nRQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
Y3BwCShyZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw0ICsxMDIsMTAgQEAg
Ym9vbCBhcHBsaWNhdGlvbklzQXBlcnR1cmUoKQogICAgIHJldHVybiBpc0FwZXJ0dXJlOwogfQog
Citib29sIGFwcGxpY2F0aW9uSXNTb2xhcldhbGsoKQoreworICAgIHN0YXRpYyBib29sIGlzU29s
YXJXYWxrID0gbWFpbkJ1bmRsZUlzRXF1YWxUbygiY29tLnZpdG90ZWNobm9sb2d5LlNvbGFyV2Fs
a01hYyIpOworICAgIHJldHVybiBpc1NvbGFyV2FsazsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmgJKHJldmlzaW9uIDg2MzAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAgYm9vbCBhcHBsaWNhdGlvbklzTWljcm9zb2Z0TWVzc2VuZ2VyKCk7CiBib29sIGFwcGxp
Y2F0aW9uSXNNaWNyb3NvZnRNeURheSgpOwogYm9vbCBhcHBsaWNhdGlvbklzTWljcm9zb2Z0T3V0
bG9vaygpOwogYm9vbCBhcHBsaWNhdGlvbklzU2FmYXJpKCk7Citib29sIGFwcGxpY2F0aW9uSXNT
b2xhcldhbGsoKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gODY0MDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDExLTA1LTEyICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggZm9yIDxyZGFyOi8vcHJvYmxlbS85MjUzNDU0PiBTb2xhciBXYWxrIEZvciBNYWM6IEluZm8g
d2luZG93IGlzIGJsYW5rIChIVE1MNSBwYXJzZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4NQorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIE1pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5q
cyBhbmQgY29weSBpdCB0byBSZXNvdXJjZXMgZHVyaW5nIHRoZSBidWlsZCBwaGFzZS4gCisKIDIw
MTEtMDQtMTggIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAg
IE1ha2UgdXBkYXRlLXdlYmtpdC1sb2NhbGl6YWJsZS1zdHJpbmdzIHB1dCBXZWJLaXQvd2luIHN0
cmluZ3MgaW4gV2ViQ29yZQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM0Myw2ICsz
NDMsOCBAQAogCQlBODY0QjNGNjEyM0VEOUZBMDBDMkE2MTIgLyogTWFpbFF1aXJrc1VzZXJTY3Jp
cHQuanMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
NjRCM0U1MTIzRUQ4M0QwMEMyQTYxMiAvKiBNYWlsUXVpcmtzVXNlclNjcmlwdC5qcyAqLzsgfTsK
IAkJQUI5RkJCQkIwRjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUI5RkJCQkEw
Rjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oICovOyB9OwogCQlB
QkRERjIwRDA4RUIwRERDMDAxRTEyNDEgLyogV2ViRG93bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUJEREYyMEMwOEVCMEREQzAw
MUUxMjQxIC8qIFdlYkRvd25sb2FkSW50ZXJuYWwuaCAqLzsgfTsKKwkJQjU5NzQ0NTcxMzdDNzM0
MjAwMkExOEZGIC8qIFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanMgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1REIxRjE3MTM3QzYyRjUwMEEyOEU3
RSAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzICovOyB9OworCQlCNURCMUYxODEzN0M2
MkY1MDBBMjhFN0UgLyogU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcyBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1REIxRjE3MTM3QzYyRjUwMEEyOEU3
RSAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzICovOyB9OwogCQlCNkNFNUMyNDEwMEJD
NUNFMDAyMTk5MzYgLyogV2ViQXBwbGljYXRpb25DYWNoZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2ODA0OTcyMEZGQkNFQzEwMDlGN0Y2MiAvKiBX
ZWJBcHBsaWNhdGlvbkNhY2hlLm1tICovOyB9OwogCQlCNkNFNUMyNTEwMEJDNUY1MDAyMTk5MzYg
LyogV2ViQXBwbGljYXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjY4MDQ5NzEwRkZCQ0VDMTAwOUY3RjYyIC8qIFdlYkFwcGxpY2F0aW9u
Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCODA0MTc2RjEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI4MDQxNzZEMTIxN0E4
MzEwMDQ2NkJBRSAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZC5oICovOyB9OwpAQCAtNjYyLDYgKzY2
NCw3IEBACiAJCUE4NjRCM0U1MTIzRUQ4M0QwMEMyQTYxMiAvKiBNYWlsUXVpcmtzVXNlclNjcmlw
dC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IE1haWxRdWlya3NV
c2VyU2NyaXB0LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjlGQkJCQTBGODU4
MkIwMDA2QURDNDMgLyogV2ViRE9NT3BlcmF0aW9uc0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQkRERjIwQzA4RUIwRERDMDAxRTEyNDEgLyogV2ViRG93bmxv
YWRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJEb3dubG9hZEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQlCNURCMUYxNzEzN0M2MkY1MDBBMjhFN0Ug
LyogU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUI2ODA0OTcxMEZGQkNFQzEwMDlGN0Y2MiAvKiBXZWJBcHBsaWNh
dGlvbkNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkFwcGxpY2F0
aW9uQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY4MDQ5NzIwRkZCQ0VD
MTAwOUY3RjYyIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCODA0MTc2RDEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9y
RnJvbnRlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9y
RnJvbnRlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0OCw2ICs5NTEsNyBA
QAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyOUFFRjk1RDEzNEM3
NTU0MDBGRTUwOTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCisJCQkJQjVEQjFG
MTcxMzdDNjJGNTAwQTI4RTdFIC8qIFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCiAJ
CQkJQTg2NEIzRTUxMjNFRDgzRDAwQzJBNjEyIC8qIE1haWxRdWlya3NVc2VyU2NyaXB0LmpzICov
LAogCQkJCTFDQ0ZGRDEyMEIxRjgxRjIwMDJFRTkyNiAvKiBPbGRXZWJBc3NlcnRpb25zLmMgKi8s
CiAJCQkJNURFOTJGRUUwQkQ3MDE3RTAwNTlBNUZEIC8qIFdlYkFzc2VydGlvbnMuaCAqLywKQEAg
LTE3MjIsNiArMTcyNiw3IEBACiAJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwogCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCUI1OTc0NDU3
MTM3QzczNDIwMDJBMThGRiAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzIGluIFJlc291
cmNlcyAqLywKIAkJCQkyOUFFRjk2MDEzNEM3NkZCMDBGRTUwOTYgLyogT3V0bG9va1F1aXJrc1Vz
ZXJTY3JpcHQuanMgaW4gUmVzb3VyY2VzICovLAogCQkJCUE4NjRCM0Y2MTIzRUQ5RkEwMEMyQTYx
MiAvKiBNYWlsUXVpcmtzVXNlclNjcmlwdC5qcyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTM5ODEw
QkEwODI0QkYwMTAwOERGMDM4IC8qIElETlNjcmlwdFdoaXRlTGlzdC50eHQgaW4gUmVzb3VyY2Vz
ICovLApAQCAtMjAyNyw2ICsyMDMyLDcgQEAKIAkJCQlCQzQyRDM0RDEzMUVEMzg4MDA3NUZBNEIg
LyogV2ViTG9jYWxpemFibGVTdHJpbmdzSW50ZXJuYWwubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
ODI5NThENDEzMjcwN0QwMDAwRDBFNzkgLyogQ29ycmVjdGlvblBhbmVsLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTU2ODdCREIxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUI1REIxRjE4MTM3QzYyRjUwMEEyOEU3RSAvKiBTb2xhcldh
bGtRdWlya3NVc2VyU2NyaXB0LmpzIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA4NjQwNSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA1LTEyICBBZGVsZSBQZXRlcnNvbiAgPGFk
ZWxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXggZm9yIDxyZGFyOi8vcHJvYmxlbS85MjUzNDU0PiBTb2xhciBXYWxrIEZvciBN
YWM6IEluZm8gd2luZG93IGlzIGJsYW5rIChIVE1MNSBwYXJzZXIpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4NQorCisgICAgICAgIFNvbGFyIFdh
bGsgdXNlcyBhIHNlbGYgY2xvc2luZyB0aXRsZSB0YWcsIHNvIHRvIG1hdGNoIHRoZSBiZWhhdmlv
ciBvZiB0aGUgb2xkIHBhcnNlciwgCisgICAgICAgIHdlIHVzZSBhIFVzZXJTY3JpcHQgdG8gd3Jp
dGUgdGhlIGNvbnRlbnRzIG9mIHRoZSB0aXRsZSBlbGVtZW50IHRvIHRoZSBlbmQgb2YgdGhlIGRv
Y3VtZW50IHNvIGl0IGNhbiBiZSByZS1wYXJzZWQuCisKKyAgICAgICAgKiBNaXNjL1NvbGFyV2Fs
a1F1aXJrc1VzZXJTY3JpcHQuanM6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKG5lZWRzU29sYXJXYWxrUXVpcmtzU2NyaXB0KToKKyAgICAgICAgKGxlYWtT
b2xhcldhbGtRdWlya3NVc2VyU2NyaXB0Q29udGVudHMpOgorICAgICAgICAoLVtXZWJWaWV3IF9p
bmplY3RTb2xhcldhbGtRdWlya3NTY3JpcHRdKToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9u
SW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTp1c2VzRG9jdW1lbnRWaWV3czpd
KToKKwogMjAxMS0wNS0xMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvTWlzYy9Tb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcwkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisoZnVuY3Rpb24oKSB7
CisgCisgZnVuY3Rpb24gcmVwYXJzZVRpdGxlKCkKKyB7ICAKKyAgICAvLyBTb2xhciBXYWxrIHVz
ZXMgYSBzZWxmIGNsb3NpbmcgdGl0bGUgdGFnLCBzbyB0byBtYXRjaCB0aGUgYmVoYXZpb3Igb2Yg
dGhlIG9sZCBwYXJzZXIsIAorICAgIC8vIHdlIHdyaXRlIHRoZSBjb250ZW50cyBvZiB0aGUgdGl0
bGUgZWxlbWVudCB0byB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudCBzbyBpdCBjYW4gYmUgcmUtcGFy
c2VkLgorICAgIGRvY3VtZW50LndyaXRlKGRvY3VtZW50LnRpdGxlKTsKKyB9CisgCisgd2luZG93
Lm9ubG9hZCA9IHJlcGFyc2VUaXRsZTsKKworfSkoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDg2MzAwKQorKysgU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NjYsNiArNjY2LDI4IEBAIC0odm9p
ZClfaW5qZWN0T3V0bG9va1F1aXJrc1NjcmlwdAogICAgICAgICBvdXRsb29rUXVpcmtzU2NyaXB0
Q29udGVudHMsIEtVUkwoKSwgbnVsbHB0ciwgbnVsbHB0ciwgSW5qZWN0QXREb2N1bWVudEVuZCwg
SW5qZWN0SW5BbGxGcmFtZXMpOwogfQogCitzdGF0aWMgYm9vbCBuZWVkc1NvbGFyV2Fsa1F1aXJr
c1NjcmlwdCgpCit7CisgICAgc3RhdGljIGJvb2wgaXNTb2xhcldhbGtOZWVkaW5nUXVpcmtzU2Ny
aXB0ID0gIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0hU
TUw1X1BBUlNFUikKKyAgICAmJiBhcHBsaWNhdGlvbklzU29sYXJXYWxrKCk7CisgICAgcmV0dXJu
IGlzU29sYXJXYWxrTmVlZGluZ1F1aXJrc1NjcmlwdDsKK30KKworc3RhdGljIE5TU3RyaW5nICps
ZWFrU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdENvbnRlbnRzKCkKK3sKKyAgICBOU1N0cmluZyAq
c2NyaXB0UGF0aCA9IFtbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYlZpZXcgY2xhc3NdXSBw
YXRoRm9yUmVzb3VyY2U6QCJTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0IiBvZlR5cGU6QCJqcyJd
OworICAgIE5TU3RyaW5nRW5jb2RpbmcgZW5jb2Rpbmc7CisgICAgcmV0dXJuIFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoQ29udGVudHNPZkZpbGU6c2NyaXB0UGF0aCB1c2VkRW5jb2Rpbmc6JmVu
Y29kaW5nIGVycm9yOjBdOworfQorCistKHZvaWQpX2luamVjdFNvbGFyV2Fsa1F1aXJrc1Njcmlw
dAoreworICAgIHN0YXRpYyBOU1N0cmluZyAqc29sYXJXYWxrUXVpcmtzU2NyaXB0Q29udGVudHMg
PSBsZWFrU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdENvbnRlbnRzKCk7CisgICAgTlNMb2coQCJj
b250ZW50cyBvZiB1c2VyIHNjcmlwdDogJUBcbiIsIHNvbGFyV2Fsa1F1aXJrc1NjcmlwdENvbnRl
bnRzKTsKKyAgICBjb3JlKHNlbGYpLT5ncm91cCgpLmFkZFVzZXJTY3JpcHRUb1dvcmxkKGNvcmUo
W1dlYlNjcmlwdFdvcmxkIHdvcmxkXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzb2xhcldhbGtRdWlya3NTY3JpcHRDb250ZW50cywgS1VSTCgpLCBudWxs
cHRyLCBudWxscHRyLCBJbmplY3RBdERvY3VtZW50RW5kLCBJbmplY3RJbkFsbEZyYW1lcyk7Cit9
CisKIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcg
KilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0cmluZyAqKWdyb3VwTmFtZSB1c2VzRG9jdW1lbnRW
aWV3czooQk9PTCl1c2VzRG9jdW1lbnRWaWV3cwogewogICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRp
b25DaGVja1JvdW5kVHdvKCk7CkBAIC03MzksNiArNzYxLDExIEBAIC0gKHZvaWQpX2NvbW1vbklu
aXRpYWxpemF0aW9uV2l0aEZyYW1lTmEKICAgICAgICAgW3NlbGYgX2luamVjdE91dGxvb2tRdWly
a3NTY3JpcHRdOwogICAgIH0KIAorICAgIGlmIChuZWVkc1NvbGFyV2Fsa1F1aXJrc1NjcmlwdCgp
KSB7CisgICAgICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLT5zZXRTaG91bGRJbmplY3RV
c2VyU2NyaXB0c0luSW5pdGlhbEVtcHR5RG9jdW1lbnQodHJ1ZSk7CisgICAgICAgIFtzZWxmIF9p
bmplY3RTb2xhcldhbGtRdWlya3NTY3JpcHRdOworICAgIH0KKwogICAgIFtXZWJGcmFtZSBfY3Jl
YXRlTWFpbkZyYW1lV2l0aFBhZ2U6X3ByaXZhdGUtPnBhZ2UgZnJhbWVOYW1lOmZyYW1lTmFtZSBm
cmFtZVZpZXc6ZnJhbWVWaWV3XTsKIAogICAgIE5TUnVuTG9vcCAqcnVuTG9vcCA9IFtOU1J1bkxv
b3AgbWFpblJ1bkxvb3BdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93384</attachid>
            <date>2011-05-12 18:35:51 -0700</date>
            <delta_ts>2011-05-12 18:36:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch_solar-4.txt</filename>
            <type>text/plain</type>
            <size>12597</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NDA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMTIgIEFkZWxlIFBl
dGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzkyNTM0NTQ+IFNvbGFy
IFdhbGsgRm9yIE1hYzogSW5mbyB3aW5kb3cgaXMgYmxhbmsgKEhUTUw1IHBhcnNlcikKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjg1CisKKyAgICAg
ICAgRGV0ZWN0IHRoZSBTb2xhciBXYWxrIGFwcGxpY2F0aW9uIHNvIHdlIGNhbiBhZGQgdGFyZ2V0
ZWQgcGFyc2VyIHF1aXJrcy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6IChXZWJDb3JlOjphcHBsaWNh
dGlvbklzU29sYXJXYWxrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaDoKKwogMjAxMS0wNS0xMiAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAK
ICAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIGJ1aWxkIGFmdGVyIGNoYW5nZXNldCA4NjM5MSA8
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODYzOTE+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkocmV2aXNpb24gODYzMDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkod29ya2luZyBjb3B5KQpAQCAtNTY3LDYgKzU2Nyw3IEBAIF9fWk43V2ViQ29yZTIxc2V0R2xv
YmFsSWNvbkRhdGFiYXNlRVBOU18KIF9fWk43V2ViQ29yZTIxc2V0UGxhdGZvcm1TdHJhdGVnaWVz
RVBOU18xOFBsYXRmb3JtU3RyYXRlZ2llc0UKIF9fWk43V2ViQ29yZTIyU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDI2Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNFdgogX19aTjdXZWJDb3JlMjJhcHBs
aWNhdGlvbklzQXBwbGVNYWlsRXYKK19fWk43V2ViQ29yZTIyYXBwbGljYXRpb25Jc1NvbGFyV2Fs
a0V2CiBfX1pON1dlYkNvcmUyMmNvbnRleHRNZW51SXRlbVRhZ0JvbGRFdgogX19aTjdXZWJDb3Jl
MjJjb3VudGVyVmFsdWVGb3JFbGVtZW50RVBOU183RWxlbWVudEUKIF9fWk43V2ViQ29yZTIyY3Jl
YXRlRnJhZ21lbnRGcm9tVGV4dEVQTlNfNVJhbmdlRVJLTjNXVEY2U3RyaW5nRQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
Y3BwCShyZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw0ICsxMDIsMTAgQEAg
Ym9vbCBhcHBsaWNhdGlvbklzQXBlcnR1cmUoKQogICAgIHJldHVybiBpc0FwZXJ0dXJlOwogfQog
Citib29sIGFwcGxpY2F0aW9uSXNTb2xhcldhbGsoKQoreworICAgIHN0YXRpYyBib29sIGlzU29s
YXJXYWxrID0gbWFpbkJ1bmRsZUlzRXF1YWxUbygiY29tLnZpdG90ZWNobm9sb2d5LlNvbGFyV2Fs
a01hYyIpOworICAgIHJldHVybiBpc1NvbGFyV2FsazsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmgJKHJldmlzaW9uIDg2MzAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAgYm9vbCBhcHBsaWNhdGlvbklzTWljcm9zb2Z0TWVzc2VuZ2VyKCk7CiBib29sIGFwcGxp
Y2F0aW9uSXNNaWNyb3NvZnRNeURheSgpOwogYm9vbCBhcHBsaWNhdGlvbklzTWljcm9zb2Z0T3V0
bG9vaygpOwogYm9vbCBhcHBsaWNhdGlvbklzU2FmYXJpKCk7Citib29sIGFwcGxpY2F0aW9uSXNT
b2xhcldhbGsoKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gODY0MDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDExLTA1LTEyICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggZm9yIDxyZGFyOi8vcHJvYmxlbS85MjUzNDU0PiBTb2xhciBXYWxrIEZvciBNYWM6IEluZm8g
d2luZG93IGlzIGJsYW5rIChIVE1MNSBwYXJzZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4NQorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIE1pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5q
cyBhbmQgY29weSBpdCB0byBSZXNvdXJjZXMgZHVyaW5nIHRoZSBidWlsZCBwaGFzZS4gCisKIDIw
MTEtMDQtMTggIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAg
IE1ha2UgdXBkYXRlLXdlYmtpdC1sb2NhbGl6YWJsZS1zdHJpbmdzIHB1dCBXZWJLaXQvd2luIHN0
cmluZ3MgaW4gV2ViQ29yZQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM0Myw2ICsz
NDMsOCBAQAogCQlBODY0QjNGNjEyM0VEOUZBMDBDMkE2MTIgLyogTWFpbFF1aXJrc1VzZXJTY3Jp
cHQuanMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
NjRCM0U1MTIzRUQ4M0QwMEMyQTYxMiAvKiBNYWlsUXVpcmtzVXNlclNjcmlwdC5qcyAqLzsgfTsK
IAkJQUI5RkJCQkIwRjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUI5RkJCQkEw
Rjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oICovOyB9OwogCQlB
QkRERjIwRDA4RUIwRERDMDAxRTEyNDEgLyogV2ViRG93bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUJEREYyMEMwOEVCMEREQzAw
MUUxMjQxIC8qIFdlYkRvd25sb2FkSW50ZXJuYWwuaCAqLzsgfTsKKwkJQjU5NzQ0NTcxMzdDNzM0
MjAwMkExOEZGIC8qIFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanMgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1REIxRjE3MTM3QzYyRjUwMEEyOEU3
RSAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzICovOyB9OworCQlCNURCMUYxODEzN0M2
MkY1MDBBMjhFN0UgLyogU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcyBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1REIxRjE3MTM3QzYyRjUwMEEyOEU3
RSAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzICovOyB9OwogCQlCNkNFNUMyNDEwMEJD
NUNFMDAyMTk5MzYgLyogV2ViQXBwbGljYXRpb25DYWNoZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2ODA0OTcyMEZGQkNFQzEwMDlGN0Y2MiAvKiBX
ZWJBcHBsaWNhdGlvbkNhY2hlLm1tICovOyB9OwogCQlCNkNFNUMyNTEwMEJDNUY1MDAyMTk5MzYg
LyogV2ViQXBwbGljYXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjY4MDQ5NzEwRkZCQ0VDMTAwOUY3RjYyIC8qIFdlYkFwcGxpY2F0aW9u
Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCODA0MTc2RjEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI4MDQxNzZEMTIxN0E4
MzEwMDQ2NkJBRSAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZC5oICovOyB9OwpAQCAtNjYyLDYgKzY2
NCw3IEBACiAJCUE4NjRCM0U1MTIzRUQ4M0QwMEMyQTYxMiAvKiBNYWlsUXVpcmtzVXNlclNjcmlw
dC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IE1haWxRdWlya3NV
c2VyU2NyaXB0LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjlGQkJCQTBGODU4
MkIwMDA2QURDNDMgLyogV2ViRE9NT3BlcmF0aW9uc0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQkRERjIwQzA4RUIwRERDMDAxRTEyNDEgLyogV2ViRG93bmxv
YWRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJEb3dubG9hZEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQlCNURCMUYxNzEzN0M2MkY1MDBBMjhFN0Ug
LyogU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUI2ODA0OTcxMEZGQkNFQzEwMDlGN0Y2MiAvKiBXZWJBcHBsaWNh
dGlvbkNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkFwcGxpY2F0
aW9uQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY4MDQ5NzIwRkZCQ0VD
MTAwOUY3RjYyIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCODA0MTc2RDEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9y
RnJvbnRlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9y
RnJvbnRlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0OCw2ICs5NTEsNyBA
QAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyOUFFRjk1RDEzNEM3
NTU0MDBGRTUwOTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCisJCQkJQjVEQjFG
MTcxMzdDNjJGNTAwQTI4RTdFIC8qIFNvbGFyV2Fsa1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCiAJ
CQkJQTg2NEIzRTUxMjNFRDgzRDAwQzJBNjEyIC8qIE1haWxRdWlya3NVc2VyU2NyaXB0LmpzICov
LAogCQkJCTFDQ0ZGRDEyMEIxRjgxRjIwMDJFRTkyNiAvKiBPbGRXZWJBc3NlcnRpb25zLmMgKi8s
CiAJCQkJNURFOTJGRUUwQkQ3MDE3RTAwNTlBNUZEIC8qIFdlYkFzc2VydGlvbnMuaCAqLywKQEAg
LTE3MjIsNiArMTcyNiw3IEBACiAJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwogCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCUI1OTc0NDU3
MTM3QzczNDIwMDJBMThGRiAvKiBTb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzIGluIFJlc291
cmNlcyAqLywKIAkJCQkyOUFFRjk2MDEzNEM3NkZCMDBGRTUwOTYgLyogT3V0bG9va1F1aXJrc1Vz
ZXJTY3JpcHQuanMgaW4gUmVzb3VyY2VzICovLAogCQkJCUE4NjRCM0Y2MTIzRUQ5RkEwMEMyQTYx
MiAvKiBNYWlsUXVpcmtzVXNlclNjcmlwdC5qcyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTM5ODEw
QkEwODI0QkYwMTAwOERGMDM4IC8qIElETlNjcmlwdFdoaXRlTGlzdC50eHQgaW4gUmVzb3VyY2Vz
ICovLApAQCAtMjAyNyw2ICsyMDMyLDcgQEAKIAkJCQlCQzQyRDM0RDEzMUVEMzg4MDA3NUZBNEIg
LyogV2ViTG9jYWxpemFibGVTdHJpbmdzSW50ZXJuYWwubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
ODI5NThENDEzMjcwN0QwMDAwRDBFNzkgLyogQ29ycmVjdGlvblBhbmVsLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTU2ODdCREIxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUI1REIxRjE4MTM3QzYyRjUwMEEyOEU3RSAvKiBTb2xhcldh
bGtRdWlya3NVc2VyU2NyaXB0LmpzIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA4NjQwNSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA1LTEyICBBZGVsZSBQZXRlcnNvbiAgPGFk
ZWxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXggZm9yIDxyZGFyOi8vcHJvYmxlbS85MjUzNDU0PiBTb2xhciBXYWxrIEZvciBN
YWM6IEluZm8gd2luZG93IGlzIGJsYW5rIChIVE1MNSBwYXJzZXIpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4NQorCisgICAgICAgIFNvbGFyIFdh
bGsgdXNlcyBhIHNlbGYgY2xvc2luZyB0aXRsZSB0YWcsIHNvIHRvIG1hdGNoIHRoZSBiZWhhdmlv
ciBvZiB0aGUgb2xkIHBhcnNlciwgCisgICAgICAgIHdlIHVzZSBhIFVzZXJTY3JpcHQgdG8gd3Jp
dGUgdGhlIGNvbnRlbnRzIG9mIHRoZSB0aXRsZSBlbGVtZW50IHRvIHRoZSBlbmQgb2YgdGhlIGRv
Y3VtZW50IHNvIGl0IGNhbiBiZSByZS1wYXJzZWQuCisKKyAgICAgICAgKiBNaXNjL1NvbGFyV2Fs
a1F1aXJrc1VzZXJTY3JpcHQuanM6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKG5lZWRzU29sYXJXYWxrUXVpcmtzU2NyaXB0KToKKyAgICAgICAgKGxlYWtT
b2xhcldhbGtRdWlya3NVc2VyU2NyaXB0Q29udGVudHMpOgorICAgICAgICAoLVtXZWJWaWV3IF9p
bmplY3RTb2xhcldhbGtRdWlya3NTY3JpcHRdKToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9u
SW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTp1c2VzRG9jdW1lbnRWaWV3czpd
KToKKwogMjAxMS0wNS0xMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvTWlzYy9Tb2xhcldhbGtRdWlya3NVc2VyU2NyaXB0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5qcwkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvU29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdC5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisoZnVuY3Rpb24oKSB7
CisgCisgICAgZnVuY3Rpb24gcmVwYXJzZVRpdGxlKCkKKyAgICB7ICAKKyAgICAgICAgLy8gU29s
YXIgV2FsayB1c2VzIGEgc2VsZiBjbG9zaW5nIHRpdGxlIHRhZywgc28gdG8gbWF0Y2ggdGhlIGJl
aGF2aW9yIG9mIHRoZSBvbGQgcGFyc2VyLCAKKyAgICAgICAgLy8gd2Ugd3JpdGUgdGhlIGNvbnRl
bnRzIG9mIHRoZSB0aXRsZSBlbGVtZW50IHRvIHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50IHNvIGl0
IGNhbiBiZSByZS1wYXJzZWQuCisgICAgICAgIGRvY3VtZW50LndyaXRlKGRvY3VtZW50LnRpdGxl
KTsKKyAgICB9CisKKyAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcmVwYXJzZVRpdGxlLCBm
YWxzZSk7CisKK30pKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShy
ZXZpc2lvbiA4NjMwMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtNjY2LDYgKzY2NiwyOCBAQCAtKHZvaWQpX2luamVjdE91dGxvb2tR
dWlya3NTY3JpcHQKICAgICAgICAgb3V0bG9va1F1aXJrc1NjcmlwdENvbnRlbnRzLCBLVVJMKCks
IG51bGxwdHIsIG51bGxwdHIsIEluamVjdEF0RG9jdW1lbnRFbmQsIEluamVjdEluQWxsRnJhbWVz
KTsKIH0KIAorc3RhdGljIGJvb2wgbmVlZHNTb2xhcldhbGtRdWlya3NTY3JpcHQoKQoreworICAg
IHN0YXRpYyBib29sIGlzU29sYXJXYWxrTmVlZGluZ1F1aXJrc1NjcmlwdCA9ICFXZWJLaXRMaW5r
ZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9IVE1MNV9QQVJTRVIpCisgICAg
JiYgYXBwbGljYXRpb25Jc1NvbGFyV2FsaygpOworICAgIHJldHVybiBpc1NvbGFyV2Fsa05lZWRp
bmdRdWlya3NTY3JpcHQ7Cit9CisKK3N0YXRpYyBOU1N0cmluZyAqbGVha1NvbGFyV2Fsa1F1aXJr
c1VzZXJTY3JpcHRDb250ZW50cygpCit7CisgICAgTlNTdHJpbmcgKnNjcmlwdFBhdGggPSBbW05T
QnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJWaWV3IGNsYXNzXV0gcGF0aEZvclJlc291cmNlOkAi
U29sYXJXYWxrUXVpcmtzVXNlclNjcmlwdCIgb2ZUeXBlOkAianMiXTsKKyAgICBOU1N0cmluZ0Vu
Y29kaW5nIGVuY29kaW5nOworICAgIHJldHVybiBbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aENv
bnRlbnRzT2ZGaWxlOnNjcmlwdFBhdGggdXNlZEVuY29kaW5nOiZlbmNvZGluZyBlcnJvcjowXTsK
K30KKworLSh2b2lkKV9pbmplY3RTb2xhcldhbGtRdWlya3NTY3JpcHQKK3sKKyAgICBzdGF0aWMg
TlNTdHJpbmcgKnNvbGFyV2Fsa1F1aXJrc1NjcmlwdENvbnRlbnRzID0gbGVha1NvbGFyV2Fsa1F1
aXJrc1VzZXJTY3JpcHRDb250ZW50cygpOworICAgIE5TTG9nKEAiY29udGVudHMgb2YgdXNlciBz
Y3JpcHQ6ICVAXG4iLCBzb2xhcldhbGtRdWlya3NTY3JpcHRDb250ZW50cyk7CisgICAgY29yZShz
ZWxmKS0+Z3JvdXAoKS5hZGRVc2VyU2NyaXB0VG9Xb3JsZChjb3JlKFtXZWJTY3JpcHRXb3JsZCB3
b3JsZF0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29s
YXJXYWxrUXVpcmtzU2NyaXB0Q29udGVudHMsIEtVUkwoKSwgbnVsbHB0ciwgbnVsbHB0ciwgSW5q
ZWN0QXREb2N1bWVudEVuZCwgSW5qZWN0SW5BbGxGcmFtZXMpOworfQorCiAtICh2b2lkKV9jb21t
b25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3Vw
TmFtZTooTlNTdHJpbmcgKilncm91cE5hbWUgdXNlc0RvY3VtZW50Vmlld3M6KEJPT0wpdXNlc0Rv
Y3VtZW50Vmlld3MKIHsKICAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygp
OwpAQCAtNzM5LDYgKzc2MSwxMSBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hCiAgICAgICAgIFtzZWxmIF9pbmplY3RPdXRsb29rUXVpcmtzU2NyaXB0XTsKICAgICB9
CiAKKyAgICBpZiAobmVlZHNTb2xhcldhbGtRdWlya3NTY3JpcHQoKSkgeworICAgICAgICBfcHJp
dmF0ZS0+cGFnZS0+c2V0dGluZ3MoKS0+c2V0U2hvdWxkSW5qZWN0VXNlclNjcmlwdHNJbkluaXRp
YWxFbXB0eURvY3VtZW50KHRydWUpOworICAgICAgICBbc2VsZiBfaW5qZWN0U29sYXJXYWxrUXVp
cmtzU2NyaXB0XTsKKyAgICB9CisKICAgICBbV2ViRnJhbWUgX2NyZWF0ZU1haW5GcmFtZVdpdGhQ
YWdlOl9wcml2YXRlLT5wYWdlIGZyYW1lTmFtZTpmcmFtZU5hbWUgZnJhbWVWaWV3OmZyYW1lVmll
d107CiAKICAgICBOU1J1bkxvb3AgKnJ1bkxvb3AgPSBbTlNSdW5Mb29wIG1haW5SdW5Mb29wXTsK
</data>
<flag name="review"
          id="86538"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>