<?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>74154</bug_id>
          
          <creation_ts>2011-12-08 18:27:35 -0800</creation_ts>
          <short_desc>[chromium] Use HashMap&lt;..., OwnPtr&lt;Tile&gt;&gt; for compositor tilemap</short_desc>
          <delta_ts>2012-02-14 13:01:28 -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>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>
          <dependson>74159</dependson>
    
    <dependson>78071</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>darin</cc>
    
    <cc>enne</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>pnormand</cc>
    
    <cc>rniwa</cc>
    
    <cc>thakis</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>518011</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-08 18:27:35 -0800</bug_when>
    <thetext>Use HashMap&lt;..., OwnPtr&lt;&gt; &gt; for Chromium compositor tilemap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518033</commentid>
    <comment_count>1</comment_count>
      <attachid>118514</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-08 19:11:59 -0800</bug_when>
    <thetext>Created attachment 118514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518048</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-08 19:38:08 -0800</bug_when>
    <thetext>Could we do the OwnPtr.h change separately? I&apos;d like that bit to get a broader look from people who probably don&apos;t care much about chromium compositor internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518054</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-08 19:47:56 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Could we do the OwnPtr.h change separately? I&apos;d like that bit to get a broader look from people who probably don&apos;t care much about chromium compositor internals.

Sure, no problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518072</commentid>
    <comment_count>4</comment_count>
      <attachid>118520</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-08 20:26:13 -0800</bug_when>
    <thetext>Created attachment 118520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520482</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-13 16:52:05 -0800</bug_when>
    <thetext>Anybody interested in reviewing this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520488</commentid>
    <comment_count>6</comment_count>
      <attachid>118520</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-13 16:56:33 -0800</bug_when>
    <thetext>Comment on attachment 118520
Patch

Nice! R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520536</commentid>
    <comment_count>7</comment_count>
      <attachid>118520</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 17:52:59 -0800</bug_when>
    <thetext>Comment on attachment 118520
Patch

Clearing flags on attachment: 118520

Committed r102726: &lt;http://trac.webkit.org/changeset/102726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520537</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 17:53:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520618</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-13 19:54:50 -0800</bug_when>
    <thetext>It appears that this patch caused a Chromium Mac build failure: http://build.webkit.org/builders/Chromium%20Mac%20Release%20%28Tests%29/builds/10806</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520627</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-13 20:21:22 -0800</bug_when>
    <thetext>Error run through c++filt:


Undefined symbols:
  &quot;__ZN3WTF6OwnPtrIN7WebCore17CCLayerTilingData4TileEEC1ERKS4_&quot;, referenced from:
      __ZN3WTF9HashTableISt4pairIiiES1_IS2_NS_6OwnPtrIN7WebCore17CCLayerTilingData4TileEEEENS_18PairFirstExtractorIS8_EENS_8PairHashIiiEENS_14PairHashTraitsINS5_16TileMapKeyTraitsENS_10HashTraitsIS7_EEEESE_E6rehashEi in libwebcore_platform.a(CCLayerTilingData.o)
      __ZN3WTF9HashTableISt4pairIiiES1_IS2_NS_6OwnPtrIN7WebCore17CCLayerTilingData4TileEEEENS_18PairFirstExtractorIS8_EENS_8PairHashIiiEENS_14PairHashTraitsINS5_16TileMapKeyTraitsENS_10HashTraitsIS7_EEEESE_E3addINS_17HashMapTranslatorISH_SC_EES2_NS_10PassOwnPtrIS6_EEEES1_INS_17HashTableIteratorIS2_S8_SA_SC_SH_SE_EEbERKT0_RKT1_ in libwebcore_platform.a(CCLayerTilingData.o)
ld: symbol(s) not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)Undefined symbols:
  &quot;WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt;::OwnPtr(WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; const&amp;)&quot;, referenced from:
      WTF::HashTable&lt;std::pair&lt;int, int&gt;, std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt;, WTF::PairFirstExtractor&lt;std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WTF::PairHash&lt;int, int&gt;, WTF::PairHashTraits&lt;WebCore::CCLayerTilingData::TileMapKeyTraits, WTF::HashTraits&lt;WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WebCore::CCLayerTilingData::TileMapKeyTraits&gt;::rehash(int) in libwebcore_platform.a(CCLayerTilingData.o)
      std::pair&lt;WTF::HashTableIterator&lt;std::pair&lt;int, int&gt;, std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt;, WTF::PairFirstExtractor&lt;std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WTF::PairHash&lt;int, int&gt;, WTF::PairHashTraits&lt;WebCore::CCLayerTilingData::TileMapKeyTraits, WTF::HashTraits&lt;WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WebCore::CCLayerTilingData::TileMapKeyTraits&gt;, bool&gt; WTF::HashTable&lt;std::pair&lt;int, int&gt;, std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt;, WTF::PairFirstExtractor&lt;std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WTF::PairHash&lt;int, int&gt;, WTF::PairHashTraits&lt;WebCore::CCLayerTilingData::TileMapKeyTraits, WTF::HashTraits&lt;WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WebCore::CCLayerTilingData::TileMapKeyTraits&gt;::add&lt;WTF::HashMapTranslator&lt;WTF::PairHashTraits&lt;WebCore::CCLayerTilingData::TileMapKeyTraits, WTF::HashTraits&lt;WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; &gt;, WTF::PairHash&lt;int, int&gt; &gt;, std::pair&lt;int, int&gt;, WTF::PassOwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt;(std::pair&lt;int, int&gt; const&amp;, WTF::PassOwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; const&amp;) in libwebcore_platform.a(CCLayerTilingData.o)
ld: symbol(s) not found


I&apos;m not sure what that means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520651</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-13 20:53:33 -0800</bug_when>
    <thetext>Undefined symbols:
  &quot;__ZN3WTF6OwnPtrIN7WebCore17CCLayerTilingData4TileEEC1ERKS4_&quot;, referenced from:
      __ZNSt4pairIS_IiiEN3WTF6OwnPtrIN7WebCore17CCLayerTilingData4TileEEEEC2ERKS7_ in libwebcore_platform.a(CCLayerTilingData.o)
ld: symbol(s) not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)

and

rniwa-macpro:webkit3 rniwa$ c++filt __ZN3WTF6OwnPtrIN7WebCore17CCLayerTilingData4TileEEC1ERKS4_
WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt;::OwnPtr(WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; const&amp;)

rniwa-macpro:webkit3 rniwa$ c++filt __ZNSt4pairIS_IiiEN3WTF6OwnPtrIN7WebCore17CCLayerTilingData4TileEEEEC2ERKS7_
std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt;::pair(std::pair&lt;std::pair&lt;int, int&gt;, WTF::OwnPtr&lt;WebCore::CCLayerTilingData::Tile&gt; &gt; const&amp;)

So... something is screwed up here. We shouldn&apos;t be calling the copy constructor of OwnPtr. I haven&apos;t been following HashMap&apos;s OwnPtr support enough to tell what we need to do here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520664</commentid>
    <comment_count>12</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-13 21:15:49 -0800</bug_when>
    <thetext>Going to roll this patch out for now, the fix does not appear obvious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520665</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-13 21:20:03 -0800</bug_when>
    <thetext>Reverted r102726 for reason:

Does not compile on clang

Committed r102738: &lt;http://trac.webkit.org/changeset/102738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521036</commentid>
    <comment_count>14</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-14 10:26:11 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Reverted r102726 for reason:
&gt; 
&gt; Does not compile on clang
&gt; 
&gt; Committed r102738: &lt;http://trac.webkit.org/changeset/102738&gt;

rniwa: Thanks for rolling this out.  Sorry for the hassle!

thakis: This looks a lot like the issue in https://bugs.webkit.org/show_bug.cgi?id=73711#c24, where Clang takes umbrage with the declared-but-not-defined OwnPtr copy constructor that gets optimized out elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521045</commentid>
    <comment_count>15</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-12-14 10:31:34 -0800</bug_when>
    <thetext>jamesr said he&apos;d try removing that weird declared-for-an-ancient-gcc-but-not-defined-anywhere constructor. Has that happend?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521049</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-14 10:34:41 -0800</bug_when>
    <thetext>No, and I don&apos;t have a particular timetable for trying that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521081</commentid>
    <comment_count>17</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-12-14 10:58:57 -0800</bug_when>
    <thetext>enne: Then I&apos;d try doing that first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551664</commentid>
    <comment_count>18</comment_count>
      <attachid>125977</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-07 18:31:28 -0800</bug_when>
    <thetext>Created attachment 125977
Rebased to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551724</commentid>
    <comment_count>19</comment_count>
      <attachid>125977</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-02-07 19:42:10 -0800</bug_when>
    <thetext>Comment on attachment 125977
Rebased to ToT

Attachment 125977 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11453218</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551725</commentid>
    <comment_count>20</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-07 19:49:23 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 125977 [details])
&gt; Attachment 125977 [details] did not pass gtk-ews (gtk):
&gt; Output: http://queues.webkit.org/results/11453218

Whoops, didn&apos;t mean to include the patch from bug 78071 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551750</commentid>
    <comment_count>21</comment_count>
      <attachid>125977</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-07 20:46:12 -0800</bug_when>
    <thetext>Comment on attachment 125977
Rebased to ToT

Attachment 125977 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11449243</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551761</commentid>
    <comment_count>22</comment_count>
      <attachid>125977</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-02-07 21:06:59 -0800</bug_when>
    <thetext>Comment on attachment 125977
Rebased to ToT

Attachment 125977 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11449249</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554301</commentid>
    <comment_count>23</comment_count>
      <attachid>126555</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-10 12:35:00 -0800</bug_when>
    <thetext>Created attachment 126555
Rebased to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554535</commentid>
    <comment_count>24</comment_count>
      <attachid>126555</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-10 18:30:54 -0800</bug_when>
    <thetext>Comment on attachment 126555
Rebased to ToT

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

R=me

&gt; Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:50
&gt; +    static PassOwnPtr&lt;DrawableTile&gt; create() { return adoptPtr(new DrawableTile()); }

