<?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>167014</bug_id>
          
          <creation_ts>2017-01-13 12:29:05 -0800</creation_ts>
          <short_desc>bmalloc: Use a separate zone when using system malloc</short_desc>
          <delta_ts>2017-01-13 15:40:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1266546</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-01-13 12:29:05 -0800</bug_when>
    <thetext>bmalloc: Use a separate zone when using system malloc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266549</commentid>
    <comment_count>1</comment_count>
      <attachid>298779</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-01-13 12:35:10 -0800</bug_when>
    <thetext>Created attachment 298779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266551</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-13 12:37:04 -0800</bug_when>
    <thetext>Attachment 298779 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266566</commentid>
    <comment_count>3</comment_count>
      <attachid>298779</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-01-13 13:10:56 -0800</bug_when>
    <thetext>Comment on attachment 298779
Patch

You need add the new cpp file to CMakeLists.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266615</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-01-13 15:40:14 -0800</bug_when>
    <thetext>Committed r210746: &lt;http://trac.webkit.org/changeset/210746&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298779</attachid>
            <date>2017-01-13 12:35:10 -0800</date>
            <delta_ts>2017-01-13 13:26:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167014-20170113123329.patch</filename>
            <type>text/plain</type>
            <size>21337</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDczOSkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYzIEBACisyMDE3LTAxLTEzICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogVXNlIGEgc2Vw
