<?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>122604</bug_id>
          
          <creation_ts>2013-10-10 09:34:59 -0700</creation_ts>
          <short_desc>WebViews inside OS X screen savers have large caches, but should not</short_desc>
          <delta_ts>2013-10-12 21:04:21 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.8</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>938386</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-10 09:34:59 -0700</bug_when>
    <thetext>WebViews inside OS X screen savers have large caches, but should not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938387</commentid>
    <comment_count>1</comment_count>
      <attachid>213892</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-10 09:38:55 -0700</bug_when>
    <thetext>Created attachment 213892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938401</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-10 10:08:22 -0700</bug_when>
    <thetext>This whole mechanism with hardcoded bundle IDs is so icky that I can&apos;t make myself r+ the patch. 

But I don&apos;t see anything wrong with the patch per se, it seems likely indeed that screen saver modules don&apos;t use WebViews to create a browser with back/forward navigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938460</commentid>
    <comment_count>3</comment_count>
      <attachid>213892</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-10 11:59:10 -0700</bug_when>
    <thetext>Comment on attachment 213892
Patch

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

Hi Adam!

&gt; Source/WebKit/mac/ChangeLog:10
&gt; +        against legacy WebKit. ScreenSaverEngine.app doesn&apos;t link against
&gt; +        WebKit at all, and thus falls into the legacy case by accident because
&gt; +        NSVersionOfLinkTimeLibrary(&quot;WebKit&quot;) returns -1.

I don&apos;t think that was the original intent. Also, the new behavior has been around long enough that backwards-compatibility is less of a concern. I think we should give the new WebCacheModelDocumentViewer behavior to any app that does not link directly against WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938472</commentid>
    <comment_count>4</comment_count>
      <attachid>213892</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-10 12:08:37 -0700</bug_when>
    <thetext>Comment on attachment 213892
Patch

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

&gt;&gt; Source/WebKit/mac/ChangeLog:10
&gt;&gt; +        NSVersionOfLinkTimeLibrary(&quot;WebKit&quot;) returns -1.
&gt; 
&gt; I don&apos;t think that was the original intent. Also, the new behavior has been around long enough that backwards-compatibility is less of a concern. I think we should give the new WebCacheModelDocumentViewer behavior to any app that does not link directly against WebKit.