nit: i normally omit the () from the c&apos;tor call here. not a strong preference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556525</commentid>
    <comment_count>25</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-14 13:01:28 -0800</bug_when>
    <thetext>Committed in r107645.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118514</attachid>
            <date>2011-12-08 19:11:59 -0800</date>
            <delta_ts>2011-12-08 20:26:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74154-20111208191158.patch</filename>
            <type>text/plain</type>
            <size>9154</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZGE5OTQwMTNlOWYwMDIwNzY3N2Y1YWE1YWRmOGUxYWEwMjQ2MTRhLi5lMjQ5Y2E1ZTBmMzA5N2Rh
MjVkZWI5ZDZhMTAyNzE2MDMzMWUwNzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMS0xMi0wOCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29t
PgorCisgICAgICAgIFVzZSBIYXNoTWFwPC4uLiwgT3duUHRyPFRpbGU+PiBmb3IgQ2hyb21pdW0g
Y29tcG9zaXRvciB0aWxlbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NDE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGluZyBhbiBPd25QdHIgY29uc3RydWN0b3IgZm9yIG51bGxwdHJfdCBhbGxv
d3MgYSBIYXNoTWFwOjphZGQgdG8gYmUKKyAgICAgICAgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIGlz
IGFuIE93blB0ci4KKworICAgICAgICAqIHd0Zi9Pd25QdHIuaDoKKyAgICAgICAgKFdURjo6T3du
UHRyOjpPd25QdHIpOgorCiAyMDExLTEyLTA4ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVzZSBIYXNoTWFwPE5vZGUqLCBPd25QdHI8Li4uPj4gaW4gQ2hpbGRM
aXN0TXV0YXRpb25TY29wZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg2MWJhZmJiZmVhOWI2NmIxZmI1OWMzNzI1
OTRhZmQxNDZhN2ViMDAuLmM4MGUwNmEzMTcyN2I3YTYyMDIxMjViMmFjMmUyYTc0ZGZmNDA5Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMS0xMi0wOCAgQWRyaWVubmUgV2Fsa2Vy
ICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFVzZSBIYXNoTWFwPC4uLiwgT3duUHRyPFRp
bGU+PiBmb3IgQ2hyb21pdW0gY29tcG9zaXRvciB0aWxlbWFwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE1NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHIxMDI0MTAgbGFuZGVkLCBpdCdzIG5v
dyBwb3NzaWJsZSB0byBwcm9wZXJseSB1c2UgYW4gT3duUHRyIHRvCisgICAgICAgIHN0b3JlIHRp
bGVzIHJhdGhlciB0aGFuIGhhY2tpbHkgdXNlIGEgUmVmUHRyLgorCisgICAgICAgIENvdmVyZWQg
YnkgdGhlIGNvbXBvc2l0aW5nLyBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VXBkYXRhYmxlVGlsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVwZGF0YWJsZVRp
bGU6OlVwZGF0YWJsZVRpbGUpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVt
OjpjcmVhdGVUaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVGlsaW5nRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVGlsaW5nRGF0
YTo6YWRkVGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVGlsaW5nRGF0YTo6dGFrZVRp
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRpbGluZ0RhdGE6OnRpbGVBdCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYXdhYmxlVGlsZTo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRyYXdhYmxlVGlsZTo6RHJhd2FibGVUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDVGlsZWRMYXllckltcGw6OmNyZWF0ZVRpbGUpOgorCiAyMDExLTEyLTA4ICBBZGFtIEtsZWlu
ICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVzZSBIYXNoTWFwPE5vZGUqLCBPd25Q
dHI8Li4uPj4gaW4gQ2hpbGRMaXN0TXV0YXRpb25TY29wZQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3du
UHRyLmgKaW5kZXggMzExNDM1NWE4MGE5YjhhOGNiY2QwNTg3ZGU2NDc4MzExNzYwNzJkYS4uY2Ex
MzdlOWNmNWJiNTIzY2Y2ZTMyNjg5MWI2NjAxZGRlZDNlZWYwNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL093blB0ci5oCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0
eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKIAogICAgICAgICBPd25QdHIoKSA6IG1fcHRyKDAp
IHsgfQorICAgICAgICBPd25QdHIoY29uc3Qgc3RkOjpudWxscHRyX3QmKSA6IG1fcHRyKDApIHsg
fQogCiAgICAgICAgIC8vIFNlZSBjb21tZW50IGluIFBhc3NPd25QdHIuaCBmb3Igd2h5IHRoaXMg
dGFrZXMgYSBjb25zdCByZWZlcmVuY2UuCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IE93
blB0cihjb25zdCBQYXNzT3duUHRyPFU+JiBvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0u
Y3BwCmluZGV4IDVjNTVmNTliZjNlNzM3MmZlOWVjNTEyZWY2MzYxMTAxYWM1YTA1ZTUuLjhmYzhl
MDI2OTIyODNmMjA0YzBhMjZmOTdhNmMwMDQ0ODU4MWJhNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJDaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXll
ckNocm9taXVtLmNwcApAQCAtNTIsNyArNTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgVXBkYXRhYmxlVGlsZSA6IHB1YmxpYyBDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZSB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVXBkYXRhYmxlVGlsZSk7CiBwdWJsaWM6Ci0gICAgZXhwbGlj
aXQgVXBkYXRhYmxlVGlsZShQYXNzT3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+
IHRleHR1cmUpIDogbV90ZXh0dXJlKHRleHR1cmUpIHsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRy
PFVwZGF0YWJsZVRpbGU+IGNyZWF0ZShQYXNzT3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRl
eHR1cmU+IHRleHR1cmUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFVwZGF0
YWJsZVRpbGUodGV4dHVyZSkpOworICAgIH0KIAogICAgIExheWVyVGV4dHVyZVVwZGF0ZXI6OlRl
eHR1cmUqIHRleHR1cmUoKSB7IHJldHVybiBtX3RleHR1cmUuZ2V0KCk7IH0KICAgICBNYW5hZ2Vk
VGV4dHVyZSogbWFuYWdlZFRleHR1cmUoKSB7IHJldHVybiBtX3RleHR1cmUtPnRleHR1cmUoKTsg
fQpAQCAtNjUsNiArNjgsOCBAQCBwdWJsaWM6CiAgICAgLy8gQ29udGVudC1zcGFjZSByZWN0YW5n
bGUgdGhhdCBuZWVkcyB0byBiZSB1cGRhdGVkLgogICAgIEludFJlY3QgbV91cGRhdGVSZWN0Owog
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBVcGRhdGFibGVUaWxlKFBhc3NPd25QdHI8TGF5ZXJUZXh0
dXJlVXBkYXRlcjo6VGV4dHVyZT4gdGV4dHVyZSkgOiBtX3RleHR1cmUodGV4dHVyZSkgeyB9CisK
ICAgICBPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gbV90ZXh0dXJlOwogfTsK
IApAQCAtMjgxLDExICsyODYsMTIgQEAgVXBkYXRhYmxlVGlsZSogVGlsZWRMYXllckNocm9taXVt
Ojp0aWxlQXQoaW50IGksIGludCBqKSBjb25zdAogCiBVcGRhdGFibGVUaWxlKiBUaWxlZExheWVy
Q2hyb21pdW06OmNyZWF0ZVRpbGUoaW50IGksIGludCBqKQogewotICAgIFJlZlB0cjxVcGRhdGFi
bGVUaWxlPiB0aWxlID0gYWRvcHRSZWYobmV3IFVwZGF0YWJsZVRpbGUodGV4dHVyZVVwZGF0ZXIo
KS0+Y3JlYXRlVGV4dHVyZSh0ZXh0dXJlTWFuYWdlcigpKSkpOwotICAgIG1fdGlsZXItPmFkZFRp
bGUodGlsZSwgaSwgaik7Ci0gICAgdGlsZS0+bV9kaXJ0eUxheWVyUmVjdCA9IG1fdGlsZXItPnRp
bGVMYXllclJlY3QodGlsZS5nZXQoKSk7CisgICAgT3duUHRyPFVwZGF0YWJsZVRpbGU+IHRpbGUo
VXBkYXRhYmxlVGlsZTo6Y3JlYXRlKHRleHR1cmVVcGRhdGVyKCktPmNyZWF0ZVRleHR1cmUodGV4
dHVyZU1hbmFnZXIoKSkpKTsKKyAgICBVcGRhdGFibGVUaWxlKiBhZGRlZFRpbGUgPSB0aWxlLmdl
dCgpOworICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZS5yZWxlYXNlKCksIGksIGopOwogCi0gICAg
cmV0dXJuIHRpbGUuZ2V0KCk7CisgICAgYWRkZWRUaWxlLT5tX2RpcnR5TGF5ZXJSZWN0ID0gbV90
aWxlci0+dGlsZUxheWVyUmVjdChhZGRlZFRpbGUpOworICAgIHJldHVybiBhZGRlZFRpbGU7CiB9
CiAKIHZvaWQgVGlsZWRMYXllckNocm9taXVtOjpzZXROZWVkc0Rpc3BsYXlSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgZGlydHlSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuY3BwCmlu
ZGV4IGM1NDJiN2Q0MjZiNzE0ZGQzZTkzMDI2NmZkMjk4MDRmN2M3NTNhZDEuLjU1ZmQ2ZjE0Mjlm
OWI1YTk1YmM4ZDE5NWI4Nzc5NTEwOTRkMGJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGls
aW5nRGF0YS5jcHAKQEAgLTY1LDIzICs2NSwyMSBAQCBjb25zdCBDQ0xheWVyVGlsaW5nRGF0YSYg
Q0NMYXllclRpbGluZ0RhdGE6Om9wZXJhdG9yPShjb25zdCBDQ0xheWVyVGlsaW5nRGF0YSYgdAog
ICAgIHJldHVybiAqdGhpczsKIH0KIAotdm9pZCBDQ0xheWVyVGlsaW5nRGF0YTo6YWRkVGlsZShQ
YXNzUmVmUHRyPFRpbGU+IHRpbGUsIGludCBpLCBpbnQgaikKK3ZvaWQgQ0NMYXllclRpbGluZ0Rh
dGE6OmFkZFRpbGUoUGFzc093blB0cjxUaWxlPiB0aWxlLCBpbnQgaSwgaW50IGopCiB7CiAgICAg
QVNTRVJUKCF0aWxlQXQoaSwgaikpOwogICAgIHRpbGUtPm1vdmVUbyhpLCBqKTsKICAgICBtX3Rp
bGVzLmFkZChtYWtlX3BhaXIoaSwgaiksIHRpbGUpOwogfQogCi1QYXNzUmVmUHRyPENDTGF5ZXJU
aWxpbmdEYXRhOjpUaWxlPiBDQ0xheWVyVGlsaW5nRGF0YTo6dGFrZVRpbGUoaW50IGksIGludCBq
KQorUGFzc093blB0cjxDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZT4gQ0NMYXllclRpbGluZ0RhdGE6
OnRha2VUaWxlKGludCBpLCBpbnQgaikKIHsKICAgICByZXR1cm4gbV90aWxlcy50YWtlKG1ha2Vf
cGFpcihpLCBqKSk7CiB9CiAKIENDTGF5ZXJUaWxpbmdEYXRhOjpUaWxlKiBDQ0xheWVyVGlsaW5n
RGF0YTo6dGlsZUF0KGludCBpLCBpbnQgaikgY29uc3QKIHsKLSAgICBUaWxlKiB0aWxlID0gbV90
aWxlcy5nZXQobWFrZV9wYWlyKGksIGopKS5nZXQoKTsKLSAgICBBU1NFUlQoIXRpbGUgfHwgdGls
ZS0+cmVmQ291bnQoKSA9PSAxKTsKLSAgICByZXR1cm4gdGlsZTsKKyAgICByZXR1cm4gbV90aWxl
cy5nZXQobWFrZV9wYWlyKGksIGopKTsKIH0KIAogdm9pZCBDQ0xheWVyVGlsaW5nRGF0YTo6cmVz
ZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmgKaW5kZXggZDEyZWE3MDZiM2U2MWIz
MjgwNTliYmYxZjlkMDQzZDg2M2UxNGQ1ZS4uZjllYWRkMzQyMTVmMzA3NGM1NTU3MjI1NDY3ZmQy
NThkYWJlNTA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5nRGF0YS5oCkBAIC0zNCw3ICsz
NCw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0
cy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Miw3ICs2MSw3IEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IENDTGF5ZXJUaWxpbmdEYXRhJiBvcGVyYXRvcj0oY29uc3QgQ0NMYXllclRp
bGluZ0RhdGEmKTsKIAotICAgIGNsYXNzIFRpbGU6IHB1YmxpYyBSZWZDb3VudGVkPFRpbGU+IHsK
KyAgICBjbGFzcyBUaWxlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZSk7CiAg
ICAgcHVibGljOgogICAgICAgICBUaWxlKCkgOiBtX2koLTEpLCBtX2ooLTEpIHsgfQpAQCAtODUs
MTMgKzg0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRl
ZFZhbHVlKFRpbGVNYXBLZXkmIHNsb3QpIHsgc2xvdCA9IHN0ZDo6bWFrZV9wYWlyKC0yLCAtMik7
IH0KICAgICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoVGlsZU1hcEtleSB2YWx1ZSkg
eyByZXR1cm4gdmFsdWUuZmlyc3QgPT0gLTIgJiYgdmFsdWUuc2Vjb25kID09IC0yOyB9CiAgICAg
fTsKLSAgICAvLyBGSVhNRTogVGhlIG1hcHBlZCB2YWx1ZSBpbiBUaWxlTWFwIHNob3VsZCByZWFs
bHkgYmUgYW4gT3duUHRyLCBhcyB0aGUKLSAgICAvLyByZWZjb3VudCBvZiBhIFRpbGUgc2hvdWxk
IG5ldmVyIGJlIG1vcmUgdGhhbiAxLiBIb3dldmVyLCBIYXNoTWFwCi0gICAgLy8gZG9lc24ndCBl
YXNpbHkgc3VwcG9ydCBPd25QdHIgYXMgYSB2YWx1ZS4KLSAgICB0eXBlZGVmIEhhc2hNYXA8VGls
ZU1hcEtleSwgUmVmUHRyPFRpbGU+LCBEZWZhdWx0SGFzaDxUaWxlTWFwS2V5Pjo6SGFzaCwgVGls
ZU1hcEtleVRyYWl0cz4gVGlsZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8VGlsZU1hcEtleSwg
T3duUHRyPFRpbGU+LCBEZWZhdWx0SGFzaDxUaWxlTWFwS2V5Pjo6SGFzaCwgVGlsZU1hcEtleVRy
YWl0cz4gVGlsZU1hcDsKIAotICAgIHZvaWQgYWRkVGlsZShQYXNzUmVmUHRyPFRpbGU+LCBpbnQs
IGludCk7Ci0gICAgUGFzc1JlZlB0cjxUaWxlPiB0YWtlVGlsZShpbnQsIGludCk7CisgICAgdm9p
ZCBhZGRUaWxlKFBhc3NPd25QdHI8VGlsZT4sIGludCwgaW50KTsKKyAgICBQYXNzT3duUHRyPFRp
bGU+IHRha2VUaWxlKGludCwgaW50KTsKICAgICBUaWxlKiB0aWxlQXQoaW50LCBpbnQpIGNvbnN0
OwogICAgIGNvbnN0IFRpbGVNYXAmIHRpbGVzKCkgY29uc3QgeyByZXR1cm4gbV90aWxlczsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCmluZGV4IDQ5ZDFkZjNmZDhiZTNjODkw
YzA2ZjA1YWU3NWVlOTUxN2U3OTdjMTMuLjkxMjJjYTE4NGQ1ZGYzOTg0ZTUyODQwYTQxNjQ3NjY0
YzZjNzkyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCkBAIC00MiwxMSAr
NDIsMTMgQEAgY2xhc3MgTWFuYWdlZFRleHR1cmU7CiBjbGFzcyBEcmF3YWJsZVRpbGUgOiBwdWJs
aWMgQ0NMYXllclRpbGluZ0RhdGE6OlRpbGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERy
YXdhYmxlVGlsZSk7CiBwdWJsaWM6Ci0gICAgRHJhd2FibGVUaWxlKCkgOiBtX3RleHR1cmVJZCgw
KSB7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxEcmF3YWJsZVRpbGU+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UHRyKG5ldyBEcmF3YWJsZVRpbGUoKSk7IH0KIAogICAgIFBsYXRmb3JtM0RPYmpl
Y3QgdGV4dHVyZUlkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJlSWQ7IH0KICAgICB2b2lkIHNl
dFRleHR1cmVJZChQbGF0Zm9ybTNET2JqZWN0IHRleHR1cmVJZCkgeyBtX3RleHR1cmVJZCA9IHRl
eHR1cmVJZDsgfQogcHJpdmF0ZToKKyAgICBEcmF3YWJsZVRpbGUoKSA6IG1fdGV4dHVyZUlkKDAp
IHsgfQorCiAgICAgUGxhdGZvcm0zRE9iamVjdCBtX3RleHR1cmVJZDsKIH07CiAKQEAgLTkyLDkg
Kzk0LDEwIEBAIERyYXdhYmxlVGlsZSogQ0NUaWxlZExheWVySW1wbDo6dGlsZUF0KGludCBpLCBp
bnQgaikgY29uc3QKIAogRHJhd2FibGVUaWxlKiBDQ1RpbGVkTGF5ZXJJbXBsOjpjcmVhdGVUaWxl
KGludCBpLCBpbnQgaikKIHsKLSAgICBSZWZQdHI8RHJhd2FibGVUaWxlPiB0aWxlID0gYWRvcHRS
ZWYobmV3IERyYXdhYmxlVGlsZSgpKTsKLSAgICBtX3RpbGVyLT5hZGRUaWxlKHRpbGUsIGksIGop
OwotICAgIHJldHVybiB0aWxlLmdldCgpOworICAgIE93blB0cjxEcmF3YWJsZVRpbGU+IHRpbGUo
RHJhd2FibGVUaWxlOjpjcmVhdGUoKSk7CisgICAgRHJhd2FibGVUaWxlKiBhZGRlZFRpbGUgPSB0
aWxlLmdldCgpOworICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZS5yZWxlYXNlKCksIGksIGopOwor
ICAgIHJldHVybiBhZGRlZFRpbGU7CiB9CiAKIFRyYW5zZm9ybWF0aW9uTWF0cml4IENDVGlsZWRM
YXllckltcGw6OnRpbGluZ1RyYW5zZm9ybSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118520</attachid>
            <date>2011-12-08 20:26:13 -0800</date>
            <delta_ts>2012-02-07 18:31:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74154-20111208202612.patch</filename>
            <type>text/plain</type>
            <size>7804</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYmFmYmJmZWE5YjY2
