<?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>103219</bug_id>
          
          <creation_ts>2012-11-26 00:05:20 -0800</creation_ts>
          <short_desc>Initialize new web processes with list of auto-start origins for plug-ins</short_desc>
          <delta_ts>2012-12-11 12:50:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775203</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-26 00:05:20 -0800</bug_when>
    <thetext>Initialize new web processes with list of auto-start origins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775204</commentid>
    <comment_count>1</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-26 00:05:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/12747219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775516</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-11-26 08:40:34 -0800</bug_when>
    <thetext>How large will this list be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777365</commentid>
    <comment_count>3</comment_count>
      <attachid>176368</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 16:40:52 -0800</bug_when>
    <thetext>Created attachment 176368
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777370</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 16:41:31 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; How large will this list be?

Unknown, to be honest. But it should basically monotonically increase over time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777377</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-11-27 16:48:06 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; How large will this list be?
&gt; 
&gt; Unknown, to be honest. But it should basically monotonically increase over time.

With an approach that keeps a copy of the list in each WebProcess, this is a red flag for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777675</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-11-28 02:52:41 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; How large will this list be?
&gt; &gt; 
&gt; &gt; Unknown, to be honest. But it should basically monotonically increase over time.
&gt; 
&gt; With an approach that keeps a copy of the list in each WebProcess, this is a red flag for me.

Perhaps the eventual direction should probably be to keep the master copy in the UIProcess and query/update asynchronously. But we can do an estimate of memory cost. Let&apos;s say a user intentionally enables some plugin content on 200 sites (probably a pretty high number!). Let&apos;s say 20 unicode characters for a domain name, 2 domains per entry. Then you are talking about a ~16kb cost per WebProcess, which is trivial. So I don&apos;t think memory use is a strong reason to hold off for the initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777742</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-11-28 04:32:06 -0800</bug_when>
    <thetext>Okay sounds reasonable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780227</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-30 10:48:43 -0800</bug_when>
    <thetext>Duplicating the data still seems undesirable even if the direct cost is not so big. Why can&apos;t WebProcess just send a message to ask UI process when needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780640</commentid>
    <comment_count>9</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-11-30 22:00:13 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Duplicating the data still seems undesirable even if the direct cost is not so big. Why can&apos;t WebProcess just send a message to ask UI process when needed?

I&apos;m guessing this way was initially simpler to code. I share your instincts about the right eventual approach though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780830</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-01 18:55:46 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Duplicating the data still seems undesirable even if the direct cost is not so big. Why can&apos;t WebProcess just send a message to ask UI process when needed?

We don&apos;t want to increase the number the of sync calls.  If we want to make this more efficient, I think putting the table of strings into shared memory would be the best option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780971</commentid>
    <comment_count>11</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-02 11:14:34 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; Duplicating the data still seems undesirable even if the direct cost is not so big. Why can&apos;t WebProcess just send a message to ask UI process when needed?
&gt; 
&gt; We don&apos;t want to increase the number the of sync calls.  If we want to make this more efficient, I think putting the table of strings into shared memory would be the best option.

I think it&apos;s very likely this can be an asynchronous call without really affecting performance, it would just make the code a little bit more complicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781017</commentid>
    <comment_count>12</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-02 14:49:50 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; Duplicating the data still seems undesirable even if the direct cost is not so big. Why can&apos;t WebProcess just send a message to ask UI process when needed?
&gt; &gt; 
&gt; &gt; We don&apos;t want to increase the number the of sync calls.  If we want to make this more efficient, I think putting the table of strings into shared memory would be the best option.
&gt; 
&gt; I think it&apos;s very likely this can be an asynchronous call without really affecting performance, it would just make the code a little bit more complicated.

I believe we can safely have this be async for the one kind of plug-in that can be async&apos;d initialized at this point, but we can&apos;t do it for other plug-in types until we know they can be async&apos;d init&apos;d also. So in those cases we need to keep a web process side cache of the table anyway.

