blowfish
This commit is contained in:
parent
bfbe0de3c6
commit
30c2170ae7
1369 changed files with 92622 additions and 16 deletions
|
@ -0,0 +1,574 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
style="margin:auto;background:rgba(NaN, NaN, NaN, 0);display:block;z-index:1;position:relative"
|
||||
width="1084" height="322" preserveAspectRatio="xMidYMid" viewBox="0 0 1084 322">
|
||||
<defs>
|
||||
<pattern id="pid-0.7735807359934106" x="0" y="0" width="345.6" height="345.6"
|
||||
patternUnits="userSpaceOnUse">
|
||||
<g transform="scale(1.35)">
|
||||
<g>
|
||||
<line x1="237.6288884328494" x2="201.39714008747956" y1="119.05338354492488"
|
||||
y2="155.28513189029474" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="237.6288884328494" x2="201.39714008747956" y1="-392.9466164550751"
|
||||
y2="-356.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="493.6288884328494" x2="457.39714008747956" y1="-392.9466164550751"
|
||||
y2="-356.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="749.6288884328494" x2="713.3971400874796" y1="-392.9466164550751"
|
||||
y2="-356.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="237.6288884328494" x2="201.39714008747956" y1="-136.94661645507512"
|
||||
y2="-100.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="493.6288884328494" x2="457.39714008747956" y1="-136.94661645507512"
|
||||
y2="-100.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="749.6288884328494" x2="713.3971400874796" y1="-136.94661645507512"
|
||||
y2="-100.71486810970526" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="237.6288884328494" x2="201.39714008747956" y1="119.05338354492488"
|
||||
y2="155.28513189029474" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="493.6288884328494" x2="457.39714008747956" y1="119.05338354492488"
|
||||
y2="155.28513189029474" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="749.6288884328494" x2="713.3971400874796" y1="119.05338354492488"
|
||||
y2="155.28513189029474" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="244.43797352167968" x2="179.25167385613412" y1="196.21419032492787"
|
||||
y2="261.40048999047343" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="244.43797352167968" x2="179.25167385613412" y1="-315.78580967507213"
|
||||
y2="-250.59951000952657" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="500.4379735216797" x2="435.2516738561341" y1="-315.78580967507213"
|
||||
y2="-250.59951000952657" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="756.4379735216796" x2="691.2516738561342" y1="-315.78580967507213"
|
||||
y2="-250.59951000952657" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="244.43797352167968" x2="179.25167385613412" y1="-59.78580967507213"
|
||||
y2="5.400489990473432" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="500.4379735216797" x2="435.2516738561341" y1="-59.78580967507213"
|
||||
y2="5.400489990473432" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="756.4379735216796" x2="691.2516738561342" y1="-59.78580967507213"
|
||||
y2="5.400489990473432" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="244.43797352167968" x2="179.25167385613412" y1="196.21419032492787"
|
||||
y2="261.40048999047343" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="500.4379735216797" x2="435.2516738561341" y1="196.21419032492787"
|
||||
y2="261.40048999047343" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="756.4379735216796" x2="691.2516738561342" y1="196.21419032492787"
|
||||
y2="261.40048999047343" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="219.6724359102308" x2="209.2181431749452" y1="92.85808081141191"
|
||||
y2="103.31237354669749" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="219.6724359102308" x2="209.2181431749452" y1="-419.1419191885881"
|
||||
y2="-408.6876264533025" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="475.6724359102308" x2="465.2181431749452" y1="-419.1419191885881"
|
||||
y2="-408.6876264533025" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="731.6724359102308" x2="721.2181431749452" y1="-419.1419191885881"
|
||||
y2="-408.6876264533025" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="219.6724359102308" x2="209.2181431749452" y1="-163.14191918858808"
|
||||
y2="-152.68762645330253" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="475.6724359102308" x2="465.2181431749452" y1="-163.14191918858808"
|
||||
y2="-152.68762645330253" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="731.6724359102308" x2="721.2181431749452" y1="-163.14191918858808"
|
||||
y2="-152.68762645330253" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="219.6724359102308" x2="209.2181431749452" y1="92.85808081141191"
|
||||
y2="103.31237354669749" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="475.6724359102308" x2="465.2181431749452" y1="92.85808081141191"
|
||||
y2="103.31237354669749" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="731.6724359102308" x2="721.2181431749452" y1="92.85808081141191"
|
||||
y2="103.31237354669749" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="112.00565118011832" x2="71.15817744773324" y1="56.63419812919665"
|
||||
y2="97.48167186158173" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="112.00565118011832" x2="71.15817744773324" y1="-455.36580187080335"
|
||||
y2="-414.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="368.0056511801183" x2="327.15817744773324" y1="-455.36580187080335"
|
||||
y2="-414.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="624.0056511801183" x2="583.1581774477332" y1="-455.36580187080335"
|
||||
y2="-414.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="112.00565118011832" x2="71.15817744773324" y1="-199.36580187080335"
|
||||
y2="-158.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="368.0056511801183" x2="327.15817744773324" y1="-199.36580187080335"
|
||||
y2="-158.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="624.0056511801183" x2="583.1581774477332" y1="-199.36580187080335"
|
||||
y2="-158.51832813841827" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="112.00565118011832" x2="71.15817744773324" y1="56.63419812919665"
|
||||
y2="97.48167186158173" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="368.0056511801183" x2="327.15817744773324" y1="56.63419812919665"
|
||||
y2="97.48167186158173" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="624.0056511801183" x2="583.1581774477332" y1="56.63419812919665"
|
||||
y2="97.48167186158173" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="60.932966336476014" x2="49.388821076756514" y1="125.65681060957188"
|
||||
y2="137.20095586929136" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="60.932966336476014" x2="49.388821076756514" y1="-386.3431893904281"
|
||||
y2="-374.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="316.932966336476" x2="305.3888210767565" y1="-386.3431893904281"
|
||||
y2="-374.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="572.932966336476" x2="561.3888210767565" y1="-386.3431893904281"
|
||||
y2="-374.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="60.932966336476014" x2="49.388821076756514" y1="-130.3431893904281"
|
||||
y2="-118.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="316.932966336476" x2="305.3888210767565" y1="-130.3431893904281"
|
||||
y2="-118.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="572.932966336476" x2="561.3888210767565" y1="-130.3431893904281"
|
||||
y2="-118.79904413070864" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="60.932966336476014" x2="49.388821076756514" y1="125.65681060957188"
|
||||
y2="137.20095586929136" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="316.932966336476" x2="305.3888210767565" y1="125.65681060957188"
|
||||
y2="137.20095586929136" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="572.932966336476" x2="561.3888210767565" y1="125.65681060957188"
|
||||
y2="137.20095586929136" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="103.78310212459807" x2="35.08486945593138" y1="-2.328164446496814"
|
||||
y2="66.37006822216988" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="103.78310212459807" x2="35.08486945593138" y1="-514.3281644464968"
|
||||
y2="-445.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="359.7831021245981" x2="291.08486945593137" y1="-514.3281644464968"
|
||||
y2="-445.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="615.783102124598" x2="547.0848694559314" y1="-514.3281644464968"
|
||||
y2="-445.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="103.78310212459807" x2="35.08486945593138" y1="-258.3281644464968"
|
||||
y2="-189.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="359.7831021245981" x2="291.08486945593137" y1="-258.3281644464968"
|
||||
y2="-189.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="615.783102124598" x2="547.0848694559314" y1="-258.3281644464968"
|
||||
y2="-189.6299317778301" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="103.78310212459807" x2="35.08486945593138" y1="-2.328164446496814"
|
||||
y2="66.37006822216988" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="359.7831021245981" x2="291.08486945593137" y1="-2.328164446496814"
|
||||
y2="66.37006822216988" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="615.783102124598" x2="547.0848694559314" y1="-2.328164446496814"
|
||||
y2="66.37006822216988" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="103.78310212459807" x2="35.08486945593138" y1="253.67183555350317"
|
||||
y2="322.3700682221699" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="211.69894364075495" x2="194.13528259328754" y1="166.21741462144607"
|
||||
y2="183.78107566891347" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="211.69894364075495" x2="194.13528259328754" y1="-345.7825853785539"
|
||||
y2="-328.21892433108655" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="467.6989436407549" x2="450.13528259328757" y1="-345.7825853785539"
|
||||
y2="-328.21892433108655" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="723.6989436407549" x2="706.1352825932876" y1="-345.7825853785539"
|
||||
y2="-328.21892433108655" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="211.69894364075495" x2="194.13528259328754" y1="-89.78258537855393"
|
||||
y2="-72.21892433108653" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="467.6989436407549" x2="450.13528259328757" y1="-89.78258537855393"
|
||||
y2="-72.21892433108653" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="723.6989436407549" x2="706.1352825932876" y1="-89.78258537855393"
|
||||
y2="-72.21892433108653" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="211.69894364075495" x2="194.13528259328754" y1="166.21741462144607"
|
||||
y2="183.78107566891347" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="467.6989436407549" x2="450.13528259328757" y1="166.21741462144607"
|
||||
y2="183.78107566891347" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="723.6989436407549" x2="706.1352825932876" y1="166.21741462144607"
|
||||
y2="183.78107566891347" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="44.012515207413756" x2="6.2920050630466875" y1="153.79537767995515"
|
||||
y2="191.5158878243222" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="44.012515207413756" x2="6.2920050630466875" y1="-358.20462232004485"
|
||||
y2="-320.4841121756778" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="300.01251520741374" x2="262.2920050630467" y1="-358.20462232004485"
|
||||
y2="-320.4841121756778" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="556.0125152074138" x2="518.2920050630466" y1="-358.20462232004485"
|
||||
y2="-320.4841121756778" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="44.012515207413756" x2="6.2920050630466875" y1="-102.20462232004485"
|
||||
y2="-64.48411217567781" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="300.01251520741374" x2="262.2920050630467" y1="-102.20462232004485"
|
||||
y2="-64.48411217567781" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="556.0125152074138" x2="518.2920050630466" y1="-102.20462232004485"
|
||||
y2="-64.48411217567781" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="44.012515207413756" x2="6.2920050630466875" y1="153.79537767995515"
|
||||
y2="191.5158878243222" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="300.01251520741374" x2="262.2920050630467" y1="153.79537767995515"
|
||||
y2="191.5158878243222" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="556.0125152074138" x2="518.2920050630466" y1="153.79537767995515"
|
||||
y2="191.5158878243222" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="105.49237048043514" x2="31.549625942354083" y1="123.41684480916788"
|
||||
y2="197.35958934724894" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="105.49237048043514" x2="31.549625942354083" y1="-388.58315519083214"
|
||||
y2="-314.64041065275103" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="361.49237048043517" x2="287.54962594235406" y1="-388.58315519083214"
|
||||
y2="-314.64041065275103" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="617.4923704804352" x2="543.549625942354" y1="-388.58315519083214"
|
||||
y2="-314.64041065275103" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="105.49237048043514" x2="31.549625942354083" y1="-132.58315519083212"
|
||||
y2="-58.64041065275106" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="361.49237048043517" x2="287.54962594235406" y1="-132.58315519083212"
|
||||
y2="-58.64041065275106" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="617.4923704804352" x2="543.549625942354" y1="-132.58315519083212"
|
||||
y2="-58.64041065275106" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="105.49237048043514" x2="31.549625942354083" y1="123.41684480916788"
|
||||
y2="197.35958934724894" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="361.49237048043517" x2="287.54962594235406" y1="123.41684480916788"
|
||||
y2="197.35958934724894" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="617.4923704804352" x2="543.549625942354" y1="123.41684480916788"
|
||||
y2="197.35958934724894" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<animateTransform attributeName="transform" type="translate" values="0 0;-256 256"
|
||||
keyTimes="0;1" repeatCount="indefinite" dur="10s"></animateTransform>
|
||||
</g>
|
||||
<g>
|
||||
<line x1="95.73622575770466" x2="50.085335235319484" y1="20.45659654328417"
|
||||
y2="66.10748706566935" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="95.73622575770466" x2="50.085335235319484" y1="-491.54340345671585"
|
||||
y2="-445.8925129343306" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="351.7362257577047" x2="306.08533523531946" y1="-491.54340345671585"
|
||||
y2="-445.8925129343306" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="607.7362257577047" x2="562.0853352353195" y1="-491.54340345671585"
|
||||
y2="-445.8925129343306" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="95.73622575770466" x2="50.085335235319484" y1="-235.54340345671582"
|
||||
y2="-189.89251293433065" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="351.7362257577047" x2="306.08533523531946" y1="-235.54340345671582"
|
||||
y2="-189.89251293433065" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="607.7362257577047" x2="562.0853352353195" y1="-235.54340345671582"
|
||||
y2="-189.89251293433065" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="95.73622575770466" x2="50.085335235319484" y1="20.45659654328417"
|
||||
y2="66.10748706566935" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="351.7362257577047" x2="306.08533523531946" y1="20.45659654328417"
|
||||
y2="66.10748706566935" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="607.7362257577047" x2="562.0853352353195" y1="20.45659654328417"
|
||||
y2="66.10748706566935" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="263.34308373797757" x2="226.59561736370148" y1="112.42933995479353"
|
||||
y2="149.17680632906962" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="263.34308373797757" x2="226.59561736370148" y1="-399.57066004520647"
|
||||
y2="-362.8231936709304" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="519.3430837379776" x2="482.5956173637015" y1="-399.57066004520647"
|
||||
y2="-362.8231936709304" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="775.3430837379776" x2="738.5956173637014" y1="-399.57066004520647"
|
||||
y2="-362.8231936709304" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="263.34308373797757" x2="226.59561736370148" y1="-143.57066004520647"
|
||||
y2="-106.82319367093038" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="519.3430837379776" x2="482.5956173637015" y1="-143.57066004520647"
|
||||
y2="-106.82319367093038" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="775.3430837379776" x2="738.5956173637014" y1="-143.57066004520647"
|
||||
y2="-106.82319367093038" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="263.34308373797757" x2="226.59561736370148" y1="112.42933995479353"
|
||||
y2="149.17680632906962" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="519.3430837379776" x2="482.5956173637015" y1="112.42933995479353"
|
||||
y2="149.17680632906962" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="775.3430837379776" x2="738.5956173637014" y1="112.42933995479353"
|
||||
y2="149.17680632906962" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="7.343083737977565" x2="-29.40438263629852" y1="112.42933995479353"
|
||||
y2="149.17680632906962" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="29.5343611349199" x2="-26.261040392985034" y1="205.16777076655512"
|
||||
y2="260.96317229446004" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="29.5343611349199" x2="-26.261040392985034" y1="-306.8322292334449"
|
||||
y2="-251.03682770553996" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="285.5343611349199" x2="229.73895960701498" y1="-306.8322292334449"
|
||||
y2="-251.03682770553996" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="541.5343611349199" x2="485.738959607015" y1="-306.8322292334449"
|
||||
y2="-251.03682770553996" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="29.5343611349199" x2="-26.261040392985034" y1="-50.83222923344488"
|
||||
y2="4.963172294460037" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="285.5343611349199" x2="229.73895960701498" y1="-50.83222923344488"
|
||||
y2="4.963172294460037" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="541.5343611349199" x2="485.738959607015" y1="-50.83222923344488"
|
||||
y2="4.963172294460037" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="29.5343611349199" x2="-26.261040392985034" y1="205.16777076655512"
|
||||
y2="260.96317229446004" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="285.5343611349199" x2="229.73895960701498" y1="205.16777076655512"
|
||||
y2="260.96317229446004" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="541.5343611349199" x2="485.738959607015" y1="205.16777076655512"
|
||||
y2="260.96317229446004" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="235.025028503587" x2="173.48946106938683" y1="23.306929884424335"
|
||||
y2="84.84249731862451" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="235.025028503587" x2="173.48946106938683" y1="-488.69307011557567"
|
||||
y2="-427.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="491.025028503587" x2="429.48946106938683" y1="-488.69307011557567"
|
||||
y2="-427.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="747.025028503587" x2="685.4894610693868" y1="-488.69307011557567"
|
||||
y2="-427.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="235.025028503587" x2="173.48946106938683" y1="-232.69307011557567"
|
||||
y2="-171.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="491.025028503587" x2="429.48946106938683" y1="-232.69307011557567"
|
||||
y2="-171.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="747.025028503587" x2="685.4894610693868" y1="-232.69307011557567"
|
||||
y2="-171.1575026813755" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="235.025028503587" x2="173.48946106938683" y1="23.306929884424335"
|
||||
y2="84.84249731862451" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="491.025028503587" x2="429.48946106938683" y1="23.306929884424335"
|
||||
y2="84.84249731862451" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="747.025028503587" x2="685.4894610693868" y1="23.306929884424335"
|
||||
y2="84.84249731862451" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="225.00990918130768" x2="200.62370409686488" y1="210.1052181599721"
|
||||
y2="234.4914232444149" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="225.00990918130768" x2="200.62370409686488" y1="-301.8947818400279"
|
||||
y2="-277.50857675558507" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="481.00990918130765" x2="456.6237040968649" y1="-301.8947818400279"
|
||||
y2="-277.50857675558507" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="737.0099091813076" x2="712.6237040968649" y1="-301.8947818400279"
|
||||
y2="-277.50857675558507" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="225.00990918130768" x2="200.62370409686488" y1="-45.89478184002789"
|
||||
y2="-21.508576755585096" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="481.00990918130765" x2="456.6237040968649" y1="-45.89478184002789"
|
||||
y2="-21.508576755585096" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="737.0099091813076" x2="712.6237040968649" y1="-45.89478184002789"
|
||||
y2="-21.508576755585096" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="225.00990918130768" x2="200.62370409686488" y1="210.1052181599721"
|
||||
y2="234.4914232444149" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="481.00990918130765" x2="456.6237040968649" y1="210.1052181599721"
|
||||
y2="234.4914232444149" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="737.0099091813076" x2="712.6237040968649" y1="210.1052181599721"
|
||||
y2="234.4914232444149" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="171.55017713954658" x2="102.05334080042758" y1="78.55895711807653"
|
||||
y2="148.05579345719553" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="171.55017713954658" x2="102.05334080042758" y1="-433.44104288192347"
|
||||
y2="-363.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="427.5501771395466" x2="358.0533408004276" y1="-433.44104288192347"
|
||||
y2="-363.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="683.5501771395466" x2="614.0533408004276" y1="-433.44104288192347"
|
||||
y2="-363.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="171.55017713954658" x2="102.05334080042758" y1="-177.44104288192347"
|
||||
y2="-107.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="427.5501771395466" x2="358.0533408004276" y1="-177.44104288192347"
|
||||
y2="-107.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="683.5501771395466" x2="614.0533408004276" y1="-177.44104288192347"
|
||||
y2="-107.94420654280447" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="171.55017713954658" x2="102.05334080042758" y1="78.55895711807653"
|
||||
y2="148.05579345719553" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="427.5501771395466" x2="358.0533408004276" y1="78.55895711807653"
|
||||
y2="148.05579345719553" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="683.5501771395466" x2="614.0533408004276" y1="78.55895711807653"
|
||||
y2="148.05579345719553" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="258.4358284744095" x2="228.09906783279462" y1="10.646186924515469"
|
||||
y2="40.98294756613034" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="258.4358284744095" x2="228.09906783279462" y1="-501.35381307548454"
|
||||
y2="-471.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="514.4358284744095" x2="484.0990678327946" y1="-501.35381307548454"
|
||||
y2="-471.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="770.4358284744095" x2="740.0990678327946" y1="-501.35381307548454"
|
||||
y2="-471.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="258.4358284744095" x2="228.09906783279462" y1="-245.35381307548454"
|
||||
y2="-215.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="514.4358284744095" x2="484.0990678327946" y1="-245.35381307548454"
|
||||
y2="-215.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="770.4358284744095" x2="740.0990678327946" y1="-245.35381307548454"
|
||||
y2="-215.01705243386965" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="258.4358284744095" x2="228.09906783279462" y1="10.646186924515469"
|
||||
y2="40.98294756613034" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="514.4358284744095" x2="484.0990678327946" y1="10.646186924515469"
|
||||
y2="40.98294756613034" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="770.4358284744095" x2="740.0990678327946" y1="10.646186924515469"
|
||||
y2="40.98294756613034" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="2.4358284744095045" x2="-27.900932167205383" y1="10.646186924515469"
|
||||
y2="40.98294756613034" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="35.41624886616098" x2="-5.966808810922494" y1="10.151780697595989"
|
||||
y2="51.53483837467946" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="35.41624886616098" x2="-5.966808810922494" y1="-501.848219302404"
|
||||
y2="-460.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="291.41624886616097" x2="250.0331911890775" y1="-501.848219302404"
|
||||
y2="-460.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="547.416248866161" x2="506.0331911890775" y1="-501.848219302404"
|
||||
y2="-460.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="35.41624886616098" x2="-5.966808810922494" y1="-245.848219302404"
|
||||
y2="-204.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="291.41624886616097" x2="250.0331911890775" y1="-245.848219302404"
|
||||
y2="-204.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="547.416248866161" x2="506.0331911890775" y1="-245.848219302404"
|
||||
y2="-204.46516162532055" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="35.41624886616098" x2="-5.966808810922494" y1="10.151780697595989"
|
||||
y2="51.53483837467946" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="291.41624886616097" x2="250.0331911890775" y1="10.151780697595989"
|
||||
y2="51.53483837467946" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="547.416248866161" x2="506.0331911890775" y1="10.151780697595989"
|
||||
y2="51.53483837467946" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="90.76285286976488" x2="72.92514980496989" y1="79.79001478147771"
|
||||
y2="97.6277178462727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="90.76285286976488" x2="72.92514980496989" y1="-432.2099852185223"
|
||||
y2="-414.37228215372727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="346.76285286976486" x2="328.9251498049699" y1="-432.2099852185223"
|
||||
y2="-414.37228215372727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="602.7628528697649" x2="584.9251498049699" y1="-432.2099852185223"
|
||||
y2="-414.37228215372727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="90.76285286976488" x2="72.92514980496989" y1="-176.2099852185223"
|
||||
y2="-158.3722821537273" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="346.76285286976486" x2="328.9251498049699" y1="-176.2099852185223"
|
||||
y2="-158.3722821537273" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="602.7628528697649" x2="584.9251498049699" y1="-176.2099852185223"
|
||||
y2="-158.3722821537273" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="90.76285286976488" x2="72.92514980496989" y1="79.79001478147771"
|
||||
y2="97.6277178462727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="346.76285286976486" x2="328.9251498049699" y1="79.79001478147771"
|
||||
y2="97.6277178462727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="602.7628528697649" x2="584.9251498049699" y1="79.79001478147771"
|
||||
y2="97.6277178462727" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<animateTransform attributeName="transform" type="translate" values="0 0;-256 256"
|
||||
keyTimes="0;1" repeatCount="indefinite" dur="5s"></animateTransform>
|
||||
</g>
|
||||
<g>
|
||||
<line x1="93.6896305353637" x2="75.71575147590588" y1="83.83758835275793"
|
||||
y2="101.81146741221576" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="93.6896305353637" x2="75.71575147590588" y1="-428.16241164724204"
|
||||
y2="-410.18853258778427" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="349.6896305353637" x2="331.7157514759059" y1="-428.16241164724204"
|
||||
y2="-410.18853258778427" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="605.6896305353637" x2="587.7157514759059" y1="-428.16241164724204"
|
||||
y2="-410.18853258778427" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="93.6896305353637" x2="75.71575147590588" y1="-172.16241164724207"
|
||||
y2="-154.18853258778424" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="349.6896305353637" x2="331.7157514759059" y1="-172.16241164724207"
|
||||
y2="-154.18853258778424" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="605.6896305353637" x2="587.7157514759059" y1="-172.16241164724207"
|
||||
y2="-154.18853258778424" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="93.6896305353637" x2="75.71575147590588" y1="83.83758835275793"
|
||||
y2="101.81146741221576" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="349.6896305353637" x2="331.7157514759059" y1="83.83758835275793"
|
||||
y2="101.81146741221576" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="605.6896305353637" x2="587.7157514759059" y1="83.83758835275793"
|
||||
y2="101.81146741221576" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="207.24941141296466" x2="167.48134532138562" y1="234.55973050121918"
|
||||
y2="274.3277965927982" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="207.24941141296466" x2="167.48134532138562" y1="-277.4402694987808"
|
||||
y2="-237.67220340720178" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="463.24941141296466" x2="423.4813453213856" y1="-277.4402694987808"
|
||||
y2="-237.67220340720178" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="719.2494114129647" x2="679.4813453213856" y1="-277.4402694987808"
|
||||
y2="-237.67220340720178" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="207.24941141296466" x2="167.48134532138562" y1="-21.440269498780822"
|
||||
y2="18.327796592798222" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="463.24941141296466" x2="423.4813453213856" y1="-21.440269498780822"
|
||||
y2="18.327796592798222" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="719.2494114129647" x2="679.4813453213856" y1="-21.440269498780822"
|
||||
y2="18.327796592798222" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="207.24941141296466" x2="167.48134532138562" y1="234.55973050121918"
|
||||
y2="274.3277965927982" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="463.24941141296466" x2="423.4813453213856" y1="234.55973050121918"
|
||||
y2="274.3277965927982" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="719.2494114129647" x2="679.4813453213856" y1="234.55973050121918"
|
||||
y2="274.3277965927982" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="69.19671201083756" x2="20.15599089926107" y1="61.52941038272999"
|
||||
y2="110.57013149430648" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="69.19671201083756" x2="20.15599089926107" y1="-450.47058961727"
|
||||
y2="-401.42986850569355" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="325.1967120108376" x2="276.15599089926104" y1="-450.47058961727"
|
||||
y2="-401.42986850569355" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="581.1967120108376" x2="532.155990899261" y1="-450.47058961727"
|
||||
y2="-401.42986850569355" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="69.19671201083756" x2="20.15599089926107" y1="-194.47058961727"
|
||||
y2="-145.42986850569352" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="325.1967120108376" x2="276.15599089926104" y1="-194.47058961727"
|
||||
y2="-145.42986850569352" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="581.1967120108376" x2="532.155990899261" y1="-194.47058961727"
|
||||
y2="-145.42986850569352" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="69.19671201083756" x2="20.15599089926107" y1="61.52941038272999"
|
||||
y2="110.57013149430648" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="325.1967120108376" x2="276.15599089926104" y1="61.52941038272999"
|
||||
y2="110.57013149430648" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="581.1967120108376" x2="532.155990899261" y1="61.52941038272999"
|
||||
y2="110.57013149430648" stroke-width="15" stroke="#93dbe9" stroke-linecap="round"></line>
|
||||
<line x1="153.36870174443493" x2="103.52218176454608" y1="129.93915864820679"
|
||||
y2="179.78567862809564" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="153.36870174443493" x2="103.52218176454608" y1="-382.0608413517932"
|
||||
y2="-332.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="409.36870174443493" x2="359.5221817645461" y1="-382.0608413517932"
|
||||
y2="-332.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="665.3687017444349" x2="615.5221817645461" y1="-382.0608413517932"
|
||||
y2="-332.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="153.36870174443493" x2="103.52218176454608" y1="-126.06084135179321"
|
||||
y2="-76.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="409.36870174443493" x2="359.5221817645461" y1="-126.06084135179321"
|
||||
y2="-76.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="665.3687017444349" x2="615.5221817645461" y1="-126.06084135179321"
|
||||
y2="-76.21432137190436" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="153.36870174443493" x2="103.52218176454608" y1="129.93915864820679"
|
||||
y2="179.78567862809564" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="409.36870174443493" x2="359.5221817645461" y1="129.93915864820679"
|
||||
y2="179.78567862809564" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="665.3687017444349" x2="615.5221817645461" y1="129.93915864820679"
|
||||
y2="179.78567862809564" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="49.20494471467643" x2="2.7142059537850685" y1="141.75997600855746"
|
||||
y2="188.25071476944882" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="49.20494471467643" x2="2.7142059537850685" y1="-370.2400239914425"
|
||||
y2="-323.7492852305512" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="305.20494471467646" x2="258.71420595378504" y1="-370.2400239914425"
|
||||
y2="-323.7492852305512" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="561.2049447146765" x2="514.714205953785" y1="-370.2400239914425"
|
||||
y2="-323.7492852305512" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="49.20494471467643" x2="2.7142059537850685" y1="-114.24002399144254"
|
||||
y2="-67.74928523055118" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="305.20494471467646" x2="258.71420595378504" y1="-114.24002399144254"
|
||||
y2="-67.74928523055118" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="561.2049447146765" x2="514.714205953785" y1="-114.24002399144254"
|
||||
y2="-67.74928523055118" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="49.20494471467643" x2="2.7142059537850685" y1="141.75997600855746"
|
||||
y2="188.25071476944882" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="305.20494471467646" x2="258.71420595378504" y1="141.75997600855746"
|
||||
y2="188.25071476944882" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="561.2049447146765" x2="514.714205953785" y1="141.75997600855746"
|
||||
y2="188.25071476944882" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="84.6808460539986" x2="32.68305955000314" y1="-7.711036017440037"
|
||||
y2="44.28675048655542" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="84.6808460539986" x2="32.68305955000314" y1="-519.71103601744"
|
||||
y2="-467.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="340.6808460539986" x2="288.6830595500031" y1="-519.71103601744"
|
||||
y2="-467.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="596.6808460539986" x2="544.6830595500031" y1="-519.71103601744"
|
||||
y2="-467.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="84.6808460539986" x2="32.68305955000314" y1="-263.71103601744005"
|
||||
y2="-211.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="340.6808460539986" x2="288.6830595500031" y1="-263.71103601744005"
|
||||
y2="-211.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="596.6808460539986" x2="544.6830595500031" y1="-263.71103601744005"
|
||||
y2="-211.71324951344457" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="84.6808460539986" x2="32.68305955000314" y1="-7.711036017440037"
|
||||
y2="44.28675048655542" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="340.6808460539986" x2="288.6830595500031" y1="-7.711036017440037"
|
||||
y2="44.28675048655542" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="596.6808460539986" x2="544.6830595500031" y1="-7.711036017440037"
|
||||
y2="44.28675048655542" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="84.6808460539986" x2="32.68305955000314" y1="248.28896398255995"
|
||||
y2="300.28675048655543" stroke-width="15" stroke="#689cc5" stroke-linecap="round"></line>
|
||||
<line x1="225.38342310559023" x2="185.66602314192056" y1="109.68961591653738"
|
||||
y2="149.40701588020704" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="225.38342310559023" x2="185.66602314192056" y1="-402.3103840834626"
|
||||
y2="-362.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="481.3834231055902" x2="441.66602314192056" y1="-402.3103840834626"
|
||||
y2="-362.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="737.3834231055903" x2="697.6660231419205" y1="-402.3103840834626"
|
||||
y2="-362.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="225.38342310559023" x2="185.66602314192056" y1="-146.31038408346262"
|
||||
y2="-106.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="481.3834231055902" x2="441.66602314192056" y1="-146.31038408346262"
|
||||
y2="-106.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="737.3834231055903" x2="697.6660231419205" y1="-146.31038408346262"
|
||||
y2="-106.59298411979296" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="225.38342310559023" x2="185.66602314192056" y1="109.68961591653738"
|
||||
y2="149.40701588020704" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="481.3834231055902" x2="441.66602314192056" y1="109.68961591653738"
|
||||
y2="149.40701588020704" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="737.3834231055903" x2="697.6660231419205" y1="109.68961591653738"
|
||||
y2="149.40701588020704" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="172.83662370669697" x2="103.52581079778793" y1="164.45975635392284"
|
||||
y2="233.77056926283188" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="172.83662370669697" x2="103.52581079778793" y1="-347.54024364607716"
|
||||
y2="-278.2294307371681" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="428.83662370669697" x2="359.5258107977879" y1="-347.54024364607716"
|
||||
y2="-278.2294307371681" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="684.836623706697" x2="615.5258107977879" y1="-347.54024364607716"
|
||||
y2="-278.2294307371681" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="172.83662370669697" x2="103.52581079778793" y1="-91.54024364607716"
|
||||
y2="-22.229430737168116" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="428.83662370669697" x2="359.5258107977879" y1="-91.54024364607716"
|
||||
y2="-22.229430737168116" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="684.836623706697" x2="615.5258107977879" y1="-91.54024364607716"
|
||||
y2="-22.229430737168116" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="172.83662370669697" x2="103.52581079778793" y1="164.45975635392284"
|
||||
y2="233.77056926283188" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="428.83662370669697" x2="359.5258107977879" y1="164.45975635392284"
|
||||
y2="233.77056926283188" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="684.836623706697" x2="615.5258107977879" y1="164.45975635392284"
|
||||
y2="233.77056926283188" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="254.85435949520382" x2="240.10841684705935" y1="-1.209429949430282"
|
||||
y2="13.536512698714214" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="254.85435949520382" x2="240.10841684705935" y1="-513.2094299494303"
|
||||
y2="-498.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="510.8543594952038" x2="496.10841684705935" y1="-513.2094299494303"
|
||||
y2="-498.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="766.8543594952039" x2="752.1084168470593" y1="-513.2094299494303"
|
||||
y2="-498.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="254.85435949520382" x2="240.10841684705935" y1="-257.2094299494303"
|
||||
y2="-242.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="510.8543594952038" x2="496.10841684705935" y1="-257.2094299494303"
|
||||
y2="-242.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="766.8543594952039" x2="752.1084168470593" y1="-257.2094299494303"
|
||||
y2="-242.4634873012858" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="254.85435949520382" x2="240.10841684705935" y1="-1.209429949430282"
|
||||
y2="13.536512698714214" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="510.8543594952038" x2="496.10841684705935" y1="-1.209429949430282"
|
||||
y2="13.536512698714214" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="766.8543594952039" x2="752.1084168470593" y1="-1.209429949430282"
|
||||
y2="13.536512698714214" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<line x1="254.85435949520382" x2="240.10841684705935" y1="254.79057005056973"
|
||||
y2="269.5365126987142" stroke-width="15" stroke="#5e6fa3" stroke-linecap="round"></line>
|
||||
<animateTransform attributeName="transform" type="translate" values="0 0;-256 256"
|
||||
keyTimes="0;1" repeatCount="indefinite" dur="10.3333333333333335s"></animateTransform>
|
||||
</g>
|
||||
</g>
|
||||
</pattern>
|
||||
</defs>
|
||||
<rect x="0" y="0" width="1084" height="322" fill="url(#pid-0.7735807359934106)"></rect>
|
||||
</svg>
|
|
@ -0,0 +1,827 @@
|
|||
<svg id="canvas" height="100%" xmlns="http://www.w3.org/2000/svg" version="1.1"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs"
|
||||
viewBox="0 0 600 600">
|
||||
<rect width="600" height="600" fill="transparent"></rect>
|
||||
<mask id="mask" mask-type="alpha" maskUnits="userSpaceOnUse">
|
||||
<rect transform="translate(0, 0)" width="600" height="600" fill="white"></rect>
|
||||
</mask>
|
||||
<svg>
|
||||
<path transform="translate(0, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(0, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 60) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 60) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(0, 60) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 120)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(0, 120)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#0096c7" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#023e8a"></path>
|
||||
<path transform="translate(0, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#0096c7" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(0, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(0, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(0, 480)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(0, 540)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(60, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#00b4d8"></path>
|
||||
<path transform="translate(60, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 60)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<rect transform="translate(60, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" x="0" y="0" width="60" height="60" stroke="#48cae4" stroke-width="2"></rect>
|
||||
<path transform="translate(60, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" d="M0 0L60 60" stroke="#48cae4" stroke-width="2"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(60, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 240)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 300)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(60, 300)" cx="30" cy="30" r="30" fill="#48cae4"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 360)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 420)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(60, 420)" cx="30" cy="30" r="30" fill="#48cae4"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(60, 480)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(60, 540)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(60, 540)" cx="30" cy="30" r="30" fill="#48cae4"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 0)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(120, 0)" cx="30" cy="30" r="30" fill="#023e8a" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(120, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<rect transform="translate(120, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" x="0" y="0" width="60" height="60" stroke="#48cae4" stroke-width="2"></rect>
|
||||
<path transform="translate(120, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" d="M0 0L60 60" stroke="#48cae4" stroke-width="2"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(120, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 240) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 240) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#ade8f4"></path>
|
||||
<path transform="translate(120, 240) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
<path transform="translate(120, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#48cae4" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(120, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 420)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(120, 420)" cx="30" cy="30" r="30" fill="#90e0ef"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 480) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 480) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(120, 480) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(120, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(120, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(120, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 0) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 0) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="#caf0f8" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="#023e8a" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 120) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 120) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(180, 120) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(180, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(180, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
<path transform="translate(180, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 360)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<rect transform="translate(180, 420) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" x="0" y="0" width="60" height="60" stroke="#48cae4" stroke-width="2"></rect>
|
||||
<path transform="translate(180, 420) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" d="M0 0L60 60" stroke="#48cae4" stroke-width="2"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(180, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(180, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0077b6"></path>
|
||||
<path transform="translate(180, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<rect transform="translate(240, 0) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" x="0" y="0" width="60" height="60" stroke="#48cae4" stroke-width="2"></rect>
|
||||
<path transform="translate(240, 0) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" d="M0 0L60 60" stroke="#48cae4" stroke-width="2"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 60)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(240, 60)" cx="30" cy="30" r="30" fill="#0096c7"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(240, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#48cae4"></path>
|
||||
<path transform="translate(240, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#03045e" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(240, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(240, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#00b4d8"></path>
|
||||
<path transform="translate(240, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(240, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(240, 480)" cx="30" cy="30" r="30" fill="#48cae4"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(240, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(240, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#00b4d8"></path>
|
||||
<path transform="translate(240, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#00b4d8"></path>
|
||||
<path transform="translate(300, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 60)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(300, 60)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#023e8a"></path>
|
||||
<path transform="translate(300, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(300, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0077b6"></path>
|
||||
<path transform="translate(300, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#48cae4"></path>
|
||||
<path transform="translate(300, 300) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(300, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(300, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 480) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 480) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(300, 480) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(300, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(300, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(300, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="#0096c7" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#03045e" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(360, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="#48cae4" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 120)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(360, 120)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 180) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 180) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="#caf0f8" stroke="#48cae4" stroke-width="2" d="M30 0h30v60h-30z"></path>
|
||||
<path transform="translate(360, 180) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(360, 300) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(360, 360) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="#0096c7" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 420)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(360, 420)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 480) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 480) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#0096c7" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(360, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(360, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(360, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#00b4d8"></path>
|
||||
<path transform="translate(420, 0) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(420, 60) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 120)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(420, 120)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(420, 180) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#90e0ef" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 300)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(420, 360) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="#caf0f8" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 420)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(420, 480)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(420, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(420, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(420, 540) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 0) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 0) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
<path transform="translate(480, 0) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 60)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(480, 60)" cx="30" cy="30" r="30" fill="#03045e"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 120) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 120) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0077b6"></path>
|
||||
<path transform="translate(480, 120) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(480, 180) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0096c7"></path>
|
||||
<path transform="translate(480, 240) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 300)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 360)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(480, 360)" cx="30" cy="30" r="30" fill="#caf0f8"
|
||||
stroke="#48cae4" stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(480, 420) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#03045e" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 480) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 480) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(480, 480) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(480, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(480, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(480, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(540, 0) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#0077b6" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0096c7"></path>
|
||||
<path transform="translate(540, 60) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0096c7"></path>
|
||||
<path transform="translate(540, 120) translate(30,30) rotate(90) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
<path transform="translate(540, 180) translate(30,30) rotate(0) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(540, 240) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(540, 300) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 360) translate(30,30) rotate(270) translate(-30,-30)"
|
||||
fill="#ade8f4" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M0 30C0 48.05 15.3348 60 30 60V0C15.3348 0 0 14.9129 0 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="#0077b6"></path>
|
||||
<path transform="translate(540, 420) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
d="M60 30C60 14.9129 48.4719 0 30 0L30 60C48.4719 60 60 48.05 60 30Z" stroke="#48cae4"
|
||||
stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 480)" fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M0 0h60v60h-60z"></path>
|
||||
<circle transform="translate(540, 480)" cx="30" cy="30" r="30" fill="none" stroke="#48cae4"
|
||||
stroke-width="2"></circle>
|
||||
</svg>
|
||||
<svg>
|
||||
<path transform="translate(540, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2" d="M0 0h60v60h-60z"></path>
|
||||
<path transform="translate(540, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0 16.569 13.432 30 30 30v-60c-16.568 0-30 13.432-30 30z"></path>
|
||||
<path transform="translate(540, 540) translate(30,30) rotate(180) translate(-30,-30)"
|
||||
fill="none" stroke="#48cae4" stroke-width="2"
|
||||
d="M30 30c0-16.57-13.431-30-30-30v60c16.569 0 30-13.432 30-30z"></path>
|
||||
</svg>
|
||||
</svg>
|
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
title: "Hosting & Deployment"
|
||||
weight: 14
|
||||
draft: false
|
||||
description: "Learn how to deploy a Blowfish site."
|
||||
slug: "hosting-deployment"
|
||||
tags: ["docs", "hosting", "deployment", "github", "netlify", "render"]
|
||||
series: ["Documentation"]
|
||||
series_order: 14
|
||||
---
|
||||
|
||||
There are many ways to deploy your Hugo website built with Blowfish. The theme is designed to be flexible in almost any deployment scenario.
|
||||
|
||||
Blowfish is built using relative URLs throughout the theme. This enables sites to easily be deployed to sub-folders and hosts like GitHub Pages. There's usually no special configuration required for this to work as long as the `baseURL` parameter has been configured in the `config.toml` file.
|
||||
|
||||
The official Hugo [Hosting and Deployment](https://gohugo.io/hosting-and-deployment/) docs are the best place to learn how to deploy your site. The sections below contain some specific theme configuration details that can help you deploy smoothly with certain providers.
|
||||
|
||||
**Choose your provider:**
|
||||
|
||||
- [GitHub Pages](#github-pages)
|
||||
- [Netlify](#netlify)
|
||||
- [Render](#render)
|
||||
- [Cloudflare Pages](#cloudflare-pages)
|
||||
- [Shared hosting, VPS or private web server](#shared-hosting-vps-or-private-web-server)
|
||||
|
||||
---
|
||||
|
||||
## GitHub Pages
|
||||
|
||||
GitHub allows hosting on [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) using Actions. To enable this functionality, enable Pages on your repo and create a new Actions workflow to build and deploy your site.
|
||||
|
||||
The file needs to be in YAML format, placed within the `.github/workflows/` directory of your GitHub repository and named with a `.yml` extension.
|
||||
|
||||
{{< alert >}}
|
||||
**Important:** Ensure you set the correct branch name under `branches` and in the deploy step `if` parameter to the source branch used in your project.
|
||||
{{< /alert >}}
|
||||
|
||||
```yaml
|
||||
# .github/workflows/gh-pages.yml
|
||||
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
Push the config file to GitHub and the action should automatically run. It may fail the first time and you'll need to visit the **Settings > Pages** section of your GitHub repo to check the source is correct. It should be set to use the `gh-pages` branch.
|
||||
|
||||
{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source" >}}
|
||||
|
||||
Once the settings are configured, re-run the action and the site should build and deploy correctly. You can consult the actions log to check everything deployed successfully.
|
||||
|
||||
## Netlify
|
||||
|
||||
To deploy to [Netlify](https://www.netlify.com), create a new continuous deployment site and link it to your source code. The build settings can be left blank in the Netlify UI. You will only need to configure the domain you'll be using.
|
||||
|
||||
{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}}
|
||||
|
||||
Then in the root of your site repository, create a `netlify.toml` file:
|
||||
|
||||
```toml
|
||||
# netlify.toml
|
||||
|
||||
[build]
|
||||
command = "hugo mod get -u && hugo --gc --minify -b $URL"
|
||||
publish = "public"
|
||||
|
||||
[build.environment]
|
||||
NODE_ENV = "production"
|
||||
GO_VERSION = "1.16"
|
||||
TZ = "UTC" # Set to preferred timezone
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
```
|
||||
|
||||
This configuration assumes you are deploying Blowfish as a Hugo module. If you have installed the theme using another method, change the build command to simply `hugo --gc --minify -b $URL`.
|
||||
|
||||
When you push the config file to your repo, Netlify should automatically deploy your site. You can check the deploy logs in the Netlify UI to check for any errors.
|
||||
|
||||
## Render
|
||||
|
||||
Deploying to [Render](https://render.com) is very straightforward and all configuration is via the Render UI.
|
||||
|
||||
Create a new **Static Site** and link it to your project's code repository. Then simply configure the build command to be `hugo --gc --minify` and publish directory to be `public`.
|
||||
|
||||
{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}}
|
||||
|
||||
The site will automatically build and deploy whenever you push a change to your repo.
|
||||
|
||||
## Cloudflare Pages
|
||||
|
||||
Cloudflare offers the [Pages](https://pages.cloudflare.com/) service that can host Hugo blogs. It builds the site from a git repository and then hosts it on Cloudflare's CDN. Follow their [Hugo deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site) to get started.
|
||||
|
||||
The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order.
|
||||
|
||||
This problem can be fixed by disabling it:
|
||||
|
||||
- Go to the [Cloudflare dashboard](https://dash.cloudflare.com)
|
||||
- Click on your domain name in the list
|
||||
- Click _Optimization_ in the _Speed_ section
|
||||
- Scroll down to _Rocket Loader™_ and disable it
|
||||
|
||||
Hugo sites built with Blowfish still load very quickly, even with this feature disabled.
|
||||
|
||||
## Shared hosting, VPS or private web server
|
||||
|
||||
Using traditional web hosting, or deploying to your own web server, is as simple as building your Hugo site and transferring the files to your host.
|
||||
|
||||
Make sure that the `baseURL` parameter in `config.toml` is set to the full URL to the root of your website (including any sub domains or sub-folders).
|
||||
|
||||
Then build your site using `hugo` and copy the contents of the output directory to the root of your web server and you will be ready to go. By default, the output directory is named `public`.
|
||||
|
||||
_If you need a hosting provider, check out [Vultr](https://www.vultr.com/?ref=8957394-8H) or [DigitalOcean](https://m.do.co/c/36841235e565). Signing up using these affiliate links will give you up to $100 in free credit so you can try the service._
|
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
title: "ホスティングとデプロイ"
|
||||
weight: 14
|
||||
draft: false
|
||||
description: "Blowfish サイトのデプロイ方法について説明します。"
|
||||
slug: "hosting-deployment"
|
||||
tags: ["docs", "hosting", "deployment", "github", "netlify", "render"]
|
||||
series: ["Documentation"]
|
||||
series_order: 14
|
||||
---
|
||||
|
||||
Blowfish で構築された Hugo ウェブサイトをデプロイする方法はたくさんあります。このテーマは、ほとんどすべてのデプロイシナリオで柔軟に対応できるように設計されています。
|
||||
|
||||
Blowfish は、テーマ全体で相対的な URL を使用して構築されています。これにより、サイトをサブフォルダや GitHub Pages などのホストに簡単にデプロイできます。`baseURL` パラメータが `config.toml` ファイルで設定されていれば、通常、これが機能するために特別な設定は必要ありません。
|
||||
|
||||
Hugo の公式[ホスティングとデプロイ](https://gohugo.io/hosting-and-deployment/)ドキュメントは、サイトのデプロイ方法を学ぶのに最適な場所です。以下のセクションには、特定のプロバイダーでスムーズにデプロイするのに役立つ、テーマ固有の設定の詳細が記載されています。
|
||||
|
||||
**プロバイダーを選択してください:**
|
||||
|
||||
- [GitHub Pages](#github-pages)
|
||||
- [Netlify](#netlify)
|
||||
- [Render](#render)
|
||||
- [Cloudflare Pages](#cloudflare-pages)
|
||||
- [共有ホスティング、VPS、またはプライベート Web サーバー](#共有ホスティングvpsまたはプライベート-web-サーバー)
|
||||
|
||||
---
|
||||
|
||||
## GitHub Pages
|
||||
|
||||
GitHub では、[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) でのアクションを使用したホスティングが可能です。この機能を有効にするには、リポジトリで Pages を有効にし、サイトをビルドしてデプロイするための新しいアクションワークフローを作成します。
|
||||
|
||||
ファイルは YAML 形式で、GitHub リポジトリの `.github/workflows/` ディレクトリ内に配置し、`.yml` 拡張子を付けて名前を付ける必要があります。
|
||||
|
||||
{{< alert >}}
|
||||
**重要:** `branches` の下とデプロイステップの `if` パラメータに、プロジェクトで使用されているソースブランチの正しいブランチ名を設定してください。
|
||||
{{< /alert >}}
|
||||
|
||||
```yaml
|
||||
# .github/workflows/gh-pages.yml
|
||||
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
設定ファイルを GitHub にプッシュすると、アクションが自動的に実行されます。最初は失敗する可能性があり、GitHub リポジトリの **Settings > Pages** セクションにアクセスして、ソースが正しいことを確認する必要があります。`gh-pages` ブランチを使用するように設定する必要があります。
|
||||
|
||||
{{< screenshot src="github-pages-source.jpg" alt="GitHub Pages ソースのスクリーンキャプチャ" >}}
|
||||
|
||||
設定が完了したら、アクションを再実行すると、サイトが正しくビルドおよびデプロイされます。すべてが正常にデプロイされたことを確認するには、アクションログを参照してください。
|
||||
|
||||
## Netlify
|
||||
|
||||
[Netlify](https://www.netlify.com) にデプロイするには、新しい継続的デプロイサイトを作成し、それをソースコードにリンクします。Netlify UI では、ビルド設定を空白のままにすることができます。使用するドメインを設定するだけで済みます。
|
||||
|
||||
{{< screenshot src="netlify-build-settings.jpg" alt="Netlify ビルド設定のスクリーンキャプチャ" >}}
|
||||
|
||||
次に、サイトリポジトリのルートに `netlify.toml` ファイルを作成します。
|
||||
|
||||
```toml
|
||||
# netlify.toml
|
||||
|
||||
[build]
|
||||
command = "hugo mod get -u && hugo --gc --minify -b $URL"
|
||||
publish = "public"
|
||||
|
||||
[build.environment]
|
||||
NODE_ENV = "production"
|
||||
GO_VERSION = "1.16"
|
||||
TZ = "UTC" # 希望のタイムゾーンに設定
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
```
|
||||
|
||||
この設定では、Blowfish を Hugo モジュールとしてデプロイすることを想定しています。別の方法でテーマをインストールした場合は、ビルドコマンドを単に `hugo --gc --minify -b $URL` に変更します。
|
||||
|
||||
設定ファイルをリポジトリにプッシュすると、Netlify は自動的にサイトをデプロイします。エラーがないか確認するには、Netlify UI のデプロイログを確認してください。
|
||||
|
||||
## Render
|
||||
|
||||
[Render](https://render.com) へのデプロイは非常に簡単で、すべての設定は Render UI を介して行います。
|
||||
|
||||
新しい **静的サイト** を作成し、それをプロジェクトのコードリポジトリにリンクします。次に、ビルドコマンドを `hugo --gc --minify` に、公開ディレクトリを `public` に設定するだけです。
|
||||
|
||||
{{< screenshot src="render-settings.jpg" alt="Render 設定のスクリーンキャプチャ" >}}
|
||||
|
||||
リポジトリに変更をプッシュするたびに、サイトが自動的にビルドおよびデプロイされます。
|
||||
|
||||
## Cloudflare Pages
|
||||
|
||||
Cloudflare は、Hugo ブログをホストできる [Pages](https://pages.cloudflare.com/) サービスを提供しています。これは、git リポジトリからサイトをビルドし、Cloudflare の CDN でホストします。[Hugo デプロイメントガイド](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site)に従って始めてください。
|
||||
|
||||
Cloudflare が提供する Rocket Loader™ 機能は、JavaScript を使用した Web ページのレンダリングを高速化しようとしますが、テーマの外観スイッチャーが壊れます。また、スクリプトが間違った順序で読み込まれるため、サイトの閲覧時に迷惑な明暗の画面のちらつきが発生する可能性があります。
|
||||
|
||||
この問題は、次のように無効にすることで修正できます。
|
||||
|
||||
- [Cloudflare ダッシュボード](https://dash.cloudflare.com)に移動します
|
||||
- リストでドメイン名をクリックします
|
||||
- _Speed_ セクションで _Optimization_ をクリックします
|
||||
- _Rocket Loader™_ までスクロールして無効にします
|
||||
|
||||
Blowfish でビルドされた Hugo サイトは、この機能を無効にしても非常に高速に読み込まれます。
|
||||
|
||||
## 共有ホスティング、VPS、またはプライベート Web サーバー
|
||||
|
||||
従来の Web ホスティングを使用したり、独自の Web サーバーにデプロイしたりするのは、Hugo サイトをビルドしてファイルをホストに転送するのと同じくらい簡単です。
|
||||
|
||||
`config.toml` の `baseURL` パラメータが、ウェブサイトのルートへの完全な URL (サブドメインやサブフォルダを含む) に設定されていることを確認してください。
|
||||
|
||||
次に、`hugo` を使用してサイトをビルドし、出力ディレクトリの内容を Web サーバーのルートにコピーすると、準備完了です。デフォルトでは、出力ディレクトリの名前は `public` です。
|
||||
|
||||
_ホスティングプロバイダーが必要な場合は、[Vultr](https://www.vultr.com/?ref=8957394-8H) または [DigitalOcean](https://m.do.co/c/36841235e565) を確認してください。これらのアフィリエイトリンクを使用してサインアップすると、最大 $100 の無料クレジットが付与されるため、サービスを試すことができます。_
|
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
title: "Hosting & Deployment"
|
||||
weight: 14
|
||||
draft: false
|
||||
description: "Learn how to deploy a Blowfish site."
|
||||
slug: "hosting-deployment"
|
||||
tags: ["docs", "hosting", "deployment", "github", "netlify", "render"]
|
||||
series: ["Documentation"]
|
||||
series_order: 14
|
||||
---
|
||||
|
||||
There are many ways to deploy your Hugo website built with Blowfish. The theme is designed to be flexible in almost any deployment scenario.
|
||||
|
||||
Blowfish is built using relative URLs throughout the theme. This enables sites to easily be deployed to sub-folders and hosts like GitHub Pages. There's usually no special configuration required for this to work as long as the `baseURL` parameter has been configured in the `config.toml` file.
|
||||
|
||||
The official Hugo [Hosting and Deployment](https://gohugo.io/hosting-and-deployment/) docs are the best place to learn how to deploy your site. The sections below contain some specific theme configuration details that can help you deploy smoothly with certain providers.
|
||||
|
||||
**Choose your provider:**
|
||||
|
||||
- [GitHub Pages](#github-pages)
|
||||
- [Netlify](#netlify)
|
||||
- [Render](#render)
|
||||
- [Cloudflare Pages](#cloudflare-pages)
|
||||
- [Shared hosting, VPS or private web server](#shared-hosting-vps-or-private-web-server)
|
||||
|
||||
---
|
||||
|
||||
## GitHub Pages
|
||||
|
||||
GitHub allows hosting on [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) using Actions. To enable this functionality, enable Pages on your repo and create a new Actions workflow to build and deploy your site.
|
||||
|
||||
The file needs to be in YAML format, placed within the `.github/workflows/` directory of your GitHub repository and named with a `.yml` extension.
|
||||
|
||||
{{< alert >}}
|
||||
**Important:** Ensure you set the correct branch name under `branches` and in the deploy step `if` parameter to the source branch used in your project.
|
||||
{{< /alert >}}
|
||||
|
||||
```yaml
|
||||
# .github/workflows/gh-pages.yml
|
||||
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
Push the config file to GitHub and the action should automatically run. It may fail the first time and you'll need to visit the **Settings > Pages** section of your GitHub repo to check the source is correct. It should be set to use the `gh-pages` branch.
|
||||
|
||||
{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source" >}}
|
||||
|
||||
Once the settings are configured, re-run the action and the site should build and deploy correctly. You can consult the actions log to check everything deployed successfully.
|
||||
|
||||
## Netlify
|
||||
|
||||
To deploy to [Netlify](https://www.netlify.com), create a new continuous deployment site and link it to your source code. The build settings can be left blank in the Netlify UI. You will only need to configure the domain you'll be using.
|
||||
|
||||
{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}}
|
||||
|
||||
Then in the root of your site repository, create a `netlify.toml` file:
|
||||
|
||||
```toml
|
||||
# netlify.toml
|
||||
|
||||
[build]
|
||||
command = "hugo mod get -u && hugo --gc --minify -b $URL"
|
||||
publish = "public"
|
||||
|
||||
[build.environment]
|
||||
NODE_ENV = "production"
|
||||
GO_VERSION = "1.16"
|
||||
TZ = "UTC" # Set to preferred timezone
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
```
|
||||
|
||||
This configuration assumes you are deploying Blowfish as a Hugo module. If you have installed the theme using another method, change the build command to simply `hugo --gc --minify -b $URL`.
|
||||
|
||||
When you push the config file to your repo, Netlify should automatically deploy your site. You can check the deploy logs in the Netlify UI to check for any errors.
|
||||
|
||||
## Render
|
||||
|
||||
Deploying to [Render](https://render.com) is very straightforward and all configuration is via the Render UI.
|
||||
|
||||
Create a new **Static Site** and link it to your project's code repository. Then simply configure the build command to be `hugo --gc --minify` and publish directory to be `public`.
|
||||
|
||||
{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}}
|
||||
|
||||
The site will automatically build and deploy whenever you push a change to your repo.
|
||||
|
||||
## Cloudflare Pages
|
||||
|
||||
Cloudflare offers the [Pages](https://pages.cloudflare.com/) service that can host Hugo blogs. It builds the site from a git repository and then hosts it on Cloudflare's CDN. Follow their [Hugo deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site) to get started.
|
||||
|
||||
The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order.
|
||||
|
||||
This problem can be fixed by disabling it:
|
||||
|
||||
- Go to the [Cloudflare dashboard](https://dash.cloudflare.com)
|
||||
- Click on your domain name in the list
|
||||
- Click _Optimization_ in the _Speed_ section
|
||||
- Scroll down to _Rocket Loader™_ and disable it
|
||||
|
||||
Hugo sites built with Blowfish still load very quickly, even with this feature disabled.
|
||||
|
||||
## Shared hosting, VPS or private web server
|
||||
|
||||
Using traditional web hosting, or deploying to your own web server, is as simple as building your Hugo site and transferring the files to your host.
|
||||
|
||||
Make sure that the `baseURL` parameter in `config.toml` is set to the full URL to the root of your website (including any sub domains or sub-folders).
|
||||
|
||||
Then build your site using `hugo` and copy the contents of the output directory to the root of your web server and you will be ready to go. By default, the output directory is named `public`.
|
||||
|
||||
_If you need a hosting provider, check out [Vultr](https://www.vultr.com/?ref=8957394-8H) or [DigitalOcean](https://m.do.co/c/36841235e565). Signing up using these affiliate links will give you up to $100 in free credit so you can try the service._
|
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
title: "托管和部署"
|
||||
weight: 14
|
||||
draft: false
|
||||
description: "了解如何部署 Blowfish 网页。"
|
||||
slug: "hosting-deployment"
|
||||
tags: ["文档", "托管", "部署", "github", "netlify", "渲染器"]
|
||||
series: ["部署教程"]
|
||||
series_order: 14
|
||||
---
|
||||
|
||||
有许多方法可以部署基于 Blowfish 主题的 Hugo 网站。这个主题几乎在任何部署场景中都很灵活。
|
||||
|
||||
Blowfish 主题是通过将目录转换成相对 URL 路径来构建的。这让网站可以轻松地将子文件夹部署到类似 GitHub Pages 的托管服务中。只要在 `config.toml` 文件中配置了 `baseURL` 参数即可,通常不需要其他特殊的配置就能正常工作。
|
||||
|
||||
Hugo 官方[托管与部署](https://gohugo.io/hosting-and-deployment/)文档是了解如何部署网站的最佳方案。下面会介绍详细介绍一些方案,希望能帮助你在以下平台顺利部署。
|
||||
|
||||
**选择你喜欢的服务商:**
|
||||
|
||||
- [GitHub Pages](#github-pages)
|
||||
- [Netlify](#netlify)
|
||||
- [Render](#render)
|
||||
- [Cloudflare Pages](#cloudflare-pages)
|
||||
- [共享主机,VPS 或者 私有服务器](#共享主机vps-或者-私有服务器)
|
||||
|
||||
---
|
||||
|
||||
## GitHub Pages
|
||||
|
||||
GitHub 允许你使用 Actions 在 [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) 上托管静态网站。如果想要启用此功能,需要你在代码库中启用 Pages 并创建一个新的 Actions 工作流,以此来构建和部署你的网站。
|
||||
|
||||
工作流文件需要是 YAML 格式,放置在 GitHub 仓库的 `.github/workflows/` 目录下,并以 `.yml` 后缀命名即可。
|
||||
|
||||
{{< alert >}}
|
||||
**重要:** 确保你需要部署的分支 `branches` 分支下和 YAML 的部署步骤中 `if` 参数一致,保证部署正确的分支。
|
||||
{{< /alert >}}
|
||||
|
||||
```yaml
|
||||
# .github/workflows/gh-pages.yml
|
||||
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
将配置文件推动到 Github,Github 会自动运行工作流。你需要访问 Github 代码库的 **Settings > Pages** 部分,检查 YAML 配置是否正确。它应该被设置为使用 `gh-pages` 分支。
|
||||
|
||||
{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source" >}}
|
||||
|
||||
一旦配置完成后,重新运行 Actions 工作流,网站会正确构建和部署,你就可以查看 Actions 的日志来检查是否部署成功。
|
||||
|
||||
## Netlify
|
||||
|
||||
想要部署 [Netlify](https://www.netlify.com),需要创建一个新的 CI 并关联到你的源码。在 Netlify UI 中,构建的设置可以置空,你只需要配置你要绑定的域名。
|
||||
|
||||
{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}}
|
||||
|
||||
然后在你的代码库根目录下创建一个 `netlify.toml` 文件,具体内容如下:
|
||||
|
||||
```toml
|
||||
# netlify.toml
|
||||
|
||||
[build]
|
||||
command = "hugo mod get -u && hugo --gc --minify -b $URL"
|
||||
publish = "public"
|
||||
|
||||
[build.environment]
|
||||
NODE_ENV = "production"
|
||||
GO_VERSION = "1.16"
|
||||
TZ = "UTC" # Set to preferred timezone
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.104.1"
|
||||
```
|
||||
|
||||
这个配置默认使用的是 Hugo module 的安装方式来加载 Blowfish 主题的。如果你是通过别的方式加载 Blowfish,请将构建命令改为 `hugo --gc --minify -b $URL`。
|
||||
|
||||
当你将配置文件推动到你的代码库时,Netlify 会自动触发并部署你的网站。你可以在 Netlify UI 中查看日志,以检查是否报错。
|
||||
|
||||
## Render
|
||||
|
||||
部署到 [Render](https://render.com) 非常地简单易懂,所有的配置都可以通过 Render UI 来完成。
|
||||
|
||||
创建一个 **静态网站** 并关联到你的代码库。然后只需要配置你的构建命令为 `hugo --gc --minify` 和发布目录为 `public` 即可。
|
||||
|
||||
{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}}
|
||||
|
||||
当你更新你的代码库时,[Render](https://render.com) 总会自动构建并重新部署。
|
||||
|
||||
## Cloudflare Pages
|
||||
|
||||
Cloudflare 提供了 [Pages](https://pages.cloudflare.com/) 服务来托管 Hugo 站点。只需要从 Git 仓库构建并托管到 Cloudflare 的 CDN 即可。这部分可以参考 [Hugo 部署指南](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site)。
|
||||
|
||||
Cloudflare 提供的 Rocket Loader™ 可以通过 JavaScript 来加速网页渲染,但是会破坏 Blowfish 主题中的外观切换器,甚至还有可能因为错误的加载顺序导致网站出现或亮或暗的屏幕闪烁。
|
||||
|
||||
可以通过禁用它来解决:
|
||||
|
||||
- 点击 [Cloudflare 控制台](https://dash.cloudflare.com)
|
||||
- 点击你的域名
|
||||
- 点击 _Speed_ 中的 _Optimization_ 选项
|
||||
- 滚动到 _Rocket Loader™_ 并禁用它
|
||||
|
||||
即使不需要这个功能,基于 Blowfish 主题的 Hugo 站点本身加载就比较快。
|
||||
|
||||
## 共享主机,VPS 或者 私有服务器
|
||||
|
||||
不论你是使用传统的网站托管,或是部署到你自己的服务器中,这和构建 Hugo 网站并传输文件到你的服务一样简单。
|
||||
|
||||
确保 `config.toml` 文件中的 `baseURL` 参数是你的网站根目录的完整 URL(包括任何子域名或子文件夹)。
|
||||
|
||||
然后使用 `hugo` 构建你的网站,并将输出目录复制到你的服务器根目录,至此你已经部署完毕了。需要注意的是,默认情况下构建好的网站目录是 `public`。
|
||||
|
||||
_如果你需要一个托管提供商,你可以尝试 [Vultr](https://www.vultr.com/?ref=8957394-8H) 或者 [DigitalOcean](https://m.do.co/c/36841235e565)。注册这些产品默认会给你100美元的免费额度,以便你托管服务。_
|
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Loading…
Add table
Add a link
Reference in a new issue