<?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>230463</bug_id>
          
          <creation_ts>2021-09-19 10:42:02 -0700</creation_ts>
          <short_desc>[LFC][Integration] Enable selections</short_desc>
          <delta_ts>2021-09-20 11:21:18 -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>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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1794897</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-19 10:42:02 -0700</bug_when>
    <thetext>Stop switch to legacy on selection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794899</commentid>
    <comment_count>1</comment_count>
      <attachid>438601</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-19 10:53:33 -0700</bug_when>
    <thetext>Created attachment 438601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795003</commentid>
    <comment_count>2</comment_count>
      <attachid>438647</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 02:19:45 -0700</bug_when>
    <thetext>Created attachment 438647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795015</commentid>
    <comment_count>3</comment_count>
      <attachid>438653</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 03:44:10 -0700</bug_when>
    <thetext>Created attachment 438653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795019</commentid>
    <comment_count>4</comment_count>
      <attachid>438654</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 04:33:33 -0700</bug_when>
    <thetext>Created attachment 438654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795020</commentid>
    <comment_count>5</comment_count>
      <attachid>438655</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 04:34:48 -0700</bug_when>
    <thetext>Created attachment 438655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795046</commentid>
    <comment_count>6</comment_count>
      <attachid>438667</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 06:25:42 -0700</bug_when>
    <thetext>Created attachment 438667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795138</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-20 10:19:32 -0700</bug_when>
    <thetext>ChangeLog entry in Tools/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795140</commentid>
    <comment_count>8</comment_count>
      <attachid>438691</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 10:22:38 -0700</bug_when>
    <thetext>Created attachment 438691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795175</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-20 11:20:37 -0700</bug_when>
    <thetext>Committed r282764 (241899@main): &lt;https://commits.webkit.org/241899@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438691.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795176</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-20 11:21:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/83315840&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438601</attachid>
            <date>2021-09-19 10:53:33 -0700</date>
            <delta_ts>2021-09-20 02:19:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210919205332.patch</filename>
            <type>text/plain</type>
            <size>5655</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uOTE2Mjc0MmUxNzI4ZTQ5NTYzMGVlOWRkNDBjNTU4
N2Y3ZWM2ZDQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA5LTE5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OnByaW50UmVhc29u
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpjYW5Vc2VGb3JDaGlsZCk6
CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2Uu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6c2V0U2VsZWN0aW9uU3RhdGUpOiBEZWxldGVkLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2V0U2Vs
ZWN0aW9uU3RhdGUpOgorCiAyMDIxLTA5LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbbEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNvbWUgdGV4dCBwYWlu
dGluZyBmZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGI2ODdjODAw
OWM2M2UyMDlhNmFhZGU3M2VjOTJlZDcyZTkzOWQxYjQuLmMxODk2NDI0Yjk5MzFmMTUxZjFkZTc2
ZWY1ZjNlMmQzNDg0MDFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKQEAgLTE4
OSw5ICsxODksNiBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVh
c29uLCBUZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dI
YXNDb21wbGV4Rm9udENvZGVQYXRoOgogICAgICAgICBzdHJlYW0gPDwgInRleHQgd2l0aCBjb21w
bGV4IGZvbnQgY29kZXBhdGgiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJl
YXNvbjo6Rmxvd0NoaWxkSXNTZWxlY3RlZDoKLSAgICAgICAgc3RyZWFtIDw8ICJzZWxlY3RlZCBj
b250ZW50IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dI
YXNMaW5lQm94Q29udGFpbkdseXBoczoKICAgICAgICAgc3RyZWFtIDw8ICItd2Via2l0LWxpbmUt
Ym94LWNvbnRhaW46IGdseXBocyI7CiAgICAgICAgIGJyZWFrOwpAQCAtNTI3LDggKzUyNCw2IEBA
IHN0YXRpYyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JTdHlsZShjb25zdCBS
ZW5kZXJTdHlsZSYgc3R5bGUsIEluY2x1CiBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNv
bj4gY2FuVXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5k
ZXJPYmplY3QmIGNoaWxkLCBJbmNsdWRlUmVhc29ucyBpbmNsdWRlUmVhc29ucykKIHsKICAgICBP
cHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiByZWFzb25zOwotICAgIGlmIChjaGlsZC5zZWxlY3Rp
b25TdGF0ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0gICAgICAg
IFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0NoaWxkSXNTZWxlY3RlZCwgcmVh
c29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5kZXJDb3VudGVyPihjaGlsZCkp
CiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd1RleHRJc1JlbmRl
ckNvdW50ZXIsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoaXM8UmVuZGVyVGV4
dD4oY2hpbGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCA1YmJmZTNiOTYyZDRh
NmY3YTY5MTY2NTg2MWQ1NGMwMWY4ZThhZTJkLi43NDI5YjMxNTc4NDZhOTQ5ZjNhMTM1YTk4OGY5
MGNhYzYyMGI2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTgwLDcgKzgwLDcg
QEAgZW51bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc0Nv
bXBsZXhGb250Q29kZVBhdGggICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0MCwKICAgICBG
ZWF0dXJlSXNEaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQx
LAogICAgIEZsb3dEb2VzTm90RXN0YWJsaXNoSW5saW5lRm9ybWF0dGluZ0NvbnRleHQgID0gMUxM
VSAgPDwgNDIsCi0gICAgRmxvd0NoaWxkSXNTZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxTExVICA8PCA0MywKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDFMTFUgIDw8IDQzLAogICAgIEZsb3dIYXNIYW5naW5nUHVuY3R1YXRpb24g
ICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNDQsCiAgICAgRmxvd0hhc0xpbmVCb3hDb250
YWluR2x5cGhzICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NSwKICAgICBGbG93VGV4dEhh
c1N1cnJvZ2F0ZVBhaXIgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ2LApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3OWY3Mjc2ZTI3
ZmIzNWY4M2RmY2VlOWRjM2Y2ZDA2ZjA4NmY0OTAwLi43NjI3MTVmZjZiMmY5MThiYzgyZDI1MDdk
ZTdiMjcyODcyN2FmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcApAQCAtMzIwNywxMyArMzIwNyw2IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5p
dD4gUmVuZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2Rl
CiAgICAgcmV0dXJuIExheW91dFVuaXQgeyBzdHlsZSgpLm92ZXJmbG93WSgpID09IE92ZXJmbG93
OjpWaXNpYmxlID8gbGFzdEJhc2VsaW5lIDogc3RkOjptaW4oYm94SGVpZ2h0LCBsYXN0QmFzZWxp
bmUpIH07CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdo
bGlnaHRTdGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5v
bmUpCi0gICAgICAgIGVuc3VyZUxpbmVCb3hlcygpOwotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0
OjpzZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7Ci19Ci0KIExheW91dFVuaXQgUmVuZGVyQmxvY2tG
bG93OjphZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkg
Y29uc3QKIHsKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hs
aWdodFN0YXRlOjpJbnNpZGUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6Okhp
Z2hsaWdodFN0YXRlOjpFbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tG
bG93LmgKaW5kZXggNzc1NjU4MzJhNDg0Yzg5ZjU3N2JkOTNhOWM5YzgxZmFhMGY2ZTZjNy4uNWY5
MTgxMWJhZTBlNTcwZjUyY2Y0Y2EzNDFkZjQ5Mjk2ZTIzOTRmYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTU4LDcgKzU1OCw2IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fd2lkdGhGb3JUZXh0QXV0b3NpemluZzsKICAgICB1bnNpZ25lZCBtX2xpbmVD
b3VudEZvclRleHRBdXRvc2l6aW5nIDogMjsKICNlbmRpZgotICAgIHZvaWQgc2V0U2VsZWN0aW9u
U3RhdGUoSGlnaGxpZ2h0U3RhdGUpIGZpbmFsOwogCiBwdWJsaWM6CiAgICAgLy8gRklYTUUtQkxP
Q0tGTE9XOiBUaGVzZSBjYW4gYmUgbWFkZSBwcm90ZWN0ZWQgYWdhaW4gb25jZSBhbGwgY2FsbGVy
cyBoYXZlIGJlZW4gbW92ZWQgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKaW5kZXggNzA3MTEzODBiMjRiOTlmZTE3YjY1ZjQ5ZTRiMTFlNzFhYmY1YjFiYi4u
ODFlNDkyMDIwNzdiMmJkNWVjMTcwMzE0OWUzZjUwNjkxNWQ1YWY0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE4MDAsMTMgKzE4MDAsNiBAQCBPcHRp
b25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4gUmVuZGVyT2JqZWN0OjpzdHlsZUNvbG9yT3B0aW9u
cygpIGNvbnN0CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGln
aHRTdGF0ZSBzdGF0ZSkKIHsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
LSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgaWYgKGF1
dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmlu
ZygqdGhpcykpCi0gICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVz
KCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICBtX2JpdGZpZWxkcy5zZXRTZWxlY3Rpb25TdGF0ZShz
dGF0ZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438647</attachid>
            <date>2021-09-20 02:19:45 -0700</date>
            <delta_ts>2021-09-20 03:44:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920121943.patch</filename>
            <type>text/plain</type>
            <size>15602</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNjMyZjlhYTVmMTY4YzZkYWI0ZDgxMGFmNGRiNGQ2
Njc1OWYzNDhiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdy
YXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2Fj
eVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRv
ckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpz
ZXRTZWxlY3Rpb25TdGF0ZSk6CisKIDIwMjEtMDktMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFtsRkNdW0ludGVncmF0aW9uXSBFbmFibGUgc29tZSB0ZXh0
IHBhaW50aW5nIGZlYXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKaW5kZXggYjY4
N2M4MDA5YzYzZTIwOWE2YWFkZTczZWM5MmVkNzJlOTM5ZDFiNC4uYzE4OTY0MjRiOTkzMWYxNTFm
MWRlNzZlZjVmM2UyZDM0ODQwMWYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApA
QCAtMTg5LDkgKzE4OSw2IEBAIHN0YXRpYyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNv
biByZWFzb24sIFRleHRTdHJlYW0mIHN0cmVhbSkKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0hhc0NvbXBsZXhGb250Q29kZVBhdGg6CiAgICAgICAgIHN0cmVhbSA8PCAidGV4dCB3aXRo
IGNvbXBsZXggZm9udCBjb2RlcGF0aCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXZvaWRh
bmNlUmVhc29uOjpGbG93Q2hpbGRJc1NlbGVjdGVkOgotICAgICAgICBzdHJlYW0gPDwgInNlbGVj
dGVkIGNvbnRlbnQiOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0hhc0xpbmVCb3hDb250YWluR2x5cGhzOgogICAgICAgICBzdHJlYW0gPDwgIi13ZWJraXQt
bGluZS1ib3gtY29udGFpbjogZ2x5cGhzIjsKICAgICAgICAgYnJlYWs7CkBAIC01MjcsOCArNTI0
LDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvclN0eWxlKGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5jbHUKIHN0YXRpYyBPcHRpb25TZXQ8QXZvaWRhbmNl
UmVhc29uPiBjYW5Vc2VGb3JDaGlsZChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0
IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2x1ZGVSZWFzb25zIGluY2x1ZGVSZWFzb25zKQogewog
ICAgIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IHJlYXNvbnM7Ci0gICAgaWYgKGNoaWxkLnNl
bGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6Tm9uZSkKLSAg
ICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93Q2hpbGRJc1NlbGVjdGVk
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKGlzPFJlbmRlckNvdW50ZXI+KGNo
aWxkKSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93VGV4dElz
UmVuZGVyQ291bnRlciwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5k
ZXJUZXh0PihjaGlsZCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCmluZGV4IDViYmZlM2I5
NjJkNGE2ZjdhNjkxNjY1ODYxZDU0YzAxZjhlOGFlMmQuLjc0MjliMzE1Nzg0NmE5NDlmM2ExMzVh
OTg4ZjkwY2FjNjIwYjZlYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaApAQCAtODAsNyAr
ODAsNyBAQCBlbnVtIGNsYXNzIEF2b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsKICAgICBGbG93
SGFzQ29tcGxleEZvbnRDb2RlUGF0aCAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQwLAog
ICAgIEZlYXR1cmVJc0Rpc2FibGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAg
PDwgNDEsCiAgICAgRmxvd0RvZXNOb3RFc3RhYmxpc2hJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCAg
PSAxTExVICA8PCA0MiwKLSAgICBGbG93Q2hpbGRJc1NlbGVjdGVkICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDFMTFUgIDw8IDQzLAorICAgIC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNDMsCiAgICAgRmxvd0hhc0hhbmdpbmdQdW5jdHVh
dGlvbiAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NCwKICAgICBGbG93SGFzTGluZUJv
eENvbnRhaW5HbHlwaHMgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ1LAogICAgIEZsb3dU
ZXh0SGFzU3Vycm9nYXRlUGFpciAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNDYsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKaW5kZXggZmFiM2UwZjgwZjY2YzJkN2M3
NmFjYWVkNDE4YzZkMTY4MWFiNjk5Ni4uNjA2ZGVmNDZmNTIwZDIyNjFmMDYzODE3MTJlZDVjY2Vh
YWI5Y2U2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcApAQCAtMTA2LDYg
KzEwNiwyNSBAQCBUZXh0UnVuSXRlcmF0b3IgUGF0aFRleHRSdW46Om5leHRUZXh0UnVuSW5UZXh0
T3JkZXIoKSBjb25zdAogICAgIHJldHVybiBUZXh0UnVuSXRlcmF0b3IoKnRoaXMpLnRyYXZlcnNl
TmV4dFRleHRSdW5JblRleHRPcmRlcigpOwogfQogCitMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpz
ZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHJhbmdlU3RhcnQsIHVuc2lnbmVkIHJhbmdlRW5kKSBjb25z
dAoreworICAgIGF1dG8gW2NsYW1wZWRTdGFydCwgY2xhbXBlZEVuZF0gPSBzZWxlY3RhYmxlUmFu
Z2UoKS5jbGFtcChyYW5nZVN0YXJ0LCByYW5nZUVuZCk7CisKKyAgICBpZiAoY2xhbXBlZFN0YXJ0
ID49IGNsYW1wZWRFbmQgJiYgIShyYW5nZVN0YXJ0ID09IHJhbmdlRW5kICYmIHJhbmdlU3RhcnQg
Pj0gc3RhcnQoKSAmJiByYW5nZVN0YXJ0IDw9IGVuZCgpKSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIGF1dG8gc2VsZWN0aW9uVG9wID0gbGluZSgpLT5zZWxlY3Rpb25Ub3AoKTsKKyAgICBh
dXRvIHNlbGVjdGlvbkhlaWdodCA9IGxpbmUoKS0+c2VsZWN0aW9uQm90dG9tKCk7CisKKyAgICBM
YXlvdXRSZWN0IHNlbGVjdGlvblJlY3QgeyBsb2dpY2FsTGVmdCgpLCBzZWxlY3Rpb25Ub3AsIGxv
Z2ljYWxXaWR0aCgpLCBzZWxlY3Rpb25IZWlnaHQgfTsKKworICAgIFRleHRSdW4gdGV4dFJ1biA9
IGNyZWF0ZVRleHRSdW4oKTsKKyAgICBpZiAoY2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0g
dGV4dFJ1bi5sZW5ndGgoKSkKKyAgICAgICAgc3R5bGUoKS5mb250Q2FzY2FkZSgpLmFkanVzdFNl
bGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwg
Y2xhbXBlZEVuZCk7CisKKyAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9u
UmVjdCwgbG9naWNhbFJpZ2h0KCksIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hv
cml6b250YWwoKSk7Cit9CisKIFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGUgUGF0aFJ1bjo6
c2VsZWN0aW9uU3RhdGUoKSBjb25zdAogewogICAgIGlmIChpc1RleHQoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvblJ1bkl0ZXJhdG9yLmgKaW5kZXggMDQ1ZWMwYjg4MDRkYTJlMzMyNTllMGMyODc4ZWQ4
MzY4MjVhNzVhMC4uODg2NTY3NTRmYzNmZDFiZDU0N2I0OGY4Y2ZlM2ZmNGFlN2QxNTYxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCkBAIC0zNjYsMTMgKzM2Niw2IEBAIGlubGlu
ZSBUZXh0Qm94U2VsZWN0YWJsZVJhbmdlIFBhdGhUZXh0UnVuOjpzZWxlY3RhYmxlUmFuZ2UoKSBj
b25zdAogICAgIH0pOwogfQogCi1pbmxpbmUgTGF5b3V0UmVjdCBQYXRoVGV4dFJ1bjo6c2VsZWN0
aW9uUmVjdCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKSBjb25zdAotewotICAgIHJldHVy
biBXVEY6OnN3aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7Ci0gICAgICAg
IHJldHVybiBwYXRoLnNlbGVjdGlvblJlY3Qoc3RhcnQsIGVuZCk7Ci0gICAgfSk7Ci19Ci0KIGlu
bGluZSBUZXh0UnVuIFBhdGhUZXh0UnVuOjpjcmVhdGVUZXh0UnVuKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbJl0oYXV0byYgcGF0aCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaAppbmRleCBjN2Nk
YWE2YzAwYjk1ZmFjYjNhOGY5NWY0YTU3MTNhNGRkZWJlNTAyLi5hZGQyNWMyZDRlOTk2ZTQ2Yjgx
Yzg1NmE3YjIyOGI3MjczMzhhMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5J
dGVyYXRvckxlZ2FjeVBhdGguaApAQCAtNzYsNyArNzYsNiBAQCBwdWJsaWM6CiAgICAgZmxvYXQg
cG9zaXRpb25Gb3JPZmZzZXQodW5zaWduZWQgb2Zmc2V0KSBjb25zdCB7IHJldHVybiBpbmxpbmVU
ZXh0Qm94KCktPnBvc2l0aW9uRm9yT2Zmc2V0KG9mZnNldCk7IH0KIAogICAgIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2Ugc2VsZWN0YWJsZVJhbmdlKCkgY29uc3QgeyByZXR1cm4gaW5saW5lVGV4dEJv
eCgpLT5zZWxlY3RhYmxlUmFuZ2UoKTsgfQotICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCh1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94
KCktPmxvY2FsU2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsgfQogCiAgICAgVGV4dFJ1biBjcmVh
dGVUZXh0UnVuKCkgY29uc3QgeyByZXR1cm4gaW5saW5lVGV4dEJveCgpLT5jcmVhdGVUZXh0UnVu
KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGgu
aAppbmRleCA4NTIxNGU0NmJlOWVkNDQ2NTZjYmIyY2QzOTk1YzVkOWUyMzEyNGI2Li4yMzIzM2Iw
OWVhYzJjMzk1NTNhNjc2MjMyYmQ1ZjI3NTJhOTFkZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVy
blBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaApAQCAtMTEwLDMwICsxMTAsNiBAQCBwdWJs
aWM6CiAgICAgICAgIH07CiAgICAgfQogCi0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVu
c2lnbmVkIHJhbmdlU3RhcnQsIHVuc2lnbmVkIHJhbmdlRW5kKSBjb25zdAotICAgIHsKLSAgICAg
ICAgYXV0byBbY2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNs
YW1wKHJhbmdlU3RhcnQsIHJhbmdlRW5kKTsKLQotICAgICAgICBpZiAoY2xhbXBlZFN0YXJ0ID49
IGNsYW1wZWRFbmQgJiYgIShyYW5nZVN0YXJ0ID09IHJhbmdlRW5kICYmIHJhbmdlU3RhcnQgPj0g
c3RhcnQoKSAmJiByYW5nZVN0YXJ0IDw9IGVuZCgpKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICAgICAgYXV0byBsb2dpY2FsTGVmdCA9IExheW91dFVuaXQoaXNIb3Jpem9udGFsKCkg
PyByZWN0KCkueCgpIDogcmVjdCgpLnkoKSk7Ci0gICAgICAgIGF1dG8gbG9naWNhbFJpZ2h0ID0g
TGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS5tYXhYKCkgOiByZWN0KCkubWF4WSgp
KTsKLSAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBsb2dpY2FsUmlnaHQgLSBsb2dpY2FsTGVm
dDsKLQotICAgICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIHNoYXJlIGltcGxlbWVudGF0aW9u
IHdpdGggdGhlIGxpbmUgaXRlcmF0b3IuCi0gICAgICAgIGF1dG8gc2VsZWN0aW9uVG9wID0gTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0g
ICAgICAgIGF1dG8gc2VsZWN0aW9uSGVpZ2h0ID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQo
bGluZSgpLmVuY2xvc2luZ0NvbnRlbnRCb3R0b20oKSAtIGxpbmUoKS5lbmNsb3NpbmdDb250ZW50
VG9wKCkpOwotCi0gICAgICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0
LCBzZWxlY3Rpb25Ub3AsIGxvZ2ljYWxXaWR0aCwgc2VsZWN0aW9uSGVpZ2h0IH07Ci0KLSAgICAg
ICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bihIeXBoZW5Nb2RlOjpJbmNsdWRlKTsK
LSAgICAgICAgaWYgKGNsYW1wZWRTdGFydCB8fCBjbGFtcGVkRW5kICE9IHRleHRSdW4ubGVuZ3Ro
KCkpCi0gICAgICAgICAgICBydW4oKS5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuYWRqdXN0U2VsZWN0
aW9uUmVjdEZvclRleHQodGV4dFJ1biwgc2VsZWN0aW9uUmVjdCwgY2xhbXBlZFN0YXJ0LCBjbGFt
cGVkRW5kKTsKLQotICAgICAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9u
UmVjdCwgbG9naWNhbFJpZ2h0LCBzZWxlY3Rpb25Ub3AsIHNlbGVjdGlvbkhlaWdodCwgaXNIb3Jp
em9udGFsKCkpOwotICAgIH0KLQogICAgIFRleHRSdW4gY3JlYXRlVGV4dFJ1bigpIGNvbnN0CiAg
ICAgewogICAgICAgICByZXR1cm4gY3JlYXRlVGV4dFJ1bihIeXBoZW5Nb2RlOjpJbmNsdWRlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzlm
NzI3NmUyN2ZiMzVmODNkZmNlZTlkYzNmNmQwNmYwODZmNDkwMC4uNzYyNzE1ZmY2YjJmOTE4YmM4
MmQyNTA3ZGU3YjI3Mjg3MjdhZmIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKQEAgLTMyMDcsMTMgKzMyMDcsNiBAQCBzdGQ6Om9wdGlvbmFsPExh
eW91dFVuaXQ+IFJlbmRlckJsb2NrRmxvdzo6aW5saW5lQmxvY2tCYXNlbGluZShMaW5lRGlyZWN0
aW9uTW9kZQogICAgIHJldHVybiBMYXlvdXRVbml0IHsgc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZSA/IGxhc3RCYXNlbGluZSA6IHN0ZDo6bWluKGJveEhlaWdodCwgbGFz
dEJhc2VsaW5lKSB9OwogfQogCi12b2lkIFJlbmRlckJsb2NrRmxvdzo6c2V0U2VsZWN0aW9uU3Rh
dGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCi17Ci0gICAgaWYgKHN0YXRlICE9IEhpZ2hsaWdodFN0
YXRlOjpOb25lKQotICAgICAgICBlbnN1cmVMaW5lQm94ZXMoKTsKLSAgICBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6c2V0U2VsZWN0aW9uU3RhdGUoc3RhdGUpOwotfQotCiBMYXlvdXRVbml0IFJlbmRl
ckJsb2NrRmxvdzo6YWRqdXN0U2VsZWN0aW9uVG9wRm9yUHJlY2VkaW5nQmxvY2soTGF5b3V0VW5p
dCB0b3ApIGNvbnN0CiB7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2JqZWN0
OjpIaWdobGlnaHRTdGF0ZTo6SW5zaWRlICYmIHNlbGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2Jq
ZWN0OjpIaWdobGlnaHRTdGF0ZTo6RW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oCmluZGV4IDc3NTY1ODMyYTQ4NGM4OWY1NzdiZDkzYTljOWM4MWZhYTBmNmU2
YzcuLjVmOTE4MTFiYWUwZTU3MGY1MmNmNGNhMzQxZGY0OTI5NmUyMzk0ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTU1OCw3ICs1NTgsNiBAQCBw
cml2YXRlOgogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CiAgICAgdW5zaWduZWQg
bV9saW5lQ291bnRGb3JUZXh0QXV0b3NpemluZyA6IDI7CiAjZW5kaWYKLSAgICB2b2lkIHNldFNl
bGVjdGlvblN0YXRlKEhpZ2hsaWdodFN0YXRlKSBmaW5hbDsKIAogcHVibGljOgogICAgIC8vIEZJ
WE1FLUJMT0NLRkxPVzogVGhlc2UgY2FuIGJlIG1hZGUgcHJvdGVjdGVkIGFnYWluIG9uY2UgYWxs
IGNhbGxlcnMgaGF2ZSBiZWVuIG1vdmVkIGhlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IDcwNzExMzgwYjI0Yjk5ZmUxN2I2NWY0OWU0YjExZTcxYWJm
NWIxYmIuLjgxZTQ5MjAyMDc3YjJiZDVlYzE3MDMxNDllM2Y1MDY5MTVkNWFmNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xODAwLDEzICsxODAwLDYg
QEAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IFJlbmRlck9iamVjdDo6c3R5bGVDb2xv
ck9wdGlvbnMoKSBjb25zdAogCiB2b2lkIFJlbmRlck9iamVjdDo6c2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUgc3RhdGUpCiB7Ci0jaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCi0gICAgaWYgKHN0YXRlICE9IEhpZ2hsaWdodFN0YXRlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNv
bnRhaW5pbmcoKnRoaXMpKQotICAgICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxp
bmVCb3hlcygpOwotICAgIH0KLSNlbmRpZgotCiAgICAgbV9iaXRmaWVsZHMuc2V0U2VsZWN0aW9u
U3RhdGUoc3RhdGUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGU3MGMwNmUzMTMzYWEyZTM3ZTFkYThlYTdhYTdh
NzczMWUzZTJkZS4uZWMwYWI5YzZkNGYwOTljYTE0OTNjYWI5NTc0NGFkN2JkNWUwMDZmYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNlbGVjdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDQ2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9y
ZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJl
LXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOS0xOCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgRmFt
aWx5XSBEZWxldGUgbGV0dGVycHJlc3Mgc3VwcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNWM3MTQxNjFkODFhM2FjNGE5MTVkYWE5NTIyMGRjZmFk
NDE5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0
aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitBCitB
CisocmVwYWludCByZWN0cworICAocmVjdCA4IDY4IDIwIDE2MCkKKyAgKHJlY3QgOCA2OCAyMCAx
NjApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24t
cGFpbnQtaW52YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0
aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxOTdkYzAzOWQ0OTZjYjAz
N2Q5ZmEzYzRjZjcxN2M2Njc5ZDhjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UZXN0IHRoYXQg
c2VsZWN0aW9uIGdldHMgY2xlYXJlZCBwcm9wZXJseSB3aXRoIGxpbmUtaGVpZ2h0IHNldC48L3Rp
dGxlPgorPHN0eWxlPgorOjpzZWxlY3Rpb24geworICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAw
LCAwLCAwLjkpOworfQorCitkaXYgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBmb250LWZh
bWlseTogJ0FoZW0nOworICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+QTxicj48c3Bhbj5BPC9zcGFuPjwvZGl2
PgorPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgIGludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoKTsKKworICAgIGNv
bnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZWxlY3ROb2Rl
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjb250YWluZXIgPiBzcGFuIikpOworICAgIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShyYW5nZSk7CisKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJl
bW92ZUFsbFJhbmdlcygpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
bGV0IHJlcGFpbnRSZWN0cyA9IGludGVybmFscy5yZXBhaW50UmVjdHNBc1RleHQoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgICAgIHJlc3VsdC50ZXh0
Q29udGVudCA9IHJlcGFpbnRSZWN0czsKKyAgICB9CisKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworICAgIAorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9OwordGVzdCgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUt
d3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGYwYWM1MDE3OGQxNWY1
YTk4MjczMGM2MzkzZDQ5M2NhOTRlNzVlOTcuLjJjMDUxNTk3ZDg3NmU2OWIzMTdlMzE3NmMyZDgw
OWJhZjk0YjgwOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvd2hpdGVzcGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3Jh
cC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0yMiwxMiArMjIsMTAgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDE5
Nykgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVy
QmxvY2sge1BSRX0gYXQgKDAsMjEyKSBzaXplIDEwOHg4MyBbYm9yZGVyOiAoNHB4IHNvbGlkICMw
MDAwRkYpXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQsNCkgc2l6ZSAxMDB4NzUK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCw0KSB3aWR0aCA4NjogIlRoaXMgICB0ZXh0IgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICg4OSw0KSB3aWR0aCAxNTogIiAgICAgIgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0LDQpIHdpZHRoIDEwMDogIlRoaXMgICB0ZXh0ICAgICAiCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQsMTkpIHdpZHRoIDcxOiAid2lsbCB3cmFwIgogICAgICAgICAgIHRleHQg
cnVuIGF0ICg3NCwxOSkgd2lkdGggMTogIiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDQsMzQp
IHdpZHRoIDcxOiAiYW5kICAgZml0IgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3NCwzNCkgd2lk
dGggMjQ6ICIgICAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDQsMzQpIHdpZHRoIDk0OiAiYW5k
ICAgZml0ICAgIgogICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDQ5KSB3aWR0aCA3OTogIndpdGhp
biB0aGUiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDgyLDQ5KSB3aWR0aCAxOiAiICIKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNCw2NCkgd2lkdGggMzI6ICJib3guIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438653</attachid>
            <date>2021-09-20 03:44:10 -0700</date>
            <delta_ts>2021-09-20 04:33:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920134409.patch</filename>
            <type>text/plain</type>
            <size>15602</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNjMyZjlhYTVmMTY4YzZkYWI0ZDgxMGFmNGRiNGQ2
