<?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>182510</bug_id>
          
          <creation_ts>2018-02-05 14:23:55 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderBlock::removeLeftoverAnonymousBlock to RenderTreeBuilder</short_desc>
          <delta_ts>2018-02-07 07:40:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1396545</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-05 14:23:55 -0800</bug_when>
    <thetext>We call it only in there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396546</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-05 14:26:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/37250037&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396548</commentid>
    <comment_count>2</comment_count>
      <attachid>333123</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-05 14:32:17 -0800</bug_when>
    <thetext>Created attachment 333123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396981</commentid>
    <comment_count>3</comment_count>
      <attachid>333230</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-06 15:32:06 -0800</bug_when>
    <thetext>Created attachment 333230
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397120</commentid>
    <comment_count>4</comment_count>
      <attachid>333230</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-07 01:19:41 -0800</bug_when>
    <thetext>Comment on attachment 333230
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397161</commentid>
    <comment_count>5</comment_count>
      <attachid>333230</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-07 07:40:57 -0800</bug_when>
    <thetext>Comment on attachment 333230
Patch

Clearing flags on attachment: 333230

Committed r228224: &lt;https://trac.webkit.org/changeset/228224&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397162</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-07 07:40:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333123</attachid>
            <date>2018-02-05 14:32:17 -0800</date>
            <delta_ts>2018-02-06 15:32:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182510-20180205143216.patch</filename>
            <type>text/plain</type>
            <size>16909</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI4NDM4ZDZjZThmNzcx
