<?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>141381</bug_id>
          
          <creation_ts>2015-02-09 01:07:37 -0800</creation_ts>
          <short_desc>[GTK] GMutexLocker build issue</short_desc>
          <delta_ts>2015-02-10 00:16:33 -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>WebKitGTK</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>chavarria1991</cc>
    
    <cc>juanj.marin</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1067768</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-02-09 01:07:37 -0800</bug_when>
    <thetext>WebKitGTK 1.7.3 doesn&apos;t seem to build on Fedora 21 in JHBuild: http://fpaste.org/182989/09049142/ 

gcc (GCC) 4.9.2 20141101 (Red Hat 4.9.2-1)

/home/jjmarin/jhbuild/checkout/webkitgtk-2.7.4/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: In member function ‘virtual void WebCore::AudioSourceProviderGStreamer::provideInput(WebCore::AudioBus*, size_t)’:
/home/jjmarin/jhbuild/checkout/webkitgtk-2.7.4/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:153:5: error: ‘GMutexLocker {aka void}’ is not a template
     GMutexLocker&lt;GMutex&gt; lock(m_adapterMutex);
     ^
/home/jjmarin/jhbuild/checkout/webkitgtk-2.7.4/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:153:45: error: variable or field ‘lock’ declared void
     GMutexLocker&lt;GMutex&gt; lock(m_adapterMutex);
                                             ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067769</commentid>
    <comment_count>1</comment_count>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-02-09 01:17:45 -0800</bug_when>
    <thetext>I&apos;ve got a related problem:

In file included from ../../Source/WTF/wtf/gobject/GThreadSafeMainLoopSource.cpp:32:0:
../../Source/WTF/wtf/gobject/GMutexLocker.h:100:12: error: ‘GMutexLocker’ is already declared in this scope
 using WTF::GMutexLocker;
            ^
If I comment that line I got the &quot;GMutexLocker is not a template problem&quot; :S</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067771</commentid>
    <comment_count>2</comment_count>
    <who name="Juanjo Marin">juanj.marin</who>
    <bug_when>2015-02-09 01:39:21 -0800</bug_when>
    <thetext>Marcos is right. I totally forgot that I had that messsage before and I commented that line.

I have the impression this error is related with the addition of GMutexLocker in Glib 

https://git.gnome.org/browse/glib/commit/?id=1404d3e12819b342fda74d082dcb067a029141b1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067772</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-02-09 01:42:44 -0800</bug_when>
    <thetext>So I guess we need to rename ours now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067773</commentid>
    <comment_count>4</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-02-09 02:04:06 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; So I guess we need to rename ours now :)

As a first step can be a good idea. Ideally, I guess we could remove ours and use GLib&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067777</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-09 02:15:55 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; So I guess we need to rename ours now :)
&gt; 
&gt; As a first step can be a good idea. Ideally, I guess we could remove ours
&gt; and use GLib&apos;s.

I don&apos;t think so, the glib one is not portable, because it depends on compiler features, ours is C++ 11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067999</commentid>
    <comment_count>6</comment_count>
      <attachid>246313</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-10 00:02:47 -0800</bug_when>
    <thetext>Created attachment 246313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068000</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-10 00:16:33 -0800</bug_when>
    <thetext>Committed r179866: &lt;http://trac.webkit.org/changeset/179866&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246313</attachid>
            <date>2015-02-10 00:02:47 -0800</date>
            <delta_ts>2015-02-10 00:11:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk-gmutex-locker.diff</filename>
            <type>text/plain</type>
            <size>16039</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMmFjMzBhNS4uZDM1MTYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMi0wOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gR011dGV4TG9ja2VyIGJ1aWxkIGlzc3VlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDEzODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdXNpbmcgV1RGOjpHTXV0ZXhMb2NrZXIgZnJvbSB0