YjFmYjU5YzM3MjU5NGFmZDE0NmE3ZWIwMC4uNmE4ZDA2Y2EzZDVhZDY0ZmFiMTQyZjhiMTZlYmE1
ODZmMGRjNWVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTA4ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBVc2Ug
SGFzaE1hcDwuLi4sIE93blB0cjxUaWxlPj4gZm9yIGNvbXBvc2l0b3IgdGlsZW1hcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRlciByMTAyNDEwIGxh
bmRlZCwgaXQncyBub3cgcG9zc2libGUgdG8gcHJvcGVybHkgdXNlIGFuIE93blB0ciB0bworICAg
ICAgICBzdG9yZSB0aWxlcyByYXRoZXIgdGhhbiBoYWNraWx5IHVzZSBhIFJlZlB0ci4KKworICAg
ICAgICBDb3ZlcmVkIGJ5IHRoZSBjb21wb3NpdGluZy8gbGF5b3V0IHRlc3RzLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlVwZGF0YWJsZVRpbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpVcGRhdGFibGVUaWxlOjpVcGRhdGFibGVUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVk
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGlsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllclRpbGluZ0RhdGE6OmFkZFRpbGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRpbGlu
Z0RhdGE6OnRha2VUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUaWxpbmdEYXRhOjp0
aWxlQXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
aWxpbmdEYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aWxlZExheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmF3YWJsZVRpbGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEcmF3YWJsZVRpbGU6OkRyYXdhYmxlVGlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1RpbGVkTGF5ZXJJbXBsOjpjcmVhdGVUaWxlKToKKwogMjAxMS0xMi0w
OCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVc2UgSGFzaE1h
cDxOb2RlKiwgT3duUHRyPC4uLj4+IGluIENoaWxkTGlzdE11dGF0aW9uU2NvcGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJD
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
aWxlZExheWVyQ2hyb21pdW0uY3BwCmluZGV4IDVjNTVmNTliZjNlNzM3MmZlOWVjNTEyZWY2MzYx
MTAxYWM1YTA1ZTUuLjhmYzhlMDI2OTIyODNmMjA0YzBhMjZmOTdhNmMwMDQ0ODU4MWJhNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVk
TGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmNwcApAQCAtNTIsNyArNTIsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgVXBkYXRhYmxlVGlsZSA6IHB1YmxpYyBDQ0xheWVyVGlsaW5n
RGF0YTo6VGlsZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXBkYXRhYmxlVGlsZSk7CiBw
dWJsaWM6Ci0gICAgZXhwbGljaXQgVXBkYXRhYmxlVGlsZShQYXNzT3duUHRyPExheWVyVGV4dHVy
ZVVwZGF0ZXI6OlRleHR1cmU+IHRleHR1cmUpIDogbV90ZXh0dXJlKHRleHR1cmUpIHsgfQorICAg
IHN0YXRpYyBQYXNzT3duUHRyPFVwZGF0YWJsZVRpbGU+IGNyZWF0ZShQYXNzT3duUHRyPExheWVy
VGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+IHRleHR1cmUpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IFVwZGF0YWJsZVRpbGUodGV4dHVyZSkpOworICAgIH0KIAogICAgIExheWVy
VGV4dHVyZVVwZGF0ZXI6OlRleHR1cmUqIHRleHR1cmUoKSB7IHJldHVybiBtX3RleHR1cmUuZ2V0
KCk7IH0KICAgICBNYW5hZ2VkVGV4dHVyZSogbWFuYWdlZFRleHR1cmUoKSB7IHJldHVybiBtX3Rl
eHR1cmUtPnRleHR1cmUoKTsgfQpAQCAtNjUsNiArNjgsOCBAQCBwdWJsaWM6CiAgICAgLy8gQ29u
dGVudC1zcGFjZSByZWN0YW5nbGUgdGhhdCBuZWVkcyB0byBiZSB1cGRhdGVkLgogICAgIEludFJl
Y3QgbV91cGRhdGVSZWN0OwogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBVcGRhdGFibGVUaWxlKFBh
c3NPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gdGV4dHVyZSkgOiBtX3RleHR1
cmUodGV4dHVyZSkgeyB9CisKICAgICBPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVy
ZT4gbV90ZXh0dXJlOwogfTsKIApAQCAtMjgxLDExICsyODYsMTIgQEAgVXBkYXRhYmxlVGlsZSog
VGlsZWRMYXllckNocm9taXVtOjp0aWxlQXQoaW50IGksIGludCBqKSBjb25zdAogCiBVcGRhdGFi
bGVUaWxlKiBUaWxlZExheWVyQ2hyb21pdW06OmNyZWF0ZVRpbGUoaW50IGksIGludCBqKQogewot
ICAgIFJlZlB0cjxVcGRhdGFibGVUaWxlPiB0aWxlID0gYWRvcHRSZWYobmV3IFVwZGF0YWJsZVRp
bGUodGV4dHVyZVVwZGF0ZXIoKS0+Y3JlYXRlVGV4dHVyZSh0ZXh0dXJlTWFuYWdlcigpKSkpOwot
ICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZSwgaSwgaik7Ci0gICAgdGlsZS0+bV9kaXJ0eUxheWVy
UmVjdCA9IG1fdGlsZXItPnRpbGVMYXllclJlY3QodGlsZS5nZXQoKSk7CisgICAgT3duUHRyPFVw
ZGF0YWJsZVRpbGU+IHRpbGUoVXBkYXRhYmxlVGlsZTo6Y3JlYXRlKHRleHR1cmVVcGRhdGVyKCkt
PmNyZWF0ZVRleHR1cmUodGV4dHVyZU1hbmFnZXIoKSkpKTsKKyAgICBVcGRhdGFibGVUaWxlKiBh
ZGRlZFRpbGUgPSB0aWxlLmdldCgpOworICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZS5yZWxlYXNl
KCksIGksIGopOwogCi0gICAgcmV0dXJuIHRpbGUuZ2V0KCk7CisgICAgYWRkZWRUaWxlLT5tX2Rp
cnR5TGF5ZXJSZWN0ID0gbV90aWxlci0+dGlsZUxheWVyUmVjdChhZGRlZFRpbGUpOworICAgIHJl
dHVybiBhZGRlZFRpbGU7CiB9CiAKIHZvaWQgVGlsZWRMYXllckNocm9taXVtOjpzZXROZWVkc0Rp
c3BsYXlSZWN0KGNvbnN0IEZsb2F0UmVjdCYgZGlydHlSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRpbGluZ0RhdGEuY3BwCmluZGV4IGM1NDJiN2Q0MjZiNzE0ZGQzZTkzMDI2NmZkMjk4MDRmN2M3
NTNhZDEuLjU1ZmQ2ZjE0MjlmOWI1YTk1YmM4ZDE5NWI4Nzc5NTEwOTRkMGJjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
aWxpbmdEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVGlsaW5nRGF0YS5jcHAKQEAgLTY1LDIzICs2NSwyMSBAQCBjb25zdCBD
Q0xheWVyVGlsaW5nRGF0YSYgQ0NMYXllclRpbGluZ0RhdGE6Om9wZXJhdG9yPShjb25zdCBDQ0xh
eWVyVGlsaW5nRGF0YSYgdAogICAgIHJldHVybiAqdGhpczsKIH0KIAotdm9pZCBDQ0xheWVyVGls
aW5nRGF0YTo6YWRkVGlsZShQYXNzUmVmUHRyPFRpbGU+IHRpbGUsIGludCBpLCBpbnQgaikKK3Zv
aWQgQ0NMYXllclRpbGluZ0RhdGE6OmFkZFRpbGUoUGFzc093blB0cjxUaWxlPiB0aWxlLCBpbnQg
aSwgaW50IGopCiB7CiAgICAgQVNTRVJUKCF0aWxlQXQoaSwgaikpOwogICAgIHRpbGUtPm1vdmVU
byhpLCBqKTsKICAgICBtX3RpbGVzLmFkZChtYWtlX3BhaXIoaSwgaiksIHRpbGUpOwogfQogCi1Q
YXNzUmVmUHRyPENDTGF5ZXJUaWxpbmdEYXRhOjpUaWxlPiBDQ0xheWVyVGlsaW5nRGF0YTo6dGFr
ZVRpbGUoaW50IGksIGludCBqKQorUGFzc093blB0cjxDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZT4g
Q0NMYXllclRpbGluZ0RhdGE6OnRha2VUaWxlKGludCBpLCBpbnQgaikKIHsKICAgICByZXR1cm4g
bV90aWxlcy50YWtlKG1ha2VfcGFpcihpLCBqKSk7CiB9CiAKIENDTGF5ZXJUaWxpbmdEYXRhOjpU
aWxlKiBDQ0xheWVyVGlsaW5nRGF0YTo6dGlsZUF0KGludCBpLCBpbnQgaikgY29uc3QKIHsKLSAg
ICBUaWxlKiB0aWxlID0gbV90aWxlcy5nZXQobWFrZV9wYWlyKGksIGopKS5nZXQoKTsKLSAgICBB
U1NFUlQoIXRpbGUgfHwgdGlsZS0+cmVmQ291bnQoKSA9PSAxKTsKLSAgICByZXR1cm4gdGlsZTsK
KyAgICByZXR1cm4gbV90aWxlcy5nZXQobWFrZV9wYWlyKGksIGopKTsKIH0KIAogdm9pZCBDQ0xh
eWVyVGlsaW5nRGF0YTo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmgKaW5k
ZXggZDEyZWE3MDZiM2U2MWIzMjgwNTliYmYxZjlkMDQzZDg2M2UxNGQ1ZS4uZjllYWRkMzQyMTVm
MzA3NGM1NTU3MjI1NDY3ZmQyNThkYWJlNTA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5n
RGF0YS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Miw3
ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IENDTGF5ZXJUaWxpbmdEYXRhJiBvcGVyYXRv
cj0oY29uc3QgQ0NMYXllclRpbGluZ0RhdGEmKTsKIAotICAgIGNsYXNzIFRpbGU6IHB1YmxpYyBS
ZWZDb3VudGVkPFRpbGU+IHsKKyAgICBjbGFzcyBUaWxlIHsKICAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGlsZSk7CiAgICAgcHVibGljOgogICAgICAgICBUaWxlKCkgOiBtX2koLTEpLCBt
X2ooLTEpIHsgfQpAQCAtODUsMTMgKzg0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZv
aWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFRpbGVNYXBLZXkmIHNsb3QpIHsgc2xvdCA9IHN0ZDo6
bWFrZV9wYWlyKC0yLCAtMik7IH0KICAgICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUo
VGlsZU1hcEtleSB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuZmlyc3QgPT0gLTIgJiYgdmFsdWUuc2Vj
b25kID09IC0yOyB9CiAgICAgfTsKLSAgICAvLyBGSVhNRTogVGhlIG1hcHBlZCB2YWx1ZSBpbiBU
aWxlTWFwIHNob3VsZCByZWFsbHkgYmUgYW4gT3duUHRyLCBhcyB0aGUKLSAgICAvLyByZWZjb3Vu
dCBvZiBhIFRpbGUgc2hvdWxkIG5ldmVyIGJlIG1vcmUgdGhhbiAxLiBIb3dldmVyLCBIYXNoTWFw
Ci0gICAgLy8gZG9lc24ndCBlYXNpbHkgc3VwcG9ydCBPd25QdHIgYXMgYSB2YWx1ZS4KLSAgICB0
eXBlZGVmIEhhc2hNYXA8VGlsZU1hcEtleSwgUmVmUHRyPFRpbGU+LCBEZWZhdWx0SGFzaDxUaWxl
TWFwS2V5Pjo6SGFzaCwgVGlsZU1hcEtleVRyYWl0cz4gVGlsZU1hcDsKKyAgICB0eXBlZGVmIEhh
c2hNYXA8VGlsZU1hcEtleSwgT3duUHRyPFRpbGU+LCBEZWZhdWx0SGFzaDxUaWxlTWFwS2V5Pjo6
SGFzaCwgVGlsZU1hcEtleVRyYWl0cz4gVGlsZU1hcDsKIAotICAgIHZvaWQgYWRkVGlsZShQYXNz
UmVmUHRyPFRpbGU+LCBpbnQsIGludCk7Ci0gICAgUGFzc1JlZlB0cjxUaWxlPiB0YWtlVGlsZShp
bnQsIGludCk7CisgICAgdm9pZCBhZGRUaWxlKFBhc3NPd25QdHI8VGlsZT4sIGludCwgaW50KTsK
KyAgICBQYXNzT3duUHRyPFRpbGU+IHRha2VUaWxlKGludCwgaW50KTsKICAgICBUaWxlKiB0aWxl
QXQoaW50LCBpbnQpIGNvbnN0OwogICAgIGNvbnN0IFRpbGVNYXAmIHRpbGVzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aWxlczsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCmluZGV4
IDQ5ZDFkZjNmZDhiZTNjODkwYzA2ZjA1YWU3NWVlOTUxN2U3OTdjMTMuLjkxMjJjYTE4NGQ1ZGYz
OTg0ZTUyODQwYTQxNjQ3NjY0YzZjNzkyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllcklt
cGwuY3BwCkBAIC00MiwxMSArNDIsMTMgQEAgY2xhc3MgTWFuYWdlZFRleHR1cmU7CiBjbGFzcyBE
cmF3YWJsZVRpbGUgOiBwdWJsaWMgQ0NMYXllclRpbGluZ0RhdGE6OlRpbGUgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERyYXdhYmxlVGlsZSk7CiBwdWJsaWM6Ci0gICAgRHJhd2FibGVUaWxl
KCkgOiBtX3RleHR1cmVJZCgwKSB7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxEcmF3YWJsZVRp
bGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBEcmF3YWJsZVRpbGUoKSk7IH0KIAog
ICAgIFBsYXRmb3JtM0RPYmplY3QgdGV4dHVyZUlkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJl
SWQ7IH0KICAgICB2b2lkIHNldFRleHR1cmVJZChQbGF0Zm9ybTNET2JqZWN0IHRleHR1cmVJZCkg
eyBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsgfQogcHJpdmF0ZToKKyAgICBEcmF3YWJsZVRpbGUo
KSA6IG1fdGV4dHVyZUlkKDApIHsgfQorCiAgICAgUGxhdGZvcm0zRE9iamVjdCBtX3RleHR1cmVJ
ZDsKIH07CiAKQEAgLTkyLDkgKzk0LDEwIEBAIERyYXdhYmxlVGlsZSogQ0NUaWxlZExheWVySW1w
bDo6dGlsZUF0KGludCBpLCBpbnQgaikgY29uc3QKIAogRHJhd2FibGVUaWxlKiBDQ1RpbGVkTGF5
ZXJJbXBsOjpjcmVhdGVUaWxlKGludCBpLCBpbnQgaikKIHsKLSAgICBSZWZQdHI8RHJhd2FibGVU
aWxlPiB0aWxlID0gYWRvcHRSZWYobmV3IERyYXdhYmxlVGlsZSgpKTsKLSAgICBtX3RpbGVyLT5h
ZGRUaWxlKHRpbGUsIGksIGopOwotICAgIHJldHVybiB0aWxlLmdldCgpOworICAgIE93blB0cjxE
cmF3YWJsZVRpbGU+IHRpbGUoRHJhd2FibGVUaWxlOjpjcmVhdGUoKSk7CisgICAgRHJhd2FibGVU
aWxlKiBhZGRlZFRpbGUgPSB0aWxlLmdldCgpOworICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZS5y
ZWxlYXNlKCksIGksIGopOworICAgIHJldHVybiBhZGRlZFRpbGU7CiB9CiAKIFRyYW5zZm9ybWF0
aW9uTWF0cml4IENDVGlsZWRMYXllckltcGw6OnRpbGluZ1RyYW5zZm9ybSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125977</attachid>
            <date>2012-02-07 18:31:28 -0800</date>
            <delta_ts>2012-02-10 12:34:56 -0800</delta_ts>
            <desc>Rebased to ToT</desc>
            <filename>bug-74154-20120207183127.patch</filename>
            <type>text/plain</type>
            <size>9525</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAxZTY1NjU0NjgwNzQ3
