Browse Source

🎉 Hello world

master
Clement Desmidt 2 years ago
commit
5b6426306f
  1. 1
      .gitignore
  2. 55
      assets/css/custom.css
  3. 97
      assets/css/main.css
  4. 2
      assets/js/jquery-3.4.1.min.js
  5. 30
      assets/js/main.js
  6. 154
      assets/js/sha1.js
  7. 30
      assets/js/str_split.js
  8. 20
      choix.php
  9. 61
      elements/base.svg
  10. 52
      elements/eyes/1.svg
  11. 52
      elements/eyes/10.svg
  12. 44
      elements/eyes/11.svg
  13. 52
      elements/eyes/12.svg
  14. 95
      elements/eyes/13.svg
  15. 35
      elements/eyes/14.svg
  16. 58
      elements/eyes/15.svg
  17. 44
      elements/eyes/2.svg
  18. 52
      elements/eyes/3.svg
  19. 95
      elements/eyes/4.svg
  20. 35
      elements/eyes/5.svg
  21. 58
      elements/eyes/6.svg
  22. 59
      elements/eyes/7.svg
  23. 38
      elements/eyes/8.svg
  24. 37
      elements/eyes/9.svg
  25. 63
      elements/hair/1.svg
  26. 35
      elements/hair/10.svg
  27. 213
      elements/hair/11.svg
  28. 66
      elements/hair/12.svg
  29. 63
      elements/hair/13.svg
  30. 35
      elements/hair/14.svg
  31. 213
      elements/hair/15.svg
  32. 35
      elements/hair/2.svg
  33. 213
      elements/hair/3.svg
  34. 66
      elements/hair/4.svg
  35. 63
      elements/hair/5.svg
  36. 35
      elements/hair/6.svg
  37. 213
      elements/hair/7.svg
  38. 66
      elements/hair/8.svg
  39. 63
      elements/hair/9.svg
  40. 38
      elements/mouth/1.svg
  41. 31
      elements/mouth/2.svg
  42. 32
      index.html
  43. 79
      save.php

1
.gitignore

@ -0,0 +1 @@
/.idea

55
assets/css/custom.css

@ -0,0 +1,55 @@
body{
width:100%;
height:100%;
}
ul{
list-style:none;
}
#container{
width:450px;
height:400px;
margin:0 auto;
border:1px solid #ccc;
border-radius: 3px;
padding:5px;
position: relative;
}
#tete{
/*en haut à gauche*/
position: absolute;
width:154px;
height:154px;
top: 4px;
left: 4px;
border: 2px solid #CCC;
padding:2px;
}
#elements{
/*en haut à droite*/
position: absolute;
top: 4px;
right: 4px;
border: 2px solid #CCC;
padding:2px;
overflow:auto;
}
#elements li{
float:left;
}
#colors{
/* en bas à droite */
position: absolute;
bottom: 4px;
right: 4px;
border: 2px solid #CCC;
padding:2px;
overflow:auto;
}
#colors li{
float:left;
}

97
assets/css/main.css

@ -0,0 +1,97 @@
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
/*font: inherit;*/
vertical-align: baseline;
}
body{
width:100%;
height:100%;
}
ul{
list-style:none;
}
#container{
width:450px;
height:400px;
margin:0 auto;
border:1px solid #ccc;
border-radius: 3px;
padding:5px;
position: relative;
}
#tete{
/*en haut à gauche*/
position: absolute;
width:154px;
height:154px;
top: 4px;
left: 4px;
border: 2px solid #CCC;
padding:2px;
}
#elements{
/*en haut à droite*/
position: absolute;
top: 4px;
right: 4px;
border: 2px solid #CCC;
padding:2px;
overflow:auto;
width: 280px;
}
#elements li{
float:left;
padding:0 10px;
}
#colors{
/* en bas à droite */
position: absolute;
bottom: 4px;
right: 4px;
border: 2px solid #CCC;
padding:2px;
overflow:auto;
width: 280px;
}
#colors li{
float:left;
padding:0 10px;
}
#element{
/* milieu droite */
position: absolute;
top: 90px;
right: 4px;
border: 2px solid #CCC;
padding:2px;
width: 280px;
height: 240px;
}
#save{
/* sous l'image */
position: absolute;
top: 180px;
left: 4px;
}
.button{
/* joli style de bouton :) */
}

2
assets/js/jquery-3.4.1.min.js

