<?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>159032</bug_id>
          
          <creation_ts>2016-06-22 12:17:55 -0700</creation_ts>
          <short_desc>Inline the last of the Apple Pay WebCore code</short_desc>
          <delta_ts>2016-06-22 13:00:20 -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>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1204615</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 12:17:55 -0700</bug_when>
    <thetext>Inline the last of the Apple Pay WebCore code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204616</commentid>
    <comment_count>1</comment_count>
      <attachid>281857</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 12:19:52 -0700</bug_when>
    <thetext>Created attachment 281857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204618</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-22 12:21:09 -0700</bug_when>
    <thetext>Attachment 281857 did not pass style-queue:


ERROR: Source/WebCore/loader/EmptyClients.cpp:57:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 6 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>1204620</commentid>
    <comment_count>3</comment_count>
      <attachid>281858</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 12:24:00 -0700</bug_when>
    <thetext>Created attachment 281858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204621</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-22 12:25:39 -0700</bug_when>
    <thetext>Attachment 281858 did not pass style-queue:


ERROR: Source/WebCore/loader/EmptyClients.cpp:60:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 6 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>1204623</commentid>
    <comment_count>5</comment_count>
      <attachid>281859</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 12:28:06 -0700</bug_when>
    <thetext>Created attachment 281859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204624</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-22 12:30:30 -0700</bug_when>
    <thetext>Attachment 281859 did not pass style-queue:


ERROR: Source/WebCore/loader/EmptyClients.cpp:57:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 7 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>1204629</commentid>
    <comment_count>7</comment_count>
      <attachid>281862</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 12:39:10 -0700</bug_when>
    <thetext>Created attachment 281862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204630</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-22 12:42:17 -0700</bug_when>
    <thetext>Attachment 281862 did not pass style-queue:


ERROR: Source/WebCore/loader/EmptyClients.cpp:57:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 7 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>1204632</commentid>
    <comment_count>9</comment_count>
      <attachid>281862</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-06-22 12:58:46 -0700</bug_when>
    <thetext>Comment on attachment 281862
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204635</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-22 13:00:20 -0700</bug_when>
    <thetext>Committed r202345: &lt;http://trac.webkit.org/changeset/202345&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281857</attachid>
            <date>2016-06-22 12:19:52 -0700</date>
            <delta_ts>2016-06-22 12:23:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159032-20160622121943.patch</filename>
            <type>text/plain</type>
            <size>11932</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBhMTBjZGI2ZjU1YTU2