For this reason I am going to keep the current approach. But I will go through a client instead of platform strategies, and switch to an unsigned 32-bit hash that includes the mime type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787890</commentid>
    <comment_count>13</comment_count>
      <attachid>178677</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-10 17:39:27 -0800</bug_when>
    <thetext>Created attachment 178677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788567</commentid>
    <comment_count>14</comment_count>
      <attachid>178677</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-12-11 10:21:17 -0800</bug_when>
    <thetext>Comment on attachment 178677
Patch

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

&gt; Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.cpp:58
&gt; +void PlugInAutoStartProvider::populateCopyOfTable(Vector&lt;unsigned&gt;&amp; copyVector)
&gt; +{
&gt; +    copyToVector(m_autoStartHashes, copyVector);
&gt; +}

I think you should make this return a Vector&lt;unsigned&gt; instead and give it a more appropriate name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788692</commentid>
    <comment_count>15</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-11 12:50:52 -0800</bug_when>
    <thetext>Committed r137342: &lt;http://trac.webkit.org/changeset/137342&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176368</attachid>
            <date>2012-11-27 16:40:52 -0800</date>
            <delta_ts>2012-12-10 17:39:25 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-103219-20121127163830.patch</filename>
            <type>text/plain</type>
            <size>6577</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWVmYzg3YTJhZmI4Yzk4
