<?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>103298</bug_id>
          
          <creation_ts>2012-11-26 14:46:07 -0800</creation_ts>
          <short_desc>Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.</short_desc>
          <delta_ts>2012-11-27 17:21:53 -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>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>103171</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775918</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 14:46:07 -0800</bug_when>
    <thetext>Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775922</commentid>
    <comment_count>1</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 14:46:26 -0800</bug_when>
    <thetext>*** Bug 103215 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775926</commentid>
    <comment_count>2</comment_count>
      <attachid>176079</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 14:48:45 -0800</bug_when>
    <thetext>Created attachment 176079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776186</commentid>
    <comment_count>3</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 18:31:05 -0800</bug_when>
    <thetext>It is strange. In new bug, this patch is purple too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776188</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-26 18:32:13 -0800</bug_when>
    <thetext>Looking at the changelog, seems like it&apos;s depending on the surface bug, which is not yet in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776189</commentid>
    <comment_count>5</comment_count>
      <attachid>176139</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 18:32:32 -0800</bug_when>
    <thetext>Created attachment 176139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776225</commentid>
    <comment_count>6</comment_count>
      <attachid>176152</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 19:34:26 -0800</bug_when>
    <thetext>Created attachment 176152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776302</commentid>
    <comment_count>7</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 21:22:06 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Looking at the changelog, seems like it&apos;s depending on the surface bug, which is not yet in.

Oops! You&apos;re right! EWS is smart!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776304</commentid>
    <comment_count>8</comment_count>
      <attachid>176164</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 21:24:40 -0800</bug_when>
    <thetext>Created attachment 176164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776313</commentid>
    <comment_count>9</comment_count>
      <attachid>176164</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-26 21:35:54 -0800</bug_when>
    <thetext>Comment on attachment 176164
Patch

Before this is committed, are the assert regressions from the previous patches all taken care of? I don&apos;t want to run too fast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776316</commentid>
    <comment_count>10</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-26 21:42:56 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 176164 [details])
&gt; Before this is committed, are the assert regressions from the previous patches all taken care of? I don&apos;t want to run too fast.

I&apos;m in progress.

In the detail, I&apos;ll make GraphicsLayerTextureMapper traverse TextureMapperLayer tree. After that, TextureMapperLayer::flushCompositingState does not traverse recursively anymore.

After that, I&apos;ll fix Bug 103171.
LayerTreeRenderer::setLayerState can synchronize with TextureMapperLayer at that time.

All will be finished today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776419</commentid>
    <comment_count>11</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-26 23:53:59 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 176164 [details])
&gt; Before this is committed, are the assert regressions from the previous patches all taken care of? I don&apos;t want to run too fast.

I am a bit concerned about the pace here as well. Lately i see a lot of patches going in in this area. And some of these touch quite integral parts of the architecture for several ports.
I am also quite confident that some of the patches cause regressions. Not all of these are caught by LayoutTests unfortunately.
It would be nice if we would at least get some time to check for such issues and to fix them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776424</commentid>
    <comment_count>12</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-27 00:05:19 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 176164 [details] [details])
&gt; &gt; Before this is committed, are the assert regressions from the previous patches all taken care of? I don&apos;t want to run too fast.
&gt; 
&gt; I am a bit concerned about the pace here as well. Lately i see a lot of patches going in in this area. And some of these touch quite integral parts of the architecture for several ports.
&gt; I am also quite confident that some of the patches cause regressions. Not all of these are caught by LayoutTests unfortunately.

I agree. I might have been a bit hasty in my reviews; My sense was that the changes so far have been going in the right direction and that Huang was diligently following up on issues, but now we should go slower and if some regressions still exist either fix them or roll back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777275</commentid>
    <comment_count>13</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-11-27 15:29:52 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 176164 [details] [details] [details])
&gt; &gt; &gt; Before this is committed, are the assert regressions from the previous patches all taken care of? I don&apos;t want to run too fast.
&gt; &gt; 
&gt; &gt; I am a bit concerned about the pace here as well. Lately i see a lot of patches going in in this area. And some of these touch quite integral parts of the architecture for several ports.
&gt; &gt; I am also quite confident that some of the patches cause regressions. Not all of these are caught by LayoutTests unfortunately.
&gt; 
&gt; I agree. I might have been a bit hasty in my reviews; My sense was that the changes so far have been going in the right direction and that Huang was diligently following up on issues, but now we should go slower and if some regressions still exist either fix them or roll back.

I think so. My mind has been a bit urgent in that I want to improve coordinated graphics ASAP. From now, I&apos;ll take more time to test and do my best to fix regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777403</commentid>
    <comment_count>14</comment_count>
      <attachid>176164</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 17:21:48 -0800</bug_when>
    <thetext>Comment on attachment 176164
Patch

Clearing flags on attachment: 176164

Committed r135956: &lt;http://trac.webkit.org/changeset/135956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777404</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 17:21:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176079</attachid>
            <date>2012-11-26 14:48:45 -0800</date>
            <delta_ts>2012-11-26 18:32:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103298-20121127074606.patch</filename>
            <type>text/plain</type>
            <size>11469</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzRiZGZhOTkwZTg4ZTQz
