<?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>101656</bug_id>
          
          <creation_ts>2012-11-08 15:25:31 -0800</creation_ts>
          <short_desc>Coordinated Graphics: Remove a backing store of GraphicsLayer when the layer is far from the viewport.</short_desc>
          <delta_ts>2013-03-12 22:52:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>102035</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>762244</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-08 15:25:31 -0800</bug_when>
    <thetext>TiledBackingStore computes cover and keep rects to create, keep or remove tiles smartly, but currently TiledBackingStore expects a contents rect is big enough to cover the visibleRect. However, when CoordinatedGraphicsLayer uses TBS, it is usually wrong expectation.

We must compute cover and keep rects using the visibleRect, not intersected visibleRect with contentsRect, because TBS can be used as a backing store of GraphicsLayer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762246</commentid>
    <comment_count>1</comment_count>
      <attachid>173135</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-08 15:32:54 -0800</bug_when>
    <thetext>Created attachment 173135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762251</commentid>
    <comment_count>2</comment_count>
      <attachid>173135</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-08 15:35:43 -0800</bug_when>
    <thetext>Comment on attachment 173135
Patch

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

&gt; Source/WebCore/ChangeLog:31
&gt; +

This representation is fine on terminal using a monospace font</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762754</commentid>
    <comment_count>3</comment_count>
      <attachid>173135</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-09 02:24:56 -0800</bug_when>
    <thetext>Comment on attachment 173135
Patch

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

Cool you found this!

&gt; Source/WebCore/ChangeLog:40
&gt; +        Changing cache policy is not testable in layout tests.

Could we find another way of testing it? unit tests?

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:278
&gt; +     * We must create or keep the tiles on the HERE region.

s/on/in/

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:312
&gt; -            double distance = tileDistance(visibleRect, currentCoordinate);
&gt; +            double distance = tileDistance(intersectedVisibleRect, currentCoordinate);

why not just use m_visibleRect here? ie. why create the separate intersectedVisibleRect ? Where is it intersected?

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:345
&gt; +    // If candidateSize is bigger than bounds (i.e. TBS is used as a backing store of GraphicsLayer), we skip the below adjusting logic which expects bounds covers the given rect.

bounds TO cover the ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762756</commentid>
    <comment_count>4</comment_count>
      <attachid>173248</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 02:26:58 -0800</bug_when>
    <thetext>Created attachment 173248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762759</commentid>
    <comment_count>5</comment_count>
      <attachid>173248</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-09 02:33:51 -0800</bug_when>
    <thetext>Comment on attachment 173248
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.h:107
&gt; -    IntRect visibleContentsRect() const;
&gt; +    IntRect visibleContentsRectOnBacking() const;
&gt; +    IntRect visibleRectOnBacking() const;
&gt;      IntRect visibleRect() const;

This is becoming too confusing, between what they represents and in what coordinate system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762763</commentid>
    <comment_count>6</comment_count>
      <attachid>173248</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 02:42:12 -0800</bug_when>
    <thetext>Comment on attachment 173248
Patch

I&apos;ve tested various sites and checked tiles are removed properly.
After this patch, Coordinated Graphics uses pretty less memory.

I explain in detail below.

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:244
&gt; +    return coverageRatio(visibleContentsRectOnBacking()) == 1.0f;

The logic is not changed because visibleContentsRectOnBacking is renamed from visibleContentsRect.

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:284
&gt;      m_visibleRect = visibleRect;

m_visibleRect keeps visibleRect(), not visibleRectOnBacking(), because we must remove invisible tiles.

void TiledBackingStore::coverWithTilesIfNeeded(const FloatPoint&amp; trajectoryVector)
{
    IntRect visibleRect = this-&gt;visibleRect();
    ...
    if (m_trajectoryVector == normalizedVector &amp;&amp; m_visibleRect == visibleRect)
        return;
    ...
    m_visibleRect = visibleRect;

    createTiles();
}

visibleRectOnBacking() returns IntRect() when we scroll the given TBS of GraphicsLayer off the viewport, and then coverWithTilesIfNeeded() early returns.
It means we can have the change to remove tiles. So we must keep visibleRect().

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:295
&gt; +        return;

If we don&apos;t return here, createTile() creates one tile because tileCoordinateForPoint(IntRect()) == Tile::Coordinate(0, 0).
It means we execute following &quot;for loop statement&quot; one time.
  Tile::Coordinate topLeft = tileCoordinateForPoint(coverRect.location());
  for (int yCoordinate = topLeft.y(); yCoordinate &lt;= bottomRight.y(); ++yCoordinate) {

So we must early return to save memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762767</commentid>
    <comment_count>7</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 02:54:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 173135 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173135&amp;action=review
&gt; 
&gt; Cool you found this!
&gt; 
&gt; Could we find another way of testing it? unit tests?
I think unit test is possible. After adding API to query the count of tile, we can check the count of tiles during scrolling.

&gt; 
&gt; s/on/in/
&gt; 
&gt; why not just use m_visibleRect here? ie. why create the separate intersectedVisibleRect ? Where is it intersected?
The names are changed in the second patch and I explained.
&gt; 

&gt; bounds TO cover the ...

Thanks for review!

We posted simultaneously. I&apos;ll update :)