M2U5N2U0NDMzZjJhMjhjNTEwYzRlY2Y2MC4uOWY0NDk5Y2M2NjUyOGMwODE3OTFkMWM0OTEzZjJm
NmU5YzUzNWU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA2LTIyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5saW5lIHRoZSBs
YXN0IG9mIHRoZSBBcHBsZSBQYXkgV2ViQ29yZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZmlsbFdpdGhFbXB0eUNsaWVudHMpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6TWFpbkZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL01haW5GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6cGFzc0tpdEJ1bmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2FkUGFzc0tpdFBE
RlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvQmxhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6ZHJhd0FwcGxlUGF5QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQ29jb2E6OmRy
YXdOYW1lZEltYWdlKToKKworMjAxNi0wNi0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIEV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gc2hpcHBp
bmcgbWV0aG9kIGlzIGFuIGludmFsaWQgYW1vdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzAKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjY3
MDA0MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggMTk4YWNhY2Jk
NTliOTJmMzFjZDI0ZTIzZjJlZTIxNzk4MWI2ODg2ZS4uMWIzM2FjMmNlZWM5NjM0OWRmOGNlMDFm
YTVmNjcyMzFkNTBkNjNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
QEAgLTQxLDE4ICs0MSwzMiBAQAogI2luY2x1ZGUgIkluUHJvY2Vzc0lEQlNlcnZlci5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUg
IlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAj
aW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2VQ
cm92aWRlci5oIgogI2luY2x1ZGUgIlVzZXJDb250ZW50UHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5j
bHVkZSA8V2ViS2l0QWRkaXRpb25zL0VtcHR5Q2xpZW50c0luY2x1ZGVzLmg+Ci0jZW5kaWYKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKK2NsYXNzIEVtcHR5
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IGZpbmFsIDogcHVibGljIFBheW1lbnRDb29yZGluYXRv
ckNsaWVudCB7CisgICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpIG92ZXJyaWRlIHsg
cmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gY29t
cGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlIHsgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhh
bmRsZXJdIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQorICAgIHZvaWQgc2hvd1Bh
eW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IFBheW1lbnRSZXF1
ZXN0Jikgb3ZlcnJpZGUgeyB9CisgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihj
b25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGUgeyB9CisKKyAgICB2b2lkIGNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMs
IE9wdGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIG92ZXJyaWRlIHsg
fQorICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oUGF5bWVudEF1dGhv
cml6YXRpb25TdGF0dXMsIGNvbnN0IFZlY3RvcjxQYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRo
b2Q+JiwgT3B0aW9uYWw8UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPikgb3ZlcnJp
ZGUgeyB9CisgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oT3B0aW9uYWw8
V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPikgb3ZlcnJpZGUgeyB9
CisgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKFBheW1lbnRBdXRob3JpemF0aW9uU3Rh
dHVzKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSBvdmVycmlk
ZSB7IH0KKyAgICB2b2lkIG1haW5GcmFtZURlc3Ryb3llZCgpIG92ZXJyaWRlIHsgfQorfTsKKyNl
bmRpZgorCiBjbGFzcyBFbXB0eURhdGFiYXNlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgRGF0YWJh
c2VQcm92aWRlciB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgdmlydHVhbCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9y
U2Vzc2lvbihjb25zdCBTZXNzaW9uSUQmKQpAQCAtMTIwLDYgKzEzNCwxMSBAQCB2b2lkIGZpbGxX
aXRoRW1wdHlDbGllbnRzKFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmlndXJhdGlvbikKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15Q2hyb21lQ2xp
ZW50OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9ICZkdW1teUNocm9tZUNs
aWVudC5nZXQoKTsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVkpCisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEVtcHR5UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50PiBkdW1teVBheW1lbnRDb29yZGlu
YXRvckNsaWVudDsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0b3JDbGll
bnQgPSAmZHVtbXlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuZ2V0KCk7CisjZW5kaWYKKwogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUNv
bnRleHRNZW51Q2xpZW50PiBkdW1teUNvbnRleHRNZW51Q2xpZW50OwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLmNvbnRleHRNZW51Q2xpZW50ID0gJmR1bW15Q29udGV4dE1lbnVDbGllbnQuZ2V0KCk7
CkBAIC0xNDYsMTAgKzE2NSw2IEBAIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZp
Z3VyYXRpb24mIHBhZ2VDb25maWd1cmF0aW9uKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnN0b3Jh
Z2VOYW1lc3BhY2VQcm92aWRlciA9IGFkb3B0UmVmKG5ldyBFbXB0eVN0b3JhZ2VOYW1lc3BhY2VQ
cm92aWRlcik7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRQcm92aWRlciA9IGFk
b3B0UmVmKG5ldyBFbXB0eVVzZXJDb250ZW50UHJvdmlkZXIpOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLnZpc2l0ZWRMaW5rU3RvcmUgPSBhZG9wdFJlZihuZXcgRW1wdHlWaXNpdGVkTGlua1N0b3Jl
KTsKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL0VtcHR5Q2xpZW50c0ZpbGwuY3BwPgotI2VuZGlmCiB9CiAKIGNsYXNzIEVtcHR5UG9wdXBN
ZW51IDogcHVibGljIFBvcHVwTWVudSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01haW5GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKaW5kZXgg
NmRmMjk2NTUzZTM4YTViMWUzNTBhZmQzYjFlYjU1ZGVlYmU2NWVkOC4uODlhZTc3ZDAxY2IwMzNm
OTgwMWY2NzViNmY2NDkwOTg3Mjk3NTU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkVtcHR5Q2xpZW50cy5oIgogI2luY2x1ZGUgIlBh
Z2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCisj
aW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdT
dGF0ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudERlbHRh
RmlsdGVyLmgiCkBAIC0zNywxMCArMzgsNiBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1
ZGUgIlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCIKLSNlbmRpZiAvKiBQTEFURk9STShNQUMp
ICovCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9NYWluRnJhbWVJbmNsdWRlcy5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ4LDE3ICs0NSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBpbmxpbmUgTWFpbkZyYW1l
OjpNYWluRnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAgICAgOiBGcmFtZShwYWdlLCBudWxscHRyLCAqY29uZmlndXJhdGlvbi5sb2FkZXJDbGllbnRG
b3JNYWluRnJhbWUpCiAgICAgLCBtX3NlbGZPbmx5UmVmQ291bnQoMCkKLSNpZiBQTEFURk9STShN
QUMpCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpIHx8IEVOQUJMRShURUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikKKyNpZiBQTEFURk9STShNQUMpICYmIChFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykgfHwgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSkKICAgICAsIG1fc2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI+KCp0aGlzKSkKICNlbmRpZgotI2VuZGlmCiAgICAgLCBtX3JlY2VudFdoZWVsRXZl
bnREZWx0YUZpbHRlcihXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9w
YWdlT3ZlcmxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxQYWdlT3ZlcmxheUNvbnRyb2xs
ZXI+KCp0aGlzKSkKLXsKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdl
YktpdEFkZGl0aW9ucy9NYWluRnJhbWVJbml0aWFsaXphdGlvbi5jcHA+CisjaWYgRU5BQkxFKEFQ
UExFX1BBWSkKKyAgICAsIG1fcGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5
bWVudENvb3JkaW5hdG9yPigqY29uZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0b3JDbGllbnQp
KQogI2VuZGlmCit7CiB9CiAKIE1haW5GcmFtZTo6fk1haW5GcmFtZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWlu
RnJhbWUuaAppbmRleCBjYTVkMDkwYjhjNTIzNWRiZTcyOGMyZTE1NjNhMTRhYTZiZThhMmNkLi43
ZmMxYjk1ZTQ5Mzg3ZTAxYjAxZWQ5ZmU3OTIxNDRlN2NmNzNjYWZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFp
bkZyYW1lLmgKQEAgLTYzLDggKzYzLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlTGF0Y2hp
bmdTdGF0ZUZvclRhcmdldChFbGVtZW50Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCi0j
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvTWFp
bkZyYW1lTWVtYmVycy5oPgorI2lmIEVOQUJMRShBUFBMRV9QQVkpCisgICAgUGF5bWVudENvb3Jk
aW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdCB7IHJldHVybiAqbV9wYXltZW50Q29v
cmRpbmF0b3I7IH0KICNlbmRpZgogCiBwcml2YXRlOgpAQCAtODMsNiArODMsMTAgQEAgcHJpdmF0
ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXaGVlbEV2ZW50RGVsdGFGaWx0ZXI+IG1fcmVjZW50
V2hlZWxFdmVudERlbHRhRmlsdGVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYWdlT3ZlcmxheUNv
bnRyb2xsZXI+IG1fcGFnZU92ZXJsYXlDb250cm9sbGVyOworCisjaWYgRU5BQkxFKEFQUExFX1BB
WSkKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVudENvb3JkaW5hdG9yPiBtX3BheW1lbnRDb29y
ZGluYXRvcjsKKyNlbmRpZgogfTsKIAogaW5saW5lIGJvb2wgRnJhbWU6OmlzTWFpbkZyYW1lKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCAwNTgyYWQ4
YzBhOGE1ZTZjY2FkYmVlNDUzOTIyODhmZDUyOTVjYTVkLi43Mjg0MTMxM2U0NGVmMjc5ZmFiOTNk
MzliM2FiMWIxMTJlMmZkYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5oCkBAIC0yOSwxMCArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvVW5pcXVlUmVmLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1
ZGUgPFdlYktpdEFkZGl0aW9ucy9QYWdlQ29uZmlndXJhdGlvbkluY2x1ZGVzLmg+Ci0jZW5kaWYK
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CkBA
IC00NSw2ICs0MSw3IEBAIGNsYXNzIERyYWdDbGllbnQ7CiBjbGFzcyBFZGl0b3JDbGllbnQ7CiBj
bGFzcyBGcmFtZUxvYWRlckNsaWVudDsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKK2NsYXNzIFBh
eW1lbnRDb29yZGluYXRvckNsaWVudDsKIGNsYXNzIFBsdWdJbkNsaWVudDsKIGNsYXNzIFByb2dy
ZXNzVHJhY2tlckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwpAQCAtNzIsNiArNjksMTAg
QEAgcHVibGljOgogICAgIFVuaXF1ZVJlZjxTb2NrZXRQcm92aWRlcj4gc29ja2V0UHJvdmlkZXI7
CiAgICAgRHJhZ0NsaWVudCogZHJhZ0NsaWVudCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JD
bGllbnQqIGluc3BlY3RvckNsaWVudCB7IG51bGxwdHIgfTsKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQorICAgIFBheW1lbnRDb29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
IHsgbnVsbHB0ciB9OworI2VuZGlmCisKICAgICBQbHVnSW5DbGllbnQqIHBsdWdJbkNsaWVudCB7
IG51bGxwdHIgfTsKICAgICBQcm9ncmVzc1RyYWNrZXJDbGllbnQqIHByb2dyZXNzVHJhY2tlckNs
aWVudCB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8QmFja0ZvcndhcmRDbGllbnQ+IGJhY2tGb3J3
YXJkQ2xpZW50OwpAQCAtNzksMTAgKzgwLDYgQEAgcHVibGljOgogICAgIEZyYW1lTG9hZGVyQ2xp
ZW50KiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUgeyBudWxscHRyIH07CiAgICAgc3RkOjp1bmlx
dWVfcHRyPERpYWdub3N0aWNMb2dnaW5nQ2xpZW50PiBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7
IG51bGxwdHIgfTsKIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL1BhZ2VDb25maWd1cmF0aW9uTWVtYmVycy5oPgotI2VuZGlmCi0KICAgICBS
ZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
ICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOwogICAgIFJlZlB0
cjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tCmluZGV4IDBkODEyNTA1
YzU4YjM4MDZlY2ZmNzdiNDdhZWM1Y2VhOWQ5ODBhOTguLmNhYjU4MjQ4ZDJkYTA1MTEyNThmMzM1
OGU1MTM0Zjk2MTg0ZjkyYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1RoZW1lQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhl
bWVDb2NvYS5tbQpAQCAtNTMsOSArNTMsNzcgQEAgc3RhdGljIHZvaWQgZml0Q29udGV4dFRvQm94
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRTaXplJiBzcmNJbWFnZVMKICAg
ICBjb250ZXh0LnNjYWxlKEZsb2F0U2l6ZShzY2FsZSwgc2NhbGUpKTsKIH0KIAorI2lmIEVOQUJM
RShBUFBMRV9QQVkpCitzdGF0aWMgTlNCdW5kbGUgKnBhc3NLaXRCdW5kbGUoKQoreworICAgIHN0
YXRpYyBOU0J1bmRsZSAqcGFzc0tpdEJ1bmRsZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90
IG9uY2VUb2tlbjsKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisjaWYgUExBVEZP
Uk0oTUFDKQorICAgICAgICBwYXNzS2l0QnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhVUkw6
W05TVVJMIGZpbGVVUkxXaXRoUGF0aDpAIi9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9QYXNzS2l0LmZyYW1ld29yayJdXTsKKyNlbHNlCisgICAgICAgIGRsb3BlbigiL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvUGFzc0tpdC5mcmFtZXdvcmsvUGFzc0tpdCIsIFJUTERfTk9XKTsK
KyAgICAgICAgcGFzc0tpdEJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpOU0NsYXNz
RnJvbVN0cmluZyhAIlBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciIpXTsKKyNl
bmRpZgorICAgIH0pOworCisgICAgcmV0dXJuIHBhc3NLaXRCdW5kbGU7Cit9CisKK3N0YXRpYyBS
ZXRhaW5QdHI8Q0dQREZQYWdlUmVmPiBsb2FkUGFzc0tpdFBERlBhZ2UoTlNTdHJpbmcgKmltYWdl
TmFtZSkKK3sKKyAgICBOU1VSTCAqdXJsID0gW3Bhc3NLaXRCdW5kbGUoKSBVUkxGb3JSZXNvdXJj
ZTppbWFnZU5hbWUgd2l0aEV4dGVuc2lvbjpAInBkZiJdOworICAgIGlmICghdXJsKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gZG9jdW1lbnQgPSBhZG9wdENGKENHUERGRG9j
dW1lbnRDcmVhdGVXaXRoVVJMKChDRlVSTFJlZil1cmwpKTsKKyAgICBpZiAoIWRvY3VtZW50KQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghQ0dQREZEb2N1bWVudEdldE51bWJl
ck9mUGFnZXMoZG9jdW1lbnQuZ2V0KCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IHJldHVybiBDR1BERkRvY3VtZW50R2V0UGFnZShkb2N1bWVudC5nZXQoKSwgMSk7Cit9OworCitz
dGF0aWMgQ0dQREZQYWdlUmVmIGFwcGxlUGF5QnV0dG9uTG9nb0JsYWNrKCkKK3sKKyAgICBzdGF0
aWMgQ0dQREZQYWdlUmVmIGxvZ29QYWdlOworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25j
ZVRva2VuOworICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKKyAgICAgICAgbG9nb1Bh
Z2UgPSBsb2FkUGFzc0tpdFBERlBhZ2UoQCJQYXlCdXR0b25Mb2dvQmxhY2siKS5sZWFrUmVmKCk7
CisgICAgfSk7CisKKyAgICByZXR1cm4gbG9nb1BhZ2U7Cit9OworCitzdGF0aWMgQ0dQREZQYWdl
UmVmIGFwcGxlUGF5QnV0dG9uTG9nb1doaXRlKCkKK3sKKyAgICBzdGF0aWMgQ0dQREZQYWdlUmVm
IGxvZ29QYWdlOworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOworICAgIGRp
c3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKKyAgICAgICAgbG9nb1BhZ2UgPSBsb2FkUGFzc0tp
dFBERlBhZ2UoQCJQYXlCdXR0b25Mb2dvV2hpdGUiKS5sZWFrUmVmKCk7CisgICAgfSk7CisKKyAg
ICByZXR1cm4gbG9nb1BhZ2U7Cit9OworCitzdGF0aWMgdm9pZCBkcmF3QXBwbGVQYXlCdXR0b24o
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBDR1BERlBhZ2VSZWYgcGFnZSwgY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQoreworICAgIENHU2l6ZSBwZGZTaXplID0gQ0dQREZQYWdlR2V0Qm94UmVjdChw
YWdlLCBrQ0dQREZNZWRpYUJveCkuc2l6ZTsKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVy
IHN0YXRlU2F2ZXIoY29udGV4dCk7CisgICAgZml0Q29udGV4dFRvQm94KGNvbnRleHQsIEZsb2F0
U2l6ZShwZGZTaXplKSwgcmVjdC5zaXplKCkpOworCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RN
KGNvbnRleHQucGxhdGZvcm1Db250ZXh0KCksIDAsIHBkZlNpemUuaGVpZ2h0KTsKKyAgICBDR0Nv
bnRleHRTY2FsZUNUTShjb250ZXh0LnBsYXRmb3JtQ29udGV4dCgpLCAxLCAtMSk7CisKKyAgICBD
R0NvbnRleHREcmF3UERGUGFnZShjb250ZXh0LnBsYXRmb3JtQ29udGV4dCgpLCBwYWdlKTsKK307
CisKKyNlbmRpZgorCiB2b2lkIFRoZW1lQ29jb2E6OmRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3Qp
IGNvbnN0CiB7Ci0gICAgLy8gV2Ugb25seSBoYW5kbGUgb25lIGljb24gYXQgdGhlIG1vbWVudC4K
ICAgICBpZiAobmFtZSA9PSAid2lyZWxlc3MtcGxheWJhY2siKSB7CiAgICAgICAgIEdyYXBoaWNz
Q29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKICAgICAgICAgY29udGV4dC5z
ZXRGaWxsQ29sb3IoQ29sb3I6OmJsYWNrKTsKQEAgLTg4LDggKzE1NiwyMCBAQCB2b2lkIFRoZW1l
Q29jb2E6OmRyYXdOYW1lZEltYWdlKGNvbnN0IFN0cmluZyYgbmFtZSwgR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjbwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvVGhlbWVDb2NvYURyYXdOYW1l
ZEltYWdlLm1tPgorI2lmIEVOQUJMRShBUFBMRV9QQVkpCisgICAgaWYgKG5hbWUgPT0gImFwcGxl
LXBheS1sb2dvLWJsYWNrIikgeworICAgICAgICBpZiAoYXV0byBsb2dvID0gYXBwbGVQYXlCdXR0
b25Mb2dvQmxhY2soKSkgeworICAgICAgICAgICAgZHJhd0FwcGxlUGF5QnV0dG9uKGNvbnRleHQs
IGxvZ28sIHJlY3QpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKG5hbWUgPT0gImFwcGxlLXBheS1sb2dvLXdoaXRlIikgeworICAgICAgICBpZiAoYXV0
byBsb2dvID0gYXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUoKSkgeworICAgICAgICAgICAgZHJhd0Fw
cGxlUGF5QnV0dG9uKGNvbnRleHQsIGxvZ28sIHJlY3QpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQogI2VuZGlmCiAKICAgICBUaGVtZTo6ZHJhd05hbWVkSW1hZ2UobmFt
ZSwgY29udGV4dCwgcmVjdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281858</attachid>
            <date>2016-06-22 12:24:00 -0700</date>
            <delta_ts>2016-06-22 12:28:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159032-20160622122351.patch</filename>
            <type>text/plain</type>
            <size>11775</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBhMTBjZGI2ZjU1YTU2