ODJmYjU2YzU4YjY1NDFhMGUyYjkyYjNjMC4uNDIzNWMwNDUyNGJhMDg2ZTFkMGFhYjk3MjdhNzJm
ZTdkNTQ3MGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTI2ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZWZhY3RvciBjb2RlIG1hbmFnaW5nIGEgYmFja2luZyBzdG9yZSBpbiBM
YXllclRyZWVSZW5kZXJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMzI5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgTGF5ZXJUcmVlUmVuZGVyZXIgYXNzaWduIGEgY29u
dGVudCBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBvbmx5IGlu
IHNldExheWVyU3RhdGUoKS4gQ3VycmVudGx5LCBjcmVhdGVUaWxlKCkgY2FuIGFzc2lnbgorICAg
ICAgICB0aGUgYmFja2luZyBzdG9yZSB0byBUZXh0dXJlTWFwcGVyTGF5ZXIgYW5kIGl0IGNhbiBi
cmVhayB0aGUgaW52YXJpYW50IGNvbmRpdGlvbgorICAgICAgICBvZiBUZXh0dXJlTWFwcGVyTGF5
ZXI6IFRleHR1cmVNYXBwZXJMYXllciBjYW4gaGF2ZSBpdHMgb3duIGJhY2tpbmcgc3RvcmUgb25s
eSBpZgorICAgICAgICB0aGUgbGF5ZXIgaGFzIGZvbGxvd2luZyBjb25kaXRpb25zOiBkcmF3c0Nv
bnRlbnQsIGNvbnRlbnRzVmlzaWJsZSBhbmQgbm9uIGVtcHR5CisgICAgICAgIHNpemUuCisKKyAg
ICAgICAgSW4gYWRkaXRpb24sIHRoZSBtb2RpZmllZCBjb2RlIGFib3V0IGNyZWF0aW5nIGFuZCBy
ZW1vdmluZyBhIGJhY2tpbmcgc3RvcmUKKyAgICAgICAgbWF0Y2hlcyB0aGUgc2FtZSBwdXJwb3Nl
IGNvZGUgb2YgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGFuZAorICAgICAgICBHcmFwaGljc0xh
eWVyVGV4dHVyZU1hcGVwci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGF5ZXJTaG91
bGRIYXZlQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlUmVuZGVyZXI6OmdldEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZVJlbmRlcmVyOjpwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVCYWNraW5nU3RvcmUpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9M
YXllclNpemUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGls
ZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVUaWxlKToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6YWRqdXN0Q29udGVudHNTY2FsZSk6CisgICAgICAgICAgICBUaGlzIG1ldGhvZCBkb2Vz
IG5vdCBjcmVhdGUgYSBiYWNraW5nIHN0b3JlIGFueW1vcmUgYmVjYXVzZSBmbHVzaENvbXBvc2l0
aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKKyAgICAgICAgICAgIGNhbiBjcmVhdGUgYSBiYWNr
aW5nIHN0b3JlIGlmIG5lZWRlZC4gTW9yZW92ZXIsIHdlIG11c3Qgc3luYyBhIGxheWVyIHN0YXRl
IHByaW9yIHRvIGNyZWF0aW5nIGEgYmFja2luZyBzdG9yZQorICAgICAgICAgICAgYWZ0ZXIgdGhp
cyBwYXRjaCwgYmVjYXVzZSBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGlsZSgpIGRvZXMgbm90
IGNyZWF0ZSBhIGJhY2tpbmcgc3RvcmUgYW55bW9yZS4KKwogMjAxMi0xMS0yMyAgSHVhbmcgRG9u
Z3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGluYXRlZCBH
cmFwaGljczogQWRkIENvb3JkaW5hdGVkU3VyZmFjZSB0byByZW1vdmUgdGhlIGRlcGVuZGVuY3kg
b2YgU2hhcmVhYmxlU3VyZmFjZSBmcm9tIENvb3JkaW5hdGVkIEdyYXBoaWNzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDAxOWIzN2I4OThiOWU1
NjQwMmIxZDNmMWFiZTE3OGE2ZjkxY2Q5M2QuLjY2MTgwYTZmZTgwZjRiNDY1MTQ2ZjFhYjBmNmI1
MjQ3NzIyZmYwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9y
ZS5jcHAKQEAgLTkyLDExICs5Miw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnVw
ZGF0ZVRpbGUoaW50IGlkLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zCiAgICAgaXQt
PnZhbHVlLnNldEJhY2tCdWZmZXIodGlsZVJlY3QsIHNvdXJjZVJlY3QsIGJhY2tCdWZmZXIsIG9m
ZnNldCk7CiB9CiAKLWJvb2wgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmlzRW1wdHkoKSBjb25z
dAotewotICAgIHJldHVybiBtX3RpbGVzLnNpemUoKSA9PSBtX3RpbGVzVG9SZW1vdmUuc2l6ZSgp
OwotfQotCiBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
Ojp0ZXh0dXJlKCkgY29uc3QKIHsKICAgICBIYXNoTWFwPGludCwgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmVUaWxlPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV90aWxlcy5lbmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDAyZDkxNWU2NDE4NGUyMTc1
ZDQxZjQzZjQzZTNjMjUzN2QwZDQwZDAuLmVmMjc3ZTIyYmVhODg4NTVmNzQ0MDJkMzE1YmMwMzg3
YTM5NThmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaApA
QCAtNjEsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUaWxlKGludCk7CiAgICAg
dm9pZCByZW1vdmVBbGxUaWxlcygpOwogICAgIHZvaWQgdXBkYXRlVGlsZShpbnQsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgUGFzc1JlZlB0cjxDb29y
ZGluYXRlZFN1cmZhY2U+LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwotICAgIGJvb2wgaXNF
bXB0eSgpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0
b3JlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUpOyB9CiAgICAgdm9pZCBjb21taXRUaWxlT3BlcmF0aW9ucyhXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyKik7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggMTQ0YTMxZGMx
ZGI4MzQxMjdmNmU3NDdlMDVmZjE3YjZmYjQyZGNiZC4uMzUyNWNiZWM4OGE4M2RlMmVkOGU4ZDNl
OGQ2MTQwNzIyNzA2MGYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApA
QCAtNjYsNiArNjYsMTEgQEAgc3RhdGljIEZsb2F0UG9pbnQgYm91bmRlZFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdAogICAgIHJldHVybiBGbG9h
dFBvaW50KHNjcm9sbFBvc2l0aW9uWCwgc2Nyb2xsUG9zaXRpb25ZKTsKIH0KIAorc3RhdGljIGJv
b2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQorewor
ICAgIHJldHVybiBsYXllci0+ZHJhd3NDb250ZW50KCkgJiYgbGF5ZXItPmNvbnRlbnRzQXJlVmlz
aWJsZSgpICYmICFsYXllci0+c2l6ZSgpLmlzRW1wdHkoKTsKK30KKwogTGF5ZXJUcmVlUmVuZGVy
ZXI6OkxheWVyVHJlZVJlbmRlcmVyKExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkqIGxheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkpCiAgICAgOiBtX2xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkobGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCkBAIC0zNTEs
NiArMzU2LDcgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShXZWJMYXll
cklEIGlkLCBjb25zdCBXZWJMYXllckluZm8mIGxheWVySW4KICAgICAgICAgbV9maXhlZExheWVy
cy5yZW1vdmUoaWQpOwogCiAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5
ZXJJbmZvLmltYWdlSUQpOworICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVyKTsK
IAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KICAgICBsYXllci0+c2V0
TWFza3NUb0JvdW5kcyhsYXllckluZm8uaXNSb290TGF5ZXIgPyBmYWxzZSA6IGxheWVySW5mby5t
YXNrc1RvQm91bmRzKTsKQEAgLTQwMywzNCArNDA5LDQ1IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVy
ZXI6OnNldFJvb3RMYXllcklEKFdlYkxheWVySUQgbGF5ZXJJRCkKICAgICBtX3Jvb3RMYXllci0+
YWRkQ2hpbGQobGF5ZXIpOwogfQogCi1QYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCitDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogTGF5ZXJUcmVlUmVuZGVyZXI6Omdl
dEJhY2tpbmdTdG9yZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogewogICAgIFRleHR1
cmVNYXBwZXJMYXllciogbGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihncmFwaGljc0xheWVy
KTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9y
ZT4gYmFja2luZ1N0b3JlID0gc3RhdGljX2Nhc3Q8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihs
YXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwotICAgIGlmICghYmFja2luZ1N0b3JlKSB7Ci0g
ICAgICAgIGJhY2tpbmdTdG9yZSA9IENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKTsK
LSAgICAgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShiYWNraW5nU3RvcmUpOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3Rv
cmUoKS5nZXQoKSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnByZXBhcmVDb250ZW50
QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCit7CisgICAgaWYgKCFs
YXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoZ3JhcGhpY3NMYXllcikpIHsKKyAgICAgICAgcmVt
b3ZlQmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOworICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwotICAgIHJldHVybiBiYWNraW5nU3RvcmU7CisKKyAg
ICBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChncmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXll
ciogZ3JhcGhpY3NMYXllcikKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUJhY2tpbmdT
dG9yZUlmTmVlZGVkKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVy
ZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKGdyYXBoaWNzTGF5ZXIp
OwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxh
eWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7Ci0gICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7Ci0g
ICAgaWYgKGJhY2tpbmdTdG9yZS0+aXNFbXB0eSgpKQotICAgICAgICBsYXllci0+c2V0QmFja2lu
Z1N0b3JlKDApOworICAgIGlmIChsYXllci0+YmFja2luZ1N0b3JlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKENv
b3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKSk7CisgICAgYmFja2luZ1N0b3JlLT5zZXRT
aXplKGdyYXBoaWNzTGF5ZXItPnNpemUoKSk7CisgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShi
YWNraW5nU3RvcmUpOwogfQogCi12b2lkIExheWVyVHJlZVJlbmRlcmVyOjpyZXNldEJhY2tpbmdT
dG9yZVNpemVUb0xheWVyU2l6ZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQordm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1h
cHBlckxheWVyKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRy
PENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29y
ZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7CisgICAg
bGF5ZXItPnNldEJhY2tpbmdTdG9yZSgwKTsKK30KKwordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
cmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NM
YXllcikKK3sKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gZ2V0
QmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwog
ICAgIGJhY2tpbmdTdG9yZS0+c2V0U2l6ZShncmFwaGljc0xheWVyLT5zaXplKCkpOwogfQpAQCAt
NDM5LDcgKzQ1Niw4IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZVRpbGUoV2ViTGF5
ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBmbG9hdCBzY2FsZSkKIHsKICAgICBHcmFwaGljc0xh
eWVyKiBsYXllciA9IGxheWVyQnlJRChsYXllcklEKTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAg
IFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gZ2V0QmFja2lu
Z1N0b3JlKGxheWVyKTsKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3Jl
ID0gZ2V0QmFja2luZ1N0b3JlKGxheWVyKTsKKyAgICBBU1NFUlQoYmFja2luZ1N0b3JlKTsKICAg
ICBiYWNraW5nU3RvcmUtPmNyZWF0ZVRpbGUodGlsZUlELCBzY2FsZSk7CiAgICAgcmVzZXRCYWNr
aW5nU3RvcmVTaXplVG9MYXllclNpemUobGF5ZXIpOwogfQpAQCAtNDQ4LDExICs0NjYsMTMgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlVGlsZShXZWJMYXllcklEIGxheWVySUQsIGlu
dCB0aWxlSUQpCiB7CiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXllckJ5SUQobGF5ZXJJ
RCk7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICBSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7CisgICAgQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgaWYgKCFiYWNraW5nU3RvcmUpCisgICAgICAgIHJldHVybjsKKwogICAgIGJhY2tpbmdTdG9y
ZS0+cmVtb3ZlVGlsZSh0aWxlSUQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJT
aXplKGxheWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJh
Y2tpbmdTdG9yZSk7Ci0gICAgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQobGF5ZXIpOwogfQog
CiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjp1cGRhdGVUaWxlKFdlYkxheWVySUQgbGF5ZXJJRCwg
aW50IHRpbGVJRCwgY29uc3QgVGlsZVVwZGF0ZSYgdXBkYXRlKQpAQCAtNDYwLDYgKzQ4MCw3IEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBp
bnQgdGlsZUlELCBjb25zdCBUaWxlVXBkCiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXll
ckJ5SUQobGF5ZXJJRCk7CiAgICAgQVNTRVJUKGxheWVyKTsKICAgICBSZWZQdHI8Q29vcmRpbmF0
ZWRCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7CiAgICAgYmFja2luZ1N0b3JlLT51cGRhdGVUaWxlKHRp
bGVJRCwgdXBkYXRlLnNvdXJjZVJlY3QsIHVwZGF0ZS50aWxlUmVjdCwgdXBkYXRlLnN1cmZhY2Us
IHVwZGF0ZS5vZmZzZXQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKGxh
eWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJhY2tpbmdT
dG9yZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA3MmI1MDU5NzY0MGUw
Yjc3OWVhY2NiZDdlODkxNzcxYjZkOWVmNzc1Li42ZDI4Mzc0ZmU3OWVkZDM2MThjOGYwMmNlMGY3
NDRjZWRkNmM4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTE0NSw4
ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZUxheWVyKFdlYkxheWVySUQpOwog
ICAgIHZvaWQgY29tbWl0VGlsZU9wZXJhdGlvbnMoKTsKIAotICAgIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZWRCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVy
Kik7Ci0gICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKik7CisgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqIGdldEJhY2tpbmdTdG9yZShX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBwcmVwYXJlQ29udGVudEJhY2tpbmdT
dG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBjcmVhdGVCYWNraW5nU3Rv
cmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCByZW1vdmVCYWNr
aW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5n
U3RvcmVTaXplVG9MYXllclNpemUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPFdlYkxheWVySUQsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqPiBMYXllck1h
cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuY3BwCmluZGV4IDVlNTRjZDk4OWNhNzNiYWYzZDZiOWI5OGE5Njk2ZDkxNjc5ZjFj
NzkuLjgxNWRkNDk1YjEzNjFmOTVhODc1ODc0NTc4MTRiNzk5N2M0ZDZiYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNw
cApAQCAtNjUzLDggKzY1Myw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGp1
c3RDb250ZW50c1NjYWxlKCkKIAogICAgIC8vIE5vIHJlYXNvbiB0byBzYXZlIHRoZSBwcmV2aW91
cyBiYWNraW5nIHN0b3JlIGZvciBub24tdmlzaWJsZSBhcmVhcy4KICAgICBtX3ByZXZpb3VzQmFj
a2luZ1N0b3JlLT5yZW1vdmVBbGxOb25WaXNpYmxlVGlsZXMoKTsKLQotICAgIGNyZWF0ZUJhY2tp
bmdTdG9yZSgpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFj
a2luZ1N0b3JlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176139</attachid>
            <date>2012-11-26 18:32:32 -0800</date>
            <delta_ts>2012-11-26 19:34:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103298-20121127112953.patch</filename>
            <type>text/plain</type>
            <size>11469</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzRiZGZhOTkwZTg4ZTQz
ODJmYjU2YzU4YjY1NDFhMGUyYjkyYjNjMC4uNDIzNWMwNDUyNGJhMDg2ZTFkMGFhYjk3MjdhNzJm
ZTdkNTQ3MGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTI2ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZWZhY3RvciBjb2RlIG1hbmFnaW5nIGEgYmFja2luZyBzdG9yZSBpbiBM
YXllclRyZWVSZW5kZXJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMzI5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgTGF5ZXJUcmVlUmVuZGVyZXIgYXNzaWduIGEgY29u
dGVudCBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBvbmx5IGlu
IHNldExheWVyU3RhdGUoKS4gQ3VycmVudGx5LCBjcmVhdGVUaWxlKCkgY2FuIGFzc2lnbgorICAg
ICAgICB0aGUgYmFja2luZyBzdG9yZSB0byBUZXh0dXJlTWFwcGVyTGF5ZXIgYW5kIGl0IGNhbiBi
cmVhayB0aGUgaW52YXJpYW50IGNvbmRpdGlvbgorICAgICAgICBvZiBUZXh0dXJlTWFwcGVyTGF5
ZXI6IFRleHR1cmVNYXBwZXJMYXllciBjYW4gaGF2ZSBpdHMgb3duIGJhY2tpbmcgc3RvcmUgb25s
eSBpZgorICAgICAgICB0aGUgbGF5ZXIgaGFzIGZvbGxvd2luZyBjb25kaXRpb25zOiBkcmF3c0Nv
bnRlbnQsIGNvbnRlbnRzVmlzaWJsZSBhbmQgbm9uIGVtcHR5CisgICAgICAgIHNpemUuCisKKyAg
ICAgICAgSW4gYWRkaXRpb24sIHRoZSBtb2RpZmllZCBjb2RlIGFib3V0IGNyZWF0aW5nIGFuZCBy
ZW1vdmluZyBhIGJhY2tpbmcgc3RvcmUKKyAgICAgICAgbWF0Y2hlcyB0aGUgc2FtZSBwdXJwb3Nl
IGNvZGUgb2YgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGFuZAorICAgICAgICBHcmFwaGljc0xh
eWVyVGV4dHVyZU1hcGVwci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGF5ZXJTaG91
bGRIYXZlQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlUmVuZGVyZXI6OmdldEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZVJlbmRlcmVyOjpwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVCYWNraW5nU3RvcmUpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9M
YXllclNpemUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGls
ZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVUaWxlKToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6YWRqdXN0Q29udGVudHNTY2FsZSk6CisgICAgICAgICAgICBUaGlzIG1ldGhvZCBkb2Vz
IG5vdCBjcmVhdGUgYSBiYWNraW5nIHN0b3JlIGFueW1vcmUgYmVjYXVzZSBmbHVzaENvbXBvc2l0
aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKKyAgICAgICAgICAgIGNhbiBjcmVhdGUgYSBiYWNr
aW5nIHN0b3JlIGlmIG5lZWRlZC4gTW9yZW92ZXIsIHdlIG11c3Qgc3luYyBhIGxheWVyIHN0YXRl
IHByaW9yIHRvIGNyZWF0aW5nIGEgYmFja2luZyBzdG9yZQorICAgICAgICAgICAgYWZ0ZXIgdGhp
cyBwYXRjaCwgYmVjYXVzZSBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGlsZSgpIGRvZXMgbm90
IGNyZWF0ZSBhIGJhY2tpbmcgc3RvcmUgYW55bW9yZS4KKwogMjAxMi0xMS0yMyAgSHVhbmcgRG9u
Z3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGluYXRlZCBH
cmFwaGljczogQWRkIENvb3JkaW5hdGVkU3VyZmFjZSB0byByZW1vdmUgdGhlIGRlcGVuZGVuY3kg
b2YgU2hhcmVhYmxlU3VyZmFjZSBmcm9tIENvb3JkaW5hdGVkIEdyYXBoaWNzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDAxOWIzN2I4OThiOWU1
NjQwMmIxZDNmMWFiZTE3OGE2ZjkxY2Q5M2QuLjY2MTgwYTZmZTgwZjRiNDY1MTQ2ZjFhYjBmNmI1
MjQ3NzIyZmYwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9y
ZS5jcHAKQEAgLTkyLDExICs5Miw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnVw
ZGF0ZVRpbGUoaW50IGlkLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zCiAgICAgaXQt
PnZhbHVlLnNldEJhY2tCdWZmZXIodGlsZVJlY3QsIHNvdXJjZVJlY3QsIGJhY2tCdWZmZXIsIG9m
ZnNldCk7CiB9CiAKLWJvb2wgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmlzRW1wdHkoKSBjb25z
dAotewotICAgIHJldHVybiBtX3RpbGVzLnNpemUoKSA9PSBtX3RpbGVzVG9SZW1vdmUuc2l6ZSgp
OwotfQotCiBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
Ojp0ZXh0dXJlKCkgY29uc3QKIHsKICAgICBIYXNoTWFwPGludCwgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmVUaWxlPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV90aWxlcy5lbmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDAyZDkxNWU2NDE4NGUyMTc1
ZDQxZjQzZjQzZTNjMjUzN2QwZDQwZDAuLmVmMjc3ZTIyYmVhODg4NTVmNzQ0MDJkMzE1YmMwMzg3
YTM5NThmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaApA
QCAtNjEsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUaWxlKGludCk7CiAgICAg
dm9pZCByZW1vdmVBbGxUaWxlcygpOwogICAgIHZvaWQgdXBkYXRlVGlsZShpbnQsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgUGFzc1JlZlB0cjxDb29y
ZGluYXRlZFN1cmZhY2U+LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwotICAgIGJvb2wgaXNF
bXB0eSgpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0
b3JlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUpOyB9CiAgICAgdm9pZCBjb21taXRUaWxlT3BlcmF0aW9ucyhXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyKik7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggMTQ0YTMxZGMx
ZGI4MzQxMjdmNmU3NDdlMDVmZjE3YjZmYjQyZGNiZC4uMzUyNWNiZWM4OGE4M2RlMmVkOGU4ZDNl
OGQ2MTQwNzIyNzA2MGYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApA
QCAtNjYsNiArNjYsMTEgQEAgc3RhdGljIEZsb2F0UG9pbnQgYm91bmRlZFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdAogICAgIHJldHVybiBGbG9h
dFBvaW50KHNjcm9sbFBvc2l0aW9uWCwgc2Nyb2xsUG9zaXRpb25ZKTsKIH0KIAorc3RhdGljIGJv
b2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQorewor
ICAgIHJldHVybiBsYXllci0+ZHJhd3NDb250ZW50KCkgJiYgbGF5ZXItPmNvbnRlbnRzQXJlVmlz
aWJsZSgpICYmICFsYXllci0+c2l6ZSgpLmlzRW1wdHkoKTsKK30KKwogTGF5ZXJUcmVlUmVuZGVy
ZXI6OkxheWVyVHJlZVJlbmRlcmVyKExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkqIGxheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkpCiAgICAgOiBtX2xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkobGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCkBAIC0zNTEs
NiArMzU2LDcgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShXZWJMYXll
cklEIGlkLCBjb25zdCBXZWJMYXllckluZm8mIGxheWVySW4KICAgICAgICAgbV9maXhlZExheWVy
cy5yZW1vdmUoaWQpOwogCiAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5
ZXJJbmZvLmltYWdlSUQpOworICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVyKTsK
IAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KICAgICBsYXllci0+c2V0
TWFza3NUb0JvdW5kcyhsYXllckluZm8uaXNSb290TGF5ZXIgPyBmYWxzZSA6IGxheWVySW5mby5t
YXNrc1RvQm91bmRzKTsKQEAgLTQwMywzNCArNDA5LDQ1IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVy
ZXI6OnNldFJvb3RMYXllcklEKFdlYkxheWVySUQgbGF5ZXJJRCkKICAgICBtX3Jvb3RMYXllci0+
YWRkQ2hpbGQobGF5ZXIpOwogfQogCi1QYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCitDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogTGF5ZXJUcmVlUmVuZGVyZXI6Omdl
dEJhY2tpbmdTdG9yZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogewogICAgIFRleHR1
cmVNYXBwZXJMYXllciogbGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihncmFwaGljc0xheWVy
KTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9y
ZT4gYmFja2luZ1N0b3JlID0gc3RhdGljX2Nhc3Q8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihs
YXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwotICAgIGlmICghYmFja2luZ1N0b3JlKSB7Ci0g
ICAgICAgIGJhY2tpbmdTdG9yZSA9IENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKTsK
LSAgICAgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShiYWNraW5nU3RvcmUpOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3Rv
cmUoKS5nZXQoKSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnByZXBhcmVDb250ZW50
QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCit7CisgICAgaWYgKCFs
YXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoZ3JhcGhpY3NMYXllcikpIHsKKyAgICAgICAgcmVt
b3ZlQmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOworICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwotICAgIHJldHVybiBiYWNraW5nU3RvcmU7CisKKyAg
ICBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChncmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXll
ciogZ3JhcGhpY3NMYXllcikKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUJhY2tpbmdT
dG9yZUlmTmVlZGVkKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVy
ZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKGdyYXBoaWNzTGF5ZXIp
OwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxh
eWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7Ci0gICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7Ci0g
ICAgaWYgKGJhY2tpbmdTdG9yZS0+aXNFbXB0eSgpKQotICAgICAgICBsYXllci0+c2V0QmFja2lu
Z1N0b3JlKDApOworICAgIGlmIChsYXllci0+YmFja2luZ1N0b3JlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKENv
b3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKSk7CisgICAgYmFja2luZ1N0b3JlLT5zZXRT
aXplKGdyYXBoaWNzTGF5ZXItPnNpemUoKSk7CisgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShi
YWNraW5nU3RvcmUpOwogfQogCi12b2lkIExheWVyVHJlZVJlbmRlcmVyOjpyZXNldEJhY2tpbmdT
dG9yZVNpemVUb0xheWVyU2l6ZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQordm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1h
cHBlckxheWVyKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRy
PENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29y
ZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7CisgICAg
bGF5ZXItPnNldEJhY2tpbmdTdG9yZSgwKTsKK30KKwordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
cmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NM
YXllcikKK3sKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gZ2V0
QmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwog
ICAgIGJhY2tpbmdTdG9yZS0+c2V0U2l6ZShncmFwaGljc0xheWVyLT5zaXplKCkpOwogfQpAQCAt
NDM5LDcgKzQ1Niw4IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZVRpbGUoV2ViTGF5
ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBmbG9hdCBzY2FsZSkKIHsKICAgICBHcmFwaGljc0xh
eWVyKiBsYXllciA9IGxheWVyQnlJRChsYXllcklEKTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAg
IFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gZ2V0QmFja2lu
Z1N0b3JlKGxheWVyKTsKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3Jl
ID0gZ2V0QmFja2luZ1N0b3JlKGxheWVyKTsKKyAgICBBU1NFUlQoYmFja2luZ1N0b3JlKTsKICAg
ICBiYWNraW5nU3RvcmUtPmNyZWF0ZVRpbGUodGlsZUlELCBzY2FsZSk7CiAgICAgcmVzZXRCYWNr
aW5nU3RvcmVTaXplVG9MYXllclNpemUobGF5ZXIpOwogfQpAQCAtNDQ4LDExICs0NjYsMTMgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlVGlsZShXZWJMYXllcklEIGxheWVySUQsIGlu
dCB0aWxlSUQpCiB7CiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXllckJ5SUQobGF5ZXJJ
RCk7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICBSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7CisgICAgQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgaWYgKCFiYWNraW5nU3RvcmUpCisgICAgICAgIHJldHVybjsKKwogICAgIGJhY2tpbmdTdG9y
ZS0+cmVtb3ZlVGlsZSh0aWxlSUQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJT
aXplKGxheWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJh
Y2tpbmdTdG9yZSk7Ci0gICAgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQobGF5ZXIpOwogfQog
CiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjp1cGRhdGVUaWxlKFdlYkxheWVySUQgbGF5ZXJJRCwg
aW50IHRpbGVJRCwgY29uc3QgVGlsZVVwZGF0ZSYgdXBkYXRlKQpAQCAtNDYwLDYgKzQ4MCw3IEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBp
bnQgdGlsZUlELCBjb25zdCBUaWxlVXBkCiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXll
ckJ5SUQobGF5ZXJJRCk7CiAgICAgQVNTRVJUKGxheWVyKTsKICAgICBSZWZQdHI8Q29vcmRpbmF0
ZWRCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7CiAgICAgYmFja2luZ1N0b3JlLT51cGRhdGVUaWxlKHRp
bGVJRCwgdXBkYXRlLnNvdXJjZVJlY3QsIHVwZGF0ZS50aWxlUmVjdCwgdXBkYXRlLnN1cmZhY2Us
IHVwZGF0ZS5vZmZzZXQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKGxh
eWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJhY2tpbmdT
dG9yZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA3MmI1MDU5NzY0MGUw
Yjc3OWVhY2NiZDdlODkxNzcxYjZkOWVmNzc1Li42ZDI4Mzc0ZmU3OWVkZDM2MThjOGYwMmNlMGY3
NDRjZWRkNmM4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTE0NSw4
ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZUxheWVyKFdlYkxheWVySUQpOwog
ICAgIHZvaWQgY29tbWl0VGlsZU9wZXJhdGlvbnMoKTsKIAotICAgIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZWRCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVy
Kik7Ci0gICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKik7CisgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqIGdldEJhY2tpbmdTdG9yZShX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBwcmVwYXJlQ29udGVudEJhY2tpbmdT
dG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBjcmVhdGVCYWNraW5nU3Rv
cmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCByZW1vdmVCYWNr
aW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5n
U3RvcmVTaXplVG9MYXllclNpemUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPFdlYkxheWVySUQsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqPiBMYXllck1h
cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuY3BwCmluZGV4IDVlNTRjZDk4OWNhNzNiYWYzZDZiOWI5OGE5Njk2ZDkxNjc5ZjFj
NzkuLjgxNWRkNDk1YjEzNjFmOTVhODc1ODc0NTc4MTRiNzk5N2M0ZDZiYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNw
cApAQCAtNjUzLDggKzY1Myw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGp1
c3RDb250ZW50c1NjYWxlKCkKIAogICAgIC8vIE5vIHJlYXNvbiB0byBzYXZlIHRoZSBwcmV2aW91
cyBiYWNraW5nIHN0b3JlIGZvciBub24tdmlzaWJsZSBhcmVhcy4KICAgICBtX3ByZXZpb3VzQmFj
a2luZ1N0b3JlLT5yZW1vdmVBbGxOb25WaXNpYmxlVGlsZXMoKTsKLQotICAgIGNyZWF0ZUJhY2tp
bmdTdG9yZSgpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFj
a2luZ1N0b3JlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176152</attachid>
            <date>2012-11-26 19:34:26 -0800</date>
            <delta_ts>2012-11-26 21:24:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103298-20121127123147.patch</filename>
            <type>text/plain</type>
            <size>11469</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzRiZGZhOTkwZTg4ZTQz
