HgWebDir push permission denied error - mercurial

I have a new Fedora 12 server that I am attempting to set up Mercurial on. I have yum installed mercurial, and most things seem to work fine. However, after setting up hgwebdir.cgi through apache, I am unable to do an hg push to the only repo currently being hosted. The error I get back is:
searching for changes
abort: HTTP Error 500: Permission denied: .hg/store/lock
httpd is running as user apache
UID PID PPID C STIME TTY TIME CMD
root 1691 1 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1694 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1695 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1696 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1697 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1698 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1699 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1700 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
apache 1701 1691 0 13:19 ? 00:00:00 /usr/sbin/httpd
and I set permissions so that the apache user owns the whole repo and everything. In a last ditch attempt, I even made the repo globally writable.
[root#builds .hg]# ll
total 424K
drwxrwxrwx. 3 apache apache 4.0K 2010-04-19 14:43 .
drwxrwxrwx. 19 apache apache 4.0K 2010-04-15 13:33 ..
-rw-rw-rw-. 2 apache apache 57 2010-04-13 11:42 00changelog.i
-rw-rw-rw-. 1 apache apache 93 2010-04-16 15:33 branchheads.cache
-rw-rw-rw-. 1 apache apache 192K 2010-04-15 13:33 dirstate
-rw-r--r--. 1 apache apache 156 2010-04-19 14:43 hgrc
-rw-rw-rw-. 1 apache apache 42 2010-04-15 13:33 last-message.txt
-rw-rw-rw-. 2 apache apache 23 2010-04-13 11:42 requires
drwxrwxrwx. 4 apache apache 4.0K 2010-04-19 11:26 store
-rw-rw-rw-. 1 apache apache 45 2010-04-14 14:08 tags.cache
-rw-rw-rw-. 1 apache apache 7 2010-04-16 15:33 undo.branch
-rw-rw-rw-. 1 apache apache 192K 2010-04-16 15:33 undo.dirstate
[root#builds .hg]# cd store
[root#builds store]# ll
total 308K
drwxrwxrwx. 4 apache apache 4.0K 2010-04-19 11:26 .
drwxrwxrwx. 3 apache apache 4.0K 2010-04-19 14:43 ..
-rw-rw-rw-. 1 apache apache 20K 2010-04-16 15:33 00changelog.i
-rw-rw-rw-. 1 apache apache 81K 2010-04-16 15:33 00manifest.i
drwxrwxrwx. 17 apache apache 4.0K 2010-04-13 11:47 data
drwxrwxrwx. 3 apache apache 4.0K 2010-04-13 11:43 dh
-rw-rw-rw-. 2 apache apache 177K 2010-04-15 11:03 fncache
-rw-rw-rw-. 1 apache apache 67 2010-04-16 15:33 undo
I have a clone of the repo elsewhere on the machine running as a different user. If I set the the default value in the [paths] section of the clones hgrc file to the local filepath on the server, the push works fine, but if I switch it to use the url, I get the error every time.
Some possible quirks in how I've set this up... hgwebdir.cgi is sitting in /var/www/cgi-bin and the repo is a child of /opt/hg. I turned off suexec as well, and this doesn't seem to clear up the issue. The only line I added in the apache config to get hgwebdir running is:
ScriptAlias /hg "/var/www/cgi-bin/hgwebdir.cgi"
The hgweb.config is also in /var/www/cgi-bin and it's contents are:
[collections]
/opt/hg = /opt/hg
[trusted]
users = *
[web]
baseurl = /hg
push_ssl = false
allow_push = *
The repo browser is working fine, it's just push that doesn't work. Apache error_log doesn't have anything in about this error at all.

For me it was the permissions were set wrong on the server. A chown -R www-data /path/to/repo (on the server) fixed it all up for me... maybe this is different for you.
Good luck.

I had a similar problem on Ubuntu. The problem stopped when I loosened the permissions on the .hg directory.
I did a chmod -R 777 .hg from the repo directory. After that, everything worked. I still need to play around to find the minimally permissive option that permits pushes, but this works on our internal dev server.

Instead of 777, with the webserver running under the group apache, and your repositories in /opt/hg:
Execute sudo chown :apache /opt/hg -R to add the repositories to the apache group and sudo chmod g+w /opt/hg -R to give write access to the group. This way you just give enough permissions.
BTW under Ubuntu the apache process runs under www-data instead of apache.

It would appear to me that the repo is locked from the first auth, in wich it gets the changesets.
After getting the chagesets hg tries to authenticate again while, i suppose, the repo is still locked
Hg autehticates 3 times before failing (autenticação http: usuário goolic, senha **************)
hg push https://versoes.solidarp.com.br/hgweb.wsgi/home/solidarp/public_repos/profile_andre --verbose --debug
using https://versoes.solidarp.com.br/hgweb.wsgi/home/solidarp/public_repos/profile_andre
sending between command
autorização http requerida
domínio: soliDARP
usuário: goolic
senha:
autenticação http: usuário goolic, senha **************
enviando revisões para https://versoes.solidarp.com.br/hgweb.wsgi/home/solidarp/public_repos/profile_andre
sending capabilities command
autenticação http: usuário goolic, senha **************
capabilities: changegroupsubset lookup pushkey unbundle=HG10GZ,HG10BZ,HG10UN stream=65537 branchmap
sending heads command
autenticação http: usuário goolic, senha **************
procurando por mudanças
common changesets up to 000000000000
7 revisões encontradas
list of changesets:
3d58879c5dcc778704134804de35b0441412cb0f
a3e6697fa72c9a4e06030b61a84bd2a00427f26f
481ce6a7f0c58ed5b838fc86d1b93af6b857eaf1
afed11efb8e2716675a7a39baf3b8b57c8740f44
ba4d9574fd84311d3b894aea39e8338ad3b242cd
aea9b49b6a933a11d4801d0dbab0e5b07d70b2d2
9c1757572d3bac793332999e6966b1135bfaf844
empacotando mudanças: 0 trechos
empacotando mudanças: 1 trechos
empacotando mudanças: 2 trechos
empacotando mudanças: 3 trechos
empacotando mudanças: 4 trechos
empacotando mudanças: 5 trechos
empacotando mudanças: 6 trechos
empacotando mudanças: 7 trechos
empacotando mudanças: 8 trechos
empacotando mudanças: 9 trechos
empacotando mudanças: 10 trechos
empacotando mudanças: 11 trechos
empacotando mudanças: 12 trechos
empacotando mudanças: 13 trechos
empacotando mudanças: 14 trechos
empacotando mudanças: 15 trechos
empacotando mudanças: 16 trechos
empacotando mudanças: 17 trechos
empacotando mudanças: 18 trechos
empacotando mudanças: 19 trechos
empacotando mudanças: 20 trechos
empacotando mudanças: 21 trechos
empacotando manifestos: 0 trechos
empacotando manifestos: 1 trechos
empacotando manifestos: 2 trechos
empacotando manifestos: 3 trechos
empacotando manifestos: 4 trechos
empacotando manifestos: 5 trechos
empacotando manifestos: 6 trechos
empacotando manifestos: 7 trechos
empacotando manifestos: 8 trechos
empacotando manifestos: 9 trechos
empacotando manifestos: 10 trechos
empacotando manifestos: 11 trechos
empacotando manifestos: 12 trechos
empacotando manifestos: 13 trechos
empacotando manifestos: 14 trechos
empacotando manifestos: 15 trechos
empacotando manifestos: 16 trechos
empacotando manifestos: 17 trechos
empacotando manifestos: 18 trechos
empacotando manifestos: 19 trechos
empacotando manifestos: 20 trechos
empacotando manifestos: 21 trechos
empacotando arquivos: .project 0 trechos
empacotando arquivos: .project 1 trechos
empacotando arquivos: .project 2 trechos
empacotando arquivos: .project 3 trechos
empacotando arquivos: .settings/org.eclipse.jdt.core.prefs 4 trechos
empacotando arquivos: .settings/org.eclipse.jdt.core.prefs 5 trechos
empacotando arquivos: .settings/org.eclipse.jdt.core.prefs 6 trechos
empacotando arquivos: .settings/org.eclipse.jdt.core.prefs 7 trechos
empacotando arquivos: src/Transporte/Busao.java 8 trechos
empacotando arquivos: src/Transporte/Busao.java 9 trechos
empacotando arquivos: src/Transporte/Busao.java 10 trechos
empacotando arquivos: src/Transporte/Busao.java 11 trechos
empacotando arquivos: src/Transporte/Busao.java 12 trechos
empacotando arquivos: src/Transporte/Busao.java 13 trechos
empacotando arquivos: src/Transporte/Busao.java 14 trechos
empacotando arquivos: src/Transporte/Busao.java 15 trechos
empacotando arquivos: src/Transporte/Busao.java 16 trechos
empacotando arquivos: src/Transporte/Busao.java 17 trechos
empacotando arquivos: src/Transporte/Cidade.java 18 trechos
empacotando arquivos: src/Transporte/Cidade.java 19 trechos
empacotando arquivos: src/Transporte/Cidade.java 20 trechos
empacotando arquivos: src/Transporte/Cidade.java 21 trechos
empacotando arquivos: src/Transporte/Cidade.java 22 trechos
empacotando arquivos: src/Transporte/Cidade.java 23 trechos
empacotando arquivos: src/Transporte/Cidade.java 24 trechos
empacotando arquivos: src/Transporte/Cidade.java 25 trechos
empacotando arquivos: src/Transporte/Cidade.java 26 trechos
empacotando arquivos: src/Transporte/Cidade.java 27 trechos
empacotando arquivos: src/Transporte/Cidades.java 28 trechos
empacotando arquivos: src/Transporte/Cidades.java 29 trechos
empacotando arquivos: src/Transporte/Cidades.java 30 trechos
empacotando arquivos: src/Transporte/Cidades.java 31 trechos
empacotando arquivos: src/Transporte/Controle.java 32 trechos
empacotando arquivos: src/Transporte/Controle.java 33 trechos
empacotando arquivos: src/Transporte/Controle.java 34 trechos
empacotando arquivos: src/Transporte/Controle.java 35 trechos
empacotando arquivos: src/Transporte/Controle.java 36 trechos
empacotando arquivos: src/Transporte/Controle.java 37 trechos
empacotando arquivos: src/Transporte/Controle.java 38 trechos
empacotando arquivos: src/Transporte/Controle.java 39 trechos
empacotando arquivos: src/Transporte/Controle.java 40 trechos
empacotando arquivos: src/Transporte/Controle.java 41 trechos
empacotando arquivos: src/Transporte/Controle.java 42 trechos
empacotando arquivos: src/Transporte/Controle.java 43 trechos
empacotando arquivos: src/Transporte/Controle.java 44 trechos
empacotando arquivos: src/Transporte/Controle.java 45 trechos
empacotando arquivos: src/Transporte/Controle.java 46 trechos
empacotando arquivos: src/Transporte/Controle.java 47 trechos
empacotando arquivos: src/Transporte/Controle.java 48 trechos
empacotando arquivos: src/Transporte/Controle.java 49 trechos
empacotando arquivos: src/Transporte/Controle.java 50 trechos
empacotando arquivos: src/Transporte/Controle.java 51 trechos
empacotando arquivos: src/Transporte/Controle.java 52 trechos
empacotando arquivos: src/Transporte/Controle.java 53 trechos
empacotando arquivos: src/Transporte/Interface.java 54 trechos
empacotando arquivos: src/Transporte/Interface.java 55 trechos
empacotando arquivos: src/Transporte/Interface.java 56 trechos
empacotando arquivos: src/Transporte/Interface.java 57 trechos
empacotando arquivos: src/Transporte/Interface.java 58 trechos
empacotando arquivos: src/Transporte/Interface.java 59 trechos
empacotando arquivos: src/Transporte/Interface.java 60 trechos
empacotando arquivos: src/Transporte/Interface.java 61 trechos
empacotando arquivos: src/Transporte/Interface.java 62 trechos
empacotando arquivos: src/Transporte/Interface.java 63 trechos
empacotando arquivos: src/Transporte/Interface.java 64 trechos
empacotando arquivos: src/Transporte/Interface.java 65 trechos
empacotando arquivos: src/Transporte/Interface.java 66 trechos
empacotando arquivos: src/Transporte/Linha.java 67 trechos
empacotando arquivos: src/Transporte/Linha.java 68 trechos
empacotando arquivos: src/Transporte/Linha.java 69 trechos
empacotando arquivos: src/Transporte/Linha.java 70 trechos
empacotando arquivos: src/Transporte/Linha.java 71 trechos
empacotando arquivos: src/Transporte/Linha.java 72 trechos
empacotando arquivos: src/Transporte/Linha.java 73 trechos
empacotando arquivos: src/Transporte/Linha.java 74 trechos
empacotando arquivos: src/Transporte/Linha.java 75 trechos
empacotando arquivos: src/Transporte/Linha.java 76 trechos
empacotando arquivos: src/Transporte/Passagem.java 77 trechos
empacotando arquivos: src/Transporte/Passagem.java 78 trechos
empacotando arquivos: src/Transporte/Passagem.java 79 trechos
empacotando arquivos: src/Transporte/Passagem.java 80 trechos
empacotando arquivos: src/Transporte/Passagem.java 81 trechos
empacotando arquivos: src/Transporte/Passagem.java 82 trechos
empacotando arquivos: src/Transporte/Passagem.java 83 trechos
empacotando arquivos: src/Transporte/Passagem.java 84 trechos
empacotando arquivos: src/Transporte/Passagem.java 85 trechos
empacotando arquivos: src/Transporte/Passagem.java 86 trechos
empacotando arquivos: src/Transporte/Passagem.java 87 trechos
empacotando arquivos: src/Transporte/Passagem.java 88 trechos
empacotando arquivos: src/Transporte/Passagem.java 89 trechos
empacotando arquivos: src/Transporte/Viagem.java 90 trechos
empacotando arquivos: src/Transporte/Viagem.java 91 trechos
empacotando arquivos: src/Transporte/Viagem.java 92 trechos
empacotando arquivos: src/Transporte/Viagem.java 93 trechos
empacotando arquivos: src/Transporte/Viagem.java 94 trechos
empacotando arquivos: src/Transporte/Viagem.java 95 trechos
empacotando arquivos: src/Transporte/Viagem.java 96 trechos
sending unbundle command
sending 6254 bytes
autenticação http: usuário goolic, senha **************
abortado: HTTP Error 500: Permission denied: .hg/store/lock

It is an selinux issue.
I just got through the same issue
try this as root
echo 0> /selinux/enforce
and try again. that will disable selinux until reboot so to fix it permanently you will need to disable selinux or figure out how to disable this specific issue
here is where I found the solution
http://mercurial.808500.n3.nabble.com/Push-Denied-hg-store-lock-FC12-https-ldap-wsgi-td814854.html
selinux disabling info here
http://www.crypt.gen.nz/selinux/disable_selinux.html

Got to this thread trying to solve a similar error, on a slightly different setup (ubuntu, cgi file in the repositry base).
Long story short I had 2 major issues:
I ended up removing the baseurl option
options in hgrc and in hgweb.config do not seem to be always handled the same way.

I had a similar situation to #pete-brumm, but becasue I will be transitioning to a controlled region later, turning off SELinux isn't an option.
Turn SELinux off like Pete say and retry the action - if it works, you've isolated the issue. Turn it back on like this:
# echo 1> /selinux/enforce
Before turning SELinux off completely, try changing the security context where your repos are located:
# chcon -R -t httpd_sys_content_t /path/to/repo

One other possibility for those searching these archives.
I was running a WSGIDaemonProcess from apache, like so:
WSGIScriptAlias /hg /srv/www/hg/wsgiapp.py
WSGIDaemonProcess hgserve display-name=%{GROUP} user=hgrepo group=hgrepo \
threads=10 maximum-requests=1000 \
processes=2 umask=0007 inactivity-timeout=300
WSGIProcessGroup hgserve
So, in my case, the user:group owning the files in the repo should've been hgrepo:hgrepo, and, indeed, I had this right. Yet, sure enough, a quick experimental chmod 0777 revealed that the problem was somehow a standard ownership/permissions problem. Well, it turns out that I had another WSGIDaemonProcess in the apache config, for a different purpose altogether, pointing to a different location, and assigned a different processGroup, user, and group. Nevertheless, this (above) WSGIDaemonProcess was running as that other user:group, and, so, of course, it wasn't working. For now, I've just removed that other process, as it was only experimental anyway, but, fwiw, here's one for the archives.

Related

How to properly scale SVG (SVG is clipping)?

I'm trying to use this SVG:
<svg class="img-fluid" id="outputsvg" xmlns="http://www.w3.org/2000/svg" style="transform: matrix(1, 0, 0, 1, 16.4571, 36.0946); transform-origin: 50% 50%; cursor: move; max-height: none; transition: none 0s ease 0s;" width="1010" height="657" viewBox="0 0 20260 13200"><g id="l1zEqXlFURcLpqU3fGQvSiH" fill="rgb(0,0,0)" style="transform: none;"><g><path id="p1g1ALdrZ" d="M1930 13176 c0 -18 16 -29 30 -21 13 8 1 35 -16 35 -8 0 -14 -6 -14 -14z"></path><path id="pduVNP1hx" d="M2185 13140 c-4 -6 -4 -50 0 -96 9 -106 17 -108 88 -25 43 52 47 84 13 106 -33 22 -91 30 -101 15z"></path><path id="p6rZ45wEZ" d="M2071 13033 c1 -32 4 -69 8 -83 7 -22 8 -20 14 18 8 47 -1 122 -14 122 -5 0 -9 -26 -8 -57z"></path><path id="p15Wkt0VsD" d="M1923 13016 c-25 -26 -53 -120 -53 -176 0 -75 -46 -80 -64 -7 -12 46 -22 47 -29 5 -12 -68 -11 -402 1 -425 16 -29 15 -65 -3 -89 -8 -11 -15 -42 -15 -74 -2 -82 -18 -121 -58 -134 l-32 -11 21 -22 c19 -19 21 -27 14 -92 -6 -64 -9 -71 -29 -71 -11 -1 -32 -7 -46 -15 -39 -22 -46 -18 -60 31 -14 51 -9 61 35 66 47 5 39 32 -11 36 -33 2 -44 8 -53 28 -32 71 -64 -40 -57 -201 5 -135 25 -308 36 -315 8 -5 38 -195 59 -380 21 -177 34 -265 41 -270 4 -3 20 -79 35 -170 23 -137 29 -205 33 -404 4 -191 2 -240 -9 -246 -7 -5 -36 -12 -64 -15 -66 -9 -330 -65 -395 -84 -248 -71 -375 -125 -514 -217 -32 -21 -66 -43 -75 -49 -9 -5 -31 -22 -49 -37 -18 -16 -37 -28 -42 -28 -21 0 -221 -213 -246 -263 -9 -17 -31 -50 -49 -72 -17 -22 -44 -71 -59 -110 -15 -38 -41 -99 -58 -135 -46 -94 -87 -279 -88 -392 0 -28 -5 -48 -12 -50 -18 -6 -19 -639 0 -645 6 -3 12 -21 12 -41 0 -34 18 -140 39 -237 26 -119 33 -145 41 -145 4 0 14 -24 20 -52 7 -29 18 -64 25 -78 7 -14 15 -45 19 -70 9 -58 27 -111 45 -130 17 -18 81 -150 81 -167 0 -7 4 -13 8 -13 4 0 14 -17 21 -37 20 -57 74 -163 83 -163 4 0 17 -20 28 -44 11 -25 41 -75 66 -112 25 -37 54 -87 65 -110 10 -24 30 -53 44 -66 14 -12 37 -41 50 -65 14 -23 33 -48 43 -55 9 -7 29 -32 44 -55 15 -23 42 -52 59 -65 16 -12 39 -37 49 -53 11 -17 32 -38 47 -45 15 -8 69 -55 120 -105 50 -49 130 -121 177 -160 47 -38 86 -73 86 -77 0 -4 5 -8 11 -8 10 0 70 -47 154 -122 23 -21 47 -38 54 -38 6 0 30 -17 54 -38 23 -21 49 -41 58 -45 10 -3 53 -28 98 -56 44 -28 85 -51 91 -51 6 0 18 -4 28 -9 9 -4 35 -17 56 -27 22 -10 55 -31 74 -46 18 -15 57 -34 86 -42 29 -9 70 -30 92 -47 46 -37 73 -49 134 -59 25 -5 79 -24 120 -43 144 -66 228 -79 532 -81 289 -1 400 17 582 98 32 14 65 26 74 26 8 0 38 24 67 53 29 28 58 57 64 62 51 45 124 136 147 183 15 31 31 59 35 62 4 3 13 37 19 75 11 65 21 96 56 169 19 40 17 65 -7 84 -16 14 -22 35 -29 107 -10 103 -30 195 -42 195 -4 0 -8 6 -8 14 0 20 -36 129 -55 168 -21 40 -104 119 -163 154 -57 34 -194 74 -252 74 -51 0 -154 -33 -210 -68 -19 -12 -48 -43 -65 -69 -16 -26 -35 -54 -42 -61 -7 -7 -13 -18 -13 -23 0 -12 -67 -45 -108 -52 -86 -17 -406 87 -472 153 -11 11 -27 20 -36 20 -9 0 -28 8 -42 18 -15 10 -40 24 -57 32 -16 8 -56 35 -88 60 -33 25 -69 52 -80 60 -32 21 -197 169 -235 210 -17 19 -35 44 -38 55 -4 11 -18 30 -33 43 -78 69 -116 110 -148 158 -20 30 -40 54 -44 54 -5 0 -23 29 -40 66 -17 36 -42 77 -55 91 -22 23 -57 89 -93 173 -6 14 -20 39 -31 55 -36 56 -50 97 -50 151 0 79 -2 78 290 71 235 -7 309 -12 520 -37 52 -6 140 -15 195 -21 55 -5 140 -13 188 -18 130 -14 2003 -15 2162 -2 346 29 503 50 546 72 9 5 50 13 90 19 41 6 90 16 109 22 32 10 33 11 12 19 -13 5 -75 4 -140 -1 -233 -20 -280 -23 -306 -16 -25 6 -27 11 -24 44 3 34 1 37 -25 40 -36 4 -87 -31 -80 -57 3 -12 -2 -23 -14 -29 -10 -5 -185 -12 -400 -14 l-383 -5 -22 24 c-12 12 -32 23 -45 23 -13 0 -62 10 -109 21 -71 18 -92 20 -123 10 -43 -12 -202 -31 -273 -31 -41 0 -47 3 -50 23 -2 12 -13 26 -25 32 -77 33 38 45 447 44 370 -1 876 17 918 33 13 4 20 13 17 19 -5 7 -58 10 -154 9 -214 -3 -264 -1 -281 10 -13 9 -13 11 0 19 22 15 84 20 380 31 281 11 442 24 468 39 31 18 -43 19 -413 9 -466 -13 -548 -13 -847 -3 -184 6 -238 11 -238 21 0 15 39 21 183 28 53 3 105 9 115 14 9 5 136 12 282 15 313 8 412 19 451 51 24 21 41 23 178 29 83 4 182 11 219 17 37 5 103 14 146 21 93 13 124 33 79 50 -20 8 -85 8 -238 0 -447 -24 -662 -31 -928 -31 -260 0 -276 1 -282 19 -13 43 15 65 67 50 57 -16 102 -11 124 14 18 20 36 24 150 35 141 14 179 27 179 57 0 19 -6 20 -90 19 -69 -1 -102 -7 -137 -23 -52 -23 -89 -26 -169 -11 -59 10 -149 49 -149 64 0 16 -71 76 -96 82 -15 4 -34 -2 -55 -17 -44 -31 -109 -31 -174 0 -44 22 -165 133 -165 152 0 5 -40 49 -90 99 -67 69 -93 102 -101 133 -7 23 -20 49 -30 58 -31 28 -73 129 -73 178 -1 44 0 46 29 49 51 4 75 12 75 23 0 6 -38 49 -86 96 -58 58 -94 103 -112 141 -14 32 -32 63 -38 69 -15 16 -44 139 -44 187 0 19 6 47 12 62 11 23 10 28 -1 32 -8 3 -28 18 -44 34 -25 23 -33 43 -43 96 -6 37 -23 112 -38 167 -14 54 -26 109 -26 122 0 13 -4 23 -10 23 -5 0 -10 18 -10 41 0 36 -15 100 -41 170 -6 14 -21 37 -34 52 -29 31 -30 34 -10 53 20 21 19 41 -4 61 -16 13 -19 25 -14 64 7 59 -11 136 -39 166 -16 17 -19 30 -14 54 6 30 -18 89 -36 89 -13 0 -9 39 5 47 36 21 25 126 -17 168 -38 38 -50 78 -33 112 13 24 13 31 1 48 -8 10 -14 42 -14 71 0 41 -5 58 -28 86 -34 43 -73 211 -53 231 17 17 13 45 -9 59 -21 14 -27 43 -10 53 18 11 11 36 -20 75 -27 35 -29 43 -29 119 0 61 -4 92 -19 124 -12 24 -22 75 -26 120 -3 43 -10 86 -16 97 -5 10 -10 32 -10 49 0 17 -4 31 -9 31 -5 0 -11 28 -15 63 -8 92 -23 183 -31 197 -5 8 -28 9 -74 5 -106 -10 -111 -12 -111 -44 0 -41 -9 -61 -29 -61 -17 0 -61 50 -61 70 0 5 -6 10 -14 10 -22 0 -29 -100 -16 -240 6 -69 13 -133 16 -143 9 -28 -5 -87 -20 -87 -19 0 -23 15 -31 111 -4 46 -11 89 -15 94 -4 6 -11 44 -15 85 -3 41 -13 86 -21 102 -8 15 -14 56 -14 95 0 75 -9 143 -19 143 -3 0 -16 -11 -28 -24z m-57 -290 c8 -31 1 -79 -11 -83 -12 -4 -45 52 -45 76 0 38 46 44 56 7z m-216 -992 c13 -34 13 -111 -1 -120 -28 -17 -63 84 -46 131 10 24 36 18 47 -11z m100 -1986 c22 -41 5 -51 -86 -50 -89 1 -111 13 -74 43 59 45 136 49 160 7z m151 -550 c7 -13 15 -25 18 -28 11 -9 57 -122 76 -188 16 -55 17 -65 4 -73 -19 -12 -411 1 -469 16 -27 7 -46 18 -48 27 -3 15 37 66 96 121 35 34 254 146 284 147 18 0 31 -7 39 -22z m138 -348 c12 -6 21 -18 21 -27 0 -13 -8 -14 -52 -9 -29 4 -88 9 -130 13 -43 3 -78 9 -78 13 0 4 10 12 23 19 27 14 186 8 216 -9z m49 -158 c3 -10 -4 -13 -24 -10 -15 2 -29 9 -32 16 -3 10 4 13 24 10 15 -2 29 -9 32 -16z m1952 -602 c0 -23 -80 -26 -88 -2 -2 8 10 12 42 12 25 0 46 -4 46 -10z m323 -9 c18 -18 -11 -32 -58 -29 -34 3 -41 7 -43 27 -4 23 -2 24 43 19 26 -3 52 -11 58 -17z m-2233 -42 c0 -5 -9 -9 -20 -9 -22 0 -27 16 -7 23 15 5 27 -1 27 -14z m315 -14 c188 -21 265 -35 265 -47 0 -12 -137 -7 -315 11 -122 13 -155 23 -155 47 0 13 7 15 33 10 17 -3 95 -13 172 -21z m1005 -85 c0 -16 -7 -20 -30 -20 -49 0 -37 37 13 39 11 1 17 -6 17 -19z"></path><path id="pIGwaQ1Ba" d="M1490 12228 c0 -17 27 -44 36 -35 3 3 -3 16 -15 28 -16 18 -21 19 -21 7z"></path><path id="p49jB9PQa" d="M5743 8653 c-21 -8 -15 -43 7 -43 29 0 70 21 70 37 0 13 -50 17 -77 6z"></path><path id="p16WqsLHzF" d="M5137 8601 c-40 -5 -74 -14 -84 -24 -15 -15 -14 -16 11 -23 15 -3 86 -2 158 4 122 10 164 21 140 36 -17 11 -154 15 -225 7z"></path><path id="pNQJFLDID" d="M4718 8591 c-68 -7 -77 -14 -46 -35 49 -32 270 -29 302 4 34 35 -87 49 -256 31z"></path><path id="pa3zUtl9C" d="M4827 8502 c-10 -2 -16 -9 -14 -15 5 -16 36 -22 48 -10 13 13 -11 31 -34 25z"></path><path id="p1AW5gL8fA" d="M5020 8490 c0 -5 16 -10 35 -10 19 0 35 5 35 10 0 6 -16 10 -35 10 -19 0 -35 -4 -35 -10z"></path><path id="pVNxMxpZT" d="M4463 8483 c-34 -6 -28 -20 14 -34 23 -7 61 -9 104 -5 78 7 101 14 96 30 -4 11 -169 18 -214 9z"></path><path id="pBonj5uO9" d="M5278 8073 c12 -2 30 -2 40 0 9 3 -1 5 -23 4 -22 0 -30 -2 -17 -4z"></path><path id="pmyqrY3s3" d="M4210 7941 c0 -14 27 -21 76 -21 32 0 44 4 44 15 0 12 -13 15 -60 15 -33 0 -60 -4 -60 -9z"></path><path id="pNKO1LRoa" d="M17902 7595 c-360 -10 -415 -14 -429 -28 -15 -15 -16 -25 -4 -94 7 -43 17 -79 22 -81 5 -2 9 -10 9 -18 0 -8 15 -79 34 -157 19 -78 37 -162 41 -186 4 -25 13 -50 20 -57 11 -12 85 -294 85 -327 0 -8 4 -17 10 -19 5 -1 16 -32 24 -68 24 -110 70 -285 76 -290 4 -3 26 -92 50 -197 24 -106 46 -193 50 -193 7 0 55 -186 80 -312 6 -32 15 -58 19 -58 4 0 15 -23 25 -50 10 -28 22 -53 28 -56 33 -20 1091 1 1293 25 225 28 347 60 477 126 147 74 268 182 328 290 18 33 36 62 40 65 5 3 17 33 29 67 46 135 56 458 20 598 -12 44 -26 103 -33 130 -6 28 -24 73 -39 100 -16 28 -35 65 -43 83 -7 18 -23 45 -34 60 -12 15 -37 52 -57 82 -64 98 -260 278 -355 326 -20 11 -56 35 -80 55 -36 30 -66 42 -180 73 -75 20 -151 36 -170 36 -18 0 -51 5 -73 10 -112 28 -203 40 -364 50 -97 6 -200 15 -230 21 -63 11 -113 10 -669 -6z m1027 -626 c52 -7 102 -21 129 -35 25 -13 50 -24 57 -24 7 0 20 -9 30 -20 10 -11 23 -20 29 -20 26 0 136 -123 168 -188 18 -37 35 -69 39 -72 17 -12 40 -137 45 -247 9 -151 -2 -182 -101 -286 -53 -56 -107 -78 -224 -89 -137 -13 -371 -5 -382 14 -5 7 -14 37 -20 66 -7 28 -15 52 -19 52 -5 0 -10 15 -13 33 -9 60 -77 311 -86 316 -10 7 -24 73 -46 226 -9 61 -22 130 -30 154 -18 55 -19 107 -2 118 35 23 255 24 426 2z"></path><path id="pupxqotTw" d="M11810 7570 c-63 -4 -208 -11 -323 -15 -156 -6 -210 -12 -219 -22 -14 -17 5 -138 32 -198 9 -22 34 -107 55 -190 21 -82 41 -152 45 -155 6 -5 35 -108 73 -260 11 -47 24 -87 27 -90 4 -3 26 -81 50 -175 24 -93 46 -172 50 -175 5 -3 27 -88 50 -190 24 -102 46 -187 50 -190 7 -5 72 -240 86 -310 3 -19 10 -37 13 -40 4 -3 15 -36 24 -75 10 -38 24 -76 33 -85 12 -12 59 -16 283 -18 286 -4 506 9 540 30 14 9 21 23 21 45 0 18 -4 33 -9 33 -5 0 -17 35 -26 78 -9 42 -26 111 -37 152 -11 41 -23 85 -25 98 -3 12 -9 22 -14 22 -5 0 -9 6 -9 13 1 22 -84 322 -93 328 -4 3 -26 77 -47 165 -22 87 -44 168 -49 179 -6 11 -29 90 -52 175 -23 85 -45 157 -49 160 -4 3 -18 50 -30 105 -29 129 -59 225 -69 225 -5 0 -11 10 -14 23 -28 129 -80 301 -98 321 -21 24 -97 48 -137 44 -9 -1 -69 -5 -132 -8z"></path><path id="pCYjMKKPS" d="M14439 7576 c-2 -2 -337 -7 -744 -11 -407 -4 -807 -10 -890 -14 l-150 -6 -3 -34 c-4 -34 37 -271 48 -281 8 -7 27 -75 63 -225 17 -71 35 -132 38 -135 6 -4 66 -238 84 -330 4 -19 11 -37 15 -40 5 -3 27 -79 49 -170 23 -90 45 -167 49 -170 5 -3 14 -32 21 -65 28 -133 72 -311 81 -330 6 -11 24 -80 40 -153 32 -141 39 -161 76 -201 l23 -24 1055 6 c854 5 1061 9 1084 19 25 13 27 17 25 73 -1 32 -7 61 -12 64 -5 4 -15 29 -21 56 -24 113 -71 285 -85 312 -8 15 -15 33 -15 40 0 6 -7 19 -17 28 -15 15 -68 17 -592 15 -693 -2 -768 0 -781 20 -5 8 -10 50 -10 93 l0 77 68 0 c240 1 786 13 885 20 122 8 147 17 147 54 1 26 -72 329 -80 336 -3 3 -14 26 -24 53 -10 26 -26 52 -36 57 -12 6 -224 10 -565 10 -351 0 -553 4 -565 10 -22 12 -45 80 -55 162 -6 44 -4 57 10 68 14 11 132 15 651 22 461 6 644 12 672 21 36 12 37 13 35 61 -1 32 -8 55 -21 70 -22 22 -40 81 -68 211 -9 44 -27 104 -40 133 -13 29 -24 56 -24 61 0 18 -84 30 -246 36 -94 3 -172 3 -175 1z"></path><path id="pvViZXaG1" d="M15545 7559 c-110 -3 -208 -7 -217 -8 -13 -1 -18 -10 -18 -28 -1 -32 71 -346 80 -353 4 -3 12 -34 19 -70 19 -93 70 -292 80 -311 21 -37 71 -203 71 -234 0 -41 20 -138 30 -145 7 -5 91 -345 90 -367 0 -7 5 -13 10 -13 6 0 10 -8 10 -17 0 -26 83 -387 91 -393 3 -3 9 -25 12 -50 9 -65 35 -147 52 -164 24 -24 105 -28 447 -24 299 3 325 5 356 23 25 15 32 26 32 51 0 18 -4 34 -8 36 -8 3 -52 166 -82 301 -7 31 -16 57 -20 57 -4 0 -13 28 -19 63 -21 111 -72 312 -80 317 -5 3 -25 82 -45 175 -21 94 -43 184 -51 200 -40 88 -77 304 -57 333 7 10 111 15 458 22 477 10 602 16 624 30 8 5 13 23 12 45 -2 45 -29 183 -42 210 -5 11 -20 65 -34 120 -41 160 -49 184 -65 192 -19 9 -1456 11 -1736 2z"></path><path id="peMf8lJn7" d="M3635 7540 c-150 -6 -175 -12 -175 -40 0 -18 46 -93 61 -98 5 -2 9 -8 9 -14 0 -14 81 -130 101 -145 9 -7 27 -32 39 -55 12 -24 37 -60 56 -80 18 -20 46 -56 61 -80 15 -24 33 -47 39 -53 6 -5 28 -34 48 -62 21 -29 41 -53 45 -53 3 0 26 -33 51 -72 24 -40 49 -76 56 -81 7 -4 27 -31 44 -60 18 -28 39 -59 46 -67 13 -14 72 -93 104 -140 8 -13 20 -28 26 -34 6 -6 23 -32 38 -58 15 -27 32 -48 37 -48 5 0 22 -24 39 -52 16 -29 42 -67 59 -85 16 -17 44 -55 62 -82 18 -28 36 -51 41 -51 4 0 8 -5 8 -10 0 -6 18 -35 40 -64 22 -29 40 -58 40 -63 0 -6 6 -13 14 -16 7 -3 25 -25 39 -49 14 -25 39 -58 54 -75 15 -16 41 -54 57 -84 27 -48 118 -176 136 -189 3 -3 25 -31 48 -62 38 -51 46 -57 89 -64 27 -5 197 -8 378 -9 424 0 396 -14 430 205 20 136 47 264 55 270 13 10 90 357 90 407 0 13 3 23 8 23 8 0 47 165 57 240 15 115 39 240 47 240 4 0 8 12 8 28 0 15 16 104 36 197 19 94 38 185 41 203 3 17 9 32 13 32 4 0 15 39 24 88 41 223 66 236 104 52 38 -182 66 -295 74 -301 5 -3 19 -52 32 -110 13 -57 32 -138 41 -179 10 -41 21 -77 24 -80 4 -3 26 -84 49 -180 24 -96 47 -184 52 -195 14 -28 70 -316 70 -356 0 -34 20 -111 31 -119 4 -3 14 -39 24 -80 40 -171 65 -258 90 -308 40 -82 51 -84 334 -79 130 3 418 7 641 11 725 11 763 14 924 90 161 76 255 156 301 256 48 102 66 249 45 359 -12 64 -57 177 -79 200 -9 10 -42 48 -75 84 -32 37 -63 67 -69 67 -6 0 -18 6 -26 14 -9 8 -53 33 -98 55 -45 23 -85 46 -89 52 -12 20 7 58 50 101 43 41 96 127 96 154 0 7 8 20 18 30 14 15 17 37 16 152 0 87 -4 136 -12 141 -16 9 -32 156 -32 293 0 96 -3 120 -17 134 -15 15 -47 16 -367 11 -193 -3 -364 -9 -379 -13 -53 -13 -62 -43 -58 -189 9 -327 7 -390 -13 -426 -10 -19 -35 -47 -54 -63 -32 -28 -41 -30 -161 -38 -69 -5 -186 -6 -259 -2 -132 6 -134 6 -145 33 -6 14 -14 28 -17 31 -10 10 -28 75 -55 195 -14 66 -31 129 -36 140 -5 11 -22 70 -38 130 -15 61 -36 125 -45 142 -27 53 -77 58 -446 46 -173 -5 -385 -6 -470 -2 -207 10 -717 -3 -747 -19 -18 -10 -23 -22 -23 -52 0 -22 -9 -56 -20 -76 -12 -20 -25 -59 -30 -88 -6 -31 -18 -58 -31 -68 -20 -17 -78 -25 -124 -19 -11 2 -180 6 -375 10 -195 4 -363 10 -372 15 -10 4 -20 16 -23 25 -3 9 -27 41 -55 71 -27 29 -56 68 -65 86 -8 18 -21 39 -28 46 -6 8 -19 27 -27 43 -13 25 -24 31 -65 37 -60 8 -395 7 -590 -2z m1533 -826 l92 -7 0 -31 c0 -17 -7 -78 -16 -136 -8 -58 -17 -126 -21 -153 -3 -26 -10 -50 -14 -53 -5 -3 -9 -14 -9 -25 0 -10 -6 -19 -14 -19 -15 0 -46 26 -46 38 0 4 -16 25 -36 47 -20 22 -48 58 -63 80 -14 22 -34 49 -44 60 -10 11 -32 44 -49 75 -17 30 -35 58 -40 61 -5 4 -8 17 -6 30 2 20 10 25 48 30 68 9 118 10 218 3z m2827 -428 c71 -19 123 -48 179 -101 47 -45 49 -48 54 -114 l4 -68 -45 -45 c-25 -25 -63 -52 -84 -59 -53 -19 -513 -20 -535 -1 -9 7 -19 31 -22 55 -11 68 -39 182 -47 187 -4 3 -10 30 -14 62 -7 52 -5 57 16 69 41 22 88 27 269 28 117 0 191 -4 225 -13z"></path><path id="pyot3NXBr" d="M9095 7541 c-64 -11 -68 -16 -62 -79 7 -65 67 -325 77 -332 4 -3 11 -21 15 -40 21 -101 67 -288 75 -305 10 -21 72 -270 84 -339 4 -21 12 -46 17 -55 5 -9 27 -90 49 -181 22 -91 44 -174 50 -185 5 -11 27 -96 50 -190 22 -93 45 -179 49 -190 16 -35 41 -118 41 -135 0 -9 7 -40 15 -68 15 -48 19 -52 58 -63 55 -16 1941 -14 1999 1 59 16 73 46 60 123 -20 110 -60 272 -75 302 -8 17 -25 54 -38 83 -12 29 -29 58 -37 65 -12 9 -155 12 -601 12 -670 0 -650 -2 -675 73 -9 26 -19 69 -22 97 -10 90 -41 84 471 94 248 5 459 12 470 16 64 21 67 26 60 80 -3 27 -12 62 -20 78 -8 15 -25 85 -40 155 -34 166 -46 193 -95 215 -35 15 -89 17 -497 17 -252 -1 -473 2 -490 6 -42 8 -48 17 -63 89 -7 33 -16 65 -20 70 -4 6 -27 89 -51 185 -23 96 -46 177 -50 180 -4 3 -15 34 -24 69 -23 90 -44 138 -63 147 -21 9 -663 14 -717 5z"></path><path id="pRLgLge5l" d="M6338 5483 c-23 -27 -83 -141 -109 -208 -29 -75 -55 -105 -89 -105 -38 0 -118 -29 -133 -48 -7 -10 -21 -22 -32 -28 -10 -6 -23 -25 -27 -42 -6 -22 -22 -39 -57 -61 -27 -16 -60 -43 -72 -60 -19 -25 -49 -48 -146 -108 -13 -7 -23 -21 -23 -29 0 -14 7 -15 48 -8 80 15 336 11 355 -5 19 -15 24 -115 8 -126 -5 -3 -96 -9 -203 -14 -212 -10 -278 -24 -314 -69 -21 -25 -25 -26 -177 -33 -87 -5 -166 -13 -178 -20 l-23 -12 23 -18 c12 -10 43 -21 69 -24 171 -24 359 -60 495 -95 88 -22 190 -45 227 -51 96 -15 154 -39 204 -86 46 -43 81 -117 92 -196 3 -23 10 -51 15 -62 4 -11 15 -67 24 -125 8 -58 19 -125 24 -150 46 -232 55 -276 61 -280 8 -6 36 -126 45 -190 13 -94 44 -232 55 -240 9 -6 68 -194 76 -240 4 -19 12 -44 18 -55 7 -11 18 -40 26 -65 7 -25 17 -49 20 -55 4 -5 17 -44 30 -85 13 -41 30 -86 37 -100 7 -14 13 -31 13 -38 0 -21 42 -186 50 -197 4 -5 13 -32 20 -60 7 -27 17 -54 21 -60 19 -21 8 -35 -26 -35 -63 0 -164 78 -165 127 0 44 -111 79 -161 53 -10 -6 -47 -15 -82 -20 -55 -8 -182 -40 -274 -68 -18 -6 -43 -18 -55 -26 -12 -9 -28 -16 -35 -16 -7 0 -34 -10 -61 -23 -133 -66 -193 -104 -258 -165 -64 -61 -72 -74 -94 -142 -12 -41 -27 -79 -32 -85 -4 -5 -8 -18 -8 -30 0 -11 -14 -58 -31 -105 -17 -47 -36 -104 -43 -127 -6 -23 -15 -45 -19 -49 -11 -11 -8 -134 3 -134 6 0 10 -9 10 -19 0 -44 41 -110 111 -179 40 -40 77 -72 82 -72 5 0 21 -8 35 -19 42 -29 233 -126 277 -141 22 -7 72 -28 110 -45 39 -18 86 -36 105 -40 19 -4 71 -17 115 -30 196 -58 398 -89 685 -105 96 -6 213 -15 260 -20 47 -6 149 -14 227 -19 l143 -8 57 -44 c32 -24 104 -90 160 -146 56 -57 105 -103 110 -103 5 0 20 -18 32 -40 30 -53 41 -59 206 -115 129 -44 145 -47 205 -41 130 13 289 78 321 130 10 16 21 47 24 68 4 21 11 38 16 38 5 0 9 14 9 30 0 17 -4 30 -9 30 -5 0 -12 19 -16 43 -4 23 -20 68 -36 100 -16 31 -34 77 -40 102 -6 25 -15 45 -19 45 -11 0 -31 76 -24 94 9 25 69 57 163 88 127 42 385 172 430 216 20 20 50 44 65 52 16 8 41 27 55 42 14 16 30 28 36 28 5 0 46 35 90 76 44 42 92 84 106 93 29 18 102 105 137 161 18 32 30 47 71 96 5 6 28 46 51 90 24 43 48 84 54 89 14 13 76 147 76 165 0 21 23 80 31 80 8 0 30 98 61 275 30 174 32 448 4 575 -25 116 -55 210 -66 210 -5 0 -21 23 -36 51 -25 50 -78 114 -138 168 -16 14 -50 47 -76 72 -26 25 -80 67 -121 94 -41 26 -87 65 -104 85 -28 35 -134 120 -150 120 -10 0 -92 69 -139 117 -23 24 -57 48 -76 54 -19 7 -69 36 -112 66 -42 29 -80 53 -85 53 -6 0 -18 9 -27 19 -10 11 -24 17 -31 15 -17 -7 -7 -43 16 -57 24 -15 24 -27 1 -27 -23 0 -122 96 -134 131 -4 9 -31 28 -62 43 -31 15 -56 32 -56 37 0 5 -5 9 -12 9 -6 0 -19 6 -27 14 -9 8 -70 42 -136 75 -66 34 -138 76 -160 95 -59 48 -184 123 -294 176 -35 16 -83 46 -107 65 -23 19 -45 35 -49 35 -3 0 -35 22 -71 50 -36 27 -76 53 -90 56 -33 8 -100 43 -140 71 -33 24 -140 73 -158 73 -6 0 -27 13 -46 29 -19 15 -45 31 -58 35 -12 4 -34 18 -50 30 -15 12 -61 43 -103 69 -48 30 -87 63 -108 92 -18 25 -41 49 -51 55 -10 5 -21 23 -25 39 -7 35 -20 47 -58 56 -15 4 -40 21 -55 38 -15 16 -44 48 -64 71 -21 22 -38 43 -38 47 0 11 -131 93 -171 107 -19 6 -50 12 -67 12 -18 0 -55 9 -84 20 -65 25 -81 25 -100 3z m1037 -900 c105 -52 176 -92 202 -114 10 -9 41 -27 68 -40 59 -28 199 -108 270 -154 47 -31 136 -75 150 -75 13 0 170 -122 185 -144 8 -11 36 -41 63 -66 50 -49 56 -60 32 -60 -9 0 -15 -9 -15 -24 0 -35 -15 -40 -63 -23 -23 8 -70 18 -104 21 -57 5 -134 34 -298 112 -28 13 -56 24 -63 24 -16 0 -134 58 -193 95 -23 15 -81 47 -129 71 -47 24 -97 55 -110 70 -14 14 -35 30 -47 35 -12 4 -32 28 -44 51 -12 24 -30 54 -40 67 -22 27 -25 61 -6 61 10 0 91 -40 267 -132 25 -12 72 -35 105 -50 33 -14 69 -35 79 -47 18 -20 56 -28 69 -15 12 13 -13 41 -42 47 -16 3 -57 30 -91 59 -34 29 -77 62 -95 73 -18 11 -53 36 -79 54 -25 19 -79 53 -119 74 -76 42 -107 64 -107 79 0 17 63 -3 155 -49z m136 -888 c19 -8 41 -19 49 -25 26 -16 244 -117 270 -125 14 -4 43 -20 65 -34 66 -42 70 -45 122 -73 27 -15 62 -43 77 -62 15 -20 33 -36 40 -36 18 0 232 -144 273 -182 18 -17 48 -41 67 -52 42 -26 216 -167 216 -175 0 -4 22 -30 49 -59 70 -74 76 -98 76 -292 0 -154 -2 -168 -24 -210 -13 -25 -30 -49 -37 -53 -8 -4 -14 -12 -14 -16 0 -18 -73 -116 -93 -127 -12 -6 -42 -22 -67 -34 -25 -13 -54 -31 -66 -41 -11 -11 -42 -26 -70 -35 -27 -9 -53 -20 -59 -24 -23 -17 -174 -40 -265 -40 -90 0 -101 2 -127 24 -17 14 -35 44 -42 68 -7 24 -16 45 -20 48 -4 3 -22 48 -40 100 -18 52 -42 111 -54 130 -11 19 -28 73 -38 120 -25 121 -55 223 -78 262 -18 31 -41 108 -70 238 -7 30 -16 64 -21 75 -5 11 -18 63 -31 115 -12 52 -33 126 -46 164 -12 38 -23 77 -23 87 0 9 -4 19 -9 21 -9 3 -71 222 -71 248 0 14 22 12 61 -5z"></path><path id="p4LCLMGOM" d="M15500 4862 c-107 -7 -120 -12 -120 -40 0 -38 52 -296 61 -302 10 -7 32 -96 69 -272 17 -79 34 -152 40 -163 5 -11 20 -65 34 -120 13 -55 31 -125 40 -155 9 -30 16 -70 16 -87 0 -18 4 -33 9 -33 5 0 28 -77 51 -172 22 -95 45 -177 49 -183 5 -5 14 -32 19 -60 40 -186 84 -365 96 -390 8 -16 22 -56 32 -89 29 -92 11 -88 422 -94 551 -7 1003 23 1212 82 47 13 137 48 200 79 91 44 128 68 180 119 91 88 116 122 158 208 21 41 39 77 42 80 20 18 32 107 37 273 5 157 3 202 -12 273 -10 46 -21 84 -25 84 -5 0 -11 19 -15 42 -4 23 -49 126 -101 228 -92 186 -93 187 -181 267 -105 97 -248 203 -273 203 -5 0 -38 15 -72 33 -69 37 -121 57 -213 81 -33 9 -100 28 -150 42 -167 47 -266 55 -740 60 -242 2 -528 5 -635 7 -107 1 -211 1 -230 -1z m1335 -612 c102 -19 188 -51 240 -90 62 -47 125 -110 125 -125 0 -3 13 -23 29 -46 16 -22 32 -53 36 -68 3 -16 15 -38 26 -50 18 -19 22 -43 30 -159 11 -166 3 -216 -49 -291 -31 -45 -52 -62 -113 -93 -88 -45 -132 -55 -270 -64 -119 -7 -242 7 -269 31 -10 9 -24 36 -31 61 -7 24 -17 44 -21 44 -4 0 -8 8 -8 19 0 10 -11 67 -25 127 -14 60 -32 141 -40 179 -8 39 -19 79 -25 90 -13 30 -58 228 -70 318 -14 93 -2 123 52 130 53 8 317 -1 383 -13z"></path><path id="pgNfxbzl3" d="M11265 4851 c-295 -8 -278 2 -310 -184 -27 -156 24 -141 -492 -142 -479 0 -456 -3 -493 57 -9 16 -32 45 -52 66 -19 20 -43 51 -54 67 -10 17 -31 44 -46 60 -15 17 -28 33 -28 36 0 3 -18 12 -40 19 -49 16 -688 8 -733 -9 -23 -9 -27 -15 -22 -34 8 -27 52 -94 82 -125 12 -13 37 -47 55 -75 18 -29 38 -55 44 -60 7 -4 27 -31 45 -60 17 -28 42 -61 54 -72 12 -11 39 -45 58 -75 20 -30 54 -75 74 -99 21 -24 42 -51 47 -60 5 -9 20 -27 32 -39 13 -13 35 -45 50 -70 15 -26 40 -59 56 -75 15 -15 28 -31 28 -35 0 -5 18 -28 40 -50 22 -23 45 -52 51 -65 7 -12 29 -40 50 -62 21 -22 55 -65 75 -95 20 -30 42 -59 48 -65 7 -5 32 -39 57 -75 24 -36 56 -77 71 -91 14 -15 34 -41 43 -59 9 -17 30 -45 46 -62 16 -17 29 -35 29 -40 0 -8 55 -93 70 -108 3 -3 25 -32 49 -65 25 -33 53 -66 63 -73 10 -7 24 -28 32 -45 7 -18 33 -54 57 -82 25 -27 58 -68 74 -90 16 -22 32 -42 35 -45 3 -3 19 -22 34 -42 42 -57 66 -60 394 -54 351 7 398 11 418 40 21 30 50 130 59 201 4 33 10 62 14 65 9 7 46 174 71 320 11 69 25 134 30 145 5 11 21 81 35 155 29 151 65 292 75 300 10 7 30 116 30 160 0 67 58 400 69 400 15 0 67 326 58 362 -11 41 -22 41 -532 29z m-457 -846 c22 -25 30 -85 12 -85 -5 0 -10 -17 -10 -37 0 -36 -23 -181 -33 -213 -3 -8 -8 -27 -11 -42 -5 -23 -12 -28 -35 -28 -22 0 -35 10 -65 54 -21 30 -45 64 -54 75 -9 10 -24 28 -33 39 -9 11 -29 40 -43 65 -15 25 -34 48 -42 51 -8 3 -27 31 -41 62 -37 81 -32 84 172 84 160 0 162 0 183 -25z"></path><path id="pxhpbx6xl" d="M12420 4853 c-69 -2 -135 -5 -148 -8 -41 -10 -51 -48 -93 -372 -11 -87 -24 -160 -28 -163 -4 -3 -11 -36 -14 -75 -8 -84 -31 -264 -58 -438 -10 -70 -19 -138 -19 -152 0 -14 -4 -25 -9 -25 -5 0 -11 -21 -14 -47 -3 -27 -23 -194 -43 -373 -21 -179 -42 -326 -46 -328 -4 -2 -8 -36 -8 -75 0 -107 -20 -101 377 -105 213 -2 346 1 372 8 45 12 57 36 67 129 3 31 9 65 14 76 5 11 16 94 24 185 29 311 66 625 76 642 6 10 10 29 10 43 0 41 28 43 61 5 16 -18 29 -38 29 -46 0 -7 4 -14 9 -16 4 -1 27 -42 49 -89 22 -48 45 -90 51 -94 7 -3 30 -43 52 -87 23 -45 48 -88 56 -97 17 -16 83 -152 83 -169 0 -6 6 -17 13 -24 7 -7 28 -44 47 -81 19 -37 43 -77 53 -87 9 -11 17 -21 17 -24 0 -3 18 -42 39 -88 52 -109 106 -161 184 -178 38 -7 164 -10 395 -8 363 3 380 6 366 52 -11 37 -65 151 -74 156 -12 7 -102 160 -135 227 -14 28 -25 61 -25 72 0 11 -13 34 -30 51 -16 17 -49 65 -72 108 -23 42 -51 86 -61 98 -10 12 -31 49 -47 82 -16 34 -34 68 -40 74 -16 18 -99 156 -156 258 -26 47 -54 92 -62 100 -8 8 -27 42 -42 75 -15 33 -34 68 -42 76 -9 8 -34 51 -57 95 -22 43 -46 85 -52 92 -6 7 -32 50 -57 95 -25 45 -51 87 -57 94 -7 6 -29 45 -49 87 -21 42 -42 76 -46 76 -5 0 -22 29 -39 64 -17 36 -44 78 -60 95 l-30 30 -303 3 c-167 2 -359 2 -428 1z"></path><path id="pA51MyldE" d="M14231 4853 c-183 -4 -201 -10 -201 -66 0 -35 69 -320 80 -327 4 -3 17 -54 29 -115 41 -205 65 -310 72 -315 3 -3 13 -34 22 -70 31 -136 70 -275 77 -280 11 -7 68 -215 91 -330 7 -36 16 -68 21 -71 4 -3 11 -39 14 -81 5 -60 10 -77 24 -81 18 -5 50 -142 50 -216 0 -23 4 -41 8 -41 5 0 16 -19 25 -42 49 -118 55 -122 246 -126 190 -5 566 15 600 31 22 11 26 19 24 55 -2 48 -48 232 -68 277 -8 17 -35 111 -61 210 -25 99 -50 185 -54 190 -5 6 -27 84 -50 175 -23 91 -45 167 -49 170 -7 4 -68 214 -87 295 -4 17 -11 35 -15 41 -5 6 -17 46 -27 90 -28 113 -61 224 -78 259 -8 17 -25 80 -39 140 -13 61 -31 130 -39 153 -28 78 -24 77 -250 78 -111 0 -275 -1 -365 -3z"></path></g></g></svg>
In this site:
Site Link
However, unfortunately, it seems to always cut off the right side and bottom side edges of the image, and I can't figure out how to fix it:
I've been trying to figure this out for the past 5 hours or so, so any help would be much appreciated.
I've made an example repl.it, with just the problematic bits:
Link to Repl.it
If anyone needs any more information, or has any suggestions, please, let me know!
Thanks!
You have some miss configuration in SVG.
I will only talk about the svg tag.
The class and the id attributes are useless, you load the SVG in an image tag, browser won't see these.
xmlns attribute is a classic for SVG.
style, your problem is here, you put some transformations on your SVG, cropping it on the right and the bottom (the transform part), and as for class and id, some styling will not be used by browser (like the cursor)
width and height may cause problems in resize, better to remove them.
viewBox, the great magic in SVG, always must be there.
To simplify, remove everything except xmlns and viewBox.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20260 13200">
Basic example with a patched SVG

having issue animating my svg file using css

I find this interesting documentation, that shows how to make an svg file animated.
https://css-tricks.com/svg-line-animation-works/
However, I am having issue with making my project look like it is being completed when open.
I want my project to animate similar to section 8 of the above doc.. Help please
[newbie]
https://jsfiddle.net/yoavf1bu/17/
.path {
stroke-dasharray: 50;
stroke-dashoffset: 500;
animation: dash 5s linear forwards;
}
#keyframes dash {
to {
stroke-dashoffset: 0;
}
}
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="500pt" height="500pt " viewBox="0 0 200.000000 1000.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,900.000000) scale(0.100000,-0.100000)"
>
<path class="path" stroke="#000000" stroke-width="25"
d="M3150 8544 c-208 -38 -355 -106 -479 -221 -40 -36 -75 -62 -80 -57
-4 5 -20 26 -35 48 -30 40 -93 75 -136 76 -41 0 -122 -44 -161 -86 -207 -230
-226 -724 -37 -939 53 -60 108 -88 175 -88 54 0 83 13 137 62 l29 26 -6 -75
c-20 -233 -161 -474 -261 -444 -37 11 -84 52 -132 117 -149 196 -182 227 -244
227 -61 0 -124 -53 -197 -167 -46 -73 -225 -423 -298 -583 -62 -135 -62 -136
-70 -128 -11 11 -57 268 -70 398 -34 315 -13 540 76 838 12 37 11 44 -1 52
-27 17 -54 -14 -110 -126 -65 -127 -111 -263 -144 -424 -70 -333 -90 -823 -41
-986 22 -76 48 -104 95 -104 48 0 86 30 142 114 23 33 42 62 43 64 1 1 18 -13
38 -33 39 -39 83 -47 110 -17 8 9 39 53 67 96 125 192 279 371 296 345 17 -29
17 -284 -1 -391 -34 -207 -88 -336 -244 -588 -174 -280 -289 -541 -337 -761
-14 -64 -19 -127 -19 -269 0 -171 2 -193 28 -293 54 -206 144 -388 284 -574
60 -81 77 -113 99 -183 57 -189 137 -405 254 -690 210 -508 252 -673 330
-1285 47 -366 77 -486 173 -685 91 -188 157 -268 198 -242 14 9 25 9 39 2 31
-17 50 -12 67 19 15 25 20 27 40 18 18 -8 27 -6 43 8 34 31 33 51 -9 148 -83
194 -90 278 -36 432 37 107 44 169 21 213 -19 37 -39 53 -121 97 -141 76 -140
74 -139 350 1 121 9 303 18 405 9 102 20 222 23 268 l6 82 -27 0 c-15 0 -29
-6 -31 -13 -11 -29 -46 -509 -52 -697 -9 -307 11 -367 145 -434 104 -52 132
-80 132 -127 0 -22 -12 -67 -26 -102 -36 -86 -52 -187 -42 -261 9 -68 41 -171
71 -231 19 -39 19 -40 0 -23 -40 36 -64 19 -56 -38 7 -46 -12 -50 -43 -9 -29
39 -48 44 -63 18 -10 -17 -12 -17 -27 2 -26 34 -132 257 -153 325 -33 99 -59
243 -92 500 -70 554 -120 761 -266 1120 -156 383 -186 459 -244 623 -32 92
-59 170 -59 174 0 3 35 -28 78 -68 265 -253 563 -473 1040 -769 l183 -113 63
-91 c472 -677 602 -958 831 -1791 36 -129 49 -155 79 -155 13 0 29 6 35 14 8
9 24 12 49 9 28 -4 44 0 65 17 15 12 27 28 27 36 0 9 11 14 30 14 17 0 39 9
51 21 27 27 23 73 -20 218 -41 139 -42 214 -1 319 45 118 54 169 40 222 -19
69 -64 105 -157 125 -43 9 -86 19 -96 23 -13 5 -36 51 -68 137 -110 289 -267
511 -462 658 -58 44 -245 163 -399 256 -15 9 -85 97 -155 196 -71 99 -190 266
-264 370 -273 382 -323 468 -322 560 1 64 18 116 141 415 86 210 113 320 113
470 0 152 -36 274 -120 403 -58 88 -118 143 -204 185 l-66 32 -25 82 c-44 144
-49 175 -43 271 14 262 212 597 411 699 60 31 143 35 192 10 103 -53 261 -257
461 -597 66 -111 75 -135 128 -320 68 -238 116 -377 157 -459 158 -315 449
-556 750 -621 75 -16 94 -13 101 17 7 24 -3 35 -151 151 -257 203 -474 482
-774 997 -82 141 -86 150 -141 350 -83 303 -133 452 -191 575 -63 133 -124
210 -197 250 -46 26 -64 30 -124 29 -90 -1 -161 -28 -275 -106 -424 -286 -879
-1098 -977 -1745 -22 -149 -22 -506 0 -663 19 -129 52 -304 63 -335 15 -43
-26 11 -90 118 -164 274 -225 555 -182 846 33 224 147 505 316 781 180 294
209 357 258 550 24 96 27 122 27 300 0 162 -3 201 -17 233 -13 29 -23 37 -43
37 -72 0 -150 -83 -340 -358 -73 -107 -78 -112 -95 -97 -10 9 -23 29 -30 45
-12 30 -7 43 161 395 62 131 189 366 229 426 45 65 103 119 129 119 30 0 67
-36 145 -139 130 -171 200 -222 283 -206 84 15 203 185 246 350 35 134 44 343
16 361 -17 10 -47 -7 -53 -30 -3 -12 -31 -46 -61 -76 -56 -52 -57 -52 -110
-48 -116 10 -196 133 -227 348 -35 249 68 546 214 621 64 33 113 10 166 -79
l19 -33 -38 -77 c-70 -141 -84 -292 -35 -364 18 -28 28 -33 68 -36 40 -3 48 0
71 28 15 17 31 47 37 68 17 61 12 199 -11 292 l-20 85 79 76 c61 59 100 87
173 123 173 85 368 115 529 81 121 -26 135 -25 135 5 0 38 -87 61 -245 65 -69
2 -136 1 -150 -1z m-543 -579 c6 -107 -9 -169 -42 -182 -64 -24 -62 177 2 302
l16 30 9 -25 c6 -14 12 -70 15 -125z m-1392 -987 c0 -195 4 -280 18 -368 21
-135 50 -277 70 -340 14 -44 13 -47 -16 -103 -34 -66 -102 -147 -123 -147 -7
0 -20 12 -28 28 -58 112 -45 624 24 963 17 85 51 219 54 219 1 0 1 -114 1
-252z m1622 -459 c126 -32 232 -221 353 -633 41 -139 46 -176 14 -114 -49 96
-206 311 -289 394 -107 107 -149 129 -248 122 -86 -5 -158 -42 -252 -130 -131
-122 -245 -322 -296 -517 -29 -114 -23 -268 15 -386 32 -101 32 -105 -2 -105
-45 0 -129 -29 -183 -61 -64 -40 -140 -126 -183 -208 -159 -305 -106 -641 119
-752 58 -28 71 -31 137 -27 93 5 169 39 243 109 164 155 176 350 44 728 -22
63 -37 116 -35 119 10 9 78 -42 127 -96 57 -64 120 -186 143 -278 9 -34 16
-103 16 -153 0 -158 -33 -275 -156 -562 -75 -177 -109 -301 -99 -367 13 -89
118 -256 464 -735 94 -131 171 -240 171 -242 0 -14 -465 291 -626 410 -197
145 -321 251 -475 405 l-146 145 -32 135 c-114 491 -115 903 -5 1295 36 129
145 396 225 558 252 502 591 882 844 943 65 16 59 16 112 3z m673 -1379 c204
-338 409 -592 625 -775 44 -38 82 -70 85 -72 3 -3 -9 -1 -25 3 -39 9 -232 107
-269 136 -128 101 -211 189 -281 298 -90 138 -129 233 -211 515 -10 32 8 8 76
-105z m-1290 -132 c92 -242 134 -450 112 -554 -24 -118 -86 -201 -192 -259
-48 -26 -65 -30 -130 -30 -65 1 -81 4 -122 30 -94 59 -151 186 -151 336 1 194
99 404 234 500 42 30 127 58 176 59 l41 0 32 -82z m1067 -2670 c146 -93 230
-157 306 -235 132 -134 244 -317 321 -525 61 -165 61 -165 189 -188 45 -8 79
-21 98 -37 25 -22 29 -31 29 -79 0 -36 -10 -80 -30 -132 -60 -158 -61 -195 -4
-396 19 -66 34 -126 34 -133 0 -19 -14 -16 -35 7 -11 12 -28 20 -39 18 -18 -3
-21 -11 -22 -51 0 -26 -4 -50 -8 -55 -10 -9 -36 27 -36 50 0 10 -7 21 -15 24
-22 9 -45 -14 -45 -44 0 -53 -19 -3 -70 183 -103 379 -211 676 -340 935 -93
188 -159 295 -423 692 -11 16 -16 28 -13 28 3 0 50 -28 103 -62z"/>
</g>
</svg>
There are two reasons in your application that interfere with work:
To animate drawing a line from zero to maximum, the condition must be met:
stroke-dasharray= stroke="dashofffset"
Your values are different
The SVG shape should be drawn with a single contour
You have a double contour:
I drew your shape in a vector editor with a single contour:
We will animate this contour in the same way as indicated in your link.
.path {
fill:none;
stroke:black;
stroke-width:4;
stroke-linecap:round;
stroke-dasharray: 3500;
stroke-dashoffset: 3500;
animation: dash 10s linear forwards infinite;
}
#keyframes dash {
to {
stroke-dashoffset: 0;
}
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="309" height="584 " viewBox="0 0 309 584">
<path class="path" d="M215 31s-13-3-20-3c-7 1-14 2-20 5-5 2-11 6-15 11-4 4-8 9-10 15-2 5-4 11-3 16 0 3 7 7 8 2 2-4 2-10 2-14-1-7-2-13-6-18-2-3-5-6-8-6-6 0-11 6-14 11-3 4-4 10-5 16v22c1 5 3 10 6 14 3 3 7 6 11 6s7-3 9-5 3-8 4-6c2 5 0 11-1 16l-4 14c-2 4-4 8-7 10s-5 4-8 3c-5 0-7-5-10-8l-7-10c-2-2-4-5-7-5-5 1-9 7-11 10l-7 13-11 22-10 21-7 10c-2 1-4 2-6 1s-3-6-3-9l-1-13v-19l3-21 3-17 6-16 5-9-3 16-3 19 1 20a368 368 0 0 0 4 26c1 4 2 9 5 12 1 2 2 5 4 5 3-1 4-5 6-8l5-8 6-7 4-5c2-2 3-4 5-3 3 0 3 5 4 7l-2 13-1 16-4 10-7 14-6 9-4 9-7 12-5 15-3 10-2 15 1 20 5 15 8 16 12 16 15 15 18 14 24 19 28 17 18 10 20 15 14 17 11 21 2 7 5 5h8c3 1 5 3 6 5v8c-2 5-5 9-5 14l2 12 3 11 1 5-3 2c-2 0-3-4-5-3v4l-1 4-4-1c-1-2 1-5-1-5s1 8-2 7c-4-2-6-20-6-20l-6-18-7-18-8-18-7-15-12-16-6-11-5-9-12-18-19-26-14-20-7-12-2-4c-1-8 2-13 4-20l5-10c2-6 6-13 7-19v-18c-1-6-2-12-5-18l-8-10c-5-3-11-6-17-5-6 0-11 3-16 7-5 6-8 14-10 22-1 6-2 13 0 19 1 5 3 10 8 13 6 4 11 4 16 2 6-2 11-6 15-11 2-3 3-8 3-13 0-8-2-15-4-23l-4-12-5-12-2-7a56 56 0 0 1 4-30 68 68 0 0 1 18-24c4-3 7-6 12-7 5 0 9 3 13 6 5 3 9 9 13 15 5 6 8 14 12 20l16 26 15 24a250 250 0 0 0 31 34l8 6 3 2c-4 1-10-1-15-3-6-2-10-6-16-10s-11-9-15-15c-5-5-7-12-10-19-4-8-6-16-8-25l-7-25c-3-12-6-24-11-35-3-6-7-13-11-16-3-2-7-3-10-3-5 0-10 2-15 4l-16 14-13 17-10 18-11 19s-8 17-10 26l-5 25-1 25a253 253 0 0 0 5 35c2 11 5 21 9 32 3 10 12 29 12 29l9 23a361 361 0 0 0 13 62l2 17 3 13 4 12 5 8c2 4 2 13 7 12 2 0-2-5 0-6 2 0 2 5 4 6l2-1c2-2-1-7 2-8 2-1 2 6 5 5 2 0 0-5-1-7l-4-9-1-11 3-12 2-6-2-6-10-5-6-8-1-13 1-16 1-15 2-20" />
</svg>
Do you want something like this:
.path {
stroke-dasharray: 60000;
stroke-dashoffset: 60000;
animation: dash 10s linear forwards infinite;
}
#keyframes dash {
to {
stroke-dashoffset: 0;
}
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="500pt" height="500pt " viewBox="0 0 200.000000 1000.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,900.000000) scale(0.100000,-0.100000)"
>
<path class="path" fill="white" stroke="black" stroke-width="25"
d="M3150 8544 c-208 -38 -355 -106 -479 -221 -40 -36 -75 -62 -80 -57
-4 5 -20 26 -35 48 -30 40 -93 75 -136 76 -41 0 -122 -44 -161 -86 -207 -230
-226 -724 -37 -939 53 -60 108 -88 175 -88 54 0 83 13 137 62 l29 26 -6 -75
c-20 -233 -161 -474 -261 -444 -37 11 -84 52 -132 117 -149 196 -182 227 -244
227 -61 0 -124 -53 -197 -167 -46 -73 -225 -423 -298 -583 -62 -135 -62 -136
-70 -128 -11 11 -57 268 -70 398 -34 315 -13 540 76 838 12 37 11 44 -1 52
-27 17 -54 -14 -110 -126 -65 -127 -111 -263 -144 -424 -70 -333 -90 -823 -41
-986 22 -76 48 -104 95 -104 48 0 86 30 142 114 23 33 42 62 43 64 1 1 18 -13
38 -33 39 -39 83 -47 110 -17 8 9 39 53 67 96 125 192 279 371 296 345 17 -29
17 -284 -1 -391 -34 -207 -88 -336 -244 -588 -174 -280 -289 -541 -337 -761
-14 -64 -19 -127 -19 -269 0 -171 2 -193 28 -293 54 -206 144 -388 284 -574
60 -81 77 -113 99 -183 57 -189 137 -405 254 -690 210 -508 252 -673 330
-1285 47 -366 77 -486 173 -685 91 -188 157 -268 198 -242 14 9 25 9 39 2 31
-17 50 -12 67 19 15 25 20 27 40 18 18 -8 27 -6 43 8 34 31 33 51 -9 148 -83
194 -90 278 -36 432 37 107 44 169 21 213 -19 37 -39 53 -121 97 -141 76 -140
74 -139 350 1 121 9 303 18 405 9 102 20 222 23 268 l6 82 -27 0 c-15 0 -29
-6 -31 -13 -11 -29 -46 -509 -52 -697 -9 -307 11 -367 145 -434 104 -52 132
-80 132 -127 0 -22 -12 -67 -26 -102 -36 -86 -52 -187 -42 -261 9 -68 41 -171
71 -231 19 -39 19 -40 0 -23 -40 36 -64 19 -56 -38 7 -46 -12 -50 -43 -9 -29
39 -48 44 -63 18 -10 -17 -12 -17 -27 2 -26 34 -132 257 -153 325 -33 99 -59
243 -92 500 -70 554 -120 761 -266 1120 -156 383 -186 459 -244 623 -32 92
-59 170 -59 174 0 3 35 -28 78 -68 265 -253 563 -473 1040 -769 l183 -113 63
-91 c472 -677 602 -958 831 -1791 36 -129 49 -155 79 -155 13 0 29 6 35 14 8
9 24 12 49 9 28 -4 44 0 65 17 15 12 27 28 27 36 0 9 11 14 30 14 17 0 39 9
51 21 27 27 23 73 -20 218 -41 139 -42 214 -1 319 45 118 54 169 40 222 -19
69 -64 105 -157 125 -43 9 -86 19 -96 23 -13 5 -36 51 -68 137 -110 289 -267
511 -462 658 -58 44 -245 163 -399 256 -15 9 -85 97 -155 196 -71 99 -190 266
-264 370 -273 382 -323 468 -322 560 1 64 18 116 141 415 86 210 113 320 113
470 0 152 -36 274 -120 403 -58 88 -118 143 -204 185 l-66 32 -25 82 c-44 144
-49 175 -43 271 14 262 212 597 411 699 60 31 143 35 192 10 103 -53 261 -257
461 -597 66 -111 75 -135 128 -320 68 -238 116 -377 157 -459 158 -315 449
-556 750 -621 75 -16 94 -13 101 17 7 24 -3 35 -151 151 -257 203 -474 482
-774 997 -82 141 -86 150 -141 350 -83 303 -133 452 -191 575 -63 133 -124
210 -197 250 -46 26 -64 30 -124 29 -90 -1 -161 -28 -275 -106 -424 -286 -879
-1098 -977 -1745 -22 -149 -22 -506 0 -663 19 -129 52 -304 63 -335 15 -43
-26 11 -90 118 -164 274 -225 555 -182 846 33 224 147 505 316 781 180 294
209 357 258 550 24 96 27 122 27 300 0 162 -3 201 -17 233 -13 29 -23 37 -43
37 -72 0 -150 -83 -340 -358 -73 -107 -78 -112 -95 -97 -10 9 -23 29 -30 45
-12 30 -7 43 161 395 62 131 189 366 229 426 45 65 103 119 129 119 30 0 67
-36 145 -139 130 -171 200 -222 283 -206 84 15 203 185 246 350 35 134 44 343
16 361 -17 10 -47 -7 -53 -30 -3 -12 -31 -46 -61 -76 -56 -52 -57 -52 -110
-48 -116 10 -196 133 -227 348 -35 249 68 546 214 621 64 33 113 10 166 -79
l19 -33 -38 -77 c-70 -141 -84 -292 -35 -364 18 -28 28 -33 68 -36 40 -3 48 0
71 28 15 17 31 47 37 68 17 61 12 199 -11 292 l-20 85 79 76 c61 59 100 87
173 123 173 85 368 115 529 81 121 -26 135 -25 135 5 0 38 -87 61 -245 65 -69
2 -136 1 -150 -1z m-543 -579 c6 -107 -9 -169 -42 -182 -64 -24 -62 177 2 302
l16 30 9 -25 c6 -14 12 -70 15 -125z m-1392 -987 c0 -195 4 -280 18 -368 21
-135 50 -277 70 -340 14 -44 13 -47 -16 -103 -34 -66 -102 -147 -123 -147 -7
0 -20 12 -28 28 -58 112 -45 624 24 963 17 85 51 219 54 219 1 0 1 -114 1
-252z m1622 -459 c126 -32 232 -221 353 -633 41 -139 46 -176 14 -114 -49 96
-206 311 -289 394 -107 107 -149 129 -248 122 -86 -5 -158 -42 -252 -130 -131
-122 -245 -322 -296 -517 -29 -114 -23 -268 15 -386 32 -101 32 -105 -2 -105
-45 0 -129 -29 -183 -61 -64 -40 -140 -126 -183 -208 -159 -305 -106 -641 119
-752 58 -28 71 -31 137 -27 93 5 169 39 243 109 164 155 176 350 44 728 -22
63 -37 116 -35 119 10 9 78 -42 127 -96 57 -64 120 -186 143 -278 9 -34 16
-103 16 -153 0 -158 -33 -275 -156 -562 -75 -177 -109 -301 -99 -367 13 -89
118 -256 464 -735 94 -131 171 -240 171 -242 0 -14 -465 291 -626 410 -197
145 -321 251 -475 405 l-146 145 -32 135 c-114 491 -115 903 -5 1295 36 129
145 396 225 558 252 502 591 882 844 943 65 16 59 16 112 3z m673 -1379 c204
-338 409 -592 625 -775 44 -38 82 -70 85 -72 3 -3 -9 -1 -25 3 -39 9 -232 107
-269 136 -128 101 -211 189 -281 298 -90 138 -129 233 -211 515 -10 32 8 8 76
-105z m-1290 -132 c92 -242 134 -450 112 -554 -24 -118 -86 -201 -192 -259
-48 -26 -65 -30 -130 -30 -65 1 -81 4 -122 30 -94 59 -151 186 -151 336 1 194
99 404 234 500 42 30 127 58 176 59 l41 0 32 -82z m1067 -2670 c146 -93 230
-157 306 -235 132 -134 244 -317 321 -525 61 -165 61 -165 189 -188 45 -8 79
-21 98 -37 25 -22 29 -31 29 -79 0 -36 -10 -80 -30 -132 -60 -158 -61 -195 -4
-396 19 -66 34 -126 34 -133 0 -19 -14 -16 -35 7 -11 12 -28 20 -39 18 -18 -3
-21 -11 -22 -51 0 -26 -4 -50 -8 -55 -10 -9 -36 27 -36 50 0 10 -7 21 -15 24
-22 9 -45 -14 -45 -44 0 -53 -19 -3 -70 183 -103 379 -211 676 -340 935 -93
188 -159 295 -423 692 -11 16 -16 28 -13 28 3 0 50 -28 103 -62z"/>
</g>
</svg>
Add fill="white" to the svg for creating blank space, and just set time to 10s so you can change it based on your project

How can I add a SVG directly to my CSS file without modifying the HTML at all?

I am not allowed to modify the html of the page at all, so I was thinking on using a pseudo element like ::before or ::after and content:""; to add a svg made out of CSS only. How can I add it? The svg is this:
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="300.000000pt" height="300.000000pt" viewBox="0 0 300.000000 300.000000" preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,300.000000) scale(0.100000,-0.100000)" fill="#000" stroke="none">
<path d="M756 2599 c-60 -14 -153 -68 -192 -111 -20 -22 -33 -42 -31 -45 3 -2 25 16 48 42 24 26 65 58 91 71 65 33 172 50 226 37 23 -6 42 -7 42 -3 0 19 -115 25 -184 9z"></path>
<path d="M980 2575 c0 -2 17 -12 38 -22 53 -25 128 -103 154 -160 18 -39 22 -67 23 -148 0 -86 -3 -107 -24 -148 -32 -66 -100 -130 -174 -167 -34 -17 -51 -28 -37 -24 166 45 284 235 250 402 -13 63 -47 132 -88 179 -37 43 -142 108 -142 88z"></path>
<path d="M497 2383 c-33 -74 -31 -209 6 -284 45 -93 135 -170 227 -194 14 -3 -7 10 -47 30 -81 40 -132 92 -171 175 -35 73 -36 188 -4 268 27 65 19 69 -11 5z"></path>
<path d="M1775 2371 c-44 -27 -63 -52 -73 -97 -21 -94 42 -174 137 -176 81 -1 141 59 141 143 0 109 -118 184 -205 130z m132 -17 c35 -22 63 -74 63 -114 0 -74 -61 -130 -141 -130 -35 0 -48 6 -80 39 -35 34 -39 44 -39 88 0 112 107 176 197 117z"></path>
<path d="M2466 2176 c18 -8 37 -22 43 -33 6 -10 11 -13 11 -6 0 16 -49 53 -69 53 -9 -1 -2 -7 15 -14z"></path>
<path d="M2359 2153 c-13 -16 -12 -17 4 -4 9 7 17 15 17 17 0 8 -8 3 -21 -13z"></path>
<path d="M2336 2113 c-6 -14 -5 -15 5 -6 7 7 10 15 7 18 -3 3 -9 -2 -12 -12z"></path>
<path d="M2522 2090 c0 -19 2 -27 5 -17 2 9 2 25 0 35 -3 9 -5 1 -5 -18z"></path>
<path d="M2340 2063 c0 -6 9 -21 21 -34 l20 -24 -17 30 c-24 39 -24 40 -24 28z"></path>
<path d="M2487 2025 c-15 -14 -24 -25 -19 -25 5 0 19 11 32 25 30 32 23 32 -13 0z"></path>
<path d="M803 1893 c26 -2 67 -2 90 0 23 2 2 3 -48 3 -49 0 -68 -1 -42 -3z"></path>
<path d="M2080 1650 c-111 -21 -185 -121 -166 -224 10 -55 77 -123 139 -141 26 -8 47 -10 47 -5 0 6 -10 10 -22 10 -38 0 -106 48 -134 96 -33 55 -29 115 9 173 70 106 255 108 335 3 23 -30 27 -45 27 -97 0 -52 -5 -68 -28 -99 -27 -35 -64 -60 -117 -78 -20 -6 -18 -7 10 -3 81 12 150 92 150 175 0 123 -120 214 -250 190z"></path>
<path d="M550 1240 c-216 -101 -183 -391 50 -441 102 -22 212 25 264 114 65 110 33 237 -77 309 -65 42 -168 50 -237 18z m169 0 c204 -58 224 -326 31 -413 -116 -52 -254 -5 -312 107 -30 59 -23 156 17 216 54 80 166 118 264 90z"></path>
<path d="M1222 1205 c-21 -9 -38 -27 -48 -51 -43 -103 84 -188 157 -106 39 43 39 91 2 131 -34 37 -68 45 -111 26z m103 -31 c52 -56 17 -145 -58 -147 -79 -2 -120 91 -66 149 32 34 91 33 124 -2z"></path>
</g>
</svg>
Example:
#fun::before {
content: url("happy.svg");
}
Customize:
#yourId::before {
content: url("yourImage.svg");
}