(In reply to comment #5)
&gt; (From update of attachment 173248 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173248&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/TiledBackingStore.h:107
&gt; &gt; -    IntRect visibleContentsRect() const;
&gt; &gt; +    IntRect visibleContentsRectOnBacking() const;
&gt; &gt; +    IntRect visibleRectOnBacking() const;
&gt; &gt;      IntRect visibleRect() const;
&gt; 
&gt; This is becoming too confusing, between what they represents and in what coordinate system.

I agree. If name contains &quot;Contents&quot;, it is on the contents coordinate system. I want to express which to be intersected with m_rect or not. Could you suggest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762777</commentid>
    <comment_count>8</comment_count>
      <attachid>173252</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:07:17 -0800</bug_when>
    <thetext>Created attachment 173252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762780</commentid>
    <comment_count>9</comment_count>
      <attachid>173252</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-09 03:12:09 -0800</bug_when>
    <thetext>Comment on attachment 173252
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:283
&gt;      const IntRect visibleRect = this-&gt;visibleRect();

mapFromContents(m_client-&gt;tiledBackingStoreVisibleRect()); 
and get rid of visibleRect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762781</commentid>
    <comment_count>10</comment_count>
      <attachid>173252</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-09 03:12:12 -0800</bug_when>
    <thetext>Comment on attachment 173252
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:283
&gt;      const IntRect visibleRect = this-&gt;visibleRect();

mapFromContents(m_client-&gt;tiledBackingStoreVisibleRect()); 
and get rid of visibleRect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762786</commentid>
    <comment_count>11</comment_count>
      <attachid>173254</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:16:13 -0800</bug_when>
    <thetext>Created attachment 173254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762787</commentid>
    <comment_count>12</comment_count>
      <attachid>173254</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:18:06 -0800</bug_when>
    <thetext>Comment on attachment 173254
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.h:107
&gt;      IntRect visibleRect() const;

How about these names? Is it confused yet?





(In reply to comment #3)
&gt; (From update of attachment 173135 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173135&amp;action=review
&gt; &gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:312
&gt; &gt; -            double distance = tileDistance(visibleRect, currentCoordinate);
&gt; &gt; +            double distance = tileDistance(intersectedVisibleRect, currentCoordinate);
&gt; 
&gt; why not just use m_visibleRect here? ie. why create the separate intersectedVisibleRect ? Where is it intersected?

you are right! intersectedVisibleRect is more reasonable. now intersectedVisibleRect is boundedVisibleRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762788</commentid>
    <comment_count>13</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:18:58 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 173252 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173252&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:283
&gt; &gt;      const IntRect visibleRect = this-&gt;visibleRect();
&gt; 
&gt; mapFromContents(m_client-&gt;tiledBackingStoreVisibleRect()); 
&gt; and get rid of visibleRect?

Ok, I&apos;ll get rid of it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762791</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-09 03:19:29 -0800</bug_when>
    <thetext>yeah fine!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762799</commentid>
    <comment_count>15</comment_count>
      <attachid>173258</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:32:15 -0800</bug_when>
    <thetext>Created attachment 173258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762800</commentid>
    <comment_count>16</comment_count>
      <attachid>173258</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 03:33:14 -0800</bug_when>
    <thetext>Comment on attachment 173258
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.h:105
&gt;      IntRect visibleRect() const;

I removed boundedSomthings instead of visibleRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762816</commentid>
    <comment_count>17</comment_count>
      <attachid>173258</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 04:13:54 -0800</bug_when>
    <thetext>Comment on attachment 173258
Patch

Clearing flags on attachment: 173258

Committed r134048: &lt;http://trac.webkit.org/changeset/134048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762817</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 04:13:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763417</commentid>
    <comment_count>19</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-09 16:04:17 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; All reviewed patches have been landed.  Closing bug.

Thank you for review!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173135</attachid>
            <date>2012-11-08 15:32:54 -0800</date>
            <delta_ts>2012-11-09 02:26:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101656-20121109083050.patch</filename>
            <type>text/plain</type>
            <size>5576</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwNGRjZjEzZjBmMDUx
ZGQ2NGM2MGMxMzdkNjljM2JlMmM4ZWE3Yi4uNWVjODZkM2U5MTQ4ZjNmMTllNTNlYWNhNDZkNjU2
YzIzODlkZWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDEyLTExLTA4ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZW1vdmUgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIgd2hl
biB0aGUgbGF5ZXIgaXMgZmFyIGZyb20gdGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUgY29tcHV0ZXMg
Y292ZXIgYW5kIGtlZXAgcmVjdHMgdG8gY3JlYXRlLCBrZWVwIG9yIHJlbW92ZSB0aWxlcworICAg
ICAgICBzbWFydGx5LCBidXQgY3VycmVudGx5IFRpbGVkQmFja2luZ1N0b3JlIGV4cGVjdHMgYSBj
b250ZW50cyByZWN0IGlzIGJpZyBlbm91Z2gKKyAgICAgICAgdG8gY292ZXIgdGhlIHZpc2libGVS
ZWN0LiBIb3dldmVyLCB3aGVuIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIFRCUywgaXQK
KyAgICAgICAgaXMgdXN1YWxseSB3cm9uZyBleHBlY3RhdGlvbi4KKworICAgICAgICBXZSBtdXN0
IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVSZWN0IGJlY2F1
c2UgVEJTIGNhbiBiZQorICAgICAgICB1c2VkIGFzIGEgYmFja2luZyBzdG9yZSBvZiBHcmFwaGlj
c0xheWVyLgorICAgICAgICBJbiB0aGUgYmVsb3cgY2FzZSwgdmlzaWJsZVJlY3QoKSByZXR1cm5z
IGFuIGVtcHR5IHJlY3QgYmVjYXVzZSB0aGUgbV9yZWN0IGNhbgorICAgICAgICBub3QgaW50ZXJz
ZWN0IHRoZSB2aXNpYmxlUmVjdC4KKworICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsKKyAgICAg
ICAgIHwgICAgICAgICAgICAgICB8CisgICAgICAgICB8ICAgbV9yZWN0ICAgICAgfAorICAgICAg
ICAgfCAgICAgICArLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgIHwg
ICAgICAgfCBIRVJFICB8ICBjb3ZlciBvciBrZWVwICAgICAgICB8CisgICAgICAgICArLS0tLS0t
LS0tLS0tLS0tKyAgICAgIHJlY3QgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAg
ICAgICAgKy0tLS0tLS0tLSsgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAg
IHwgdmlzaWJsZSB8ICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICB8ICBy
ZWN0ICAgfCAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAgKy0tLS0tLS0t
LSsgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KworICAgICAgICBXZSBtdXN0IGNyZWF0ZSBvciBrZWVwIHRoZSB0aWxlcyBvbiB0aGUgSEVSRSBy
ZWdpb24uIEN1cnJlbnRseSBpbiB0aGUKKyAgICAgICAgY2FzZSwgd2UgZG8gbm90IGNyZWF0ZSBv
ciBrZWVwIHRpbGVzIG9uIHRoZSBIRVJFIHJlZ2lvbi4gTW9yZW92ZXIsIGluCisgICAgICAgIHRo
ZSBjYXNlLCB3ZSBlYXJseSByZXR1cm4sIHdoaWNoIG1lYW5zIHdlIGRvbid0IHJlbW92ZSBhbnkg
dGlsZXMuIEl0CisgICAgICAgIGNhdXNlcyB0byB3YXN0ZSBoZWFwIGFuZCB2aWRlbyBtZW1vcnku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIFRpbGVkQmFja2luZ1N0b3JlIHRvIG1hbmFn
ZSB0aWxlcyBzbWFydGx5IGZvcgorICAgICAgICBDb29yZGluYXRlZCBHcmFwaGljcy4KKworICAg
ICAgICBDaGFuZ2luZyBjYWNoZSBwb2xpY3kgaXMgbm90IHRlc3RhYmxlIGluIGxheW91dCB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KToK
KworMjAxMi0xMS0wOCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4K
KwogICAgICAgICBDb29yZGluYXRlZCBHcmFwaGljczogUmVtb3ZlIGFuIGludmlzaWJsZSBUaWxl
ZEJhY2tpbmdTdG9yZSBvZiBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE0MjQKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCmlu
ZGV4IGM1NjRkYmVkMDZkOGQ5MjdhNzE1ZDIzNmQ3NzQ4ZGU3YWRlMDJjNTkuLmU3OGY0MjA4OGNi
YjYwMTBkZjU4NWJkN2U5ODc5ZjA1Y2Q4MDFlYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTI0OSwxMSAr
MjQ5LDM1IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKICAgICBjb25z
dCBJbnRSZWN0IHByZXZpb3VzUmVjdCA9IG1fcmVjdDsKICAgICBtX3JlY3QgPSBtYXBGcm9tQ29u
dGVudHMobV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCkpOwogCi0gICAg
Y29uc3QgSW50UmVjdCB2aXNpYmxlUmVjdCA9IHRoaXMtPnZpc2libGVSZWN0KCk7Ci0gICAgbV92
aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0OwotCi0gICAgaWYgKHZpc2libGVSZWN0LmlzRW1wdHko
KSkKKyAgICBpZiAobV9yZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBzZXRDb3ZlclJlY3QoSW50
UmVjdCgpKTsKKyAgICAgICAgc2V0S2VlcFJlY3QoSW50UmVjdCgpKTsKICAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGNvbnN0IEludFJlY3QgaW50ZXJzZWN0ZWRWaXNpYmxlUmVjdCA9IHRo
aXMtPnZpc2libGVSZWN0KCk7CisgICAgbV92aXNpYmxlUmVjdCA9IGludGVyc2VjdGVkVmlzaWJs
ZVJlY3Q7CisKKyAgICAvKiBXZSBtdXN0IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNp
bmcgdGhlIHZpc2libGVSZWN0IGJlY2F1c2UgVEJTIGNhbiBiZSB1c2VkIGFzIGEgYmFja2luZyBz
dG9yZSBvZiBHcmFwaGljc0xheWVyLgorICAgICAqIEluIHRoZSBiZWxvdyBjYXNlLCB2aXNpYmxl
UmVjdCgpIHJldHVybnMgYW4gZW1wdHkgcmVjdCBiZWNhdXNlIHRoZSBtX3JlY3QgY2FuIG5vdCBp
bnRlcnNlY3QgdGhlIHZpc2libGVSZWN0LgorICAgICAqCisgICAgICogICstLS0tLS0tLS0tLS0t
LS0rCisgICAgICogIHwgICAgICAgICAgICAgICB8CisgICAgICogIHwgICBtX3JlY3QgICAgICB8
CisgICAgICogIHwgICAgICAgKy0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAg
ICogIHwgICAgICAgfCBIRVJFICB8ICBjb3ZlciBvciBrZWVwICAgICAgICB8CisgICAgICogICst
LS0tLS0tLS0tLS0tLS0rICAgICAgcmVjdCAgICAgICAgICAgICB8CisgICAgICogICAgICAgICAg
fCAgICAgICAgICstLS0tLS0tLS0rICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAg
ICAgIHwgdmlzaWJsZSB8ICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgIHwg
IHJlY3QgICB8ICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgICstLS0tLS0t
LS0rICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8CisgICAgICogICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisg
ICAgICoKKyAgICAgKiBXZSBtdXN0IGNyZWF0ZSBvciBrZWVwIHRoZSB0aWxlcyBvbiB0aGUgSEVS
RSByZWdpb24uCisgICAgICovCisgICAgSW50UmVjdCB2aXNpYmxlUmVjdCA9IG1hcEZyb21Db250
ZW50cyhtX2NsaWVudC0+dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpKTsKIAogICAgIElu
dFJlY3QgY292ZXJSZWN0OwogICAgIEludFJlY3Qga2VlcFJlY3Q7CkBAIC0yODUsNyArMzA5LDcg
QEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgICAgICAgICAgaWYg
KHRpbGVBdChjdXJyZW50Q29vcmRpbmF0ZSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICArK3JlcXVpcmVkVGlsZUNvdW50OwotICAgICAgICAgICAgZG91YmxlIGRpc3Rh
bmNlID0gdGlsZURpc3RhbmNlKHZpc2libGVSZWN0LCBjdXJyZW50Q29vcmRpbmF0ZSk7CisgICAg
ICAgICAgICBkb3VibGUgZGlzdGFuY2UgPSB0aWxlRGlzdGFuY2UoaW50ZXJzZWN0ZWRWaXNpYmxl
UmVjdCwgY3VycmVudENvb3JkaW5hdGUpOwogICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gc2hv
cnRlc3REaXN0YW5jZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlm
IChkaXN0YW5jZSA8IHNob3J0ZXN0RGlzdGFuY2UpIHsKQEAgLTMxOCw2ICszNDIsMTIgQEAgdm9p
ZCBUaWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KEludFJlY3QmIHJlY3Qp
IGNvbnN0CiAgICAgSW50UmVjdCBib3VuZHMgPSBtX3JlY3Q7CiAgICAgSW50U2l6ZSBjYW5kaWRh
dGVTaXplID0gcmVjdC5zaXplKCk7CiAKKyAgICAvLyBJZiBjYW5kaWRhdGVTaXplIGlzIGJpZ2dl
ciB0aGFuIGJvdW5kcyAoaS5lLiBUQlMgaXMgdXNlZCBhcyBhIGJhY2tpbmcgc3RvcmUgb2YgR3Jh
cGhpY3NMYXllciksIHdlIHNraXAgdGhlIGJlbG93IGFkanVzdGluZyBsb2dpYyB3aGljaCBleHBl
Y3RzIGJvdW5kcyBjb3ZlcnMgdGhlIGdpdmVuIHJlY3QuCisgICAgaWYgKGNhbmRpZGF0ZVNpemUu
d2lkdGgoKSA+IGJvdW5kcy53aWR0aCgpICYmIGNhbmRpZGF0ZVNpemUuaGVpZ2h0KCkgPiBib3Vu
ZHMuaGVpZ2h0KCkpIHsKKyAgICAgICAgcmVjdC5pbnRlcnNlY3QoYm91bmRzKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIC8vIFdlIHdpbGwgdHJ5IHRvIGtlZXAgdGhlIGNvdmVyIGFu
ZCBrZWVwIHJlY3QgdGhlIHNhbWUgc2l6ZSBhdCBhbGwgdGltZSwgd2hpY2gKICAgICAvLyBtaWdo
dCBub3QgYmUgdGhlIGNhc2Ugd2hlbiBhdCB0aGUgY29udGVudCBlZGdlcy4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173248</attachid>
            <date>2012-11-09 02:26:58 -0800</date>
            <delta_ts>2012-11-09 03:07:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101656-20121109192452.patch</filename>
            <type>text/plain</type>
            <size>8526</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxNDcwNjU3ZDRlMGEy
OTk3N2Y4YWFhMjU0MDUxNzk0N2U5NjRjOC4uYmFlNjNhOWFmYzQ1ZDQ1ZTZhMjAwZDJjY2EwZGQx
ODU2ZTcyODIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTExLTA5ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZW1vdmUgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIgd2hl
biB0aGUgbGF5ZXIgaXMgZmFyIGZyb20gdGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUgY29tcHV0ZXMg
Y292ZXIgYW5kIGtlZXAgcmVjdHMgdG8gY3JlYXRlLCBrZWVwIG9yIHJlbW92ZSB0aWxlcworICAg
ICAgICBzbWFydGx5LCBidXQgY3VycmVudGx5IFRpbGVkQmFja2luZ1N0b3JlIGV4cGVjdHMgYSBj
b250ZW50cyByZWN0IGlzIGJpZyBlbm91Z2gKKyAgICAgICAgdG8gY292ZXIgdGhlIHZpc2libGVS
ZWN0LiBIb3dldmVyLCB3aGVuIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIFRCUywgaXQK
KyAgICAgICAgaXMgdXN1YWxseSB3cm9uZyBleHBlY3RhdGlvbi4KKworICAgICAgICBXZSBtdXN0
IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVSZWN0IGJlY2F1
c2UgVEJTIGNhbiBiZQorICAgICAgICB1c2VkIGFzIGEgYmFja2luZyBzdG9yZSBvZiBHcmFwaGlj
c0xheWVyLgorICAgICAgICBJbiB0aGUgYmVsb3cgY2FzZSwgdmlzaWJsZVJlY3RPbkJhY2tpbmco
KSByZXR1cm5zIGFuIGVtcHR5IHJlY3QgYmVjYXVzZSB0aGUgbV9yZWN0IGNhbgorICAgICAgICBu
b3QgaW50ZXJzZWN0IHRoZSB2aXNpYmxlUmVjdC4KKworICAgICAgICAgKy0tLS0tLS0tLS0tLS0t
LSsKKyAgICAgICAgIHwgICAgICAgICAgICAgICB8CisgICAgICAgICB8ICAgbV9yZWN0ICAgICAg
fAorICAgICAgICAgfCAgICAgICArLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAg
ICAgICAgIHwgICAgICAgfCBIRVJFICB8ICBjb3ZlciBvciBrZWVwICAgICAgICB8CisgICAgICAg
ICArLS0tLS0tLS0tLS0tLS0tKyAgICAgIHJlY3QgICAgICAgICAgICAgfAorICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgKy0tLS0tLS0tLSsgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAg
fCAgICAgICAgIHwgdmlzaWJsZSB8ICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAg
ICAgICB8ICByZWN0ICAgfCAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAg
Ky0tLS0tLS0tLSsgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsKKworICAgICAgICBXZSBtdXN0IGNyZWF0ZSBvciBrZWVwIHRoZSB0aWxlcyBvbiB0
aGUgSEVSRSByZWdpb24uIEN1cnJlbnRseSBpbiB0aGUKKyAgICAgICAgY2FzZSwgd2UgZG8gbm90
IGNyZWF0ZSBvciBrZWVwIHRpbGVzIG9uIHRoZSBIRVJFIHJlZ2lvbi4gTW9yZW92ZXIsIGluCisg
ICAgICAgIHRoZSBjYXNlLCB3ZSBlYXJseSByZXR1cm4sIHdoaWNoIG1lYW5zIHdlIGRvbid0IHJl
bW92ZSBhbnkgdGlsZXMuIEl0CisgICAgICAgIGNhdXNlcyB0byB3YXN0ZSBoZWFwIGFuZCB2aWRl
byBtZW1vcnkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIFRpbGVkQmFja2luZ1N0b3Jl
IHRvIG1hbmFnZSB0aWxlcyBzbWFydGx5IGZvcgorICAgICAgICBDb29yZGluYXRlZCBHcmFwaGlj
cy4KKworICAgICAgICBDaGFuZ2luZyBjYWNoZSBwb2xpY3kgaXMgbm90IHRlc3RhYmxlIGluIGxh
eW91dCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0
b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlQ29u
dGVudHNSZWN0T25CYWNraW5nKToKKyAgICAgICAgICAgIHJlcHJlc2VudHMgdGhlIHZpc2libGUg
cmVjdCBpbnRlcnNlY3RlZCB3aXRoIHRoZSBjb250ZW50cyByZWN0IG9uCisgICAgICAgICAgICB0
aGUgY29udGVudHMgY29vcmRpbmF0ZXMuCisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdT
dG9yZTo6dmlzaWJsZVJlY3RPbkJhY2tpbmcpOgorICAgICAgICAgICAgcmVwcmVzZW50cyB0aGUg
dmlzaWJsZSByZWN0IGludGVyc2VjdGVkIHdpdGggdGhlIGNvbnRlbnRzIHJlY3Qgb24KKyAgICAg
ICAgICAgIHRoZSBUQlMgY29vcmRpbmF0ZXMuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlUmVjdCk6CisgICAgICAgICAgICBy
ZXByZXNlbnRzIHRoZSB2aXNpYmxlIHJlY3Qgb24gdGhlIFRCUyBjb29yZGluYXRlcy4KKyAgICAg
ICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlQXJlYUlzQ292ZXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmFkanVzdEZvckNvbnRlbnRzUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6cmVtb3ZlQWxsTm9uVmlzaWJsZVRp
bGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oOgor
ICAgICAgICAoVGlsZWRCYWNraW5nU3RvcmUpOgorCiAyMDEyLTExLTA4ICBBbGVjIEZsZXR0ICA8
YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IHN3aXRjaCBmcm9u
dGVuZCB0byB1c2UgaW50NjRfdC1iYXNlZCByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYzU2
NGRiZWQwNmQ4ZDkyN2E3MTVkMjM2ZDc3NDhkZTdhZGUwMmM1OS4uMWU2NGVlOGJhMjU1MTVkMzIy
YWNkNjBjOTcwZTk1Mjg1MTVjYTY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcApAQCAtMTcwLDE0ICsxNzAsMTkg
QEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAotSW50
UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZUNvbnRlbnRzUmVjdCgpIGNvbnN0CitJbnRS
ZWN0IFRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlQ29udGVudHNSZWN0T25CYWNraW5nKCkgY29u
c3QKIHsKICAgICByZXR1cm4gaW50ZXJzZWN0aW9uKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9y
ZVZpc2libGVSZWN0KCksIG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgp
KTsKIH0KIAorSW50UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZVJlY3RPbkJhY2tpbmco
KSBjb25zdAoreworICAgIHJldHVybiBtYXBGcm9tQ29udGVudHModmlzaWJsZUNvbnRlbnRzUmVj
dE9uQmFja2luZygpKTsKK30KKwogSW50UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZVJl
Y3QoKSBjb25zdAogewotICAgIHJldHVybiBtYXBGcm9tQ29udGVudHModmlzaWJsZUNvbnRlbnRz
UmVjdCgpKTsKKyAgICByZXR1cm4gbWFwRnJvbUNvbnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tp
bmdTdG9yZVZpc2libGVSZWN0KCkpOwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpzZXRD
b250ZW50c1NjYWxlKGZsb2F0IHNjYWxlKQpAQCAtMjM2LDcgKzI0MSw3IEBAIGZsb2F0IFRpbGVk
QmFja2luZ1N0b3JlOjpjb3ZlcmFnZVJhdGlvKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvbnRl
bnRzUmVjdCkgY29uCiAKIGJvb2wgVGlsZWRCYWNraW5nU3RvcmU6OnZpc2libGVBcmVhSXNDb3Zl
cmVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gY292ZXJhZ2VSYXRpbyh2aXNpYmxlQ29udGVudHNS
ZWN0KCkpID09IDEuMGY7CisgICAgcmV0dXJuIGNvdmVyYWdlUmF0aW8odmlzaWJsZUNvbnRlbnRz
UmVjdE9uQmFja2luZygpKSA9PSAxLjBmOwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpj
cmVhdGVUaWxlcygpCkBAIC0yNDksMTEgKzI1NCwzNSBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3Jl
OjpjcmVhdGVUaWxlcygpCiAgICAgY29uc3QgSW50UmVjdCBwcmV2aW91c1JlY3QgPSBtX3JlY3Q7
CiAgICAgbV9yZWN0ID0gbWFwRnJvbUNvbnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9y
ZUNvbnRlbnRzUmVjdCgpKTsKIAorICAgIGlmIChtX3JlY3QuaXNFbXB0eSgpKSB7CisgICAgICAg
IHNldENvdmVyUmVjdChJbnRSZWN0KCkpOworICAgICAgICBzZXRLZWVwUmVjdChJbnRSZWN0KCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV2UgbXVzdCBjb21wdXRlIGNvdmVy
IGFuZCBrZWVwIHJlY3RzIHVzaW5nIHRoZSB2aXNpYmxlUmVjdCBiZWNhdXNlIFRCUyBjYW4gYmUg
dXNlZCBhcyBhIGJhY2tpbmcgc3RvcmUgb2YgR3JhcGhpY3NMYXllci4KKyAgICAgKiBJbiB0aGUg
YmVsb3cgY2FzZSwgdmlzaWJsZVJlY3RPbkJhY2tpbmcoKSByZXR1cm5zIGFuIGVtcHR5IHJlY3Qg
YmVjYXVzZSB0aGUgbV9yZWN0IGNhbiBub3QgaW50ZXJzZWN0IHRoZSB2aXNpYmxlUmVjdC4KKyAg
ICAgKgorICAgICAqICArLS0tLS0tLS0tLS0tLS0tKworICAgICAqICB8ICAgICAgICAgICAgICAg
fAorICAgICAqICB8ICAgbV9yZWN0ICAgICAgfAorICAgICAqICB8ICAgICAgICstLS0tLS0tfC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAqICB8ICAgICAgIHwgSEVSRSAgfCAgY292ZXIg
b3Iga2VlcCAgICAgICAgfAorICAgICAqICArLS0tLS0tLS0tLS0tLS0tKyAgICAgIHJlY3QgICAg
ICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAgICAg
ICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAgICB8IHZpc2libGUgfCAgICAgICAgICAgfAor
ICAgICAqICAgICAgICAgIHwgICAgICAgICB8ICByZWN0ICAgfCAgICAgICAgICAgfAorICAgICAq
ICAgICAgICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAqICAgICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAqICAgICAgICAgICstLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAqCisgICAgICogV2UgbXVzdCBjcmVhdGUg
b3Iga2VlcCB0aGUgdGlsZXMgb24gdGhlIEhFUkUgcmVnaW9uLgorICAgICAqLworCiAgICAgY29u
c3QgSW50UmVjdCB2aXNpYmxlUmVjdCA9IHRoaXMtPnZpc2libGVSZWN0KCk7CiAgICAgbV92aXNp
YmxlUmVjdCA9IHZpc2libGVSZWN0OwotCi0gICAgaWYgKHZpc2libGVSZWN0LmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuOworICAgIGNvbnN0IEludFJlY3QgdmlzaWJsZVJlY3RPbkJhY2tpbmcg
PSB0aGlzLT52aXNpYmxlUmVjdE9uQmFja2luZygpOwogCiAgICAgSW50UmVjdCBjb3ZlclJlY3Q7
CiAgICAgSW50UmVjdCBrZWVwUmVjdDsKQEAgLTI2Miw2ICsyOTEsOSBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgc2V0Q292ZXJSZWN0KGNvdmVyUmVjdCk7CiAg
ICAgc2V0S2VlcFJlY3Qoa2VlcFJlY3QpOwogCisgICAgaWYgKGNvdmVyUmVjdC5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKwogICAgIC8vIFJlc2l6ZSB0aWxlcyBhdCB0aGUgZWRnZSBpbiBj
YXNlIHRoZSBjb250ZW50cyBzaXplIGhhcyBjaGFuZ2VkLCBidXQgb25seSBkbyBzbwogICAgIC8v
IGFmdGVyIGhhdmluZyBkcm9wcGVkIHRpbGVzIG91dHNpZGUgdGhlIGtlZXAgcmVjdC4KICAgICBi
b29sIGRpZFJlc2l6ZVRpbGVzID0gZmFsc2U7CkBAIC0yODUsNyArMzE3LDcgQEAgdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgICAgICAgICAgaWYgKHRpbGVBdChjdXJy
ZW50Q29vcmRpbmF0ZSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAr
K3JlcXVpcmVkVGlsZUNvdW50OwotICAgICAgICAgICAgZG91YmxlIGRpc3RhbmNlID0gdGlsZURp
c3RhbmNlKHZpc2libGVSZWN0LCBjdXJyZW50Q29vcmRpbmF0ZSk7CisgICAgICAgICAgICBkb3Vi
bGUgZGlzdGFuY2UgPSB0aWxlRGlzdGFuY2UodmlzaWJsZVJlY3RPbkJhY2tpbmcsIGN1cnJlbnRD
b29yZGluYXRlKTsKICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IHNob3J0ZXN0RGlzdGFuY2Up
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBz
aG9ydGVzdERpc3RhbmNlKSB7CkBAIC0zMTgsNiArMzUwLDEyIEBAIHZvaWQgVGlsZWRCYWNraW5n
U3RvcmU6OmFkanVzdEZvckNvbnRlbnRzUmVjdChJbnRSZWN0JiByZWN0KSBjb25zdAogICAgIElu
dFJlY3QgYm91bmRzID0gbV9yZWN0OwogICAgIEludFNpemUgY2FuZGlkYXRlU2l6ZSA9IHJlY3Qu
c2l6ZSgpOwogCisgICAgLy8gSWYgY2FuZGlkYXRlU2l6ZSBpcyBiaWdnZXIgdGhhbiBib3VuZHMg
KGkuZS4gVEJTIGlzIHVzZWQgYXMgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIpLCB3
ZSBza2lwIHRoZSBiZWxvdyBhZGp1c3RpbmcgbG9naWMgd2hpY2ggZXhwZWN0cyBib3VuZHMgY292
ZXJzIHRoZSBnaXZlbiByZWN0LgorICAgIGlmIChjYW5kaWRhdGVTaXplLndpZHRoKCkgPiBib3Vu
ZHMud2lkdGgoKSAmJiBjYW5kaWRhdGVTaXplLmhlaWdodCgpID4gYm91bmRzLmhlaWdodCgpKSB7
CisgICAgICAgIHJlY3QuaW50ZXJzZWN0KGJvdW5kcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICAvLyBXZSB3aWxsIHRyeSB0byBrZWVwIHRoZSBjb3ZlciBhbmQga2VlcCByZWN0IHRo
ZSBzYW1lIHNpemUgYXQgYWxsIHRpbWUsIHdoaWNoCiAgICAgLy8gbWlnaHQgbm90IGJlIHRoZSBj
YXNlIHdoZW4gYXQgdGhlIGNvbnRlbnQgZWRnZXMuCiAKQEAgLTQ0MSw3ICs0NzksNyBAQCB2b2lk
IFRpbGVkQmFja2luZ1N0b3JlOjpzZXRLZWVwUmVjdChjb25zdCBJbnRSZWN0JiBrZWVwUmVjdCkK
IAogdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6cmVtb3ZlQWxsTm9uVmlzaWJsZVRpbGVzKCkKIHsK
LSAgICBzZXRLZWVwUmVjdCh2aXNpYmxlUmVjdCgpKTsKKyAgICBzZXRLZWVwUmVjdCh2aXNpYmxl
UmVjdE9uQmFja2luZygpKTsKIH0KIAogUGFzc1JlZlB0cjxUaWxlPiBUaWxlZEJhY2tpbmdTdG9y
ZTo6dGlsZUF0KGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9y
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aAppbmRleCBiM2MzNjVjMzU5Y2UyNjFkOTlhZWE4NGFkOGNlNTY1YzFjYTg3ZTRkLi41NmNkZTcw
NGRhOTFlM2FiMmM4NjI0NDVjMGE3MmZmM2QxMWVlOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTEwMiw3ICsx
MDIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0VGlsZShjb25zdCBUaWxlOjpDb29yZGluYXRl
JiBjb29yZGluYXRlLCBQYXNzUmVmUHRyPFRpbGU+IHRpbGUpOwogICAgIHZvaWQgcmVtb3ZlVGls
ZShjb25zdCBUaWxlOjpDb29yZGluYXRlJiBjb29yZGluYXRlKTsKIAotICAgIEludFJlY3Qgdmlz
aWJsZUNvbnRlbnRzUmVjdCgpIGNvbnN0OworICAgIEludFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVj
dE9uQmFja2luZygpIGNvbnN0OworICAgIEludFJlY3QgdmlzaWJsZVJlY3RPbkJhY2tpbmcoKSBj
b25zdDsKICAgICBJbnRSZWN0IHZpc2libGVSZWN0KCkgY29uc3Q7CiAKICAgICBmbG9hdCBjb3Zl
cmFnZVJhdGlvKGNvbnN0IEludFJlY3QmKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173252</attachid>
            <date>2012-11-09 03:07:17 -0800</date>
            <delta_ts>2012-11-09 03:16:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101656-20121109200511.patch</filename>
            <type>text/plain</type>
            <size>8581</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxNDcwNjU3ZDRlMGEy
OTk3N2Y4YWFhMjU0MDUxNzk0N2U5NjRjOC4uYzAzYjgyZGNmYTQ3MDM2MTY1MzdkZDMyYjZjNzJk
NjUyMGM3YzIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTExLTA5ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZW1vdmUgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIgd2hl
biB0aGUgbGF5ZXIgaXMgZmFyIGZyb20gdGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUgY29tcHV0ZXMg
Y292ZXIgYW5kIGtlZXAgcmVjdHMgdG8gY3JlYXRlLCBrZWVwIG9yIHJlbW92ZSB0aWxlcworICAg
ICAgICBzbWFydGx5LCBidXQgY3VycmVudGx5IFRpbGVkQmFja2luZ1N0b3JlIGV4cGVjdHMgYSBj
b250ZW50cyByZWN0IGlzIGJpZyBlbm91Z2gKKyAgICAgICAgdG8gY292ZXIgdGhlIHZpc2libGVS
ZWN0LiBIb3dldmVyLCB3aGVuIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIFRCUywgaXQK
KyAgICAgICAgaXMgdXN1YWxseSB3cm9uZyBleHBlY3RhdGlvbi4KKworICAgICAgICBXZSBtdXN0
IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVSZWN0IGluc3Rl
YWQgb2YKKyAgICAgICAgdGhlIGJvdW5kZWRWaXNpYmxlUmVjdCBiZWNhdXNlIFRCUyBjYW4gYmUg
dXNlZCBhcyBhIGJhY2tpbmcgc3RvcmUgb2YKKyAgICAgICAgR3JhcGhpY3NMYXllci4KKyAgICAg
ICAgSW4gdGhlIGJlbG93IGNhc2UsIGJvdW5kZWRWaXNpYmxlUmVjdCgpIHJldHVybnMgYW4gZW1w
dHkgcmVjdCBiZWNhdXNlCisgICAgICAgIHRoZSBtX3JlY3QgY2FuIG5vdCBpbnRlcnNlY3QgdGhl
IHZpc2libGVSZWN0LgorCisgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgfCAg
ICAgICAgICAgICAgIHwKKyAgICAgICAgIHwgICBtX3JlY3QgICAgICB8CisgICAgICAgICB8ICAg
ICAgICstLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgfCAgICAgICB8
IEhFUkUgIHwgIGNvdmVyIG9yIGtlZXAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0rICAgICAgcmVjdCAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICAr
LS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCB2aXNp
YmxlIHwgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgIHJlY3QgICB8
ICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAg
ICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg
ICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisgICAg
ICAgIFdlIG11c3QgY3JlYXRlIG9yIGtlZXAgdGhlIHRpbGVzIGluIHRoZSBIRVJFIHJlZ2lvbi4g
Q3VycmVudGx5IGluIHRoZQorICAgICAgICBjYXNlLCB3ZSBkbyBub3QgY3JlYXRlIG9yIGtlZXAg
dGlsZXMgb24gdGhlIEhFUkUgcmVnaW9uLiBNb3Jlb3ZlciwgaW4KKyAgICAgICAgdGhlIGNhc2Us
IHdlIGVhcmx5IHJldHVybiwgd2hpY2ggbWVhbnMgd2UgZG9uJ3QgcmVtb3ZlIGFueSB0aWxlcy4g
SXQKKyAgICAgICAgY2F1c2VzIHRvIHdhc3RlIGhlYXAgYW5kIHZpZGVvIG1lbW9yeS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgVGlsZWRCYWNraW5nU3RvcmUgdG8gbWFuYWdlIHRpbGVz
IHNtYXJ0bHkgZm9yCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzLgorCisgICAgICAgIENo
YW5naW5nIGNhY2hlIHBvbGljeSBpcyBub3QgdGVzdGFibGUgaW4gbGF5b3V0IHRlc3RzLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0
KToKKyAgICAgICAgICAgIHJlcHJlc2VudHMgdGhlIHZpc2libGUgcmVjdCBpbnRlcnNlY3RlZCB3
aXRoIHRoZSBtX3JlY3Qgb24gdGhlCisgICAgICAgICAgICBjb250ZW50cyBjb29yZGluYXRlIHN5
c3RlbS4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpib3VuZGVkVmlzaWJs
ZVJlY3QpOgorICAgICAgICAgICAgcmVwcmVzZW50cyB0aGUgdmlzaWJsZSByZWN0IGludGVyc2Vj
dGVkIHdpdGggdGhlIG1fcmVjdCBvbiB0aGUgVEJTCisgICAgICAgICAgICBjb29yZGluYXRlIHN5
c3RlbS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5n
U3RvcmU6OnZpc2libGVSZWN0KToKKyAgICAgICAgICAgIHJlcHJlc2VudHMgdGhlIHZpc2libGUg
cmVjdCBvbiB0aGUgVEJTIGNvb3JkaW5hdGUgc3lzdGVtLgorICAgICAgICAoV2ViQ29yZTo6VGls
ZWRCYWNraW5nU3RvcmU6OnZpc2libGVBcmVhSXNDb3ZlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
ZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVBbGxOb25WaXNpYmxlVGlsZXMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChUaWxlZEJh
Y2tpbmdTdG9yZSk6CisKIDIwMTItMTEtMDggIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogc3dpdGNoIGZyb250ZW5kIHRvIHVzZSBpbnQ2
NF90LWJhc2VkIHJlZmVyZW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCBjNTY0ZGJlZDA2ZDhkOTI3YTcx
NWQyMzZkNzc0OGRlN2FkZTAyYzU5Li4xZTUwYjU0YzAzMzc5Y2Q0MjVjZmJjMzU0ZDA1NTQ0ZGMw
YzcwOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC0xNzAsMTQgKzE3MCwxOSBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3Qm
IHJlY3QpCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCi1JbnRSZWN0IFRpbGVkQmFja2lu
Z1N0b3JlOjp2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3QKK0ludFJlY3QgVGlsZWRCYWNraW5n
U3RvcmU6OmJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
aW50ZXJzZWN0aW9uKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCksIG1f
Y2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpKTsKIH0KIAorSW50UmVjdCBU
aWxlZEJhY2tpbmdTdG9yZTo6Ym91bmRlZFZpc2libGVSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbWFwRnJvbUNvbnRlbnRzKGJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0KCkpOworfQorCiBJ
bnRSZWN0IFRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlUmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1hcEZyb21Db250ZW50cyh2aXNpYmxlQ29udGVudHNSZWN0KCkpOworICAgIHJldHVybiBt
YXBGcm9tQ29udGVudHMobV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlVmlzaWJsZVJlY3QoKSk7
CiB9CiAKIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNldENvbnRlbnRzU2NhbGUoZmxvYXQgc2Nh
bGUpCkBAIC0yMzYsNyArMjQxLDcgQEAgZmxvYXQgVGlsZWRCYWNraW5nU3RvcmU6OmNvdmVyYWdl
UmF0aW8oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY29udGVudHNSZWN0KSBjb24KIAogYm9vbCBU
aWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZUFyZWFJc0NvdmVyZWQoKSBjb25zdAogewotICAgIHJl
dHVybiBjb3ZlcmFnZVJhdGlvKHZpc2libGVDb250ZW50c1JlY3QoKSkgPT0gMS4wZjsKKyAgICBy
ZXR1cm4gY292ZXJhZ2VSYXRpbyhib3VuZGVkVmlzaWJsZUNvbnRlbnRzUmVjdCgpKSA9PSAxLjBm
OwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCkBAIC0yNDksMTEg
KzI1NCwzNSBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgY29u
c3QgSW50UmVjdCBwcmV2aW91c1JlY3QgPSBtX3JlY3Q7CiAgICAgbV9yZWN0ID0gbWFwRnJvbUNv
bnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpKTsKIAorICAg
IGlmIChtX3JlY3QuaXNFbXB0eSgpKSB7CisgICAgICAgIHNldENvdmVyUmVjdChJbnRSZWN0KCkp
OworICAgICAgICBzZXRLZWVwUmVjdChJbnRSZWN0KCkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLyogV2UgbXVzdCBjb21wdXRlIGNvdmVyIGFuZCBrZWVwIHJlY3RzIHVzaW5nIHRo
ZSB2aXNpYmxlUmVjdCBpbnN0ZWFkIG9mIHRoZSBib3VuZGVkVmlzaWJsZVJlY3QgYmVjYXVzZSBU
QlMgY2FuIGJlIHVzZWQgYXMgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIuCisgICAg
ICogSW4gdGhlIGJlbG93IGNhc2UsIGJvdW5kZWRWaXNpYmxlUmVjdCgpIHJldHVybnMgYW4gZW1w
dHkgcmVjdCBiZWNhdXNlIHRoZSBtX3JlY3QgY2FuIG5vdCBpbnRlcnNlY3QgdGhlIHZpc2libGVS
ZWN0LgorICAgICAqCisgICAgICogICstLS0tLS0tLS0tLS0tLS0rCisgICAgICogIHwgICAgICAg
ICAgICAgICB8CisgICAgICogIHwgICBtX3JlY3QgICAgICB8CisgICAgICogIHwgICAgICAgKy0t
LS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICogIHwgICAgICAgfCBIRVJFICB8
ICBjb3ZlciBvciBrZWVwICAgICAgICB8CisgICAgICogICstLS0tLS0tLS0tLS0tLS0rICAgICAg
cmVjdCAgICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgICstLS0tLS0tLS0r
ICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgIHwgdmlzaWJsZSB8ICAgICAg
ICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgIHwgIHJlY3QgICB8ICAgICAgICAgICB8
CisgICAgICogICAgICAgICAgfCAgICAgICAgICstLS0tLS0tLS0rICAgICAgICAgICB8CisgICAg
ICogICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICogICAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICogICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICoKKyAgICAgKiBXZSBtdXN0
IGNyZWF0ZSBvciBrZWVwIHRoZSB0aWxlcyBpbiB0aGUgSEVSRSByZWdpb24uCisgICAgICovCisK
ICAgICBjb25zdCBJbnRSZWN0IHZpc2libGVSZWN0ID0gdGhpcy0+dmlzaWJsZVJlY3QoKTsKICAg
ICBtX3Zpc2libGVSZWN0ID0gdmlzaWJsZVJlY3Q7Ci0KLSAgICBpZiAodmlzaWJsZVJlY3QuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAgY29uc3QgSW50UmVjdCBib3VuZGVkVmlzaWJs
ZVJlY3QgPSB0aGlzLT5ib3VuZGVkVmlzaWJsZVJlY3QoKTsKIAogICAgIEludFJlY3QgY292ZXJS
ZWN0OwogICAgIEludFJlY3Qga2VlcFJlY3Q7CkBAIC0yNjIsNiArMjkxLDkgQEAgdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgIHNldENvdmVyUmVjdChjb3ZlclJlY3Qp
OwogICAgIHNldEtlZXBSZWN0KGtlZXBSZWN0KTsKIAorICAgIGlmIChjb3ZlclJlY3QuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBSZXNpemUgdGlsZXMgYXQgdGhlIGVkZ2Ug
aW4gY2FzZSB0aGUgY29udGVudHMgc2l6ZSBoYXMgY2hhbmdlZCwgYnV0IG9ubHkgZG8gc28KICAg
ICAvLyBhZnRlciBoYXZpbmcgZHJvcHBlZCB0aWxlcyBvdXRzaWRlIHRoZSBrZWVwIHJlY3QuCiAg
ICAgYm9vbCBkaWRSZXNpemVUaWxlcyA9IGZhbHNlOwpAQCAtMjg1LDcgKzMxNyw3IEBAIHZvaWQg
VGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKICAgICAgICAgICAgIGlmICh0aWxlQXQo
Y3VycmVudENvb3JkaW5hdGUpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgKytyZXF1aXJlZFRpbGVDb3VudDsKLSAgICAgICAgICAgIGRvdWJsZSBkaXN0YW5jZSA9IHRp
bGVEaXN0YW5jZSh2aXNpYmxlUmVjdCwgY3VycmVudENvb3JkaW5hdGUpOworICAgICAgICAgICAg
ZG91YmxlIGRpc3RhbmNlID0gdGlsZURpc3RhbmNlKGJvdW5kZWRWaXNpYmxlUmVjdCwgY3VycmVu
dENvb3JkaW5hdGUpOwogICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gc2hvcnRlc3REaXN0YW5j
ZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8
IHNob3J0ZXN0RGlzdGFuY2UpIHsKQEAgLTMxOCw2ICszNTAsMTIgQEAgdm9pZCBUaWxlZEJhY2tp
bmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KEludFJlY3QmIHJlY3QpIGNvbnN0CiAgICAg
SW50UmVjdCBib3VuZHMgPSBtX3JlY3Q7CiAgICAgSW50U2l6ZSBjYW5kaWRhdGVTaXplID0gcmVj
dC5zaXplKCk7CiAKKyAgICAvLyBJZiBjYW5kaWRhdGVTaXplIGlzIGJpZ2dlciB0aGFuIGJvdW5k
cyAoaS5lLiBUQlMgaXMgdXNlZCBhcyBhIGJhY2tpbmcgc3RvcmUgb2YgR3JhcGhpY3NMYXllciks
IHdlIHNraXAgdGhlIGJlbG93IGFkanVzdGluZyBsb2dpYyB3aGljaCBleHBlY3RzIGJvdW5kcyB0
byBjb3ZlciB0aGUgZ2l2ZW4gcmVjdC4KKyAgICBpZiAoY2FuZGlkYXRlU2l6ZS53aWR0aCgpID4g
Ym91bmRzLndpZHRoKCkgJiYgY2FuZGlkYXRlU2l6ZS5oZWlnaHQoKSA+IGJvdW5kcy5oZWlnaHQo
KSkgeworICAgICAgICByZWN0LmludGVyc2VjdChib3VuZHMpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgLy8gV2Ugd2lsbCB0cnkgdG8ga2VlcCB0aGUgY292ZXIgYW5kIGtlZXAgcmVj
dCB0aGUgc2FtZSBzaXplIGF0IGFsbCB0aW1lLCB3aGljaAogICAgIC8vIG1pZ2h0IG5vdCBiZSB0
aGUgY2FzZSB3aGVuIGF0IHRoZSBjb250ZW50IGVkZ2VzLgogCkBAIC00NDEsNyArNDc5LDcgQEAg
dm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6c2V0S2VlcFJlY3QoY29uc3QgSW50UmVjdCYga2VlcFJl
Y3QpCiAKIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnJlbW92ZUFsbE5vblZpc2libGVUaWxlcygp
CiB7Ci0gICAgc2V0S2VlcFJlY3QodmlzaWJsZVJlY3QoKSk7CisgICAgc2V0S2VlcFJlY3QoYm91
bmRlZFZpc2libGVSZWN0KCkpOwogfQogCiBQYXNzUmVmUHRyPFRpbGU+IFRpbGVkQmFja2luZ1N0
b3JlOjp0aWxlQXQoY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgY29vcmRpbmF0ZSkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0
b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9y
ZS5oCmluZGV4IGIzYzM2NWMzNTljZTI2MWQ5OWFlYTg0YWQ4Y2U1NjVjMWNhODdlNGQuLjRlNGIw
YjNlNWMwZTdmNzM0MGUyNzljOGE4NWYwYTdiYmQ3Mzk0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAtMTAyLDcg
KzEwMiw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRUaWxlKGNvbnN0IFRpbGU6OkNvb3JkaW5h
dGUmIGNvb3JkaW5hdGUsIFBhc3NSZWZQdHI8VGlsZT4gdGlsZSk7CiAgICAgdm9pZCByZW1vdmVU
aWxlKGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUpOwogCi0gICAgSW50UmVjdCB2
aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3Q7CisgICAgSW50UmVjdCBib3VuZGVkVmlzaWJsZUNv
bnRlbnRzUmVjdCgpIGNvbnN0OworICAgIEludFJlY3QgYm91bmRlZFZpc2libGVSZWN0KCkgY29u
c3Q7CiAgICAgSW50UmVjdCB2aXNpYmxlUmVjdCgpIGNvbnN0OwogCiAgICAgZmxvYXQgY292ZXJh
Z2VSYXRpbyhjb25zdCBJbnRSZWN0JikgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173254</attachid>
            <date>2012-11-09 03:16:13 -0800</date>
            <delta_ts>2012-11-09 03:32:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101656-20121109201408.patch</filename>
            <type>text/plain</type>
            <size>8132</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxNDcwNjU3ZDRlMGEy
OTk3N2Y4YWFhMjU0MDUxNzk0N2U5NjRjOC4uYzAzYjgyZGNmYTQ3MDM2MTY1MzdkZDMyYjZjNzJk
NjUyMGM3YzIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTExLTA5ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZW1vdmUgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIgd2hl
biB0aGUgbGF5ZXIgaXMgZmFyIGZyb20gdGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUgY29tcHV0ZXMg
Y292ZXIgYW5kIGtlZXAgcmVjdHMgdG8gY3JlYXRlLCBrZWVwIG9yIHJlbW92ZSB0aWxlcworICAg
ICAgICBzbWFydGx5LCBidXQgY3VycmVudGx5IFRpbGVkQmFja2luZ1N0b3JlIGV4cGVjdHMgYSBj
b250ZW50cyByZWN0IGlzIGJpZyBlbm91Z2gKKyAgICAgICAgdG8gY292ZXIgdGhlIHZpc2libGVS
ZWN0LiBIb3dldmVyLCB3aGVuIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIFRCUywgaXQK
KyAgICAgICAgaXMgdXN1YWxseSB3cm9uZyBleHBlY3RhdGlvbi4KKworICAgICAgICBXZSBtdXN0
IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVSZWN0IGluc3Rl
YWQgb2YKKyAgICAgICAgdGhlIGJvdW5kZWRWaXNpYmxlUmVjdCBiZWNhdXNlIFRCUyBjYW4gYmUg
dXNlZCBhcyBhIGJhY2tpbmcgc3RvcmUgb2YKKyAgICAgICAgR3JhcGhpY3NMYXllci4KKyAgICAg
ICAgSW4gdGhlIGJlbG93IGNhc2UsIGJvdW5kZWRWaXNpYmxlUmVjdCgpIHJldHVybnMgYW4gZW1w
dHkgcmVjdCBiZWNhdXNlCisgICAgICAgIHRoZSBtX3JlY3QgY2FuIG5vdCBpbnRlcnNlY3QgdGhl
IHZpc2libGVSZWN0LgorCisgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgfCAg
ICAgICAgICAgICAgIHwKKyAgICAgICAgIHwgICBtX3JlY3QgICAgICB8CisgICAgICAgICB8ICAg
ICAgICstLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgfCAgICAgICB8
IEhFUkUgIHwgIGNvdmVyIG9yIGtlZXAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0rICAgICAgcmVjdCAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICAr
LS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCB2aXNp
YmxlIHwgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgIHJlY3QgICB8
ICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAg
ICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg
ICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisgICAg
ICAgIFdlIG11c3QgY3JlYXRlIG9yIGtlZXAgdGhlIHRpbGVzIGluIHRoZSBIRVJFIHJlZ2lvbi4g
Q3VycmVudGx5IGluIHRoZQorICAgICAgICBjYXNlLCB3ZSBkbyBub3QgY3JlYXRlIG9yIGtlZXAg
dGlsZXMgb24gdGhlIEhFUkUgcmVnaW9uLiBNb3Jlb3ZlciwgaW4KKyAgICAgICAgdGhlIGNhc2Us
IHdlIGVhcmx5IHJldHVybiwgd2hpY2ggbWVhbnMgd2UgZG9uJ3QgcmVtb3ZlIGFueSB0aWxlcy4g
SXQKKyAgICAgICAgY2F1c2VzIHRvIHdhc3RlIGhlYXAgYW5kIHZpZGVvIG1lbW9yeS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgVGlsZWRCYWNraW5nU3RvcmUgdG8gbWFuYWdlIHRpbGVz
IHNtYXJ0bHkgZm9yCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzLgorCisgICAgICAgIENo
YW5naW5nIGNhY2hlIHBvbGljeSBpcyBub3QgdGVzdGFibGUgaW4gbGF5b3V0IHRlc3RzLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0
KToKKyAgICAgICAgICAgIHJlcHJlc2VudHMgdGhlIHZpc2libGUgcmVjdCBpbnRlcnNlY3RlZCB3
aXRoIHRoZSBtX3JlY3Qgb24gdGhlCisgICAgICAgICAgICBjb250ZW50cyBjb29yZGluYXRlIHN5
c3RlbS4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpib3VuZGVkVmlzaWJs
ZVJlY3QpOgorICAgICAgICAgICAgcmVwcmVzZW50cyB0aGUgdmlzaWJsZSByZWN0IGludGVyc2Vj
dGVkIHdpdGggdGhlIG1fcmVjdCBvbiB0aGUgVEJTCisgICAgICAgICAgICBjb29yZGluYXRlIHN5
c3RlbS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5n
U3RvcmU6OnZpc2libGVSZWN0KToKKyAgICAgICAgICAgIHJlcHJlc2VudHMgdGhlIHZpc2libGUg
cmVjdCBvbiB0aGUgVEJTIGNvb3JkaW5hdGUgc3lzdGVtLgorICAgICAgICAoV2ViQ29yZTo6VGls
ZWRCYWNraW5nU3RvcmU6OnZpc2libGVBcmVhSXNDb3ZlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
ZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVBbGxOb25WaXNpYmxlVGlsZXMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChUaWxlZEJh
Y2tpbmdTdG9yZSk6CisKIDIwMTItMTEtMDggIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogc3dpdGNoIGZyb250ZW5kIHRvIHVzZSBpbnQ2
NF90LWJhc2VkIHJlZmVyZW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCBjNTY0ZGJlZDA2ZDhkOTI3YTcx
NWQyMzZkNzc0OGRlN2FkZTAyYzU5Li5kMDhjZGU1MDJlZThlYjdmNjZkNjUyMGJiNjg0YmRjNTIz
MDk4NmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC0xNzAsMTQgKzE3MCwxOSBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3Qm
IHJlY3QpCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCi1JbnRSZWN0IFRpbGVkQmFja2lu
Z1N0b3JlOjp2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3QKK0ludFJlY3QgVGlsZWRCYWNraW5n
U3RvcmU6OmJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
aW50ZXJzZWN0aW9uKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCksIG1f
Y2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpKTsKIH0KIAorSW50UmVjdCBU
aWxlZEJhY2tpbmdTdG9yZTo6Ym91bmRlZFZpc2libGVSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbWFwRnJvbUNvbnRlbnRzKGJvdW5kZWRWaXNpYmxlQ29udGVudHNSZWN0KCkpOworfQorCiBJ
bnRSZWN0IFRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlUmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1hcEZyb21Db250ZW50cyh2aXNpYmxlQ29udGVudHNSZWN0KCkpOworICAgIHJldHVybiBt
YXBGcm9tQ29udGVudHMobV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlVmlzaWJsZVJlY3QoKSk7
CiB9CiAKIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNldENvbnRlbnRzU2NhbGUoZmxvYXQgc2Nh
bGUpCkBAIC0yMzYsNyArMjQxLDcgQEAgZmxvYXQgVGlsZWRCYWNraW5nU3RvcmU6OmNvdmVyYWdl
UmF0aW8oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY29udGVudHNSZWN0KSBjb24KIAogYm9vbCBU
aWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZUFyZWFJc0NvdmVyZWQoKSBjb25zdAogewotICAgIHJl
dHVybiBjb3ZlcmFnZVJhdGlvKHZpc2libGVDb250ZW50c1JlY3QoKSkgPT0gMS4wZjsKKyAgICBy
ZXR1cm4gY292ZXJhZ2VSYXRpbyhib3VuZGVkVmlzaWJsZUNvbnRlbnRzUmVjdCgpKSA9PSAxLjBm
OwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCkBAIC0yNDksMTIg
KzI1NCwzNSBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgY29u
c3QgSW50UmVjdCBwcmV2aW91c1JlY3QgPSBtX3JlY3Q7CiAgICAgbV9yZWN0ID0gbWFwRnJvbUNv
bnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpKTsKIAorICAg
IGlmIChtX3JlY3QuaXNFbXB0eSgpKSB7CisgICAgICAgIHNldENvdmVyUmVjdChJbnRSZWN0KCkp
OworICAgICAgICBzZXRLZWVwUmVjdChJbnRSZWN0KCkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLyogV2UgbXVzdCBjb21wdXRlIGNvdmVyIGFuZCBrZWVwIHJlY3RzIHVzaW5nIHRo
ZSB2aXNpYmxlUmVjdCBpbnN0ZWFkIG9mIHRoZSBib3VuZGVkVmlzaWJsZVJlY3QgYmVjYXVzZSBU
QlMgY2FuIGJlIHVzZWQgYXMgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIuCisgICAg
ICogSW4gdGhlIGJlbG93IGNhc2UsIGJvdW5kZWRWaXNpYmxlUmVjdCgpIHJldHVybnMgYW4gZW1w
dHkgcmVjdCBiZWNhdXNlIHRoZSBtX3JlY3QgY2FuIG5vdCBpbnRlcnNlY3QgdGhlIHZpc2libGVS
ZWN0LgorICAgICAqCisgICAgICogICstLS0tLS0tLS0tLS0tLS0rCisgICAgICogIHwgICAgICAg
ICAgICAgICB8CisgICAgICogIHwgICBtX3JlY3QgICAgICB8CisgICAgICogIHwgICAgICAgKy0t
LS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICogIHwgICAgICAgfCBIRVJFICB8
ICBjb3ZlciBvciBrZWVwICAgICAgICB8CisgICAgICogICstLS0tLS0tLS0tLS0tLS0rICAgICAg
cmVjdCAgICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgICstLS0tLS0tLS0r
ICAgICAgICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgIHwgdmlzaWJsZSB8ICAgICAg
ICAgICB8CisgICAgICogICAgICAgICAgfCAgICAgICAgIHwgIHJlY3QgICB8ICAgICAgICAgICB8
CisgICAgICogICAgICAgICAgfCAgICAgICAgICstLS0tLS0tLS0rICAgICAgICAgICB8CisgICAg
ICogICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICogICAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICogICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICoKKyAgICAgKiBXZSBtdXN0
IGNyZWF0ZSBvciBrZWVwIHRoZSB0aWxlcyBpbiB0aGUgSEVSRSByZWdpb24uCisgICAgICovCisK
ICAgICBjb25zdCBJbnRSZWN0IHZpc2libGVSZWN0ID0gdGhpcy0+dmlzaWJsZVJlY3QoKTsKICAg
ICBtX3Zpc2libGVSZWN0ID0gdmlzaWJsZVJlY3Q7CiAKLSAgICBpZiAodmlzaWJsZVJlY3QuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBJbnRSZWN0IGNvdmVyUmVjdDsKICAgICBJ
bnRSZWN0IGtlZXBSZWN0OwogICAgIGNvbXB1dGVDb3ZlckFuZEtlZXBSZWN0KHZpc2libGVSZWN0
LCBjb3ZlclJlY3QsIGtlZXBSZWN0KTsKQEAgLTI2Miw2ICsyOTAsOSBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgc2V0Q292ZXJSZWN0KGNvdmVyUmVjdCk7CiAg
ICAgc2V0S2VlcFJlY3Qoa2VlcFJlY3QpOwogCisgICAgaWYgKGNvdmVyUmVjdC5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKwogICAgIC8vIFJlc2l6ZSB0aWxlcyBhdCB0aGUgZWRnZSBpbiBj
YXNlIHRoZSBjb250ZW50cyBzaXplIGhhcyBjaGFuZ2VkLCBidXQgb25seSBkbyBzbwogICAgIC8v
IGFmdGVyIGhhdmluZyBkcm9wcGVkIHRpbGVzIG91dHNpZGUgdGhlIGtlZXAgcmVjdC4KICAgICBi
b29sIGRpZFJlc2l6ZVRpbGVzID0gZmFsc2U7CkBAIC0zMTgsNiArMzQ5LDEyIEBAIHZvaWQgVGls
ZWRCYWNraW5nU3RvcmU6OmFkanVzdEZvckNvbnRlbnRzUmVjdChJbnRSZWN0JiByZWN0KSBjb25z
dAogICAgIEludFJlY3QgYm91bmRzID0gbV9yZWN0OwogICAgIEludFNpemUgY2FuZGlkYXRlU2l6
ZSA9IHJlY3Quc2l6ZSgpOwogCisgICAgLy8gSWYgY2FuZGlkYXRlU2l6ZSBpcyBiaWdnZXIgdGhh
biBib3VuZHMgKGkuZS4gVEJTIGlzIHVzZWQgYXMgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNz
TGF5ZXIpLCB3ZSBza2lwIHRoZSBiZWxvdyBhZGp1c3RpbmcgbG9naWMgd2hpY2ggZXhwZWN0cyBi
b3VuZHMgdG8gY292ZXIgdGhlIGdpdmVuIHJlY3QuCisgICAgaWYgKGNhbmRpZGF0ZVNpemUud2lk
dGgoKSA+IGJvdW5kcy53aWR0aCgpICYmIGNhbmRpZGF0ZVNpemUuaGVpZ2h0KCkgPiBib3VuZHMu
aGVpZ2h0KCkpIHsKKyAgICAgICAgcmVjdC5pbnRlcnNlY3QoYm91bmRzKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIC8vIFdlIHdpbGwgdHJ5IHRvIGtlZXAgdGhlIGNvdmVyIGFuZCBr
ZWVwIHJlY3QgdGhlIHNhbWUgc2l6ZSBhdCBhbGwgdGltZSwgd2hpY2gKICAgICAvLyBtaWdodCBu
b3QgYmUgdGhlIGNhc2Ugd2hlbiBhdCB0aGUgY29udGVudCBlZGdlcy4KIApAQCAtNDQxLDcgKzQ3
OCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNldEtlZXBSZWN0KGNvbnN0IEludFJlY3Qm
IGtlZXBSZWN0KQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVBbGxOb25WaXNpYmxl
VGlsZXMoKQogewotICAgIHNldEtlZXBSZWN0KHZpc2libGVSZWN0KCkpOworICAgIHNldEtlZXBS
ZWN0KGJvdW5kZWRWaXNpYmxlUmVjdCgpKTsKIH0KIAogUGFzc1JlZlB0cjxUaWxlPiBUaWxlZEJh
Y2tpbmdTdG9yZTo6dGlsZUF0KGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJh
Y2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNr
aW5nU3RvcmUuaAppbmRleCBiM2MzNjVjMzU5Y2UyNjFkOTlhZWE4NGFkOGNlNTY1YzFjYTg3ZTRk
Li40ZTRiMGIzZTVjMGU3ZjczNDBlMjc5YzhhODVmMGE3YmJkNzM5NDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAg
LTEwMiw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0VGlsZShjb25zdCBUaWxlOjpD
b29yZGluYXRlJiBjb29yZGluYXRlLCBQYXNzUmVmUHRyPFRpbGU+IHRpbGUpOwogICAgIHZvaWQg
cmVtb3ZlVGlsZShjb25zdCBUaWxlOjpDb29yZGluYXRlJiBjb29yZGluYXRlKTsKIAotICAgIElu
dFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdCgpIGNvbnN0OworICAgIEludFJlY3QgYm91bmRlZFZp
c2libGVDb250ZW50c1JlY3QoKSBjb25zdDsKKyAgICBJbnRSZWN0IGJvdW5kZWRWaXNpYmxlUmVj
dCgpIGNvbnN0OwogICAgIEludFJlY3QgdmlzaWJsZVJlY3QoKSBjb25zdDsKIAogICAgIGZsb2F0
IGNvdmVyYWdlUmF0aW8oY29uc3QgSW50UmVjdCYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173258</attachid>
            <date>2012-11-09 03:32:15 -0800</date>
            <delta_ts>2012-11-09 04:13:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101656-20121109203010.patch</filename>
            <type>text/plain</type>
            <size>7759</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxNDcwNjU3ZDRlMGEy
OTk3N2Y4YWFhMjU0MDUxNzk0N2U5NjRjOC4uOWE3MDRkZWY4NWI2MDNlNzJkMDQxZGQ5NjMzYWU2
NmJmZjhjYzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTExLTA5ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZW1vdmUgYSBiYWNraW5nIHN0b3JlIG9mIEdyYXBoaWNzTGF5ZXIgd2hl
biB0aGUgbGF5ZXIgaXMgZmFyIGZyb20gdGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUgY29tcHV0ZXMg
Y292ZXIgYW5kIGtlZXAgcmVjdHMgdG8gY3JlYXRlLCBrZWVwIG9yIHJlbW92ZSB0aWxlcworICAg
ICAgICBzbWFydGx5LCBidXQgY3VycmVudGx5IFRpbGVkQmFja2luZ1N0b3JlIGV4cGVjdHMgYSBj
b250ZW50cyByZWN0IGlzIGJpZyBlbm91Z2gKKyAgICAgICAgdG8gY292ZXIgdGhlIHZpc2libGVS
ZWN0LiBIb3dldmVyLCB3aGVuIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIFRCUywgaXQK
KyAgICAgICAgaXMgdXN1YWxseSB3cm9uZyBleHBlY3RhdGlvbi4KKworICAgICAgICBXZSBtdXN0
IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVSZWN0LCBpbnN0
ZWFkIG9mCisgICAgICAgIHRoZSByZWN0IGludGVyc2VjdGluZyB0aGUgdmlzaWJsZVJlY3Qgd2l0
aCBtX3JlY3QsIGJlY2F1c2UgVEJTIGNhbiBiZQorICAgICAgICB1c2VkIGFzIGEgYmFja2luZyBz
dG9yZSBvZiBHcmFwaGljc0xheWVyIGFuZCB0aGUgdmlzaWJsZSByZWN0IHVzdWFsbHkKKyAgICAg
ICAgZG9lcyBub3QgaW50ZXJzZWN0IHdpdGggbV9yZWN0LgorICAgICAgICBJbiB0aGUgYmVsb3cg
Y2FzZSwgdGhlIGludGVyc2VjdGluZyByZWN0IGlzIGFuIGVtcHR5LgorCisgICAgICAgICArLS0t
LS0tLS0tLS0tLS0tKworICAgICAgICAgfCAgICAgICAgICAgICAgIHwKKyAgICAgICAgIHwgICBt
X3JlY3QgICAgICB8CisgICAgICAgICB8ICAgICAgICstLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKworICAgICAgICAgfCAgICAgICB8IEhFUkUgIHwgIGNvdmVyIG9yIGtlZXAgICAgICAg
IHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rICAgICAgcmVjdCAgICAgICAgICAgICB8Cisg
ICAgICAgICAgICAgICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAg
ICAgICAgICAgICB8ICAgICAgICAgfCB2aXNpYmxlIHwgICAgICAgICAgIHwKKyAgICAgICAgICAg
ICAgICAgfCAgICAgICAgIHwgIHJlY3QgICB8ICAgICAgICAgICB8CisgICAgICAgICAgICAgICAg
IHwgICAgICAgICArLS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKworCisgICAgICAgIFdlIG11c3QgY3JlYXRlIG9yIGtlZXAgdGhl
IHRpbGVzIGluIHRoZSBIRVJFIHJlZ2lvbi4gQ3VycmVudGx5IGluIHRoZQorICAgICAgICBjYXNl
LCB3ZSBkbyBub3QgY3JlYXRlIG9yIGtlZXAgdGlsZXMgb24gdGhlIEhFUkUgcmVnaW9uLiBNb3Jl
b3ZlciwgaW4KKyAgICAgICAgdGhlIGNhc2UsIHdlIGVhcmx5IHJldHVybiwgd2hpY2ggbWVhbnMg
d2UgZG9uJ3QgcmVtb3ZlIGFueSB0aWxlcy4gSXQKKyAgICAgICAgY2F1c2VzIHRvIHdhc3RlIGhl
YXAgYW5kIHZpZGVvIG1lbW9yeS4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgVGlsZWRC
YWNraW5nU3RvcmUgdG8gbWFuYWdlIHRpbGVzIHNtYXJ0bHkgZm9yCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzLgorCisgICAgICAgIENoYW5naW5nIGNhY2hlIHBvbGljeSBpcyBub3QgdGVz
dGFibGUgaW4gbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6
OnZpc2libGVSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp2aXNp
YmxlQXJlYUlzQ292ZXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6
Y3JlYXRlVGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmFkanVz
dEZvckNvbnRlbnRzUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6
cmVtb3ZlQWxsTm9uVmlzaWJsZVRpbGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9U
aWxlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoVGlsZWRCYWNraW5nU3RvcmUpOgorCiAyMDEy
LTExLTA4ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJ
bmRleGVkREI6IHN3aXRjaCBmcm9udGVuZCB0byB1c2UgaW50NjRfdC1iYXNlZCByZWZlcmVuY2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5jcHAKaW5kZXggYzU2NGRiZWQwNmQ4ZDkyN2E3MTVkMjM2ZDc3NDhkZTdhZGUwMmM1
OS4uZmNlYWRhYTg0M2I0NzI4OWMyZDNkODEwNjQyZjZiOGM3MDlhOTE4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNw
cApAQCAtMTcwLDE0ICsxNzAsOSBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpwYWludChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgY29udGV4dC0+
cmVzdG9yZSgpOwogfQogCi1JbnRSZWN0IFRpbGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlQ29udGVu
dHNSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaW50ZXJzZWN0aW9uKG1fY2xpZW50LT50aWxl
ZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCksIG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNv
bnRlbnRzUmVjdCgpKTsKLX0KLQogSW50UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dmlzaWJsZVJl
Y3QoKSBjb25zdAogewotICAgIHJldHVybiBtYXBGcm9tQ29udGVudHModmlzaWJsZUNvbnRlbnRz
UmVjdCgpKTsKKyAgICByZXR1cm4gbWFwRnJvbUNvbnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tp
bmdTdG9yZVZpc2libGVSZWN0KCkpOwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpzZXRD
b250ZW50c1NjYWxlKGZsb2F0IHNjYWxlKQpAQCAtMjM2LDcgKzIzMSw4IEBAIGZsb2F0IFRpbGVk
QmFja2luZ1N0b3JlOjpjb3ZlcmFnZVJhdGlvKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvbnRl
bnRzUmVjdCkgY29uCiAKIGJvb2wgVGlsZWRCYWNraW5nU3RvcmU6OnZpc2libGVBcmVhSXNDb3Zl
cmVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gY292ZXJhZ2VSYXRpbyh2aXNpYmxlQ29udGVudHNS
ZWN0KCkpID09IDEuMGY7CisgICAgSW50UmVjdCBib3VuZGVkVmlzaWJsZUNvbnRlbnRzUmVjdCA9
IGludGVyc2VjdGlvbihtX2NsaWVudC0+dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpLCBt
X2NsaWVudC0+dGlsZWRCYWNraW5nU3RvcmVDb250ZW50c1JlY3QoKSk7CisgICAgcmV0dXJuIGNv
dmVyYWdlUmF0aW8oYm91bmRlZFZpc2libGVDb250ZW50c1JlY3QpID09IDEuMGY7CiB9CiAKIHZv
aWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKQEAgLTI0OSwxMiArMjQ1LDM2IEBA
IHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKICAgICBjb25zdCBJbnRSZWN0
IHByZXZpb3VzUmVjdCA9IG1fcmVjdDsKICAgICBtX3JlY3QgPSBtYXBGcm9tQ29udGVudHMobV9j
bGllbnQtPnRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCkpOwogCisgICAgaWYgKG1fcmVj
dC5pc0VtcHR5KCkpIHsKKyAgICAgICAgc2V0Q292ZXJSZWN0KEludFJlY3QoKSk7CisgICAgICAg
IHNldEtlZXBSZWN0KEludFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
KiBXZSBtdXN0IGNvbXB1dGUgY292ZXIgYW5kIGtlZXAgcmVjdHMgdXNpbmcgdGhlIHZpc2libGVS
ZWN0LCBpbnN0ZWFkIG9mIHRoZSByZWN0IGludGVyc2VjdGluZyB0aGUgdmlzaWJsZVJlY3Qgd2l0
aCBtX3JlY3QsCisgICAgICogYmVjYXVzZSBUQlMgY2FuIGJlIHVzZWQgYXMgYSBiYWNraW5nIHN0
b3JlIG9mIEdyYXBoaWNzTGF5ZXIgYW5kIHRoZSB2aXNpYmxlIHJlY3QgdXN1YWxseSBkb2VzIG5v
dCBpbnRlcnNlY3Qgd2l0aCBtX3JlY3QuCisgICAgICogSW4gdGhlIGJlbG93IGNhc2UsIHRoZSBp
bnRlcnNlY3RpbmcgcmVjdCBpcyBhbiBlbXB0eS4KKyAgICAgKgorICAgICAqICArLS0tLS0tLS0t
LS0tLS0tKworICAgICAqICB8ICAgICAgICAgICAgICAgfAorICAgICAqICB8ICAgbV9yZWN0ICAg
ICAgfAorICAgICAqICB8ICAgICAgICstLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwor
ICAgICAqICB8ICAgICAgIHwgSEVSRSAgfCAgY292ZXIgb3Iga2VlcCAgICAgICAgfAorICAgICAq
ICArLS0tLS0tLS0tLS0tLS0tKyAgICAgIHJlY3QgICAgICAgICAgICAgfAorICAgICAqICAgICAg
ICAgIHwgICAgICAgICArLS0tLS0tLS0tKyAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwg
ICAgICAgICB8IHZpc2libGUgfCAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAg
ICB8ICByZWN0ICAgfCAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAgICArLS0t
LS0tLS0tKyAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAqICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorICAgICAqICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KworICAgICAqCisgICAgICogV2UgbXVzdCBjcmVhdGUgb3Iga2VlcCB0aGUgdGlsZXMgaW4gdGhl
IEhFUkUgcmVnaW9uLgorICAgICAqLworCiAgICAgY29uc3QgSW50UmVjdCB2aXNpYmxlUmVjdCA9
IHRoaXMtPnZpc2libGVSZWN0KCk7CiAgICAgbV92aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0Owog
Ci0gICAgaWYgKHZpc2libGVSZWN0LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAg
SW50UmVjdCBjb3ZlclJlY3Q7CiAgICAgSW50UmVjdCBrZWVwUmVjdDsKICAgICBjb21wdXRlQ292
ZXJBbmRLZWVwUmVjdCh2aXNpYmxlUmVjdCwgY292ZXJSZWN0LCBrZWVwUmVjdCk7CkBAIC0yNjIs
NiArMjgyLDkgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgIHNl
dENvdmVyUmVjdChjb3ZlclJlY3QpOwogICAgIHNldEtlZXBSZWN0KGtlZXBSZWN0KTsKIAorICAg
IGlmIChjb3ZlclJlY3QuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBSZXNp
emUgdGlsZXMgYXQgdGhlIGVkZ2UgaW4gY2FzZSB0aGUgY29udGVudHMgc2l6ZSBoYXMgY2hhbmdl
ZCwgYnV0IG9ubHkgZG8gc28KICAgICAvLyBhZnRlciBoYXZpbmcgZHJvcHBlZCB0aWxlcyBvdXRz
aWRlIHRoZSBrZWVwIHJlY3QuCiAgICAgYm9vbCBkaWRSZXNpemVUaWxlcyA9IGZhbHNlOwpAQCAt
MzE4LDYgKzM0MSwxMiBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjphZGp1c3RGb3JDb250ZW50
c1JlY3QoSW50UmVjdCYgcmVjdCkgY29uc3QKICAgICBJbnRSZWN0IGJvdW5kcyA9IG1fcmVjdDsK
ICAgICBJbnRTaXplIGNhbmRpZGF0ZVNpemUgPSByZWN0LnNpemUoKTsKIAorICAgIC8vIElmIGNh
bmRpZGF0ZVNpemUgaXMgYmlnZ2VyIHRoYW4gYm91bmRzIChpLmUuIFRCUyBpcyB1c2VkIGFzIGEg
YmFja2luZyBzdG9yZSBvZiBHcmFwaGljc0xheWVyKSwgd2Ugc2tpcCB0aGUgYmVsb3cgYWRqdXN0
aW5nIGxvZ2ljIHdoaWNoIGV4cGVjdHMgYm91bmRzIHRvIGNvdmVyIHRoZSBnaXZlbiByZWN0Lgor
ICAgIGlmIChjYW5kaWRhdGVTaXplLndpZHRoKCkgPiBib3VuZHMud2lkdGgoKSAmJiBjYW5kaWRh
dGVTaXplLmhlaWdodCgpID4gYm91bmRzLmhlaWdodCgpKSB7CisgICAgICAgIHJlY3QuaW50ZXJz
ZWN0KGJvdW5kcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBXZSB3aWxsIHRy
eSB0byBrZWVwIHRoZSBjb3ZlciBhbmQga2VlcCByZWN0IHRoZSBzYW1lIHNpemUgYXQgYWxsIHRp
bWUsIHdoaWNoCiAgICAgLy8gbWlnaHQgbm90IGJlIHRoZSBjYXNlIHdoZW4gYXQgdGhlIGNvbnRl
bnQgZWRnZXMuCiAKQEAgLTQ0MSw3ICs0NzAsOCBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpz
ZXRLZWVwUmVjdChjb25zdCBJbnRSZWN0JiBrZWVwUmVjdCkKIAogdm9pZCBUaWxlZEJhY2tpbmdT
dG9yZTo6cmVtb3ZlQWxsTm9uVmlzaWJsZVRpbGVzKCkKIHsKLSAgICBzZXRLZWVwUmVjdCh2aXNp
YmxlUmVjdCgpKTsKKyAgICBJbnRSZWN0IGJvdW5kZWRWaXNpYmxlUmVjdCA9IG1hcEZyb21Db250
ZW50cyhpbnRlcnNlY3Rpb24obV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlVmlzaWJsZVJlY3Qo
KSwgbV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCkpKTsKKyAgICBzZXRL
ZWVwUmVjdChib3VuZGVkVmlzaWJsZVJlY3QpOwogfQogCiBQYXNzUmVmUHRyPFRpbGU+IFRpbGVk
QmFja2luZ1N0b3JlOjp0aWxlQXQoY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgY29vcmRpbmF0ZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVk
QmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJh
Y2tpbmdTdG9yZS5oCmluZGV4IGIzYzM2NWMzNTljZTI2MWQ5OWFlYTg0YWQ4Y2U1NjVjMWNhODdl
NGQuLjA4MmJlNzBjOGViMjc1MTc5MGI3YWI4Nzc1Njk0OWJhYzgxYTZkMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApA
QCAtMTAyLDcgKzEwMiw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRUaWxlKGNvbnN0IFRpbGU6
OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUsIFBhc3NSZWZQdHI8VGlsZT4gdGlsZSk7CiAgICAgdm9p
ZCByZW1vdmVUaWxlKGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUpOwogCi0gICAg
SW50UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3Q7CiAgICAgSW50UmVjdCB2aXNpYmxl
UmVjdCgpIGNvbnN0OwogCiAgICAgZmxvYXQgY292ZXJhZ2VSYXRpbyhjb25zdCBJbnRSZWN0Jikg
Y29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>