<?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>133337</bug_id>
          
          <creation_ts>2014-05-27 21:52:11 -0700</creation_ts>
          <short_desc>[EFL][CoordinatedGraphics] Remove CoordinatedTileClient and CoordinatedTileBackend</short_desc>
          <delta_ts>2015-05-26 14:39:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hw1008.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>yoon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012131</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-27 21:52:11 -0700</bug_when>
    <thetext>Both CoordinatedTileClient and TiledBackingStore::Client are implemented by CoordinatedGraphicsLayer.
So, I suggest to simplify them by removing CoordinatedTileClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012132</commentid>
    <comment_count>1</comment_count>
      <attachid>232168</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-27 22:01:02 -0700</bug_when>
    <thetext>Created attachment 232168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012141</commentid>
    <comment_count>2</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-05-27 22:28:56 -0700</bug_when>
    <thetext>Your patch replaces CoordinatedTileClient with CoordinatedTiledBackingStoreClient inherited from TiledBackingStoreClient.
But we don&apos;t have a CoordinatedTiledBackingStore class.
I&apos;m not sure this is a proper approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012152</commentid>
    <comment_count>3</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-28 00:06:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Your patch replaces CoordinatedTileClient with CoordinatedTiledBackingStoreClient inherited from TiledBackingStoreClient.
&gt; But we don&apos;t have a CoordinatedTiledBackingStore class.
&gt; I&apos;m not sure this is a proper approach.

Right.
I can&apos;t find similar cases in WebKit.
Although there are some examples which extends Client (TrackPrivateBaseClient and InbandTextTrackPrivateClient), they also have instances.

I can make CoordinatedTiledBackingStore, but I think that it looks bit weird.

In my understanding, CoordinatedGraphicsLayer uses the extension of TiledBackingStore system, especially Tile and callbacks of TiledBackingStore.


By the way, TiledBackingStore is now only used for Coordinated Graphics system.

So, another suggestion is merging these extension into TiledBackingStore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012351</commentid>
    <comment_count>4</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-28 20:39:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Your patch replaces CoordinatedTileClient with CoordinatedTiledBackingStoreClient inherited from TiledBackingStoreClient.
&gt; &gt; But we don&apos;t have a CoordinatedTiledBackingStore class.
&gt; &gt; I&apos;m not sure this is a proper approach.
&gt; 
&gt; Right.
&gt; I can&apos;t find similar cases in WebKit.
&gt; Although there are some examples which extends Client (TrackPrivateBaseClient and InbandTextTrackPrivateClient), they also have instances.
&gt; 
&gt; I can make CoordinatedTiledBackingStore, but I think that it looks bit weird.
&gt; 
&gt; In my understanding, CoordinatedGraphicsLayer uses the extension of TiledBackingStore system, especially Tile and callbacks of TiledBackingStore.
&gt; 
&gt; 
&gt; By the way, TiledBackingStore is now only used for Coordinated Graphics system.
&gt; 
&gt; So, another suggestion is merging these extension into TiledBackingStore.

Although I removed at Bug 133341, DocumentThreadableLoaderClient inherit ThreadableLoaderClient like CoordinatedTiledBackingStoreClient.
(It was dead code since chromium port is out)

Another suggestion, which merges CoordinatedTiledBackingStoreClient to TiledBackingStoreClient, looks not simple because Atlas and CoordinatedSurface and CoordinatedTile::Client are tightly coupled.

In my analyzing, it requires the changes of callback structure so I want to do it in another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012355</commentid>
    <comment_count>5</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-05-28 21:25:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; Your patch replaces CoordinatedTileClient with CoordinatedTiledBackingStoreClient inherited from TiledBackingStoreClient.
&gt; &gt; &gt; But we don&apos;t have a CoordinatedTiledBackingStore class.
&gt; &gt; &gt; I&apos;m not sure this is a proper approach.
&gt; &gt; 
&gt; &gt; Right.
&gt; &gt; I can&apos;t find similar cases in WebKit.
&gt; &gt; Although there are some examples which extends Client (TrackPrivateBaseClient and InbandTextTrackPrivateClient), they also have instances.
&gt; &gt; 
&gt; &gt; I can make CoordinatedTiledBackingStore, but I think that it looks bit weird.
&gt; &gt; 
&gt; &gt; In my understanding, CoordinatedGraphicsLayer uses the extension of TiledBackingStore system, especially Tile and callbacks of TiledBackingStore.
&gt; &gt; 
&gt; &gt; 
&gt; &gt; By the way, TiledBackingStore is now only used for Coordinated Graphics system.
&gt; &gt; 
&gt; &gt; So, another suggestion is merging these extension into TiledBackingStore.
&gt; 
&gt; Although I removed at Bug 133341, DocumentThreadableLoaderClient inherit ThreadableLoaderClient like CoordinatedTiledBackingStoreClient.
&gt; (It was dead code since chromium port is out)
&gt; 
&gt; Another suggestion, which merges CoordinatedTiledBackingStoreClient to TiledBackingStoreClient, looks not simple because Atlas and CoordinatedSurface and CoordinatedTile::Client are tightly coupled.
&gt; 
&gt; In my analyzing, it requires the changes of callback structure so I want to do it in another bug.

To extend TiledBackingStoreClient looks better than to add CoordinatedTiledBackingStoreClient. And I think the rename of interfaces in CoordinatedTileClient is also needed when merging them into TiledBackingStoreClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012915</commentid>
    <comment_count>6</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-06-02 01:26:20 -0700</bug_when>
    <thetext>yoon, could you take a loot at this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066422</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-03 07:34:35 -0800</bug_when>
    <thetext>Ryuan, is this patch still valid for EFL port ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072257</commentid>
    <comment_count>8</comment_count>
      <attachid>247389</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-02-25 18:53:23 -0800</bug_when>
    <thetext>Created attachment 247389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072260</commentid>
    <comment_count>9</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-02-25 19:00:15 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Ryuan, is this patch still valid for EFL port ?

Sure, this is just a kind of clean up.

I rebased.

I think that TiledBackingStore is now just a part of Coordinated Graphics.
So, I think that we can simplify them more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097305</commentid>
    <comment_count>10</comment_count>
      <attachid>253704</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-05-26 05:29:30 -0700</bug_when>
    <thetext>Created attachment 253704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097456</commentid>
    <comment_count>11</comment_count>
      <attachid>253704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-26 14:39:14 -0700</bug_when>
    <thetext>Comment on attachment 253704
Patch

Clearing flags on attachment: 253704

Committed r184876: &lt;http://trac.webkit.org/changeset/184876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097457</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-26 14:39:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232168</attachid>
            <date>2014-05-27 22:01:02 -0700</date>
            <delta_ts>2015-02-25 18:53:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133337-20140528140037.patch</filename>
            <type>text/plain</type>
            <size>11569</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5MzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2NGM5OWE5NmFkOTIw