SVG <g> <path> Mac Chrome not displaying

So I am using the following HTML code to display an SVG:-
<a href="<?php the_field('instagram_url', 'options'); ?>" target="_blank">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1233 5105 c-607 -111 -1081 -572 -1210 -1175 -17 -80 -18 -167 -18
-1370 0 -1195 1 -1291 18 -1368 127 -591 574 -1039 1167 -1168 80 -18 154 -19
1370 -19 1199 0 1291 1 1368 18 590 127 1042 579 1169 1169 17 77 18 169 18
1368 0 1204 -1 1290 -18 1370 -62 289 -201 544 -412 755 -217 217 -463 350
-760 410 l-123 25 -1248 -1 c-986 -1 -1264 -4 -1321 -14z m2670 -417 c316 -87
563 -289 706 -576 49 -96 86 -221 101 -334 8 -57 10 -457 8 -1273 l-3 -1190
-27 -98 c-31 -112 -97 -257 -158 -346 -55 -83 -158 -190 -239 -252 -91 -69
-266 -153 -386 -186 l-100 -28 -1245 0 -1245 0 -98 27 c-316 87 -563 289 -706
576 -47 93 -85 218 -100 326 -15 107 -15 2345 0 2452 67 486 452 864 944 927
17 3 575 4 1240 3 l1210 -1 98 -27z"/>
<path d="M4078 4331 c-67 -22 -120 -79 -139 -153 -38 -140 107 -277 249 -237
95 26 163 132 147 228 -8 50 -51 111 -98 140 -40 24 -118 35 -159 22z"/>
<path d="M2325 3924 c-501 -87 -919 -451 -1080 -937 -46 -140 -65 -265 -65
-427 0 -162 19 -287 65 -427 162 -488 583 -851 1089 -938 115 -19 337 -19 452
0 580 100 1039 559 1139 1139 20 116 19 336 -1 457 -70 419 -351 802 -732 997
-122 63 -275 115 -401 136 -117 20 -355 20 -466 0z m390 -399 c363 -59 654
-304 772 -650 122 -359 22 -765 -253 -1026 -335 -316 -843 -356 -1229 -96
-302 204 -465 576 -414 943 75 543 583 917 1124 829z"/>
</g>
</svg>
</a>
This is so I can use fill: #<hex>; to set the colour on hover states... Instead of image replacement.
This works fine in Mac Safari, Windows Safari, it just doesn't even display in Mac Safari, using fill: #FFF; I'm assuming is not working to change the SVG colour from black to white.
I created a JSFIDDLE which works as it's supposed to, but on the live site it doesn't display anything, it used to work fine so I'm not sure what's happened here...
When I inspect where the SVG should show, it just doesn't show any HTML code for the SVG icon above.
It's only in Mac Chrome, latest version...
Any ideas?
If you need any more information, just let me know.
Thanks,