M2U5N2U0NDMzZjJhMjhjNTEwYzRlY2Y2MC4uOWY0NDk5Y2M2NjUyOGMwODE3OTFkMWM0OTEzZjJm
NmU5YzUzNWU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA2LTIyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5saW5lIHRoZSBs
YXN0IG9mIHRoZSBBcHBsZSBQYXkgV2ViQ29yZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZmlsbFdpdGhFbXB0eUNsaWVudHMpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6TWFpbkZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL01haW5GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6cGFzc0tpdEJ1bmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2FkUGFzc0tpdFBE
RlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvQmxhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6ZHJhd0FwcGxlUGF5QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQ29jb2E6OmRy
YXdOYW1lZEltYWdlKToKKworMjAxNi0wNi0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIEV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gc2hpcHBp
bmcgbWV0aG9kIGlzIGFuIGludmFsaWQgYW1vdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzAKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjY3
MDA0MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggMTk4YWNhY2Jk
NTliOTJmMzFjZDI0ZTIzZjJlZTIxNzk4MWI2ODg2ZS4uZGI1Njk5ODA0MmY3M2NjYjY2YzM5ZmYw
ZDRlMDU3Mzk0OTYyNmM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
QEAgLTQ3LDEyICs0NywyOSBAQAogI2luY2x1ZGUgIlVzZXJDb250ZW50UHJvdmlkZXIuaCIKICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0VtcHR5Q2xpZW50c0luY2x1ZGVzLmg+Cisj
aWYgRU5BQkxFKEFQUExFX1BBWSkKKyNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQu
aCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQorY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgZmluYWwgOiBwdWJsaWMgUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKKyAgICBib29sIHN1cHBvcnRzVmVyc2lvbih1bnNpZ25l
ZCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGNhbk1ha2VQYXltZW50cygp
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRo
QWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGUgeyBjYWxsT25NYWluVGhyZWFk
KFtjb21wbGV0aW9uSGFuZGxlcl0geyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9Cisg
ICAgdm9pZCBzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiwgY29u
c3QgUGF5bWVudFJlcXVlc3QmKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGNvbXBsZXRlTWVyY2hh
bnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Npb24mKSBvdmVycmlkZSB7IH0K
KworICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cywgT3B0aW9uYWw8UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1z
Pikgb3ZlcnJpZGUgeyB9CisgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlv
bihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cywgY29uc3QgVmVjdG9yPFBheW1lbnRSZXF1ZXN0
OjpTaGlwcGluZ01ldGhvZD4mLCBPcHRpb25hbDxQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5l
SXRlbXM+KSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVj
dGlvbihPcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+
KSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oUGF5bWVudEF1
dGhvcml6YXRpb25TdGF0dXMpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgYWJvcnRQYXltZW50U2Vz
c2lvbigpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgbWFpbkZyYW1lRGVzdHJveWVkKCkgb3ZlcnJp
ZGUgeyB9Cit9OworI2VuZGlmCisKIGNsYXNzIEVtcHR5RGF0YWJhc2VQcm92aWRlciBmaW5hbCA6
IHB1YmxpYyBEYXRhYmFzZVByb3ZpZGVyIHsKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICB2aXJ0dWFsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBpZGJDb25uZWN0
aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNvbnN0IFNlc3Npb25JRCYpCkBAIC0xMjAsNiArMTM3LDEx
IEBAIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZpZ3VyYXRpb24mIHBhZ2VDb25m
aWd1cmF0aW9uKQogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUNocm9tZUNsaWVudD4g
ZHVtbXlDaHJvbWVDbGllbnQ7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0g
JmR1bW15Q2hyb21lQ2xpZW50LmdldCgpOwogCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKyAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ+IGR1bW15
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OworICAgIHBhZ2VDb25maWd1cmF0aW9uLnBheW1lbnRD
b29yZGluYXRvckNsaWVudCA9ICZkdW1teVBheW1lbnRDb29yZGluYXRvckNsaWVudC5nZXQoKTsK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEVtcHR5Q29udGV4dE1lbnVDbGllbnQ+IGR1bW15Q29udGV4dE1lbnVDbGllbnQ7CiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24uY29udGV4dE1lbnVDbGllbnQgPSAmZHVtbXlDb250ZXh0TWVu
dUNsaWVudC5nZXQoKTsKQEAgLTE0NiwxMCArMTY4LDYgQEAgdm9pZCBmaWxsV2l0aEVtcHR5Q2xp
ZW50cyhQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyID0gYWRvcHRSZWYobmV3IEVtcHR5U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi51c2VyQ29udGVu
dFByb3ZpZGVyID0gYWRvcHRSZWYobmV3IEVtcHR5VXNlckNvbnRlbnRQcm92aWRlcik7CiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24udmlzaXRlZExpbmtTdG9yZSA9IGFkb3B0UmVmKG5ldyBFbXB0eVZp
c2l0ZWRMaW5rU3RvcmUpOwotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRl
IDxXZWJLaXRBZGRpdGlvbnMvRW1wdHlDbGllbnRzRmlsbC5jcHA+Ci0jZW5kaWYKIH0KIAogY2xh
c3MgRW1wdHlQb3B1cE1lbnUgOiBwdWJsaWMgUG9wdXBNZW51IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZy
YW1lLmNwcAppbmRleCA2ZGYyOTY1NTNlMzhhNWIxZTM1MGFmZDNiMWViNTVkZWViZTY1ZWQ4Li44
OWFlNzdkMDFjYjAzM2Y5ODAxZjY3NWI2ZjY0OTA5ODcyOTc1NTZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
YWluRnJhbWUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRW1wdHlDbGllbnRzLmgi
CiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJT
Y3JvbGxMYXRjaGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50RGVsdGFGaWx0ZXIuaCIKQEAgLTM3LDEwICszOCw2IEBACiAKICNpZiBQTEFURk9S
TShNQUMpCiAjaW5jbHVkZSAiU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIgotI2VuZGlmIC8q
IFBMQVRGT1JNKE1BQykgKi8KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVk
ZSA8V2ViS2l0QWRkaXRpb25zL01haW5GcmFtZUluY2x1ZGVzLmg+CiAjZW5kaWYKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDgsMTcgKzQ1LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGlu
bGluZSBNYWluRnJhbWU6Ok1haW5GcmFtZShQYWdlJiBwYWdlLCBQYWdlQ29uZmlndXJhdGlvbiYg
Y29uZmlndXJhdGlvbikKICAgICA6IEZyYW1lKHBhZ2UsIG51bGxwdHIsICpjb25maWd1cmF0aW9u
LmxvYWRlckNsaWVudEZvck1haW5GcmFtZSkKICAgICAsIG1fc2VsZk9ubHlSZWZDb3VudCgwKQot
I2lmIFBMQVRGT1JNKE1BQykKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykgfHwgRU5BQkxF
KFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgKEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKSB8fCBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
KQogICAgICwgbV9zZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyKHN0ZDo6bWFrZV91bmlxdWU8U2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcj4oKnRoaXMpKQogI2VuZGlmCi0jZW5kaWYKICAgICAsIG1f
cmVjZW50V2hlZWxFdmVudERlbHRhRmlsdGVyKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6Y3JlYXRl
KCkpCiAgICAgLCBtX3BhZ2VPdmVybGF5Q29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VP
dmVybGF5Q29udHJvbGxlcj4oKnRoaXMpKQotewotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
Ci0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01haW5GcmFtZUluaXRpYWxpemF0aW9uLmNwcD4K
KyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgICwgbV9wYXltZW50Q29vcmRpbmF0b3Ioc3RkOjpt
YWtlX3VuaXF1ZTxQYXltZW50Q29vcmRpbmF0b3I+KCpjb25maWd1cmF0aW9uLnBheW1lbnRDb29y
ZGluYXRvckNsaWVudCkpCiAjZW5kaWYKK3sKIH0KIAogTWFpbkZyYW1lOjp+TWFpbkZyYW1lKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01haW5GcmFtZS5oCmluZGV4IGNhNWQwOTBiOGM1MjM1ZGJlNzI4YzJlMTU2M2Ex
NGFhNmJlOGEyY2QuLjdmYzFiOTVlNDkzODdlMDFiMDFlZDlmZTc5MjE0NGU3Y2Y3M2NhZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuaApAQCAtNjMsOCArNjMsOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCByZW1vdmVMYXRjaGluZ1N0YXRlRm9yVGFyZ2V0KEVsZW1lbnQmKTsKICNlbmRpZiAvLyBQTEFU
Rk9STShNQUMpCiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktp
dEFkZGl0aW9ucy9NYWluRnJhbWVNZW1iZXJzLmg+CisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKyAg
ICBQYXltZW50Q29vcmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0IHsgcmV0dXJu
ICptX3BheW1lbnRDb29yZGluYXRvcjsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC04Myw2ICs4
MywxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdoZWVsRXZlbnREZWx0YUZp
bHRlcj4gbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFGaWx0ZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFBhZ2VPdmVybGF5Q29udHJvbGxlcj4gbV9wYWdlT3ZlcmxheUNvbnRyb2xsZXI7CisKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxQYXltZW50Q29vcmRpbmF0b3I+
IG1fcGF5bWVudENvb3JkaW5hdG9yOworI2VuZGlmCiB9OwogCiBpbmxpbmUgYm9vbCBGcmFtZTo6
aXNNYWluRnJhbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CmluZGV4IDA1ODJhZDhjMGE4YTVlNmNjYWRiZWU0NTM5MjI4OGZkNTI5NWNhNWQuLjcyODQxMzEz
ZTQ0ZWYyNzlmYWI5M2QzOWIzYWIxYjExMmUyZmRiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmgKQEAgLTI5LDEwICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1BhZ2VDb25maWd1cmF0aW9uSW5jbHVk
ZXMuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFsdGVybmF0aXZl
VGV4dENsaWVudDsKQEAgLTQ1LDYgKzQxLDcgQEAgY2xhc3MgRHJhZ0NsaWVudDsKIGNsYXNzIEVk
aXRvckNsaWVudDsKIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yQ2xp
ZW50OworY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OwogY2xhc3MgUGx1Z0luQ2xpZW50
OwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OwogY2xhc3MgU29ja2V0UHJvdmlkZXI7CkBA
IC03Miw2ICs2OSwxMCBAQCBwdWJsaWM6CiAgICAgVW5pcXVlUmVmPFNvY2tldFByb3ZpZGVyPiBz
b2NrZXRQcm92aWRlcjsKICAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50IHsgbnVsbHB0ciB9Owog
ICAgIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9OworI2lmIEVO
QUJMRShBUFBMRV9QQVkpCisgICAgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KiBwYXltZW50Q29v
cmRpbmF0b3JDbGllbnQgeyBudWxscHRyIH07CisjZW5kaWYKKwogICAgIFBsdWdJbkNsaWVudCog
cGx1Z0luQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFByb2dyZXNzVHJhY2tlckNsaWVudCogcHJv
Z3Jlc3NUcmFja2VyQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFJlZlB0cjxCYWNrRm9yd2FyZENs
aWVudD4gYmFja0ZvcndhcmRDbGllbnQ7CkBAIC03OSwxMCArODAsNiBAQCBwdWJsaWM6CiAgICAg
RnJhbWVMb2FkZXJDbGllbnQqIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSB7IG51bGxwdHIgfTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ+IGRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50IHsgbnVsbHB0ciB9OwogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
LSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUGFnZUNvbmZpZ3VyYXRpb25NZW1iZXJzLmg+Ci0j
ZW5kaWYKLQogICAgIFJlZlB0cjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gYXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U7CiAgICAgUmVmUHRyPERhdGFiYXNlUHJvdmlkZXI+IGRhdGFiYXNlUHJvdmlk
ZXI7CiAgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gc3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVGhl
bWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EubW0K
aW5kZXggMGQ4MTI1MDVjNThiMzgwNmVjZmY3N2I0N2FlYzVjZWE5ZDk4MGE5OC4uY2FiNTgyNDhk
MmRhMDUxMTI1OGYzMzU4ZTUxMzRmOTYxODRmOTJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tCkBAIC01Myw5ICs1Myw3NyBAQCBzdGF0aWMgdm9pZCBm
aXRDb250ZXh0VG9Cb3goR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFNpemUm
IHNyY0ltYWdlUwogICAgIGNvbnRleHQuc2NhbGUoRmxvYXRTaXplKHNjYWxlLCBzY2FsZSkpOwog
fQogCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKK3N0YXRpYyBOU0J1bmRsZSAqcGFzc0tpdEJ1bmRs
ZSgpCit7CisgICAgc3RhdGljIE5TQnVuZGxlICpwYXNzS2l0QnVuZGxlOworICAgIHN0YXRpYyBk
aXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOworICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwg
XnsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIHBhc3NLaXRCdW5kbGUgPSBbTlNCdW5kbGUg
YnVuZGxlV2l0aFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOkAiL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL1Bhc3NLaXQuZnJhbWV3b3JrIl1dOworI2Vsc2UKKyAgICAgICAgZGxv
cGVuKCIvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9QYXNzS2l0LmZyYW1ld29yay9QYXNzS2l0
IiwgUlRMRF9OT1cpOworICAgICAgICBwYXNzS2l0QnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZv
ckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250
cm9sbGVyIildOworI2VuZGlmCisgICAgfSk7CisKKyAgICByZXR1cm4gcGFzc0tpdEJ1bmRsZTsK
K30KKworc3RhdGljIFJldGFpblB0cjxDR1BERlBhZ2VSZWY+IGxvYWRQYXNzS2l0UERGUGFnZShO
U1N0cmluZyAqaW1hZ2VOYW1lKQoreworICAgIE5TVVJMICp1cmwgPSBbcGFzc0tpdEJ1bmRsZSgp
IFVSTEZvclJlc291cmNlOmltYWdlTmFtZSB3aXRoRXh0ZW5zaW9uOkAicGRmIl07CisgICAgaWYg
KCF1cmwpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byBkb2N1bWVudCA9IGFk
b3B0Q0YoQ0dQREZEb2N1bWVudENyZWF0ZVdpdGhVUkwoKENGVVJMUmVmKXVybCkpOworICAgIGlm
ICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFDR1BERkRv
Y3VtZW50R2V0TnVtYmVyT2ZQYWdlcyhkb2N1bWVudC5nZXQoKSkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIENHUERGRG9jdW1lbnRHZXRQYWdlKGRvY3VtZW50LmdldCgp
LCAxKTsKK307CisKK3N0YXRpYyBDR1BERlBhZ2VSZWYgYXBwbGVQYXlCdXR0b25Mb2dvQmxhY2so
KQoreworICAgIHN0YXRpYyBDR1BERlBhZ2VSZWYgbG9nb1BhZ2U7CisgICAgc3RhdGljIGRpc3Bh
dGNoX29uY2VfdCBvbmNlVG9rZW47CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewor
ICAgICAgICBsb2dvUGFnZSA9IGxvYWRQYXNzS2l0UERGUGFnZShAIlBheUJ1dHRvbkxvZ29CbGFj
ayIpLmxlYWtSZWYoKTsKKyAgICB9KTsKKworICAgIHJldHVybiBsb2dvUGFnZTsKK307CisKK3N0
YXRpYyBDR1BERlBhZ2VSZWYgYXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUoKQoreworICAgIHN0YXRp
YyBDR1BERlBhZ2VSZWYgbG9nb1BhZ2U7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
VG9rZW47CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeeworICAgICAgICBsb2dvUGFn
ZSA9IGxvYWRQYXNzS2l0UERGUGFnZShAIlBheUJ1dHRvbkxvZ29XaGl0ZSIpLmxlYWtSZWYoKTsK
KyAgICB9KTsKKworICAgIHJldHVybiBsb2dvUGFnZTsKK307CisKK3N0YXRpYyB2b2lkIGRyYXdB
cHBsZVBheUJ1dHRvbihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIENHUERGUGFnZVJlZiBwYWdl
LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgQ0dTaXplIHBkZlNpemUgPSBDR1BERlBh
Z2VHZXRCb3hSZWN0KHBhZ2UsIGtDR1BERk1lZGlhQm94KS5zaXplOworICAgIEdyYXBoaWNzQ29u
dGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKKyAgICBmaXRDb250ZXh0VG9Cb3go
Y29udGV4dCwgRmxvYXRTaXplKHBkZlNpemUpLCByZWN0LnNpemUoKSk7CisKKyAgICBDR0NvbnRl
eHRUcmFuc2xhdGVDVE0oY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgMCwgcGRmU2l6ZS5oZWln
aHQpOworICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRleHQucGxhdGZvcm1Db250ZXh0KCksIDEs
IC0xKTsKKworICAgIENHQ29udGV4dERyYXdQREZQYWdlKGNvbnRleHQucGxhdGZvcm1Db250ZXh0
KCksIHBhZ2UpOworfTsKKworI2VuZGlmCisKIHZvaWQgVGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1h
Z2UoY29uc3QgU3RyaW5nJiBuYW1lLCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICAvLyBXZSBvbmx5IGhhbmRsZSBvbmUgaWNvbiBh
dCB0aGUgbW9tZW50LgogICAgIGlmIChuYW1lID09ICJ3aXJlbGVzcy1wbGF5YmFjayIpIHsKICAg
ICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwogICAg
ICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2spOwpAQCAtODgsOCArMTU2LDIw
IEBAIHZvaWQgVGhlbWVDb2NvYTo6ZHJhd05hbWVkSW1hZ2UoY29uc3QgU3RyaW5nJiBuYW1lLCBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9UaGVt
ZUNvY29hRHJhd05hbWVkSW1hZ2UubW0+CisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKyAgICBpZiAo
bmFtZSA9PSAiYXBwbGUtcGF5LWxvZ28tYmxhY2siKSB7CisgICAgICAgIGlmIChhdXRvIGxvZ28g
PSBhcHBsZVBheUJ1dHRvbkxvZ29CbGFjaygpKSB7CisgICAgICAgICAgICBkcmF3QXBwbGVQYXlC
dXR0b24oY29udGV4dCwgbG9nbywgcmVjdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobmFtZSA9PSAiYXBwbGUtcGF5LWxvZ28td2hpdGUiKSB7Cisg
ICAgICAgIGlmIChhdXRvIGxvZ28gPSBhcHBsZVBheUJ1dHRvbkxvZ29XaGl0ZSgpKSB7CisgICAg
ICAgICAgICBkcmF3QXBwbGVQYXlCdXR0b24oY29udGV4dCwgbG9nbywgcmVjdCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CiAjZW5kaWYKIAogICAgIFRoZW1lOjpkcmF3
TmFtZWRJbWFnZShuYW1lLCBjb250ZXh0LCByZWN0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281859</attachid>
            <date>2016-06-22 12:28:06 -0700</date>
            <delta_ts>2016-06-22 12:39:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159032-20160622122757.patch</filename>
            <type>text/plain</type>
            <size>12494</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBhMTBjZGI2ZjU1YTU2
