///|
priv struct Logo {
palette : Array[String]
lines : Array[String]
}
///|
let macos_logo : Logo = {
palette: ["32", "33", "91", "31", "35", "34"],
lines: [
" ..'", " ,xNMM.", " .OMMMMo",
" lMM\"", " .;loddo:. .olloddol;.", " cKMMMMMMMMMMNWMMMMMMMMMM0:",
" $2.KMMMMMMMMMMMMMMMMMMMMMMMWd.", " XMMMMMMMMMMMMMMMMMMMMMMMX.", "$3;MMMMMMMMMMMMMMMMMMMMMMMM:",
":MMMMMMMMMMMMMMMMMMMMMMMM:", "$4.MMMMMMMMMMMMMMMMMMMMMMMMX.", " kMMMMMMMMMMMMMMMMMMMMMMMMWd.",
" $5'XMMMMMMMMMMMMMMMMMMMMMMMMMMk", " 'XMMMMMMMMMMMMMMMMMMMMMMMMK.", " $6kMMMMMMMMMMMMMMMMMMMMMMd",
" ;KMMMMMMMWXXWMMMMMMMk.", " \"cooc*\" \"*coo'\"",
],
}
///|
let linux_logo : Logo = {
palette: ["37", "90", "33"],
lines: [
" $2#####", " $2#######", " $2##$1O$2#$1O$2##", " $2#$3#####$2#",
" $2##$1##$3###$1##$2##", " $2#$1##########$2##", " $2#$1############$2##",
" $2#$1############$2###", " $3##$2#$1###########$2##$3#", "$3######$2#$1#######$2#$3######",
"$3#######$2#$1#####$2#$3#######", " $3#####$2#######$3#####",
],
}
///|
let arch_logo : Logo = {
palette: ["36", "36"],
lines: [
" -`", " .o+`", " `ooo/", " `+oooo:",
" `+oooooo:", " -+oooooo+:", " `/:-:++oooo+:",
" `/++++/+++++++:", " `/++++++++++++++:", " `/+++o$2oooooooo$1oooo/`",
" ./$2ooosssso++osssssso$1+`", "$2 .oossssso-````/ossssss+`", " -osssssso. :ssssssso.",
" :osssssss/ osssso+++.", " /ossssssss/ +ssssooo/-", " `/ossssso+/:- -:/+osssso+-",
" `+sso+:-` `.-/+oso:", "`++:. `-/+o/",
".` `/",
],
}
///|
let ubuntu_logo : Logo = {
palette: ["31", "31"],
lines: [
" ....", " $2.',:clooo: $1.:looooo:.",
" $2.;looooooooc $1.oooooooooo'", " $2.;looooool:,''. $1:ooooooooooc",
" $2;looool;. $1'oooooooooo,", " $2;clool' $1.cooooooc. $2,,",
" $2... $1...... $2.:oo,", " $1.;clol:,. $2.loooo'",
" $1:ooooooooo, $2'ooool", "$1'ooooooooooo. $2loooo.",
"$1'ooooooooool $2coooo.", " $1,loooooooc. $2.loooo.",
" $1.,;;;'. $2;ooooc", " $2... $2,ooool.",
" $2.cooooc. $1..',,'. $2.cooo.", " $2;ooooo:. $1;oooooooc. $2:l.",
" $2.coooooc,.. $1coooooooooo.", " $2.:ooooooolc:. $1.ooooooooooo'",
" $2.':loooooo; $1,oooooooooc", " $2..';::c' $1.;loooo:'",
],
}
///|
let debian_logo : Logo = {
palette: ["31", "37"],
lines: [
" $2_,met$$$$$$$$gg.", " ,g$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$P.", " ,g$$$$P\"\" \"\"\"Y$$$$.\".",
" ,$$$$P' `$$$$$$.", " ',$$$$P ,ggs. `$$$$b:", " `d$$$$' ,$P\"' $1.$2 $$$$$$",
" $$$$P d$' $1,$2 $$$$P", " $$$$: $$$. $1-$2 ,d$$$$'",
" $$$$; Y$b._ _,d$P'", " Y$$$$. $1`.$2`\"Y$$$$$$$$P\"\"", " `$$$$b $1\"-.__",
" $2`Y$$$$b", " `Y$$$$.", " `$$$$b.", " `Y$$$$b.", " `\"Y$$b._",
" `\"\"\"\"",
],
}
///|
let fedora_logo : Logo = {
palette: ["34", "37"],
lines: [
" .',;::::;,'.", " .';:cccccccccccc:;,.", " .;cccccccccccccccccccccc;.",
" .:cccccccccccccccccccccccccc:.", " .;ccccccccccccc;$2.:dddl:.$1;ccccccc;.",
" .:ccccccccccccc;$2OWMKOOXMWd$1;ccccccc:.", ".:ccccccccccccc;$2KMMc$1;cc;$2xMMc$1;ccccccc:.",
",cccccccccccccc;$2MMM.$1;cc;$2;WW:$1;cccccccc,", ":cccccccccccccc;$2MMM.$1;cccccccccccccccc:",
":ccccccc;$2oxOOOo$1;$2MMM000k.$1;cccccccccccc:", "ccccc;$20MMKxdd:$1;$2MMMkddc.$1;cccccccccccc;",
"ccccc;$2XMO'$1;cccc;$2MMM.$1;cccccccccccccccc'", "ccccc;$2MMo$1;ccccc;$2MMW.$1;ccccccccccccccc;",
"ccccc;$20MNc.$1ccc$2.xMMd$1;ccccccccccccccc;", "cccccc;$2dNMWXXXWM0:$1;cccccccccccccc:,",
"cccccccc;$2.:odl:.$1;cccccccccccccc:,.", "ccccccccccccccccccccccccccccc:'.",
":ccccccccccccccccccccccc:;,..", " ':cccccccccccccccc::;,.",
],
}
///|
let nixos_logo : Logo = {
palette: ["34", "36", "34", "36", "34", "36"],
lines: [
" $1▗▄▄▄ $2▗▄▄▄▄ ▄▄▄▖", " $1▜███▙ $2▜███▙ ▟███▛",
" $1▜███▙ $2▜███▙▟███▛", " $1▜███▙ $2▜██████▛",
" $1▟█████████████████▙ $2▜████▛ $3▟▙",
" $1▟███████████████████▙ $2▜███▙ $3▟██▙",
" $6▄▄▄▄▖ $2▜███▙ $3▟███▛",
" $6▟███▛ $2▜██▛ $3▟███▛", " $6▟███▛ $2▜▛ $3▟███▛",
"$6▟███████████▛ $3▟██████████▙",
"$6▜██████████▛ $3▟███████████▛",
" $6▟███▛ $5▟▙ $3▟███▛", " $6▟███▛ $5▟██▙ $3▟███▛",
" $6▟███▛ $5▜███▙ $3▝▀▀▀▀", " $6▜██▛ $5▜███▙ $4▜██████████████████▛",
" $6▜▛ $5▟████▙ $4▜████████████████▛",
" $5▟██████▙ $4▜███▙", " $5▟███▛▜███▙ $4▜███▙",
" $5▟███▛ ▜███▙ $4▜███▙", " $5▝▀▀▀ ▀▀▀▀▘ $4▀▀▀▘",
],
}
///|
let windows_logo : Logo = {
palette: ["31", "32", "34", "33"],
lines: [
"$1 ,.=:!!t3Z3z.,", " :tt:::tt333EE3", "$1 Et:::ztt33EEEL$2 @Ee., ..,",
"$1 ;tt:::tt333EE7$2 ;EEEEEEttttt33#", "$1 :Et:::zt333EEQ.$2 $EEEEEttttt33QL",
"$1 it::::tt333EEF$2 @EEEEEEttttt33F", "$1 ;3=*^```\"*4EEV$2 :EEEEEEttttt33@.",
"$3 ,.=::::!t=., $1`$2 @EEEEEEtttz33QF", "$3 ;::::::::zt33)$2 \"4EEEtttji3P*",
"$3 :t::::::::tt33.$4:Z3z..$2 ``$4 ,..g.", "$3 i::::::::zt33F$4 AEEEtttt::::ztF",
"$3 ;:::::::::t33V$4 ;EEEttttt::::t3", "$3 E::::::::zt33L$4 @EEEtttt::::z3F",
"$3{3=*^```\"*4E3)$4 ;EEEtttt:::::tZ`", "$3 `$4 :EEEEtttt::::z7",
" \"VEzjt:;;z>*`",
],
}
///|
let alpine_logo : Logo = {
palette: ["34"],
lines: [
" .hddddddddddddddddddddddh.", " :dddddddddddddddddddddddddd:", " /dddddddddddddddddddddddddddd/",
" +dddddddddddddddddddddddddddddd+", " `sdddddddddddddddddddddddddddddddds`",
" `ydddddddddddd++hdddddddddddddddddddy`", ".hddddddddddd+` `+ddddh:-sdddddddddddh.",
"hdddddddddd+` `+y: .sddddddddddh", "ddddddddh+` `//` `.` -sddddddddd",
"ddddddh+` `/hddh/` `:s- -sddddddd", "ddddh+` `/+/dddddh/` `+s- -sddddd",
"ddd+` `/o` :dddddddh/` `oy- .yddd", "hdddyo+ohddyosdddddddddho+oydddy++ohdddh",
".hddddddddddddddddddddddddddddddddddddh.", " `yddddddddddddddddddddddddddddddddddy`",
" `sdddddddddddddddddddddddddddddddds`", " +dddddddddddddddddddddddddddddd+",
" /dddddddddddddddddddddddddddd/", " :dddddddddddddddddddddddddd:",
" .hddddddddddddddddddddddh.",
],
}
///|
let android_logo : Logo = {
palette: ["32", "37"],
lines: [
" -o o-", " +hydNNNNdyh+", " +mMMMMMMMMMMMMm+",
" `dMM$2m:$1NMMMMMMN$2:m$1MMd`", " hMMMMMMMMMMMMMMMMMMh", " .. yyyyyyyyyyyyyyyyyyyy ..",
".mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm.", ":MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:", ":MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:",
":MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:", ":MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:", "-MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM-",
" +yy+ MMMMMMMMMMMMMMMMMMMM +yy+", " mMMMMMMMMMMMMMMMMMMm", " `/++MMMMh++hMMMM++/`",
" MMMMo oMMMM", " MMMMo oMMMM", " oNMm- -mMNs",
],
}
///|
let artix_logo : Logo = {
palette: ["36"],
lines: [
" '", " 'o'", " 'ooo'", " 'ooxoo'",
" 'ooxxxoo'", " 'oookkxxoo'", " 'oiioxkkxxoo'",
" ':;:iiiioxxxoo'", " `'.;::ioxxoo'", " '-. `':;jiooo'",
" 'oooio-.. `'i:io'", " 'ooooxxxxoio:,. `'-;'", " 'ooooxxxxxkkxoooIi:-. `'",
" 'ooooxxxxxkkkkxoiiiiiji'", " 'ooooxxxxxkxxoiiii:'` .i'", " 'ooooxxxxxoi:::'` .;ioxo'",
" 'ooooxooi::'` .:iiixkxxo'", " 'ooooi:'` `'';ioxxo'",
" 'i:'` '':io'", "'` `'",
],
}
///|
let deepin_logo : Logo = {
palette: ["34"],
lines: [
" ............", " .';;;;;. .,;,.", " .,;;;;;;;. ';;;;;;;.",
" .;::::::::' .,::;;,''''',.", " ,'.:::::::: .;;'. ';",
" ;' 'cccccc, ,' :: '.. .:", " ,, :ccccc. ;: .c, '' :. ,;",
".l. cllll' ., .lc :; .l' l.", ".c :lllc ;cl: .l' .ll. :'",
".l 'looc. . ,o: 'oo' c,", ".o. .:ool::coc' .ooo' o.",
" :: ..... .;dddo ;c", " l:... .';lddddo. ,o",
" lxxxxxdoolllodxxxxxxxxxc :l", " ,dxxxxxxxxxxxxxxxxxxl. 'o,",
" ,dkkkkkkkkkkkkko;. .;o;", " .;okkkkkdl;. .,cl:.", " .,:cccccccc:,.",
],
}
///|
let endeavouros_logo : Logo = {
palette: ["35", "31", "34"],
lines: [
" $2./$1o$3.", " $2./$1sssso$3-", " $2`:$1osssssss+$3-",
" $2`:+$1sssssssssso$3/.", " $2`-/o$1ssssssssssssso$3/.",
" $2`-/+$1sssssssssssssssso$3+:`", " $2`-:/+$1sssssssssssssssssso$3+/.",
" $2`.://o$1sssssssssssssssssssso$3++-", " $2.://+$1ssssssssssssssssssssssso$3++:",
" $2.:///o$1ssssssssssssssssssssssssso$3++:", " $2`:////$1ssssssssssssssssssssssssssso$3+++.",
"$2`-////+$1ssssssssssssssssssssssssssso$3++++-", " $2`..-+$1oosssssssssssssssssssssssso$3+++++/`",
" $3./++++++++++++++++++++++++++++++/:.", " `:::::::::::::::::::::::::------``",
],
}
///|
let gentoo_logo : Logo = {
palette: ["35", "37"],
lines: [
" -/oyddmdhs+:.", " -o$2dNMMMMMMMMNNmhy+$1-`", " -y$2NMMMMMMMMMMMNNNmmdhy$1+-",
" `o$2mMMMMMMMMMMMMNmdmmmmddhhy$1/`", " om$2MMMMMMMMMMMN$1hhyyyo$2hmdddhhhd$1o`",
".y$2dMMMMMMMMMMd$1hs++so/s$2mdddhhhhdm$1+`", " oy$2hdmNMMMMMMMN$1dyooy$2dmddddhhhhyhN$1d.",
" :o$2yhhdNNMMMMMMMNNNmmdddhhhhhyym$1Mh", " .:$2+sydNMMMMMNNNmmmdddhhhhhhmM$1my",
" /m$2MMMMMMNNNmmmdddhhhhhmMNh$1s:", " `o$2NMMMMMMMNNNmmmddddhhdmMNhs$1+`",
" `s$2NMMMMMMMMNNNmmmdddddmNMmhs$1/.", " /N$2MMMMMMMMNNNNmmmdddmNMNdso$1:`",
"+M$2MMMMMMNNNNNmmmmdmNMNdso$1/-", "yM$2MNNNNNNNmmmmmNNMmhs+/$1-`", "/h$2MMNNNNNNNNMNdhs++/$1-`",
"`/$2ohdmmddhys+++/:$1.`", " `-//////:--.",
],
}
///|
let omarchy_logo : Logo = {
palette: ["32"],
lines: [
" ▄▄▄", " ▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄",
"███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███",
"███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███",
"███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███",
"███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███",
"███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███",
"███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███",
" ▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀",
" ███ █▀",
],
}
///|
let chrom_logo : Logo = {
palette: ["31", "32", "33", "34", "35"],
lines: [
"$2 .,:loool:,.", " .,coooooooooooooc,.", " .,lllllllllllllllllllll,.",
" ;ccccccccccccccccccccccccc;", "$1 '$2ccccccccccccccccccccccccccccc.", "$1 ,oo$2c::::::::okO$5000$30OOkkkkkkkkkkk:",
"$1.ooool$2;;;;:x$5K0$4kxxxxxk$50X$3K0000000000.", "$1:oooool$2;,;O$5K$4ddddddddddd$5KX$3000000000d",
"$1lllllool$2;l$5N$4dllllllllllld$5N$3K000000000", "$1lllllllll$2o$5M$4dccccccccccco$5W$3K000000000",
"$1;cllllllllX$5X$4c:::::::::c$50X$3000000000d", "$1.ccccllllllO$5Nk$4c;,,,;cx$5KK$30000000000.",
"$1 .cccccclllllxOO$5OOO$1Okx$3O0000000000;", "$1 .:ccccccccllllllllo$3O0000000OOO,",
"$1 ,:ccccccccclllcd$30000OOOOOOl.", "$1 '::ccccccccc$3dOOOOOOOkx:.",
"$1 ..,::cccc$3xOOOkkko;.", "$1 ..,:$3dOkxl:.",
],
}
///|
let manjaro_logo : Logo = {
palette: ["32"],
lines: [
"██████████████████ ████████",
"██████████████████ ████████",
"██████████████████ ████████",
"██████████████████ ████████",
"████████ ████████", "████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
"████████ ████████ ████████",
],
}
///|
let mx_logo : Logo = {
palette: ["39"],
lines: [
"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMM", "MMMMMMMMMMNs..yMMMMMMMMMMMMMm: +NMMMMMMM",
"MMMMMMMMMN+ :mMMMMMMMMMNo` -dMMMMMMMM", "MMMMMMMMMMMs. `oNMMMMMMh- `sNMMMMMMMMM",
"MMMMMMMMMMMMN/ -hMMMN+ :dMMMMMMMMMMM", "MMMMMMMMMMMMMMh- +ms. .sMMMMMMMMMMMMM",
"MMMMMMMMMMMMMMMN+` ` +NMMMMMMMMMMMMMM", "MMMMMMMMMMMMMMNMMd: .dMMMMMMMMMMMMMMM",
"MMMMMMMMMMMMm/-hMd- `sNMMMMMMMMMMMMM", "MMMMMMMMMMNo` -` :h/ -dMMMMMMMMMMMM",
"MMMMMMMMMd: /NMMh- `+NMMMMMMMMMM", "MMMMMMMNo` :mMMN+` `-hMMMMMMMM",
"MMMMMMh. `oNMMd: `/mMMMMMM", "MMMMm/ -hMd- `sNMMMM",
"MMNs` - :dMMM", "Mm: `oMM",
"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
],
}
///|
let opensuse_logo : Logo = {
palette: ["32", "37"],
lines: [
" $2.;ldkO0000Okdl;.", " .;d00xl:^''''''^:ok00d;.", " .d00l' 'o00d.",
" .d0Kd'$1 Okxol:;,. $2:O0d", " .OK$1KKK0kOKKKKKKKKKKOxo:, $2lKO.",
" ,0K$1KKKKKKKKKKKKKKK0P^$2,,,$1^dx:$2 ;00,", ".OK$1KKKKKKKKKKKKKKKk'$2.oOPPb.$1'0k.$2 cKO.",
":KK$1KKKKKKKKKKKKKKK: $2kKx..dd $1lKd$2 'OK:", "dKK$1KKKKKKKKKOx0KKKd $2^0KKKO' $1kKKc$2 dKd",
"dKK$1KKKKKKKKKK;.;oOKx,..$2^$1..;kKKK0.$2 dKd", ":KK$1KKKKKKKKKK0o;...^cdxxOK0O/^^' $2.0K:",
" kKK$1KKKKKKKKKKKKK0x;,,......,;od $2lKk", " '0K$1KKKKKKKKKKKKKKKKKKKK00KKOo^ $2c00'",
" 'kK$1KKOxddxkOO00000Okxoc;'' $2.dKk'", " l0Ko. .c00l'",
" 'l0Kk:. .;xK0l'", " 'lkK0xl:;,,,,;:ldO0kl'", " '^:ldxkkkkxdl:^'",
],
}
///|
let pop_logo : Logo = {
palette: ["36", "37"],
lines: [
" /////////////", " /////////////////////", " ///////$2*767$1////////////////",
" //////$27676767676*$1//////////////", " /////$276767$1//$27676767$1//////////////",
" /////$2767676$1///$2*76767$1///////////////", " ///////$2767676$1///$276767$1.///$27676*$1///////",
"/////////$2767676$1//$276767$1///$2767676$1////////", "//////////$276767676767$1////$276767$1/////////",
"///////////$276767676$1//////$27676$1//////////", "////////////,$27676$1,///////$2767$1///////////",
"/////////////*$27676$1///////$276$1////////////", "///////////////$27676$1////////////////////",
" ///////////////$27676$1///$2767$1////////////", " //////////////////////$2'$1////////////",
" //////$2.7676767676767676767,$1//////", " /////$2767676767676767676767$1/////",
" ///////////////////////////", " /////////////////////", " /////////////",
],
}
///|
let raspbian_logo : Logo = {
palette: ["31", "32"],
lines: [
" $2`.::///+:/-. --///+//-:`", " `+oooooooooooo: `+oooooooooooo:",
" /oooo++//ooooo: ooooo+//+ooooo.", " `+ooooooo:-:oo- +o+::/ooooooo:", " `:oooooooo+`` `.oooooooo+-",
" `:++ooo/. :+ooo+/.`$1", " ...` `.----.` ``..", " .::::-``:::::::::.`-:::-`",
" -:::-` .:::::::-` `-:::-", " `::. `.--.` `` `.---.``.::`", " .::::::::` -::::::::` `",
" .::` .:::::::::- `::::::::::``::.", "-:::` ::::::::::. ::::::::::.`:::-",
":::: -::::::::. `-:::::::: ::::", "-::- .-:::-.``....``.-::-. -::-",
" .. `` .::::::::. `..`..", " -:::-` -::::::::::` .:::::`", " :::::::` -::::::::::` :::::::.",
" .::::::: -::::::::. ::::::::", " `-:::::` ..--.` ::::::.", " `...` `...--..` `...`",
" .::::::::::", " `.-::::-`",
],
}
///|
let rocky_logo : Logo = {
palette: ["32"],
lines: [
" __wgliliiligw_,", " _williiiiiiliilililw,", " _%iiiiiilililiiiiiiiiiii_",
" .Qliiiililiiiiiiililililiilm.", " _iiiiiliiiiiililiiiiiiiiiiliil,", " .lililiiilililiiiilililililiiiii,",
"_liiiiiiliiiiiiiliiiiiF{iiiiiilili,", "jliililiiilililiiili@` ~ililiiiiiL",
"iiiliiiiliiiiiiili>` ~liililii", "liliiiliiilililii` -9liiiil",
"iiiiiliiliiiiii~ \"4lili", "4ililiiiiilil~| -w, )4lf",
"-liiiiililiF' _liig, )'", " )iiiliii@` _QIililig,", " )iiii>` .Qliliiiililw",
" )<>~ .mliiiiiliiiiiil,", " _gllilililiililii~", " giliiiiiiiiiiiiT`",
" -^~$ililili@~~'",
],
}
///|
let slackware_logo : Logo = {
palette: ["34", "37"],
lines: [
" :::::::::", " :::::::::::::::::::", " :::::::::::::::::::::::::",
" ::::::::$2cllcccccllllllll$1::::::", " :::::::::$2lc dc$1:::::::",
" ::::::::$2cl clllccllll oc$1:::::::::", " :::::::::$2o lc$1::::::::$2co oc$1::::::::::",
" ::::::::::$2o cccclc$1:::::$2clcc$1::::::::::::", " :::::::::::$2lc cclccclc$1:::::::::::::",
"::::::::::::::$2lcclcc lc$1::::::::::::", "::::::::::$2cclcc$1:::::$2lccclc oc$1:::::::::::",
"::::::::::$2o l$1::::::::::$2l lc$1:::::::::::", " :::::$2cll$1:$2o clcllcccll o$1:::::::::::",
" :::::$2occ$1:$2o clc$1:::::::::::", " ::::$2ocl$1:$2ccslclccclclccclclc$1:::::::::::::",
" :::$2oclcccccccccccccllllllllllllll$1:::::", " ::$2lcc1lcccccccccccccccccccccccco$1::::",
" ::::::::::::::::::::::::::::::::", " ::::::::::::::::::::::::::::",
" ::::::::::::::::::::::", " ::::::::::::",
],
}
///|
let suse_logo : Logo = {
palette: ["32", "32"],
lines: [
" kKKKKKd' Okxol:;,.", "kKKKKKKK0kOKKKKKKKKKKOxo:,", "KKKKKKKKKKKKKKKKKKK0P^,,,^dx:",
"KKKKKKKKKKKKKKKKKKk'.oOPPb.'0k.", "KKKKKKKKKKKKKKKKKK: kKx..dd lKd", "KKKKKKKKKKKKOx0KKKd ^0KKKO' kKKc",
"KKKKKKKKKKKKK;.;oOKx,..^..;kKKK0.", "KKKKKKKKKKKKK0o;...^cdxxOK0O/^^'", "KKKKKKKKKKKKKKKKK0x;,,......,;od",
"kKKKKKKKKKKKKKKKKKKKKKKK00KKOo^", " kKKKKKOxddxkOO00000Okxoc;''",
],
}
///|
let termux_logo : Logo = {
palette: ["37"],
lines: [
"_____", "|_ _|__ _ __ _ __ ___ _ ___ __", " | |/ _ \\ '__| '_ ` _ \\| | | \\ \\/ /",
" | | __/ | | | | | | | |_| |> <", " |_|\\___|_| |_| |_| |_|\\__,_/_/\\_\\",
],
}
///|
let all_logos : Array[(String, Logo)] = [
("macos", macos_logo),
("linux", linux_logo),
("arch", arch_logo),
("ubuntu", ubuntu_logo),
("debian", debian_logo),
("fedora", fedora_logo),
("nixos", nixos_logo),
("windows", windows_logo),
("alpine", alpine_logo),
("android", android_logo),
("artix", artix_logo),
("deepin", deepin_logo),
("endeavouros", endeavouros_logo),
("gentoo", gentoo_logo),
("omarchy", omarchy_logo),
("chrom", chrom_logo),
("manjaro", manjaro_logo),
("mx", mx_logo),
("opensuse", opensuse_logo),
("pop", pop_logo),
("raspbian", raspbian_logo),
("rocky", rocky_logo),
("slackware", slackware_logo),
("suse", suse_logo),
("termux", termux_logo),
]
///|
fn logo_by_name(name : String) -> Logo? {
all_logos.iter().find_first(entry => entry.0 == name).map(entry => entry.1)
}
///|
fn logo_about() -> String {
let names = all_logos.map(entry => entry.0).join(", ")
"logo name: \{names}, none"
}