ODQ4MTY3MjkxODFmOWZjYmYyODYzYmQ3YS4uODZiNDA3ZjExNzQ2OWJjODc1ZjA5YjE2MzBhYzdj
ZGVlZTUyYjEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTA1LTI3ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtDb29yZGlu
YXRlZEdyYXBoaWNzXSBSZW1vdmUgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IGFuZCBDb29yZGluYXRl
ZFRpbGVCYWNrZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzMzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCb3RoIENvb3JkaW5hdGVkVGlsZUNsaWVudCBhbmQgVGlsZWRCYWNraW5nU3RvcmU6OkNs
aWVudCBhcmUgaW1wbGVtZW50ZWQgYnkgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLgorICAgICAg
ICBUaGlzIHBhdGNoIHNpbXBsaWZpZXMgdGhlIENvb3JkaW5hdGVkVGlsZSBhbmQgVGlsZWRCYWNr
aW5nU3RvcmVCYWNrZW5kIGJ5IHJlbW92aW5nIENvb3JkaW5hdGVkVGlsZWRUaWxlQ2xpZW50IAor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQ6OnBhaW50Q2hlY2tl
clBhdHRlcm4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyOjpjcmVhdGVCYWNraW5nU3RvcmUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRUaWxlLmNwcDoKKyAgICAgICAgSW1wbGVtZW50ZWQgVGlsZWRCYWNraW5nU3RvcmVCYWNr
ZW5kIGluc3RlYWQgb2YgaW5oZXJpdGluZyBhcyBDb29yZGluYXRlZFRpbGVCYWNrZW5kLgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlOjpDb29yZGluYXRlZFRpbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlOjp+Q29vcmRpbmF0ZWRUaWxlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZTo6dXBkYXRlQmFja0J1ZmZlcik6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQ6OmNyZWF0ZVRpbGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlQmFja2VuZDo6Q29vcmRpbmF0ZWRUaWxlQmFja2VuZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZFRpbGVCYWNrZW5kOjpjcmVh
dGVUaWxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZUJhY2tl
bmQ6OnBhaW50Q2hlY2tlclBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkVGlsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ6On5Db29yZGluYXRlZFRpbGVkQmFja2luZ1N0
b3JlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZUNsaWVudDo6fkNv
b3JkaW5hdGVkVGlsZUNsaWVudCk6CisgICAgICAgIERlbGV0ZWQuIENvb3JkaW5hdGVkVGlsZWRC
YWNraW5nU3RvcmVDbGllbnQgd2lsbCBjb3ZlciB0aGUgZnVuY3Rpb25hbGl0aWVzLgorCiAyMDE0
LTA1LTI2ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggdGhlIHF1aXJrcyBtb2RlIHNlbGVjdG9yIG1hdGNoaW5nIG9mIHRoZSBwc2V1ZG8gY2xh
c3NlcyA6aG92ZXIgYW5kIDphY3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kLmgKaW5kZXggMmVjZWNj
ZTNiMmM1MTM4MTBjNjM0Nzg5NjVkMGExOGMwYTliZmNmYi4uMWU0OWZhMWQxNWI2NDkwNTVhMTQy
ZjIyZDEwNzJmYjAyNWU0ZDg1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kLmgKQEAgLTIxLDkgKzIx
LDcgQEAKICNkZWZpbmUgVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kX2gKIAogI2lmIFVTRShUSUxF
RF9CQUNLSU5HX1NUT1JFKQotCiAjaW5jbHVkZSAiVGlsZS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsOCArMzEsOCBAQCBjbGFz
cyBUaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZpcnR1YWwgflRpbGVkQmFja2luZ1N0b3JlQmFja2VuZCgpIHsgfQot
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxUaWxlPiBjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3Jl
KiwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRD
aGVja2VyUGF0dGVybihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7Cisg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPFRpbGU+IGNyZWF0ZVRpbGUoVGlsZWRCYWNraW5nU3RvcmUq
LCBjb25zdCBUaWxlOjpDb29yZGluYXRlJik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50Q2hlY2tl
clBhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikgeyB9CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuY3BwCmluZGV4IDI5ZjAxOGNhYzZmZTViNjc3YzVkYTY1MGIzMzFjNzZhMTI2MDNjODYuLmMz
MTQ1NmE1ZDZlYWYzODIxMGZkY2M2MGUxNTExOTBiNmU0Y2M0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC04OTMs
NyArODkzLDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkanVzdENvbnRlbnRz
U2NhbGUoKQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFja2luZ1N0
b3JlKCkKIHsKLSAgICBtX21haW5CYWNraW5nU3RvcmUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbGVk
QmFja2luZ1N0b3JlPih0aGlzLCBzdGQ6Om1ha2VfdW5pcXVlPENvb3JkaW5hdGVkVGlsZUJhY2tl
bmQ+KHRoaXMpKTsKKyAgICBtX21haW5CYWNraW5nU3RvcmUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRp
bGVkQmFja2luZ1N0b3JlPih0aGlzLCBzdGQ6Om1ha2VfdW5pcXVlPFRpbGVkQmFja2luZ1N0b3Jl
QmFja2VuZD4oKSk7CiAgICAgbV9tYWluQmFja2luZ1N0b3JlLT5zZXRTdXBwb3J0c0FscGhhKCFj
b250ZW50c09wYXF1ZSgpKTsKICAgICBtX21haW5CYWNraW5nU3RvcmUtPnNldENvbnRlbnRzU2Nh
bGUoZWZmZWN0aXZlQ29udGVudHNTY2FsZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAppbmRleCAxNDg2YzIwN2JlMjg2NDA0
NDhiNTA2MTM3YTZiMGI0MzQyMDExNGViLi44NmEzM2JmOTRhOTU5ZmFjNjBhYWUxZWFlM2JmNjgz
ZWY4MTI4YjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNp
bmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKLSNpbmNs
dWRlICJUaWxlZEJhY2tpbmdTdG9yZUNsaWVudC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9u
TWF0cml4LmgiCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAjaW5jbHVkZSAiR3JhcGhpY3NT
dXJmYWNlVG9rZW4uaCIKQEAgLTU3LDkgKzU2LDggQEAgcHVibGljOgogfTsKIAogY2xhc3MgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyIDogcHVibGljIEdyYXBoaWNzTGF5ZXIKLSAgICAsIHB1Ymxp
YyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudAotICAgICwgcHVibGljIENvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nOjpIb3N0Ci0gICAgLCBwdWJsaWMgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IHsKKyAgICAs
IHB1YmxpYyBDb29yZGluYXRlZFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50CisgICAgLCBwdWJsaWMg
Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6Okhvc3QgewogcHVibGljOgogICAgIGV4cGxpY2l0IENv
b3JkaW5hdGVkR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50Jik7CiAgICAgdmlydHVh
bCB+Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKCk7CkBAIC0xMzgsNyArMTM2LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgSW50UmVjdCB0aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBDb2xvciB0aWxlZEJhY2tpbmdTdG9yZUJhY2tncm91bmRDb2xv
cigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgLy8gQ29vcmRpbmF0ZWRUaWxlQ2xpZW50CisgICAg
Ly8gQ29vcmRpbmF0ZWRUaWxlZEJhY2tpbmdTdG9yZUNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBj
cmVhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgY29uc3QgU3VyZmFjZVVwZGF0ZUluZm8mLCBjb25z
dCBJbnRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRpbGUodWludDMy
X3QgdGlsZUlELCBjb25zdCBTdXJmYWNlVXBkYXRlSW5mbyYsIGNvbnN0IEludFJlY3QmKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlVGlsZSh1aW50MzJfdCB0aWxlSUQpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcAppbmRleCBi
MjRmNDhkMjM2MTkxNzkxMDNjY2ZiNDdkZTZjMGVmYmNkNDFkZjhjLi4xMzdiNmE0YjE5NzFhYTNm
NTM2NzI2ZDBiOWU5MmI2NjBkOGM1ZWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRUaWxlLmNwcApAQCAtMzcsOSArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCB1aW50MzJfdCBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxlSUQgPSAwOwogCi1D
b29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShDb29yZGluYXRlZFRpbGVDbGllbnQqIGNs
aWVudCwgVGlsZWRCYWNraW5nU3RvcmUqIHRpbGVkQmFja2luZ1N0b3JlLCBjb25zdCBDb29yZGlu
YXRlJiB0aWxlQ29vcmRpbmF0ZSkKLSAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1fdGls
ZWRCYWNraW5nU3RvcmUodGlsZWRCYWNraW5nU3RvcmUpCitDb29yZGluYXRlZFRpbGU6OkNvb3Jk
aW5hdGVkVGlsZShUaWxlZEJhY2tpbmdTdG9yZSogdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENv
b3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQorICAgIDogbV90aWxlZEJhY2tpbmdTdG9yZSh0aWxl
ZEJhY2tpbmdTdG9yZSkKICAgICAsIG1fY29vcmRpbmF0ZSh0aWxlQ29vcmRpbmF0ZSkKICAgICAs
IG1fcmVjdCh0aWxlZEJhY2tpbmdTdG9yZS0+dGlsZVJlY3RGb3JDb29yZGluYXRlKHRpbGVDb29y
ZGluYXRlKSkKICAgICAsIG1fSUQoSW52YWxpZENvb3JkaW5hdGVkVGlsZUlEKQpAQCAtNTAsNyAr
NDksNyBAQCBDb29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShDb29yZGluYXRlZFRpbGVD
bGllbnQqIGNsaWVudCwgVGlsZWRCYWNraW5nU3RvcgogQ29vcmRpbmF0ZWRUaWxlOjp+Q29vcmRp
bmF0ZWRUaWxlKCkKIHsKICAgICBpZiAobV9JRCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxlSUQp
Ci0gICAgICAgIG1fY2xpZW50LT5yZW1vdmVUaWxlKG1fSUQpOworICAgICAgICBzdGF0aWNfY2Fz
dDxDb29yZGluYXRlZFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kj4obV90aWxlZEJhY2tpbmdTdG9y
ZS0+Y2xpZW50KCkpLT5yZW1vdmVUaWxlKG1fSUQpOwogfQogCiBib29sIENvb3JkaW5hdGVkVGls
ZTo6aXNEaXJ0eSgpIGNvbnN0CkBAIC03Myw4ICs3Miw5IEBAIFZlY3RvcjxJbnRSZWN0PiBDb29y
ZGluYXRlZFRpbGU6OnVwZGF0ZUJhY2tCdWZmZXIoKQogICAgICAgICByZXR1cm4gVmVjdG9yPElu
dFJlY3Q+KCk7CiAKICAgICBTdXJmYWNlVXBkYXRlSW5mbyB1cGRhdGVJbmZvOworICAgIENvb3Jk
aW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqIGNsaWVudCA9IHN0YXRpY19jYXN0PENvb3Jk
aW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqPihtX3RpbGVkQmFja2luZ1N0b3JlLT5jbGll
bnQoKSk7CiAKLSAgICBpZiAoIW1fY2xpZW50LT5wYWludFRvU3VyZmFjZShtX2RpcnR5UmVjdC5z
aXplKCksIHVwZGF0ZUluZm8uYXRsYXNJRCwgdXBkYXRlSW5mby5zdXJmYWNlT2Zmc2V0LCB0aGlz
KSkKKyAgICBpZiAoIWNsaWVudC0+cGFpbnRUb1N1cmZhY2UobV9kaXJ0eVJlY3Quc2l6ZSgpLCB1
cGRhdGVJbmZvLmF0bGFzSUQsIHVwZGF0ZUluZm8uc3VyZmFjZU9mZnNldCwgdGhpcykpCiAgICAg
ICAgIHJldHVybiBWZWN0b3I8SW50UmVjdD4oKTsKIAogICAgIHVwZGF0ZUluZm8udXBkYXRlUmVj
dCA9IG1fZGlydHlSZWN0OwpAQCAtODcsOSArODcsOSBAQCBWZWN0b3I8SW50UmVjdD4gQ29vcmRp
bmF0ZWRUaWxlOjp1cGRhdGVCYWNrQnVmZmVyKCkKICAgICAgICAgLy8gV2UgbWF5IGdldCBhbiBp
bnZhbGlkIElEIGR1ZSB0byB3cmFwLWFyb3VuZCBvbiBvdmVyZmxvdy4KICAgICAgICAgaWYgKG1f
SUQgPT0gSW52YWxpZENvb3JkaW5hdGVkVGlsZUlEKQogICAgICAgICAgICAgbV9JRCA9IGlkKys7
Ci0gICAgICAgIG1fY2xpZW50LT5jcmVhdGVUaWxlKG1fSUQsIHVwZGF0ZUluZm8sIG1fcmVjdCk7
CisgICAgICAgIGNsaWVudC0+Y3JlYXRlVGlsZShtX0lELCB1cGRhdGVJbmZvLCBtX3JlY3QpOwog
ICAgIH0gZWxzZQotICAgICAgICBtX2NsaWVudC0+dXBkYXRlVGlsZShtX0lELCB1cGRhdGVJbmZv
LCBtX3JlY3QpOworICAgICAgICBjbGllbnQtPnVwZGF0ZVRpbGUobV9JRCwgdXBkYXRlSW5mbywg
bV9yZWN0KTsKIAogICAgIFZlY3RvcjxJbnRSZWN0PiB1cGRhdGVkUmVjdHM7CiAgICAgdXBkYXRl
ZFJlY3RzLmFwcGVuZChtX2RpcnR5UmVjdCk7CkBAIC0xMjUsMTggKzEyNSw5IEBAIHZvaWQgQ29v
cmRpbmF0ZWRUaWxlOjpyZXNpemUoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKICAgICBtX2RpcnR5
UmVjdCA9IG1fcmVjdDsKIH0KIAotQ29vcmRpbmF0ZWRUaWxlQmFja2VuZDo6Q29vcmRpbmF0ZWRU
aWxlQmFja2VuZChDb29yZGluYXRlZFRpbGVDbGllbnQqIGNsaWVudCkKLSAgICA6IG1fY2xpZW50
KGNsaWVudCkKLXsKLX0KLQotUGFzc1JlZlB0cjxUaWxlPiBDb29yZGluYXRlZFRpbGVCYWNrZW5k
OjpjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3JlKiB0aWxlZEJhY2tpbmdTdG9yZSwgY29uc3Qg
VGlsZTo6Q29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUpCi17Ci0gICAgcmV0dXJuIENvb3JkaW5h
dGVkVGlsZTo6Y3JlYXRlKG1fY2xpZW50LCB0aWxlZEJhY2tpbmdTdG9yZSwgdGlsZUNvb3JkaW5h
dGUpOwotfQotCi12b2lkIENvb3JkaW5hdGVkVGlsZUJhY2tlbmQ6OnBhaW50Q2hlY2tlclBhdHRl
cm4oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikKK1Bhc3NSZWZQdHI8VGlsZT4g
VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kOjpjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3JlKiB0
aWxlZEJhY2tpbmdTdG9yZSwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUp
CiB7CisgICAgcmV0dXJuIENvb3JkaW5hdGVkVGlsZTo6Y3JlYXRlKHRpbGVkQmFja2luZ1N0b3Jl
LCB0aWxlQ29vcmRpbmF0ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZFRpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaAppbmRleCBkODQ1Y2U1ZGY1ODMxNWFjYjMy
ZGIwYjViMDE1ZmY2NjJiMTgwOTUyLi41OTMwMWU2ODQ3MzY3ODE0NTNhMzkwMzc5ZTJlZTExNjdl
ZTRlZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5oCkBAIC0z
MiwxNyArMzIsMTYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVGlsZS5oIgog
I2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3Rv
cmVDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb29yZGluYXRlZFRp
bGVDbGllbnQ7CiBjbGFzcyBJbWFnZUJ1ZmZlcjsKIGNsYXNzIFN1cmZhY2VVcGRhdGVJbmZvOwot
Y2xhc3MgVGlsZWRCYWNraW5nU3RvcmU7CiAKIGNsYXNzIENvb3JkaW5hdGVkVGlsZSA6IHB1Ymxp
YyBUaWxlLCBwdWJsaWMgQ29vcmRpbmF0ZWRTdXJmYWNlOjpDbGllbnQgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFRpbGU+IGNyZWF0ZShDb29yZGluYXRlZFRpbGVDbGllbnQqIGNs
aWVudCwgVGlsZWRCYWNraW5nU3RvcmUqIHRpbGVkQmFja2luZ1N0b3JlLCBjb25zdCBDb29yZGlu
YXRlJiB0aWxlQ29vcmRpbmF0ZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvb3JkaW5hdGVkVGls
ZShjbGllbnQsIHRpbGVkQmFja2luZ1N0b3JlLCB0aWxlQ29vcmRpbmF0ZSkpOyB9CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8VGlsZT4gY3JlYXRlKFRpbGVkQmFja2luZ1N0b3JlKiB0aWxlZEJhY2tp
bmdTdG9yZSwgY29uc3QgQ29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDb29yZGluYXRlZFRpbGUodGlsZWRCYWNraW5nU3RvcmUsIHRpbGVDb29yZGluYXRl
KSk7IH0KICAgICB+Q29vcmRpbmF0ZWRUaWxlKCk7CiAKICAgICBib29sIGlzRGlydHkoKSBjb25z
dDsKQEAgLTU5LDkgKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwYWludFRvU3Vy
ZmFjZUNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAg
Q29vcmRpbmF0ZWRUaWxlKENvb3JkaW5hdGVkVGlsZUNsaWVudCosIFRpbGVkQmFja2luZ1N0b3Jl
KiwgY29uc3QgQ29vcmRpbmF0ZSYpOworICAgIENvb3JkaW5hdGVkVGlsZShUaWxlZEJhY2tpbmdT
dG9yZSosIGNvbnN0IENvb3JkaW5hdGUmKTsKIAotICAgIENvb3JkaW5hdGVkVGlsZUNsaWVudCog
bV9jbGllbnQ7CiAgICAgVGlsZWRCYWNraW5nU3RvcmUqIG1fdGlsZWRCYWNraW5nU3RvcmU7CiAg
ICAgQ29vcmRpbmF0ZSBtX2Nvb3JkaW5hdGU7CiAgICAgSW50UmVjdCBtX3JlY3Q7CkBAIC03MCwy
NSArNjgsMTUgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fZGlydHlSZWN0OwogfTsKIAotY2xh
c3MgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IHsKK2NsYXNzIENvb3JkaW5hdGVkVGlsZWRCYWNraW5n
U3RvcmVDbGllbnQgOiBwdWJsaWMgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQgewogcHVibGljOgot
ICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkVGlsZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkNv
b3JkaW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
Y3JlYXRlVGlsZSh1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFN1cmZhY2VVcGRhdGVJbmZvJiwgY29u
c3QgSW50UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGlsZSh1aW50MzJfdCB0
aWxlSUQsIGNvbnN0IFN1cmZhY2VVcGRhdGVJbmZvJiwgY29uc3QgSW50UmVjdCYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlVGlsZSh1aW50MzJfdCB0aWxlSUQpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6ZSYsIHVpbnQzMl90JiBhdGxhc0lE
LCBJbnRQb2ludCYsIENvb3JkaW5hdGVkU3VyZmFjZTo6Q2xpZW50KikgPSAwOwogfTsKIAotY2xh
c3MgQ29vcmRpbmF0ZWRUaWxlQmFja2VuZCA6IHB1YmxpYyBUaWxlZEJhY2tpbmdTdG9yZUJhY2tl
bmQgewotcHVibGljOgotICAgIGV4cGxpY2l0IENvb3JkaW5hdGVkVGlsZUJhY2tlbmQoQ29vcmRp
bmF0ZWRUaWxlQ2xpZW50Kik7Ci0gICAgUGFzc1JlZlB0cjxUaWxlPiBjcmVhdGVUaWxlKFRpbGVk
QmFja2luZ1N0b3JlKiwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYpOwotICAgIHZvaWQgcGFpbnRD
aGVja2VyUGF0dGVybihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKLQotcHJp
dmF0ZToKLSAgICBDb29yZGluYXRlZFRpbGVDbGllbnQqIG1fY2xpZW50OwotfTsKLQogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247389</attachid>
            <date>2015-02-25 18:53:23 -0800</date>
            <delta_ts>2015-05-26 05:29:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133337-20150226115304.patch</filename>
            <type>text/plain</type>
            <size>11402</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU1MWExMzM3ZTg4MDlj