Njc1OWYzNDhiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdy
YXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2Fj
eVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRv
ckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpz
ZXRTZWxlY3Rpb25TdGF0ZSk6CisKIDIwMjEtMDktMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFtsRkNdW0ludGVncmF0aW9uXSBFbmFibGUgc29tZSB0ZXh0
IHBhaW50aW5nIGZlYXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKaW5kZXggYjY4
N2M4MDA5YzYzZTIwOWE2YWFkZTczZWM5MmVkNzJlOTM5ZDFiNC4uYzE4OTY0MjRiOTkzMWYxNTFm
MWRlNzZlZjVmM2UyZDM0ODQwMWYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApA
QCAtMTg5LDkgKzE4OSw2IEBAIHN0YXRpYyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNv
biByZWFzb24sIFRleHRTdHJlYW0mIHN0cmVhbSkKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0hhc0NvbXBsZXhGb250Q29kZVBhdGg6CiAgICAgICAgIHN0cmVhbSA8PCAidGV4dCB3aXRo
IGNvbXBsZXggZm9udCBjb2RlcGF0aCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXZvaWRh
bmNlUmVhc29uOjpGbG93Q2hpbGRJc1NlbGVjdGVkOgotICAgICAgICBzdHJlYW0gPDwgInNlbGVj
dGVkIGNvbnRlbnQiOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0hhc0xpbmVCb3hDb250YWluR2x5cGhzOgogICAgICAgICBzdHJlYW0gPDwgIi13ZWJraXQt
bGluZS1ib3gtY29udGFpbjogZ2x5cGhzIjsKICAgICAgICAgYnJlYWs7CkBAIC01MjcsOCArNTI0
LDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvclN0eWxlKGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5jbHUKIHN0YXRpYyBPcHRpb25TZXQ8QXZvaWRhbmNl
UmVhc29uPiBjYW5Vc2VGb3JDaGlsZChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0
IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2x1ZGVSZWFzb25zIGluY2x1ZGVSZWFzb25zKQogewog
ICAgIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IHJlYXNvbnM7Ci0gICAgaWYgKGNoaWxkLnNl
bGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6Tm9uZSkKLSAg
ICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93Q2hpbGRJc1NlbGVjdGVk
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKGlzPFJlbmRlckNvdW50ZXI+KGNo
aWxkKSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93VGV4dElz
UmVuZGVyQ291bnRlciwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5k
ZXJUZXh0PihjaGlsZCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCmluZGV4IDViYmZlM2I5
NjJkNGE2ZjdhNjkxNjY1ODYxZDU0YzAxZjhlOGFlMmQuLjc0MjliMzE1Nzg0NmE5NDlmM2ExMzVh
OTg4ZjkwY2FjNjIwYjZlYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaApAQCAtODAsNyAr
ODAsNyBAQCBlbnVtIGNsYXNzIEF2b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsKICAgICBGbG93
SGFzQ29tcGxleEZvbnRDb2RlUGF0aCAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQwLAog
ICAgIEZlYXR1cmVJc0Rpc2FibGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAg
PDwgNDEsCiAgICAgRmxvd0RvZXNOb3RFc3RhYmxpc2hJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCAg
PSAxTExVICA8PCA0MiwKLSAgICBGbG93Q2hpbGRJc1NlbGVjdGVkICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDFMTFUgIDw8IDQzLAorICAgIC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNDMsCiAgICAgRmxvd0hhc0hhbmdpbmdQdW5jdHVh
dGlvbiAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NCwKICAgICBGbG93SGFzTGluZUJv
eENvbnRhaW5HbHlwaHMgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ1LAogICAgIEZsb3dU
ZXh0SGFzU3Vycm9nYXRlUGFpciAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNDYsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKaW5kZXggZmFiM2UwZjgwZjY2YzJkN2M3
NmFjYWVkNDE4YzZkMTY4MWFiNjk5Ni4uMmViM2RmZDJiY2Q2NTlhZDZhODIwZTZmODQ0NWVkMzE4
NzdmYmI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcApAQCAtMTA2LDYg
KzEwNiwyNSBAQCBUZXh0UnVuSXRlcmF0b3IgUGF0aFRleHRSdW46Om5leHRUZXh0UnVuSW5UZXh0
T3JkZXIoKSBjb25zdAogICAgIHJldHVybiBUZXh0UnVuSXRlcmF0b3IoKnRoaXMpLnRyYXZlcnNl
TmV4dFRleHRSdW5JblRleHRPcmRlcigpOwogfQogCitMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpz
ZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHJhbmdlU3RhcnQsIHVuc2lnbmVkIHJhbmdlRW5kKSBjb25z
dAoreworICAgIGF1dG8gW2NsYW1wZWRTdGFydCwgY2xhbXBlZEVuZF0gPSBzZWxlY3RhYmxlUmFu
Z2UoKS5jbGFtcChyYW5nZVN0YXJ0LCByYW5nZUVuZCk7CisKKyAgICBpZiAoY2xhbXBlZFN0YXJ0
ID49IGNsYW1wZWRFbmQgJiYgIShyYW5nZVN0YXJ0ID09IHJhbmdlRW5kICYmIHJhbmdlU3RhcnQg
Pj0gc3RhcnQoKSAmJiByYW5nZVN0YXJ0IDw9IGVuZCgpKSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIGF1dG8gc2VsZWN0aW9uVG9wID0gbGluZSgpLT5zZWxlY3Rpb25Ub3AoKTsKKyAgICBh
dXRvIHNlbGVjdGlvbkhlaWdodCA9IGxpbmUoKS0+c2VsZWN0aW9uSGVpZ2h0KCk7CisKKyAgICBM
YXlvdXRSZWN0IHNlbGVjdGlvblJlY3QgeyBsb2dpY2FsTGVmdCgpLCBzZWxlY3Rpb25Ub3AsIGxv
Z2ljYWxXaWR0aCgpLCBzZWxlY3Rpb25IZWlnaHQgfTsKKworICAgIFRleHRSdW4gdGV4dFJ1biA9
IGNyZWF0ZVRleHRSdW4oKTsKKyAgICBpZiAoY2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0g
dGV4dFJ1bi5sZW5ndGgoKSkKKyAgICAgICAgc3R5bGUoKS5mb250Q2FzY2FkZSgpLmFkanVzdFNl
bGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwg
Y2xhbXBlZEVuZCk7CisKKyAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9u
UmVjdCwgbG9naWNhbFJpZ2h0KCksIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hv
cml6b250YWwoKSk7Cit9CisKIFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGUgUGF0aFJ1bjo6
c2VsZWN0aW9uU3RhdGUoKSBjb25zdAogewogICAgIGlmIChpc1RleHQoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvblJ1bkl0ZXJhdG9yLmgKaW5kZXggMDQ1ZWMwYjg4MDRkYTJlMzMyNTllMGMyODc4ZWQ4
MzY4MjVhNzVhMC4uODg2NTY3NTRmYzNmZDFiZDU0N2I0OGY4Y2ZlM2ZmNGFlN2QxNTYxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCkBAIC0zNjYsMTMgKzM2Niw2IEBAIGlubGlu
ZSBUZXh0Qm94U2VsZWN0YWJsZVJhbmdlIFBhdGhUZXh0UnVuOjpzZWxlY3RhYmxlUmFuZ2UoKSBj
b25zdAogICAgIH0pOwogfQogCi1pbmxpbmUgTGF5b3V0UmVjdCBQYXRoVGV4dFJ1bjo6c2VsZWN0
aW9uUmVjdCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKSBjb25zdAotewotICAgIHJldHVy
biBXVEY6OnN3aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7Ci0gICAgICAg
IHJldHVybiBwYXRoLnNlbGVjdGlvblJlY3Qoc3RhcnQsIGVuZCk7Ci0gICAgfSk7Ci19Ci0KIGlu
bGluZSBUZXh0UnVuIFBhdGhUZXh0UnVuOjpjcmVhdGVUZXh0UnVuKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbJl0oYXV0byYgcGF0aCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaAppbmRleCBjN2Nk
YWE2YzAwYjk1ZmFjYjNhOGY5NWY0YTU3MTNhNGRkZWJlNTAyLi5hZGQyNWMyZDRlOTk2ZTQ2Yjgx
Yzg1NmE3YjIyOGI3MjczMzhhMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5J
dGVyYXRvckxlZ2FjeVBhdGguaApAQCAtNzYsNyArNzYsNiBAQCBwdWJsaWM6CiAgICAgZmxvYXQg
cG9zaXRpb25Gb3JPZmZzZXQodW5zaWduZWQgb2Zmc2V0KSBjb25zdCB7IHJldHVybiBpbmxpbmVU
ZXh0Qm94KCktPnBvc2l0aW9uRm9yT2Zmc2V0KG9mZnNldCk7IH0KIAogICAgIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2Ugc2VsZWN0YWJsZVJhbmdlKCkgY29uc3QgeyByZXR1cm4gaW5saW5lVGV4dEJv
eCgpLT5zZWxlY3RhYmxlUmFuZ2UoKTsgfQotICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCh1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94
KCktPmxvY2FsU2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsgfQogCiAgICAgVGV4dFJ1biBjcmVh
dGVUZXh0UnVuKCkgY29uc3QgeyByZXR1cm4gaW5saW5lVGV4dEJveCgpLT5jcmVhdGVUZXh0UnVu
KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGgu
aAppbmRleCA4NTIxNGU0NmJlOWVkNDQ2NTZjYmIyY2QzOTk1YzVkOWUyMzEyNGI2Li4yMzIzM2Iw
OWVhYzJjMzk1NTNhNjc2MjMyYmQ1ZjI3NTJhOTFkZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVy
blBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaApAQCAtMTEwLDMwICsxMTAsNiBAQCBwdWJs
aWM6CiAgICAgICAgIH07CiAgICAgfQogCi0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVu
c2lnbmVkIHJhbmdlU3RhcnQsIHVuc2lnbmVkIHJhbmdlRW5kKSBjb25zdAotICAgIHsKLSAgICAg
ICAgYXV0byBbY2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNs
YW1wKHJhbmdlU3RhcnQsIHJhbmdlRW5kKTsKLQotICAgICAgICBpZiAoY2xhbXBlZFN0YXJ0ID49
IGNsYW1wZWRFbmQgJiYgIShyYW5nZVN0YXJ0ID09IHJhbmdlRW5kICYmIHJhbmdlU3RhcnQgPj0g
c3RhcnQoKSAmJiByYW5nZVN0YXJ0IDw9IGVuZCgpKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICAgICAgYXV0byBsb2dpY2FsTGVmdCA9IExheW91dFVuaXQoaXNIb3Jpem9udGFsKCkg
PyByZWN0KCkueCgpIDogcmVjdCgpLnkoKSk7Ci0gICAgICAgIGF1dG8gbG9naWNhbFJpZ2h0ID0g
TGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS5tYXhYKCkgOiByZWN0KCkubWF4WSgp
KTsKLSAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBsb2dpY2FsUmlnaHQgLSBsb2dpY2FsTGVm
dDsKLQotICAgICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIHNoYXJlIGltcGxlbWVudGF0aW9u
IHdpdGggdGhlIGxpbmUgaXRlcmF0b3IuCi0gICAgICAgIGF1dG8gc2VsZWN0aW9uVG9wID0gTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQobGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0g
ICAgICAgIGF1dG8gc2VsZWN0aW9uSGVpZ2h0ID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQo
bGluZSgpLmVuY2xvc2luZ0NvbnRlbnRCb3R0b20oKSAtIGxpbmUoKS5lbmNsb3NpbmdDb250ZW50
VG9wKCkpOwotCi0gICAgICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0
LCBzZWxlY3Rpb25Ub3AsIGxvZ2ljYWxXaWR0aCwgc2VsZWN0aW9uSGVpZ2h0IH07Ci0KLSAgICAg
ICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bihIeXBoZW5Nb2RlOjpJbmNsdWRlKTsK
LSAgICAgICAgaWYgKGNsYW1wZWRTdGFydCB8fCBjbGFtcGVkRW5kICE9IHRleHRSdW4ubGVuZ3Ro
KCkpCi0gICAgICAgICAgICBydW4oKS5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuYWRqdXN0U2VsZWN0
aW9uUmVjdEZvclRleHQodGV4dFJ1biwgc2VsZWN0aW9uUmVjdCwgY2xhbXBlZFN0YXJ0LCBjbGFt
cGVkRW5kKTsKLQotICAgICAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9u
UmVjdCwgbG9naWNhbFJpZ2h0LCBzZWxlY3Rpb25Ub3AsIHNlbGVjdGlvbkhlaWdodCwgaXNIb3Jp
em9udGFsKCkpOwotICAgIH0KLQogICAgIFRleHRSdW4gY3JlYXRlVGV4dFJ1bigpIGNvbnN0CiAg
ICAgewogICAgICAgICByZXR1cm4gY3JlYXRlVGV4dFJ1bihIeXBoZW5Nb2RlOjpJbmNsdWRlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzlm
NzI3NmUyN2ZiMzVmODNkZmNlZTlkYzNmNmQwNmYwODZmNDkwMC4uNzYyNzE1ZmY2YjJmOTE4YmM4
MmQyNTA3ZGU3YjI3Mjg3MjdhZmIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKQEAgLTMyMDcsMTMgKzMyMDcsNiBAQCBzdGQ6Om9wdGlvbmFsPExh
eW91dFVuaXQ+IFJlbmRlckJsb2NrRmxvdzo6aW5saW5lQmxvY2tCYXNlbGluZShMaW5lRGlyZWN0
aW9uTW9kZQogICAgIHJldHVybiBMYXlvdXRVbml0IHsgc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZSA/IGxhc3RCYXNlbGluZSA6IHN0ZDo6bWluKGJveEhlaWdodCwgbGFz
dEJhc2VsaW5lKSB9OwogfQogCi12b2lkIFJlbmRlckJsb2NrRmxvdzo6c2V0U2VsZWN0aW9uU3Rh
dGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCi17Ci0gICAgaWYgKHN0YXRlICE9IEhpZ2hsaWdodFN0
YXRlOjpOb25lKQotICAgICAgICBlbnN1cmVMaW5lQm94ZXMoKTsKLSAgICBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6c2V0U2VsZWN0aW9uU3RhdGUoc3RhdGUpOwotfQotCiBMYXlvdXRVbml0IFJlbmRl
ckJsb2NrRmxvdzo6YWRqdXN0U2VsZWN0aW9uVG9wRm9yUHJlY2VkaW5nQmxvY2soTGF5b3V0VW5p
dCB0b3ApIGNvbnN0CiB7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2JqZWN0
OjpIaWdobGlnaHRTdGF0ZTo6SW5zaWRlICYmIHNlbGVjdGlvblN0YXRlKCkgIT0gUmVuZGVyT2Jq
ZWN0OjpIaWdobGlnaHRTdGF0ZTo6RW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oCmluZGV4IDc3NTY1ODMyYTQ4NGM4OWY1NzdiZDkzYTljOWM4MWZhYTBmNmU2
YzcuLjVmOTE4MTFiYWUwZTU3MGY1MmNmNGNhMzQxZGY0OTI5NmUyMzk0ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTU1OCw3ICs1NTgsNiBAQCBw
cml2YXRlOgogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CiAgICAgdW5zaWduZWQg
bV9saW5lQ291bnRGb3JUZXh0QXV0b3NpemluZyA6IDI7CiAjZW5kaWYKLSAgICB2b2lkIHNldFNl
bGVjdGlvblN0YXRlKEhpZ2hsaWdodFN0YXRlKSBmaW5hbDsKIAogcHVibGljOgogICAgIC8vIEZJ
WE1FLUJMT0NLRkxPVzogVGhlc2UgY2FuIGJlIG1hZGUgcHJvdGVjdGVkIGFnYWluIG9uY2UgYWxs
IGNhbGxlcnMgaGF2ZSBiZWVuIG1vdmVkIGhlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IDcwNzExMzgwYjI0Yjk5ZmUxN2I2NWY0OWU0YjExZTcxYWJm
NWIxYmIuLjgxZTQ5MjAyMDc3YjJiZDVlYzE3MDMxNDllM2Y1MDY5MTVkNWFmNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xODAwLDEzICsxODAwLDYg
QEAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IFJlbmRlck9iamVjdDo6c3R5bGVDb2xv
ck9wdGlvbnMoKSBjb25zdAogCiB2b2lkIFJlbmRlck9iamVjdDo6c2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUgc3RhdGUpCiB7Ci0jaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCi0gICAgaWYgKHN0YXRlICE9IEhpZ2hsaWdodFN0YXRlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNv
bnRhaW5pbmcoKnRoaXMpKQotICAgICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxp
bmVCb3hlcygpOwotICAgIH0KLSNlbmRpZgotCiAgICAgbV9iaXRmaWVsZHMuc2V0U2VsZWN0aW9u
U3RhdGUoc3RhdGUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGU3MGMwNmUzMTMzYWEyZTM3ZTFkYThlYTdhYTdh
NzczMWUzZTJkZS4uZWMwYWI5YzZkNGYwOTljYTE0OTNjYWI5NTc0NGFkN2JkNWUwMDZmYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNlbGVjdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDQ2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9y
ZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJl
LXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOS0xOCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgRmFt
aWx5XSBEZWxldGUgbGV0dGVycHJlc3Mgc3VwcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNWM3MTQxNjFkODFhM2FjNGE5MTVkYWE5NTIyMGRjZmFk
NDE5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0
aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitBCitB
CisocmVwYWludCByZWN0cworICAocmVjdCA4IDY4IDIwIDE2MCkKKyAgKHJlY3QgOCA2OCAyMCAx
NjApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24t
cGFpbnQtaW52YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0
aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxOTdkYzAzOWQ0OTZjYjAz
N2Q5ZmEzYzRjZjcxN2M2Njc5ZDhjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UZXN0IHRoYXQg
c2VsZWN0aW9uIGdldHMgY2xlYXJlZCBwcm9wZXJseSB3aXRoIGxpbmUtaGVpZ2h0IHNldC48L3Rp
dGxlPgorPHN0eWxlPgorOjpzZWxlY3Rpb24geworICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAw
LCAwLCAwLjkpOworfQorCitkaXYgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBmb250LWZh
bWlseTogJ0FoZW0nOworICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+QTxicj48c3Bhbj5BPC9zcGFuPjwvZGl2
PgorPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgIGludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoKTsKKworICAgIGNv
bnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZWxlY3ROb2Rl
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjb250YWluZXIgPiBzcGFuIikpOworICAgIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShyYW5nZSk7CisKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJl
bW92ZUFsbFJhbmdlcygpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
bGV0IHJlcGFpbnRSZWN0cyA9IGludGVybmFscy5yZXBhaW50UmVjdHNBc1RleHQoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgICAgIHJlc3VsdC50ZXh0
Q29udGVudCA9IHJlcGFpbnRSZWN0czsKKyAgICB9CisKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworICAgIAorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9OwordGVzdCgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUt
d3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGYwYWM1MDE3OGQxNWY1
YTk4MjczMGM2MzkzZDQ5M2NhOTRlNzVlOTcuLjJjMDUxNTk3ZDg3NmU2OWIzMTdlMzE3NmMyZDgw
OWJhZjk0YjgwOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvd2hpdGVzcGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3Jh
cC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0yMiwxMiArMjIsMTAgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDE5
Nykgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVy
QmxvY2sge1BSRX0gYXQgKDAsMjEyKSBzaXplIDEwOHg4MyBbYm9yZGVyOiAoNHB4IHNvbGlkICMw
MDAwRkYpXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQsNCkgc2l6ZSAxMDB4NzUK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCw0KSB3aWR0aCA4NjogIlRoaXMgICB0ZXh0IgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICg4OSw0KSB3aWR0aCAxNTogIiAgICAgIgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0LDQpIHdpZHRoIDEwMDogIlRoaXMgICB0ZXh0ICAgICAiCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQsMTkpIHdpZHRoIDcxOiAid2lsbCB3cmFwIgogICAgICAgICAgIHRleHQg
cnVuIGF0ICg3NCwxOSkgd2lkdGggMTogIiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDQsMzQp
IHdpZHRoIDcxOiAiYW5kICAgZml0IgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3NCwzNCkgd2lk
dGggMjQ6ICIgICAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDQsMzQpIHdpZHRoIDk0OiAiYW5k
ICAgZml0ICAgIgogICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDQ5KSB3aWR0aCA3OTogIndpdGhp
biB0aGUiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDgyLDQ5KSB3aWR0aCAxOiAiICIKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNCw2NCkgd2lkdGggMzI6ICJib3guIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438654</attachid>
            <date>2021-09-20 04:33:33 -0700</date>
            <delta_ts>2021-09-20 04:34:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920143331.patch</filename>
            <type>text/plain</type>
            <size>22681</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNmQxMWIxNmRmOWM2NTRjNThiNjk1MzYyZWNjYmRi
