<?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>182707</bug_id>
          
          <creation_ts>2018-02-12 14:22:29 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Introduce RenderTreebuilder::takeChild</short_desc>
          <delta_ts>2018-02-12 15:29:01 -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>1398471</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-12 14:22:29 -0800</bug_when>
    <thetext>all takeChild calls should go through RenderTreeBuilder from now on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398472</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-12 14:22:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/37473433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398487</commentid>
    <comment_count>2</comment_count>
      <attachid>333633</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-12 14:48:44 -0800</bug_when>
    <thetext>Created attachment 333633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398506</commentid>
    <comment_count>3</comment_count>
      <attachid>333633</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-12 15:28:59 -0800</bug_when>
    <thetext>Comment on attachment 333633
Patch

Clearing flags on attachment: 333633

Committed r228400: &lt;https://trac.webkit.org/changeset/228400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398507</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-12 15:29:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333633</attachid>
            <date>2018-02-12 14:48:44 -0800</date>
            <delta_ts>2018-02-12 15:28:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182707-20180212144844.patch</filename>
            <type>text/plain</type>
            <size>20274</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY5MDRiOTVkYTk0MTE5
MmJhNmE3YzNlZjc2M2RkN2ZhMTBlNmMxYy4uZGY1MTVkYWZlOGYxMjY3Mzk1OGI4MTQwZmQzNDg1
NzhiZTUzZGZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE4LTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBJbnRyb2R1Y2UgUmVuZGVyVHJlZWJ1aWxkZXI6OnRha2VDaGlsZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNzA3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zNzQ3MzQzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBbGwgdGFrZUNoaWxkIGNhbGxzIHNob3VsZCBnbyB0aHJvdWdoIFJlbmRlclRy
ZWVCdWlsZGVyOjp0YWtlQ2hpbGQgZnJvbSBub3cgb24uCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtb3ZlcyB0aGUgUnVieSByZWxhdGVkIHRha2VDaGlsZCBjYWxscyB0byBSZW5kZXJUcmVlQnVp
bGRlci4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0
dG9uOjp0YWtlQ2hpbGQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnJlbW92ZUFuZERlc3Ryb3lDaGlsZCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRnVsbFNjcmVlbjo6d3JhcEV4aXN0aW5nUmVuZGVyZXIpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRnVsbFNjcmVlbjo6dW53cmFwUmVuZGVyZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChSZW5kZXJNZW51TGlzdDo6dGFr
ZUNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJSdWJ5QXNJbmxpbmU6OnRha2VDaGlsZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJSdWJ5QXNCbG9jazo6dGFrZUNoaWxkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJS
dWJ5UnVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlSdW46OnRha2VDaGlsZCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OnRha2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUcmVlQnVpbGRlcjo6dGFrZUNoaWxkRnJvbVJlbmRlclJ1YnlBc0lubGluZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6dGFrZUNoaWxkRnJvbVJl
bmRlclJ1YnlBc0Jsb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVC
dWlsZGVyOjp0YWtlQ2hpbGRGcm9tUmVuZGVyUnVieVJ1bik6IERlbGV0ZWQuCisgICAgICAgICog
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRmlyc3RMZXR0ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OkZpcnN0TGV0dGVyOjp1cGRhdGVTdHlsZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTGlzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TGlzdDo6dXBkYXRlSXRlbU1hcmtl
cik6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlD
b2x1bW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29s
dW1uOjpjcmVhdGVGcmFnbWVudGVkRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QnVpbGRlcjo6TXVsdGlDb2x1bW46OmRlc3Ryb3lGcmFnbWVudGVkRmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OnByb2Nlc3NQb3NzaWJsZVNw
YW5uZXJEZXNjZW5kYW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJSdWJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpS
dWJ5Ojp0YWtlQ2hpbGQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpU
YWJsZTo6Y29sbGFwc2VBbmREZXN0cm95QW5vbnltb3VzU2libGluZ1Jvd3MpOgorCiAyMDE4LTAy
LTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRy
ZWVCdWlsZGVyXSBNb3ZlIFJlbmRlckJsb2NrOjpkcm9wQW5vbnltb3VzQm94Q2hpbGQgdG8gUmVu
ZGVyVHJlZUJ1aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCdXR0b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAK
aW5kZXggZWQ4YTFlYjU5MTE0YjczZDRiMzJkODZmNTk0NWU2NjFhMjkzYzhjNS4uYjU0NGZhNmNm
ODIxZWFiNTJmYzM4YzdkMjM5MTYzMGIyOThmMTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJ1dHRvbi5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gUmVuZGVyQnV0dG9uOjp0YWtlQ2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmQKICAgICAgICAgQVNTRVJUKCZvbGRDaGlsZCA9PSBtX2lubmVyIHx8ICFtX2lubmVyKTsK
ICAgICAgICAgcmV0dXJuIFJlbmRlckZsZXhpYmxlQm94Ojp0YWtlQ2hpbGQoYnVpbGRlciwgb2xk
Q2hpbGQpOwogICAgIH0KLSAgICByZXR1cm4gbV9pbm5lci0+dGFrZUNoaWxkKGJ1aWxkZXIsIG9s
ZENoaWxkKTsKKyAgICByZXR1cm4gYnVpbGRlci50YWtlQ2hpbGQoKm1faW5uZXIsIG9sZENoaWxk
KTsKIH0KICAgICAKIHZvaWQgUmVuZGVyQnV0dG9uOjp1cGRhdGVBbm9ueW1vdXNDaGlsZFN0eWxl
KFJlbmRlclN0eWxlJiBjaGlsZFN0eWxlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGUyODE1NWQwNWNkNzY5NzMwMmQ1Mzg1YmUxYzJlZmUw
NjM5ZmM1NzkuLjJjZGQ3OGM5MjExNGZjMzg5YzMzM2Q1M2IxZWI2MmRlYzk1MTQ0OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTQ5Nyw3ICs0OTcs
NyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92ZUFuZERlc3Ryb3lDaGlsZChSZW5kZXJUcmVl
QnVpbGRlciYgYnVpbGRlciwgUmVuZGVyT2JqZQogICAgICAgICAgICAgY2hpbGQucmVtb3ZlQW5k
RGVzdHJveUNoaWxkKGJ1aWxkZXIsIGZpcnN0Q2hpbGQpOwogICAgICAgICB9CiAgICAgfQotICAg
IGF1dG8gdG9EZXN0cm95ID0gdGFrZUNoaWxkKGJ1aWxkZXIsIG9sZENoaWxkKTsKKyAgICBhdXRv
IHRvRGVzdHJveSA9IGJ1aWxkZXIudGFrZUNoaWxkKCp0aGlzLCBvbGRDaGlsZCk7CiB9CiAKIFJl
bmRlck9iamVjdCogUmVuZGVyRWxlbWVudDo6YXR0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJQ
dHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmNwcAppbmRleCA4NDk5M2Mw
Y2M5YjQwZmZmNjQ0ZDQ4OTg3YzdiZDUwNjc3ZWJjN2FkLi5lM2U4MzE1ZTA0NGQ4Y2I2Y2M1ZWIz
NjA3NGMzNjY3MDc3NjcwZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnVsbFNjcmVlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZ1bGxTY3JlZW4uY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBSZW5kZXJGdWxsU2NyZWVu
Ojp3cmFwRXhpc3RpbmdSZW5kZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgRG9jdW1lbnQm
IGQKIAogICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3ZlKG5ld0Z1bGxzY3Jl
ZW5SZW5kZXJlciksICZyZW5kZXJlcik7CiAKLSAgICBhdXRvIHRvTW92ZSA9IHBhcmVudC50YWtl
Q2hpbGQoYnVpbGRlciwgcmVuZGVyZXIpOworICAgIGF1dG8gdG9Nb3ZlID0gYnVpbGRlci50YWtl
Q2hpbGQocGFyZW50LCByZW5kZXJlcik7CiAKICAgICAvLyBBbHdheXMganVzdCBkbyBhIGZ1bGwg
bGF5b3V0IHRvIGVuc3VyZSB0aGF0IGxpbmUgYm94ZXMgZ2V0IGRlbGV0ZWQgcHJvcGVybHkuCiAg
ICAgLy8gQmVjYXVzZSBvYmplY3RzIG1vdmVkIGZyb20gfHBhcmVudHwgdG8gfGZ1bGxzY3JlZW5S
ZW5kZXJlcnwsIHdlIHdhbnQgdG8KQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFJlbmRlckZ1bGxT
Y3JlZW46OnVud3JhcFJlbmRlcmVyKGJvb2wmIHJlcXVpcmVzUmVuZGVyVHJlZVJlYnVpbGQpCiAg
ICAgICAgICAgICAvLyBseWluZyBhcm91bmQgb24gdGhlIGNoaWxkLgogICAgICAgICAgICAgaWYg
KGlzPFJlbmRlckJveD4oKmNoaWxkKSkKICAgICAgICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJC
b3g+KCpjaGlsZCkuY2xlYXJPdmVycmlkZVNpemUoKTsKLSAgICAgICAgICAgIGF1dG8gY2hpbGRU
b01vdmUgPSBjaGlsZC0+cGFyZW50KCktPnRha2VDaGlsZChidWlsZGVyLCAqY2hpbGQpOworICAg
ICAgICAgICAgYXV0byBjaGlsZFRvTW92ZSA9IGJ1aWxkZXIudGFrZUNoaWxkKCpjaGlsZC0+cGFy
ZW50KCksICpjaGlsZCk7CiAgICAgICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCpwYXJlbnQo
KSwgV1RGTW92ZShjaGlsZFRvTW92ZSksIHRoaXMpOwogICAgICAgICAgICAgcGFyZW50KCktPnNl
dE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRleCA1NDNjN2YwOTBkNGE4NGM3
NmMyYmQwMDNiMWM1ZDM1Y2NlZjA1NTIyLi5jNjAwOGJhNWYyYWFmZWYxM2U4OWJhNmMwZTc0ZjZk
N2JlOTJjMDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVu
dUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5j
cHAKQEAgLTE3Niw3ICsxNzYsNyBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJNZW51
TGlzdDo6dGFrZUNoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZQogewogICAgIGlm
ICghbV9pbm5lckJsb2NrIHx8ICZvbGRDaGlsZCA9PSBtX2lubmVyQmxvY2spCiAgICAgICAgIHJl
dHVybiBSZW5kZXJGbGV4aWJsZUJveDo6dGFrZUNoaWxkKGJ1aWxkZXIsIG9sZENoaWxkKTsKLSAg
ICByZXR1cm4gbV9pbm5lckJsb2NrLT50YWtlQ2hpbGQoYnVpbGRlciwgb2xkQ2hpbGQpOworICAg
IHJldHVybiBidWlsZGVyLnRha2VDaGlsZCgqbV9pbm5lckJsb2NrLCBvbGRDaGlsZCk7CiB9CiAK
IHZvaWQgUmVuZGVyTWVudUxpc3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUnVieS5jcHAKaW5kZXggMmI3OWVkYzhkZjA3ZjAxODgxZmQ1OTcwMTBjODk5YWNmZmJhNDEx
MS4uZDllYjFjM2E4NmU5ZmNkYTA1NzYzZTFiODQ5YTQ4MjBiN2YwN2I2OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmNwcApAQCAtNjAsMTEgKzYwLDYgQEAgdm9pZCBSZW5k
ZXJSdWJ5QXNJbmxpbmU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSoKICAgICBwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3VzQ2hpbGRyZW4oUHJv
cGFnYXRlVG9BbGxDaGlsZHJlbik7CiB9CiAKLVJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRl
clJ1YnlBc0lubGluZTo6dGFrZUNoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5k
ZXJPYmplY3QmIGNoaWxkKQotewotICAgIHJldHVybiBidWlsZGVyLnRha2VDaGlsZEZyb21SZW5k
ZXJSdWJ5QXNJbmxpbmUoKnRoaXMsIGNoaWxkKTsKLX0KLQogLy89PT0gcnVieSBhcyBibG9jayBv
YmplY3QgPT09CiAKIFJlbmRlclJ1YnlBc0Jsb2NrOjpSZW5kZXJSdWJ5QXNCbG9jayhFbGVtZW50
JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpAQCAtODAsOSArNzUsNCBAQCB2b2lkIFJl
bmRlclJ1YnlBc0Jsb2NrOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29u
c3QgUmVuZGVyU3R5bGUqCiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91c0NoaWxkcmVuKFBy
b3BhZ2F0ZVRvQWxsQ2hpbGRyZW4pOwogfQogCi1SZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5k
ZXJSdWJ5QXNCbG9jazo6dGFrZUNoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5k
ZXJPYmplY3QmIGNoaWxkKQotewotICAgIHJldHVybiBidWlsZGVyLnRha2VDaGlsZEZyb21SZW5k
ZXJSdWJ5QXNCbG9jaygqdGhpcywgY2hpbGQpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaAppbmRleCA2ZmE2M2MzNDI4MWJkODky
N2I1MTdmOTViY2ViMTYwMGJkMmU3Y2Y2Li5lMGYxNzIxNjZkNzllOTI1YjZiYmQ1MDk3Zjg0MDI0
ZWQxMjZlMGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVi
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKQEAgLTU2LDgg
KzU2LDYgQEAgcHVibGljOgogICAgIFJlbmRlclJ1YnlBc0lubGluZShFbGVtZW50JiwgUmVuZGVy
U3R5bGUmJik7CiAgICAgdmlydHVhbCB+UmVuZGVyUnVieUFzSW5saW5lKCk7CiAKLSAgICBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJP
YmplY3QmIGNoaWxkKSBvdmVycmlkZTsKLQogcHJvdGVjdGVkOgogICAgIHZvaWQgc3R5bGVEaWRD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJy
aWRlOwogCkBAIC03Niw4ICs3NCw2IEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnQmIGVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxFbGVtZW50Pihub2RlRm9yTm9uQW5vbnltb3VzKCkp
OyB9CiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGQoUmVuZGVyVHJlZUJ1
aWxkZXImLCBSZW5kZXJPYmplY3QmIGNoaWxkKSBvdmVycmlkZTsKLQogcHJvdGVjdGVkOgogICAg
IHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSog
b2xkU3R5bGUpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieVJ1bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVi
eVJ1bi5jcHAKaW5kZXggZTQ0Nzc3NGFmNWMwNjRlODU3ZjhhYmI1YmU1ZjI2NDI4YWM5NWYzNi4u
ODhkNDMxZmNmNjAzMmExYjc4MjI4NzBiMDU3ODc1ZTA1NjIyN2EzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcApAQCAtOTcsMTEgKzk3LDYgQEAgYm9vbCBS
ZW5kZXJSdWJ5UnVuOjppc0NoaWxkQWxsb3dlZChjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkLCBj
b25zdCBSZW5kZXJTdHlsZSYKICAgICByZXR1cm4gY2hpbGQuaXNJbmxpbmUoKSB8fCBjaGlsZC5p
c1J1YnlUZXh0KCk7CiB9CiAKLVJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlclJ1YnlSdW46
OnRha2VDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyT2JqZWN0JiBjaGls
ZCkKLXsKLSAgICByZXR1cm4gYnVpbGRlci50YWtlQ2hpbGRGcm9tUmVuZGVyUnVieVJ1bigqdGhp
cywgY2hpbGQpOwotfQotCiBSZW5kZXJQdHI8UmVuZGVyUnVieUJhc2U+IFJlbmRlclJ1YnlSdW46
OmNyZWF0ZVJ1YnlCYXNlKCkgY29uc3QKIHsKICAgICBhdXRvIG5ld1N0eWxlID0gUmVuZGVyU3R5
bGU6OmNyZWF0ZUFub255bW91c1N0eWxlV2l0aERpc3BsYXkoc3R5bGUoKSwgQkxPQ0spOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmgKaW5kZXggMDQzMDUwY2Y1NmU2NGI0
YzJmMmE4YmVhMWY5MmIzOWM4YzM5ZDc1NC4uNjUxNjY5MDFhYzIyMzM1MGJhY2RiYjZmMTUzOWUx
OGQxZThjZDZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1
YnlSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oCkBA
IC01Niw3ICs1Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGxheW91dEJsb2NrKGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0ID0gMCkgb3ZlcnJpZGU7CiAKICAgICBi
b29sIGlzQ2hpbGRBbGxvd2VkKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFJlbmRlclN0eWxl
JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gdGFrZUNoaWxk
KFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyT2JqZWN0Jikgb3ZlcnJpZGU7CiAKICAgICBSZW5k
ZXJCbG9jayogZmlyc3RMaW5lQmxvY2soKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAK
aW5kZXggMThiYzc5YjdjMTY4NjkwOTVhOWQzYWRiM2Y3MGRkM2E1YzEyNDM1NC4uZTJjOTk1Y2My
OWI3NzQ5MzM0NDk2ZmViODE0NDZmYzg2YmZjYzE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCkBAIC0xODcs
NiArMTg3LDIwIEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKFJlbmRlckVs
ZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjCiAgICAgcGFyZW50LmFkZENoaWxk
KCp0aGlzLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCitSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6dGFrZUNoaWxkKFJlbmRlckVsZW1lbnQmIHBh
cmVudCwgUmVuZGVyT2JqZWN0JiBjaGlsZCkKK3sKKyAgICBpZiAoaXM8UmVuZGVyUnVieUFzSW5s
aW5lPihwYXJlbnQpKQorICAgICAgICByZXR1cm4gcnVieUJ1aWxkZXIoKS50YWtlQ2hpbGQoZG93
bmNhc3Q8UmVuZGVyUnVieUFzSW5saW5lPihwYXJlbnQpLCBjaGlsZCk7CisKKyAgICBpZiAoaXM8
UmVuZGVyUnVieUFzQmxvY2s+KHBhcmVudCkpCisgICAgICAgIHJldHVybiBydWJ5QnVpbGRlcigp
LnRha2VDaGlsZChkb3duY2FzdDxSZW5kZXJSdWJ5QXNCbG9jaz4ocGFyZW50KSwgY2hpbGQpOwor
CisgICAgaWYgKGlzPFJlbmRlclJ1YnlSdW4+KHBhcmVudCkpCisgICAgICAgIHJldHVybiBydWJ5
QnVpbGRlcigpLnRha2VDaGlsZChkb3duY2FzdDxSZW5kZXJSdWJ5UnVuPihwYXJlbnQpLCBjaGls
ZCk7CisKKyAgICByZXR1cm4gcGFyZW50LnRha2VDaGlsZCgqdGhpcywgY2hpbGQpOworfQorCiB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZChSZW5kZXJUcmVlUG9zaXRpb24mIHBv
c2l0aW9uLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCkKIHsKICAgICBpbnNlcnRDaGls
ZChwb3NpdGlvbi5wYXJlbnQoKSwgV1RGTW92ZShjaGlsZCksIHBvc2l0aW9uLm5leHRTaWJsaW5n
KCkpOwpAQCAtNDc2LDIxICs0OTAsNiBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRD
aGlsZFRvUmVuZGVyTWF0aE1MRmVuY2VkKFJlbmRlck1hdGhNTEZlbmNlZCYgcGFyZQogICAgIG1h
dGhNTEJ1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVD
aGlsZCk7CiB9CiAKLVJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlclRyZWVCdWlsZGVyOjp0
YWtlQ2hpbGRGcm9tUmVuZGVyUnVieUFzSW5saW5lKFJlbmRlclJ1YnlBc0lubGluZSYgcGFyZW50
LCBSZW5kZXJPYmplY3QmIGNoaWxkKQotewotICAgIHJldHVybiBydWJ5QnVpbGRlcigpLnRha2VD
aGlsZChwYXJlbnQsIGNoaWxkKTsKLX0KLQotUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVy
VHJlZUJ1aWxkZXI6OnRha2VDaGlsZEZyb21SZW5kZXJSdWJ5QXNCbG9jayhSZW5kZXJSdWJ5QXNC
bG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxkKQotewotICAgIHJldHVybiBydWJ5QnVp
bGRlcigpLnRha2VDaGlsZChwYXJlbnQsIGNoaWxkKTsKLX0KLQotUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OnRha2VDaGlsZEZyb21SZW5kZXJSdWJ5UnVuKFJlbmRl
clJ1YnlSdW4mIHBhcmVudCwgUmVuZGVyT2JqZWN0JiBjaGlsZCkKLXsKLSAgICByZXR1cm4gcnVi
eUJ1aWxkZXIoKS50YWtlQ2hpbGQocGFyZW50LCBjaGlsZCk7Ci19Ci0KIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IFJlbmRlclRyZWVCdWlsZGVyOjp0YWtlQ2hpbGRGcm9tUmVuZGVyQmxvY2soUmVu
ZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyT2JqZWN0JiBvbGRDaGlsZCkKIHsKICAgICByZXR1cm4g
YmxvY2tCdWlsZGVyKCkudGFrZUNoaWxkKHBhcmVudCwgb2xkQ2hpbGQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAppbmRl
eCBhZTQ1MjcwYjNkMGEzMGIyNjcwMzliMWJiYjM4MjRkZGFjNzNiMWIxLi5hNDU2MDc4ODM5MTJi
NmFjNDJhMjFhNGEwZjNhNjdhNmRiZThiNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtNTEsNiArNTEsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0
cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJUcmVlUG9zaXRpb24mLCBSZW5kZXJQdHI8
UmVuZGVyT2JqZWN0Pik7CiAKKyAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGQo
UmVuZGVyRWxlbWVudCYsIFJlbmRlck9iamVjdCYpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKwogICAg
IHZvaWQgdXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyhSZW5kZXJFbGVtZW50Jik7CiAKICAgICAvLyBU
aGlzIGF2b2lkcyBoYXZpbmcgdG8gY29udmVydCBhbGwgc2l0ZXMgdGhhdCBuZWVkIFJlbmRlclRy
ZWVCdWlsZGVyIGluIG9uZSBnby4KQEAgLTczLDkgKzc1LDYgQEAgcHVibGljOgogICAgIHZvaWQg
aW5zZXJ0Q2hpbGRUb1JlbmRlclRhYmxlUm93KFJlbmRlclRhYmxlUm93JiBwYXJlbnQsIFJlbmRl
clB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVs
bHB0cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVyTWF0aE1MRmVuY2VkKFJlbmRlck1h
dGhNTEZlbmNlZCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogCi0gICAgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gdGFrZUNoaWxkRnJvbVJlbmRlclJ1YnlBc0lubGluZShSZW5kZXJSdWJ5QXNJbmxpbmUm
IHBhcmVudCwgUmVuZGVyT2JqZWN0JiBjaGlsZCk7Ci0gICAgUmVuZGVyUHRyPFJlbmRlck9iamVj
dD4gdGFrZUNoaWxkRnJvbVJlbmRlclJ1YnlBc0Jsb2NrKFJlbmRlclJ1YnlBc0Jsb2NrJiBwYXJl
bnQsIFJlbmRlck9iamVjdCYgY2hpbGQpOwotICAgIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IHRh
a2VDaGlsZEZyb21SZW5kZXJSdWJ5UnVuKFJlbmRlclJ1YnlSdW4mIHBhcmVudCwgUmVuZGVyT2Jq
ZWN0JiBjaGlsZCk7CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gdGFrZUNoaWxkRnJvbVJl
bmRlckJsb2NrKFJlbmRlckJsb2NrJiBwYXJlbnQsIFJlbmRlck9iamVjdCYgb2xkQ2hpbGQpOwog
CiAgICAgYm9vbCBjaGlsZFJlcXVpcmVzVGFibGUoY29uc3QgUmVuZGVyRWxlbWVudCYgcGFyZW50
LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZpcnN0TGV0dGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZpcnN0TGV0
dGVyLmNwcAppbmRleCAxOTlmYjE3ODY3MGUyM2JlYjg4YjhhYTIzNzA4ZTVkMGY5OWExMDAzLi4x
NzY5ZDdmY2Y5ZDY0MzNjYzI4ODBjOGI5OGUyMDRlNThlNDI4OTllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGaXJzdExldHRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyRmlyc3RMZXR0ZXIuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgdm9pZCBSZW5kZXJUcmVl
QnVpbGRlcjo6Rmlyc3RMZXR0ZXI6OnVwZGF0ZVN0eWxlKFJlbmRlckJsb2NrJiBmaXJzdExldHRl
ckJsb2NrLAogICAgICAgICB3aGlsZSAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0TGV0dGVy
LT5maXJzdENoaWxkKCkpIHsKICAgICAgICAgICAgIGlmIChpczxSZW5kZXJUZXh0PigqY2hpbGQp
KQogICAgICAgICAgICAgICAgIGRvd25jYXN0PFJlbmRlclRleHQ+KCpjaGlsZCkucmVtb3ZlQW5k
RGVzdHJveVRleHRCb3hlcygpOwotICAgICAgICAgICAgYXV0byB0b01vdmUgPSBmaXJzdExldHRl
ci0+dGFrZUNoaWxkKG1fYnVpbGRlciwgKmNoaWxkKTsKKyAgICAgICAgICAgIGF1dG8gdG9Nb3Zl
ID0gbV9idWlsZGVyLnRha2VDaGlsZCgqZmlyc3RMZXR0ZXIsICpjaGlsZCk7CiAgICAgICAgICAg
ICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGQoKm5ld0ZpcnN0TGV0dGVyLCBXVEZNb3ZlKHRvTW92ZSkp
OwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTGlzdC5jcHAKaW5kZXggM2MxOTZjNjNiMzFhMzNi
MWQ0OWU4NDAzMzEyZDdjYzgwOTQ2Y2JlMS4uMzE3YjIxNDBlMzcxMGY5MzgyMjdmMThjZDY5NGY2
ODU1MzVkZWM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTGlzdC5jcHAKQEAgLTExNSw3ICsxMTUsNyBAQCB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpMaXN0Ojp1cGRhdGVJdGVtTWFya2VyKFJlbmRlckxpc3RJ
dGVtJiBsaXN0SXRlbVJlbmRlcmVyKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY3VycmVu
dFBhcmVudCkKLSAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkKCpuZXdQYXJlbnQsIGN1cnJl
bnRQYXJlbnQtPnRha2VDaGlsZChtX2J1aWxkZXIsICptYXJrZXJSZW5kZXJlciksIGZpcnN0Tm9u
TWFya2VyQ2hpbGQoKm5ld1BhcmVudCkpOworICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGQo
Km5ld1BhcmVudCwgbV9idWlsZGVyLnRha2VDaGlsZCgqY3VycmVudFBhcmVudCwgKm1hcmtlclJl
bmRlcmVyKSwgZmlyc3ROb25NYXJrZXJDaGlsZCgqbmV3UGFyZW50KSk7CiAgICAgZWxzZQogICAg
ICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGQoKm5ld1BhcmVudCwgV1RGTW92ZShuZXdNYXJrZXJS
ZW5kZXJlciksIGZpcnN0Tm9uTWFya2VyQ2hpbGQoKm5ld1BhcmVudCkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0
aUNvbHVtbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKaW5kZXggYjIxYjY3ZmI0NjZjMjUxNDRjMWY2YWM3MDhi
OWZlMDU0MjJmOWYxMi4uMGI5NTVjYWM0YjBmMzQ0MGNlYmY5OGJlOGY3ZTlkZWFlMzg5YjVhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyTXVsdGlDb2x1bW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcApAQCAtMTYwLDcgKzE2MCw3IEBA
IHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpjcmVhdGVGcmFnbWVudGVkRmxv
dyhSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCiAgICAgICAgICAgICAvLyBNb3ZlIHRoZSBzcGFubmVy
IGJhY2sgdG8gaXRzIG9yaWdpbmFsIHBvc2l0aW9uLgogICAgICAgICAgICAgYXV0byYgc3Bhbm5l
ck9yaWdpbmFsUGFyZW50ID0gKnBsYWNlaG9sZGVyLT5wYXJlbnQoKTsKICAgICAgICAgICAgIC8v
IERldGFjaGluZyB0aGUgc3Bhbm5lciB0YWtlcyBjYXJlIG9mIHJlbW92aW5nIHRoZSBwbGFjZWhv
bGRlciAoYW5kIG1lcmdlcyB0aGUgUmVuZGVyTXVsdGlDb2x1bW5TZXRzKS4KLSAgICAgICAgICAg
IGF1dG8gc3Bhbm5lclRvUmVJbnNlcnQgPSBzcGFubmVyLT5wYXJlbnQoKS0+dGFrZUNoaWxkKG1f
YnVpbGRlciwgKnNwYW5uZXIpOworICAgICAgICAgICAgYXV0byBzcGFubmVyVG9SZUluc2VydCA9
IG1fYnVpbGRlci50YWtlQ2hpbGQoKnNwYW5uZXItPnBhcmVudCgpLCAqc3Bhbm5lcik7CiAgICAg
ICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGQoc3Bhbm5lck9yaWdpbmFsUGFyZW50LCBXVEZN
b3ZlKHNwYW5uZXJUb1JlSW5zZXJ0KSk7CiAgICAgICAgIH0KICAgICB9CkBAIC0yMDgsNyArMjA4
LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmRlc3Ryb3lGcmFnbWVu
dGVkRmxvdyhSZW5kZXJCbG9ja0Zsb3cmIGZsb3cKICAgICAgICAgICAgIHNwYW5uZXJPcmlnaW5h
bFBhcmVudCA9ICZmbG93OwogICAgICAgICAvLyBEZXRhY2hpbmcgdGhlIHNwYW5uZXIgdGFrZXMg
Y2FyZSBvZiByZW1vdmluZyB0aGUgcGxhY2Vob2xkZXIgKGFuZCBtZXJnZXMgdGhlIFJlbmRlck11
bHRpQ29sdW1uU2V0cykuCiAgICAgICAgIGF1dG8qIHNwYW5uZXIgPSBwbGFjZWhvbGRlci0+c3Bh
bm5lcigpOwotICAgICAgICBwYXJlbnRBbmRTcGFubmVyTGlzdC5hcHBlbmQoc3RkOjptYWtlX3Bh
aXIoc3Bhbm5lck9yaWdpbmFsUGFyZW50LCBzcGFubmVyLT5wYXJlbnQoKS0+dGFrZUNoaWxkKG1f
YnVpbGRlciwgKnNwYW5uZXIpKSk7CisgICAgICAgIHBhcmVudEFuZFNwYW5uZXJMaXN0LmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihzcGFubmVyT3JpZ2luYWxQYXJlbnQsIG1fYnVpbGRlci50YWtlQ2hp
bGQoKnNwYW5uZXItPnBhcmVudCgpLCAqc3Bhbm5lcikpKTsKICAgICB9CiAgICAgd2hpbGUgKGF1
dG8qIGNvbHVtblNldCA9IG11bHRpQ29sdW1uRmxvdy5maXJzdE11bHRpQ29sdW1uU2V0KCkpCiAg
ICAgICAgIGNvbHVtblNldC0+cmVtb3ZlRnJvbVBhcmVudEFuZERlc3Ryb3kobV9idWlsZGVyKTsK
QEAgLTMxMyw3ICszMTMsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0
aUNvbHVtbjo6cHJvY2Vzc1Bvc3NpYmxlU3Bhbm5lckRlc2NlbmRhbnQoUgogICAgICAgICBhdXRv
IG5ld1BsYWNlaG9sZGVyID0gUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI6OmNy
ZWF0ZUFub255bW91cyhmbG93LCBkb3duY2FzdDxSZW5kZXJCb3g+KGRlc2NlbmRhbnQpLCBjb250
YWluZXItPnN0eWxlKCkpOwogICAgICAgICBhdXRvJiBwbGFjZWhvbGRlciA9ICpuZXdQbGFjZWhv
bGRlcjsKICAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkKCpjb250YWluZXIsIFdURk1vdmUo
bmV3UGxhY2Vob2xkZXIpLCBkZXNjZW5kYW50Lm5leHRTaWJsaW5nKCkpOwotICAgICAgICBhdXRv
IHRha2VuRGVzY2VuZGFudCA9IGNvbnRhaW5lci0+dGFrZUNoaWxkKG1fYnVpbGRlciwgZGVzY2Vu
ZGFudCk7CisgICAgICAgIGF1dG8gdGFrZW5EZXNjZW5kYW50ID0gbV9idWlsZGVyLnRha2VDaGls
ZCgqY29udGFpbmVyLCBkZXNjZW5kYW50KTsKIAogICAgICAgICAvLyBUaGlzIGlzIGEgZ3VhcmQg
dG8gc3RvcCBhbiBhbmNlc3RvciBmbG93IHRocmVhZCBmcm9tIHByb2Nlc3NpbmcgdGhlIHNwYW5u
ZXIuCiAgICAgICAgIGdTaGlmdGluZ1NwYW5uZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNw
cAppbmRleCAyYWRkYjliZDQ2OWVmNzVhNTEyY2FmNWU5MzMyY2YyNzdmZWJjNjM4Li44YmRkM2M4
N2RlM2QzMTRhYzZjNGJlMjk5MTc1NzlmNThhOTlmMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNw
cApAQCAtMzg3LDEzICszODcsMTMgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJl
ZUJ1aWxkZXI6OlJ1Ynk6OnRha2VDaGlsZChSZW5kZXJSdWJ5QXNJbmxpbmUmIHAKICAgICBpZiAo
aXNBbm9ueW1vdXNSdWJ5SW5saW5lQmxvY2soY2hpbGQucGFyZW50KCkpKSB7CiAgICAgICAgIEFT
U0VSVChjaGlsZC5pc0JlZm9yZUNvbnRlbnQoKSB8fCBjaGlsZC5pc0FmdGVyQ29udGVudCgpKTsK
ICAgICAgICAgYXV0byYgcGFyZW50ID0gKmNoaWxkLnBhcmVudCgpOwotICAgICAgICBhdXRvIHRh
a2VuQ2hpbGQgPSBwYXJlbnQudGFrZUNoaWxkKG1fYnVpbGRlciwgY2hpbGQpOworICAgICAgICBh
dXRvIHRha2VuQ2hpbGQgPSBtX2J1aWxkZXIudGFrZUNoaWxkKHBhcmVudCwgY2hpbGQpOwogICAg
ICAgICBwYXJlbnQucmVtb3ZlRnJvbVBhcmVudEFuZERlc3Ryb3kobV9idWlsZGVyKTsKICAgICAg
ICAgcmV0dXJuIHRha2VuQ2hpbGQ7CiAgICAgfQogCiAgICAgLy8gT3RoZXJ3aXNlIGZpbmQgdGhl
IGNvbnRhaW5pbmcgcnVuIGFuZCByZW1vdmUgaXQgZnJvbSB0aGVyZS4KLSAgICByZXR1cm4gZmlu
ZFJ1YnlSdW5QYXJlbnQoY2hpbGQpLnRha2VDaGlsZChtX2J1aWxkZXIsIGNoaWxkKTsKKyAgICBy
ZXR1cm4gbV9idWlsZGVyLnRha2VDaGlsZChmaW5kUnVieVJ1blBhcmVudChjaGlsZCksIGNoaWxk
KTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OlJ1Ynk6
OnRha2VDaGlsZChSZW5kZXJSdWJ5QXNCbG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxk
KQpAQCAtNDExLDEzICs0MTEsMTMgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJl
ZUJ1aWxkZXI6OlJ1Ynk6OnRha2VDaGlsZChSZW5kZXJSdWJ5QXNCbG9jayYgcGEKICAgICBpZiAo
aXNBbm9ueW1vdXNSdWJ5SW5saW5lQmxvY2soY2hpbGQucGFyZW50KCkpKSB7CiAgICAgICAgIEFT
U0VSVChjaGlsZC5pc0JlZm9yZUNvbnRlbnQoKSB8fCBjaGlsZC5pc0FmdGVyQ29udGVudCgpKTsK
ICAgICAgICAgYXV0byYgcGFyZW50ID0gKmNoaWxkLnBhcmVudCgpOwotICAgICAgICBhdXRvIHRh
a2VuQ2hpbGQgPSBwYXJlbnQudGFrZUNoaWxkKG1fYnVpbGRlciwgY2hpbGQpOworICAgICAgICBh
dXRvIHRha2VuQ2hpbGQgPSBtX2J1aWxkZXIudGFrZUNoaWxkKHBhcmVudCwgY2hpbGQpOwogICAg
ICAgICBwYXJlbnQucmVtb3ZlRnJvbVBhcmVudEFuZERlc3Ryb3kobV9idWlsZGVyKTsKICAgICAg
ICAgcmV0dXJuIHRha2VuQ2hpbGQ7CiAgICAgfQogCiAgICAgLy8gT3RoZXJ3aXNlIGZpbmQgdGhl
IGNvbnRhaW5pbmcgcnVuIGFuZCByZW1vdmUgaXQgZnJvbSB0aGVyZS4KLSAgICByZXR1cm4gZmlu
ZFJ1YnlSdW5QYXJlbnQoY2hpbGQpLnRha2VDaGlsZChtX2J1aWxkZXIsIGNoaWxkKTsKKyAgICBy
ZXR1cm4gbV9idWlsZGVyLnRha2VDaGlsZChmaW5kUnVieVJ1blBhcmVudChjaGlsZCksIGNoaWxk
KTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OlJ1Ynk6
OnRha2VDaGlsZChSZW5kZXJSdWJ5UnVuJiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJUYWJsZS5jcHAKaW5kZXggYTc4YjIxMzgyMzUxNTZjZWU3NGNmY2M3YjhiOTNj
MDFiNzBlMjdkMC4uY2U0OWQ2YmUzOTFlNmM5ZWMwYTk1Y2YwNzE5OWI2ODJmZjAwZDY5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlclRhYmxlLmNwcApAQCAtMjM2LDcgKzIzNiw3IEBAIHZvaWQgUmVuZGVyVHJl
ZUJ1aWxkZXI6OlRhYmxlOjpjb2xsYXBzZUFuZERlc3Ryb3lBbm9ueW1vdXNTaWJsaW5nUm93cyhS
ZW5kZXJUYWJsCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBjdXJy
ZW50Um93LT5tb3ZlQWxsQ2hpbGRyZW5UbyhtX2J1aWxkZXIsIHJvd1RvSW5zZXJ0SW50bywgUmVu
ZGVyQm94TW9kZWxPYmplY3Q6Ok5vcm1hbGl6ZUFmdGVySW5zZXJ0aW9uOjpObyk7Ci0gICAgICAg
IGF1dG8gdG9EZXN0cm95ID0gc2VjdGlvbi0+dGFrZUNoaWxkKG1fYnVpbGRlciwgKmN1cnJlbnRS
b3cpOworICAgICAgICBhdXRvIHRvRGVzdHJveSA9IG1fYnVpbGRlci50YWtlQ2hpbGQoKnNlY3Rp
b24sICpjdXJyZW50Um93KTsKICAgICAgICAgY3VycmVudFJvdyA9IGN1cnJlbnRSb3ctPm5leHRS
b3coKTsKICAgICB9CiAgICAgaWYgKHJvd1RvSW5zZXJ0SW50bykK
</data>

          </attachment>
      

    </bug>

</bugzilla>