mutt/2183: Messages marked as old even though mark_old set to no
>Number: 2183
>Notify-List:
>Category: mutt
>Synopsis: Messages marked as old even though mark_old set to no
>Confidential: no
>Severity: normal
>Priority: medium
>Responsible: mutt-dev
>State: open
>Keywords:
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Feb 11 15:44:25 +0100 2006
>Originator: David Ball
>Release: Mutt 1.5.9i (2005-03-13)
>Organization:
>Environment:
Linux falcon 2.4.21-pre4-ac4 #13 Thu Feb 20 23:45:17 GMT 2003 i686 GNU/Linux
Debian stable w/ stable-proposed-updates
>Description:
I get my mail using fetchmail, which passes it to exim to deliver locally (via
procmail).
After recently upgrading to mutt 1.5.9i, all my new mail is being marked as 'O'
instead of 'N', even though it is new and even though mark_old is set to no in
my .muttrc. The mark_old setting appears to be working normally for existing
mail - ie if I mark a mail as N then switch folders and back, it remains marked
as N.
.fetchamilrc:
poll the.earth.li
proto pop3
user db
pass <removed>
fetchall
pass8bits
ssl
.procmailrc:
MAILDIR=$HOME/Mail
:0:
* ^TO.*ircuk-(announce|discuss)@scoutlink.net.*
inbox
:0:
* ^TOdavidball@xxxxxxxxxxxxxx*
lycosmail
:0:
* ^TOdb-x.*@earth.li.*
lycosmail
:0:
inbox
>How-To-Repeat:
>Fix:
Unknown
>Add-To-Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name=".muttrc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=".muttrc"
IyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtCiMKIyBNeSBwZXJzb25hbCAubXV0dHJjIChNdXR0IDAuOTIuNSkK
IwojIFRoZSBmb3JtYXQgb2YgdGhpcyBmaWxlIGlzIG9uZSBjb21tYW5kIHBlciBsaW5lLiAgRXZl
cnl0aGluZyBhZnRlciBhIGhhc2gKIyBzaWduICgjKSBpcyBhIGNvbW1lbnQsIHVubGVzcyBhIGJh
Y2t3YXJkIHNsYXNoIChcKSBwcmVjZWRlcyBpdAojCgojIE5vdGU6ICRmb2xkZXIgc2hvdWxkIGJl
IHNldCBfYmVmb3JlXyBhbnkgb3RoZXIgcGF0aCB2YXJzIHdoZXJlIGArJyBvciBgPScKIyBpcyB1
c2VkIGJlY2F1c2UgcGF0aHMgYXJlIGV4cGFuZGVkIHdoZW4gcGFyc2VkCiMKc2V0IGZvbGRlcj1+
L01haWwJCSMgd2hlcmUgaSBrZWVwIG15IG1haWxib3hlcwpzZXQgYWJvcnRfbm9zdWJqZWN0PWFz
ay1ubwkjIGFib3J0IGlmIG5vIHN1YmplY3Qgc3BlY2lmaWVkCnNldCBhYm9ydF91bm1vZGlmaWVk
PWFzay15ZXMJIyBhYm9ydCByZXBsaWVzIGlmIEkgZG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlCnNl
dCBhbGlhc19maWxlPX4vLmFkZHJlc3Nib29rCSMgd2hlcmUgSSBrZWVwIG15IGFsaWFzZXMKc291
cmNlIH4vLmFkZHJlc3Nib29rCQkjIHJlYWQgYWxpYXNlcwojc2V0IGFsaWFzX2Zvcm1hdApzZXQg
YWxsb3dfOGJpdAkJCSMgbmV2ZXIgZG8gUS1QIGVuY29kaW5nIG9uIGxlZ2FsIDgtYml0IGNoYXJz
CnNldCBhcnJvd19jdXJzb3IJCSMgdXNlIC0+IGluc3RlYWQgb2YgaGlsaXRpbmcgdGhlIHdob2xl
IGxpbmUKc2V0IGFzY2lpX2NoYXJzCQkjIHVzZSBBU0NJSSBpbnN0ZWFkIG9mIEFDUyBjaGFycyBm
b3IgdGhyZWFkcwpzZXQgbm9hc2tiY2MKc2V0IG5vYXNrY2MKI3NldCBhdHRhY2hfZm9ybWF0PSIl
dSVEJXQlMm4gJVQlLjQwZCU+IFslLjdtLyUuMTBNLCAlLjZlLCAlc10gIgojc2V0IGF0dGFjaF9z
ZXA9IlxuIgpzZXQgYXR0YWNoX3NwbGl0CnNldCBhdHRyaWJ1dGlvbj0iT24gJWQsICVuIHdyb3Rl
OiIJIyBob3cgdG8gYXR0cmlidXRlIHJlcGxpZXMKc2V0IG5vYXV0b2VkaXQJCQkjIGdvIHRvIHRo
ZSBlZGl0b3IgcmlnaHQgYXdheSB3aGVuIGNvbXBvc2luZwojc2V0IGF1dG9fdGFnCQkJIyBhbHdh
eXMgb3BlcmF0ZSBvbiB0YWdnZWQgbWVzc2FnZXMKc2V0IG5vYmVlcAkJCSMgYmVlcCBvbiBlcnJv
cgpzZXQgYmVlcF9uZXcJCQkjIGJlZXAgb24gbmV3IG1haWwKI3NldCBib3VuY2VfZGVsaXZlcmVk
CiNzZXQgY2hhcnNldD0iaXNvLTg4NTktMSIJIyBjaGFyYWN0ZXIgc2V0IGZvciB5b3VyIHRlcm1p
bmFsCiNzZXQgY2hlY2tfbmV3CiNzZXQgbm9jb2xsYXBzZV91bnJlYWQKc2V0IG5vY29uZmlybWFw
cGVuZAkJIyBkb24ndCBhc2sgbWUgaWYgaSB3YW50IHRvIGFwcGVuZCB0byBtYWlsYm94ZXMKc2V0
IGNvbmZpcm1jcmVhdGUJCSMgcHJvbXB0IHdoZW4gY3JlYXRpbmcgbmV3IGZpbGVzCnNldCBjb3B5
PXllcwkJCSMgYWx3YXlzIHNhdmUgYSBjb3B5IG9mIG91dGdvaW5nIG1lc3NhZ2VzCnNldCBjcnlw
dF9hdXRvcGdwPW5vCnNldCBjcnlwdF9hdXRvc21pbWU9bm8Kc2V0IGRhdGVfZm9ybWF0PSIlYSwg
JWIgJWQsICVZIiAgICMgVHVlLCBKdW4gMzAsIDE5OTkKI3NldCBkZWZhdWx0X2hvb2sKc2V0IGRl
bGV0ZT1hc2steWVzCQkjIHB1cmdlIGRlbGV0ZWQgbWVzc2FnZXMgd2l0aG91dCBhc2tpbmcKI3Nl
dCBkZWxldGVfZm9ybWF0PSJbLS0gQXR0YWNobWVudCBmcm9tICVuIGRlbGV0ZWQgb24gJTwlRC8l
bS8lWT4gLS1dIgpzZXQgZGlnZXN0X2NvbGxhcHNlPW5vCiNzZXQgZHNuX25vdGlmeT0iZmFpbHVy
ZSxkZWxheSIgICMgbm90aWZ5IGRlbGl2ZXJ5IGZhaWx1cmVzCiNzZXQgZHNuX3JldHVybj1mdWxs
CQkjIHJldHVybiBmdWxsIG1lc3NhZ2Ugb24gZmFpbHVyZXMKc2V0IGVkaXRfaGVhZGVycwkJIyBs
ZXQgbWUgZWRpdCB0aGUgbWVzc2FnZSBoZWFkZXIgd2hlbiBjb21wb3NpbmcKc2V0IGVkaXRvcj0i
ZGF2aWR0YWcgXCJuYW5vIC10IC1yNzJcIiIJIyBlZGl0b3IgdG8gdXNlIHdoZW4gY29tcG9zaW5n
IG1lc3NhZ2VzCiNzZXQgZXNjYXBlCiNzZXQgZmFzdF9yZXBseQkJCSMgc2tpcCBpbml0aWFsIHBy
b21wdHMgd2hlbiByZXBseWluZwpzZXQgbm9mY2NfYXR0YWNoCQkjIGtlZXAgYXR0YWNobWVudHMg
aW4gY29waWVzIG9mIHNlbnQgbWVzc2FnZXM/CiNzZXQgZm9sZGVyX2Zvcm1hdD0Kc2V0IG5vZm9s
bG93dXBfdG8KI3NldCBmb3JjZV9uYW1lCQkJIyBmY2MgYnkgcmVjaXBpZW50LCBjcmVhdGUgaWYg
bWFpbGJveCBkb2Vzbid0IGV4aXN0CiNzZXQgZm9yd2FyZF9kZWNvZGUJCSMgd2VlZCBhbmQgTUlN
RSBkZWNvZGUgZm9yd2FkZWQgbWVzc2FnZXMKI3NldCBub2ZvcndhcmRfZGVjcnlwdApzZXQgZm9y
d2FyZF9mb3JtYXQ9IiVzIChmd2QpIgkjIHN1YmplY3QgdG8gdXNlIHdoZW4gZm9yd2FyZGluZyBt
ZXNzYWdlcwojc2V0IGZvcndhcmRfcXVvdGUJCSMgcXVvdGUgdGhlIGhlYWRlciBhbmQgYm9keSBv
ZiBmb3J3YXJkIG1zZ3MKI3NldCBub2ZvcndhcmRfd2VlZApzZXQgZnJvbT0iRGF2aWQgQmFsbCA8
ZGJAZWFydGgubGk+Igojc2V0IGhkcnMKI3NldCBoZHJfZm9ybWF0PSIlNEMgJVogJXslbS8lZH0g
WyUyTl0gJS0xNS4xNUYgKCU0YykgJXMiCiNzZXQgaGRyX2Zvcm1hdD0iJTRDICVaICV7JW0vJWR9
ICUtMTUuMTVGICglNGMpICVzIiAjIGZvcm1hdCBvZiB0aGUgaW5kZXgKI3NldCBoZWFkZXIJCQkj
IGluY2x1ZGUgbWVzc2FnZSBoZWFkZXIgd2hlbiByZXBseWluZwpzZXQgaGVscAkJCSMgc2hvdyB0
aGUgaGVscCBsaW5lcwojc2V0IG5vaGlkZGVuX2hlYWRlcgpzZXQgaGlzdG9yeT0yMAkJCSMgbnVt
YmVyIG9mIGxpbmVzIG9mIGhpc3RvcnkgdG8gcmVtZW1iZXIKc2V0IGhvc3RuYW1lPSJlYXJ0aC5s
aSIgCSMgbXkgRE5TIGRvbWFpbgojc2V0IGlnbm9yZV9saXN0X3JlcGx5X3RvCiNzZXQgaW1hcF9j
aGVja2ludGVydmFsCiNzZXQgaW1hcF9wYXNzCiNzZXQgaW1hcF91c2VyCiNzZXQgaW1wbGljaXRf
YXV0b3ZpZXc9bm8JIyBhbHdheXMgdXNlIGEgbWFpbGNhcCBlbnRyeSB3aGVuIGZvdW5kCiNzZXQg
aW5fcmVwbHlfdG89IiVpIgpzZXQgaW5jbHVkZT15ZXMJCQkjIGFsd2F5cyBpbmNsdWRlIG1lc3Nh
Z2VzIHdoZW4gcmVwbHlpbmcKc2V0IGluZGVudF9zdHJpbmc9Ij4gIgkJIyBob3cgdG8gcXVvdGUg
cmVwbGllZCB0ZXh0CnNldCBpbmRleF9mb3JtYXQ9IiU0QyAlWiAleyViICVkfSAlLTE1LjE1TCAo
JTRjKSAlcyIKI3NldCBpc3BlbGwKI3NldCBsb2NhbGU9IkMiCQkJIyBsb2NhbGUgdG8gdXNlIGZv
ciBwcmludGluZyB0aW1lCiNzZXQgbWFpbGNhcF9wYXRoPSJ+Ly5tYWlsY2FwOi91c3IvbG9jYWwv
c2hhcmUvbWFpbGNhcCIKI3NldCBtYWlsY2FwX3Nhbml0aXplCnNldCBtYWlsX2NoZWNrPTUJCSMg
aG93IG9mdGVuIHRvIHBvbGwgZm9yIG5ldyBtYWlsCnNldCBub21hcmtfb2xkCQkJIyBpIGRvbid0
IGNhcmUgYWJvdXQgd2hldGhlciBhIG1lc3NhZ2UgaXMgb2xkCiNzZXQgbWFya2Vycwojc2V0IG1h
c2sKc2V0IG1ib3g9K3JlYWQtbWFpbAkJCSMgd2hlcmUgdG8gc3RvcmUgcmVhZCBtZXNzYWdlcwoj
c2V0IG1ib3hfdHlwZQpzZXQgbm9tZXRvbwkJCSMgcmVtb3ZlIG15IGFkZHJlc3Mgd2hlbiByZXBs
eWluZwpzZXQgbm9tZW51X3Njcm9sbAkJIyBubyBpbXBsaWNpdCBuZXh0LXBhZ2UvcHJldi1wYWdl
CiNzZXQgbWV0YV9rZXkKI3NldCBtaF9wdXJnZQpzZXQgbWltZV9mb3J3YXJkPWFzay1ubwkJIyB1
c2UgbWVzc2FnZS9yZmM4MjIgdHlwZSB0byBmb3J3YXJkIG1lc3NhZ2VzCiNzZXQgbWltZV9mb3J3
YXJkX2RlY29kZQpzZXQgbW92ZT1ubwkJCSMgZG9uJ3QgYXNrIGFib3V0IG1vdmluZyBtZXNzYWdl
cywganVzdCBkbyBpdAojc2V0IG1lc3NhZ2VfZm9ybWF0CiNzZXQgcGFnZXI9bGVzcwkJCSMgc29t
ZSBwZW9wbGUgcHJlZmVyIGFuIGV4dGVybmFsIHBhZ2VyCnNldCBwYWdlcl9jb250ZXh0PTIJCSMg
bm8uIG9mIGxpbmVzIG9mIGNvbnRleHQgdG8gZ2l2ZSB3aGVuIHNjcm9sbGluZwpzZXQgcGFnZXJf
Zm9ybWF0PSIlLTIwLjIwZiAlcyAgICglQyBvZiAlbSkgLSVTLSIJIyBmb3JtYXQgb2YgdGhlIHBh
Z2VyIHN0YXR1cyBiYXIKc2V0IHBhZ2VyX2luZGV4X2xpbmVzPTEJCSMgaG93IG1hbnkgaW5kZXgg
bGluZXMgdG8gc2hvdyBpbiB0aGUgcGFnZXIKc2V0IHBhZ2VyX3N0b3AJCQkjIGRvbid0IG1vdmUg
dG8gdGhlIG5leHQgbWVzc2FnZSBvbiBuZXh0LXBhZ2UKI3NldCBwaXBlLWRlY29kZQojc2V0IHBp
cGVfc2VwCiNzZXQgcGlwZV9zcGxpdApzZXQgbm9wZ3BfYXV0b2VuY3J5cHQKc2V0IG5vcGdwX2F1
dG9zaWduCiNzZXQgcGdwX2RlZmF1bHRfdmVyc2lvbj1ncGcKI3NldCBwZ3BfZW5jcnlwdHNlbGYK
I3NldCBwZ3BfZ3BnPS91c3IvYmluL2dwZwojc2V0IHBncF9rZXlfdmVyc2lvbj1kZWZhdWx0CnNl
dCBwZ3BfbG9uZ19pZHM9bm8KI3NldCBwZ3BfcmVjZWl2ZV92ZXJzaW9uPWRlZmF1bHQKc2V0IG5v
Y3J5cHRfcmVwbHllbmNyeXB0CnNldCBub2NyeXB0X3JlcGx5c2lnbgojc2V0IHBncF9zZW5kX3Zl
cnNpb249ZGVmYXVsdAojc2V0IHBncF9zaWduX2FzCiNzZXQgcGdwX3NpZ25fbWljYWxnCiNzZXQg
cGdwX3N0cmljdF9lbmMKc2V0IHBncF90aW1lb3V0PTMwMAojc2V0IHBncF92Mgojc2V0IHBncF92
Ml9sYW5ndWFnZQojc2V0IHBncF92Ml9wdWJyaW5nCiNzZXQgcGdwX3YyX3NlY3JpbmcKI3NldCBw
Z3BfdjUKI3NldCBwZ3BfdjVfbGFuZ3VhZ2UKI3NldCBwZ3BfdjVfcHVicmluZwojc2V0IHBncF92
NV9zZWNyaW5nCnNldCBjcnlwdF92ZXJpZnlfc2lnPXllcwpzZXQgbm9waXBlX2RlY29kZQpzZXQg
cGlwZV9zZXA9J1xuJwpzZXQgcGlwZV9zcGxpdApzZXQgcG9wX2RlbGV0ZQpzZXQgcG9wX2hvc3Q9
MTAuMi41LjEKc2V0IG5vcG9wX2xhc3QKc2V0IG5vcG9wX3Bhc3MKI3NldCBwb3BfcG9ydApzZXQg
cG9wX3VzZXI9ZGF2aWQKI3NldCBwb3N0X2luZGVudF9zdHJpbmc9Jy0tLWVuZCBxdW90ZWQgdGV4
dC0tLScKc2V0IHBvc3Rwb25lPWFzay1ubwpzZXQgcG9zdHBvbmVkPStwb3N0cG9uZWQJIyBtYWls
Ym94IHRvIHN0b3JlIHBvc3Rwb25lZCBtZXNzYWdlcyBpbgpzZXQgcHJpbnQ9YXNrLW5vCQkjIGFz
ayBtZSBpZiBJIHJlYWxseSB3YW50IHRvIHByaW50IG1lc3NhZ2VzCnNldCBwcmludF9jb21tYW5k
PSdscHInCQkjIGhvdyB0byBwcmludCB0aGluZ3MgKEkgbGlrZSB0byBzYXZlIHRyZWVzKQpzZXQg
bm9wcm9tcHRfYWZ0ZXIJCSMgYXNrIG1lIGZvciBhIGNvbW1hbmQgYWZ0ZXIgdGhlIGV4dGVybmFs
IHBhZ2VyIGV4aXRzCiNzZXQgcXVlcnlfY29tbWFuZApzZXQgcXVpdD1hc2steWVzCiNzZXQgcXVv
dGVfcmVnZXhwPSJeICpbYS16QS1aXSpbPjojfV0iCSMgaG93IHRvIGNhdGNoIHF1b3RlZCB0ZXh0
CnNldCByZWFkX2luYz0wCQkJIyBzaG93IHByb2dyZXNzIHdoZW4gcmVhZGluZyBhIG1haWxib3gK
I3NldCByZWFkLW9ubHkKc2V0IHJlYWxuYW1lPSJEYXZpZCBCYWxsIgpzZXQgcmVjYWxsPWFzay15
ZXMJCSMgcHJvbXB0IHRvIHJlY2FsbCBwb3N0cG9uZWQgbWVzc2FnZXMKc2V0IHJlY29yZD0rc2Vu
dC1tYWlsCQkjIGRlZmF1bHQgbG9jYXRpb24gdG8gc2F2ZSBvdXRnb2luZyBtYWlsCnNldCByZXBs
eV9yZWdleHA9Il4ocmV8UmV8UkUpOlsgXHRdKiIgIyBob3cgdG8gaWRlbnRpZnkgcmVwbGllcyBp
biB0aGUgc3ViamVjdDoKc2V0IG5vcmVwbHlfc2VsZgpzZXQgcmVwbHlfdG89YXNrLXllcwkJIyBh
bHdheXMgdXNlIHJlcGx5LXRvIGlmIHByZXNlbnQKI3NldCByZXNvbHZlCQkJIyBtb3ZlIHRvIHRo
ZSBuZXh0IG1lc3NhZ2Ugd2hlbiBhbiBhY3Rpb24gaXMgcGVyZm9ybWVkCnNldCByZXZlcnNlX2Fs
aWFzCQkjIGF0dGVtcHQgdG8gbG9vayB1cCBteSBuYW1lcyBmb3IgcGVvcGxlCnNldCByZXZlcnNl
X25hbWUJCSMgdXNlIG15IGxvY2FsIGFkZHJlc3MKc2V0IG5vcmV2ZXJzZV9yZWFsbmFtZQpzZXQg
c2F2ZV9lbXB0eSAJCQkjIGRvIG5vdCByZW1vdmUgZmlsZXMgd2hlbiBubyBtZXNzYWdlcyBhcmUg
bGVmdAojc2V0IHNhdmVfbmFtZQkJCSMgc2F2ZSBvdXRnb2luZyBtZXNzYWdlcyBieSByZWNpcGll
bnQsIGlmIHRoZQpzZXQgc2VuZG1haWw9Ii91c3Ivc2Jpbi9zZW5kbWFpbCAtb2kgLW9lbSIJIyBo
b3cgdG8gZGVsaXZlciBtYWlsCnNldCBzZW5kbWFpbF93YWl0PTAKI3NldCBzaGVsbD0iL2Jpbi9i
YXNoIgkJIyBwcm9ncmFtIHRvIHVzZSBmb3Igc2hlbGwgZXNjYXBlcwpzZXQgbm9zaWdfZGFzaGVz
CnNldCBzaWduYXR1cmU9In4vLnNpZ25hdHVyZSIJIyBmaWxlIHdoaWNoIGNvbnRhaW5zIG15IHNp
Z25hdHVyZQojc2V0IHNpbXBsZV9zZWFyY2gKc2V0IHNtYXJ0X3dyYXAKI3NldCBzbWlsZXlzCnNl
dCBzb3J0PXRocmVhZHMJCSMgcHJpbWFyeSBzb3J0aW5nIG1ldGhvZAojc2V0IHNvcnRfYWxpYXM9
YWxpYXMKc2V0IHNvcnRfYXV4PWRhdGUtcmVjZWl2ZWQJIyBob3cgdG8gc29ydCBzdWJ0aHJlYWRz
CnNldCBzb3J0X2Jyb3dzZXI9YWxwaGEJCSMgaG93IHRvIHNvcnQgZmlsZXMgaW4gdGhlIGRpciBi
cm93c2VyCiNzZXQgc29ydF9yZQpzZXQgc3Bvb2xmaWxlPSIraW5ib3giCQkjIHdoZXJlIG15IG5l
dyBtYWlsIGlzIGxvY2F0ZWQKc2V0IHN0YXR1c19jaGFycz0iLU1SQSIKc2V0IHN0YXR1c19mb3Jt
YXQ9Ii0lci1NdXR0OiAlZiBbTXNnczolP00/JU0vPyVtJT9uPyBOZXc6JW4/JT90PyBUYWc6JXQ/
JT9iPyBcCiAgICAgICAgICAgICAgICAgIEluYzolYj8gICVsXS0tLSglcyktJT4tKCVQKS0tLSIK
c2V0IG5vc3RhdHVzX29uX3RvcAkJIyBzb21lIHBlb3BsZSBwcmVmZXIgdGhlIHN0YXR1cyBiYXIg
b24gdG9wCnNldCBub3N0cmljdF90aHJlYWRzCQkjIGRvbid0IHRocmVhZCBieSBzdWJqZWN0CnNl
dCBzdXNwZW5kCnNldCB0aG9yb3VnaF9zZWFyY2gKc2V0IG5vdGlsZGUJCQkjIHZpcnR1YWwgbGlu
ZXMgdG8gcGFkIGJsYW5rIGxpbmVzIGluIHRoZSBwYWdlcgpzZXQgdGltZW91dD02MAkJCSMgdGlt
ZW91dCBmb3IgcHJvbXB0IGluIHRoZSBpbmRleCBtZW51CnNldCB0bXBkaXI9fi90bXAJCSMgd2hl
cmUgdG8gc3RvcmUgdGVtcCBmaWxlcwpzZXQgdG9fY2hhcnM9IiArVENGTCIKc2V0IG5vdW5jb2xs
YXBzZV9qdW1wCnNldCB1c2VfOGJpdG1pbWUJCSMgZW5hYmxlIHRoZSAtQjhCSVRNSU1FIHNlbmRt
YWlsIGZsYWcKc2V0IHVzZV9kb21haW4JCQkjIGRvbid0IHF1YWxpZnkgbG9jYWwgYWRkcmVzc2Vz
IHdpdGggJGRvbWFpbgpzZXQgdXNlX2Zyb20JCQkjIGFsd2F5cyBnZW5lcmF0ZSB0aGUgYEZyb206
JyBoZWFkZXIgZmllbGQKc2V0IHZpc3VhbD0nbmFubyAtdCAtdycJCQkjIGVkaXRvciBpbnZva2Vk
IGJ5IH52IGluIHRoZSBidWlsdGluIGVkaXRvcgpzZXQgbm93YWl0X2tleQkJCSMgcHJvbXB0IHdo
ZW4gYSBwaXBlIHJldHVybnMgbm9ybWFsIHN0YXR1cwpzZXQgd3JhcF9zZWFyY2gKc2V0IHdyaXRl
X2luYz0yNQkJIyBzaG93IHByb2dyZXNzIHdoaWxlIHdyaXRpbmcgbWFpbGJveGVzCiNzZXQgd3Jp
dGVfYmNjCgphbHRlcm5hdGVzICIoKGRhdmlkKFwuYmFsbCk/KUAob3hcLik/Y29tcHNvY1wubmV0
KXwoZGF2aWRiYWxsQGx5Y29zbWFpbFwuY29tKXwoZGIoLVteQF0qKT9AZWFydGhcLmxpKXwoZGF2
aWRcLmJhbGxAa2ViKGxlKT9cLm94KGZvcmQpP1wuYWNcLnVrKXwoZGF2aWRAc2NvdXRuZXRcLmJl
KSIKCgojIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KCiMgSWdub3JlIGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdApp
Z25vcmUgKgoKIyBEb24ndCBpZ25vcmUgdGhlc2UKdW5pZ25vcmUJZnJvbTogc3ViamVjdCB0byBj
YyBkYXRlIHJlcGx5LXRvCgoKIyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtCgojIENvbG9yIGRlZmluaXRpb25z
CmNvbG9yIG5vcm1hbCB3aGl0ZSBibGFjawpjb2xvciBhdHRhY2htZW50IGJyaWdodGdyZWVuIGJs
YWNrCmNvbG9yIGJvZHkgYnJpZ2h0d2hpdGUgYmxhY2sgIigoZnRwfGh0dHApOi8vW14gXSspfCh3
d3dcLlteIF0rKSIJIyBwb2ludCBvdXQgVVJMcwpjb2xvciBib2R5IGJyaWdodHdoaXRlIGJsYWNr
ICBbLWEtel8wLTkuXStAWy1hLXpfMC05Ll0rCSMgZS1tYWlsIGFkZHJlc3Nlcwpjb2xvciBlcnJv
ciBicmlnaHRyZWQgYmxhY2sKY29sb3IgaGVhZGVyIGJyaWdodHJlZCBibGFjayBeKEZyb218U3Vi
amVjdHxSZXBseS10byk6CmNvbG9yIGhkcmRlZmF1bHQgcmVkIGJsYWNrCmNvbG9yIGluZGljYXRv
ciBicmlnaHR5ZWxsb3cgYmxhY2sKY29sb3IgbWFya2VycyBicmlnaHR3aGl0ZSBibGFjawpjb2xv
ciBtZXNzYWdlIGJyaWdodGN5YW4gYmxhY2sKY29sb3IgcXVvdGVkIGdyZWVuIGJsYWNrCmNvbG9y
IHNlYXJjaCBibGFjayBncmVlbgkjIGhvdyB0byBoaWxpdGUgc2VhcmNoIHBhdHRlcm5zIGluIHRo
ZSBwYWdlcgpjb2xvciBzaWduYXR1cmUgeWVsbG93IGJsYWNrCmNvbG9yIHN0YXR1cyBibGFjayBj
eWFuCmNvbG9yIHRpbGRlIGJsYWNrIGJsYWNrCmNvbG9yIHRyZWUgd2hpdGUgYmxhY2sJIyB0aGUg
dGhyZWFkIHRyZWUgaW4gdGhlIGluZGV4IG1lbnUKY29sb3IgdW5kZXJsaW5lIGJyaWdodHdoaXRl
IGJsYWNrCgojIGF0dHJpYnV0ZXMgd2hlbiB1c2luZyBhIG1vbm8gdGVybWluYWwKbW9ubyBib2R5
IGJvbGQgWy1hLXpfMC05Ll0rQFstYS16XzAtOS5dKwkjIGUtbWFpbCBhZGRyZXNzZXMKbW9ubyBi
b2R5IGJvbGQgIigoZnRwfGh0dHApOi8vW14gXSspfCh3d3dcLlteIF0rKSIJIyBwb2ludCBvdXQg
VVJMcwptb25vIGhlYWRlciBib2xkIF4oRnJvbXxTdWJqZWN0fFJlcGx5LXRvKToKCgojIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0KCiMgS2V5ICNiaW5kaW5ncwoKIwltYXBzOgojCQlhbGlhcwkJYWxpYXMgbWVu
dQojCQlhdHRhY2gJCWF0dGFjaG1lbnQgbWVudQojCQlicm93c2VyCQlkaXJlY3RvcnkgYnJvd3Nl
cgojCQljb21wb3NlCQljb21wb3NlIG1lbnUKIwkJaW5kZXgJCW1lc3NhZ2UgaW5kZXgKIwkJcGdw
CQlwZ3AgbWVudQojCQlwb3N0cG9uZQlwb3N0cG9uZWQgbWVzc2FnZSByZWNhbGwgbWVudQojCQln
ZW5lcmljCQlnZW5lcmljIGtleW1hcCBmb3IgYWxsIG9mIHRoZSBhYm92ZQojCQllZGl0b3IJCWxp
bmUgZWRpdG9yCiMJCXBhZ2VyCQl0ZXh0IHZpZXdlcgojCQkKCmJpbmQgZ2VuZXJpYyAiXGU8IiBm
aXJzdC1lbnRyeQkjIGVtYWNzLWxpa2UgYmluZGluZ3MgZm9yIG1vdmluZyB0byB0b3AvYm90dG9t
CmJpbmQgZ2VuZXJpYyBcZT4gbGFzdC1lbnRyeQpiaW5kIGdlbmVyaWMgeyB0b3AtcGFnZQpiaW5k
IGdlbmVyaWMgfSBib3R0b20tcGFnZQpiaW5kIGdlbmVyaWMgXDE3NyBsYXN0LWVudHJ5CgptYWNy
byBpbmRleCBcY2IgfHVybHZpZXdcbgkjIHNpbXVsYXRlIHRoZSBvbGQgYnJvd3NlLXVybCBmdW5j
dGlvbgoKI2JpbmQgZWRpdG9yIFxjeSBlb2wJIyBtYWtlIF5ZIGp1bXAgdG8gdGhlIGVuZCBvZiB0
aGUgbGluZQpiaW5kIGVkaXRvciBcY2sga2lsbC1saW5lCmJpbmQgZWRpdG9yIDxkb3duPiBoaXN0
b3J5LWRvd24KYmluZCBlZGl0b3IgPHVwPiBoaXN0b3J5LXVwCmJpbmQgZ2VuZXJpYyBcZW4gc2Vh
cmNoLW5leHQKYmluZCBnZW5lcmljIFxlcCBzZWFyY2gtb3Bwb3NpdGUKYmluZCBpbmRleCBcZW4g
bm9vcApiaW5kIGluZGV4IFxlcCBub29wCmJpbmQgaW5kZXggeSBjaGFuZ2UtZm9sZGVyCmJpbmQg
aW5kZXggXGV5IGNoYW5nZS1mb2xkZXItcmVhZG9ubHkKYmluZCBpbmRleCBjIG1haWwKYmluZCBp
bmRleCBUQUIgbmV4dC11bnJlYWQKYmluZCBpbmRleCBcZVRBQiBwcmV2aW91cy11bnJlYWQKYmlu
ZCBpbmRleCBwIG5vb3AKYmluZCBpbmRleCBQIHByaW50LW1lc3NhZ2UKYmluZCBpbmRleCBYIGV4
aXQKYmluZCBpbmRleCB4IHN5bmMtbWFpbGJveApiaW5kIGluZGV4IDx1cD4gcHJldmlvdXMtZW50
cnkKYmluZCBpbmRleCA8ZG93bj4gbmV4dC1lbnRyeQpiaW5kIGluZGV4IFQgdGFnLXBhdHRlcm4K
YmluZCBwYWdlciB5IGNoYW5nZS1mb2xkZXIKYmluZCBwYWdlciBcZXkgY2hhbmdlLWZvbGRlci1y
ZWFkb25seQpiaW5kIHBhZ2VyIGMgbWFpbApiaW5kIHBhZ2VyIDxkb3duPiBuZXh0LWxpbmUKYmlu
ZCBwYWdlciA8dXA+IHByZXZpb3VzLWxpbmUKYmluZCBwYWdlciBuIG5leHQtZW50cnkKYmluZCBw
YWdlciBwIHByZXZpb3VzLWVudHJ5CmJpbmQgcGFnZXIgUCBwcmludC1tZXNzYWdlCmJpbmQgcGFn
ZXIgXGVuIHNlYXJjaC1uZXh0CmJpbmQgcGFnZXIgXGVwIHNlYXJjaC1vcHBvc2l0ZQpiaW5kIHBh
Z2VyIFRBQiBuZXh0LXVucmVhZApiaW5kIHBhZ2VyIFxlVEFCIHByZXZpb3VzLXVucmVhZApiaW5k
IHBhZ2VyIHEgcXVpdApiaW5kIHF1ZXJ5IGMgbWFpbApiaW5kIHF1ZXJ5IHAgc2VhcmNoLW9wcG9z
aXRlCmJpbmQgYXR0YWNoIHAgbm9vcApiaW5kIGF0dGFjaCBQIHByaW50LWVudHJ5CgpiaW5kIGlu
ZGV4IEcgbm9vcApiaW5kIGluZGV4IFxjZyBmZXRjaC1tYWlsCm1hY3JvIGluZGV4IEcgIWZtYWls
XG4KbWFjcm8gaW5kZXggWSB5IVxuCm1hY3JvIGluZGV4IFkgeSFcbgptYWNybyBpbmRleCBcYCB5
XG4KCgojIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KCiMgVXNlciBEZWZpbmVkIEhlYWRlcnMKCiNteV9oZHIg
UmVwbHktdG86IAojbXlfaGRyIEZyb206IERhdmlkIEJhbGwgPGRiQGVhcnRoLmxpPgoKCiMgLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLQoKIyBTcGVjaWZ5IGRlZmF1bHQgZmlsZW5hbWUgd2hlbiBzYXZpbmcgbWVz
c2FnZXMKIwojCXNhdmUtaG9vayBbIV08cGF0dGVybj4gPG1haWxib3g+CiMKIyA8bWFpbGJveD4g
aXMgcHJvdmlkZWQgYXMgZGVmYXVsdCB3aGVuIHNhdmluZyBtZXNzYWdlcyBmcm9tIDxwYXR0ZXJu
PgoKc2F2ZS1ob29rICd+dCBvdXNnZ0BtYWlsbGlzdFxcLm94XFwuYWNcXC51aycgK291c2dnCnNh
dmUtaG9vayAnfnQgb3hpcmMtd2liYmxlQG11bmNoa2luXFwuZWFydGhcXC5saScgK294aXJjCnNh
dmUtaG9vayAnfnQgb3hpcmMtc2VyaW91c0BtdW5jaGtpblxcLmVhcnRoXFwubGknICtveGlyYwpz
YXZlLWhvb2sgJ350IG94aXJjLWFubm91bmNlQG11bmNoa2luXFwuZWFydGhcXC5saScgK294aXJj
CnNhdmUtaG9vayAnfnQgY29tcHNvY0Aob3hcXC4pP2NvbXBzb2NcXC5uZXQnICtjc29jCnNhdmUt
aG9vayAnfnQgY29tbWl0dGVlQChveFxcLik/Y29tcHNvY1xcLm5ldCcgK2Nzb2MKc2F2ZS1ob29r
ICd+dCBjb21wc29jLWpvYnNAKG94XFwuKT9jb21wc29jXFwubmV0JyArY3NvYwpzYXZlLWhvb2sg
J350IHByb2plY3RwdXJwbGVAZWFydGhcXC5saScgK3BwCnNhdmUtaG9vayAnfmYgY3JiQGNvbXB1
c2VydmVcXC5jb20nICtmYW1pbHkKc2F2ZS1ob29rICd+ZiB5Y2JAb3VyY2FzdGxlXFwuZm9yY2U5
XFwuY29cXC51aycgK2ZhbWlseQpzYXZlLWhvb2sgJ35mIG5pZ2VsQG91cmNhc3RsZVxcLmZvcmNl
OVxcLmNvXFwudWsnICtmYW1pbHkKc2F2ZS1ob29rICd+ZiB0bWIxMDhAeW9ya1xcLmFjXFwudWsn
ICtmYW1pbHkKc2F2ZS1ob29rICd+dCBpc3pAZWFydGhcXC5saScgK2hvdXNlCnNhdmUtaG9vayAn
fnQgcm9jay1saW51eEBjbGlmZm9yZFxcLmF0JyArcm9jawpzYXZlLWhvb2sgJ35DIGFkOTdAY29t
bGFiXFwub3hcXC5hY1xcLnVrJyArYWQ5NwpzYXZlLWhvb2sgJ35DIGFkOTdAZWFydGhcXC5saScg
K2FkOTcKc2F2ZS1ob29rICd+dCBvcHN5czAwQGNvbWxhYlxcLm94XFwuYWNcXC51aycgK29wc3lz
MDAKc2F2ZS1ob29rICd+dCB5b3V0aC1hbm5vdW5jZUBzY291dGxpbmtcXC5uZXQnICtzY291dGxp
bmsKc2F2ZS1ob29rICd+dCB5b3V0aC1pbmZvQHNjb3V0bGlua1xcLm5ldCcgK3Njb3V0bGluawpz
YXZlLWhvb2sgJ350IHlvdXRoLWRpc2N1c3NAc2NvdXRsaW5rXFwubmV0JyArc2NvdXRsaW5rCnNh
dmUtaG9vayAnfnQgaXJjdWstYW5ub3VuY2VAc2NvdXRsaW5rXFwubmV0JyArc2NvdXRsaW5rCnNh
dmUtaG9vayAnfnQgaXJjdWstZGlzY3Vzc0BzY291dGxpbmtcXC5uZXQnICtzY291dGxpbmsKc2F2
ZS1ob29rICd+dCBlYXJ0aGxpbmdzQGVhcnRoXFwubGknICtlYXJ0aGxpbmdzCnNhdmUtaG9vayAn
fnQgZWFydGh3b3Jtc0BlYXJ0aFxcLmxpJyArZWFydGhsaW5ncwoKCiMgLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LQoKIyBNdWx0aXBsZSBzcG9vbCBtYWlsYm94ZXMKIwojCW1ib3gtaG9vayBbIV08cGF0dGVybj4g
PG1ib3gtbWFpbGJveD4KIwojIFJlYWQgbWFpbCBpbiA8cGF0dGVybj4gaXMgbW92ZWQgdG8gPG1i
b3gtbWFpbGJveD4gd2hlbiA8cGF0dGVybj4gaXMKIyBjbG9zZWQuCgoKIyAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtCgojIENoYW5nZSBzZXR0aW5ncyBiYXNlZCB1cG9uIG1lc3NhZ2UgcmVjaXBpZW50CiMKIwlz
ZW5kLWhvb2sgWyFdPHBhdHRlcm4+IDxjb21tYW5kPgojCiMgPGNvbW1hbmQ+IGlzIGV4ZWN1dGVk
IHdoZW4gc2VuZGluZyBtYWlsIHRvIGFuIGFkZHJlc3MgbWF0Y2hpbmcgPHBhdHRlcm4+Cgojc2Vu
ZC1ob29rIG11dHQtICdzZXQgc2lnbmF0dXJlPX4vLnNpZ211dHQ7IG15X2hkciBGcm9tOiBNdXR0
IFVzZXIgPHVzZXJAZXhhbXBsZS5jb20+JwpzZW5kLWhvb2sgJ35BJyBteV9oZHIgRnJvbTogRGF2
aWQgQmFsbCA8ZGJAZWFydGgubGk+CnNlbmQtaG9vayAnfkMgeW91dGgtaW5mb0BzY291dGxpbmtc
XC5uZXQnIG15X2hkciBGcm9tOiBEYXZpZCBCYWxsIDxkYXZpZEBzY291dG5ldC5iZT4Kc2VuZC1o
b29rICd+QyB5b3V0aC1hbm5vdW5jZUBzY291dGxpbmtcXC5uZXQnIG15X2hkciBGcm9tOiBEYXZp
ZCBCYWxsIDxkYXZpZEBzY291dG5ldC5iZT4Kc2VuZC1ob29rICd+QyB5b3V0aC1kaXNjdXNzQHNj
b3V0bGlua1xcLm5ldCcgbXlfaGRyIEZyb206IERhdmlkIEJhbGwgPGRhdmlkQHNjb3V0bmV0LmJl
PgpzZW5kLWhvb2sgJ35DIGlyY3VrLWluZm9Ac2NvdXRsaW5rXFwubmV0JyBteV9oZHIgRnJvbTog
RGF2aWQgQmFsbCA8ZGF2aWRAc2NvdXRuZXQuYmU+CnNlbmQtaG9vayAnfkMgaXJjdWstZGlzY3Vz
c0BzY291dGxpbmtcXC5uZXQnIG15X2hkciBGcm9tOiBEYXZpZCBCYWxsIDxkYXZpZEBzY291dG5l
dC5iZT4KCgoKIyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtCgojIFNwZWNpZnkgd2hlcmUgdG8gc2F2ZSBjb21w
b3NlZCBtZXNzYWdlcwojCiMJZmNjLWhvb2sgWyFdPHBhdHRlcm4+IDxtYWlsYm94PgojCiMgPHBh
dHRlcm4+IGlzIHJlY2lwaWVudChzKSwgPG1haWxib3g+IGlzIHdoZXJlIHRvIHNhdmUgYSBjb3B5
CgoKIyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLSAtIC0gLSAtCgojIENoYW5nZSBzZXR0aW5ncyBiYXNlZCBvbiBtYWlsYm94
CiMKIwlmb2xkZXItaG9vayBbIV08cGF0dGVybj4gPGNvbW1hbmQ+CiMKIyA8Y29tbWFuZD4gaXMg
ZXhlY3V0ZWQgd2hlbiBvcGVuaW5nIGEgbWFpbGJveCBtYXRjaGluZyA8cGF0dGVybj4KCiNmb2xk
ZXItaG9vayAuICdzZXQgc29ydD1kYXRlLXNlbnQnCiNmb2xkZXItaG9vayBtdXR0ICdzZXQgaGRy
X2Zvcm1hdD0iJTRDICVaICUwMm0vJTAyTiAlLTIwLjIwRiAoJTRsKSAlcyInCiNmb2xkZXItaG9v
ayA9bXV0dCBteV9oZHIgUmV2b2x1dGlvbjogXCM5ICMgcmVhbCBjb21tZW50CiNmb2xkZXItaG9v
ayAuICdzZXQgcmVwbHlfcmVnZXhwPSJecmU6WyBcdF0qIicKIyB0aGlzIG1haWxpbmcgbGlzdCBw
cmVwZW5kcyAiW1dNXSIgdG8gYWxsIG5vbiByZXBseSBzdWJqZWN0cywgc28gc2V0CiMgJHJlcGx5
X3JlZ2V4cCB0byBpZ25vcmUgaXQKI2ZvbGRlci1ob29rICt3bWFrZXIgJ3NldCByZXBseV9yZWdl
eHA9Il4ocmU6WyBcdF0qKT9cW1dNXF1bIFx0XSoiJwoKCiMgLSAtIC0gLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQoKIyBN
YWlsYm94ZXMgdG8gd2F0Y2ggZm9yIG5ldyBtYWlsCiMKIwltYWlsYm94ZXMgPHBhdGgxPiBbIDxw
YXRoMj4gLi4uIF0KCm1haWxib3hlcyAhID1seWNvc21haWwKCgojIC0gLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0K
CiMgU3BlY2lmeSB0aGUgb3JkZXIgb2YgdGhlIGhlYWRlcnMgdG8gYXBwZWFyIHdoZW4gZGlzcGxh
eWluZyBhIG1lc3NhZ2UKIwojCWhkcl9vcmRlciA8aGRyMT4gWyA8aGRyMj4gLi4uIF0KCmhkcl9v
cmRlciBkYXRlIGZyb20gdG8gY2Mgc3ViamVjdAoKCiMgLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQoKIyBJZGVu
dGlmeSBtYWlsaW5nIGxpc3RzIEkgc3Vic2NyaWJlIHRvCiMKIwlsaXN0cyA8bGlzdC1uYW1lPiBb
IDxsaXN0LW5hbWU+IC4uLiBdCgpsaXN0cyBjc29jIGtjcy1kaXNjdXNzIG91c2dnIGVhcnRobGlu
Z3Mgb3hpcmMtd2liYmxlIG94aXJjLXNlcmlvdXMgYWQ5NyBvcHN5czAwCgoKCiMgLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0g
LSAtIC0gLQoKIyBBdXRvbWF0aWNhbGx5IHVzZSBlbnRyaWVzIGZyb20gfi8ubWFpbGNhcCB0byB2
aWV3IHRoZXNlIE1JTUUgdHlwZXMKIwojCWF1dG9fdmlldyA8dHlwZT4gWyA8dHlwZT4gLi4uIF0K
CiNhdXRvX3ZpZXcgYXBwbGljYXRpb24veC1ndW56aXAKI2F1dG9fdmlldyBhcHBsaWNhdGlvbi94
LWd6aXAKCgojIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt
IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0K