NTllOGRkYzA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1bjo6aXNDb21iaW5lZFRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAg
ICAgICAgQWRkIHNvbWUgaGVscGZ1bCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvckxlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpz
ZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlv
blJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25T
dGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZSk6CisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OmNhblVzZUZvckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW46OmZvbnRD
YXNjYWRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGgu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvckxlZ2Fj
eVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRTZWxl
Y3Rpb25TdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRCb3hQYWludGVyOjpwYWludERlY29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91bmRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRCb3hQYWludGVyOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAgICAgICAgVXNlIGl0
ZXJhdG9yIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnRl
eHRPcmlnaW5Gcm9tUGFpbnRSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRDYXNj
YWRlRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpjb21i
aW5lZFRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgorCiAyMDIxLTA5LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbbEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNvbWUgdGV4dCBwYWludGluZyBm
ZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGI2ODdjODAwOWM2M2Uy
MDlhNmFhZGU3M2VjOTJlZDcyZTkzOWQxYjQuLmMxODk2NDI0Yjk5MzFmMTUxZjFkZTc2ZWY1ZjNl
MmQzNDg0MDFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKQEAgLTE4OSw5ICsx
ODksNiBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNDb21w
bGV4Rm9udENvZGVQYXRoOgogICAgICAgICBzdHJlYW0gPDwgInRleHQgd2l0aCBjb21wbGV4IGZv
bnQgY29kZXBhdGgiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0NoaWxkSXNTZWxlY3RlZDoKLSAgICAgICAgc3RyZWFtIDw8ICJzZWxlY3RlZCBjb250ZW50
IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNMaW5l
Qm94Q29udGFpbkdseXBoczoKICAgICAgICAgc3RyZWFtIDw8ICItd2Via2l0LWxpbmUtYm94LWNv
bnRhaW46IGdseXBocyI7CiAgICAgICAgIGJyZWFrOwpAQCAtNTI3LDggKzUyNCw2IEBAIHN0YXRp
YyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUsIEluY2x1CiBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2Fu
VXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5kZXJPYmpl
Y3QmIGNoaWxkLCBJbmNsdWRlUmVhc29ucyBpbmNsdWRlUmVhc29ucykKIHsKICAgICBPcHRpb25T
ZXQ8QXZvaWRhbmNlUmVhc29uPiByZWFzb25zOwotICAgIGlmIChjaGlsZC5zZWxlY3Rpb25TdGF0
ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0gICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0NoaWxkSXNTZWxlY3RlZCwgcmVhc29ucywg
aW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5kZXJDb3VudGVyPihjaGlsZCkpCiAgICAg
ICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd1RleHRJc1JlbmRlckNvdW50
ZXIsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCA1YmJmZTNiOTYyZDRhNmY3YTY5
MTY2NTg2MWQ1NGMwMWY4ZThhZTJkLi43NDI5YjMxNTc4NDZhOTQ5ZjNhMTM1YTk4OGY5MGNhYzYy
MGI2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTgwLDcgKzgwLDcgQEAgZW51
bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc0NvbXBsZXhG
b250Q29kZVBhdGggICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0MCwKICAgICBGZWF0dXJl
SXNEaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQxLAogICAg
IEZsb3dEb2VzTm90RXN0YWJsaXNoSW5saW5lRm9ybWF0dGluZ0NvbnRleHQgID0gMUxMVSAgPDwg
NDIsCi0gICAgRmxvd0NoaWxkSXNTZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
TExVICA8PCA0MywKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDQzLAogICAgIEZsb3dIYXNIYW5naW5nUHVuY3R1YXRpb24gICAgICAg
ICAgICAgICAgICAgID0gMUxMVSAgPDwgNDQsCiAgICAgRmxvd0hhc0xpbmVCb3hDb250YWluR2x5
cGhzICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NSwKICAgICBGbG93VGV4dEhhc1N1cnJv
Z2F0ZVBhaXIgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ2LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuY3BwCmluZGV4IGZhYjNlMGY4MGY2NmMyZDdjNzZhY2FlZDQxOGM2
ZDE2ODFhYjY5OTYuLjkwYzQyMzA2OThiYWYyZjAwNzE5OWZmNWRkNGQ3OTdmNzc0Yjk4NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblJ1bkl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCkBAIC0xMDYsNiArMTA3LDM5IEBAIFRleHRS
dW5JdGVyYXRvciBQYXRoVGV4dFJ1bjo6bmV4dFRleHRSdW5JblRleHRPcmRlcigpIGNvbnN0CiAg
ICAgcmV0dXJuIFRleHRSdW5JdGVyYXRvcigqdGhpcykudHJhdmVyc2VOZXh0VGV4dFJ1bkluVGV4
dE9yZGVyKCk7CiB9CiAKK0xheW91dFJlY3QgUGF0aFRleHRSdW46OnNlbGVjdGlvblJlY3QodW5z
aWduZWQgcmFuZ2VTdGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Cit7CisgICAgYXV0byBb
Y2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNsYW1wKHJhbmdl
U3RhcnQsIHJhbmdlRW5kKTsKKworICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBzZWxl
Y3Rpb25Ub3AgPSBsaW5lKCktPnNlbGVjdGlvblRvcCgpOworICAgIGF1dG8gc2VsZWN0aW9uSGVp
Z2h0ID0gbGluZSgpLT5zZWxlY3Rpb25IZWlnaHQoKTsKKworICAgIExheW91dFJlY3Qgc2VsZWN0
aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0KCksIHNlbGVjdGlvblRvcCwgbG9naWNhbFdpZHRoKCksIHNl
bGVjdGlvbkhlaWdodCB9OworCisgICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bigp
OworICAgIGlmIChjbGFtcGVkU3RhcnQgfHwgY2xhbXBlZEVuZCAhPSB0ZXh0UnVuLmxlbmd0aCgp
KQorICAgICAgICBmb250Q2FzY2FkZSgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRS
dW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwgY2xhbXBlZEVuZCk7CisKKyAgICByZXR1
cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHNl
bGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Cit9CisKK2Jvb2wg
UGF0aFRleHRSdW46OmlzQ29tYmluZWRUZXh0KCkgY29uc3QKK3sKKyAgICBhdXRvJiByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGlzPFJlbmRlckNvbWJpbmVUZXh0Pihy
ZW5kZXJlcikgJiYgZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKS5pc0NvbWJp
bmVkKCk7Cit9CisKK2NvbnN0IEZvbnRDYXNjYWRlJiBQYXRoVGV4dFJ1bjo6Zm9udENhc2NhZGUo
KSBjb25zdAoreworICAgIGlmIChpc0NvbWJpbmVkVGV4dCgpKQorICAgICAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKCkpLnRleHRDb21iaW5lRm9udCgpOwor
CisgICAgcmV0dXJuIHN0eWxlKCkuZm9udENhc2NhZGUoKTsKK30KKwogUmVuZGVyT2JqZWN0OjpI
aWdobGlnaHRTdGF0ZSBQYXRoUnVuOjpzZWxlY3Rpb25TdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KGlzVGV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAppbmRleCAwNDVlYzBi
ODgwNGRhMmUzMzI1OWUwYzI4NzhlZDgzNjgyNWE3NWEwLi5lOTg5NzA5MGUzYjlmNjY1YjI2NDc2
ODY0NmFkNzY5YjAyN2I5OTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKQEAg
LTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBzZWxl
Y3RhYmxlUmFuZ2UoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkgY29uc3Q7CiAKKyAgICBib29sIGlzQ29tYmluZWRUZXh0
KCkgY29uc3Q7CisgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlKCkgY29uc3Q7CisK
ICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlclRl
eHQmIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGV4dD4oUGF0aFJ1
bjo6cmVuZGVyZXIoKSk7IH0KQEAgLTM2NiwxMyArMzY5LDYgQEAgaW5saW5lIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2UgUGF0aFRleHRSdW46OnNlbGVjdGFibGVSYW5nZSgpIGNvbnN0CiAgICAgfSk7
CiB9CiAKLWlubGluZSBMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0KHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFdURjo6c3dpdGNo
T24obV9wYXRoVmFyaWFudCwgWyZdKGF1dG8mIHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIHBhdGgu
c2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKLSAgICB9KTsKLX0KLQogaW5saW5lIFRleHRSdW4g
UGF0aFRleHRSdW46OmNyZWF0ZVRleHRSdW4oKSBjb25zdAogewogICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRv
ckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCmluZGV4IGM3Y2RhYTZjMDBiOTVmYWNi
M2E4Zjk1ZjRhNTcxM2E0ZGRlYmU1MDIuLmFkZDI1YzJkNGU5OTZlNDZiODFjODU2YTdiMjI4Yjcy
NzMzOGExNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5
UGF0aC5oCkBAIC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCBwb3NpdGlvbkZvck9m
ZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+cG9z
aXRpb25Gb3JPZmZzZXQob2Zmc2V0KTsgfQogCiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBz
ZWxlY3RhYmxlUmFuZ2UoKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPnNlbGVjdGFi
bGVSYW5nZSgpOyB9Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBlbmQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+bG9jYWxTZWxl
Y3Rpb25SZWN0KHN0YXJ0LCBlbmQpOyB9CiAKICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBj
b25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPmNyZWF0ZVRleHRSdW4oKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDg1MjE0
ZTQ2YmU5ZWQ0NDY1NmNiYjJjZDM5OTVjNWQ5ZTIzMTI0YjYuLjIzMjMzYjA5ZWFjMmMzOTU1M2E2
NzYyMzJiZDVmMjc1MmE5MWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0xMTAsMzAgKzExMCw2IEBAIHB1YmxpYzoKICAgICAgICAg
fTsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWduZWQgcmFuZ2VT
dGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Ci0gICAgewotICAgICAgICBhdXRvIFtjbGFt
cGVkU3RhcnQsIGNsYW1wZWRFbmRdID0gc2VsZWN0YWJsZVJhbmdlKCkuY2xhbXAocmFuZ2VTdGFy
dCwgcmFuZ2VFbmQpOwotCi0gICAgICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgICAgICBh
dXRvIGxvZ2ljYWxMZWZ0ID0gTGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS54KCkg
OiByZWN0KCkueSgpKTsKLSAgICAgICAgYXV0byBsb2dpY2FsUmlnaHQgPSBMYXlvdXRVbml0KGlz
SG9yaXpvbnRhbCgpID8gcmVjdCgpLm1heFgoKSA6IHJlY3QoKS5tYXhZKCkpOwotICAgICAgICBh
dXRvIGxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxSaWdodCAtIGxvZ2ljYWxMZWZ0OwotCi0gICAgICAg
IC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgc2hhcmUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGlu
ZSBpdGVyYXRvci4KLSAgICAgICAgYXV0byBzZWxlY3Rpb25Ub3AgPSBMYXlvdXRVbml0Ojpmcm9t
RmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nQ29udGVudFRvcCgpKTsKLSAgICAgICAgYXV0byBz
ZWxlY3Rpb25IZWlnaHQgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9z
aW5nQ29udGVudEJvdHRvbSgpIC0gbGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0KLSAg
ICAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0IHsgbG9naWNhbExlZnQsIHNlbGVjdGlvblRv
cCwgbG9naWNhbFdpZHRoLCBzZWxlY3Rpb25IZWlnaHQgfTsKLQotICAgICAgICBUZXh0UnVuIHRl
eHRSdW4gPSBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwotICAgICAgICBpZiAo
Y2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0gdGV4dFJ1bi5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJ1bigpLnN0eWxlKCkuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4
dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBjbGFtcGVkU3RhcnQsIGNsYW1wZWRFbmQpOwotCi0g
ICAgICAgIHJldHVybiBzbmFwcGVkU2VsZWN0aW9uUmVjdChzZWxlY3Rpb25SZWN0LCBsb2dpY2Fs
UmlnaHQsIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Ci0g
ICAgfQotCiAgICAgVGV4dFJ1biBjcmVhdGVUZXh0UnVuKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3OWY3Mjc2ZTI3ZmIzNWY4
M2RmY2VlOWRjM2Y2ZDA2ZjA4NmY0OTAwLi43NjI3MTVmZjZiMmY5MThiYzgyZDI1MDdkZTdiMjcy
ODcyN2FmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzIwNywxMyArMzIwNyw2IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2RlCiAgICAg
cmV0dXJuIExheW91dFVuaXQgeyBzdHlsZSgpLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNp
YmxlID8gbGFzdEJhc2VsaW5lIDogc3RkOjptaW4oYm94SGVpZ2h0LCBsYXN0QmFzZWxpbmUpIH07
CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRT
dGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0g
ICAgICAgIGVuc3VyZUxpbmVCb3hlcygpOwotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0OjpzZXRT
ZWxlY3Rpb25TdGF0ZShzdGF0ZSk7Ci19Ci0KIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkgY29uc3QK
IHsKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdodFN0
YXRlOjpJbnNpZGUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdo
dFN0YXRlOjpFbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggNzc1NjU4MzJhNDg0Yzg5ZjU3N2JkOTNhOWM5YzgxZmFhMGY2ZTZjNy4uNWY5MTgxMWJh
ZTBlNTcwZjUyY2Y0Y2EzNDFkZjQ5Mjk2ZTIzOTRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTU4LDcgKzU1OCw2IEBAIHByaXZhdGU6CiAgICAg
aW50IG1fd2lkdGhGb3JUZXh0QXV0b3NpemluZzsKICAgICB1bnNpZ25lZCBtX2xpbmVDb3VudEZv
clRleHRBdXRvc2l6aW5nIDogMjsKICNlbmRpZgotICAgIHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUpIGZpbmFsOwogCiBwdWJsaWM6CiAgICAgLy8gRklYTUUtQkxPQ0tGTE9X
OiBUaGVzZSBjYW4gYmUgbWFkZSBwcm90ZWN0ZWQgYWdhaW4gb25jZSBhbGwgY2FsbGVycyBoYXZl
IGJlZW4gbW92ZWQgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggNzA3MTEzODBiMjRiOTlmZTE3YjY1ZjQ5ZTRiMTFlNzFhYmY1YjFiYi4uODFlNDky
MDIwNzdiMmJkNWVjMTcwMzE0OWUzZjUwNjkxNWQ1YWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE4MDAsMTMgKzE4MDAsNiBAQCBPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4gUmVuZGVyT2JqZWN0OjpzdHlsZUNvbG9yT3B0aW9ucygpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRTdGF0
ZSBzdGF0ZSkKIHsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBp
ZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgaWYgKGF1dG8qIGxp
bmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhp
cykpCi0gICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICBtX2JpdGZpZWxkcy5zZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4
IGI0NTU1MmFhNzM5NDg0ODExMDcwZmRlZmI3MGQyMTI4MTA5NzQwM2YuLmJiYjQ0ODQwY2RjYjYz
M2RmODE0Nzk2ZjBhYTA2MmIxNmZjMGIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmNwcApAQCAtODcsNyArODcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVy
OjpwYWludCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFJvdGF0
ZSA9ICF0ZXh0Qm94KCkuaXNIb3Jpem9udGFsKCkgJiYgIWNvbWJpbmVkVGV4dCgpOworICAgIGJv
b2wgc2hvdWxkUm90YXRlID0gIXRleHRCb3goKS5pc0hvcml6b250YWwoKSAmJiAhdGV4dEJveCgp
LmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKHNob3VsZFJvdGF0ZSkKICAgICAgICAgbV9wYWlu
dEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNl
KSk7CiAKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludEZvcmVn
cm91bmQoY29uc3QgU3R5bGVkTWFya2VkVGV4dCYgbWFya2VkVGV4dCkKICAgICAgICAgaWYgKG1f
c3R5bGUuaGFzQXBwbGVDb2xvckZpbHRlcigpKQogICAgICAgICAgICAgdGV4dFBhaW50ZXIuc2V0
U2hhZG93Q29sb3JGaWx0ZXIoJm1fc3R5bGUuYXBwbGVDb2xvckZpbHRlcigpKTsKICAgICB9Ci0g
ICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJr
T2Zmc2V0LCBjb21iaW5lZFRleHQoKSk7CisgICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJr
KGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0Qm94KCkuaXNDb21iaW5lZFRl
eHQoKSA/ICZkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4obV9yZW5kZXJlcikgOiBudWxscHRy
KTsKICAgICBpZiAoYXV0byogZGVidWdTaGFkb3cgPSBkZWJ1Z1RleHRTaGFkb3coKSkKICAgICAg
ICAgdGV4dFBhaW50ZXIuc2V0U2hhZG93KGRlYnVnU2hhZG93KTsKIApAQCAtMzQ4LDcgKzM0OCw3
IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50RGVjb3JhdGlvbihjb25zdCBTdHlsZWRNYXJr
ZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGCiAKICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Y29udGV4dCwgbWFya2VkVGV4dC5zdHlsZS50ZXh0U3R5bGVzKTsKIAotICAgIGJvb2wgaXNDb21i
aW5lZFRleHQgPSBjb21iaW5lZFRleHQoKTsKKyAgICBib29sIGlzQ29tYmluZWRUZXh0ID0gdGV4
dEJveCgpLmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKGlzQ29tYmluZWRUZXh0KQogICAgICAg
ICBjb250ZXh0LmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNlKSk7CiAK
QEAgLTU2NiwxNyArNTY2LDkgQEAgRmxvYXRSZWN0IFRleHRCb3hQYWludGVyOjpjb21wdXRlUGFp
bnRSZWN0KGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICByZXR1cm4geyBib3hP
cmlnaW4sIEZsb2F0U2l6ZSh0ZXh0Qm94KCkubG9naWNhbFdpZHRoKCksIHRleHRCb3goKS5sb2dp
Y2FsSGVpZ2h0KCkpIH07CiB9CiAKLXN0YXRpYyBjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2Nh
ZGVGb3IoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiB0ZXh0
Qm94U3R5bGUpCi17Ci0gICAgaWYgKGlzPFJlbmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcikpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4ocmVuZGVyZXIpLnRleHRD
b21iaW5lRm9udCgpOwotCi0gICAgcmV0dXJuIHRleHRCb3hTdHlsZS5mb250Q2FzY2FkZSgpOwot
fQotCiBGbG9hdFJlY3QgVGV4dEJveFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91
bmRzKGNvbnN0IExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3ImIHRleHRCb3gsIGNv
bnN0IE1hcmtlZFRleHQmIG1hcmtlZFRleHQpCiB7Ci0gICAgYXV0byYgZm9udCA9IGZvbnRDYXNj
YWRlRm9yKHRleHRCb3gtPnJlbmRlcmVyKCksIHRleHRCb3gtPnN0eWxlKCkpOworICAgIGF1dG8m
IGZvbnQgPSB0ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogICAgIGF1dG8gYXNjZW50ID0gZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGF1dG8gZm9udFNpemUgPSBzdGQ6Om1pbihzdGQ6
Om1heChmb250LnNpemUoKSwgMTAuMGYpLCA0MC4wZik7CiAgICAgYXV0byB5ID0gYXNjZW50ICsg
MC4xMTAzNSAqIGZvbnRTaXplOwpAQCAtNjAxLDIxICs1OTMsMTYgQEAgYm9vbCBUZXh0Qm94UGFp
bnRlcjo6Y29tcHV0ZUhhdmVTZWxlY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBtX3JlbmRlcmVy
LnZpZXcoKS5zZWxlY3Rpb24oKS5oaWdobGlnaHRTdGF0ZUZvclRleHRCb3gobV9yZW5kZXJlciwg
bV9zZWxlY3RhYmxlUmFuZ2UpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmU7
CiB9CiAKLWNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBUZXh0Qm94UGFpbnRlcjo6Y29tYmluZWRU
ZXh0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaXM8UmVuZGVyQ29tYmluZVRleHQ+KG1fcmVuZGVy
ZXIpID8gJmRvd25jYXN0PFJlbmRlckNvbWJpbmVUZXh0PihtX3JlbmRlcmVyKSA6IG51bGxwdHI7
Ci19Ci0KIGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBj
b25zdAogewotICAgIHJldHVybiBmb250Q2FzY2FkZUZvcihtX3JlbmRlcmVyLCBtX3N0eWxlKTsK
KyAgICByZXR1cm4gbV90ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogfQogCiBGbG9hdFBvaW50IFRl
eHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHBh
aW50UmVjdCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4geyBwYWludFJlY3Qu
eCgpLCBwYWludFJlY3QueSgpICsgZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpLmFzY2VudCgp
IH07Ci0gICAgaWYgKGF1dG8qIGNvbWJpbmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7
Ci0gICAgICAgIGlmIChhdXRvIG5ld09yaWdpbiA9IGNvbWJpbmVkVGV4dC0+Y29tcHV0ZVRleHRP
cmlnaW4ocGFpbnRSZWN0KSkKKyAgICBpZiAodGV4dEJveCgpLmlzQ29tYmluZWRUZXh0KCkpIHsK
KyAgICAgICAgaWYgKGF1dG8gbmV3T3JpZ2luID0gZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+
KG1fcmVuZGVyZXIpLmNvbXB1dGVUZXh0T3JpZ2luKHBhaW50UmVjdCkpCiAgICAgICAgICAgICB0
ZXh0T3JpZ2luID0gbmV3T3JpZ2luLnZhbHVlKCk7CiAgICAgfQogICAgIGlmICh0ZXh0Qm94KCku
aXNIb3Jpem9udGFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5o
CmluZGV4IDdlYTNiMWU2ZDIwODdhOWJkZDNhYTFmNDdlMWJhZDA1MjYyYTBjNjIuLjg2ZGU5ZTA4
ZDc3MGE0ZjM3YzFiZmRiMjA0ODA2NzlmZjc2MmZhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC03OCw3ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgRmxv
YXRSZWN0IGNvbXB1dGVQYWludFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsK
ICAgICBib29sIGNvbXB1dGVIYXZlU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgTWFya2VkVGV4dCBj
cmVhdGVNYXJrZWRUZXh0RnJvbVNlbGVjdGlvbkluQm94KCk7Ci0gICAgY29uc3QgUmVuZGVyQ29t
YmluZVRleHQqIGNvbWJpbmVkVGV4dCgpIGNvbnN0OwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250Q2FzY2FkZSgpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbkZyb21QYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZTcwYzA2ZTMxMzNhYTJlMzdl
MWRhOGVhN2FhN2E3NzMxZTNlMmRlLi5lYzBhYjljNmQ0ZjA5OWNhMTQ5M2NhYjk1NzQ0YWQ3YmQ1
ZTAwNmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDktMjAgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmFibGUg
c2VsZWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMwNDYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxp
ZGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hp
dGVzcGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0OgorCiAyMDIx
LTA5LTE4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPUyBGYW1pbHldIERlbGV0ZSBsZXR0ZXJwcmVzcyBzdXBwb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFs
aWRhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYxMjMyNmRmOGZhMTQ4MDE3YmMzYTRl
NWY5NjU4NjUwYzJmOWRiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK0EKK0EKKyhyZXBhaW50IHJlY3RzCisgIChyZWN0IDggNjggMjAgMTAwKQorICAocmVj
dCA4IDY4IDIwIDEwMCkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE5N2Rj
MDM5ZDQ5NmNiMDM3ZDlmYTNjNGNmNzE3YzY2NzlkOGM4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLmh0bWwK
QEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PlRlc3QgdGhhdCBzZWxlY3Rpb24gZ2V0cyBjbGVhcmVkIHByb3Blcmx5IHdpdGggbGluZS1oZWln
aHQgc2V0LjwvdGl0bGU+Cis8c3R5bGU+Cis6OnNlbGVjdGlvbiB7CisgICAgYmFja2dyb3VuZDog
cmdiYSgyNTUsIDAsIDAsIDAuOSk7Cit9CisKK2RpdiB7CisgICAgZm9udC1zaXplOiAyMHB4Owor
ICAgIGZvbnQtZmFtaWx5OiAnQWhlbSc7CisgICAgbGluZS1oZWlnaHQ6IDEwMHB4OworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj5BPGJyPjxzcGFuPkE8
L3NwYW4+PC9kaXY+Cis8cHJlIGlkPSJyZXN1bHQiPjwvcHJlPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisKKyAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cygp
OworCisgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdl
LnNlbGVjdE5vZGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NvbnRhaW5lciA+IHNwYW4iKSk7
CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKKworICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisKKyAgICB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykg
eworICAgICAgICBsZXQgcmVwYWludFJlY3RzID0gaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4
dCgpOworICAgICAgICBpbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMoKTsKKyAgICAgICAg
cmVzdWx0LnRleHRDb250ZW50ID0gcmVwYWludFJlY3RzOworICAgIH0KKworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisgICAgCisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK307Cit0ZXN0KCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0
ZXNwYWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjBh
YzUwMTc4ZDE1ZjVhOTgyNzMwYzYzOTNkNDkzY2E5NGU3NWU5Ny4uMmMwNTE1OTdkODc2ZTY5YjMx
N2UzMTc2YzJkODA5YmFmOTRiODA5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNw
YWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTIyLDEyICsy
MiwxMCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckJsb2NrIHtI
Un0gYXQgKDAsMTk3KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAg
ICAgICBSZW5kZXJCbG9jayB7UFJFfSBhdCAoMCwyMTIpIHNpemUgMTA4eDgzIFtib3JkZXI6ICg0
cHggc29saWQgIzAwMDBGRildCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNCw0KSBz
aXplIDEwMHg3NQotICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDQpIHdpZHRoIDg2OiAiVGhpcyAg
IHRleHQiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDg5LDQpIHdpZHRoIDE1OiAiICAgICAiCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggMTAwOiAiVGhpcyAgIHRleHQgICAgICIK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCwxOSkgd2lkdGggNzE6ICJ3aWxsIHdyYXAiCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDc0LDE5KSB3aWR0aCAxOiAiICIKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNCwzNCkgd2lkdGggNzE6ICJhbmQgICBmaXQiCi0gICAgICAgICAgdGV4dCBydW4gYXQg
KDc0LDM0KSB3aWR0aCAyNDogIiAgICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCwzNCkgd2lk
dGggOTQ6ICJhbmQgICBmaXQgICAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQsNDkpIHdpZHRo
IDc5OiAid2l0aGluIHRoZSIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODIsNDkpIHdpZHRoIDE6
ICIgIgogICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDY0KSB3aWR0aCAzMjogImJveC4iCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438655</attachid>
            <date>2021-09-20 04:34:48 -0700</date>
            <delta_ts>2021-09-20 06:25:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920143446.patch</filename>
            <type>text/plain</type>
            <size>22678</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNmQxMWIxNmRmOWM2NTRjNThiNjk1MzYyZWNjYmRi