ODJmYjU2YzU4YjY1NDFhMGUyYjkyYjNjMC4uNDIzNWMwNDUyNGJhMDg2ZTFkMGFhYjk3MjdhNzJm
ZTdkNTQ3MGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTI2ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZWZhY3RvciBjb2RlIG1hbmFnaW5nIGEgYmFja2luZyBzdG9yZSBpbiBM
YXllclRyZWVSZW5kZXJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMzI5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgTGF5ZXJUcmVlUmVuZGVyZXIgYXNzaWduIGEgY29u
dGVudCBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBvbmx5IGlu
IHNldExheWVyU3RhdGUoKS4gQ3VycmVudGx5LCBjcmVhdGVUaWxlKCkgY2FuIGFzc2lnbgorICAg
ICAgICB0aGUgYmFja2luZyBzdG9yZSB0byBUZXh0dXJlTWFwcGVyTGF5ZXIgYW5kIGl0IGNhbiBi
cmVhayB0aGUgaW52YXJpYW50IGNvbmRpdGlvbgorICAgICAgICBvZiBUZXh0dXJlTWFwcGVyTGF5
ZXI6IFRleHR1cmVNYXBwZXJMYXllciBjYW4gaGF2ZSBpdHMgb3duIGJhY2tpbmcgc3RvcmUgb25s
eSBpZgorICAgICAgICB0aGUgbGF5ZXIgaGFzIGZvbGxvd2luZyBjb25kaXRpb25zOiBkcmF3c0Nv
bnRlbnQsIGNvbnRlbnRzVmlzaWJsZSBhbmQgbm9uIGVtcHR5CisgICAgICAgIHNpemUuCisKKyAg
ICAgICAgSW4gYWRkaXRpb24sIHRoZSBtb2RpZmllZCBjb2RlIGFib3V0IGNyZWF0aW5nIGFuZCBy
ZW1vdmluZyBhIGJhY2tpbmcgc3RvcmUKKyAgICAgICAgbWF0Y2hlcyB0aGUgc2FtZSBwdXJwb3Nl
IGNvZGUgb2YgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGFuZAorICAgICAgICBHcmFwaGljc0xh
eWVyVGV4dHVyZU1hcGVwci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGF5ZXJTaG91
bGRIYXZlQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlUmVuZGVyZXI6OmdldEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZVJlbmRlcmVyOjpwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVCYWNraW5nU3RvcmUpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9M
YXllclNpemUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGls
ZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVUaWxlKToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6YWRqdXN0Q29udGVudHNTY2FsZSk6CisgICAgICAgICAgICBUaGlzIG1ldGhvZCBkb2Vz
IG5vdCBjcmVhdGUgYSBiYWNraW5nIHN0b3JlIGFueW1vcmUgYmVjYXVzZSBmbHVzaENvbXBvc2l0
aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKKyAgICAgICAgICAgIGNhbiBjcmVhdGUgYSBiYWNr
aW5nIHN0b3JlIGlmIG5lZWRlZC4gTW9yZW92ZXIsIHdlIG11c3Qgc3luYyBhIGxheWVyIHN0YXRl
IHByaW9yIHRvIGNyZWF0aW5nIGEgYmFja2luZyBzdG9yZQorICAgICAgICAgICAgYWZ0ZXIgdGhp
cyBwYXRjaCwgYmVjYXVzZSBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGlsZSgpIGRvZXMgbm90
IGNyZWF0ZSBhIGJhY2tpbmcgc3RvcmUgYW55bW9yZS4KKwogMjAxMi0xMS0yMyAgSHVhbmcgRG9u
Z3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGluYXRlZCBH
cmFwaGljczogQWRkIENvb3JkaW5hdGVkU3VyZmFjZSB0byByZW1vdmUgdGhlIGRlcGVuZGVuY3kg
b2YgU2hhcmVhYmxlU3VyZmFjZSBmcm9tIENvb3JkaW5hdGVkIEdyYXBoaWNzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDAxOWIzN2I4OThiOWU1
NjQwMmIxZDNmMWFiZTE3OGE2ZjkxY2Q5M2QuLjY2MTgwYTZmZTgwZjRiNDY1MTQ2ZjFhYjBmNmI1
MjQ3NzIyZmYwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9y
ZS5jcHAKQEAgLTkyLDExICs5Miw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnVw
ZGF0ZVRpbGUoaW50IGlkLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zCiAgICAgaXQt
PnZhbHVlLnNldEJhY2tCdWZmZXIodGlsZVJlY3QsIHNvdXJjZVJlY3QsIGJhY2tCdWZmZXIsIG9m
ZnNldCk7CiB9CiAKLWJvb2wgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmlzRW1wdHkoKSBjb25z
dAotewotICAgIHJldHVybiBtX3RpbGVzLnNpemUoKSA9PSBtX3RpbGVzVG9SZW1vdmUuc2l6ZSgp
OwotfQotCiBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
Ojp0ZXh0dXJlKCkgY29uc3QKIHsKICAgICBIYXNoTWFwPGludCwgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmVUaWxlPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV90aWxlcy5lbmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDAyZDkxNWU2NDE4NGUyMTc1
ZDQxZjQzZjQzZTNjMjUzN2QwZDQwZDAuLmVmMjc3ZTIyYmVhODg4NTVmNzQ0MDJkMzE1YmMwMzg3
YTM5NThmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaApA
QCAtNjEsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUaWxlKGludCk7CiAgICAg
dm9pZCByZW1vdmVBbGxUaWxlcygpOwogICAgIHZvaWQgdXBkYXRlVGlsZShpbnQsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgUGFzc1JlZlB0cjxDb29y
ZGluYXRlZFN1cmZhY2U+LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwotICAgIGJvb2wgaXNF
bXB0eSgpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0
b3JlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUpOyB9CiAgICAgdm9pZCBjb21taXRUaWxlT3BlcmF0aW9ucyhXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyKik7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggMTQ0YTMxZGMx
ZGI4MzQxMjdmNmU3NDdlMDVmZjE3YjZmYjQyZGNiZC4uMzUyNWNiZWM4OGE4M2RlMmVkOGU4ZDNl
OGQ2MTQwNzIyNzA2MGYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApA
QCAtNjYsNiArNjYsMTEgQEAgc3RhdGljIEZsb2F0UG9pbnQgYm91bmRlZFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdAogICAgIHJldHVybiBGbG9h
dFBvaW50KHNjcm9sbFBvc2l0aW9uWCwgc2Nyb2xsUG9zaXRpb25ZKTsKIH0KIAorc3RhdGljIGJv
b2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQorewor
ICAgIHJldHVybiBsYXllci0+ZHJhd3NDb250ZW50KCkgJiYgbGF5ZXItPmNvbnRlbnRzQXJlVmlz
aWJsZSgpICYmICFsYXllci0+c2l6ZSgpLmlzRW1wdHkoKTsKK30KKwogTGF5ZXJUcmVlUmVuZGVy
ZXI6OkxheWVyVHJlZVJlbmRlcmVyKExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkqIGxheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkpCiAgICAgOiBtX2xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkobGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCkBAIC0zNTEs
NiArMzU2LDcgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShXZWJMYXll
cklEIGlkLCBjb25zdCBXZWJMYXllckluZm8mIGxheWVySW4KICAgICAgICAgbV9maXhlZExheWVy
cy5yZW1vdmUoaWQpOwogCiAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5
ZXJJbmZvLmltYWdlSUQpOworICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVyKTsK
IAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KICAgICBsYXllci0+c2V0
TWFza3NUb0JvdW5kcyhsYXllckluZm8uaXNSb290TGF5ZXIgPyBmYWxzZSA6IGxheWVySW5mby5t
YXNrc1RvQm91bmRzKTsKQEAgLTQwMywzNCArNDA5LDQ1IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVy
ZXI6OnNldFJvb3RMYXllcklEKFdlYkxheWVySUQgbGF5ZXJJRCkKICAgICBtX3Jvb3RMYXllci0+
YWRkQ2hpbGQobGF5ZXIpOwogfQogCi1QYXNzUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCitDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogTGF5ZXJUcmVlUmVuZGVyZXI6Omdl
dEJhY2tpbmdTdG9yZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogewogICAgIFRleHR1
cmVNYXBwZXJMYXllciogbGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihncmFwaGljc0xheWVy
KTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9y
ZT4gYmFja2luZ1N0b3JlID0gc3RhdGljX2Nhc3Q8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihs
YXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwotICAgIGlmICghYmFja2luZ1N0b3JlKSB7Ci0g
ICAgICAgIGJhY2tpbmdTdG9yZSA9IENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKTsK
LSAgICAgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShiYWNraW5nU3RvcmUpOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3Rv
cmUoKS5nZXQoKSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnByZXBhcmVDb250ZW50
QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCit7CisgICAgaWYgKCFs
YXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoZ3JhcGhpY3NMYXllcikpIHsKKyAgICAgICAgcmVt
b3ZlQmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOworICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwotICAgIHJldHVybiBiYWNraW5nU3RvcmU7CisKKyAg
ICBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChncmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXll
ciogZ3JhcGhpY3NMYXllcikKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUJhY2tpbmdT
dG9yZUlmTmVlZGVkKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVy
ZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKGdyYXBoaWNzTGF5ZXIp
OwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
PiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxh
eWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7Ci0gICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7Ci0g
ICAgaWYgKGJhY2tpbmdTdG9yZS0+aXNFbXB0eSgpKQotICAgICAgICBsYXllci0+c2V0QmFja2lu
Z1N0b3JlKDApOworICAgIGlmIChsYXllci0+YmFja2luZ1N0b3JlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKENv
b3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKSk7CisgICAgYmFja2luZ1N0b3JlLT5zZXRT
aXplKGdyYXBoaWNzTGF5ZXItPnNpemUoKSk7CisgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShi
YWNraW5nU3RvcmUpOwogfQogCi12b2lkIExheWVyVHJlZVJlbmRlcmVyOjpyZXNldEJhY2tpbmdT
dG9yZVNpemVUb0xheWVyU2l6ZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQordm9pZCBM
YXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1h
cHBlckxheWVyKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRy
PENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29y
ZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7CisgICAg
bGF5ZXItPnNldEJhY2tpbmdTdG9yZSgwKTsKK30KKwordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
cmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NM
YXllcikKK3sKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gZ2V0
QmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwog
ICAgIGJhY2tpbmdTdG9yZS0+c2V0U2l6ZShncmFwaGljc0xheWVyLT5zaXplKCkpOwogfQpAQCAt
NDM5LDcgKzQ1Niw4IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZVRpbGUoV2ViTGF5
ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBmbG9hdCBzY2FsZSkKIHsKICAgICBHcmFwaGljc0xh
eWVyKiBsYXllciA9IGxheWVyQnlJRChsYXllcklEKTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAg
IFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gZ2V0QmFja2lu
Z1N0b3JlKGxheWVyKTsKKyAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3Jl
ID0gZ2V0QmFja2luZ1N0b3JlKGxheWVyKTsKKyAgICBBU1NFUlQoYmFja2luZ1N0b3JlKTsKICAg
ICBiYWNraW5nU3RvcmUtPmNyZWF0ZVRpbGUodGlsZUlELCBzY2FsZSk7CiAgICAgcmVzZXRCYWNr
aW5nU3RvcmVTaXplVG9MYXllclNpemUobGF5ZXIpOwogfQpAQCAtNDQ4LDExICs0NjYsMTMgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlVGlsZShXZWJMYXllcklEIGxheWVySUQsIGlu
dCB0aWxlSUQpCiB7CiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXllckJ5SUQobGF5ZXJJ
RCk7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICBSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7CisgICAgQ29vcmRpbmF0
ZWRCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgaWYgKCFiYWNraW5nU3RvcmUpCisgICAgICAgIHJldHVybjsKKwogICAgIGJhY2tpbmdTdG9y
ZS0+cmVtb3ZlVGlsZSh0aWxlSUQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJT
aXplKGxheWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJh
Y2tpbmdTdG9yZSk7Ci0gICAgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQobGF5ZXIpOwogfQog
CiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjp1cGRhdGVUaWxlKFdlYkxheWVySUQgbGF5ZXJJRCwg
aW50IHRpbGVJRCwgY29uc3QgVGlsZVVwZGF0ZSYgdXBkYXRlKQpAQCAtNDYwLDYgKzQ4MCw3IEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBp
bnQgdGlsZUlELCBjb25zdCBUaWxlVXBkCiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXll
ckJ5SUQobGF5ZXJJRCk7CiAgICAgQVNTRVJUKGxheWVyKTsKICAgICBSZWZQdHI8Q29vcmRpbmF0
ZWRCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcik7Cisg
ICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7CiAgICAgYmFja2luZ1N0b3JlLT51cGRhdGVUaWxlKHRp
bGVJRCwgdXBkYXRlLnNvdXJjZVJlY3QsIHVwZGF0ZS50aWxlUmVjdCwgdXBkYXRlLnN1cmZhY2Us
IHVwZGF0ZS5vZmZzZXQpOwogICAgIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKGxh
eWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJhY2tpbmdT
dG9yZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA3MmI1MDU5NzY0MGUw
Yjc3OWVhY2NiZDdlODkxNzcxYjZkOWVmNzc1Li42ZDI4Mzc0ZmU3OWVkZDM2MThjOGYwMmNlMGY3
NDRjZWRkNmM4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTE0NSw4
ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZUxheWVyKFdlYkxheWVySUQpOwog
ICAgIHZvaWQgY29tbWl0VGlsZU9wZXJhdGlvbnMoKTsKIAotICAgIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZWRCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVy
Kik7Ci0gICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKik7CisgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqIGdldEJhY2tpbmdTdG9yZShX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBwcmVwYXJlQ29udGVudEJhY2tpbmdT
dG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBjcmVhdGVCYWNraW5nU3Rv
cmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCByZW1vdmVCYWNr
aW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5n
U3RvcmVTaXplVG9MYXllclNpemUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPFdlYkxheWVySUQsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqPiBMYXllck1h
cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuY3BwCmluZGV4IDVlNTRjZDk4OWNhNzNiYWYzZDZiOWI5OGE5Njk2ZDkxNjc5ZjFj
NzkuLjgxNWRkNDk1YjEzNjFmOTVhODc1ODc0NTc4MTRiNzk5N2M0ZDZiYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNw
cApAQCAtNjUzLDggKzY1Myw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGp1
c3RDb250ZW50c1NjYWxlKCkKIAogICAgIC8vIE5vIHJlYXNvbiB0byBzYXZlIHRoZSBwcmV2aW91
cyBiYWNraW5nIHN0b3JlIGZvciBub24tdmlzaWJsZSBhcmVhcy4KICAgICBtX3ByZXZpb3VzQmFj
a2luZ1N0b3JlLT5yZW1vdmVBbGxOb25WaXNpYmxlVGlsZXMoKTsKLQotICAgIGNyZWF0ZUJhY2tp
bmdTdG9yZSgpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFj
a2luZ1N0b3JlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176164</attachid>
            <date>2012-11-26 21:24:40 -0800</date>
            <delta_ts>2012-11-27 17:21:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103298-20121127142200.patch</filename>
            <type>text/plain</type>
            <size>11382</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjRkZjZkNDQ5ZWNiZTg5