MDA0ZGUxOTY3YjMzZjQxMTI2ZGFmYWMyOS4uZWMxMTJlMjRkODRkYWQ5ZmFhM2RlMTdkYWZjZGQw
ZmY4OTIzZDZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTAyLTI1ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtFRkxdW0Nvb3Jk
aW5hdGVkR3JhcGhpY3NdIFJlbW92ZSBDb29yZGluYXRlZFRpbGVDbGllbnQgYW5kIENvb3JkaW5h
dGVkVGlsZUJhY2tlbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMzMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJvdGggQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IGFuZCBUaWxlZEJhY2tpbmdTdG9yZTo6
Q2xpZW50IGFyZSBpbXBsZW1lbnRlZCBieSBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuCisgICAg
ICAgIFRoaXMgcGF0Y2ggc2ltcGxpZmllcyB0aGUgQ29vcmRpbmF0ZWRUaWxlIGFuZCBUaWxlZEJh
Y2tpbmdTdG9yZUJhY2tlbmQgYnkgcmVtb3ZpbmcgQ29vcmRpbmF0ZWRUaWxlZFRpbGVDbGllbnQK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5o
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kOjpwYWludENoZWNr
ZXJQYXR0ZXJuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6Y3JlYXRlQmFja2luZ1N0b3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3Jk
aW5hdGVkVGlsZS5jcHA6CisgICAgICAgIEltcGxlbWVudGVkIFRpbGVkQmFja2luZ1N0b3JlQmFj
a2VuZCBpbnN0ZWFkIG9mIGluaGVyaXRpbmcgYXMgQ29vcmRpbmF0ZWRUaWxlQmFja2VuZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZTo6Q29vcmRpbmF0ZWRUaWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZTo6fkNvb3JkaW5hdGVkVGlsZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZFRpbGU6OnVwZGF0ZUJhY2tCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kOjpjcmVhdGVUaWxlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZUJhY2tlbmQ6OkNvb3JkaW5hdGVkVGlsZUJhY2tlbmQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlQmFja2VuZDo6Y3Jl
YXRlVGlsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZFRpbGVCYWNr
ZW5kOjpwYWludENoZWNrZXJQYXR0ZXJuKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDb29yZGluYXRlZFRpbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29y
ZGluYXRlZFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Ojp+Q29vcmRpbmF0ZWRUaWxlZEJhY2tpbmdT
dG9yZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZFRpbGVDbGllbnQ6On5D
b29yZGluYXRlZFRpbGVDbGllbnQpOgorICAgICAgICBEZWxldGVkLiBDb29yZGluYXRlZFRpbGVk
QmFja2luZ1N0b3JlQ2xpZW50IHdpbGwgY292ZXIgdGhlIGZ1bmN0aW9uYWxpdGllcy4KKwogMjAx
NS0wMi0yNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtBdHRhY2ht
ZW50XSBHaXZlIDxhdHRhY2htZW50PiBlbGVtZW50cyBhbiB1bmRlcmx5aW5nIEZpbGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3Jl
QmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmVCYWNrZW5kLmgKaW5kZXggNjcyNmJiOWYzM2VhYjFkOTdiMTQ5YzE0ODJjZDM2MTE5ZDMx
ZjliYy4uY2Q2ODMzNDM3ZDY3YzlkZjMyNzRmMDFmZWFhMmNmMmQ3YWY0MjE3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmVCYWNr
ZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmVCYWNrZW5kLmgKQEAgLTMyLDggKzMyLDggQEAgY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVC
YWNrZW5kIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5UaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQoKSB7IH0KLSAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8VGlsZT4gY3JlYXRlVGlsZShUaWxlZEJhY2tpbmdTdG9yZSosIGNvbnN0IFRpbGU6OkNvb3Jk
aW5hdGUmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50Q2hlY2tlclBhdHRlcm4oR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxUaWxlPiBjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3JlKiwgY29uc3QgVGlsZTo6Q29vcmRp
bmF0ZSYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludENoZWNrZXJQYXR0ZXJuKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIHsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCBlMTVkMmRh
YjM2OGUwNjY4MDk3NGI4NTNhYjdhNmVjMWE0MGE4YjFjLi4yNzdiYjRmM2U3NzljMTBlZDIzYTIw
YzAzOGY1N2U2NzI4ODdhZjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtODg5LDcgKzg4OSw3IEBAIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGp1c3RDb250ZW50c1NjYWxlKCkKIAogdm9pZCBDb29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZUJhY2tpbmdTdG9yZSgpCiB7Ci0gICAgbV9tYWlu
QmFja2luZ1N0b3JlID0gc3RkOjptYWtlX3VuaXF1ZTxUaWxlZEJhY2tpbmdTdG9yZT4odGhpcywg
c3RkOjptYWtlX3VuaXF1ZTxDb29yZGluYXRlZFRpbGVCYWNrZW5kPih0aGlzKSk7CisgICAgbV9t
YWluQmFja2luZ1N0b3JlID0gc3RkOjptYWtlX3VuaXF1ZTxUaWxlZEJhY2tpbmdTdG9yZT4odGhp
cywgc3RkOjptYWtlX3VuaXF1ZTxUaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQ+KCkpOwogICAgIG1f
bWFpbkJhY2tpbmdTdG9yZS0+c2V0U3VwcG9ydHNBbHBoYSghY29udGVudHNPcGFxdWUoKSk7CiAg
ICAgbV9tYWluQmFja2luZ1N0b3JlLT5zZXRDb250ZW50c1NjYWxlKGVmZmVjdGl2ZUNvbnRlbnRz
U2NhbGUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmgKaW5kZXggYTIxNmFkNWE5MzNhY2JiNTA1NmYyNDY2YTcwMjFjY2IwOTg1
YTA5ZS4uZWI1MWNhNGYyYThhYTNhOTJhOWExZGVhNDVlZjFkMzFmMmM0ZDhlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAt
MzEsNyArMzEsNiBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKLSNpbmNsdWRl
ICJUaWxlZEJhY2tpbmdTdG9yZUNsaWVudC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAjaW5jbHVkZSAiR3JhcGhpY3NTdXJm
YWNlVG9rZW4uaCIKQEAgLTU3LDkgKzU2LDggQEAgcHVibGljOgogfTsKIAogY2xhc3MgQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyIDogcHVibGljIEdyYXBoaWNzTGF5ZXIKLSAgICAsIHB1YmxpYyBU
aWxlZEJhY2tpbmdTdG9yZUNsaWVudAotICAgICwgcHVibGljIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpIb3N0Ci0gICAgLCBwdWJsaWMgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IHsKKyAgICAsIHB1
YmxpYyBDb29yZGluYXRlZFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50CisgICAgLCBwdWJsaWMgQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmc6Okhvc3QgewogcHVibGljOgogICAgIGV4cGxpY2l0IENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcihUeXBlLCBHcmFwaGljc0xheWVyQ2xpZW50Jik7CiAgICAgdmly
dHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKCk7CkBAIC0xMzYsNyArMTM0LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgSW50UmVjdCB0aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCkg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCBDb2xvciB0aWxlZEJhY2tpbmdTdG9yZUJhY2tncm91bmRD
b2xvcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgLy8gQ29vcmRpbmF0ZWRUaWxlQ2xpZW50Cisg
ICAgLy8gQ29vcmRpbmF0ZWRUaWxlZEJhY2tpbmdTdG9yZUNsaWVudAogICAgIHZpcnR1YWwgdm9p
ZCBjcmVhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgY29uc3QgU3VyZmFjZVVwZGF0ZUluZm8mLCBj
b25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRpbGUodWlu
dDMyX3QgdGlsZUlELCBjb25zdCBTdXJmYWNlVXBkYXRlSW5mbyYsIGNvbnN0IEludFJlY3QmKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlVGlsZSh1aW50MzJfdCB0aWxlSUQpIG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcAppbmRl
eCBkZDMyYzIzNDkxOTczMjQzNmM5MmI0ZDc5MzA2Y2ZiZmZlMDZkMzQyLi42YTY4YTkxZDc3NWVm
NzIyMDUwYTVjNmM0ZmE0ZGRhODEyOTljYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRUaWxlLmNwcApAQCAtMzcsOSArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxlSUQgPSAwOwog
Ci1Db29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShDb29yZGluYXRlZFRpbGVDbGllbnQq
IGNsaWVudCwgVGlsZWRCYWNraW5nU3RvcmUqIHRpbGVkQmFja2luZ1N0b3JlLCBjb25zdCBDb29y
ZGluYXRlJiB0aWxlQ29vcmRpbmF0ZSkKLSAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1f
dGlsZWRCYWNraW5nU3RvcmUodGlsZWRCYWNraW5nU3RvcmUpCitDb29yZGluYXRlZFRpbGU6OkNv
b3JkaW5hdGVkVGlsZShUaWxlZEJhY2tpbmdTdG9yZSogdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0
IENvb3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQorICAgIDogbV90aWxlZEJhY2tpbmdTdG9yZSh0
aWxlZEJhY2tpbmdTdG9yZSkKICAgICAsIG1fY29vcmRpbmF0ZSh0aWxlQ29vcmRpbmF0ZSkKICAg
ICAsIG1fcmVjdCh0aWxlZEJhY2tpbmdTdG9yZS0+dGlsZVJlY3RGb3JDb29yZGluYXRlKHRpbGVD
b29yZGluYXRlKSkKICAgICAsIG1fSUQoSW52YWxpZENvb3JkaW5hdGVkVGlsZUlEKQpAQCAtNTAs
NyArNDksNyBAQCBDb29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShDb29yZGluYXRlZFRp
bGVDbGllbnQqIGNsaWVudCwgVGlsZWRCYWNraW5nU3RvcgogQ29vcmRpbmF0ZWRUaWxlOjp+Q29v
cmRpbmF0ZWRUaWxlKCkKIHsKICAgICBpZiAobV9JRCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxl
SUQpCi0gICAgICAgIG1fY2xpZW50LT5yZW1vdmVUaWxlKG1fSUQpOworICAgICAgICBzdGF0aWNf
Y2FzdDxDb29yZGluYXRlZFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kj4obV90aWxlZEJhY2tpbmdT
dG9yZS0+Y2xpZW50KCkpLT5yZW1vdmVUaWxlKG1fSUQpOwogfQogCiBib29sIENvb3JkaW5hdGVk
VGlsZTo6aXNEaXJ0eSgpIGNvbnN0CkBAIC03Myw4ICs3Miw5IEBAIFZlY3RvcjxJbnRSZWN0PiBD
b29yZGluYXRlZFRpbGU6OnVwZGF0ZUJhY2tCdWZmZXIoKQogICAgICAgICByZXR1cm4gVmVjdG9y
PEludFJlY3Q+KCk7CiAKICAgICBTdXJmYWNlVXBkYXRlSW5mbyB1cGRhdGVJbmZvOworICAgIENv
b3JkaW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqIGNsaWVudCA9IHN0YXRpY19jYXN0PENv
b3JkaW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqPihtX3RpbGVkQmFja2luZ1N0b3JlLT5j
bGllbnQoKSk7CiAKLSAgICBpZiAoIW1fY2xpZW50LT5wYWludFRvU3VyZmFjZShtX2RpcnR5UmVj
dC5zaXplKCksIHVwZGF0ZUluZm8uYXRsYXNJRCwgdXBkYXRlSW5mby5zdXJmYWNlT2Zmc2V0LCB0
aGlzKSkKKyAgICBpZiAoIWNsaWVudC0+cGFpbnRUb1N1cmZhY2UobV9kaXJ0eVJlY3Quc2l6ZSgp
LCB1cGRhdGVJbmZvLmF0bGFzSUQsIHVwZGF0ZUluZm8uc3VyZmFjZU9mZnNldCwgdGhpcykpCiAg
ICAgICAgIHJldHVybiBWZWN0b3I8SW50UmVjdD4oKTsKIAogICAgIHVwZGF0ZUluZm8udXBkYXRl
UmVjdCA9IG1fZGlydHlSZWN0OwpAQCAtODcsOSArODcsOSBAQCBWZWN0b3I8SW50UmVjdD4gQ29v
cmRpbmF0ZWRUaWxlOjp1cGRhdGVCYWNrQnVmZmVyKCkKICAgICAgICAgLy8gV2UgbWF5IGdldCBh
biBpbnZhbGlkIElEIGR1ZSB0byB3cmFwLWFyb3VuZCBvbiBvdmVyZmxvdy4KICAgICAgICAgaWYg
KG1fSUQgPT0gSW52YWxpZENvb3JkaW5hdGVkVGlsZUlEKQogICAgICAgICAgICAgbV9JRCA9IGlk
Kys7Ci0gICAgICAgIG1fY2xpZW50LT5jcmVhdGVUaWxlKG1fSUQsIHVwZGF0ZUluZm8sIG1fcmVj
dCk7CisgICAgICAgIGNsaWVudC0+Y3JlYXRlVGlsZShtX0lELCB1cGRhdGVJbmZvLCBtX3JlY3Qp
OwogICAgIH0gZWxzZQotICAgICAgICBtX2NsaWVudC0+dXBkYXRlVGlsZShtX0lELCB1cGRhdGVJ
bmZvLCBtX3JlY3QpOworICAgICAgICBjbGllbnQtPnVwZGF0ZVRpbGUobV9JRCwgdXBkYXRlSW5m
bywgbV9yZWN0KTsKIAogICAgIFZlY3RvcjxJbnRSZWN0PiB1cGRhdGVkUmVjdHM7CiAgICAgdXBk
YXRlZFJlY3RzLmFwcGVuZChtX2RpcnR5UmVjdCk7CkBAIC0xMjUsMTggKzEyNSw5IEBAIHZvaWQg
Q29vcmRpbmF0ZWRUaWxlOjpyZXNpemUoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKICAgICBtX2Rp
cnR5UmVjdCA9IG1fcmVjdDsKIH0KIAotQ29vcmRpbmF0ZWRUaWxlQmFja2VuZDo6Q29vcmRpbmF0
ZWRUaWxlQmFja2VuZChDb29yZGluYXRlZFRpbGVDbGllbnQqIGNsaWVudCkKLSAgICA6IG1fY2xp
ZW50KGNsaWVudCkKLXsKLX0KLQotUGFzc1JlZlB0cjxUaWxlPiBDb29yZGluYXRlZFRpbGVCYWNr
ZW5kOjpjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3JlKiB0aWxlZEJhY2tpbmdTdG9yZSwgY29u
c3QgVGlsZTo6Q29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUpCi17Ci0gICAgcmV0dXJuIENvb3Jk
aW5hdGVkVGlsZTo6Y3JlYXRlKG1fY2xpZW50LCB0aWxlZEJhY2tpbmdTdG9yZSwgdGlsZUNvb3Jk
aW5hdGUpOwotfQotCi12b2lkIENvb3JkaW5hdGVkVGlsZUJhY2tlbmQ6OnBhaW50Q2hlY2tlclBh
dHRlcm4oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikKK1Bhc3NSZWZQdHI8VGls
ZT4gVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kOjpjcmVhdGVUaWxlKFRpbGVkQmFja2luZ1N0b3Jl
KiB0aWxlZEJhY2tpbmdTdG9yZSwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5h
dGUpCiB7CisgICAgcmV0dXJuIENvb3JkaW5hdGVkVGlsZTo6Y3JlYXRlKHRpbGVkQmFja2luZ1N0
b3JlLCB0aWxlQ29vcmRpbmF0ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZFRpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaAppbmRleCBiNzk3MDlmM2JhNjRjZTVj
MDYwNzM0ZDJmNWVhNjFlMTE1MDQyMTBiLi5jN2E0ZjVjMzQ3NTFlZWYyMzY2YmRlNDgyMWU4NDE0
MmM1YzBjMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5oCkBA
IC0zMiwxNyArMzIsMTYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVGlsZS5o
IgogI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAiVGlsZWRCYWNraW5n
U3RvcmVDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb29yZGluYXRl
ZFRpbGVDbGllbnQ7CiBjbGFzcyBJbWFnZUJ1ZmZlcjsKIGNsYXNzIFN1cmZhY2VVcGRhdGVJbmZv
OwotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmU7CiAKIGNsYXNzIENvb3JkaW5hdGVkVGlsZSA6IHB1
YmxpYyBUaWxlLCBwdWJsaWMgQ29vcmRpbmF0ZWRTdXJmYWNlOjpDbGllbnQgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRpbGU+IGNyZWF0ZShDb29yZGluYXRlZFRpbGVDbGllbnQq
IGNsaWVudCwgVGlsZWRCYWNraW5nU3RvcmUqIHRpbGVkQmFja2luZ1N0b3JlLCBjb25zdCBDb29y
ZGluYXRlJiB0aWxlQ29vcmRpbmF0ZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvb3JkaW5hdGVk
VGlsZShjbGllbnQsIHRpbGVkQmFja2luZ1N0b3JlLCB0aWxlQ29vcmRpbmF0ZSkpOyB9CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8VGlsZT4gY3JlYXRlKFRpbGVkQmFja2luZ1N0b3JlKiB0aWxlZEJh
Y2tpbmdTdG9yZSwgY29uc3QgQ29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDb29yZGluYXRlZFRpbGUodGlsZWRCYWNraW5nU3RvcmUsIHRpbGVDb29yZGlu
YXRlKSk7IH0KICAgICB+Q29vcmRpbmF0ZWRUaWxlKCk7CiAKICAgICBib29sIGlzRGlydHkoKSBj
b25zdDsKQEAgLTU5LDkgKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwYWludFRv
U3VyZmFjZUNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0g
ICAgQ29vcmRpbmF0ZWRUaWxlKENvb3JkaW5hdGVkVGlsZUNsaWVudCosIFRpbGVkQmFja2luZ1N0
b3JlKiwgY29uc3QgQ29vcmRpbmF0ZSYpOworICAgIENvb3JkaW5hdGVkVGlsZShUaWxlZEJhY2tp
bmdTdG9yZSosIGNvbnN0IENvb3JkaW5hdGUmKTsKIAotICAgIENvb3JkaW5hdGVkVGlsZUNsaWVu
dCogbV9jbGllbnQ7CiAgICAgVGlsZWRCYWNraW5nU3RvcmUqIG1fdGlsZWRCYWNraW5nU3RvcmU7
CiAgICAgQ29vcmRpbmF0ZSBtX2Nvb3JkaW5hdGU7CiAgICAgSW50UmVjdCBtX3JlY3Q7CkBAIC03
MCwyNSArNjgsMTUgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fZGlydHlSZWN0OwogfTsKIAot
Y2xhc3MgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50IHsKK2NsYXNzIENvb3JkaW5hdGVkVGlsZWRCYWNr
aW5nU3RvcmVDbGllbnQgOiBwdWJsaWMgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQgewogcHVibGlj
OgotICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkVGlsZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwg
fkNvb3JkaW5hdGVkVGlsZWRCYWNraW5nU3RvcmVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgY3JlYXRlVGlsZSh1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFN1cmZhY2VVcGRhdGVJbmZvJiwg
Y29uc3QgSW50UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGlsZSh1aW50MzJf
dCB0aWxlSUQsIGNvbnN0IFN1cmZhY2VVcGRhdGVJbmZvJiwgY29uc3QgSW50UmVjdCYpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlVGlsZSh1aW50MzJfdCB0aWxlSUQpID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6ZSYsIHVpbnQzMl90JiBhdGxh
c0lELCBJbnRQb2ludCYsIENvb3JkaW5hdGVkU3VyZmFjZTo6Q2xpZW50KikgPSAwOwogfTsKIAot
Y2xhc3MgQ29vcmRpbmF0ZWRUaWxlQmFja2VuZCA6IHB1YmxpYyBUaWxlZEJhY2tpbmdTdG9yZUJh
Y2tlbmQgewotcHVibGljOgotICAgIGV4cGxpY2l0IENvb3JkaW5hdGVkVGlsZUJhY2tlbmQoQ29v
cmRpbmF0ZWRUaWxlQ2xpZW50Kik7Ci0gICAgUGFzc1JlZlB0cjxUaWxlPiBjcmVhdGVUaWxlKFRp
bGVkQmFja2luZ1N0b3JlKiwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYpOwotICAgIHZvaWQgcGFp
bnRDaGVja2VyUGF0dGVybihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKLQot
cHJpdmF0ZToKLSAgICBDb29yZGluYXRlZFRpbGVDbGllbnQqIG1fY2xpZW50OwotfTsKLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253704</attachid>
            <date>2015-05-26 05:29:30 -0700</date>
            <delta_ts>2015-05-26 14:39:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133337-20150526212919.patch</filename>
            <type>text/plain</type>
            <size>15651</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViNTFlNDliYjk5ZjNl
