<?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>65494</bug_id>
          
          <creation_ts>2011-08-01 15:36:31 -0700</creation_ts>
          <short_desc>RenderObject::computeRectForRepaint and clippedOverflowRectForRepaint should be const</short_desc>
          <delta_ts>2011-08-02 18:58:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>444934</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-08-01 15:36:31 -0700</bug_when>
    <thetext>To test some code, I wanted to call those 2 from a const method and could not without an ugly cast. Those methods return a copy of the solution and are not expected to modify the internal state so I think they satisfy the definition of const-ness as discussed on the ML.

Trivial patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444939</commentid>
    <comment_count>1</comment_count>
      <attachid>102576</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-08-01 15:44:39 -0700</bug_when>
    <thetext>Created attachment 102576
Trivial const-ness change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445647</commentid>
    <comment_count>2</comment_count>
      <attachid>102576</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-02 17:54:25 -0700</bug_when>
    <thetext>Comment on attachment 102576
Trivial const-ness change.

OK, as long as everything called in these functions is also const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445672</commentid>
    <comment_count>3</comment_count>
      <attachid>102576</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-02 18:58:21 -0700</bug_when>
    <thetext>Comment on attachment 102576
Trivial const-ness change.

Clearing flags on attachment: 102576

Committed r92252: &lt;http://trac.webkit.org/changeset/92252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445673</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-02 18:58:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102576</attachid>
            <date>2011-08-01 15:44:39 -0700</date>
            <delta_ts>2011-08-02 18:58:21 -0700</delta_ts>
            <desc>Trivial const-ness change.</desc>
            <filename>bug-65494-20110801154437.patch</filename>
            <type>text/plain</type>
            <size>39626</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5MzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4Mzg1ODkyNTRmYjBiYWFm
