From 79791b395c1eef584508ee8f59c1388de452c3d7 Mon Sep 17 00:00:00 2001 From: HORVILLE Ewen Date: Tue, 24 May 2022 17:28:29 +0200 Subject: [PATCH] TP 15/16 --- APL2.1/TP15/Devinette/Devinette.class | Bin 0 -> 2116 bytes APL2.1/TP15/Devinette/Devinette.java | 55 ++ APL2.1/TP15/Image/AwesomeImage.class | Bin 0 -> 804 bytes APL2.1/TP15/Image/AwesomeImage.java | 22 + APL2.1/TP15/Image/Image.class | Bin 0 -> 2370 bytes APL2.1/TP15/Image/Image.java | 61 ++ APL2.1/TP15/Image/image.xpm | 56 ++ APL2.1/TP16/Conversion/Conversion.class | Bin 0 -> 2160 bytes APL2.1/TP16/Conversion/Conversion.java | 53 ++ APL2.1/TP16/Conversion/base.html | 1 + APL2.1/TP16/Conversion/funny.txt | 9 + APL2.1/TP16/Conversion/funny.txt.html | 1 + APL2.1/TP16/Couleurs/Couleurs.class | Bin 0 -> 2601 bytes APL2.1/TP16/Couleurs/Couleurs.java | 70 +++ APL2.1/TP16/Couleurs/Listener.java | 3 + APL2.1/TP16/Couleurs/rgb.txt | 753 ++++++++++++++++++++++++ 16 files changed, 1084 insertions(+) create mode 100644 APL2.1/TP15/Devinette/Devinette.class create mode 100644 APL2.1/TP15/Devinette/Devinette.java create mode 100644 APL2.1/TP15/Image/AwesomeImage.class create mode 100644 APL2.1/TP15/Image/AwesomeImage.java create mode 100644 APL2.1/TP15/Image/Image.class create mode 100644 APL2.1/TP15/Image/Image.java create mode 100644 APL2.1/TP15/Image/image.xpm create mode 100644 APL2.1/TP16/Conversion/Conversion.class create mode 100644 APL2.1/TP16/Conversion/Conversion.java create mode 100644 APL2.1/TP16/Conversion/base.html create mode 100644 APL2.1/TP16/Conversion/funny.txt create mode 100644 APL2.1/TP16/Conversion/funny.txt.html create mode 100644 APL2.1/TP16/Couleurs/Couleurs.class create mode 100644 APL2.1/TP16/Couleurs/Couleurs.java create mode 100644 APL2.1/TP16/Couleurs/Listener.java create mode 100644 APL2.1/TP16/Couleurs/rgb.txt diff --git a/APL2.1/TP15/Devinette/Devinette.class b/APL2.1/TP15/Devinette/Devinette.class new file mode 100644 index 0000000000000000000000000000000000000000..ff906000bbcc7f4b4daeffd719a148eee35e383f GIT binary patch literal 2116 zcmaJ?O;8hO7=FGaupwFg4FU=UMGYzj)Jhd!CBf z_Slo-ILQ=UNeuxXjzMFD@bcSb`{V1E&0+ObQ9 zXT+^s-b;FpG_o2(70NL)BP*0a=mOzbTCT(#!%ExP5Nc4TXzK+c(eZ6!Iy0?>q28Gg zG&CwilR#@3LDmYVWzaqy5wr+sj3OPk7&K#z*Ps<`8rpRnz`-45gIIH7joD--u(&=PAmvf}+%Jg;}cUq88!z%(UTUn0e=jWv((^D*{bTnKLXxq|N z)W4)w*$wNQCJu?uWHGiYT7hLn&!aJfLA;@QI>Okuds=c-%zF@*bX>-mKv1=F+_a>? zzG(062?^mU;u_x6@fOAf8n;J?GawhFLl-&2aXE&n&3nyQyoqZtp<@!)IJ#M5S&rIP z%J6QO-XiZ@&#*j~b&1B~dj`;nDb>dMAf`!n#aOU@__C{8B^e9ihJfe`VwT5=AZ~J8 zu1P1I@9Ng@zCg_-xx(B$kLd+Q?KF>imFz@5J13oK)krF`hAL=F^ycpLduQ0*q-Ug- z6GpCx*T4=p?*SDECGEVEl4>ah>i(lXrE13A7_n{7^&BIYklv!5cI&HQhOmTX4H;D( zE=$jLc};7@UY4=aqLvCaW~4mZSrz!Avdm>*$>~+DeMY)Ht=&kgNPs6w*CaC$W- z_kdUCxwSXDU5px;Ow#n^P!KkkPjm?ZJ#Jaj8O<2n30DK>Edk8DRI~08C7i*hetEYF%7HcTRb$tyx;tD2IF6#)P z89jV~9>y6i*9D%<7$f}vCNPETJbkR<9Oa+jD?H`%I-V5IU-27$=d*=x@SOT}JS(0G z58Rd4bXX+5H7Kn#s!jF7X9tSuPAevI&aH->hyhv}n(tnEngBeR5q zWa(lA-S`ZL@HyG;;0W&HC}Zj;|1q*hQ9v)g$8r3K6Zo0fU&!)=`lqyghSQ9$AAd69 zO`N4~AdAQ*P5GHl35}ltUJi%H%9nvnN&;n-Mk{Iuv_Bw56yR?(YZw%N;go22j@sv_ lnxMMEWbj3k0Q`_7^ rand) { + System.out.println("-"); + } else if (guess < rand) { + System.out.println("+"); + } + } + + System.out.println("Perdu !"); + } catch (IOException e) { + System.exit(1); + } + + } +} \ No newline at end of file diff --git a/APL2.1/TP15/Image/AwesomeImage.class b/APL2.1/TP15/Image/AwesomeImage.class new file mode 100644 index 0000000000000000000000000000000000000000..28f290083c8b3b428ffdccb0ff33076517759a3a GIT binary patch literal 804 zcmY*X*>2N76g`v8iJ5HOpk-~?Y$r5qEe{1Gs00LcK@_D@-zLf63?z1HI}N|WXCOh4 zc;Ey0CWN@-geKVXo$+1HxpU_J`t#!_fG5~8kwDTwiX)8-!@>t~Dn8Z2k@DR7>o>xa zJ%-F<<*Dc?L(;OFIb@MDU~-%TXW-99GW7eh(HE|y4AplTO1m1SE=Ey3_HUagplG1P zQN{v8`7Hc05QDC2heXm2q=*P&*|KNl|Kfy@#S+IdRv5A>JQ#?Rq2{yfV;#D{v5GZ@ zyep&UqW#eg{Gr#O^UQ57#~Gh$XBwQ++K!K%&h)u`>}y{;ovAaHp1VsBMw;2VH+#=L=X~d!@7%jT z|NGq?00;27h%z_?I3>7H&QLX}UQ{C~H8T+z7@gFTCPVptJ)@fk863gTpa3^Rt+h$d zMtTb4w3oz&DZ%@80m1WK|adP=j`-H;eOdRm>(TBmbq5gz!syGjN**!#d?!Zh^E zL}zGFgaAL^5n!lZ-a+1MYs>N)2{LLK+y?pX)iWAHO)&JZH8<)QoFh$*XWiJyz#2u= zqd~wU5*|h4nt*Np45FdsQfgA`PNf+3u7mJlFY7qwewrj~;UJw98O2?XtrE6jJA*5q zOX-x`?dw<%jXZ4MgAiH-?2r(~&b6Rt@}`!i;$#bCPqtMlS;r}tCPk#F=}r+5>=LkB zLK_|{X%|dA73nq%btX?)G_$4Xw+C1Iw@J{sZhU(X74W!(y}XjurMj#h=$1|ojp&0}rry6;UUjK&`aRE;-_$*Cz%8bOasjT5f4~0I`M8!SC z0G{F_5{}|YqHXfLYIKt|XD}X$amg_WPobBnm@kaxEv^xjgYo#f!F8cu!T^qwp)oC) z9V31M4m5cT!^h>1W;(4)T7bK)W1oM!rSDmqFwrM#N zJZyWdPt8zh1~sREEQ8cNrRB3}Z8_i!p63Bml}qi+H7%jl&KZ~z3LJr#d&wp(fFd%O z;P9p;%-|BGLLD1pXj$bvmQClf87*U$7-|=yw8)iTl<*Q>rmiN-gL+;cO;LEx;2Hav zc}2pj{M>UTd2R%}R${Vs1fDu?WT#Zp5HX9_CA@(v3>AbTQOM;CEuYs2Pu*%-tY}!7 zc&lWM8Ztg`csi-&c;*FMBac@21SMvXtCF8#{e|?XW}M<4Nsv}`DpKv5ezd!kj1!K8 zsU|PegM}D&QlAvXPj8PpI*hH$31gB_@$A7)gzv*YskcYUTXJW?ZGq zf&a=tcu`K{b$V-{nVJo*mIbg|^oQYX8o3yBwtMgn-lhMvwd_|?tE3Ir7a^_>Q4wU1B07pVe46YkqEO{6B2KmyHy7Bi zx6zlF^ROFBKUv5YabmbZcDfgk=xFWJ5CKr(zRy+&Hb$AtTl~^SfkypHa_7^=xTvSAbBAOafL}w8%5XQ?l zP~B(Gp8oL8BId$B-hi|B798-i9Gk){n`SSv%fxN4E9@%Xq(bvb-b4$HUicxQ5fx~M z4+p7^hf#$-T0M;b&Y}iMx`HRM0Ve9GixjH(MtngB?M+(yny%MxN&7CE@C)67zo8j_ zU@QKl3-E7#1tQ4&*v2-XnKht^Z9yvwBf{FSiygpj7NeW0AMI=id)O$VY!Z7}4*LkT zmt8?8q20%>VL#p@q&g~>kcKGWeE|ZEjD7+>6!0RLIP#BDoAT~iM~GQi^w)LYc0`E)+11Uh}NHy!!msKA4&@{4gdfE literal 0 HcmV?d00001 diff --git a/APL2.1/TP15/Image/Image.java b/APL2.1/TP15/Image/Image.java new file mode 100644 index 0000000..4c24e13 --- /dev/null +++ b/APL2.1/TP15/Image/Image.java @@ -0,0 +1,61 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.Arrays; +import javax.swing.*; +import java.awt.*; +import java.awt.image.*; + +public class Image { + public static void main(String[] args) { + try (BufferedReader r = new BufferedReader(new FileReader("image.xpm"))) { + r.readLine(); r.readLine(); r.readLine(); //On skip les 3 première lignes. + String[] infos = r.readLine().replaceAll("[\" ]", " ").trim().split(" "); + System.out.println(Arrays.toString(infos)); + int columns = Integer.parseInt(infos[0]); + int rows = Integer.parseInt(infos[1]); + int colorCount = Integer.parseInt(infos[2]); + int charPerPixel = Integer.parseInt(infos[3]); + + char[] paletteId = new char[colorCount]; + Color[] palette = new Color[colorCount]; + + for (int i = 0; i < colorCount; i++) { + String colorInfos = r.readLine().replaceAll("[\"]", ""); + paletteId[i] = colorInfos.charAt(0); + System.out.println(colorInfos.substring(4, 11)); + + palette[i] = Color.decode(colorInfos.substring(4, 11)); + } + + r.readLine(); //On skip la ligne pixels. + BufferedImage bi = new BufferedImage(columns, rows, BufferedImage.TYPE_3BYTE_BGR); + + for (int i = 0; i < rows; i++) { + String row = r.readLine().replaceAll("\"", ""); + for (int y = 0; y < columns; y++) { + char a = row.charAt(y); + for (int j = 0; j < paletteId.length; j++) { + if (paletteId[j] == a) { + bi.setRGB(y, i, palette[j].getRGB()); + } + } + } + } + + JFrame j = new JFrame(); + j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + j.setSize(500 + 50, 500 + 50); + j.setLayout(null); + + AwesomeImage a = new AwesomeImage(bi); + a.setLocation(10, 10); + a.setSize(500, 500); + j.add(a); + + j.setVisible(true); + } catch (IOException e) { + + } + } +} diff --git a/APL2.1/TP15/Image/image.xpm b/APL2.1/TP15/Image/image.xpm new file mode 100644 index 0000000..1b6e40c --- /dev/null +++ b/APL2.1/TP15/Image/image.xpm @@ -0,0 +1,56 @@ +/* XPM */ +static char *test[] = { +/* columns rows colors chars-per-pixel */ +"32 35 15 1", +" c #000000", +". c #731810", +"X c #A52918", +"o c #FF5210", +"O c #D64221", +"+ c #FF8C10", +"@ c #FFBD29", +"# c #FFE739", +"$ c #FFBD4A", +"% c #FFFF63", +"& c #9C8C8C", +"* c #C6B5B5", +"= c #B0D8D0", +"- c #EFDEDE", +"; c #FFFFFF", +/* pixels */ +"================================", +"================================", +"=============O====o=============", +"==============O==o#o============", +"==============oO=o@o============", +"==============ooOo+o============", +"==========o===o+o=o=============", +"=========o@o=Oo++o==============", +"=========ooo=o+@+o==============", +"==========o=O++@+oO=============", +"============o+@#@o+O============", +"===========O+@#;#+@+o===========", +"===========O+#;;;+#@o===========", +"===========o@;;;;@#o============", +"=== =======..........======= ===", +"== = = ==..XXOOooOOXX..== = = ==", +"= = =.XXoOO OOoXX.= = =", +"== XXXX % % XXXX ==", +"=== oX XXX XXX Xo ===", +"=====X o$X -& &- X$o X=====", +"=====X o$$o ;;;;;; o$$o X=====", +"===== Xoo$$$ -;oo;- $$$ooX =====", +"===== OoX$Xoo ;;;; ooX$XoO =====", +"===== Xo o O -;;- O o oX =====", +"====== O O = -- = O O ======", +"======= = *= o o =* = =======", +"=========== * oooo * ===========", +"=========== oooooo ===========", +"========== XooooooX ==========", +"========= X XooooooX X =========", +"========= OooOOOOOOooO =========", +"========== oooooooo ==========", +"============ ============", +"================================", +"================================" +}; diff --git a/APL2.1/TP16/Conversion/Conversion.class b/APL2.1/TP16/Conversion/Conversion.class new file mode 100644 index 0000000000000000000000000000000000000000..699414ba04a9dea7089ecce53d27b88276769b8f GIT binary patch literal 2160 zcmaJ@O>Y}j6g|)OcSs9ev!6uTWCT;Q=FvKAt3}P6Z@rc<9N(? z(o(6*iVYG=1eFj=?<$o=BefDNkSc*-!4k1S;s+ohHie3C-b~UuI1okey?O86bI-l^ zyqA3U_rtFMoWpek0R(k~OlSxTG+(!FSOZ0?bZua2;kwMZ0^zfTQo%hh5KQ#W=!gh( zct!<#V0d+LQ93ezMOu03=r9Cgn`dK%qV)F-L}4oY9Rlr%%<~9Y*C~{)rF&-#=x9u0(7KHcRc^*Mb0LrS(L_0bJA`U}l3MDDfmgud=j4``T6LIVk*tudY%MrVjv)tK& zyTnz+wMuS9;Pf_Z>an(k7wC*)5BBQVXJS9Pwv;Y=tK!NPR?J>y0o#2@CUlwky3ATy zD`^7<(XHcIp85S4~`0mDg@63d$p)LRDx84~xA?sSXv&t0>>Yvb z=Xb48x?wNN0l#kkWf-$^uI=0s__VgN8-_mUMXQuA%1U>}wwG7S>H3UncD6W9-zv*( z%xe?%-63GDrUQ-<;LMi(*^qWTGdf=EDT-$Qs0bE(E4Hs$=lRMsXRh zb4}C0x7^if(EJGc+#^Kijs%adpHJ+4lggL*aP%F%Gte z?xHCf4?o0CV4@1sTkq!jPDoS{4i0M7^&h^(3&{sKK)=JA@G(+S=tH4+h;Wl?JnRis z#D}zvmB}z#Jp2Huxb}4w+EA!Jc9KwolZ5Oi`y;3hq8qnqry$f<{{y72`Ps1oHK`p7Ve z@6k`5DKhONzoTTBBEMr~7!?hCNE`X|HsK_$kkvQnTqlvRj;sz{$0_~_isdQxa~0A4 zMBoVm>llDmYeHKH9m#d3wZ+#1NqT1yIu7eNF4l48-`?r}@=g=9*89>Eh%qmauKp|V rN%|HVkBEN>2;vQ<62J^*Ik)lqO^WOwO

TOREPLACE

\ No newline at end of file diff --git a/APL2.1/TP16/Conversion/funny.txt b/APL2.1/TP16/Conversion/funny.txt new file mode 100644 index 0000000..60758b2 --- /dev/null +++ b/APL2.1/TP16/Conversion/funny.txt @@ -0,0 +1,9 @@ +jiGJIOPAEJIOGOJIEAGJIOAEIO +ZFIAJPIFPJIAZJPF + +AQG +AQGAZ +GAZ +GAZAZ +GAZAZ +GAZ \ No newline at end of file diff --git a/APL2.1/TP16/Conversion/funny.txt.html b/APL2.1/TP16/Conversion/funny.txt.html new file mode 100644 index 0000000..2a53354 --- /dev/null +++ b/APL2.1/TP16/Conversion/funny.txt.html @@ -0,0 +1 @@ +OwO

jiGJIOPAEJIOGOJIEAGJIOAEIO
ZFIAJPIFPJIAZJPF

AQG
AQGAZ
GAZ
GAZAZ
GAZAZ
GAZ

\ No newline at end of file diff --git a/APL2.1/TP16/Couleurs/Couleurs.class b/APL2.1/TP16/Couleurs/Couleurs.class new file mode 100644 index 0000000000000000000000000000000000000000..dece8b56e1708461dbe9c78e929f880f081a30e8 GIT binary patch literal 2601 zcmZ`*X;&Ln7=DHXhJ;&6*;Q&wwQZUJsni`y6w;>r|+DRr(CPM3Ot5(H* z-&$Ljx@%Q}iq>=drXM`VkDjCc2*0@;>vLz4mezV;?w$K?_kEvtnf&n2SH}Qs#=MFW z1=TyX+qKzfcE(6gMYs3ZT1qd6Ux6<^6AwZ`nShFN?pGLT!|7B|7m7)hsHst5$g!!{ zv0+4t1_df06sTF<88Y_h3Q9x0y&kVpV7cT~kQcKOnqydLsk1_$8Z`<8>4SRK*rQFD zRP={-Y#32dr=Yys%9(o3&IVD72I)*AoeOzZ&lWfbO+0JKq=In4Gi}C+c3Y{8mDbZv z#|F>cQ;G8Ga|KpmwSq=oy;Yyoa;DR5T3J1w(QVg1=|;i*H3H{JH-nTNF|r1o3}P)B zRIEE4!T~LoH8-qnBe7QMRWh+MHP@h>a)&o0XSt7r0jDvDDTHsER%XRi_t~)QbxY;5rsTnq?U? zvNTyU{@?ObF{Gf;z9B;1kE+(u4EPAJai45l!fm@-`O`?>H5l02JMHrX1Ne~GnRpW?kh@D#zgIYRirGnUv2D#iN za5wH@bZLFoaV^WxZ?(HisC8{amY&@~)| zShuW8TAIVl0G~PQdMci3o zkWwEyLp8blZY#;im&?lU&!r}Gd)S-e%Z40A-lt^>=gN%6(mpYorOA`Sxd=R?m)1=h1wWx(Yt# zx(4N3S8%Xa)2A9VacxE&=X*Wc(SS?PNJ)ONyqlFbDDS7nZ{Y=;A1;~4db#kHwy{NQ z9II|$z=aFAC>E){G>^-|kvy*W5?3nNKaU}J$=^o3ibwLI>Wj-Gsv(Dc3XIf9x#Zx8ghwC3?Z%eP11j~ykxtMDDZXT$!0AMq3S zO8ksp@GxmxWyEgK+mAs>!w`|0(wDJjW*o5-q9PU09wJO>a;7@GbsbcSO=A=O6 z2@03eKcMi__AuzwQ5yD2<#&`Z7~n02`DkA_kEdS3SuNb3%j2aMpO0^^@i~;on}lk8 z$wA!3J;FUF@fw!Ib}3r+b#Tn*i;wyFluE7m35wMBh=<~=v3H7!ky902rPFl_);vX7 zmma=hRwRgGDJ~#K1TkTYv}WT E0blTO=Kufz literal 0 HcmV?d00001 diff --git a/APL2.1/TP16/Couleurs/Couleurs.java b/APL2.1/TP16/Couleurs/Couleurs.java new file mode 100644 index 0000000..d1551fb --- /dev/null +++ b/APL2.1/TP16/Couleurs/Couleurs.java @@ -0,0 +1,70 @@ +import java.awt.*; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.Random; + +import javax.swing.*; + +public class Couleurs extends JPanel { + int max; + int index1 = -1; + int index2 = -1; + String[] nameList; + Color[] colorList; + + public static void main(String[] args) { + JFrame f = new JFrame("OwO"); + f.setSize(300, 300); + f.setLocation(100, 100); + f.setResizable(false); + f.add(new Couleurs()); + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + f.setVisible(true); + } + + public Couleurs() { + super(); + + try (BufferedReader br = new BufferedReader(new FileReader("rgb.txt"))) { + br.mark(2000000000); + this.max = (int)br.lines().count(); + br.reset(); + this.nameList = new String[max]; + this.colorList = new Color[max]; + System.out.println(br.readLine()); + + for (int i = 0; i < max-1; i++) { + String[] infos = br.readLine().trim().split("[ \t]+"); + nameList[i] = infos[3]; + colorList[i] = new Color(Integer.parseInt(infos[0]), Integer.parseInt(infos[1]), Integer.parseInt(infos[2])); + } + + Random r = new Random(); + this.index1 = r.nextInt(max); + this.index2 = r.nextInt(max); + + br.close(); + } catch (IOException e) { + + } + } + + @Override + protected void paintComponent(Graphics g) { + Graphics newG = g.create(); + + if (this.isOpaque()) { + newG.setColor(this.getBackground()); + newG.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + if (index1 != -1 && index2 != -1) { + newG.setColor(colorList[index1]); + newG.fillPolygon(new int[] {0, 0, this.getWidth()}, new int[] {0, this.getHeight(), this.getHeight()}, 3); + + newG.setColor(colorList[index2]); + newG.fillPolygon(new int[] {0, this.getWidth(), this.getWidth()}, new int[] {0, 0, this.getHeight()}, 3); + } + } +} diff --git a/APL2.1/TP16/Couleurs/Listener.java b/APL2.1/TP16/Couleurs/Listener.java new file mode 100644 index 0000000..662ceaa --- /dev/null +++ b/APL2.1/TP16/Couleurs/Listener.java @@ -0,0 +1,3 @@ +public class Listener extends MouseListener { + +} diff --git a/APL2.1/TP16/Couleurs/rgb.txt b/APL2.1/TP16/Couleurs/rgb.txt new file mode 100644 index 0000000..6bfc823 --- /dev/null +++ b/APL2.1/TP16/Couleurs/rgb.txt @@ -0,0 +1,753 @@ +255 250 250 snow +248 248 255 ghost white +248 248 255 GhostWhite +245 245 245 white smoke +245 245 245 WhiteSmoke +220 220 220 gainsboro +255 250 240 floral white +255 250 240 FloralWhite +253 245 230 old lace +253 245 230 OldLace +250 240 230 linen +250 235 215 antique white +250 235 215 AntiqueWhite +255 239 213 papaya whip +255 239 213 PapayaWhip +255 235 205 blanched almond +255 235 205 BlanchedAlmond +255 228 196 bisque +255 218 185 peach puff +255 218 185 PeachPuff +255 222 173 navajo white +255 222 173 NavajoWhite +255 228 181 moccasin +255 248 220 cornsilk +255 255 240 ivory +255 250 205 lemon chiffon +255 250 205 LemonChiffon +255 245 238 seashell +240 255 240 honeydew +245 255 250 mint cream +245 255 250 MintCream +240 255 255 azure +240 248 255 alice blue +240 248 255 AliceBlue +230 230 250 lavender +255 240 245 lavender blush +255 240 245 LavenderBlush +255 228 225 misty rose +255 228 225 MistyRose +255 255 255 white + 0 0 0 black + 47 79 79 dark slate gray + 47 79 79 DarkSlateGray + 47 79 79 dark slate grey + 47 79 79 DarkSlateGrey +105 105 105 dim gray +105 105 105 DimGray +105 105 105 dim grey +105 105 105 DimGrey +112 128 144 slate gray +112 128 144 SlateGray +112 128 144 slate grey +112 128 144 SlateGrey +119 136 153 light slate gray +119 136 153 LightSlateGray +119 136 153 light slate grey +119 136 153 LightSlateGrey +190 190 190 gray +190 190 190 grey +211 211 211 light grey +211 211 211 LightGrey +211 211 211 light gray +211 211 211 LightGray + 25 25 112 midnight blue + 25 25 112 MidnightBlue + 0 0 128 navy + 0 0 128 navy blue + 0 0 128 NavyBlue +100 149 237 cornflower blue +100 149 237 CornflowerBlue + 72 61 139 dark slate blue + 72 61 139 DarkSlateBlue +106 90 205 slate blue +106 90 205 SlateBlue +123 104 238 medium slate blue +123 104 238 MediumSlateBlue +132 112 255 light slate blue +132 112 255 LightSlateBlue + 0 0 205 medium blue + 0 0 205 MediumBlue + 65 105 225 royal blue + 65 105 225 RoyalBlue + 0 0 255 blue + 30 144 255 dodger blue + 30 144 255 DodgerBlue + 0 191 255 deep sky blue + 0 191 255 DeepSkyBlue +135 206 235 sky blue +135 206 235 SkyBlue +135 206 250 light sky blue +135 206 250 LightSkyBlue + 70 130 180 steel blue + 70 130 180 SteelBlue +176 196 222 light steel blue +176 196 222 LightSteelBlue +173 216 230 light blue +173 216 230 LightBlue +176 224 230 powder blue +176 224 230 PowderBlue +175 238 238 pale turquoise +175 238 238 PaleTurquoise + 0 206 209 dark turquoise + 0 206 209 DarkTurquoise + 72 209 204 medium turquoise + 72 209 204 MediumTurquoise + 64 224 208 turquoise + 0 255 255 cyan +224 255 255 light cyan +224 255 255 LightCyan + 95 158 160 cadet blue + 95 158 160 CadetBlue +102 205 170 medium aquamarine +102 205 170 MediumAquamarine +127 255 212 aquamarine + 0 100 0 dark green + 0 100 0 DarkGreen + 85 107 47 dark olive green + 85 107 47 DarkOliveGreen +143 188 143 dark sea green +143 188 143 DarkSeaGreen + 46 139 87 sea green + 46 139 87 SeaGreen + 60 179 113 medium sea green + 60 179 113 MediumSeaGreen + 32 178 170 light sea green + 32 178 170 LightSeaGreen +152 251 152 pale green +152 251 152 PaleGreen + 0 255 127 spring green + 0 255 127 SpringGreen +124 252 0 lawn green +124 252 0 LawnGreen + 0 255 0 green +127 255 0 chartreuse + 0 250 154 medium spring green + 0 250 154 MediumSpringGreen +173 255 47 green yellow +173 255 47 GreenYellow + 50 205 50 lime green + 50 205 50 LimeGreen +154 205 50 yellow green +154 205 50 YellowGreen + 34 139 34 forest green + 34 139 34 ForestGreen +107 142 35 olive drab +107 142 35 OliveDrab +189 183 107 dark khaki +189 183 107 DarkKhaki +240 230 140 khaki +238 232 170 pale goldenrod +238 232 170 PaleGoldenrod +250 250 210 light goldenrod yellow +250 250 210 LightGoldenrodYellow +255 255 224 light yellow +255 255 224 LightYellow +255 255 0 yellow +255 215 0 gold +238 221 130 light goldenrod +238 221 130 LightGoldenrod +218 165 32 goldenrod +184 134 11 dark goldenrod +184 134 11 DarkGoldenrod +188 143 143 rosy brown +188 143 143 RosyBrown +205 92 92 indian red +205 92 92 IndianRed +139 69 19 saddle brown +139 69 19 SaddleBrown +160 82 45 sienna +205 133 63 peru +222 184 135 burlywood +245 245 220 beige +245 222 179 wheat +244 164 96 sandy brown +244 164 96 SandyBrown +210 180 140 tan +210 105 30 chocolate +178 34 34 firebrick +165 42 42 brown +233 150 122 dark salmon +233 150 122 DarkSalmon +250 128 114 salmon +255 160 122 light salmon +255 160 122 LightSalmon +255 165 0 orange +255 140 0 dark orange +255 140 0 DarkOrange +255 127 80 coral +240 128 128 light coral +240 128 128 LightCoral +255 99 71 tomato +255 69 0 orange red +255 69 0 OrangeRed +255 0 0 red +255 105 180 hot pink +255 105 180 HotPink +255 20 147 deep pink +255 20 147 DeepPink +255 192 203 pink +255 182 193 light pink +255 182 193 LightPink +219 112 147 pale violet red +219 112 147 PaleVioletRed +176 48 96 maroon +199 21 133 medium violet red +199 21 133 MediumVioletRed +208 32 144 violet red +208 32 144 VioletRed +255 0 255 magenta +238 130 238 violet +221 160 221 plum +218 112 214 orchid +186 85 211 medium orchid +186 85 211 MediumOrchid +153 50 204 dark orchid +153 50 204 DarkOrchid +148 0 211 dark violet +148 0 211 DarkViolet +138 43 226 blue violet +138 43 226 BlueViolet +160 32 240 purple +147 112 219 medium purple +147 112 219 MediumPurple +216 191 216 thistle +255 250 250 snow1 +238 233 233 snow2 +205 201 201 snow3 +139 137 137 snow4 +255 245 238 seashell1 +238 229 222 seashell2 +205 197 191 seashell3 +139 134 130 seashell4 +255 239 219 AntiqueWhite1 +238 223 204 AntiqueWhite2 +205 192 176 AntiqueWhite3 +139 131 120 AntiqueWhite4 +255 228 196 bisque1 +238 213 183 bisque2 +205 183 158 bisque3 +139 125 107 bisque4 +255 218 185 PeachPuff1 +238 203 173 PeachPuff2 +205 175 149 PeachPuff3 +139 119 101 PeachPuff4 +255 222 173 NavajoWhite1 +238 207 161 NavajoWhite2 +205 179 139 NavajoWhite3 +139 121 94 NavajoWhite4 +255 250 205 LemonChiffon1 +238 233 191 LemonChiffon2 +205 201 165 LemonChiffon3 +139 137 112 LemonChiffon4 +255 248 220 cornsilk1 +238 232 205 cornsilk2 +205 200 177 cornsilk3 +139 136 120 cornsilk4 +255 255 240 ivory1 +238 238 224 ivory2 +205 205 193 ivory3 +139 139 131 ivory4 +240 255 240 honeydew1 +224 238 224 honeydew2 +193 205 193 honeydew3 +131 139 131 honeydew4 +255 240 245 LavenderBlush1 +238 224 229 LavenderBlush2 +205 193 197 LavenderBlush3 +139 131 134 LavenderBlush4 +255 228 225 MistyRose1 +238 213 210 MistyRose2 +205 183 181 MistyRose3 +139 125 123 MistyRose4 +240 255 255 azure1 +224 238 238 azure2 +193 205 205 azure3 +131 139 139 azure4 +131 111 255 SlateBlue1 +122 103 238 SlateBlue2 +105 89 205 SlateBlue3 + 71 60 139 SlateBlue4 + 72 118 255 RoyalBlue1 + 67 110 238 RoyalBlue2 + 58 95 205 RoyalBlue3 + 39 64 139 RoyalBlue4 + 0 0 255 blue1 + 0 0 238 blue2 + 0 0 205 blue3 + 0 0 139 blue4 + 30 144 255 DodgerBlue1 + 28 134 238 DodgerBlue2 + 24 116 205 DodgerBlue3 + 16 78 139 DodgerBlue4 + 99 184 255 SteelBlue1 + 92 172 238 SteelBlue2 + 79 148 205 SteelBlue3 + 54 100 139 SteelBlue4 + 0 191 255 DeepSkyBlue1 + 0 178 238 DeepSkyBlue2 + 0 154 205 DeepSkyBlue3 + 0 104 139 DeepSkyBlue4 +135 206 255 SkyBlue1 +126 192 238 SkyBlue2 +108 166 205 SkyBlue3 + 74 112 139 SkyBlue4 +176 226 255 LightSkyBlue1 +164 211 238 LightSkyBlue2 +141 182 205 LightSkyBlue3 + 96 123 139 LightSkyBlue4 +198 226 255 SlateGray1 +185 211 238 SlateGray2 +159 182 205 SlateGray3 +108 123 139 SlateGray4 +202 225 255 LightSteelBlue1 +188 210 238 LightSteelBlue2 +162 181 205 LightSteelBlue3 +110 123 139 LightSteelBlue4 +191 239 255 LightBlue1 +178 223 238 LightBlue2 +154 192 205 LightBlue3 +104 131 139 LightBlue4 +224 255 255 LightCyan1 +209 238 238 LightCyan2 +180 205 205 LightCyan3 +122 139 139 LightCyan4 +187 255 255 PaleTurquoise1 +174 238 238 PaleTurquoise2 +150 205 205 PaleTurquoise3 +102 139 139 PaleTurquoise4 +152 245 255 CadetBlue1 +142 229 238 CadetBlue2 +122 197 205 CadetBlue3 + 83 134 139 CadetBlue4 + 0 245 255 turquoise1 + 0 229 238 turquoise2 + 0 197 205 turquoise3 + 0 134 139 turquoise4 + 0 255 255 cyan1 + 0 238 238 cyan2 + 0 205 205 cyan3 + 0 139 139 cyan4 +151 255 255 DarkSlateGray1 +141 238 238 DarkSlateGray2 +121 205 205 DarkSlateGray3 + 82 139 139 DarkSlateGray4 +127 255 212 aquamarine1 +118 238 198 aquamarine2 +102 205 170 aquamarine3 + 69 139 116 aquamarine4 +193 255 193 DarkSeaGreen1 +180 238 180 DarkSeaGreen2 +155 205 155 DarkSeaGreen3 +105 139 105 DarkSeaGreen4 + 84 255 159 SeaGreen1 + 78 238 148 SeaGreen2 + 67 205 128 SeaGreen3 + 46 139 87 SeaGreen4 +154 255 154 PaleGreen1 +144 238 144 PaleGreen2 +124 205 124 PaleGreen3 + 84 139 84 PaleGreen4 + 0 255 127 SpringGreen1 + 0 238 118 SpringGreen2 + 0 205 102 SpringGreen3 + 0 139 69 SpringGreen4 + 0 255 0 green1 + 0 238 0 green2 + 0 205 0 green3 + 0 139 0 green4 +127 255 0 chartreuse1 +118 238 0 chartreuse2 +102 205 0 chartreuse3 + 69 139 0 chartreuse4 +192 255 62 OliveDrab1 +179 238 58 OliveDrab2 +154 205 50 OliveDrab3 +105 139 34 OliveDrab4 +202 255 112 DarkOliveGreen1 +188 238 104 DarkOliveGreen2 +162 205 90 DarkOliveGreen3 +110 139 61 DarkOliveGreen4 +255 246 143 khaki1 +238 230 133 khaki2 +205 198 115 khaki3 +139 134 78 khaki4 +255 236 139 LightGoldenrod1 +238 220 130 LightGoldenrod2 +205 190 112 LightGoldenrod3 +139 129 76 LightGoldenrod4 +255 255 224 LightYellow1 +238 238 209 LightYellow2 +205 205 180 LightYellow3 +139 139 122 LightYellow4 +255 255 0 yellow1 +238 238 0 yellow2 +205 205 0 yellow3 +139 139 0 yellow4 +255 215 0 gold1 +238 201 0 gold2 +205 173 0 gold3 +139 117 0 gold4 +255 193 37 goldenrod1 +238 180 34 goldenrod2 +205 155 29 goldenrod3 +139 105 20 goldenrod4 +255 185 15 DarkGoldenrod1 +238 173 14 DarkGoldenrod2 +205 149 12 DarkGoldenrod3 +139 101 8 DarkGoldenrod4 +255 193 193 RosyBrown1 +238 180 180 RosyBrown2 +205 155 155 RosyBrown3 +139 105 105 RosyBrown4 +255 106 106 IndianRed1 +238 99 99 IndianRed2 +205 85 85 IndianRed3 +139 58 58 IndianRed4 +255 130 71 sienna1 +238 121 66 sienna2 +205 104 57 sienna3 +139 71 38 sienna4 +255 211 155 burlywood1 +238 197 145 burlywood2 +205 170 125 burlywood3 +139 115 85 burlywood4 +255 231 186 wheat1 +238 216 174 wheat2 +205 186 150 wheat3 +139 126 102 wheat4 +255 165 79 tan1 +238 154 73 tan2 +205 133 63 tan3 +139 90 43 tan4 +255 127 36 chocolate1 +238 118 33 chocolate2 +205 102 29 chocolate3 +139 69 19 chocolate4 +255 48 48 firebrick1 +238 44 44 firebrick2 +205 38 38 firebrick3 +139 26 26 firebrick4 +255 64 64 brown1 +238 59 59 brown2 +205 51 51 brown3 +139 35 35 brown4 +255 140 105 salmon1 +238 130 98 salmon2 +205 112 84 salmon3 +139 76 57 salmon4 +255 160 122 LightSalmon1 +238 149 114 LightSalmon2 +205 129 98 LightSalmon3 +139 87 66 LightSalmon4 +255 165 0 orange1 +238 154 0 orange2 +205 133 0 orange3 +139 90 0 orange4 +255 127 0 DarkOrange1 +238 118 0 DarkOrange2 +205 102 0 DarkOrange3 +139 69 0 DarkOrange4 +255 114 86 coral1 +238 106 80 coral2 +205 91 69 coral3 +139 62 47 coral4 +255 99 71 tomato1 +238 92 66 tomato2 +205 79 57 tomato3 +139 54 38 tomato4 +255 69 0 OrangeRed1 +238 64 0 OrangeRed2 +205 55 0 OrangeRed3 +139 37 0 OrangeRed4 +255 0 0 red1 +238 0 0 red2 +205 0 0 red3 +139 0 0 red4 +215 7 81 DebianRed +255 20 147 DeepPink1 +238 18 137 DeepPink2 +205 16 118 DeepPink3 +139 10 80 DeepPink4 +255 110 180 HotPink1 +238 106 167 HotPink2 +205 96 144 HotPink3 +139 58 98 HotPink4 +255 181 197 pink1 +238 169 184 pink2 +205 145 158 pink3 +139 99 108 pink4 +255 174 185 LightPink1 +238 162 173 LightPink2 +205 140 149 LightPink3 +139 95 101 LightPink4 +255 130 171 PaleVioletRed1 +238 121 159 PaleVioletRed2 +205 104 137 PaleVioletRed3 +139 71 93 PaleVioletRed4 +255 52 179 maroon1 +238 48 167 maroon2 +205 41 144 maroon3 +139 28 98 maroon4 +255 62 150 VioletRed1 +238 58 140 VioletRed2 +205 50 120 VioletRed3 +139 34 82 VioletRed4 +255 0 255 magenta1 +238 0 238 magenta2 +205 0 205 magenta3 +139 0 139 magenta4 +255 131 250 orchid1 +238 122 233 orchid2 +205 105 201 orchid3 +139 71 137 orchid4 +255 187 255 plum1 +238 174 238 plum2 +205 150 205 plum3 +139 102 139 plum4 +224 102 255 MediumOrchid1 +209 95 238 MediumOrchid2 +180 82 205 MediumOrchid3 +122 55 139 MediumOrchid4 +191 62 255 DarkOrchid1 +178 58 238 DarkOrchid2 +154 50 205 DarkOrchid3 +104 34 139 DarkOrchid4 +155 48 255 purple1 +145 44 238 purple2 +125 38 205 purple3 + 85 26 139 purple4 +171 130 255 MediumPurple1 +159 121 238 MediumPurple2 +137 104 205 MediumPurple3 + 93 71 139 MediumPurple4 +255 225 255 thistle1 +238 210 238 thistle2 +205 181 205 thistle3 +139 123 139 thistle4 + 0 0 0 gray0 + 0 0 0 grey0 + 3 3 3 gray1 + 3 3 3 grey1 + 5 5 5 gray2 + 5 5 5 grey2 + 8 8 8 gray3 + 8 8 8 grey3 + 10 10 10 gray4 + 10 10 10 grey4 + 13 13 13 gray5 + 13 13 13 grey5 + 15 15 15 gray6 + 15 15 15 grey6 + 18 18 18 gray7 + 18 18 18 grey7 + 20 20 20 gray8 + 20 20 20 grey8 + 23 23 23 gray9 + 23 23 23 grey9 + 26 26 26 gray10 + 26 26 26 grey10 + 28 28 28 gray11 + 28 28 28 grey11 + 31 31 31 gray12 + 31 31 31 grey12 + 33 33 33 gray13 + 33 33 33 grey13 + 36 36 36 gray14 + 36 36 36 grey14 + 38 38 38 gray15 + 38 38 38 grey15 + 41 41 41 gray16 + 41 41 41 grey16 + 43 43 43 gray17 + 43 43 43 grey17 + 46 46 46 gray18 + 46 46 46 grey18 + 48 48 48 gray19 + 48 48 48 grey19 + 51 51 51 gray20 + 51 51 51 grey20 + 54 54 54 gray21 + 54 54 54 grey21 + 56 56 56 gray22 + 56 56 56 grey22 + 59 59 59 gray23 + 59 59 59 grey23 + 61 61 61 gray24 + 61 61 61 grey24 + 64 64 64 gray25 + 64 64 64 grey25 + 66 66 66 gray26 + 66 66 66 grey26 + 69 69 69 gray27 + 69 69 69 grey27 + 71 71 71 gray28 + 71 71 71 grey28 + 74 74 74 gray29 + 74 74 74 grey29 + 77 77 77 gray30 + 77 77 77 grey30 + 79 79 79 gray31 + 79 79 79 grey31 + 82 82 82 gray32 + 82 82 82 grey32 + 84 84 84 gray33 + 84 84 84 grey33 + 87 87 87 gray34 + 87 87 87 grey34 + 89 89 89 gray35 + 89 89 89 grey35 + 92 92 92 gray36 + 92 92 92 grey36 + 94 94 94 gray37 + 94 94 94 grey37 + 97 97 97 gray38 + 97 97 97 grey38 + 99 99 99 gray39 + 99 99 99 grey39 +102 102 102 gray40 +102 102 102 grey40 +105 105 105 gray41 +105 105 105 grey41 +107 107 107 gray42 +107 107 107 grey42 +110 110 110 gray43 +110 110 110 grey43 +112 112 112 gray44 +112 112 112 grey44 +115 115 115 gray45 +115 115 115 grey45 +117 117 117 gray46 +117 117 117 grey46 +120 120 120 gray47 +120 120 120 grey47 +122 122 122 gray48 +122 122 122 grey48 +125 125 125 gray49 +125 125 125 grey49 +127 127 127 gray50 +127 127 127 grey50 +130 130 130 gray51 +130 130 130 grey51 +133 133 133 gray52 +133 133 133 grey52 +135 135 135 gray53 +135 135 135 grey53 +138 138 138 gray54 +138 138 138 grey54 +140 140 140 gray55 +140 140 140 grey55 +143 143 143 gray56 +143 143 143 grey56 +145 145 145 gray57 +145 145 145 grey57 +148 148 148 gray58 +148 148 148 grey58 +150 150 150 gray59 +150 150 150 grey59 +153 153 153 gray60 +153 153 153 grey60 +156 156 156 gray61 +156 156 156 grey61 +158 158 158 gray62 +158 158 158 grey62 +161 161 161 gray63 +161 161 161 grey63 +163 163 163 gray64 +163 163 163 grey64 +166 166 166 gray65 +166 166 166 grey65 +168 168 168 gray66 +168 168 168 grey66 +171 171 171 gray67 +171 171 171 grey67 +173 173 173 gray68 +173 173 173 grey68 +176 176 176 gray69 +176 176 176 grey69 +179 179 179 gray70 +179 179 179 grey70 +181 181 181 gray71 +181 181 181 grey71 +184 184 184 gray72 +184 184 184 grey72 +186 186 186 gray73 +186 186 186 grey73 +189 189 189 gray74 +189 189 189 grey74 +191 191 191 gray75 +191 191 191 grey75 +194 194 194 gray76 +194 194 194 grey76 +196 196 196 gray77 +196 196 196 grey77 +199 199 199 gray78 +199 199 199 grey78 +201 201 201 gray79 +201 201 201 grey79 +204 204 204 gray80 +204 204 204 grey80 +207 207 207 gray81 +207 207 207 grey81 +209 209 209 gray82 +209 209 209 grey82 +212 212 212 gray83 +212 212 212 grey83 +214 214 214 gray84 +214 214 214 grey84 +217 217 217 gray85 +217 217 217 grey85 +219 219 219 gray86 +219 219 219 grey86 +222 222 222 gray87 +222 222 222 grey87 +224 224 224 gray88 +224 224 224 grey88 +227 227 227 gray89 +227 227 227 grey89 +229 229 229 gray90 +229 229 229 grey90 +232 232 232 gray91 +232 232 232 grey91 +235 235 235 gray92 +235 235 235 grey92 +237 237 237 gray93 +237 237 237 grey93 +240 240 240 gray94 +240 240 240 grey94 +242 242 242 gray95 +242 242 242 grey95 +245 245 245 gray96 +245 245 245 grey96 +247 247 247 gray97 +247 247 247 grey97 +250 250 250 gray98 +250 250 250 grey98 +252 252 252 gray99 +252 252 252 grey99 +255 255 255 gray100 +255 255 255 grey100 +169 169 169 dark grey +169 169 169 DarkGrey +169 169 169 dark gray +169 169 169 DarkGray +0 0 139 dark blue +0 0 139 DarkBlue +0 139 139 dark cyan +0 139 139 DarkCyan +139 0 139 dark magenta +139 0 139 DarkMagenta +139 0 0 dark red +139 0 0 DarkRed +144 238 144 light green +144 238 144 LightGreen \ No newline at end of file