<?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>183019</bug_id>
          
          <creation_ts>2018-02-21 14:29:28 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] ::willBeRemoved() does not need RenderTreeBuilder anymore.</short_desc>
          <delta_ts>2018-02-21 16:20:47 -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>1401281</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-21 14:29:28 -0800</bug_when>
    <thetext>resolved all the depending mutations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401282</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-21 14:30:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/37761421&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401290</commentid>
    <comment_count>2</comment_count>
      <attachid>334417</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-21 14:44:06 -0800</bug_when>
    <thetext>Created attachment 334417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401324</commentid>
    <comment_count>3</comment_count>
      <attachid>334417</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-21 16:20:45 -0800</bug_when>
    <thetext>Comment on attachment 334417
Patch

Clearing flags on attachment: 334417

Committed r228908: &lt;https://trac.webkit.org/changeset/228908&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401325</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-21 16:20:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334417</attachid>
            <date>2018-02-21 14:44:06 -0800</date>
            <delta_ts>2018-02-21 16:20:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183019-20180221144405.patch</filename>
            <type>text/plain</type>
            <size>47920</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA4ZWUwMWNmNzEzMGU0
YWQyMWNjNGQyNDE4ODAyMmRiYzRmNmZlNC4uNTBiZTU1NTNkOWQ2M2E2NGQ3MGQ5YmQ3M2FiMDUy
NzEzZGFiMGRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxOC0wMi0yMSAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRl
cl0gOjp3aWxsQmVSZW1vdmVkKCkgZG9lcyBub3QgbmVlZCBSZW5kZXJUcmVlQnVpbGRlciBhbnlt
b3JlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgz
MDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzc2MTQyMT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGwgdGhlIHdpbGxCZURlc3Ryb3llZCgp
IG11dGF0aW9ucyBoYXZlIGJlZW4gbW92ZWQgb3ZlciB0byBSZW5kZXJUcmVlQnVpbGRlci4gCisK
KyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OndpbGxC
ZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OndpbGxCZURl
c3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQ291bnRlcjo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmpl
Y3Q6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYWdtZW50ZWRGbG93Ojp3aWxsQmVEZXN0cm95ZWQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFn
ZTo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlcklubGluZTo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6d2lsbEJlRGVz
dHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxpc3RCb3g6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp3aWxsQmVEZXN0cm95ZWQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0
Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0OjpkZXN0cm95KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVs
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTZWFyY2hGaWVsZDo6d2lsbEJlRGVzdHJv
eWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lsbEJlRGVz
dHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZTo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86Ondp
bGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJXaWRnZXQ6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldp
ZGdldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQmxvY2s6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW1hZ2U6
OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFn
ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR0lubGluZTo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
TW9kZWxPYmplY3Q6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdNb2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXI6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojp3aWxsQmVE
ZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdUZXh0Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHVGV4dC5oOgorCiAyMDE4LTAyLTIxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVyXSBNb3ZlIFJlbmRlckJveE1v
ZGVsT2JqZWN0Ojp3aWxsQmVSZW1vdmVkKCkgbXV0YXRpb24gbG9naWMgdG8gUmVuZGVyVHJlZUJ1
aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDFiM2I0
Njk5Mjg5YTA5MDY5MmRjOGU5Y2RjMDEzZDNhODQ5YjEyYmMuLjg3MGM1MWE3ZTU3YmZlYzgzYzlh
NzZiYTAyYzcwY2EyOGZlZjEzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMzQzLDcgKzM0Myw3IEBAIFJlbmRlckJsb2NrOjp+UmVuZGVyQmxvY2soKQog
fQogCiAvLyBOb3RlIHRoYXQgdGhpcyBpcyBub3QgY2FsbGVkIGZvciBSZW5kZXJCbG9ja0Zsb3dz
Lgotdm9pZCBSZW5kZXJCbG9jazo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBi
dWlsZGVyKQordm9pZCBSZW5kZXJCbG9jazo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBpZiAo
IXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIGlmIChwYXJlbnQoKSkKQEAg
LTM1Miw3ICszNTIsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQoUmVuZGVy
VHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiAKICAgICBibG9ja1dpbGxCZURlc3Ryb3llZCgpOwogCi0g
ICAgUmVuZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyQm94Ojp3
aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogdm9pZCBSZW5kZXJCbG9jazo6YmxvY2tXaWxsQmVEZXN0
cm95ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBkNzAwNTc1
N2Q2NThjZjA4ZjRkMmJjMzkxOTc5MDZiZmVkN2IwZTIwLi41M2UxNzE1NGM5Y2IzMjMxMjJkYTcy
OGNhMDZlN2M2MDllNmZmMTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aApAQCAtMzE5LDcgKzMxOSw3IEBAIHB1YmxpYzoKICAgICAKIHByb3RlY3RlZDoKICAgICBSZW5k
ZXJGcmFnbWVudGVkRmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBjb25zdCBv
dmVycmlkZTsKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92
ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lk
IGxheW91dCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IGM1NmIwZjJjODhlNzg3NTk0ZjE4MWJkYWY2OTYzMWY2Y2ZkZGIw
NWEuLmE3YzA0YWZmYTYyNDhiNWE5MGI5NTlkNjliNDNiOWI0YThhZmM3YTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xMjcsNyArMTI3LDcg
QEAgUmVuZGVyQmxvY2tGbG93Ojp+UmVuZGVyQmxvY2tGbG93KCkKICAgICAvLyBEbyBub3QgYWRk
IGFueSBjb2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQog
Ci12b2lkIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVy
JiBidWlsZGVyKQordm9pZCBSZW5kZXJCbG9ja0Zsb3c6OndpbGxCZURlc3Ryb3llZCgpCiB7CiAg
ICAgaWYgKCFyZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkgewogICAgICAgICBpZiAoZmlyc3RS
b290Qm94KCkpIHsKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6d2ls
bEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQogICAgIGJsb2NrV2lsbEJl
RGVzdHJveWVkKCk7CiAKICAgICAvLyBOT1RFOiBUaGlzIGp1bXBzIGRvd24gdG8gUmVuZGVyQm94
LCBieXBhc3NpbmcgUmVuZGVyQmxvY2sgc2luY2UgaXQgd291bGQgZG8gZHVwbGljYXRlIHdvcmsu
Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyQm94
Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogUmVuZGVyQmxvY2tGbG93KiBSZW5kZXJCbG9ja0Zs
b3c6OnByZXZpb3VzU2libGluZ1dpdGhPdmVyaGFuZ2luZ0Zsb2F0cyhib29sJiBwYXJlbnRIYXNG
bG9hdHMpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggZWMyOTg0ZmUyZmU0MWNiNDc4NzNlNTFhMGM3Yjk2ODhjYzVjYWI5NS4uNTJkYzdkYWQ0
YjVhNGExODI0OWExZDQzZjc3MGNmNjZiNDA1YjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUxvZ2lj
YWxIZWlnaHQgPSAwKSBvdmVycmlkZTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgd2lsbEJlRGVz
dHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVEZXN0
cm95ZWQoKSBvdmVycmlkZTsKICAgICAKICAgICAvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYXQg
dGhlIHN0YXJ0IG9mIGxheW91dCB0byB3aXBlIGF3YXkgYWxsIG9mIHRoZSBmbG9hdHMgaW4gb3Vy
IGZsb2F0aW5nIG9iamVjdHMgbGlzdC4gSXQgYWxzbwogICAgIC8vIHJlcG9wdWxhdGVzIHRoZSBs
aXN0IHdpdGggYW55IGZsb2F0cyB0aGF0IGludHJ1ZGUgZnJvbSBwcmV2aW91cyBzaWJsaW5ncyBv
ciBwYXJlbnRzLiBGbG9hdHMgdGhhdCB3ZXJlIGFkZGVkIGJ5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCmluZGV4IGM2ZDhkYzE3NjQ0MWYyYzg3MGJiNGM3MzcxOWM0MTU3MWVh
OTlmODYuLmEwZTUwNGQxZGU0ZGY4Y2NjOThlZDg1ZmFjZGJkYWNmNTQ1YjdjNDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgUmVuZGVy
Qm94Ojp+UmVuZGVyQm94KCkKICAgICAvLyBEbyBub3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBp
dCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQogCi12b2lkIFJlbmRlckJveDo6d2ls
bEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5kZXJCb3g6
OndpbGxCZURlc3Ryb3llZCgpCiB7CiAgICAgaWYgKGZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0
b3Njcm9sbFJlbmRlcmVyKCkgPT0gdGhpcykKICAgICAgICAgZnJhbWUoKS5ldmVudEhhbmRsZXIo
KS5zdG9wQXV0b3Njcm9sbFRpbWVyKHRydWUpOwpAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgUmVu
ZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiAgICAg
ICAgIHZpZXcoKS51bnJlZ2lzdGVyQm94V2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMoKnRoaXMpOwog
I2VuZGlmCiAKLSAgICBSZW5kZXJCb3hNb2RlbE9iamVjdDo6d2lsbEJlRGVzdHJveWVkKGJ1aWxk
ZXIpOworICAgIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAog
UmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlckJveDo6Y2xhbXBUb1N0YXJ0QW5kRW5kRnJh
Z21lbnRzKFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAxN2U2OTRlZjVjNzAwOGU3YjExMWE0MThlM2Yx
NzZiNmM3ZmJhYTI4Li5hZDQ0OTFiZDdjYWRhNDMwNmE1ZTQxMTI0MTk0YzJiYmIyNjIxNDFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC02MzEsNyArNjMxLDcgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRlRnJvbVN0eWxl
KCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRl
ciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAg
ICBib29sIGNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAyZDU1
NWVmMjk3OGNlNTZhOWNlMjdkYWFlOGU1NjNkZGE2NzRiNWMzLi4wMzYwOGEyNjlkMGU1YTY4YjFm
ZjljNGZmYmU1MjU2NDc0ZjVjYTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIyNCw3ICsyMjQsNyBAQCBSZW5kZXJCb3hN
b2RlbE9iamVjdDo6flJlbmRlckJveE1vZGVsT2JqZWN0KCkKICAgICBBU1NFUlQoIWNvbnRpbnVh
dGlvbigpKTsKIH0KIAotdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6d2lsbEJlRGVzdHJveWVk
KFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6
d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBpZiAoaGFzQ29udGludWF0aW9uQ2hhaW5Ob2RlKCkp
CiAgICAgICAgIHJlbW92ZUZyb21Db250aW51YXRpb25DaGFpbigpOwpAQCAtMjM1LDcgKzIzNSw3
IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVl
QnVpbGRlciYgYnVpbGRlcikKICAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQog
ICAgICAgICB2aWV3KCkuaW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpLnJlbmRlcmVyV2lsbEJlRGVz
dHJveWVkKCp0aGlzKTsKIAotICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OndpbGxCZURlc3Ry
b3llZChidWlsZGVyKTsKKyAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cm95
ZWQoKTsKIH0KIAogYm9vbCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6aGFzVmlzaWJsZUJveERlY29y
YXRpb25TdHlsZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5oCmluZGV4IDM4YzNjYzBhZTRhZmYwM2MyNzI0Yjc5YTcxZDEzOWM1Nzk5
OTMyNTcuLmQ5MWM3NGUzZmM4NDA5MjA0ZTIwOTQzOTRmZDgzNmY0ZjY3NDM0NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCkBAIC0yNDUs
NyArMjQ1LDcgQEAgcHJvdGVjdGVkOgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KEVsZW1lbnQm
LCBSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVj
dChEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwogCi0gICAgdm9pZCB3
aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImKSBvdmVycmlkZTsKKyAgICB2b2lkIHdp
bGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwogCiAgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQb3Np
dGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgTGF5b3V0UG9pbnQmKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCmluZGV4IDU2NTFhZjQ1
YmNmNWQ0NjZmOGM3N2MwOTliZmVjMWIxYzI0NjYzYzcuLjNmMTRlNjkxZThlNGVjZDQ0NjI2OThm
MTQ1OTc1NTk1YjYwMDJjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJDb3VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291
bnRlci5jcHAKQEAgLTM1Miw3ICszNTIsNyBAQCBSZW5kZXJDb3VudGVyOjp+UmVuZGVyQ291bnRl
cigpCiAgICAgLy8gRG8gbm90IGFkZCBhbnkgY29kZSBoZXJlLiBBZGQgaXQgdG8gd2lsbEJlRGVz
dHJveWVkKCkgaW5zdGVhZC4KIH0KIAotdm9pZCBSZW5kZXJDb3VudGVyOjp3aWxsQmVEZXN0cm95
ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCit2b2lkIFJlbmRlckNvdW50ZXI6OndpbGxC
ZURlc3Ryb3llZCgpCiB7CiAgICAgdmlldygpLnJlbW92ZVJlbmRlckNvdW50ZXIoKTsKIApAQCAt
MzYxLDcgKzM2MSw3IEBAIHZvaWQgUmVuZGVyQ291bnRlcjo6d2lsbEJlRGVzdHJveWVkKFJlbmRl
clRyZWVCdWlsZGVyJiBidWlsZGVyKQogICAgICAgICBBU1NFUlQoIW1fY291bnRlck5vZGUpOwog
ICAgIH0KICAgICAKLSAgICBSZW5kZXJUZXh0Ojp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7Cisg
ICAgUmVuZGVyVGV4dDo6d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIGNvbnN0IGNoYXIqIFJlbmRl
ckNvdW50ZXI6OnJlbmRlck5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJDb3VudGVyLmgKaW5kZXggZGI0ZGY3YjBlNjRlNTIxYmE2ZWFlOWZjZWI4MWM0YjZjMjgyZmVm
OS4uOGE5MDIwMmQ0NTA5NjFhMTU4NzExNDkxZDU3MDU1NjJlODU0OGI5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHVwZGF0ZUNvdW50ZXIoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHdpbGxCZURl
c3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVz
dHJveWVkKCkgb3ZlcnJpZGU7CiAgICAgCiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNDb3VudGVyKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggNzI5N2Y0YTI2ZTBj
ZDg4MzcwYTNlNTE3Nzg2M2I5NmRlNTE2NTRkOC4uZWQxNGQ3MTdlNGEwMTFlMmRlYjcwNDVhNDg5
MzdjYWY5Y2Y4NzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcApAQCAtOTI3LDcgKzkyNyw3IEBAIGlubGluZSB2b2lkIFJlbmRlckVsZW1lbnQ6OmNsZWFy
U3VidHJlZUxheW91dFJvb3RJZk5lZWRlZCgpIGNvbnN0CiAgICAgdmlldygpLmZyYW1lVmlldygp
LmxheW91dENvbnRleHQoKS5jbGVhclN1YnRyZWVMYXlvdXRSb290KCk7CiB9CiAKLXZvaWQgUmVu
ZGVyRWxlbWVudDo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQor
dm9pZCBSZW5kZXJFbGVtZW50Ojp3aWxsQmVEZXN0cm95ZWQoKQogewogICAgIGlmIChtX3N0eWxl
Lmhhc0ZpeGVkQmFja2dyb3VuZEltYWdlKCkgJiYgIXNldHRpbmdzKCkuZml4ZWRCYWNrZ3JvdW5k
c1BhaW50UmVsYXRpdmVUb0RvY3VtZW50KCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5y
ZW1vdmVTbG93UmVwYWludE9iamVjdCgqdGhpcyk7CkBAIC05MzcsNyArOTM3LDcgQEAgdm9pZCBS
ZW5kZXJFbGVtZW50Ojp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIp
CiAgICAgaWYgKGhhc0NvdW50ZXJOb2RlTWFwKCkpCiAgICAgICAgIFJlbmRlckNvdW50ZXI6OmRl
c3Ryb3lDb3VudGVyTm9kZXMoKnRoaXMpOwogCi0gICAgUmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0
cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIAog
ICAgIGNsZWFyU3VidHJlZUxheW91dFJvb3RJZk5lZWRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA1MTBhNjY4ODZiNTU1N2M0NWM3NWVjYzdhOTg4
ODA5M2QxZTg1OGUzLi4yZjExOTQ3NDdhMzM0NzA2Mjg4OTI4ZTJlNzVkZmQ1MjMyNjg4NGMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTI1NCw3ICsyNTQs
NyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGluc2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsK
ICAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpIG92ZXJyaWRlOwotICAgIHZvaWQgd2ls
bEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxs
QmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2V0UmVuZGVySW5saW5lQWx3YXlz
Q3JlYXRlc0xpbmVCb3hlcyhib29sIGIpIHsgbV9yZW5kZXJJbmxpbmVBbHdheXNDcmVhdGVzTGlu
ZUJveGVzID0gYjsgfQogICAgIGJvb2wgcmVuZGVySW5saW5lQWx3YXlzQ3JlYXRlc0xpbmVCb3hl
cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVySW5saW5lQWx3YXlzQ3JlYXRlc0xpbmVCb3hlczsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5j
cHAKaW5kZXggNDQzN2UwNjJhNjAwZWU4M2E3NjgzYjcyMzE3NjM3OWY0NTExODVkYy4uY2QxY2I5
OTc3MDE1NmNiYjMwZTRmNTYyMWEzNWRiNzQ1OTdhOGIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCkBAIC0xMTMsMTAgKzExMywx
MCBAQCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6flJlbmRlckVtYmVkZGVkT2JqZWN0KCkKICAgICAv
LyBEbyBub3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBp
bnN0ZWFkLgogfQogCi12b2lkIFJlbmRlckVtYmVkZGVkT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQo
UmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCit2b2lkIFJlbmRlckVtYmVkZGVkT2JqZWN0Ojp3
aWxsQmVEZXN0cm95ZWQoKQogewogICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5yZW1vdmVFbWJlZGRl
ZE9iamVjdFRvVXBkYXRlKCp0aGlzKTsKLSAgICBSZW5kZXJXaWRnZXQ6OndpbGxCZURlc3Ryb3ll
ZChidWlsZGVyKTsKKyAgICBSZW5kZXJXaWRnZXQ6OndpbGxCZURlc3Ryb3llZCgpOwogfQogCiBS
ZW5kZXJQdHI8UmVuZGVyRW1iZWRkZWRPYmplY3Q+IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpjcmVh
dGVGb3JBcHBsZXQoSFRNTEFwcGxldEVsZW1lbnQmIGFwcGxldCwgUmVuZGVyU3R5bGUmJiBzdHls
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmgK
aW5kZXggMzNmMTkyNWM3ZWUyZGNjNTIzYjA1YjFkYjA3NzZmYTM4NWRkY2UyMC4uYTUyMWQ0YTYw
YWZjNTZkNDI2ZGUzYWRmNDUzNmEyNjcwZDIwYjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJvdGVj
dGVkOgogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKLSAgICB2b2lk
IHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQg
d2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciog
cmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJFbWJlZGRlZE9iamVj
dCI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVu
dGVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZs
b3cuY3BwCmluZGV4IDgyMDlhZGYwYmYwMWY2OGE1MTFmMTU2MTlkYTc0MjA3NWQ1MGNlMmIuLmY1
YTliOGQyM2MyYzkwNGVjZWIwNzEyMTdkNWQ2NDgyNDQzZmI5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcApAQCAtNzYzLDEwICs3
NjMsMTAgQEAgdm9pZCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6ZGVsZXRlTGluZXMoKQogICAgIFJl
bmRlckJsb2NrRmxvdzo6ZGVsZXRlTGluZXMoKTsKIH0KIAotdm9pZCBSZW5kZXJGcmFnbWVudGVk
Rmxvdzo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBS
ZW5kZXJGcmFnbWVudGVkRmxvdzo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBjbGVhckxpbmVz
VG9GcmFnbWVudE1hcCgpOwotICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJlRGVzdHJveWVkKGJ1
aWxkZXIpOworICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIHZv
aWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1hcmtGcmFnbWVudHNGb3JPdmVyZmxvd0xheW91dElm
TmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFn
bWVudGVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmgKaW5kZXggOWNmMjNiY2M4ZTRkNDM0NGY1MDg3MTM3ZmJkZjM4ZGY1ZDI5MTZhNC4uMWVh
Yzk3OGZlYWE5ZTNjNzZhYjJiZWVlMGM1OWYwN2VmZjYwNmE5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKQEAgLTE5NCw3ICsxOTQsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsV2lkdGgo
KSBjb25zdCB7IHJldHVybiAwOyB9OwogICAgIAogICAgIHZvaWQgY2xlYXJMaW5lc1RvRnJhZ21l
bnRNYXAoKTsKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92
ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lk
IG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWlu
dENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3
YXNGaXhlZCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCmluZGV4IDllNzM4ODcwMTcyYmIyZTdjZGQyMDMyOGNjNTczM2QyZWZlNGUyYmUu
LmYzNGVkMTBiMzY1ZDI1MjM5NDViYWZiNTY4YWI5N2I1MGYyMmVmNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtMTQ5LDEwICsxNDksMTAgQEAgUmVuZGVy
SW1hZ2U6On5SZW5kZXJJbWFnZSgpCiAgICAgLy8gRG8gbm90IGFkZCBhbnkgY29kZSBoZXJlLiBB
ZGQgaXQgdG8gd2lsbEJlRGVzdHJveWVkKCkgaW5zdGVhZC4KIH0KIAotdm9pZCBSZW5kZXJJbWFn
ZTo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5k
ZXJJbWFnZTo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBpbWFnZVJlc291cmNlKCkuc2h1dGRv
d24oKTsKLSAgICBSZW5kZXJSZXBsYWNlZDo6d2lsbEJlRGVzdHJveWVkKGJ1aWxkZXIpOworICAg
IFJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogLy8gSWYgd2UnbGwgYmUg
ZGlzcGxheWluZyBlaXRoZXIgYWx0IHRleHQgb3IgYW4gaW1hZ2UsIGFkZCBzb21lIHBhZGRpbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmluZGV4IDA2ZThlMWUwZmZkNmQ5
YTQ1ZTYyODUzMWNjODY4Zjc3ZGY1MjI3NGYuLjU2NTQzMTAxMGNhMmU5OGUxOTBiMDk0Y2RmYzg1
NGRmNmI4OTMxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc05vbkJpdG1hcEltYWdlKCkgY29uc3Q7
CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRl
ciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAg
ICBib29sIG5lZWRzUHJlZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpIGNvbnN0IGZpbmFsOwog
ICAgIFJlbmRlckJveCogZW1iZWRkZWRDb250ZW50Qm94KCkgY29uc3QgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IDI1NGE4ZTg0ZTA4MjIzMmFl
NWZlNDEwZGViNDQ4NTk4NmIzNmUxYTYuLjlhZWE1YzBkNjg4NWJiMmViZmY4MGMxMGY3YmJkNmMx
YWE4YWMyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBA
IC03MCw3ICs3MCw3IEBAIFJlbmRlcklubGluZTo6UmVuZGVySW5saW5lKERvY3VtZW50JiBkb2N1
bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICBzZXRDaGlsZHJlbklubGluZSh0cnVlKTsK
IH0KIAotdm9pZCBSZW5kZXJJbmxpbmU6OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRl
ciYgYnVpbGRlcikKK3ZvaWQgUmVuZGVySW5saW5lOjp3aWxsQmVEZXN0cm95ZWQoKQogewogI2lm
ICFBU1NFUlRfRElTQUJMRUQKICAgICAvLyBNYWtlIHN1cmUgd2UgZG8gbm90IHJldGFpbiAidGhp
cyIgaW4gdGhlIGNvbnRpbnVhdGlvbiBvdXRsaW5lIHRhYmxlIG1hcCBvZiBvdXIgY29udGFpbmlu
ZyBibG9ja3MuCkBAIC0xMDcsNyArMTA3LDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OndpbGxCZURl
c3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlcikKIAogICAgIG1fbGluZUJveGVzLmRl
bGV0ZUxpbmVCb3hlcygpOwogCi0gICAgUmVuZGVyQm94TW9kZWxPYmplY3Q6OndpbGxCZURlc3Ry
b3llZChidWlsZGVyKTsKKyAgICBSZW5kZXJCb3hNb2RlbE9iamVjdDo6d2lsbEJlRGVzdHJveWVk
KCk7CiB9CiAKIHZvaWQgUmVuZGVySW5saW5lOjp1cGRhdGVGcm9tU3R5bGUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4IGEzMzIzNDBmOTNiZjQ1NmFiNmQzOWNl
ZWUzNTg3NDk5MWZlZjkxOGUuLjZlNmJmODdiNTM1NzRhMTllOWFjNDJiYzQxNGJiNTQ2ZjQ5Zjc4
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKQEAgLTkzLDcgKzkz
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGl0VGVzdEN1bGxlZElubGluZShjb25zdCBIaXRUZXN0
UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9u
SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAKIHBy
b3RlY3RlZDoKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92
ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lk
IHN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdT
dHlsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2Us
IGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggNDFjYTY5
ZGUwN2I3OTczOThiODgyMzQ4YmEzNmJlZWM4ZWNhMzVlZS4uNTViNDNhNmM4MjQ5ZGYwZWM1N2Zk
ZTExMzBiZmQ5YmQwZjY3NmNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtNjUsNyArNjUsNyBAQCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0Ojp+UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpCiAgICAgLy8gRG8gbm90IGFk
ZCBhbnkgY29kZSBoZXJlLiBBZGQgaXQgdG8gd2lsbEJlRGVzdHJveWVkKCkgaW5zdGVhZC4KIH0K
IAotdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJl
ZUJ1aWxkZXImIGJ1aWxkZXIpCit2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OndpbGxCZURl
c3Ryb3llZCgpCiB7CiAgICAgaWYgKGlzUG9zaXRpb25lZCgpKSB7CiAgICAgICAgIGlmIChzdHls
ZSgpLmhhc1ZpZXdwb3J0Q29uc3RyYWluZWRQb3NpdGlvbigpKQpAQCAtNzcsNyArNzcsNyBAQCB2
b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVp
bGRlciYgYnVpbGRlcikKICAgICAgICAgZGVzdHJveUxheWVyKCk7CiAgICAgfQogCi0gICAgUmVu
ZGVyRWxlbWVudDo6d2lsbEJlRGVzdHJveWVkKGJ1aWxkZXIpOworICAgIFJlbmRlckVsZW1lbnQ6
OndpbGxCZURlc3Ryb3llZCgpOwogICAgIAogICAgIGNsZWFyUmVwYWludExheW91dFJlY3RzKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuaAppbmRleCAwZDlhNzZlOGFmY2YwMTU1N2U0N2JiMmYxMTZmNTY3OTI3Zjg0MmZjLi5lNjA1
YTQ4YmE1NTE2ZmY4NGM5OWY5ZmE2NmU3YzIzMDY4ODZjZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAgLTczLDcgKzczLDcg
QEAgcHJvdGVjdGVkOgogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QoRG9jdW1lbnQmLCBSZW5k
ZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKIAogICAgIHZvaWQgY3JlYXRlTGF5ZXIoKTsKLSAg
ICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAg
IHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlckxheWVyPiBtX2xheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guY3BwCmluZGV4IGFhOTE3ZWY3MzU3YjVmMjQ0MDI4ZTI0Y2M2ZTI0Yjc2
MmQ2ZmI5NWIuLjRjNGQ5YWJjYjUzYTMyNjZhY2FiOTYwMzI5MzMzYTYxNzk2ZWE4OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTEwNCwxMSArMTA0
LDExIEBAIFJlbmRlckxpc3RCb3g6On5SZW5kZXJMaXN0Qm94KCkKICAgICAvLyBEbyBub3QgYWRk
IGFueSBjb2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQog
Ci12b2lkIFJlbmRlckxpc3RCb3g6OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYg
YnVpbGRlcikKK3ZvaWQgUmVuZGVyTGlzdEJveDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBz
ZXRIYXNWZXJ0aWNhbFNjcm9sbGJhcihmYWxzZSk7CiAgICAgdmlldygpLmZyYW1lVmlldygpLnJl
bW92ZVNjcm9sbGFibGVBcmVhKHRoaXMpOwotICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJlRGVz
dHJveWVkKGJ1aWxkZXIpOworICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJlRGVzdHJveWVkKCk7
CiB9CiAKIEhUTUxTZWxlY3RFbGVtZW50JiBSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDg4YzQ3
MjMwMTRmY2RkZDBjOTRmMTYxNWFjODk4Nzc4NjRiNTI1ZTQuLjlkNjk0ZGY0NWEzMmIwM2QyODk3
YjkxMGIzZGJlYzg4M2NkZjU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxlZFRvUmln
aHQoKSBjb25zdCBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3ll
ZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVk
KCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCmluZGV4IDYxYzNj
NWFkNjZkMjQwNmZjYzIwYTQzOTQ1ZWUxNjZjZmRlMTNkMzMuLmRkMTg3NzcyODIyY2EyMjE3YWM2
MmNkYTQ5OTMzMjI5YjJmZDdhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0TWFya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdE1hcmtlci5jcHAKQEAgLTExMzQsMTEgKzExMzQsMTEgQEAgUmVuZGVyTGlzdE1hcmtl
cjo6flJlbmRlckxpc3RNYXJrZXIoKQogICAgIC8vIERvIG5vdCBhZGQgYW55IGNvZGUgaGVyZS4g
QWRkIGl0IHRvIHdpbGxCZURlc3Ryb3llZCgpIGluc3RlYWQuCiB9CiAKLXZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9p
ZCBSZW5kZXJMaXN0TWFya2VyOjp3aWxsQmVEZXN0cm95ZWQoKQogewogICAgIGlmIChtX2ltYWdl
KQogICAgICAgICBtX2ltYWdlLT5yZW1vdmVDbGllbnQodGhpcyk7Ci0gICAgUmVuZGVyQm94Ojp3
aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQo
KTsKIH0KIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZl
cmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKaW5kZXggOTI3OGRjMjA0MTkwZDAzOGVmMDRh
MWQ5OWY4N2VjZjI3ZTQyYjg5Yi4uMTNmMTI0ZjAzN2I0ZGIyMzdjMDU3ZTI4ZDljMWY5ZGQ1NDAw
MmVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCkBA
IC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgotICAgIHZvaWQgd2ls
bEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxs
QmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZWxlbWVudCgpIGNvbnN0ID0gZGVs
ZXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRl
eCBhM2MwYTgwMWUwODQyN2VkMGU4NjFmNWRjNWI4NzM5ODc3MTE3NTVlLi5kZTU3ZmExYzM5YmU0
ZDE2NGQyNmJiMWU0Nzg5NTMwMmVlNjdmZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgUmVuZGVyTWVudUxpc3Q6On5S
ZW5kZXJNZW51TGlzdCgpCiAgICAgLy8gRG8gbm90IGFkZCBhbnkgY29kZSBoZXJlLiBBZGQgaXQg
dG8gd2lsbEJlRGVzdHJveWVkKCkgaW5zdGVhZC4KIH0KIAotdm9pZCBSZW5kZXJNZW51TGlzdDo6
d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5kZXJN
ZW51TGlzdDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlm
IChtX3BvcHVwKQpAQCAtOTYsNyArOTYsNyBAQCB2b2lkIFJlbmRlck1lbnVMaXN0Ojp3aWxsQmVE
ZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiAgICAgbV9wb3B1cCA9IG51bGxw
dHI7CiAjZW5kaWYKIAotICAgIFJlbmRlckZsZXhpYmxlQm94Ojp3aWxsQmVEZXN0cm95ZWQoYnVp
bGRlcik7CisgICAgUmVuZGVyRmxleGlibGVCb3g6OndpbGxCZURlc3Ryb3llZCgpOwogfQogCiB2
b2lkIFJlbmRlck1lbnVMaXN0OjpzZXRJbm5lclJlbmRlcmVyKFJlbmRlckJsb2NrJiBpbm5lclJl
bmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAppbmRleCBl
YTE0ODNmYTc4M2VhYzlhMjg0YTY2MzBjNjlhZGVjYzgzNDgwMmQzLi42MmY2MzAwMmYwMGUyZGU0
ZTM5ZWM0OGQwYWQ5ZDU0MzllNTA5ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRJbnNl
cnRDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsK
IAogcHJpdmF0ZToKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYp
IG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2
b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCBmMjBkYTc0YzM3YzJhMjAyNmU0NWE0NDc3OWFkMzk0NDlh
NWQzY2IxLi5kZjYwZmQ3YTM0MGQwYjVkMDU5NzYxZDczMDdkMWU5NDA0ZTg4OTRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTQyOCw3ICsxNDI4LDcg
QEAgYm9vbCBSZW5kZXJPYmplY3Q6OmlzU2VsZWN0aW9uQm9yZGVyKCkgY29uc3QKICAgICAgICAg
fHwgdmlldygpLnNlbGVjdGlvbigpLmVuZCgpID09IHRoaXM7CiB9CiAKLXZvaWQgUmVuZGVyT2Jq
ZWN0Ojp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImKQordm9pZCBSZW5kZXJPYmpl
Y3Q6OndpbGxCZURlc3Ryb3llZCgpCiB7CiAgICAgQVNTRVJUKCFtX3BhcmVudCk7CiAgICAgQVNT
RVJUKHJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpIHx8ICFpczxSZW5kZXJFbGVtZW50PigqdGhp
cykgfHwgIXZpZXcoKS5mcmFtZVZpZXcoKS5oYXNTbG93UmVwYWludE9iamVjdChkb3duY2FzdDxS
ZW5kZXJFbGVtZW50PigqdGhpcykpKTsKQEAgLTE0NzksNyArMTQ3OSw3IEBAIHZvaWQgUmVuZGVy
T2JqZWN0OjpkZXN0cm95KCkKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyQm94TW9kZWxPYmplY3Q+
KCp0aGlzKS5sYXllcigpLT53aWxsQmVEZXN0cm95ZWQoKTsKICNlbmRpZgogCi0gICAgd2lsbEJl
RGVzdHJveWVkKCpSZW5kZXJUcmVlQnVpbGRlcjo6Y3VycmVudCgpKTsKKyAgICB3aWxsQmVEZXN0
cm95ZWQoKTsKIAogICAgIGlmIChpczxSZW5kZXJXaWRnZXQ+KCp0aGlzKSkgewogICAgICAgICBk
b3duY2FzdDxSZW5kZXJXaWRnZXQ+KCp0aGlzKS5kZXJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDYxZjc2YTc1Mzc4YjUxMjAzNjAzNThlOTZkNzgxYzMz
MTQ2ODM3ZTEuLjNjNGYxNWFhNGYxYjQwZDZkYmJiOWFjYWRmMTQzNjQyNzUyZDBlMDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc5MSw3ICs3OTEsNyBAQCBw
cm90ZWN0ZWQ6CiAKICAgICB2b2lkIGFkanVzdFJlY3RGb3JPdXRsaW5lQW5kU2hhZG93KExheW91
dFJlY3QmKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoUmVuZGVy
VHJlZUJ1aWxkZXImKTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKICAg
ICB2b2lkIHNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0Qml0KGJvb2wgYikgeyBtX2Jp
dGZpZWxkcy5zZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dChiKTsgfQogICAgIHZvaWQg
c2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dEJpdChib29sIGIpIHsgbV9iaXRmaWVsZHMuc2V0Tm9y
bWFsQ2hpbGROZWVkc0xheW91dChiKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZXBsYWNlZC5jcHAKaW5kZXggYTdjOGQ5MWY1OWEwNTc2MGUxODAzNzZhZGYxNTQxOGVlMzBj
ZTc5YS4uY2FkZGQ0ZWE4N2VlOWMyOWRmNzJlYzA0NzRmMDdhOGZkZTAwMDMzZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC03MiwxMiArNzIsMTIg
QEAgUmVuZGVyUmVwbGFjZWQ6OlJlbmRlclJlcGxhY2VkKERvY3VtZW50JiBkb2N1bWVudCwgUmVu
ZGVyU3R5bGUmJiBzdHlsZSwgY29uc3QgTGEKIAogUmVuZGVyUmVwbGFjZWQ6On5SZW5kZXJSZXBs
YWNlZCgpID0gZGVmYXVsdDsKIAotdm9pZCBSZW5kZXJSZXBsYWNlZDo6d2lsbEJlRGVzdHJveWVk
KFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5kZXJSZXBsYWNlZDo6d2lsbEJl
RGVzdHJveWVkKCkKIHsKICAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpICYmIHBh
cmVudCgpKQogICAgICAgICBwYXJlbnQoKS0+ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoKnRo
aXMpOwogCi0gICAgUmVuZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVu
ZGVyQm94Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogdm9pZCBSZW5kZXJSZXBsYWNlZDo6c3R5
bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggYmY2
OWJmYzcwNzg4NTE3OTE5YzQ2OWY0YTU1ODBkMTNhNmI2YjkxNC4uYWU1ZDk1NDQ3M2Q4OGYzNDA4
MjhmM2I3YjAzOTQzYTBiMTdmZmUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgc2hvdWxk
UGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKICAgICBMYXlvdXRSZWN0IGxv
Y2FsU2VsZWN0aW9uUmVjdChib29sIGNoZWNrV2hldGhlclNlbGVjdGVkID0gdHJ1ZSkgY29uc3Q7
IC8vIFRoaXMgaXMgaW4gbG9jYWwgY29vcmRpbmF0ZXMsIGJ1dCBpdCdzIGEgcGh5c2ljYWwgcmVj
dCAoc28gdGhlIHRvcCBsZWZ0IGNvcm5lciBpcyBwaHlzaWNhbCB0b3AgbGVmdCkuCiAKLSAgICB2
b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZv
aWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgTGF5b3V0VW5p
dCBjb21wdXRlQ29uc3RyYWluZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNo
RmllbGQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmNw
cAppbmRleCA1YTgzMjhlZjg1MTVmMTM5NWEyNjdjYzk0OTZkZDE1YmU5NzQyMDk3Li44OGZkNjRh
YmFjODA0NWY1YmYyNTM3MjE0MTg3MjlmYTRhNzkzNzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5jcHAKQEAgLTY0LDE0ICs2NCwxNCBAQCBSZW5k
ZXJTZWFyY2hGaWVsZDo6flJlbmRlclNlYXJjaEZpZWxkKCkKICAgICAvLyBEbyBub3QgYWRkIGFu
eSBjb2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQogCi12
b2lkIFJlbmRlclNlYXJjaEZpZWxkOjp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIpCit2b2lkIFJlbmRlclNlYXJjaEZpZWxkOjp3aWxsQmVEZXN0cm95ZWQoKQogewog
ICAgIGlmIChtX3NlYXJjaFBvcHVwKSB7CiAgICAgICAgIG1fc2VhcmNoUG9wdXAtPnBvcHVwTWVu
dSgpLT5kaXNjb25uZWN0Q2xpZW50KCk7CiAgICAgICAgIG1fc2VhcmNoUG9wdXAgPSBudWxscHRy
OwogICAgIH0KIAotICAgIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6d2lsbEJlRGVzdHJv
eWVkKGJ1aWxkZXIpOworICAgIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6d2lsbEJlRGVz
dHJveWVkKCk7CiB9CiAKIGlubGluZSBIVE1MRWxlbWVudCogUmVuZGVyU2VhcmNoRmllbGQ6OnJl
c3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlYXJjaEZpZWxkLmgKaW5kZXggMjMzZTZlZDdjZTlhNGI0ZmExNDFjNmZiMDY1ZDJjMGU1
MGFkNWRhZi4uM2E4NDFkZWQzZjlhZGEzYTUyOTE5MjUyM2U0MTQxNjNhODRlM2FlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKQEAgLTQ4LDcgKzQ4
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIGlzU2VhcmNoRmllbGQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJU
cmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udHJvbExvZ2ljYWxIZWlnaHQoTGF5b3V0VW5p
dCBsaW5lSGVpZ2h0LCBMYXlvdXRVbml0IG5vbkNvbnRlbnRIZWlnaHQpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBvdmVycmlkZTsKICAgICBFVmlzaWJpbGl0
eSB2aXNpYmlsaXR5Rm9yQ2FuY2VsQnV0dG9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAppbmRleCBlNDQ3MjIx
YjVkZTk0NDcwNGZmMDAyYjAwN2I0MzJlMTMwZWM1NmIwLi5lZTYyMzMwZDkzODY3ZGUwMGJhY2U2
ZDAyYWRlOTU3Y2QzMTgwMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKQEAgLTYzLDEyICs2MywxMiBAQCBSZW5kZXJT
bmFwc2hvdHRlZFBsdWdJbjo6flJlbmRlclNuYXBzaG90dGVkUGx1Z0luKCkKICAgICAvLyBEbyBu
b3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBpdCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFk
LgogfQogCi12b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjp3aWxsQmVEZXN0cm95ZWQoUmVu
ZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCit2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjp3
aWxsQmVEZXN0cm95ZWQoKQogewogICAgIEFTU0VSVChtX3NuYXBzaG90UmVzb3VyY2UpOwogICAg
IG1fc25hcHNob3RSZXNvdXJjZS0+c2h1dGRvd24oKTsKIAotICAgIFJlbmRlckVtYmVkZGVkT2Jq
ZWN0Ojp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OndpbGxCZURlc3Ryb3llZCgpOwogfQogCiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50JiBSZW5kZXJT
bmFwc2hvdHRlZFBsdWdJbjo6cGx1Z0luSW1hZ2VFbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKaW5kZXggNWIx
YmU4OTA2ZTE4ODI5YzE4YmQ5MjI3NmEyN2E0NTBkZDI4ZDViZC4uYTQ1YTMxYTU3MGIyZWZjYjQ1
YTZlMTBlYjQ2N2I4ZWFiMGRjNDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgaGFuZGxlRXZlbnQoRXZlbnQmKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHdpbGxC
ZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJl
RGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBmcmFtZU93bmVyRWxlbWVudCgpIGNvbnN0
ID0gZGVsZXRlOwogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiAiUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4iOyB9CiAgICAgQ3Vyc29yRGlyZWN0aXZlIGdl
dEN1cnNvcihjb25zdCBMYXlvdXRQb2ludCYsIEN1cnNvciYpIGNvbnN0IGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IDUxYzJmYmVmZjUwY2M1YTY0MTg5
MGRlZTUzYTU5ZDI4YmQ4ZWUxMWUuLjZhZTA0N2M0NjlmZTljZGFiZWYyMWNkZGNhZWM5NjczMzI1
ZWRhN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTI4Nyw3
ICsyODcsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnJlbW92ZUFuZERlc3Ryb3lUZXh0Qm94ZXMoKQog
ICAgIG1fbGluZUJveGVzLmRlbGV0ZUFsbCgpOwogfQogCi12b2lkIFJlbmRlclRleHQ6OndpbGxC
ZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlcikKK3ZvaWQgUmVuZGVyVGV4dDo6
d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBzZWN1cmVUZXh0VGltZXJzKCkucmVtb3ZlKHRoaXMp
OwogCkBAIC0yOTgsNyArMjk4LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp3aWxsQmVEZXN0cm95ZWQo
UmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiAKICAgICBzZXRJbmxpbmVXcmFwcGVyRm9yRGlz
cGxheUNvbnRlbnRzKG51bGxwdHIpOwogCi0gICAgUmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95
ZWQoYnVpbGRlcik7CisgICAgUmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAog
dm9pZCBSZW5kZXJUZXh0OjpkZWxldGVMaW5lQm94ZXNCZWZvcmVTaW1wbGVMaW5lTGF5b3V0KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCmluZGV4IGMyNDYzMThkZDZjZDcxMmFi
ZDZiNjVkNzE3NGIwNTc1MDRiMGZiMDEuLmY0NjI5MGY1ZGVhYjBhZWJlOWM3YzgyNDBkMGQ2ZjM5
NDU2NjgwNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaApAQCAtMTgzLDcg
KzE4Myw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwotICAgIHZvaWQgd2lsbEJl
RGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVE
ZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZW5kZXJlZFRleHQo
Y29uc3QgU3RyaW5nJik7CiAgICAgdmlydHVhbCBVQ2hhciBwcmV2aW91c0NoYXJhY3RlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sTXVsdGlMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbE11bHRpTGluZS5jcHAKaW5kZXggN2UwMjVlYWM2Mzc5NTY0NjkzMDlmMmNlNzNlNGUyZTEw
NjE4M2M4Ny4uNTI2Mzg1Y2RhMmQ3MTIzNmI2NTQ2MTU5ODg3ZDVmMTVhYTA3MjdiMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0
aUxpbmUuY3BwCkBAIC00NSwxMiArNDUsMTIgQEAgUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmU6
On5SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSgpCiAgICAgLy8gRG8gbm90IGFkZCBhbnkgY29k
ZSBoZXJlLiBBZGQgaXQgdG8gd2lsbEJlRGVzdHJveWVkKCkgaW5zdGVhZC4KIH0KIAotdm9pZCBS
ZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZTo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWls
ZGVyJiBidWlsZGVyKQordm9pZCBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZTo6d2lsbEJlRGVz
dHJveWVkKCkKIHsKICAgICBpZiAodGV4dEFyZWFFbGVtZW50KCkuaXNDb25uZWN0ZWQoKSkKICAg
ICAgICAgdGV4dEFyZWFFbGVtZW50KCkucmVuZGVyZXJXaWxsQmVEZXN0cm95ZWQoKTsKIAotICAg
IFJlbmRlclRleHRDb250cm9sOjp3aWxsQmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVy
VGV4dENvbnRyb2w6OndpbGxCZURlc3Ryb3llZCgpOwogfQogCiBIVE1MVGV4dEFyZWFFbGVtZW50
JiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZTo6dGV4dEFyZWFFbGVtZW50KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRp
TGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlM
aW5lLmgKaW5kZXggMTk2MDhlZjczNTQxZDZiNTQ0OWY0ODAyYWM4NWJlMjZhZWRkN2M1Zi4uNzIx
YWY5ZjZhMzNmYWY0Yjg5Yzc1MWNiZTkyNDkzOGI0Y2QzYjA2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmgKQEAgLTM1
LDcgKzM1LDcgQEAgcHVibGljOgogICAgIEhUTUxUZXh0QXJlYUVsZW1lbnQmIHRleHRBcmVhRWxl
bWVudCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKFJlbmRl
clRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVy
cmlkZTsKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKIAogICAgIGJvb2wgaXNU
ZXh0QXJlYSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCmluZGV4IDY0MTA2NTJlMDllOGUwNjY5NDBhNjIzNGVm
NTg3ZTAwOWI4YzI0ZDQuLjAyODkyMDViNWVlZTExMDU5ZDZjYjdmZTc2MjgyNzVkYWExZmQ3MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtNjIsMTIgKzYy
LDEyIEBAIFJlbmRlclZpZGVvOjp+UmVuZGVyVmlkZW8oKQogICAgIC8vIERvIG5vdCBhZGQgYW55
IGNvZGUgaGVyZS4gQWRkIGl0IHRvIHdpbGxCZURlc3Ryb3llZCgpIGluc3RlYWQuCiB9CiAKLXZv
aWQgUmVuZGVyVmlkZW86OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRl
cikKK3ZvaWQgUmVuZGVyVmlkZW86OndpbGxCZURlc3Ryb3llZCgpCiB7CiAgICAgaWYgKGF1dG8g
cGxheWVyID0gdmlkZW9FbGVtZW50KCkucGxheWVyKCkpCiAgICAgICAgIHBsYXllci0+c2V0Vmlz
aWJsZShmYWxzZSk7CiAKLSAgICBSZW5kZXJNZWRpYTo6d2lsbEJlRGVzdHJveWVkKGJ1aWxkZXIp
OworICAgIFJlbmRlck1lZGlhOjp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogdm9pZCBSZW5kZXJW
aWRlbzo6dmlzaWJsZUluVmlld3BvcnRTdGF0ZUNoYW5nZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uaAppbmRleCBkMjM0ZjRiZjdhN2QxN2EzZTg5MTEzZjIyZDllOWYxYjY3
NjIzZGQ2Li44ZTI1YzY4YTUzZjg5YjRhMTcwZmI5NjUxYjE4N2ZmYjhhYzBmYWMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpIGZpbmFsOwogCiBwcml2YXRlOgotICAgIHZv
aWQgd2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9p
ZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIG1lZGlhRWxlbWVudCgpIGNv
bnN0ID0gZGVsZXRlOwogCiAgICAgdm9pZCBpbnRyaW5zaWNTaXplQ2hhbmdlZCgpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcAppbmRleCA0ZjcyZDE0Y2I3
ZTU4OGI1MTY4NDA5NGE2OWNlNWQxYjVkMDY0MjlmLi5hMmVjZDA4MWQ3NWVhZjE2YWFjMTI3Mzg4
YzY2ZTIwNzcxMDMxYmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0
LmNwcApAQCAtODgsNyArODgsNyBAQCBSZW5kZXJXaWRnZXQ6OlJlbmRlcldpZGdldChIVE1MRnJh
bWVPd25lckVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgc2V0SW5s
aW5lKGZhbHNlKTsKIH0KIAotdm9pZCBSZW5kZXJXaWRnZXQ6OndpbGxCZURlc3Ryb3llZChSZW5k
ZXJUcmVlQnVpbGRlciYgYnVpbGRlcikKK3ZvaWQgUmVuZGVyV2lkZ2V0Ojp3aWxsQmVEZXN0cm95
ZWQoKQogewogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoaGFzTGF5ZXIoKSkKQEAgLTEwMiw3
ICsxMDIsNyBAQCB2b2lkIFJlbmRlcldpZGdldDo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVC
dWlsZGVyJiBidWlsZGVyKQogCiAgICAgc2V0V2lkZ2V0KG51bGxwdHIpOwogCi0gICAgUmVuZGVy
UmVwbGFjZWQ6OndpbGxCZURlc3Ryb3llZChidWlsZGVyKTsKKyAgICBSZW5kZXJSZXBsYWNlZDo6
d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIFJlbmRlcldpZGdldDo6flJlbmRlcldpZGdldCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmgKaW5kZXggNzhhZWQzZjEyYzU5NjM5
ODAzNzVlNWZjZjk4Yzc3YWUyMWQ5ZDIzMy4uOGFlM2QyYzY1YjJkNDRlNTI2MDBhMDJjN2E2M2Y3
MzQ1NDlkMTk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldp
ZGdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaApAQCAt
NzcsNyArNzcsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyV2lkZ2V0KEhUTUxG
cmFtZU93bmVyRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogCi0gICAgdm9pZCB3aWxsQmVEZXN0
cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZURlc3Ry
b3llZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIGZpbmFsOwogICAgIHZvaWQgbGF5b3V0KCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Js
b2NrLmNwcAppbmRleCAzMzU1NTZkNDE3OGY3Mjk1OTQ3MmVlNDA4ODgwNjA0NmQ4M2UxYmU5Li5i
MDExNjc1OTEyOTE3NjRlMjM1ZDM5NjY1MGM2YjkzYzc5M2U3Yzc5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmNwcApAQCAtNzEsMTAgKzcxLDEw
IEBAIHZvaWQgUmVuZGVyU1ZHQmxvY2s6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+Jiwg
Y29uc3QgTGF5b3V0UG9pbnQmKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
Ci12b2lkIFJlbmRlclNWR0Jsb2NrOjp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIpCit2b2lkIFJlbmRlclNWR0Jsb2NrOjp3aWxsQmVEZXN0cm95ZWQoKQogewogICAg
IFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnREZXN0cm95ZWQoKnRoaXMpOwotICAgIFJlbmRlckJs
b2NrRmxvdzo6d2lsbEJlRGVzdHJveWVkKGJ1aWxkZXIpOworICAgIFJlbmRlckJsb2NrRmxvdzo6
d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyU1ZHQmxvY2s6OnN0eWxlRGlkQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmgKaW5kZXggZDRl
NmIxMjVlMWJkODI1ODM3OTlmNzY3MjM1YzI2MGY1ZTY2ZjhiZS4uZmVkYmE2NmZhNGM1MGU4MDJm
NDk5NDEwMDBhMzEzNDk0ZDAzZDBiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHQmxvY2suaApAQCAtMzUsNyArMzUsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3Rl
ZDoKICAgICBSZW5kZXJTVkdCbG9jayhTVkdHcmFwaGljc0VsZW1lbnQmLCBSZW5kZXJTdHlsZSYm
KTsKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRl
OworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBlbGVtZW50KCkgY29uc3QgPSBkZWxldGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuY3BwCmluZGV4IDJkMzllYjQyMjk0ZDIyNDE3YTNmY2Vm
NDY4MTBjY2NkYmFiMWM5ZjUuLjk0ZWVmZTg1ZDVmNTc3OGRlNzdiZmEwZjI0NzBjYmU5OGE2MTlj
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1h
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2Uu
Y3BwCkBAIC01NywxMCArNTcsMTAgQEAgUmVuZGVyU1ZHSW1hZ2U6OlJlbmRlclNWR0ltYWdlKFNW
R0ltYWdlRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIAogUmVuZGVyU1ZH
SW1hZ2U6On5SZW5kZXJTVkdJbWFnZSgpID0gZGVmYXVsdDsKIAotdm9pZCBSZW5kZXJTVkdJbWFn
ZTo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBSZW5k
ZXJTVkdJbWFnZTo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICBpbWFnZVJlc291cmNlKCkuc2h1
dGRvd24oKTsKLSAgICBSZW5kZXJTVkdNb2RlbE9iamVjdDo6d2lsbEJlRGVzdHJveWVkKGJ1aWxk
ZXIpOworICAgIFJlbmRlclNWR01vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAog
U1ZHSW1hZ2VFbGVtZW50JiBSZW5kZXJTVkdJbWFnZTo6aW1hZ2VFbGVtZW50KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAppbmRleCBiYzRl
ZDcxODgwZTIzMDg1MmI1OTMxNjFiY2FhOGFjNzBhYzU5NjAxLi5hMjI3YzE2N2U4MTRkZjhiZjYx
ZmYzODFjYmEzMDM2MTQ0YzdmMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdJbWFnZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBh
aW50Rm9yZWdyb3VuZChQYWludEluZm8mKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHdpbGxCZURl
c3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVz
dHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxp
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3Bw
CmluZGV4IGE2MmY0ZDcwMGRkMjBhYTY5ZDYxZGU0YjZjZGFiMWY3Nzk3ODllNGYuLjJmNzQ2MDc2
ZDMyMmM0NjdmOTUwZWQ0NmE5YWUzMjU2ZWRhOTExMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5jcHAKQEAgLTEwMSwxMCArMTAxLDEwIEBA
IHZvaWQgUmVuZGVyU1ZHSW5saW5lOjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBx
dWFkcywgYm9vbCogd2FzRml4ZWQpIGNvCiAgICAgICAgIHF1YWRzLmFwcGVuZChsb2NhbFRvQWJz
b2x1dGVRdWFkKEZsb2F0UmVjdCh0ZXh0Qm91bmRpbmdCb3gueCgpICsgYm94LT54KCksIHRleHRC
b3VuZGluZ0JveC55KCkgKyBib3gtPnkoKSwgYm94LT5sb2dpY2FsV2lkdGgoKSwgYm94LT5sb2dp
Y2FsSGVpZ2h0KCkpLCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkpOwogfQogCi12b2lkIFJlbmRl
clNWR0lubGluZTo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQor
dm9pZCBSZW5kZXJTVkdJbmxpbmU6OndpbGxCZURlc3Ryb3llZCgpCiB7CiAgICAgU1ZHUmVzb3Vy
Y2VzQ2FjaGU6OmNsaWVudERlc3Ryb3llZCgqdGhpcyk7Ci0gICAgUmVuZGVySW5saW5lOjp3aWxs
QmVEZXN0cm95ZWQoYnVpbGRlcik7CisgICAgUmVuZGVySW5saW5lOjp3aWxsQmVEZXN0cm95ZWQo
KTsKIH0KIAogdm9pZCBSZW5kZXJTVkdJbmxpbmU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuaAppbmRleCA0ZTgwOTQ1YzIzNjg1Mjky
NWI1MzZhMTQ1MGE1YmQ0ZmIwMzViNTE1Li41NDliYWM0OWJhMTdiYjYwYTMwNDE5MDJjNGRhN2I1
NWZiZDI2MWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0lubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
SW5saW5lLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbmxpbmVGbG93Qm94PiBjcmVhdGVJbmxpbmVGbG93Qm94KCkgZmluYWw7CiAKLSAgICB2b2lk
IHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIGZpbmFsOworICAgIHZvaWQgd2ls
bEJlRGVzdHJveWVkKCkgZmluYWw7CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZl
cmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgZmluYWw7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3Bw
CmluZGV4IDEzZTJjODhmMzdjZmI4MjRjNGUxZTI3MmVkZThkYzM1YTk4YjBlZmMuLjkyYWI2NTNk
NzMxYzY3ZWVkYjhmNzQ0OWVkMDMwZTEwMzI0MzNhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCkBAIC05MiwxMCAr
OTIsMTAgQEAgdm9pZCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8
RmxvYXRRdWFkPiYgcXVhZHMsIGJvb2wqIHdhc0ZpeGUKICAgICBxdWFkcy5hcHBlbmQobG9jYWxU
b0Fic29sdXRlUXVhZChzdHJva2VCb3VuZGluZ0JveCgpLCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhl
ZCkpOwogfQogCi12b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoUmVu
ZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCit2b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0Ojp3aWxs
QmVEZXN0cm95ZWQoKQogewogICAgIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnREZXN0cm95ZWQo
KnRoaXMpOwotICAgIFJlbmRlckVsZW1lbnQ6OndpbGxCZURlc3Ryb3llZChidWlsZGVyKTsKKyAg
ICBSZW5kZXJFbGVtZW50Ojp3aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAogdm9pZCBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAppbmRleCA4OTlkOTY5OTBkODM1NTcyMWU4NWY4ZmNl
NGJiOGRjMjRjM2U1YjBmLi44ZTNhMGUxMmY1NGRhYWNiNDc2ZmIzNGE5ZTk5YjE3ODI2Y2MwN2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2Rl
bE9iamVjdC5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBSZW5k
ZXJTVkdNb2RlbE9iamVjdChTVkdFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CiAKLSAgICB2b2lk
IHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJyaWRlOworICAgIHZvaWQg
d2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRl
clNWR01vZGVsT2JqZWN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyLmNwcAppbmRleCAyMDc0OWQ3ZDEzMmUyYzFjMjc0ZWE5ZWE4YzA1NTdkYzE2ODAyOWRl
Li4wMTQ0OTRiZmY2NDAzOWMzYWJiNjY0NDlkMzM5ZWU2NDU2YWUzZmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyLmNwcApAQCAtNTUsNyArNTUsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyOjpsYXlvdXQoKQogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6bGF5b3V0KCk7CiB9
CiAKLXZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OndpbGxCZURlc3Ryb3llZChSZW5k
ZXJUcmVlQnVpbGRlciYgYnVpbGRlcikKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6
OndpbGxCZURlc3Ryb3llZCgpCiB7CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OnJlc291cmNlRGVz
dHJveWVkKCp0aGlzKTsKIApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyOjp3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCiAg
ICAgICAgIG1fcmVnaXN0ZXJlZCA9IGZhbHNlOwogICAgIH0KIAotICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lcjo6d2lsbEJlRGVzdHJveWVkKGJ1aWxkZXIpOworICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lcjo6d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXI6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKaW5kZXggYmZlNDMwZDg3NGJm
YjA2N2ZjNGNlMTg1OTFkMDllYmEwMzA5MWE1My4uZjYzN2I3MTRkYTViOWM5YWRiNzBlODYxYzgz
MDc1M2ExN2JjYzQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgYWRkQ2xpZW50KFJlbmRlckVsZW1lbnQmKTsKICAgICB2b2lkIHJlbW92
ZUNsaWVudChSZW5kZXJFbGVtZW50Jik7CiAKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5k
ZXJUcmVlQnVpbGRlciYpIGZpbmFsOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgZmluYWw7
CiAgICAgdm9pZCByZWdpc3RlclJlc291cmNlKCk7CiAKICAgICBBdG9taWNTdHJpbmcgbV9pZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4
IDliZjM0Y2MxYWQxZGE5OTI2ZTFjNGQzM2E3ODYwMmUyMjIyNWY4NzYuLjcyODg5ZGZjODY4NWVh
MzA1MmUwYmI0ZDhhMGY4YmQ4OGMzOWYyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMjcwLDEyICsyNzAsMTIgQEAgdm9pZCBSZW5k
ZXJTVkdSb290OjpwYWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgcGFpbnQKICAgICBjaGlsZFBhaW50SW5mby5jb250ZXh0KCkucmVzdG9yZSgpOwog
fQogCi12b2lkIFJlbmRlclNWR1Jvb3Q6OndpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRl
ciYgYnVpbGRlcikKK3ZvaWQgUmVuZGVyU1ZHUm9vdDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAg
ICBSZW5kZXJCbG9jazo6cmVtb3ZlUGVyY2VudEhlaWdodERlc2NlbmRhbnQoY29uc3RfY2FzdDxS
ZW5kZXJTVkdSb290Jj4oKnRoaXMpKTsKIAogICAgIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRE
ZXN0cm95ZWQoKnRoaXMpOwotICAgIFJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQoYnVp
bGRlcik7CisgICAgUmVuZGVyUmVwbGFjZWQ6OndpbGxCZURlc3Ryb3llZCgpOwogfQogCiB2b2lk
IFJlbmRlclNWR1Jvb3Q6Omluc2VydGVkSW50b1RyZWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCAzOTY5ODE0M2IyZGYzZjQwZjQ3MWRiMTU2
ZWYwNDkzNWNjNzI3YzE0Li5mZDU3Y2QwMWJhNTg1MTMxN2JkYzMxNDBkZGE1OGMzOTBmYjBhNWQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaApAQCAt
NzYsNyArNzYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbGF5b3V0KCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jikgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpIG92ZXJy
aWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGlu
c2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJl
ZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
VGV4dC5jcHAKaW5kZXggNDhlZDcxMWU1OWIwODVkN2QxNzUzOWU5ZDI0M2IzZmI4MDUyZmNhMy4u
ZDdlNjRjYmM0OGU5YmIwYjJhNDk2Yzc2MjNmZjVmZWE2NDU1ZTVmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCkBAIC0yMjUsMTIgKzIyNSwx
MiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tMYXlvdXRBdHRyaWJ1dGVzQ29uc2lzdGVuY3ko
UmVuZGVyU1ZHVGV4dCogdGV4dCwgVmVjdG9yPAogI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyU1ZH
VGV4dDo6d2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQordm9pZCBS
ZW5kZXJTVkdUZXh0Ojp3aWxsQmVEZXN0cm95ZWQoKQogewogICAgIG1fbGF5b3V0QXR0cmlidXRl
cy5jbGVhcigpOwogICAgIG1fbGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuY2xlYXJUZXh0UG9zaXRp
b25pbmdFbGVtZW50cygpOwogCi0gICAgUmVuZGVyU1ZHQmxvY2s6OndpbGxCZURlc3Ryb3llZChi
dWlsZGVyKTsKKyAgICBSZW5kZXJTVkdCbG9jazo6d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKIHZv
aWQgUmVuZGVyU1ZHVGV4dDo6c3VidHJlZUNoaWxkV2lsbEJlUmVtb3ZlZChSZW5kZXJPYmplY3Qq
IGNoaWxkLCBWZWN0b3I8U1ZHVGV4dExheW91dEF0dHJpYnV0ZXMqLCAyPiYgYWZmZWN0ZWRBdHRy
aWJ1dGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaApp
bmRleCBkY2JkMzhmODJiOWE3MWE4OThkMmE1MzA4ODE0OGJmZmI2MDFlYmFkLi5hNWQxYTc4Yjk4
YjMwNjU3NTUwM2ZhODcyZGJhYWM3ZjY5ZTA3NzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncywg
Ym9vbCogd2FzRml4ZWQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFJlbmRlck9iamVjdCog
cHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNl
c3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZv
aWQgd2lsbEJlRGVzdHJveWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CisgICAgdm9p
ZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgbG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbG9j
YWxUcmFuc2Zvcm07IH0KICAgICBBZmZpbmVUcmFuc2Zvcm0gbG9jYWxUcmFuc2Zvcm0oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>