YTAwY2ZhZjc2NzdkMmQ5MDUwN2RmOTYxYS4uOTRiODBjYTA3Y2IyODhlZGIwZmYwYjNlMDQzOGM3
NDc3ZWVjM2E4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAyLTA3ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBVc2Ug
SGFzaE1hcDwuLi4sIE93blB0cjxUaWxlPj4gZm9yIGNvbXBvc2l0b3IgdGlsZW1hcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRlciByMTAyNDEwIGxh
bmRlZCwgaXQncyBub3cgcG9zc2libGUgdG8gcHJvcGVybHkgdXNlIGFuIE93blB0ciB0bworICAg
ICAgICBzdG9yZSB0aWxlcyByYXRoZXIgdGhhbiBoYWNraWx5IHVzZSBhIFJlZlB0ci4KKworICAg
ICAgICBDb3ZlcmVkIGJ5IHRoZSBjb21wb3NpdGluZy8gbGF5b3V0IHRlc3RzLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlVwZGF0YWJsZVRpbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpVcGRhdGFibGVUaWxlOjpVcGRhdGFibGVUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVk
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGlsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllclRpbGluZ0RhdGE6OmFkZFRpbGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRpbGlu
Z0RhdGE6OnRha2VUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUaWxpbmdEYXRhOjp0
aWxlQXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
aWxpbmdEYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aWxlZExheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmF3YWJsZVRpbGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEcmF3YWJsZVRpbGU6OkRyYXdhYmxlVGlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1RpbGVkTGF5ZXJJbXBsOjpjcmVhdGVUaWxlKToKKwogMjAxMi0wMi0w
NyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IGJ1aWxkIGZpeDsgbWFrZSBPU1N0YXR1cyB0aGUgZXhwbGljaXQgcmV0dXJuIHR5cGUgZm9yIENN
VGltZWJhc2UgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoVHJhaXRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hUcmFpdHMuaApp
bmRleCAxMmU2YjA2OTk0N2JhNmJlMDdhZjBhZTI3NTc2ZGJhMjUxMDViZDY3Li43NGMwM2ZhMWZl
ZjlhMTVlMWFhOGFhZmIwODZkZTVkYzkxMzBmOTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0hhc2hUcmFpdHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hUcmFpdHMuaApAQCAtNTcsNiArNTcsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBHZW5lcmljSGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNo
VHJhaXRzQmFzZTxJc0ludGVnZXI8VD46OnZhbHVlLCBUPiB7CiAgICAgICAgIHR5cGVkZWYgVCBU
cmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgVCBFbXB0eVR5cGU7CiAKICAgICAgICAgc3RhdGlj
IFQgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIFQoKTsgfQogCkBAIC0xMTIsNiArMTEzLDggQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBI
YXNoVHJhaXRzPE93blB0cjxQPiA+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPE93blB0cjxQPiA+
IHsKKyAgICAgICAgdHlwZWRlZiBzdGQ6Om51bGxwdHJfdCBFbXB0eVR5cGU7CisKICAgICAgICAg
c3RhdGljIHN0ZDo6bnVsbHB0cl90IGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CiAK
ICAgICAgICAgdHlwZWRlZiBQYXNzT3duUHRyPFA+IFBhc3NJblR5cGU7CkBAIC0xNDQsOSArMTQ3
LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0eXBlZGVmIEZpcnN0VHJhaXRzQXJnIEZp
cnN0VHJhaXRzOwogICAgICAgICB0eXBlZGVmIFNlY29uZFRyYWl0c0FyZyBTZWNvbmRUcmFpdHM7
CiAgICAgICAgIHR5cGVkZWYgcGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0czo6VHJhaXRUeXBlLCB0
eXBlbmFtZSBTZWNvbmRUcmFpdHM6OlRyYWl0VHlwZT4gVHJhaXRUeXBlOworICAgICAgICB0eXBl
ZGVmIHBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OkVtcHR5VHlwZSwgdHlwZW5hbWUgU2Vjb25k
VHJhaXRzOjpFbXB0eVR5cGU+IEVtcHR5VHlwZTsKIAogICAgICAgICBzdGF0aWMgY29uc3QgYm9v
bCBlbXB0eVZhbHVlSXNaZXJvID0gRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm8gJiYgU2Vj
b25kVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvOwotICAgICAgICBzdGF0aWMgVHJhaXRUeXBlIGVt
cHR5VmFsdWUoKSB7IHJldHVybiBtYWtlX3BhaXIoRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWUoKSwg
U2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlKCkpOyB9CisgICAgICAgIHN0YXRpYyBFbXB0eVR5cGUg
ZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIG1ha2VfcGFpcihGaXJzdFRyYWl0czo6ZW1wdHlWYWx1ZSgp
LCBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWUoKSk7IH0KIAogICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBuZWVkc0Rlc3RydWN0aW9uID0gRmlyc3RUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb24gfHwg
U2Vjb25kVHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9uOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9t
aXVtLmNwcAppbmRleCBjOTFkZDVkZmI0MmU1MGYwNTkzY2JhMWMzMjc3N2VjNTkyOTE2ZDgxLi4z
ZWRkZTRiMjAyNzcwZWZiY2ZjMmI0YTA1NDc4NmZiY2NjYjlmN2IwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVk
TGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTUzLDcgKzUzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFVwZGF0YWJsZVRpbGUgOiBwdWJsaWMgQ0NMYXllclRpbGluZ0RhdGE6OlRpbGUgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVwZGF0YWJsZVRpbGUpOwogcHVibGljOgotICAgIGV4
cGxpY2l0IFVwZGF0YWJsZVRpbGUoUGFzc093blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0
dXJlPiB0ZXh0dXJlKSA6IG1fdGV4dHVyZSh0ZXh0dXJlKSB7IH0KKyAgICBzdGF0aWMgUGFzc093
blB0cjxVcGRhdGFibGVUaWxlPiBjcmVhdGUoUGFzc093blB0cjxMYXllclRleHR1cmVVcGRhdGVy
OjpUZXh0dXJlPiB0ZXh0dXJlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBV
cGRhdGFibGVUaWxlKHRleHR1cmUpKTsKKyAgICB9CiAKICAgICBMYXllclRleHR1cmVVcGRhdGVy
OjpUZXh0dXJlKiB0ZXh0dXJlKCkgeyByZXR1cm4gbV90ZXh0dXJlLmdldCgpOyB9CiAgICAgTWFu
YWdlZFRleHR1cmUqIG1hbmFnZWRUZXh0dXJlKCkgeyByZXR1cm4gbV90ZXh0dXJlLT50ZXh0dXJl
KCk7IH0KQEAgLTY5LDYgKzcyLDggQEAgcHVibGljOgogICAgIEludFJlY3QgbV91cGRhdGVSZWN0
OwogICAgIEludFJlY3QgbV9vcGFxdWVSZWN0OwogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBVcGRh
dGFibGVUaWxlKFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gdGV4dHVy
ZSkgOiBtX3RleHR1cmUodGV4dHVyZSkgeyB9CisKICAgICBPd25QdHI8TGF5ZXJUZXh0dXJlVXBk
YXRlcjo6VGV4dHVyZT4gbV90ZXh0dXJlOwogfTsKIApAQCAtMjg0LDExICsyODksMTIgQEAgVXBk
YXRhYmxlVGlsZSogVGlsZWRMYXllckNocm9taXVtOjp0aWxlQXQoaW50IGksIGludCBqKSBjb25z
dAogCiBVcGRhdGFibGVUaWxlKiBUaWxlZExheWVyQ2hyb21pdW06OmNyZWF0ZVRpbGUoaW50IGks
IGludCBqKQogewotICAgIFJlZlB0cjxVcGRhdGFibGVUaWxlPiB0aWxlID0gYWRvcHRSZWYobmV3
IFVwZGF0YWJsZVRpbGUodGV4dHVyZVVwZGF0ZXIoKS0+Y3JlYXRlVGV4dHVyZSh0ZXh0dXJlTWFu
YWdlcigpKSkpOwotICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZSwgaSwgaik7Ci0gICAgdGlsZS0+
bV9kaXJ0eVJlY3QgPSBtX3RpbGVyLT50aWxlUmVjdCh0aWxlLmdldCgpKTsKKyAgICBPd25QdHI8
VXBkYXRhYmxlVGlsZT4gdGlsZShVcGRhdGFibGVUaWxlOjpjcmVhdGUodGV4dHVyZVVwZGF0ZXIo
KS0+Y3JlYXRlVGV4dHVyZSh0ZXh0dXJlTWFuYWdlcigpKSkpOworICAgIFVwZGF0YWJsZVRpbGUq
IGFkZGVkVGlsZSA9IHRpbGUuZ2V0KCk7CisgICAgbV90aWxlci0+YWRkVGlsZSh0aWxlLnJlbGVh
c2UoKSwgaSwgaik7CiAKLSAgICByZXR1cm4gdGlsZS5nZXQoKTsKKyAgICBhZGRlZFRpbGUtPm1f
ZGlydHlSZWN0ID0gbV90aWxlci0+dGlsZVJlY3QoYWRkZWRUaWxlKTsKKyAgICByZXR1cm4gYWRk
ZWRUaWxlOwogfQogCiB2b2lkIFRpbGVkTGF5ZXJDaHJvbWl1bTo6c2V0TmVlZHNEaXNwbGF5UmVj
dChjb25zdCBGbG9hdFJlY3QmIGRpcnR5UmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdE
YXRhLmNwcAppbmRleCAyNzcwNWYzMjRhZDdjMDU4ZWNmZjBmZGI5MmExM2JmYzdmZWQwMDdkLi5j
ZmVmYmQyYjgwMWQyMDY5MjY4NjVjMTM1NTI4NjJmNjQ2NDAyODI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5nRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRpbGluZ0RhdGEuY3BwCkBAIC03NCwyMyArNzQsMjEgQEAgY29uc3QgQ0NMYXllclRp
bGluZ0RhdGEmIENDTGF5ZXJUaWxpbmdEYXRhOjpvcGVyYXRvcj0oY29uc3QgQ0NMYXllclRpbGlu
Z0RhdGEmIHQKICAgICByZXR1cm4gKnRoaXM7CiB9CiAKLXZvaWQgQ0NMYXllclRpbGluZ0RhdGE6
OmFkZFRpbGUoUGFzc1JlZlB0cjxUaWxlPiB0aWxlLCBpbnQgaSwgaW50IGopCit2b2lkIENDTGF5
ZXJUaWxpbmdEYXRhOjphZGRUaWxlKFBhc3NPd25QdHI8VGlsZT4gdGlsZSwgaW50IGksIGludCBq
KQogewogICAgIEFTU0VSVCghdGlsZUF0KGksIGopKTsKICAgICB0aWxlLT5tb3ZlVG8oaSwgaik7
CiAgICAgbV90aWxlcy5hZGQobWFrZV9wYWlyKGksIGopLCB0aWxlKTsKIH0KIAotUGFzc1JlZlB0
cjxDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZT4gQ0NMYXllclRpbGluZ0RhdGE6OnRha2VUaWxlKGlu
dCBpLCBpbnQgaikKK1Bhc3NPd25QdHI8Q0NMYXllclRpbGluZ0RhdGE6OlRpbGU+IENDTGF5ZXJU
aWxpbmdEYXRhOjp0YWtlVGlsZShpbnQgaSwgaW50IGopCiB7CiAgICAgcmV0dXJuIG1fdGlsZXMu
dGFrZShtYWtlX3BhaXIoaSwgaikpOwogfQogCiBDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZSogQ0NM
YXllclRpbGluZ0RhdGE6OnRpbGVBdChpbnQgaSwgaW50IGopIGNvbnN0CiB7Ci0gICAgVGlsZSog
dGlsZSA9IG1fdGlsZXMuZ2V0KG1ha2VfcGFpcihpLCBqKSkuZ2V0KCk7Ci0gICAgQVNTRVJUKCF0
aWxlIHx8IHRpbGUtPnJlZkNvdW50KCkgPT0gMSk7Ci0gICAgcmV0dXJuIHRpbGU7CisgICAgcmV0
dXJuIG1fdGlsZXMuZ2V0KG1ha2VfcGFpcihpLCBqKSk7CiB9CiAKIHZvaWQgQ0NMYXllclRpbGlu
Z0RhdGE6OnJlc2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5nRGF0YS5oCmluZGV4IDQ2YWU4
ODExNzhkMjFlNjEzYzJhZTQ0ZjVmYTFmMjFjYzJhMmM4ZTAuLjg2OWQ0MmUxNWFjNjMwYTUzMWZi
NTNkNDJkOTZkNDA3NjNmZDg2ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsNyArNjAsNyBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBDQ0xheWVyVGlsaW5nRGF0YSYgb3BlcmF0b3I9KGNvbnN0
IENDTGF5ZXJUaWxpbmdEYXRhJik7CiAKLSAgICBjbGFzcyBUaWxlOiBwdWJsaWMgUmVmQ291bnRl
ZDxUaWxlPiB7CisgICAgY2xhc3MgVGlsZSB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRpbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgVGlsZSgpIDogbV9pKC0xKSwgbV9qKC0xKSB7
IH0KQEAgLTg0LDEzICs4MywxMCBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0
cnVjdERlbGV0ZWRWYWx1ZShUaWxlTWFwS2V5JiBzbG90KSB7IHNsb3QgPSBzdGQ6Om1ha2VfcGFp
cigtMiwgLTIpOyB9CiAgICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKFRpbGVNYXBL
ZXkgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmZpcnN0ID09IC0yICYmIHZhbHVlLnNlY29uZCA9PSAt
MjsgfQogICAgIH07Ci0gICAgLy8gRklYTUU6IFRoZSBtYXBwZWQgdmFsdWUgaW4gVGlsZU1hcCBz
aG91bGQgcmVhbGx5IGJlIGFuIE93blB0ciwgYXMgdGhlCi0gICAgLy8gcmVmY291bnQgb2YgYSBU
aWxlIHNob3VsZCBuZXZlciBiZSBtb3JlIHRoYW4gMS4gSG93ZXZlciwgSGFzaE1hcAotICAgIC8v
IGRvZXNuJ3QgZWFzaWx5IHN1cHBvcnQgT3duUHRyIGFzIGEgdmFsdWUuCi0gICAgdHlwZWRlZiBI
YXNoTWFwPFRpbGVNYXBLZXksIFJlZlB0cjxUaWxlPiwgRGVmYXVsdEhhc2g8VGlsZU1hcEtleT46
Okhhc2gsIFRpbGVNYXBLZXlUcmFpdHM+IFRpbGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFRp
bGVNYXBLZXksIE93blB0cjxUaWxlPiwgRGVmYXVsdEhhc2g8VGlsZU1hcEtleT46Okhhc2gsIFRp
bGVNYXBLZXlUcmFpdHM+IFRpbGVNYXA7CiAKLSAgICB2b2lkIGFkZFRpbGUoUGFzc1JlZlB0cjxU
aWxlPiwgaW50LCBpbnQpOwotICAgIFBhc3NSZWZQdHI8VGlsZT4gdGFrZVRpbGUoaW50LCBpbnQp
OworICAgIHZvaWQgYWRkVGlsZShQYXNzT3duUHRyPFRpbGU+LCBpbnQsIGludCk7CisgICAgUGFz
c093blB0cjxUaWxlPiB0YWtlVGlsZShpbnQsIGludCk7CiAgICAgVGlsZSogdGlsZUF0KGludCwg
aW50KSBjb25zdDsKICAgICBjb25zdCBUaWxlTWFwJiB0aWxlcygpIGNvbnN0IHsgcmV0dXJuIG1f
dGlsZXM7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NUaWxlZExheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcAppbmRleCA4MGEwNDM1
ZmQ5ZTFjYTZhYWU4NjE4ZGU4ZDg4N2FmY2JkOTZlOGU1Li40N2QwYTcwOGMzMmM3NjVmODUxMTg1
NmU0ZTJmMGU4MjcwMjFhMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcApA
QCAtNDcsNyArNDcsNyBAQCBjbGFzcyBNYW5hZ2VkVGV4dHVyZTsKIGNsYXNzIERyYXdhYmxlVGls
ZSA6IHB1YmxpYyBDQ0xheWVyVGlsaW5nRGF0YTo6VGlsZSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRHJhd2FibGVUaWxlKTsKIHB1YmxpYzoKLSAgICBEcmF3YWJsZVRpbGUoKSA6IG1fdGV4
dHVyZUlkKDApIHsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRyPERyYXdhYmxlVGlsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IERyYXdhYmxlVGlsZSgpKTsgfQogCiAgICAgUGxhdGZv
cm0zRE9iamVjdCB0ZXh0dXJlSWQoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmVJZDsgfQogICAg
IHZvaWQgc2V0VGV4dHVyZUlkKFBsYXRmb3JtM0RPYmplY3QgdGV4dHVyZUlkKSB7IG1fdGV4dHVy
ZUlkID0gdGV4dHVyZUlkOyB9CkBAIC01Niw2ICs1Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dE9wYXF1ZVJlY3QoY29uc3QgSW50UmVjdCYgb3BhcXVlUmVjdCkgeyBtX29wYXF1ZVJlY3QgPSBv
cGFxdWVSZWN0OyB9CiAKIHByaXZhdGU6CisgICAgRHJhd2FibGVUaWxlKCkgOiBtX3RleHR1cmVJ
ZCgwKSB7IH0KKwogICAgIFBsYXRmb3JtM0RPYmplY3QgbV90ZXh0dXJlSWQ7CiAgICAgSW50UmVj
dCBtX29wYXF1ZVJlY3Q7CiB9OwpAQCAtMTAzLDkgKzEwNSwxMCBAQCBEcmF3YWJsZVRpbGUqIEND
VGlsZWRMYXllckltcGw6OnRpbGVBdChpbnQgaSwgaW50IGopIGNvbnN0CiAKIERyYXdhYmxlVGls
ZSogQ0NUaWxlZExheWVySW1wbDo6Y3JlYXRlVGlsZShpbnQgaSwgaW50IGopCiB7Ci0gICAgUmVm
UHRyPERyYXdhYmxlVGlsZT4gdGlsZSA9IGFkb3B0UmVmKG5ldyBEcmF3YWJsZVRpbGUoKSk7Ci0g
ICAgbV90aWxlci0+YWRkVGlsZSh0aWxlLCBpLCBqKTsKLSAgICByZXR1cm4gdGlsZS5nZXQoKTsK
KyAgICBPd25QdHI8RHJhd2FibGVUaWxlPiB0aWxlKERyYXdhYmxlVGlsZTo6Y3JlYXRlKCkpOwor
ICAgIERyYXdhYmxlVGlsZSogYWRkZWRUaWxlID0gdGlsZS5nZXQoKTsKKyAgICBtX3RpbGVyLT5h
ZGRUaWxlKHRpbGUucmVsZWFzZSgpLCBpLCBqKTsKKyAgICByZXR1cm4gYWRkZWRUaWxlOwogfQog
CiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBDQ1RpbGVkTGF5ZXJJbXBsOjpxdWFkVHJhbnNmb3JtKCkg
Y29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126555</attachid>
            <date>2012-02-10 12:35:00 -0800</date>
            <delta_ts>2012-02-10 18:30:54 -0800</delta_ts>
            <desc>Rebased to ToT</desc>
            <filename>bug-74154-20120210123459.patch</filename>
            <type>text/plain</type>
            <size>7786</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlYTkzNWI4NzQ0MzIw
