<?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>131386</bug_id>
          
          <creation_ts>2014-04-08 13:11:22 -0700</creation_ts>
          <short_desc>Made bmalloc more #include friendly</short_desc>
          <delta_ts>2014-04-08 13:36:30 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>998732</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-08 13:11:22 -0700</bug_when>
    <thetext>Made bmalloc more #include friendly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998733</commentid>
    <comment_count>1</comment_count>
      <attachid>228876</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-08 13:12:52 -0700</bug_when>
    <thetext>Created attachment 228876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998761</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-08 13:36:30 -0700</bug_when>
    <thetext>Committed r166956: &lt;http://trac.webkit.org/changeset/166956&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228876</attachid>
            <date>2014-04-08 13:12:52 -0700</date>
            <delta_ts>2014-04-08 13:23:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131386-20140408131231.patch</filename>
            <type>text/plain</type>
            <size>32400</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Njk1MCkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc3IEBACisyMDE0LTA0LTA4ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFkZSBibWFsbG9jIG1vcmUg
I2luY2x1ZGUgZnJpZW5kbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzMTM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1hcmtlZCBhIGJ1bmNoIG9mIGhlYWRlcnMgcHJpdmF0ZSBzbyB0aGV5IGNhbiBi
ZSB1c2VkIGZyb20gY2xpZW50IGNvZGUKKyAgICAgICAgdGhhdCAjaW5jbHVkZXMgYm1hbGxvYy5o
LgorCisgICAgICAgIFJlbmFtZWQgQVNTRVJUIG1hY3JvcyB0byBCQVNTRVJULiBUaGlzIG1hdGNo
ZXMgdGhlaXIgaGVhZGVyLCB3aGljaCBhbHJlYWR5CisgICAgICAgIGhhZCB0byBiZSByZW5hbWVk
LCBhbmQgZml4ZXMgY29uZmxpY3RzIHdpdGggV1RGJ3MgQVNTRVJUIG1hY3Jvcy4KKworICAgICAg
ICAqIGJtYWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBibWFsbG9j
L0FsbG9jYXRvci5jcHA6CisgICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OmFsbG9jYXRlU2xv
d0Nhc2UpOgorICAgICAgICAqIGJtYWxsb2MvQXN5bmNUYXNrLmg6CisgICAgICAgIChibWFsbG9j
OjpGdW5jdGlvbj46OnJ1blNsb3dDYXNlKToKKyAgICAgICAgKiBibWFsbG9jL0JBc3NlcnQuaDoK
KyAgICAgICAgKiBibWFsbG9jL0JvdW5kYXJ5VGFnLmg6CisgICAgICAgIChibWFsbG9jOjpCb3Vu
ZGFyeVRhZzo6c2V0U2l6ZSk6CisgICAgICAgICogYm1hbGxvYy9Cb3VuZGFyeVRhZ0lubGluZXMu
aDoKKyAgICAgICAgKGJtYWxsb2M6OnZhbGlkYXRlKToKKyAgICAgICAgKGJtYWxsb2M6OkJvdW5k
YXJ5VGFnOjppbml0KToKKyAgICAgICAgKGJtYWxsb2M6OkJvdW5kYXJ5VGFnOjpkZWFsbG9jYXRl
KToKKyAgICAgICAgKGJtYWxsb2M6OkJvdW5kYXJ5VGFnOjpzcGxpdExhcmdlKToKKyAgICAgICAg
KGJtYWxsb2M6OkJvdW5kYXJ5VGFnOjphbGxvY2F0ZSk6CisgICAgICAgICogYm1hbGxvYy9DaHVu
ay5oOgorICAgICAgICAqIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwOgorICAgICAgICAoYm1hbGxv
Yzo6RGVhbGxvY2F0b3I6OnByb2Nlc3NPYmplY3RMb2cpOgorICAgICAgICAoYm1hbGxvYzo6RGVh
bGxvY2F0b3I6OmRlYWxsb2NhdGVTbG93Q2FzZSk6CisgICAgICAgICogYm1hbGxvYy9EZWFsbG9j
YXRvci5oOgorICAgICAgICAoYm1hbGxvYzo6RGVhbGxvY2F0b3I6OmRlYWxsb2NhdGVGYXN0Q2Fz
ZSk6CisgICAgICAgICogYm1hbGxvYy9GaXhlZFZlY3Rvci5oOgorICAgICAgICAoYm1hbGxvYzo6
Q2FwYWNpdHk+OjpvcGVyYXRvcik6CisgICAgICAgIChibWFsbG9jOjpDYXBhY2l0eT46OnB1c2gp
OgorICAgICAgICAoYm1hbGxvYzo6Q2FwYWNpdHk+Ojpwb3ApOgorICAgICAgICAoYm1hbGxvYzo6
Q2FwYWNpdHk+OjpzaHJpbmspOgorICAgICAgICAqIGJtYWxsb2MvSGVhcC5jcHA6CisgICAgICAg
IChibWFsbG9jOjpIZWFwOjphbGxvY2F0ZUxhcmdlKToKKyAgICAgICAgKiBibWFsbG9jL0xhcmdl
Q2h1bmsuaDoKKyAgICAgICAgKGJtYWxsb2M6OkxhcmdlQ2h1bms6OmdldCk6CisgICAgICAgIChi
bWFsbG9jOjpMYXJnZUNodW5rOjplbmRUYWcpOgorICAgICAgICAqIGJtYWxsb2MvTGluZS5oOgor
ICAgICAgICAoYm1hbGxvYzo6TGluZTxUcmFpdHM+Ojpjb25jdXJyZW50UmVmKToKKyAgICAgICAg
KGJtYWxsb2M6OkxpbmU8VHJhaXRzPjo6ZGVyZWYpOgorICAgICAgICAqIGJtYWxsb2MvTWVkaXVt
QWxsb2NhdG9yLmg6CisgICAgICAgIChibWFsbG9jOjpNZWRpdW1BbGxvY2F0b3I6OmFsbG9jYXRl
KToKKyAgICAgICAgKiBibWFsbG9jL09iamVjdFR5cGUuaDoKKyAgICAgICAgKGJtYWxsb2M6Omlz
U21hbGwpOgorICAgICAgICAqIGJtYWxsb2MvUGFnZS5oOgorICAgICAgICAoYm1hbGxvYzo6UGFn
ZTxUcmFpdHM+OjpyZWYpOgorICAgICAgICAoYm1hbGxvYzo6UGFnZTxUcmFpdHM+OjpkZXJlZik6
CisgICAgICAgICogYm1hbGxvYy9QZXJUaHJlYWQuaDoKKyAgICAgICAgKGJtYWxsb2M6OlBlclRo
cmVhZDxUPjo6Z2V0U2xvd0Nhc2UpOgorICAgICAgICAqIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVM
aXN0LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OlNlZ3JlZ2F0ZWRGcmVlTGlzdDo6U2VncmVnYXRl
ZEZyZWVMaXN0KToKKyAgICAgICAgKGJtYWxsb2M6OlNlZ3JlZ2F0ZWRGcmVlTGlzdDo6aW5zZXJ0
KToKKyAgICAgICAgKiBibWFsbG9jL1NtYWxsQWxsb2NhdG9yLmg6CisgICAgICAgIChibWFsbG9j
OjpTbWFsbEFsbG9jYXRvcjo6YWxsb2NhdGUpOgorICAgICAgICAoYm1hbGxvYzo6U21hbGxBbGxv
Y2F0b3I6OnJlZmlsbCk6CisgICAgICAgICogYm1hbGxvYy9TeXNjYWxsLmg6CisgICAgICAgICog
Ym1hbGxvYy9WTUFsbG9jYXRlLmg6CisgICAgICAgIChibWFsbG9jOjp2bVZhbGlkYXRlKToKKyAg
ICAgICAgKGJtYWxsb2M6OnZtQWxsb2NhdGUpOgorICAgICAgICAoYm1hbGxvYzo6dm1EZWFsbG9j
YXRlUGh5c2ljYWxQYWdlc1Nsb3BweSk6CisgICAgICAgICogYm1hbGxvYy9WZWN0b3IuaDoKKyAg
ICAgICAgKGJtYWxsb2M6OlZlY3RvcjxUPjo6b3BlcmF0b3IpOgorICAgICAgICAoYm1hbGxvYzo6
VmVjdG9yPFQ+Ojpwb3ApOgorICAgICAgICAoYm1hbGxvYzo6VmVjdG9yPFQ+OjpzaHJpbmspOgor
ICAgICAgICAqIGJtYWxsb2MvWExhcmdlQ2h1bmsuaDoKKyAgICAgICAgKGJtYWxsb2M6OlhMYXJn
ZUNodW5rOjpyYW5nZSk6CisgICAgICAgIChibWFsbG9jOjpYTGFyZ2VDaHVuazo6c2l6ZSk6CisK
IDIwMTQtMDQtMDggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmVkIGFuIHVudXNlZCBmaWxlLgpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY2OTQ0KQorKysgU291
cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMCw2ICsxMCw0MSBAQAogCQkxNDQ4QzMwMDE4RjM3NTQ2MDA1MDI4MzkgLyogbWJt
YWxsb2MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ0OEMyRkYxOEYzNzU0MzAwNTAyODM5IC8qIG1ibWFsbG9jLmNwcCAqLzsgfTsKIAkJMTQ0OEMz
MDExOEYzNzU0QzAwNTAyODM5IC8qIGJtYWxsb2MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDhDMkZFMThGMzc1NDMwMDUwMjgzOSAvKiBibWFsbG9j
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTRD
QzM5NEMxOEVBODg1ODAwNEFGRTM0IC8qIGxpYmJtYWxsb2MuYSBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RjI3MUJFMThFQTM5NjMwMDhDMTUyRiAv
KiBsaWJibWFsbG9jLmEgKi87IH07CisJCTE0REQ3ODhDMThGNDhDQUUwMDk1MDcwMiAvKiBMYXJn
ZUNodW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDdBQUE4ODE4Q0QxN0NFMDAyMjAxRTQgLyogTGFyZ2VDaHVuay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0REQ3ODhEMThGNDhDQzYwMDk1MDcw
MiAvKiBCZWdpblRhZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTQxN0Y2NDUxOEI1NEE3MDAwNzZGQTNGIC8qIEJlZ2luVGFnLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4OEUxOEY0OENDRDAw
OTUwNzAyIC8qIEJvdW5kYXJ5VGFnLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNDg1NjU1RTE4QTQzQUY5MDBFRDY5NDIgLyogQm91bmRhcnlUYWcuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzg5
MDE4RjQ4Q0VCMDA5NTA3MDIgLyogU2l6ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUY2ODc0MTc5REY4NDEwMEQ2NTU5OCAvKiBTaXplcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0REQ3ODky
MThGNDhDRkMwMDk1MDcwMiAvKiBFbmRUYWcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTdGNjQ2MThCNTRBNzAwMDc2RkEzRiAvKiBFbmRUYWcuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzg5
MzE4RjQ4RDBGMDA5NTA3MDIgLyogT2JqZWN0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ4NTY1NjAxOEE0M0RCQTAwRUQ2OTQyIC8qIE9iamVj
dFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkxNERENzg5ODE4RjQ4RDRBMDA5NTA3MDIgLyogQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDVGNjg1NjE3OURDOENBMDBENjU1OTgg
LyogQWxsb2NhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMTRERDc4OTkxOEY0OEQ0QTAwOTUwNzAyIC8qIENhY2hlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQ0NjlFNTE3QTQ2QkZFMDBGOUVB
MUQgLyogQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQkxNERENzg5QTE4RjQ4RDRBMDA5NTA3MDIgLyogRGVhbGxvY2F0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUY2ODVBMTc5REM5MDIw
MEQ2NTU5OCAvKiBEZWFsbG9jYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTE0REQ3ODlCMThGNDhENEEwMDk1MDcwMiAvKiBNZWRpdW1BbGxv
Y2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MTNFNDcwMThBMDY2MTcwMDU0NkQ2OCAvKiBNZWRpdW1BbGxvY2F0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzg5QzE4RjQ4RDRBMDA5
NTA3MDIgLyogU21hbGxBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0MTNFNDYyMTg5REUxQ0QwMDU0NkQ2OCAvKiBTbWFsbEFsbG9jYXRv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0
REQ3OEI0MThGNDhENkIwMDk1MDcwMiAvKiBDaHVuay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ3QUFBOTQxOENFNUNBNjAwMjIwMUU0IC8qIENodW5r
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRE
RDc4QjUxOEY0OEQ2QjAwOTUwNzAyIC8qIExpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0REEzMjA3MTg4NUY5RTYwMDcyNjlFMCAvKiBMaW5lLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4
QjYxOEY0OEQ2QjAwOTUwNzAyIC8qIE1lZGl1bUNodW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDdBQUE4RTE4Q0Q4OUUzMDAyMjAxRTQgLyogTWVk
aXVtQ2h1bmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkxNERENzhCNzE4RjQ4RDZCMDA5NTA3MDIgLyogTWVkaXVtTGluZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ1MjQ3ODUxOEJDNzU3QzAwRjgw
MDk4IC8qIE1lZGl1bUxpbmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkxNERENzhCODE4RjQ4RDZCMDA5NTA3MDIgLyogTWVkaXVtUGFnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRTI5RTkxOENB
RThCRTAwRkU4QTBGIC8qIE1lZGl1bVBhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzhCOTE4RjQ4RDZCMDA5NTA3MDIgLyogTWVkaXVt
VHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDdBQUE5NjE4Q0U1RkI2MDAyMjAxRTQgLyogTWVkaXVtVHJhaXRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4QkExOEY0OEQ2QjAwOTUw
NzAyIC8qIFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0NkJFRTIzMThDOTgwRDYwMDAyRDVBMiAvKiBQYWdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4QkIxOEY0OEQ2QjAwOTUwNzAy
IC8qIFNtYWxsQ2h1bmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0N0FBQThDMThDRDM2QTcwMDIyMDFFNCAvKiBTbWFsbENodW5rLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4QkMxOEY0OEQ2
QjAwOTUwNzAyIC8qIFNtYWxsTGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTQ1MjQ3ODYxOEJDNzU3QzAwRjgwMDk4IC8qIFNtYWxsTGluZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0REQ3OEJE
MThGNDhENkIwMDk1MDcwMiAvKiBTbWFsbFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0M0UyOUVEMThDQUU5MDUwMEZFOEEwRiAvKiBTbWFsbFBh
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkx
NERENzhCRTE4RjQ4RDZCMDA5NTA3MDIgLyogU21hbGxUcmFpdHMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0N0FBQTk3MThDRTVGQjYwMDIyMDFFNCAv
KiBTbWFsbFRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTE0REQ3OEM1MThGNDhENzUwMDk1MDcwMiAvKiBBbGdvcml0aG0uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MjFBODc3MThFRTQ2MkEw
MEI0REQ2OCAvKiBBbGdvcml0aG0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkxNERENzhDNjE4RjQ4RDc1MDA5NTA3MDIgLyogQXN5bmNUYXNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDE3RjY1MjE4
QkE4OEEwMDA3NkZBM0YgLyogQXN5bmNUYXNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4QzcxOEY0OEQ3NTAwOTUwNzAyIC8qIEJBc3Nl
cnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MTNF
NDY4MTg5RUVERTQwMDU0NkQ2OCAvKiBCQXNzZXJ0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4QzgxOEY0OEQ3NTAwOTUwNzAyIC8qIEZp
eGVkVmVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNEQ5REI0NTE3RjI0NDcxMDBFQUFCNzkgLyogRml4ZWRWZWN0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzhDOTE4RjQ4RDc1MDA5
NTA3MDIgLyogSW5saW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDEzRTQ2MDE4OURDRTFFMDA1NDZENjggLyogSW5saW5lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRERDc4Q0ExOEY0OEQ3NTAw
OTUwNzAyIC8qIE11dGV4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDREQ0VENjE3QTY0OUQ5MDA5M0IyRjIgLyogTXV0ZXguaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzhDQjE4RjQ4RDc1MDA5
NTA3MDIgLyogUGVyUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQ0NDZBMDcxN0E2MUZBNDAwRjlFQTFEIC8qIFBlclByb2Nlc3MuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERENzhDQzE4
RjQ4RDc1MDA5NTA3MDIgLyogUGVyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQ0NjlGRDE3QTYxRjFGMDBGOUVBMUQgLyogUGVyVGhyZWFk
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMTRE
RDc4Q0QxOEY0OEQ3NTAwOTUwNzAyIC8qIFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDVGNjg3ODE3OUUzQTQ0MDBENjU1OTggLyogUmFuZ2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxNERE
NzhDRTE4RjQ4RDc1MDA5NTA3MDIgLyogU3lzY2FsbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxN0Y2NEYxOEI3MjgwQzAwNzZGQTNGIC8qIFN5c2Nh
bGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkx
NERENzhDRjE4RjQ4RDc1MDA5NTA3MDIgLyogVmVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDc5RTIxMjE3QTFBMjU1MDA2RDRFOUQgLyogVmVj
dG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MTRERDc4RDAxOEY0OEQ3NTAwOTUwNzAyIC8qIFZNQWxsb2NhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NzlFMjE0MTdBMUE2M0UwMDZENEU5RCAv
KiBWTUFsbG9jYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMTRERDc4RDExOEY0OEVDNjAwOTUwNzAyIC8qIFhMYXJnZUNodW5rLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDdBQUE4OTE4Q0QxN0NF
MDAyMjAxRTQgLyogWExhcmdlQ2h1bmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxNEYyNzFDMzE4RUEzOTc4MDA4QzE1MkYgLyogQWxsb2NhdG9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUY2
ODU1MTc5REM4Q0EwMEQ2NTU5OCAvKiBBbGxvY2F0b3IuY3BwICovOyB9OwogCQkxNEYyNzFDNDE4
RUEzOTdCMDA4QzE1MkYgLyogQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQ0NDY5RTQxN0E0NkJGRTAwRjlFQTFEIC8qIENhY2hlLmNwcCAq
LzsgfTsKIAkJMTRGMjcxQzUxOEVBMzk3RTAwOEMxNTJGIC8qIERlYWxsb2NhdG9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NUY2ODU5MTc5REM5
MDIwMEQ2NTU5OCAvKiBEZWFsbG9jYXRvci5jcHAgKi87IH07CkBAIC0yNDgsNyArMjgzLDQyIEBA
CiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkxNERENzhCNTE4RjQ4RDZCMDA5NTA3MDIgLyog
TGluZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4Q0YxOEY0OEQ3NTAwOTUwNzAyIC8qIFZl
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4OEMxOEY0OENBRTAwOTUwNzAyIC8qIExh
cmdlQ2h1bmsuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3ODkyMThGNDhDRkMwMDk1MDcwMiAv
KiBFbmRUYWcuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OENDMThGNDhENzUwMDk1MDcwMiAv
KiBQZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OEI0MThGNDhENkIwMDk1MDcw
MiAvKiBDaHVuay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4Q0ExOEY0OEQ3NTAwOTUwNzAy
IC8qIE11dGV4LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNERENzhEMTE4RjQ4RUM2MDA5NTA3MDIg
LyogWExhcmdlQ2h1bmsuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OEI5MThGNDhENkIwMDk1
MDcwMiAvKiBNZWRpdW1UcmFpdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0NDhDMzAxMThGMzc1
NEMwMDUwMjgzOSAvKiBibWFsbG9jLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNERENzg5QTE4RjQ4
RDRBMDA5NTA3MDIgLyogRGVhbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3ODhE
MThGNDhDQzYwMDk1MDcwMiAvKiBCZWdpblRhZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4
Q0QxOEY0OEQ3NTAwOTUwNzAyIC8qIFJhbmdlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNERENzg5
QzE4RjQ4RDRBMDA5NTA3MDIgLyogU21hbGxBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTE0REQ3ODk5MThGNDhENEEwMDk1MDcwMiAvKiBDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MTRERDc4OUIxOEY0OEQ0QTAwOTUwNzAyIC8qIE1lZGl1bUFsbG9jYXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMTRERDc4QkUxOEY0OEQ2QjAwOTUwNzAyIC8qIFNtYWxsVHJhaXRzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxNERENzg5MDE4RjQ4Q0VCMDA5NTA3MDIgLyogU2l6ZXMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTE0REQ3OEM3MThGNDhENzUwMDk1MDcwMiAvKiBCQXNzZXJ0LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxNERENzhEMDE4RjQ4RDc1MDA5NTA3MDIgLyogVk1BbGxvY2F0ZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMTRERDc4Q0UxOEY0OEQ3NTAwOTUwNzAyIC8qIFN5c2NhbGwuaCBp
biBIZWFkZXJzICovLAorCQkJCTE0REQ3OEM2MThGNDhENzUwMDk1MDcwMiAvKiBBc3luY1Rhc2su
aCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OEJBMThGNDhENkIwMDk1MDcwMiAvKiBQYWdlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNERENzhCQjE4RjQ4RDZCMDA5NTA3MDIgLyogU21hbGxDaHVu
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4QzkxOEY0OEQ3NTAwOTUwNzAyIC8qIElubGlu
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4QjgxOEY0OEQ2QjAwOTUwNzAyIC8qIE1lZGl1
bVBhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OEM1MThGNDhENzUwMDk1MDcwMiAvKiBB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3OEJEMThGNDhENkIwMDk1MDcwMiAv
KiBTbWFsbFBhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTE0REQ3ODhFMThGNDhDQ0QwMDk1MDcw
MiAvKiBCb3VuZGFyeVRhZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4QzgxOEY0OEQ3NTAw
OTUwNzAyIC8qIEZpeGVkVmVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNERENzhCNzE4RjQ4
RDZCMDA5NTA3MDIgLyogTWVkaXVtTGluZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTRERDc4QjYx
OEY0OEQ2QjAwOTUwNzAyIC8qIE1lZGl1bUNodW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNERE
NzhCQzE4RjQ4RDZCMDA5NTA3MDIgLyogU21hbGxMaW5lLmggaW4gSGVhZGVycyAqLywKKwkJCQkx
NERENzg5ODE4RjQ4RDRBMDA5NTA3MDIgLyogQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxNERENzhDQjE4RjQ4RDc1MDA5NTA3MDIgLyogUGVyUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMTRERDc4OTMxOEY0OEQwRjAwOTUwNzAyIC8qIE9iamVjdFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAkocmV2aXNpb24gMTY2
OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZVNsb3dDYXNl
KHNpemVfdAogewogSUZfREVCVUcoCiAgICAgdm9pZCogZHVtbXk7Ci0gICAgQVNTRVJUKCFhbGxv
Y2F0ZUZhc3RDYXNlKHNpemUsIGR1bW15KSk7CisgICAgQkFTU0VSVCghYWxsb2NhdGVGYXN0Q2Fz
ZShzaXplLCBkdW1teSkpOwogKQogICAgIGlmIChzaXplIDw9IHNtYWxsTWF4KSB7CiAgICAgICAg
IFNtYWxsQWxsb2NhdG9yJiBhbGxvY2F0b3IgPSBzbWFsbEFsbG9jYXRvckZvcihzaXplKTsKSW5k
ZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAkocmV2aXNpb24gMTY2OTQ0KQorKysgU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDcg
KzEwOSw3IEBAIE5PX0lOTElORSB2b2lkIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW8KICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTU0VSVChvbGRTdGF0ZSA9PSBFeGl0ZWQpOworICAg
IEJBU1NFUlQob2xkU3RhdGUgPT0gRXhpdGVkKTsKICAgICBwdGhyZWFkX2NyZWF0ZSgmbV90aHJl
YWQsIG51bGxwdHIsICZwdGhyZWFkRW50cnlQb2ludCwgdGhpcyk7CiAgICAgcHRocmVhZF9kZXRh
Y2gobV90aHJlYWQpOwogfQpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CQXNzZXJ0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CQXNzZXJ0LmgJKHJldmlzaW9u
IDE2Njk0NCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQkFzc2VydC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgQkFzc2VydF9oCiAjZGVmaW5lIEJBc3Nl
cnRfaAogCi0jZGVmaW5lIEFTU0VSVF9JTVBMKHgpIGRvIHsgXAorI2RlZmluZSBCQVNTRVJUX0lN
UEwoeCkgZG8geyBcCiAgICAgaWYgKCEoeCkpIFwKICAgICAgICAgKihpbnQqKTB4YmJhZGJlZWYg
PSAwOyBcCiB9IHdoaWxlKDApOwogCi0jZGVmaW5lIFJFTEVBU0VfQVNTRVJUKHgpIEFTU0VSVF9J
TVBMKHgpCisjZGVmaW5lIFJFTEVBU0VfQkFTU0VSVCh4KSBCQVNTRVJUX0lNUEwoeCkKIAogI2Rl
ZmluZSBVTlVTRUQoeCkgKHZvaWQpeAogCkBAIC0zOSw3ICszOSw3IEBACiAKICNpZiBkZWZpbmVk
KE5ERUJVRykKIAotI2RlZmluZSBBU1NFUlQoeCkKKyNkZWZpbmUgQkFTU0VSVCh4KQogCiAjZGVm
aW5lIElGX0RFQlVHKHguLi4pCiAKQEAgLTUwLDcgKzUwLDcgQEAKIAogI2lmICFkZWZpbmVkKE5E
RUJVRykKIAotI2RlZmluZSBBU1NFUlQoeCkgQVNTRVJUX0lNUEwoeCkKKyNkZWZpbmUgQkFTU0VS
VCh4KSBCQVNTRVJUX0lNUEwoeCkKIAogI2RlZmluZSBJRl9ERUJVRyh4Li4uKSB4CiAKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgJKHJldmlzaW9uIDE2Njk0NCkKKysrIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaAkod29ya2luZyBjb3B5KQpAQCAtODUs
OCArODUsOCBAQCBwcml2YXRlOgogaW5saW5lIHZvaWQgQm91bmRhcnlUYWc6OnNldFNpemUoc2l6
ZV90IHNpemUpCiB7CiAgICAgbV9zaXplID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNpemUpOwot
ICAgIEFTU0VSVCh0aGlzLT5zaXplKCkgPT0gc2l6ZSk7Ci0gICAgQVNTRVJUKCFpc1hMYXJnZSgp
KTsKKyAgICBCQVNTRVJUKHRoaXMtPnNpemUoKSA9PSBzaXplKTsKKyAgICBCQVNTRVJUKCFpc1hM
YXJnZSgpKTsKIH0KIAogaW5saW5lIEVuZFRhZyogQm91bmRhcnlUYWc6OnByZXYoKQpJbmRleDog
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZ0lubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnSW5saW5lcy5oCShyZXZpc2lvbiAx
NjY5NDQpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnSW5saW5lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MSwxOCArNDEsMTggQEAgSUZfREVCVUcoCiAgICAgQmVnaW5UYWcq
IGJlZ2luVGFnID0gTGFyZ2VDaHVuazo6YmVnaW5UYWcocmFuZ2UuYmVnaW4oKSk7CiAgICAgRW5k
VGFnKiBlbmRUYWcgPSBMYXJnZUNodW5rOjplbmRUYWcocmFuZ2UuYmVnaW4oKSwgcmFuZ2Uuc2l6
ZSgpKTsKIAotICAgIEFTU0VSVCghYmVnaW5UYWctPmlzRW5kKCkpOworICAgIEJBU1NFUlQoIWJl
Z2luVGFnLT5pc0VuZCgpKTsKICAgICBpZiAoYmVnaW5UYWctPmlzWExhcmdlKCkpCiAgICAgICAg
IHJldHVybjsKICkKLSAgICBBU1NFUlQocmFuZ2Uuc2l6ZSgpID49IGxhcmdlTWluKTsKLSAgICBB
U1NFUlQoYmVnaW5UYWctPnNpemUoKSA9PSByYW5nZS5zaXplKCkpOworICAgIEJBU1NFUlQocmFu
Z2Uuc2l6ZSgpID49IGxhcmdlTWluKTsKKyAgICBCQVNTRVJUKGJlZ2luVGFnLT5zaXplKCkgPT0g
cmFuZ2Uuc2l6ZSgpKTsKIAotICAgIEFTU0VSVChiZWdpblRhZy0+c2l6ZSgpID09IGVuZFRhZy0+
c2l6ZSgpKTsKLSAgICBBU1NFUlQoYmVnaW5UYWctPmlzRnJlZSgpID09IGVuZFRhZy0+aXNGcmVl
KCkpOwotICAgIEFTU0VSVChiZWdpblRhZy0+aGFzUGh5c2ljYWxQYWdlcygpID09IGVuZFRhZy0+
aGFzUGh5c2ljYWxQYWdlcygpKTsKLSAgICBBU1NFUlQoYmVnaW5UYWctPmlzWExhcmdlKCkgPT0g
ZW5kVGFnLT5pc1hMYXJnZSgpKTsKLSAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8Qm91bmRhcnlUYWcq
PihlbmRUYWcpID09IHN0YXRpY19jYXN0PEJvdW5kYXJ5VGFnKj4oYmVnaW5UYWcpIHx8IGVuZFRh
Zy0+aXNFbmQoKSk7CisgICAgQkFTU0VSVChiZWdpblRhZy0+c2l6ZSgpID09IGVuZFRhZy0+c2l6
ZSgpKTsKKyAgICBCQVNTRVJUKGJlZ2luVGFnLT5pc0ZyZWUoKSA9PSBlbmRUYWctPmlzRnJlZSgp
KTsKKyAgICBCQVNTRVJUKGJlZ2luVGFnLT5oYXNQaHlzaWNhbFBhZ2VzKCkgPT0gZW5kVGFnLT5o
YXNQaHlzaWNhbFBhZ2VzKCkpOworICAgIEJBU1NFUlQoYmVnaW5UYWctPmlzWExhcmdlKCkgPT0g
ZW5kVGFnLT5pc1hMYXJnZSgpKTsKKyAgICBCQVNTRVJUKHN0YXRpY19jYXN0PEJvdW5kYXJ5VGFn
Kj4oZW5kVGFnKSA9PSBzdGF0aWNfY2FzdDxCb3VuZGFyeVRhZyo+KGJlZ2luVGFnKSB8fCBlbmRU
YWctPmlzRW5kKCkpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgdmFsaWRhdGVQcmV2KEVuZFRh
ZyogcHJldiwgdm9pZCogb2JqZWN0KQpAQCAtOTYsMTIgKzk2LDEyIEBAIGlubGluZSBSYW5nZSBC
b3VuZGFyeVRhZzo6aW5pdChMYXJnZUNodW4KICAgICAvLyBzcGVjaWFsLWNhc2UgY2hlY2tzLgog
ICAgIAogICAgIEVuZFRhZyogbGVmdFNlbnRpbmVsID0gYmVnaW5UYWctPnByZXYoKTsKLSAgICBB
U1NFUlQobGVmdFNlbnRpbmVsID49IHN0YXRpY19jYXN0PHZvaWQqPihjaHVuaykpOworICAgIEJB
U1NFUlQobGVmdFNlbnRpbmVsID49IHN0YXRpY19jYXN0PHZvaWQqPihjaHVuaykpOwogICAgIGxl
ZnRTZW50aW5lbC0+c2V0U2l6ZShsYXJnZU1pbik7CiAgICAgbGVmdFNlbnRpbmVsLT5zZXRGcmVl
KGZhbHNlKTsKIAogICAgIEJlZ2luVGFnKiByaWdodFNlbnRpbmVsID0gZW5kVGFnLT5uZXh0KCk7
Ci0gICAgQVNTRVJUKHJpZ2h0U2VudGluZWwgPCBzdGF0aWNfY2FzdDx2b2lkKj4ocmFuZ2UuYmVn
aW4oKSkpOworICAgIEJBU1NFUlQocmlnaHRTZW50aW5lbCA8IHN0YXRpY19jYXN0PHZvaWQqPihy
YW5nZS5iZWdpbigpKSk7CiAgICAgcmlnaHRTZW50aW5lbC0+c2V0U2l6ZShsYXJnZU1pbik7CiAg
ICAgcmlnaHRTZW50aW5lbC0+c2V0RnJlZShmYWxzZSk7CiAgICAgCkBAIC0xNjMsOCArMTYzLDgg
QEAgSU5MSU5FIHZvaWQgQm91bmRhcnlUYWc6Om1lcmdlTGFyZ2UoQmVnaQogaW5saW5lIFJhbmdl
IEJvdW5kYXJ5VGFnOjpkZWFsbG9jYXRlKHZvaWQqIG9iamVjdCkKIHsKICAgICBCZWdpblRhZyog
YmVnaW5UYWcgPSBMYXJnZUNodW5rOjpiZWdpblRhZyhvYmplY3QpOwotICAgIEFTU0VSVCghYmVn
aW5UYWctPmlzRnJlZSgpKTsKLSAgICBBU1NFUlQoIWJlZ2luVGFnLT5pc1hMYXJnZSgpKQorICAg
IEJBU1NFUlQoIWJlZ2luVGFnLT5pc0ZyZWUoKSk7CisgICAgQkFTU0VSVCghYmVnaW5UYWctPmlz
WExhcmdlKCkpCiAKICAgICBSYW5nZSByYW5nZShvYmplY3QsIGJlZ2luVGFnLT5zaXplKCkpOwog
ICAgIEVuZFRhZyogZW5kVGFnID0gTGFyZ2VDaHVuazo6ZW5kVGFnKHJhbmdlLmJlZ2luKCksIHJh
bmdlLnNpemUoKSk7CkBAIC0xODIsNyArMTgyLDcgQEAgSU5MSU5FIHZvaWQgQm91bmRhcnlUYWc6
OnNwbGl0TGFyZ2UoQmVnaQogICAgICAgICAqc3BsaXRFbmRUYWcgPSAqYmVnaW5UYWc7CiAKICAg
ICBsZWZ0b3ZlciA9IFJhbmdlKHJhbmdlLmJlZ2luKCkgKyBzaXplLCByYW5nZS5zaXplKCkgLSBz
aXplKTsKLSAgICBBU1NFUlQobGVmdG92ZXIuc2l6ZSgpID49IGxhcmdlTWluKTsKKyAgICBCQVNT
RVJUKGxlZnRvdmVyLnNpemUoKSA+PSBsYXJnZU1pbik7CiAgICAgQmVnaW5UYWcqIGxlZnRvdmVy
QmVnaW5UYWcgPSBMYXJnZUNodW5rOjpiZWdpblRhZyhsZWZ0b3Zlci5iZWdpbigpKTsKICAgICAq
bGVmdG92ZXJCZWdpblRhZyA9ICpiZWdpblRhZzsKICAgICBsZWZ0b3ZlckJlZ2luVGFnLT5zZXRT
aXplKGxlZnRvdmVyLnNpemUoKSk7CkBAIC0yMDIsNyArMjAyLDcgQEAgSU5MSU5FIHZvaWQgQm91
bmRhcnlUYWc6OmFsbG9jYXRlKHNpemVfdAogICAgIEJlZ2luVGFnKiBiZWdpblRhZyA9IExhcmdl
Q2h1bms6OmJlZ2luVGFnKHJhbmdlLmJlZ2luKCkpOwogICAgIEVuZFRhZyogZW5kVGFnID0gTGFy
Z2VDaHVuazo6ZW5kVGFnKHJhbmdlLmJlZ2luKCksIHJhbmdlLnNpemUoKSk7CiAKLSAgICBBU1NF
UlQoYmVnaW5UYWctPmlzRnJlZSgpKTsKKyAgICBCQVNTRVJUKGJlZ2luVGFnLT5pc0ZyZWUoKSk7
CiAgICAgdmFsaWRhdGUoYmVnaW5UYWctPnByZXYoKSwgcmFuZ2UsIGVuZFRhZy0+bmV4dCgpKTsK
IAogICAgIGlmIChyYW5nZS5zaXplKCkgLSBzaXplID4gbGFyZ2VNaW4pCkluZGV4OiBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9DaHVuay5oCShyZXZpc2lvbiAxNjY5NDQpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0NodW5rLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDcgQEAgaW5saW5lIGF1dG8gQ2h1
bms8VHJhaXRzPjo6Y3JlYXRlKCkgLT4gQwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPgogaW5saW5l
IGF1dG8gQ2h1bms8VHJhaXRzPjo6Z2V0KHZvaWQqIG9iamVjdCkgLT4gQ2h1bmsqCiB7Ci0gICAg
QVNTRVJUKGlzU21hbGxPck1lZGl1bShvYmplY3QpKTsKKyAgICBCQVNTRVJUKGlzU21hbGxPck1l
ZGl1bShvYmplY3QpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2h1bmsqPihtYXNrKG9iamVj
dCwgY2h1bmtNYXNrKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxv
Y2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0
b3IuY3BwCShyZXZpc2lvbiAxNjY5NDQpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0RlYWxs
b2NhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCB2b2lkIERlYWxsb2Nh
dG9yOjpwcm9jZXNzT2JqZWN0TG9nKCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgIGRlYWxsb2NhdGVTbWFsbExpbmUobG9jaywgbGluZSk7CiAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBBU1NFUlQoaXNTbWFsbE9yTWVkaXVtKG9iamVjdCkpOworICAgICAgICAg
ICAgQkFTU0VSVChpc1NtYWxsT3JNZWRpdW0ob2JqZWN0KSk7CiAgICAgICAgICAgICBNZWRpdW1M
aW5lKiBsaW5lID0gTWVkaXVtTGluZTo6Z2V0KG9iamVjdCk7CiAgICAgICAgICAgICBpZiAoIWxp
bmUtPmRlcmVmKGxvY2spKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIERlYWxsb2NhdG9yOjpwcm9jZXNzT2JqZWN0TG9nKCkKIAogdm9pZCBEZWFsbG9j
YXRvcjo6ZGVhbGxvY2F0ZVNsb3dDYXNlKHZvaWQqIG9iamVjdCkKIHsKLSAgICBBU1NFUlQoIWRl
YWxsb2NhdGVGYXN0Q2FzZShvYmplY3QpKTsKKyAgICBCQVNTRVJUKCFkZWFsbG9jYXRlRmFzdENh
c2Uob2JqZWN0KSk7CiAKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuOwpJbmRleDog
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9EZWFsbG9jYXRvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0b3IuaAkocmV2aXNpb24gMTY2OTQ0KQorKysgU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9EZWFsbG9jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3
ICs2NSw3IEBAIGlubGluZSBib29sIERlYWxsb2NhdG9yOjpkZWFsbG9jYXRlRmFzdEMKICAgICBp
ZiAoIWlzU21hbGxPck1lZGl1bShvYmplY3QpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBBU1NFUlQob2JqZWN0KTsKKyAgICBCQVNTRVJUKG9iamVjdCk7CiAKICAgICBpZiAobV9vYmpl
Y3RMb2cuc2l6ZSgpID09IG1fb2JqZWN0TG9nLmNhcGFjaXR5KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRml4ZWRWZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0ZpeGVkVmVjdG9yLmgJKHJldmlzaW9uIDE2
Njk0NCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRml4ZWRWZWN0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtNzYsMTQgKzc2LDE0IEBAIGlubGluZSBGaXhlZFZlY3RvcjxULCBDYXBhY2l0eT46
OkZpeGVkVmUKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBDYXBhY2l0eT4KIGlubGluZSBU
JiBGaXhlZFZlY3RvcjxULCBDYXBhY2l0eT46Om9wZXJhdG9yW10oc2l6ZV90IGkpCiB7Ci0gICAg
QVNTRVJUKGkgPCBtX3NpemUpOworICAgIEJBU1NFUlQoaSA8IG1fc2l6ZSk7CiAgICAgcmV0dXJu
IG1fYnVmZmVyW2ldOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgQ2FwYWNpdHk+
CiBpbmxpbmUgdm9pZCBGaXhlZFZlY3RvcjxULCBDYXBhY2l0eT46OnB1c2goY29uc3QgVCYgdmFs
dWUpCiB7Ci0gICAgQVNTRVJUKG1fc2l6ZSA8IENhcGFjaXR5KTsKKyAgICBCQVNTRVJUKG1fc2l6
ZSA8IENhcGFjaXR5KTsKICAgICBtX2J1ZmZlclttX3NpemUrK10gPSB2YWx1ZTsKIH0KIApAQCAt
OTcsMTQgKzk3LDE0IEBAIGlubGluZSB2b2lkIEZpeGVkVmVjdG9yPFQsIENhcGFjaXR5Pjo6cHUK
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBDYXBhY2l0eT4KIGlubGluZSBUIEZpeGVkVmVj
dG9yPFQsIENhcGFjaXR5Pjo6cG9wKCkKIHsKLSAgICBBU1NFUlQobV9zaXplKTsKKyAgICBCQVNT
RVJUKG1fc2l6ZSk7CiAgICAgcmV0dXJuIG1fYnVmZmVyWy0tbV9zaXplXTsKIH0KIAogdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IENhcGFjaXR5PgogaW5saW5lIHZvaWQgRml4ZWRWZWN0b3I8
VCwgQ2FwYWNpdHk+OjpzaHJpbmsoc2l6ZV90IHNpemUpCiB7Ci0gICAgQVNTRVJUKHNpemUgPD0g
bV9zaXplKTsKKyAgICBCQVNTRVJUKHNpemUgPD0gbV9zaXplKTsKICAgICBtX3NpemUgPSBzaXpl
OwogfQogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHJldmlzaW9uIDE2Njk0NCkKKysr
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw4
ICsxNzAsOCBAQCB2b2lkIEhlYXA6OmRlYWxsb2NhdGVYTGFyZ2Uoc3RkOjpsb2NrX2d1CiAKIHZv
aWQqIEhlYXA6OmFsbG9jYXRlTGFyZ2Uoc3RkOjpsb2NrX2d1YXJkPE11dGV4PiYsIHNpemVfdCBz
aXplKQogewotICAgIEFTU0VSVChzaXplIDw9IGxhcmdlTWF4KTsKLSAgICBBU1NFUlQoc2l6ZSA+
PSBsYXJnZU1pbik7CisgICAgQkFTU0VSVChzaXplIDw9IGxhcmdlTWF4KTsKKyAgICBCQVNTRVJU
KHNpemUgPj0gbGFyZ2VNaW4pOwogICAgIAogICAgIG1faXNBbGxvY2F0aW5nUGFnZXMgPSB0cnVl
OwogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xhcmdlQ2h1bmsuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xhcmdlQ2h1bmsuaAkocmV2aXNpb24gMTY2OTQ0
KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MYXJnZUNodW5rLmgJKHdvcmtpbmcgY29weSkK
QEAgLTc2LDcgKzc2LDcgQEAgaW5saW5lIExhcmdlQ2h1bmsqIExhcmdlQ2h1bms6OmNyZWF0ZSgp
CiAKIGlubGluZSBMYXJnZUNodW5rKiBMYXJnZUNodW5rOjpnZXQodm9pZCogb2JqZWN0KQogewot
ICAgIEFTU0VSVCghaXNTbWFsbE9yTWVkaXVtKG9iamVjdCkpOworICAgIEJBU1NFUlQoIWlzU21h
bGxPck1lZGl1bShvYmplY3QpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TGFyZ2VDaHVuayo+
KG1hc2sob2JqZWN0LCBsYXJnZUNodW5rTWFzaykpOwogfQogCkBAIC04OSw3ICs4OSw3IEBAIGlu
bGluZSBCZWdpblRhZyogTGFyZ2VDaHVuazo6YmVnaW5UYWcodm8KIAogaW5saW5lIEVuZFRhZyog
TGFyZ2VDaHVuazo6ZW5kVGFnKHZvaWQqIG9iamVjdCwgc2l6ZV90IHNpemUpCiB7Ci0gICAgQVNT
RVJUKCFpc1NtYWxsT3JNZWRpdW0ob2JqZWN0KSk7CisgICAgQkFTU0VSVCghaXNTbWFsbE9yTWVk
aXVtKG9iamVjdCkpOwogCiAgICAgTGFyZ2VDaHVuayogY2h1bmsgPSBnZXQob2JqZWN0KTsKICAg
ICBjaGFyKiBlbmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4ob2JqZWN0KSArIHNpemU7CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0xpbmUuaAkocmV2aXNpb24gMTY2OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9MaW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKIHRl
bXBsYXRlPGNsYXNzIFRyYWl0cz4KIGlubGluZSBhdXRvIExpbmU8VHJhaXRzPjo6Z2V0KHZvaWQq
IG9iamVjdCkgLT4gTGluZSoKIHsKLSAgICBBU1NFUlQoaXNTbWFsbE9yTWVkaXVtKG9iamVjdCkp
OworICAgIEJBU1NFUlQoaXNTbWFsbE9yTWVkaXVtKG9iamVjdCkpOwogICAgIENodW5rKiBjaHVu
ayA9IENodW5rOjpnZXQob2JqZWN0KTsKICAgICBzaXplX3QgbGluZU51bWJlciA9IChyZWludGVy
cHJldF9jYXN0PGNoYXIqPihvYmplY3QpIC0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oY2h1bmsp
KSAvIGxpbmVTaXplOwogICAgIHJldHVybiAmY2h1bmstPmxpbmVzKClbbGluZU51bWJlcl07CkBA
IC04MiwxNSArODIsMTUgQEAgaW5saW5lIGNoYXIqIExpbmU8VHJhaXRzPjo6ZW5kKCkKIHRlbXBs
YXRlPGNsYXNzIFRyYWl0cz4KIGlubGluZSB2b2lkIExpbmU8VHJhaXRzPjo6Y29uY3VycmVudFJl
Zih1bnNpZ25lZCBjaGFyIGNvdW50KQogewotICAgIEFTU0VSVCghbV9yZWZDb3VudCk7IC8vIFVw
LXJlZiBmcm9tIHplcm8gY2FuIGJlIGxvY2stZnJlZSBiZWNhdXNlIHRoZXJlIGFyZSBubyBvdGhl
ciBjbGllbnRzLgotICAgIEFTU0VSVChjb3VudCA8PSBtYXhSZWZDb3VudCk7CisgICAgQkFTU0VS
VCghbV9yZWZDb3VudCk7IC8vIFVwLXJlZiBmcm9tIHplcm8gY2FuIGJlIGxvY2stZnJlZSBiZWNh
dXNlIHRoZXJlIGFyZSBubyBvdGhlciBjbGllbnRzLgorICAgIEJBU1NFUlQoY291bnQgPD0gbWF4
UmVmQ291bnQpOwogICAgIG1fcmVmQ291bnQgPSBjb3VudDsKIH0KIAogdGVtcGxhdGU8Y2xhc3Mg
VHJhaXRzPgogaW5saW5lIGJvb2wgTGluZTxUcmFpdHM+OjpkZXJlZihzdGQ6OmxvY2tfZ3VhcmQ8
TXV0ZXg+JiwgdW5zaWduZWQgY2hhciBjb3VudCkKIHsKLSAgICBBU1NFUlQoY291bnQgPD0gbV9y
ZWZDb3VudCk7CisgICAgQkFTU0VSVChjb3VudCA8PSBtX3JlZkNvdW50KTsKICAgICBtX3JlZkNv
dW50IC09IGNvdW50OwogICAgIHJldHVybiAhbV9yZWZDb3VudDsKIH0KSW5kZXg6IFNvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvTWVkaXVtQWxsb2NhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9NZWRpdW1BbGxvY2F0b3IuaAkocmV2aXNpb24gMTY2OTQ0KQorKysgU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1BbGxvY2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
NjcsMTMgKzY3LDEzIEBAIGlubGluZSBNZWRpdW1MaW5lKiBNZWRpdW1BbGxvY2F0b3I6OmxpbmUK
IAogaW5saW5lIHZvaWQqIE1lZGl1bUFsbG9jYXRvcjo6YWxsb2NhdGUoc2l6ZV90IHNpemUpCiB7
Ci0gICAgQVNTRVJUKHNpemUgPD0gbV9yZW1haW5pbmcpOwotICAgIEFTU0VSVChzaXplID09IHJv
dW5kVXBUb011bHRpcGxlT2Y8YWxpZ25tZW50PihzaXplKSk7Ci0gICAgQVNTRVJUKHNpemUgPj0g
TWVkaXVtTGluZTo6bWluaW11bU9iamVjdFNpemUpOworICAgIEJBU1NFUlQoc2l6ZSA8PSBtX3Jl
bWFpbmluZyk7CisgICAgQkFTU0VSVChzaXplID09IHJvdW5kVXBUb011bHRpcGxlT2Y8YWxpZ25t
ZW50PihzaXplKSk7CisgICAgQkFTU0VSVChzaXplID49IE1lZGl1bUxpbmU6Om1pbmltdW1PYmpl
Y3RTaXplKTsKIAogICAgIG1fcmVtYWluaW5nIC09IHNpemU7CiAgICAgdm9pZCogb2JqZWN0ID0g
bV9lbmQgLSBtX3JlbWFpbmluZyAtIHNpemU7Ci0gICAgQVNTRVJUKGlzU21hbGxPck1lZGl1bShv
YmplY3QpICYmICFpc1NtYWxsKG9iamVjdCkpOworICAgIEJBU1NFUlQoaXNTbWFsbE9yTWVkaXVt
KG9iamVjdCkgJiYgIWlzU21hbGwob2JqZWN0KSk7CiAKICAgICArK21fb2JqZWN0Q291bnQ7CiAg
ICAgcmV0dXJuIG9iamVjdDsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlw
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlwZS5oCShy
ZXZpc2lvbiAxNjY5NDQpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL09iamVjdFR5cGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBpbmxpbmUgYm9vbCBpc1NtYWxsT3JNZWRp
dW0odm9pZCogb2JqZWN0CiAKIGlubGluZSBib29sIGlzU21hbGwodm9pZCogc21hbGxPck1lZGl1
bSkKIHsKLSAgICBBU1NFUlQoaXNTbWFsbE9yTWVkaXVtKHNtYWxsT3JNZWRpdW0pKTsKKyAgICBC
QVNTRVJUKGlzU21hbGxPck1lZGl1bShzbWFsbE9yTWVkaXVtKSk7CiAgICAgcmV0dXJuIHRlc3Qo
c21hbGxPck1lZGl1bSwgc21hbGxPck1lZGl1bVNtYWxsVHlwZU1hc2spOwogfQogCkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1BhZ2UuaAkocmV2aXNpb24gMTY2OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDE0ICs1OSwxNCBAQCBwcml2YXRlOgog
dGVtcGxhdGU8dHlwZW5hbWUgVHJhaXRzPgogaW5saW5lIHZvaWQgUGFnZTxUcmFpdHM+OjpyZWYo
c3RkOjpsb2NrX2d1YXJkPE11dGV4PiYpCiB7Ci0gICAgQVNTRVJUKG1fcmVmQ291bnQgPCBtYXhS
ZWZDb3VudCk7CisgICAgQkFTU0VSVChtX3JlZkNvdW50IDwgbWF4UmVmQ291bnQpOwogICAgICsr
bV9yZWZDb3VudDsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVHJhaXRzPgogaW5saW5lIGJvb2wg
UGFnZTxUcmFpdHM+OjpkZXJlZihzdGQ6OmxvY2tfZ3VhcmQ8TXV0ZXg+JikKIHsKLSAgICBBU1NF
UlQobV9yZWZDb3VudCk7CisgICAgQkFTU0VSVChtX3JlZkNvdW50KTsKICAgICAtLW1fcmVmQ291
bnQ7CiAgICAgcmV0dXJuICFtX3JlZkNvdW50OwogfQpJbmRleDogU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9QZXJUaHJlYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bl
clRocmVhZC5oCShyZXZpc2lvbiAxNjY5NDQpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bl
clRocmVhZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBQZXJUaHJl
YWQ8VD46OmRlc3RydWN0b3Iodm9pZCogcCkKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBUKiBQZXJU
aHJlYWQ8VD46OmdldFNsb3dDYXNlKCkKIHsKLSAgICBBU1NFUlQoIWdldEZhc3RDYXNlKCkpOwor
ICAgIEJBU1NFUlQoIWdldEZhc3RDYXNlKCkpOwogICAgIFQqIHQgPSBuZXcgVDsKICAgICBQZXJU
aHJlYWRTdG9yYWdlPFQ+Ojppbml0KHQsIGRlc3RydWN0b3IpOwogICAgIHJldHVybiB0OwpJbmRl
eDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TZWdyZWdhdGVkRnJlZUxpc3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAkocmV2
aXNpb24gMTY2OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TZWdyZWdhdGVkRnJlZUxp
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxNCArMzIsMTQgQEAgbmFtZXNwYWNlIGJtYWxs
b2MgewogCiBTZWdyZWdhdGVkRnJlZUxpc3Q6OlNlZ3JlZ2F0ZWRGcmVlTGlzdCgpCiB7Ci0gICAg
QVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4oJnNlbGVjdChsYXJnZU1heCkgLSBtX2xpc3RzLmJl
Z2luKCkpID09IG1fbGlzdHMuc2l6ZSgpIC0gMSk7CisgICAgQkFTU0VSVChzdGF0aWNfY2FzdDxz
aXplX3Q+KCZzZWxlY3QobGFyZ2VNYXgpIC0gbV9saXN0cy5iZWdpbigpKSA9PSBtX2xpc3RzLnNp
emUoKSAtIDEpOwogfQogCiB2b2lkIFNlZ3JlZ2F0ZWRGcmVlTGlzdDo6aW5zZXJ0KGNvbnN0IFJh
bmdlJiByYW5nZSkKIHsKIElGX0RFQlVHKAogICAgIEJlZ2luVGFnKiBiZWdpblRhZyA9IExhcmdl
Q2h1bms6OmJlZ2luVGFnKHJhbmdlLmJlZ2luKCkpOwotICAgIEFTU0VSVChiZWdpblRhZy0+aXNJ
bkZyZWVMaXN0KHJhbmdlLnNpemUoKSkpOworICAgIEJBU1NFUlQoYmVnaW5UYWctPmlzSW5GcmVl
TGlzdChyYW5nZS5zaXplKCkpKTsKICkKIAogICAgIGF1dG8mIGxpc3QgPSBzZWxlY3QocmFuZ2Uu
c2l6ZSgpKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxBbGxvY2F0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsQWxsb2NhdG9yLmgJKHJl
dmlzaW9uIDE2Njk0NCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxBbGxvY2F0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtNzksMTMgKzc5LDEzIEBAIGlubGluZSBTbWFsbExpbmUqIFNt
YWxsQWxsb2NhdG9yOjpsaW5lKCkKIAogaW5saW5lIHZvaWQqIFNtYWxsQWxsb2NhdG9yOjphbGxv
Y2F0ZSgpCiB7Ci0gICAgQVNTRVJUKG1fcmVtYWluaW5nKTsKLSAgICBBU1NFUlQobV9zaXplID49
IFNtYWxsTGluZTo6bWluaW11bU9iamVjdFNpemUpOworICAgIEJBU1NFUlQobV9yZW1haW5pbmcp
OworICAgIEJBU1NFUlQobV9zaXplID49IFNtYWxsTGluZTo6bWluaW11bU9iamVjdFNpemUpOwog
CiAgICAgLS1tX3JlbWFpbmluZzsKICAgICBjaGFyKiByZXN1bHQgPSBtX3B0cjsKICAgICBtX3B0
ciArPSBtX3NpemU7Ci0gICAgQVNTRVJUKGlzU21hbGwocmVzdWx0KSk7CisgICAgQkFTU0VSVChp
c1NtYWxsKHJlc3VsdCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEwMSw3ICsxMDEs
NyBAQCBpbmxpbmUgdW5zaWduZWQgY2hhciBTbWFsbEFsbG9jYXRvcjo6ZGVyCiAKIGlubGluZSB2
b2lkIFNtYWxsQWxsb2NhdG9yOjpyZWZpbGwoU21hbGxMaW5lKiBsaW5lKQogewotICAgIEFTU0VS
VCghY2FuQWxsb2NhdGUoKSk7CisgICAgQkFTU0VSVCghY2FuQWxsb2NhdGUoKSk7CiAgICAgbGlu
ZS0+Y29uY3VycmVudFJlZihTbWFsbExpbmU6Om1heFJlZkNvdW50KTsKICAgICBtX3B0ciA9IGxp
bmUtPmJlZ2luKCk7CiAgICAgbV9yZW1haW5pbmcgPSBtX21heE9iamVjdENvdW50OwpJbmRleDog
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9TeXNjYWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9TeXNjYWxsLmgJKHJldmlzaW9uIDE2Njk0NCkKKysrIFNvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvU3lzY2FsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAK
ICNkZWZpbmUgU1lTQ0FMTCh4KSBkbyB7IFwKICAgICB3aGlsZSAoKHgpID09IC0xKSBcCi0gICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGVycm5vID09IEVBR0FJTik7IFwKKyAgICAgICAgUkVMRUFTRV9C
QVNTRVJUKGVycm5vID09IEVBR0FJTik7IFwKIH0gd2hpbGUgKDApOwogCiAjZW5kaWYgLy8gU3lz
Y2FsbF9oCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAkocmV2aXNpb24gMTY2
OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUwLDggKzUwLDggQEAgaW5saW5lIHNpemVfdCB2bVNpemUoc2l6ZV90IHNpemUpCiBp
bmxpbmUgdm9pZCB2bVZhbGlkYXRlKHNpemVfdCB2bVNpemUpCiB7CiAgICAgVU5VU0VEKHZtU2l6
ZSk7Ci0gICAgQVNTRVJUKHZtU2l6ZSk7Ci0gICAgQVNTRVJUKHZtU2l6ZSA9PSBibWFsbG9jOjp2
bVNpemUodm1TaXplKSk7CisgICAgQkFTU0VSVCh2bVNpemUpOworICAgIEJBU1NFUlQodm1TaXpl
ID09IGJtYWxsb2M6OnZtU2l6ZSh2bVNpemUpKTsKIH0KIAogaW5saW5lIHZvaWQgdm1WYWxpZGF0
ZSh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQpAQCAtNjEsOCArNjEsOCBAQCBpbmxpbmUgdm9pZCB2
bVZhbGlkYXRlKHZvaWQqIHAsIHNpemVfdCB2CiAgICAgLy8gV2UgdXNlIGdldHBhZ2VzaXplKCkg
aGVyZSBpbnN0ZWFkIG9mIHZtUGFnZVNpemUgYmVjYXVzZSB2bVBhZ2VTaXplIGlzCiAgICAgLy8g
YWxsb3dlZCB0byBiZSBsYXJnZXIgdGhhbiB0aGUgT1MncyB0cnVlIHBhZ2Ugc2l6ZS4KICAgICBV
TlVTRUQocCk7Ci0gICAgQVNTRVJUKHApOwotICAgIEFTU0VSVChwID09IG1hc2socCwgfihnZXRw
YWdlc2l6ZSgpIC0gMSkpKTsKKyAgICBCQVNTRVJUKHApOworICAgIEJBU1NFUlQocCA9PSBtYXNr
KHAsIH4oZ2V0cGFnZXNpemUoKSAtIDEpKSk7CiB9CiAKIGlubGluZSB2b2lkKiB2bUFsbG9jYXRl
KHNpemVfdCB2bVNpemUpCkBAIC04Myw3ICs4Myw3IEBAIGlubGluZSB2b2lkIHZtRGVhbGxvY2F0
ZSh2b2lkKiBwLCBzaXplX3QKIGlubGluZSBzdGQ6OnBhaXI8dm9pZCosIFJhbmdlPiB2bUFsbG9j
YXRlKHNpemVfdCB2bVNpemUsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBvZmZzZXQpCiB7CiAg
ICAgdm1WYWxpZGF0ZSh2bVNpemUpOwotICAgIEFTU0VSVChpc1Bvd2VyT2ZUd28oYWxpZ25tZW50
KSk7CisgICAgQkFTU0VSVChpc1Bvd2VyT2ZUd28oYWxpZ25tZW50KSk7CiAKICAgICBzaXplX3Qg
bWFwcGVkU2l6ZSA9IHN0ZDo6bWF4KHZtU2l6ZSwgYWxpZ25tZW50KSArIGFsaWdubWVudDsKICAg
ICBjaGFyKiBtYXBwZWQgPSBzdGF0aWNfY2FzdDxjaGFyKj4odm1BbGxvY2F0ZShtYXBwZWRTaXpl
KSk7CkBAIC0xMTgsNyArMTE4LDcgQEAgaW5saW5lIHZvaWQgdm1BbGxvY2F0ZVBoeXNpY2FsUGFn
ZXModm9pZAogLy8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBOT1RF
OiBzaXplIG11c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgogaW5saW5lIHZvaWQgdm1EZWFsbG9jYXRl
UGh5c2ljYWxQYWdlc1Nsb3BweSh2b2lkKiBwLCBzaXplX3Qgc2l6ZSkKIHsKLSAgICBBU1NFUlQo
c2l6ZSA+PSB2bVBhZ2VTaXplKTsKKyAgICBCQVNTRVJUKHNpemUgPj0gdm1QYWdlU2l6ZSk7CiAK
ICAgICBjaGFyKiBiZWdpbiA9IHJvdW5kVXBUb011bHRpcGxlT2Y8dm1QYWdlU2l6ZT4oc3RhdGlj
X2Nhc3Q8Y2hhcio+KHApKTsKICAgICBjaGFyKiBlbmQgPSByb3VuZERvd25Ub011bHRpcGxlT2Y8
dm1QYWdlU2l6ZT4oc3RhdGljX2Nhc3Q8Y2hhcio+KHApICsgc2l6ZSk7CkluZGV4OiBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVmVjdG9yLmgJKHJldmlzaW9uIDE2Njk0NCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvVmVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgVmVjdG9yPFQ+Ojp+
VmVjdG9yKCkKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBpbmxpbmUgVCYgVmVjdG9yPFQ+OjpvcGVy
YXRvcltdKHNpemVfdCBpKQogewotICAgIEFTU0VSVChpIDwgbV9zaXplKTsKKyAgICBCQVNTRVJU
KGkgPCBtX3NpemUpOwogICAgIHJldHVybiBtX2J1ZmZlcltpXTsKIH0KIApAQCAtMTE5LDcgKzEx
OSw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpwdXNoKGNvbnN0IFQqIGJlZ2luLCBjb24KIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CiBpbmxpbmUgVCBWZWN0b3I8VD46OnBvcCgpCiB7Ci0gICAgQVNTRVJUKG1f
c2l6ZSk7CisgICAgQkFTU0VSVChtX3NpemUpOwogICAgIFQgdmFsdWUgPSBtX2J1ZmZlclttX3Np
emUgLSAxXTsKICAgICBzaHJpbmsobV9zaXplIC0gMSk7CiAgICAgcmV0dXJuIHZhbHVlOwpAQCAt
MTI4LDcgKzEyOCw3IEBAIGlubGluZSBUIFZlY3RvcjxUPjo6cG9wKCkKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+CiBpbmxpbmUgVCBWZWN0b3I8VD46OnBvcChzaXplX3QgaSkKIHsKLSAgICBBU1NFUlQo
aSA8IG1fc2l6ZSk7CisgICAgQkFTU0VSVChpIDwgbV9zaXplKTsKICAgICBzdGQ6OnN3YXAobV9i
dWZmZXJbaV0sIGxhc3QoKSk7CiAgICAgcmV0dXJuIHBvcCgpOwogfQpAQCAtMTM2LDcgKzEzNiw3
IEBAIGlubGluZSBUIFZlY3RvcjxUPjo6cG9wKHNpemVfdCBpKQogdGVtcGxhdGU8dHlwZW5hbWUg
VD4KIGlubGluZSB2b2lkIFZlY3RvcjxUPjo6c2hyaW5rKHNpemVfdCBzaXplKQogewotICAgIEFT
U0VSVChzaXplIDw9IG1fc2l6ZSk7CisgICAgQkFTU0VSVChzaXplIDw9IG1fc2l6ZSk7CiAgICAg
bV9zaXplID0gc2l6ZTsKICAgICBpZiAobV9jYXBhY2l0eSA+IGluaXRpYWxDYXBhY2l0eSAmJiBt
X3NpemUgPCBtX2NhcGFjaXR5IC8gc2hyaW5rRmFjdG9yKQogICAgICAgICBzaHJpbmtDYXBhY2l0
eSgpOwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9YTGFyZ2VDaHVuay5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvWExhcmdlQ2h1bmsuaAkocmV2aXNpb24gMTY2
OTQ0KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9YTGFyZ2VDaHVuay5oCSh3b3JraW5nIGNv
cHkpCkBAIC03MSw3ICs3MSw3IEBAIGlubGluZSBSYW5nZSYgWExhcmdlQ2h1bms6OnJhbmdlKCkK
ICAgICAvLyBTaW5jZSB3ZSBob2xkIG9ubHkgb25lIG9iamVjdCwgd2Ugb25seSB1c2Ugb3VyIGZp
cnN0IEJvdW5kYXJ5VGFnLiBTbywgd2UKICAgICAvLyBjYW4gc3R1ZmYgb3VyIHJhbmdlIGludG8g
dGhlIHJlbWFpbmluZyBtZXRhZGF0YS4KICAgICBSYW5nZSYgcmVzdWx0ID0gKnJlaW50ZXJwcmV0
X2Nhc3Q8UmFuZ2UqPihyb3VuZFVwVG9NdWx0aXBsZU9mPGFsaWdubWVudD4oTGFyZ2VDaHVuazo6
YmVnaW5UYWcoYmVnaW4oKSkgKyAxKSk7Ci0gICAgQVNTRVJUKHN0YXRpY19jYXN0PHZvaWQqPigm
cmVzdWx0KSA8IHN0YXRpY19jYXN0PHZvaWQqPihiZWdpbigpKSk7CisgICAgQkFTU0VSVChzdGF0
aWNfY2FzdDx2b2lkKj4oJnJlc3VsdCkgPCBzdGF0aWNfY2FzdDx2b2lkKj4oYmVnaW4oKSkpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTgwLDcgKzgwLDcgQEAgaW5saW5lIHNpemVfdCYg
WExhcmdlQ2h1bms6OnNpemUoKQogICAgIC8vIFNpbmNlIHdlIGhvbGQgb25seSBvbmUgb2JqZWN0
LCB3ZSBvbmx5IHVzZSBvdXIgZmlyc3QgQm91bmRhcnlUYWcuIFNvLCB3ZQogICAgIC8vIGNhbiBz
dHVmZiBvdXIgc2l6ZSBpbnRvIHRoZSByZW1haW5pbmcgbWV0YWRhdGEuCiAgICAgc2l6ZV90JiBy
ZXN1bHQgPSAqcmVpbnRlcnByZXRfY2FzdDxzaXplX3QqPihyb3VuZFVwVG9NdWx0aXBsZU9mPGFs
aWdubWVudD4oJnJhbmdlKCkgKyAxKSk7Ci0gICAgQVNTRVJUKHN0YXRpY19jYXN0PHZvaWQqPigm
cmVzdWx0KSA8IHN0YXRpY19jYXN0PHZvaWQqPihiZWdpbigpKSk7CisgICAgQkFTU0VSVChzdGF0
aWNfY2FzdDx2b2lkKj4oJnJlc3VsdCkgPCBzdGF0aWNfY2FzdDx2b2lkKj4oYmVnaW4oKSkpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
</data>
<flag name="review"
          id="253204"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>