NTllOGRkYzA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1bjo6aXNDb21iaW5lZFRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAg
ICAgICAgQWRkIHNvbWUgaGVscGZ1bCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvckxlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpz
ZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlv
blJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25T
dGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZSk6CisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OmNhblVzZUZvckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW46OmZvbnRD
YXNjYWRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGgu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvckxlZ2Fj
eVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRTZWxl
Y3Rpb25TdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRCb3hQYWludGVyOjpwYWludERlY29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91bmRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRCb3hQYWludGVyOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAgICAgICAgVXNlIGl0
ZXJhdG9yIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnRl
eHRPcmlnaW5Gcm9tUGFpbnRSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRDYXNj
YWRlRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpjb21i
aW5lZFRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgorCiAyMDIxLTA5LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbbEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNvbWUgdGV4dCBwYWludGluZyBm
ZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGI2ODdjODAwOWM2M2Uy
MDlhNmFhZGU3M2VjOTJlZDcyZTkzOWQxYjQuLmMxODk2NDI0Yjk5MzFmMTUxZjFkZTc2ZWY1ZjNl
MmQzNDg0MDFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKQEAgLTE4OSw5ICsx
ODksNiBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNDb21w
bGV4Rm9udENvZGVQYXRoOgogICAgICAgICBzdHJlYW0gPDwgInRleHQgd2l0aCBjb21wbGV4IGZv
bnQgY29kZXBhdGgiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0NoaWxkSXNTZWxlY3RlZDoKLSAgICAgICAgc3RyZWFtIDw8ICJzZWxlY3RlZCBjb250ZW50
IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNMaW5l
Qm94Q29udGFpbkdseXBoczoKICAgICAgICAgc3RyZWFtIDw8ICItd2Via2l0LWxpbmUtYm94LWNv
bnRhaW46IGdseXBocyI7CiAgICAgICAgIGJyZWFrOwpAQCAtNTI3LDggKzUyNCw2IEBAIHN0YXRp
YyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUsIEluY2x1CiBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2Fu
VXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5kZXJPYmpl
Y3QmIGNoaWxkLCBJbmNsdWRlUmVhc29ucyBpbmNsdWRlUmVhc29ucykKIHsKICAgICBPcHRpb25T
ZXQ8QXZvaWRhbmNlUmVhc29uPiByZWFzb25zOwotICAgIGlmIChjaGlsZC5zZWxlY3Rpb25TdGF0
ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0gICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0NoaWxkSXNTZWxlY3RlZCwgcmVhc29ucywg
aW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5kZXJDb3VudGVyPihjaGlsZCkpCiAgICAg
ICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd1RleHRJc1JlbmRlckNvdW50
ZXIsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCA1YmJmZTNiOTYyZDRhNmY3YTY5
MTY2NTg2MWQ1NGMwMWY4ZThhZTJkLi43NDI5YjMxNTc4NDZhOTQ5ZjNhMTM1YTk4OGY5MGNhYzYy
MGI2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTgwLDcgKzgwLDcgQEAgZW51
bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc0NvbXBsZXhG
b250Q29kZVBhdGggICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0MCwKICAgICBGZWF0dXJl
SXNEaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQxLAogICAg
IEZsb3dEb2VzTm90RXN0YWJsaXNoSW5saW5lRm9ybWF0dGluZ0NvbnRleHQgID0gMUxMVSAgPDwg
NDIsCi0gICAgRmxvd0NoaWxkSXNTZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
TExVICA8PCA0MywKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDQzLAogICAgIEZsb3dIYXNIYW5naW5nUHVuY3R1YXRpb24gICAgICAg
ICAgICAgICAgICAgID0gMUxMVSAgPDwgNDQsCiAgICAgRmxvd0hhc0xpbmVCb3hDb250YWluR2x5
cGhzICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NSwKICAgICBGbG93VGV4dEhhc1N1cnJv
Z2F0ZVBhaXIgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ2LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuY3BwCmluZGV4IGZhYjNlMGY4MGY2NmMyZDdjNzZhY2FlZDQxOGM2
ZDE2ODFhYjY5OTYuLjkwYzQyMzA2OThiYWYyZjAwNzE5OWZmNWRkNGQ3OTdmNzc0Yjk4NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblJ1bkl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCkBAIC0xMDYsNiArMTA3LDM5IEBAIFRleHRS
dW5JdGVyYXRvciBQYXRoVGV4dFJ1bjo6bmV4dFRleHRSdW5JblRleHRPcmRlcigpIGNvbnN0CiAg
ICAgcmV0dXJuIFRleHRSdW5JdGVyYXRvcigqdGhpcykudHJhdmVyc2VOZXh0VGV4dFJ1bkluVGV4
dE9yZGVyKCk7CiB9CiAKK0xheW91dFJlY3QgUGF0aFRleHRSdW46OnNlbGVjdGlvblJlY3QodW5z
aWduZWQgcmFuZ2VTdGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Cit7CisgICAgYXV0byBb
Y2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNsYW1wKHJhbmdl
U3RhcnQsIHJhbmdlRW5kKTsKKworICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBzZWxl
Y3Rpb25Ub3AgPSBsaW5lKCktPnNlbGVjdGlvblRvcCgpOworICAgIGF1dG8gc2VsZWN0aW9uSGVp
Z2h0ID0gbGluZSgpLT5zZWxlY3Rpb25IZWlnaHQoKTsKKworICAgIExheW91dFJlY3Qgc2VsZWN0
aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0KCksIHNlbGVjdGlvblRvcCwgbG9naWNhbFdpZHRoKCksIHNl
bGVjdGlvbkhlaWdodCB9OworCisgICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bigp
OworICAgIGlmIChjbGFtcGVkU3RhcnQgfHwgY2xhbXBlZEVuZCAhPSB0ZXh0UnVuLmxlbmd0aCgp
KQorICAgICAgICBmb250Q2FzY2FkZSgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRS
dW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwgY2xhbXBlZEVuZCk7CisKKyAgICByZXR1
cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHNl
bGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Cit9CisKK2Jvb2wg
UGF0aFRleHRSdW46OmlzQ29tYmluZWRUZXh0KCkgY29uc3QKK3sKKyAgICBhdXRvJiByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGlzPFJlbmRlckNvbWJpbmVUZXh0Pihy
ZW5kZXJlcikgJiYgZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKS5pc0NvbWJp
bmVkKCk7Cit9CisKK2NvbnN0IEZvbnRDYXNjYWRlJiBQYXRoVGV4dFJ1bjo6Zm9udENhc2NhZGUo
KSBjb25zdAoreworICAgIGlmIChpc0NvbWJpbmVkVGV4dCgpKQorICAgICAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKCkpLnRleHRDb21iaW5lRm9udCgpOwor
CisgICAgcmV0dXJuIHN0eWxlKCkuZm9udENhc2NhZGUoKTsKK30KKwogUmVuZGVyT2JqZWN0OjpI
aWdobGlnaHRTdGF0ZSBQYXRoUnVuOjpzZWxlY3Rpb25TdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KGlzVGV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAppbmRleCAwNDVlYzBi
ODgwNGRhMmUzMzI1OWUwYzI4NzhlZDgzNjgyNWE3NWEwLi5lOTg5NzA5MGUzYjlmNjY1YjI2NDc2
ODY0NmFkNzY5YjAyN2I5OTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKQEAg
LTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBzZWxl
Y3RhYmxlUmFuZ2UoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkgY29uc3Q7CiAKKyAgICBib29sIGlzQ29tYmluZWRUZXh0
KCkgY29uc3Q7CisgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlKCkgY29uc3Q7CisK
ICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlclRl
eHQmIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGV4dD4oUGF0aFJ1
bjo6cmVuZGVyZXIoKSk7IH0KQEAgLTM2NiwxMyArMzY5LDYgQEAgaW5saW5lIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2UgUGF0aFRleHRSdW46OnNlbGVjdGFibGVSYW5nZSgpIGNvbnN0CiAgICAgfSk7
CiB9CiAKLWlubGluZSBMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0KHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFdURjo6c3dpdGNo
T24obV9wYXRoVmFyaWFudCwgWyZdKGF1dG8mIHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIHBhdGgu
c2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKLSAgICB9KTsKLX0KLQogaW5saW5lIFRleHRSdW4g
UGF0aFRleHRSdW46OmNyZWF0ZVRleHRSdW4oKSBjb25zdAogewogICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRv
ckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCmluZGV4IGM3Y2RhYTZjMDBiOTVmYWNi
M2E4Zjk1ZjRhNTcxM2E0ZGRlYmU1MDIuLmFkZDI1YzJkNGU5OTZlNDZiODFjODU2YTdiMjI4Yjcy
NzMzOGExNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5
UGF0aC5oCkBAIC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCBwb3NpdGlvbkZvck9m
ZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+cG9z
aXRpb25Gb3JPZmZzZXQob2Zmc2V0KTsgfQogCiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBz
ZWxlY3RhYmxlUmFuZ2UoKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPnNlbGVjdGFi
bGVSYW5nZSgpOyB9Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBlbmQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+bG9jYWxTZWxl
Y3Rpb25SZWN0KHN0YXJ0LCBlbmQpOyB9CiAKICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBj
b25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPmNyZWF0ZVRleHRSdW4oKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDg1MjE0
ZTQ2YmU5ZWQ0NDY1NmNiYjJjZDM5OTVjNWQ5ZTIzMTI0YjYuLjIzMjMzYjA5ZWFjMmMzOTU1M2E2
NzYyMzJiZDVmMjc1MmE5MWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0xMTAsMzAgKzExMCw2IEBAIHB1YmxpYzoKICAgICAgICAg
fTsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWduZWQgcmFuZ2VT
dGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Ci0gICAgewotICAgICAgICBhdXRvIFtjbGFt
cGVkU3RhcnQsIGNsYW1wZWRFbmRdID0gc2VsZWN0YWJsZVJhbmdlKCkuY2xhbXAocmFuZ2VTdGFy
dCwgcmFuZ2VFbmQpOwotCi0gICAgICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgICAgICBh
dXRvIGxvZ2ljYWxMZWZ0ID0gTGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS54KCkg
OiByZWN0KCkueSgpKTsKLSAgICAgICAgYXV0byBsb2dpY2FsUmlnaHQgPSBMYXlvdXRVbml0KGlz
SG9yaXpvbnRhbCgpID8gcmVjdCgpLm1heFgoKSA6IHJlY3QoKS5tYXhZKCkpOwotICAgICAgICBh
dXRvIGxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxSaWdodCAtIGxvZ2ljYWxMZWZ0OwotCi0gICAgICAg
IC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgc2hhcmUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGlu
ZSBpdGVyYXRvci4KLSAgICAgICAgYXV0byBzZWxlY3Rpb25Ub3AgPSBMYXlvdXRVbml0Ojpmcm9t
RmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nQ29udGVudFRvcCgpKTsKLSAgICAgICAgYXV0byBz
ZWxlY3Rpb25IZWlnaHQgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9z
aW5nQ29udGVudEJvdHRvbSgpIC0gbGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0KLSAg
ICAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0IHsgbG9naWNhbExlZnQsIHNlbGVjdGlvblRv
cCwgbG9naWNhbFdpZHRoLCBzZWxlY3Rpb25IZWlnaHQgfTsKLQotICAgICAgICBUZXh0UnVuIHRl
eHRSdW4gPSBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwotICAgICAgICBpZiAo
Y2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0gdGV4dFJ1bi5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJ1bigpLnN0eWxlKCkuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4
dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBjbGFtcGVkU3RhcnQsIGNsYW1wZWRFbmQpOwotCi0g
ICAgICAgIHJldHVybiBzbmFwcGVkU2VsZWN0aW9uUmVjdChzZWxlY3Rpb25SZWN0LCBsb2dpY2Fs
UmlnaHQsIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Ci0g
ICAgfQotCiAgICAgVGV4dFJ1biBjcmVhdGVUZXh0UnVuKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3OWY3Mjc2ZTI3ZmIzNWY4
M2RmY2VlOWRjM2Y2ZDA2ZjA4NmY0OTAwLi43NjI3MTVmZjZiMmY5MThiYzgyZDI1MDdkZTdiMjcy
ODcyN2FmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzIwNywxMyArMzIwNyw2IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2RlCiAgICAg
cmV0dXJuIExheW91dFVuaXQgeyBzdHlsZSgpLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNp
YmxlID8gbGFzdEJhc2VsaW5lIDogc3RkOjptaW4oYm94SGVpZ2h0LCBsYXN0QmFzZWxpbmUpIH07
CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRT
dGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0g
ICAgICAgIGVuc3VyZUxpbmVCb3hlcygpOwotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0OjpzZXRT
ZWxlY3Rpb25TdGF0ZShzdGF0ZSk7Ci19Ci0KIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkgY29uc3QK
IHsKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdodFN0
YXRlOjpJbnNpZGUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdo
dFN0YXRlOjpFbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggNzc1NjU4MzJhNDg0Yzg5ZjU3N2JkOTNhOWM5YzgxZmFhMGY2ZTZjNy4uNWY5MTgxMWJh
ZTBlNTcwZjUyY2Y0Y2EzNDFkZjQ5Mjk2ZTIzOTRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTU4LDcgKzU1OCw2IEBAIHByaXZhdGU6CiAgICAg
aW50IG1fd2lkdGhGb3JUZXh0QXV0b3NpemluZzsKICAgICB1bnNpZ25lZCBtX2xpbmVDb3VudEZv
clRleHRBdXRvc2l6aW5nIDogMjsKICNlbmRpZgotICAgIHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUpIGZpbmFsOwogCiBwdWJsaWM6CiAgICAgLy8gRklYTUUtQkxPQ0tGTE9X
OiBUaGVzZSBjYW4gYmUgbWFkZSBwcm90ZWN0ZWQgYWdhaW4gb25jZSBhbGwgY2FsbGVycyBoYXZl
IGJlZW4gbW92ZWQgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggNzA3MTEzODBiMjRiOTlmZTE3YjY1ZjQ5ZTRiMTFlNzFhYmY1YjFiYi4uODFlNDky
MDIwNzdiMmJkNWVjMTcwMzE0OWUzZjUwNjkxNWQ1YWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE4MDAsMTMgKzE4MDAsNiBAQCBPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4gUmVuZGVyT2JqZWN0OjpzdHlsZUNvbG9yT3B0aW9ucygpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRTdGF0
ZSBzdGF0ZSkKIHsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBp
ZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgaWYgKGF1dG8qIGxp
bmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhp
cykpCi0gICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICBtX2JpdGZpZWxkcy5zZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4
IGI0NTU1MmFhNzM5NDg0ODExMDcwZmRlZmI3MGQyMTI4MTA5NzQwM2YuLmJiYjQ0ODQwY2RjYjYz
M2RmODE0Nzk2ZjBhYTA2MmIxNmZjMGIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmNwcApAQCAtODcsNyArODcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVy
OjpwYWludCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFJvdGF0
ZSA9ICF0ZXh0Qm94KCkuaXNIb3Jpem9udGFsKCkgJiYgIWNvbWJpbmVkVGV4dCgpOworICAgIGJv
b2wgc2hvdWxkUm90YXRlID0gIXRleHRCb3goKS5pc0hvcml6b250YWwoKSAmJiAhdGV4dEJveCgp
LmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKHNob3VsZFJvdGF0ZSkKICAgICAgICAgbV9wYWlu
dEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNl
KSk7CiAKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludEZvcmVn
cm91bmQoY29uc3QgU3R5bGVkTWFya2VkVGV4dCYgbWFya2VkVGV4dCkKICAgICAgICAgaWYgKG1f
c3R5bGUuaGFzQXBwbGVDb2xvckZpbHRlcigpKQogICAgICAgICAgICAgdGV4dFBhaW50ZXIuc2V0
U2hhZG93Q29sb3JGaWx0ZXIoJm1fc3R5bGUuYXBwbGVDb2xvckZpbHRlcigpKTsKICAgICB9Ci0g
ICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJr
T2Zmc2V0LCBjb21iaW5lZFRleHQoKSk7CisgICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJr
KGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0Qm94KCkuaXNDb21iaW5lZFRl
eHQoKSA/ICZkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4obV9yZW5kZXJlcikgOiBudWxscHRy
KTsKICAgICBpZiAoYXV0byogZGVidWdTaGFkb3cgPSBkZWJ1Z1RleHRTaGFkb3coKSkKICAgICAg
ICAgdGV4dFBhaW50ZXIuc2V0U2hhZG93KGRlYnVnU2hhZG93KTsKIApAQCAtMzQ4LDcgKzM0OCw3
IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50RGVjb3JhdGlvbihjb25zdCBTdHlsZWRNYXJr
ZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGCiAKICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Y29udGV4dCwgbWFya2VkVGV4dC5zdHlsZS50ZXh0U3R5bGVzKTsKIAotICAgIGJvb2wgaXNDb21i
aW5lZFRleHQgPSBjb21iaW5lZFRleHQoKTsKKyAgICBib29sIGlzQ29tYmluZWRUZXh0ID0gdGV4
dEJveCgpLmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKGlzQ29tYmluZWRUZXh0KQogICAgICAg
ICBjb250ZXh0LmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNlKSk7CiAK
QEAgLTU2NiwxNyArNTY2LDkgQEAgRmxvYXRSZWN0IFRleHRCb3hQYWludGVyOjpjb21wdXRlUGFp
bnRSZWN0KGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICByZXR1cm4geyBib3hP
cmlnaW4sIEZsb2F0U2l6ZSh0ZXh0Qm94KCkubG9naWNhbFdpZHRoKCksIHRleHRCb3goKS5sb2dp
Y2FsSGVpZ2h0KCkpIH07CiB9CiAKLXN0YXRpYyBjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2Nh
ZGVGb3IoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiB0ZXh0
Qm94U3R5bGUpCi17Ci0gICAgaWYgKGlzPFJlbmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcikpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4ocmVuZGVyZXIpLnRleHRD
b21iaW5lRm9udCgpOwotCi0gICAgcmV0dXJuIHRleHRCb3hTdHlsZS5mb250Q2FzY2FkZSgpOwot
fQotCiBGbG9hdFJlY3QgVGV4dEJveFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91
bmRzKGNvbnN0IExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3ImIHRleHRCb3gsIGNv
bnN0IE1hcmtlZFRleHQmIG1hcmtlZFRleHQpCiB7Ci0gICAgYXV0byYgZm9udCA9IGZvbnRDYXNj
YWRlRm9yKHRleHRCb3gtPnJlbmRlcmVyKCksIHRleHRCb3gtPnN0eWxlKCkpOworICAgIGF1dG8m
IGZvbnQgPSB0ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogICAgIGF1dG8gYXNjZW50ID0gZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGF1dG8gZm9udFNpemUgPSBzdGQ6Om1pbihzdGQ6
Om1heChmb250LnNpemUoKSwgMTAuMGYpLCA0MC4wZik7CiAgICAgYXV0byB5ID0gYXNjZW50ICsg
MC4xMTAzNSAqIGZvbnRTaXplOwpAQCAtNjAxLDIxICs1OTMsMTYgQEAgYm9vbCBUZXh0Qm94UGFp
bnRlcjo6Y29tcHV0ZUhhdmVTZWxlY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBtX3JlbmRlcmVy
LnZpZXcoKS5zZWxlY3Rpb24oKS5oaWdobGlnaHRTdGF0ZUZvclRleHRCb3gobV9yZW5kZXJlciwg
bV9zZWxlY3RhYmxlUmFuZ2UpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmU7
CiB9CiAKLWNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBUZXh0Qm94UGFpbnRlcjo6Y29tYmluZWRU
ZXh0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaXM8UmVuZGVyQ29tYmluZVRleHQ+KG1fcmVuZGVy
ZXIpID8gJmRvd25jYXN0PFJlbmRlckNvbWJpbmVUZXh0PihtX3JlbmRlcmVyKSA6IG51bGxwdHI7
Ci19Ci0KIGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBj
b25zdAogewotICAgIHJldHVybiBmb250Q2FzY2FkZUZvcihtX3JlbmRlcmVyLCBtX3N0eWxlKTsK
KyAgICByZXR1cm4gbV90ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogfQogCiBGbG9hdFBvaW50IFRl
eHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHBh
aW50UmVjdCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4geyBwYWludFJlY3Qu
eCgpLCBwYWludFJlY3QueSgpICsgZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpLmFzY2VudCgp
IH07Ci0gICAgaWYgKGF1dG8qIGNvbWJpbmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7
Ci0gICAgICAgIGlmIChhdXRvIG5ld09yaWdpbiA9IGNvbWJpbmVkVGV4dC0+Y29tcHV0ZVRleHRP
cmlnaW4ocGFpbnRSZWN0KSkKKyAgICBpZiAodGV4dEJveCgpLmlzQ29tYmluZWRUZXh0KCkpIHsK
KyAgICAgICAgaWYgKGF1dG8gbmV3T3JpZ2luID0gZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+
KG1fcmVuZGVyZXIpLmNvbXB1dGVUZXh0T3JpZ2luKHBhaW50UmVjdCkpCiAgICAgICAgICAgICB0
ZXh0T3JpZ2luID0gbmV3T3JpZ2luLnZhbHVlKCk7CiAgICAgfQogICAgIGlmICh0ZXh0Qm94KCku
aXNIb3Jpem9udGFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5o
CmluZGV4IDdlYTNiMWU2ZDIwODdhOWJkZDNhYTFmNDdlMWJhZDA1MjYyYTBjNjIuLjg2ZGU5ZTA4
ZDc3MGE0ZjM3YzFiZmRiMjA0ODA2NzlmZjc2MmZhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC03OCw3ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgRmxv
YXRSZWN0IGNvbXB1dGVQYWludFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsK
ICAgICBib29sIGNvbXB1dGVIYXZlU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgTWFya2VkVGV4dCBj
cmVhdGVNYXJrZWRUZXh0RnJvbVNlbGVjdGlvbkluQm94KCk7Ci0gICAgY29uc3QgUmVuZGVyQ29t
YmluZVRleHQqIGNvbWJpbmVkVGV4dCgpIGNvbnN0OwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250Q2FzY2FkZSgpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbkZyb21QYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZTcwYzA2ZTMxMzNhYTJlMzdl
MWRhOGVhN2FhN2E3NzMxZTNlMmRlLi5hNDUyM2I4ZWMxNmVmNjU0ODViMjdhNzUzOGVhNTI0ZTRk
ZWFlYjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDktMjAgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmFibGUg
c2VsZWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMwNDYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0
aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVz
cGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5
LTE4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPUyBGYW1pbHldIERlbGV0ZSBsZXR0ZXJwcmVzcyBzdXBwb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRhdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYxMjMyNmRmOGZhMTQ4MDE3YmMzYTRlNWY5
NjU4NjUwYzJmOWRiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK0EKK0EKKyhyZXBhaW50IHJlY3RzCisgIChyZWN0IDggNjggMjAgMTAwKQorICAocmVjdCA4
IDY4IDIwIDEwMCkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3Nl
bGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE5N2RjMDM5
ZDQ5NmNiMDM3ZDlmYTNjNGNmNzE3YzY2NzlkOGM4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRl
c3QgdGhhdCBzZWxlY3Rpb24gZ2V0cyBjbGVhcmVkIHByb3Blcmx5IHdpdGggbGluZS1oZWlnaHQg
c2V0LjwvdGl0bGU+Cis8c3R5bGU+Cis6OnNlbGVjdGlvbiB7CisgICAgYmFja2dyb3VuZDogcmdi
YSgyNTUsIDAsIDAsIDAuOSk7Cit9CisKK2RpdiB7CisgICAgZm9udC1zaXplOiAyMHB4OworICAg
IGZvbnQtZmFtaWx5OiAnQWhlbSc7CisgICAgbGluZS1oZWlnaHQ6IDEwMHB4OworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj5BPGJyPjxzcGFuPkE8L3Nw
YW4+PC9kaXY+Cis8cHJlIGlkPSJyZXN1bHQiPjwvcHJlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisKKyAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cygpOwor
CisgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNl
bGVjdE5vZGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NvbnRhaW5lciA+IHNwYW4iKSk7Cisg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKKworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisKKyAgICB3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykgewor
ICAgICAgICBsZXQgcmVwYWludFJlY3RzID0gaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgp
OworICAgICAgICBpbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMoKTsKKyAgICAgICAgcmVz
dWx0LnRleHRDb250ZW50ID0gcmVwYWludFJlY3RzOworICAgIH0KKworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisgICAgCisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK307Cit0ZXN0KCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNw
YWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjBhYzUw
MTc4ZDE1ZjVhOTgyNzMwYzYzOTNkNDkzY2E5NGU3NWU5Ny4uMmMwNTE1OTdkODc2ZTY5YjMxN2Uz
MTc2YzJkODA5YmFmOTRiODA5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNl
L3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTIyLDEyICsyMiwx
MCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckJsb2NrIHtIUn0g
YXQgKDAsMTk3KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAg
ICBSZW5kZXJCbG9jayB7UFJFfSBhdCAoMCwyMTIpIHNpemUgMTA4eDgzIFtib3JkZXI6ICg0cHgg
c29saWQgIzAwMDBGRildCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNCw0KSBzaXpl
IDEwMHg3NQotICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDQpIHdpZHRoIDg2OiAiVGhpcyAgIHRl
eHQiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDg5LDQpIHdpZHRoIDE1OiAiICAgICAiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggMTAwOiAiVGhpcyAgIHRleHQgICAgICIKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNCwxOSkgd2lkdGggNzE6ICJ3aWxsIHdyYXAiCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDc0LDE5KSB3aWR0aCAxOiAiICIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNCwzNCkgd2lkdGggNzE6ICJhbmQgICBmaXQiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDc0
LDM0KSB3aWR0aCAyNDogIiAgICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCwzNCkgd2lkdGgg
OTQ6ICJhbmQgICBmaXQgICAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQsNDkpIHdpZHRoIDc5
OiAid2l0aGluIHRoZSIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODIsNDkpIHdpZHRoIDE6ICIg
IgogICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDY0KSB3aWR0aCAzMjogImJveC4iCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438667</attachid>
            <date>2021-09-20 06:25:42 -0700</date>
            <delta_ts>2021-09-20 10:22:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920162540.patch</filename>
            <type>text/plain</type>
            <size>25404</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNmQxMWIxNmRmOWM2NTRjNThiNjk1MzYyZWNjYmRi