NDY0MGU2NWQyN2ZhOTkzMTM0MzZjNjJlOC4uODQ2NDVmNGFmMTBjNDg5MmVkZWU4NGU4ZjQ3ZjQ3
ZjE4MTRjMzFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTI2ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXplIG5ldyB3ZWIgcHJv
Y2Vzc2VzIHdpdGggbGlzdCBvZiBhdXRvLXN0YXJ0IG9yaWdpbnMgZm9yIHBsdWctaW5zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ3MjE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNlcmlhbGl6ZSB0aGUgdGFibGUgb2YgaGFzaGVzIGludG8g
YSB2ZWN0b3IgYXMgYSBwYXJhbWV0ZXIgaW4gd2ViIHByb2Nlc3MgY3JlYXRpb24uIFdoZW4gdGhl
IHdlYiBwcm9jZXNzIGlzCisgICAgICAgIGNyZWF0ZWQsIGRlLXNlcmlhbGl6ZSBpdCBpbnRvIGEg
UGx1Z0luQXV0b1N0YXJ0VGFibGUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oOiBBZGQgYSBwYXJhbWV0ZXIgZm9yIHRoZSBvcmlnaW4gaGFzaGVzLgor
CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOiBFbmNv
ZGUvZGVjb2RlIHRoYXQgcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnSW5BdXRv
U3RhcnRQcm92aWRlcjo6cG9wdWxhdGVDb3B5T2ZUYWJsZSk6IENvbnZlcnQgdGhlIGhhc2ggc2V0
IHRvIGEgdmVjdG9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmg6CisKKyAgICAgICAgKFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRl
eHQ6OmNyZWF0ZU5ld1dlYlByb2Nlc3MpOiBQb3B1bGF0ZSB0aGUgcGFyYW1ldGVyIHdpdGggdGhl
IGNvbnRlbnRzIG9mIHRoZSB0YWJsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6
IEFkZCB0aGUgaXRlbXMgaW4gdGhlIHZlY3RvciB0byB0aGUgd2ViIHByb2Nlc3MnIGNvcHkgb2Yg
dGhlIHRhYmxlLgorCiAyMDEyLTExLTI1ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCmluZGV4IDNhNjE1NWVjYTk2OTQwNjNmNDU3MWEwNWY3MTkyZTg3M2ZkMWQ0Mzcu
LmQxMTJiMjlmYWQzMzc0OWY1NzEyYTUwM2VkMTczZTc0MTA3YmUzMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTExOSw2ICsxMTksOCBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbgogI2lmIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCiAgICAgZW5jb2RlciA8PCB1c2VzTmV0d29ya1Byb2Nlc3M7CiAj
ZW5kaWYKKworICAgIGVuY29kZXIgPDwgcGx1Z0luQXV0b1N0YXJ0T3JpZ2luczsKIH0KIAogYm9v
bCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
KQpAQCAtMjM3LDYgKzIzOSw5IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICNlbmRpZgogCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVy
cy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGFkMWIyZTA3YzVlYjFlNjY5NmQ1MTM1YmI3
M2I0MjhhOWI4MzU1YjkuLmRiMTc2ZTkwYzNmMTA4ZTJhZjVhZGZkYWQ3MGRhM2FiOGVlMjEwNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIK
ICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0
ZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgpAQCAtMTM0LDYgKzEzNSw4IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIGJvb2wg
dXNlc05ldHdvcmtQcm9jZXNzOwogI2VuZGlmCisKKyAgICBWZWN0b3I8V2ViQ29yZTo6UGx1Z0lu
T3JpZ2luSGFzaD4gcGx1Z0luQXV0b1N0YXJ0T3JpZ2luczsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCmluZGV4IGM4NzA2YWM2N2ZkZjAxNjI5OWJi
MDU1ZTEzMjg3MzhiNjQxMjNiNDkuLjBkNmU3Y2VlNTcwOGU4ZDA0ZWUzZTA4OGQ0ZGM3OTg0MDA3
ZDM1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKQEAgLTQ2LDQgKzQ2LDkgQEAgdm9pZCBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBsdWdJbk9yaWdpbkhh
c2ggaGFzaCkKICAgICBtX2NvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6UGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChoYXNoKSk7CiB9CiAKK3ZvaWQg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OnBvcHVsYXRlQ29weU9mVGFibGUoVmVjdG9yPFdlYkNv
cmU6OlBsdWdJbk9yaWdpbkhhc2g+JiBjb3B5VmVjdG9yKQoreworICAgIGNvcHlUb1ZlY3Rvciht
X2F1dG9TdGFydFRhYmxlLCBjb3B5VmVjdG9yKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuaAppbmRleCA4MTQ4NjMyMmIzZTBiZmNmYTZhN2EwM2M0MTkyNGQ2
N2QwMzIwODEzLi5mODQ1YzIxNzdjNTYwNDkwMzBhY2M4MzZhN2VkMjFiYzhlZjA4ZGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmgKQEAgLTQxLDYgKzQxLDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0
IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKFdlYkNvbnRleHQqKTsKIAogICAgIHZvaWQgYWRkQXV0
b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZvaWQgcG9wdWxh
dGVDb3B5T2ZUYWJsZShWZWN0b3I8V2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaD4mKTsKIAogcHJp
dmF0ZToKICAgICBXZWJDb250ZXh0KiBtX2NvbnRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAKaW5kZXggOWIyMmNhM2M3ZmQ5ZjBmZmM0Nzk3YzEwYTYwODYyOTY5MjIz
OGQ4Ny4uZjhlNTc3YzIzZjVmMzNiNWRkODdiMzM5ZTMwMzY3ZDcxODM3MTQxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMzk5LDYgKzM5OSw4IEBAIFBhc3NS
ZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkK
ICAgICBwYXJhbWV0ZXJzLnVzZXNOZXR3b3JrUHJvY2VzcyA9IG1fdXNlc05ldHdvcmtQcm9jZXNz
OwogI2VuZGlmCiAKKyAgICBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLnBvcHVsYXRlQ29weU9m
VGFibGUocGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5zKTsKKwogICAgIC8vIEFkZCBh
bnkgcGxhdGZvcm0gc3BlY2lmaWMgcGFyYW1ldGVycwogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MocGFyYW1ldGVycyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCmluZGV4IGIyZjIwZGI5N2VkM2ZmNTUxMzUzZDA4NzMzZmM5NGNlNWMyNTYyNTAuLmRh
NTFiMThjYzc1MDY0NWZkZTRjZGNkZmQ0MzQ2NjVjOTA5MGQyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjkyLDYgKzI5Miw5IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1lCiAgICAgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAjZW5k
aWYKICAgICBzZXRUZXJtaW5hdGlvblRpbWVvdXQocGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVv
dXQpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnBsdWdJbkF1dG9T
dGFydE9yaWdpbnMuc2l6ZSgpOyArK2kpCisgICAgICAgIHBsdWdJbkF1dG9TdGFydE9yaWdpbkNo
YW5nZWQocGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5zW2ldKTsKIH0KIAogI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178677</attachid>
            <date>2012-12-10 17:39:27 -0800</date>
            <delta_ts>2012-12-11 10:21:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103219-20121210173649.patch</filename>
            <type>text/plain</type>
            <size>6376</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2EzMjg1NTkxZDAwZmUz