NTI5NTU2Njk1NTUxMzNkMzNjZDY4M2FkZS4uOGUyODU5MjhjN2VjNGQ0YjkyZWEwN2RjYjdjZTNk
NGUzYTBjOTE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTI2ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiBSZWZhY3RvciBjb2RlIG1hbmFnaW5nIGEgYmFja2luZyBzdG9yZSBpbiBM
YXllclRyZWVSZW5kZXJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMzI5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgTGF5ZXJUcmVlUmVuZGVyZXIgYXNzaWduIGEgY29u
dGVudCBiYWNraW5nIHN0b3JlIHRvCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBvbmx5IGlu
IHNldExheWVyU3RhdGUoKS4gQ3VycmVudGx5LCBjcmVhdGVUaWxlKCkgY2FuIGFzc2lnbgorICAg
ICAgICB0aGUgYmFja2luZyBzdG9yZSB0byBUZXh0dXJlTWFwcGVyTGF5ZXIgYW5kIGl0IGNhbiBi
cmVhayB0aGUgaW52YXJpYW50IGNvbmRpdGlvbgorICAgICAgICBvZiBUZXh0dXJlTWFwcGVyTGF5
ZXI6IFRleHR1cmVNYXBwZXJMYXllciBjYW4gaGF2ZSBpdHMgb3duIGJhY2tpbmcgc3RvcmUgb25s
eSBpZgorICAgICAgICB0aGUgbGF5ZXIgaGFzIGZvbGxvd2luZyBjb25kaXRpb25zOiBkcmF3c0Nv
bnRlbnQsIGNvbnRlbnRzVmlzaWJsZSBhbmQgbm9uIGVtcHR5CisgICAgICAgIHNpemUuCisKKyAg
ICAgICAgSW4gYWRkaXRpb24sIHRoZSBtb2RpZmllZCBjb2RlIGFib3V0IGNyZWF0aW5nIGFuZCBy
ZW1vdmluZyBhIGJhY2tpbmcgc3RvcmUKKyAgICAgICAgbWF0Y2hlcyB0aGUgc2FtZSBwdXJwb3Nl
IGNvZGUgb2YgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGFuZAorICAgICAgICBHcmFwaGljc0xh
eWVyVGV4dHVyZU1hcGVwci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGF5ZXJTaG91
bGRIYXZlQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlUmVuZGVyZXI6OmdldEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZVJlbmRlcmVyOjpwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVCYWNraW5nU3RvcmUpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9M
YXllclNpemUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGls
ZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVUaWxlKToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0ZVRpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6YWRqdXN0Q29udGVudHNTY2FsZSk6CisgICAgICAgICAgICBUaGlzIG1ldGhvZCBkb2Vz
IG5vdCBjcmVhdGUgYSBiYWNraW5nIHN0b3JlIGFueW1vcmUgYmVjYXVzZSBmbHVzaENvbXBvc2l0
aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKKyAgICAgICAgICAgIGNhbiBjcmVhdGUgYSBiYWNr
aW5nIHN0b3JlIGlmIG5lZWRlZC4gTW9yZW92ZXIsIHdlIG11c3Qgc3luYyBhIGxheWVyIHN0YXRl
IHByaW9yIHRvIGNyZWF0aW5nIGEgYmFja2luZyBzdG9yZQorICAgICAgICAgICAgYWZ0ZXIgdGhp
cyBwYXRjaCwgYmVjYXVzZSBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlVGlsZSgpIGRvZXMgbm90
IGNyZWF0ZSBhIGJhY2tpbmcgc3RvcmUgYW55bW9yZS4KKwogMjAxMi0xMS0yNiAgS2FsZXYgTGVt
YmVyICA8a2FsZXZsZW1iZXJAZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdIEV4cGxpY2l0bHkg
bGluayBhZ2FpbnN0IGxpYnJ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdT
dG9yZS5jcHAKaW5kZXggZGMxYjIxM2Q0MzliMjRlZTA1YTdjNjlmMDU1NmEwMWIwYmE0ODVkZi4u
NGMwY2VkMjg5M2ExMTgwMjE5OThiNzNhNmQxMDE3ZTM1YTg0YTdiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNr
aW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcApAQCAtOTIsMTEgKzkyLDYgQEAgdm9p
ZCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZTo6dXBkYXRlVGlsZShpbnQgaWQsIGNvbnN0IEludFJl
Y3QmIHNvdXJjZVJlY3QsIGNvbnMKICAgICBpdC0+dmFsdWUuc2V0QmFja0J1ZmZlcih0aWxlUmVj
dCwgc291cmNlUmVjdCwgYmFja0J1ZmZlciwgb2Zmc2V0KTsKIH0KIAotYm9vbCBDb29yZGluYXRl
ZEJhY2tpbmdTdG9yZTo6aXNFbXB0eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdGlsZXMuc2l6
ZSgpID09IG1fdGlsZXNUb1JlbW92ZS5zaXplKCk7Ci19Ci0KIFBhc3NSZWZQdHI8Qml0bWFwVGV4
dHVyZT4gQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnRleHR1cmUoKSBjb25zdAogewogICAgIEhh
c2hNYXA8aW50LCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGU+Ojpjb25zdF9pdGVyYXRvciBl
bmQgPSBtX3RpbGVzLmVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0
b3JlLmgKaW5kZXggYjBiYWNhNjM1YmViNzE1ZGI5M2RjZDkxYjk2ZTk1NmI4MjNmNGY1Zi4uNDAz
OGEzNzI0ZWFhMDY3MDc3ZWY5ODEwNGI2ZTJhZDkxMzFhZTRhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5oCkBAIC02MSw3ICs2MSw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlbW92ZVRpbGUoaW50KTsKICAgICB2b2lkIHJlbW92ZUFsbFRpbGVzKCk7CiAgICAg
dm9pZCB1cGRhdGVUaWxlKGludCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBQYXNzUmVmUHRyPFNoYXJlYWJsZVN1cmZhY2U+LCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYpOwotICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUpOyB9CiAgICAgdm9pZCBjb21taXRUaWxlT3Bl
cmF0aW9ucyhXZWJDb3JlOjpUZXh0dXJlTWFwcGVyKik7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5jcHAKaW5kZXggMGRjODhkMDhmYWNlN2I0NjdiMDk5ZTIwZWU5YzUyN2VhMjY1OTVm
NC4uMDc3OTcwNzdkOGZhMTUyMmY3ODM2YTNjNmVhMjE1ZWUzZDI1Zjk0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtNjYsNiArNjYsMTEgQEAgc3RhdGljIEZsb2F0
UG9pbnQgYm91bmRlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uLCBjb25zdAogICAgIHJldHVybiBGbG9hdFBvaW50KHNjcm9sbFBvc2l0aW9uWCwgc2Nyb2xs
UG9zaXRpb25ZKTsKIH0KIAorc3RhdGljIGJvb2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3Jl
KEdyYXBoaWNzTGF5ZXIqIGxheWVyKQoreworICAgIHJldHVybiBsYXllci0+ZHJhd3NDb250ZW50
KCkgJiYgbGF5ZXItPmNvbnRlbnRzQXJlVmlzaWJsZSgpICYmICFsYXllci0+c2l6ZSgpLmlzRW1w
dHkoKTsKK30KKwogTGF5ZXJUcmVlUmVuZGVyZXI6OkxheWVyVHJlZVJlbmRlcmVyKExheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkqIGxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkpCiAgICAgOiBtX2xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkobGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSkKICAgICAs
IG1faXNBY3RpdmUoZmFsc2UpCkBAIC0zNTEsNiArMzU2LDcgQEAgdm9pZCBMYXllclRyZWVSZW5k
ZXJlcjo6c2V0TGF5ZXJTdGF0ZShXZWJMYXllcklEIGlkLCBjb25zdCBXZWJMYXllckluZm8mIGxh
eWVySW4KICAgICAgICAgbV9maXhlZExheWVycy5yZW1vdmUoaWQpOwogCiAgICAgYXNzaWduSW1h
Z2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5ZXJJbmZvLmltYWdlSUQpOworICAgIHByZXBhcmVD
b250ZW50QmFja2luZ1N0b3JlKGxheWVyKTsKIAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3Qg
bGF5ZXIgY2xpcC4KICAgICBsYXllci0+c2V0TWFza3NUb0JvdW5kcyhsYXllckluZm8uaXNSb290
TGF5ZXIgPyBmYWxzZSA6IGxheWVySW5mby5tYXNrc1RvQm91bmRzKTsKQEAgLTQwMywzNCArNDA5
LDQ1IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldFJvb3RMYXllcklEKFdlYkxheWVySUQg
bGF5ZXJJRCkKICAgICBtX3Jvb3RMYXllci0+YWRkQ2hpbGQobGF5ZXIpOwogfQogCi1QYXNzUmVm
UHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0QmFja2lu
Z1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCitDb29yZGluYXRlZEJhY2tpbmdT
dG9yZSogTGF5ZXJUcmVlUmVuZGVyZXI6OmdldEJhY2tpbmdTdG9yZShHcmFwaGljc0xheWVyKiBn
cmFwaGljc0xheWVyKQogewogICAgIFRleHR1cmVNYXBwZXJMYXllciogbGF5ZXIgPSB0b1RleHR1
cmVNYXBwZXJMYXllcihncmFwaGljc0xheWVyKTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIFJl
ZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gc3RhdGljX2Nhc3Q8
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqPihsYXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwot
ICAgIGlmICghYmFja2luZ1N0b3JlKSB7Ci0gICAgICAgIGJhY2tpbmdTdG9yZSA9IENvb3JkaW5h
dGVkQmFja2luZ1N0b3JlOjpjcmVhdGUoKTsKLSAgICAgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9y
ZShiYWNraW5nU3RvcmUpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tp
bmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7Cit9CisKK3ZvaWQgTGF5ZXJU
cmVlUmVuZGVyZXI6OnByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIpCit7CisgICAgaWYgKCFsYXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoZ3Jh
cGhpY3NMYXllcikpIHsKKyAgICAgICAgcmVtb3ZlQmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIp
OworICAgICAgICByZXR1cm47CiAgICAgfQotICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwotICAg
IHJldHVybiBiYWNraW5nU3RvcmU7CisKKyAgICBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChn
cmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2lu
Z1N0b3JlSWZOZWVkZWQoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKK3ZvaWQgTGF5ZXJU
cmVlUmVuZGVyZXI6OmNyZWF0ZUJhY2tpbmdTdG9yZUlmTmVlZGVkKEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVy
ZU1hcHBlckxheWVyKGdyYXBoaWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7Ci0gICAgUmVm
UHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxD
b29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5iYWNraW5nU3RvcmUoKS5nZXQoKSk7Ci0g
ICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7Ci0gICAgaWYgKGJhY2tpbmdTdG9yZS0+aXNFbXB0eSgp
KQotICAgICAgICBsYXllci0+c2V0QmFja2luZ1N0b3JlKDApOworICAgIGlmIChsYXllci0+YmFj
a2luZ1N0b3JlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxDb29yZGluYXRlZEJh
Y2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlKENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjcmVhdGUo
KSk7CisgICAgYmFja2luZ1N0b3JlLT5zZXRTaXplKGdyYXBoaWNzTGF5ZXItPnNpemUoKSk7Cisg
ICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZShiYWNraW5nU3RvcmUpOwogfQogCi12b2lkIExheWVy
VHJlZVJlbmRlcmVyOjpyZXNldEJhY2tpbmdTdG9yZVNpemVUb0xheWVyU2l6ZShHcmFwaGljc0xh
eWVyKiBncmFwaGljc0xheWVyKQordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlQmFja2lu
Z1N0b3JlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7CiAgICAgVGV4dHVyZU1hcHBl
ckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKGdyYXBoaWNzTGF5ZXIpOwogICAg
IEFTU0VSVChsYXllcik7Ci0gICAgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiBiYWNr
aW5nU3RvcmUgPSBzdGF0aWNfY2FzdDxDb29yZGluYXRlZEJhY2tpbmdTdG9yZSo+KGxheWVyLT5i
YWNraW5nU3RvcmUoKS5nZXQoKSk7CisgICAgbGF5ZXItPnNldEJhY2tpbmdTdG9yZSgwKTsKK30K
Kwordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNp
emUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBDb29yZGluYXRlZEJhY2tp
bmdTdG9yZSogYmFja2luZ1N0b3JlID0gZ2V0QmFja2luZ1N0b3JlKGdyYXBoaWNzTGF5ZXIpOwog
ICAgIEFTU0VSVChiYWNraW5nU3RvcmUpOwogICAgIGJhY2tpbmdTdG9yZS0+c2V0U2l6ZShncmFw
aGljc0xheWVyLT5zaXplKCkpOwogfQpAQCAtNDM5LDcgKzQ1Niw4IEBAIHZvaWQgTGF5ZXJUcmVl
UmVuZGVyZXI6OmNyZWF0ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBmbG9h
dCBzY2FsZSkKIHsKICAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IGxheWVyQnlJRChsYXllcklE
KTsKICAgICBBU1NFUlQobGF5ZXIpOwotICAgIFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9y
ZT4gYmFja2luZ1N0b3JlID0gZ2V0QmFja2luZ1N0b3JlKGxheWVyKTsKKyAgICBDb29yZGluYXRl
ZEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gZ2V0QmFja2luZ1N0b3JlKGxheWVyKTsKKyAg
ICBBU1NFUlQoYmFja2luZ1N0b3JlKTsKICAgICBiYWNraW5nU3RvcmUtPmNyZWF0ZVRpbGUodGls
ZUlELCBzY2FsZSk7CiAgICAgcmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUobGF5ZXIp
OwogfQpAQCAtNDQ4LDExICs0NjYsMTMgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3Zl
VGlsZShXZWJMYXllcklEIGxheWVySUQsIGludCB0aWxlSUQpCiB7CiAgICAgR3JhcGhpY3NMYXll
ciogbGF5ZXIgPSBsYXllckJ5SUQobGF5ZXJJRCk7CiAgICAgQVNTRVJUKGxheWVyKTsKLSAgICBS
ZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9IGdldEJhY2tpbmdT
dG9yZShsYXllcik7CisgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9
IGdldEJhY2tpbmdTdG9yZShsYXllcik7CisgICAgaWYgKCFiYWNraW5nU3RvcmUpCisgICAgICAg
IHJldHVybjsKKwogICAgIGJhY2tpbmdTdG9yZS0+cmVtb3ZlVGlsZSh0aWxlSUQpOwogICAgIHJl
c2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKGxheWVyKTsKICAgICBtX2JhY2tpbmdTdG9y
ZXNXaXRoUGVuZGluZ0J1ZmZlcnMuYWRkKGJhY2tpbmdTdG9yZSk7Ci0gICAgcmVtb3ZlQmFja2lu
Z1N0b3JlSWZOZWVkZWQobGF5ZXIpOwogfQogCiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjp1cGRh
dGVUaWxlKFdlYkxheWVySUQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgVGlsZVVwZGF0ZSYg
dXBkYXRlKQpAQCAtNDYwLDYgKzQ4MCw3IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnVwZGF0
ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBjb25zdCBUaWxlVXBkCiAgICAg
R3JhcGhpY3NMYXllciogbGF5ZXIgPSBsYXllckJ5SUQobGF5ZXJJRCk7CiAgICAgQVNTRVJUKGxh
eWVyKTsKICAgICBSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9
IGdldEJhY2tpbmdTdG9yZShsYXllcik7CisgICAgQVNTRVJUKGJhY2tpbmdTdG9yZSk7CiAgICAg
YmFja2luZ1N0b3JlLT51cGRhdGVUaWxlKHRpbGVJRCwgdXBkYXRlLnNvdXJjZVJlY3QsIHVwZGF0
ZS50aWxlUmVjdCwgdXBkYXRlLnN1cmZhY2UsIHVwZGF0ZS5vZmZzZXQpOwogICAgIHJlc2V0QmFj
a2luZ1N0b3JlU2l6ZVRvTGF5ZXJTaXplKGxheWVyKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRo
UGVuZGluZ0J1ZmZlcnMuYWRkKGJhY2tpbmdTdG9yZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaAppbmRleCBiMDgxYzVlMTY5M2EyMWM4NzEzODkwMzU3MTQ2OGY0NzdjODkwNjZkLi5i
M2NhYTFlMDZhMDYxZmVlODM3OWZmZWY0N2UyMmVjZDhlN2I3YTA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmgKQEAgLTE0NSw4ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGVuc3VyZUxheWVyKFdlYkxheWVySUQpOwogICAgIHZvaWQgY29tbWl0VGlsZU9wZXJhdGlvbnMo
KTsKIAotICAgIFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdT
dG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7Ci0gICAgdm9pZCByZW1vdmVCYWNraW5nU3Rv
cmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAgQ29vcmRpbmF0ZWRCYWNr
aW5nU3RvcmUqIGdldEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CisgICAg
dm9pZCBwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7
CisgICAgdm9pZCBjcmVhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKik7CisgICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUoV2ViQ29yZTo6
R3JhcGhpY3NMYXllciopOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFdlYkxheWVySUQsIFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXIqPiBMYXllck1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM3ODA4YjJiMmNj
MmZkMTk4ODlkMDM2ZGY0YWFmYzJhMDJmYzJiMjkuLjU0NzZlYmFjODE3NjEwMzM3Mzg3ZTU4NGFi
MWQwNWE1NDQ4MjUxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtNjUzLDggKzY1Myw2IEBAIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGp1c3RDb250ZW50c1NjYWxlKCkKIAogICAgIC8vIE5v
IHJlYXNvbiB0byBzYXZlIHRoZSBwcmV2aW91cyBiYWNraW5nIHN0b3JlIGZvciBub24tdmlzaWJs
ZSBhcmVhcy4KICAgICBtX3ByZXZpb3VzQmFja2luZ1N0b3JlLT5yZW1vdmVBbGxOb25WaXNpYmxl
VGlsZXMoKTsKLQotICAgIGNyZWF0ZUJhY2tpbmdTdG9yZSgpOwogfQogCiB2b2lkIENvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFja2luZ1N0b3JlKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>