YXJhdGUgem9uZSB3aGVuIHVzaW5nIHN5c3RlbSBtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzAxNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhcnJpcyBhc2tlZCBmb3IgdGhpcyBzbyBoZSBj
b3VsZCBzZXBhcmF0ZSBTYWZhcmkgYW5kIFdlYktpdCBtZW1vcnkgdXNlCisgICAgICAgIHdoZW4g
ZG9pbmcgbWVtb3J5IGFuYWx5c2lzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhbiBleHBs
aWNpdCBEZWJ1Z0hlYXAgY2xhc3MgdGhhdCBjb250YWlucyBhbGwgb3VyCisgICAgICAgIGNvZGUg
Zm9yIHNwZWNpYWxpemVkIGFsbG9jYXRpb24gd2l0aCBkZWJ1Z2dpbmcuCisKKyAgICAgICAgKiBi
bWFsbG9jLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBibWFsbG9jL0Fs
bG9jYXRvci5jcHA6CisgICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OkFsbG9jYXRvcik6Cisg
ICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OnRyeUFsbG9jYXRlKToKKyAgICAgICAgKGJtYWxs
b2M6OkFsbG9jYXRvcjo6YWxsb2NhdGVJbXBsKToKKyAgICAgICAgKGJtYWxsb2M6OkFsbG9jYXRv
cjo6cmVhbGxvY2F0ZSk6CisgICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OmFsbG9jYXRlU2xv
d0Nhc2UpOgorICAgICAgICAqIGJtYWxsb2MvQWxsb2NhdG9yLmg6IEZvcndhcmQgdG8gRGVidWdI
ZWFwIGluc3RlYWQgb2YgaW5saW5pbmcgYWxsIHRoZQorICAgICAgICBjb2RlLiBUaGlzIGlzIHJl
cXVpcmVkIGZvciBvdXIgbmV3IGludGVyZmFjZSwgYW5kIGl0IGlzIGFsc28gYSBuaWNlCisgICAg
ICAgIHNpbXBsaWZpY2F0aW9uIHRoYXQgbW92ZXMgc29tZSBub3QtdmVyeS1pbXBvcnRhbnQgY29k
ZSBvdXQgb2YgdGhlIHdheS4KKworICAgICAgICAqIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwOgor
ICAgICAgICAoYm1hbGxvYzo6RGVhbGxvY2F0b3I6OkRlYWxsb2NhdG9yKToKKyAgICAgICAgKGJt
YWxsb2M6OkRlYWxsb2NhdG9yOjpzY2F2ZW5nZSk6CisgICAgICAgIChibWFsbG9jOjpEZWFsbG9j
YXRvcjo6ZGVhbGxvY2F0ZVNsb3dDYXNlKToKKyAgICAgICAgKiBibWFsbG9jL0RlYWxsb2NhdG9y
Lmg6IERpdHRvLgorCisgICAgICAgICogYm1hbGxvYy9EZWJ1Z0hlYXAuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGJtYWxsb2M6OkRlYnVnSGVhcDo6RGVidWdIZWFwKToKKyAgICAgICAgKGJtYWxsb2M6
OkRlYnVnSGVhcDo6bWFsbG9jKToKKyAgICAgICAgKGJtYWxsb2M6OkRlYnVnSGVhcDo6bWVtYWxp
Z24pOgorICAgICAgICAoYm1hbGxvYzo6RGVidWdIZWFwOjpyZWFsbG9jKToKKyAgICAgICAgKGJt
YWxsb2M6OkRlYnVnSGVhcDo6ZnJlZSk6CisgICAgICAgICogYm1hbGxvYy9EZWJ1Z0hlYXAuaDog
QWRkZWQuIE5ldyBjbGFzcyBmb3Igb3ZlcnJpZGluZyBub3JtYWwgaGVhcAorICAgICAgICBiZWhh
dmlvci4gUmlnaHQgbm93LCBpdCBqdXN0IGFkZHMgYSBtYWxsb2Mgem9uZSBhbmQgdGhlbiBmb3J3
YXJkcyB0bworICAgICAgICBzeXN0ZW0gbWFsbG9jIC0tIGJ1dCB3ZSBjYW4gYWRkIGxvdHMgbW9y
ZSBraW5kcyBvZiBkZWJ1ZyBoZWFwcyBpbiB0aGUKKyAgICAgICAgZnV0dXJlIGlmIHdlIGZpbmQg
dGhlbSB1c2VmdWwuCisKKyAgICAgICAgKiBibWFsbG9jL0Vudmlyb25tZW50LmNwcDoKKyAgICAg
ICAgKGJtYWxsb2M6OkVudmlyb25tZW50OjpFbnZpcm9ubWVudCk6CisgICAgICAgIChibWFsbG9j
OjpFbnZpcm9ubWVudDo6Y29tcHV0ZUlzRGVidWdIZWFwRW5hYmxlZCk6CisgICAgICAgIChibWFs
bG9jOjpFbnZpcm9ubWVudDo6Y29tcHV0ZUlzQm1hbGxvY0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIGJtYWxsb2MvRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKGJtYWxsb2M6OkVudmlyb25t
ZW50Ojppc0RlYnVnSGVhcEVuYWJsZWQpOgorICAgICAgICAoYm1hbGxvYzo6RW52aXJvbm1lbnQ6
OmlzQm1hbGxvY0VuYWJsZWQpOiBEZWxldGVkLiBSZW5hbWVkIGV2ZXJ5dGhpbmcgdG8KKyAgICAg
ICAgcmVmbGVjdCBvdXIgbmV3IHVzZSBvZiBEZWJ1Z0hlYXAuCisKKyAgICAgICAgKiBibWFsbG9j
L0hlYXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgICogYm1h
bGxvYy9IZWFwLmg6CisgICAgICAgIChibWFsbG9jOjpIZWFwOjpkZWJ1Z0hlYXApOiBVcGRhdGVk
IHRvIHVzZSBEZWJ1Z0hlYXAuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjplbnZpcm9ubWVudCk6
IERlbGV0ZWQuIAorCisgICAgICAgICogYm1hbGxvYy9ibWFsbG9jLmg6CisgICAgICAgIChibWFs
bG9jOjphcGk6OmlzRW5hYmxlZCk6IFVwZGF0ZWQgdG8gdXNlIERlYnVnSGVhcC4KKwogMjAxNi0x
Mi0xNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAg
IFNvcnQgWGNvZGUgcHJvamVjdCBmaWxlcwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEwNjAyKQorKysgU291
cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMiw2ICsxMiw4IEBACiAJCTE0MEZBMDAzMTlDRTQyOUMwMEZGRDNDOCAvKiBCdW1w
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MEZBMDAyMTlDRTQyOUMwMEZGRDNDOCAvKiBCdW1wUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxNDBGQTAwNTE5Q0U0QjY4MDBGRkQzQzgg
LyogTGluZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDBGQTAwNDE5Q0U0QjY4MDBGRkQzQzggLyogTGluZU1ldGFkYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTQxRDlCMDAxQzhF
NTFDMDAwMEFCQkEwIC8qIExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MUQ5QUZGMUM4RTUxQzAwMDBBQkJBMCAvKiBMaXN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTQyQjQ0MzYxRTI4MzlF
NzAwMURBNkU5IC8qIERlYnVnSGVhcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDJCNDQzNDFFMjgzOUU3MDAxREE2RTkgLyogRGVidWdIZWFwLmNw
cCAqLzsgfTsKKwkJMTQyQjQ0MzcxRTI4MzlFNzAwMURBNkU5IC8qIERlYnVnSGVhcC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQyQjQ0MzUxRTI4MzlF
NzAwMURBNkU5IC8qIERlYnVnSGVhcC5oICovOyB9OwogCQkxNDNDQjgxQzE5MDIyQkM5MDBCMTZB
NDUgLyogU3RhdGljTXV0ZXguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQzQ0I4MUExOTAyMkJDOTAwQjE2QTQ1IC8qIFN0YXRpY011dGV4LmNwcCAq
LzsgfTsKIAkJMTQzQ0I4MUQxOTAyMkJDOTAwQjE2QTQ1IC8qIFN0YXRpY011dGV4LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDNDQjgxQjE5MDIyQkM5
MDBCMTZBNDUgLyogU3RhdGljTXV0ZXguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxNDQwQUZDQjFBOTUyNjExMDA4MzdGQUEgLyogWm9uZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0MEFGQ0ExQTk1
MjYxMTAwODM3RkFBIC8qIFpvbmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtODEsNiArODMsOCBAQAogCQkxNDE3RjY1MjE4QkE4OEEwMDA3NkZB
M0YgLyogQXN5bmNUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFzeW5j
VGFzay5oOyBwYXRoID0gYm1hbGxvYy9Bc3luY1Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTQxRDlBRkYxQzhFNTFDMDAwMEFCQkEwIC8qIExpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTGlzdC5oOyBwYXRoID0gYm1hbGxvYy9MaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MjFBODc3MThFRTQ2MkEwMEI0REQ2OCAvKiBBbGdv
cml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQWxnb3JpdGhtLmg7IHBhdGggPSBibWFsbG9jL0FsZ29y
aXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDJCNDQzNDFFMjgzOUU3MDAx
REE2RTkgLyogRGVidWdIZWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERlYnVnSGVhcC5jcHA7IHBhdGggPSBibWFsbG9jL0RlYnVnSGVhcC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MkI0NDM1MUUyODM5RTcwMDFEQTZFOSAvKiBEZWJ1Z0hl
YXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGVidWdIZWFwLmg7IHBhdGgg
PSBibWFsbG9jL0RlYnVnSGVhcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDND
QjgxQTE5MDIyQkM5MDBCMTZBNDUgLyogU3RhdGljTXV0ZXguY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gU3RhdGljTXV0ZXguY3BwOyBwYXRoID0gYm1hbGxvYy9TdGF0
aWNNdXRleC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0M0NCODFCMTkwMjJC
QzkwMEIxNkE0NSAvKiBTdGF0aWNNdXRleC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBTdGF0aWNNdXRleC5oOyBwYXRoID0gYm1hbGxvYy9TdGF0aWNNdXRleC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxNDNFMjlFRDE4Q0FFOTA1MDBGRThBMEYgLyogU21hbGxQ
YWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNtYWxsUGFnZS5oOyBwYXRo
ID0gYm1hbGxvYy9TbWFsbFBhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIy
OSw2ICsyMzMsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMTQwRkEwMDIxOUNFNDI5QzAwRkZE
M0M4IC8qIEJ1bXBSYW5nZS5oICovLAogCQkJCTE0N0RDNkUyMUNBNUI3MEIwMDcyNEU4RCAvKiBD
aHVuay5oICovLAorCQkJCTE0MkI0NDM0MUUyODM5RTcwMDFEQTZFOSAvKiBEZWJ1Z0hlYXAuY3Bw
ICovLAorCQkJCTE0MkI0NDM1MUUyODM5RTcwMDFEQTZFOSAvKiBEZWJ1Z0hlYXAuaCAqLywKIAkJ
CQkxNDg5NUQ4RjFBM0EzMTlDMDAwNjIzNUQgLyogRW52aXJvbm1lbnQuY3BwICovLAogCQkJCTE0
ODk1RDkwMUEzQTMxOUMwMDA2MjM1RCAvKiBFbnZpcm9ubWVudC5oICovLAogCQkJCTE0REEzMjBF
MTg4NzVEOUYwMDcyNjlFMCAvKiBIZWFwLmNwcCAqLywKQEAgLTMyMSw2ICszMjcsNyBAQAogCQkJ
CTE0REQ3OENBMThGNDhENzUwMDk1MDcwMiAvKiBNdXRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTQ0QkUxMUYxQ0EzNDY1MjAwOTlDOEMwIC8qIE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTRERDc4OTMxOEY0OEQwRjAwOTUwNzAyIC8qIE9iamVjdFR5cGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTE0MkI0NDM3MUUyODM5RTcwMDFEQTZFOSAvKiBEZWJ1Z0hlYXAuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0REQ3OENCMThGNDhENzUwMDk1MDcwMiAvKiBQZXJQcm9jZXNzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxNERENzhDQzE4RjQ4RDc1MDA5NTA3MDIgLyogUGVyVGhyZWFkLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxNERENzhDRDE4RjQ4RDc1MDA5NTA3MDIgLyogUmFuZ2UuaCBpbiBIZWFk
ZXJzICovLApAQCAtNDIyLDYgKzQyOSw3IEBACiAJCQkJMTRGMjcxQzcxOEVBMzk5MDAwOEMxNTJG
IC8qIEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0QzA3RjQxQzdCNzAyNjAwNTFCQjZB
IC8qIExhcmdlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ0MjZFMjgwMUM4MzhFRTAwMDhF
QjA0MiAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0MkI0NDM2MUUyODM5RTcw
MDFEQTZFOSAvKiBEZWJ1Z0hlYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRGMjcxQzgxOEVB
Mzk5MDAwOEMxNTJGIC8qIE9iamVjdFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQzQ0I4
MUMxOTAyMkJDOTAwQjE2QTQ1IC8qIFN0YXRpY011dGV4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0RjI3MUM5MThFQTM5OTAwMDhDMTUyRiAvKiBWTUhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCklu
ZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCShyZXZpc2lvbiAyMTA2MDIpCisr
KyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJCQXNzZXJ0LmgiCiAjaW5jbHVkZSAiQ2h1bmsuaCIK
ICNpbmNsdWRlICJEZWFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkRlYnVnSGVhcC5oIgogI2luY2x1
ZGUgIkhlYXAuaCIKICNpbmNsdWRlICJQZXJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIK
QEAgLTM4LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIG5hbWVzcGFjZSBibWFsbG9j
IHsKIAogQWxsb2NhdG9yOjpBbGxvY2F0b3IoSGVhcCogaGVhcCwgRGVhbGxvY2F0b3ImIGRlYWxs
b2NhdG9yKQotICAgIDogbV9pc0JtYWxsb2NFbmFibGVkKGhlYXAtPmVudmlyb25tZW50KCkuaXNC
bWFsbG9jRW5hYmxlZCgpKQorICAgIDogbV9kZWJ1Z0hlYXAoaGVhcC0+ZGVidWdIZWFwKCkpCiAg
ICAgLCBtX2RlYWxsb2NhdG9yKGRlYWxsb2NhdG9yKQogewogICAgIGZvciAoc2l6ZV90IHNpemVD
bGFzcyA9IDA7IHNpemVDbGFzcyA8IHNpemVDbGFzc0NvdW50OyArK3NpemVDbGFzcykKQEAgLTUy
LDggKzUzLDggQEAgQWxsb2NhdG9yOjp+QWxsb2NhdG9yKCkKIAogdm9pZCogQWxsb2NhdG9yOjp0
cnlBbGxvY2F0ZShzaXplX3Qgc2l6ZSkKIHsKLSAgICBpZiAoIW1faXNCbWFsbG9jRW5hYmxlZCkK
LSAgICAgICAgcmV0dXJuIG1hbGxvYyhzaXplKTsKKyAgICBpZiAobV9kZWJ1Z0hlYXApCisgICAg
ICAgIHJldHVybiBtX2RlYnVnSGVhcC0+bWFsbG9jKHNpemUpOwogCiAgICAgaWYgKHNpemUgPD0g
c21hbGxNYXgpCiAgICAgICAgIHJldHVybiBhbGxvY2F0ZShzaXplKTsKQEAgLTc4LDE1ICs3OSw4
IEBAIHZvaWQqIEFsbG9jYXRvcjo6YWxsb2NhdGVJbXBsKHNpemVfdCBhbGkKIHsKICAgICBCQVNT
RVJUKGlzUG93ZXJPZlR3byhhbGlnbm1lbnQpKTsKIAotICAgIGlmICghbV9pc0JtYWxsb2NFbmFi
bGVkKSB7Ci0gICAgICAgIHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIGlmIChwb3Np
eF9tZW1hbGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpKSB7Ci0gICAgICAgICAgICBpZiAo
Y3Jhc2hPbkZhaWx1cmUpCi0gICAgICAgICAgICAgICAgQkNSQVNIKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0K
KyAgICBpZiAobV9kZWJ1Z0hlYXApCisgICAgICAgIHJldHVybiBtX2RlYnVnSGVhcC0+bWVtYWxp
Z24oYWxpZ25tZW50LCBzaXplLCBjcmFzaE9uRmFpbHVyZSk7CiAKICAgICBpZiAoIXNpemUpCiAg
ICAgICAgIHNpemUgPSBhbGlnbm1lbnQ7CkBAIC0xMDMsMTIgKzk3LDggQEAgdm9pZCogQWxsb2Nh
dG9yOjphbGxvY2F0ZUltcGwoc2l6ZV90IGFsaQogCiB2b2lkKiBBbGxvY2F0b3I6OnJlYWxsb2Nh
dGUodm9pZCogb2JqZWN0LCBzaXplX3QgbmV3U2l6ZSkKIHsKLSAgICBpZiAoIW1faXNCbWFsbG9j
RW5hYmxlZCkgewotICAgICAgICB2b2lkKiByZXN1bHQgPSByZWFsbG9jKG9iamVjdCwgbmV3U2l6
ZSk7Ci0gICAgICAgIGlmICghcmVzdWx0KQotICAgICAgICAgICAgQkNSQVNIKCk7Ci0gICAgICAg
IHJldHVybiByZXN1bHQ7Ci0gICAgfQorICAgIGlmIChtX2RlYnVnSGVhcCkKKyAgICAgICAgcmV0
dXJuIG1fZGVidWdIZWFwLT5yZWFsbG9jKG9iamVjdCwgbmV3U2l6ZSk7CiAKICAgICBzaXplX3Qg
b2xkU2l6ZSA9IDA7CiAgICAgc3dpdGNoIChvYmplY3RUeXBlKG9iamVjdCkpIHsKQEAgLTE5Mywx
MiArMTgzLDggQEAgTk9fSU5MSU5FIHZvaWQqIEFsbG9jYXRvcjo6YWxsb2NhdGVMb2dTaQogCiB2
b2lkKiBBbGxvY2F0b3I6OmFsbG9jYXRlU2xvd0Nhc2Uoc2l6ZV90IHNpemUpCiB7Ci0gICAgaWYg
KCFtX2lzQm1hbGxvY0VuYWJsZWQpIHsKLSAgICAgICAgdm9pZCogcmVzdWx0ID0gbWFsbG9jKHNp
emUpOwotICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgICAgIEJDUkFTSCgpOwotICAgICAg
ICByZXR1cm4gcmVzdWx0OwotICAgIH0KKyAgICBpZiAobV9kZWJ1Z0hlYXApCisgICAgICAgIHJl
dHVybiBtX2RlYnVnSGVhcC0+bWFsbG9jKHNpemUpOwogCiAgICAgaWYgKHNpemUgPD0gbWFza1Np
emVDbGFzc01heCkgewogICAgICAgICBzaXplX3Qgc2l6ZUNsYXNzID0gYm1hbGxvYzo6bWFza1Np
emVDbGFzcyhzaXplKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuaAkocmV2aXNp
b24gMjEwNjAyKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIGJtYWxsb2MgewogCiBjbGFzcyBE
ZWFsbG9jYXRvcjsKK2NsYXNzIERlYnVnSGVhcDsKIGNsYXNzIEhlYXA7CiAKIC8vIFBlci1jYWNo
ZSBvYmplY3QgYWxsb2NhdG9yLgpAQCAtNjQsNyArNjUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
YXJyYXk8QnVtcEFsbG9jYXRvciwgc2l6ZUNsYXNzQ291bnQ+IG1fYnVtcEFsbG9jYXRvcnM7CiAg
ICAgc3RkOjphcnJheTxCdW1wUmFuZ2VDYWNoZSwgc2l6ZUNsYXNzQ291bnQ+IG1fYnVtcFJhbmdl
Q2FjaGVzOwogCi0gICAgYm9vbCBtX2lzQm1hbGxvY0VuYWJsZWQ7CisgICAgRGVidWdIZWFwKiBt
X2RlYnVnSGVhcDsKICAgICBEZWFsbG9jYXRvciYgbV9kZWFsbG9jYXRvcjsKIH07CiAKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCShyZXZpc2lvbiAyMTA2MDIpCisr
KyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0RlYWxsb2NhdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkJBc3NlcnQuaCIKICNpbmNsdWRlICJDaHVuay5o
IgogI2luY2x1ZGUgIkRlYWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiRGVidWdIZWFwLmgiCiAjaW5j
bHVkZSAiSGVhcC5oIgogI2luY2x1ZGUgIklubGluZS5oIgogI2luY2x1ZGUgIk9iamVjdC5oIgpA
QCAtMzksOSArNDAsOSBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogbmFtZXNwYWNlIGJtYWxsb2Mg
ewogCiBEZWFsbG9jYXRvcjo6RGVhbGxvY2F0b3IoSGVhcCogaGVhcCkKLSAgICA6IG1faXNCbWFs
bG9jRW5hYmxlZChoZWFwLT5lbnZpcm9ubWVudCgpLmlzQm1hbGxvY0VuYWJsZWQoKSkKKyAgICA6
IG1fZGVidWdIZWFwKGhlYXAtPmRlYnVnSGVhcCgpKQogewotICAgIGlmICghbV9pc0JtYWxsb2NF
bmFibGVkKSB7CisgICAgaWYgKG1fZGVidWdIZWFwKSB7CiAgICAgICAgIC8vIEZpbGwgdGhlIG9i
amVjdCBsb2cgaW4gb3JkZXIgdG8gZGlzYWJsZSB0aGUgZmFzdCBwYXRoLgogICAgICAgICB3aGls
ZSAobV9vYmplY3RMb2cuc2l6ZSgpICE9IG1fb2JqZWN0TG9nLmNhcGFjaXR5KCkpCiAgICAgICAg
ICAgICBtX29iamVjdExvZy5wdXNoKG51bGxwdHIpOwpAQCAtNTUsOCArNTYsMTAgQEAgRGVhbGxv
Y2F0b3I6On5EZWFsbG9jYXRvcigpCiAgICAgCiB2b2lkIERlYWxsb2NhdG9yOjpzY2F2ZW5nZSgp
CiB7Ci0gICAgaWYgKG1faXNCbWFsbG9jRW5hYmxlZCkKLSAgICAgICAgcHJvY2Vzc09iamVjdExv
ZygpOworICAgIGlmIChtX2RlYnVnSGVhcCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJvY2Vz
c09iamVjdExvZygpOwogfQogCiB2b2lkIERlYWxsb2NhdG9yOjpwcm9jZXNzT2JqZWN0TG9nKHN0
ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4mIGxvY2spCkBAIC03NywxMCArODAsOCBAQCB2b2lk
IERlYWxsb2NhdG9yOjpwcm9jZXNzT2JqZWN0TG9nKCkKIAogdm9pZCBEZWFsbG9jYXRvcjo6ZGVh
bGxvY2F0ZVNsb3dDYXNlKHZvaWQqIG9iamVjdCkKIHsKLSAgICBpZiAoIW1faXNCbWFsbG9jRW5h
YmxlZCkgewotICAgICAgICBmcmVlKG9iamVjdCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cisg
ICAgaWYgKG1fZGVidWdIZWFwKQorICAgICAgICByZXR1cm4gbV9kZWJ1Z0hlYXAtPmZyZWUob2Jq
ZWN0KTsKIAogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0RlYWxsb2NhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9EZWFsbG9jYXRvci5oCShyZXZpc2lvbiAyMTA2MDIpCisrKyBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0RlYWxsb2NhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcg
QEAKIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCitjbGFzcyBEZWJ1Z0hlYXA7CiBjbGFzcyBIZWFw
OwogY2xhc3MgU3RhdGljTXV0ZXg7CiAKQEAgLTUyLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRlYWxsb2NhdGVTbG93Q2FzZSh2b2lkKik7CiAKICAgICBGaXhlZFZlY3Rvcjx2b2lkKiwg
ZGVhbGxvY2F0b3JMb2dDYXBhY2l0eT4gbV9vYmplY3RMb2c7Ci0gICAgYm9vbCBtX2lzQm1hbGxv
Y0VuYWJsZWQ7CisgICAgRGVidWdIZWFwKiBtX2RlYnVnSGVhcDsKIH07CiAKIGlubGluZSBib29s
IERlYWxsb2NhdG9yOjpkZWFsbG9jYXRlRmFzdENhc2Uodm9pZCogb2JqZWN0KQpJbmRleDogU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9EZWJ1Z0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvRGVidWdIZWFwLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0RlYnVnSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgIkRlYnVnSGVhcC5oIgorI2luY2x1ZGUgIkJBc3NlcnQuaCIKKyNpbmNsdWRlICJCUGxhdGZv
cm0uaCIKKyNpbmNsdWRlIDx0aHJlYWQ+CisKK25hbWVzcGFjZSBibWFsbG9jIHsKKyAgICAKKyNp
ZiBCT1MoREFSV0lOKQorCitEZWJ1Z0hlYXA6OkRlYnVnSGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3Rh
dGljTXV0ZXg+JikKKyAgICA6IG1fem9uZShtYWxsb2NfY3JlYXRlX3pvbmUoMCwgMCkpCit7Cisg
ICAgbWFsbG9jX3NldF96b25lX25hbWUobV96b25lLCAiV2ViS2l0IFVzaW5nIFN5c3RlbSBNYWxs
b2MiKTsKK30KKwordm9pZCogRGVidWdIZWFwOjptYWxsb2Moc2l6ZV90IHNpemUpCit7CisgICAg
dm9pZCogcmVzdWx0ID0gbWFsbG9jX3pvbmVfbWFsbG9jKG1fem9uZSwgc2l6ZSk7CisgICAgaWYg
KCFyZXN1bHQpCisgICAgICAgIEJDUkFTSCgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3Zv
aWQqIERlYnVnSGVhcDo6bWVtYWxpZ24oc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUsIGJv
b2wgY3Jhc2hPbkZhaWx1cmUpCit7CisgICAgdm9pZCogcmVzdWx0ID0gbWFsbG9jX3pvbmVfbWVt
YWxpZ24obV96b25lLCBhbGlnbm1lbnQsIHNpemUpOworICAgIGlmICghcmVzdWx0ICYmIGNyYXNo
T25GYWlsdXJlKQorICAgICAgICBCQ1JBU0goKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2
b2lkKiBEZWJ1Z0hlYXA6OnJlYWxsb2Modm9pZCogb2JqZWN0LCBzaXplX3Qgc2l6ZSkKK3sKKyAg
ICB2b2lkKiByZXN1bHQgPSBtYWxsb2Nfem9uZV9yZWFsbG9jKG1fem9uZSwgb2JqZWN0LCBzaXpl
KTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgQkNSQVNIKCk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwordm9pZCBEZWJ1Z0hlYXA6OmZyZWUodm9pZCogb2JqZWN0KQoreworICAgIG1hbGxv
Y196b25lX2ZyZWUobV96b25lLCBvYmplY3QpOworfQorCisjZWxzZQorCitEZWJ1Z0hlYXA6OkRl
YnVnSGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JikKK3sKK30KKwordm9pZCogRGVi
dWdIZWFwOjptYWxsb2Moc2l6ZV90IHNpemUpCit7CisgICAgdm9pZCogcmVzdWx0ID0gOjptYWxs
b2Moc2l6ZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIEJDUkFTSCgpOworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK3ZvaWQqIERlYnVnSGVhcDo6bWVtYWxpZ24oc2l6ZV90IGFsaWdubWVu
dCwgc2l6ZV90IHNpemUsIGJvb2wgY3Jhc2hPbkZhaWx1cmUpCit7CisgICAgdm9pZCogcmVzdWx0
OworICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpKSB7Cisg
ICAgICAgIGlmIChjcmFzaE9uRmFpbHVyZSkKKyAgICAgICAgICAgIEJDUkFTSCgpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCog
RGVidWdIZWFwOjpyZWFsbG9jKHZvaWQqIG9iamVjdCwgc2l6ZV90IHNpemUpCit7CisgICAgdm9p
ZCogcmVzdWx0ID0gOjpyZWFsbG9jKG9iamVjdCwgc2l6ZSk7CisgICAgaWYgKCFyZXN1bHQpCisg
ICAgICAgIEJDUkFTSCgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgRGVidWdIZWFw
OjpmcmVlKHZvaWQqIG9iamVjdCkKK3sKKyAgICA6OmZyZWUob2JqZWN0KTsKK30KKyAgICAKKyNl
bmRpZgorCit9IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0RlYnVnSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVi
dWdIZWFwLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9EZWJ1Z0hl
YXAuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3Rh
dGljTXV0ZXguaCIKKyNpbmNsdWRlIDxtdXRleD4KKyNpZiBCT1MoREFSV0lOKQorI2luY2x1ZGUg
PG1hbGxvYy9tYWxsb2MuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgYm1hbGxvYyB7CisgICAgCitj
bGFzcyBEZWJ1Z0hlYXAgeworcHVibGljOgorICAgIERlYnVnSGVhcChzdGQ6OmxvY2tfZ3VhcmQ8
U3RhdGljTXV0ZXg+Jik7CisgICAgCisgICAgdm9pZCogbWFsbG9jKHNpemVfdCk7CisgICAgdm9p
ZCogbWVtYWxpZ24oc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90LCBib29sIGNyYXNoT25GYWlsdXJl
KTsKKyAgICB2b2lkKiByZWFsbG9jKHZvaWQqLCBzaXplX3QpOworICAgIHZvaWQgZnJlZSh2b2lk
Kik7CisKK3ByaXZhdGU6CisjaWYgQk9TKERBUldJTikKKyAgICBtYWxsb2Nfem9uZV90KiBtX3pv
bmU7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIGJtYWxsb2MKSW5kZXg6IFNvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvRW52aXJvbm1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvRW52aXJvbm1lbnQuY3BwCShyZXZpc2lvbiAyMTA2MDIpCisrKyBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0Vudmlyb25tZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDE5
ICsxMDgsMTkgQEAgc3RhdGljIGJvb2wgaXNTYW5pdGl6ZXJFbmFibGVkKCkKIH0KIAogRW52aXJv
bm1lbnQ6OkVudmlyb25tZW50KCkKLSAgICA6IG1faXNCbWFsbG9jRW5hYmxlZChjb21wdXRlSXNC
bWFsbG9jRW5hYmxlZCgpKQorICAgIDogbV9pc0RlYnVnSGVhcEVuYWJsZWQoY29tcHV0ZUlzRGVi
dWdIZWFwRW5hYmxlZCgpKQogewogfQogCi1ib29sIEVudmlyb25tZW50Ojpjb21wdXRlSXNCbWFs
bG9jRW5hYmxlZCgpCitib29sIEVudmlyb25tZW50Ojpjb21wdXRlSXNEZWJ1Z0hlYXBFbmFibGVk
KCkKIHsKICAgICBpZiAoaXNNYWxsb2NFbnZpcm9ubWVudFZhcmlhYmxlU2V0KCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKGlzTGliZ21hbGxv
Y0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICBpZiAoaXNTYW5pdGl6ZXJFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0Vudmlyb25tZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbnZp
cm9ubWVudC5oCShyZXZpc2lvbiAyMTA2MDIpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Vu
dmlyb25tZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEyICszMiwxMiBAQCBjbGFzcyBFbnZp
cm9ubWVudCB7CiBwdWJsaWM6CiAgICAgRW52aXJvbm1lbnQoKTsKICAgICAKLSAgICBib29sIGlz
Qm1hbGxvY0VuYWJsZWQoKSB7IHJldHVybiBtX2lzQm1hbGxvY0VuYWJsZWQ7IH0KKyAgICBib29s
IGlzRGVidWdIZWFwRW5hYmxlZCgpIHsgcmV0dXJuIG1faXNEZWJ1Z0hlYXBFbmFibGVkOyB9CiAK
IHByaXZhdGU6Ci0gICAgYm9vbCBjb21wdXRlSXNCbWFsbG9jRW5hYmxlZCgpOworICAgIGJvb2wg
Y29tcHV0ZUlzRGVidWdIZWFwRW5hYmxlZCgpOwogCi0gICAgYm9vbCBtX2lzQm1hbGxvY0VuYWJs
ZWQ7CisgICAgYm9vbCBtX2lzRGVidWdIZWFwRW5hYmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IGJtYWxsb2MKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcAkocmV2aXNpb24gMjEwNjAyKQor
KysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgIkhlYXAuaCIKICNpbmNsdWRlICJCdW1wQWxsb2NhdG9yLmgi
CiAjaW5jbHVkZSAiQ2h1bmsuaCIKKyNpbmNsdWRlICJEZWJ1Z0hlYXAuaCIKICNpbmNsdWRlICJQ
ZXJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiU21hbGxMaW5lLmgiCiAjaW5jbHVkZSAiU21hbGxQYWdl
LmgiCkBAIC0zNywxMiArMzgsMTYgQEAgSGVhcDo6SGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGlj
TXV0ZXg+JgogICAgIDogbV92bVBhZ2VTaXplUGh5c2ljYWwodm1QYWdlU2l6ZVBoeXNpY2FsKCkp
CiAgICAgLCBtX2lzQWxsb2NhdGluZ1BhZ2VzKGZhbHNlKQogICAgICwgbV9zY2F2ZW5nZXIoKnRo
aXMsICZIZWFwOjpjb25jdXJyZW50U2NhdmVuZ2UpCisgICAgLCBtX2RlYnVnSGVhcChudWxscHRy
KQogewogICAgIFJFTEVBU0VfQkFTU0VSVCh2bVBhZ2VTaXplUGh5c2ljYWwoKSA+PSBzbWFsbFBh
Z2VTaXplKTsKICAgICBSRUxFQVNFX0JBU1NFUlQodm1QYWdlU2l6ZSgpID49IHZtUGFnZVNpemVQ
aHlzaWNhbCgpKTsKIAogICAgIGluaXRpYWxpemVMaW5lTWV0YWRhdGEoKTsKICAgICBpbml0aWFs
aXplUGFnZU1ldGFkYXRhKCk7CisgICAgCisgICAgaWYgKG1fZW52aXJvbm1lbnQuaXNEZWJ1Z0hl
YXBFbmFibGVkKCkpCisgICAgICAgIG1fZGVidWdIZWFwID0gUGVyUHJvY2VzczxEZWJ1Z0hlYXA+
OjpnZXQoKTsKIH0KIAogdm9pZCBIZWFwOjppbml0aWFsaXplTGluZU1ldGFkYXRhKCkKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvSGVhcC5oCShyZXZpc2lvbiAyMTA2MDIpCisrKyBTb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0hlYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTMgKzQ2LDE0IEBAIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIAogY2xhc3MgQmVnaW5UYWc7CiBjbGFzcyBCdW1wQWxsb2NhdG9yOworY2xh
c3MgRGVidWdIZWFwOwogY2xhc3MgRW5kVGFnOwogCiBjbGFzcyBIZWFwIHsKIHB1YmxpYzoKICAg
ICBIZWFwKHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4mKTsKICAgICAKLSAgICBFbnZpcm9u
bWVudCYgZW52aXJvbm1lbnQoKSB7IHJldHVybiBtX2Vudmlyb25tZW50OyB9CisgICAgRGVidWdI
ZWFwKiBkZWJ1Z0hlYXAoKSB7IHJldHVybiBtX2RlYnVnSGVhcDsgfQogCiAgICAgdm9pZCBhbGxv
Y2F0ZVNtYWxsQnVtcFJhbmdlcyhzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+Jiwgc2l6ZV90
IHNpemVDbGFzcywgQnVtcEFsbG9jYXRvciYsIEJ1bXBSYW5nZUNhY2hlJik7CiAgICAgdm9pZCBk
ZXJlZlNtYWxsTGluZShzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JiwgT2JqZWN0KTsKQEAg
LTExNiw2ICsxMTcsNyBAQCBwcml2YXRlOgogICAgIEFzeW5jVGFzazxIZWFwLCBkZWNsdHlwZSgm
SGVhcDo6Y29uY3VycmVudFNjYXZlbmdlKT4gbV9zY2F2ZW5nZXI7CiAKICAgICBFbnZpcm9ubWVu
dCBtX2Vudmlyb25tZW50OworICAgIERlYnVnSGVhcCogbV9kZWJ1Z0hlYXA7CiAKICAgICBWTUhl
YXAgbV92bUhlYXA7CiB9OwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgJKHJldmlzaW9u
IDIxMDYwMikKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCSh3b3JraW5nIGNv
cHkpCkBAIC04Miw3ICs4Miw3IEBAIGlubGluZSB2b2lkIHNjYXZlbmdlKCkKIGlubGluZSBib29s
IGlzRW5hYmxlZCgpCiB7CiAgICAgc3RkOjp1bmlxdWVfbG9jazxTdGF0aWNNdXRleD4gbG9jayhQ
ZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsKLSAgICByZXR1cm4gUGVyUHJvY2VzczxIZWFwPjo6
Z2V0RmFzdENhc2UoKS0+ZW52aXJvbm1lbnQoKS5pc0JtYWxsb2NFbmFibGVkKCk7CisgICAgcmV0
dXJuICFQZXJQcm9jZXNzPEhlYXA+OjpnZXRGYXN0Q2FzZSgpLT5kZWJ1Z0hlYXAoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgYXBpCg==
</data>
<flag name="review"
          id="320886"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>