MjFiMzAwZjFhZDU2NjRmMjhiMGU3Y2YwMC4uYjE3MDE3MjZmZjE0MWQ0YTgwODRlNWJhNDRhYjA5
OTlhNjM2ZWZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDEyLTEyLTEwICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBJbml0aWFsaXplIG5ldyB3ZWIgcHJv
Y2Vzc2VzIHdpdGggbGlzdCBvZiBhdXRvLXN0YXJ0IG9yaWdpbnMgZm9yIHBsdWctaW5zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ3MjE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNlcmlhbGl6ZSB0aGUgc2V0IG9mIGhhc2hlcyBpbnRvIGEg
dmVjdG9yIGFzIGEgcGFyYW1ldGVyIGluIHdlYiBwcm9jZXNzIGNyZWF0aW9uLgorCisgICAgICAg
ICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDogQWRkIGEgcGFyYW1ldGVy
IGZvciB0aGUgb3JpZ2luIGhhc2hlcy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcDogRW5jb2RlL2RlY29kZSB0aGF0IHBhcmFtZXRlci4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OnBvcHVsYXRlQ29weU9mVGFi
bGUpOiBQb3B1bGF0ZSB0aGUgcHJvdmlkZWQgdmVjdG9yIHdpdGggY29udGVudHMgZnJvbSB0aGUK
KyAgICAgICAgaGFzaCBzZXQuCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuaDoKKyAgICAgICAgKFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKToKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29udGV4dDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6IFBvcHVsYXRlIHRoZSBwYXJhbWV0ZXIgd2l0
aCB0aGUgY29udGVudHMgb2YgdGhlIHNldC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vz
cyk6IEFkZCB0aGUgaXRlbXMgaW4gdGhlIHZlY3RvciB0byB0aGUgd2ViIHByb2Nlc3MnIGNvcHkg
b2YgdGhlIHNldC4KKworMjAxMi0xMi0xMCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisK
ICAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgog
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggOTZmZGQ2
YzA3YzlmYTFjZjdhYjE0YjY1NzlhNGZkNTA4NGY3NzEyYy4uNWI1NWNiMWYwNjM5ZTIzYjA4MDVh
MjA4MDAwMjczMjVjYjVhZGQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTIxLDYgKzEyMSw4IEBA
IHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAg
ICBlbmNvZGVyIDw8IHVzZXNOZXR3b3JrUHJvY2VzczsKICNlbmRpZgorCisgICAgZW5jb2RlciA8
PCBwbHVnSW5BdXRvU3RhcnRPcmlnaW5zOwogfQogCiBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCkBAIC0yNDEsNiArMjQzLDkgQEAg
Ym9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAK
KyAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdp
bnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKaW5kZXggNjRhNjk5ZjJhYmVmOWRjNzEwZTZiMjg5M2VmOTZmNjJkN2M2Njk3MS4uY2RhOGU0
NTE1Njc3YWI2NDg3OGE4Nzg0MTU0NGY3YWVhMjQzM2Y0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMzUs
NiArMTM1LDggQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgYm9vbCB1c2VzTmV0d29ya1Byb2Nlc3M7CiAjZW5k
aWYKKworICAgIFZlY3Rvcjx1bnNpZ25lZD4gcGx1Z0luQXV0b1N0YXJ0T3JpZ2luczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCmluZGV4IGZmOTYy
MTM5M2E3NjI4NjBkZTg3YWRmNmU1NmE5ZWU1NDZiM2JmMjMuLjdjYWJmZjU4YzczOTNiMmYwMTA4
OTgzYWYwMjU4YTQ0YWZiNDk4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKQEAgLTUyLDQg
KzUyLDkgQEAgdm9pZCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2lu
KGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgdW5zaWcKICAgICBtX2NvbnRleHQtPnNlbmRUb0Fs
bFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGlkQWRkUGx1Z0luQXV0b1N0YXJ0T3Jp
Z2luKHBsdWdJbk9yaWdpbkhhc2gpKTsKIH0KIAordm9pZCBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
cjo6cG9wdWxhdGVDb3B5T2ZUYWJsZShWZWN0b3I8dW5zaWduZWQ+JiBjb3B5VmVjdG9yKQorewor
ICAgIGNvcHlUb1ZlY3RvcihtX2F1dG9TdGFydEhhc2hlcywgY29weVZlY3Rvcik7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgKaW5kZXggMjJhOWQ1OGI2MDhi
M2NhZDM2N2M4MjA5ZGVhODI4Y2M3NDI0YTc4Zi4uMjY2ZDBhYzdiNTMyMmQwZWE1ODhiZDY3ZDIw
OTFjNDg2OGEyNzUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oCkBAIC00MSw2ICs0MSw3IEBAIHB1
YmxpYzoKICAgICBleHBsaWNpdCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcihXZWJDb250ZXh0Kik7
CiAKICAgICB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4s
IHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZvaWQgcG9wdWxhdGVDb3B5T2ZUYWJs
ZShWZWN0b3I8dW5zaWduZWQ+Jik7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dCogbV9jb250
ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDMxYjFjOTlh
Y2ZjMjQ5NTBkMTRmMDQwOWNhNjI4YmJhYTNiOTgyNDkuLjc5ZDVlM2E4ZTkxNWFiNTlmN2U3M2Q5
N2U4YmY0ZjY2YTZjZWFlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAKQEAgLTQ1Niw2ICs0NTYsOCBAQCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gV2ViQ29u
dGV4dDo6Y3JlYXRlTmV3V2ViUHJvY2VzcygpCiAgICAgcGFyYW1ldGVycy51c2VzTmV0d29ya1By
b2Nlc3MgPSBtX3VzZXNOZXR3b3JrUHJvY2VzczsKICNlbmRpZgogCisgICAgbV9wbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5wb3B1bGF0ZUNvcHlPZlRhYmxlKHBhcmFtZXRlcnMucGx1Z0luQXV0b1N0
YXJ0T3JpZ2lucyk7CisKICAgICAvLyBBZGQgYW55IHBsYXRmb3JtIHNwZWNpZmljIHBhcmFtZXRl
cnMKICAgICBwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBjNzRjMzE1YjQ2MGExNGVi
YjA5NmNlYzc0MTZkNjhkZjA4YzZlYzg2Li4wOWRmODg5MmFlYzNhNzM1MmYxYmU4M2QxMzViZDVh
ODExYjA5ZjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAg
LTMwNCw2ICszMDQsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNv
bnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZQogICAgIGVuc3VyZU5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbigpOwogI2VuZGlmCiAgICAgc2V0VGVybWluYXRpb25UaW1lb3V0
KHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0KTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgcGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5zLnNpemUoKTsgKytpKQorICAg
ICAgICBkaWRBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4ocGFyYW1ldGVycy5wbHVnSW5BdXRvU3Rh
cnRPcmlnaW5zW2ldKTsKIH0KIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCg==
</data>
<flag name="review"
          id="195281"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>