NTllOGRkYzA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1bjo6aXNDb21iaW5lZFRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAg
ICAgICAgQWRkIHNvbWUgaGVscGZ1bCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvckxlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpz
ZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlv
blJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25T
dGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZSk6CisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OmNhblVzZUZvckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW46OmZvbnRD
YXNjYWRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGgu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvckxlZ2Fj
eVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRTZWxl
Y3Rpb25TdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRCb3hQYWludGVyOjpwYWludERlY29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91bmRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRCb3hQYWludGVyOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAgICAgICAgVXNlIGl0
ZXJhdG9yIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnRl
eHRPcmlnaW5Gcm9tUGFpbnRSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRDYXNj
YWRlRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpjb21i
aW5lZFRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgorCiAyMDIxLTA5LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbbEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNvbWUgdGV4dCBwYWludGluZyBm
ZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGI2ODdjODAwOWM2M2Uy
MDlhNmFhZGU3M2VjOTJlZDcyZTkzOWQxYjQuLmMxODk2NDI0Yjk5MzFmMTUxZjFkZTc2ZWY1ZjNl
MmQzNDg0MDFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKQEAgLTE4OSw5ICsx
ODksNiBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNDb21w
bGV4Rm9udENvZGVQYXRoOgogICAgICAgICBzdHJlYW0gPDwgInRleHQgd2l0aCBjb21wbGV4IGZv
bnQgY29kZXBhdGgiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0NoaWxkSXNTZWxlY3RlZDoKLSAgICAgICAgc3RyZWFtIDw8ICJzZWxlY3RlZCBjb250ZW50
IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNMaW5l
Qm94Q29udGFpbkdseXBoczoKICAgICAgICAgc3RyZWFtIDw8ICItd2Via2l0LWxpbmUtYm94LWNv
bnRhaW46IGdseXBocyI7CiAgICAgICAgIGJyZWFrOwpAQCAtNTI3LDggKzUyNCw2IEBAIHN0YXRp
YyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUsIEluY2x1CiBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2Fu
VXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5kZXJPYmpl
Y3QmIGNoaWxkLCBJbmNsdWRlUmVhc29ucyBpbmNsdWRlUmVhc29ucykKIHsKICAgICBPcHRpb25T
ZXQ8QXZvaWRhbmNlUmVhc29uPiByZWFzb25zOwotICAgIGlmIChjaGlsZC5zZWxlY3Rpb25TdGF0
ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0gICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0NoaWxkSXNTZWxlY3RlZCwgcmVhc29ucywg
aW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5kZXJDb3VudGVyPihjaGlsZCkpCiAgICAg
ICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd1RleHRJc1JlbmRlckNvdW50
ZXIsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCA1YmJmZTNiOTYyZDRhNmY3YTY5
MTY2NTg2MWQ1NGMwMWY4ZThhZTJkLi43NDI5YjMxNTc4NDZhOTQ5ZjNhMTM1YTk4OGY5MGNhYzYy
MGI2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTgwLDcgKzgwLDcgQEAgZW51
bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc0NvbXBsZXhG
b250Q29kZVBhdGggICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0MCwKICAgICBGZWF0dXJl
SXNEaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQxLAogICAg
IEZsb3dEb2VzTm90RXN0YWJsaXNoSW5saW5lRm9ybWF0dGluZ0NvbnRleHQgID0gMUxMVSAgPDwg
NDIsCi0gICAgRmxvd0NoaWxkSXNTZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
TExVICA8PCA0MywKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDQzLAogICAgIEZsb3dIYXNIYW5naW5nUHVuY3R1YXRpb24gICAgICAg
ICAgICAgICAgICAgID0gMUxMVSAgPDwgNDQsCiAgICAgRmxvd0hhc0xpbmVCb3hDb250YWluR2x5
cGhzICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NSwKICAgICBGbG93VGV4dEhhc1N1cnJv
Z2F0ZVBhaXIgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ2LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuY3BwCmluZGV4IGZhYjNlMGY4MGY2NmMyZDdjNzZhY2FlZDQxOGM2
ZDE2ODFhYjY5OTYuLjkwYzQyMzA2OThiYWYyZjAwNzE5OWZmNWRkNGQ3OTdmNzc0Yjk4NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblJ1bkl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCkBAIC0xMDYsNiArMTA3LDM5IEBAIFRleHRS
dW5JdGVyYXRvciBQYXRoVGV4dFJ1bjo6bmV4dFRleHRSdW5JblRleHRPcmRlcigpIGNvbnN0CiAg
ICAgcmV0dXJuIFRleHRSdW5JdGVyYXRvcigqdGhpcykudHJhdmVyc2VOZXh0VGV4dFJ1bkluVGV4
dE9yZGVyKCk7CiB9CiAKK0xheW91dFJlY3QgUGF0aFRleHRSdW46OnNlbGVjdGlvblJlY3QodW5z
aWduZWQgcmFuZ2VTdGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Cit7CisgICAgYXV0byBb
Y2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNsYW1wKHJhbmdl
U3RhcnQsIHJhbmdlRW5kKTsKKworICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBzZWxl
Y3Rpb25Ub3AgPSBsaW5lKCktPnNlbGVjdGlvblRvcCgpOworICAgIGF1dG8gc2VsZWN0aW9uSGVp
Z2h0ID0gbGluZSgpLT5zZWxlY3Rpb25IZWlnaHQoKTsKKworICAgIExheW91dFJlY3Qgc2VsZWN0
aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0KCksIHNlbGVjdGlvblRvcCwgbG9naWNhbFdpZHRoKCksIHNl
bGVjdGlvbkhlaWdodCB9OworCisgICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bigp
OworICAgIGlmIChjbGFtcGVkU3RhcnQgfHwgY2xhbXBlZEVuZCAhPSB0ZXh0UnVuLmxlbmd0aCgp
KQorICAgICAgICBmb250Q2FzY2FkZSgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRS
dW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwgY2xhbXBlZEVuZCk7CisKKyAgICByZXR1
cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHNl
bGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Cit9CisKK2Jvb2wg
UGF0aFRleHRSdW46OmlzQ29tYmluZWRUZXh0KCkgY29uc3QKK3sKKyAgICBhdXRvJiByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGlzPFJlbmRlckNvbWJpbmVUZXh0Pihy
ZW5kZXJlcikgJiYgZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKS5pc0NvbWJp
bmVkKCk7Cit9CisKK2NvbnN0IEZvbnRDYXNjYWRlJiBQYXRoVGV4dFJ1bjo6Zm9udENhc2NhZGUo
KSBjb25zdAoreworICAgIGlmIChpc0NvbWJpbmVkVGV4dCgpKQorICAgICAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKCkpLnRleHRDb21iaW5lRm9udCgpOwor
CisgICAgcmV0dXJuIHN0eWxlKCkuZm9udENhc2NhZGUoKTsKK30KKwogUmVuZGVyT2JqZWN0OjpI
aWdobGlnaHRTdGF0ZSBQYXRoUnVuOjpzZWxlY3Rpb25TdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KGlzVGV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAppbmRleCAwNDVlYzBi
ODgwNGRhMmUzMzI1OWUwYzI4NzhlZDgzNjgyNWE3NWEwLi5lOTg5NzA5MGUzYjlmNjY1YjI2NDc2
ODY0NmFkNzY5YjAyN2I5OTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKQEAg
LTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBzZWxl
Y3RhYmxlUmFuZ2UoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkgY29uc3Q7CiAKKyAgICBib29sIGlzQ29tYmluZWRUZXh0
KCkgY29uc3Q7CisgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlKCkgY29uc3Q7CisK
ICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlclRl
eHQmIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGV4dD4oUGF0aFJ1
bjo6cmVuZGVyZXIoKSk7IH0KQEAgLTM2NiwxMyArMzY5LDYgQEAgaW5saW5lIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2UgUGF0aFRleHRSdW46OnNlbGVjdGFibGVSYW5nZSgpIGNvbnN0CiAgICAgfSk7
CiB9CiAKLWlubGluZSBMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0KHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFdURjo6c3dpdGNo
T24obV9wYXRoVmFyaWFudCwgWyZdKGF1dG8mIHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIHBhdGgu
c2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKLSAgICB9KTsKLX0KLQogaW5saW5lIFRleHRSdW4g
UGF0aFRleHRSdW46OmNyZWF0ZVRleHRSdW4oKSBjb25zdAogewogICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRv
ckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCmluZGV4IGM3Y2RhYTZjMDBiOTVmYWNi
M2E4Zjk1ZjRhNTcxM2E0ZGRlYmU1MDIuLmFkZDI1YzJkNGU5OTZlNDZiODFjODU2YTdiMjI4Yjcy
NzMzOGExNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5
UGF0aC5oCkBAIC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCBwb3NpdGlvbkZvck9m
ZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+cG9z
aXRpb25Gb3JPZmZzZXQob2Zmc2V0KTsgfQogCiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBz
ZWxlY3RhYmxlUmFuZ2UoKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPnNlbGVjdGFi
bGVSYW5nZSgpOyB9Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBlbmQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+bG9jYWxTZWxl
Y3Rpb25SZWN0KHN0YXJ0LCBlbmQpOyB9CiAKICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBj
b25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPmNyZWF0ZVRleHRSdW4oKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDg1MjE0
ZTQ2YmU5ZWQ0NDY1NmNiYjJjZDM5OTVjNWQ5ZTIzMTI0YjYuLjIzMjMzYjA5ZWFjMmMzOTU1M2E2
NzYyMzJiZDVmMjc1MmE5MWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0xMTAsMzAgKzExMCw2IEBAIHB1YmxpYzoKICAgICAgICAg
fTsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWduZWQgcmFuZ2VT
dGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Ci0gICAgewotICAgICAgICBhdXRvIFtjbGFt
cGVkU3RhcnQsIGNsYW1wZWRFbmRdID0gc2VsZWN0YWJsZVJhbmdlKCkuY2xhbXAocmFuZ2VTdGFy
dCwgcmFuZ2VFbmQpOwotCi0gICAgICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgICAgICBh
dXRvIGxvZ2ljYWxMZWZ0ID0gTGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS54KCkg
OiByZWN0KCkueSgpKTsKLSAgICAgICAgYXV0byBsb2dpY2FsUmlnaHQgPSBMYXlvdXRVbml0KGlz
SG9yaXpvbnRhbCgpID8gcmVjdCgpLm1heFgoKSA6IHJlY3QoKS5tYXhZKCkpOwotICAgICAgICBh
dXRvIGxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxSaWdodCAtIGxvZ2ljYWxMZWZ0OwotCi0gICAgICAg
IC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgc2hhcmUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGlu
ZSBpdGVyYXRvci4KLSAgICAgICAgYXV0byBzZWxlY3Rpb25Ub3AgPSBMYXlvdXRVbml0Ojpmcm9t
RmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nQ29udGVudFRvcCgpKTsKLSAgICAgICAgYXV0byBz
ZWxlY3Rpb25IZWlnaHQgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9z
aW5nQ29udGVudEJvdHRvbSgpIC0gbGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0KLSAg
ICAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0IHsgbG9naWNhbExlZnQsIHNlbGVjdGlvblRv
cCwgbG9naWNhbFdpZHRoLCBzZWxlY3Rpb25IZWlnaHQgfTsKLQotICAgICAgICBUZXh0UnVuIHRl
eHRSdW4gPSBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwotICAgICAgICBpZiAo
Y2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0gdGV4dFJ1bi5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJ1bigpLnN0eWxlKCkuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4
dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBjbGFtcGVkU3RhcnQsIGNsYW1wZWRFbmQpOwotCi0g
ICAgICAgIHJldHVybiBzbmFwcGVkU2VsZWN0aW9uUmVjdChzZWxlY3Rpb25SZWN0LCBsb2dpY2Fs
UmlnaHQsIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Ci0g
ICAgfQotCiAgICAgVGV4dFJ1biBjcmVhdGVUZXh0UnVuKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3OWY3Mjc2ZTI3ZmIzNWY4
M2RmY2VlOWRjM2Y2ZDA2ZjA4NmY0OTAwLi43NjI3MTVmZjZiMmY5MThiYzgyZDI1MDdkZTdiMjcy
ODcyN2FmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzIwNywxMyArMzIwNyw2IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2RlCiAgICAg
cmV0dXJuIExheW91dFVuaXQgeyBzdHlsZSgpLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNp
YmxlID8gbGFzdEJhc2VsaW5lIDogc3RkOjptaW4oYm94SGVpZ2h0LCBsYXN0QmFzZWxpbmUpIH07
CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRT
dGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0g
ICAgICAgIGVuc3VyZUxpbmVCb3hlcygpOwotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0OjpzZXRT
ZWxlY3Rpb25TdGF0ZShzdGF0ZSk7Ci19Ci0KIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkgY29uc3QK
IHsKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdodFN0
YXRlOjpJbnNpZGUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdo
dFN0YXRlOjpFbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggNzc1NjU4MzJhNDg0Yzg5ZjU3N2JkOTNhOWM5YzgxZmFhMGY2ZTZjNy4uNWY5MTgxMWJh
ZTBlNTcwZjUyY2Y0Y2EzNDFkZjQ5Mjk2ZTIzOTRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTU4LDcgKzU1OCw2IEBAIHByaXZhdGU6CiAgICAg
aW50IG1fd2lkdGhGb3JUZXh0QXV0b3NpemluZzsKICAgICB1bnNpZ25lZCBtX2xpbmVDb3VudEZv
clRleHRBdXRvc2l6aW5nIDogMjsKICNlbmRpZgotICAgIHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUpIGZpbmFsOwogCiBwdWJsaWM6CiAgICAgLy8gRklYTUUtQkxPQ0tGTE9X
OiBUaGVzZSBjYW4gYmUgbWFkZSBwcm90ZWN0ZWQgYWdhaW4gb25jZSBhbGwgY2FsbGVycyBoYXZl
IGJlZW4gbW92ZWQgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggNzA3MTEzODBiMjRiOTlmZTE3YjY1ZjQ5ZTRiMTFlNzFhYmY1YjFiYi4uODFlNDky
MDIwNzdiMmJkNWVjMTcwMzE0OWUzZjUwNjkxNWQ1YWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE4MDAsMTMgKzE4MDAsNiBAQCBPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4gUmVuZGVyT2JqZWN0OjpzdHlsZUNvbG9yT3B0aW9ucygpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRTdGF0
ZSBzdGF0ZSkKIHsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBp
ZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgaWYgKGF1dG8qIGxp
bmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhp
cykpCi0gICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICBtX2JpdGZpZWxkcy5zZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4
IGI0NTU1MmFhNzM5NDg0ODExMDcwZmRlZmI3MGQyMTI4MTA5NzQwM2YuLmJiYjQ0ODQwY2RjYjYz
M2RmODE0Nzk2ZjBhYTA2MmIxNmZjMGIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmNwcApAQCAtODcsNyArODcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVy
OjpwYWludCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFJvdGF0
ZSA9ICF0ZXh0Qm94KCkuaXNIb3Jpem9udGFsKCkgJiYgIWNvbWJpbmVkVGV4dCgpOworICAgIGJv
b2wgc2hvdWxkUm90YXRlID0gIXRleHRCb3goKS5pc0hvcml6b250YWwoKSAmJiAhdGV4dEJveCgp
LmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKHNob3VsZFJvdGF0ZSkKICAgICAgICAgbV9wYWlu
dEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNl
KSk7CiAKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludEZvcmVn
cm91bmQoY29uc3QgU3R5bGVkTWFya2VkVGV4dCYgbWFya2VkVGV4dCkKICAgICAgICAgaWYgKG1f
c3R5bGUuaGFzQXBwbGVDb2xvckZpbHRlcigpKQogICAgICAgICAgICAgdGV4dFBhaW50ZXIuc2V0
U2hhZG93Q29sb3JGaWx0ZXIoJm1fc3R5bGUuYXBwbGVDb2xvckZpbHRlcigpKTsKICAgICB9Ci0g
ICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJr
T2Zmc2V0LCBjb21iaW5lZFRleHQoKSk7CisgICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJr
KGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0Qm94KCkuaXNDb21iaW5lZFRl
eHQoKSA/ICZkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4obV9yZW5kZXJlcikgOiBudWxscHRy
KTsKICAgICBpZiAoYXV0byogZGVidWdTaGFkb3cgPSBkZWJ1Z1RleHRTaGFkb3coKSkKICAgICAg
ICAgdGV4dFBhaW50ZXIuc2V0U2hhZG93KGRlYnVnU2hhZG93KTsKIApAQCAtMzQ4LDcgKzM0OCw3
IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50RGVjb3JhdGlvbihjb25zdCBTdHlsZWRNYXJr
ZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGCiAKICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Y29udGV4dCwgbWFya2VkVGV4dC5zdHlsZS50ZXh0U3R5bGVzKTsKIAotICAgIGJvb2wgaXNDb21i
aW5lZFRleHQgPSBjb21iaW5lZFRleHQoKTsKKyAgICBib29sIGlzQ29tYmluZWRUZXh0ID0gdGV4
dEJveCgpLmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKGlzQ29tYmluZWRUZXh0KQogICAgICAg
ICBjb250ZXh0LmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNlKSk7CiAK
QEAgLTU2NiwxNyArNTY2LDkgQEAgRmxvYXRSZWN0IFRleHRCb3hQYWludGVyOjpjb21wdXRlUGFp
bnRSZWN0KGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICByZXR1cm4geyBib3hP
cmlnaW4sIEZsb2F0U2l6ZSh0ZXh0Qm94KCkubG9naWNhbFdpZHRoKCksIHRleHRCb3goKS5sb2dp
Y2FsSGVpZ2h0KCkpIH07CiB9CiAKLXN0YXRpYyBjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2Nh
ZGVGb3IoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiB0ZXh0
Qm94U3R5bGUpCi17Ci0gICAgaWYgKGlzPFJlbmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcikpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4ocmVuZGVyZXIpLnRleHRD
b21iaW5lRm9udCgpOwotCi0gICAgcmV0dXJuIHRleHRCb3hTdHlsZS5mb250Q2FzY2FkZSgpOwot
fQotCiBGbG9hdFJlY3QgVGV4dEJveFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91
bmRzKGNvbnN0IExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3ImIHRleHRCb3gsIGNv
bnN0IE1hcmtlZFRleHQmIG1hcmtlZFRleHQpCiB7Ci0gICAgYXV0byYgZm9udCA9IGZvbnRDYXNj
YWRlRm9yKHRleHRCb3gtPnJlbmRlcmVyKCksIHRleHRCb3gtPnN0eWxlKCkpOworICAgIGF1dG8m
IGZvbnQgPSB0ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogICAgIGF1dG8gYXNjZW50ID0gZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGF1dG8gZm9udFNpemUgPSBzdGQ6Om1pbihzdGQ6
Om1heChmb250LnNpemUoKSwgMTAuMGYpLCA0MC4wZik7CiAgICAgYXV0byB5ID0gYXNjZW50ICsg
MC4xMTAzNSAqIGZvbnRTaXplOwpAQCAtNjAxLDIxICs1OTMsMTYgQEAgYm9vbCBUZXh0Qm94UGFp
bnRlcjo6Y29tcHV0ZUhhdmVTZWxlY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBtX3JlbmRlcmVy
LnZpZXcoKS5zZWxlY3Rpb24oKS5oaWdobGlnaHRTdGF0ZUZvclRleHRCb3gobV9yZW5kZXJlciwg
bV9zZWxlY3RhYmxlUmFuZ2UpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmU7
CiB9CiAKLWNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBUZXh0Qm94UGFpbnRlcjo6Y29tYmluZWRU
ZXh0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaXM8UmVuZGVyQ29tYmluZVRleHQ+KG1fcmVuZGVy
ZXIpID8gJmRvd25jYXN0PFJlbmRlckNvbWJpbmVUZXh0PihtX3JlbmRlcmVyKSA6IG51bGxwdHI7
Ci19Ci0KIGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBj
b25zdAogewotICAgIHJldHVybiBmb250Q2FzY2FkZUZvcihtX3JlbmRlcmVyLCBtX3N0eWxlKTsK
KyAgICByZXR1cm4gbV90ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogfQogCiBGbG9hdFBvaW50IFRl
eHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHBh
aW50UmVjdCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4geyBwYWludFJlY3Qu
eCgpLCBwYWludFJlY3QueSgpICsgZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpLmFzY2VudCgp
IH07Ci0gICAgaWYgKGF1dG8qIGNvbWJpbmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7
Ci0gICAgICAgIGlmIChhdXRvIG5ld09yaWdpbiA9IGNvbWJpbmVkVGV4dC0+Y29tcHV0ZVRleHRP
cmlnaW4ocGFpbnRSZWN0KSkKKyAgICBpZiAodGV4dEJveCgpLmlzQ29tYmluZWRUZXh0KCkpIHsK
KyAgICAgICAgaWYgKGF1dG8gbmV3T3JpZ2luID0gZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+
KG1fcmVuZGVyZXIpLmNvbXB1dGVUZXh0T3JpZ2luKHBhaW50UmVjdCkpCiAgICAgICAgICAgICB0
ZXh0T3JpZ2luID0gbmV3T3JpZ2luLnZhbHVlKCk7CiAgICAgfQogICAgIGlmICh0ZXh0Qm94KCku
aXNIb3Jpem9udGFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5o
CmluZGV4IDdlYTNiMWU2ZDIwODdhOWJkZDNhYTFmNDdlMWJhZDA1MjYyYTBjNjIuLjg2ZGU5ZTA4
ZDc3MGE0ZjM3YzFiZmRiMjA0ODA2NzlmZjc2MmZhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC03OCw3ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgRmxv
YXRSZWN0IGNvbXB1dGVQYWludFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsK
ICAgICBib29sIGNvbXB1dGVIYXZlU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgTWFya2VkVGV4dCBj
cmVhdGVNYXJrZWRUZXh0RnJvbVNlbGVjdGlvbkluQm94KCk7Ci0gICAgY29uc3QgUmVuZGVyQ29t
YmluZVRleHQqIGNvbWJpbmVkVGV4dCgpIGNvbnN0OwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250Q2FzY2FkZSgpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbkZyb21QYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2OTUzZjMwYjM3ZWIyMGRjMzZiZmM0NWZiM2NjODY4
YmJhMmQ4MDE2Li45ODkzNjgwMzlkMDI4Y2MxYWUxN2FlYzZlZTMxMzBlM2NjOTU4NWVlIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMjEtMDktMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisg
ICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmFibGUgc2VsZWN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNDYzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L2lvcy9BY2Nlc3NpYmlsaXR5VGVzdHNJT1MubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAyMS0wOS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgbWFjT1MgUmVsZWFzZSBdIFRlc3RXZWJLaXRBUEkuTmV0d29ya1Byb2Nlc3MuQnJv
YWRjYXN0Q2hhbm5lbENyYXNoUmVjb3ZlcnkgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1t
CmluZGV4IDAxMDFmMGI5MDg4ZjNkOWYwZmE4MTM0NDI5NjE1NjFmZDNmMDAwMjcuLjE1OTRkYjRi
YTExMmRjYjk0YTA5Mjk1ZmE1YjFjZjA3ODI3OTBmZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL0FjY2Vzc2liaWxpdHlUZXN0c0lPUy5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9BY2Nlc3NpYmlsaXR5VGVzdHNJT1MubW0KQEAgLTc3LDEx
ICs3NywxMSBAQCBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgUmVjdHNGb3JTcGVha2luZ1NlbGVj
dGlvbkJhc2ljKQogI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGNoZWNrQ0dSZWN0VmFs
dWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MCB3aXRoVGV4dDpAImZp
cnN0Il0sIENHUmVjdE1ha2UoOCwgOCwgMjUsIDE5KSwgMCk7CiAgICAgY2hlY2tDR1JlY3RWYWx1
ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlvbk9mZnNldDo2IHdpdGhUZXh0OkAic2Vj
b25kIl0sIENHUmVjdE1ha2UoMzYsIDgsIDQ2LCAxOSksIDApOwotICAgIGNoZWNrQ0dSZWN0VmFs
dWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MTMgd2l0aFRleHQ6QCJ0
aGlyZCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAzMSwgMTkpLCAwKTsKKyAgICBjaGVja0NHUmVjdFZh
bHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0OjEzIHdpdGhUZXh0OkAi
dGhpcmQiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMzEsIDIwKSwgMCk7CiAjZWxzZQogICAgIGNoZWNr
Q0dSZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MCB3aXRo
VGV4dDpAImZpcnN0Il0sIENHUmVjdE1ha2UoOCwgOCwgMjYsIDE5KSwgMCk7CiAgICAgY2hlY2tD
R1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlvbk9mZnNldDo2IHdpdGhU
ZXh0OkAic2Vjb25kIl0sIENHUmVjdE1ha2UoMzcsIDgsIDQ2LCAxOSksIDApOwotICAgIGNoZWNr
Q0dSZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MTMgd2l0
aFRleHQ6QCJ0aGlyZCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAzMSwgMTkpLCAwKTsKKyAgICBjaGVj
a0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0OjEzIHdp
dGhUZXh0OkAidGhpcmQiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMzEsIDIwKSwgMCk7CiAjZW5kaWYK
IH0KIApAQCAtMTQ2LDkgKzE0Niw5IEBAIFRFU1QoQWNjZXNzaWJpbGl0eVRlc3RzLCBTdG9yZVNl
bGVjdGlvbikKICAgICAvLyBDbGVhciB0aGUgc3RvcmVkIHNlbGVjdGlvbiwgd2Ugc2hvdWxkIHVz
ZSB0aGUgY3VycmVudCBzZWxlY3Rpb24gdG8gcmV0cmlldmUgcmVjdHMKICAgICBbd2ViVmlldyBf
YWNjZXNzaWJpbGl0eUNsZWFyU2VsZWN0aW9uXTsKICNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkK
LSAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zm
c2V0OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAyNSwgMTkpLCAwKTsK
KyAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zm
c2V0OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDI3LCAyNSwgMjApLCAwKTsK
ICNlbHNlCi0gICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVj
dGlvbk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCAyOCwgMjYsIDE5
KSwgMCk7CisgICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVj
dGlvbk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMjYsIDIw
KSwgMCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhlNzBjMDZlMzEzM2FhMmUzN2UxZGE4ZWE3YWE3
YTc3MzFlM2UyZGUuLmE0NTIzYjhlYzE2ZWY2NTQ4NWIyN2E3NTM4ZWE1MjRlNGRlYWViMTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEVuYWJsZSBzZWxlY3Rpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA0NjMK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAgICAqIGZhc3QvcmVw
YWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13
cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDktMTggIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIEZhbWls
eV0gRGVsZXRlIGxldHRlcnByZXNzIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NjEyMzI2ZGY4ZmExNDgwMTdiYzNhNGU1Zjk2NTg2NTBjMmY5
ZGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlv
bi1wYWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQQorQQor
KHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgOCA2OCAyMCAxMDApCisgIChyZWN0IDggNjggMjAgMTAw
KQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBh
aW50LWludmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlv
bi1wYWludC1pbnZhbGlkYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTk3ZGMwMzlkNDk2Y2IwMzdk
OWZhM2M0Y2Y3MTdjNjY3OWQ4Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbApAQCAtMCwwICsxLDU0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCB0aGF0IHNl
bGVjdGlvbiBnZXRzIGNsZWFyZWQgcHJvcGVybHkgd2l0aCBsaW5lLWhlaWdodCBzZXQuPC90aXRs
ZT4KKzxzdHlsZT4KKzo6c2VsZWN0aW9uIHsKKyAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwg
MCwgMC45KTsKK30KKworZGl2IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgZm9udC1mYW1p
bHk6ICdBaGVtJzsKKyAgICBsaW5lLWhlaWdodDogMTAwcHg7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPkE8YnI+PHNwYW4+QTwvc3Bhbj48L2Rpdj4K
KzxwcmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICBpbnRlcm5hbHMuc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7CisKKyAgICBjb25z
dCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2VsZWN0Tm9kZShk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY29udGFpbmVyID4gc3BhbiIpKTsKKyAgICB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOworCisgICAgYXdhaXQgbmV3IFByb21pc2Uo
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKKworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1v
dmVBbGxSYW5nZXMoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGxl
dCByZXBhaW50UmVjdHMgPSBpbnRlcm5hbHMucmVwYWludFJlY3RzQXNUZXh0KCk7CisgICAgICAg
IGludGVybmFscy5zdG9wVHJhY2tpbmdSZXBhaW50cygpOworICAgICAgICByZXN1bHQudGV4dENv
bnRlbnQgPSByZXBhaW50UmVjdHM7CisgICAgfQorCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVx
dWVzdEFuaW1hdGlvbkZyYW1lKTsKKyAgICAKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfTsKK3Rlc3QoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdy
YXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmMGFjNTAxNzhkMTVmNWE5
ODI3MzBjNjM5M2Q0OTNjYTk0ZTc1ZTk3Li4yYzA1MTU5N2Q4NzZlNjliMzE3ZTMxNzZjMmQ4MDli
YWY5NGI4MDk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L3doaXRlc3BhY2UvcHJlLXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdyYXAt
b3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjIsMTIgKzIyLDEwIEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwxOTcp
IHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJs
b2NrIHtQUkV9IGF0ICgwLDIxMikgc2l6ZSAxMDh4ODMgW2JvcmRlcjogKDRweCBzb2xpZCAjMDAw
MEZGKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0LDQpIHNpemUgMTAweDc1Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggODY6ICJUaGlzICAgdGV4dCIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoODksNCkgd2lkdGggMTU6ICIgICAgICIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNCw0KSB3aWR0aCAxMDA6ICJUaGlzICAgdGV4dCAgICAgIgogICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0LDE5KSB3aWR0aCA3MTogIndpbGwgd3JhcCIKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNzQsMTkpIHdpZHRoIDE6ICIgIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDM0KSB3
aWR0aCA3MTogImFuZCAgIGZpdCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzQsMzQpIHdpZHRo
IDI0OiAiICAgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDM0KSB3aWR0aCA5NDogImFuZCAg
IGZpdCAgICIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCw0OSkgd2lkdGggNzk6ICJ3aXRoaW4g
dGhlIgogICAgICAgICAgIHRleHQgcnVuIGF0ICg4Miw0OSkgd2lkdGggMTogIiAiCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQsNjQpIHdpZHRoIDMyOiAiYm94LiIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438691</attachid>
            <date>2021-09-20 10:22:38 -0700</date>
            <delta_ts>2021-09-20 11:20:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230463-20210920202237.patch</filename>
            <type>text/plain</type>
            <size>25401</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI3YjIyMTBkMTkxN2Ez