aGUgaGVhZGVyLCBzaW5jZSBuZXdlciBnbGliCisgICAgICAgIHZlcnNpb25zIGhhdmUgYSBHTXV0
ZXhMb2NrZXIgaW4gdGhlIHB1YmxpYyBBUEkuCisKKyAgICAgICAgKiB3dGYvZ29iamVjdC9HTXV0
ZXhMb2NrZXIuaDoKKwogMjAxNS0wMi0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiB0cnlGYXN0Q2FsbG9jIGlzIG5vIGxvbmdlciAi
dHJ5IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ29iamVjdC9HTXV0ZXhMb2NrZXIuaCBi
L1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmgKaW5kZXggMDM1NjcwMi4uNWVm
YmZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ29iamVjdC9HTXV0ZXhMb2NrZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dNdXRleExvY2tlci5oCkBAIC05Nyw4ICs5Nyw2
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6OkdNdXRleExv
Y2tlcjsKLQogI2VuZGlmIC8vIFVTRShHTElCKQogCiAjZW5kaWYgLy8gR011dGV4TG9ja2VyX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NWRjNDRlLi5jYWM2OTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTUtMDItMDkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEdNdXRleExvY2tlciBidWlsZCBpc3N1ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMzgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGFsd2F5cyBXVEY6OkdNdXRl
eExvY2tlciBiZWNhdXNlIG5ld2VyIGdsaWIgdmVyc2lvbnMgaGF2ZSBhCisgICAgICAgIEdNdXRl
eExvY2tlciBpbiB0aGUgcHVibGljIEFQSS4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2dz
dHJlYW1lci9BdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFtZXI6OnByb3ZpZGVJbnB1dCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyOjpoYW5kbGVBdWRpb0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyOjpjbGVh
ckFkYXB0ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp1cGRhdGVUZXh0dXJlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OnBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5r
R1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdFZpZGVvU2lua1RpbWVvdXRDYWxsYmFjayk6
CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtSZW5kZXIpOgorICAgICAgICAodW5sb2NrU2FtcGxl
TXV0ZXgpOgorICAgICAgICAod2Via2l0VmlkZW9TaW5rVW5sb2NrU3RvcCk6CisgICAgICAgICh3
ZWJraXRWaWRlb1NpbmtTdGFydCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJLaXRXZWJTcmNH
ZXRQcm9wZXJ0eSk6CisgICAgICAgICh3ZWJLaXRXZWJTcmNTdG9wKToKKyAgICAgICAgKHdlYktp
dFdlYlNyY1N0YXJ0KToKKyAgICAgICAgKHdlYktpdFdlYlNyY0NoYW5nZVN0YXRlKToKKyAgICAg
ICAgKHdlYktpdFdlYlNyY1F1ZXJ5V2l0aFBhcmVudCk6CisgICAgICAgICh3ZWJLaXRXZWJTcmNH
ZXRVcmkpOgorICAgICAgICAod2ViS2l0V2ViU3JjU2V0VXJpKToKKyAgICAgICAgKHdlYktpdFdl
YlNyY05lZWREYXRhTWFpbkNiKToKKyAgICAgICAgKHdlYktpdFdlYlNyY05lZWREYXRhQ2IpOgor
ICAgICAgICAod2ViS2l0V2ViU3JjRW5vdWdoRGF0YU1haW5DYik6CisgICAgICAgICh3ZWJLaXRX
ZWJTcmNFbm91Z2hEYXRhQ2IpOgorICAgICAgICAod2ViS2l0V2ViU3JjU2Vla0RhdGFDYik6Cisg
ICAgICAgICh3ZWJLaXRXZWJTcmNTZXRNZWRpYVBsYXllcik6CisgICAgICAgIChTdHJlYW1pbmdD
bGllbnQ6OmNyZWF0ZVJlYWRCdWZmZXIpOgorICAgICAgICAoU3RyZWFtaW5nQ2xpZW50OjpoYW5k
bGVSZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlRGF0
YVJlY2VpdmVkKToKKyAgICAgICAgKFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlTm90aWZ5RmluaXNo
ZWQpOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6Ondhc0Jsb2NrZWQp
OgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6OmNhbm5vdFNob3dVUkwp
OgorCiAyMDE1LTAyLTA5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVXBkYXRlIFdFQkNPUkVfRVhQT1JUIHRvIHByZXBhcmUgdG8gc3RhcnQg
dXNpbmcgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3Ry
ZWFtZXIvQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lci5jcHAK
aW5kZXggYjc3ZDczOC4uODdhZGZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFtZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb1NvdXJjZVByb3Zp
ZGVyR1N0cmVhbWVyLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgQXVkaW9Tb3VyY2VQcm92
aWRlckdTdHJlYW1lcjo6Y29uZmlndXJlQXVkaW9CaW4oR3N0RWxlbWVudCogYXVkaW9CaW4sIEdz
dEVsCiAKIHZvaWQgQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lcjo6cHJvdmlkZUlucHV0KEF1
ZGlvQnVzKiBidXMsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiB7Ci0gICAgR011dGV4TG9ja2Vy
PEdNdXRleD4gbG9jayhtX2FkYXB0ZXJNdXRleCk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011
dGV4PiBsb2NrKG1fYWRhcHRlck11dGV4KTsKICAgICBjb3B5R1N0cmVhbWVyQnVmZmVyc1RvQXVk
aW9DaGFubmVsKG1fZnJvbnRMZWZ0QWRhcHRlciwgYnVzLCAwLCBmcmFtZXNUb1Byb2Nlc3MpOwog
ICAgIGNvcHlHU3RyZWFtZXJCdWZmZXJzVG9BdWRpb0NoYW5uZWwobV9mcm9udFJpZ2h0QWRhcHRl
ciwgYnVzLCAxLCBmcmFtZXNUb1Byb2Nlc3MpOwogfQpAQCAtMTc3LDcgKzE3Nyw3IEBAIEdzdEZs
b3dSZXR1cm4gQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lcjo6aGFuZGxlQXVkaW9CdWZmZXIo
R3N0QXBwU2luayogc2luaykKICAgICBHc3RBdWRpb0luZm8gaW5mbzsKICAgICBnc3RfYXVkaW9f
aW5mb19mcm9tX2NhcHMoJmluZm8sIGNhcHMpOwogCi0gICAgR011dGV4TG9ja2VyPEdNdXRleD4g
bG9jayhtX2FkYXB0ZXJNdXRleCk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2Nr
KG1fYWRhcHRlck11dGV4KTsKIAogICAgIC8vIENoZWNrIHRoZSBmaXJzdCBhdWRpbyBjaGFubmVs
LiBUaGUgYnVmZmVyIGlzIHN1cHBvc2VkIHRvIHN0b3JlCiAgICAgLy8gZGF0YSBvZiBhIHNpbmds
ZSBjaGFubmVsIGFueXdheS4KQEAgLTMzOSw3ICszMzksNyBAQCB2b2lkIEF1ZGlvU291cmNlUHJv
dmlkZXJHU3RyZWFtZXI6OmRlaW50ZXJsZWF2ZVBhZHNDb25maWd1cmVkKCkKIAogdm9pZCBBdWRp
b1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyOjpjbGVhckFkYXB0ZXJzKCkKIHsKLSAgICBHTXV0ZXhM
b2NrZXI8R011dGV4PiBsb2NrKG1fYWRhcHRlck11dGV4KTsKKyAgICBXVEY6OkdNdXRleExvY2tl
cjxHTXV0ZXg+IGxvY2sobV9hZGFwdGVyTXV0ZXgpOwogICAgIGdzdF9hZGFwdGVyX2NsZWFyKG1f
ZnJvbnRMZWZ0QWRhcHRlcik7CiAgICAgZ3N0X2FkYXB0ZXJfY2xlYXIobV9mcm9udFJpZ2h0QWRh
cHRlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5jcHAKaW5kZXggNDRkZTc1Ni4uMTg4NjRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtMTM3LDcgKzEzNyw3
IEBAIEludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUo
KSBjb25zdAogICAgIGlmICghbV92aWRlb1NpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
bV92aWRlb1NpemU7CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0
ZXgpOworICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsK
ICAgICBpZiAoIW1fc2FtcGxlKQogICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwogCkBAIC0yNzks
NyArMjc5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjptdXRlQ2hh
bmdlZCgpCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiAhVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjp1cGRhdGVUZXh0dXJlKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIpCiB7
Ci0gICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAgICBXVEY6
OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgaWYgKCFtX3Nh
bXBsZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBs
ZSogc2FtcGxlKQogICAgIGdfcmV0dXJuX2lmX2ZhaWwoR1NUX0lTX1NBTVBMRShzYW1wbGUpKTsK
IAogICAgIHsKLSAgICAgICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4
KTsKKyAgICAgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0ZXgp
OwogICAgICAgICBpZiAobV9zYW1wbGUpCiAgICAgICAgICAgICBnc3Rfc2FtcGxlX3VucmVmKG1f
c2FtcGxlKTsKICAgICAgICAgbV9zYW1wbGUgPSBnc3Rfc2FtcGxlX3JlZihzYW1wbGUpOwpAQCAt
MzY0LDcgKzM2NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFp
bnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSCiAgICAgaWYgKCFtX3BsYXll
ci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4
PiBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9j
ayhtX3NhbXBsZU11dGV4KTsKICAgICBpZiAoIW1fc2FtcGxlKQogICAgICAgICByZXR1cm47CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9W
aWRlb1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggMjU1ZTc2MC4uNzI1MjA2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Zp
ZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRWaWRlb1NpbmtUaW1lb3V0Q2FsbGJhY2soV2ViS2l0VmlkZW9TaW5r
KiBzaW5rKQogewogICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBzaW5rLT5wcml2
OwogCi0gICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhwcml2LT5zYW1wbGVNdXRleCk7Cisg
ICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKHByaXYtPnNhbXBsZU11dGV4KTsKICAg
ICBHc3RTYW1wbGUqIHNhbXBsZSA9IHByaXYtPnNhbXBsZTsKICAgICBwcml2LT5zYW1wbGUgPSAw
OwogCkBAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Via2l0VmlkZW9T
aW5rUmVuZGVyKEdzdEJhc2VTaW5rKiBiYXNlU2luaywgR3N0QnVmZmVyKiBidWYKICAgICBXZWJL
aXRWaWRlb1NpbmsqIHNpbmsgPSBXRUJLSVRfVklERU9fU0lOSyhiYXNlU2luayk7CiAgICAgV2Vi
S2l0VmlkZW9TaW5rUHJpdmF0ZSogcHJpdiA9IHNpbmstPnByaXY7CiAKLSAgICBHTXV0ZXhMb2Nr
ZXI8R011dGV4PiBsb2NrKHByaXYtPnNhbXBsZU11dGV4KTsKKyAgICBXVEY6OkdNdXRleExvY2tl
cjxHTXV0ZXg+IGxvY2socHJpdi0+c2FtcGxlTXV0ZXgpOwogCiAgICAgaWYgKHByaXYtPnVubG9j
a2VkKQogICAgICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CkBAIC0yMzQsNyArMjM0LDcgQEAgc3Rh
dGljIHZvaWQgd2Via2l0VmlkZW9TaW5rRmluYWxpemUoR09iamVjdCogb2JqZWN0KQogCiBzdGF0
aWMgdm9pZCB1bmxvY2tTYW1wbGVNdXRleChXZWJLaXRWaWRlb1NpbmtQcml2YXRlKiBwcml2KQog
ewotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2socHJpdi0+c2FtcGxlTXV0ZXgpOworICAg
IFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhwcml2LT5zYW1wbGVNdXRleCk7CiAKICAg
ICBpZiAocHJpdi0+c2FtcGxlKSB7CiAgICAgICAgIGdzdF9zYW1wbGVfdW5yZWYocHJpdi0+c2Ft
cGxlKTsKQEAgLTI2MCw3ICsyNjAsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0VmlkZW9TaW5r
VW5sb2NrU3RvcChHc3RCYXNlU2luayogYmFzZVNpbmspCiAgICAgV2ViS2l0VmlkZW9TaW5rUHJp
dmF0ZSogcHJpdiA9IFdFQktJVF9WSURFT19TSU5LKGJhc2VTaW5rKS0+cHJpdjsKIAogICAgIHsK
LSAgICAgICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhwcml2LT5zYW1wbGVNdXRleCk7Cisg
ICAgICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhwcml2LT5zYW1wbGVNdXRleCk7
CiAgICAgICAgIHByaXYtPnVubG9ja2VkID0gZmFsc2U7CiAgICAgfQogCkBAIC0yODUsNyArMjg1
LDcgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdFZpZGVvU2lua1N0YXJ0KEdzdEJhc2VTaW5rKiBi
YXNlU2luaykKIHsKICAgICBXZWJLaXRWaWRlb1NpbmtQcml2YXRlKiBwcml2ID0gV0VCS0lUX1ZJ
REVPX1NJTksoYmFzZVNpbmspLT5wcml2OwogCi0gICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9j
ayhwcml2LT5zYW1wbGVNdXRleCk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2Nr
KHByaXYtPnNhbXBsZU11dGV4KTsKICAgICBwcml2LT51bmxvY2tlZCA9IGZhbHNlOwogICAgIHJl
dHVybiBUUlVFOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNw
cAppbmRleCAxZmMzMDVmLi5iOTQzN2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcApAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdl
YlNyY0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElELCBHVmFsdWUqIHZh
bHVlCiAgICAgV2ViS2l0V2ViU3JjKiBzcmMgPSBXRUJLSVRfV0VCX1NSQyhvYmplY3QpOwogICAg
IFdlYktpdFdlYlNyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnByaXY7CiAKLSAgICBHTXV0ZXhMb2Nr
ZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgV1RGOjpH
TXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAg
ICAgc3dpdGNoIChwcm9wSUQpIHsKICAgICBjYXNlIFBST1BfSVJBRElPX05BTUU6CiAgICAgICAg
IGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+aXJhZGlvTmFtZSk7CkBAIC0zNzgsNyAr
Mzc4LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0V2ViU3JjU3RvcChXZWJLaXRXZWJTcmMqIHNyYykK
IAogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4
PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgV1RGOjpHTXV0ZXhMb2Nr
ZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAKICAgICBib29s
IHNlZWtpbmcgPSBwcml2LT5zZWVrU291cmNlLmlzQWN0aXZlKCk7CiAKQEAgLTQzNiw3ICs0MzYs
NyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJTcmNTdGFydChXZWJLaXRXZWJTcmMqIHNyYykKIAog
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4PiBs
b2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8
R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAKICAgICBwcml2LT5w
ZW5kaW5nU3RhcnQgPSBGQUxTRTsKICAgICBwcml2LT5kaWRQYXNzQWNjZXNzQ29udHJvbENoZWNr
ID0gZmFsc2U7CkBAIC01MzksNyArNTM5LDcgQEAgc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJu
IHdlYktpdFdlYlNyY0NoYW5nZVN0YXRlKEdzdEVsZW1lbnQqIGVsZW1lbnQsIEdzdFN0YXQKICAg
ICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2Nr
ZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011
dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgc3dpdGNoICh0cmFu
c2l0aW9uKSB7CiAgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRDoKICAg
ICAgICAgR1NUX0RFQlVHX09CSkVDVChzcmMsICJSRUFEWS0+UEFVU0VEIik7CkBAIC01NzYsNyAr
NTc2LDcgQEAgc3RhdGljIGdib29sZWFuIHdlYktpdFdlYlNyY1F1ZXJ5V2l0aFBhcmVudChHc3RQ
YWQqIHBhZCwgR3N0T2JqZWN0KiBwYXJlbnQsIEdzdFEKICAgICAgICAgZ3N0X3F1ZXJ5X3BhcnNl
X2R1cmF0aW9uKHF1ZXJ5LCAmZm9ybWF0LCBOVUxMKTsKIAogICAgICAgICBHU1RfREVCVUdfT0JK
RUNUKHNyYywgImR1cmF0aW9uIHF1ZXJ5IGluIGZvcm1hdCAlcyIsIGdzdF9mb3JtYXRfZ2V0X25h
bWUoZm9ybWF0KSk7Ci0gICAgICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09C
SkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICAgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBs
b2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgICAgIGlmIChmb3JtYXQgPT0g
R1NUX0ZPUk1BVF9CWVRFUyAmJiBzcmMtPnByaXYtPnNpemUgPiAwKSB7CiAgICAgICAgICAgICBn
c3RfcXVlcnlfc2V0X2R1cmF0aW9uKHF1ZXJ5LCBmb3JtYXQsIHNyYy0+cHJpdi0+c2l6ZSk7CiAg
ICAgICAgICAgICByZXN1bHQgPSBUUlVFOwpAQCAtNTg0LDcgKzU4NCw3IEBAIHN0YXRpYyBnYm9v
bGVhbiB3ZWJLaXRXZWJTcmNRdWVyeVdpdGhQYXJlbnQoR3N0UGFkKiBwYWQsIEdzdE9iamVjdCog
cGFyZW50LCBHc3RRCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEdTVF9RVUVSWV9V
Ukk6IHsKLSAgICAgICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9ja2VyKCpHU1RfT0JKRUNUX0dF
VF9MT0NLKHNyYykpOworICAgICAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigq
R1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICAgICAgZ3N0X3F1ZXJ5X3NldF91cmkocXVl
cnksIHNyYy0+cHJpdi0+dXJpKTsKICAgICAgICAgcmVzdWx0ID0gVFJVRTsKICAgICAgICAgYnJl
YWs7CkBAIC02MzQsNyArNjM0LDcgQEAgc3RhdGljIGdjaGFyKiB3ZWJLaXRXZWJTcmNHZXRVcmko
R3N0VVJJSGFuZGxlciogaGFuZGxlcikKICAgICBXZWJLaXRXZWJTcmMqIHNyYyA9IFdFQktJVF9X
RUJfU1JDKGhhbmRsZXIpOwogICAgIGdjaGFyKiByZXQ7CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011
dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgV1RGOjpHTXV0ZXhM
b2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgcmV0
ID0gZ19zdHJkdXAoc3JjLT5wcml2LT51cmkpOwogICAgIHJldHVybiByZXQ7CiB9CkBAIC02NDks
NyArNjQ5LDcgQEAgc3RhdGljIGdib29sZWFuIHdlYktpdFdlYlNyY1NldFVyaShHc3RVUklIYW5k
bGVyKiBoYW5kbGVyLCBjb25zdCBnY2hhciogdXJpLCBHRXIKICAgICAgICAgcmV0dXJuIEZBTFNF
OwogICAgIH0KIAotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9H
RVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NU
X09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKIAogICAgIGdfZnJlZShwcml2LT51cmkpOwogICAgIHBy
aXYtPnVyaSA9IDA7CkBAIC02ODUsNyArNjg1LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0V2ViU3Jj
TmVlZERhdGFNYWluQ2IoV2ViS2l0V2ViU3JjKiBzcmMpCiAKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogCi0gICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9ja2VyKCpHU1RfT0JKRUNUX0dF
VF9MT0NLKHNyYykpOworICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9ja2VyKCpHU1Rf
T0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgIHByaXYtPnBhdXNlZCA9IEZBTFNFOwogICAgIGxv
Y2tlci51bmxvY2soKTsKIApAQCAtNzAyLDcgKzcwMiw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdl
YlNyY05lZWREYXRhQ2IoR3N0QXBwU3JjKiwgZ3VpbnQgbGVuZ3RoLCBncG9pbnRlciB1c2VyRGF0
YSkKIAogICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiTmVlZCBtb3JlIGRhdGE6ICV1IiwgbGVu
Z3RoKTsKIAotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRf
TE9DSyhzcmMpKTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09C
SkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBpZiAocHJpdi0+bmVlZERhdGFTb3VyY2UuaXNTY2hl
ZHVsZWQoKSB8fCAhcHJpdi0+cGF1c2VkKQogICAgICAgICByZXR1cm47CiAKQEAgLTcxNyw3ICs3
MTcsNyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJTcmNFbm91Z2hEYXRhTWFpbkNiKFdlYktpdFdl
YlNyYyogc3JjKQogCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIEdNdXRleExv
Y2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6
OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsK
ICAgICBwcml2LT5wYXVzZWQgPSBUUlVFOwogICAgIGxvY2tlci51bmxvY2soKTsKIApAQCAtNzM0
LDcgKzczNCw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdlYlNyY0Vub3VnaERhdGFDYihHc3RBcHBT
cmMqLCBncG9pbnRlciB1c2VyRGF0YSkKIAogICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiSGF2
ZSBlbm91Z2ggZGF0YSIpOwogCi0gICAgR011dGV4TG9ja2VyPEdNdXRleD4gbG9ja2VyKCpHU1Rf
T0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9j
a2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgIGlmIChwcml2LT5lbm91Z2hEYXRh
U291cmNlLmlzU2NoZWR1bGVkKCkgfHwgcHJpdi0+cGF1c2VkKQogICAgICAgICByZXR1cm47CiAK
QEAgLTc1Nyw3ICs3NTcsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjU2Vla0RhdGFD
YihHc3RBcHBTcmMqLCBndWludDY0IG9mZnNldCwgZ3BvaW50ZXIgdXNlcgogICAgIFdlYktpdFdl
YlNyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnByaXY7CiAKICAgICBHU1RfREVCVUdfT0JKRUNUKHNy
YywgIlNlZWtpbmcgdG8gb2Zmc2V0OiAlIiBHX0dVSU5UNjRfRk9STUFULCBvZmZzZXQpOwotICAg
IEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsK
KyAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9D
SyhzcmMpKTsKICAgICBpZiAob2Zmc2V0ID09IHByaXYtPm9mZnNldCAmJiBwcml2LT5yZXF1ZXN0
ZWRPZmZzZXQgPT0gcHJpdi0+b2Zmc2V0KQogICAgICAgICByZXR1cm4gVFJVRTsKIApAQCAtNzc2
LDcgKzc3Niw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJLaXRXZWJTcmNTZWVrRGF0YUNiKEdzdEFw
cFNyYyosIGd1aW50NjQgb2Zmc2V0LCBncG9pbnRlciB1c2VyCiB2b2lkIHdlYktpdFdlYlNyY1Nl
dE1lZGlhUGxheWVyKFdlYktpdFdlYlNyYyogc3JjLCBXZWJDb3JlOjpNZWRpYVBsYXllciogcGxh
eWVyKQogewogICAgIEFTU0VSVChwbGF5ZXIpOwotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxv
Y2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxH
TXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBzcmMtPnByaXYt
PnBsYXllciA9IHBsYXllcjsKIH0KIApAQCAtODA2LDcgKzgwNiw3IEBAIGNoYXIqIFN0cmVhbWlu
Z0NsaWVudDo6Y3JlYXRlUmVhZEJ1ZmZlcihzaXplX3QgcmVxdWVzdGVkU2l6ZSwgc2l6ZV90JiBh
Y3R1YWxTaXplCiAKICAgICBtYXBHc3RCdWZmZXIoYnVmZmVyKTsKIAotICAgIEdNdXRleExvY2tl
cjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6OkdN
dXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAg
ICBwcml2LT5idWZmZXIgPSBhZG9wdEdSZWYoYnVmZmVyKTsKICAgICBsb2NrZXIudW5sb2NrKCk7
CiAKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlUmVzcG9u
c2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigqR1NUX09CSkVD
VF9HRVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigq
R1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKIAogICAgIGlmIChwcml2LT5zZWVrU291cmNlLmlz
QWN0aXZlKCkpIHsKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChzcmMsICJTZWVrIGluIHByb2dy
ZXNzLCBpZ25vcmluZyByZXNwb25zZSIpOwpAQCAtOTI1LDcgKzkyNSw3IEBAIHZvaWQgU3RyZWFt
aW5nQ2xpZW50OjpoYW5kbGVEYXRhUmVjZWl2ZWQoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0
aCkKICAgICBXZWJLaXRXZWJTcmMqIHNyYyA9IFdFQktJVF9XRUJfU1JDKG1fc3JjKTsKICAgICBX
ZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OwogCi0gICAgR011dGV4TG9ja2Vy
PEdNdXRleD4gbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIFdURjo6R011
dGV4TG9ja2VyPEdNdXRleD4gbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogCiAg
ICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAiSGF2ZSAlbGxkIGJ5dGVzIG9mIGRhdGEiLCBwcml2LT5i
dWZmZXIgPyBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KGdzdF9idWZmZXJfZ2V0X3NpemUocHJpdi0+
YnVmZmVyLmdldCgpKSkgOiBsZW5ndGgpOwogCkBAIC05OTQsNyArOTk0LDcgQEAgdm9pZCBTdHJl
YW1pbmdDbGllbnQ6OmhhbmRsZU5vdGlmeUZpbmlzaGVkKCkKIAogICAgIEdTVF9ERUJVR19PQkpF
Q1Qoc3JjLCAiSGF2ZSBFT1MiKTsKIAotICAgIEdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2tlcigq
R1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+
IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBpZiAoIXByaXYtPnNlZWtT
b3VyY2UuaXNBY3RpdmUoKSkgewogICAgICAgICBsb2NrZXIudW5sb2NrKCk7CiAgICAgICAgIGdz
dF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0ocHJpdi0+YXBwc3JjKTsKQEAgLTExMzEsNyArMTEzMSw3
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6Ondhc0Jsb2NrZWQoUmVzb3Vy
Y2VIYW5kbGUqKQogCiAgICAgR1NUX0VSUk9SX09CSkVDVChzcmMsICJSZXF1ZXN0IHdhcyBibG9j
a2VkIik7CiAKLSAgICBHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VU
X0xPQ0soc3JjKSk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9P
QkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+cHJpdi0+
dXJpKSk7CiAgICAgbG9ja2VyLnVubG9jaygpOwogCkBAIC0xMTQ1LDcgKzExNDUsNyBAQCB2b2lk
IFJlc291cmNlSGFuZGxlU3RyZWFtaW5nQ2xpZW50OjpjYW5ub3RTaG93VVJMKFJlc291cmNlSGFu
ZGxlKikKIAogICAgIEdTVF9FUlJPUl9PQkpFQ1Qoc3JjLCAiQ2Fubm90IHNob3cgVVJMIik7CiAK
LSAgICBHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3Jj
KSk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VU
X0xPQ0soc3JjKSk7CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+cHJpdi0+dXJpKSk7CiAg
ICAgbG9ja2VyLnVubG9jaygpOwogCg==
</data>
<flag name="review"
          id="271253"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>