MGIyZTkxM2IwODY3N2I1MjdiZTA3MWI5ZC4uNTQ2NTM0OTlkNWI4YzIxNTI0YTllZGZkZmI2MTE1
OTc0NmU4ODdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTAyLTA1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJsb2NrOjpyZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrIHRvIFJlbmRl
clRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODI1MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3MjUwMDM3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCByZWludmVudCBz
dWJ0cmVlIHJlcGFyZW50aW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OnJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2spOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6bW92ZUFsbENoaWxkcmVuVG9JbnRlcm5hbCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRv
bi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckVsZW1lbnQ6OmRldGFjaFJlbmRlcmVySW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YXR0YWNoUmVuZGVyZXJJbnRlcm5hbCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjppbnNlcnRDaGlsZEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnRha2VDaGlsZEludGVybmFsKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QnVpbGRlcjo6QmxvY2s6Omluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjpjaGlsZEJlY2FtZU5vbklubGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OnJlbW92ZUxl
ZnRvdmVyQW5vbnltb3VzQmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlckJsb2NrLmg6CisKIDIwMTgtMDItMDEgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE1vdmUgUmVuZGVyUnVi
eVJ1bjo6cnVieUJhc2VTYWZlIHRvIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBiZGZmNDgzYTNiYjc4MGYxYjM1ZTAx
NmFhYzFkODc4NDEzMDlmOWZiLi4yNjdmNGI2NmY5OTBmMTdhYjM4NDJmNjdhYmJlMzBiYjA1MTQx
ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQ4Miw1
OCArNDgyLDYgQEAgdm9pZCBSZW5kZXJCbG9jazo6ZGVsZXRlTGluZXMoKQogICAgICAgICBjYWNo
ZS0+ZGVmZXJSZWNvbXB1dGVJc0lnbm9yZWQoZWxlbWVudCgpKTsKIH0KIAotdm9pZCBSZW5kZXJC
bG9jazo6cmVtb3ZlTGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayogY2hpbGQpCi17
Ci0gICAgQVNTRVJUKGNoaWxkLT5pc0Fub255bW91c0Jsb2NrKCkpOwotICAgIEFTU0VSVCghY2hp
bGQtPmNoaWxkcmVuSW5saW5lKCkpOwotICAgIAotICAgIGlmIChjaGlsZC0+Y29udGludWF0aW9u
KCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBSZW5kZXJPYmplY3QqIGZpcnN0QW5DaGls
ZCA9IGNoaWxkLT5maXJzdENoaWxkKCk7Ci0gICAgUmVuZGVyT2JqZWN0KiBsYXN0QW5DaGlsZCA9
IGNoaWxkLT5sYXN0Q2hpbGQoKTsKLSAgICBpZiAoZmlyc3RBbkNoaWxkKSB7Ci0gICAgICAgIFJl
bmRlck9iamVjdCogbyA9IGZpcnN0QW5DaGlsZDsKLSAgICAgICAgd2hpbGUgKG8pIHsKLSAgICAg
ICAgICAgIG8tPnNldFBhcmVudCh0aGlzKTsKLSAgICAgICAgICAgIG8gPSBvLT5uZXh0U2libGlu
ZygpOwotICAgICAgICB9Ci0gICAgICAgIGZpcnN0QW5DaGlsZC0+c2V0UHJldmlvdXNTaWJsaW5n
KGNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSk7Ci0gICAgICAgIGxhc3RBbkNoaWxkLT5zZXROZXh0
U2libGluZyhjaGlsZC0+bmV4dFNpYmxpbmcoKSk7Ci0gICAgICAgIGlmIChjaGlsZC0+cHJldmlv
dXNTaWJsaW5nKCkpCi0gICAgICAgICAgICBjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCktPnNldE5l
eHRTaWJsaW5nKGZpcnN0QW5DaGlsZCk7Ci0gICAgICAgIGlmIChjaGlsZC0+bmV4dFNpYmxpbmco
KSkKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0U2libGluZygpLT5zZXRQcmV2aW91c1NpYmxpbmco
bGFzdEFuQ2hpbGQpOwotICAgICAgICAgICAgCi0gICAgICAgIGlmIChjaGlsZCA9PSBmaXJzdENo
aWxkKCkpCi0gICAgICAgICAgICBzZXRGaXJzdENoaWxkKGZpcnN0QW5DaGlsZCk7Ci0gICAgICAg
IGlmIChjaGlsZCA9PSBsYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgIHNldExhc3RDaGlsZChsYXN0
QW5DaGlsZCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGNoaWxkID09IGZpcnN0Q2hpbGQo
KSkKLSAgICAgICAgICAgIHNldEZpcnN0Q2hpbGQoY2hpbGQtPm5leHRTaWJsaW5nKCkpOwotICAg
ICAgICBpZiAoY2hpbGQgPT0gbGFzdENoaWxkKCkpCi0gICAgICAgICAgICBzZXRMYXN0Q2hpbGQo
Y2hpbGQtPnByZXZpb3VzU2libGluZygpKTsKLQotICAgICAgICBpZiAoY2hpbGQtPnByZXZpb3Vz
U2libGluZygpKQotICAgICAgICAgICAgY2hpbGQtPnByZXZpb3VzU2libGluZygpLT5zZXROZXh0
U2libGluZyhjaGlsZC0+bmV4dFNpYmxpbmcoKSk7Ci0gICAgICAgIGlmIChjaGlsZC0+bmV4dFNp
YmxpbmcoKSkKLSAgICAgICAgICAgIGNoaWxkLT5uZXh0U2libGluZygpLT5zZXRQcmV2aW91c1Np
YmxpbmcoY2hpbGQtPnByZXZpb3VzU2libGluZygpKTsKLSAgICB9Ci0KLSAgICBjaGlsZC0+c2V0
Rmlyc3RDaGlsZChudWxscHRyKTsKLSAgICBjaGlsZC0+bV9uZXh0ID0gbnVsbHB0cjsKLQotICAg
IC8vIFJlbW92ZSBhbGwgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBmbG93IHRocmVhZCBhc3NvY2lh
dGVkIHdpdGggdGhlIGxlZnRvdmVyIGFub255bW91cyBibG9jay4KLSAgICBjaGlsZC0+cmVzZXRG
cmFnbWVudGVkRmxvd1N0YXRlT25SZW1vdmFsKCk7Ci0KLSAgICBjaGlsZC0+c2V0UGFyZW50KG51
bGxwdHIpOwotICAgIGNoaWxkLT5zZXRQcmV2aW91c1NpYmxpbmcobnVsbHB0cik7Ci0gICAgY2hp
bGQtPnNldE5leHRTaWJsaW5nKG51bGxwdHIpOwotCi0gICAgY2hpbGQtPmRlc3Ryb3koKTsKLX0K
LQogc3RhdGljIGJvb2wgY2FuRHJvcEFub255bW91c0Jsb2NrKGNvbnN0IFJlbmRlckJsb2NrJiBh
bm9ueW1vdXNCbG9jaykKIHsKICAgICBpZiAoYW5vbnltb3VzQmxvY2suYmVpbmdEZXN0cm95ZWQo
KSB8fCBhbm9ueW1vdXNCbG9jay5jb250aW51YXRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKaW5kZXggM2M4ZjEzOWI5OTI4OWEyN2ViNTJiMDMwOTU5YmE1MGYxOGVh
ZjJhOC4uOTNmYzc4ZjFmMjBiYjgxZTZmNjkzNzdhZTEyN2I2YTk0NzRkZTY2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTM5Niw3ICszOTYsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhZGp1c3RCb3JkZXJCb3hSZWN0Rm9yUGFpbnRpbmcoTGF5b3V0UmVjdCYpIG92
ZXJyaWRlOwogICAgIExheW91dFJlY3QgcGFpbnRSZWN0VG9DbGlwT3V0RnJvbUJvcmRlcihjb25z
dCBMYXlvdXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBhZGRDaGlsZElnbm9yaW5nQ29udGlu
dWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9p
ZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrKFJlbmRlckJsb2NrKiBjaGlsZCk7CiAgICAg
Ym9vbCBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGlz
SW5saW5lKCkgJiYgaXNSZXBsYWNlZCgpOyB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGU0ZjU4ODYw
NWQ1ZmZlMzRiMzE2M2U2NmYxZWZkNjE2NGFmMGE3NjAuLmI3MzBhYzdjMDI1OTY4MmY5Mjk0NWIz
MTUyNmEzOGM4MTVlNWJlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjc0Miw0ICsyNzQyLDEzIEBAIHZvaWQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6Om1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b0Jv
eE1vZGVsT2JqZWN0CiAgICAgfQogfQogCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojptb3Zl
QWxsQ2hpbGRyZW5Ub0ludGVybmFsKFJlbmRlckVsZW1lbnQmIG5ld1BhcmVudCkKK3sKKyAgICB3
aGlsZSAoZmlyc3RDaGlsZCgpKSB7CisgICAgICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSB0aGlzLT5m
aXJzdENoaWxkKCk7CisgICAgICAgIGRldGFjaFJlbmRlcmVySW50ZXJuYWwoKmZpcnN0Q2hpbGQp
OworICAgICAgICBhdHRhY2hSZW5kZXJlckludGVybmFsKG5ld1BhcmVudCwgKmZpcnN0Q2hpbGQs
IHRoaXMpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAppbmRleCAyN2YzM2Q1ZWQ1
NDJkZTZmY2JkNzcyMGM3ZGJiZjZiOTk5YTRhYTgyLi43NGM0M2EyNjVhMTYyNGNjMmVhYWVkMDcy
MDgzNDk1NjJjYjhiMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuaApAQCAtMjkwLDYgKzI5MCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIG1vdmVDaGlsZHJlblRvKHRvQm94TW9kZWxPYmplY3QsIGZpcnN0Q2hpbGQoKSwgbnVsbHB0
ciwgYmVmb3JlQ2hpbGQsIG5vcm1hbGl6ZUFmdGVySW5zZXJ0aW9uKTsKICAgICB9CisgICAgdm9p
ZCBtb3ZlQWxsQ2hpbGRyZW5Ub0ludGVybmFsKFJlbmRlckVsZW1lbnQmIG5ld1BhcmVudCk7CiAg
ICAgLy8gTW92ZSBhbGwgb2YgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgdXAgdG8gYnV0IGV4
Y2x1ZGluZyB8ZW5kQ2hpbGR8LiAwIGNhbiBiZSBwYXNzZWQgYXMgdGhlIHxlbmRDaGlsZHwgdG8g
ZGVub3RlCiAgICAgLy8gdGhhdCBhbGwgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgb253YXJk
cyBzaG91bGQgYmUgbW92ZWQuCiAgICAgdm9pZCBtb3ZlQ2hpbGRyZW5UbyhSZW5kZXJCb3hNb2Rl
bE9iamVjdCogdG9Cb3hNb2RlbE9iamVjdCwgUmVuZGVyT2JqZWN0KiBzdGFydENoaWxkLCBSZW5k
ZXJPYmplY3QqIGVuZENoaWxkLCBOb3JtYWxpemVBZnRlckluc2VydGlvbiBub3JtYWxpemVBZnRl
ckluc2VydGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
dXR0b24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCAy
ZTQ4ZDUxMmJhZjI2ODBhM2EyODgwNDUwMDgzZjYwNWI3NzI3MzQzLi5mNDhhYTFmNzE4NTUxOTcy
OTYwMWY2NWJiZDlkOWIxMmRlZmZlYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQnV0dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJ1dHRvbi5oCkBAIC00Miw3ICs0Miw2IEBAIHB1YmxpYzoKICAgICBib29sIGNhbkJlU2VsZWN0
aW9uTGVhZigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
dGFrZUNoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyT2JqZWN0Jikgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrKFJlbmRlckJsb2NrKikgb3ZlcnJp
ZGUgeyB9CiAgICAgYm9vbCBjcmVhdGVzQW5vbnltb3VzV3JhcHBlcigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBkZTQz
Njc5ZGRhMjAxOTVlOWVmMmQ0YTlkYTU3MjUyZWViYzMyNWJiLi4zYjdlZTlmOTIxOGQzYjJiMGMy
ZjVhZmZlYzk5NGM0NWYyYWM0NDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCkBAIC00OTksNiArNDk5LDUwIEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6ZGVz
dHJveUxlZnRvdmVyQ2hpbGRyZW4oKQogICAgIH0KIH0KIAordm9pZCBSZW5kZXJFbGVtZW50Ojpk
ZXRhY2hSZW5kZXJlckludGVybmFsKFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgYXV0
byogcGFyZW50ID0gcmVuZGVyZXIucGFyZW50KCk7CisgICAgQVNTRVJUKHBhcmVudCk7CisgICAg
YXV0byogbmV4dFNpYmxpbmcgPSByZW5kZXJlci5uZXh0U2libGluZygpOworCisgICAgaWYgKHJl
bmRlcmVyLnByZXZpb3VzU2libGluZygpKQorICAgICAgICByZW5kZXJlci5wcmV2aW91c1NpYmxp
bmcoKS0+c2V0TmV4dFNpYmxpbmcobmV4dFNpYmxpbmcpOworICAgIGlmIChuZXh0U2libGluZykK
KyAgICAgICAgbmV4dFNpYmxpbmctPnNldFByZXZpb3VzU2libGluZyhyZW5kZXJlci5wcmV2aW91
c1NpYmxpbmcoKSk7CisKKyAgICBpZiAocGFyZW50LT5maXJzdENoaWxkKCkgPT0gJnJlbmRlcmVy
KQorICAgICAgICBwYXJlbnQtPm1fZmlyc3RDaGlsZCA9IG5leHRTaWJsaW5nOworICAgIGlmIChw
YXJlbnQtPmxhc3RDaGlsZCgpID09ICZyZW5kZXJlcikKKyAgICAgICAgcGFyZW50LT5tX2xhc3RD
aGlsZCA9IHJlbmRlcmVyLnByZXZpb3VzU2libGluZygpOworCisgICAgcmVuZGVyZXIuc2V0UHJl
dmlvdXNTaWJsaW5nKG51bGxwdHIpOworICAgIHJlbmRlcmVyLnNldE5leHRTaWJsaW5nKG51bGxw
dHIpOworICAgIHJlbmRlcmVyLnNldFBhcmVudChudWxscHRyKTsKK30KKwordm9pZCBSZW5kZXJF
bGVtZW50OjphdHRhY2hSZW5kZXJlckludGVybmFsKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVu
ZGVyT2JqZWN0JiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBjaGls
ZC5zZXRQYXJlbnQoJnBhcmVudCk7CisKKyAgICBpZiAocGFyZW50LmZpcnN0Q2hpbGQoKSA9PSBi
ZWZvcmVDaGlsZCkKKyAgICAgICAgcGFyZW50Lm1fZmlyc3RDaGlsZCA9ICZjaGlsZDsKKworICAg
IGlmIChiZWZvcmVDaGlsZCkgeworICAgICAgICBhdXRvKiBwcmV2aW91c1NpYmxpbmcgPSBiZWZv
cmVDaGlsZC0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcp
CisgICAgICAgICAgICBwcmV2aW91c1NpYmxpbmctPnNldE5leHRTaWJsaW5nKCZjaGlsZCk7Cisg
ICAgICAgIGNoaWxkLnNldFByZXZpb3VzU2libGluZyhwcmV2aW91c1NpYmxpbmcpOworICAgICAg
ICBjaGlsZC5zZXROZXh0U2libGluZyhiZWZvcmVDaGlsZCk7CisgICAgICAgIGJlZm9yZUNoaWxk
LT5zZXRQcmV2aW91c1NpYmxpbmcoJmNoaWxkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBhdXRvKiBsYXN0Q2hpbGQgPSBwYXJlbnQubGFzdENoaWxkKCk7CisgICAgaWYgKGxhc3RDaGls
ZCkKKyAgICAgICAgbGFzdENoaWxkLT5zZXROZXh0U2libGluZygmY2hpbGQpOworICAgIGNoaWxk
LnNldFByZXZpb3VzU2libGluZyhsYXN0Q2hpbGQpOworICAgIHBhcmVudC5tX2xhc3RDaGlsZCA9
ICZjaGlsZDsKK30KKwogdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRDaGlsZEludGVybmFsKFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IG5ld0NoaWxkUHRyLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkKQogewogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FHRSghdmlldygpLmZyYW1lVmll
dygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLCAiTGF5b3V0IG11c3Qgbm90IG11dGF0
ZSByZW5kZXIgdHJlZSIpOwpAQCAtNTE1LDI1ICs1NTksNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6
Omluc2VydENoaWxkSW50ZXJuYWwoUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGRQdHIs
IFJlbgogCiAgICAgLy8gVGFrZSB0aGUgb3duZXJzaGlwLgogICAgIGF1dG8qIG5ld0NoaWxkID0g
bmV3Q2hpbGRQdHIucmVsZWFzZSgpOwotCi0gICAgbmV3Q2hpbGQtPnNldFBhcmVudCh0aGlzKTsK
LQotICAgIGlmIChtX2ZpcnN0Q2hpbGQgPT0gYmVmb3JlQ2hpbGQpCi0gICAgICAgIG1fZmlyc3RD
aGlsZCA9IG5ld0NoaWxkOwotCi0gICAgaWYgKGJlZm9yZUNoaWxkKSB7Ci0gICAgICAgIFJlbmRl
ck9iamVjdCogcHJldmlvdXNTaWJsaW5nID0gYmVmb3JlQ2hpbGQtPnByZXZpb3VzU2libGluZygp
OwotICAgICAgICBpZiAocHJldmlvdXNTaWJsaW5nKQotICAgICAgICAgICAgcHJldmlvdXNTaWJs
aW5nLT5zZXROZXh0U2libGluZyhuZXdDaGlsZCk7Ci0gICAgICAgIG5ld0NoaWxkLT5zZXRQcmV2
aW91c1NpYmxpbmcocHJldmlvdXNTaWJsaW5nKTsKLSAgICAgICAgbmV3Q2hpbGQtPnNldE5leHRT
aWJsaW5nKGJlZm9yZUNoaWxkKTsKLSAgICAgICAgYmVmb3JlQ2hpbGQtPnNldFByZXZpb3VzU2li
bGluZyhuZXdDaGlsZCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGxhc3RDaGlsZCgpKQot
ICAgICAgICAgICAgbGFzdENoaWxkKCktPnNldE5leHRTaWJsaW5nKG5ld0NoaWxkKTsKLSAgICAg
ICAgbmV3Q2hpbGQtPnNldFByZXZpb3VzU2libGluZyhsYXN0Q2hpbGQoKSk7Ci0gICAgICAgIG1f
bGFzdENoaWxkID0gbmV3Q2hpbGQ7Ci0gICAgfQorICAgIGF0dGFjaFJlbmRlcmVySW50ZXJuYWwo
KnRoaXMsICpuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwogCiAgICAgbmV3Q2hpbGQtPmluaXRpYWxp
emVGcmFnbWVudGVkRmxvd1N0YXRlT25JbnNlcnRpb24oKTsKICAgICBpZiAoIXJlbmRlclRyZWVC
ZWluZ0Rlc3Ryb3llZCgpKSB7CkBAIC01OTksMjIgKzYyNSw3IEBAIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IFJlbmRlckVsZW1lbnQ6OnRha2VDaGlsZEludGVybmFsKFJlbmRlck9iamVjdCYgb2xk
Q2hpbGQpCiAgICAgLy8gV0FSTklORzogVGhlcmUgc2hvdWxkIGJlIG5vIGNvZGUgcnVubmluZyBi
ZXR3ZWVuIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSBhbmQgdGhlIGFjdHVhbCByZW1vdmFsIGJlbG93
LgogICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3
aWxsQmVSZW1vdmVkRnJvbVRyZWUgd291bGQgZGlydHkgdGhlIHRyZWUncyBzdHJ1Y3R1cmUKICAg
ICAvLyBhbmQgdGhlIGNvZGUgcnVubmluZyBoZXJlIHdvdWxkIGZvcmNlIGFuIHVudGltZWx5IHJl
YnVpbGRpbmcsIGxlYXZpbmcgfG9sZENoaWxkfCBkYW5nbGluZy4KLSAgICAKLSAgICBSZW5kZXJP
YmplY3QqIG5leHRTaWJsaW5nID0gb2xkQ2hpbGQubmV4dFNpYmxpbmcoKTsKLQotICAgIGlmIChv
bGRDaGlsZC5wcmV2aW91c1NpYmxpbmcoKSkKLSAgICAgICAgb2xkQ2hpbGQucHJldmlvdXNTaWJs
aW5nKCktPnNldE5leHRTaWJsaW5nKG5leHRTaWJsaW5nKTsKLSAgICBpZiAobmV4dFNpYmxpbmcp
Ci0gICAgICAgIG5leHRTaWJsaW5nLT5zZXRQcmV2aW91c1NpYmxpbmcob2xkQ2hpbGQucHJldmlv
dXNTaWJsaW5nKCkpOwotCi0gICAgaWYgKG1fZmlyc3RDaGlsZCA9PSAmb2xkQ2hpbGQpCi0gICAg
ICAgIG1fZmlyc3RDaGlsZCA9IG5leHRTaWJsaW5nOwotICAgIGlmIChtX2xhc3RDaGlsZCA9PSAm
b2xkQ2hpbGQpCi0gICAgICAgIG1fbGFzdENoaWxkID0gb2xkQ2hpbGQucHJldmlvdXNTaWJsaW5n
KCk7Ci0KLSAgICBvbGRDaGlsZC5zZXRQcmV2aW91c1NpYmxpbmcobnVsbHB0cik7Ci0gICAgb2xk
Q2hpbGQuc2V0TmV4dFNpYmxpbmcobnVsbHB0cik7Ci0gICAgb2xkQ2hpbGQuc2V0UGFyZW50KG51
bGxwdHIpOworICAgIGRldGFjaFJlbmRlcmVySW50ZXJuYWwob2xkQ2hpbGQpOwogCiAgICAgLy8g
cmVuZGVyZXJSZW1vdmVkRnJvbVRyZWUgd2Fsa3MgdGhlIHdob2xlIHN1YnRyZWUuIFdlIGNhbiBp
bXByb3ZlIHBlcmZvcm1hbmNlCiAgICAgLy8gYnkgc2tpcHBpbmcgdGhpcyBzdGVwIHdoZW4gZGVz
dHJveWluZyB0aGUgZW50aXJlIHRyZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaAppbmRleCA0NDY2ZDAxYjkyYTJiNzRkZGIwZjc5Y2FkZmYyY2M4YjA3OTdkMjhkLi44
Y2M3NDcwNzJmNDI3NmJiYjAwZTk1NjNiMzMyYWY2ZGY3MjVlMmUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTI5MCw2ICsyOTAsOSBAQCBwcm90ZWN0ZWQ6
CiAgICAgYm9vbCBub0xvbmdlckFmZmVjdHNQYXJlbnRCbG9jaygpIGNvbnN0IHsgcmV0dXJuIHNf
bm9Mb25nZXJBZmZlY3RzUGFyZW50QmxvY2s7IH0KICAgICBib29sIGlzVmlzaWJsZUluVmlld3Bv
cnQoKSBjb25zdDsKIAorICAgIHZvaWQgYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJFbGVt
ZW50JiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQpOworICAgIHZvaWQgZGV0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJPYmplY3QmKTsKKwog
cHJpdmF0ZToKICAgICBSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmLCBSZW5kZXJTdHlsZSYm
LCBCYXNlVHlwZUZsYWdzKTsKICAgICB2b2lkIG5vZGUoKSBjb25zdCA9IGRlbGV0ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCmluZGV4IGNkZWMxM2E1NThlMDJmMTA2YWM0NWU2
Y2ExM2MyMzQwN2M3ZjQ1YzkuLjZmYTYzYzM0MjgxYmQ4OTI3YjUxN2Y5NWJjZWIxNjAwYmQyZTdj
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaApAQCAtODUsNyArODUsNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNSdWJ5QmxvY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuICJSZW5kZXJSdWJ5IChibG9jaykiOyB9CiAgICAgYm9vbCBjcmVhdGVzQW5vbnltb3VzV3Jh
cHBlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2b2lkIHJlbW92ZUxl
ZnRvdmVyQW5vbnltb3VzQmxvY2soUmVuZGVyQmxvY2sqKSBvdmVycmlkZSB7IEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyB9CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSdWJ5UnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1
bi5oCmluZGV4IDcxZDk4ZWEzOTI3ZDE0ODY2Yzc1M2ViMDIzMTcyZjU1YjYyZjEyOTcuLjA0MzA1
MGNmNTZlNjRiNGMyZjJhOGJlYTFmOTJiMzljOGMzOWQ3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJ1YnlSdW4uaApAQCAtNzgsNyArNzgsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgaXNSdWJ5UnVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0
IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyUnVieVJ1
biAoYW5vbnltb3VzKSI7IH0KICAgICBib29sIGNyZWF0ZXNBbm9ueW1vdXNXcmFwcGVyKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZvaWQgcmVtb3ZlTGVmdG92ZXJBbm9u
eW1vdXNCbG9jayhSZW5kZXJCbG9jayopIG92ZXJyaWRlIHsgfQogCiBwcml2YXRlOgogICAgIFVD
aGFyIG1fbGFzdENoYXJhY3RlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sLmgKaW5kZXggYTkyZTVmYzc3YTBiOGNmNGQ4NDVjYjE0YTBlNjljYTA3NWVkMDhi
OC4uZjg1NjVkZDlkMDI2ZDgzOGE5NTcyNDU0MWZkODdmZmY1YTc0MWFkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKQEAgLTc0LDcgKzc0LDYgQEAg
cHJpdmF0ZToKICAgICBib29sIGlzVGV4dENvbnRyb2woKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CiAgICAgdm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0
JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIG92ZXJyaWRl
OwotICAgIHZvaWQgcmVtb3ZlTGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayopIG92
ZXJyaWRlIHsgfQogICAgIGJvb2wgYXZvaWRzRmxvYXRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcAppbmRl
eCAxM2I3Y2JlNTA0Yzc3OGI1MjU4OWM1MzE3Yjc5Y2NkOWY0NzllZTUwLi43NmNhY2YwMTdiZmRh
ZjQ1ZjgxYWZkNDg5OTJmZmFhNmViZTA3ZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCkBA
IC0yNiw4ICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclRy
ZWVCdWlsZGVyQmxvY2suaCIKIAorI2luY2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgogI2luY2x1ZGUg
IlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCisj
aW5jbHVkZSAiUmVuZGVyUnVieS5oIgorI2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKKyNpbmNs
dWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE5
Myw3ICsxOTcsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6aW5zZXJ0Q2hpbGRJ
Z25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJCbG9jayYgcGFyZQogICAgIHBhcmVudC5SZW5kZXJC
b3g6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKIAog
ICAgIGlmIChtYWRlQm94ZXNOb25JbmxpbmUgJiYgaXM8UmVuZGVyQmxvY2s+KHBhcmVudC5wYXJl
bnQoKSkgJiYgcGFyZW50LmlzQW5vbnltb3VzQmxvY2soKSkKLSAgICAgICAgZG93bmNhc3Q8UmVu
ZGVyQmxvY2s+KCpwYXJlbnQucGFyZW50KCkpLnJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2so
JnBhcmVudCk7CisgICAgICAgIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2socGFyZW50KTsK
ICAgICAvLyBwYXJlbnQgb2JqZWN0IG1heSBiZSBkZWFkIGhlcmUKIH0KIApAQCAtMjAxLDggKzIw
NSwyNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6Y2hpbGRCZWNhbWVOb25Jbmxp
bmUoUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyRQogewogICAgIG1fYnVpbGRlci5tYWtlQ2hp
bGRyZW5Ob25JbmxpbmUocGFyZW50KTsKICAgICBpZiAocGFyZW50LmlzQW5vbnltb3VzQmxvY2so
KSAmJiBpczxSZW5kZXJCbG9jaz4ocGFyZW50LnBhcmVudCgpKSkKLSAgICAgICAgZG93bmNhc3Q8
UmVuZGVyQmxvY2s+KCpwYXJlbnQucGFyZW50KCkpLnJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxv
Y2soJnBhcmVudCk7CisgICAgICAgIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2socGFyZW50
KTsKICAgICAvLyBwYXJlbnQgbWF5IGJlIGRlYWQgaGVyZQogfQogCit2b2lkIFJlbmRlclRyZWVC
dWlsZGVyOjpCbG9jazo6cmVtb3ZlTGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayYg
YW5vbnltb3VzQmxvY2spCit7CisgICAgQVNTRVJUKGFub255bW91c0Jsb2NrLmlzQW5vbnltb3Vz
QmxvY2soKSk7CisgICAgQVNTRVJUKCFhbm9ueW1vdXNCbG9jay5jaGlsZHJlbklubGluZSgpKTsK
KyAgICBBU1NFUlQoYW5vbnltb3VzQmxvY2sucGFyZW50KCkpOworCisgICAgaWYgKGFub255bW91
c0Jsb2NrLmNvbnRpbnVhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiBwYXJl
bnQgPSBhbm9ueW1vdXNCbG9jay5wYXJlbnQoKTsKKyAgICBpZiAoaXM8UmVuZGVyQnV0dG9uPigq
cGFyZW50KSB8fCBpczxSZW5kZXJUZXh0Q29udHJvbD4oKnBhcmVudCkgfHwgaXM8UmVuZGVyUnVi
eUFzQmxvY2s+KCpwYXJlbnQpIHx8IGlzPFJlbmRlclJ1YnlSdW4+KCpwYXJlbnQpKQorICAgICAg
ICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGp1c3QgYmUgYSBt
b3ZlQWxsQ2hpbHJlblRvIChzZWUgd2Via2l0Lm9yZy9iLzE4MjQ5NSkKKyAgICBhbm9ueW1vdXNC
bG9jay5tb3ZlQWxsQ2hpbGRyZW5Ub0ludGVybmFsKCpwYXJlbnQpOworICAgIGF1dG8gdG9CZURl
c3Ryb3llZCA9IHBhcmVudC0+dGFrZUNoaWxkSW50ZXJuYWwoYW5vbnltb3VzQmxvY2spOworICAg
IC8vIGFub255bW91c0Jsb2NrIGlzIGRlYWQgaGVyZS4KK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2Nr
LmgKaW5kZXggMDg0YjM1OTk3YTM5M2ZmNjk4NmE2NTZjZDliYzRjMDE5NzkxYTUzOC4uZmM0YWQ3
MGRmNmM5YzA5YzBiNmE4ZTcyMmU5YzI4NGE3ZmIzYTI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5o
CkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGluc2VydENo
aWxkVG9Db250aW51YXRpb24oUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOworICAgIHZvaWQgcmVtb3Zl
TGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayYgYW5vbnltb3VzQmxvY2spOwogCiAg
ICAgUmVuZGVyVHJlZUJ1aWxkZXImIG1fYnVpbGRlcjsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333230</attachid>
            <date>2018-02-06 15:32:06 -0800</date>
            <delta_ts>2018-02-07 07:40:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182510-20180206153205.patch</filename>
            <type>text/plain</type>
            <size>17563</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q2ZjBjYWJjMDAwZTZl