Nzc2Njg5YmQ1MTEyMTUzOGJlYWU1Y2ExZS4uNmQxMWIxNmRmOWM2NTRjNThiNjk1MzYyZWNjYmRi
NTllOGRkYzA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTA5LTIwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gRW5hYmxlIHNlbGVjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDQ2MworCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgor
CisgICAgICAgIERvbid0IHN3aXRjaCB0byBsZWdhY3kgaW5saW5lIGJveGVzIG9uIHNlbGVjdGlv
bi4KKworICAgICAgICBUZXN0OiBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50LWludmFsaWRh
dGlvbi5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJp
bnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OmNhblVzZUZv
ckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQ
YXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisKKyAgICAgICAgTW92ZSB0aGlzIHRv
IHBhdGggaW5kZXBlbmRlbnQgY29kZSBhbmQgZml4IGl0IHRvIGNvbXB1dGUgc2VsZWN0aW9uVG9w
L0JvdHRvbSBjb3JyZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1bjo6aXNDb21iaW5lZFRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAg
ICAgICAgQWRkIHNvbWUgaGVscGZ1bCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvckxlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvckxlZ2FjeVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpz
ZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlv
blJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25T
dGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZSk6CisKKyAgICAgICAgKiBsYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6cHJpbnRSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OmNhblVzZUZvckNoaWxkKToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oOgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW46OmZvbnRD
YXNjYWRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGgu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvckxlZ2Fj
eVBhdGg6OnNlbGVjdGFibGVSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3JMZWdhY3lQYXRoOjpzZWxlY3Rpb25SZWN0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvck1vZGVyblBhdGg6OnNlbGVjdGlvblJlY3QgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRTZWxl
Y3Rpb25TdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRCb3hQYWludGVyOjpwYWludERlY29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91bmRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRCb3hQYWludGVyOjpmb250Q2FzY2FkZSBjb25zdCk6CisKKyAgICAgICAgVXNlIGl0
ZXJhdG9yIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnRl
eHRPcmlnaW5Gcm9tUGFpbnRSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRDYXNj
YWRlRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpjb21i
aW5lZFRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgorCiAyMDIxLTA5LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbbEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIHNvbWUgdGV4dCBwYWludGluZyBm
ZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGI2ODdjODAwOWM2M2Uy
MDlhNmFhZGU3M2VjOTJlZDcyZTkzOWQxYjQuLmMxODk2NDI0Yjk5MzFmMTUxZjFkZTc2ZWY1ZjNl
MmQzNDg0MDFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKQEAgLTE4OSw5ICsx
ODksNiBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNDb21w
bGV4Rm9udENvZGVQYXRoOgogICAgICAgICBzdHJlYW0gPDwgInRleHQgd2l0aCBjb21wbGV4IGZv
bnQgY29kZXBhdGgiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF2b2lkYW5jZVJlYXNvbjo6
Rmxvd0NoaWxkSXNTZWxlY3RlZDoKLSAgICAgICAgc3RyZWFtIDw8ICJzZWxlY3RlZCBjb250ZW50
IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OkZsb3dIYXNMaW5l
Qm94Q29udGFpbkdseXBoczoKICAgICAgICAgc3RyZWFtIDw8ICItd2Via2l0LWxpbmUtYm94LWNv
bnRhaW46IGdseXBocyI7CiAgICAgICAgIGJyZWFrOwpAQCAtNTI3LDggKzUyNCw2IEBAIHN0YXRp
YyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUsIEluY2x1CiBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2Fu
VXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBSZW5kZXJPYmpl
Y3QmIGNoaWxkLCBJbmNsdWRlUmVhc29ucyBpbmNsdWRlUmVhc29ucykKIHsKICAgICBPcHRpb25T
ZXQ8QXZvaWRhbmNlUmVhc29uPiByZWFzb25zOwotICAgIGlmIChjaGlsZC5zZWxlY3Rpb25TdGF0
ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0gICAgICAgIFNFVF9S
RUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0NoaWxkSXNTZWxlY3RlZCwgcmVhc29ucywg
aW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChpczxSZW5kZXJDb3VudGVyPihjaGlsZCkpCiAgICAg
ICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd1RleHRJc1JlbmRlckNvdW50
ZXIsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oY2hp
bGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaAppbmRleCA1YmJmZTNiOTYyZDRhNmY3YTY5
MTY2NTg2MWQ1NGMwMWY4ZThhZTJkLi43NDI5YjMxNTc4NDZhOTQ5ZjNhMTM1YTk4OGY5MGNhYzYy
MGI2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKQEAgLTgwLDcgKzgwLDcgQEAgZW51
bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc0NvbXBsZXhG
b250Q29kZVBhdGggICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0MCwKICAgICBGZWF0dXJl
SXNEaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQxLAogICAg
IEZsb3dEb2VzTm90RXN0YWJsaXNoSW5saW5lRm9ybWF0dGluZ0NvbnRleHQgID0gMUxMVSAgPDwg
NDIsCi0gICAgRmxvd0NoaWxkSXNTZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
TExVICA8PCA0MywKKyAgICAvLyBVbnVzZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDQzLAogICAgIEZsb3dIYXNIYW5naW5nUHVuY3R1YXRpb24gICAgICAg
ICAgICAgICAgICAgID0gMUxMVSAgPDwgNDQsCiAgICAgRmxvd0hhc0xpbmVCb3hDb250YWluR2x5
cGhzICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA0NSwKICAgICBGbG93VGV4dEhhc1N1cnJv
Z2F0ZVBhaXIgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDQ2LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuY3BwCmluZGV4IGZhYjNlMGY4MGY2NmMyZDdjNzZhY2FlZDQxOGM2
ZDE2ODFhYjY5OTYuLjkwYzQyMzA2OThiYWYyZjAwNzE5OWZmNWRkNGQ3OTdmNzc0Yjk4NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblJ1bkl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgor
I2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCkBAIC0xMDYsNiArMTA3LDM5IEBAIFRleHRS
dW5JdGVyYXRvciBQYXRoVGV4dFJ1bjo6bmV4dFRleHRSdW5JblRleHRPcmRlcigpIGNvbnN0CiAg
ICAgcmV0dXJuIFRleHRSdW5JdGVyYXRvcigqdGhpcykudHJhdmVyc2VOZXh0VGV4dFJ1bkluVGV4
dE9yZGVyKCk7CiB9CiAKK0xheW91dFJlY3QgUGF0aFRleHRSdW46OnNlbGVjdGlvblJlY3QodW5z
aWduZWQgcmFuZ2VTdGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Cit7CisgICAgYXV0byBb
Y2xhbXBlZFN0YXJ0LCBjbGFtcGVkRW5kXSA9IHNlbGVjdGFibGVSYW5nZSgpLmNsYW1wKHJhbmdl
U3RhcnQsIHJhbmdlRW5kKTsKKworICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBzZWxl
Y3Rpb25Ub3AgPSBsaW5lKCktPnNlbGVjdGlvblRvcCgpOworICAgIGF1dG8gc2VsZWN0aW9uSGVp
Z2h0ID0gbGluZSgpLT5zZWxlY3Rpb25IZWlnaHQoKTsKKworICAgIExheW91dFJlY3Qgc2VsZWN0
aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0KCksIHNlbGVjdGlvblRvcCwgbG9naWNhbFdpZHRoKCksIHNl
bGVjdGlvbkhlaWdodCB9OworCisgICAgVGV4dFJ1biB0ZXh0UnVuID0gY3JlYXRlVGV4dFJ1bigp
OworICAgIGlmIChjbGFtcGVkU3RhcnQgfHwgY2xhbXBlZEVuZCAhPSB0ZXh0UnVuLmxlbmd0aCgp
KQorICAgICAgICBmb250Q2FzY2FkZSgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRS
dW4sIHNlbGVjdGlvblJlY3QsIGNsYW1wZWRTdGFydCwgY2xhbXBlZEVuZCk7CisKKyAgICByZXR1
cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNhbFJpZ2h0KCksIHNl
bGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Cit9CisKK2Jvb2wg
UGF0aFRleHRSdW46OmlzQ29tYmluZWRUZXh0KCkgY29uc3QKK3sKKyAgICBhdXRvJiByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGlzPFJlbmRlckNvbWJpbmVUZXh0Pihy
ZW5kZXJlcikgJiYgZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKS5pc0NvbWJp
bmVkKCk7Cit9CisKK2NvbnN0IEZvbnRDYXNjYWRlJiBQYXRoVGV4dFJ1bjo6Zm9udENhc2NhZGUo
KSBjb25zdAoreworICAgIGlmIChpc0NvbWJpbmVkVGV4dCgpKQorICAgICAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+KHJlbmRlcmVyKCkpLnRleHRDb21iaW5lRm9udCgpOwor
CisgICAgcmV0dXJuIHN0eWxlKCkuZm9udENhc2NhZGUoKTsKK30KKwogUmVuZGVyT2JqZWN0OjpI
aWdobGlnaHRTdGF0ZSBQYXRoUnVuOjpzZWxlY3Rpb25TdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KGlzVGV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAppbmRleCAwNDVlYzBi
ODgwNGRhMmUzMzI1OWUwYzI4NzhlZDgzNjgyNWE3NWEwLi5lOTg5NzA5MGUzYjlmNjY1YjI2NDc2
ODY0NmFkNzY5YjAyN2I5OTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKQEAg
LTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBzZWxl
Y3RhYmxlUmFuZ2UoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkgY29uc3Q7CiAKKyAgICBib29sIGlzQ29tYmluZWRUZXh0
KCkgY29uc3Q7CisgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlKCkgY29uc3Q7CisK
ICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlclRl
eHQmIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGV4dD4oUGF0aFJ1
bjo6cmVuZGVyZXIoKSk7IH0KQEAgLTM2NiwxMyArMzY5LDYgQEAgaW5saW5lIFRleHRCb3hTZWxl
Y3RhYmxlUmFuZ2UgUGF0aFRleHRSdW46OnNlbGVjdGFibGVSYW5nZSgpIGNvbnN0CiAgICAgfSk7
CiB9CiAKLWlubGluZSBMYXlvdXRSZWN0IFBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0KHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFdURjo6c3dpdGNo
T24obV9wYXRoVmFyaWFudCwgWyZdKGF1dG8mIHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIHBhdGgu
c2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKLSAgICB9KTsKLX0KLQogaW5saW5lIFRleHRSdW4g
UGF0aFRleHRSdW46OmNyZWF0ZVRleHRSdW4oKSBjb25zdAogewogICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFsmXShhdXRvJiBwYXRoKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRv
ckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCmluZGV4IGM3Y2RhYTZjMDBiOTVmYWNi
M2E4Zjk1ZjRhNTcxM2E0ZGRlYmU1MDIuLmFkZDI1YzJkNGU5OTZlNDZiODFjODU2YTdiMjI4Yjcy
NzMzOGExNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5
UGF0aC5oCkBAIC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCBwb3NpdGlvbkZvck9m
ZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+cG9z
aXRpb25Gb3JPZmZzZXQob2Zmc2V0KTsgfQogCiAgICAgVGV4dEJveFNlbGVjdGFibGVSYW5nZSBz
ZWxlY3RhYmxlUmFuZ2UoKSBjb25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPnNlbGVjdGFi
bGVSYW5nZSgpOyB9Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0
LCB1bnNpZ25lZCBlbmQpIGNvbnN0IHsgcmV0dXJuIGlubGluZVRleHRCb3goKS0+bG9jYWxTZWxl
Y3Rpb25SZWN0KHN0YXJ0LCBlbmQpOyB9CiAKICAgICBUZXh0UnVuIGNyZWF0ZVRleHRSdW4oKSBj
b25zdCB7IHJldHVybiBpbmxpbmVUZXh0Qm94KCktPmNyZWF0ZVRleHRSdW4oKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDg1MjE0
ZTQ2YmU5ZWQ0NDY1NmNiYjJjZDM5OTVjNWQ5ZTIzMTI0YjYuLjIzMjMzYjA5ZWFjMmMzOTU1M2E2
NzYyMzJiZDVmMjc1MmE5MWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0xMTAsMzAgKzExMCw2IEBAIHB1YmxpYzoKICAgICAgICAg
fTsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QodW5zaWduZWQgcmFuZ2VT
dGFydCwgdW5zaWduZWQgcmFuZ2VFbmQpIGNvbnN0Ci0gICAgewotICAgICAgICBhdXRvIFtjbGFt
cGVkU3RhcnQsIGNsYW1wZWRFbmRdID0gc2VsZWN0YWJsZVJhbmdlKCkuY2xhbXAocmFuZ2VTdGFy
dCwgcmFuZ2VFbmQpOwotCi0gICAgICAgIGlmIChjbGFtcGVkU3RhcnQgPj0gY2xhbXBlZEVuZCAm
JiAhKHJhbmdlU3RhcnQgPT0gcmFuZ2VFbmQgJiYgcmFuZ2VTdGFydCA+PSBzdGFydCgpICYmIHJh
bmdlU3RhcnQgPD0gZW5kKCkpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgICAgICBh
dXRvIGxvZ2ljYWxMZWZ0ID0gTGF5b3V0VW5pdChpc0hvcml6b250YWwoKSA/IHJlY3QoKS54KCkg
OiByZWN0KCkueSgpKTsKLSAgICAgICAgYXV0byBsb2dpY2FsUmlnaHQgPSBMYXlvdXRVbml0KGlz
SG9yaXpvbnRhbCgpID8gcmVjdCgpLm1heFgoKSA6IHJlY3QoKS5tYXhZKCkpOwotICAgICAgICBh
dXRvIGxvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxSaWdodCAtIGxvZ2ljYWxMZWZ0OwotCi0gICAgICAg
IC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgc2hhcmUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGlu
ZSBpdGVyYXRvci4KLSAgICAgICAgYXV0byBzZWxlY3Rpb25Ub3AgPSBMYXlvdXRVbml0Ojpmcm9t
RmxvYXRSb3VuZChsaW5lKCkuZW5jbG9zaW5nQ29udGVudFRvcCgpKTsKLSAgICAgICAgYXV0byBz
ZWxlY3Rpb25IZWlnaHQgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChsaW5lKCkuZW5jbG9z
aW5nQ29udGVudEJvdHRvbSgpIC0gbGluZSgpLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSk7Ci0KLSAg
ICAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0IHsgbG9naWNhbExlZnQsIHNlbGVjdGlvblRv
cCwgbG9naWNhbFdpZHRoLCBzZWxlY3Rpb25IZWlnaHQgfTsKLQotICAgICAgICBUZXh0UnVuIHRl
eHRSdW4gPSBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwotICAgICAgICBpZiAo
Y2xhbXBlZFN0YXJ0IHx8IGNsYW1wZWRFbmQgIT0gdGV4dFJ1bi5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJ1bigpLnN0eWxlKCkuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4
dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBjbGFtcGVkU3RhcnQsIGNsYW1wZWRFbmQpOwotCi0g
ICAgICAgIHJldHVybiBzbmFwcGVkU2VsZWN0aW9uUmVjdChzZWxlY3Rpb25SZWN0LCBsb2dpY2Fs
UmlnaHQsIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7Ci0g
ICAgfQotCiAgICAgVGV4dFJ1biBjcmVhdGVUZXh0UnVuKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBjcmVhdGVUZXh0UnVuKEh5cGhlbk1vZGU6OkluY2x1ZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA3OWY3Mjc2ZTI3ZmIzNWY4
M2RmY2VlOWRjM2Y2ZDA2ZjA4NmY0OTAwLi43NjI3MTVmZjZiMmY5MThiYzgyZDI1MDdkZTdiMjcy
ODcyN2FmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzIwNywxMyArMzIwNyw2IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2RlCiAgICAg
cmV0dXJuIExheW91dFVuaXQgeyBzdHlsZSgpLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNp
YmxlID8gbGFzdEJhc2VsaW5lIDogc3RkOjptaW4oYm94SGVpZ2h0LCBsYXN0QmFzZWxpbmUpIH07
CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRT
dGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpCi0g
ICAgICAgIGVuc3VyZUxpbmVCb3hlcygpOwotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0OjpzZXRT
ZWxlY3Rpb25TdGF0ZShzdGF0ZSk7Ci19Ci0KIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkgY29uc3QK
IHsKICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdodFN0
YXRlOjpJbnNpZGUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdo
dFN0YXRlOjpFbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgK
aW5kZXggNzc1NjU4MzJhNDg0Yzg5ZjU3N2JkOTNhOWM5YzgxZmFhMGY2ZTZjNy4uNWY5MTgxMWJh
ZTBlNTcwZjUyY2Y0Y2EzNDFkZjQ5Mjk2ZTIzOTRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtNTU4LDcgKzU1OCw2IEBAIHByaXZhdGU6CiAgICAg
aW50IG1fd2lkdGhGb3JUZXh0QXV0b3NpemluZzsKICAgICB1bnNpZ25lZCBtX2xpbmVDb3VudEZv
clRleHRBdXRvc2l6aW5nIDogMjsKICNlbmRpZgotICAgIHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUo
SGlnaGxpZ2h0U3RhdGUpIGZpbmFsOwogCiBwdWJsaWM6CiAgICAgLy8gRklYTUUtQkxPQ0tGTE9X
OiBUaGVzZSBjYW4gYmUgbWFkZSBwcm90ZWN0ZWQgYWdhaW4gb25jZSBhbGwgY2FsbGVycyBoYXZl
IGJlZW4gbW92ZWQgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggNzA3MTEzODBiMjRiOTlmZTE3YjY1ZjQ5ZTRiMTFlNzFhYmY1YjFiYi4uODFlNDky
MDIwNzdiMmJkNWVjMTcwMzE0OWUzZjUwNjkxNWQ1YWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE4MDAsMTMgKzE4MDAsNiBAQCBPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4gUmVuZGVyT2JqZWN0OjpzdHlsZUNvbG9yT3B0aW9ucygpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShIaWdobGlnaHRTdGF0
ZSBzdGF0ZSkKIHsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBp
ZiAoc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgaWYgKGF1dG8qIGxp
bmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhp
cykpCi0gICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICBtX2JpdGZpZWxkcy5zZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4
IGI0NTU1MmFhNzM5NDg0ODExMDcwZmRlZmI3MGQyMTI4MTA5NzQwM2YuLmJiYjQ0ODQwY2RjYjYz
M2RmODE0Nzk2ZjBhYTA2MmIxNmZjMGIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmNwcApAQCAtODcsNyArODcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVy
OjpwYWludCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFJvdGF0
ZSA9ICF0ZXh0Qm94KCkuaXNIb3Jpem9udGFsKCkgJiYgIWNvbWJpbmVkVGV4dCgpOworICAgIGJv
b2wgc2hvdWxkUm90YXRlID0gIXRleHRCb3goKS5pc0hvcml6b250YWwoKSAmJiAhdGV4dEJveCgp
LmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKHNob3VsZFJvdGF0ZSkKICAgICAgICAgbV9wYWlu
dEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNl
KSk7CiAKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludEZvcmVn
cm91bmQoY29uc3QgU3R5bGVkTWFya2VkVGV4dCYgbWFya2VkVGV4dCkKICAgICAgICAgaWYgKG1f
c3R5bGUuaGFzQXBwbGVDb2xvckZpbHRlcigpKQogICAgICAgICAgICAgdGV4dFBhaW50ZXIuc2V0
U2hhZG93Q29sb3JGaWx0ZXIoJm1fc3R5bGUuYXBwbGVDb2xvckZpbHRlcigpKTsKICAgICB9Ci0g
ICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJr
T2Zmc2V0LCBjb21iaW5lZFRleHQoKSk7CisgICAgdGV4dFBhaW50ZXIuc2V0RW1waGFzaXNNYXJr
KGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0Qm94KCkuaXNDb21iaW5lZFRl
eHQoKSA/ICZkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4obV9yZW5kZXJlcikgOiBudWxscHRy
KTsKICAgICBpZiAoYXV0byogZGVidWdTaGFkb3cgPSBkZWJ1Z1RleHRTaGFkb3coKSkKICAgICAg
ICAgdGV4dFBhaW50ZXIuc2V0U2hhZG93KGRlYnVnU2hhZG93KTsKIApAQCAtMzQ4LDcgKzM0OCw3
IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50RGVjb3JhdGlvbihjb25zdCBTdHlsZWRNYXJr
ZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGCiAKICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Y29udGV4dCwgbWFya2VkVGV4dC5zdHlsZS50ZXh0U3R5bGVzKTsKIAotICAgIGJvb2wgaXNDb21i
aW5lZFRleHQgPSBjb21iaW5lZFRleHQoKTsKKyAgICBib29sIGlzQ29tYmluZWRUZXh0ID0gdGV4
dEJveCgpLmlzQ29tYmluZWRUZXh0KCk7CiAgICAgaWYgKGlzQ29tYmluZWRUZXh0KQogICAgICAg
ICBjb250ZXh0LmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ2xvY2t3aXNlKSk7CiAK
QEAgLTU2NiwxNyArNTY2LDkgQEAgRmxvYXRSZWN0IFRleHRCb3hQYWludGVyOjpjb21wdXRlUGFp
bnRSZWN0KGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICByZXR1cm4geyBib3hP
cmlnaW4sIEZsb2F0U2l6ZSh0ZXh0Qm94KCkubG9naWNhbFdpZHRoKCksIHRleHRCb3goKS5sb2dp
Y2FsSGVpZ2h0KCkpIH07CiB9CiAKLXN0YXRpYyBjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2Nh
ZGVGb3IoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiB0ZXh0
Qm94U3R5bGUpCi17Ci0gICAgaWYgKGlzPFJlbmRlckNvbWJpbmVUZXh0PihyZW5kZXJlcikpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4ocmVuZGVyZXIpLnRleHRD
b21iaW5lRm9udCgpOwotCi0gICAgcmV0dXJuIHRleHRCb3hTdHlsZS5mb250Q2FzY2FkZSgpOwot
fQotCiBGbG9hdFJlY3QgVGV4dEJveFBhaW50ZXI6OmNhbGN1bGF0ZURvY3VtZW50TWFya2VyQm91
bmRzKGNvbnN0IExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3ImIHRleHRCb3gsIGNv
bnN0IE1hcmtlZFRleHQmIG1hcmtlZFRleHQpCiB7Ci0gICAgYXV0byYgZm9udCA9IGZvbnRDYXNj
YWRlRm9yKHRleHRCb3gtPnJlbmRlcmVyKCksIHRleHRCb3gtPnN0eWxlKCkpOworICAgIGF1dG8m
IGZvbnQgPSB0ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogICAgIGF1dG8gYXNjZW50ID0gZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGF1dG8gZm9udFNpemUgPSBzdGQ6Om1pbihzdGQ6
Om1heChmb250LnNpemUoKSwgMTAuMGYpLCA0MC4wZik7CiAgICAgYXV0byB5ID0gYXNjZW50ICsg
MC4xMTAzNSAqIGZvbnRTaXplOwpAQCAtNjAxLDIxICs1OTMsMTYgQEAgYm9vbCBUZXh0Qm94UGFp
bnRlcjo6Y29tcHV0ZUhhdmVTZWxlY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBtX3JlbmRlcmVy
LnZpZXcoKS5zZWxlY3Rpb24oKS5oaWdobGlnaHRTdGF0ZUZvclRleHRCb3gobV9yZW5kZXJlciwg
bV9zZWxlY3RhYmxlUmFuZ2UpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmU7
CiB9CiAKLWNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBUZXh0Qm94UGFpbnRlcjo6Y29tYmluZWRU
ZXh0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaXM8UmVuZGVyQ29tYmluZVRleHQ+KG1fcmVuZGVy
ZXIpID8gJmRvd25jYXN0PFJlbmRlckNvbWJpbmVUZXh0PihtX3JlbmRlcmVyKSA6IG51bGxwdHI7
Ci19Ci0KIGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBj
b25zdAogewotICAgIHJldHVybiBmb250Q2FzY2FkZUZvcihtX3JlbmRlcmVyLCBtX3N0eWxlKTsK
KyAgICByZXR1cm4gbV90ZXh0Qm94LT5mb250Q2FzY2FkZSgpOwogfQogCiBGbG9hdFBvaW50IFRl
eHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHBh
aW50UmVjdCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4geyBwYWludFJlY3Qu
eCgpLCBwYWludFJlY3QueSgpICsgZm9udENhc2NhZGUoKS5mb250TWV0cmljcygpLmFzY2VudCgp
IH07Ci0gICAgaWYgKGF1dG8qIGNvbWJpbmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7
Ci0gICAgICAgIGlmIChhdXRvIG5ld09yaWdpbiA9IGNvbWJpbmVkVGV4dC0+Y29tcHV0ZVRleHRP
cmlnaW4ocGFpbnRSZWN0KSkKKyAgICBpZiAodGV4dEJveCgpLmlzQ29tYmluZWRUZXh0KCkpIHsK
KyAgICAgICAgaWYgKGF1dG8gbmV3T3JpZ2luID0gZG93bmNhc3Q8UmVuZGVyQ29tYmluZVRleHQ+
KG1fcmVuZGVyZXIpLmNvbXB1dGVUZXh0T3JpZ2luKHBhaW50UmVjdCkpCiAgICAgICAgICAgICB0
ZXh0T3JpZ2luID0gbmV3T3JpZ2luLnZhbHVlKCk7CiAgICAgfQogICAgIGlmICh0ZXh0Qm94KCku
aXNIb3Jpem9udGFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5o
CmluZGV4IDdlYTNiMWU2ZDIwODdhOWJkZDNhYTFmNDdlMWJhZDA1MjYyYTBjNjIuLjg2ZGU5ZTA4
ZDc3MGE0ZjM3YzFiZmRiMjA0ODA2NzlmZjc2MmZhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC03OCw3ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgRmxv
YXRSZWN0IGNvbXB1dGVQYWludFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsK
ICAgICBib29sIGNvbXB1dGVIYXZlU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgTWFya2VkVGV4dCBj
cmVhdGVNYXJrZWRUZXh0RnJvbVNlbGVjdGlvbkluQm94KCk7Ci0gICAgY29uc3QgUmVuZGVyQ29t
YmluZVRleHQqIGNvbWJpbmVkVGV4dCgpIGNvbnN0OwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250Q2FzY2FkZSgpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbkZyb21QYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2OTUzZjMwYjM3ZWIyMGRjMzZiZmM0NWZiM2NjODY4
YmJhMmQ4MDE2Li42YjI0MDMyMjA4NzA5ODMwYjQ4MmUxMjI0MWFhNWE4YTljYzdkODBiIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMjEtMDktMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisg
ICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmFibGUgc2VsZWN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNDYzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lv
cy9BY2Nlc3NpYmlsaXR5VGVzdHNJT1MubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKwogMjAyMS0wOS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFsgbWFjT1MgUmVsZWFzZSBdIFRlc3RXZWJLaXRBUEkuTmV0d29ya1Byb2Nlc3MuQnJvYWRj
YXN0Q2hhbm5lbENyYXNoUmVjb3ZlcnkgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tCmlu
ZGV4IDAxMDFmMGI5MDg4ZjNkOWYwZmE4MTM0NDI5NjE1NjFmZDNmMDAwMjcuLjE1OTRkYjRiYTEx
MmRjYjk0YTA5Mjk1ZmE1YjFjZjA3ODI3OTBmZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvaW9zL0FjY2Vzc2liaWxpdHlUZXN0c0lPUy5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL2lvcy9BY2Nlc3NpYmlsaXR5VGVzdHNJT1MubW0KQEAgLTc3LDExICs3
NywxMSBAQCBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgUmVjdHNGb3JTcGVha2luZ1NlbGVjdGlv
bkJhc2ljKQogI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGNoZWNrQ0dSZWN0VmFsdWVB
dEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MCB3aXRoVGV4dDpAImZpcnN0
Il0sIENHUmVjdE1ha2UoOCwgOCwgMjUsIDE5KSwgMCk7CiAgICAgY2hlY2tDR1JlY3RWYWx1ZUF0
SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlvbk9mZnNldDo2IHdpdGhUZXh0OkAic2Vjb25k
Il0sIENHUmVjdE1ha2UoMzYsIDgsIDQ2LCAxOSksIDApOwotICAgIGNoZWNrQ0dSZWN0VmFsdWVB
dEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MTMgd2l0aFRleHQ6QCJ0aGly
ZCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAzMSwgMTkpLCAwKTsKKyAgICBjaGVja0NHUmVjdFZhbHVl
QXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0OjEzIHdpdGhUZXh0OkAidGhp
cmQiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMzEsIDIwKSwgMCk7CiAjZWxzZQogICAgIGNoZWNrQ0dS
ZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MCB3aXRoVGV4
dDpAImZpcnN0Il0sIENHUmVjdE1ha2UoOCwgOCwgMjYsIDE5KSwgMCk7CiAgICAgY2hlY2tDR1Jl
Y3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlvbk9mZnNldDo2IHdpdGhUZXh0
OkAic2Vjb25kIl0sIENHUmVjdE1ha2UoMzcsIDgsIDQ2LCAxOSksIDApOwotICAgIGNoZWNrQ0dS
ZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6MTMgd2l0aFRl
eHQ6QCJ0aGlyZCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAzMSwgMTkpLCAwKTsKKyAgICBjaGVja0NH
UmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0OjEzIHdpdGhU
ZXh0OkAidGhpcmQiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMzEsIDIwKSwgMCk7CiAjZW5kaWYKIH0K
IApAQCAtMTQ2LDkgKzE0Niw5IEBAIFRFU1QoQWNjZXNzaWJpbGl0eVRlc3RzLCBTdG9yZVNlbGVj
dGlvbikKICAgICAvLyBDbGVhciB0aGUgc3RvcmVkIHNlbGVjdGlvbiwgd2Ugc2hvdWxkIHVzZSB0
aGUgY3VycmVudCBzZWxlY3Rpb24gdG8gcmV0cmlldmUgcmVjdHMKICAgICBbd2ViVmlldyBfYWNj
ZXNzaWJpbGl0eUNsZWFyU2VsZWN0aW9uXTsKICNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSAg
ICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0
OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDI4LCAyNSwgMTkpLCAwKTsKKyAg
ICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0
OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDI3LCAyNSwgMjApLCAwKTsKICNl
bHNlCi0gICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlv
bk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCAyOCwgMjYsIDE5KSwg
MCk7CisgICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlv
bk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMjYsIDIwKSwg
MCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhlNzBjMDZlMzEzM2FhMmUzN2UxZGE4ZWE3YWE3YTc3
MzFlM2UyZGUuLmE0NTIzYjhlYzE2ZWY2NTQ4NWIyN2E3NTM4ZWE1MjRlNGRlYWViMTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEVuYWJsZSBzZWxlY3Rpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA0NjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAgICAqIGZhc3QvcmVwYWlu
dC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13cmFw
LW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDktMTggIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIEZhbWlseV0g
RGVsZXRlIGxldHRlcnByZXNzIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxlY3Rpb24tcGFpbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NjEyMzI2ZGY4ZmExNDgwMTdiYzNhNGU1Zjk2NTg2NTBjMmY5ZGJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1w
YWludC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQQorQQorKHJl
cGFpbnQgcmVjdHMKKyAgKHJlY3QgOCA2OCAyMCAxMDApCisgIChyZWN0IDggNjggMjAgMTAwKQor
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXBhaW50
LWludmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1w
YWludC1pbnZhbGlkYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTk3ZGMwMzlkNDk2Y2IwMzdkOWZh
M2M0Y2Y3MTdjNjY3OWQ4Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L3NlbGVjdGlvbi1wYWludC1pbnZhbGlkYXRpb24uaHRtbApAQCAtMCwwICsxLDU0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCB0aGF0IHNlbGVj
dGlvbiBnZXRzIGNsZWFyZWQgcHJvcGVybHkgd2l0aCBsaW5lLWhlaWdodCBzZXQuPC90aXRsZT4K
KzxzdHlsZT4KKzo6c2VsZWN0aW9uIHsKKyAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwg
MC45KTsKK30KKworZGl2IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgZm9udC1mYW1pbHk6
ICdBaGVtJzsKKyAgICBsaW5lLWhlaWdodDogMTAwcHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPkE8YnI+PHNwYW4+QTwvc3Bhbj48L2Rpdj4KKzxw
cmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgYXdhaXQgbmV3IFByb21p
c2UocmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICBpbnRlcm5hbHMuc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7CisKKyAgICBjb25zdCBy
YW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCIjY29udGFpbmVyID4gc3BhbiIpKTsKKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOworCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVx
dWVzdEFuaW1hdGlvbkZyYW1lKTsKKworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVB
bGxSYW5nZXMoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGxldCBy
ZXBhaW50UmVjdHMgPSBpbnRlcm5hbHMucmVwYWludFJlY3RzQXNUZXh0KCk7CisgICAgICAgIGlu
dGVybmFscy5zdG9wVHJhY2tpbmdSZXBhaW50cygpOworICAgICAgICByZXN1bHQudGV4dENvbnRl
bnQgPSByZXBhaW50UmVjdHM7CisgICAgfQorCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVxdWVz
dEFuaW1hdGlvbkZyYW1lKTsKKyAgICAKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfTsKK3Rlc3QoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC93aGl0ZXNwYWNlL3ByZS13cmFwLW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdyYXAt
b3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmMGFjNTAxNzhkMTVmNWE5ODI3
MzBjNjM5M2Q0OTNjYTk0ZTc1ZTk3Li4yYzA1MTU5N2Q4NzZlNjliMzE3ZTMxNzZjMmQ4MDliYWY5
NGI4MDk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3do
aXRlc3BhY2UvcHJlLXdyYXAtb3ZlcmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvcHJlLXdyYXAtb3Zl
cmZsb3ctc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjIsMTIgKzIyLDEwIEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwxOTcpIHNp
emUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2Nr
IHtQUkV9IGF0ICgwLDIxMikgc2l6ZSAxMDh4ODMgW2JvcmRlcjogKDRweCBzb2xpZCAjMDAwMEZG
KV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0LDQpIHNpemUgMTAweDc1Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggODY6ICJUaGlzICAgdGV4dCIKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoODksNCkgd2lkdGggMTU6ICIgICAgICIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNCw0KSB3aWR0aCAxMDA6ICJUaGlzICAgdGV4dCAgICAgIgogICAgICAgICAgIHRleHQg
cnVuIGF0ICg0LDE5KSB3aWR0aCA3MTogIndpbGwgd3JhcCIKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNzQsMTkpIHdpZHRoIDE6ICIgIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDM0KSB3aWR0
aCA3MTogImFuZCAgIGZpdCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzQsMzQpIHdpZHRoIDI0
OiAiICAgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0LDM0KSB3aWR0aCA5NDogImFuZCAgIGZp
dCAgICIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNCw0OSkgd2lkdGggNzk6ICJ3aXRoaW4gdGhl
IgogICAgICAgICAgIHRleHQgcnVuIGF0ICg4Miw0OSkgd2lkdGggMTogIiAiCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQsNjQpIHdpZHRoIDMyOiAiYm94LiIK
</data>

          </attachment>
      

    </bug>

</bugzilla>