YTU4Y2FjMTdjZTNmMGI3OTJiYTgyYTg4NC4uNTVmMDdjZTEzZDY4MmVhNjliMDhhZGNjYjE5NWQx
M2JiYTlkMTQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE1LTA1LTI2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtFRkxdW0Nvb3Jk
aW5hdGVkR3JhcGhpY3NdIFJlbW92ZSBDb29yZGluYXRlZFRpbGVDbGllbnQgYW5kIENvb3JkaW5h
dGVkVGlsZUJhY2tlbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMzMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggc2ltcGxpZmllcyByZWxhdGlvbnNoaXAgYmV0d2VlbiBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIgYW5kIFRpbGVkQmFja2luZ1N0b3JlCisgICAgICAgIGJ5IHJlbW92
aW5nIFRpbGVkQmFja2luZ1N0b3JlQmFja2VuZCBiZWNhdXNlIFRpbGVkQmFja2luZ1N0b3JlIG9u
bHkgc3VwcG9ydAorICAgICAgICBDb29yZGluYXRlZFRpbGVCYWNrZW5kLgorICAgICAgICBBbmQg
aXQgYWxzbyBtb3ZlcyBDb29yZGluYXRlZFRpbGVDbGllbnQgaW50ZXJmYWNlIHRvIFRpbGVkQmFj
a2luZ1N0b3JlQ2xpZW50LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZUJhY2tpbmdTdG9yZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZFRpbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlOjpDb29yZGluYXRl
ZFRpbGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlOjp+Q29vcmRpbmF0ZWRU
aWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGlsZTo6dXBkYXRlQmFja0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZFRpbGVCYWNrZW5kOjpDb29yZGluYXRl
ZFRpbGVCYWNrZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkVGls
ZUJhY2tlbmQ6OmNyZWF0ZVRpbGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRp
bmF0ZWRUaWxlQmFja2VuZDo6cGFpbnRDaGVja2VyUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlOjpjcmVhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRUaWxlQ2xpZW50Ojp+Q29vcmRpbmF0ZWRUaWxl
Q2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRC
YWNraW5nU3RvcmU6OlRpbGVkQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVk
QmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5o
OiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kOjp+
VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmVDbGllbnQuaDoKKwog
MjAxNS0wNS0xOSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAbmF2ZXJjb3JwLmNvbT4KIAogICAg
ICAgICBbRUZMXSBVc2UgR1NpbXBsZVByb3h5UmVzb2x2ZXIgaW5zdGVhZCBvZiBjdXN0b20gU291
cFByb3h5UmVzb2x2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggNGVkYzBhYjk5NzQxNDY0ZmE4MWMxNTE0MGQ0ZGUx
ZGJjMmY2NDM1ZC4uNjFlNmE2NDU2YWRlN2YwYTEwZDFkNDdiZDdkODY4YTcyNzFlN2FjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ci5jcHAKQEAgLTg4Miw3ICs4ODIsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
YWRqdXN0Q29udGVudHNTY2FsZSgpCiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpj
cmVhdGVCYWNraW5nU3RvcmUoKQogewotICAgIG1fbWFpbkJhY2tpbmdTdG9yZSA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGlsZWRCYWNraW5nU3RvcmU+KHRoaXMsIHN0ZDo6bWFrZV91bmlxdWU8Q29vcmRp
bmF0ZWRUaWxlQmFja2VuZD4odGhpcykpOworICAgIG1fbWFpbkJhY2tpbmdTdG9yZSA9IHN0ZDo6
bWFrZV91bmlxdWU8VGlsZWRCYWNraW5nU3RvcmU+KHRoaXMpOwogICAgIG1fbWFpbkJhY2tpbmdT
dG9yZS0+c2V0U3VwcG9ydHNBbHBoYSghY29udGVudHNPcGFxdWUoKSk7CiAgICAgbV9tYWluQmFj
a2luZ1N0b3JlLT5zZXRDb250ZW50c1NjYWxlKGVmZmVjdGl2ZUNvbnRlbnRzU2NhbGUoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
LmgKaW5kZXggNzY1ZWU1NzBmYmU4MTQyMzczNzQ0MWE0YWUxMjFiNzE5ZDU3NzZkOC4uOWRhMTJj
NmNmYmMyZTNjODA5MzZmNzUwNWZjNTJmNjc2MzFhZDNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtNTgsOCArNTgsNyBA
QCBwdWJsaWM6CiAKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciA6IHB1YmxpYyBHcmFw
aGljc0xheWVyCiAgICAgLCBwdWJsaWMgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQKLSAgICAsIHB1
YmxpYyBDb29yZGluYXRlZEltYWdlQmFja2luZzo6SG9zdAotICAgICwgcHVibGljIENvb3JkaW5h
dGVkVGlsZUNsaWVudCB7CisgICAgLCBwdWJsaWMgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6Okhv
c3QgewogcHVibGljOgogICAgIGV4cGxpY2l0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihUeXBl
LCBHcmFwaGljc0xheWVyQ2xpZW50Jik7CiAgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyKCk7CkBAIC0xMzUsOCArMTM0LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50UmVj
dCB0aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
SW50UmVjdCB0aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBDb2xvciB0aWxlZEJhY2tpbmdTdG9yZUJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJy
aWRlOwotCi0gICAgLy8gQ29vcmRpbmF0ZWRUaWxlQ2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGNy
ZWF0ZVRpbGUodWludDMyX3QgdGlsZUlELCBmbG9hdCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRpbGUodWludDMyX3QgdGlsZUlELCBjb25zdCBTdXJmYWNlVXBkYXRlSW5mbyYs
IGNvbnN0IEludFJlY3QmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlVGlsZSh1
aW50MzJfdCB0aWxlSUQpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRUaWxlLmNwcAppbmRleCBiOTA5NzY2ZWY5OWEwMzgzY2JiM2Y5ZTM1ZWI0MzA2Yzk3MjEy
NWM0Li5kMDFhM2MxZGJkYTdhZWEzNWVmOTRiMzYyYmVhOWM5ZWI1YjY1Yjc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRUaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcApAQCAtMzcsOSArMzcsMTMgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdWludDMyX3QgSW52YWxpZENvb3Jk
aW5hdGVkVGlsZUlEID0gMDsKIAotQ29vcmRpbmF0ZWRUaWxlOjpDb29yZGluYXRlZFRpbGUoQ29v
cmRpbmF0ZWRUaWxlQ2xpZW50KiBjbGllbnQsIFRpbGVkQmFja2luZ1N0b3JlKiB0aWxlZEJhY2tp
bmdTdG9yZSwgY29uc3QgQ29vcmRpbmF0ZSYgdGlsZUNvb3JkaW5hdGUpCi0gICAgOiBtX2NsaWVu
dChjbGllbnQpCi0gICAgLCBtX3RpbGVkQmFja2luZ1N0b3JlKHRpbGVkQmFja2luZ1N0b3JlKQor
UGFzc1JlZlB0cjxUaWxlPiBDb29yZGluYXRlZFRpbGU6OmNyZWF0ZShUaWxlZEJhY2tpbmdTdG9y
ZSogdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQor
eworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRUaWxlKHRpbGVkQmFja2luZ1N0
b3JlLCB0aWxlQ29vcmRpbmF0ZSkpOworfQorCitDb29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVk
VGlsZShUaWxlZEJhY2tpbmdTdG9yZSogdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5h
dGUmIHRpbGVDb29yZGluYXRlKQorICAgIDogbV90aWxlZEJhY2tpbmdTdG9yZSh0aWxlZEJhY2tp
bmdTdG9yZSkKICAgICAsIG1fY29vcmRpbmF0ZSh0aWxlQ29vcmRpbmF0ZSkKICAgICAsIG1fcmVj
dCh0aWxlZEJhY2tpbmdTdG9yZS0+dGlsZVJlY3RGb3JDb29yZGluYXRlKHRpbGVDb29yZGluYXRl
KSkKICAgICAsIG1fSUQoSW52YWxpZENvb3JkaW5hdGVkVGlsZUlEKQpAQCAtNTAsNyArNTQsNyBA
QCBDb29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShDb29yZGluYXRlZFRpbGVDbGllbnQq
IGNsaWVudCwgVGlsZWRCYWNraW5nU3RvcgogQ29vcmRpbmF0ZWRUaWxlOjp+Q29vcmRpbmF0ZWRU
aWxlKCkKIHsKICAgICBpZiAobV9JRCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxlSUQpCi0gICAg
ICAgIG1fY2xpZW50LT5yZW1vdmVUaWxlKG1fSUQpOworICAgICAgICBtX3RpbGVkQmFja2luZ1N0
b3JlLT5jbGllbnQoKS0+cmVtb3ZlVGlsZShtX0lEKTsKIH0KIAogYm9vbCBDb29yZGluYXRlZFRp
bGU6OmlzRGlydHkoKSBjb25zdApAQCAtNzQsNyArNzgsNyBAQCBWZWN0b3I8SW50UmVjdD4gQ29v
cmRpbmF0ZWRUaWxlOjp1cGRhdGVCYWNrQnVmZmVyKCkKIAogICAgIFN1cmZhY2VVcGRhdGVJbmZv
IHVwZGF0ZUluZm87CiAKLSAgICBpZiAoIW1fY2xpZW50LT5wYWludFRvU3VyZmFjZShtX2RpcnR5
UmVjdC5zaXplKCksIHVwZGF0ZUluZm8uYXRsYXNJRCwgdXBkYXRlSW5mby5zdXJmYWNlT2Zmc2V0
LCB0aGlzKSkKKyAgICBpZiAoIW1fdGlsZWRCYWNraW5nU3RvcmUtPmNsaWVudCgpLT5wYWludFRv
U3VyZmFjZShtX2RpcnR5UmVjdC5zaXplKCksIHVwZGF0ZUluZm8uYXRsYXNJRCwgdXBkYXRlSW5m
by5zdXJmYWNlT2Zmc2V0LCB0aGlzKSkKICAgICAgICAgcmV0dXJuIFZlY3RvcjxJbnRSZWN0Pigp
OwogCiAgICAgdXBkYXRlSW5mby51cGRhdGVSZWN0ID0gbV9kaXJ0eVJlY3Q7CkBAIC04Niw5ICs5
MCw5IEBAIFZlY3RvcjxJbnRSZWN0PiBDb29yZGluYXRlZFRpbGU6OnVwZGF0ZUJhY2tCdWZmZXIo
KQogICAgICAgICAvLyBXZSBtYXkgZ2V0IGFuIGludmFsaWQgSUQgZHVlIHRvIHdyYXAtYXJvdW5k
IG9uIG92ZXJmbG93LgogICAgICAgICBpZiAobV9JRCA9PSBJbnZhbGlkQ29vcmRpbmF0ZWRUaWxl
SUQpCiAgICAgICAgICAgICBtX0lEID0gaWQrKzsKLSAgICAgICAgbV9jbGllbnQtPmNyZWF0ZVRp
bGUobV9JRCwgbV90aWxlZEJhY2tpbmdTdG9yZS0+Y29udGVudHNTY2FsZSgpKTsKKyAgICAgICAg
bV90aWxlZEJhY2tpbmdTdG9yZS0+Y2xpZW50KCktPmNyZWF0ZVRpbGUobV9JRCwgbV90aWxlZEJh
Y2tpbmdTdG9yZS0+Y29udGVudHNTY2FsZSgpKTsKICAgICB9Ci0gICAgbV9jbGllbnQtPnVwZGF0
ZVRpbGUobV9JRCwgdXBkYXRlSW5mbywgbV9yZWN0KTsKKyAgICBtX3RpbGVkQmFja2luZ1N0b3Jl
LT5jbGllbnQoKS0+dXBkYXRlVGlsZShtX0lELCB1cGRhdGVJbmZvLCBtX3JlY3QpOwogCiAgICAg
VmVjdG9yPEludFJlY3Q+IHVwZGF0ZWRSZWN0czsKICAgICB1cGRhdGVkUmVjdHMuYXBwZW5kKG1f
ZGlydHlSZWN0KTsKQEAgLTEyNCwyMCArMTI4LDYgQEAgdm9pZCBDb29yZGluYXRlZFRpbGU6OnJl
c2l6ZShjb25zdCBJbnRTaXplJiBuZXdTaXplKQogICAgIG1fZGlydHlSZWN0ID0gbV9yZWN0Owog
fQogCi1Db29yZGluYXRlZFRpbGVCYWNrZW5kOjpDb29yZGluYXRlZFRpbGVCYWNrZW5kKENvb3Jk
aW5hdGVkVGlsZUNsaWVudCogY2xpZW50KQotICAgIDogbV9jbGllbnQoY2xpZW50KQotewotfQot
Ci1QYXNzUmVmUHRyPFRpbGU+IENvb3JkaW5hdGVkVGlsZUJhY2tlbmQ6OmNyZWF0ZVRpbGUoVGls
ZWRCYWNraW5nU3RvcmUqIHRpbGVkQmFja2luZ1N0b3JlLCBjb25zdCBUaWxlOjpDb29yZGluYXRl
JiB0aWxlQ29vcmRpbmF0ZSkKLXsKLSAgICByZXR1cm4gQ29vcmRpbmF0ZWRUaWxlOjpjcmVhdGUo
bV9jbGllbnQsIHRpbGVkQmFja2luZ1N0b3JlLCB0aWxlQ29vcmRpbmF0ZSk7Ci19Ci0KLXZvaWQg
Q29vcmRpbmF0ZWRUaWxlQmFja2VuZDo6cGFpbnRDaGVja2VyUGF0dGVybihHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKQotewotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRU
aWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRUaWxlLmgKaW5kZXggNjQyMDJhMmY5YTI2NzdlMTIzZjc3MTUwNDgyODE0
ZGQ4NWQ5NDcxZC4uYzI1MTJhMTZmNjk0MjFhODJmOGIyNDM4ZTM2MDk4N2JmN2IyNTQzOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkVGlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaApAQCAtMzUsMTQgKzM1LDEz
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50
OwogY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTdXJmYWNlVXBkYXRlSW5mbzsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlOwogCiBjbGFzcyBDb29yZGluYXRlZFRpbGUgOiBwdWJsaWMgVGlsZSwg
cHVibGljIENvb3JkaW5hdGVkU3VyZmFjZTo6Q2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUaWxlPiBjcmVhdGUoQ29vcmRpbmF0ZWRUaWxlQ2xpZW50KiBjbGllbnQsIFRp
bGVkQmFja2luZ1N0b3JlKiB0aWxlZEJhY2tpbmdTdG9yZSwgY29uc3QgQ29vcmRpbmF0ZSYgdGls
ZUNvb3JkaW5hdGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb29yZGluYXRlZFRpbGUoY2xpZW50
LCB0aWxlZEJhY2tpbmdTdG9yZSwgdGlsZUNvb3JkaW5hdGUpKTsgfQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFRpbGU+IGNyZWF0ZShUaWxlZEJhY2tpbmdTdG9yZSosIGNvbnN0IENvb3JkaW5hdGUm
KTsKKwogICAgIH5Db29yZGluYXRlZFRpbGUoKTsKIAogICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0
OwpAQCAtNTksOSArNTgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9TdXJm
YWNlQ29udGV4dChHcmFwaGljc0NvbnRleHQqKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBD
b29yZGluYXRlZFRpbGUoQ29vcmRpbmF0ZWRUaWxlQ2xpZW50KiwgVGlsZWRCYWNraW5nU3RvcmUq
LCBjb25zdCBDb29yZGluYXRlJik7CisgICAgQ29vcmRpbmF0ZWRUaWxlKFRpbGVkQmFja2luZ1N0
b3JlKiwgY29uc3QgQ29vcmRpbmF0ZSYpOwogCi0gICAgQ29vcmRpbmF0ZWRUaWxlQ2xpZW50KiBt
X2NsaWVudDsKICAgICBUaWxlZEJhY2tpbmdTdG9yZSogbV90aWxlZEJhY2tpbmdTdG9yZTsKICAg
ICBDb29yZGluYXRlIG1fY29vcmRpbmF0ZTsKICAgICBJbnRSZWN0IG1fcmVjdDsKQEAgLTcwLDI1
ICs2OCw2IEBAIHByaXZhdGU6CiAgICAgSW50UmVjdCBtX2RpcnR5UmVjdDsKIH07CiAKLWNsYXNz
IENvb3JkaW5hdGVkVGlsZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q29vcmRpbmF0
ZWRUaWxlQ2xpZW50KCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGNyZWF0ZVRpbGUodWludDMyX3Qg
dGlsZUlELCBmbG9hdCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaWxlKHVpbnQzMl90
IHRpbGVJRCwgY29uc3QgU3VyZmFjZVVwZGF0ZUluZm8mLCBjb25zdCBJbnRSZWN0JikgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCByZW1vdmVUaWxlKHVpbnQzMl90IHRpbGVJRCkgPSAwOwotICAgIHZp
cnR1YWwgYm9vbCBwYWludFRvU3VyZmFjZShjb25zdCBJbnRTaXplJiwgdWludDMyX3QmIGF0bGFz
SUQsIEludFBvaW50JiwgQ29vcmRpbmF0ZWRTdXJmYWNlOjpDbGllbnQqKSA9IDA7Ci19OwotCi1j
bGFzcyBDb29yZGluYXRlZFRpbGVCYWNrZW5kIDogcHVibGljIFRpbGVkQmFja2luZ1N0b3JlQmFj
a2VuZCB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgQ29vcmRpbmF0ZWRUaWxlQmFja2VuZChDb29y
ZGluYXRlZFRpbGVDbGllbnQqKTsKLSAgICBQYXNzUmVmUHRyPFRpbGU+IGNyZWF0ZVRpbGUoVGls
ZWRCYWNraW5nU3RvcmUqLCBjb25zdCBUaWxlOjpDb29yZGluYXRlJik7Ci0gICAgdm9pZCBwYWlu
dENoZWNrZXJQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwotCi1w
cml2YXRlOgotICAgIENvb3JkaW5hdGVkVGlsZUNsaWVudCogbV9jbGllbnQ7Ci19OwotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCAy
YmVmZDZlMmRhZGQxNmJkYzU5MjU1NzQwMzJiNDA1OWFhZWQ2ZTcyLi5iMTM5ZjQ1NWM0YzdiNWNh
MmM2NGQ4ZmQyYmRjNWE3NDAyYzE2NGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9U
aWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKIAogI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKIAorI2luY2x1ZGUgIkNvb3JkaW5hdGVkVGlsZS5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Lmgi
CiAKQEAgLTM1LDkgKzM2LDggQEAgc3RhdGljIEludFBvaW50IGlubmVyQm90dG9tUmlnaHQoY29u
c3QgSW50UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UG9pbnQocmVjdC5tYXhYKCkgLSAxLCBy
ZWN0Lm1heFkoKSAtIDEpOwogfQogCi1UaWxlZEJhY2tpbmdTdG9yZTo6VGlsZWRCYWNraW5nU3Rv
cmUoVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqIGNsaWVudCwgc3RkOjp1bmlxdWVfcHRyPFRpbGVk
QmFja2luZ1N0b3JlQmFja2VuZD4gYmFja2VuZCkKK1RpbGVkQmFja2luZ1N0b3JlOjpUaWxlZEJh
Y2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCogY2xpZW50KQogICAgIDogbV9jbGll
bnQoY2xpZW50KQotICAgICwgbV9iYWNrZW5kKFdURjo6bW92ZShiYWNrZW5kKSkKICAgICAsIG1f
dGlsZVNpemUoZGVmYXVsdFRpbGVEaW1lbnNpb24sIGRlZmF1bHRUaWxlRGltZW5zaW9uKQogICAg
ICwgbV9jb3ZlckFyZWFNdWx0aXBsaWVyKDIuMGYpCiAgICAgLCBtX2NvbnRlbnRzU2NhbGUoMS5m
KQpAQCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVz
KCkKICAgICB1bnNpZ25lZCB0aWxlc1RvQ3JlYXRlQ291bnQgPSB0aWxlc1RvQ3JlYXRlLnNpemUo
KTsKICAgICBmb3IgKHVuc2lnbmVkIG4gPSAwOyBuIDwgdGlsZXNUb0NyZWF0ZUNvdW50OyArK24p
IHsKICAgICAgICAgVGlsZTo6Q29vcmRpbmF0ZSBjb29yZGluYXRlID0gdGlsZXNUb0NyZWF0ZVtu
XTsKLSAgICAgICAgc2V0VGlsZShjb29yZGluYXRlLCBtX2JhY2tlbmQtPmNyZWF0ZVRpbGUodGhp
cywgY29vcmRpbmF0ZSkpOworICAgICAgICBzZXRUaWxlKGNvb3JkaW5hdGUsIENvb3JkaW5hdGVk
VGlsZTo6Y3JlYXRlKHRoaXMsIGNvb3JkaW5hdGUpKTsKICAgICB9CiAgICAgcmVxdWlyZWRUaWxl
Q291bnQgLT0gdGlsZXNUb0NyZWF0ZUNvdW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9U
aWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDZlY2YxMTMxOWUxZTY4ZTkxZDA5YTA2YjIzOGQ1Nzk2
MzJiYWFjZjUuLjM2ZmEyNzgyODNjYTlmZDFlMzQwOGJiMDc0YzMxNTUyOTQ3YzY1MzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0yNiw3ICsyNiw2
IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiVGlsZS5oIgotI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgpAQCAtNDEsNyArNDAsNyBAQCBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVu
dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kiwgc3RkOjp1bmlxdWVf
cHRyPFRpbGVkQmFja2luZ1N0b3JlQmFja2VuZD4pOworICAgIFRpbGVkQmFja2luZ1N0b3JlKFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CiAKICAg
ICBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0K
QEAgLTkzLDcgKzkyLDYgQEAgcHJpdmF0ZToKIAogcHJpdmF0ZToKICAgICBUaWxlZEJhY2tpbmdT
dG9yZUNsaWVudCogbV9jbGllbnQ7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFRpbGVkQmFja2luZ1N0
b3JlQmFja2VuZD4gbV9iYWNrZW5kOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFRpbGU6OkNvb3Jk
aW5hdGUsIFJlZlB0cjxUaWxlPiA+IFRpbGVNYXA7CiAgICAgVGlsZU1hcCBtX3RpbGVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTRiZjcxYmY4Y2YxNTY4NTJhZjA1MjY5MDE2
NDRhZDdlZDg1MzBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9U
aWxlZEJhY2tpbmdTdG9yZUJhY2tlbmQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAK
LS8qCi0gQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQotCi0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotCi0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFRpbGVkQmFj
a2luZ1N0b3JlQmFja2VuZF9oCi0jZGVmaW5lIFRpbGVkQmFja2luZ1N0b3JlQmFja2VuZF9oCi0K
LSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0KLSNpbmNsdWRlICJUaWxlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmU7Ci0KLWNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQmFja2VuZCB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1w
dWJsaWM6Ci0gICAgdmlydHVhbCB+VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kKCkgeyB9Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFRpbGU+IGNyZWF0ZVRpbGUoVGlsZWRCYWNraW5nU3RvcmUqLCBj
b25zdCBUaWxlOjpDb29yZGluYXRlJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludENoZWNr
ZXJQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKLX07Ci0K
LX0KLQotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGls
ZWRCYWNraW5nU3RvcmVDbGllbnQuaAppbmRleCBkOWYwODQ5MjM2NzU4YmI3MzU5MWNkMjI4OTc4
MDViMmMwNzlkYzUwLi5kMTE2MTZjMzNlMzZjMWQ5NDYyNjQ2NjJjNWI1M2M4MDljMjUzOWY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvVGlsZWRCYWNraW5nU3RvcmVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmVDbGllbnQu
aApAQCAtMjAsMTIgKzIwLDE1IEBACiAjaWZuZGVmIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50X2gK
ICNkZWZpbmUgVGlsZWRCYWNraW5nU3RvcmVDbGllbnRfaAogCisjaW5jbHVkZSAiQ29vcmRpbmF0
ZWRTdXJmYWNlLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKIAogY2xhc3MgQ29sb3I7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFz
cyBTdXJmYWNlVXBkYXRlSW5mbzsKIAogY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQgewog
cHVibGljOgpAQCAtMzcsNiArNDAsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50UmVjdCB0
aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpID0gMDsKICAgICB2aXJ0dWFsIEludFJlY3Qg
dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpID0gMDsKICAgICB2aXJ0dWFsIENvbG9yIHRp
bGVkQmFja2luZ1N0b3JlQmFja2dyb3VuZENvbG9yKCkgY29uc3QgPSAwOworCisgICAgdmlydHVh
bCB2b2lkIGNyZWF0ZVRpbGUodWludDMyX3QgdGlsZUlELCBmbG9hdCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgY29uc3QgU3VyZmFjZVVwZGF0ZUlu
Zm8mLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVUaWxlKHVp
bnQzMl90IHRpbGVJRCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBwYWludFRvU3VyZmFjZShjb25z
dCBJbnRTaXplJiwgdWludDMyX3QmIGF0bGFzSUQsIEludFBvaW50JiwgQ29vcmRpbmF0ZWRTdXJm
YWNlOjpDbGllbnQqKSA9IDA7CiB9OwogCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>