Are you also saying we should give WebCacheModelDocumentViewer behavior to apps linked against very old versions of WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938474</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-10 12:10:22 -0700</bug_when>
    <thetext>(Hi Geoff!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938570</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-10 15:20:05 -0700</bug_when>
    <thetext>&gt; Are you also saying we should give WebCacheModelDocumentViewer behavior to apps linked against very old versions of WebKit?

Let&apos;s see... I don&apos;t think so.

I guess I&apos;m saying this:

(1) Very old apps that link to WebKit should get the backwards-compatible thing (i.e., WebCacheModelDocumentBrowser, unless they&apos;re in the specific list of exceptions detailed by cacheModelForMainBundle).

(2) Old and/or new apps that don&apos;t link to WebKit at all should get the new thing (i.e., WebCacheModelDocumentViewer). It&apos;s reasonable to assume that, if you don&apos;t link to WebKit, you probably aren&apos;t a browser.

(3) New apps that do link to WebKit should get the new thing (i.e., WebCacheModelDocumentViewer).

I could be convinced either way on (1), since the use case is rare at this point. (2) and (3) seem essential. We don&apos;t want to surprise unsuspecting apps with high memory footprint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938772</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-11 04:06:02 -0700</bug_when>
    <thetext>OK, thanks for the clarification. I wanted to make sure I was interpreting your &quot;backwards-compatibility&quot; comment correctly, and I wasn&apos;t. New patch coming up!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938784</commentid>
    <comment_count>8</comment_count>
      <attachid>213984</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-11 06:41:43 -0700</bug_when>
    <thetext>Created attachment 213984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938785</commentid>
    <comment_count>9</comment_count>
      <attachid>213985</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2013-10-11 06:43:11 -0700</bug_when>
    <thetext>Created attachment 213985
Patch ignoring whitespace

Here&apos;s a copy of the patch with whitespace changes ignored, to make it easier to see the real changes without the indentation forced by @autoreleasepool {}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939171</commentid>
    <comment_count>10</comment_count>
      <attachid>213984</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 20:39:14 -0700</bug_when>
    <thetext>Comment on attachment 213984
Patch

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

&gt; Source/WebKit/mac/WebView/WebPreferences.mm:134
&gt; +        if (contains(documentViewerIDs, sizeof(documentViewerIDs) / sizeof(documentViewerIDs[0]), bundleID))
&gt; +            return WebCacheModelDocumentViewer;
&gt; +        if (contains(documentBrowserIDs, sizeof(documentBrowserIDs) / sizeof(documentBrowserIDs[0]), bundleID))
&gt; +            return WebCacheModelDocumentBrowser;
&gt; +        if (contains(primaryWebBrowserIDs, sizeof(primaryWebBrowserIDs) / sizeof(primaryWebBrowserIDs[0]), bundleID))
&gt; +            return WebCacheModelPrimaryWebBrowser;

As long as you were modernizing, you could have used WTF_ARRAY_LENGTH here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939176</commentid>
    <comment_count>11</comment_count>
      <attachid>213984</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:04:17 -0700</bug_when>
    <thetext>Comment on attachment 213984
Patch

Clearing flags on attachment: 213984

Committed r157351: &lt;http://trac.webkit.org/changeset/157351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939177</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:04:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213892</attachid>
            <date>2013-10-10 09:38:55 -0700</date>
            <delta_ts>2013-10-11 06:41:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122604-20131010123855.patch</filename>
            <type>text/plain</type>
            <size>2075</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjc5OWMzZmE4
ZTAwYzU5ZDczYWY5YjI3NDc4OGY5ZjcyNWI3MTA3ZC4uOWJlYzU3ZGQ4YjlmY2MyNzQ2NzQ1NTBk
ODJiN2VmNWU0ZTllMTEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEz
LTEwLTEwICBBZGFtIFJvYmVuICA8YXJvYmVuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViVmll
d3MgaW5zaWRlIE9TIFggc2NyZWVuIHNhdmVycyBoYXZlIGxhcmdlIGNhY2hlcywgYnV0IHNob3Vs
ZCBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MjYwNAorCisgICAgICAgIFdlIHVzZSBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIgYnkgZGVm
YXVsdCBmb3IgYXBwcyBsaW5rZWQgYWdhaW5zdAorICAgICAgICBtb2Rlcm4gV2ViS2l0LCBhbmQg
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciBmb3IgYXBwcyBsaW5rZWQKKyAgICAgICAgYWdh
aW5zdCBsZWdhY3kgV2ViS2l0LiBTY3JlZW5TYXZlckVuZ2luZS5hcHAgZG9lc24ndCBsaW5rIGFn
YWluc3QKKyAgICAgICAgV2ViS2l0IGF0IGFsbCwgYW5kIHRodXMgZmFsbHMgaW50byB0aGUgbGVn
YWN5IGNhc2UgYnkgYWNjaWRlbnQgYmVjYXVzZQorICAgICAgICBOU1ZlcnNpb25PZkxpbmtUaW1l
TGlicmFyeSgiV2ViS2l0IikgcmV0dXJucyAtMS4KKworICAgICAgICBCdXQgV2ViVmlld3MgaW5z
aWRlIHNjcmVlbiBzYXZlcnMgYXJlIGFsbW9zdCBjZXJ0YWlubHkgbm90IGJlaW5nIHVzZWQKKyAg
ICAgICAgYXMgYnJvd3NlcnMsIHNvIHRoaXMgbGFyZ2UtaXNoIGNhY2hlIHNwZWNpZmllZCBieQor
ICAgICAgICBXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyIGlzIHdhc3RlZnVsLiBTbyBub3cg
d2Ugc3BlY2lhbC1jYXNlCisgICAgICAgIFNjcmVlblNhdmVyRW5naW5lLmFwcCB0byBnaXZlIGl0
IFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciBieQorICAgICAgICBkZWZhdWx0LgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbToKKyAgICAgICAgKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKTogVXNlIFdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciBieSBkZWZhdWx0CisgICAgICAgIHdoZW4gcnVubmlu
ZyBpbnNpZGUgU2NyZWVuU2F2ZXJFbmdpbmUuYXBwLgorCiAyMDEzLTEwLTA4ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJOZXRzY2FwZVBsdWdpblZpZXcgc2hv
dWxkIG5vIGxvbmdlciB1c2UgZGVsZXRlQWxsVmFsdWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwYzc5YmJlZjVmMGI3OGRlYjM4OTNlZTUyNmZh
ODliYmM4YTkyNWFjLi40MTM2NzVjNzllZjQ4NjU0MTA3OTBmNTNmM2UxZjU5Y2IyN2FmYmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTg0LDYg
Kzg0LDcgQEAgc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9p
ZCkKICAgICAgICAgImNvbS5hbGllbnRlY2hub2xvZ3kuUHJvdGV1cyIsCiAgICAgICAgICJjb20u
YXBwbGUuRGFzaGNvZGUiLAogICAgICAgICAiY29tLmFwcGxlLmlDaGF0IiwgCisgICAgICAgICJj
b20uYXBwbGUuU2NyZWVuU2F2ZXIuRW5naW5lIiwKICAgICAgICAgImNvbS5iYXJlYm9uZXMuYmJl
ZGl0IiwgCiAgICAgICAgICJjb20uYmFyZWJvbmVzLnRleHR3cmFuZ2xlciIsCiAgICAgICAgICJj
b20uYmFyZWJvbmVzLnlvamltYm8iLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213984</attachid>
            <date>2013-10-11 06:41:43 -0700</date>
            <delta_ts>2013-10-12 21:04:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122604-20131011094142.patch</filename>
            <type>text/plain</type>
            <size>7645</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjk1ZTBkZDhk
N2UyZDk2YTY1ZmUxYWZlOTFhNjNmNjBiMGI4MmNkOC4uMzZmNzJkNjdiZDBlNjJlYWFlYmI0NjJm
NTM5ZmZmYTBjMjdkN2U0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEz
LTEwLTExICBBZGFtIFJvYmVuICA8YXJvYmVuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViVmll
d3MgaW5zaWRlIE9TIFggc2NyZWVuIHNhdmVycyBoYXZlIGxhcmdlIGNhY2hlcywgYnV0IHNob3Vs
ZCBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MjYwNAorCisgICAgICAgIFdlIHVzZSBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIgYnkgZGVm
YXVsdCBmb3IgYXBwcyBsaW5rZWQgYWdhaW5zdAorICAgICAgICBtb2Rlcm4gV2ViS2l0LCBhbmQg
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciBmb3IgYXBwcyBsaW5rZWQKKyAgICAgICAgYWdh
aW5zdCBsZWdhY3kgV2ViS2l0LiBTY3JlZW5TYXZlckVuZ2luZS5hcHAgZG9lc24ndCBsaW5rIGFn
YWluc3QKKyAgICAgICAgV2ViS2l0IGF0IGFsbCwgYW5kIHRodXMgZmFsbHMgaW50byB0aGUgbGVn
YWN5IGNhc2UgYnkgYWNjaWRlbnQgYmVjYXVzZQorICAgICAgICBOU1ZlcnNpb25PZkxpbmtUaW1l
TGlicmFyeSgiV2ViS2l0IikgcmV0dXJucyAtMS4KKworICAgICAgICBCdXQgV2ViVmlld3MgaW5z
aWRlIHNjcmVlbiBzYXZlcnMgYXJlIGFsbW9zdCBjZXJ0YWlubHkgbm90IGJlaW5nIHVzZWQKKyAg
ICAgICAgYXMgYnJvd3NlcnMsIHNvIHRoaXMgbGFyZ2UtaXNoIGNhY2hlIHNwZWNpZmllZCBieQor
ICAgICAgICBXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyIGlzIHdhc3RlZnVsLiBUaGlzIGlz
IGxpa2VseSB0cnVlIGZvciBhbGwKKyAgICAgICAgYXBwcyB0aGF0IGRvbid0IGRpcmVjdGx5IGxp
bmsgYWdhaW5zdCBXZWJLaXQsIHNvIG5vdyB3ZSB1c2UKKyAgICAgICAgV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyIGJ5IGRlZmF1bHQgZm9yIHRob3NlIGFwcHMuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOiBVc2UgV2ViQ2FjaGVNb2Rl
bERvY3VtZW50Vmlld2VyIGJ5IGRlZmF1bHQKKyAgICAgICAgZm9yIGFwcHMgdGhhdCBkb24ndCBs
aW5rIGFnYWluc3QgV2ViS2l0IGRpcmVjdGx5LiBBbHNvIGNvbnZlcnRlZCB0bworICAgICAgICB1
c2UgQGF1dG9yZWxlYXNlcG9vbCB7fSBhbmQgZWFybHkgcmV0dXJucyB3aGlsZSBJIHdhcyBpbiBo
ZXJlLgorCiAyMDEzLTEwLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEFsd2F5cyBmb3JjZSBsYXlvdXQgYmVmb3JlIGZsdXNoaW5nIGNvbXBvc2l0
aW5nIGxheWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0K
aW5kZXggMGM3OWJiZWY1ZjBiNzhkZWIzODkzZWU1MjZmYTg5YmJjOGE5MjVhYy4uNWMwYmVmNWNh
NTU5ZGQ1ZjFjZjM5YWIwZTM3ZTkwNjAzZWE2YTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03NSw3NyArNzUsNzQgQEAgc3RhdGljIGJvb2wg
Y29udGFpbnMoY29uc3QgY2hhciogY29uc3QgYXJyYXlbXSwgaW50IGNvdW50LCBjb25zdCBjaGFy
KiBpdGVtKQogCiBzdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2
b2lkKQogewotICAgIE5TQXV0b3JlbGVhc2VQb29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9v
bCBhbGxvY10gaW5pdF07Ci0KLSAgICAvLyBBcHBzIHRoYXQgcHJvYmFibHkgbmVlZCB0aGUgc21h
bGwgc2V0dGluZwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBkb2N1bWVudFZpZXdlcklE
c1tdID0gewotICAgICAgICAiTWljcm9zb2Z0L2NvbS5taWNyb3NvZnQuTWVzc2VuZ2VyIiwKLSAg
ICAgICAgImNvbS5hZGl1bVguYWRpdW1YIiwgCi0gICAgICAgICJjb20uYWxpZW50ZWNobm9sb2d5
LlByb3RldXMiLAotICAgICAgICAiY29tLmFwcGxlLkRhc2hjb2RlIiwKLSAgICAgICAgImNvbS5h
cHBsZS5pQ2hhdCIsIAotICAgICAgICAiY29tLmJhcmVib25lcy5iYmVkaXQiLCAKLSAgICAgICAg
ImNvbS5iYXJlYm9uZXMudGV4dHdyYW5nbGVyIiwKLSAgICAgICAgImNvbS5iYXJlYm9uZXMueW9q
aW1ibyIsCi0gICAgICAgICJjb20uZXF1aW51eC5pU2FsZTQiLAotICAgICAgICAiY29tLmdyb3ds
Lmdyb3dsZnJhbWV3b3JrIiwKLSAgICAgICAgImNvbS5pbnRyYXJ0cy5QYW5kb3JhTWFuIiwKLSAg
ICAgICAgImNvbS5rYXJlbGlhLlNhbmR2b3giLAotICAgICAgICAiY29tLm1hY3JvbWF0ZXMudGV4
dG1hdGUiLAotICAgICAgICAiY29tLnJlYWxtYWNzb2Z0d2FyZS5yYXBpZHdlYXZlcnBybyIsCi0g
ICAgICAgICJjb20ucmVkLXN3ZWF0ZXIubWFyc2VkaXQiLAotICAgICAgICAiY29tLnlhaG9vLm1l
c3NlbmdlcjMiLAotICAgICAgICAiZGUuY29kaW5nbW9ua2V5cy5TdWJFdGhhRWRpdCIsCi0gICAg
ICAgICJmaS5rYXJwcGluZW4uUHlybyIsCi0gICAgICAgICJpbmZvLmNvbGxvcXV5IiwgCi0gICAg
ICAgICJrdW5nZm9vLnR2LmVjdG8iLAotICAgIH07Ci0KLSAgICAvLyBBcHBzIHRoYXQgcHJvYmFi
bHkgbmVlZCB0aGUgbWVkaXVtIHNldHRpbmcKLSAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
ZG9jdW1lbnRCcm93c2VySURzW10gPSB7Ci0gICAgICAgICJjb20uYXBwbGUuRGljdGlvbmFyeSIs
Ci0gICAgICAgICJjb20uYXBwbGUuWGNvZGUiLAotICAgICAgICAiY29tLmFwcGxlLmRhc2hib2Fy
ZC5jbGllbnQiLCAKLSAgICAgICAgImNvbS5hcHBsZS5oZWxwdmlld2VyIiwKLSAgICAgICAgImNv
bS5jdWx0dXJlZGNvZGUueHlsZSIsCi0gICAgICAgICJjb20ubWFjcmFiYml0LkNTU0VkaXQiLAot
ICAgICAgICAiY29tLnBhbmljLkNvZGEiLAotICAgICAgICAiY29tLnJhbmNoZXJvLk5ldE5ld3NX
aXJlIiwKLSAgICAgICAgImNvbS50aGlua21hYy5OZXdzTGlmZSIsCi0gICAgICAgICJvcmcueGxp
ZmUuTmV3c0ZpcmUiLAotICAgICAgICAidWsuY28ub3BlbmNvbW11bml0eS52aWVubmEyIiwKLSAg
ICB9OwotCi0gICAgLy8gQXBwcyB0aGF0IHByb2JhYmx5IG5lZWQgdGhlIGxhcmdlIHNldHRpbmcK
LSAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgcHJpbWFyeVdlYkJyb3dzZXJJRHNbXSA9IHsK
LSAgICAgICAgImNvbS5hcHA0bWFjLktpZHNCcm93c2VyIgotICAgICAgICAiY29tLmFwcDRtYWMu
d0tpb3NrIiwKLSAgICAgICAgImNvbS5mcmVldmVyc2UuYnVtcGVyY2FyIiwKLSAgICAgICAgImNv
bS5vbW5pZ3JvdXAuT21uaVdlYjUiLAotICAgICAgICAiY29tLnN1bnJpc2Vicm93c2VyLlN1bnJp
c2UiLAotICAgICAgICAibmV0LmhtZHQtd2ViLlNoaWlyYSIsCi0gICAgfTsKLQotICAgIFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbDsKLQotICAgIGNvbnN0IGNoYXIqIGJ1bmRsZUlEID0gW1tbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gVVRGOFN0cmluZ107Ci0gICAgaWYg
KGNvbnRhaW5zKGRvY3VtZW50Vmlld2VySURzLCBzaXplb2YoZG9jdW1lbnRWaWV3ZXJJRHMpIC8g
c2l6ZW9mKGRvY3VtZW50Vmlld2VySURzWzBdKSwgYnVuZGxlSUQpKQotICAgICAgICBjYWNoZU1v
ZGVsID0gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOwotICAgIGVsc2UgaWYgKGNvbnRhaW5z
KGRvY3VtZW50QnJvd3NlcklEcywgc2l6ZW9mKGRvY3VtZW50QnJvd3NlcklEcykgLyBzaXplb2Yo
ZG9jdW1lbnRCcm93c2VySURzWzBdKSwgYnVuZGxlSUQpKQotICAgICAgICBjYWNoZU1vZGVsID0g
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlcjsKLSAgICBlbHNlIGlmIChjb250YWlucyhwcmlt
YXJ5V2ViQnJvd3NlcklEcywgc2l6ZW9mKHByaW1hcnlXZWJCcm93c2VySURzKSAvIHNpemVvZihw
cmltYXJ5V2ViQnJvd3NlcklEc1swXSksIGJ1bmRsZUlEKSkKLSAgICAgICAgY2FjaGVNb2RlbCA9
IFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcjsKLSAgICBlbHNlIHsKKyAgICBAYXV0b3Jl
bGVhc2Vwb29sIHsKKyAgICAgICAgLy8gQXBwcyB0aGF0IHByb2JhYmx5IG5lZWQgdGhlIHNtYWxs
IHNldHRpbmcKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGRvY3VtZW50Vmlld2Vy
SURzW10gPSB7CisgICAgICAgICAgICAiTWljcm9zb2Z0L2NvbS5taWNyb3NvZnQuTWVzc2VuZ2Vy
IiwKKyAgICAgICAgICAgICJjb20uYWRpdW1YLmFkaXVtWCIsIAorICAgICAgICAgICAgImNvbS5h
bGllbnRlY2hub2xvZ3kuUHJvdGV1cyIsCisgICAgICAgICAgICAiY29tLmFwcGxlLkRhc2hjb2Rl
IiwKKyAgICAgICAgICAgICJjb20uYXBwbGUuaUNoYXQiLCAKKyAgICAgICAgICAgICJjb20uYmFy
ZWJvbmVzLmJiZWRpdCIsCisgICAgICAgICAgICAiY29tLmJhcmVib25lcy50ZXh0d3JhbmdsZXIi
LAorICAgICAgICAgICAgImNvbS5iYXJlYm9uZXMueW9qaW1ibyIsCisgICAgICAgICAgICAiY29t
LmVxdWludXguaVNhbGU0IiwKKyAgICAgICAgICAgICJjb20uZ3Jvd2wuZ3Jvd2xmcmFtZXdvcmsi
LAorICAgICAgICAgICAgImNvbS5pbnRyYXJ0cy5QYW5kb3JhTWFuIiwKKyAgICAgICAgICAgICJj
b20ua2FyZWxpYS5TYW5kdm94IiwKKyAgICAgICAgICAgICJjb20ubWFjcm9tYXRlcy50ZXh0bWF0
ZSIsCisgICAgICAgICAgICAiY29tLnJlYWxtYWNzb2Z0d2FyZS5yYXBpZHdlYXZlcnBybyIsCisg
ICAgICAgICAgICAiY29tLnJlZC1zd2VhdGVyLm1hcnNlZGl0IiwKKyAgICAgICAgICAgICJjb20u
eWFob28ubWVzc2VuZ2VyMyIsCisgICAgICAgICAgICAiZGUuY29kaW5nbW9ua2V5cy5TdWJFdGhh
RWRpdCIsCisgICAgICAgICAgICAiZmkua2FycHBpbmVuLlB5cm8iLAorICAgICAgICAgICAgImlu
Zm8uY29sbG9xdXkiLCAKKyAgICAgICAgICAgICJrdW5nZm9vLnR2LmVjdG8iLAorICAgICAgICB9
OworCisgICAgICAgIC8vIEFwcHMgdGhhdCBwcm9iYWJseSBuZWVkIHRoZSBtZWRpdW0gc2V0dGlu
ZworICAgICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZG9jdW1lbnRCcm93c2VySURzW10g
PSB7CisgICAgICAgICAgICAiY29tLmFwcGxlLkRpY3Rpb25hcnkiLAorICAgICAgICAgICAgImNv
bS5hcHBsZS5YY29kZSIsCisgICAgICAgICAgICAiY29tLmFwcGxlLmRhc2hib2FyZC5jbGllbnQi
LCAKKyAgICAgICAgICAgICJjb20uYXBwbGUuaGVscHZpZXdlciIsCisgICAgICAgICAgICAiY29t
LmN1bHR1cmVkY29kZS54eWxlIiwKKyAgICAgICAgICAgICJjb20ubWFjcmFiYml0LkNTU0VkaXQi
LAorICAgICAgICAgICAgImNvbS5wYW5pYy5Db2RhIiwKKyAgICAgICAgICAgICJjb20ucmFuY2hl
cm8uTmV0TmV3c1dpcmUiLAorICAgICAgICAgICAgImNvbS50aGlua21hYy5OZXdzTGlmZSIsCisg
ICAgICAgICAgICAib3JnLnhsaWZlLk5ld3NGaXJlIiwKKyAgICAgICAgICAgICJ1ay5jby5vcGVu
Y29tbXVuaXR5LnZpZW5uYTIiLAorICAgICAgICB9OworCisgICAgICAgIC8vIEFwcHMgdGhhdCBw
cm9iYWJseSBuZWVkIHRoZSBsYXJnZSBzZXR0aW5nCisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBwcmltYXJ5V2ViQnJvd3NlcklEc1tdID0geworICAgICAgICAgICAgImNvbS5hcHA0
bWFjLktpZHNCcm93c2VyIgorICAgICAgICAgICAgImNvbS5hcHA0bWFjLndLaW9zayIsCisgICAg
ICAgICAgICAiY29tLmZyZWV2ZXJzZS5idW1wZXJjYXIiLAorICAgICAgICAgICAgImNvbS5vbW5p
Z3JvdXAuT21uaVdlYjUiLAorICAgICAgICAgICAgImNvbS5zdW5yaXNlYnJvd3Nlci5TdW5yaXNl
IiwKKyAgICAgICAgICAgICJuZXQuaG1kdC13ZWIuU2hpaXJhIiwKKyAgICAgICAgfTsKKworICAg
ICAgICBjb25zdCBjaGFyKiBidW5kbGVJRCA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRs
ZUlkZW50aWZpZXJdIFVURjhTdHJpbmddOworICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRW
aWV3ZXJJRHMsIHNpemVvZihkb2N1bWVudFZpZXdlcklEcykgLyBzaXplb2YoZG9jdW1lbnRWaWV3
ZXJJRHNbMF0pLCBidW5kbGVJRCkpCisgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyOworICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2VySURzLCBz
aXplb2YoZG9jdW1lbnRCcm93c2VySURzKSAvIHNpemVvZihkb2N1bWVudEJyb3dzZXJJRHNbMF0p
LCBidW5kbGVJRCkpCisgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJv
d3NlcjsKKyAgICAgICAgaWYgKGNvbnRhaW5zKHByaW1hcnlXZWJCcm93c2VySURzLCBzaXplb2Yo
cHJpbWFyeVdlYkJyb3dzZXJJRHMpIC8gc2l6ZW9mKHByaW1hcnlXZWJCcm93c2VySURzWzBdKSwg
YnVuZGxlSUQpKQorICAgICAgICAgICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJv
d3NlcjsKKworICAgICAgICBib29sIGlzTGlua2VkQWdhaW5zdFdlYktpdCA9IFdlYktpdExpbmtl
ZE9uT3JBZnRlcigwKTsKKyAgICAgICAgaWYgKCFpc0xpbmtlZEFnYWluc3RXZWJLaXQpCisgICAg
ICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOyAvLyBBcHBzIHRoYXQg
ZG9uJ3QgbGluayBhZ2FpbnN0IFdlYktpdCBwcm9iYWJseSBhcmVuJ3QgbWVhbnQgdG8gYmUgYnJv
d3NlcnMuCisKICAgICAgICAgYm9vbCBpc0xlZ2FjeUFwcCA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0
ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DQUNIRV9NT0RFTF9BUEkpOwogICAgICAgICBp
ZiAoaXNMZWdhY3lBcHApCi0gICAgICAgICAgICBjYWNoZU1vZGVsID0gV2ViQ2FjaGVNb2RlbERv
Y3VtZW50QnJvd3NlcjsgLy8gVG8gYXZvaWQgcmVncmVzc2lvbnMgaW4gYXBwcyB0aGF0IGRlcGVu
ZGVkIG9uIG9sZCBXZWJLaXQncyBsYXJnZSBjYWNoZS4KLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgY2FjaGVNb2RlbCA9IFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcjsgLy8gVG8gc2F2ZSBt
ZW1vcnkuCi0gICAgfQorICAgICAgICAgICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxEb2N1bWVudEJy
b3dzZXI7IC8vIFRvIGF2b2lkIHJlZ3Jlc3Npb25zIGluIGFwcHMgdGhhdCBkZXBlbmRlZCBvbiBv
bGQgV2ViS2l0J3MgbGFyZ2UgY2FjaGUuCiAKLSAgICBbcG9vbCBkcmFpbl07Ci0KLSAgICByZXR1
cm4gY2FjaGVNb2RlbDsKKyAgICAgICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdl
cjsgLy8gVG8gc2F2ZSBtZW1vcnkuCisgICAgfQogfQogCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzICgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213985</attachid>
            <date>2013-10-11 06:43:11 -0700</date>
            <delta_ts>2013-10-11 06:43:11 -0700</delta_ts>
            <desc>Patch ignoring whitespace</desc>
            <filename>ignore-whitespace.patch</filename>
            <type>text/plain</type>
            <size>4147</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCBmOTVlMGRkLi4zNmY3MmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTMtMTAtMTEgIEFkYW0gUm9iZW4gIDxhcm9iZW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJWaWV3cyBpbnNpZGUgT1MgWCBzY3JlZW4gc2F2ZXJzIGhhdmUgbGFy
Z2UgY2FjaGVzLCBidXQgc2hvdWxkIG5vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjA0CisKKyAgICAgICAgV2UgdXNlIFdlYkNhY2hlTW9kZWxE
b2N1bWVudFZpZXdlciBieSBkZWZhdWx0IGZvciBhcHBzIGxpbmtlZCBhZ2FpbnN0CisgICAgICAg
IG1vZGVybiBXZWJLaXQsIGFuZCBXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyIGZvciBhcHBz
IGxpbmtlZAorICAgICAgICBhZ2FpbnN0IGxlZ2FjeSBXZWJLaXQuIFNjcmVlblNhdmVyRW5naW5l
LmFwcCBkb2Vzbid0IGxpbmsgYWdhaW5zdAorICAgICAgICBXZWJLaXQgYXQgYWxsLCBhbmQgdGh1
cyBmYWxscyBpbnRvIHRoZSBsZWdhY3kgY2FzZSBieSBhY2NpZGVudCBiZWNhdXNlCisgICAgICAg
IE5TVmVyc2lvbk9mTGlua1RpbWVMaWJyYXJ5KCJXZWJLaXQiKSByZXR1cm5zIC0xLgorCisgICAg
ICAgIEJ1dCBXZWJWaWV3cyBpbnNpZGUgc2NyZWVuIHNhdmVycyBhcmUgYWxtb3N0IGNlcnRhaW5s
eSBub3QgYmVpbmcgdXNlZAorICAgICAgICBhcyBicm93c2Vycywgc28gdGhpcyBsYXJnZS1pc2gg
Y2FjaGUgc3BlY2lmaWVkIGJ5CisgICAgICAgIFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIg
aXMgd2FzdGVmdWwuIFRoaXMgaXMgbGlrZWx5IHRydWUgZm9yIGFsbAorICAgICAgICBhcHBzIHRo
YXQgZG9uJ3QgZGlyZWN0bHkgbGluayBhZ2FpbnN0IFdlYktpdCwgc28gbm93IHdlIHVzZQorICAg
ICAgICBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIgYnkgZGVmYXVsdCBmb3IgdGhvc2UgYXBw
cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgIChjYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZSk6IFVzZSBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIgYnkgZGVmYXVsdAorICAgICAgICBm
b3IgYXBwcyB0aGF0IGRvbid0IGxpbmsgYWdhaW5zdCBXZWJLaXQgZGlyZWN0bHkuIEFsc28gY29u
dmVydGVkIHRvCisgICAgICAgIHVzZSBAYXV0b3JlbGVhc2Vwb29sIHt9IGFuZCBlYXJseSByZXR1
cm5zIHdoaWxlIEkgd2FzIGluIGhlcmUuCisKIDIwMTMtMTAtMTAgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIGZvcmNlIGxheW91dCBiZWZv
cmUgZmx1c2hpbmcgY29tcG9zaXRpbmcgbGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwYzc5YmJlLi41YzBiZWY1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03NSw4ICs3NSw3IEBAIHN0
YXRpYyBib29sIGNvbnRhaW5zKGNvbnN0IGNoYXIqIGNvbnN0IGFycmF5W10sIGludCBjb3VudCwg
Y29uc3QgY2hhciogaXRlbSkKIAogc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbEZvck1h
aW5CdW5kbGUodm9pZCkKIHsKLSAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9IFtbTlNBdXRv
cmVsZWFzZVBvb2wgYWxsb2NdIGluaXRdOwotCisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAg
ICAgIC8vIEFwcHMgdGhhdCBwcm9iYWJseSBuZWVkIHRoZSBzbWFsbCBzZXR0aW5nCiAgICAgICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBkb2N1bWVudFZpZXdlcklEc1tdID0gewogICAgICAg
ICAgICAgIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0Lk1lc3NlbmdlciIsCkBAIC0xMjYsMjYgKzEy
NSwyNCBAQCBzdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lk
KQogICAgICAgICAgICAgIm5ldC5obWR0LXdlYi5TaGlpcmEiLAogICAgICAgICB9OwogCi0gICAg
V2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsOwotCiAgICAgICAgIGNvbnN0IGNoYXIqIGJ1bmRsZUlE
ID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gVVRGOFN0cmluZ107
CiAgICAgICAgIGlmIChjb250YWlucyhkb2N1bWVudFZpZXdlcklEcywgc2l6ZW9mKGRvY3VtZW50
Vmlld2VySURzKSAvIHNpemVvZihkb2N1bWVudFZpZXdlcklEc1swXSksIGJ1bmRsZUlEKSkKLSAg
ICAgICAgY2FjaGVNb2RlbCA9IFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcjsKLSAgICBlbHNl
IGlmIChjb250YWlucyhkb2N1bWVudEJyb3dzZXJJRHMsIHNpemVvZihkb2N1bWVudEJyb3dzZXJJ
RHMpIC8gc2l6ZW9mKGRvY3VtZW50QnJvd3NlcklEc1swXSksIGJ1bmRsZUlEKSkKLSAgICAgICAg
Y2FjaGVNb2RlbCA9IFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXI7Ci0gICAgZWxzZSBpZiAo
Y29udGFpbnMocHJpbWFyeVdlYkJyb3dzZXJJRHMsIHNpemVvZihwcmltYXJ5V2ViQnJvd3NlcklE
cykgLyBzaXplb2YocHJpbWFyeVdlYkJyb3dzZXJJRHNbMF0pLCBidW5kbGVJRCkpCi0gICAgICAg
IGNhY2hlTW9kZWwgPSBXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXI7Ci0gICAgZWxzZSB7
CisgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOworICAgICAg
ICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2VySURzLCBzaXplb2YoZG9jdW1lbnRCcm93c2Vy
SURzKSAvIHNpemVvZihkb2N1bWVudEJyb3dzZXJJRHNbMF0pLCBidW5kbGVJRCkpCisgICAgICAg
ICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlcjsKKyAgICAgICAgaWYgKGNv
bnRhaW5zKHByaW1hcnlXZWJCcm93c2VySURzLCBzaXplb2YocHJpbWFyeVdlYkJyb3dzZXJJRHMp
IC8gc2l6ZW9mKHByaW1hcnlXZWJCcm93c2VySURzWzBdKSwgYnVuZGxlSUQpKQorICAgICAgICAg
ICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcjsKKworICAgICAgICBib29s
IGlzTGlua2VkQWdhaW5zdFdlYktpdCA9IFdlYktpdExpbmtlZE9uT3JBZnRlcigwKTsKKyAgICAg
ICAgaWYgKCFpc0xpbmtlZEFnYWluc3RXZWJLaXQpCisgICAgICAgICAgICByZXR1cm4gV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyOyAvLyBBcHBzIHRoYXQgZG9uJ3QgbGluayBhZ2FpbnN0IFdl
YktpdCBwcm9iYWJseSBhcmVuJ3QgbWVhbnQgdG8gYmUgYnJvd3NlcnMuCisKICAgICAgICAgYm9v
bCBpc0xlZ2FjeUFwcCA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJ
T05fV0lUSF9DQUNIRV9NT0RFTF9BUEkpOwogICAgICAgICBpZiAoaXNMZWdhY3lBcHApCi0gICAg
ICAgICAgICBjYWNoZU1vZGVsID0gV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlcjsgLy8gVG8g
YXZvaWQgcmVncmVzc2lvbnMgaW4gYXBwcyB0aGF0IGRlcGVuZGVkIG9uIG9sZCBXZWJLaXQncyBs
YXJnZSBjYWNoZS4KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY2FjaGVNb2RlbCA9IFdlYkNh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlcjsgLy8gVG8gc2F2ZSBtZW1vcnkuCi0gICAgfQorICAgICAg
ICAgICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXI7IC8vIFRvIGF2b2lkIHJl
Z3Jlc3Npb25zIGluIGFwcHMgdGhhdCBkZXBlbmRlZCBvbiBvbGQgV2ViS2l0J3MgbGFyZ2UgY2Fj
aGUuCiAKLSAgICBbcG9vbCBkcmFpbl07Ci0KLSAgICByZXR1cm4gY2FjaGVNb2RlbDsKKyAgICAg
ICAgcmV0dXJuIFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcjsgLy8gVG8gc2F2ZSBtZW1vcnku
CisgICAgfQogfQogCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzICgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>