MDg5YTgzMzZhMjRhNDM1NzBkNDVjNzAwLi4zOTNiYWM2NDI5YmZmZjdiMmQyMzhkMDdmMGQ0NjU1
ZGJlOGRkNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODYgQEAKKzIwMTEtMDgtMDEgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuZGVyT2Jq
ZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQgYW5kIGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBh
aW50IHNob3VsZCBiZSBjb25zdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjU0OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIGNvbnN0LW5lc3MgY2hhbmdlIG9ubHkuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OmNvbXB1dGVBYnNvbHV0ZVJlcGFpbnRSZWN0KToKKyAgICAgICAgTWFkZSB0
aG9zZSAyIGNvbnN0IGFzIHRoZXkgY2FsbCBhIGNvbnN0IG1ldGhvZCBub3cuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOiBVc2UgYSBjb25zdCBSZW5kZXJP
YmplY3QqIGZvciBpdGVyYXRpbmcgYXMKKyAgICAgICAgdGhpcyBpcyBjb25zdC4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxv
d1JlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6cmVjdFdp
dGhPdXRsaW5lRm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmNv
bXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0OjpyZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
YWJsZUNlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjbGlwcGVk
T3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNl
bGw6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ2VsbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJs
ZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUYWJsZVJvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBh
aW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmNvbXB1
dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZv
clJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6Y29t
cHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Zv
cmVpZ25PYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50
U3RvcC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHR3JhZGllbnRTdG9wOjpjbGlwcGVk
T3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdIaWRkZW5Db250YWluZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lcjo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R0lubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHSW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdNb2Rl
bE9iamVjdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
b290OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSb290Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
VGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0OjpjbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdUZXh0Ojpjb21w
dXRlUmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlUmVjdEZv
clJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgor
ICAgICAgICBVcGRhdGVkIHRoZSBmb2xsb3dpbmcgbWV0aG9kJ3Mgc2lnbmF0dXJlIHRvIHVzZSBh
IGNvbnN0IG9iamVjdC4KKwogMjAxMS0wNy0yOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzY1Mjg5PiBSZW1vdmUgR2Vv
bG9jYXRpb25Qb3NpdGlvbkNhY2hlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAppbmRleCA3MDM0NTZiNDlhYWJmNWU0MjNjN2VjY2Y4NmM3MjhmMjc3ZjgwNDkxLi4wMDQ3
OTk5ZjBkNjJiYWVmNjMwOGZhMDk1NzE1ZmI4NjIzYjBjYjhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTU3NDksNyArNTc0OSw3IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKQogICAgICAgICBx
dWFkcy5hcHBlbmQoUmVuZGVyQm94Ojpsb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdCgwLCAw
LCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKIH0KIAotSW50UmVjdCBSZW5kZXJCbG9jazo6cmVjdFdp
dGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgaW50IG91dGxpbmVXaWR0aCkKK0ludFJlY3QgUmVuZGVyQmxvY2s6OnJlY3RXaXRoT3V0bGlu
ZUZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGludCBv
dXRsaW5lV2lkdGgpIGNvbnN0CiB7CiAgICAgSW50UmVjdCByKFJlbmRlckJveDo6cmVjdFdpdGhP
dXRsaW5lRm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyLCBvdXRsaW5lV2lkdGgpKTsKICAgICBp
ZiAoaXNBbm9ueW1vdXNCbG9ja0NvbnRpbnVhdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAppbmRleCBlMDUyYjc1YWFiYTNlNDNhZjBmMjhhNzFhZjFiZjJjMTZhYTE5
YzI2Li44NWY1NTY1NGQ1NTQ2NmQzOTIwZWI5YzM0ZDNkYjYyYzYzMDUxNzJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNjA3LDcgKzYwNyw3IEBAIHByaXZhdGU6
CiAgICAgLy8gY2hpbGRyZW4uCiAgICAgdmlydHVhbCBSZW5kZXJCbG9jayogZmlyc3RMaW5lQmxv
Y2soKSBjb25zdDsKIAotICAgIHZpcnR1YWwgSW50UmVjdCByZWN0V2l0aE91dGxpbmVGb3JSZXBh
aW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBpbnQgb3V0bGluZVdp
ZHRoKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgaW50IG91dGxpbmVXaWR0aCkgY29u
c3Q7CiAgICAgdmlydHVhbCBSZW5kZXJTdHlsZSogb3V0bGluZVN0eWxlRm9yUmVwYWludCgpIGNv
bnN0OwogICAgIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBob3ZlckFuY2VzdG9yKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGVlMzBjMzkxOGM4
ZThjMzhiY2UzZTY5ODRjN2RkODQ3ZTBhNDc5OWUuLjRiMDc1Yzk3MzllYWE0YzhmZGY2YjZhNDUz
OWY2ZDc5YTQ4NjNkZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC0xMzc5LDcgKzEzNzksNyBAQCB2b2lkIFJlbmRlckJveDo6ZGVsZXRlTGluZUJveFdyYXBwZXIo
KQogICAgIH0KIH0KIAotSW50UmVjdCBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQorSW50UmVjdCBS
ZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLT52aXNpYmls
aXR5KCkgIT0gVklTSUJMRSAmJiAhZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJsZUNvbnRlbnQo
KSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTE0MTAsNyArMTQxMCw3IEBAIEludFJl
Y3QgUmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvCiAgICAgcmV0dXJuIHI7CiB9CiAKLXZvaWQgUmVuZGVyQm94Ojpj
b21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIEludFJlY3QmIHJlY3QsIGJvb2wgZml4ZWQpCit2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVJl
Y3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRS
ZWN0JiByZWN0LCBib29sIGZpeGVkKSBjb25zdAogewogICAgIC8vIFRoZSByZWN0IHdlIGNvbXB1
dGUgYXQgZWFjaCBzdGVwIGlzIHNoaWZ0ZWQgYnkgb3VyIHgveSBvZmZzZXQgaW4gdGhlIHBhcmVu
dCBjb250YWluZXIncyBjb29yZGluYXRlIHNwYWNlLgogICAgIC8vIE9ubHkgd2hlbiB3ZSBjcm9z
cyBhIHdyaXRpbmcgbW9kZSBib3VuZGFyeSB3aWxsIHdlIGhhdmUgdG8gcG9zc2libHkgZmxpcEZv
cldyaXRpbmdNb2RlICh0byBjb252ZXJ0IGludG8gYSBtb3JlIGFwcHJvcHJpYXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggMjY5ZTgyMGFiODc4NTU3YWQ4N2M2MmI2OTg4
YWE3OTZmNTYzNDAxNC4uMmM4YzZiNWFiZjQxY2VkYjBlOGJlYjkwMTQ2OGNmZDY3ZmM4ZmI4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjc2LDggKzI3Niw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldElubGluZUJveFdyYXBwZXIoSW5saW5lQm94KiBib3hXcmFwcGVy
KSB7IG1faW5saW5lQm94V3JhcHBlciA9IGJveFdyYXBwZXI7IH0KICAgICB2b2lkIGRlbGV0ZUxp
bmVCb3hXcmFwcGVyKCk7CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwotICAg
IHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2UpOworICAgIHZp
cnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1
dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwg
SW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVwYWludER1cmluZ0xheW91dElmTW92ZWQoY29uc3QgTGF5b3V0UmVjdCYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IDU4MGZkZWRjNWJjOWRmZmEy
ZjBlMzdjMWFmN2U1ZWExYWY2NTljNDguLjgzNzcwNzAzMjY1N2FlYjg3Mzg0YzA1MTRlMGVjNjg5
NWVmOTRhYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBA
IC05NDksNyArOTQ5LDcgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZs
b3dCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlY3Q7CiB9CiAKLUludFJlY3QgUmVu
ZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lcikKK0ludFJlY3QgUmVuZGVySW5saW5lOjpjbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikgY29uc3QKIHsKICAgICAvLyBPbmx5IHJ1bi1pbnMgYXJlIGFsbG93ZWQgaW4gaGVyZSBkdXJp
bmcgbGF5b3V0LgogICAgIEFTU0VSVCghdmlldygpIHx8ICF2aWV3KCktPmxheW91dFN0YXRlRW5h
YmxlZCgpIHx8IGlzUnVuSW4oKSk7CkBAIC05NjgsNyArOTY4LDcgQEAgSW50UmVjdCBSZW5kZXJJ
bmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0
KiByZXBhaW4KICAgICAvLyBXZSBuZWVkIHRvIGFkZCBpbiB0aGUgcmVsYXRpdmUgcG9zaXRpb24g
b2Zmc2V0cyBvZiBhbnkgaW5saW5lcyAoaW5jbHVkaW5nIHVzKSB1cCB0byBvdXIKICAgICAvLyBj
b250YWluaW5nIGJsb2NrLgogICAgIFJlbmRlckJsb2NrKiBjYiA9IGNvbnRhaW5pbmdCbG9jaygp
OwotICAgIGZvciAoUmVuZGVyT2JqZWN0KiBpbmxpbmVGbG93ID0gdGhpczsgaW5saW5lRmxvdyAm
JiBpbmxpbmVGbG93LT5pc1JlbmRlcklubGluZSgpICYmIGlubGluZUZsb3cgIT0gY2I7IAorICAg
IGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiBpbmxpbmVGbG93ID0gdGhpczsgaW5saW5lRmxvdyAm
JiBpbmxpbmVGbG93LT5pc1JlbmRlcklubGluZSgpICYmIGlubGluZUZsb3cgIT0gY2I7CiAgICAg
ICAgICBpbmxpbmVGbG93ID0gaW5saW5lRmxvdy0+cGFyZW50KCkpIHsKICAgICAgICAgIGlmIChp
bmxpbmVGbG93LT5zdHlsZSgpLT5wb3NpdGlvbigpID09IFJlbGF0aXZlUG9zaXRpb24gJiYgaW5s
aW5lRmxvdy0+aGFzTGF5ZXIoKSkKICAgICAgICAgICAgIHRvUmVuZGVySW5saW5lKGlubGluZUZs
b3cpLT5sYXllcigpLT5yZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KGxlZnQsIHRvcCk7CkBAIC0xMDEy
LDcgKzEwMTIsNyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbgogICAgIHJldHVybiByOwogfQog
Ci1JbnRSZWN0IFJlbmRlcklubGluZTo6cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgaW50IG91dGxpbmVXaWR0aCkKK0ludFJl
Y3QgUmVuZGVySW5saW5lOjpyZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBpbnQgb3V0bGluZVdpZHRoKSBjb25zdAogewogICAg
IEludFJlY3QgcihSZW5kZXJCb3hNb2RlbE9iamVjdDo6cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWlu
dChyZXBhaW50Q29udGFpbmVyLCBvdXRsaW5lV2lkdGgpKTsKICAgICBmb3IgKFJlbmRlck9iamVj
dCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRTaWJsaW5nKCkp
IHsKQEAgLTEwMjIsNyArMTAyMiw3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpyZWN0V2l0aE91
dGxpbmVGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29uCiAgICAgcmV0
dXJuIHI7CiB9CiAKLXZvaWQgUmVuZGVySW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVu
ZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlY3QsIGJvb2wg
Zml4ZWQpCit2b2lkIFJlbmRlcklubGluZTo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJv
eE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0LCBib29sIGZpeGVk
KSBjb25zdAogewogICAgIGlmIChSZW5kZXJWaWV3KiB2ID0gdmlldygpKSB7CiAgICAgICAgIC8v
IExheW91dFN0YXRlIGlzIG9ubHkgdmFsaWQgZm9yIHJvb3QtcmVsYXRpdmUgcmVwYWludGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4IGI5YTdiODE3Y2VjNmM1
ZTU2ZjA3MjY4ODdjMGQ4OTYzMDgyMzgwYWEuLmM1ZjU2NDU4N2FiODc3Yzg5ZjQ4OTc4MjI2MjEx
YmY4MTc1ZmZlY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKQEAg
LTEyNiw5ICsxMjYsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBvZmZzZXRX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxpbmVzQm91bmRpbmdCb3goKS53aWR0aCgpOyB9CiAgICAg
dmlydHVhbCBMYXlvdXRVbml0IG9mZnNldEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxpbmVzQm91
bmRpbmdCb3goKS5oZWlnaHQoKTsgfQogCi0gICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
KTsKLSAgICB2aXJ0dWFsIEludFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgaW50IG91dGxpbmVXaWR0aCk7Ci0gICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgSW50UmVjdCYgcmVjdCwgYm9vbCBmaXhlZCk7CisgICAgdmlydHVh
bCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKKyAgICB2aXJ0dWFsIEludFJlY3QgcmVjdFdp
dGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgaW50IG91dGxpbmVXaWR0aCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVj
dCYsIGJvb2wgZml4ZWQpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIG1hcExvY2FsVG9Db250
YWluZXIoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgZml4ZWQs
IGJvb2wgdXNlVHJhbnNmb3JtcywgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKICAgICB2aXJ0dWFs
IHZvaWQgbWFwQWJzb2x1dGVUb0xvY2FsUG9pbnQoYm9vbCBmaXhlZCwgYm9vbCB1c2VUcmFuc2Zv
cm1zLCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAppbmRleCA4MzhiYzk1YzEwNDYwOTQ5OTdmMjEyNzA3ODgzYTYyMmJjZjFh
ZDRlLi43ZWZkMGYzMDFiZjU4MGVjZTViMmQwZmM4NzU1NjM5ZDJmN2JkZjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTM0NiwyMCArMTM0NiwyMCBA
QCBib29sIFJlbmRlck9iamVjdDo6Y2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0KCkgY29uc3QK
ICAgICByZXR1cm4gIWRvY3VtZW50KCktPnZpZXcoKS0+bmVlZHNGdWxsUmVwYWludCgpICYmICFo
YXNMYXllcigpOwogfQogCi1JbnRSZWN0IFJlbmRlck9iamVjdDo6cmVjdFdpdGhPdXRsaW5lRm9y
UmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgaW50IG91dGxp
bmVXaWR0aCkKK0ludFJlY3QgUmVuZGVyT2JqZWN0OjpyZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50
KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBpbnQgb3V0bGluZVdpZHRo
KSBjb25zdAogewogICAgIEludFJlY3QgcihjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChy
ZXBhaW50Q29udGFpbmVyKSk7CiAgICAgci5pbmZsYXRlKG91dGxpbmVXaWR0aCk7CiAgICAgcmV0
dXJuIHI7CiB9CiAKLUludFJlY3QgUmVuZGVyT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9y
UmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCopCitJbnRSZWN0IFJlbmRlck9iamVjdDo6Y2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSBjb25zdAog
ewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAK
LXZvaWQgUmVuZGVyT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlY3QsIGJvb2wgZml4ZWQpCit2b2lk
IFJlbmRlck9iamVjdDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0LCBib29sIGZpeGVkKSBjb25zdAogewog
ICAgIGlmIChyZXBhaW50Q29udGFpbmVyID09IHRoaXMpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA5MzQyN2E3MTNmNzgyYmU0YTFk
YmQzZjViMzk3OTQ1NDk5NjRmMzU0Li42NjRmOTY1MDRhZjMwM2IyMjY4OGQ4ODA0OWQ2M2FjMzJk
NmQ2YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC02NTUs
MjIgKzY1NSwyMiBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIHRoZSByZWN0IHRoYXQgc2hv
dWxkIGJlIHJlcGFpbnRlZCB3aGVuZXZlciB0aGlzIG9iamVjdCBjaGFuZ2VzLiAgVGhlIHJlY3Qg
aXMgaW4gdGhlIHZpZXcncwogICAgIC8vIGNvb3JkaW5hdGUgc3BhY2UuICBUaGlzIG1ldGhvZCBk
ZWFscyB3aXRoIG91dGxpbmVzIGFuZCBvdmVyZmxvdy4KLSAgICBJbnRSZWN0IGFic29sdXRlQ2xp
cHBlZE92ZXJmbG93UmVjdCgpCisgICAgSW50UmVjdCBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1Jl
Y3QoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KDApOwogICAgIH0KLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOyAgICAK
LSAgICB2aXJ0dWFsIEludFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgaW50IG91dGxpbmVXaWR0aCk7CisgICAgdmly
dHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKKyAgICB2aXJ0dWFsIEludFJlY3QgcmVj
dFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRh
aW5lciwgaW50IG91dGxpbmVXaWR0aCkgY29uc3Q7CiAKICAgICAvLyBHaXZlbiBhIHJlY3QgaW4g
dGhlIG9iamVjdCdzIGNvb3JkaW5hdGUgc3BhY2UsIGNvbXB1dGUgYSByZWN0IHN1aXRhYmxlIGZv
ciByZXBhaW50aW5nCiAgICAgLy8gdGhhdCByZWN0IGluIHZpZXcgY29vcmRpbmF0ZXMuCi0gICAg
dm9pZCBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdChJbnRSZWN0JiByLCBib29sIGZpeGVkID0g
ZmFsc2UpCisgICAgdm9pZCBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdChJbnRSZWN0JiByLCBi
b29sIGZpeGVkID0gZmFsc2UpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gY29tcHV0ZVJl
Y3RGb3JSZXBhaW50KDAsIHIsIGZpeGVkKTsKICAgICB9CiAgICAgLy8gR2l2ZW4gYSByZWN0IGlu
IHRoZSBvYmplY3QncyBjb29yZGluYXRlIHNwYWNlLCBjb21wdXRlIGEgcmVjdCBzdWl0YWJsZSBm
b3IgcmVwYWludGluZwogICAgIC8vIHRoYXQgcmVjdCBpbiB0aGUgY29vcmRpbmF0ZSBzcGFjZSBv
ZiByZXBhaW50Q29udGFpbmVyLgotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFp
bnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmLCBib29s
IGZpeGVkID0gZmFsc2UpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQo
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmLCBib29sIGZp
eGVkID0gZmFsc2UpIGNvbnN0OwogCiAgICAgLy8gSWYgbXVsdGlwbGUtY29sdW1uIGxheW91dCBy
ZXN1bHRzIGluIGFwcGx5aW5nIGFuIG9mZnNldCB0byB0aGUgZ2l2ZW4gcG9pbnQsIGFkZCB0aGUg
c2FtZQogICAgIC8vIG9mZnNldCB0byB0aGUgZ2l2ZW4gc2l6ZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IGUyMjM2Zjg1YjhiYjU1MzIzMWQ5YzRi
MjQ2ZjBjMWJjZjczMTA1NmYuLmUzOGY5YmFhNTdmM2I0MzNlZDNkNjNjOTU1ZjI3MzVjYWM5M2Iy
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAt
NTE3LDcgKzUxNyw3IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnNldEludHJpbnNpY1NpemUoY29u
c3QgSW50U2l6ZSYgc2l6ZSkKICAgICBtX2ludHJpbnNpY1NpemUgPSBzaXplOwogfQogCi1JbnRS
ZWN0IFJlbmRlclJlcGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikKK0ludFJlY3QgUmVuZGVyUmVwbGFjZWQ6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyKSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0g
VklTSUJMRSAmJiAhZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJsZUNvbnRlbnQoKSkKICAgICAg
ICAgcmV0dXJuIEludFJlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmgKaW5kZXggMGNlNWViYjczM2I5NDE0Y2JjMWU5MDI5YmE3YzliOGM2MDhjOWIzOC4uZTZk
ZmJjOWFlZTM1ZjJkZjQxZDRjNDljMGMwMTc0NzZhNTg5YjlhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHZpcnR1YWwgdm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBv
aW50JikgeyB9CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOworICAgIHZpcnR1
YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGNh
cmV0TWF4UmVuZGVyZWRPZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFZpc2libGVQb3NpdGlv
biBwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IDNkMDI4MjFlMDkzYjlmZDJkMWE1
NDY5YTBlNjcxZWJkNDFkMDhmNzEuLmE5OTI5NjVjZjViZWIyYmE5MTViNWI3YmIxODQ2Yzg3ZmQ0
MmZjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3Bw
CkBAIC0yMjksNyArMjI5LDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJUYWJsZUNlbGw6Om9mZnNldEZy
b21Db250YWluZXIoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBMYXlvdXRQb2kKICAgICByZXR1cm4g
b2Zmc2V0OwogfQogCi1JbnRSZWN0IFJlbmRlclRhYmxlQ2VsbDo6Y2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCitJbnRS
ZWN0IFJlbmRlclRhYmxlQ2VsbDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVy
Qm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhl
IHRhYmxlIGdyaWQgaXMgZGlydHksIHdlIGNhbm5vdCBnZXQgcmVsaWFibGUgaW5mb3JtYXRpb24g
YWJvdXQgYWRqb2luaW5nIGNlbGxzLAogICAgIC8vIHNvIHdlIGlnbm9yZSBvdXRzaWRlIGJvcmRl
cnMuIFRoaXMgc2hvdWxkIG5vdCBiZSBhIHByb2JsZW0gYmVjYXVzZSBpdCBtZWFucyB0aGF0CkBA
IC0yODEsNyArMjgxLDcgQEAgSW50UmVjdCBSZW5kZXJUYWJsZUNlbGw6OmNsaXBwZWRPdmVyZmxv
d1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXAKICAgICByZXR1cm4gcjsK
IH0KIAotdm9pZCBSZW5kZXJUYWJsZUNlbGw6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYgciwgYm9vbCBmaXhlZCkK
K3ZvaWQgUmVuZGVyVGFibGVDZWxsOjpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHIsIGJvb2wgZml4ZWQpIGNvbnN0
CiB7CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4IDQzNmU4ZTAw
MDAzNjcxZWM2YjFmMzEwYjJlZjkyZTg3ZjcwY2FjYTEuLjkwOGY2NDk0M2MwMTJlYjhiYWIxNTI0
YWNlZmRlNjliODE5YjRkM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmgKQEAgLTE0Nyw4ICsxNDcsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBw
YWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKIAogICAgIHZpcnR1YWwg
TGF5b3V0U2l6ZSBvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlck9iamVjdCosIGNvbnN0IExheW91
dFBvaW50JikgY29uc3Q7Ci0gICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RG
b3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKTsKLSAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKTsKKyAgICB2aXJ0
dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRl
UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIElu
dFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2UpIGNvbnN0OwogCiAgICAgdm9pZCBwYWludENvbGxh
cHNlZEJvcmRlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRSZWN0Jik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwCmluZGV4IDY2ZDA2MGIyZTJk
ZjNmNDUwYzVkZjkxOTkxMzhmMjgyZWFkYjM1NTUuLmYzMTkwZmFiM2JhMWY0MmZiNjVmYzlhYWQ5
ZmViYmNmYjRiOWQyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q29sLmNwcApAQCAtNjksNyArNjksNyBAQCBib29sIFJlbmRlclRhYmxlQ29sOjpjYW5IYXZlQ2hp
bGRyZW4oKSBjb25zdAogICAgIHJldHVybiBzdHlsZSgpLT5kaXNwbGF5KCkgPT0gVEFCTEVfQ09M
VU1OX0dST1VQOwogfQogCi1JbnRSZWN0IFJlbmRlclRhYmxlQ29sOjpjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikKK0lu
dFJlY3QgUmVuZGVyVGFibGVDb2w6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAogewogICAgIC8vIEZvciBu
b3csIGp1c3QgcmVwYWludCB0aGUgd2hvbGUgdGFibGUuCiAgICAgLy8gRklYTUU6IEZpbmQgYSBi
ZXR0ZXIgd2F5IHRvIGRvIHRoaXMsIGUuZy4sIG5lZWQgdG8gcmVwYWludCBhbGwgdGhlIGNlbGxz
IHRoYXQgd2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNvbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKaW5kZXgg
ODI1NTkzNzM0ZmJmZTUwMjgxMjg3NGY0NjE1YzM3YzM1MDIyYjBlOS4uYzhhMDYzMGIxN2NiYzU1
YzFmYjJmMDQyYWM4YzUzNjk2MWY0MTUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ29sLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5
ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVhbCBJbnRSZWN0IGNsaXBw
ZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCBpbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KiA9
IDApOwogCiAgICAgUmVuZGVyVGFibGUqIHRhYmxlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAppbmRleCBiYTMxZmY2NzM3OTAwZjg1NGE1YmZk
MmI2YjQ1ZDU5NTljOGU1OThiLi5lNjU1OWY4NWI4ZjA4YjhjMmJjOTc4NDlhMmI0Y2FlM2ViZTE4
MjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKQEAg
LTE2OSw3ICsxNjksNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpsYXlvdXQoKQogICAgIHNldE5l
ZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAotSW50UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92
ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIpCitJbnRSZWN0IFJlbmRlclRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWlu
dChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QKIHsKICAgICBB
U1NFUlQocGFyZW50KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJv
dy5oCmluZGV4IDQyMzNiNDA0ZTIxYWYwY2NmZDZjOGViOWFmNmYxYWZhZGNiZGExODguLjQwZGY5
MjI3ZWJmZGQ5YjQzNjgzOWY0YzhjYjE0MmNhMWUzZGM1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCkBAIC01Myw3ICs1Myw3IEBAIHByaXZhdGU6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCA9IDApOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKLSAgICB2aXJ0
dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpOworICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pOwog
CiAgICAgLy8gVGhlIG9ubHkgdGltZSByb3dzIGdldCBhIGxheWVyIGlzIHdoZW4gdGhleSBoYXZl
IHRyYW5zcGFyZW5jeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRl
eCBkZmVhZTQ2OTJhNGM4OWU1MWYxN2QzNGJhN2E4MWFmYzkyNGRkZjllLi40YmZmZGE4YTFiYjRh
MzcxZmNkMWIzYTUwMWYyMjI2NGJlODk5OWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwCkBAIC0xMzU5LDcgKzEzNTksNyBAQCBJbnRSZWN0IFJlbmRlclRleHQ6Omxp
bmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlY3Q7CiB9
CiAKLUludFJlY3QgUmVuZGVyVGV4dDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVu
ZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCitJbnRSZWN0IFJlbmRlclRleHQ6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyKSBjb25zdAogewogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXJUb1JlcGFp
bnQgPSBjb250YWluaW5nQmxvY2soKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgKaW5kZXggZDA5ZTFmMTRkYzFiMDYwNmU5YjNjOTViODAxZmNiZDY1ZGI5NjZiYi4uYzQxMjZk
ZmRiZTIzZGZiOGJmNzk1MGFhM2MyYzYxN2NlMWRhYTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCkBAIC0xMDAsNyArMTAwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBtYXJnaW5MZWZ0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+bWFyZ2luTGVm
dCgpLmNhbGNNaW5WYWx1ZSgwKTsgfQogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5SaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPm1hcmdpblJpZ2h0KCkuY2FsY01pblZhbHVlKDAp
OyB9CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQo
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOworICAgIHZpcnR1YWwgSW50
UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lcikgY29uc3Q7CiAKICAgICBJbmxpbmVUZXh0Qm94KiBmaXJzdFRleHRC
b3goKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0VGV4dEJveDsgfQogICAgIElubGluZVRleHRCb3gq
IGxhc3RUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VGV4dEJveDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGE5YjlmZjVlYmVlYzE0YWJjNWQxNzgy
NThlNDM1YTZmNzMyMTIyOWYuLmE5NWM0OWM5NGZhMmFhNjIzOTU2Nzk4Zjg5ZDUwYTIyOTlhMzM5
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTMwMSw3ICsz
MDEsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3Np
dGVkTGF5ZXJzKGNvbnN0IEludFJlY3QmIHVyLCBibwogI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVy
Vmlldzo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0LCBib29sIGZpeGVkKQordm9pZCBSZW5kZXJWaWV3Ojpj
b21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIEludFJlY3QmIHJlY3QsIGJvb2wgZml4ZWQpIGNvbnN0CiB7CiAgICAgLy8gSWYgYSBjb250
YWluZXIgd2FzIHNwZWNpZmllZCwgYW5kIHdhcyBub3QgMCBvciB0aGUgUmVuZGVyVmlldywKICAg
ICAvLyB0aGVuIHdlIHNob3VsZCBoYXZlIGZvdW5kIGl0IGJ5IG5vdy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDRjYmY3NDBlMWI2MmIwYmFkZDllMjQ3NzA3NGMzY2Mz
NWViZDc5NDcuLjc3MTMzYzdlOWY3NjA4YjFiMTAwYjYzMGE0NGJiNDA3ZTM1MDZjNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6
CiAKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVWaWV3
OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1v
ZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNl
KTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgcmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3QgSW50UmVj
dCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpOwogICAgIC8vIFJlcGFpbnQgdGhlIHZpZXcsIGFu
ZCBhbGwgY29tcG9zaXRlZCBsYXllcnMgdGhhdCBpbnRlcnNlY3QgdGhlIGdpdmVuIGFic29sdXRl
IHJlY3RhbmdsZS4KICAgICAvLyBGSVhNRTogaWRlYWxseSB3ZSdkIG5ldmVyIGhhdmUgdG8gZG8g
dGhpcywgaWYgYWxsIHJlcGFpbnRzIGFyZSBjb250YWluZXItcmVsYXRpdmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmNw
cAppbmRleCA0YjUzY2YzNDc0NGE0MTM5MGU4YWYzOWVkZWY3ZmYzZjdjYThiYjZlLi41MTVkMDQw
MmEyMzM2ZmViNWFiMDg3ZDNkYWJiNzc4ZmYxYjIwMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5jcHAKQEAgLTY2
LDEyICs2NiwxMiBAQCB2b2lkIFJlbmRlclNWR0ZvcmVpZ25PYmplY3Q6OnBhaW50KFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBJbnRQb2ludCYpCiAgICAgICAgIGNoaWxkUGFpbnRJbmZvLmNv
bnRleHQtPmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CiB9CiAKLUludFJlY3QgUmVuZGVyU1ZHRm9y
ZWlnbk9iamVjdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpCitJbnRSZWN0IFJlbmRlclNWR0ZvcmVpZ25PYmplY3Q6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyKSBjb25zdAogewogICAgIHJldHVybiBTVkdSZW5kZXJTdXBwb3J0OjpjbGlw
cGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCh0aGlzLCByZXBhaW50Q29udGFpbmVyKTsKIH0KIAot
dm9pZCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVy
Qm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0LCBi
b29sIGZpeGVkKQordm9pZCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJl
cGFpbnRSZWN0LCBib29sIGZpeGVkKSBjb25zdAogewogICAgIFNWR1JlbmRlclN1cHBvcnQ6OmNv
bXB1dGVSZWN0Rm9yUmVwYWludCh0aGlzLCByZXBhaW50Q29udGFpbmVyLCByZXBhaW50UmVjdCwg
Zml4ZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdGb3JlaWduT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0ZvcmVpZ25PYmplY3QuaAppbmRleCA1YmY2NDQ5M2UyOWY4YjQ2MGRkMmU1ZGM2ZGYwN2U2
YjkyOWM3M2ExLi42ZDZjNGJlY2RlYTExMjM4N2ViZTgzNGE0ZDMwNWQxNTU0MzBhM2NiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25P
YmplY3QuaApAQCAtMzksOCArMzksOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKIAotICAgIHZpcnR1YWwgSW50UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lcik7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChS
ZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4
ZWQgPSBmYWxzZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdDsK
IAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaAppbmRleCBhZTkwZjM3MTMxMTk3
YzZhZjQxNjA4NjI2NDEzMzUyYTcwYjYzN2U1Li45MTkxYmY3NDQ2MWYxZDk4OWM3YjVkMzkyYzQx
ZWYwNTBkYWNhMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0dyYWRpZW50U3RvcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIC8v
IFRoaXMgb3ZlcnJpZGVzIGFyZSBuZWVkZWQgdG8gcHJldmVudCBBU1NFUlRzIG9uIDxzdmc+PHN0
b3AgLz48L3N2Zz4KICAgICAvLyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9u
cyBBU1NFUlRfTk9UX1JFQUNIRUQoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDQwMAotICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCopIHsgcmV0dXJuIEludFJlY3QoKTsg
fQorICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCopIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoKTsgfQogICAgIHZpcnR1
YWwgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0
KCk7IH0KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0IHsg
cmV0dXJuIEZsb2F0UmVjdCgpOyB9CiAgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmgKaW5kZXggZDE0MjNlYjg4ZjE0YjQ1YWVhZjI0M2RjNmZjZmExMjY0NWI3MmRmYS4uN2Ix
ZGJjMzhmMGU1NjNjNTNmNTA4NDc5YTY4Yjc2OGE2ODA1NmJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oCkBA
IC00Myw3ICs0Myw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKICAgICAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSB7IHJldHVy
biBJbnRSZWN0KCk7IH0KKyAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KCk7
IH0KICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYpOwog
CiAgICAgdmlydHVhbCBib29sIG5vZGVBdEZsb2F0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3Qm
LCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnRJblBhcmVudCwgSGl0VGVz
dEFjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0lubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lu
bGluZS5jcHAKaW5kZXggZWU4ZjExYWIyZDE2ZjY0MDUwMDIyZjc0YjAyNWYwNjVkMjMzYmQxMS4u
NjU1N2RiZWM3ODg1NmI5ZmJjMGFhODViMWNmMTNlMjA4MjkzYzI0NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcApAQCAtNjcsMTIgKzY3
LDEyIEBAIEZsb2F0UmVjdCBSZW5kZXJTVkdJbmxpbmU6OnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkgY29uc3QKICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiB9CiAKLUludFJlY3QgUmVu
ZGVyU1ZHSW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lcikKK0ludFJlY3QgUmVuZGVyU1ZHSW5saW5lOjpjbGlw
cGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lcikgY29uc3QKIHsKICAgICByZXR1cm4gU1ZHUmVuZGVyU3VwcG9ydDo6Y2xpcHBlZE92
ZXJmbG93UmVjdEZvclJlcGFpbnQodGhpcywgcmVwYWludENvbnRhaW5lcik7CiB9CiAKLXZvaWQg
UmVuZGVyU1ZHSW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGZpeGVkKQor
dm9pZCBSZW5kZXJTVkdJbmxpbmU6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYgcmVwYWludFJlY3QsIGJvb2wgZml4
ZWQpIGNvbnN0CiB7CiAgICAgU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50
KHRoaXMsIHJlcGFpbnRDb250YWluZXIsIHJlcGFpbnRSZWN0LCBmaXhlZCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuaAppbmRleCA3NTE3MTYz
NWY2NDVlZjA4YjZkYzQzNjhlZmFiNDRiMDc5OGE4Mzk2Li43MDBmN2U1ZDRiYmFjYjQ4NTE0MTAy
YThlZjgwZmI3NjM3MTY3ZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0lubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHSW5saW5lLmgKQEAgLTQ1LDggKzQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
RmxvYXRSZWN0IHN0cm9rZUJvdW5kaW5nQm94KCkgY29uc3Q7CiAgICAgdmlydHVhbCBGbG9hdFJl
Y3QgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdDsKIAotICAgIHZpcnR1YWwg
SW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVwYWludENvbnRhaW5lcik7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVw
YWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJv
b2wgZml4ZWQgPSBmYWxzZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25z
dDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVk
LCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVF1YWRz
KFZlY3RvcjxGbG9hdFF1YWQ+Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKaW5kZXggMjI2MjExYWE4ZTBmMTIxNmFl
NzY4MTZkMWI3YTg4ODVjNTJlYWY3NC4uMjdhOTIxMjE1Y2M0OTYzZmRkMGZiYmMzYTQ2ZTQyN2Nk
YmQyNTY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdNb2RlbE9iamVjdC5jcHAKQEAgLTQzLDEyICs0MywxMiBAQCBSZW5kZXJTVkdNb2RlbE9i
amVjdDo6UmVuZGVyU1ZHTW9kZWxPYmplY3QoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKIHsKIH0K
IAotSW50UmVjdCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCitJbnRSZWN0IFJl
bmRlclNWR01vZGVsT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QKIHsKICAgICByZXR1cm4gU1ZH
UmVuZGVyU3VwcG9ydDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQodGhpcywgcmVwYWlu
dENvbnRhaW5lcik7CiB9CiAKLXZvaWQgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNvbXB1dGVSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVj
dCYgcmVwYWludFJlY3QsIGJvb2wgZml4ZWQpCit2b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0Ojpj
b21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGZpeGVkKSBjb25zdAogewogICAgIFNWR1Jl
bmRlclN1cHBvcnQ6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCh0aGlzLCByZXBhaW50Q29udGFpbmVy
LCByZXBhaW50UmVjdCwgZml4ZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCmluZGV4IDdkMTZhNzQ5YTMwMzcyNjM4MGZm
ZjU3ZGIwN2YxY2MyZWVkOTU4NzEuLjk1NDgyMzMyZmY5OWRmYTI5NTg4MjIxYTk4MTlkZGFhYWI0
NzBmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
TW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R01vZGVsT2JqZWN0LmgKQEAgLTUxLDggKzUxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVh
bCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKTsKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JS
ZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0Jiwg
Ym9vbCBmaXhlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93
UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNv
bnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2Up
IGNvbnN0OwogICAgIHZpcnR1YWwgSW50UmVjdCBvdXRsaW5lQm91bmRzRm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UG9pbnQqKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVJlY3RzKFZlY3RvcjxMYXlvdXRSZWN0PiYsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBlNjAxYTU4MjNmNzcwNWFlMmNjMDU3
ZTY3NjIxMzE5MTk5ZGE1NTkyLi4xNzY3YWY0YjRjOTMxYWVjYmVjODg4OTFmMjkyZDU5M2UwNWNm
NGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAKQEAgLTM5NCwxMiArMzk0LDEyIEBAIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgUmVuZGVyU1ZH
Um9vdDo6bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYWxU
b1BhcmVudFRyYW5zZm9ybTsKIH0KIAotSW50UmVjdCBSZW5kZXJTVkdSb290OjpjbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikKK0ludFJlY3QgUmVuZGVyU1ZHUm9vdDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQo
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIFNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHRoaXMs
IHJlcGFpbnRDb250YWluZXIpOwogfQogCi12b2lkIFJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVj
dCYgcmVwYWludFJlY3QsIGJvb2wgZml4ZWQpCit2b2lkIFJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50
UmVjdCYgcmVwYWludFJlY3QsIGJvb2wgZml4ZWQpIGNvbnN0CiB7CiAgICAgLy8gQXBwbHkgb3Vy
IGxvY2FsIHRyYW5zZm9ybXMgKGV4Y2VwdCBmb3IgeC95IHRyYW5zbGF0aW9uKSwgdGhlbiBvdXIg
c2hhZG93LCAKICAgICAvLyBhbmQgdGhlbiBjYWxsIFJlbmRlckJveCdzIG1ldGhvZCB0byBoYW5k
bGUgYWxsIHRoZSBub3JtYWwgQ1NTIEJveCBtb2RlbCBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4IDAxMWY1NjRhZDNjZGE5NDY0MmYzOWFl
OWVjMDE5MTc1ZDVmMDE0NDEuLmJhYTRlZTAwNGViNDNiNmQ0MTg3ZmU1ZDg4OGIyMmVmOTY5ZGYx
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCkBA
IC04MCw4ICs4MCw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0UG9pbnQo
Y29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UG9pbnQm
IHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwg
SGl0VGVzdEFjdGlvbik7CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwotICAg
IHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGZpeGVkKTsKKyAg
ICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGZpeGVkKSBjb25zdDsKIAogICAgIHZpcnR1
YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyLCBib29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQsIFRyYW5zZm9ybVN0YXRl
JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Rl
eHQuY3BwCmluZGV4IGIzMmNlNGQxMzhmNjMxZDk3YjJkY2NhMTE2ZjUwMjNlMDdhMTJmMmIuLmNm
ODY4ZmE5MzAxYWYxNTc5MjZjMDc5NzhiNWMwNDE1YmYxMTkyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcApAQCAtODIsMTIgKzgyLDEyIEBA
IGNvbnN0IFJlbmRlclNWR1RleHQqIFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJlbmRlclNWR1RleHRB
bmNlc3Rvcihjb25zdCBSZW5kZXJPYmplCiAgICAgcmV0dXJuIHRvUmVuZGVyU1ZHVGV4dChzdGFy
dCk7CiB9CiAKLUludFJlY3QgUmVuZGVyU1ZHVGV4dDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCitJbnRSZWN0IFJl
bmRlclNWR1RleHQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAogewogICAgIHJldHVybiBTVkdSZW5kZXJT
dXBwb3J0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCh0aGlzLCByZXBhaW50Q29udGFp
bmVyKTsKIH0KIAotdm9pZCBSZW5kZXJTVkdUZXh0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVu
ZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlcGFpbnRSZWN0
LCBib29sIGZpeGVkKQordm9pZCBSZW5kZXJTVkdUZXh0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQo
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlcGFpbnRS
ZWN0LCBib29sIGZpeGVkKSBjb25zdAogewogICAgIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVS
ZWN0Rm9yUmVwYWludCh0aGlzLCByZXBhaW50Q29udGFpbmVyLCByZXBhaW50UmVjdCwgZml4ZWQp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaAppbmRl
eCA0NjdmMmJiZTZmMjQ0MDUwZmI2NjNkMDZiOTJkNmJkYjQzNTU3NzUzLi5kZTVmZjRmODdlMmY5
MTUwNGFjZjNjYTNiYjVkNGVkMDQ2MGI1YjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1RleHQuaApAQCAtNjIsOCArNjIsOCBAQCBwcml2YXRlOgogCiAgICAg
dmlydHVhbCB2b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mKTsKIAotICAgIHZp
cnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lcik7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVj
dCYsIGJvb2wgZml4ZWQgPSBmYWxzZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
KSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJv
eE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZh
bHNlKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29sIHVzZVRyYW5zZm9ybXMsIGJv
b2wgZml4ZWQsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCmluZGV4IGRkNmEyOWRhMTQzMTdi
YzRiODExYzZmODUzMWQxYTZlZmQ3MGFiYjguLjZmMzNmMGZkMjZkODM5ZGYwYjVkYWE1NzFiMWM0
NzYwYmE5NmI5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVuZGVyU3VwcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcApAQCAtNDUsNyArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUludFJlY3QgU1ZHUmVuZGVyU3VwcG9ydDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyKQorSW50UmVjdCBTVkdSZW5kZXJTdXBwb3J0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9y
UmVwYWludChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIpCiB7CiAgICAgLy8gUmV0dXJuIGVhcmx5IGZvciBhbnkgY2FzZXMg
d2hlcmUgd2UgZG9uJ3QgYWN0dWFsbHkgcGFpbnQKICAgICBpZiAob2JqZWN0LT5zdHlsZSgpLT52
aXNpYmlsaXR5KCkgIT0gVklTSUJMRSAmJiAhb2JqZWN0LT5lbmNsb3NpbmdMYXllcigpLT5oYXNW
aXNpYmxlQ29udGVudCgpKQpAQCAtNTgsNyArNTgsNyBAQCBJbnRSZWN0IFNWR1JlbmRlclN1cHBv
cnQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlck9iamVjdCogb2JqZWN0LCBS
ZQogICAgIHJldHVybiByZXBhaW50UmVjdDsKIH0KIAotdm9pZCBTVkdSZW5kZXJTdXBwb3J0Ojpj
b21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZXBhaW50UmVjdCwgYm9vbCBmaXhl
ZCkKK3ZvaWQgU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgSW50UmVjdCYgcmVwYWludFJlY3QsIGJvb2wgZml4ZWQpCiB7CiAgICAgY29uc3QgU1ZHUmVu
ZGVyU3R5bGUqIHN2Z1N0eWxlID0gb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpOwogICAgIGlm
IChjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cgPSBzdmdTdHlsZS0+c2hhZG93KCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCmluZGV4IDllNmFh
NWMyMDM1NjhlODM1OGIzZTRmMDI5NWE1ZjllZjUwYzVlM2EuLjBhYjljYTI2Yzc2NDNmMzE3MzNi
ZDU3OGJjNTY4NDEyMDdhMzZhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHUmVuZGVyU3VwcG9ydC5oCkBAIC02MSw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBwYWludEluZm9JbnRlcnNlY3RzUmVwYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiBs
b2NhbFJlcGFpbnRSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVHJhbnNmb3JtLCBj
b25zdCBQYWludEluZm8mKTsKIAogICAgIC8vIEltcG9ydGFudCBmdW5jdGlvbnMgdXNlZCBieSBu
ZWFybHkgYWxsIFNWRyByZW5kZXJlcnMgY2VudHJhbGl6aW5nIGNvb3JkaW5hdGUgdHJhbnNmb3Jt
YXRpb25zIC8gcmVwYWludCByZWN0IGNhbGN1bGF0aW9ucwotICAgIHN0YXRpYyBJbnRSZWN0IGNs
aXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlck9iamVjdCosIFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKTsKLSAgICBzdGF0aWMgdm9pZCBjb21wdXRlUmVjdEZv
clJlcGFpbnQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250
YWluZXIsIEludFJlY3QmLCBib29sIGZpeGVkKTsKKyAgICBzdGF0aWMgSW50UmVjdCBjbGlwcGVk
T3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJPYmplY3QqLCBSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lcik7CisgICAgc3RhdGljIHZvaWQgY29tcHV0ZVJlY3RG
b3JSZXBhaW50KGNvbnN0IFJlbmRlck9iamVjdCosIFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCk7CiAgICAgc3RhdGljIHZvaWQgbWFw
TG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqLCBSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVwYWludENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVkLCBUcmFu
c2Zvcm1TdGF0ZSYpOwogCiAgICAgLy8gU2hhcmVkIGJldHdlZW4gU1ZHIHJlbmRlcmVycyBhbmQg
cmVzb3VyY2VzLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>