YzQ2YTIxMzA0NjFiMDE1NDAxNTZiMzRhMC4uNTNjMGI0ZTQ0YTE0YjQ3OTA1ZjRkYjYzMjg1ZjQy
MThjZDFmMjdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTEwICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBVc2Ug
SGFzaE1hcDwuLi4sIE93blB0cjxUaWxlPj4gZm9yIGNvbXBvc2l0b3IgdGlsZW1hcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IHRoZSBj
b21wb3NpdGluZy8gbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVwZGF0
YWJsZVRpbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpVcGRhdGFibGVUaWxlOjpVcGRh
dGFibGVUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
VGlsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRp
bGluZ0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRpbGluZ0RhdGE6OmFkZFRp
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRpbGluZ0RhdGE6OnRha2VUaWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUaWxpbmdEYXRhOjp0aWxlQXQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxlZExheWVySW1wbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmF3YWJsZVRpbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEcmF3YWJsZVRpbGU6OkRyYXdhYmxlVGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RpbGVk
TGF5ZXJJbXBsOjpjcmVhdGVUaWxlKToKKwogMjAxMi0wMi0xMCAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSB0aGUgbm9uLWZhc3Qtc2Nyb2xs
YWJsZSByZWdpb24gZm9yIHN1YmZyYW1lIGxheW91dCBhcyB3ZWxsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXll
ckNocm9taXVtLmNwcAppbmRleCA0MzRlZDY5YjY3MDNmNTUwMTRmOTA5YWRhZWQ0ZmIxZWZmMDdm
ZmVlLi45MGQxZDk1N2JkNTBhYjFmYmYxYzA1ZGQ2ZmNlODVjMjY4YTRjNzRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RpbGVkTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTUzLDEwICs1Myw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFVwZGF0YWJsZVRpbGUgOiBwdWJsaWMgQ0NMYXllclRpbGluZ0RhdGE6OlRp
bGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVwZGF0YWJsZVRpbGUpOwogcHVibGljOgot
ICAgIGV4cGxpY2l0IFVwZGF0YWJsZVRpbGUoUGFzc093blB0cjxMYXllclRleHR1cmVVcGRhdGVy
OjpUZXh0dXJlPiB0ZXh0dXJlKQotICAgICAgICA6IG1fcGFydGlhbFVwZGF0ZShmYWxzZSkKLSAg
ICAgICAgLCBtX3RleHR1cmUodGV4dHVyZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxVcGRhdGFi
bGVUaWxlPiBjcmVhdGUoUGFzc093blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlPiB0
ZXh0dXJlKQogICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBVcGRhdGFibGVUaWxl
KHRleHR1cmUpKTsKICAgICB9CiAKICAgICBMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlKiB0
ZXh0dXJlKCkgeyByZXR1cm4gbV90ZXh0dXJlLmdldCgpOyB9CkBAIC03NCw2ICs3MywxMiBAQCBw
dWJsaWM6CiAgICAgSW50UmVjdCBtX29wYXF1ZVJlY3Q7CiAgICAgYm9vbCBtX3BhcnRpYWxVcGRh
dGU7CiBwcml2YXRlOgorICAgIGV4cGxpY2l0IFVwZGF0YWJsZVRpbGUoUGFzc093blB0cjxMYXll
clRleHR1cmVVcGRhdGVyOjpUZXh0dXJlPiB0ZXh0dXJlKQorICAgICAgICA6IG1fcGFydGlhbFVw
ZGF0ZShmYWxzZSkKKyAgICAgICAgLCBtX3RleHR1cmUodGV4dHVyZSkKKyAgICB7CisgICAgfQor
CiAgICAgT3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+IG1fdGV4dHVyZTsKIH07
CiAKQEAgLTI5MiwxMSArMjk3LDEyIEBAIFVwZGF0YWJsZVRpbGUqIFRpbGVkTGF5ZXJDaHJvbWl1
bTo6dGlsZUF0KGludCBpLCBpbnQgaikgY29uc3QKIAogVXBkYXRhYmxlVGlsZSogVGlsZWRMYXll
ckNocm9taXVtOjpjcmVhdGVUaWxlKGludCBpLCBpbnQgaikKIHsKLSAgICBSZWZQdHI8VXBkYXRh
YmxlVGlsZT4gdGlsZSA9IGFkb3B0UmVmKG5ldyBVcGRhdGFibGVUaWxlKHRleHR1cmVVcGRhdGVy
KCktPmNyZWF0ZVRleHR1cmUodGV4dHVyZU1hbmFnZXIoKSkpKTsKLSAgICBtX3RpbGVyLT5hZGRU
aWxlKHRpbGUsIGksIGopOwotICAgIHRpbGUtPm1fZGlydHlSZWN0ID0gbV90aWxlci0+dGlsZVJl
Y3QodGlsZS5nZXQoKSk7CisgICAgT3duUHRyPFVwZGF0YWJsZVRpbGU+IHRpbGUoVXBkYXRhYmxl
VGlsZTo6Y3JlYXRlKHRleHR1cmVVcGRhdGVyKCktPmNyZWF0ZVRleHR1cmUodGV4dHVyZU1hbmFn
ZXIoKSkpKTsKKyAgICBVcGRhdGFibGVUaWxlKiBhZGRlZFRpbGUgPSB0aWxlLmdldCgpOworICAg
IG1fdGlsZXItPmFkZFRpbGUodGlsZS5yZWxlYXNlKCksIGksIGopOwogCi0gICAgcmV0dXJuIHRp
bGUuZ2V0KCk7CisgICAgYWRkZWRUaWxlLT5tX2RpcnR5UmVjdCA9IG1fdGlsZXItPnRpbGVSZWN0
KGFkZGVkVGlsZSk7CisgICAgcmV0dXJuIGFkZGVkVGlsZTsKIH0KIAogdm9pZCBUaWxlZExheWVy
Q2hyb21pdW06OnNldE5lZWRzRGlzcGxheVJlY3QoY29uc3QgRmxvYXRSZWN0JiBkaXJ0eVJlY3Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVGlsaW5nRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5nRGF0YS5jcHAKaW5kZXggMjc3MDVmMzI0YWQ3YzA1
OGVjZmYwZmRiOTJhMTNiZmM3ZmVkMDA3ZC4uY2ZlZmJkMmI4MDFkMjA2OTI2ODY1YzEzNTUyODYy
ZjY0NjQwMjgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRpbGluZ0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmNwcApAQCAtNzQs
MjMgKzc0LDIxIEBAIGNvbnN0IENDTGF5ZXJUaWxpbmdEYXRhJiBDQ0xheWVyVGlsaW5nRGF0YTo6
b3BlcmF0b3I9KGNvbnN0IENDTGF5ZXJUaWxpbmdEYXRhJiB0CiAgICAgcmV0dXJuICp0aGlzOwog
fQogCi12b2lkIENDTGF5ZXJUaWxpbmdEYXRhOjphZGRUaWxlKFBhc3NSZWZQdHI8VGlsZT4gdGls
ZSwgaW50IGksIGludCBqKQordm9pZCBDQ0xheWVyVGlsaW5nRGF0YTo6YWRkVGlsZShQYXNzT3du
UHRyPFRpbGU+IHRpbGUsIGludCBpLCBpbnQgaikKIHsKICAgICBBU1NFUlQoIXRpbGVBdChpLCBq
KSk7CiAgICAgdGlsZS0+bW92ZVRvKGksIGopOwogICAgIG1fdGlsZXMuYWRkKG1ha2VfcGFpcihp
LCBqKSwgdGlsZSk7CiB9CiAKLVBhc3NSZWZQdHI8Q0NMYXllclRpbGluZ0RhdGE6OlRpbGU+IEND
TGF5ZXJUaWxpbmdEYXRhOjp0YWtlVGlsZShpbnQgaSwgaW50IGopCitQYXNzT3duUHRyPENDTGF5
ZXJUaWxpbmdEYXRhOjpUaWxlPiBDQ0xheWVyVGlsaW5nRGF0YTo6dGFrZVRpbGUoaW50IGksIGlu
dCBqKQogewogICAgIHJldHVybiBtX3RpbGVzLnRha2UobWFrZV9wYWlyKGksIGopKTsKIH0KIAog
Q0NMYXllclRpbGluZ0RhdGE6OlRpbGUqIENDTGF5ZXJUaWxpbmdEYXRhOjp0aWxlQXQoaW50IGks
IGludCBqKSBjb25zdAogewotICAgIFRpbGUqIHRpbGUgPSBtX3RpbGVzLmdldChtYWtlX3BhaXIo
aSwgaikpLmdldCgpOwotICAgIEFTU0VSVCghdGlsZSB8fCB0aWxlLT5yZWZDb3VudCgpID09IDEp
OwotICAgIHJldHVybiB0aWxlOworICAgIHJldHVybiBtX3RpbGVzLmdldChtYWtlX3BhaXIoaSwg
aikpOwogfQogCiB2b2lkIENDTGF5ZXJUaWxpbmdEYXRhOjpyZXNldCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVGlsaW5n
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRpbGluZ0RhdGEuaAppbmRleCA0NmFlODgxMTc4ZDIxZTYxM2MyYWU0NGY1ZmExZjIxY2My
YTJjOGUwLi44NjlkNDJlMTVhYzYzMGE1MzFmYjUzZDQyZDk2ZDQwNzYzZmQ4NmVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VGlsaW5nRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUaWxpbmdEYXRhLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTYxLDcgKzYwLDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgQ0NMYXll
clRpbGluZ0RhdGEmIG9wZXJhdG9yPShjb25zdCBDQ0xheWVyVGlsaW5nRGF0YSYpOwogCi0gICAg
Y2xhc3MgVGlsZTogcHVibGljIFJlZkNvdW50ZWQ8VGlsZT4geworICAgIGNsYXNzIFRpbGUgewog
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IFRpbGUoKSA6IG1faSgtMSksIG1faigtMSkgeyB9CkBAIC04NCwxMyArODMsMTAgQEAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoVGlsZU1hcEtleSYg
c2xvdCkgeyBzbG90ID0gc3RkOjptYWtlX3BhaXIoLTIsIC0yKTsgfQogICAgICAgICBzdGF0aWMg
Ym9vbCBpc0RlbGV0ZWRWYWx1ZShUaWxlTWFwS2V5IHZhbHVlKSB7IHJldHVybiB2YWx1ZS5maXJz
dCA9PSAtMiAmJiB2YWx1ZS5zZWNvbmQgPT0gLTI7IH0KICAgICB9OwotICAgIC8vIEZJWE1FOiBU
aGUgbWFwcGVkIHZhbHVlIGluIFRpbGVNYXAgc2hvdWxkIHJlYWxseSBiZSBhbiBPd25QdHIsIGFz
IHRoZQotICAgIC8vIHJlZmNvdW50IG9mIGEgVGlsZSBzaG91bGQgbmV2ZXIgYmUgbW9yZSB0aGFu
IDEuIEhvd2V2ZXIsIEhhc2hNYXAKLSAgICAvLyBkb2Vzbid0IGVhc2lseSBzdXBwb3J0IE93blB0
ciBhcyBhIHZhbHVlLgotICAgIHR5cGVkZWYgSGFzaE1hcDxUaWxlTWFwS2V5LCBSZWZQdHI8VGls
ZT4sIERlZmF1bHRIYXNoPFRpbGVNYXBLZXk+OjpIYXNoLCBUaWxlTWFwS2V5VHJhaXRzPiBUaWxl
TWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxUaWxlTWFwS2V5LCBPd25QdHI8VGlsZT4sIERlZmF1
bHRIYXNoPFRpbGVNYXBLZXk+OjpIYXNoLCBUaWxlTWFwS2V5VHJhaXRzPiBUaWxlTWFwOwogCi0g
ICAgdm9pZCBhZGRUaWxlKFBhc3NSZWZQdHI8VGlsZT4sIGludCwgaW50KTsKLSAgICBQYXNzUmVm
UHRyPFRpbGU+IHRha2VUaWxlKGludCwgaW50KTsKKyAgICB2b2lkIGFkZFRpbGUoUGFzc093blB0
cjxUaWxlPiwgaW50LCBpbnQpOworICAgIFBhc3NPd25QdHI8VGlsZT4gdGFrZVRpbGUoaW50LCBp
bnQpOwogICAgIFRpbGUqIHRpbGVBdChpbnQsIGludCkgY29uc3Q7CiAgICAgY29uc3QgVGlsZU1h
cCYgdGlsZXMoKSBjb25zdCB7IHJldHVybiBtX3RpbGVzOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxl
ZExheWVySW1wbC5jcHAKaW5kZXggODBhMDQzNWZkOWUxY2E2YWFlODYxOGRlOGQ4ODdhZmNiZDk2
ZThlNS4uNDdkMGE3MDhjMzJjNzY1Zjg1MTE4NTZlNGUyZjBlODI3MDIxYTA4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxlZExh
eWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NUaWxlZExheWVySW1wbC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgTWFuYWdl
ZFRleHR1cmU7CiBjbGFzcyBEcmF3YWJsZVRpbGUgOiBwdWJsaWMgQ0NMYXllclRpbGluZ0RhdGE6
OlRpbGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyYXdhYmxlVGlsZSk7CiBwdWJsaWM6
Ci0gICAgRHJhd2FibGVUaWxlKCkgOiBtX3RleHR1cmVJZCgwKSB7IH0KKyAgICBzdGF0aWMgUGFz
c093blB0cjxEcmF3YWJsZVRpbGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBEcmF3
YWJsZVRpbGUoKSk7IH0KIAogICAgIFBsYXRmb3JtM0RPYmplY3QgdGV4dHVyZUlkKCkgY29uc3Qg
eyByZXR1cm4gbV90ZXh0dXJlSWQ7IH0KICAgICB2b2lkIHNldFRleHR1cmVJZChQbGF0Zm9ybTNE
T2JqZWN0IHRleHR1cmVJZCkgeyBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsgfQpAQCAtNTYsNiAr
NTYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRPcGFxdWVSZWN0KGNvbnN0IEludFJlY3QmIG9w
YXF1ZVJlY3QpIHsgbV9vcGFxdWVSZWN0ID0gb3BhcXVlUmVjdDsgfQogCiBwcml2YXRlOgorICAg
IERyYXdhYmxlVGlsZSgpIDogbV90ZXh0dXJlSWQoMCkgeyB9CisKICAgICBQbGF0Zm9ybTNET2Jq
ZWN0IG1fdGV4dHVyZUlkOwogICAgIEludFJlY3QgbV9vcGFxdWVSZWN0OwogfTsKQEAgLTEwMyw5
ICsxMDUsMTAgQEAgRHJhd2FibGVUaWxlKiBDQ1RpbGVkTGF5ZXJJbXBsOjp0aWxlQXQoaW50IGks
IGludCBqKSBjb25zdAogCiBEcmF3YWJsZVRpbGUqIENDVGlsZWRMYXllckltcGw6OmNyZWF0ZVRp
bGUoaW50IGksIGludCBqKQogewotICAgIFJlZlB0cjxEcmF3YWJsZVRpbGU+IHRpbGUgPSBhZG9w
dFJlZihuZXcgRHJhd2FibGVUaWxlKCkpOwotICAgIG1fdGlsZXItPmFkZFRpbGUodGlsZSwgaSwg
aik7Ci0gICAgcmV0dXJuIHRpbGUuZ2V0KCk7CisgICAgT3duUHRyPERyYXdhYmxlVGlsZT4gdGls
ZShEcmF3YWJsZVRpbGU6OmNyZWF0ZSgpKTsKKyAgICBEcmF3YWJsZVRpbGUqIGFkZGVkVGlsZSA9
IHRpbGUuZ2V0KCk7CisgICAgbV90aWxlci0+YWRkVGlsZSh0aWxlLnJlbGVhc2UoKSwgaSwgaik7
CisgICAgcmV0dXJuIGFkZGVkVGlsZTsKIH0KIAogVHJhbnNmb3JtYXRpb25NYXRyaXggQ0NUaWxl
ZExheWVySW1wbDo6cXVhZFRyYW5zZm9ybSgpIGNvbnN0Cg==
</data>
<flag name="review"
          id="128401"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>