M2U5N2U0NDMzZjJhMjhjNTEwYzRlY2Y2MC4uOWY0NDk5Y2M2NjUyOGMwODE3OTFkMWM0OTEzZjJm
NmU5YzUzNWU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA2LTIyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5saW5lIHRoZSBs
YXN0IG9mIHRoZSBBcHBsZSBQYXkgV2ViQ29yZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZmlsbFdpdGhFbXB0eUNsaWVudHMpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6TWFpbkZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL01haW5GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6cGFzc0tpdEJ1bmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2FkUGFzc0tpdFBE
RlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvQmxhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6ZHJhd0FwcGxlUGF5QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQ29jb2E6OmRy
YXdOYW1lZEltYWdlKToKKworMjAxNi0wNi0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIEV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gc2hpcHBp
bmcgbWV0aG9kIGlzIGFuIGludmFsaWQgYW1vdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzAKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjY3
MDA0MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTY5NjVmMjAzYTdkNGY0ZTllOWJjZDA0NGNh
NWRhMDIwOWVkNGVlNC4uODcyZTAzZWFkODVmOGM5NjU4NmIxMmFlNzQxODJlOTA0YWQyNDhkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUsNiArNSw3IEBAIHNldF9wcm9wZXJ0eShESVJFQ1RP
UlkgLiBQUk9QRVJUWSBGT0xERVIgIldlYkNvcmUiKQogc2V0KFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9haXJwbGF5IgorICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2FwcGxlcGF5IgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2JhdHRlcnkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0Y2giCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDE5OGFjYWNiZDU5YjkyZjMx
Y2QyNGUyM2YyZWUyMTc5ODFiNjg4NmUuLjFiMzNhYzJjZWVjOTYzNDlkZjhjZTAxZmE1ZjY3MjMx
ZDUwZDYzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC00MSwx
OCArNDEsMzIgQEAKICNpbmNsdWRlICJJblByb2Nlc3NJREJTZXJ2ZXIuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VOYW1lc3BhY2UuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJVc2VyQ29udGVudFByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdl
YktpdEFkZGl0aW9ucy9FbXB0eUNsaWVudHNJbmNsdWRlcy5oPgotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVkpCitjbGFzcyBFbXB0eVBheW1lbnRD
b29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQg
eworICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQorICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25I
YW5kbGVyKSBvdmVycmlkZSB7IGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyXSB7
IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KKyAgICB2b2lkIHNob3dQYXltZW50VUko
Y29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBQYXltZW50UmVxdWVzdCYpIG92
ZXJyaWRlIHsgfQorICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgUGF5
bWVudE1lcmNoYW50U2Vzc2lvbiYpIG92ZXJyaWRlIHsgfQorCisgICAgdm9pZCBjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBPcHRpb25h
bDxQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+KSBvdmVycmlkZSB7IH0KKyAgICB2
b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzLCBjb25zdCBWZWN0b3I8UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYsIE9w
dGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIG92ZXJyaWRlIHsgfQor
ICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6
OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIG92ZXJyaWRlIHsgfQorICAgIHZv
aWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cykgb3Zl
cnJpZGUgeyB9CisgICAgdm9pZCBhYm9ydFBheW1lbnRTZXNzaW9uKCkgb3ZlcnJpZGUgeyB9Cisg
ICAgdm9pZCBtYWluRnJhbWVEZXN0cm95ZWQoKSBvdmVycmlkZSB7IH0KK307CisjZW5kaWYKKwog
Y2xhc3MgRW1wdHlEYXRhYmFzZVByb3ZpZGVyIGZpbmFsIDogcHVibGljIERhdGFiYXNlUHJvdmlk
ZXIgewogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24o
Y29uc3QgU2Vzc2lvbklEJikKQEAgLTEyMCw2ICsxMzQsMTEgQEAgdm9pZCBmaWxsV2l0aEVtcHR5
Q2xpZW50cyhQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSAmZHVtbXlDaHJvbWVDbGllbnQuZ2V0
KCk7CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxF
bXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudD4gZHVtbXlQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24ucGF5bWVudENvb3JkaW5hdG9yQ2xpZW50ID0gJmR1
bW15UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmdldCgpOworI2VuZGlmCisKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDb250ZXh0TWVu
dUNsaWVudD4gZHVtbXlDb250ZXh0TWVudUNsaWVudDsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5j
b250ZXh0TWVudUNsaWVudCA9ICZkdW1teUNvbnRleHRNZW51Q2xpZW50LmdldCgpOwpAQCAtMTQ2
LDEwICsxNjUsNiBAQCB2b2lkIGZpbGxXaXRoRW1wdHlDbGllbnRzKFBhZ2VDb25maWd1cmF0aW9u
JiBwYWdlQ29uZmlndXJhdGlvbikKICAgICBwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXIgPSBhZG9wdFJlZihuZXcgRW1wdHlTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIp
OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnVzZXJDb250ZW50UHJvdmlkZXIgPSBhZG9wdFJlZihu
ZXcgRW1wdHlVc2VyQ29udGVudFByb3ZpZGVyKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi52aXNp
dGVkTGlua1N0b3JlID0gYWRvcHRSZWYobmV3IEVtcHR5VmlzaXRlZExpbmtTdG9yZSk7Ci0KLSNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9FbXB0
eUNsaWVudHNGaWxsLmNwcD4KLSNlbmRpZgogfQogCiBjbGFzcyBFbXB0eVBvcHVwTWVudSA6IHB1
YmxpYyBQb3B1cE1lbnUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJh
bWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDZkZjI5NjU1
M2UzOGE1YjFlMzUwYWZkM2IxZWI1NWRlZWJlNjVlZDguLjg5YWU3N2QwMWNiMDMzZjk4MDFmNjc1
YjZmNjQ5MDk4NzI5NzU1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZy
YW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgorI2luY2x1ZGUg
IlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNjcm9sbExhdGNoaW5nU3RhdGUuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnREZWx0YUZpbHRlci5o
IgpAQCAtMzcsMTAgKzM4LDYgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLmgiCi0jZW5kaWYgLyogUExBVEZPUk0oTUFDKSAqLwotCi0j
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvTWFp
bkZyYW1lSW5jbHVkZXMuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OCwx
NyArNDUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5lIE1haW5GcmFtZTo6TWFpbkZy
YW1lKFBhZ2UmIHBhZ2UsIFBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIDog
RnJhbWUocGFnZSwgbnVsbHB0ciwgKmNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZy
YW1lKQogICAgICwgbV9zZWxmT25seVJlZkNvdW50KDApCi0jaWYgUExBVEZPUk0oTUFDKQotI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKSB8fCBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pCisjaWYgUExBVEZPUk0oTUFDKSAmJiAoRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpIHx8
IEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikpCiAgICAgLCBtX3NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
PigqdGhpcykpCiAjZW5kaWYKLSNlbmRpZgogICAgICwgbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFG
aWx0ZXIoV2hlZWxFdmVudERlbHRhRmlsdGVyOjpjcmVhdGUoKSkKICAgICAsIG1fcGFnZU92ZXJs
YXlDb250cm9sbGVyKHN0ZDo6bWFrZV91bmlxdWU8UGFnZU92ZXJsYXlDb250cm9sbGVyPigqdGhp
cykpCi17Ci0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRp
dGlvbnMvTWFpbkZyYW1lSW5pdGlhbGl6YXRpb24uY3BwPgorI2lmIEVOQUJMRShBUFBMRV9QQVkp
CisgICAgLCBtX3BheW1lbnRDb29yZGluYXRvcihzdGQ6Om1ha2VfdW5pcXVlPFBheW1lbnRDb29y
ZGluYXRvcj4oKmNvbmZpZ3VyYXRpb24ucGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KSkKICNlbmRp
ZgorewogfQogCiBNYWluRnJhbWU6On5NYWluRnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgK
aW5kZXggY2E1ZDA5MGI4YzUyMzVkYmU3MjhjMmUxNTYzYTE0YWE2YmU4YTJjZC4uN2ZjMWI5NWU0
OTM4N2UwMWIwMWVkOWZlNzkyMTQ0ZTdjZjczY2FmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5o
CkBAIC02Myw4ICs2Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUxhdGNoaW5nU3RhdGVG
b3JUYXJnZXQoRWxlbWVudCYpOwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01haW5GcmFtZU1l
bWJlcnMuaD4KKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIFBheW1lbnRDb29yZGluYXRvciYg
cGF5bWVudENvb3JkaW5hdG9yKCkgY29uc3QgeyByZXR1cm4gKm1fcGF5bWVudENvb3JkaW5hdG9y
OyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTgzLDYgKzgzLDEwIEBAIHByaXZhdGU6CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2hlZWxFdmVudERlbHRhRmlsdGVyPiBtX3JlY2VudFdoZWVsRXZl
bnREZWx0YUZpbHRlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFnZU92ZXJsYXlDb250cm9sbGVy
PiBtX3BhZ2VPdmVybGF5Q29udHJvbGxlcjsKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisgICAg
c3RkOjp1bmlxdWVfcHRyPFBheW1lbnRDb29yZGluYXRvcj4gbV9wYXltZW50Q29vcmRpbmF0b3I7
CisjZW5kaWYKIH07CiAKIGlubGluZSBib29sIEZyYW1lOjppc01haW5GcmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMDU4MmFkOGMwYThhNWU2
Y2NhZGJlZTQ1MzkyMjg4ZmQ1Mjk1Y2E1ZC4uNzI4NDEzMTNlNDRlZjI3OWZhYjkzZDM5YjNhYjFi
MTEyZTJmZGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAt
MjksMTAgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Vu
aXF1ZVJlZi5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJL
aXRBZGRpdGlvbnMvUGFnZUNvbmZpZ3VyYXRpb25JbmNsdWRlcy5oPgotI2VuZGlmCi0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwpAQCAtNDUsNiAr
NDEsNyBAQCBjbGFzcyBEcmFnQ2xpZW50OwogY2xhc3MgRWRpdG9yQ2xpZW50OwogY2xhc3MgRnJh
bWVMb2FkZXJDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CitjbGFzcyBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFzcyBQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTcyLDYgKzY5LDEwIEBAIHB1Ymxp
YzoKICAgICBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+IHNvY2tldFByb3ZpZGVyOwogICAgIERy
YWdDbGllbnQqIGRyYWdDbGllbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDbGllbnQgeyBudWxscHRyIH07CisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKyAgICBQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQqIHBheW1lbnRDb29yZGluYXRvckNsaWVudCB7IG51bGxw
dHIgfTsKKyNlbmRpZgorCiAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQgeyBudWxscHRy
IH07CiAgICAgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KiBwcm9ncmVzc1RyYWNrZXJDbGllbnQgeyBu
dWxscHRyIH07CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkQ2xpZW50PiBiYWNrRm9yd2FyZENsaWVu
dDsKQEAgLTc5LDEwICs4MCw2IEBAIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlckNsaWVudCogbG9h
ZGVyQ2xpZW50Rm9yTWFpbkZyYW1lIHsgbnVsbHB0ciB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudD4gZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgeyBudWxscHRy
IH07CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9QYWdlQ29uZmlndXJhdGlvbk1lbWJlcnMuaD4KLSNlbmRpZgotCiAgICAgUmVmUHRyPEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICAgICBSZWZQ
dHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRlcjsKICAgICBSZWZQdHI8U3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5tbQppbmRleCAwZDgxMjUwNWM1OGIzODA2
ZWNmZjc3YjQ3YWVjNWNlYTlkOTgwYTk4Li5jYWI1ODI0OGQyZGEwNTExMjU4ZjMzNThlNTEzNGY5
NjE4NGY5MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVt
ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2Eu
bW0KQEAgLTUzLDkgKzUzLDc3IEBAIHN0YXRpYyB2b2lkIGZpdENvbnRleHRUb0JveChHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTCiAgICAgY29udGV4
dC5zY2FsZShGbG9hdFNpemUoc2NhbGUsIHNjYWxlKSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZKQorc3RhdGljIE5TQnVuZGxlICpwYXNzS2l0QnVuZGxlKCkKK3sKKyAgICBzdGF0aWMgTlNC
dW5kbGUgKnBhc3NLaXRCdW5kbGU7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9r
ZW47CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeeworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICAgICAgcGFzc0tpdEJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoVVJMOltOU1VSTCBm
aWxlVVJMV2l0aFBhdGg6QCIvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUGFzc0tp
dC5mcmFtZXdvcmsiXV07CisjZWxzZQorICAgICAgICBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1Bhc3NLaXQuZnJhbWV3b3JrL1Bhc3NLaXQiLCBSVExEX05PVyk7CisgICAgICAg
IHBhc3NLaXRCdW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJp
bmcoQCJQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIiKV07CisjZW5kaWYKKyAg
ICB9KTsKKworICAgIHJldHVybiBwYXNzS2l0QnVuZGxlOworfQorCitzdGF0aWMgUmV0YWluUHRy
PENHUERGUGFnZVJlZj4gbG9hZFBhc3NLaXRQREZQYWdlKE5TU3RyaW5nICppbWFnZU5hbWUpCit7
CisgICAgTlNVUkwgKnVybCA9IFtwYXNzS2l0QnVuZGxlKCkgVVJMRm9yUmVzb3VyY2U6aW1hZ2VO
YW1lIHdpdGhFeHRlbnNpb246QCJwZGYiXTsKKyAgICBpZiAoIXVybCkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBhdXRvIGRvY3VtZW50ID0gYWRvcHRDRihDR1BERkRvY3VtZW50Q3Jl
YXRlV2l0aFVSTCgoQ0ZVUkxSZWYpdXJsKSk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoIUNHUERGRG9jdW1lbnRHZXROdW1iZXJPZlBhZ2Vz
KGRvY3VtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4g
Q0dQREZEb2N1bWVudEdldFBhZ2UoZG9jdW1lbnQuZ2V0KCksIDEpOworfTsKKworc3RhdGljIENH
UERGUGFnZVJlZiBhcHBsZVBheUJ1dHRvbkxvZ29CbGFjaygpCit7CisgICAgc3RhdGljIENHUERG
UGFnZVJlZiBsb2dvUGFnZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsK
KyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGxvZ29QYWdlID0gbG9h
ZFBhc3NLaXRQREZQYWdlKEAiUGF5QnV0dG9uTG9nb0JsYWNrIikubGVha1JlZigpOworICAgIH0p
OworCisgICAgcmV0dXJuIGxvZ29QYWdlOworfTsKKworc3RhdGljIENHUERGUGFnZVJlZiBhcHBs
ZVBheUJ1dHRvbkxvZ29XaGl0ZSgpCit7CisgICAgc3RhdGljIENHUERGUGFnZVJlZiBsb2dvUGFn
ZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKKyAgICBkaXNwYXRjaF9v
bmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGxvZ29QYWdlID0gbG9hZFBhc3NLaXRQREZQYWdl
KEAiUGF5QnV0dG9uTG9nb1doaXRlIikubGVha1JlZigpOworICAgIH0pOworCisgICAgcmV0dXJu
IGxvZ29QYWdlOworfTsKKworc3RhdGljIHZvaWQgZHJhd0FwcGxlUGF5QnV0dG9uKEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgQ0dQREZQYWdlUmVmIHBhZ2UsIGNvbnN0IEZsb2F0UmVjdCYgcmVj
dCkKK3sKKyAgICBDR1NpemUgcGRmU2l6ZSA9IENHUERGUGFnZUdldEJveFJlY3QocGFnZSwga0NH
UERGTWVkaWFCb3gpLnNpemU7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNh
dmVyKGNvbnRleHQpOworICAgIGZpdENvbnRleHRUb0JveChjb250ZXh0LCBGbG9hdFNpemUocGRm
U2l6ZSksIHJlY3Quc2l6ZSgpKTsKKworICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0
LnBsYXRmb3JtQ29udGV4dCgpLCAwLCBwZGZTaXplLmhlaWdodCk7CisgICAgQ0dDb250ZXh0U2Nh
bGVDVE0oY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgMSwgLTEpOworCisgICAgQ0dDb250ZXh0
RHJhd1BERlBhZ2UoY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgcGFnZSk7Cit9OworCisjZW5k
aWYKKwogdm9pZCBUaGVtZUNvY29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAog
ewotICAgIC8vIFdlIG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCiAgICAgaWYg
KG5hbWUgPT0gIndpcmVsZXNzLXBsYXliYWNrIikgewogICAgICAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7CiAgICAgICAgIGNvbnRleHQuc2V0RmlsbENv
bG9yKENvbG9yOjpibGFjayk7CkBAIC04OCw4ICsxNTYsMjAgQEAgdm9pZCBUaGVtZUNvY29hOjpk
cmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCwgY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1RoZW1lQ29jb2FEcmF3TmFtZWRJbWFnZS5t
bT4KKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIGlmIChuYW1lID09ICJhcHBsZS1wYXktbG9n
by1ibGFjayIpIHsKKyAgICAgICAgaWYgKGF1dG8gbG9nbyA9IGFwcGxlUGF5QnV0dG9uTG9nb0Js
YWNrKCkpIHsKKyAgICAgICAgICAgIGRyYXdBcHBsZVBheUJ1dHRvbihjb250ZXh0LCBsb2dvLCBy
ZWN0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChu
YW1lID09ICJhcHBsZS1wYXktbG9nby13aGl0ZSIpIHsKKyAgICAgICAgaWYgKGF1dG8gbG9nbyA9
IGFwcGxlUGF5QnV0dG9uTG9nb1doaXRlKCkpIHsKKyAgICAgICAgICAgIGRyYXdBcHBsZVBheUJ1
dHRvbihjb250ZXh0LCBsb2dvLCByZWN0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgIH0KICNlbmRpZgogCiAgICAgVGhlbWU6OmRyYXdOYW1lZEltYWdlKG5hbWUsIGNvbnRl
eHQsIHJlY3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281862</attachid>
            <date>2016-06-22 12:39:10 -0700</date>
            <delta_ts>2016-06-22 12:58:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159032-20160622123902.patch</filename>
            <type>text/plain</type>
            <size>12494</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBhMTBjZGI2ZjU1YTU2