OTA3YTYzODExYmY0ZmUwZjU1NWY5NDQyNy4uMTczYWE1ZTNlM2E2OWZhYzM5YzJjODcwYWFlMTI2
NDY2NjIwNjA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTAyLTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJsb2NrOjpyZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrIHRvIFJlbmRl
clRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODI1MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3MjUwMDM3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCByZWludmVudCBz
dWJ0cmVlIHJlcGFyZW50aW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OnJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2spOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6bW92ZUFsbENoaWxkcmVuVG9JbnRlcm5hbCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRv
bi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckVsZW1lbnQ6OmRldGFjaFJlbmRlcmVySW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YXR0YWNoUmVuZGVyZXJJbnRlcm5hbCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjppbnNlcnRDaGlsZEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnRha2VDaGlsZEludGVybmFsKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QnVpbGRlcjo6QmxvY2s6Omluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjpjaGlsZEJlY2FtZU5vbklubGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OnJlbW92ZUxl
ZnRvdmVyQW5vbnltb3VzQmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlckJsb2NrLmg6CisKIDIwMTgtMDItMDYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJJRExdIFN1cHBvcnQgb3B0aW9uYWwgUHJvbWlzZSBh
cmd1bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGJk
ZmY0ODNhM2JiNzgwZjFiMzVlMDE2YWFjMWQ4Nzg0MTMwOWY5ZmIuLjI2N2Y0YjY2Zjk5MGYxN2Fi
Mzg0MmY2N2FiYmUzMGJiMDUxNDFmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcApAQCAtNDgyLDU4ICs0ODIsNiBAQCB2b2lkIFJlbmRlckJsb2NrOjpkZWxldGVM
aW5lcygpCiAgICAgICAgIGNhY2hlLT5kZWZlclJlY29tcHV0ZUlzSWdub3JlZChlbGVtZW50KCkp
OwogfQogCi12b2lkIFJlbmRlckJsb2NrOjpyZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrKFJl
bmRlckJsb2NrKiBjaGlsZCkKLXsKLSAgICBBU1NFUlQoY2hpbGQtPmlzQW5vbnltb3VzQmxvY2so
KSk7Ci0gICAgQVNTRVJUKCFjaGlsZC0+Y2hpbGRyZW5JbmxpbmUoKSk7Ci0gICAgCi0gICAgaWYg
KGNoaWxkLT5jb250aW51YXRpb24oKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFJlbmRl
ck9iamVjdCogZmlyc3RBbkNoaWxkID0gY2hpbGQtPmZpcnN0Q2hpbGQoKTsKLSAgICBSZW5kZXJP
YmplY3QqIGxhc3RBbkNoaWxkID0gY2hpbGQtPmxhc3RDaGlsZCgpOwotICAgIGlmIChmaXJzdEFu
Q2hpbGQpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBvID0gZmlyc3RBbkNoaWxkOwotICAgICAg
ICB3aGlsZSAobykgewotICAgICAgICAgICAgby0+c2V0UGFyZW50KHRoaXMpOwotICAgICAgICAg
ICAgbyA9IG8tPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgIH0KLSAgICAgICAgZmlyc3RBbkNoaWxk
LT5zZXRQcmV2aW91c1NpYmxpbmcoY2hpbGQtPnByZXZpb3VzU2libGluZygpKTsKLSAgICAgICAg
bGFzdEFuQ2hpbGQtPnNldE5leHRTaWJsaW5nKGNoaWxkLT5uZXh0U2libGluZygpKTsKLSAgICAg
ICAgaWYgKGNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSkKLSAgICAgICAgICAgIGNoaWxkLT5wcmV2
aW91c1NpYmxpbmcoKS0+c2V0TmV4dFNpYmxpbmcoZmlyc3RBbkNoaWxkKTsKLSAgICAgICAgaWYg
KGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgY2hpbGQtPm5leHRTaWJsaW5nKCkt
PnNldFByZXZpb3VzU2libGluZyhsYXN0QW5DaGlsZCk7Ci0gICAgICAgICAgICAKLSAgICAgICAg
aWYgKGNoaWxkID09IGZpcnN0Q2hpbGQoKSkKLSAgICAgICAgICAgIHNldEZpcnN0Q2hpbGQoZmly
c3RBbkNoaWxkKTsKLSAgICAgICAgaWYgKGNoaWxkID09IGxhc3RDaGlsZCgpKQotICAgICAgICAg
ICAgc2V0TGFzdENoaWxkKGxhc3RBbkNoaWxkKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAo
Y2hpbGQgPT0gZmlyc3RDaGlsZCgpKQotICAgICAgICAgICAgc2V0Rmlyc3RDaGlsZChjaGlsZC0+
bmV4dFNpYmxpbmcoKSk7Ci0gICAgICAgIGlmIChjaGlsZCA9PSBsYXN0Q2hpbGQoKSkKLSAgICAg
ICAgICAgIHNldExhc3RDaGlsZChjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpOwotCi0gICAgICAg
IGlmIChjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpCi0gICAgICAgICAgICBjaGlsZC0+cHJldmlv
dXNTaWJsaW5nKCktPnNldE5leHRTaWJsaW5nKGNoaWxkLT5uZXh0U2libGluZygpKTsKLSAgICAg
ICAgaWYgKGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgY2hpbGQtPm5leHRTaWJs
aW5nKCktPnNldFByZXZpb3VzU2libGluZyhjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpOwotICAg
IH0KLQotICAgIGNoaWxkLT5zZXRGaXJzdENoaWxkKG51bGxwdHIpOwotICAgIGNoaWxkLT5tX25l
eHQgPSBudWxscHRyOwotCi0gICAgLy8gUmVtb3ZlIGFsbCB0aGUgaW5mb3JtYXRpb24gaW4gdGhl
IGZsb3cgdGhyZWFkIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGVmdG92ZXIgYW5vbnltb3VzIGJsb2Nr
LgotICAgIGNoaWxkLT5yZXNldEZyYWdtZW50ZWRGbG93U3RhdGVPblJlbW92YWwoKTsKLQotICAg
IGNoaWxkLT5zZXRQYXJlbnQobnVsbHB0cik7Ci0gICAgY2hpbGQtPnNldFByZXZpb3VzU2libGlu
ZyhudWxscHRyKTsKLSAgICBjaGlsZC0+c2V0TmV4dFNpYmxpbmcobnVsbHB0cik7Ci0KLSAgICBj
aGlsZC0+ZGVzdHJveSgpOwotfQotCiBzdGF0aWMgYm9vbCBjYW5Ecm9wQW5vbnltb3VzQmxvY2so
Y29uc3QgUmVuZGVyQmxvY2smIGFub255bW91c0Jsb2NrKQogewogICAgIGlmIChhbm9ueW1vdXNC
bG9jay5iZWluZ0Rlc3Ryb3llZCgpIHx8IGFub255bW91c0Jsb2NrLmNvbnRpbnVhdGlvbigpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAzYzhmMTM5Yjk5Mjg5YTI3
ZWI1MmIwMzA5NTliYTUwZjE4ZWFmMmE4Li45M2ZjNzhmMWYyMGJiODFlNmY2OTM3N2FlMTI3YjZh
OTQ3NGRlNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzk2
LDcgKzM5Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkanVzdEJvcmRlckJveFJlY3RGb3JQYWlu
dGluZyhMYXlvdXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgTGF5b3V0UmVjdCBwYWludFJlY3RUb0Ns
aXBPdXRGcm9tQm9yZGVyKGNvbnN0IExheW91dFJlY3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGFk
ZENoaWxkSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJQdHI8
UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soUmVuZGVy
QmxvY2sqIGNoaWxkKTsKICAgICBib29sIGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gaXNJbmxpbmUoKSAmJiBpc1JlcGxhY2VkKCk7IH0KIAogcHJvdGVj
dGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKaW5kZXggZTRmNTg4NjA1ZDVmZmUzNGIzMTYzZTY2ZjFlZmQ2MTY0YWYwYTc2MC4uYzE5
ODI0NDg0YjFhMTUxYWRmMTg3MGE0OGI5Y2I2YzM4ZDIzNmIzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0yNzQyLDQgKzI3
NDIsMTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6bW92ZUNoaWxkcmVuVG8oUmVuZGVy
Qm94TW9kZWxPYmplY3QqIHRvQm94TW9kZWxPYmplY3QKICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6Om1vdmVBbGxDaGlsZHJlblRvSW50ZXJuYWwoUmVuZGVyRWxlbWVudCYg
bmV3UGFyZW50KQoreworICAgIHdoaWxlIChmaXJzdENoaWxkKCkpCisgICAgICAgIG5ld1BhcmVu
dC5hdHRhY2hSZW5kZXJlckludGVybmFsKGRldGFjaFJlbmRlcmVySW50ZXJuYWwoKmZpcnN0Q2hp
bGQoKSksIHRoaXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCmluZGV4IDI3ZjMzZDVlZDU0
MmRlNmZjYmQ3NzIwYzdkYmJmNmI5OTlhNGFhODIuLjc0YzQzYTI2NWExNjI0Y2MyZWFhZWQwNzIw
ODM0OTU2MmNiOGIzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5oCkBAIC0yOTAsNiArMjkwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgbW92ZUNoaWxkcmVuVG8odG9Cb3hNb2RlbE9iamVjdCwgZmlyc3RDaGlsZCgpLCBudWxscHRy
LCBiZWZvcmVDaGlsZCwgbm9ybWFsaXplQWZ0ZXJJbnNlcnRpb24pOwogICAgIH0KKyAgICB2b2lk
IG1vdmVBbGxDaGlsZHJlblRvSW50ZXJuYWwoUmVuZGVyRWxlbWVudCYgbmV3UGFyZW50KTsKICAg
ICAvLyBNb3ZlIGFsbCBvZiB0aGUga2lkcyBmcm9tIHxzdGFydENoaWxkfCB1cCB0byBidXQgZXhj
bHVkaW5nIHxlbmRDaGlsZHwuIDAgY2FuIGJlIHBhc3NlZCBhcyB0aGUgfGVuZENoaWxkfCB0byBk
ZW5vdGUKICAgICAvLyB0aGF0IGFsbCB0aGUga2lkcyBmcm9tIHxzdGFydENoaWxkfCBvbndhcmRz
IHNob3VsZCBiZSBtb3ZlZC4KICAgICB2b2lkIG1vdmVDaGlsZHJlblRvKFJlbmRlckJveE1vZGVs
T2JqZWN0KiB0b0JveE1vZGVsT2JqZWN0LCBSZW5kZXJPYmplY3QqIHN0YXJ0Q2hpbGQsIFJlbmRl
ck9iamVjdCogZW5kQ2hpbGQsIE5vcm1hbGl6ZUFmdGVySW5zZXJ0aW9uIG5vcm1hbGl6ZUFmdGVy
SW5zZXJ0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1
dHRvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCmluZGV4IDJl
NDhkNTEyYmFmMjY4MGEzYTI4ODA0NTAwODNmNjA1Yjc3MjczNDMuLmY0OGFhMWY3MTg1NTE5NzI5
NjAxZjY1YmJkOWQ5YjEyZGVmZmVjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCdXR0b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QnV0dG9uLmgKQEAgLTQyLDcgKzQyLDYgQEAgcHVibGljOgogICAgIGJvb2wgY2FuQmVTZWxlY3Rp
b25MZWFmKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiB0
YWtlQ2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJPYmplY3QmKSBvdmVycmlkZTsKLSAg
ICB2b2lkIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soUmVuZGVyQmxvY2sqKSBvdmVycmlk
ZSB7IH0KICAgICBib29sIGNyZWF0ZXNBbm9ueW1vdXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGRlNDM2
NzlkZGEyMDE5NWU5ZWYyZDRhOWRhNTcyNTJlZWJjMzI1YmIuLjNjYjYwOWU3YmVjOTUyYjRkNjlk
ZjFjNGMyZWY1ODYxYWZmZmZkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKQEAgLTQ5OSw2ICs0OTksNTEgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpkZXN0
cm95TGVmdG92ZXJDaGlsZHJlbigpCiAgICAgfQogfQogCitSZW5kZXJPYmplY3QqIFJlbmRlckVs
ZW1lbnQ6OmF0dGFjaFJlbmRlcmVySW50ZXJuYWwoUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgY2hpbGQtPnNldFBhcmVudCh0
aGlzKTsKKworICAgIGlmIChtX2ZpcnN0Q2hpbGQgPT0gYmVmb3JlQ2hpbGQpCisgICAgICAgIG1f
Zmlyc3RDaGlsZCA9IGNoaWxkLmdldCgpOworCisgICAgaWYgKGJlZm9yZUNoaWxkKSB7CisgICAg
ICAgIGF1dG8qIHByZXZpb3VzU2libGluZyA9IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmco
KTsKKyAgICAgICAgaWYgKHByZXZpb3VzU2libGluZykKKyAgICAgICAgICAgIHByZXZpb3VzU2li
bGluZy0+c2V0TmV4dFNpYmxpbmcoY2hpbGQuZ2V0KCkpOworICAgICAgICBjaGlsZC0+c2V0UHJl
dmlvdXNTaWJsaW5nKHByZXZpb3VzU2libGluZyk7CisgICAgICAgIGNoaWxkLT5zZXROZXh0U2li
bGluZyhiZWZvcmVDaGlsZCk7CisgICAgICAgIGJlZm9yZUNoaWxkLT5zZXRQcmV2aW91c1NpYmxp
bmcoY2hpbGQuZ2V0KCkpOworICAgICAgICByZXR1cm4gY2hpbGQucmVsZWFzZSgpOworICAgIH0K
KyAgICBpZiAobV9sYXN0Q2hpbGQpCisgICAgICAgIG1fbGFzdENoaWxkLT5zZXROZXh0U2libGlu
ZyhjaGlsZC5nZXQoKSk7CisgICAgY2hpbGQtPnNldFByZXZpb3VzU2libGluZyhtX2xhc3RDaGls
ZCk7CisgICAgbV9sYXN0Q2hpbGQgPSBjaGlsZC5nZXQoKTsKKyAgICByZXR1cm4gY2hpbGQucmVs
ZWFzZSgpOworfQorCitSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJFbGVtZW50OjpkZXRh
Y2hSZW5kZXJlckludGVybmFsKFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgYXV0byog
cGFyZW50ID0gcmVuZGVyZXIucGFyZW50KCk7CisgICAgQVNTRVJUKHBhcmVudCk7CisgICAgYXV0
byogbmV4dFNpYmxpbmcgPSByZW5kZXJlci5uZXh0U2libGluZygpOworCisgICAgaWYgKHJlbmRl
cmVyLnByZXZpb3VzU2libGluZygpKQorICAgICAgICByZW5kZXJlci5wcmV2aW91c1NpYmxpbmco
KS0+c2V0TmV4dFNpYmxpbmcobmV4dFNpYmxpbmcpOworICAgIGlmIChuZXh0U2libGluZykKKyAg
ICAgICAgbmV4dFNpYmxpbmctPnNldFByZXZpb3VzU2libGluZyhyZW5kZXJlci5wcmV2aW91c1Np
YmxpbmcoKSk7CisKKyAgICBpZiAocGFyZW50LT5maXJzdENoaWxkKCkgPT0gJnJlbmRlcmVyKQor
ICAgICAgICBwYXJlbnQtPm1fZmlyc3RDaGlsZCA9IG5leHRTaWJsaW5nOworICAgIGlmIChwYXJl
bnQtPmxhc3RDaGlsZCgpID09ICZyZW5kZXJlcikKKyAgICAgICAgcGFyZW50LT5tX2xhc3RDaGls
ZCA9IHJlbmRlcmVyLnByZXZpb3VzU2libGluZygpOworCisgICAgcmVuZGVyZXIuc2V0UHJldmlv
dXNTaWJsaW5nKG51bGxwdHIpOworICAgIHJlbmRlcmVyLnNldE5leHRTaWJsaW5nKG51bGxwdHIp
OworICAgIHJlbmRlcmVyLnNldFBhcmVudChudWxscHRyKTsKKyAgICByZXR1cm4gUmVuZGVyUHRy
PFJlbmRlck9iamVjdD4oJnJlbmRlcmVyKTsKK30KKwogdm9pZCBSZW5kZXJFbGVtZW50OjppbnNl
cnRDaGlsZEludGVybmFsKFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IG5ld0NoaWxkUHRyLCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkKQogewogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FH
RSghdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLCAiTGF5
b3V0IG11c3Qgbm90IG11dGF0ZSByZW5kZXIgdHJlZSIpOwpAQCAtNTE0LDI2ICs1NTksNyBAQCB2
b2lkIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gbmV3Q2hpbGRQdHIsIFJlbgogICAgIEFTU0VSVCghaXM8UmVuZGVyVGV4dD4oYmVmb3Jl
Q2hpbGQpIHx8ICFkb3duY2FzdDxSZW5kZXJUZXh0PigqYmVmb3JlQ2hpbGQpLmlubGluZVdyYXBw
ZXJGb3JEaXNwbGF5Q29udGVudHMoKSk7CiAKICAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCi0g
ICAgYXV0byogbmV3Q2hpbGQgPSBuZXdDaGlsZFB0ci5yZWxlYXNlKCk7Ci0KLSAgICBuZXdDaGls
ZC0+c2V0UGFyZW50KHRoaXMpOwotCi0gICAgaWYgKG1fZmlyc3RDaGlsZCA9PSBiZWZvcmVDaGls
ZCkKLSAgICAgICAgbV9maXJzdENoaWxkID0gbmV3Q2hpbGQ7Ci0KLSAgICBpZiAoYmVmb3JlQ2hp
bGQpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwcmV2aW91c1NpYmxpbmcgPSBiZWZvcmVDaGls
ZC0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcpCi0gICAg
ICAgICAgICBwcmV2aW91c1NpYmxpbmctPnNldE5leHRTaWJsaW5nKG5ld0NoaWxkKTsKLSAgICAg
ICAgbmV3Q2hpbGQtPnNldFByZXZpb3VzU2libGluZyhwcmV2aW91c1NpYmxpbmcpOwotICAgICAg
ICBuZXdDaGlsZC0+c2V0TmV4dFNpYmxpbmcoYmVmb3JlQ2hpbGQpOwotICAgICAgICBiZWZvcmVD
aGlsZC0+c2V0UHJldmlvdXNTaWJsaW5nKG5ld0NoaWxkKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBpZiAobGFzdENoaWxkKCkpCi0gICAgICAgICAgICBsYXN0Q2hpbGQoKS0+c2V0TmV4dFNpYmxp
bmcobmV3Q2hpbGQpOwotICAgICAgICBuZXdDaGlsZC0+c2V0UHJldmlvdXNTaWJsaW5nKGxhc3RD
aGlsZCgpKTsKLSAgICAgICAgbV9sYXN0Q2hpbGQgPSBuZXdDaGlsZDsKLSAgICB9CisgICAgYXV0
byogbmV3Q2hpbGQgPSBhdHRhY2hSZW5kZXJlckludGVybmFsKFdURk1vdmUobmV3Q2hpbGRQdHIp
LCBiZWZvcmVDaGlsZCk7CiAKICAgICBuZXdDaGlsZC0+aW5pdGlhbGl6ZUZyYWdtZW50ZWRGbG93
U3RhdGVPbkluc2VydGlvbigpOwogICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkp
IHsKQEAgLTU5OSwzNCArNjI1LDE5IEBAIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlckVs
ZW1lbnQ6OnRha2VDaGlsZEludGVybmFsKFJlbmRlck9iamVjdCYgb2xkQ2hpbGQpCiAgICAgLy8g
V0FSTklORzogVGhlcmUgc2hvdWxkIGJlIG5vIGNvZGUgcnVubmluZyBiZXR3ZWVuIHdpbGxCZVJl
bW92ZWRGcm9tVHJlZSBhbmQgdGhlIGFjdHVhbCByZW1vdmFsIGJlbG93LgogICAgIC8vIFRoaXMg
aXMgbmVlZGVkIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3aWxsQmVSZW1vdmVkRnJv
bVRyZWUgd291bGQgZGlydHkgdGhlIHRyZWUncyBzdHJ1Y3R1cmUKICAgICAvLyBhbmQgdGhlIGNv
ZGUgcnVubmluZyBoZXJlIHdvdWxkIGZvcmNlIGFuIHVudGltZWx5IHJlYnVpbGRpbmcsIGxlYXZp
bmcgfG9sZENoaWxkfCBkYW5nbGluZy4KLSAgICAKLSAgICBSZW5kZXJPYmplY3QqIG5leHRTaWJs
aW5nID0gb2xkQ2hpbGQubmV4dFNpYmxpbmcoKTsKLQotICAgIGlmIChvbGRDaGlsZC5wcmV2aW91
c1NpYmxpbmcoKSkKLSAgICAgICAgb2xkQ2hpbGQucHJldmlvdXNTaWJsaW5nKCktPnNldE5leHRT
aWJsaW5nKG5leHRTaWJsaW5nKTsKLSAgICBpZiAobmV4dFNpYmxpbmcpCi0gICAgICAgIG5leHRT
aWJsaW5nLT5zZXRQcmV2aW91c1NpYmxpbmcob2xkQ2hpbGQucHJldmlvdXNTaWJsaW5nKCkpOwot
Ci0gICAgaWYgKG1fZmlyc3RDaGlsZCA9PSAmb2xkQ2hpbGQpCi0gICAgICAgIG1fZmlyc3RDaGls
ZCA9IG5leHRTaWJsaW5nOwotICAgIGlmIChtX2xhc3RDaGlsZCA9PSAmb2xkQ2hpbGQpCi0gICAg
ICAgIG1fbGFzdENoaWxkID0gb2xkQ2hpbGQucHJldmlvdXNTaWJsaW5nKCk7Ci0KLSAgICBvbGRD
aGlsZC5zZXRQcmV2aW91c1NpYmxpbmcobnVsbHB0cik7Ci0gICAgb2xkQ2hpbGQuc2V0TmV4dFNp
YmxpbmcobnVsbHB0cik7Ci0gICAgb2xkQ2hpbGQuc2V0UGFyZW50KG51bGxwdHIpOworICAgIGF1
dG8gY2hpbGRUb1Rha2UgPSBkZXRhY2hSZW5kZXJlckludGVybmFsKG9sZENoaWxkKTsKIAogICAg
IC8vIHJlbmRlcmVyUmVtb3ZlZEZyb21UcmVlIHdhbGtzIHRoZSB3aG9sZSBzdWJ0cmVlLiBXZSBj
YW4gaW1wcm92ZSBwZXJmb3JtYW5jZQogICAgIC8vIGJ5IHNraXBwaW5nIHRoaXMgc3RlcCB3aGVu
IGRlc3Ryb3lpbmcgdGhlIGVudGlyZSB0cmVlLgotICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVz
dHJveWVkKCkgJiYgaXM8UmVuZGVyRWxlbWVudD4ob2xkQ2hpbGQpKQotICAgICAgICBSZW5kZXJD
b3VudGVyOjpyZW5kZXJlclJlbW92ZWRGcm9tVHJlZShkb3duY2FzdDxSZW5kZXJFbGVtZW50Pihv
bGRDaGlsZCkpOworICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgJiYgaXM8UmVu
ZGVyRWxlbWVudD4oKmNoaWxkVG9UYWtlKSkKKyAgICAgICAgUmVuZGVyQ291bnRlcjo6cmVuZGVy
ZXJSZW1vdmVkRnJvbVRyZWUoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmNoaWxkVG9UYWtlKSk7
CiAKICAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIGlmIChB
WE9iamVjdENhY2hlKiBjYWNoZSA9IGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCkp
CiAgICAgICAgICAgICBjYWNoZS0+Y2hpbGRyZW5DaGFuZ2VkKHRoaXMpOwogICAgIH0KIAotICAg
IHJldHVybiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0Pigmb2xkQ2hpbGQpOworICAgIHJldHVybiBj
aGlsZFRvVGFrZTsKIH0KIAogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5pbmdC
bG9ja0ZvckZpeGVkUG9zaXRpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmgKaW5kZXggNDQ2NmQwMWI5MmEyYjc0ZGRiMGY3OWNhZGZmMmNjOGIwNzk3ZDI4
ZC4uMzI2OWVmMmE1ZjJmMzAxODliNTU2MGJiNDRiMmUwZjU0NzhmY2M2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMjksNiArMjI5LDggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0SXNGaXJzdExldHRlcigpIHsgbV9pc0ZpcnN0TGV0dGVyID0gdHJ1ZTsg
fQogCiAgICAgdm9pZCBkZXN0cm95TGVmdG92ZXJDaGlsZHJlbigpOworICAgIFJlbmRlck9iamVj
dCogYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7CisgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
ZGV0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJPYmplY3QmKTsKIAogcHJvdGVjdGVkOgogICAg
IGVudW0gQmFzZVR5cGVGbGFnIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSdWJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCmlu
ZGV4IGNkZWMxM2E1NThlMDJmMTA2YWM0NWU2Y2ExM2MyMzQwN2M3ZjQ1YzkuLjZmYTYzYzM0Mjgx
YmQ4OTI3YjUxN2Y5NWJjZWIxNjAwYmQyZTdjZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJ1YnkuaApAQCAtODUsNyArODUsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNSdWJ5Qmxv
Y2soKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJSdWJ5IChibG9jaykiOyB9CiAg
ICAgYm9vbCBjcmVhdGVzQW5vbnltb3VzV3JhcHBlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KLSAgICB2b2lkIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soUmVuZGVyQmxv
Y2sqKSBvdmVycmlkZSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiB9OwogCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oCmluZGV4IDcxZDk4ZWEzOTI3ZDE0ODY2Yzc1
M2ViMDIzMTcyZjU1YjYyZjEyOTcuLjA0MzA1MGNmNTZlNjRiNGMyZjJhOGJlYTFmOTJiMzljOGMz
OWQ3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaApAQCAtNzgs
NyArNzgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNSdWJ5UnVuKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiAiUmVuZGVyUnVieVJ1biAoYW5vbnltb3VzKSI7IH0KICAgICBib29sIGNy
ZWF0ZXNBbm9ueW1vdXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQot
ICAgIHZvaWQgcmVtb3ZlTGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayopIG92ZXJy
aWRlIHsgfQogCiBwcml2YXRlOgogICAgIFVDaGFyIG1fbGFzdENoYXJhY3RlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKaW5kZXggYTkyZTVmYzc3YTBi
OGNmNGQ4NDVjYjE0YTBlNjljYTA3NWVkMDhiOC4uZjg1NjVkZDlkMDI2ZDgzOGE5NTcyNDU0MWZk
ODdmZmY1YTc0MWFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmgKQEAgLTc0LDcgKzc0LDYgQEAgcHJpdmF0ZToKICAgICBib29sIGlzVGV4dENvbnRy
b2woKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQm
IG1heExvZ2ljYWxXaWR0aCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocygpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVtb3ZlTGVmdG92ZXJBbm9u
eW1vdXNCbG9jayhSZW5kZXJCbG9jayopIG92ZXJyaWRlIHsgfQogICAgIGJvb2wgYXZvaWRzRmxv
YXRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgY2FuSGF2ZUdl
bmVyYXRlZENoaWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlckJsb2NrLmNwcAppbmRleCAxM2I3Y2JlNTA0Yzc3OGI1MjU4OWM1MzE3Yjc5
Y2NkOWY0NzllZTUwLi43NmNhY2YwMTdiZmRhZjQ1ZjgxYWZkNDg5OTJmZmFhNmViZTA3ZGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCkBAIC0yNiw4ICsyNiwxMiBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyQmxvY2suaCIKIAorI2luY2x1ZGUg
IlJlbmRlckJ1dHRvbi5oIgogI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNs
dWRlICJSZW5kZXJGdWxsU2NyZWVuLmgiCisjaW5jbHVkZSAiUmVuZGVyUnVieS5oIgorI2luY2x1
ZGUgIlJlbmRlclJ1YnlSdW4uaCIKKyNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE5Myw3ICsxOTcsNyBAQCB2b2lkIFJlbmRlclRyZWVC
dWlsZGVyOjpCbG9jazo6aW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJCbG9j
ayYgcGFyZQogICAgIHBhcmVudC5SZW5kZXJCb3g6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92
ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKIAogICAgIGlmIChtYWRlQm94ZXNOb25JbmxpbmUgJiYg
aXM8UmVuZGVyQmxvY2s+KHBhcmVudC5wYXJlbnQoKSkgJiYgcGFyZW50LmlzQW5vbnltb3VzQmxv
Y2soKSkKLSAgICAgICAgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpwYXJlbnQucGFyZW50KCkpLnJl
bW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soJnBhcmVudCk7CisgICAgICAgIHJlbW92ZUxlZnRv
dmVyQW5vbnltb3VzQmxvY2socGFyZW50KTsKICAgICAvLyBwYXJlbnQgb2JqZWN0IG1heSBiZSBk
ZWFkIGhlcmUKIH0KIApAQCAtMjAxLDggKzIwNSwyNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVy
OjpCbG9jazo6Y2hpbGRCZWNhbWVOb25JbmxpbmUoUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVy
RQogewogICAgIG1fYnVpbGRlci5tYWtlQ2hpbGRyZW5Ob25JbmxpbmUocGFyZW50KTsKICAgICBp
ZiAocGFyZW50LmlzQW5vbnltb3VzQmxvY2soKSAmJiBpczxSZW5kZXJCbG9jaz4ocGFyZW50LnBh
cmVudCgpKSkKLSAgICAgICAgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpwYXJlbnQucGFyZW50KCkp
LnJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soJnBhcmVudCk7CisgICAgICAgIHJlbW92ZUxl
ZnRvdmVyQW5vbnltb3VzQmxvY2socGFyZW50KTsKICAgICAvLyBwYXJlbnQgbWF5IGJlIGRlYWQg
aGVyZQogfQogCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpCbG9jazo6cmVtb3ZlTGVmdG92ZXJB
bm9ueW1vdXNCbG9jayhSZW5kZXJCbG9jayYgYW5vbnltb3VzQmxvY2spCit7CisgICAgQVNTRVJU
KGFub255bW91c0Jsb2NrLmlzQW5vbnltb3VzQmxvY2soKSk7CisgICAgQVNTRVJUKCFhbm9ueW1v
dXNCbG9jay5jaGlsZHJlbklubGluZSgpKTsKKyAgICBBU1NFUlQoYW5vbnltb3VzQmxvY2sucGFy
ZW50KCkpOworCisgICAgaWYgKGFub255bW91c0Jsb2NrLmNvbnRpbnVhdGlvbigpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBhdXRvKiBwYXJlbnQgPSBhbm9ueW1vdXNCbG9jay5wYXJlbnQoKTsK
KyAgICBpZiAoaXM8UmVuZGVyQnV0dG9uPigqcGFyZW50KSB8fCBpczxSZW5kZXJUZXh0Q29udHJv
bD4oKnBhcmVudCkgfHwgaXM8UmVuZGVyUnVieUFzQmxvY2s+KCpwYXJlbnQpIHx8IGlzPFJlbmRl
clJ1YnlSdW4+KCpwYXJlbnQpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogVGhp
cyBzaG91bGQgcmVhbGx5IGp1c3QgYmUgYSBtb3ZlQWxsQ2hpbHJlblRvIChzZWUgd2Via2l0Lm9y
Zy9iLzE4MjQ5NSkKKyAgICBhbm9ueW1vdXNCbG9jay5tb3ZlQWxsQ2hpbGRyZW5Ub0ludGVybmFs
KCpwYXJlbnQpOworICAgIGF1dG8gdG9CZURlc3Ryb3llZCA9IHBhcmVudC0+dGFrZUNoaWxkSW50
ZXJuYWwoYW5vbnltb3VzQmxvY2spOworICAgIC8vIGFub255bW91c0Jsb2NrIGlzIGRlYWQgaGVy
ZS4KK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmgKaW5kZXggMDg0YjM1OTk3YTM5M2ZmNjk4NmE2
NTZjZDliYzRjMDE5NzkxYTUzOC4uZmM0YWQ3MGRmNmM5YzA5YzBiNmE4ZTcyMmU5YzI4NGE3ZmIz
YTI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICB2b2lkIGluc2VydENoaWxkVG9Db250aW51YXRpb24oUmVuZGVyQmxvY2sm
IHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVm
b3JlQ2hpbGQpOworICAgIHZvaWQgcmVtb3ZlTGVmdG92ZXJBbm9ueW1vdXNCbG9jayhSZW5kZXJC
bG9jayYgYW5vbnltb3VzQmxvY2spOwogCiAgICAgUmVuZGVyVHJlZUJ1aWxkZXImIG1fYnVpbGRl
cjsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>