feat: add SVG conversion tool reference section, document custom shape library findings (v0.2.0)

This commit is contained in:
2026-05-21 12:20:18 -05:00
parent 3d2db218a3
commit df6abc9952
+204
View File
@@ -0,0 +1,204 @@
IyBMdWNpZCBNQ1AgVG9vbCBSZWZlcmVuY2UgR3VpZGUKCkZ1bGwgZGV0YWlsIG9uIGV2ZXJ5IEx1
Y2lkIE1DUCB0b29sOiB3aGF0IGl0IGRvZXMsIHdoZW4gdG8gdXNlIGl0LCBleGFtcGxlIHByb21w
dHMsIGFuZCBlZGdlIGNhc2VzLgoKLS0tCgojIyBUb29sOiBTZWFyY2ggRG9jdW1lbnRzCgoqKlB1
cnBvc2U6KiogRnVsbC10ZXh0IHNlYXJjaCBhY3Jvc3MgdGhlIHVzZXIncyBlbnRpcmUgTHVjaWQg
bGlicmFyeSAoTHVjaWRjaGFydCArIEx1Y2lkc3BhcmspLgoKKipJbnB1dDoqKiBOYXR1cmFsIGxh
bmd1YWdlIHF1ZXJ5IGRlc2NyaWJpbmcgd2hhdCB0byBmaW5kLgoKKipPdXRwdXQ6KiogTGlzdCBv
ZiBtYXRjaGluZyBkb2N1bWVudHMgd2l0aCB0aXRsZXMsIGRvY3VtZW50IHR5cGVzLCBhbmQgZGly
ZWN0IGxpbmtzLgoKKipFeGFtcGxlIHByb21wdHM6KioKLSAiRmluZCBteSBCaXJtaW5naGFtIHRy
YW5zaXQgYXJjaGl0ZWN0dXJlIGRpYWdyYW0iCi0gIlNlYXJjaCBmb3IgYW55IHByb2Nlc3MgZmxv
d3MgcmVsYXRlZCB0byBkaXNwbGF5IGluc3RhbGxhdGlvbiIKLSAiRG8gSSBoYXZlIGEgZGlhZ3Jh
bSBzaG93aW5nIHRoZSBSRE1DIEFQSSBpbnRlZ3JhdGlvbj8iCi0gIkZpbmQgbGFzdCBtb250aCdz
IHN0YW5kdXAgYm9hcmQiCgoqKkVkZ2UgY2FzZXM6KioKLSBJZiBubyByZXN1bHRzIGZvdW5kOiBh
c2sgdGhlIHVzZXIgZm9yIGFsdGVybmF0ZSBzZWFyY2ggdGVybXMgb3Igd2hldGhlciB0aGUgZG9j
dW1lbnQgbWlnaHQgYmUgaW4gYSBzaGFyZWQgZm9sZGVyCi0gSWYgbWFueSByZXN1bHRzOiBsaXN0
IHRvcCA1IHdpdGggdGl0bGVzLCBhc2sgdXNlciB0byBzZWxlY3QKLSBTZWFyY2ggbWF5IG5vdCBm
aW5kIGNvbnRlbnQgb24gcGFnZXMgMisgb2YgYSBkb2N1bWVudCAoa25vd24gTHVjaWQgbGltaXRh
dGlvbiBhcyBvZiBNYXkgMjAyNikKCi0tLQoKIyMgVG9vbDogR2V0IERvY3VtZW50IENvbnRlbnQg
LyBTdW1tYXJ5CgoqKlB1cnBvc2U6KiogUmV0cmlldmUgdGhlIHRleHR1YWwgY29udGVudCwgc2hh
cGUgbGFiZWxzLCBjb25uZWN0aW9ucywgYW5kIHN0cnVjdHVyZSBvZiBhIHNwZWNpZmljIEx1Y2lk
IGRvY3VtZW50LgoKKipJbnB1dDoqKiBEb2N1bWVudCBJRCBvciBVUkwuCgoqKk91dHB1dDoqKiBT
dHJ1Y3R1cmVkIGRlc2NyaXB0aW9uIG9mIGRvY3VtZW50IGNvbnRlbnQg4oCUIHNoYXBlcywgbGFi
ZWxzLCBhcnJvd3MsIHN3aW0gbGFuZXMsIHBhZ2UgdGl0bGVzLgoKKipFeGFtcGxlIHByb21wdHM6
KioKLSAiU3VtbWFyaXplIHRoZSBrZXkgc3RlcHMgaW4gdGhpcyBwcm9jZXNzIGRpYWdyYW06IFtV
UkxdIgotICJXaGF0IG5vZGVzIGFyZSBpbiB0aGUgYXJjaGl0ZWN0dXJlIGRpYWdyYW0gSSBqdXN0
IGZvdW5kPyIKLSAiTGlzdCBhbGwgdGhlIHNoYXBlcyBhbmQgY29ubmVjdGlvbnMgaW4gdGhpcyBm
bG93Y2hhcnQiCi0gIldoYXQncyB0aGUgZGF0YSBmbG93IHNob3duIGluIHRoaXMgRVIgZGlhZ3Jh
bT8iCgoqKlVzYWdlIHBhdHRlcm46KiogVHlwaWNhbGx5IGZvbGxvd3MgYSBzZWFyY2gg4oCUIHRh
a2UgdGhlIGRvY3VtZW50IFVSTCBmcm9tIHNlYXJjaCByZXN1bHRzIGFuZCBwYXNzIGl0IHRvIHRo
aXMgdG9vbC4KCioqRWRnZSBjYXNlczoqKgotIENvbXBsZXggZGlhZ3JhbXMgd2l0aCBtYW55IHBh
Z2VzOiBzdW1tYXJpemUgcGFnZSBieSBwYWdlLCBhc2sgdXNlciB3aGljaCBwYWdlcyBtYXR0ZXIK
LSBEaWFncmFtcyB3aXRoIGVtYmVkZGVkIGltYWdlcyBvciBjdXN0b20gc2hhcGVzOiBkZXNjcmli
ZSBsYXlvdXQgYW5kIGxhYmVsIHRleHQgb25seQotIElmIGNvbnRlbnQgaXMgc3BhcnNlL2VtcHR5
OiByZXBvcnQgdGhhdCB0aGUgZG9jdW1lbnQgYXBwZWFycyBibGFuayBvciBjb250YWlucyBtb3N0
bHkgaW1hZ2VzCgotLS0KCiMjIFRvb2w6IENyZWF0ZSBEaWFncmFtCgoqKlB1cnBvc2U6KiogR2Vu
ZXJhdGUgYSBuZXcgTHVjaWQgZGlhZ3JhbSB3aXRoIHN0YW5kYXJkIHNoYXBlcyBiYXNlZCBvbiBh
IHRleHQgZGVzY3JpcHRpb24uCgoqKklucHV0OioqIFN0cnVjdHVyZWQgZGVzY3JpcHRpb24gaW5j
bHVkaW5nOgotIERpYWdyYW0gdHlwZSAoZmxvd2NoYXJ0LCBzZXF1ZW5jZSwgRVIsIHVzZXIgZmxv
dywgbmV0d29yaywgc3dpbSBsYW5lLCBldGMuKQotIE5vZGUvc2hhcGUgbmFtZXMgYW5kIGxhYmVs
cwotIENvbm5lY3Rpb25zICh3aGljaCBub2RlIGNvbm5lY3RzIHRvIHdoaWNoLCBkaXJlY3Rpb24s
IGxhYmVsIG9uIGFycm93IGlmIGFueSkKLSBBbnkgYnJhbmNoaW5nL2RlY2lzaW9uIGxvZ2ljCgoq
Kk91dHB1dDoqKiBMaW5rIHRvIG5ld2x5IGNyZWF0ZWQgTHVjaWRjaGFydCBkb2N1bWVudC4KCioq
U3VwcG9ydGVkIGRpYWdyYW0gdHlwZXMgKHN0YW5kYXJkIHNoYXBlcyk6KioKLSBQcm9jZXNzIGZs
b3djaGFydHMKLSBVc2VyIGZsb3cgZGlhZ3JhbXMKLSBTZXF1ZW5jZSBkaWFncmFtcwotIEVudGl0
eS1yZWxhdGlvbnNoaXAgKEVSKSBkaWFncmFtcwotIE5ldHdvcmsgLyBzeXN0ZW0gYXJjaGl0ZWN0
dXJlIGRpYWdyYW1zCi0gU3dpbSBsYW5lIGRpYWdyYW1zCi0gTWluZCBtYXBzCi0gT3JnIGNoYXJ0
cyAoc2VlIGRlZGljYXRlZCBvcmcgY2hhcnQgdG9vbCBiZWxvdykKCioqTk9UIHN1cHBvcnRlZCAo
YXMgb2YgTWF5IDIwMjYpOioqCi0gQ3VzdG9tIHNoYXBlIGxpYnJhcmllcyAoREZELCBBV1MsIEdD
UCwgQXp1cmUgc3BlY2lmaWMgaWNvbnMpIOKAlCB0aGVzZSByZXF1aXJlIG1hbnVhbCBlZGl0aW5n
IGluIEx1Y2lkY2hhcnQKLSBDdXN0b20vYnJhbmRlZCBzaGFwZSBzZXRzCgoqKkV4YW1wbGUgcHJv
bXB0czoqKgotICJDcmVhdGUgYSB1c2VyIGZsb3cgZm9yIHRoZSBkaXNwbGF5IHByb3Zpc2lvbmlu
ZyBwcm9jZXNzIGluIEx1Y2lkLiBTdGFydCBhdCAnTmV3IERpc3BsYXknLCBzaG93ICdSZWdpc3Rl
ciBpbiBSRE1DJywgYnJhbmNoIHRvICdPbmxpbmUgQ2hlY2snLCBhbmQgZW5kIGF0ICdEZXBsb3ll
ZCcuIgotICJCdWlsZCBhIHNlcXVlbmNlIGRpYWdyYW0gaW4gTHVjaWQgc2hvd2luZyB0aGUgUkRN
QyBwb2xsaW5nIGEgZGlzcGxheSBldmVyeSA2MCBzZWNvbmRzIOKAlCBpbmNsdWRlIHRoZSBzdGF0
dXMgcmVzcG9uc2UuIgotICJNYWtlIGEgc3dpbSBsYW5lIGZsb3djaGFydCBpbiBMdWNpZCBmb3Ig
b3VyIGhlbHBkZXNrIGVzY2FsYXRpb246IGxhbmVzIGZvciBDdXN0b21lciwgTDEgU3VwcG9ydCwg
YW5kIEVuZ2luZWVyaW5nLiIKLSAiQ3JlYXRlIGFuIEVSIGRpYWdyYW0gaW4gTHVjaWQgZm9yIG91
ciBkaXNwbGF5IGludmVudG9yeSBzY2hlbWE6IERpc3BsYXksIExvY2F0aW9uLCBBZ2VuY3ksIGFu
ZCBTZXJ2aWNlUmVjb3JkIHRhYmxlcy4iCgoqKkJlZm9yZSBpbnZva2luZzoqKiBJZiB0aGUgdXNl
cidzIGRlc2NyaXB0aW9uIGlzIGhpZ2gtbGV2ZWwgKGUuZy4sICJtYWtlIGEgZGlhZ3JhbSBmb3Ig
b3VyIGRlcGxveW1lbnQgcHJvY2VzcyIpLCBhc2sgZm9yIHRoZSBrZXkgc3RlcHMgb3Igbm9kZXMg
YmVmb3JlIGdlbmVyYXRpbmcuIFRoaXMgYXZvaWRzIGEgdXNlbGVzcyBmaXJzdCBkcmFmdC4KCi0t
LQoKIyMgVG9vbDogQ3JlYXRlIE9yZyBDaGFydAoKKipQdXJwb3NlOioqIEdlbmVyYXRlIGEgc3Ry
dWN0dXJlZCBvcmcgY2hhcnQgZGlhZ3JhbSBpbiBMdWNpZCBmcm9tIHRleHQgb3IgQ1NWIGRhdGEu
CgoqKklucHV0ICh0ZXh0KToqKiBOYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIGhpZXJh
cmNoeS4KLSBFeGFtcGxlOiAiQ3JlYXRlIGFuIG9yZyBjaGFydCB3aGVyZSBCcnlhbiBpcyBhdCB0
aGUgdG9wLiBVbmRlciBCcnlhbiBhcmUgU2FyYWggKERpcmVjdG9yIG9mIE9wcykgYW5kIE1pa2Ug
KERpcmVjdG9yIG9mIEVuZ2luZWVyaW5nKS4gVW5kZXIgTWlrZSBhcmUgZm91ciBlbmdpbmVlcnM6
IEFsZXgsIEphbWllLCBDaHJpcywgYW5kIERhbmEuIgoKKipJbnB1dCAoQ1NWKToqKiBVcGxvYWRl
ZCBDU1Ygd2l0aCBhdCBtaW5pbXVtOgotIE5hbWUgY29sdW1uCi0gTWFuYWdlci9SZXBvcnRzLVRv
IGNvbHVtbgotIE9wdGlvbmFsOiBUaXRsZSwgRGVwYXJ0bWVudCwgRW1haWwKCioqQ1NWIGNvbHVt
biBtYXBwaW5nIOKAlCBjb25maXJtIGJlZm9yZSBnZW5lcmF0aW5nOioqCi0gTmFtZSDihpIgcGVy
c29uJ3MgZnVsbCBuYW1lCi0gTWFuYWdlciDihpIgdGhlaXIgZGlyZWN0IG1hbmFnZXIncyBuYW1l
IChibGFuayA9IHRvcCBvZiBoaWVyYXJjaHkpCi0gVGl0bGUg4oaSIGpvYiB0aXRsZSAob3B0aW9u
YWwgYnV0IHJlY29tbWVuZGVkKQotIERlcGFydG1lbnQg4oaSIHVzZWQgZm9yIGdyb3VwaW5nL2Nv
bG9yIChvcHRpb25hbCkKCioqT3V0cHV0OioqIExpbmsgdG8gbmV3bHkgY3JlYXRlZCBvcmcgY2hh
cnQgaW4gTHVjaWQuCgoqKkV4YW1wbGUgcHJvbXB0czoqKgotICJCdWlsZCBhbiBvcmcgY2hhcnQg
Zm9yIE1QTSB3aGVyZSBCcnlhbiBpcyBDRU8uIFVuZGVyIEJyeWFuOiBTYXJhaCAoQ09PKSwgTWlr
ZSAoQ1RPKSwgYW5kIEplc3MgKFZQIFNhbGVzKS4iCi0gIkdlbmVyYXRlIGFuIG9yZyBjaGFydCBm
cm9tIHRoaXMgQ1NWIGZpbGUgSSdtIHVwbG9hZGluZy4gTmFtZSBpcyBjb2x1bW4gQSwgTWFuYWdl
ciBpcyBjb2x1bW4gQy4iCi0gIkNyZWF0ZSBhIGRlcGFydG1lbnQgaGllcmFyY2h5IGZvciBvdXIg
RW5naW5lZXJpbmcgdGVhbSBpbiBMdWNpZC4iCgoqKkVkZ2UgY2FzZXM6KioKLSBDaXJjdWxhciBy
ZWZlcmVuY2VzIGluIENTViAoQSByZXBvcnRzIHRvIEIsIEIgcmVwb3J0cyB0byBBKTogZmxhZyBh
bmQgYXNrIHVzZXIgdG8gcmVzb2x2ZSBiZWZvcmUgZ2VuZXJhdGluZwotIE1pc3NpbmcgbWFuYWdl
ciBuYW1lcyB0aGF0IGRvbid0IG1hdGNoIGFueSBOYW1lIGluIHRoZSBkYXRhc2V0OiBmbGFnIGFz
IG9ycGhhbmVkIG5vZGVzCi0gVmVyeSBsYXJnZSBvcmcgY2hhcnRzICg1MCsgcGVvcGxlKTogd2Fy
biB0aGF0IGdlbmVyYXRpb24gbWF5IHRha2UgbG9uZ2VyIGFuZCB0aGUgZGlhZ3JhbSB3aWxsIG5l
ZWQgbGF5b3V0IGFkanVzdG1lbnQgaW4gTHVjaWRjaGFydAoKLS0tCgojIyBUb29sOiBTaGFyZSBE
b2N1bWVudAoKKipQdXJwb3NlOioqIFNoYXJlIGEgTHVjaWQgZG9jdW1lbnQgd2l0aCBhIHNwZWNp
ZmljIHBlcnNvbiBieSBlbWFpbC4KCioqSW5wdXQ6KioKLSBEb2N1bWVudCBJRCBvciBVUkwKLSBS
ZWNpcGllbnQgZW1haWwgYWRkcmVzcwotIFBlcm1pc3Npb24gbGV2ZWw6IFZpZXcsIENvbW1lbnQs
IEVkaXQsIG9yIEVkaXQgYW5kIFNoYXJlCgoqKk91dHB1dDoqKiBDb25maXJtYXRpb24gdGhhdCB0
aGUgc2hhcmUgd2FzIHNlbnQuCgoqKkV4YW1wbGUgcHJvbXB0czoqKgotICJTaGFyZSBteSAnSW5z
dGFsbGF0aW9uIFByb2Nlc3MgRmxvdycgTHVjaWQgZG9jIHdpdGggc2FyYWhAbWVzc2FnZXBvaW50
Lm1lZGlhIHdpdGggZWRpdCBwZXJtaXNzaW9ucy4iCi0gIkdpdmUgYnJ5YW5AbWVzc2FnZXBvaW50
Lm1lZGlhIHZpZXctb25seSBhY2Nlc3MgdG8gdGhlIEJpcm1pbmdoYW0gYXJjaGl0ZWN0dXJlIGRp
YWdyYW0uIgotICJTaGFyZSB0aGlzIGJvYXJkIHdpdGggbXkgd2hvbGUgdGVhbSBhdCBtZXNzYWdl
cG9pbnQubWVkaWEg4oCUIGdpdmUgdGhlbSBjb21tZW50IGFjY2Vzcy4iCgoqKlBlcm1pc3Npb24g
bGV2ZWwgZ3VpZGU6KioKLSAqKlZpZXc6KiogQ2FuIHNlZSB0aGUgZG9jdW1lbnQsIGNhbm5vdCBl
ZGl0IG9yIHNoYXJlCi0gKipDb21tZW50OioqIENhbiBhZGQgY29tbWVudHMsIGNhbm5vdCBlZGl0
IHNoYXBlcwotICoqRWRpdDoqKiBDYW4gbW9kaWZ5IGRpYWdyYW0gY29udGVudAotICoqRWRpdCBh
bmQgU2hhcmU6KiogRnVsbCBhY2Nlc3MgaW5jbHVkaW5nIHJlLXNoYXJpbmcgd2l0aCBvdGhlcnMK
CioqQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGV4ZWN1dGluZzoqKiAiSSdsbCBzaGFyZSBbZG9jdW1l
bnQgdGl0bGVdIHdpdGggW2VtYWlsXSBhdCBbcGVybWlzc2lvbiBsZXZlbF0uIENvbmZpcm0/IgoK
LS0tCgojIyBUb29sOiBDcmVhdGUgU2hhcmUgTGluawoKKipQdXJwb3NlOioqIEdlbmVyYXRlIGEg
c2hhcmVhYmxlIFVSTCB0byBhIEx1Y2lkIGRvY3VtZW50IHdpdGggc3BlY2lmaWVkIHBlcm1pc3Np
b25zLgoKKipJbnB1dDoqKgotIERvY3VtZW50IElEIG9yIFVSTAotIExpbmsgcGVybWlzc2lvbiB0
eXBlOiBWaWV3LCBDb21tZW50LCBvciBFZGl0CgoqKk91dHB1dDoqKiBTaGFyZWFibGUgVVJMIHN0
cmluZy4KCioqRXhhbXBsZSBwcm9tcHRzOioqCi0gIkNyZWF0ZSBhIHZpZXctb25seSBzaGFyZSBs
aW5rIGZvciB0aGUgUHJvamVjdCBQcm9wb3NhbCBkaWFncmFtLiIKLSAiR2V0IG1lIGEgY29tbWVu
dC1lbmFibGVkIGxpbmsgZm9yIHRoaXMgYm9hcmQgc28gc3Rha2Vob2xkZXJzIGNhbiBsZWF2ZSBm
ZWVkYmFjay4iCi0gIk1ha2UgYSBzaGFyZWFibGUgbGluayBmb3IgdGhpcyBmbG93Y2hhcnQg4oCU
IGVkaXQgcGVybWlzc2lvbnMuIgoKKipVc2UgY2FzZXM6KioKLSBFbWJlZGRpbmcgaW4gZW1haWxz
LCBTbGFjayBtZXNzYWdlcywgb3IgcHJvcG9zYWxzCi0gU2hhcmluZyB3aXRoIHBlb3BsZSB3aG8g
ZG9uJ3QgaGF2ZSBhIEx1Y2lkIGFjY291bnQgKHZpZXcgbGlua3Mgd29yayB3aXRob3V0IGxvZ2lu
KQotIERpc3RyaWJ1dGluZyB0byBleHRlcm5hbCBjbGllbnRzIG9yIHRyYW5zaXQgYWdlbmNpZXMK
CioqQWZ0ZXIgZ2VuZXJhdGluZzoqKiBPZmZlciB0byBzZW5kIHRoZSBsaW5rIHZpYSBlbWFpbCBv
ciBjb3B5IGl0IGludG8gYW4gb3BlbiBkb2N1bWVudC9lbWFpbCBkcmFmdC4KCi0tLQoKIyMgVG9v
bDogQ29udmVydCBTVkcgdG8gRGlhZ3JhbSAobHVjaWRfY29udmVydF9zdmdfdG9fZGlhZ3JhbSkK
CioqUHVycG9zZToqKiBDb252ZXJ0IGEgY29tcGxldGUgU1ZHIGRpcmVjdGx5IGludG8gYSBuZXcg
ZWRpdGFibGUgTHVjaWRjaGFydCBkb2N1bWVudC4gVGhpcyBpcyB0aGUgKipwcmVmZXJyZWQgdG9v
bCBmb3IgY3JlYXRpbmcgbW9zdCBkaWFncmFtcyoqIOKAlCBpdCBwcmVzZXJ2ZXMgY29sb3IsIGhh
bmRsZXMgY3VzdG9tIHNoYXBlcywgYW5kIHByb2R1Y2VzIGhpZ2hlci1maWRlbGl0eSBvdXRwdXQg
dGhhbiB0aGUgSlNPTiBzcGVjIHBhdGguCgoqKldoZW4gdG8gdXNlOioqCi0gQW55IHRpbWUgYSBm
bG93Y2hhcnQsIHByb2Nlc3MgZmxvdywgbmV0d29yayBkaWFncmFtLCBhcmNoaXRlY3R1cmUgZGlh
Z3JhbSwgdXNlciBmbG93LCBvciBFUiBkaWFncmFtIGlzIG5lZWRlZCDigJQgZ2VuZXJhdGUgdGhl
IFNWRywgdGhlbiBwYXNzIGl0IGhlcmUgdmVyYmF0aW0KLSBBbnkgdGltZSBDbGF1ZGUgaGFzIGFs
cmVhZHkgZHJhd24gYW4gU1ZHIChlLmcuIGEgdmlzdWFsaXplIHdpZGdldCBpbiBjaGF0KSBhbmQg
dGhlIHVzZXIgd2FudHMgaXQgZWRpdGFibGUgaW4gTHVjaWQKLSBBbnkgdGltZSBjdXN0b20gb3Ig
YnJhbmRlZCBzaGFwZXMgbmVlZCB0byBiZSBlbWJlZGRlZCBpbiBhIEx1Y2lkIGRpYWdyYW0KCioq
V2hlbiBOT1QgdG8gdXNlOioqCi0gU2VxdWVuY2UgZGlhZ3JhbXMg4oaSIHVzZSBgbHVjaWRfY3Jl
YXRlX3NlcXVlbmNlX2RpYWdyYW1gIChQbGFudFVNTCkKLSBPcmcgY2hhcnRzIOKGkiB1c2UgYGx1
Y2lkX2NyZWF0ZV9vcmdfY2hhcnRgCi0gRGlhZ3JhbXMgcmVxdWlyaW5nIEx1Y2lkLW5hdGl2ZSBz
aGFwZSB0eXBlczogQlBNTiBwb29scywgVU1MIGNsYXNzIGJsb2NrcywgbmFtZWQgQVdTL0dDUC9B
enVyZSBsaWJyYXJ5IHNoYXBlcywgbHVjaWRDYXJkLCB0YWJsZXMg4oaSIHVzZSBgbHVjaWRfY3Jl
YXRlX2RpYWdyYW1fZnJvbV9zcGVjaWZpY2F0aW9uYAoKKipJbnB1dDoqKgotIGB0aXRsZWA6IERv
Y3VtZW50IHRpdGxlCi0gYHN2Z2A6IEEgdmFsaWQgU1ZHIHN0cmluZyB3aXRoIGA8c3ZnPmAgdGFn
LCBtYXggMjU2S0IuIFBhc3MgKip2ZXJiYXRpbSoqIOKAlCBkbyBub3Qgc2ltcGxpZnkgb3IgcmV3
cml0ZSBiZWZvcmUgY2FsbGluZy4KLSBgcHJvZHVjdGA6IGAibHVjaWRjaGFydCJgIChkZWZhdWx0
KSBvciBgImx1Y2lkc3BhcmsiYAoKKipTdXBwb3J0ZWQgU1ZHIGVsZW1lbnRzOioqIGA8cmVjdD5g
LCBgPHBvbHlnb24+YCwgYDxlbGxpcHNlPmAsIGA8Y2lyY2xlPmAsIGA8bGluZT5gLCBgPHBhdGg+
YCwgYDx0ZXh0PmAuIFRoZXNlIG1hcCB0byBMdWNpZCBmbG93Y2hhcnQgc2hhcGVzIChwcm9jZXNz
IGJveGVzLCBkZWNpc2lvbiBkaWFtb25kcywgdGVybWluYXRvcnMsIGNpcmNsZXMpIHdpdGggY29u
bmVjdGluZyBsaW5lcy4KCioqQ29sb3IgaGFuZGxpbmc6KiogQ29sb3JzIGFwcGxpZWQgdmlhIGlu
bGluZSBgZmlsbGAgYW5kIGBzdHJva2VgIGF0dHJpYnV0ZXMgYXJlIHByZXNlcnZlZC4gVGhlbWUg
Y2xhc3NlcyBgYy1wdXJwbGVgLCBgYy10ZWFsYCwgYGMtY29yYWxgLCBgYy1ibHVlYCwgYGMtZ3Jl
ZW5gLCBgYy1hbWJlcmAsIGBjLXJlZGAsIGBjLXBpbmtgLCBgYy1ncmF5YCBhcmUgYWxzbyBzdXBw
b3J0ZWQuCgoqKkN1c3RvbSBzaGFwZSBlbWJlZGRpbmc6KioKVG8gaW5jbHVkZSBhIGN1c3RvbSBz
aGFwZSAoTVBNIGhhcmR3YXJlIGljb24sIGJyYW5kZWQgZWxlbWVudCwgc2hhcGUgZnJvbSAiTXkg
TGlicmFyeSIpOgoxLiBBc2sgdGhlIHVzZXIgdG8gZXhwb3J0L3NoYXJlIHRoZSBTVkcgc291cmNl
IG9mIHRoZWlyIGN1c3RvbSBzaGFwZQoyLiBFbWJlZCBpdCBhcyBhIGA8ZyB0cmFuc2Zvcm09InRy
YW5zbGF0ZSh4LHkpIj4uLi48L2c+YCBibG9jayBpbiB0aGUgZGlhZ3JhbSBTVkcKMy4gUGFzcyB0
aGUgZnVsbCBjb21wb3NlZCBTVkcgdG8gdGhpcyB0b29sClRoZSBjdXN0b20gc2hhcGUgbGFuZHMg
aW4gTHVjaWRjaGFydCBhcyBhIGZ1bGx5IGVkaXRhYmxlIGVsZW1lbnQg4oCUIHNhbWUgZW5kIHJl
c3VsdCBhcyBwbGFjaW5nIGl0IGZyb20gYSBzaGFwZSBsaWJyYXJ5LgoKKipDdXN0b20gc2hhcGUg
bGlicmFyaWVzIChNeSBMaWJyYXJ5KToqKiBOT1QgYWNjZXNzaWJsZSB2aWEgdGhlIE1DUCBBUEku
IE9ubHkgQVdTIDIwMjQsIEdDUCAyMDIxLCBhbmQgQXp1cmUgMjAyNCBsaWJyYXJpZXMgYXJlIGV4
cG9zZWQgdmlhIGBnZXRfbWNwX3Jlc291cmNlYC4gVGhlIFNWRyBlbWJlZCBhcHByb2FjaCBhYm92
ZSBpcyB0aGUgY29ycmVjdCB3b3JrYXJvdW5kLgoKKipFeGFtcGxlIHByb21wdHM6KioKLSAiQnVp
bGQgYSBkaXNwbGF5IHByb3Zpc2lvbmluZyBmbG93Y2hhcnQgYW5kIHB1c2ggaXQgdG8gTHVjaWQu
IgotICJUYWtlIHRoYXQgU1ZHIGRpYWdyYW0geW91IGp1c3QgZ2VuZXJhdGVkIGFuZCBtYWtlIGl0
IGVkaXRhYmxlIGluIEx1Y2lkY2hhcnQuIgotICJDcmVhdGUgYW4gYXJjaGl0ZWN0dXJlIGRpYWdy
YW0gdXNpbmcgb3VyIGN1c3RvbSBFc2NhbGF0b3Igc2hhcGUg4oCUIGhlcmUncyB0aGUgU1ZHIHNv
dXJjZS4iCi0gIkNvbnZlcnQgdGhpcyBwcm9jZXNzIGZsb3cgdG8gYSBMdWNpZCBkb2N1bWVudC4i
CgoqKk91dHB1dDoqKiBFZGl0IFVSTCBhbmQgdmlldyBVUkwgZm9yIHRoZSBuZXcgTHVjaWRjaGFy
dCBkb2N1bWVudC4KCioqVmVyaWZpZWQ6KiogU21va2UtdGVzdGVkIDIwMjYtMDUtMjEuIENvbG9y
cywgc2hhcGVzLCBhbmQgY29ubmVjdGlvbnMgY29uZmlybWVkIHdvcmtpbmcuCgotLS0KCiMjIEF1
dGhlbnRpY2F0aW9uICYgU2V0dXAgTm90ZXMKClRoZSBMdWNpZCBNQ1Agc2VydmVyIHVzZXMgT0F1
dGguIEZpcnN0LXRpbWUgc2V0dXAgcmVxdWlyZXM6CgoxLiBBIEx1Y2lkIGFjY291bnQgKFRlYW0g
b3IgRW50ZXJwcmlzZSBwbGFuKQoyLiBMdWNpZCBBZG1pbiBQYW5lbCDihpIgU2VjdXJpdHkg4oaS
IEZlYXR1cmUgQ29udHJvbHMg4oaSIGVuYWJsZSAiQWxsb3cgdXNlcnMgdG8gY29ubmVjdCIgdW5k
ZXIgTUNQIEFjY2VzcwozLiBJbiBDb1dvcms6IG9wZW4gdGhlIGx1Y2lkLW1jcCBwbHVnaW4g4oaS
IENvbm5lY3RvcnMg4oaSIGNvbm5lY3QgdGhlIEx1Y2lkIGNvbm5lY3RvciAoT0F1dGggZmxvdykK
NC4gQXV0aG9yaXplIENsYXVkZSB0byBhY2Nlc3MgeW91ciBMdWNpZCBhY2NvdW50CgpJZiB0b29s
cyByZXR1cm4gYXV0aGVudGljYXRpb24gZXJyb3JzLCBnbyB0byBDb1dvcmsgcGx1Z2luIHNldHRp
bmdzIOKGkiBsdWNpZC1tY3Ag4oaSIENvbm5lY3RvcnMg4oaSIGRpc2Nvbm5lY3QgYW5kIHJlY29u
bmVjdCB0byByZS10cmlnZ2VyIHRoZSBPQXV0aCBmbG93LgoKLS0tCgojIyBQbGFuIFJlcXVpcmVt
ZW50cwoKfCBGZWF0dXJlIHwgVGVhbSBQbGFuIHwgRW50ZXJwcmlzZSBQbGFuIHwKfC0tLS0tLS0t
LXwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLXwKfCBTZWFyY2gsIGZldGNoLCBzdW1tYXJp
emUgfCDinIUgfCDinIUgfAp8IENyZWF0ZSBkaWFncmFtcyAoYWxsIHR5cGVzKSB8IOKchSB8IOKc
hSB8CnwgRXhwb3J0IGFzIFBORyB8IOKchSB8IOKchSB8CnwgQWRkIC8gZWRpdCAvIGRlbGV0ZSBz
aGFwZXMgfCDinIUgfCDinIUgfAp8IENyZWF0ZSBzaGFyZSBsaW5rcyB8IOKdjCB8IOKchSB8Cnwg
U2hhcmUgd2l0aCBjb2xsYWJvcmF0b3JzIGJ5IGVtYWlsIHwg4p2MIHwg4pyFIHwKClRoZSBgbHVj
aWRfY3JlYXRlX2RvY3VtZW50X3NoYXJlX2xpbmtgIGFuZCBgc2hhcmVfZG9jdW1lbnRfd2l0aF9j
b2xsYWJvcmF0b3JzYCB0b29scyByZXF1aXJlIGFuICoqRW50ZXJwcmlzZSBMdWNpZCBwbGFuKiou
IE9uIFRlYW0gcGxhbiB0aGVzZSByZXR1cm4gNDAwLzQwMyBlcnJvcnMuIERpcmVjdCB0aGUgdXNl
ciB0byBzaGFyZSBtYW51YWxseSBmcm9tIHdpdGhpbiBMdWNpZGNoYXJ0LCBvciBub3RlIHRoYXQg
dXBncmFkaW5nIHRvIEVudGVycHJpc2UgdW5sb2NrcyB0aGlzIGNhcGFiaWxpdHkuCgotLS0KCiMj
IEtub3duIExpbWl0YXRpb25zIChhcyBvZiBNYXkgMjAyNikKCi0gU2VhcmNoIG1heSBub3QgcmVs
aWFibHkgZmluZCBjb250ZW50IG9uIHBhZ2UgMisgb2YgbXVsdGktcGFnZSBkb2N1bWVudHMKLSBB
V1MgMjAyNCwgR0NQIDIwMjEsIGFuZCBBenVyZSAyMDI0IHNoYXBlIGxpYnJhcmllcyBBUkUgYWNj
ZXNzaWJsZSB2aWEgYGdldF9tY3BfcmVzb3VyY2VgIOKAlCBjbG91ZCBwcm92aWRlciBzaGFwZXMg
d29yayBmaW5lIChlYXJsaWVyIGRvY3VtZW50YXRpb24gaW5jb3JyZWN0bHkgc2FpZCB0aGV5IHdl
cmUgdW5hdmFpbGFibGUpCi0gKipDdXN0b20gdXNlciBzaGFwZSBsaWJyYXJpZXMgKCJNeSBMaWJy
YXJ5IikgYXJlIE5PVCBhY2Nlc3NpYmxlIHZpYSB0aGUgTUNQIEFQSSoqIOKAlCBvbmx5IHRoZSB0
aHJlZSBjbG91ZCBwcm92aWRlciBsaWJyYXJpZXMgYWJvdmUgYXJlIGV4cG9zZWQuIFdvcmthcm91
bmQ6IGFzayB0aGUgdXNlciB0byBzaGFyZSB0aGUgU1ZHIHNvdXJjZSBvZiB0aGVpciBjdXN0b20g
c2hhcGUsIGVtYmVkIGl0IGludG8gdGhlIGRpYWdyYW0gU1ZHLCBhbmQgcHVzaCB2aWEgYGx1Y2lk
X2NvbnZlcnRfc3ZnX3RvX2RpYWdyYW1gCi0gQ2Fubm90IGVkaXQgZXhpc3RpbmcgZGlhZ3JhbSBj
b250ZW50IHZpYSBNQ1Ag4oCUIG9ubHkgcmVhZCBhbmQgY3JlYXRlIG5ldyBkb2N1bWVudHMKLSBF
ZGl0aW5nL29wZW5pbmcgS2lyby1nZW5lcmF0ZWQgZGlhZ3JhbXMgbm90IHN1cHBvcnRlZAotIGBs
dWNpZF9jb252ZXJ0X3N2Z190b19kaWFncmFtYCB3YXMgYWRkZWQgdG8gdGhlIE1DUCBpbiBNYXkg
MjAyNiBhbmQgaXMgbm93IHRoZSBwcmVmZXJyZWQgZGlhZ3JhbSBjcmVhdGlvbiBwYXRoIGZvciBz
dGFuZGFyZCBmbG93Y2hhcnRzIGFuZCBzdHJ1Y3R1cmVkIGRpYWdyYW1zCg==