File diff suppressed because one or more lines are too long

30
assets/js/main.js

@ -0,0 +1,30 @@
const save_button = document.getElementById("save");
let pseudo = document.getElementById("pseudo");
save_button.onclick = function(evt) {
evt.preventDefault();
pseudo_value = pseudo.value;
let pseudo_sha1 = sha1(pseudo_value);
let hashed_pseudo = str_split(pseudo_sha1, 7);
const elements = ['eyes', 'hair', 'mouth'];
for (let j in elements) {
let element = elements[j];
$.ajax('choix.php', {
'dataType' : 'text',
'data' : { 'element' : element, 'hash': hashed_pseudo[j] },
'success' : function(data) {
document.getElementById(element).innerSVG = data;
document.getElementById(element).innerHTML = data;
}
});
}
//
// fetch('generate.php?pseudo='+encodeURIComponent(pseudo.value), {
// method: 'get'
// })
// .then(response => response.json())
// .then(jsonData => img.src = "data:image/png;base64,"+jsonData.image)
// .catch(err => {
// //error block
// });
};

154
assets/js/sha1.js

@ -0,0 +1,154 @@
function sha1 (str) {
// discuss at: https://locutus.io/php/sha1/
// original by: Webtoolkit.info (https://www.webtoolkit.info/)
// improved by: Michael White (https://getsprink.com)
// improved by: Kevin van Zonneveld (https://kvz.io)
// input by: Brett Zamir (https://brett-zamir.me)
// note 1: Keep in mind that in accordance with PHP, the whole string is buffered and then
// note 1: hashed. If available, we'd recommend using Node's native crypto modules directly
// note 1: in a steaming fashion for faster and more efficient hashing
// example 1: sha1('Kevin van Zonneveld')
// returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'
var hash
try {
var crypto = require('crypto')
var sha1sum = crypto.createHash('sha1')
sha1sum.update(str)
hash = sha1sum.digest('hex')
} catch (e) {
hash = undefined
}
if (hash !== undefined) {
return hash
}
var _rotLeft = function (n, s) {
var t4 = (n << s) | (n >>> (32 - s))
return t4
}
var _cvtHex = function (val) {
var str = ''
var i
var v
for (i = 7; i >= 0; i--) {
v = (val >>> (i * 4)) & 0x0f
str += v.toString(16)
}
return str
}
var blockstart
var i, j
var W = new Array(80)
var H0 = 0x67452301
var H1 = 0xEFCDAB89
var H2 = 0x98BADCFE
var H3 = 0x10325476
var H4 = 0xC3D2E1F0
var A, B, C, D, E
var temp
// utf8_encode
str = unescape(encodeURIComponent(str))
var strLen = str.length
var wordArray = []
for (i = 0; i < strLen - 3; i += 4) {
j = str.charCodeAt(i) << 24 |
str.charCodeAt(i + 1) << 16 |
str.charCodeAt(i + 2) << 8 |
str.charCodeAt(i + 3)
wordArray.push(j)
}
switch (strLen % 4) {
case 0:
i = 0x080000000
break
case 1:
i = str.charCodeAt(strLen - 1) << 24 | 0x0800000
break
case 2:
i = str.charCodeAt(strLen - 2) << 24 | str.charCodeAt(strLen - 1) << 16 | 0x08000
break
case 3:
i = str.charCodeAt(strLen - 3) << 24 |
str.charCodeAt(strLen - 2) << 16 |
str.charCodeAt(strLen - 1) <<
8 | 0x80
break
}
wordArray.push(i)
while ((wordArray.length % 16) !== 14) {
wordArray.push(0)
}
wordArray.push(strLen >>> 29)
wordArray.push((strLen << 3) & 0x0ffffffff)
for (blockstart = 0; blockstart < wordArray.length; blockstart += 16) {
for (i = 0; i < 16; i++) {
W[i] = wordArray[blockstart + i]
}
for (i = 16; i <= 79; i++) {
W[i] = _rotLeft(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1)
}
A = H0
B = H1
C = H2
D = H3
E = H4
for (i = 0; i <= 19; i++) {
temp = (_rotLeft(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff
E = D
D = C
C = _rotLeft(B, 30)
B = A
A = temp
}
for (i = 20; i <= 39; i++) {
temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff
E = D
D = C
C = _rotLeft(B, 30)
B = A
A = temp
}
for (i = 40; i <= 59; i++) {
temp = (_rotLeft(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff
E = D
D = C
C = _rotLeft(B, 30)
B = A
A = temp
}
for (i = 60; i <= 79; i++) {
temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff
E = D
D = C
C = _rotLeft(B, 30)
B = A
A = temp
}
H0 = (H0 + A) & 0x0ffffffff
H1 = (H1 + B) & 0x0ffffffff
H2 = (H2 + C) & 0x0ffffffff
H3 = (H3 + D) & 0x0ffffffff
H4 = (H4 + E) & 0x0ffffffff
}
temp = _cvtHex(H0) + _cvtHex(H1) + _cvtHex(H2) + _cvtHex(H3) + _cvtHex(H4)
return temp.toLowerCase()
}

30
assets/js/str_split.js

@ -0,0 +1,30 @@
function str_split (string, splitLength) {
// eslint-disable-line camelcase
// discuss at: https://locutus.io/php/str_split/
// original by: Martijn Wieringa
// improved by: Brett Zamir (https://brett-zamir.me)
// bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
// revised by: Theriault (https://github.com/Theriault)
// revised by: Rafał Kukawski (https://blog.kukawski.pl)
// input by: Bjorn Roesbeke (https://www.bjornroesbeke.be/)
// example 1: str_split('Hello Friend', 3)
// returns 1: ['Hel', 'lo ', 'Fri', 'end']
if (splitLength === null) {
splitLength = 1
}
if (string === null || splitLength < 1) {
return false
}
string += ''
var chunks = []
var pos = 0
var len = string.length
while (pos < len) {
chunks.push(string.slice(pos, pos += splitLength))
}
return chunks
}

20
choix.php

@ -0,0 +1,20 @@
<?php
if (empty($_GET['element']) || empty($_GET['hash'])) {
die('non');
}
$element_type = $_GET['element'];
$hash = strtolower($_GET['hash']);
$file = hexdec($hash[0]);
$color = substr($hash, 1);
$element = sprintf('elements/%s/%s.svg', $element_type, $file);
while (!file_exists($element)) {
$file--;
$element = sprintf('elements/%s/%s.svg', $element_type, $file);
}
$svg = file_get_contents($element);
$svg = str_replace('class="colored"', 'fill="#'.$color.'"', $svg);
echo $svg;

61
elements/base.svg

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg8"
version="1.1"
viewBox="0 0 39.6875 39.6875"
height="150"
width="150"
sodipodi:docname="base.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview5"
showgrid="false"
inkscape:zoom="1.3906433"
inkscape:cx="-166.7682"
inkscape:cy="18.929672"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<g
id="layer1">
<circle
transform="matrix(2.489507,0.000000,0.000000,2.489507,0.097525,-699.793430)"
style="fill:none;fill-opacity:1;stroke:#a60000;stroke-width:0.28104922;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path815"
cx="7.9178596"
cy="289.08212"
r="7.8428097" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

52
elements/eyes/1.svg

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata5288">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs5286" />
<g
id="layer1">
<g
id="g987">
<g
id="g1070">
<circle
style="stroke:#ffffff"
class="colored"
cx="46"
cy="75"
r="12"
id="circle1057"
transform="matrix(0.280330,0.000000,0.000000,0.280330,-0.793467,0.374526)" />
<circle
style="stroke:#ffffff"
class="colored"
cx="101.588"
cy="75"
r="12"
id="circle1059"
transform="matrix(0.280330,0.000000,0.000000,0.280330,-0.793467,0.374526)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

52
elements/eyes/10.svg

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata5288">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs5286" />
<g
id="layer1">
<g
id="g987">
<g
id="g1070">
<circle
style="stroke:#ffffff"
class="colored"
cx="46"
cy="75"
r="12"
id="circle1057"
transform="matrix(0.280330,0.000000,0.000000,0.280330,-0.793467,0.374526)" />
<circle
style="stroke:#ffffff"
class="colored"
cx="101.588"
cy="75"
r="12"
id="circle1059"
transform="matrix(0.280330,0.000000,0.000000,0.280330,-0.793467,0.374526)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

44
elements/eyes/11.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.6 KiB

52
elements/eyes/12.svg

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<g
id="layer1">
<g
id="g987">
<g
id="g1138">
<circle
id="circle1125"
r="7"
cy="75"
cx="44"
style="stroke:#ffffff"
class="colored"
transform="matrix(0.300498,0.000000,0.000000,0.300498,-1.794576,-1.131321)" />
<circle
id="circle1127"
r="7"
cy="75"
cx="98.5"
class="colored"
style="stroke:#ffffff"
transform="matrix(0.300498,0.000000,0.000000,0.300498,-1.794576,-1.131321)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

95
elements/eyes/13.svg

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg8"
version="1.1"
viewBox="0 0 39.6875 39.6875"
height="150"
width="150"
sodipodi:docname="4.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview5"
showgrid="false"
inkscape:zoom="3.9333333"
inkscape:cx="-19.497882"
inkscape:cy="61.74302"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<circle
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path827"
cx="11.637182"
cy="19.978285"
r="2.8252118"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path829"
cx="12.578919"
cy="18.498411"
r="0.87447029"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.32471588;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path831"
cx="11.60355"
cy="19.877384"
r="0.90810376"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path827-3"
cx="26.23411"
cy="19.574682"
r="2.8252118"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path829-6"
cx="27.175848"
cy="18.094809"
r="0.87447035"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.32471588;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path831-7"
cx="26.200478"
cy="19.473782"
r="0.90810376"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

35
elements/eyes/14.svg

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212"
id="path816" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 30.511366,20.403749 C 30.6459,16.636799 23.112001,16.905867 22.977467,20.269215"
id="path816-3" />
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

58
elements/eyes/15.svg

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<g
id="g864">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g864-6"
transform="matrix(-1,0,0,1,39.092252,-0.17205574)">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860-7"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816-5"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

44
elements/eyes/2.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.6 KiB

52
elements/eyes/3.svg

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<g
id="layer1">
<g
id="g987">
<g
id="g1138">
<circle
id="circle1125"
r="7"
cy="75"
cx="44"
style="stroke:#ffffff"
class="colored"
transform="matrix(0.300498,0.000000,0.000000,0.300498,-1.794576,-1.131321)" />
<circle
id="circle1127"
r="7"
cy="75"
cx="98.5"
class="colored"
style="stroke:#ffffff"
transform="matrix(0.300498,0.000000,0.000000,0.300498,-1.794576,-1.131321)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

95
elements/eyes/4.svg

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg8"
version="1.1"
viewBox="0 0 39.6875 39.6875"
height="150"
width="150"
sodipodi:docname="4.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview5"
showgrid="false"
inkscape:zoom="3.9333333"
inkscape:cx="-19.497882"
inkscape:cy="61.74302"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<circle
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path827"
cx="11.637182"
cy="19.978285"
r="2.8252118"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path829"
cx="12.578919"
cy="18.498411"
r="0.87447029"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.32471588;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path831"
cx="11.60355"
cy="19.877384"
r="0.90810376"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path827-3"
cx="26.23411"
cy="19.574682"
r="2.8252118"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path829-6"
cx="27.175848"
cy="18.094809"
r="0.87447035"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.32471588;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path831-7"
cx="26.200478"
cy="19.473782"
r="0.90810376"
transform="matrix(1.000000,0.000000,0.000000,1.000000,0.000000,0.000000)" />
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

35
elements/eyes/5.svg

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212"
id="path816" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 30.511366,20.403749 C 30.6459,16.636799 23.112001,16.905867 22.977467,20.269215"
id="path816-3" />
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

58
elements/eyes/6.svg

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<g
id="g864">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g864-6"
transform="matrix(-1,0,0,1,39.092252,-0.17205574)">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860-7"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816-5"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

59
elements/eyes/7.svg

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata9">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7" />
<g
transform="matrix(1,0,0,-1,0,40.236251)"
id="g864">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g864-6"
transform="rotate(-180,19.546126,20.204152)">
<ellipse
class="colored"
style="fill-opacity:1;stroke:none;stroke-width:0.55562496;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path860-7"
cx="12.155333"
cy="20.028732"
rx="1.2244524"
ry="0.75675321" />
<path
id="path816-5"
d="M 8.5438589,20.776746 C 8.4093248,17.009796 15.943224,17.278864 16.077758,20.642212 Z"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

38
elements/eyes/8.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.4 KiB

37
elements/eyes/9.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

63
elements/hair/1.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.7 KiB

35
elements/hair/10.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.7 KiB

213
elements/hair/11.svg

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata31">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs29" />
<g
transform="matrix(0.84215356,0,0,0.58275581,80.820441,23.310484)"
id="g990">
<g
id="layer1">
<g
id="g987">
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-23.871994"
id="circle911" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-75.568001"
cy="-31.500706"
id="circle913" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-93.752571"
cy="-31.500706"
id="circle915" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-91.543968"
cy="-23.871994"
id="circle917" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-87.12677"
cy="-15.87499"
id="circle919" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-11.062924"
id="circle921" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-71.441757"
cy="-9.7014246"
id="circle923" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-69.233994"
cy="-17.010473"
id="circle925" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-77.776596"
cy="-17.010473"
id="circle927" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-84.918167"
cy="-23.871994"
id="circle929" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-84.918167"
cy="-31.500706"
id="circle931" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-37.578823"
id="circle933" />
<ellipse
ry="2.406935"
rx="2.2094247"
style="stroke-width:0.06039456"
class="colored"
cx="-72.379921"
cy="-22.909399"
id="circle935" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-67.024559"
cy="-30.195034"
id="circle937" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-71.441757"
cy="-37.578823"
id="circle939" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-62.607357"
cy="-36.311874"
id="circle941" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-51.204815"
cy="-32.60107"
id="circle943" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-51.204815"
cy="-25.315435"
id="circle945" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-56.42461"
cy="-21.465958"
id="circle947" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-58.633205"
cy="-29.094673"
id="circle949" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-64.815971"
cy="-21.465958"
id="circle951" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-62.607357"
cy="-12.107461"
id="circle953" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

66
elements/hair/12.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.6 KiB

63
elements/hair/13.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.7 KiB

35
elements/hair/14.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.7 KiB

213
elements/hair/15.svg

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata31">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs29" />
<g
transform="matrix(0.84215356,0,0,0.58275581,80.820441,23.310484)"
id="g990">
<g
id="layer1">
<g
id="g987">
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-23.871994"
id="circle911" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-75.568001"
cy="-31.500706"
id="circle913" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-93.752571"
cy="-31.500706"
id="circle915" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-91.543968"
cy="-23.871994"
id="circle917" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-87.12677"
cy="-15.87499"
id="circle919" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-11.062924"
id="circle921" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-71.441757"
cy="-9.7014246"
id="circle923" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-69.233994"
cy="-17.010473"
id="circle925" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-77.776596"
cy="-17.010473"
id="circle927" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-84.918167"
cy="-23.871994"
id="circle929" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-84.918167"
cy="-31.500706"
id="circle931" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-37.578823"
id="circle933" />
<ellipse
ry="2.406935"
rx="2.2094247"
style="stroke-width:0.06039456"
class="colored"
cx="-72.379921"
cy="-22.909399"
id="circle935" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-67.024559"
cy="-30.195034"
id="circle937" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-71.441757"
cy="-37.578823"
id="circle939" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-62.607357"
cy="-36.311874"
id="circle941" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-51.204815"
cy="-32.60107"
id="circle943" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-51.204815"
cy="-25.315435"
id="circle945" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-56.42461"
cy="-21.465958"
id="circle947" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-58.633205"
cy="-29.094673"
id="circle949" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-64.815971"
cy="-21.465958"
id="circle951" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-62.607357"
cy="-12.107461"
id="circle953" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

35
elements/hair/2.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.7 KiB

213
elements/hair/3.svg

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150"
height="150"
viewBox="0 0 39.6875 39.6875"
version="1.1"
id="svg8">
<metadata
id="metadata31">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs29" />
<g
transform="matrix(0.84215356,0,0,0.58275581,80.820441,23.310484)"
id="g990">
<g
id="layer1">
<g
id="g987">
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-23.871994"
id="circle911" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-75.568001"
cy="-31.500706"
id="circle913" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-93.752571"
cy="-31.500706"
id="circle915" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-91.543968"
cy="-23.871994"
id="circle917" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-87.12677"
cy="-15.87499"
id="circle919" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-78.88089"
cy="-11.062924"
id="circle921" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-71.441757"
cy="-9.7014246"
id="circle923" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-69.233994"
cy="-17.010473"
id="circle925" />
<ellipse
ry="2.4060342"
rx="2.2085979"
style="stroke-width:0.06039456"
class="colored"
cx="-77.776596"
cy="-17.010473"
id="circle927" />