Nonagon with image inside

I'm looking to put an image inside a nonagon, something like this
I have tried several methods, such as using tag inside the SVG but the image overlapped the nonagon, or using <defs><pattern> tags but the image just repeated itself inside the polygon
This is the code I use to generate the nonagon:
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 300.000000 300.000000" preserveAspectRatio="xMidYMid meet" class="svg">
<metadata>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:description dc:title="Nonagon" dc:publisher="Hiox" dc:date="2015-05-14" dc:format="image/svg+xml" dc:language="en">
<dc:creator>
<rdf:bag>
<rdf:li>svgimages.com</rdf:li>
</rdf:bag>
</dc:creator>
</rdf:description>
</rdf:rdf>
</metadata>
<g transform="translate(0.000000,300.000000) scale(0.100000,-0.100000)" fill="#242424" stroke="none">
<path stroke-width="80px" stroke="rgba(252,244,217,0.5)" d="M1419 2888 c-46 -17 -109 -39 -139 -49 -30 -11 -64 -23 -75 -28 -11 -5 -33 -14 -50 -19 -16 -6 -82 -29 -145 -53 -63 -23 -137 -50 -165 -60 -27 -10 -88 -32 -135 -49 -47 -17 -99 -36 -115 -41 -25 -7 -44 -31 -110 -146 -44 -76 -84 -145 -90 -154 -5 -10 -30 -53 -55 -96 -25 -43 -49 -86 -55 -95 -181 -310 -226 -394 -220 -418 4 -14 15 -76 26 -138 10 -61 28 -165 40 -230 11 -64 27 -155 34 -202 8 -47 17 -96 20 -110 4 -14 15 -79 26 -145 13 -76 26 -126 37 -138 9 -11 123 -108 252 -215 206 -172 273 -228 406 -342 16 -14 44 -37 63 -52 l34 -28 499 0 500 0 151 127 c84 70 161 135 172 144 11 10 56 48 100 85 135 112 176 147 255 213 41 35 79 67 83 71 5 4 17 58 27 121 11 63 31 179 45 259 15 80 33 181 40 225 31 190 46 273 57 323 12 57 10 65 -56 177 -13 22 -102 177 -199 345 -259 450 -224 403 -331 440 -50 18 -100 36 -111 41 -11 5 -139 52 -285 105 -146 53 -306 111 -356 129 l-90 33 -85 -30z m141 -38 c30 -10 87 -31 125 -45 39 -14 88 -32 110 -40 22 -8 72 -26 110 -40 39 -15 88 -33 110 -40 57 -20 139 -49 220 -80 39 -14 90 -33 115 -42 56 -19 66 -27 91 -72 11 -20 28 -49 38 -66 23 -39 348 -604 386 -672 29 -51 29 -53 18 -125 -14 -84 -41 -239 -78 -448 -15 -80 -33 -183 -41 -230 -7 -47 -19 -112 -26 -144 -14 -64 -16 -66 -208 -226 -30 -25 -86 -72 -125 -105 -38 -33 -149 -127 -247 -208 l-176 -147 -480 0 -479 0 -29 22 c-16 12 -31 25 -34 29 -3 3 -52 45 -110 93 -58 48 -125 104 -148 124 -24 20 -130 109 -235 197 l-190 160 -18 90 c-9 50 -25 135 -34 190 -20 117 -46 264 -74 425 -12 63 -26 147 -32 185 l-12 70 47 78 c25 43 46 80 46 82 0 2 17 32 38 66 22 35 52 87 67 114 109 193 258 449 276 475 11 17 38 32 76 44 32 10 63 22 68 26 6 4 24 10 40 14 17 4 44 13 60 21 17 7 98 37 180 66 83 29 155 56 160 59 6 4 24 10 40 14 17 4 44 13 60 20 17 8 64 26 105 40 41 15 84 31 95 36 28 12 34 12 95 -10z"
id="node1" class="node" style="fill: rgba(252,244,217,0.2);"></path>
</g>
<g transform="translate(0.000000,300.000000) scale(0.100000,-0.100000)" fill="#C6B044" stroke="none">
<!--<defs>-->
<!--<pattern id="img1" patternUnits="userSpaceOnUse" width="100%" height="100%">-->
<!--<image xlink:href="./img/khoi-259x270.jpg" x="0" y="0" width="259px"-->
<!--height="270px"/>-->
<!--</pattern>-->
<!--</defs>-->
<path fill="url(#img1)" d="M1465 2860 c-11 -5 -54 -21 -95 -36 -41 -14 -88 -32 -105 -40 -16 -7 -43 -16 -60 -20 -16 -4 -34 -10 -40 -14 -5 -3 -77 -30 -160 -59 -82 -29 -163 -59 -180 -66 -16 -8 -43 -17 -60 -21 -16 -4 -34 -10 -40 -14 -5 -4 -36 -16 -68 -26 -38 -12 -65 -27 -76 -44 -18 -26 -167 -282 -276 -475 -15 -27 -45 -79 -67 -114 -21 -34 -38 -64 -38 -66 0 -2 -21 -39 -46 -82 l-47 -78 12 -70 c6 -38 20 -122 32 -185 28 -161 54 -308 74 -425 9 -55 25 -140 34 -190 l18 -90 190 -160 c105 -88 211 -177 235 -197 23 -20 90 -76 148 -124 58 -48 107 -90 110 -93 3 -4 18 -17 34 -29 l29 -22 479 0 480 0 176 147 c98 81 209 175 247 208 39 33 95 80 125 105 192 160 194 162 208 226 7 32 19 97 26 144 8 47 26 150 41 230 37 209 64 364 78 448 11 72 11 74 -18 125 -38 68 -363 633 -386 672 -10 17 -27 46 -38 66 -25 45 -35 53 -91 72 -25 9 -76 28 -115 42 -81 31 -163 60 -220 80 -22 7 -71 25 -110 40 -38 14 -88 32 -110 40 -22 8 -71 26 -110 40 -178 67 -187 69 -220 55z"
id="node3" class="node"></path>
</g>
</svg>
I'm looking for help regarding this issue, I have searched around with no luck.
Any help is welcome, preferably responsive one and without having to use javascript.
This answer is adapted from html/css hexagon with image inside using the pattern element to fill the shape with an image:
svg{width:30%;height:auto;}
<svg viewbox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<pattern id="img" patternUnits="userSpaceOnUse" width="100" height="100">
<image xlink:href="https://farm4.staticflickr.com/3165/5733278274_2626612c70.jpg" x="-25" width="150" height="100" />
</pattern>
</defs>
<polygon fill="url(#img)" stroke="#333" stroke-width="2" points="50 3.5 79.5 14.5 95.5 42 90 73 66 93.5 34.5 93.5 10 73 5 42 20 15"/>
</svg>