M2U5N2U0NDMzZjJhMjhjNTEwYzRlY2Y2MC4uOWY0NDk5Y2M2NjUyOGMwODE3OTFkMWM0OTEzZjJm
NmU5YzUzNWU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA2LTIyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5saW5lIHRoZSBs
YXN0IG9mIHRoZSBBcHBsZSBQYXkgV2ViQ29yZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZmlsbFdpdGhFbXB0eUNsaWVudHMpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6TWFpbkZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL01haW5GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6cGFzc0tpdEJ1bmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2FkUGFzc0tpdFBE
RlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvQmxhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6YXBwbGVQYXlCdXR0b25Mb2dvV2hpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6ZHJhd0FwcGxlUGF5QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQ29jb2E6OmRy
YXdOYW1lZEltYWdlKToKKworMjAxNi0wNi0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIEV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gc2hpcHBp
bmcgbWV0aG9kIGlzIGFuIGludmFsaWQgYW1vdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkwMzAKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjY3
MDA0MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTY5NjVmMjAzYTdkNGY0ZTllOWJjZDA0NGNh
NWRhMDIwOWVkNGVlNC4uODcyZTAzZWFkODVmOGM5NjU4NmIxMmFlNzQxODJlOTA0YWQyNDhkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUsNiArNSw3IEBAIHNldF9wcm9wZXJ0eShESVJFQ1RP
UlkgLiBQUk9QRVJUWSBGT0xERVIgIldlYkNvcmUiKQogc2V0KFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9haXJwbGF5IgorICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2FwcGxlcGF5IgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2JhdHRlcnkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0Y2giCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDE5OGFjYWNiZDU5YjkyZjMx
Y2QyNGUyM2YyZWUyMTc5ODFiNjg4NmUuLjFiMzNhYzJjZWVjOTYzNDlkZjhjZTAxZmE1ZjY3MjMx
ZDUwZDYzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC00MSwx
OCArNDEsMzIgQEAKICNpbmNsdWRlICJJblByb2Nlc3NJREJTZXJ2ZXIuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VOYW1lc3BhY2UuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJVc2VyQ29udGVudFByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdl
YktpdEFkZGl0aW9ucy9FbXB0eUNsaWVudHNJbmNsdWRlcy5oPgotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVkpCitjbGFzcyBFbXB0eVBheW1lbnRD
b29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQg
eworICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQorICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25I
YW5kbGVyKSBvdmVycmlkZSB7IGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyXSB7
IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KKyAgICB2b2lkIHNob3dQYXltZW50VUko
Y29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBQYXltZW50UmVxdWVzdCYpIG92
ZXJyaWRlIHsgfQorICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgUGF5
bWVudE1lcmNoYW50U2Vzc2lvbiYpIG92ZXJyaWRlIHsgfQorCisgICAgdm9pZCBjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBPcHRpb25h
bDxQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+KSBvdmVycmlkZSB7IH0KKyAgICB2
b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzLCBjb25zdCBWZWN0b3I8UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYsIE9w
dGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIG92ZXJyaWRlIHsgfQor
ICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6
OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIG92ZXJyaWRlIHsgfQorICAgIHZv
aWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cykgb3Zl
cnJpZGUgeyB9CisgICAgdm9pZCBhYm9ydFBheW1lbnRTZXNzaW9uKCkgb3ZlcnJpZGUgeyB9Cisg
ICAgdm9pZCBtYWluRnJhbWVEZXN0cm95ZWQoKSBvdmVycmlkZSB7IH0KK307CisjZW5kaWYKKwog
Y2xhc3MgRW1wdHlEYXRhYmFzZVByb3ZpZGVyIGZpbmFsIDogcHVibGljIERhdGFiYXNlUHJvdmlk
ZXIgewogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24o
Y29uc3QgU2Vzc2lvbklEJikKQEAgLTEyMCw2ICsxMzQsMTEgQEAgdm9pZCBmaWxsV2l0aEVtcHR5
Q2xpZW50cyhQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSAmZHVtbXlDaHJvbWVDbGllbnQuZ2V0
KCk7CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxF
bXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudD4gZHVtbXlQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24ucGF5bWVudENvb3JkaW5hdG9yQ2xpZW50ID0gJmR1
bW15UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmdldCgpOworI2VuZGlmCisKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDb250ZXh0TWVu
dUNsaWVudD4gZHVtbXlDb250ZXh0TWVudUNsaWVudDsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5j
b250ZXh0TWVudUNsaWVudCA9ICZkdW1teUNvbnRleHRNZW51Q2xpZW50LmdldCgpOwpAQCAtMTQ2
LDEwICsxNjUsNiBAQCB2b2lkIGZpbGxXaXRoRW1wdHlDbGllbnRzKFBhZ2VDb25maWd1cmF0aW9u
JiBwYWdlQ29uZmlndXJhdGlvbikKICAgICBwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXIgPSBhZG9wdFJlZihuZXcgRW1wdHlTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIp
OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnVzZXJDb250ZW50UHJvdmlkZXIgPSBhZG9wdFJlZihu
ZXcgRW1wdHlVc2VyQ29udGVudFByb3ZpZGVyKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi52aXNp
dGVkTGlua1N0b3JlID0gYWRvcHRSZWYobmV3IEVtcHR5VmlzaXRlZExpbmtTdG9yZSk7Ci0KLSNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9FbXB0
eUNsaWVudHNGaWxsLmNwcD4KLSNlbmRpZgogfQogCiBjbGFzcyBFbXB0eVBvcHVwTWVudSA6IHB1
YmxpYyBQb3B1cE1lbnUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJh
bWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDZkZjI5NjU1
M2UzOGE1YjFlMzUwYWZkM2IxZWI1NWRlZWJlNjVlZDguLjg5YWU3N2QwMWNiMDMzZjk4MDFmNjc1
YjZmNjQ5MDk4NzI5NzU1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZy
YW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJFbXB0eUNsaWVudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgorI2luY2x1ZGUg
IlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNjcm9sbExhdGNoaW5nU3RhdGUuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnREZWx0YUZpbHRlci5o
IgpAQCAtMzcsMTAgKzM4LDYgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLmgiCi0jZW5kaWYgLyogUExBVEZPUk0oTUFDKSAqLwotCi0j
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvTWFp
bkZyYW1lSW5jbHVkZXMuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OCwx
NyArNDUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5lIE1haW5GcmFtZTo6TWFpbkZy
YW1lKFBhZ2UmIHBhZ2UsIFBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIDog
RnJhbWUocGFnZSwgbnVsbHB0ciwgKmNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZy
YW1lKQogICAgICwgbV9zZWxmT25seVJlZkNvdW50KDApCi0jaWYgUExBVEZPUk0oTUFDKQotI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKSB8fCBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pCisjaWYgUExBVEZPUk0oTUFDKSAmJiAoRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpIHx8
IEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikpCiAgICAgLCBtX3NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
PigqdGhpcykpCiAjZW5kaWYKLSNlbmRpZgogICAgICwgbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFG
aWx0ZXIoV2hlZWxFdmVudERlbHRhRmlsdGVyOjpjcmVhdGUoKSkKICAgICAsIG1fcGFnZU92ZXJs
YXlDb250cm9sbGVyKHN0ZDo6bWFrZV91bmlxdWU8UGFnZU92ZXJsYXlDb250cm9sbGVyPigqdGhp
cykpCi17Ci0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRp
dGlvbnMvTWFpbkZyYW1lSW5pdGlhbGl6YXRpb24uY3BwPgorI2lmIEVOQUJMRShBUFBMRV9QQVkp
CisgICAgLCBtX3BheW1lbnRDb29yZGluYXRvcihzdGQ6Om1ha2VfdW5pcXVlPFBheW1lbnRDb29y
ZGluYXRvcj4oKmNvbmZpZ3VyYXRpb24ucGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KSkKICNlbmRp
ZgorewogfQogCiBNYWluRnJhbWU6On5NYWluRnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgK
aW5kZXggY2E1ZDA5MGI4YzUyMzVkYmU3MjhjMmUxNTYzYTE0YWE2YmU4YTJjZC4uN2ZjMWI5NWU0
OTM4N2UwMWIwMWVkOWZlNzkyMTQ0ZTdjZjczY2FmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5o
CkBAIC02Myw4ICs2Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUxhdGNoaW5nU3RhdGVG
b3JUYXJnZXQoRWxlbWVudCYpOwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01haW5GcmFtZU1l
bWJlcnMuaD4KKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIFBheW1lbnRDb29yZGluYXRvciYg
cGF5bWVudENvb3JkaW5hdG9yKCkgY29uc3QgeyByZXR1cm4gKm1fcGF5bWVudENvb3JkaW5hdG9y
OyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTgzLDYgKzgzLDEwIEBAIHByaXZhdGU6CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2hlZWxFdmVudERlbHRhRmlsdGVyPiBtX3JlY2VudFdoZWVsRXZl
bnREZWx0YUZpbHRlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFnZU92ZXJsYXlDb250cm9sbGVy
PiBtX3BhZ2VPdmVybGF5Q29udHJvbGxlcjsKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisgICAg
c3RkOjp1bmlxdWVfcHRyPFBheW1lbnRDb29yZGluYXRvcj4gbV9wYXltZW50Q29vcmRpbmF0b3I7
CisjZW5kaWYKIH07CiAKIGlubGluZSBib29sIEZyYW1lOjppc01haW5GcmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMDU4MmFkOGMwYThhNWU2
Y2NhZGJlZTQ1MzkyMjg4ZmQ1Mjk1Y2E1ZC4uNzI4NDEzMTNlNDRlZjI3OWZhYjkzZDM5YjNhYjFi
MTEyZTJmZGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAt
MjksMTAgKzI5LDYgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Vu
aXF1ZVJlZi5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJL
aXRBZGRpdGlvbnMvUGFnZUNvbmZpZ3VyYXRpb25JbmNsdWRlcy5oPgotI2VuZGlmCi0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwpAQCAtNDUsNiAr
NDEsNyBAQCBjbGFzcyBEcmFnQ2xpZW50OwogY2xhc3MgRWRpdG9yQ2xpZW50OwogY2xhc3MgRnJh
bWVMb2FkZXJDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CitjbGFzcyBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFzcyBQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTcyLDYgKzY5LDEwIEBAIHB1Ymxp
YzoKICAgICBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+IHNvY2tldFByb3ZpZGVyOwogICAgIERy
YWdDbGllbnQqIGRyYWdDbGllbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDbGllbnQgeyBudWxscHRyIH07CisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKyAgICBQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQqIHBheW1lbnRDb29yZGluYXRvckNsaWVudCB7IG51bGxw
dHIgfTsKKyNlbmRpZgorCiAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQgeyBudWxscHRy
IH07CiAgICAgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KiBwcm9ncmVzc1RyYWNrZXJDbGllbnQgeyBu
dWxscHRyIH07CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkQ2xpZW50PiBiYWNrRm9yd2FyZENsaWVu
dDsKQEAgLTc5LDEwICs4MCw2IEBAIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlckNsaWVudCogbG9h
ZGVyQ2xpZW50Rm9yTWFpbkZyYW1lIHsgbnVsbHB0ciB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudD4gZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgeyBudWxscHRy
IH07CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9QYWdlQ29uZmlndXJhdGlvbk1lbWJlcnMuaD4KLSNlbmRpZgotCiAgICAgUmVmUHRyPEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICAgICBSZWZQ
dHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRlcjsKICAgICBSZWZQdHI8U3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvVGhlbWVDb2NvYS5tbQppbmRleCAwZDgxMjUwNWM1OGIzODA2
ZWNmZjc3YjQ3YWVjNWNlYTlkOTgwYTk4Li5jYWI1ODI0OGQyZGEwNTExMjU4ZjMzNThlNTEzNGY5
NjE4NGY5MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9UaGVt
ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2Eu
bW0KQEAgLTUzLDkgKzUzLDc3IEBAIHN0YXRpYyB2b2lkIGZpdENvbnRleHRUb0JveChHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0U2l6ZSYgc3JjSW1hZ2VTCiAgICAgY29udGV4
dC5zY2FsZShGbG9hdFNpemUoc2NhbGUsIHNjYWxlKSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZKQorc3RhdGljIE5TQnVuZGxlICpwYXNzS2l0QnVuZGxlKCkKK3sKKyAgICBzdGF0aWMgTlNC
dW5kbGUgKnBhc3NLaXRCdW5kbGU7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9r
ZW47CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeeworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICAgICAgcGFzc0tpdEJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoVVJMOltOU1VSTCBm
aWxlVVJMV2l0aFBhdGg6QCIvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUGFzc0tp
dC5mcmFtZXdvcmsiXV07CisjZWxzZQorICAgICAgICBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1Bhc3NLaXQuZnJhbWV3b3JrL1Bhc3NLaXQiLCBSVExEX05PVyk7CisgICAgICAg
IHBhc3NLaXRCdW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJp
bmcoQCJQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIiKV07CisjZW5kaWYKKyAg
ICB9KTsKKworICAgIHJldHVybiBwYXNzS2l0QnVuZGxlOworfQorCitzdGF0aWMgUmV0YWluUHRy
PENHUERGUGFnZVJlZj4gbG9hZFBhc3NLaXRQREZQYWdlKE5TU3RyaW5nICppbWFnZU5hbWUpCit7
CisgICAgTlNVUkwgKnVybCA9IFtwYXNzS2l0QnVuZGxlKCkgVVJMRm9yUmVzb3VyY2U6aW1hZ2VO
YW1lIHdpdGhFeHRlbnNpb246QCJwZGYiXTsKKyAgICBpZiAoIXVybCkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBhdXRvIGRvY3VtZW50ID0gYWRvcHRDRihDR1BERkRvY3VtZW50Q3Jl
YXRlV2l0aFVSTCgoQ0ZVUkxSZWYpdXJsKSk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoIUNHUERGRG9jdW1lbnRHZXROdW1iZXJPZlBhZ2Vz
KGRvY3VtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4g
Q0dQREZEb2N1bWVudEdldFBhZ2UoZG9jdW1lbnQuZ2V0KCksIDEpOworfTsKKworc3RhdGljIENH
UERGUGFnZVJlZiBhcHBsZVBheUJ1dHRvbkxvZ29CbGFjaygpCit7CisgICAgc3RhdGljIENHUERG
UGFnZVJlZiBsb2dvUGFnZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsK
KyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGxvZ29QYWdlID0gbG9h
ZFBhc3NLaXRQREZQYWdlKEAiUGF5QnV0dG9uTG9nb0JsYWNrIikubGVha1JlZigpOworICAgIH0p
OworCisgICAgcmV0dXJuIGxvZ29QYWdlOworfTsKKworc3RhdGljIENHUERGUGFnZVJlZiBhcHBs
ZVBheUJ1dHRvbkxvZ29XaGl0ZSgpCit7CisgICAgc3RhdGljIENHUERGUGFnZVJlZiBsb2dvUGFn
ZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKKyAgICBkaXNwYXRjaF9v
bmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGxvZ29QYWdlID0gbG9hZFBhc3NLaXRQREZQYWdl
KEAiUGF5QnV0dG9uTG9nb1doaXRlIikubGVha1JlZigpOworICAgIH0pOworCisgICAgcmV0dXJu
IGxvZ29QYWdlOworfTsKKworc3RhdGljIHZvaWQgZHJhd0FwcGxlUGF5QnV0dG9uKEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgQ0dQREZQYWdlUmVmIHBhZ2UsIGNvbnN0IEZsb2F0UmVjdCYgcmVj
dCkKK3sKKyAgICBDR1NpemUgcGRmU2l6ZSA9IENHUERGUGFnZUdldEJveFJlY3QocGFnZSwga0NH
UERGTWVkaWFCb3gpLnNpemU7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNh
dmVyKGNvbnRleHQpOworICAgIGZpdENvbnRleHRUb0JveChjb250ZXh0LCBGbG9hdFNpemUocGRm
U2l6ZSksIHJlY3Quc2l6ZSgpKTsKKworICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0
LnBsYXRmb3JtQ29udGV4dCgpLCAwLCBwZGZTaXplLmhlaWdodCk7CisgICAgQ0dDb250ZXh0U2Nh
bGVDVE0oY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgMSwgLTEpOworCisgICAgQ0dDb250ZXh0
RHJhd1BERlBhZ2UoY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgcGFnZSk7Cit9OworCisjZW5k
aWYKKwogdm9pZCBUaGVtZUNvY29hOjpkcmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAog
ewotICAgIC8vIFdlIG9ubHkgaGFuZGxlIG9uZSBpY29uIGF0IHRoZSBtb21lbnQuCiAgICAgaWYg
KG5hbWUgPT0gIndpcmVsZXNzLXBsYXliYWNrIikgewogICAgICAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7CiAgICAgICAgIGNvbnRleHQuc2V0RmlsbENv
bG9yKENvbG9yOjpibGFjayk7CkBAIC04OCw4ICsxNTYsMjAgQEAgdm9pZCBUaGVtZUNvY29hOjpk
cmF3TmFtZWRJbWFnZShjb25zdCBTdHJpbmcmIG5hbWUsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCwgY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1RoZW1lQ29jb2FEcmF3TmFtZWRJbWFnZS5t
bT4KKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorICAgIGlmIChuYW1lID09ICJhcHBsZS1wYXktbG9n
by1ibGFjayIpIHsKKyAgICAgICAgaWYgKGF1dG8gbG9nbyA9IGFwcGxlUGF5QnV0dG9uTG9nb0Js
YWNrKCkpIHsKKyAgICAgICAgICAgIGRyYXdBcHBsZVBheUJ1dHRvbihjb250ZXh0LCBsb2dvLCBy
ZWN0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChu
YW1lID09ICJhcHBsZS1wYXktbG9nby13aGl0ZSIpIHsKKyAgICAgICAgaWYgKGF1dG8gbG9nbyA9
IGFwcGxlUGF5QnV0dG9uTG9nb1doaXRlKCkpIHsKKyAgICAgICAgICAgIGRyYXdBcHBsZVBheUJ1
dHRvbihjb250ZXh0LCBsb2dvLCByZWN0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgIH0KICNlbmRpZgogCiAgICAgVGhlbWU6OmRyYXdOYW1lZEltYWdlKG5hbWUsIGNvbnRl
eHQsIHJlY3QpOwo=
</data>
<flag name="review"
          id="305687"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>