Initial commit of current website sources, assets and scripts
@@ -0,0 +1,27 @@
|
||||
.PHONY: development production watch watch-production
|
||||
|
||||
all:
|
||||
|
||||
composer.lock:
|
||||
@composer update
|
||||
|
||||
yarn.lock:
|
||||
@yarn upgrade
|
||||
|
||||
data/github:
|
||||
@./bin/github-download-organization-repos-latest-releases-data libimobiledevice
|
||||
|
||||
watch: export CECIL_DEBUG=true
|
||||
watch: composer.lock yarn.lock data/github
|
||||
@rm -rf .cache && ./vendor/bin/cecil serve --config config.development.yml
|
||||
|
||||
watch-production: export CECIL_DEBUG=false
|
||||
watch-production: composer.lock yarn.lock data/github
|
||||
@rm -rf .cache && ./vendor/bin/cecil serve --config config.production.yml
|
||||
|
||||
development: export CECIL_DEBUG=true
|
||||
development: composer.lock yarn.lock data/github
|
||||
@rm -rf .cache && ./vendor/bin/cecil build --config config.$@.yml
|
||||
|
||||
production: composer.lock yarn.lock data/github
|
||||
@rm -rf .cache && ./vendor/bin/cecil build --config config.$@.yml
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="fa-custom" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="896" descent="-128" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="0" d="" />
|
||||
<glyph unicode="" glyph-name="music" d="M940.76 892.98c5.186 1.633 13.805 2.961 19.24 2.961 35.295 0 63.967-28.646 64-63.941v-704c0-70.699-86-128-192-128s-192 57.32-192 128 86 128 192 128c17.918-0.098 46.59-3.619 64-7.859v369.218l-512-150v-467.36c0-70.68-86-128-192-128s-192 57.32-192 128 86 128 192 128c17.916-0.102 46.588-3.613 64-7.84v522.82c0.016 25.916 20.096 53.252 44.82 61.020z" />
|
||||
<glyph unicode="" glyph-name="heart" d="M924.6 770.8c125.6-107.201 132.201-299.602 19.6-415.8l-387-399.6c-25-25.801-65.6-25.801-90.6 0l-387 399.6c-112.4 116.199-105.799 308.6 19.801 415.8 109.6 93.398 272.798 76.6 373.2-27.201l39.4-40.6 39.4 40.6c100.6 103.801 263.6 120.6 373.2 27.201z" />
|
||||
<glyph unicode="" glyph-name="star" horiz-adv-x="1152" d="M518.6 860.4c23.6 47.799 91.4 47.199 114.801 0l130.6-264.8 292.2-42.6c52.4-7.6 73.4-72.199 35.4-109.199l-211.4-206 50-291c9-52.602-46.398-91.801-92.799-67.4l-261.4 137.4-261.4-137.4c-46.4-24.6-101.799 14.799-92.799 67.4l50 291-211.4 206c-38 37-17 101.6 35.4 109.199l292.2 42.6z" />
|
||||
<glyph unicode="" glyph-name="user" horiz-adv-x="896" d="M448 384c-141.4 0-256 114.6-256 256s114.6 256 256 256 256-114.6 256-256-114.6-256-256-256zM627.2 320c148.4 0 268.8-120.4 268.8-268.8v-83.199c0-53-43-96-96-96h-704c-53 0-96 43-96 96v83.199c0 148.4 120.4 268.8 268.8 268.8h33.398c44.602-20.4 93.801-32 145.801-32s101.4 11.6 145.801 32h33.398z" />
|
||||
<glyph unicode="" glyph-name="check" d="M954.857 554.285c0-14.286-5.714-28.571-16-38.857l-491.429-491.429c-10.286-10.286-24.571-16-38.857-16s-28.571 5.714-38.857 16l-284.571 284.571c-10.286 10.286-16 24.571-16 38.857s5.714 28.571 16 38.857l77.714 77.714c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l168-168.571 374.857 375.429c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l77.714-77.714c10.286-10.286 16-24.571 16-38.857z" />
|
||||
<glyph unicode="" glyph-name="close, remove, times" horiz-adv-x="805" d="M741.714 122.285c0-14.286-5.714-28.571-16-38.857l-77.714-77.714c-10.286-10.286-24.571-16-38.857-16s-28.571 5.714-38.857 16l-168 168-168-168c-10.286-10.286-24.571-16-38.857-16s-28.571 5.714-38.857 16l-77.714 77.714c-10.286 10.286-16 24.571-16 38.857s5.714 28.571 16 38.857l168 168-168 168c-10.286 10.286-16 24.571-16 38.857s5.714 28.571 16 38.857l77.714 77.714c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l168-168 168 168c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l77.714-77.714c10.286-10.286 16-24.571 16-38.857s-5.714-28.571-16-38.857l-168-168 168-168c10.286-10.286 16-24.571 16-38.857z" />
|
||||
<glyph unicode="" glyph-name="cog, gear" horiz-adv-x="878" d="M585.143 365.714c0 80.571-65.714 146.286-146.286 146.286s-146.286-65.714-146.286-146.286 65.714-146.286 146.286-146.286 146.286 65.714 146.286 146.286zM877.714 428v-126.857c0-8.571-6.857-18.857-16-20.571l-105.714-16c-6.286-18.286-13.143-35.429-22.286-52 19.429-28 40-53.143 61.143-78.857 3.429-4 5.714-9.143 5.714-14.286s-1.714-9.143-5.143-13.143c-13.714-18.286-90.857-102.286-110.286-102.286-5.143 0-10.286 2.286-14.857 5.143l-78.857 61.714c-16.571-8.571-34.286-16-52-21.714-4-34.857-7.429-72-16.571-106.286-2.286-9.143-10.286-16-20.571-16h-126.857c-10.286 0-19.429 7.429-20.571 17.143l-16 105.143c-17.714 5.714-34.857 12.571-51.429 21.143l-80.571-61.143c-4-3.429-9.143-5.143-14.286-5.143s-10.286 2.286-14.286 6.286c-30.286 27.429-70.286 62.857-94.286 96-2.857 4-4 8.571-4 13.143 0 5.143 1.714 9.143 4.571 13.143 19.429 26.286 40.571 51.429 60 78.286-9.714 18.286-17.714 37.143-23.429 56.571l-104.571 15.429c-9.714 1.714-16.571 10.857-16.571 20.571v126.857c0 8.571 6.857 18.857 15.429 20.571l106.286 16c5.714 18.286 13.143 35.429 22.286 52.571-19.429 27.429-40 53.143-61.143 78.857-3.429 4-5.714 8.571-5.714 13.714s2.286 9.143 5.143 13.143c13.714 18.857 90.857 102.286 110.286 102.286 5.143 0 10.286-2.286 14.857-5.714l78.857-61.143c16.571 8.571 34.286 16 52 21.714 4 34.857 7.429 72 16.571 106.286 2.286 9.143 10.286 16 20.571 16h126.857c10.286 0 19.429-7.429 20.571-17.143l16-105.143c17.714-5.714 34.857-12.571 51.429-21.143l81.143 61.143c3.429 3.429 8.571 5.143 13.714 5.143s10.286-2.286 14.286-5.714c30.286-28 70.286-63.429 94.286-97.143 2.857-3.429 4-8 4-12.571 0-5.143-1.714-9.143-4.571-13.143-19.429-26.286-40.571-51.429-60-78.286 9.714-18.286 17.714-37.143 23.429-56l104.571-16c9.714-1.714 16.571-10.857 16.571-20.571z" />
|
||||
<glyph unicode="" glyph-name="home" horiz-adv-x="1152" d="M560.74 599.48c3.697 2.98 10.551 5.398 15.299 5.398 4.75 0 11.604-2.418 15.301-5.398l368.66-303.48v-328c0-17.664-14.336-32-32-32l-224.042 0.619c-17.664 0-32 14.336-32 32 0 0.029 0 0.074 0.002 0.102v191.279c0 17.664-14.338 32-32 32h-128c-17.664 0-32-14.336-32-32v-191.42c0-17.576-14.266-31.912-31.842-32l-224.12-0.58c-17.664 0-32 14.336-32 32v327.78zM1143.2 393.060c4.891-3.977 8.859-12.318 8.859-18.621 0-4.746-2.445-11.572-5.459-15.24l-51-62c-3.973-4.807-12.262-8.709-18.498-8.709-4.771 0-11.627 2.469-15.301 5.51l-470.46 387.48c-3.697 2.98-10.551 5.398-15.301 5.398-4.748 0-11.602-2.418-15.299-5.398l-470.44-387.48c-3.674-3.033-10.521-5.496-15.285-5.496-6.256 0-14.561 3.924-18.535 8.756l-51 62c-3.041 3.676-5.51 10.531-5.51 15.301 0 6.238 3.902 14.525 8.709 18.5l506.26 416.94c14.672 12.072 42 21.871 61 21.871 19.002 0 46.328-9.799 61-21.871l179.061-147.32v145.221c0 13.248 10.752 24 24 24h112c13.248 0 24-10.752 24-24v-277.020z" />
|
||||
<glyph unicode="" glyph-name="download" horiz-adv-x="951" d="M731.429 109.714c0 20-16.571 36.571-36.571 36.571s-36.571-16.571-36.571-36.571 16.571-36.571 36.571-36.571 36.571 16.571 36.571 36.571zM877.714 109.714c0 20-16.571 36.571-36.571 36.571s-36.571-16.571-36.571-36.571 16.571-36.571 36.571-36.571 36.571 16.571 36.571 36.571zM950.857 237.714v-182.857c0-30.286-24.571-54.857-54.857-54.857h-841.143c-30.286 0-54.857 24.571-54.857 54.857v182.857c0 30.286 24.571 54.857 54.857 54.857h265.714l77.143-77.714c21.143-20.571 48.571-32 77.714-32s56.571 11.429 77.714 32l77.714 77.714h265.143c30.286 0 54.857-24.571 54.857-54.857zM765.143 562.857c5.714-13.714 2.857-29.714-8-40l-256-256c-6.857-7.429-16.571-10.857-25.714-10.857s-18.857 3.429-25.714 10.857l-256 256c-10.857 10.286-13.714 26.286-8 40 5.714 13.143 18.857 22.286 33.714 22.286h146.286v256c0 20 16.571 36.571 36.571 36.571h146.286c20 0 36.571-16.571 36.571-36.571v-256h146.286c14.857 0 28-9.143 33.714-22.286z" />
|
||||
<glyph unicode="" glyph-name="redo" d="M1000.66 896c13.248 0 24-10.752 24-24v-400.68c0-13.248-10.752-24-24-24h-400.66c-13.248 0-24 10.752-24 24v94.848c0 13.248 10.752 24 24 24 0.314 0 0.826-0.014 1.141-0.027l203.058-9.74c-57.744 85.922-188.629 155.656-292.152 155.656-194.303 0-352-157.697-352-352 0-194.305 157.697-352 352-352 73.309 0 177.475 39.301 232.514 87.723 3.744 3.273 10.818 5.928 15.791 5.928 5.486 0 13.088-3.148 16.969-7.027l68-68c3.883-3.881 7.035-11.486 7.035-16.977 0-5.922-3.582-13.934-7.996-17.883-77.941-70.557-226.528-127.82-331.662-127.82h-0.697c-273.8 0-495.8 221.86-496 495.62-0.199 273.32 222.68 496.38 496 496.38h0.545c126.449 0 295.478-78.248 377.294-174.66l-8 165.52c-0.016 0.314-0.027 0.826-0.027 1.141 0 13.248 10.752 24 24 24h94.848z" />
|
||||
<glyph unicode="" glyph-name="lock" horiz-adv-x="896" d="M800 448c53 0 96-43 96-96v-384c0-53-43-96-96-96h-704c-53 0-96 43-96 96v384c0 53 43 96 96 96h48v144c0 167.6 136.4 304 304 304s304-136.4 304-304v-144h48zM592 448v144c0 79.4-64.6 144-144 144s-144-64.6-144-144v-144h288z" />
|
||||
<glyph unicode="" glyph-name="tag" d="M0 391.764v408.236c0 53.020 42.98 96 96 96h408.236c21.949 0 52.361-12.598 67.881-28.117l423.766-423.766c37.488-37.488 37.488-98.273 0-135.764l-408.236-408.236c-37.49-37.488-98.275-37.488-135.764 0l-423.766 423.766c-15.52 15.52-28.117 45.932-28.117 67.881zM224 768c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96z" />
|
||||
<glyph unicode="" glyph-name="bookmark" horiz-adv-x="768" d="M0-128v928c0 53.020 42.98 96 96 96h576c53.020 0 96-42.98 96-96v-928l-384 224z" />
|
||||
<glyph unicode="" glyph-name="chevron-left" horiz-adv-x="640" d="M69.039 417.94l388.702 388.68c18.74 18.74 49.141 18.74 67.879 0l45.342-45.34c18.719-18.719 18.738-49.039 0.078-67.799l-308.058-309.48 308.040-309.5c18.68-18.76 18.641-49.080-0.080-67.801l-45.34-45.34c-18.74-18.74-49.139-18.74-67.879 0l-388.682 388.702c-18.738 18.74-18.738 49.139 0 67.879z" />
|
||||
<glyph unicode="" glyph-name="chevron-right" horiz-adv-x="640" d="M570.952 350.058l-388.688-388.688c-18.746-18.744-49.137-18.744-67.881 0l-45.334 45.334c-18.715 18.715-18.75 49.045-0.080 67.803l308.042 309.492-308.042 309.49c-18.67 18.758-18.635 49.088 0.080 67.803l45.334 45.334c18.746 18.744 49.137 18.744 67.881 0l388.686-388.688c18.746-18.744 18.746-49.135 0.002-67.881z" />
|
||||
<glyph unicode="" glyph-name="asterisk" d="M956.42 227.814c23.59-12.955 31.92-42.766 18.465-66.072l-38.961-67.482c-13.455-23.307-43.441-30.998-66.453-17.045l-277.47 168.221 6.951-324.408c0.576-26.906-21.078-49.027-47.988-49.027h-77.924c-26.91 0-48.564 22.121-47.988 49.027l6.949 324.408-277.47-168.223c-23.012-13.953-52.998-6.262-66.453 17.045l-38.961 67.482c-13.457 23.307-5.125 53.119 18.465 66.074l284.42 156.186-284.418 156.184c-23.59 12.955-31.922 42.768-18.467 66.074l38.961 67.482c13.455 23.307 43.441 30.998 66.453 17.045l277.47-168.221-6.947 324.408c-0.578 26.906 21.076 49.027 47.986 49.027h77.922c26.912 0 48.564-22.121 47.988-49.027l-6.949-324.408 277.47 168.223c23.014 13.953 52.998 6.262 66.453-17.045l38.961-67.482c13.457-23.307 5.125-53.119-18.465-66.074l-284.42-156.186z" />
|
||||
<glyph unicode="" glyph-name="chevron-up" horiz-adv-x="896" d="M481.942 634.952l388.688-388.686c18.744-18.746 18.744-49.137 0-67.881l-45.334-45.334c-18.715-18.715-49.045-18.75-67.803-0.080l-309.492 308.040-309.49-308.042c-18.758-18.67-49.088-18.635-67.803 0.080l-45.334 45.334c-18.744 18.746-18.744 49.137 0 67.881l388.688 388.686c18.744 18.746 49.135 18.746 67.881 0.002z" />
|
||||
<glyph unicode="" glyph-name="chevron-down" horiz-adv-x="896" d="M414.058 133.049l-388.688 388.688c-18.744 18.746-18.744 49.137 0 67.881l45.334 45.334c18.715 18.715 49.045 18.75 67.803 0.080l309.492-308.042 309.49 308.042c18.758 18.67 49.088 18.635 67.803-0.080l45.334-45.334c18.744-18.746 18.744-49.137 0-67.881l-388.686-388.688c-18.746-18.744-49.137-18.744-67.883 0z" />
|
||||
<glyph unicode="" glyph-name="shopping-cart" horiz-adv-x="1152" d="M1056.24 293.362c-4.967-21.854-24.395-37.361-46.807-37.361h-586.29l13.090-64h536.836c30.801 0 53.631-28.602 46.807-58.639l-11.035-48.551c37.383-18.146 63.158-56.467 63.158-100.811 0-61.855-50.145-112-112-112s-112 50.145-112 112c0 31.348 12.895 59.67 33.646 80h-419.294c20.754-20.33 33.648-48.652 33.648-80 0-61.855-50.145-112-112-112s-112 50.145-112 112c0 41.557 22.65 77.801 56.262 97.131l-140.496 686.87h-139.766c-26.51 0-48 21.49-48 48v32c0 26.51 21.49 48 48 48h205.058c22.801 0 42.457-16.043 47.025-38.381l18.332-89.619h785.564c30.801 0 53.631-28.602 46.805-58.639z" />
|
||||
<glyph unicode="" glyph-name="twitter-square" d="M800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM702.2 514.404c25.602 18.6 48 41.799 65.801 68-23.6-10.201-49.199-17.6-75.6-20.4 27.199 16.199 47.799 41.801 57.6 72.199-25.199-15-53.6-26-83.199-31.6-24 25.6-58 41.4-95.801 41.4-80 0-146.6-72.199-128-161.199-108.801 5.6-205.8 57.6-270.4 137.199-11.4-19.4-17.799-41.801-17.799-66.199v-0.215c0-38.717 26.162-87.543 58.398-108.986-21.398 0.801-41.799 6.801-59.199 16.6v-1.6c0-63.799 45-116.6 105-128.799-20.801-5.4-39-5.4-59.199-2.4 16.6-52 65-89.801 122.6-91-45-35.201-101.4-56-162.801-56-10.799 0-21 0.4-31.6 1.6 58-37.199 127-58.801 201.4-58.801 241.2 0 373.2 199.801 373.2 373.202 0 5.6 0 11.4-0.4 17z" />
|
||||
<glyph unicode="" glyph-name="facebook-square" d="M800 832.004c52.992 0 96-43.008 96-96v-704c0-52.992-43.008-96-96-96h-274.5v304.62h115.561l22 143.381h-137.561v93.1c0 39.221 19.221 77.461 80.84 77.461h62.541v122s-56.762 9.68-111.041 9.68c-113.34 0-187.34-68.66-187.34-192.961v-109.279h-126v-143.381h126v-304.62h-274.5c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h704z" />
|
||||
<glyph unicode="" glyph-name="chart-bar" d="M665.6 256c-12.799 0-25.6 12.801-25.6 25.6v268.8c0 12.799 12.801 25.6 25.6 25.6h76.801c12.799 0 25.6-12.801 25.6-25.6v-268.8c0-12.799-12.801-25.6-25.6-25.6h-76.801zM857.6 256c-12.799 0-25.6 12.801-25.6 25.6v460.8c0 12.799 12.801 25.6 25.6 25.6h76.801c12.799 0 25.6-12.801 25.6-25.6v-460.8c0-12.799-12.801-25.6-25.6-25.6h-76.801zM281.6 256c-12.799 0-25.6 12.801-25.6 25.6v140.801c0 12.799 12.801 25.6 25.6 25.6h76.801c12.799 0 25.6-12.801 25.6-25.6v-140.801c0-12.799-12.801-25.6-25.6-25.6h-76.801zM473.6 256c-12.799 0-25.6 12.801-25.6 25.6v396.8c0 12.799 12.801 25.6 25.6 25.6h76.801c12.799 0 25.6-12.801 25.6-25.6v-396.8c0-12.799-12.801-25.6-25.6-25.6h-76.801zM992 128c17.68 0 32-14.32 32-32v-64c0-17.68-14.32-32-32-32h-928c-35.34 0-64 28.66-64 64v672c0 17.68 14.32 32 32 32h64c17.68 0 32-14.32 32-32v-608h864z" />
|
||||
<glyph unicode="" glyph-name="comments" horiz-adv-x="1152" d="M832 512c0-176.801-186.199-320-416-320-82 0-158.199 18.6-222.6 50-43.6-25.4-104.201-50-177.4-50-6.4 0-12 3.6-14.6 9.6s-1.4 12.801 3 17.4c0.6 0.6 44.799 48.6 71.6 109-47.801 52.199-76 115.4-76 184 0 176.801 186.199 320 416 320s416-143.199 416-320zM1076 72c26.801-60.6 71-108.4 71.6-109 4.4-4.801 5.6-11.6 3-17.4-2.4-5.799-8.199-9.6-14.6-9.6-73.199 0-133.801 24.6-177.4 50-64.4-31.6-140.6-50-222.6-50-172.4 0-320.4 80.801-383.4 195.801 20.801-2.201 41.801-3.801 63.4-3.801 264.6 0 480 172.199 480 384 0 13.6-0.801 27-2.6 40.199 151.6-47.799 258.6-162.398 258.6-296.2 0-68.6-28.199-132-76-184z" />
|
||||
<glyph unicode="" glyph-name="linkedin" d="M832 832.004c35.199 0 64-29 64-64.6v-766.8c0-35.6-28.801-64.6-64-64.6h-768.2c-35.201 0-63.801 29-63.801 64.6v766.8c0 35.6 28.6 64.6 63.801 64.6h768.2zM270.8 64.004h0.199v427.6h-133v-427.6h132.801zM204.4 550.004c42.6 0 77 34.4 77 77 0 42.4-34.6 77-77 77-42.6 0-77-34.6-77-77s34.4-77 77-77zM768.6 64.004v234.4c0 115.199-25 203.798-159.4 203.798-64.6 0-108-35.398-125.799-69h-1.801v58.4h-127.4v-427.6h132.801v211.6c0 55.801 10.6 109.801 79.801 109.801 68 0 69-63.801 69-113.4v-208h132.799z" />
|
||||
<glyph unicode="" glyph-name="external-link" d="M804.571 347.428v-182.857c0-90.857-73.714-164.571-164.571-164.571h-475.429c-90.857 0-164.571 73.714-164.571 164.571v475.429c0 90.857 73.714 164.571 164.571 164.571h402.286c10.286 0 18.286-8 18.286-18.286v-36.571c0-10.286-8-18.286-18.286-18.286h-402.286c-50.286 0-91.429-41.143-91.429-91.429v-475.429c0-50.286 41.143-91.429 91.429-91.429h475.429c50.286 0 91.429 41.143 91.429 91.429v182.857c0 10.286 8 18.286 18.286 18.286h36.571c10.286 0 18.286-8 18.286-18.286zM1024 841.143v-292.571c0-20-16.571-36.571-36.571-36.571-9.714 0-18.857 4-25.714 10.857l-100.571 100.571-372.571-372.571c-3.429-3.429-8.571-5.714-13.143-5.714s-9.714 2.286-13.143 5.714l-65.143 65.143c-3.429 3.429-5.714 8.571-5.714 13.143s2.286 9.714 5.714 13.143l372.571 372.571-100.571 100.571c-6.857 6.857-10.857 16-10.857 25.714 0 20 16.571 36.571 36.571 36.571h292.571c20 0 36.571-16.571 36.571-36.571z" />
|
||||
<glyph unicode="" glyph-name="github-square" d="M800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM554.6 64.603c132 44 221.6 169.801 221.4 316.6 0 183.602-148.801 323-332.4 323s-324-139.398-324-323c0-146.799 92.4-272.398 224.4-316.6 17-3 23 7.4 23 16 0 8.201-0.4 53.4-0.4 81.201 0 0-92.799-20-112.199 39.398 0 0-15.201 38.4-36.801 48.4 0 0-30.199 20.801 2.201 20.4 0 0 32.799-2.6 51-34.199 29-51.201 77.6-36.4 96.6-27.801 3 21.199 11.6 36 21.199 44.6-74 8.201-148.6 19-148.6 146.201 0 36.398 10 54.6 31.199 78-3.6 8.799-14.799 44.199 3.4 90 27.801 8.6 91.4-35.801 91.4-35.801 26.4 7.4 55 11.199 83.199 11.199 28.201 0 56.801-3.799 83.201-11.199 0 0 63.6 44.4 91.4 35.801 18.199-46 6.799-81.4 3.398-90 21.201-23.4 34.201-41.602 34.201-78 0-127.801-78-138-152-146.201 12.199-10.4 22.6-30.199 22.6-61.4 0-44.6-0.4-99.799-0.4-110.6 0-8.6 6.201-19 23-16zM358.4 186.805c-3.801-0.801-7.4 0.799-7.801 3.398-0.4 3 2.201 5.602 6 6.4 3.801 0.4 7.4-1.199 7.801-3.799 0.6-2.602-2-5.201-6-6zM339.4 188.603c0 3-3.6 5.201-7.4 4.801-4 0-7-2.201-7-4.801 0-3 3-5.199 7.4-4.799 4 0 7 2.199 7 4.799zM312 190.805c-0.801-2.602-4.801-3.801-8.199-2.602-3.801 0.801-6.4 3.801-5.602 6.4 0.801 2.6 4.801 3.801 8.201 3 4-1.199 6.6-4.199 5.6-6.799zM287.4 201.604c1.799 1.6 0.799 5.6-1.801 8.201-3 3-6.799 3.398-8.6 1.199-2-1.801-1.199-5.6 1.801-8.199 3-3 6.799-3.4 8.6-1.201zM269.2 219.804c2.201 1.6 2.201 5.199 0 8.199-1.799 3-5.199 4.4-7.398 2.6-2.201-1.4-2.201-4.799 0-7.799 2.199-3 5.6-4.201 7.398-3zM256.2 239.204c1.801 1.4 1.4 4.4-0.799 7-2.201 2-5.201 3-7 1.201-1.801-1.4-1.4-4.4 0.799-7 2.201-2 5.201-3 7-1.201zM242.8 254.004c0.799 1.6-0.4 3.801-3 5.199-2.602 1-4.801 0.4-5.602-0.799-0.799-1.801 0.4-4 3-5.201 2.201-1.398 4.801-1 5.602 0.801z" />
|
||||
<glyph unicode="" glyph-name="upload" d="M592 128h-160c-26.6 0-48 21.4-48 48v336h-175.4c-35.6 0-53.4 43-28.199 68.199l304.2 304.4c15 15 39.6 15 54.6 0l304.4-304.4c25.201-25.199 7.4-68.199-28.199-68.199h-175.4v-336c0-26.6-21.4-48-48-48zM1024 144v-224c0-26.6-21.4-48-48-48h-928c-26.6 0-48 21.4-48 48v224c0 26.6 21.4 48 48 48h272v-16c0-61.801 50.199-112 112-112h160c61.801 0 112 50.199 112 112v16h272c26.6 0 48-21.4 48-48zM776-32c0 22-18 40-40 40s-40-18-40-40 18-40 40-40 40 18 40 40zM904-32c0 22-18 40-40 40s-40-18-40-40 18-40 40-40 40 18 40 40z" />
|
||||
<glyph unicode="" glyph-name="phone-square" horiz-adv-x="896" d="M800 832c53.020 0 96-42.98 96-96v-704c0-53.020-42.98-96-96-96h-704c-53.020 0-96 42.98-96 96v704c0 53.020 42.98 96 96 96h704zM188 64c320.11 0 580 259.416 580 580v0c0 13.174-10.418 26.268-23.256 29.229l-130 29.996c-1.838 0.424-4.859 0.768-6.746 0.768-10.92 0-23.273-8.146-27.574-18.182l-60-139.996c-1.338-3.125-2.424-8.418-2.424-11.816 0-7.848 4.928-18.25 11.002-23.221l75.771-61.994c-44.967-95.844-123.674-175.633-221.56-221.558l-61.994 75.77c-4.971 6.074-15.373 11.004-23.221 11.004-3.398 0-8.691-1.088-11.816-2.426l-139.996-59.998c-10.037-4.301-18.182-16.654-18.182-27.574 0-1.887 0.344-4.908 0.768-6.746l29.996-130c3.119-13.508 15.166-23.254 29.232-23.254z" />
|
||||
<glyph unicode="" glyph-name="twitter" d="M918.74 592.572c0.65-9.096 0.65-18.195 0.65-27.291 0-277.44-211.166-597.116-597.118-597.116-118.904 0-229.36 34.438-322.274 94.211 16.895-1.947 33.137-2.598 50.68-2.598 98.109 0 188.426 33.137 260.548 89.664-92.264 1.951-169.584 62.377-196.225 145.545 12.996-1.949 25.99-3.248 39.637-3.248 18.842 0 37.686 2.6 55.227 7.146-96.162 19.494-168.285 103.959-168.285 205.968v2.598c27.938-15.594 60.428-25.34 94.861-26.637-56.527 37.686-93.561 102.010-93.561 174.781 0 38.984 10.393 74.721 28.588 105.908 103.309-127.35 258.6-210.516 432.728-219.614-3.248 15.594-5.197 31.836-5.197 48.080 0 115.654 93.564 209.868 209.868 209.868 60.428 0 115.004-25.34 153.342-66.273 47.43 9.096 92.91 26.639 133.197 50.68-15.596-48.732-48.732-89.666-92.264-115.654 42.234 4.547 83.168 16.244 120.852 32.486-28.584-41.582-64.322-78.617-105.256-108.506z" />
|
||||
<glyph unicode="" glyph-name="facebook" d="M1008 384.004c0-247.56-181.381-452.76-418.5-490v346.62h115.561l22 143.381h-137.561v93.1c0 39.221 19.221 77.461 80.82 77.461h62.561v122s-56.762 9.68-111.041 9.68c-113.34 0-187.34-68.66-187.34-192.961v-109.279h-126v-143.381h126v-346.62c-237.12 37.24-418.5 242.44-418.5 490 0 274 222 496 496 496s496-222 496-496z" />
|
||||
<glyph unicode="" glyph-name="github" horiz-adv-x="992" d="M331.8 101.203c0-4-4.602-7.199-10.4-7.199-6.6-0.6-11.201 2.6-11.201 7.199 0 4 4.602 7.201 10.4 7.201 6 0.6 11.201-2.6 11.201-7.201zM269.6 110.203c1.4 4 7.201 6 12.4 4.602 6-1.801 9.801-6.4 8.6-10.4-1.199-4-7.199-6-12.4-4-6 1.199-10 5.799-8.6 9.799zM358 113.603c5.801 0.6 11.199-2 11.801-5.799 0.6-4-3.4-7.801-9.201-9.201-6-1.4-11.199 1.201-11.799 5.201-0.602 4.6 3.398 8.398 9.199 9.799zM489.6 880.004c277.4 0 502.4-210.6 502.4-488 0-221.8-135.6-411.6-335.6-478-25.4-4.6-34.6 11.199-34.6 24.199 0 16.4 0.6 99.801 0.6 167.201 0 47-15.6 77-34 92.799 111.799 12.602 229.6 28 229.6 221 0 54.801-19.6 82.4-51.6 117.801 5.199 13 22.199 66.4-5.201 135.801-41.799 13.199-138-54-138-54-40 11.199-83 17-125.6 17s-85.6-5.801-125.6-17c0 0-96.199 67-138 54-27.4-69.201-10.4-122.801-5.199-135.801-32-35.199-47.201-62.801-47.201-117.801 0-192.398 112.801-208.6 224.6-221-14.398-13.199-27.398-35.398-32-67.398-28.6-13.201-102-35.4-145.799 41.799-27.4 47.6-77.201 51.6-77.201 51.6-49 0.602-3.199-30.799-3.199-30.799 32.801-15 55.6-73.201 55.6-73.201 29.4-89.6 169.4-59.6 169.4-59.6 0-42 0.6-110.4 0.6-122.799 0-13-9-28.801-34.6-24.201-199.4 66.801-339 256.6-339 478.4 0 277.4 212.2 488 489.6 488zM194.4 190.203c2.6 2.602 7.199 1.201 10.4-2 3.398-3.799 4-8.398 1.398-10.398-2.6-2.602-7.199-1.201-10.398 2-3.4 3.799-4 8.398-1.4 10.398zM172.801 206.404c1.398 2 4.6 2.6 8.6 1.4 4-2 6-5.201 4.6-7.801-1.4-2.801-5.4-3.4-8.6-1.4-4 2-6 5.201-4.6 7.801zM237.6 135.203c2.6 3.201 8.6 2.602 13-2 4-3.799 5.201-9.799 2.6-12.398-2.6-3.201-8.398-2.602-13 2-4.6 3.799-5.799 9.799-2.6 12.398zM214.8 164.603c3.199 2.6 8.398 0.6 11.199-4 3.199-4.6 3.199-9.799 0-12.4-2.6-2-8 0-11.199 4.602-3.201 4.6-3.201 9.799 0 11.799z" />
|
||||
<glyph unicode="" glyph-name="rss" horiz-adv-x="896" d="M256.162 64.082c0-70.738-57.344-128.082-128.082-128.082s-128.080 57.344-128.080 128.082 57.344 128.082 128.082 128.082 128.080-57.346 128.080-128.082zM607.482-30.418c0.988-18.27-13.693-33.582-31.99-33.58h-96.139c-16.828 0-30.941 12.98-32.035 29.773-14.598 224.14-193.881 402.976-417.544 417.544-16.793 1.092-29.773 15.205-29.773 32.035v96.139c0 18.295 15.313 32.977 33.582 31.988 309.53-16.727 557.192-264.702 573.9-573.9zM895.98-30.994c0.648-18.061-13.943-33.006-32.010-33.008h-96.137c-17.252 0-31.291 13.67-31.998 30.906-15.676 382.296-322.572 689.252-704.93 704.93-17.236 0.709-30.906 14.748-30.906 31.998v96.137c0 18.068 14.945 32.66 33.006 32.012 469.924-16.871 846.186-395.334 862.974-862.974z" />
|
||||
<glyph unicode="" glyph-name="certificate" d="M917.244 384.16l91.969-90.008c27.402-25.945 14.645-72.074-21.328-80.678l-125.301-31.98 35.322-124.029c9.98-35.668-23.65-69.33-59.322-59.344l-123.988 35.334-31.967-125.342c-8.678-36.307-55.65-48.311-80.65-21.336l-89.979 92.002-89.982-92.002c-25.258-26.699-71.771-15.813-80.65 21.336l-31.967 125.342-123.988-35.334c-35.664-9.982-69.305 23.666-59.322 59.344l35.322 124.029-125.301 31.98c-35.959 8.6-48.744 54.723-21.328 80.678l91.971 90.008-91.971 90.010c-27.402 25.941-14.645 72.074 21.33 80.676l125.301 31.98-35.322 124.029c-9.98 35.668 23.648 69.33 59.322 59.342l123.99-35.334 31.967 125.342c8.557 35.805 55.391 48.039 80.65 21.338l89.979-92.684 89.98 92.686c25.549 27.008 72.189 14.061 80.65-21.338l31.967-125.342 123.988 35.334c35.664 9.984 69.305-23.666 59.322-59.342l-35.322-124.029 125.301-31.98c35.959-8.6 48.744-54.725 21.328-80.678z" />
|
||||
<glyph unicode="" glyph-name="link" d="M653.224 525.218c119.494-119.619 117.854-311.396 0.719-429.182-0.219-0.238-0.479-0.5-0.719-0.738l-134.4-134.4c-118.541-118.541-311.398-118.525-429.92 0-118.541 118.52-118.541 311.4 0 429.92l74.211 74.211c19.682 19.682 53.572 6.602 54.588-21.211 1.297-35.445 7.652-71.055 19.381-105.441 3.973-11.645 1.135-24.525-7.566-33.225l-26.174-26.174c-56.051-56.053-57.811-147.32-2.311-203.92 56.049-57.158 148.172-57.498 204.65-1.021l134.4 134.381c56.383 56.383 56.146 147.514 0 203.66-7.402 7.389-14.857 13.127-20.682 17.139-7.33 5.031-13.555 16.326-13.895 25.211-0.791 21.135 6.695 42.912 23.396 59.611l42.107 42.111c11.043 11.041 28.365 12.398 41.168 3.461 12.166-8.494 30.553-23.902 41.045-34.393zM935.094 807.102c118.541-118.52 118.541-311.4-0.002-429.918l-74.211-74.211c-19.682-19.68-53.57-6.602-54.588 21.211-1.297 35.445-7.652 71.055-19.381 105.443-3.973 11.643-1.135 24.523 7.566 33.223l26.174 26.174c56.053 56.053 57.811 147.32 2.311 203.92-56.051 57.158-148.174 57.498-204.65 1.021l-134.4-134.381c-56.383-56.383-56.146-147.514 0-203.66 7.402-7.389 14.857-13.127 20.682-17.139 7.33-5.031 13.555-16.326 13.895-25.211 0.791-21.135-6.695-42.912-23.396-59.611l-42.107-42.111c-11.041-11.039-28.365-12.398-41.168-3.461-12.164 8.492-30.551 23.9-41.043 34.391-119.494 119.619-117.852 311.396-0.719 429.182 0.219 0.238 0.479 0.5 0.719 0.738l134.4 134.4c118.541 118.541 311.398 118.525 429.92 0z" />
|
||||
<glyph unicode="" glyph-name="envelope" d="M1004.6 514.4c7.801 6.199 19.4 0.4 19.4-9.4v-409c0-53-43-96-96-96h-832c-53 0-96 43-96 96v408.8c0 10 11.4 15.6 19.4 9.398 44.799-34.799 104.199-79 308.2-227.2 42.201-30.801 113.4-95.6 184.4-95.199 71.4-0.602 144 65.6 184.6 95.199 204 148.199 263.202 192.6 308 227.4zM512 256c-46.4-0.801-113.199 58.4-146.801 82.801-265.398 192.6-285.6 209.6-346.798 257.398-11.6 9.201-18.4 23-18.4 37.801v38c0 53 43 96 96 96h832c53 0 96-43 96-96v-38c0-14.801-6.801-28.801-18.4-37.801-61.199-48-81.4-64.799-346.798-257.398-33.602-24.4-100.4-83.602-146.801-82.801z" />
|
||||
<glyph unicode="" glyph-name="linkedin-in" d="M200.56 0.004h-185.76v598.2h185.76v-598.2zM107.58 679.804c-59.4 0-107.58 49.199-107.58 108.6 0 59.383 48.195 107.58 107.58 107.58s107.58-48.197 107.58-107.58c0-59.4-48.199-108.6-107.58-108.6zM895.8 0.004h-185.361v291.2c0 69.4-1.4 158.4-96.58 158.4-96.58 0-111.379-75.4-111.379-153.4v-296.2h-185.561v598.2h178.16v-81.6h2.6c24.801 47 85.381 96.6 175.76 96.6 188 0 222.56-123.799 222.56-284.6v-328.6h-0.199z" />
|
||||
<glyph unicode="" glyph-name="sitemap" horiz-adv-x="1280" d="M256 192c35.34 0 64-28.66 64-64v-192c0-35.34-28.66-64-64-64h-192c-35.34 0-64 28.66-64 64v192c0 35.34 28.66 64 64 64h192zM208 352v-96h-96v115.18c0 42.359 34.461 76.82 76.82 76.82h403.18v128h-80c-35.34 0-64 28.66-64 64v192c0 35.34 28.66 64 64 64h256c35.34 0 64-28.66 64-64v-192c0-35.34-28.66-64-64-64h-80v-128h403.18c42.359 0 76.82-34.48 76.82-76.82v-115.18h-96v96h-384v-96h-96v96h-384zM736 192c35.34 0 64-28.66 64-64v-192c0-35.34-28.66-64-64-64h-192c-35.34 0-64 28.66-64 64v192c0 35.34 28.66 64 64 64h192zM1216 192c35.34 0 64-28.66 64-64v-192c0-35.34-28.66-64-64-64h-192c-35.34 0-64 28.66-64 64v192c0 35.34 28.66 64 64 64h192z" />
|
||||
<glyph unicode="" glyph-name="angle-double-left" horiz-adv-x="896" d="M447.4 418l272 272c18.799 18.801 49.199 18.801 67.799 0l45.201-45.199c18.799-18.801 18.799-49.201 0-67.801l-192.6-193 192.799-192.801c18.801-18.799 18.801-49.199 0-67.799l-45.199-45.4c-18.801-18.801-49.201-18.801-67.801 0l-272 272c-19 18.801-19 49.199-0.199 68zM63.4 350c-18.801 18.801-18.801 49.199 0.199 68l272 272c18.6 18.801 49 18.801 67.801 0l45.199-45.4c18.801-18.6 18.801-49 0-67.799l-192.799-192.801 192.6-193c18.799-18.6 18.799-49 0-67.801l-45.201-45.199c-18.6-18.801-49-18.801-67.799 0z" />
|
||||
<glyph unicode="" glyph-name="angle-double-right" horiz-adv-x="896" d="M448.6 350l-272-272c-18.799-18.801-49.199-18.801-67.799 0l-45.201 45.199c-18.799 18.801-18.799 49.201 0 67.801l192.801 192.801-192.801 192.799c-18.799 18.801-18.799 49.201 0 67.801l45 45.6c18.801 18.801 49.201 18.801 67.801 0l272-272c19-18.801 19-49.199 0.199-68zM832.6 418c18.801-18.801 18.801-49.199 0-67.6l-272-272c-18.6-18.801-49-18.801-67.799 0l-45.201 45.199c-18.799 18.6-18.799 49 0 67.801l192.801 192.799-192.801 192.801c-18.799 18.6-18.799 49 0 67.801l45.201 45.199c18.6 18.801 49 18.801 67.799 0z" />
|
||||
<glyph unicode="" glyph-name="angle-left" horiz-adv-x="512" d="M63.4 418l272 272c18.799 18.801 49.199 18.801 67.799 0l45.201-45.199c18.799-18.801 18.799-49.201 0-67.801l-192.6-193 192.799-192.801c18.801-18.799 18.801-49.199 0-67.799l-45.199-45.4c-18.801-18.801-49.201-18.801-67.801 0l-272 272c-19 18.801-19 49.199-0.199 68z" />
|
||||
<glyph unicode="" glyph-name="angle-right" horiz-adv-x="512" d="M448.6 350l-272-272c-18.799-18.801-49.199-18.801-67.799 0l-45.201 45.199c-18.799 18.801-18.799 49.201 0 67.801l192.801 192.801-192.801 192.799c-18.799 18.801-18.799 49.201 0 67.801l45 45.6c18.801 18.801 49.201 18.801 67.801 0l272-272c19-18.801 19-49.199 0.199-68z" />
|
||||
<glyph unicode="" glyph-name="angle-up" horiz-adv-x="640" d="M354 576.6l272-272c18.801-18.799 18.801-49.199 0-67.799l-45.199-45.201c-18.801-18.799-49.201-18.799-67.801 0l-193 192.6-192.801-192.799c-18.799-18.801-49.199-18.801-67.799 0l-45.4 45.199c-18.801 18.801-18.801 49.201 0 67.801l272 272c18.801 19 49.199 19 68 0.199z" />
|
||||
<glyph unicode="" glyph-name="angle-down" horiz-adv-x="640" d="M286 191.4l-272 272c-18.801 18.799-18.801 49.199 0 67.799l45.199 45.201c18.801 18.799 49.201 18.799 67.801 0l192.801-192.801 192.799 192.801c18.801 18.799 49.201 18.799 67.801 0l45.199-45.201c18.801-18.799 18.801-49.199 0-67.799l-272-272c-18.4-18.801-48.799-18.801-67.6 0z" />
|
||||
<glyph unicode="" glyph-name="desktop" horiz-adv-x="1152" d="M1056 896c53 0 96-43 96-96v-640c0-53-43-96-96-96h-384l32-96h144c26.6 0 48-21.4 48-48s-21.4-48-48-48h-544c-26.6 0-48 21.4-48 48s21.4 48 48 48h144l32 96h-384c-53 0-96 43-96 96v640c0 53 43 96 96 96h960zM1024 192v576h-896v-576h896z" />
|
||||
<glyph unicode="" glyph-name="laptop" horiz-adv-x="1280" d="M1248 64c17.6 0 32-14.4 32-32v-32c0-70.4-57.6-128-128-128h-1024c-70.4 0-128 57.6-128 128v32c0 17.6 14.4 32 32 32h478.46c-0.5-29.061 28.158-64 65.539-64h121.6c36.061 0 64 24.381 65.48 64h484.92zM1152 800v-672h-1024v672c0 52.801 43.199 96 96 96h832c52.801 0 96-43.199 96-96zM1024 256v512h-768v-512h768z" />
|
||||
<glyph unicode="" glyph-name="github-alt" horiz-adv-x="960" d="M372.2 238.604c0-41.799-21.799-110.199-73.398-110.199-51.602 0-73.4 68.4-73.4 110.199 0 41.801 21.799 110.201 73.4 110.201s73.398-68.4 73.398-110.201zM960 339.604c0-63.799-6.4-131.4-35-190-75.801-153.199-284.2-149.6-433.4-149.6-151.6 0-372.4-5.4-451.2 149.6-29.201 58-40.4 126.201-40.4 190 0 83.801 27.801 163 83 227.202-10.4 31.6-15.4 64.799-15.4 97.6 0 43 9.801 64.6 29.201 103.6 90.6 0 148.6-18 217.6-72 58 13.801 117.6 20 177.4 20 54 0 108.398-5.801 160.799-18.4 68 53.4 126 70.4 215.6 70.4 19.602-39 29.201-60.6 29.201-103.6 0-32.801-5.201-65.4-15.4-96.4 55-64.801 78-144.6 78-228.4zM831.4 238.604c0 87.801-53.4 165.201-147 165.201-37.801 0-74-6.801-112-12-29.801-4.602-59.6-6.4-90.201-6.4-30.398 0-60.199 1.799-90.199 6.4-37.4 5.199-74 12-112 12-93.6 0-147-77.4-147-165.201 0-175.6 160.801-202.6 300.8-202.6h96.398c140.602 0 301.202 26.801 301.202 202.6zM666.2 348.804c51.602 0 73.4-68.4 73.4-110.201 0-41.799-21.799-110.199-73.4-110.199s-73.398 68.4-73.398 110.199c0 41.801 21.799 110.201 73.398 110.201z" />
|
||||
<glyph unicode="" glyph-name="terminal" horiz-adv-x="1280" d="M515.962 350.058l-388.688-388.688c-18.746-18.744-49.137-18.744-67.881 0l-45.336 45.334c-18.715 18.715-18.75 49.045-0.080 67.803l308.042 309.492-308.042 309.49c-18.67 18.758-18.635 49.088 0.080 67.803l45.334 45.334c18.746 18.744 49.137 18.744 67.881 0l388.688-388.688c18.744-18.744 18.744-49.135 0-67.881zM1280-16c0-26.51-21.49-48-48-48h-608c-26.51 0-48 21.49-48 48v64c0 26.51 21.49 48 48 48h608c26.51 0 48-21.49 48-48v-64z" />
|
||||
<glyph unicode="" glyph-name="code" horiz-adv-x="1280" d="M557.8-127l-122 35.4c-12.801 3.6-20 17-16.4 29.799l273 940.4c3.6 12.801 17 20 29.799 16.4l122-35.4c12.801-3.6 20-17 16.4-29.799l-273-940.4c-3.799-12.801-17-20.201-29.799-16.4zM329.8 97.4c-9-9.801-24.201-10.201-34-1l-288.202 270.2c-10.199 9.4-10.199 25.6 0 35l288.202 270c9.799 9.201 25 8.6 34-1l87-92.799c9.398-9.801 8.6-25.4-1.602-34.4l-181.199-159.4 181.199-159.4c10.201-9 10.801-24.6 1.602-34.4zM984.2 96.199c-9.799-9-25-8.6-34 1.201l-87 92.799c-9.398 9.801-8.6 25.4 1.602 34.4l181.199 159.4-181.199 159.6c-10.201 9-10.801 24.6-1.602 34.4l87 92.801c9.201 9.6 24.4 10 34 1l288.202-270.4c10.199-9.4 10.199-25.6 0-35z" />
|
||||
<glyph unicode="" glyph-name="code-branch" horiz-adv-x="768" d="M768 608c0-70.4-45.6-130.199-108.801-151.801-1-56.199-15.199-101-43.199-135.799-56.4-70-152-79-236.4-86.801-51.4-4.799-99.799-9.199-132.199-25.6-14.201-7.199-23.6-16.4-29.801-26.801 60-23 102.4-81.199 102.4-149.199 0-88.4-71.6-160-160-160s-160 71.6-160 160c0 71.6 47 132.199 112 152.801v398.6c-65 20.4-112 81-112 152.6 0 88.4 71.6 160 160 160s160-71.6 160-160c0-71.6-47-132.199-112-152.6v-288c47.801 23 106.199 28.6 162.6 33.799 71.801 6.602 139.6 13 170.4 51.4 13.6 16.801 20.801 41.6 22 73.801-66.4 19.4-115 80.799-115 153.6 0 88.4 71.6 160 160 160s160-71.6 160-160zM160 768c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zM160 0c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zM608 640c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z" />
|
||||
<glyph unicode="" glyph-name="puzzle-piece" horiz-adv-x="1152" d="M1038.884 318.698c75.191 0 113.115-63.186 113.115-131.584 0-67.094-38.576-123.113-109.846-123.111-79.77 0-100.691 72.305-172.617 72.305-121.104 0-51.652-240.204-51.652-240.204-103.111 0-362.46-70.146-362.46 51.461 0 71.654 72.576 92.5 72.576 171.969 0 71.002-56.23 109.436-123.576 109.436-68.654 0-127.154-37.781-127.154-112.693 0-82.727 80-117.996 80-162.941 0-139.418-357.27-57.324-357.27-57.324v666.474s351.77-81.922 351.768 57.324c0 44.945-63.422 80.771-63.422 163.5 0 74.91 63.424 112.691 132.732 112.691 66.691 0 122.922-38.432 122.922-109.436 0-79.471-72.576-100.316-72.576-171.971 0-166.594 392.576-6.594 392.576-6.594s-109.182-352.488 10.768-352.488c45.117 0 81.078 63.186 164.117 63.186z" />
|
||||
<glyph unicode="" glyph-name="rocket" horiz-adv-x="967" d="M822.857 621.714c0 30.286-24.571 54.857-54.857 54.857s-54.857-24.571-54.857-54.857 24.571-54.857 54.857-54.857 54.857 24.571 54.857 54.857zM950.857 786.285c0-189.714-52.571-316-188-452-33.143-32.571-70.857-66.286-111.429-100.571l-11.429-216.571c-0.571-5.714-4-11.429-9.143-14.857l-219.429-128c-2.857-1.714-5.714-2.286-9.143-2.286-4.571 0-9.143 1.714-13.143 5.143l-36.571 36.571c-4.571 5.143-6.286 12-4.571 18.286l48.571 157.714-160.571 160.571-157.714-48.571c-1.714-0.571-3.429-0.571-5.143-0.571-4.571 0-9.714 1.714-13.143 5.143l-36.571 36.571c-5.714 6.286-6.857 15.429-2.857 22.286l128 219.429c3.429 5.143 9.143 8.571 14.857 9.143l216.571 11.429c34.286 40.571 68 78.286 100.571 111.429 142.857 142.286 252 188 450.857 188 10.286 0 19.429-8 19.429-18.286z" />
|
||||
<glyph unicode="" glyph-name="ellipsis-v" horiz-adv-x="384" d="M192 528c79.6 0 144-64.4 144-144s-64.4-144-144-144-144 64.4-144 144 64.4 144 144 144zM48 736c0 79.6 64.4 144 144 144s144-64.4 144-144-64.4-144-144-144-144 64.4-144 144zM48 32c0 79.6 64.4 144 144 144s144-64.4 144-144-64.4-144-144-144-144 64.4-144 144z" />
|
||||
<glyph unicode="" glyph-name="euro-sign" horiz-adv-x="640" d="M621.412 68.471l17.637-88.98c2.477-12.498-5.242-24.725-17.576-27.914-25.078-6.488-69.602-15.576-122.203-15.576-208.742 0-364.992 130.615-415.042 311.28h-60.229c-13.254 0-24 10.746-24 24v56.721c0 13.254 10.746 24 24 24h42.775c-2 25.916-1.656 57.275 0.363 84.49h-43.139c-13.254 0-24 10.746-24 24v59.51c0 13.254 10.746 24 24 24h66.15c57.91 167.496 214.752 288 409.12 288 42.15 0 81.164-5.824 105.373-10.414 13.721-2.602 22.295-16.352 18.652-29.834l-23.982-88.736c-3.311-12.25-15.572-19.781-28.004-17.246-18.574 3.791-46.73 8.291-75.703 8.291-109.857 0-193.971-60.078-235.238-150.061h276.556c15.324 0 26.723-14.164 23.445-29.133l-13.023-59.51c-2.279-10.414-12.783-18.867-23.445-18.867v0h-293.186c-3.104-27.916-2.695-55.834-0.275-84.49h268.474c15.379 0 26.787-14.258 23.416-29.262l-12.746-56.721c-2.324-10.344-12.814-18.738-23.416-18.738h-227.378c39.064-101.316 129.396-170.896 242.924-170.896 36.008 0 69.467 5.947 90.852 10.824 13.178 3.008 26.219-5.477 28.848-18.736z" />
|
||||
<glyph unicode="" glyph-name="dollar-sign" horiz-adv-x="576" d="M418.4 429.2c115.799-33.799 188-160.199 145-283.398-30.801-88.201-118.201-143.602-211.4-145.4v-96.4c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v96c-62.801 0.199-124 21.6-173 60-15.801 12.199-17.801 35.199-3.6 49l69.6 68c10.4 10.199 26.801 12.199 39 4 20-13.6 44-21 68.4-21h132.6c32.6 0 59 26.4 59 59 0 26-17.4 49.199-42.4 56.6l-205 60c-88.799 26-159.199 101-167.6 193.201-11.801 129.799 90.6 239.2 218 239.2h5v96c0 17.6 14.4 32 32 32h64c17.6 0 32-14.4 32-32v-96c62.801-0.199 124-21.6 173-60 15.801-12.199 17.801-35.199 3.6-49l-69.6-68c-10.4-10.199-26.801-12.199-39-4-20 13.6-44 21-68.4 21h-132.6c-32.6 0-59-26.4-59-59 0-26 17.4-49.4 42.4-56.6z" />
|
||||
<glyph unicode="" glyph-name="youtube" horiz-adv-x="1152" d="M1099.31 647.838c22.824-85.734 22.824-264.61 22.824-264.61s0-178.877-22.824-264.612c-12.563-47.299-49.574-83-96.568-95.641-85.182-22.973-426.742-22.973-426.742-22.973s-341.56 0-426.742 22.973c-46.994 12.641-84.006 48.342-96.568 95.641-22.824 85.734-22.824 264.612-22.824 264.612s0 178.875 22.824 264.61c12.563 47.301 49.574 84.551 96.568 97.193 85.182 22.973 426.742 22.973 426.742 22.973s341.562 0 426.742-22.973c46.994-12.641 84.006-49.893 96.568-97.193zM464.29 220.822l285.478 162.402-285.478 162.41v-324.812z" />
|
||||
<glyph unicode="" glyph-name="xing" horiz-adv-x="768" d="M325.4 476.004c-3.6-6.6-50.4-88.801-140.201-247-9.799-16.6-21.6-25-35.398-25h-130.201c-15.4 0-24.199 15-17 28.801l138 242.6c0.4 0 0.4 0.199 0 0.6l-87.799 151.199c-8.602 15.602 0.6 28.201 17 28.201h130.199c14.6 0 26.6-8.201 36-24.4zM765.2 803.804l-288-506v-0.602l183.201-333.2c7.799-14.199 0.4-28.199-17-28.199h-130.4c-15.199 0-27.199 8-36 24.398l-184.801 337c6.602 11.602 103 181.602 289.602 510.4 9.199 16.201 20.799 24.4 35 24.4h131.398c16 0 24.602-13.4 17-28.199z" />
|
||||
<glyph unicode="" glyph-name="xing-square" d="M800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM280.8 255.604c9.799 0 18.199 5.801 25.199 18.201 64.199 113 97.6 171.799 100.199 176.398l-63.799 110.602c-6.801 11.6-15.4 17.398-25.801 17.398h-93.199c-11.6 0-18-9-12-20.199l62.799-108c0.201-0.199 0.201-0.4 0-0.4l-98.6-173.4c-5.4-10 1-20.6 12-20.6h93.201zM720.2 683.804c5.602 10.6-0.6 20.199-12 20h-93.799c-10.201 0-18.4-5.801-25-17.4-133.201-234.8-202.202-356.4-206.8-364.6l132-240.602c6.4-11.6 14.801-17.398 25.801-17.398h93.199c12.201 0 17.6 10 12 20.199l-131 238v0.4z" />
|
||||
<glyph unicode="" glyph-name="stack-overflow" horiz-adv-x="768" d="M581.4 274.004l-16.4-78-391.4 82 16.4 78.6zM683.4 448.004l-51-61.6-307 256.6 51 61.6zM621 368.604l-33.6-72.6-362.4 169 33.4 73zM524 832.004l238.6-320.6-64-48-238.6 320.6zM565 176.004v-79.4h-400v79.4h400zM644.4 16.004v240h80v-320h-719v320h80v-240h559z" />
|
||||
<glyph unicode="" glyph-name="instagram" d="M448.2 614.004c127.201 0 229.8-102.6 229.8-229.8s-102.6-229.798-229.8-229.798c-127.199 0-229.798 102.6-229.798 229.798 0 127.201 102.6 229.8 229.798 229.8zM448.2 234.804c82.201 0 149.4 67 149.4 149.398 0 82.4-67 149.4-149.4 149.4-82.398 0-149.398-67-149.398-149.4 0-82.398 67.199-149.398 149.398-149.398zM741 623.404c0-29.801-24-53.6-53.6-53.6-29.801 0-53.6 24-53.6 53.6s24 53.6 53.6 53.6 53.6-24 53.6-53.6zM893.2 569.004c4.201-74 4.201-295.6 0-369.6-3.6-71.801-20-135.4-72.398-187.801-52.4-52.6-116-69-187.801-72.4-74-4.199-295.8-4.199-369.8 0-71.799 3.602-135.199 20-187.799 72.4s-69 116-72.4 187.801c-4.199 74-4.199 295.798 0 369.798 3.6 71.801 19.801 135.4 72.4 187.801s116.199 68.801 187.799 72.199c74 4.201 295.8 4.201 369.8 0 71.801-3.6 135.4-20 187.801-72.398 52.6-52.4 69-116 72.398-187.801zM797.6 120.004c23.4 58.801 18 199 18 264.2s5.4 205.202-18 264.202c-15.799 39.4-46 69.6-85.199 85.199-58.801 23.201-199 18-264.202 18-65.199 0-205.2 5.4-264.2-18-39.4-15.799-69.6-46-85.199-85.199-23.201-58.801-18-199-18-264.202 0-65.199-5.4-205.2 18-264.2 15.799-39.4 46-69.6 85.199-85.199 58.801-23.201 199-18 264.2-18s205.202-5.4 264.202 18c39.4 15.799 69.6 46 85.199 85.199z" />
|
||||
<glyph unicode="" glyph-name="adn" horiz-adv-x="992" d="M496 561.004l129.801-197.6h-259.602zM992 384.004c0-273.8-222.2-496-496-496s-496 222.2-496 496 222.2 496 496 496 496-222.2 496-496zM792.4 218.604l-296.4 446.4-296.4-446.4h60.801l67.199 103.4h337.202l67.199-103.4h60.4z" />
|
||||
<glyph unicode="" glyph-name="apple" horiz-adv-x="768" d="M637.4 358.604c0-3.799-7-122.4 123.4-183.799-24.4-73.602-108-237.202-205.202-238.602-56.199 0-89.199 35.801-152.799 35.801-65.602 0-101.201-34.6-151.602-35.801-96.398-3-188.799 177-214.398 250.4-19.201 55.867-28.801 110-28.801 162.4 0 177.4 118.6 264.6 230.2 266.4 54 0 122.801-39.4 152.801-39.4 28.4 0 106 47 177 41.4 75-5.801 131.801-35.4 169.4-89.201-67.201-40.799-100.4-96.199-100-169.6zM524.2 687.004c-39.199-45.801-86.799-72.6-139-68.6-4.398 55.199 16.201 104.199 51.201 143.799 31.799 37 87.6 67 135.799 69.801 1.602-21.199 6.602-80.199-48-145z" />
|
||||
<glyph unicode="" glyph-name="windows" d="M0 708.604l367.2 50.6v-354.798h-367.2v304.2zM0 59.404v299.798h367.2v-350.398zM407.6 3.404v355.798h488.4v-423.2zM407.6 764.604l488.4 67.4v-427.6h-488.4v360.2z" />
|
||||
<glyph unicode="" glyph-name="android" horiz-adv-x="805" d="M281.714 601.714c12.571 0 22.286 10.286 22.286 22.286s-9.714 22.286-22.286 22.286c-12 0-21.714-10.286-21.714-22.286s9.714-22.286 21.714-22.286zM522.857 601.714c12 0 21.714 10.286 21.714 22.286s-9.714 22.286-21.714 22.286c-12.571 0-22.286-10.286-22.286-22.286s9.714-22.286 22.286-22.286zM58.857 496.571c32 0 58.286-26.286 58.286-58.286v-245.714c0-32.571-25.714-58.857-58.286-58.857s-58.857 26.286-58.857 58.857v245.714c0 32 26.286 58.286 58.857 58.286zM664.571 485.714v-380.571c0-34.857-28-62.857-62.286-62.857h-42.857v-129.714c0-32.571-26.286-58.857-58.857-58.857s-58.857 26.286-58.857 58.857v129.714h-78.857v-129.714c0-32.571-26.286-58.857-58.857-58.857-32 0-58.286 26.286-58.286 58.857l-0.571 129.714h-42.286c-34.857 0-62.857 28-62.857 62.857v380.571h524.571zM532 717.143c80-41.143 134.286-120 134.286-210.857h-528.571c0 90.857 54.286 169.714 134.857 210.857l-40.571 74.857c-2.286 4-1.143 9.143 2.857 11.429 4 1.714 9.143 0.571 11.429-3.429l41.143-75.429c34.857 15.429 73.714 24 114.857 24s80-8.571 114.857-24l41.143 75.429c2.286 4 7.429 5.143 11.429 3.429 4-2.286 5.143-7.429 2.857-11.429zM804.571 438.285v-245.714c0-32.571-26.286-58.857-58.857-58.857-32 0-58.286 26.286-58.286 58.857v245.714c0 32.571 26.286 58.286 58.286 58.286 32.571 0 58.857-25.714 58.857-58.286z" />
|
||||
<glyph unicode="" glyph-name="linux" d="M441.6 649.404c-2.199 1.199-6.199 0.799-6.799 3.4-0.4 0.799 0.398 1.799 1.199 2.199 3.199 1.801 7.6 1.199 11-0.199 2.6-1.201 6.801-3 6.4-5.801-0.201-2.199-3.6-3-5.801-3-2.4 0-4 2.4-6 3.4zM397.8 646.004c-2-0.199-5.4 0.801-5.602 2.801-0.398 2.799 3.801 4.6 6.4 5.799 3.4 1.4 7.801 2 11 0.201 0.801-0.4 1.6-1.4 1.201-2.201-0.801-2.4-4.801-2-7-3.199-2-1-3.602-3.4-6-3.4zM840 88.404c22.199-24.801 31.801-43 31-59.4-1-16.4-13-27.6-27.801-36.6-29.799-18-74.6-31.6-101.799-64.4-28.4-33.801-63.4-53.199-96.6-55.801-33-2.6-64 12.602-80.602 46v0.201c-2.199 4.199-3.799 8.799-5 13.4-43-2.4-80.398 10.6-110.199 8.199-44-2.4-71.6-13-96.6-13.199-9.6-21.201-28.6-35.201-51.801-40.4-32-7.4-72.199 0-111.799 20.799-37 19.602-84 17.801-118.602 25-17.398 3.602-32.6 10-40.199 24.602-7.4 14.6-6 34.6 4.4 63.398 3.4 10.201 0.799 25.4-1.6 41.602-1.201 7.799-2.4 15.799-2.4 23.6 0 8.6 1.4 17 5.6 24.799 9 17 23.6 24.201 37 29 13.4 4.801 25.6 8 34 16.602 10.4 11 20.199 28.799 33.199 40.398-5.199 34.4 0.4 70.801 12.4 106.602 25.201 75.799 78.4 148.398 116.201 193.398 32.199 45.801 41.6 82.602 45 129.4 2.199 63.6-49 270.8 155.799 270.4 161.801-0.199 152.6-170.801 151.6-262.6-0.6-60.201 32.602-101 66.801-144 30.4-36 70.199-88.6 93-148.801 18.6-49.199 25.801-103.6 7.4-158.199 2.799-1 5.6-2.4 8.199-4 2.801-1.6 5.4-3.6 8-5.801 13.201-11.199 17.4-28.6 21-44.799 3.801-16.201 7.201-31.4 14.4-39.4zM447.4 721.404c-6.4-14.4-7.801-29.801-5.801-43.6 7.201-1.801 17.801-4.801 26-8.801-4.199 24.4 9 47 23.6 46 17.801-0.6 27.801-31 18.201-54.6-1.6-3.801-5.6-6.801-7.801-9.201 13.4-4.6 22-8.199 25.201-9.799 15.799 19 21.6 52.4 8.6 80.799-19.6 42.801-68.4 43.602-88-0.799zM366 744.404c-37.801 0-48-75-16.801-104.201 15.602 11.4 13.801 9.4 11.801 11-16 13.801-13.199 54.801 3.6 56.201 12.6 1 21.6-21.4 19.201-39.201 6.199 4.201 13.398 7.201 20.398 9.201 3.4 38.6-18 67-38.199 67zM338.8 623.004c-8.4-6.6-11.201-14.801-8.4-24.6 3-9.801 12.199-21 29.4-30.6 15.6-9.201 24-23 40-30 5.199-2.201 11.398-3.801 19.199-4.201 36.801-2.199 54.199 22.6 76.4 29.801 23.4 7.4 40.199 22 45.4 36.199 6.398 17-4.201 29.4-21 36.4-22.602 9.801-32.602 10.4-45.201 18.6-20.6 13.201-37.6 17.801-51.799 17.801-28.801 0-46.4-19.6-55.801-28.4-1-1-15.801-11.801-28.199-21zM345.4-44.996c4.199 41-63 98-82 137.801l-39.201 71.199c-13.6 18.4-27.6 29.6-43.799 32-15.4 2.4-25.201-2.801-35.4-13.801-9.6-10.199-17.6-24.6-28.6-36-15.6-13-18.6-12.398-39.201-19.799-12.6-4.4-22.6-9.201-29.6-22.6-5.4-10-4.199-24.4-1.799-40 2.398-15.801 6-32.602 1.199-47.801v-0.4c-10-27.4-10-43.4-5.199-52.799 15.799-30.801 93.199-12.201 153-43.801 62.799-32.801 145.199-34.199 150.6 36zM342.6 6.805c75.201-51.4 164.4-31.4 228.6 14.398 6.4 22 12.602 42.602 13.602 58 1.6 30.4 3.199 57.4 8.799 79.801 6.201 25.199 18.6 46.199 42.801 54.6 4.6 42.201 37.4 42.201 76.6 25 37.801-17 52-32 45.6-52.199 2 0 4 0.199 8.4 0 10.4 33.799-28.6 56-61.4 69.6 5.801 24 4.801 48.199-0.799 71.4-12 50.6-45.201 95.6-70.4 118-4.6 0.199-4.201-3.801 5.199-13 23.201-21.4 74.201-98.4 46.6-169.801-7.799 2-15.199 3-21.799 2.801-10.6 58.199-35 106.4-47.201 129.199-23 42.801-59 130.6-74.398 191.4-9-12.801-24.801-23.801-44.602-30-9.398-3-19.398-11-31.799-18-27.801-16-60-17.6-84.801 2.4-9 7.199-16 15.199-25.199 20.6-3.201 1.801-10.201 6.6-12.4 8.199-4-75.6-54.6-170.6-78.6-225.398-16.6-39.4-26.4-81.602-27.6-123-43.602 58.199-11.801 132.6 5.199 164.799 19 35.201 22 45 17.4 41.6-17.201-28-44-72.6-54.4-118.398-5.4-23.801-6.4-48 0.6-70.4s22.201-43 49.201-59.801c0 0 49.6-28.6 76.6-65 14.799-20 19.4-37.4 14.799-49.799-5-13.4-19.199-17.801-33.398-17.801 9.6-12 20.6-26 28.799-39.199zM857.4 29.805c0.6 10.199-6.201 26-27.4 49.199-20 22.6-14.4 66.199-34.199 83.199-13.801 12-27.201 10.801-45.201 10.201-15.4-17.6-51.6-39.201-76.799-32.6-23 5.799-36 32.6-37.602 59-0.6-0.4-1.398-0.602-2-1-14.199-7.801-22.199-21.602-27.398-42.201-5-20.4-6.801-47-8.4-77.4-1.4-23.6-12.4-52.799-19.801-81.199-7-26.4-11.6-50.4-2.199-72.6 14.4-29 39-40.801 67.4-38.6 28.398 2.199 60.799 19.6 87.199 51 44 53.199 124.6 59.398 126.4 93zM346.6 598.604c-7 5.6-6.199 13.201-3.4 13 4.801-0.6 5.602-7 8.602-9.799 4-3.801 9.199-8.801 15.398-13.801 12.4-9.801 29-19.4 49.801-19.4s45 12 59.801 20.4c8.398 4.801 19 13.199 27.799 19.6 6.801 5 6.4 10.801 12 10.201 5.6-0.602 1.6-6.4-6.199-13.201-7.801-6.799-19.801-15.6-29.6-20.799-18.602-9.801-40.4-21.602-63.602-21.602-23 0-41.398 10.801-54.6 21.201-6.6 5.199-12 10.4-16 14.199z" />
|
||||
<glyph unicode="" glyph-name="skype" d="M849.4 296.404c29.199-37.801 46.6-85 46.4-136.201 0-123.6-100.4-224-224-224-51.201 0-98.4 17.4-136.4 46.602-28.201-6-57.801-9.4-87.6-9.4-226.8 0-410.602 183.6-410.602 410.6 0 29.801 3.602 59.6 9.4 87.6-29.199 37.801-46.6 85-46.6 136.4 0 123.6 100.4 224 224 224 51.4 0 98.6-17.4 136.6-46.801 28.201 6 57.801 9.4 87.6 9.4 226.8 0 410.602-183.6 410.602-410.6 0-29.801-3.602-59.6-9.4-87.6zM460.2 113.404c109.801 0 224 54.799 224 173 0 101.6-98.6 136.6-181.398 155.199-96.602 22.4-138.201 26.4-138.201 66 0 31 32.6 45 84 45 91.6 0 93.4-67 150-67 37.801 0 60.6 29.801 60.6 63.6 0 67-111.398 110.801-221.6 110.801-101 0-218.2-43.801-218.2-162.199 0-130.4 110.6-143.602 235.6-174.4 52-12.801 84-18.6 84-56 0-29.801-33.199-52.6-84.6-52.6-108 0-113.801 89.799-176.201 89.799-41 0-59-29.199-59-61.199 0-71.6 109.801-130 241-130z" />
|
||||
<glyph unicode="" glyph-name="vimeo-square" d="M800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM767.6 532.804c3.801 83.199-27.199 126-93 128-88.6 2.799-148.799-47.201-180.199-150.201 39.199 16.801 97.199 21.201 90.4-44.4-1.801-22.199-16.201-54.199-43-96.6-74.4-117.4-92.602-78.199-133.602 181-11.6 73-42.199 107-92 102.201-44-4-114.398-76-188.199-140.801l30-38.801c28.6 20.201 45.4 30.201 50.199 30.201 41.602 0 63-108.201 113.4-292.8 25.801-68.799 57.201-103.199 94.6-103.199 60.201 0 133.801 56.6 220.8 169.6 84.199 108.199 127.801 193.6 130.6 255.8z" />
|
||||
<glyph unicode="" glyph-name="slack" d="M188.24 265.804c0-51.801-42.32-94.121-94.121-94.121-51.799 0-94.119 42.32-94.119 94.121 0 51.799 42.32 94.119 94.119 94.119h94.121v-94.119zM235.68 265.804c0 51.799 42.32 94.119 94.121 94.119 51.799 0 94.119-42.32 94.119-94.119v-235.682c0-51.799-42.32-94.119-94.119-94.119-51.801 0-94.121 42.32-94.121 94.119v235.682zM329.8 643.764c-51.801 0-94.121 42.32-94.121 94.121 0 51.799 42.32 94.119 94.121 94.119 51.799 0 94.119-42.32 94.119-94.119v-94.121h-94.119zM329.8 596.324c51.799 0 94.119-42.32 94.119-94.121 0-51.799-42.32-94.119-94.119-94.119h-235.682c-51.799 0-94.119 42.32-94.119 94.119 0 51.801 42.32 94.121 94.119 94.121h235.682zM707.76 502.204c0 51.801 42.32 94.121 94.121 94.121 51.799 0 94.119-42.32 94.119-94.121 0-51.799-42.32-94.119-94.119-94.119h-94.121v94.119zM660.32 502.204c0-51.799-42.32-94.119-94.121-94.119-51.799 0-94.119 42.32-94.119 94.119v235.682c0 51.799 42.32 94.119 94.119 94.119 51.801 0 94.121-42.32 94.121-94.119v-235.682zM566.2 124.244c51.801 0 94.121-42.32 94.121-94.121 0-51.799-42.32-94.119-94.121-94.119-51.799 0-94.119 42.32-94.119 94.119v94.121h94.119zM566.2 171.683c-51.799 0-94.119 42.32-94.119 94.121 0 51.799 42.32 94.119 94.119 94.119h235.682c51.799 0 94.119-42.32 94.119-94.119 0-51.801-42.32-94.121-94.119-94.121h-235.682z" />
|
||||
<glyph unicode="" glyph-name="openid" d="M543 32.004l-136-64c-230 20.6-407 143-407 291.6 0 143 165 262 383.4 288.6v-86c-143-25-248-106-248-202.6 0-102 117-186.6 271.4-206v680l136 66.4v-768h0.199zM896 314.004l-262.6 57 73.6 41.4c-39 23-87 40-140 49.6v86c92.4-11 175.4-39 240.6-78.6l70 39.6z" />
|
||||
<glyph unicode="" glyph-name="google" horiz-adv-x="976" d="M976 372.404c0-283-193.801-484.4-480-484.4-274.4 0-496 221.6-496 496s221.6 496 496 496c133.6 0 246-49 332.6-129.801l-135-129.799c-176.6 170.4-505 42.4-505-236.4 0-173 138.201-313.2 307.4-313.2 196.4 0 270 140.799 281.6 213.798h-281.6v170.6h472.2c4.602-25.398 7.801-49.799 7.801-82.799z" />
|
||||
<glyph unicode="" glyph-name="reddit" d="M403 285.004c-27.6 0-49.801 22.199-49.801 49.199 0 27.602 22.201 49.801 49.801 49.801 27.199 0 49.199-22.199 49.199-49.801 0-27.199-22.199-49.199-49.199-49.199zM1008 384.004c0-274-222-496-496-496s-496 222-496 496 222 496 496 496 496-222 496-496zM743.4 466.404c-18.801 0-35.4-7.801-47.6-20-44.801 31-105.201 51-172.201 53.199l34.801 156.6 110.799-25c0-27.199 22.201-49.199 49.201-49.199 27.6 0 49.799 22.6 49.799 49.801 0 27.199-22.199 49.799-49.799 49.799-19.4 0-36-11.6-44.201-27.6l-122.398 27.199c-6 1.602-12.201-2.799-13.801-8.799l-38.199-172.801c-66.4-2.799-126.201-22.6-171-53.6-12.201 12.801-29.4 20.4-48.201 20.4-69.799 0-92.6-93.801-28.799-125.6-2.201-10-3.4-20.4-3.4-31 0-105.201 118.4-190.4 264-190.4 146.199 0 264.6 85.199 264.6 190.4 0 10.6-1.199 21.6-3.801 31.6 62.602 32 39.602 125-29.799 125zM605.6 234.004c4.4 4.4 12.201 4.4 16.6 0 5-5 5-12.801 0-17.199-45.799-45.602-174.799-45.602-220.398 0-5 4.398-5 12.199 0 17.199 4.398 4.4 12.199 4.4 16.6 0 35-35.801 150.799-36.4 187.199 0zM621 384.004c27.801 0 49.801-22.199 49.801-49.801 0-27-22.201-49.199-49.801-49.199-27 0-49.199 22-49.199 49.199 0 27.602 22 49.801 49.199 49.801z" />
|
||||
<glyph unicode="" glyph-name="reddit-square" d="M566.4 205.004c5.4-5.4 5.4-13.6 0-18.4-49-49-187.6-49.199-236.8 0-5.4 4.801-5.4 13 0 18.4 4.801 4.801 13 4.801 17.801 0 37.4-38.4 162-39.199 201 0 4.799 4.6 13.199 4.6 18 0zM383.8 312.604c0-29.199-23.801-53-53-53-29.801 0-53.602 23.801-53.602 53 0 29.801 23.801 53.6 53.602 53.6 29.199 0 53-23.799 53-53.6zM565.2 366.204c29.801 0 53.602-23.799 53.602-53.6 0-29.199-23.801-53-53.602-53-29.199 0-53 23.801-53 53 0 29.801 23.801 53.6 53 53.6zM896 736.004v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704c53 0 96-43 96-96zM696.6 454.804c-20.199 0-38-8.4-51.199-21.4-48.201 33.4-113 54.799-185 57.199l37.4 168.4 119-26.801c0-29.199 23.799-53 53-53 29.799 0 53.6 24.4 53.6 53.602 0 29.199-23.801 53.6-53.6 53.6-20.801 0-38.602-12.4-47.602-29.801l-131.398 29.201c-6.602 1.799-13-3-14.801-9.602l-41-185.6c-71.4-3-135.6-24.4-183.801-57.799-13 13.6-31.6 22-51.799 22-75 0-99.6-100.801-31-135-2.4-10.801-3.6-22-3.6-33.4 0-113 127.398-204.6 283.798-204.6 157 0 284.4 91.6 284.4 204.6 0 11.4-1.199 23.199-4.199 34 67.199 34.4 42.398 134.4-32.201 134.4z" />
|
||||
<glyph unicode="" glyph-name="circle-o-notch" d="M1005.714 365.714c0-272.571-221.143-493.714-493.714-493.714s-493.714 221.143-493.714 493.714c0 248 182.857 453.143 420.571 488.571v-130.286c-166.857-33.714-292.571-181.714-292.571-358.286 0-201.714 164-365.714 365.714-365.714s365.714 164 365.714 365.714c0 176.571-125.714 324.571-292.571 358.286v130.286c237.714-35.429 420.571-240.571 420.571-488.571z" />
|
||||
<glyph unicode="" glyph-name="git-square" d="M201.18 227.524c97.141-6.619 117.9-4.219 117.9-23.879 0-40-131.1-40.121-131.1-3.041 0.020 10.18 6.58 18.801 13.199 26.92zM257.080 460.804c61.92 0 63.52-88.941-1.5-88.941-66 0-63.080 88.941 1.5 88.941zM896 736.004v-704c0-52.992-43.008-96-96-96h-704c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h704c52.992 0 96-43.008 96-96zM442 597.384c0-28.98 16.76-45.762 45.721-45.762 29.479 0 46.26 16.781 46.26 45.762 0 28.979-16.74 44.619-46.221 44.619-28.959 0-45.76-15.68-45.76-44.619zM398.36 506.004h-99.1c-50 13.1-163.119 9.699-163.119-93.5 0-37.6 18.799-64 43.699-76.221-31.379-28.74-46.24-42.279-46.24-61.479 0-13.74 5.58-26.441 22.361-33.521-17.801-16.799-28-28.959-28-51.84 0.039-40.139 35.1-63.439 127.078-63.439 88.441 0 139.74 33.020 139.74 91.461 0 73.34-56.459 70.639-189.539 78.76l16.76 26.859c34-9.48 148.381-12.461 148.381 84.859 0 23.381-9.66 39.641-18.801 51.34l46.76 3.561zM567.040 286.324l-26 3.561c-7.639 1.020-8.139 2-8.139 10.18v210.9h-105.201l-5.58-41.141c31.5-11.1 34-9.721 34-20.34v-149.48c0-11.24-0.619-9.16-34-13.74v-40.119h144.842zM768 266.004l-13.74 44.74c-81.859-30.74-75.699 24.82-75.699 33.459v121.441h75.699v50.82h-71.641c-5.738 0-4-5.041-4 77.26h-48.359c-5.58-55.4-23.359-77.76-68-82.84v-45.24c40.939 0 39.641 1.699 39.641-5.080v-133.141c0-57.439 22.859-81.82 83.34-81.82 28.9 0 60.9 9.66 82.76 20.4z" />
|
||||
<glyph unicode="" glyph-name="git" d="M432.58 579.224l0.080-69.102-74.82-5.68c14.541-18.719 30-44.74 30-82.139 0-155.781-182.859-150.941-237.4-135.781l-26.859-43.1c212.94-13 303.26-8.68 303.26-126 0-93.52-82.080-146.359-223.58-146.359-147.16 0-203.26 37.42-203.26 101.639 0 36.602 16.26 56.080 44.801 82.9-26.84 11.34-35.781 31.621-35.781 53.621 0 30.719 23.801 52.42 74 98.42-40 19.539-70 61.82-70 122 0 165.1 180.98 170.559 260.98 149.58h158.58zM305.74 95.424c0 31.48-33.221 27.619-188.641 38.221-10.6-13.080-21.139-26.801-21.139-43.080 0-59.34 209.78-59.26 209.78 4.859zM204.12 364.584c104.041 0 101.48 142.32 2.4 142.32-103.32 0-108-142.32-2.4-142.32zM470.72 163.564v64.199c53.5 7.32 54.479 4 54.479 22v239.020c0 17-4.1 14.76-54.479 32.521l8.939 65.84h168.34v-337.42c0-13.021 0.801-14.641 13.020-16.281l41.461-5.68v-64.199h-231.76zM575.62 652.184c-46.34 0-73.18 26.859-73.18 73.221 0 46.359 26.84 71.539 73.18 71.539 47.16 0 74-25.24 74-71.539 0-46.301-26.84-73.221-74-73.221zM1024 195.084c-34.98-17.061-86.199-32.52-132.561-32.52-96.76 0-133.34 39-133.34 130.92v213.020c0 10.84 2.1 8.119-63.42 8.119v72.381c71.561 8.141 100 44 108.939 132.539h77.262c0-131.658-2.682-123.619 6.52-123.619h114.6v-81.301h-121.119v-194.299c0-13.84-9.842-102.82 121.139-53.68z" />
|
||||
<glyph unicode="" glyph-name="paper-plane" d="M952 889.6c34.6 20 78-9.199 71.199-49.6l-144-864c-5.199-30.6-37.6-48.4-66-36.4l-249.2 104.4-127-154.6c-28-34.201-85-15.6-85 31.6v161l481.8 587c9.398 11.4-6.201 26.4-17.201 16.6l-574.6-506.4-212.6 89.201c-36 15.199-40.6 65.6-4.4 86.4z" />
|
||||
<glyph unicode="" glyph-name="history" d="M1008 384.938c0.506-273.28-222.36-496.744-495.64-496.936-118.029-0.084-226.446 41.061-311.642 109.822-22.154 17.879-23.811 51.082-3.68 71.213l22.535 22.535c17.217 17.217 44.705 19.102 63.781 3.967 62.77-49.809 142.209-79.539 228.646-79.539 203.41 0 368 164.621 368 368 0 203.41-164.621 368-368 368-97.629 0-186.299-37.938-252.136-99.863l101.508-101.508c20.16-20.16 5.883-54.629-22.625-54.629h-290.746c-17.674 0-32 14.326-32 32v290.746c0 28.508 34.469 42.785 54.629 22.627l98.742-98.742c89.047 85.098 209.732 137.369 342.628 137.369 273.62 0 495.494-221.56 496-495.062zM646.176 227.37c-16.275-20.926-46.432-24.693-67.357-8.42l-130.818 101.748v271.302c0 26.51 21.49 48 48 48h32c26.51 0 48-21.49 48-48v-208.698l81.402-63.314c20.926-16.273 24.695-46.432 8.42-67.357z" />
|
||||
<glyph unicode="" glyph-name="bomb" d="M881 719l-104-104 53-53c18.801-18.801 18.801-49.199 0-67.801l-34.801-34.799c23.602-52.201 36.801-110.201 36.801-171.201 0-229.798-186.199-416-416-416s-416 186-416 415.8 186.199 416 416 416c61 0 119-13.199 171.199-36.801l34.801 34.801c18.801 18.801 49.199 18.801 67.801 0l53-53 104 104zM1000 776c13.199 0 24-10.801 24-24s-10.801-24-24-24h-48c-13.199 0-24 10.801-24 24s10.801 24 24 24h48zM880 896c13.199 0 24-10.801 24-24v-48c0-13.199-10.801-24-24-24s-24 10.801-24 24v48c0 13.199 10.801 24 24 24zM947.8 786c-9.201-9.4-24.4-9.4-34 0-9.4 9.4-9.4 24.6 0 34l34 34c9.398 9.4 24.6 9.4 34 0 9.398-9.4 9.398-24.6 0-34zM812.2 786l-34 34c-9.398 9.4-9.398 24.6 0 34 9.4 9.4 24.602 9.4 34 0l34-34c9.4-9.4 9.4-24.6 0-34-9.398-9.4-24.6-9.4-34 0zM947.8 718l34-34c9.398-9.4 9.398-24.6 0-34-9.4-9.4-24.602-9.4-34 0l-34 34c-9.4 9.4-9.4 24.6 0 34 9.398 9.4 24.6 9.4 34 0zM224 352c0 70.6 57.4 128 128 128 17.6 0 32 14.4 32 32s-14.4 32-32 32c-105.801 0-192-86.199-192-192 0-17.6 14.4-32 32-32s32 14.4 32 32z" />
|
||||
<glyph unicode="" glyph-name="wifi" horiz-adv-x="1344" d="M1040.9 502.459c7.799-7.216 7.955-19.434 0.419-26.922l-40.106-39.796c-7.191-7.135-18.771-7.294-26.246-0.449-170.968 156.631-434.993 156.597-605.933 0-7.471-6.849-19.048-6.7-26.236 0.449l-40.106 39.796c-7.548 7.486-7.389 19.704 0.404 26.922 207.472 191.892 530.262 191.963 737.807 0zM671.994 271.544c41.405 0 74.973-33.564 74.973-74.973s-33.564-74.973-74.973-74.973-74.973 33.564-74.973 74.973 33.564 74.973 74.973 74.973zM909.419 369.462c8.076-7.135 8.339-19.556 0.661-27.117l-40.349-39.814c-7.027-6.945-18.343-7.404-25.83-0.941-98.113 84.829-245.469 85.010-343.807 0-7.486-6.469-18.802-5.995-25.83 0.941l-40.349 39.814c-7.669 7.568-7.419 19.969 0.665 27.117 134.868 119.273 339.809 119.403 474.829 0z" />
|
||||
<glyph unicode="" glyph-name="paypal" horiz-adv-x="878" d="M868 508.571v0c7.429-34.286 5.714-73.714-2.286-116.571-37.143-188.571-162.286-253.714-322.857-253.714h-25.143c-19.429 0-35.429-14.286-38.857-33.714l-2.286-10.857-31.429-197.714-1.143-8.571c-4-19.429-20-33.714-39.429-33.714h-143.429c-16 0-26.286 13.143-24 29.143 10.286 64 20 128 30.286 192s20.571 127.429 30.857 191.429c1.714 13.714 10.857 21.143 24.571 21.143 22.857 0 45.714 0.571 74.857 0 41.143-0.571 88.571 1.714 134.857 12 61.714 13.714 117.714 38.857 164 82.286 41.714 38.857 69.714 86.857 88.571 140.571 8.571 25.143 15.429 50.286 20 76 1.143 6.857 2.857 5.714 6.857 2.857 31.429-23.429 49.143-54.857 56-92.571zM769.714 669.714c0-46.857-10.857-91.429-26.286-134.857-29.714-86.286-85.714-148-172.571-180-46.286-16.571-94.857-23.429-144-24-34.286-0.571-68.571 0-102.857 0-37.143 0-60.571-18.286-67.429-54.857-8-43.429-39.429-245.714-48.571-302.857-0.571-4-2.286-5.714-6.857-5.714h-168.571c-17.143 0-29.714 14.857-27.429 31.429l132.571 840.571c3.429 21.714 22.857 38.286 45.143 38.286h341.714c24.571 0 81.143-10.857 119.429-25.714 81.143-31.429 125.714-95.429 125.714-182.286z" />
|
||||
<glyph unicode="" glyph-name="paypal1" horiz-adv-x="768" d="M222.8 304.204c-7-38.398-34.801-217.398-43-268-0.602-3.6-2-5-6-5h-149.201c-15.199 0-26.199 13.201-24.199 27.801l117.199 743.8c3 19.199 20.201 33.799 40 33.799 304.6 0 330.202 7.4 408-22.799 120.201-46.602 131.201-159 88-280.602-43-125.199-145-179-280.2-180.6-86.801-1.4-139 14-150.6-48.4zM714.2 592.004c56.801-42.4 60.602-115.6 47.602-185.199-33-167-143.801-224.602-285.8-224.602-30 0-49.4 4.602-58.6-39.398-31-194.801-27.4-171.801-28.801-182.602-3.4-17.199-17.6-29.799-34.799-29.799h-127c-14.201 0-23.201 11.6-21.201 25.799 0 0 9 58.602 54.201 339.4 1.6 12.201 9.6 18.801 21.799 18.801 108 0 329.202-19.801 409 207.798 7.4 22.201 13.6 44.4 17.6 67.201 1 6.199 2.4 5.199 6 2.6z" />
|
||||
<glyph unicode="" glyph-name="cc-visa" horiz-adv-x="1152" d="M940.2 433.404c0 0 15.201-74.4 18.602-90h-66.801c6.6 17.799 32 87 32 87-0.4-0.6 6.6 18.199 10.6 29.799zM1152 736.004v-704c0-53-43-96-96-96h-960c-53 0-96 43-96 96v704c0 53 43 96 96 96h960c53 0 96-43 96-96zM305 233.604l126.4 310.4h-85l-78.6-212-8.602 43-28 142.801c-4.6 19.799-18.799 25.398-36.398 26.199h-129.4l-1.4-6.199c31.6-8 59.801-19.602 84.4-34.201l71.6-270h85zM493.8 233.204l50.398 310.8h-80.398l-50.201-310.8h80.201zM773.6 334.804c0.4 35.398-21.199 62.398-67.4 84.6-28.199 14.199-45.398 23.799-45.398 38.4 0.398 13.199 14.6 26.799 46.199 26.799 26.199 0.6 45.4-5.6 59.801-11.799l7.199-3.4 11 67.199c-15.801 6.201-41 13.201-72 13.201-79.4 0-135.199-42.4-135.6-102.801-0.6-44.6 40-69.4 70.4-84.4 31-15.199 41.6-25.199 41.6-38.6-0.4-20.801-25.201-30.4-48.201-30.4-32 0-49.199 5-75.398 16.6l-10.602 5-11.199-69.799c18.801-8.6 53.6-16.201 89.6-16.6 84.4-0.201 139.4 41.6 140 106zM1056 233.204l-64.801 310.8h-62.199c-19.199 0-33.801-5.6-42-25.801l-119.4-285h84.4s13.801 38.4 16.801 46.602h103.199c2.4-11 9.6-46.602 9.6-46.602h74.4z" />
|
||||
<glyph unicode="" glyph-name="cc-mastercard" horiz-adv-x="1152" d="M965.8 75.404c0-13.6-9.201-23.4-22.4-23.4-13.6 0-22.4 10.4-22.4 23.4s8.801 23.4 22.4 23.4c13.199 0 22.4-10.4 22.4-23.4zM344.2 98.805c13 0 21.602-10.4 21.801-23.4 0-13.6-8.801-23.4-21.801-23.4-14.199 0-22.398 10.4-22.398 23.4s8.199 23.4 22.398 23.4zM579.2 99.404c10.4 0 17.4-6 19.201-17.4h-38.201c1.602 10.4 8.201 17.4 19 17.4zM794.8 98.805c13.6 0 22.398-10.4 22.398-23.4 0-13.6-8.799-23.4-22.398-23.4-13.602 0-21.801 10.4-21.801 23.4s8.199 23.4 21.801 23.4zM1006.6 46.603c0-0.6 0.6-1 0.6-2.199 0-0.6-0.6-1-0.6-2.201-0.6-0.6-0.6-1-1-1.6-0.6-0.6-1-1-2.199-1-0.6-0.6-1-0.6-2.201-0.6-0.6 0-1 0-2.199 0.6-0.6 0-1 0.6-1.6 1-0.6 0.6-1 1-1 1.6-0.6 1-0.6 1.602-0.6 2.201 0 1 0 1.6 0.6 2.199 0 1 0.6 1.6 1 2.201 0.6 0.6 1 0.6 1.6 1 1 0.6 1.6 0.6 2.199 0.6 1 0 1.602 0 2.201-0.6 1-0.602 1.6-0.602 2.199-1 0.6-0.4 0.4-1.201 1-2.201zM1002.2 43.805c1 0 1 0.6 1.602 0.6 0.6 0.6 0.6 1 0.6 1.6s0 1-0.6 1.6c-0.602 0-1 0.6-2.201 0.6h-3.199v-7h1.6v2.801h0.6l2.201-2.801h1.6zM1152 734.004v-704c0-53-43-96-96-96h-960c-53 0-96 43-96 96v704c0 53 43 96 96 96h960c53 0 96-43 96-96zM128 454.804c0-153 124.199-277 277-277 54.4 0 107.801 16.398 153 46.199-145.801 118.6-144.801 342.4 0 461-45.199 30-98.6 46.199-153 46.199-152.801 0.201-277-124-277-276.398zM576 237.204c141 110 140.4 324.4 0 435-140.4-110.6-141-325.2 0-435zM291.4 84.603c0 17.4-11.4 28.801-29.4 29.4-9.199 0-19-2.801-25.6-13-4.801 8.199-13 13-24.4 13-7.6 0-15.199-2.801-21.199-10.801v8.801h-16.4v-73.4h16.4c0 37.801-5 60.4 18 60.4 20.398 0 16.398-20.4 16.398-60.4h15.801c0 36.6-5 60.4 18 60.4 20.4 0 16.4-20 16.4-60.4h16.4v46h-0.4zM381.2 112.004h-15.799v-8.801c-5.4 6.602-13 10.801-23.4 10.801-20.6 0-36.4-16.4-36.4-38.6 0-22.4 15.801-38.6 36.4-38.6 10.4 0 18 3.799 23.4 10.799v-9.199h15.799v73.6zM462.2 60.805c0 30-45.799 16.398-45.799 30.398 0 11.4 23.799 9.602 37 2.201l6.6 13c-18.801 12.199-60.4 12-60.4-16.4 0-28.6 45.801-16.6 45.801-30 0-12.6-27-11.6-41.4-1.6l-7-12.6c22.4-15.201 65.199-12 65.199 15zM533 42.203l-4.4 13.602c-7.6-4.201-24.4-8.801-24.4 8.199v33.199h26.201v14.801h-26.201v22.4h-16.398v-22.4h-15.201v-14.6h15.201v-33.4c0-35.199 34.6-28.801 45.199-21.801zM559.6 69.004h55c0 32.4-14.799 45.199-34.799 45.199-21.201 0-36.4-15.799-36.4-38.6 0-41 45.199-47.799 67.6-28.4l-7.6 12c-15.6-12.799-39.201-11.6-43.801 9.801zM677.8 112.004c-9.201 4-23.201 3.6-30.4-8.801v8.801h-16.4v-73.4h16.4v41.4c0 23.199 19 20.199 25.6 16.801zM699 75.404c0 22.799 23.199 30.199 41.4 16.799l7.6 13c-23.199 18.201-65.4 8.201-65.4-30 0-39.6 44.801-47.6 65.4-30l-7.6 13c-18.4-13-41.4-5.199-41.4 17.201zM832.4 112.004h-16.4v-8.801c-16.6 22-59.801 9.602-59.801-27.799 0-38.4 44.801-49.4 59.801-27.801v-9.199h16.4v73.6zM899.8 112.004c-4.801 2.4-22 5.801-30.4-8.801v8.801h-15.801v-73.4h15.801v41.4c0 22 18 20.6 25.6 16.801zM980.4 141.805h-15.801v-38.602c-16.4 21.801-59.799 10.201-59.799-27.799 0-38.801 45-49.201 59.799-27.801v-9.199h15.801v103.4zM995.6 292.004v-9.199h1.6v9.199h3.801v1.6h-9.199v-1.6h3.799zM1008.8 44.404c0 1 0 2.199-0.602 3.199-0.6 0.6-1 1.6-1.6 2.201s-1.6 1-2.199 1.6c-1 0-2.201 0.6-3.201 0.6-0.6 0-1.6-0.6-2.799-0.6-1-0.6-1.6-1-2.201-1.6-1-0.602-1.6-1.602-1.6-2.201-0.6-1-0.6-2.199-0.6-3.199 0-0.6 0-1.6 0.6-2.801 0-0.6 0.6-1.6 1.6-2.199 0.602-0.6 1-1 2.201-1.6 1-0.602 2.199-0.602 2.799-0.602 1 0 2.201 0 3.201 0.602 0.6 0.6 1.6 1 2.199 1.6s1 1.6 1.6 2.199c0.602 1.201 0.602 2.201 0.602 2.801zM1015.2 293.804h-2.799l-3.201-7-3.199 7h-2.801v-10.801h1.602v8.199l3.199-7h2.199l2.801 7v-8.199h2.199v10.801zM1024 454.804c0 152.398-124.199 276.6-277 276.6-54.4 0-107.801-16.4-153-46.201 144.199-118.6 146.4-343 0-461 45.199-30 99-46.199 153-46.199 152.801-0.199 277 123.801 277 276.8z" />
|
||||
<glyph unicode="" glyph-name="at" d="M512 880c276.046 0 496-175.307 496-448 0-151.596-82.781-294.82-300.598-294.82-60.195 0-122.377-0.002-141.42 68.207-35.244-45.393-96.014-76.666-149.982-76.666-118.43 0-192 81.133-192 211.74 0 178.451 126.502 302.92 275.662 302.92 39.045 0 90.549-7.748 119.941-43.551l0.020 0.184c1.504 13.24 13.539 23.986 26.865 23.986v0h89.961c30.166 0 52.857-27.5 47.125-57.117l-46.867-242.22c-6.867-34.334-7.744-59.141 26.953-60.049 74.154 7.902 116.34 89.814 116.34 167.387 0 204.762-167.723 320-368 320-202.916 0-368-165.084-368-368s165.084-368 368-368c70.629 0 139.84 20.486 198.82 58.314 20.387 13.076 47.404 8.484 62.746-10.258l20.354-24.867c18.146-22.168 12.906-55.113-11.104-70.744-80.133-52.166-174.508-80.445-270.816-80.445-274.162 0-496 221.882-496 496 0 274.162 221.882 496 496 496zM468.64 271.14c48.572 0 116.322 55.338 116.322 145.459 0 51.059-26.619 81.541-71.203 81.541-55.701 0-117.26-55.473-117.26-145.459 0-50.295 27.643-81.541 72.141-81.541z" />
|
||||
<glyph unicode="" glyph-name="chart-area" d="M1000 128c13.199 0 24-10.801 24-24v-80c0-13.199-10.801-24-24-24h-976c-13.199 0-24 10.801-24 24v720c0 13.199 10.801 24 24 24h80c13.199 0 24-10.801 24-24v-616h872zM745.4 577c12 8 28.4 3.6 34.799-9.4l179.801-375.6h-768v208l173.6 289.4c8.801 14.6 29.6 15.6 39.801 2l170.6-227.4z" />
|
||||
<glyph unicode="" glyph-name="chart-line" d="M992 128c17.68 0 32-14.32 32-32v-64c0-17.68-14.32-32-32-32h-928c-35.34 0-64 28.66-64 64v672c0 17.68 14.32 32 32 32h64c17.68 0 32-14.32 32-32v-608h864zM928 704c17.68 0 32-14.32 31.98-32v-236.1c0-42.76-51.701-64.18-81.941-33.939l-64.799 64.799-192-192c-24.98-25-65.5-25-90.5 0l-146.74 146.74-92.119-92.141c-12.5-12.5-32.762-12.5-45.262 0l-45.238 45.24c-12.5 12.5-12.5 32.76 0 45.26l137.379 137.381c24.98 25 65.5 25 90.5 0l146.74-146.74 146.74 146.76-64.801 64.801c-30.24 30.24-8.82 81.939 33.941 81.939h236.12z" />
|
||||
<glyph unicode="" glyph-name="whatsapp" d="M761.8 701.804c83.799-84 134.199-195.4 134.199-314 0-244.8-203.6-444-448.2-444h-0.201c-74.4 0-147.4 18.6-212.2 54l-235.4-61.801 63 230c-38.801 67.4-59.199 143.801-59.199 222 0 244.8 199.199 444 444 444 118.6 0 230.2-46.199 314-130.199zM447.8 18.603c203.398 0 373.2 165.6 373.2 369.202 0.199 98.6-42.6 191.199-112.199 261-69.602 69.799-162.201 108.199-260.8 108.199-203.6 0-369.2-165.6-369.2-369 0-69.801 19.398-137.6 56.398-196.4l8.801-14-37.199-136.199 139.6 36.6 13.4-8c56.6-33.6 121.6-51.4 188-51.4zM650.2 295.004c11-5.4 18.4-8.199 21-13.199 2.801-4.602 2.801-26.801-6.398-52.801-9.201-26-53.4-49.6-74.801-52.801-35.199-5.199-62.801-2.6-133.199 27.801-111.4 48.199-184 160.199-189.602 167.6-5.398 7.4-45.199 60.201-45.199 114.801s28.6 81.4 38.801 92.6c10.199 11 22.199 13.801 29.6 13.801s14.799 0 21.199-0.4c6.801-0.4 16 2.6 25-19 9.201-22.201 31.4-76.801 34.201-82.4 2.799-5.6 4.6-12 1-19.4-21.201-42.4-44-41-32.602-60.6 43-73.801 85.801-99.4 151-132 11-5.6 17.602-4.6 24 2.801 6.602 7.6 27.801 32.398 35.201 43.6 7.4 11.199 14.799 9.4 25 5.6 10.199-3.6 64.799-30.4 75.799-36z" />
|
||||
<glyph unicode="" glyph-name="balance-scale" horiz-adv-x="1280" d="M512 224c0-88.359-114.619-160-256-160s-256 71.641-256 160h0.039c0 31.34-4.158 14.5 170.080 363.020 35.361 70.721 136.441 70.58 171.74 0 172.781-345.558 170.102-330.66 170.102-363.020h0.039zM256 544l-144-288h288zM1279.96 224c0-88.359-114.58-160-255.96-160s-256 71.641-256 160h0.039c0 31.34-4.158 14.5 170.080 363.020 35.361 70.721 136.441 70.58 171.74 0 172.781-345.558 170.102-330.66 170.102-363.020zM880 256h288l-144 288zM1056 0c17.68 0 32-14.32 32-32v-64c0-17.68-14.32-32-32-32h-832c-17.68 0-32 14.32-32 32v64c0 17.68 14.32 32 32 32h352v589.5c-47.039 20.58-82.32 62.98-92.779 114.5h-259.22c-17.68 0-32 14.32-32 32v64c0 17.68 14.32 32 32 32h288.72c29.199 38.641 75.1 64 127.279 64s98.080-25.359 127.279-64h288.72c17.68 0 32-14.32 32-32v-64c0-17.68-14.32-32-32-32h-259.22c-10.459-51.539-45.76-93.92-92.779-114.5v-589.5h352z" />
|
||||
<glyph unicode="" glyph-name="trademark" horiz-adv-x="1280" d="M521.2 704c13.201 0 24-10.801 23.801-24v-86.199c0-13.201-10.801-24-24-24h-170.199v-481.8c0-13.199-10.801-24-24-24h-108.602c-13.199 0-24 10.801-24 24v481.8h-170.199c-13.199 0-24 10.799-24 24v86.199c0 13.199 10.801 24 24 24h497.2zM1280 90c1-14-10-26-24-26h-107.801c-12.6 0-23.199 9.801-24 22.4l-18.199 265.798c-3.6 48.4 0 107.4 0 107.4h-1.801s-21.398-67.199-35.799-107.4l-61.4-169.398c-3.4-9.4-12.4-15.801-22.6-15.801h-100.6c-10.201 0-19.201 6.4-22.602 15.801l-61.398 169.398c-14.4 40.201-35.801 107.4-35.801 107.4h-1.801s3.602-59 0-107.4l-18.199-265.798c-1-12.6-11.4-22.4-24-22.4h-109c-14.199 0-25.199 12-24 26l48.801 592c1.199 12.4 11.6 22 24 22h130.799c10.201 0 19.201-6.6 22.6-16.199l87.602-254.202c14.398-41.199 32.199-105.6 32.199-105.6h1.801s17.799 64.4 32.199 105.6l87.6 254.202c3.201 9.6 12.4 16.199 22.6 16.199h130.801c12.6 0 23-9.6 24-22z" />
|
||||
<glyph unicode="" glyph-name="creative-commons1" horiz-adv-x="992" d="M491.66 466.264l-66.439-34.561c-18.861 39.16-50.48 39.861-54.92 39.861-44.262 0-66.441-29.221-66.441-87.68 0-47.141 18.42-87.682 66.441-87.682 28.939 0 49.299 14.182 61.139 42.521l61.1-31c-12.34-23.021-51.379-77.961-130.199-77.961-45.199 0-147.92 20.641-147.92 154.1 0 117.381 86 154.121 145.26 154.121 61.439 0.020 105.4-23.9 131.98-71.721zM777.76 466.264l-65.561-34.561c-19 39.541-51.439 39.861-55.799 39.861-44.281 0-66.439-29.221-66.439-87.68 0-47.102 18.459-87.682 66.439-87.682 28.9 0 49.299 14.182 61.080 42.521l62-31c-4.201-7.5-42.781-77.961-130.18-77.961-45.381 0-147.92 19.74-147.92 154.1 0 117.34 85.939 154.121 145.26 154.121 61.42 0.020 105.16-23.9 131.119-71.721zM495.12 879.904c283.64 0 496.88-220.26 496.88-496 0-294.26-237.020-496-496.88-496-267.92 0-495.12 219.020-495.12 496 0 265.878 209.48 496 495.12 496zM496.86-21.717c206.32 0 405.66 162.26 405.68 405.64 0 227.6-180.578 406.52-405.638 406.52-236.58 0-407.44-195.699-407.44-406.54 0-219.542 182.318-405.622 407.398-405.622z" />
|
||||
<glyph unicode="" glyph-name="tv" horiz-adv-x="1280" d="M1184 896c52.992 0 96-43.008 96-96v-640c0-52.992-43.008-96-96-96h-480v-64h352c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h352v64h-480c-52.992 0-96 43.008-96 96v640c0 52.992 43.008 96 96 96h1088zM1152 192v576h-1024v-576h1024z" />
|
||||
<glyph unicode="" glyph-name="amazon" d="M514.4 570.604c0 78.6 10.4 138.4-71 138.201 0 0-75.801 0-108.4-99l-147 13.6c0 98.6 93.4 208.6 269.4 208.6 175.6 0 224.6-114 224.6-164.6v-294.202c0-55 64.6-105.6 64.6-105.6l-113.6-112c-19.801 18.6-77.6 73.201-90.6 93.6-90.4-141.6-367-132.6-367 86.4 0 204 241.6 231.4 339 235zM514.4 397.004v81.199c-67.4-2.199-168.4-21.199-168.4-115.6 0-101.6 168.4-125.6 168.4 34.4zM786.4 70.004c-15.4-20-140-134-349-134s-369 143-418 202c-13.6 15.4 2 22.6 11 16.6 146.6-89 375.6-235.6 745-60.6 15 7.4 26.6-4 11-24zM866 65.603c-13-31.6-32-53.6-42.4-62-11-9-19-5.4-13 7.6s38.6 93 25.4 110c-13 16.602-74 8.602-96 6.4-21.6-2-26-4-28 0.6-4.6 11.4 43.4 31 75 35 31.4 3.602 82 1.602 92-11.398 7.4-10.201 0-54.201-13-86.201z" />
|
||||
<glyph unicode="" glyph-name="reddit-alien" d="M880.6 489.004c110.6 0 147.4-148.199 47.6-199.4 4.4-15.799 6.201-33.4 6.201-50.199 0-167.6-188.801-303.4-421.6-303.4-231.8 0-420.602 135.801-420.602 303.4 0 16.799 1.602 33.6 5.201 49.4-101.801 51-65.4 200.2 45.799 200.2 30 0 57.4-12.4 76.801-32.6 71.6 49.4 166.801 81.199 272.6 85.6l60.801 275.2c2.6 9.801 12.199 16.801 22 14.201l194.799-43.201c13.201 25.4 39.801 44 70.602 44 44.199 0 79.398-36.199 79.398-79.398 0-43.201-35.398-79.4-79.398-79.4-43.201 0-78.4 35.199-78.4 78.4l-176.4 39.6-55.4-249.6c106.6-3.4 202.8-35.201 274.202-84.602 19.398 19.4 45.799 31.801 75.799 31.801zM258.8 278.204c0-43.199 35.398-78.6 79.398-78.398 43.201 0 78.4 35.199 78.4 78.398 0 44.201-35.199 79.4-78.4 79.4-44.199 0-79.398-35.4-79.398-79.4zM687.4 91.203c8 7 8 19.4-0.201 27.4-7 7-19.398 7-26.398 0-58-58-242.4-57-298 0-7 7-19.4 7-26.4 0-8-8-8-20.4 0-27.4 72.799-72.799 278.2-72.799 351 0zM685.8 199.603c44 0 79.199 35.4 79.398 78.4 0 44.199-35.398 79.4-79.398 79.4-43.201 0-78.4-35.4-78.4-79.4 0-43.199 35.199-78.4 78.4-78.4z" />
|
||||
<glyph unicode="" glyph-name="hashtag" horiz-adv-x="896" d="M881.334 531.782c-1.949-10.918-12.533-19.781-23.627-19.781h-158.191l-45.713-256h149.619c14.941 0 26.252-13.508 23.627-28.219l-14.287-80c-1.949-10.918-12.533-19.781-23.625-19.781h-158.193l-30.754-172.219c-1.949-10.918-12.533-19.781-23.625-19.781h-81.264c-14.945 0-26.254 13.508-23.627 28.219l29.246 163.781h-197.268l-30.756-172.219c-1.949-10.918-12.535-19.781-23.627-19.781h-81.264c-14.941 0-26.252 13.508-23.625 28.219l29.246 163.781h-149.621c-14.941 0-26.252 13.508-23.625 28.219l14.285 80c1.949 10.918 12.533 19.781 23.627 19.781h158.191l45.713 256h-149.619c-14.941 0-26.252 13.508-23.627 28.219l14.287 80c1.949 10.918 12.533 19.781 23.625 19.781h158.193l30.754 172.219c1.949 10.918 12.533 19.781 23.625 19.781h81.264c14.945 0 26.254-13.508 23.627-28.219l-29.246-163.781h197.27l30.754 172.219c1.949 10.918 12.535 19.781 23.627 19.781h81.264c14.941 0 26.252-13.508 23.625-28.219l-29.246-163.781h149.621c14.941 0 26.252-13.508 23.625-28.219zM523.778 256l45.715 256h-197.268l-45.715-256h197.268z" />
|
||||
<glyph unicode="" glyph-name="bluetooth" d="M585.2 553.804l-85.799-85.801-0.6 172zM498.8 114.203l0.398 172 85.801-85.799zM832 377.204c0-411.2-143.801-505.2-370.2-505.2s-397.8 94-397.8 505.2c0 411.202 166.801 518.8 393.2 518.8s374.8-107.801 374.8-518.8zM515 377.204l158.801 177.201-250.202 268.6v-353.8l-147.6 147.602-54-53.801 185.4-186-185.4-186 53.801-53.801 147.6 147.602 4.6-340 254.8 255z" />
|
||||
<glyph unicode="" glyph-name="bluetooth-b" horiz-adv-x="640" d="M392.96 375.958l195.822-206.666-297.104-297.288-5.43 396.568-172.223-172.223-62.811 62.811 216.122 216.796-216.122 216.798 62.811 62.811 172.223-172.223v412.66l291.962-313.38zM474.68 581.95l-100.629 100.635 0.676-200.59zM374.726 269.924l-0.676-200.588 100.629 100.633z" />
|
||||
<glyph unicode="" glyph-name="telegram" horiz-adv-x="992" d="M496 880.004c274 0 496-222 496-496s-222-496-496-496-496 222-496 496 222 496 496 496zM739.6 540.204c7.201 33.602-12.199 47-34.4 39l-478.2-184.398c-32.801-12.801-32.199-31-5.6-39.4l122.4-38.201 284 178.801c13.199 8.801 25.398 3.801 15.398-5l-229.798-207.6-8.801-126.201c12.801 0 18.4 5.602 25 12.201l59.801 57.6 124-91.4c22.6-12.799 38.799-6.199 44.799 21z" />
|
||||
<glyph unicode="" glyph-name="microchip" d="M832 800v-832c0-53.020-42.98-96-96-96h-448c-53.020 0-96 42.98-96 96v832c0 53.020 42.98 96 96 96h448c53.020 0 96-42.98 96-96zM1024 684v-24c0-6.623-5.377-12-12-12h-36v-12c0-6.623-5.377-12-12-12h-84v96h84c6.623 0 12-5.377 12-12v-12h36c6.623 0 12-5.377 12-12zM1024 492v-24c0-6.623-5.377-12-12-12h-36v-12c0-6.623-5.377-12-12-12h-84v96h84c6.623 0 12-5.377 12-12v-12h36c6.623 0 12-5.377 12-12zM1024 300v-24c0-6.623-5.377-12-12-12h-36v-12c0-6.623-5.377-12-12-12h-84v96h84c6.623 0 12-5.377 12-12v-12h36c6.623 0 12-5.377 12-12zM1024 108v-24c0-6.623-5.377-12-12-12h-36v-12c0-6.623-5.377-12-12-12h-84v96h84c6.623 0 12-5.377 12-12v-12h36c6.623 0 12-5.377 12-12zM60 144h84v-96h-84c-6.623 0-12 5.377-12 12v12h-36c-6.623 0-12 5.377-12 12v24c0 6.623 5.377 12 12 12h36v12c0 6.623 5.377 12 12 12zM60 336h84v-96h-84c-6.623 0-12 5.377-12 12v12h-36c-6.623 0-12 5.377-12 12v24c0 6.623 5.377 12 12 12h36v12c0 6.623 5.377 12 12 12zM60 528h84v-96h-84c-6.623 0-12 5.377-12 12v12h-36c-6.623 0-12 5.377-12 12v24c0 6.623 5.377 12 12 12h36v12c0 6.623 5.377 12 12 12zM60 720h84v-96h-84c-6.623 0-12 5.377-12 12v12h-36c-6.623 0-12 5.377-12 12v24c0 6.623 5.377 12 12 12h36v12c0 6.623 5.377 12 12 12z" />
|
||||
<glyph unicode="" glyph-name="poo" d="M902.8 157.801c68.6-11 121.199-70 121.199-141.801 0-79.6-64.4-144-144-144h-736c-79.6 0-144 64.4-144 144 0 71.801 52.6 130.801 121.199 141.801-34.6 26.199-57.199 67.398-57.199 114.199 0 79.6 64.4 144 144 144h28.199c-26.799 23.4-44.199 57.6-44.199 96 0 70.6 57.4 128 128 128h32c88.4 0 160 71.6 160 160 0 34.801-11.4 66.801-30.199 93 9.799 1.6 19.799 3 30.199 3 106 0 192-86 192-192 0-22.6-4.6-43.801-11.801-64h11.801c70.6 0 128-57.4 128-128 0-38.4-17.4-72.6-44.199-96h28.199c79.6 0 144-64.4 144-144 0-46.801-22.6-88-57.199-114.199zM384 384c-35.4 0-64-28.6-64-64s28.6-64 64-64 64 28.6 64 64-28.6 64-64 64zM703 106c4 10.6-4 22-15.6 22h-350.8c-11.6 0-19.6-11.4-15.6-22 21-55.801 117-106 191-106s170 50.199 191 106zM640 256c35.4 0 64 28.6 64 64s-28.6 64-64 64-64-28.6-64-64 28.6-64 64-64z" />
|
||||
<glyph unicode="" glyph-name="external-link-alt" d="M864 256c17.664 0 32-14.336 32-32v-256c0-52.992-43.008-96-96-96h-704c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h320c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-288v-640h640v224c0 17.664 14.336 32 32 32h64zM976 896c26.496 0 48-21.504 48-48v-256c0-43-52-64-82-34l-71.439 71.359-487.22-487.36c-7.766-7.793-22.998-14.117-34-14.117s-26.234 6.324-34 14.117l-45.34 45.26c-7.793 7.766-14.117 22.998-14.117 34s6.324 26.234 14.117 34l487.46 487.28-71.461 71.461c-30.1 30.18-8.74 82 34 82h256z" />
|
||||
<glyph unicode="" glyph-name="app-store" d="M511.8 654.204l18.199 31.4c11.199 19.6 36.199 26.201 55.801 15 19.6-11.199 26.199-36.199 15-55.799l-175-303h126.6c41 0 64-48.201 46.199-81.602h-371c-22.6 0-40.799 18.201-40.799 40.801s18.199 40.801 40.799 40.801h104l133.201 230.798-41.602 72.201c-11.199 19.6-4.6 44.398 15 55.799 19.602 11.201 44.4 4.6 55.801-15zM354.4 218.204l-39.201-68c-11.199-19.6-36.199-26.199-55.799-15-19.6 11.201-26.201 36.201-15 55.801l29.199 50.4c32.801 10.199 59.6 2.4 80.801-23.201zM692.2 341.604h106.201c22.6 0 40.799-18.199 40.799-40.799 0-22.602-18.199-40.801-40.799-40.801h-59l39.799-69c11.201-19.6 4.602-44.4-15-55.801-19.6-11.199-44.398-4.6-55.799 15-67 116.201-117.4 203.202-150.801 261.202-34.199 59-9.799 118.199 14.4 138.199 26.801-46 66.801-115.4 120.199-208zM512 880.004c274 0 496-222 496-496s-222-496-496-496-496 222-496 496 222 496 496 496zM944 384.004c0 239.8-194.6 432-432 432-239.8 0-432-194.6-432-432 0-239.8 194.6-432 432-432 239.8 0 432 194.6 432 432z" />
|
||||
<glyph unicode="" glyph-name="app-store-ios" d="M800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM254 127.004l38.6 66.6c-20.6 25-47 32.6-79.199 22.801l-28.6-49.4c-11-19-4.602-43.6 14.6-54.6 19-11 43.6-4.6 54.6 14.6zM531.8 234.804c17.6 32.6-5 80-45.4 80h-124.201l171.602 297.2c11 19 4.6 43.6-14.602 54.6-19 11-43.6 4.6-54.6-14.6l-17.799-30.801-17.801 30.801c-11 19-35.4 25.6-54.6 14.6-19-11-25.6-35.4-14.6-54.6l41-70.801-130.801-226.398h-102c-22 0-40-18-40-40s18-40 40-40h363.8zM728 234.804c22 0 40 17.799 40 40 0 22-18 40-40 40h-104c-52.4 90.6-91.6 158.6-117.801 204-23.799-19.602-47.6-77.602-14.199-135.602 33-56.799 82.199-142.398 148-256.2 11-19 35.4-25.6 54.6-14.6 19 11 25.6 35.4 14.6 54.6l-39.199 67.801h58z" />
|
||||
<glyph unicode="" glyph-name="bitcoin" d="M1008 384.004c0-273.934-222.066-496-496-496s-496 222.066-496 496 222.066 496 496 496 496-222.066 496-496zM724.698 454.664c9.875 65.998-40.381 101.479-109.1 125.146l22.293 89.404-54.426 13.561-21.703-87.047c-14.309 3.564-29.004 6.928-43.605 10.26l21.857 87.619-54.396 13.563-22.305-89.371c-11.844 2.697-23.471 5.363-34.754 8.168l0.061 0.279-75.059 18.74-14.479-58.125s40.383-9.254 39.529-9.826c22.045-5.502 26.029-20.088 25.361-31.648l-25.393-101.852c1.52-0.387 3.488-0.945 5.658-1.813-1.814 0.449-3.752 0.945-5.752 1.426l-35.592-142.676c-2.699-6.697-9.535-16.74-24.943-12.93 0.543-0.789-39.559 9.875-39.559 9.875l-27.021-62.295 70.828-17.652c13.178-3.303 26.090-6.76 38.801-10.014l-22.523-90.426 54.363-13.561 22.307 89.465c11.938-3.234 31.369-8.277 43.373-11.254l-22.23-89.045 54.428-13.563 22.523 90.256c92.809-17.563 162.598-10.479 191.973 73.453 23.672 67.58-1.18 106.562-50.010 131.982 35.561 8.195 62.35 31.584 69.494 79.898zM600.344 280.306c-16.82-67.58-130.615-31.047-167.51-21.887l29.889 119.799c36.891-9.207 155.199-27.436 137.621-97.912zM617.178 455.64c-15.346-61.473-110.062-30.24-140.785-22.584l27.096 108.652c30.727-7.654 129.672-21.945 113.689-86.068z" />
|
||||
<glyph unicode="" glyph-name="docker" horiz-adv-x="1280" d="M699.8 423.404h-132.201v118.799h132.201v-118.799zM699.8 832.004v-121.4h-132.201v121.4h132.201zM856.2 542.404v-118.801h-132.199v118.801h132.199zM543.6 686.604v-120.199h-132.199v120.199h132.199zM699.8 686.604v-120.199h-132.201v120.199h132.201zM1253.4 486.604l26.6-17.799c-3.801-7.801-14-29.201-17-34.201-47.4-90.6-139.801-91.199-182.6-90.4-109-263.398-342-408.398-656.8-408.398-145.4 0-256.6 44.6-330.798 132.398-76.4 90.602-105.4 222.602-88 324.202h869.398c45.201-0.801 79.4 12 96.801 21.4-39.4 60.398-29.4 152 7.4 207.6l18.6 28 28-18.6c48.801-37.602 75.6-79.4 82.199-127.4 51 9.6 117.4 2.6 146.201-16.801zM231.2 542.404h0.201v-118.801h-132.201v118.801h132zM387.4 542.404v-118.801h-132.201v118.801h132.201zM543.6 542.404v-118.801h-132.199v118.801h132.199zM387.4 686.604v-120.199h-132.201v120.199h132.201z" />
|
||||
<glyph unicode="" glyph-name="facebook-f" horiz-adv-x="640" d="M558.28 320.004h-149.379v-448h-200.34v448h-162.781v185.32h162.781v141.24c0 160.68 95.719 249.44 242.16 249.44 70.139 0 143.5-12.52 143.5-12.52v-157.781h-80.84c-79.641 0-104.48-49.42-104.48-100.119v-120.26h177.82z" />
|
||||
<glyph unicode="" glyph-name="facebook-messenger" d="M513.1 880.004c280.080 0 494.9-204.68 494.9-481.14 0-350.26-332.3-546.458-638.88-462.080-17.939 4.881-19.299 1.201-125.119-45.398-4.209-1.838-11.352-3.33-15.943-3.33-21.248 0-39.086 17.234-39.816 38.469-2.84 92.74 0.6 101.441-16.1 116.461-96.721 86.32-156.141 211.28-156.141 355.878 0 276.46 217.040 481.14 497.1 481.14zM811.58 509.744c14.1 22.16-13.301 47.199-34.18 31.24l-156.82-118.76c-4.416-3.313-12.48-6-18-6s-13.584 2.688-18 6l-116.119 86.92c-10.979 8.199-31.010 14.854-44.713 14.854-22.688 0-50.961-15.553-63.107-34.715l-146-231.138c-14.102-22.141 13.299-47.201 34.219-31.34l156.74 118.879c4.416 3.313 12.48 6 18 6s13.584-2.688 18-6l116.16-86.939c10.979-8.195 31.008-14.846 44.707-14.846 22.686 0 50.961 15.549 63.113 34.705z" />
|
||||
<glyph unicode="" glyph-name="itunes" d="M447.2 735.404c189 0 342.4-153.4 342.4-342.6 0-189-153.199-342.4-342.4-342.4-189.199 0-342.2 153.6-342.2 342.6s153 342.4 342.2 342.4zM606 255.404c2.801 12.4 1.801-6 2 335.2 0 11.4-6.6 18.201-18 17.4-3.6 0-28.199-4.801-230.2-42.801-1.801 0-9.201-2-13.4-5.398-4-3.201-6.201-7.602-7-12.801-3.4-13.4 4.799-256-5.201-267.4-4.199-5-9.398-6.4-15.398-7.4-35.4-6.398-59.201-9.6-76-25.6-29-28.4-14-77.799 28.799-85.799 16-2.801 46.201 1.199 62.801 10.398 14.6 7.602 25.6 21.201 29.799 39.201 3.4 15.4 2.4 4.799 2.4 237 0 11.4 3.4 14.4 13.4 16.6 0 0 175.801 32.801 183.801 34.199 11.398 2 16.799-1 16.799-12.199 0-157.6 2-154.4-4.4-161.6-4.199-5-9.398-6.4-15.398-7.4-35.4-6.4-59.201-9.6-76-25.6-21.201-20.801-20.801-53.6 2.799-73.6 19.4-15.602 39.6-14.4 63.801-10 27.6 5.199 48.199 20.398 54.6 47.6zM690.4 832.004c113.799 0 205.6-91.801 205.6-205.6v-484.8c0-113.799-91.6-205.6-205.6-205.6h-484.8c-113.799 0-205.6 91.801-205.6 205.6v484.8c0 113.799 91.801 205.6 205.6 205.6h484.8zM447.2 8.004c212.602 0 385 172.4 385 385s-172.398 385-385 385c-212.6 0-385-172.4-385-385s172.4-385 385-385z" />
|
||||
<glyph unicode="" glyph-name="itunes-note" horiz-adv-x="768" d="M763.8 119.603c-12.801-54.799-54.4-85.6-110.201-96-49-9-89.799-11.199-129 20.4-47.799 40.199-48.4 106.801-5.4 148.801 34 32.398 81.801 39 153.602 51.6 12 2.199 22.398 5 31.199 14.799 12.801 14.4 8.801 8.201 8.801 326.4 0 22.4-11 28.6-34 24.6-16.4-2.799-371.4-69.199-371.4-69.199-20.4-4.4-26.801-10.4-26.801-33.4 0-469.4 2.201-447.798-5-479-8.4-36.4-30.799-63.799-60.4-79-33.6-18.6-94.398-26.799-126.799-20.799-86.4 16.199-116.801 116-58.201 173.199 34 32.4 81.801 39 153.602 51.6 12 2.201 22.398 5 31.199 14.801 20.199 23 3.6 513.2 10.4 540.4 1.6 10.398 6 19.199 14.199 25.799 8.4 7 23.6 11 26.801 11 408 76.4 457.798 86.201 464.798 86.201 23 1.6 36.201-12 36.201-35.201 0.4-689 2.199-652-3.6-677z" />
|
||||
<glyph unicode="" glyph-name="map-marker-alt" horiz-adv-x="768" d="M344.536-107.34c-290.596 421.278-344.536 464.514-344.536 619.34 0 212.078 171.922 384 384 384s384-171.922 384-384c0-154.826-53.939-198.062-344.536-619.34-19.070-27.549-59.861-27.547-78.93 0zM384 352c88.365 0 160 71.635 160 160s-71.635 160-160 160-160-71.635-160-160 71.635-160 160-160z" />
|
||||
<glyph unicode="" glyph-name="mobile-alt" horiz-adv-x="640" d="M544 896c53 0 96-43 96-96v-832c0-53-43-96-96-96h-448c-53 0-96 43-96 96v832c0 53 43 96 96 96h448zM320-64c35.4 0 64 28.6 64 64s-28.6 64-64 64-64-28.6-64-64 28.6-64 64-64zM544 152v624c0 13.199-10.801 24-24 24h-400c-13.199 0-24-10.801-24-24v-624c0-13.199 10.801-24 24-24h400c13.199 0 24 10.801 24 24z" />
|
||||
<glyph unicode="" glyph-name="node-js" d="M448-119.996c-13.4 0-27 3.6-38.801 10.4l-123.398 73c-18.4 10.4-9.4 14-3.4 16 24.6 8.6 29.6 10.4 55.799 25.4 2.801 1.6 6.4 1 9.201-0.801l94.799-56.199c3.4-2 8.201-2 11.4 0l369.4 213.2c3.4 2 5.6 6 5.6 10v426.4c0 4.199-2.199 8-5.799 10.199l-369.202 213c-3.4 2-8 2-11.4 0l-369-213.2c-3.6-2-5.799-6-5.799-10.201v-426.2c0-4 2.199-8 5.799-9.801l101.201-58.398c55-27.4 88.6 4.799 88.6 37.398v420.8c0 6 4.801 10.6 10.801 10.6h46.799c5.801 0 10.801-4.6 10.801-10.6v-421c0-73.199-40-115.199-109.4-115.199-21.4 0-38.199 0-85 23.199l-96.801 55.801c-24 13.799-38.799 39.6-38.799 67.398v426.202c0 27.6 14.799 53.6 38.799 67.4l369 213.2c23.4 13.199 54.4 13.199 77.602 0l369.398-213.4c24-13.799 38.801-39.6 38.801-67.4v-426.2c0-27.6-14.801-53.4-38.801-67.4l-369.398-213.2c-11.801-6.801-25.201-10.4-38.801-10.4zM746.2 300.204c0-80.398-67.199-126.6-184-126.799-161.799 0-195.6 74.199-195.6 136.4 0 5.799 4.6 10.6 10.6 10.6h47.801c5.4 0 9.801-3.801 10.6-9 7.201-48.6 28.6-73.201 126.4-73.201 77.801 0 111 17.602 111 58.801 0 23.801-9.4 41.6-130.4 53.4-101 10-163.6 32.4-163.6 113.199 0 74.6 62.801 119 168.199 119 118.4 0 177-41 184.4-129.199 0.201-3-0.799-6-2.799-8.201-2-2.199-4.801-3.398-7.801-3.398h-48c-5 0-9.4 3.6-10.4 8.398-11.6 51.201-39.6 67.602-115.4 67.602-85 0-94.799-29.602-94.799-51.801 0-26.801 11.6-34.6 126.4-49.801 113.398-15 167.398-36.199 167.398-116z" />
|
||||
<glyph unicode="" glyph-name="python" d="M879.6 495.004c21.4-85.801 22.4-150.199 0-217.2-21.6-65-44.6-108.4-106.799-108.4h-320.4v-27.201h213.4v-81.398c0-61.602-53-93-106.801-108.602-81-23.398-146-19.799-213.6 0-56.4 16.602-106.801 50.602-106.801 108.602v203.6c0 58.6 48.4 108.6 106.801 108.6h213.6c71.199 0 133.6 62 133.6 135.6v94.801h80.201c62.199 0 91.398-46.6 106.799-108.4zM572.4 88.004c-22 0-40-18-40.201-40.6 0-22.4 18.201-40.801 40.201-40.801 22.199 0 40.199 18.201 40.199 40.801 0 22.4-18 40.6-40.199 40.6zM335.6 399.804c-72.6 0-133.6-62.201-133.6-132.801v-97.6h-73.4c-62.199 0-98.4 45.199-113.6 108.4-20.4 85-19.6 135.799 0 217.2 17 71 71.4 108.4 133.6 108.4h294v27.199h-213.798v81.4c0 61.801 16.398 95.199 106.799 111.199 64.201 11.4 142 12 213.6 0.201 58-9.801 106.801-53.201 106.801-111.201v-203.798c0-59.6-47.4-108.6-106.801-108.6h-213.6zM322.2 685.004c22.201 0 40.201 18.199 40.201 40.6s-18.201 40.801-40.201 40.801c-22.199 0-40-18.201-40.199-40.801 0-22.4 18-40.6 40.199-40.6z" />
|
||||
<glyph unicode="" glyph-name="slack-hash" d="M892.4 355.204c12.4-38-7.801-79.398-45.801-91.398l-90.799-30.201 31.398-94c12.201-38.199-7.799-79.4-46-91.799-42.6-12.201-80.199 12-92 45.799l-31.398 94-187.201-62.6 31.4-94c12.199-38.199-7.801-79.4-46-91.801-42.6-12.199-80.199 12-92 45.801l-31.4 94c-91.4-30.4-101.799-35.6-115.4-33.6-29 1.199-57.199 20.199-67.199 49.199-12.199 38 8 79.4 46 91.801l90.801 30.199-60.602 180c-91.398-30.4-101.799-35.6-115.398-33.6-29 1.199-57.201 20.199-67.201 49.199-12.199 38.201 7.801 79.4 46 91.801l90.6 30-31.398 94c-12.201 38.199 7.799 79.4 46 91.801 38.199 12.398 79.6-7.801 92-45.801l31.398-94 186.801 62.4-31.4 94c-12.199 38.199 7.801 79.4 46 91.799 38.201 12.4 79.6-7.799 92-45.799l31.4-94 90.801 30.199c38.199 12.4 79.6-7.799 92-45.799 12.199-38.201-7.801-79.4-46-91.801l-90.801-30.199 60.6-180 90.801 30.199c38.199 12.4 79.6-7.801 92-45.801zM384.2 260.804l187 62.6-60.6 180.4-187-62.602z" />
|
||||
<glyph unicode="" glyph-name="tablet-alt" horiz-adv-x="896" d="M800 896c53 0 96-43 96-96v-832c0-53-43-96-96-96h-704c-53 0-96 43-96 96v832c0 53 43 96 96 96h704zM448-64c35.4 0 64 28.6 64 64s-28.6 64-64 64-64-28.6-64-64 28.6-64 64-64zM800 152v624c0 13.199-10.801 24-24 24h-656c-13.199 0-24-10.801-24-24v-624c0-13.199 10.801-24 24-24h656c13.199 0 24 10.801 24 24z" />
|
||||
<glyph unicode="" glyph-name="tachometer-alt" horiz-adv-x="1152" d="M576 832c318.12 0 576-257.88 576-576 0-105.6-28.5-204.52-78.119-289.6-11.221-19.24-32.602-30.4-54.881-30.4h-886c-22.279 0-43.66 11.16-54.881 30.4-49.619 85.080-78.119 184-78.119 289.6 0 318.12 257.88 576 576 576zM576 704c-35.34 0-63.98-28.66-63.98-64s28.66-64 64-64c13.34 0 25.020 5.039 35.281 12.020l18.439 55.34c1.619 4.881 4.68 8.82 6.9 13.34-7.48 27.041-31.221 47.301-60.641 47.301zM192 128c35.34 0 64 28.66 64 64s-28.66 64-64 64-64-28.66-64-64 28.66-64 64-64zM288 448c35.34 0 64 28.66 64 64s-28.66 64-64 64-64-28.66-64-64 28.66-64 64-64zM781.54 592.82c8.361 25.141-5.199 52.34-30.34 60.719-25.26 8.561-52.379-5.219-60.719-30.34l-122.68-368.020c-66.801-4.32-119.801-59.299-119.801-127.18 0-23.439 6.76-45.1 17.76-64h220.48c11 18.9 17.76 40.561 17.76 64 0 38.92-17.74 73.34-45.119 96.82zM810.86 478.42c11.361-17.881 30.381-30.42 53.141-30.439 35.34 0 64 28.66 64 64s-28.66 64-64 64c-7.84 0-15.16-1.881-22.1-4.461zM960 128c35.34 0 64 28.66 64 64s-28.66 64-64 64-64-28.66-64-64 28.66-64 64-64z" />
|
||||
<glyph unicode="" glyph-name="telegram-plane" d="M893.4 698.804l-135.201-637.602c-10.199-45-36.799-56.199-74.6-35l-206 151.801-99.4-95.6c-11-11-20.199-20.201-41.398-20.201l14.799 209.8 381.8 345c16.6 14.801-3.6 23-25.801 8.199l-472-297.2-203.2 63.6c-44.201 13.801-45 44.201 9.199 65.4l794.8 306.2c36.799 13.801 69-8.199 57-64.398z" />
|
||||
<glyph unicode="" glyph-name="vimeo" d="M806.4 832.004c49.4 0 89.6-40.199 89.6-89.6v-716.8c0-49.4-40.199-89.6-89.6-89.6h-716.8c-49.4 0-89.6 40.199-89.6 89.6v716.8c0 49.4 40.199 89.6 89.6 89.6h716.8zM754 534.404c3.801 84.4-27.6 127.6-94.199 129.4-89.801 2.799-150.602-47.801-182.4-152 39.799 17 98.6 21.6 91.6-44.801-2-22.4-16.6-55-43.6-97.801-75.4-118.799-93.801-79.199-135.201 183.201-11.6 73.799-42.6 108.199-93 103.4-44.6-4-115.799-76.801-190.398-142.4l30.398-39.201c29 20.201 46 30.4 50.801 30.4 42 0 63.801-109.4 114.801-296 26.199-69.799 58-104.6 95.799-104.6 60.801 0 135.4 57.199 223.4 171.6 85.199 109.4 129.199 195.801 132 258.8z" />
|
||||
<glyph unicode="" glyph-name="whatsapp-square" d="M448 650.404c70.4 0 136.4-27.4 186.4-77.4 49.799-49.801 80.199-116 80.199-186.4 0-145.4-121.4-263.6-266.6-263.6h-0.199c-47.4 0-93.801 12.801-134.201 36.801l-9.6 5.799-99.801-26.199 26.602 97.199-6.201 10c-26.4 41.801-40.4 90.4-40.4 140.201 0.201 145.398 118.4 263.6 263.8 263.6zM603 273.604c6.6 18.4 6.6 34.4 4.801 38.201-2 3.199-7.201 5.199-15.201 9.199s-47 23.199-54.199 25.801c-7.201 2.6-12.6 4-17.801-4-5.199-7.801-20.4-25.801-25-31-4.6-5.4-9.199-6-17.199-2-46.6 23.398-77.201 41.6-107.801 94.199-8.199 14 8 12.801 23.201 43.199 2.799 5.201 1.398 9.801-0.602 13.801s-17.799 43-24.398 58.801c-6.4 15.398-13 13.398-17.801 13.6-4.6 0.199-10 0.199-15.199 0.199-5.4 0-14-2-21.201-10-7.4-8-27.799-27.199-27.799-66.199s28.398-76.801 32.398-82c4-5.201 56-85.201 135.4-119.6 50.201-21.602 69.801-23.602 95-19.801 15.201 2.199 46.801 19 53.4 37.6zM800 832.004c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM447.8 69.603c174.799 0 320.2 142.201 320.2 317 0 84.801-36 164.4-95.801 224.4-60 60-139.6 93-224.398 93-174.801 0-317-142.199-317.202-317 0-56 14.6-110.6 42.4-158.6l-45-164.4 168.199 44.199c46.201-25.199 98.4-38.6 151.602-38.6z" />
|
||||
<glyph unicode="" glyph-name="apple-pay" horiz-adv-x="1280" d="M233.8 579.004c-15-17.801-39-31.801-63-29.801-3 24 8.799 49.602 22.6 65.201 15 18.199 41.199 31.199 62.6 32.199 2.4-24.799-7.4-49.4-22.199-67.6zM255.6 544.604c13.6-1 52.6-5 77.6-42.199-2-1.6-46.398-27-45.799-80.6 0.6-64 56-85.201 56.6-85.801-0.4-1.6-8.801-30.199-29-59.801-17.801-26-36-51.398-65-52-28-0.398-37.4 16.801-69.6 16.801-32 0-42.4-16.199-69-17.199-28-1-49.201 27.6-67 53.6-36.4 52.6-64.201 148-26.6 212.6 18.199 32.199 51.398 52.4 87.199 53 27.6 0.6 52.801-18.199 69.6-18.199 16.4 0 46.201 21.799 81 19.799zM456.4 617.004h146.4c75.398 0 128.199-52 128.199-128s-53.6-128.6-130.199-128.6h-83.801v-133.201h-60.6v389.8zM517 566.004v-154.801h69.6c52.801 0 82.801 28.4 82.801 77.602 0 49.199-30 77.199-82.6 77.199h-69.801zM841.4 224.204c-56.201 0-95.4 33.602-95.6 84 0 50 38 78.801 108.199 83l75.6 4.602v21.6c0 31.799-20.799 49-57.799 49-30.4 0-52.602-15.801-57.201-39.801h-54.6c1.801 50.4 49.4 87.201 113.6 87.201 69.201 0 114.201-36.4 114.201-92.602v-194h-56v46.801h-1.201c-16-30.6-51.199-49.801-89.199-49.801zM857.8 270.404c41 0 72 26 72 62.4v22l-67.201-4.201c-37.799-2.199-57.6-16.4-57.6-41 0-23.6 20.6-39.199 52.801-39.199zM1062.8 121.203c-4.602 0-19.602 0.602-23.201 1.4v46.801c3.801-0.4 13-1 17.801-1 26.799 0 41.799 11.4 51 40.6l5.6 17.199-102.4 283.8h63.201l71.199-230.2h1.199l71.201 230.2h61.6l-106.199-298c-24.201-68.199-52-90.801-111-90.801z" />
|
||||
<glyph unicode="" glyph-name="cc-apple-pay" horiz-adv-x="1152" d="M604.4 459.204c0-34.398-21-54.199-58-54.199h-48.6v108.4h48.799c36.801 0 57.801-19.6 57.801-54.201zM699.4 334.004c0 17.199 13.799 27 40.4 28.801l47 3v-15.4c0-25.6-21.602-43.801-50.4-43.801-22.6 0-37 10.801-37 27.4zM1152 738.004v-704c0-53-43-96-96-96h-960c-53 0-96 43-96 96v704c0 53 43 96 96 96h960c53 0 96-43 96-96zM255.6 501.604c16.801-1.4 33.6 8.4 44.201 20.801 10.398 12.799 17.199 30 15.398 47.4-14.799-0.602-33.199-9.801-43.799-22.602-9.6-11-17.801-28.799-15.801-45.6zM376.8 352.604c-0.4 0.4-39.201 15.201-39.602 60-0.398 37.4 30.602 55.4 32 56.4-17.6 26-44.799 28.801-54.199 29.4-24.4 1.4-45.199-13.801-56.801-13.801-11.799 0-29.398 13.201-48.6 12.801-25-0.4-48.4-14.6-61-37.201-26.199-45.199-6.799-112 18.6-148.799 12.4-18.201 27.4-38.201 47-37.4 18.602 0.801 26 12 48.4 12 22.6 0 29-12 48.6-11.801 20.4 0.4 33 18.201 45.602 36.4 13.799 20.801 19.6 40.801 20 42zM647.6 459.404c0 53.199-37 89.6-89.799 89.6h-102.4v-272.8h42.4v93.201h58.6c53.6 0 91.199 36.799 91.199 90zM827.6 412.004c0 39.4-31.6 64.801-80 64.801-45 0-78.199-25.801-79.4-61h38.201c3.199 16.799 18.799 27.799 40 27.799 26 0 40.4-12 40.4-34.4v-15l-52.801-3.199c-49.199-3-75.801-23.199-75.801-58.199 0-35.4 27.4-58.801 66.801-58.801 26.6 0 51.199 13.4 62.4 34.801h0.799v-32.801h39.201v136h0.199zM1032 474.204h-43l-49.801-161.199h-0.799l-49.801 161.199h-44.6l71.801-198.6-3.801-12c-6.4-20.4-17-28.4-35.801-28.4-3.398 0-9.799 0.4-12.398 0.602v-32.801c2.398-0.801 13-1 16.199-1 41.4 0 60.801 15.801 77.801 63.6z" />
|
||||
<glyph unicode="" glyph-name="ethereum" horiz-adv-x="640" d="M623.8 374.404l-303.8-185.6-304 185.6 304 521.6zM320 129.203l304 185.602-304-442.8-304 442.8z" />
|
||||
<glyph unicode="" glyph-name="ebay" horiz-adv-x="1280" d="M1212 517.004h68l-198.4-389.6h-71.799l57 108.199-123 232.202c6.199-13.201 9.6-29 9.6-47.602v-131.199c0-18.6 0.6-37.199 2-53.6h-59.6c-1.602 13.799-2.201 27.199-2.201 40.4-32.199-39.602-70.6-51-123.799-51-79 0-121.201 41.799-121.201 90 0 6.398 0.4 12.398 1.4 18-16.801-64.602-72.801-108.4-146.6-108.4-46.6 0-90.201 16.6-117.4 49.799 0-13.199-0.801-26.398-2.199-39h-63c1 20.4 2.199 45.602 2.199 66.201v339h64.199v-161.201c31.4 37.4 74.801 48.4 117.4 48.4 71.4 0 150.801-48.199 150.801-152.4 0-11.199-1-22-3-32.398 14.199 48.799 68.6 67 153.4 68.799 27.398 0.6 58 0.801 83.398 0.801v6.799c0 46.801-30 66-82 66-38.6 0-67.199-16-70-43.6h-67.398c7.199 68.801 79.398 86.201 143 86.201 54.799 0 103.6-14 126.6-52l-21.801 41.199h75l109.801-219.8zM487.4 268.404c59.6 0 100.4 43 100.4 107.6 0 64.801-40.801 107.6-100.4 107.6-59.201 0-100.4-42.799-100.4-107.6 0-64.6 41.199-107.6 100.4-107.6zM889.2 363.004v6.6c-23.6 0-52.6-0.199-78.799-1.199-58.201-1.801-94.4-12.4-94.4-50.6 0-24.801 19.801-51.602 70-51.602 67.4 0 103.199 36.801 103.199 96.801zM65.4 359.804c7-116.602 158.4-114.801 182.4-43.201h66.199c-12.801-68.799-86-92.199-148.801-92.199-114.398 0-165 63-165 148 0 93.6 52.4 155.199 166 155.199 90.602 0 156.801-47.4 156.801-150.799v-17h-257.6zM255.4 402.604c-4.6 109.4-175 113.201-188.801 0h188.801z" />
|
||||
<glyph unicode="" glyph-name="robot" horiz-adv-x="1280" d="M64 448h64v-384h-64.076c-35.287 0-63.924 28.637-63.924 63.924v256.152c0 35.287 28.637 63.924 63.924 63.924h0.076zM1088 544v-544c-0.070-70.586-57.414-127.93-128-128h-640c-70.586 0.070-127.93 57.414-128 128v544.053c0 88.291 71.656 159.947 159.947 159.947h224.053v128c0 35.328 28.672 64 64 64s64-28.672 64-64v-128h224.053c88.291 0 159.947-71.656 159.947-159.947v-0.053zM528 384c0 44.16-35.84 80-80 80s-80-35.84-80-80 35.84-80 80-80h0.006c44.156 0 79.994 35.838 79.994 79.994v0.006zM512 128h-128v-64h128v64zM704 128h-128v-64h128v64zM912 384c0 44.16-35.84 80-80 80s-80-35.84-80-80 35.84-80 80-80h0.006c44.156 0 79.994 35.838 79.994 79.994v0.006zM896 128h-128v-64h128v64zM1280 384v-256.076c0-35.287-28.637-63.924-63.924-63.924h-64.076v384h64.076c35.287 0 63.924-28.637 63.924-63.924v-0.076z" />
|
||||
<glyph unicode="" glyph-name="scroll" horiz-adv-x="1280" d="M96 896c52.939 0 96-43.061 96-96v-160h-160c-17.68 0-32 14.32-32 32v128c0 52.939 43.061 96 96 96zM512 70.859c0-63.779-43.561-122.859-106.5-133.1-80.199-13.061-149.5 48.5-149.5 126.24v736c0 36.16-12.52 69.18-32.82 96h672.82c105.881 0 192-86.119 192-192v-512h-576v-121.141zM576 128h672c17.68 0 32-14.32 32-32 0-123.721-100.279-224-224-224h-672c105.881 0 192 86.141 192 192v64z" />
|
||||
<glyph unicode="" glyph-name="fedora" d="M450 832.004c247.4-0.6 447.4-201.8 446.8-449.2-0.602-247.4-201.8-447.4-449.202-446.8l-340.4 0.801c-59.176 0-107.201 48.025-107.201 107.199 0 0.166 0.002 0.434 0.002 0.6l0.801 340.6c0.799 247.4 201.798 447.4 449.2 446.8zM789.6 517.604c-0.154 12.539-2.664 32.609-5.6 44.801l-110.4 112.199v-3.199c0-10.201-3-19.201-7.6-28.6zM662 707.404c3.307-4.627 7.070-12.871 8.4-18.4l108.6-109.199c-16.551 49.65-68.967 106.816-117 127.6zM236.2 401.604c-9.096-0.738-23.611-3.338-32.398-5.799l17-17c3.369 6.887 10.27 17.102 15.398 22.799zM194 393.204c-7.824-2.18-20.1-6.838-27.4-10.398l54-54.4c-2.609 6.652-4.76 17.854-4.799 25l1.799 16zM157.6 378.404c-6.43-3.59-16.465-10.041-22.4-14.4l70.602-71.801c7.416 3.693 20.051 7.904 28.199 9.4zM127.199 358.804c-6.135-4.588-15.184-13.010-20.199-18.801l69.801-69.199c5.322 5.275 14.73 12.893 21 17zM100.6 334.204c-5.799-6.6-11.6-13.398-17.199-21l71.6-71.799c3.482 6.811 10.383 17.025 15.4 22.799zM78.6 305.604c-4.154-6.369-10.158-17.121-13.4-24l79-79.6c0.613 8.717 3.838 22.336 7.201 30.4zM61 273.004c-3.6-9.801-6.6-19.199-9.4-29l105.4-107c-6.852 13.656-12.855 37.131-13.4 52.4zM45.199 187.004c0.076-12.291 2.676-31.914 5.801-43.801l110.801-111.398v2.199c0.068 8.377 3.295 21.189 7.199 28.6zM55.801 125.603c16.596-49.609 69.012-106.773 117-127.6-3.236 4.66-7 12.902-8.4 18.4zM45.199 199.603l128.801-128.4c4.609 5.775 13.48 13.572 19.801 17.4l-144.4 145c-2.162-9.26-4.043-24.492-4.201-34zM551.8 303.204c65.199-0.199 65.398 98.4 0.398 98.801l-67.199 0.199c-9.826 0.045-17.801 8.055-17.801 17.881v0.119l0.201 94c0.199 81 77.199 121.602 132 109.801 30.799-7.801 60.6 16.801 60.6 47.801 0 24.199-17.4 44.398-39.801 48-10.781 2.539-28.523 4.602-39.602 4.602-0.221 0-0.578-0.002-0.797-0.002-0.232 0-0.609 0.002-0.842 0.002-115.92 0-210.162-94.082-210.36-210.002l-0.199-112-85.201 0.199c-65.199 0.201-65.398-98.4-0.199-98.6l67.199-0.199c8.801 0 17.801-9 17.801-18l-0.199-94c-0.012-61.715-50.107-111.801-111.82-111.801h-0.381c-18.799 0-18.799 3.199-31.4 3.199-26.738-0.416-48.691-22.459-49-49.199 0-31 28.4-48.4 39.801-48.4 122.6-25.799 251 67.201 251.4 205.8l0.199 112zM598.8 303.804c9.016 0.885 23.441 3.484 32.199 5.799l-17 17c-2.961-7.115-9.77-17.33-15.199-22.799zM640.8 312.204c7.85 2.182 20.125 6.93 27.398 10.602l-54 54.398c2.611-6.652 4.762-17.852 4.801-25l-1.801-16.199zM676.8 327.004c8 4.4 16.199 9.4 23.799 14.4l-72.4 71.799c-8.199-4.6-17.6-7.199-27.398-9.398zM707.8 346.604c5.844 4.666 14.895 12.729 20.199 18l-69.801 70c-5.273-5.336-14.682-12.953-21-17zM734.2 371.204c5.051 5.549 12.756 14.957 17.201 21l-71.6 71.801c-3.563-6.758-10.461-16.973-15.4-22.801zM756.2 399.804c4.219 6.332 10.223 17.084 13.4 24l-79 79.6c-0.611-8.717-3.838-22.336-7.199-30.4zM783.2 461.604l-106.199 106.801c7.389-13.523 13.75-36.998 14.199-52.4l82.602-83c3.018 7.754 7.229 20.566 9.398 28.6zM785.2 472.804c2.119 9.045 4.18 23.918 4.602 33.199l-128.602 129.4c-4.367-6.26-13.236-14.502-19.799-18.4z" />
|
||||
<glyph unicode="" glyph-name="mug-hot" d="M254.2 603c-5.398 33.199-20.799 63.801-44.799 88.199-45.201 46.201-73.4 105-81.201 168.801-2.199 19 13 36 32.602 36h32.799c16.4 0 30-11.801 32.201-27.6 5.6-40.4 24-77.6 52.799-107 40.4-41 65.6-93 73.201-149.4 2.6-19-13-36-32.602-36h-33c-16 0-29.398 11.6-32 27zM478.2 603c-5.398 33.199-20.799 63.801-44.799 88.199-45.201 46.201-73.4 105-81.201 168.801-2.398 19 13 36 32.602 36h32.799c16.4 0 30-11.801 32.201-27.6 5.6-40.4 24-77.6 52.799-107 40.4-41 65.6-93 73.201-149.4 2.6-19-13-36-32.602-36h-33c-16 0-29.398 11.6-32 27zM800 512c123.6 0 224-100.4 224-224s-100.4-224-224-224h-32c0-106-86-192-192-192h-384c-106 0-192 86-192 192v384c0 35.4 28.6 64 64 64h736zM800 192c53 0 96 43 96 96s-43 96-96 96h-32v-192h32z" />
|
||||
<glyph unicode="" glyph-name="raspberry-pi" horiz-adv-x="814" d="M744 431.004c57.4-34.4 109.199-145.199 28-235.4-5.199-28.199-14.199-48.4-22-70.799-11.801-90.4-88.801-132.602-109.199-137.602-29.801-22.398-61.4-43.6-104.4-58.398-40.4-41.201-84.201-56.801-128.4-56.801h-2c-44 0-88 15.6-128.6 56.801-42.801 14.799-74.6 36-104.4 58.398-20.199 5-97.4 47.201-109.199 137.602-7.801 22.398-16.801 42.6-22 70.799-81 90-29.201 201 28.398 235.4l7.4 13c-0.199 92.801 42.801 130.6 93 159.4-15.199 4-30.799 7.4-35.199 26.4-26.201 6.799-31.6 18.799-34.201 31.6-6.799 4.6-29.6 17.4-27.199 39.4-12.6 8.799-19.801 20.199-16.199 36.199-13.801 15-17.4 27.4-11.602 38.801-16.6 20.398-9.199 31-2.199 41.799-12.4 22.4-1.6 46.4 33 42.4 13.801 20.199 43.801 15.6 48.4 15.6 5 6.6 12 12 33 9.4 13.6 12.199 28.799 10.199 44.6 4.199 6.4 5 12.199 6.801 17.4 7 10 0.201 18.6-5.799 27.799-8.6 22.602 7.201 27.602-2.799 38.801-6.799 24.6 5.199 32.199-6 44-17.801l13.801 0.199c37.199-21.6 55.6-65.6 62.199-88.199 6.6 22.6 25 66.6 62.199 88.199l13.801-0.199c11.801 11.801 19.4 23 44 17.801 11 4.199 16.199 14 38.801 6.799 14.199 4.4 26.6 16.201 45.199 1.6 15.801 5.801 31 8 44.6-4.199 21 2.6 27.801-3 33-9.4 4.6 0 34.6 4.6 48.4-15.6 34.6 4 45.6-20 33.199-42.4 7-10.6 14.4-21.199-2.199-41.799 5.801-11.4 2.199-23.801-11.6-38.801 3.799-16-3.4-27.4-16.201-36.199 2.4-22-20.398-34.801-27.199-39.4-2.6-12.801-8-25-34.199-31.6-4.4-19.201-20-22.4-35.201-26.4 50.201-28.801 93.201-66.6 93-159.4zM699.6 447.004c3 97.4-72.799 150.801-164.199 135.801-33.6-5.602 161.199-173.201 164.199-135.801zM613.6 260.804c49 31.6 57.801 103.199 19.801 160-38 56.799-108.6 77.199-157.6 45.6s-57.801-103.201-19.801-160c38-56.801 108.6-77.201 157.6-45.6zM477.8 837.404c-33.201-31.801-80.201-111.801-11.602-143.6 58 47 127.201 81.398 204 107-98.6-50.201-156-90.602-187.398-125.201 16.199-63.4 100-66.4 130.799-64.6-6.199 2.801-11.6 6.199-13.4 11.6 7.602 5.4 35 0.6 54 11.201-7.398 1.398-10.799 2.799-14.199 8.199 18 5.801 37.4 10.6 48.801 20-6.201 0-12-1.199-20 4.199 16.199 8.602 33.398 15.4 46.799 28.4-8.4 0.201-17.4 0.201-20 3.201 14.801 9 27.201 19 37.6 30-11.6-1.4-16.6-0.201-19.398 1.799 11.199 11.201 25.199 20.801 32 34.6-8.801-3-16.602-4.199-22.4 0.201 3.799 8.6 20 13.4 29.4 33.199-9.201-0.799-18.801-2-20.801 0 4.199 17 11.4 26.4 18.6 36.4-19.6 0.4-49.199 0-47.799 1.6l12 12.201c-19 5-38.602-0.801-52.801-5.201-6.4 5 0 11.201 7.801 17.6-16.201-2-31-5.799-44.201-10.799-7.199 6.199 4.6 12.6 10.201 18.799-25-4.6-35.602-11.199-46.201-17.799-7.6 7.199-0.4 13.4 4.801 19.6-18.801-7-28.6-15.801-38.801-24.6-3.6 4.6-8.799 8-2.4 19.199-13.398-7.6-23.6-16.6-31-26.6-8.398 5.199-5 12.199-5 18.801-14-11.201-22.799-23-33.6-34.602-2.199 1.602-4.199 6.801-5.799 15.201zM409 608.204c-54.4 1.4-106.801-39.799-106.801-63.6-0.199-29.199 43-58.799 107.201-59.6 65.6-0.4 107.4 23.801 107.6 53.801 0.199 33.799-59.6 70-108 69.398zM163 633.804c19.199-10.4 46.4-5.602 54.4-11.201-1.801-5.199-7.201-8.799-13.4-11.6 30.801-1.801 114.801 1 130.801 64.6-31.4 34.6-88.801 75.201-187.4 125.201 76.799-25.602 146-60 204-107 68.199 31.799 21.199 111.799-12 143.6-1.801-8.4-3.6-13.6-5.801-15.201-10.799 11.602-19.6 23.4-33.6 34.602 0-6.4 3.199-13.602-5-18.801-7.4 10-17.6 19-31 26.6 6.4-11.199 1-14.6-2.4-19.199-10.199 8.799-20 17.799-38.799 24.6 5.199-6.199 12.398-12.4 4.799-19.6-10.6 6.6-21.199 13.199-46.199 17.799 5.6-6.199 17.199-12.6 10.199-18.799-13.4 5-28 8.6-44.199 10.799 7.6-6.398 14.199-12.6 7.799-17.6-14.199 4.4-33.799 10.201-52.799 5.201l12-12.201c1.4-1.6-28.201-1.4-47.801-1.6 7-9.801 14.4-19.4 18.6-36.4-2-2-11.6-0.799-20.799 0 9.4-19.799 25.6-24.799 29.4-33.199-5.801-4.201-13.801-3.201-22.4-0.201 6.6-13.799 20.799-23.398 32-34.6-2.801-2-7.801-3.199-19.4-1.799 10.4-11 22.801-21 37.6-30-2.6-3.201-11.6-3-20-3.201 13.4-13 30.6-19.799 46.801-28.4-8-5.6-13.801-4.199-20-4.199 11.4-9.4 30.799-14.4 48.799-20-3.398-5.199-6.799-6.801-14.199-8.199zM283.2 585.604c-91.199 15.201-167.199-38.4-164.199-135.799 3-37.201 197.801 130.199 164.199 135.799zM76.4 212.004c43.199-19 78.199 210.6 25.199 196.6-87.799-49.199-72.6-159-25.199-196.6zM258.4 15.603c28.199 20.801 12.799 91.4-21 131.4-38.801 44.4-89.201 70.801-121.801 51.199-21.799-16.398-25.799-72 5.201-126.799 46-65.201 111-71.6 137.6-55.801zM205.6 255.004c48.801-31.6 119.4-11.199 157.6 45.6 38 56.801 29.201 128.4-19.799 160s-119.6 11.201-157.6-45.6-29.201-128.4 19.799-160zM410-95.996c56.801-1 115.4 48.801 114.4 70.801-0.201 22.799-64 39.799-111.4 37.799-47 1.201-119.4-18.6-118.6-44-0.801-17.199 56.799-67 115.6-64.6zM527.8 153.805v1.199c-0.4 59.199-53.602 107.199-118.801 106.801-65.199-0.4-118-48.602-117.6-108v-1.201c0.4-59.199 53.6-107.199 118.799-106.799 65.201 0.398 118 48.6 117.602 108zM692.2 68.404c36.801 46.4 24.4 124 3.4 144.6-31.199 23.801-76-6.6-117.799-53.199-36.602-42.201-56.801-119.201-30.201-144 25.4-19.201 94-16.602 144.6 52.6zM738 214.804c47.4 37.398 62.6 147.199-25.199 196.6-52.801 14-17.801-215.4 25.199-196.6z" />
|
||||
<glyph unicode="" glyph-name="redhat" d="M683.040 325.184v-0.299c67.301 0 164.682 13.879 164.682 94 0.439 13.479 1.719 3.639-41.76 192.479-9.24 38.301-17.361 55.68-84.621 89.301-52.18 26.68-165.84 70.74-199.459 70.74-31.32 0-40.4-40.34-77.74-40.34-36 0-62.621 30.119-96.24 30.119-32.281 0-53.32-22-69.561-67.24-55-155.1-52.561-148.539-52.24-156.539 0-49.6 195.281-212.22 456.94-212.22zM858.14 386.384l-0.141-0.061c9.301-44 9.301-48.701 9.301-54.5 0-75.32-84.66-117.121-196-117.121-251.48-0.16-471.82 147.301-471.82 244.66v0.154c0 11.307 3.637 28.906 8.119 39.287-90.48-4.521-207.6-20.66-207.6-124.061 0-169.34 401.26-378 718.98-378 243.58 0 305.020 110.16 305.020 197.16 0 68.42-59.18 146.1-165.859 192.48z" />
|
||||
<glyph unicode="" glyph-name="suse" horiz-adv-x="1280" d="M942.16 690.684c0 2 2.039 1.52 1.84 1.32 8.4-1.199 184.4-27.4 258.4-70.6 24.199-13.801 41.4-43 69-139.201 1.4-5.6-5.6-10.199-7.201-11.398-53.799-37.602-113.6-73.201-290.398 43.398 22.199-53.398 21.398-50.199 22-51 10.799-5.6 112.6-57.398 163.199-56.398 40.801 0.799 84.4 20.799 101.801 31.199 0 0 9 5.4 6.398-4.801-1-3.799-6.6-29.199-14-35.398-2-2-73.199-56.801-206.2-56-85.4 2-153.6 32.799-164.801-34.801-5.6-34.199 12.201-75 37.801-111.6h-97.199c-31.801 56.799-46.201 136.6-159.602 136.6-103.199 0-96.799-101.4-85.398-136.6h-91.801c-37.6 137.6-138.4 197.199-204.8 208.6-148.6 25.6-226-98.4-174-196.801 46.201-87.199 162.801-88.199 199.4-40.799 38.4 50 7.6 125.799-57 131.4-24.6 2.199-50.6-9.201-51-33.801v-0.119c0-21.801 20-27.602 24-28 14.6 0.799 17.801 3.799 23.6 4.799 10.4 1.801 33.602-3.6 33.602-27.799 0-16.801-13.602-26.201-26.602-29.801-8.475-2.936-22.631-5.355-31.6-5.4-34.4 0-82.4 29.6-83 85.201-0.4 31.398 15.4 60 43.201 78.398 31.799 21 87.199 28.201 138.398-3.199 63-38.6 79.4-114.199 63-165.801-23.799-74.6-91.199-114.398-180-106.6-63 5.6-121.398 38.801-156.199 88.801-12.654 18.066-27.439 50.053-33 71.4-14.24 56.119 0 116.119 10.961 142.799 51.398 127.201 160.398 194.6 199.199 219.4 200.4 123.199 342.2 118.199 446 114.6 122.6-4.4 253.2-46.6 271.4-52.6 0 4 0.6 40.6 0.6 40.6zM1062.96 545.084c-2.201-67 78.199-103.199 126.6-57.801 48.799 45.801 18 128-48.801 130.4-0.762 0.027-1.998 0.051-2.76 0.051-40.123 0-73.742-32.547-75.039-72.65zM1140.16 595.684c28.062-0.826 50.84-24.281 50.84-52.357 0-0.564-0.018-1.479-0.039-2.043-1.006-27.959-24.529-50.652-52.508-50.652-29.002 0-52.539 23.539-52.539 52.541s23.537 52.539 52.539 52.539c0.473 0 1.236-0.012 1.707-0.027zM1148.76 538.084c30.801 0 30.801 31.199 0 31.199-30.799 0-30.799-31.199 0-31.199z" />
|
||||
<glyph unicode="" glyph-name="swift" d="M896 583.824c0-10.701-0.002-21.4 0.018-32.1v-367.542c-0.059-9.020-0.16-18.020-0.4-27.020-0.193-16.35-2.516-42.709-5.18-58.84-2.77-16.221-11.029-41.309-18.439-56-15.328-30.092-52.18-66.971-82.26-82.32-14.695-7.396-39.783-15.648-56-18.42-16.143-2.654-42.521-4.975-58.881-5.18-9.039-0.24-18.020-0.4-27.039-0.4h-399.58c-9.041 0.061-18.041 0.16-27.041 0.4-16.354 0.195-42.723 2.516-58.859 5.18-16.217 2.768-41.305 11.020-56 18.42-30.068 15.354-66.922 52.223-82.26 82.301-7.41 14.691-15.67 39.779-18.439 56-2.65 16.131-4.963 42.492-5.16 58.84-0.26 9.020-0.42 18-0.42 27.020v399.66c0.059 9.039 0.16 18.020 0.42 27.039 0.178 16.336 2.455 42.678 5.080 58.801 2.773 16.219 11.033 41.307 18.439 56 7.482 14.689 23.029 36.059 34.699 47.699 3.48 3.441 7.102 6.781 10.861 10 9.35 7.996 25.828 19.035 36.779 24.641 4.467 2.227 9.008 4.307 13.623 6.24 11.344 4.627 30.348 10.094 42.42 12.199 12.094 2.070 31.859 4.148 44.119 4.641 4.92 0.24 9.84 0.4 14.74 0.539 9.039 0.24 18.020 0.4 27.039 0.4h399.5c9.041-0.059 18.021-0.16 27.041-0.4 16.354-0.195 42.723-2.516 58.859-5.18 16.221-2.766 41.309-11.027 56-18.439 30.109-15.324 66.988-52.195 82.32-82.301 7.402-14.693 15.662-39.781 18.439-56 2.65-16.131 4.961-42.492 5.16-58.84 0.24-9.039 0.4-18.020 0.4-27.039zM756.238 101.824c9.82-19.16 30.721 82.359-46.32 177.16 0.98 3.379 2 6.719 2.881 10.18 37.199 148.16-53.58 323.34-207.16 415.5 67.299-91.24 97.059-201.74 70.619-298.4-1.941-7.002-5.668-18.176-8.32-24.939-3.459 2.299-7.699 4.84-13.459 8 0 0-152.781 94.34-318.362 261.18-4.34 4.4 88.301-132.5 193.441-243.48-49.561 27.801-187.561 128.24-274.96 208.24 9.203-15.141 26.029-38.348 37.561-51.799 72.98-92.441 168.18-206.74 282.18-294.442-80-48.98-193.279-52.799-306 0-22.904 10.752-58 31.691-78.34 46.74 42.68-67.873 137.020-148.844 210.58-180.74 106.641-45.84 212.7-42.76 291.7-0.76l0.84 0.5c3.541 2 7.061 4 10.5 6 38.16 19.6 112.621 38.92 152.621-38.939z" />
|
||||
<glyph unicode="凌" glyph-name="instagram-square" d="M448 490.684c58.865-0.021 106.676-47.814 106.721-106.68 0-58.887-47.793-106.68-106.682-106.68-58.887 0-106.68 47.793-106.68 106.68 0 58.865 47.775 106.658 106.641 106.68zM697.42 572.684c16.699-42.141 12.939-142.119 12.939-188.68s3.84-146.66-12.859-188.66c-9.5-24.074-36.746-51.32-60.82-60.82-42.119-16.719-141.98-12.859-188.6-12.859s-146.619-3.721-188.619 12.859c-24.074 9.5-51.322 36.746-60.82 60.82-16.641 42.141-12.941 142.121-12.941 188.68 0 46.561-3.699 146.66 12.861 188.66 9.498 24.074 36.746 51.32 60.82 60.82 42.119 16.721 142.020 12.859 188.619 12.859s146.6 3.721 188.6-12.859c24.074-9.5 51.32-36.746 60.82-60.82zM448 220.004h0.199c90.418 0 163.801 73.383 163.801 163.801v0.199c0 90.527-73.473 164-164 164s-164-73.473-164-164 73.473-164 164-164zM618.76 516.604c21.076 0.012 38.26 17.045 38.26 38.121v0.16c0 21.129-17.148 38.279-38.279 38.279s-38.279-17.15-38.279-38.279c0-21.131 17.148-38.281 38.279-38.281h0.020zM800 832.004c52.992 0 96-43.008 96-96v-704c0-52.992-43.008-96-96-96h-704c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h704zM765.76 252.004c2.98 52.881 2.98 211.12 0 263.76-2.439 51.26-14.359 96.701-51.699 134.1s-82.74 49.121-134 51.701c-52.82 2.979-211.18 2.979-264 0-51.061-2.441-96.441-14.24-134-51.561-37.561-37.32-49.121-82.74-51.701-134-2.979-52.779-2.979-211.16 0-264 2.441-51.16 14.221-96.6 51.701-134 37.479-37.4 82.74-49.119 134-51.699 52.82-2.98 211.18-2.98 264 0 51.199 2.439 96.58 14.379 134 51.699s49.119 82.74 51.699 134z" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 111 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="brand-name" enable-background="new 0 0 283.5 283.5" viewBox="0 0 560 64"><g stroke-width="0" transform="translate(-40.5 -32)"><g><path d="m74.012 40.579v46.55h-3.418v-46.55z"/><path d="m91.074 40.579v3.9063h-4.069v-3.9063zm-.32552 12.37v34.18h-3.418v-34.18z"/><path d="m106.83 83.124q5.2409.94401 9.4727.94401 13.346 0 13.346-14.941 0-12.923-12.272-12.923-4.6875 0-10.547 1.7578zm-3.418-42.546h3.418v13.997q6.1523-1.6276 10.579-1.6276 15.56 0 15.56 16.406 0 17.773-16.374 17.773-7.3568 0-13.184-1.3997z"/></g><g class="brand-name-strong" stroke-width="2"><g stroke-linecap="round" stroke-linejoin="round"><path d="m147.76 40.579v3.9063h-4.069v-3.9063zm-.32553 12.37v34.18h-3.418v-34.18z"/><path d="m160.1 87.128v-34.18h2.4414l.35808 4.2969q5.2409-4.2969 11.361-4.2969 8.0729 0 10.449 4.6875 5.8919-4.6875 11.947-4.6875 11.458 0 11.458 11.361v22.819h-3.418v-22.819q0-8.3008-8.0729-8.3008-6.4453 0-10.645 4.4271v26.693h-3.418v-23.372q0-7.7474-8.3333-7.7474-6.0547 0-10.71 4.4271v26.693z"/><path d="m221.92 69.908q0 14.616 12.533 14.616t12.533-14.616q0-14.355-12.533-14.355t-12.533 14.355zm-3.418.13021q0-17.415 15.951-17.415t15.951 17.415q0 17.383-15.951 17.383-15.885 0-15.951-17.383z"/><path d="m264.21 83.124q5.2409.94401 9.4727.94401 13.346 0 13.346-14.941 0-12.923-12.272-12.923-4.6875 0-10.547 1.7578zm-3.418-42.546h3.418v13.997q6.1524-1.6276 10.579-1.6276 15.56 0 15.56 16.406 0 17.773-16.374 17.773-7.3568 0-13.184-1.3997z"/><path d="m305.13 40.579v3.9063h-4.069v-3.9063zm-.32552 12.37v34.18h-3.418v-34.18z"/><path d="m321.54 40.579v46.55h-3.418v-46.55z"/><path d="m347.98 52.949q14.03 0 14.03 15.527 0 1.1068-.0651 2.3112h-25.944q0 13.411 14.193 13.411 5.8268 0 10.352-1.6276v2.9297q-4.5247 1.6276-10.352 1.6276-17.611 0-17.611-17.48 0-16.699 15.397-16.699zm-11.979 14.779h22.721q-.19531-11.914-10.742-11.914-11.393 0-11.979 11.914z"/></g><path d="m397.3 57.962q-4.9479-1.7578-10.286-1.7578-12.598 0-12.598 12.923 0 14.941 12.598 14.941 5.3386 0 10.286-1.2695zm3.418 27.116q-5.5664 2.0508-14.03 2.0508-15.918 0-15.918-17.773 0-16.406 16.211-16.406 5.0781 0 10.319 1.6276v-13.997h3.418z"/><path d="m427.41 52.949q14.03 0 14.03 15.527 0 1.1068-.0651 2.3112h-25.944q0 13.411 14.193 13.411 5.8268 0 10.352-1.6276v2.9297q-4.5248 1.6276-10.352 1.6276-17.611 0-17.611-17.48 0-16.699 15.397-16.699zm-11.979 14.779h22.721q-.19531-11.914-10.742-11.914-11.393 0-11.979 11.914z"/><path d="m447.84 52.949h3.9063l12.5 31.217 12.565-31.217h3.9063l-14.551 34.18h-3.9714z"/><path d="m493.15 40.579v3.9063h-4.069v-3.9063zm-.32552 12.37v34.18h-3.418v-34.18z"/><path d="m531.13 86.152q-4.2318.97656-9.1146.97656-17.253 0-17.253-17.741 0-16.439 17.253-16.439 4.8828 0 9.1146.97656v2.9297q-4.5573-.97656-8.7891-.97656-13.835 0-13.835 13.509 0 14.811 13.835 14.811 4.2318 0 8.7891-.97656z"/><path d="m555.38 52.949q14.03 0 14.03 15.527 0 1.1068-.0651 2.3112h-25.944q0 13.411 14.193 13.411 5.8268 0 10.352-1.6276v2.9297q-4.5247 1.6276-10.352 1.6276-17.611 0-17.611-17.48 0-16.699 15.397-16.699zm-11.979 14.779h22.721q-.19531-11.914-10.742-11.914-11.393 0-11.979 11.914z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 154 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="brand-logo" viewBox="0 0 256 256" height="256"><linearGradient id="k" gradientUnits="userSpaceOnUse" x1="60.930756" x2="39.939184" y1="46.727528" y2="58.8487448"><stop offset="0" stop-color="#f7ae1a"/><stop offset="1" stop-color="#e45e25"/></linearGradient><linearGradient id="g-6" gradientUnits="userSpaceOnUse" x1="83.9785752" x2="83.9785752" y1="58.502032" y2="85.9781632"><stop offset="0" stop-color="#e45e25"/><stop offset="1" stop-color="#d2343e"/></linearGradient><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="61.9571632" x2="40.076496" y1="107.0830176" y2="144.9776968"><stop offset="0" stop-color="#d2343e"/><stop offset="1" stop-color="#bb2033"/></linearGradient><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="60.6767288" x2="83.9785752" y1="157.023392" y2="118.5451368"><stop offset="0" stop-color="#ab2333"/><stop offset="1" stop-color="#bb2033"/></linearGradient><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="39.939184" x2="39.939184" y1="194.8150872" y2="143.9684536"><stop offset="0" stop-color="#7b2f44"/><stop offset="1" stop-color="#ab2333"/></linearGradient><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="39.3315784" x2="105.66014" y1="195.1652328" y2="156.8723488"><stop offset="0" stop-color="#7b2f44" stop-opacity=".5"/><stop offset="1" stop-color="#21376d" stop-opacity=".5"/></linearGradient><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="39.3315784" x2="83.9785752" y1="195.1652328" y2="169.3917704"><stop offset="0" stop-color="#7b2f44"/><stop offset="1" stop-color="#4c3d90"/></linearGradient><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="128.0145336" x2="108.9281656" y1="194.8150872" y2="205.83334536"><stop offset="0" stop-color="#005082"/><stop offset="1" stop-color="#21376d"/></linearGradient><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="83.9785752" x2="105.093728" y1="169.3917704" y2="157.195032"><stop offset="0" stop-color="#21376d"/><stop offset="1" stop-color="#005082"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="152.5830832" x2="128.0145336" y1="180.6307576" y2="194.8150872"><stop offset="0" stop-color="#023e49"/><stop offset="1" stop-color="#005082"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="127.7948344" x2="148.8550624" y1="144.0920344" y2="131.9364896"><stop offset="0" stop-color="#023e49"/><stop offset="1" stop-color="#007e96"/></linearGradient><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="192.321176" x2="172.0539248" y1="157.6824896" y2="169.3917704"><stop offset="0" stop-color="#0a9197"/><stop offset="1" stop-color="#007e96"/></linearGradient><path id="shadow" d="m216.06 171.72-132.11 76.276-44.037-25.424 132.11-76.277z" fill="#2e3436" fill-opacity=".2"/><g id="glogo"><path id="gt12" d="m172.05 169.39v-50.85l44.036 25.425z" fill="url(#j)"/><path id="gt11" d="m172.05 169.39-44.036-25.425 44.036-25.425z" fill="url(#b)"/><path id="gt10" d="m128.01 194.82v-50.85l44.036 25.425z" fill="url(#c)"/><path id="gt9" d="m83.979 169.4 44.036-25.425v50.85z" fill="url(#i)"/><path id="gt8" d="m83.979 220.24 44.036-25.425-44.036-25.425z" fill="url(#h)"/><path id="gt7" d="m39.939 194.82 44.036-25.425v50.85z" fill="url(#a)"/><path id="gt6" d="m39.939 194.82 44.036-25.425v50.85z" fill="url(#g)"/><path id="gt5" d="m39.939 143.97 44.036 25.425-44.036 25.425z" fill="url(#f)"/><path id="gt4" d="m39.939 143.97 44.036-25.425v50.85z" fill="url(#d)"/><path id="gt3" d="m39.939 93.118 44.036 25.425-44.036 25.425z" fill="url(#e)"/><path id="gt2" d="m39.939 58.849 44.036-25.425v50.85z" fill="url(#g-6)"/><path id="gt1" d="m39.939 58.849v-50.85l44.036 25.425z" fill="url(#k)"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg enable-background="new 0 0 283.5 283.5" height="793.7" viewBox="0 0 793.7 793.7" width="793.7" xmlns="http://www.w3.org/2000/svg"><g stroke-width=".10005" transform="matrix(13.831 0 0 13.831 -1173.2 -291.34)"><path d="m94.968 35.193v-10.71l9.2751 5.355z" fill="#f7ae1a"/><path d="m94.968 35.193 9.2751-5.355v10.71z" fill="#e45e25"/><path d="m94.968 42.414 9.2751 5.355-9.2751 5.355z" fill="#d2343e"/><path d="m94.968 53.124 9.2751-5.355v10.71z" fill="#bb2033"/><path d="m94.968 53.124 9.2751 5.355-9.2751 5.355z" fill="#ab2333"/></g><g fill="#2e3436" fill-opacity=".2" transform="matrix(13.831 0 0 13.831 -1361.02498 -319.002)"><path d="m57.472 29.867h-55.452l27.726-48.023z" stroke-width=".5" transform="matrix(-.16726 .09657 -.09657 -.16726 121.04 71.121)"/><path d="m148.27 69.213h-10.71l5.355-9.2751z" stroke-width=".10005" transform="matrix(-.86603 .5 .5 .86603 211.62 -57.046)"/><path d="m142.92-59.938h-10.71l5.355-9.2751z" stroke-width=".10005" transform="matrix(-.8660254 .5 -.5 -.8660254 211.614597 -57.0459)"/><path d="m57.472 29.867h-55.452l27.726-48.023z" stroke-width=".5" transform="matrix(0 .19314 -.19314 0 132.86 60.576)"/><path d="m57.472 29.867h-55.452l27.726-48.023z" stroke-width=".5" transform="matrix(.16726 .09657 -.09657 .16726 129.64 55.775)"/><path d="m57.472 29.867h-55.452l27.726-48.023z" transform="matrix(0 .19314 -.19314 0 142.13 55.221)"/></g><g transform="matrix(13.831 0 0 13.831 -1173.2 -291.34)"><g stroke-width=".10005"><path d="m94.968 63.834 9.2751-5.355v10.71z" fill="#7b2f44"/><path d="m104.24 69.189 9.2751-5.355-9.2751-5.355z" fill="#21376d"/><path d="m104.24 58.479 9.2751-5.355v10.71z" fill="#005082"/><path d="m113.52 63.834v-10.71l9.2751 5.355z" fill="#023e49"/><path d="m122.79 58.479-9.2751-5.355 9.2751-5.355z" fill="#007e96"/></g><path d="m122.79 58.479v-10.71l9.2751 5.355z" fill="#0a9197"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,35 @@
|
||||
;(function($) {
|
||||
|
||||
$.fn.backToTop = function( options ) {
|
||||
|
||||
return $(this).each(function(index, item) {
|
||||
// scroll to top on click
|
||||
var target = $(item);
|
||||
target.on("click", function(event) {
|
||||
event.preventDefault();
|
||||
window.scroll({ top: 0, left: 0, behavior: 'smooth' });
|
||||
return false;
|
||||
});
|
||||
|
||||
// show after scrolling a bit (below 60% of window height)
|
||||
$(window).scroll(function() {
|
||||
if ($(document).scrollTop() > ($(window).height() * 0.6)) {
|
||||
target.removeClass("d-none");
|
||||
target.removeClass("fadeOut");
|
||||
target.addClass("fadeIn")
|
||||
} else {
|
||||
target.removeClass("fadeIn");
|
||||
target.addClass("fadeOut")
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
})(window.jQuery);
|
||||
|
||||
$(document).ready(function($) {
|
||||
|
||||
// Enable "Back to Top" button
|
||||
$(".back-to-top").backToTop();
|
||||
|
||||
});
|
||||
@@ -0,0 +1,72 @@
|
||||
;(function($) {
|
||||
|
||||
$.fn.waypointLazyLoadImage = function( options ) {
|
||||
return $(this).each(function(index, item) {
|
||||
var inview = new Waypoint.Inview({
|
||||
element: $(item),
|
||||
enter: function(direction) {
|
||||
$(this.element).attr('src', $(this.element).data('src'));
|
||||
$(this.element).removeAttr('data-src');
|
||||
$(this.element).parent().removeClass('loading');
|
||||
$(this.element).removeClass('loading');
|
||||
inview.destroy();
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.waypointAnimation = function( options ) {
|
||||
function classToSelector (className) {
|
||||
return '.' + className;
|
||||
};
|
||||
|
||||
return $(this).each(function(index, item) {
|
||||
var element = $(item);
|
||||
|
||||
var defaults = $.extend({
|
||||
offset: '90%',
|
||||
delay: '0s',
|
||||
animateClass: 'animate',
|
||||
animateGroupClass: 'animate-group',
|
||||
duration: '1s'
|
||||
});
|
||||
|
||||
var settings = $.extend( {}, defaults, options );
|
||||
|
||||
const animationClass = element.attr('data-animation'),
|
||||
animationDelay = element.attr('data-animation-delay') || settings.delay,
|
||||
animationOffset = element.attr('data-animation-offset') || settings.offset;
|
||||
animationDuration = element.attr('data-animation-duration') || settings.duration;
|
||||
|
||||
|
||||
element.css({
|
||||
'-webkit-animation-delay': animationDelay,
|
||||
'-moz-animation-delay': animationDelay,
|
||||
'animation-delay': animationDelay,
|
||||
'-webkit-animation-duration': animationDuration,
|
||||
'-moz-animation-duration': animationDuration,
|
||||
'animation-duration': animationDuration,
|
||||
'opacity': 0
|
||||
});
|
||||
|
||||
element.waypoint(function () {
|
||||
element
|
||||
.addClass('animated')
|
||||
.addClass(animationClass)
|
||||
.css({
|
||||
'opacity': 1
|
||||
});
|
||||
}, {
|
||||
element: $(item),
|
||||
triggerOnce: true,
|
||||
offset: animationOffset
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$('.animate').waypointAnimation();
|
||||
$('img[data-src]:not(.owl-lazy)').waypointLazyLoadImage();
|
||||
|
||||
})(window.jQuery);
|
||||
@@ -0,0 +1,283 @@
|
||||
/** custom manual styles */
|
||||
|
||||
:root {
|
||||
--animate-duration: 4s;
|
||||
--jumbotron-bg: #{$jumbotron-bg};
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
margin-top: $navbar-height;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
.entry-content img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* weired CSS3 non IE11 fix for anchors, TODO: clean the section padding/margin hell */
|
||||
main > section[id]:not([id='']):target::before {
|
||||
content: '';
|
||||
display: block;
|
||||
height: $navbar-height;
|
||||
margin-top: -($navbar-height * 2);
|
||||
}
|
||||
|
||||
.jumbotron {
|
||||
/* --animate-duration: 3s; */
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link {
|
||||
border-top: 3px solid transparent;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active {
|
||||
border-color: theme-color('warning') #e1e4e8 transparent;
|
||||
}
|
||||
|
||||
.tab-pane {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.card-tag {
|
||||
border-top: 3px solid transparent;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
|
||||
.card-tag-warning {
|
||||
border-color: theme-color('warning') #e1e4e8 transparent;
|
||||
}
|
||||
|
||||
.fa-1-5x {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
}
|
||||
|
||||
pre > code {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
/* padding: 1em !important; */
|
||||
color: #333;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
.card-download .card-body {
|
||||
code {
|
||||
color: theme-color('info');
|
||||
background: #f8f8f8;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
}
|
||||
|
||||
svg#brand-logo {
|
||||
animation: fadeInDown; /* referring directly to the animation's @keyframe declaration */
|
||||
animation-duration: 2s; /* don't forget to set a duration! */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
svg#brand-logo #glogo {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
:root {
|
||||
--hueshift-speed: 0.1;
|
||||
--hueshift-delay: 2s;
|
||||
}
|
||||
|
||||
svg#brand-logo #glogo path {
|
||||
animation-name: hueshift;
|
||||
animation-delay: var(--hueshift-delay);
|
||||
animation-duration: calc(12s * var(--hueshift-speed));
|
||||
animation-direction: alternate;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
|
||||
svg#brand-logo #glogo {
|
||||
animation-name: hover;
|
||||
animation-delay: var(--hueshift-delay) !important;
|
||||
animation-duration: calc(12s * var(--hueshift-speed));
|
||||
animation-direction: alternate;
|
||||
animation-timing-function: ease-in-out;
|
||||
animation-iteration-count: infinite;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
|
||||
svg#brand-logo #shadow {
|
||||
animation-name: hover-scale;
|
||||
animation-delay: var(--hueshift-delay) !important;
|
||||
animation-duration: calc(12s * var(--hueshift-speed));
|
||||
animation-direction: alternate;
|
||||
animation-timing-function: ease-in-out;
|
||||
animation-iteration-count: infinite;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
|
||||
svg#brand-logo #glogo #gt1 { animation-delay: calc(var(--hueshift-delay) + (1s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt2 { animation-delay: calc(var(--hueshift-delay) + (2s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt3 { animation-delay: calc(var(--hueshift-delay) + (3s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt4 { animation-delay: calc(var(--hueshift-delay) + (4s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt5 { animation-delay: calc(var(--hueshift-delay) + (5s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt6 { animation-delay: calc(var(--hueshift-delay) + (6s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt7 { animation-delay: calc(var(--hueshift-delay) + (7s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt8 { animation-delay: calc(var(--hueshift-delay) + (8s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt9 { animation-delay: calc(var(--hueshift-delay) + (9s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt10 { animation-delay: calc(var(--hueshift-delay) + (10s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt11 { animation-delay: calc(var(--hueshift-delay) + (11s * var(--hueshift-speed))); }
|
||||
svg#brand-logo #glogo #gt12 { animation-delay: calc(var(--hueshift-delay) + (12s * var(--hueshift-speed))); }
|
||||
|
||||
svg#brand-logo #glogo #gt7 { opacity: 0.5; }
|
||||
|
||||
@keyframes hueshift {
|
||||
0% { fill: theme-color('warning'); }
|
||||
10% { fill: #e45e25; }
|
||||
20% { fill: #d2343e; }
|
||||
35% { fill: #ab2333; }
|
||||
60% { fill: #005082; }
|
||||
70% { fill: #21376d; }
|
||||
85% { fill: #023e49; }
|
||||
90% { fill: #023e49; }
|
||||
100% { fill: #0a9197; }
|
||||
}
|
||||
|
||||
@keyframes hover {
|
||||
0% { transform: translateY(0); }
|
||||
100% { transform: translateY(10px); }
|
||||
}
|
||||
|
||||
@keyframes hover-scale {
|
||||
0% { transform: scale3d(1, 1, 1) translate(0, 0); }
|
||||
100% { transform: scale3d(0.95, 0.95, 1) translate(1.5px, 15px); }
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin-bottom: $spacer;
|
||||
}
|
||||
|
||||
.back-to-top {
|
||||
position: fixed;
|
||||
z-index: $zindex-fixed + 40;
|
||||
|
||||
background-color: transparentize($white, 10%);
|
||||
border-radius: 2px;
|
||||
|
||||
bottom: $spacer;
|
||||
right: $spacer;
|
||||
|
||||
padding: $spacer / 2;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:visited {
|
||||
}
|
||||
|
||||
i {
|
||||
}
|
||||
}
|
||||
|
||||
.card-image {
|
||||
img {
|
||||
max-height: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-grayscale-hover {
|
||||
filter: grayscale(100%);
|
||||
opacity: .5;
|
||||
|
||||
@include transition($transition-filter);
|
||||
|
||||
&-trigger:hover &,
|
||||
&:hover {
|
||||
filter: grayscale(0%);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.accordion {
|
||||
.accordion-header {
|
||||
cursor: pointer;
|
||||
-webkit-transition: all .3s ease-in-out;
|
||||
transition: all .3s ease-in-out;
|
||||
|
||||
i {
|
||||
transform: rotate(90deg);
|
||||
-webkit-transition: all .3s ease-in-out;
|
||||
transition: all .3s ease-in-out;
|
||||
margin-right: $spacer / 2;
|
||||
}
|
||||
|
||||
&.collapsed i {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: theme-color(secondary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-download {
|
||||
.list-inline-item {
|
||||
line-height: 2;
|
||||
}
|
||||
}
|
||||
|
||||
.table-block {
|
||||
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
||||
$infix: breakpoint-infix($next, $grid-breakpoints);
|
||||
|
||||
&#{$infix} {
|
||||
@include media-breakpoint-down($breakpoint) {
|
||||
caption,
|
||||
thead,
|
||||
tbody,
|
||||
th,
|
||||
td,
|
||||
tr {
|
||||
display: block;
|
||||
}
|
||||
|
||||
th {
|
||||
color: $table-head-color;
|
||||
background-color: $table-head-bg;
|
||||
border-color: $table-border-color;
|
||||
}
|
||||
|
||||
&.table-bordered,
|
||||
> .table-bordered {
|
||||
border: 0;
|
||||
|
||||
th, td {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.table-striped {
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
&.table-striped.table-hover {
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
@include hover() {
|
||||
color: $table-hover-color;
|
||||
background-color: $table-hover-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
@import "_fa-variables.scss";
|
||||
|
||||
@font-face {
|
||||
font-family: '#{$fac-font-family}';
|
||||
src: url('#{$fac-font-path}/#{$fac-font-family}.eot?ru68ef');
|
||||
src: url('#{$fac-font-path}/#{$fac-font-family}.eot?ru68ef#iefix') format('embedded-opentype'),
|
||||
url('#{$fac-font-path}/#{$fac-font-family}.woff2?ru68ef') format('woff2'),
|
||||
url('#{$fac-font-path}/#{$fac-font-family}.woff?ru68ef') format('woff'),
|
||||
url('#{$fac-font-path}/#{$fac-font-family}.ttf?ru68ef') format('truetype'),
|
||||
url('#{$fac-font-path}/#{$fac-font-family}.svg?ru68ef##{$fac-font-family}') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: inline-block;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
.fa, .far, .fas, .fab, .fal {
|
||||
/* use !important to prevent issues with browser extensions that change fonts */
|
||||
font-family: '#{$fac-font-family}' !important;
|
||||
speak: never;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.fa-check {
|
||||
&:before {
|
||||
content: $fa-check;
|
||||
}
|
||||
}
|
||||
.fa-close {
|
||||
&:before {
|
||||
content: $fa-close;
|
||||
}
|
||||
}
|
||||
.fa-remove {
|
||||
&:before {
|
||||
content: $fa-remove;
|
||||
}
|
||||
}
|
||||
.fa-times {
|
||||
&:before {
|
||||
content: $fa-times;
|
||||
}
|
||||
}
|
||||
.fa-cog {
|
||||
&:before {
|
||||
content: $fa-cog;
|
||||
}
|
||||
}
|
||||
.fa-gear {
|
||||
&:before {
|
||||
content: $fa-gear;
|
||||
}
|
||||
}
|
||||
.fa-download {
|
||||
&:before {
|
||||
content: $fa-download;
|
||||
}
|
||||
}
|
||||
.fa-external-link {
|
||||
&:before {
|
||||
content: $fa-external-link;
|
||||
}
|
||||
}
|
||||
.fa-rocket {
|
||||
&:before {
|
||||
content: $fa-rocket;
|
||||
}
|
||||
}
|
||||
.fa-android {
|
||||
&:before {
|
||||
content: $fa-android;
|
||||
}
|
||||
}
|
||||
.fa-circle-o-notch {
|
||||
&:before {
|
||||
content: $fa-circle-o-notch;
|
||||
}
|
||||
}
|
||||
.fa-paypal {
|
||||
&:before {
|
||||
content: $fa-paypal;
|
||||
}
|
||||
}
|
||||
.fa-music {
|
||||
&:before {
|
||||
content: $fa-music;
|
||||
}
|
||||
}
|
||||
.fa-heart {
|
||||
&:before {
|
||||
content: $fa-heart;
|
||||
}
|
||||
}
|
||||
.fa-star {
|
||||
&:before {
|
||||
content: $fa-star;
|
||||
}
|
||||
}
|
||||
.fa-user {
|
||||
&:before {
|
||||
content: $fa-user;
|
||||
}
|
||||
}
|
||||
.fa-home {
|
||||
&:before {
|
||||
content: $fa-home;
|
||||
}
|
||||
}
|
||||
.fa-redo {
|
||||
&:before {
|
||||
content: $fa-redo;
|
||||
}
|
||||
}
|
||||
.fa-lock {
|
||||
&:before {
|
||||
content: $fa-lock;
|
||||
}
|
||||
}
|
||||
.fa-tag {
|
||||
&:before {
|
||||
content: $fa-tag;
|
||||
}
|
||||
}
|
||||
.fa-bookmark {
|
||||
&:before {
|
||||
content: $fa-bookmark;
|
||||
}
|
||||
}
|
||||
.fa-chevron-left {
|
||||
&:before {
|
||||
content: $fa-chevron-left;
|
||||
}
|
||||
}
|
||||
.fa-chevron-right {
|
||||
&:before {
|
||||
content: $fa-chevron-right;
|
||||
}
|
||||
}
|
||||
.fa-asterisk {
|
||||
&:before {
|
||||
content: $fa-asterisk;
|
||||
}
|
||||
}
|
||||
.fa-chevron-up {
|
||||
&:before {
|
||||
content: $fa-chevron-up;
|
||||
}
|
||||
}
|
||||
.fa-chevron-down {
|
||||
&:before {
|
||||
content: $fa-chevron-down;
|
||||
}
|
||||
}
|
||||
.fa-shopping-cart {
|
||||
&:before {
|
||||
content: $fa-shopping-cart;
|
||||
}
|
||||
}
|
||||
.fa-chart-bar {
|
||||
&:before {
|
||||
content: $fa-chart-bar;
|
||||
}
|
||||
}
|
||||
.fa-comments {
|
||||
&:before {
|
||||
content: $fa-comments;
|
||||
}
|
||||
}
|
||||
.fa-upload {
|
||||
&:before {
|
||||
content: $fa-upload;
|
||||
}
|
||||
}
|
||||
.fa-phone-square {
|
||||
&:before {
|
||||
content: $fa-phone-square;
|
||||
}
|
||||
}
|
||||
.fa-rss {
|
||||
&:before {
|
||||
content: $fa-rss;
|
||||
}
|
||||
}
|
||||
.fa-certificate {
|
||||
&:before {
|
||||
content: $fa-certificate;
|
||||
}
|
||||
}
|
||||
.fa-link {
|
||||
&:before {
|
||||
content: $fa-link;
|
||||
}
|
||||
}
|
||||
.fa-envelope {
|
||||
&:before {
|
||||
content: $fa-envelope;
|
||||
}
|
||||
}
|
||||
.fa-sitemap {
|
||||
&:before {
|
||||
content: $fa-sitemap;
|
||||
}
|
||||
}
|
||||
.fa-angle-double-left {
|
||||
&:before {
|
||||
content: $fa-angle-double-left;
|
||||
}
|
||||
}
|
||||
.fa-angle-double-right {
|
||||
&:before {
|
||||
content: $fa-angle-double-right;
|
||||
}
|
||||
}
|
||||
.fa-angle-left {
|
||||
&:before {
|
||||
content: $fa-angle-left;
|
||||
}
|
||||
}
|
||||
.fa-angle-right {
|
||||
&:before {
|
||||
content: $fa-angle-right;
|
||||
}
|
||||
}
|
||||
.fa-angle-up {
|
||||
&:before {
|
||||
content: $fa-angle-up;
|
||||
}
|
||||
}
|
||||
.fa-angle-down {
|
||||
&:before {
|
||||
content: $fa-angle-down;
|
||||
}
|
||||
}
|
||||
.fa-desktop {
|
||||
&:before {
|
||||
content: $fa-desktop;
|
||||
}
|
||||
}
|
||||
.fa-laptop {
|
||||
&:before {
|
||||
content: $fa-laptop;
|
||||
}
|
||||
}
|
||||
.fa-terminal {
|
||||
&:before {
|
||||
content: $fa-terminal;
|
||||
}
|
||||
}
|
||||
.fa-code {
|
||||
&:before {
|
||||
content: $fa-code;
|
||||
}
|
||||
}
|
||||
.fa-code-branch {
|
||||
&:before {
|
||||
content: $fa-code-branch;
|
||||
}
|
||||
}
|
||||
.fa-puzzle-piece {
|
||||
&:before {
|
||||
content: $fa-puzzle-piece;
|
||||
}
|
||||
}
|
||||
.fa-ellipsis-v {
|
||||
&:before {
|
||||
content: $fa-ellipsis-v;
|
||||
}
|
||||
}
|
||||
.fa-euro-sign {
|
||||
&:before {
|
||||
content: $fa-euro-sign;
|
||||
}
|
||||
}
|
||||
.fa-dollar-sign {
|
||||
&:before {
|
||||
content: $fa-dollar-sign;
|
||||
}
|
||||
}
|
||||
.fa-paper-plane {
|
||||
&:before {
|
||||
content: $fa-paper-plane;
|
||||
}
|
||||
}
|
||||
.fa-history {
|
||||
&:before {
|
||||
content: $fa-history;
|
||||
}
|
||||
}
|
||||
.fa-bomb {
|
||||
&:before {
|
||||
content: $fa-bomb;
|
||||
}
|
||||
}
|
||||
.fa-at {
|
||||
&:before {
|
||||
content: $fa-at;
|
||||
}
|
||||
}
|
||||
.fa-chart-area {
|
||||
&:before {
|
||||
content: $fa-chart-area;
|
||||
}
|
||||
}
|
||||
.fa-chart-line {
|
||||
&:before {
|
||||
content: $fa-chart-line;
|
||||
}
|
||||
}
|
||||
.fa-balance-scale {
|
||||
&:before {
|
||||
content: $fa-balance-scale;
|
||||
}
|
||||
}
|
||||
.fa-trademark {
|
||||
&:before {
|
||||
content: $fa-trademark;
|
||||
}
|
||||
}
|
||||
.fa-tv {
|
||||
&:before {
|
||||
content: $fa-tv;
|
||||
}
|
||||
}
|
||||
.fa-hashtag {
|
||||
&:before {
|
||||
content: $fa-hashtag;
|
||||
}
|
||||
}
|
||||
.fa-microchip {
|
||||
&:before {
|
||||
content: $fa-microchip;
|
||||
}
|
||||
}
|
||||
.fa-poo {
|
||||
&:before {
|
||||
content: $fa-poo;
|
||||
}
|
||||
}
|
||||
.fa-external-link-alt {
|
||||
&:before {
|
||||
content: $fa-external-link-alt;
|
||||
}
|
||||
}
|
||||
.fa-map-marker-alt {
|
||||
&:before {
|
||||
content: $fa-map-marker-alt;
|
||||
}
|
||||
}
|
||||
.fa-mobile-alt {
|
||||
&:before {
|
||||
content: $fa-mobile-alt;
|
||||
}
|
||||
}
|
||||
.fa-tablet-alt {
|
||||
&:before {
|
||||
content: $fa-tablet-alt;
|
||||
}
|
||||
}
|
||||
.fa-tachometer-alt {
|
||||
&:before {
|
||||
content: $fa-tachometer-alt;
|
||||
}
|
||||
}
|
||||
.fa-robot {
|
||||
&:before {
|
||||
content: $fa-robot;
|
||||
}
|
||||
}
|
||||
.fa-scroll {
|
||||
&:before {
|
||||
content: $fa-scroll;
|
||||
}
|
||||
}
|
||||
.fa-mug-hot {
|
||||
&:before {
|
||||
content: $fa-mug-hot;
|
||||
}
|
||||
}
|
||||
.fa-twitter-square {
|
||||
&:before {
|
||||
content: $fa-twitter-square;
|
||||
}
|
||||
}
|
||||
.fa-facebook-square {
|
||||
&:before {
|
||||
content: $fa-facebook-square;
|
||||
}
|
||||
}
|
||||
.fa-linkedin {
|
||||
&:before {
|
||||
content: $fa-linkedin;
|
||||
}
|
||||
}
|
||||
.fa-github-square {
|
||||
&:before {
|
||||
content: $fa-github-square;
|
||||
}
|
||||
}
|
||||
.fa-twitter {
|
||||
&:before {
|
||||
content: $fa-twitter;
|
||||
}
|
||||
}
|
||||
.fa-facebook {
|
||||
&:before {
|
||||
content: $fa-facebook;
|
||||
}
|
||||
}
|
||||
.fa-github {
|
||||
&:before {
|
||||
content: $fa-github;
|
||||
}
|
||||
}
|
||||
.fa-linkedin-in {
|
||||
&:before {
|
||||
content: $fa-linkedin-in;
|
||||
}
|
||||
}
|
||||
.fa-github-alt {
|
||||
&:before {
|
||||
content: $fa-github-alt;
|
||||
}
|
||||
}
|
||||
.fa-youtube {
|
||||
&:before {
|
||||
content: $fa-youtube;
|
||||
}
|
||||
}
|
||||
.fa-xing {
|
||||
&:before {
|
||||
content: $fa-xing;
|
||||
}
|
||||
}
|
||||
.fa-xing-square {
|
||||
&:before {
|
||||
content: $fa-xing-square;
|
||||
}
|
||||
}
|
||||
.fa-stack-overflow {
|
||||
&:before {
|
||||
content: $fa-stack-overflow;
|
||||
}
|
||||
}
|
||||
.fa-instagram {
|
||||
&:before {
|
||||
content: $fa-instagram;
|
||||
}
|
||||
}
|
||||
.fa-adn {
|
||||
&:before {
|
||||
content: $fa-adn;
|
||||
}
|
||||
}
|
||||
.fa-apple {
|
||||
&:before {
|
||||
content: $fa-apple;
|
||||
}
|
||||
}
|
||||
.fa-windows {
|
||||
&:before {
|
||||
content: $fa-windows;
|
||||
}
|
||||
}
|
||||
.fa-linux {
|
||||
&:before {
|
||||
content: $fa-linux;
|
||||
}
|
||||
}
|
||||
.fa-skype {
|
||||
&:before {
|
||||
content: $fa-skype;
|
||||
}
|
||||
}
|
||||
.fa-vimeo-square {
|
||||
&:before {
|
||||
content: $fa-vimeo-square;
|
||||
}
|
||||
}
|
||||
.fa-slack {
|
||||
&:before {
|
||||
content: $fa-slack;
|
||||
}
|
||||
}
|
||||
.fa-openid {
|
||||
&:before {
|
||||
content: $fa-openid;
|
||||
}
|
||||
}
|
||||
.fa-google {
|
||||
&:before {
|
||||
content: $fa-google;
|
||||
}
|
||||
}
|
||||
.fa-reddit {
|
||||
&:before {
|
||||
content: $fa-reddit;
|
||||
}
|
||||
}
|
||||
.fa-reddit-square {
|
||||
&:before {
|
||||
content: $fa-reddit-square;
|
||||
}
|
||||
}
|
||||
.fa-git-square {
|
||||
&:before {
|
||||
content: $fa-git-square;
|
||||
}
|
||||
}
|
||||
.fa-git {
|
||||
&:before {
|
||||
content: $fa-git;
|
||||
}
|
||||
}
|
||||
.fa-paypal1 {
|
||||
&:before {
|
||||
content: $fa-paypal1;
|
||||
}
|
||||
}
|
||||
.fa-cc-visa {
|
||||
&:before {
|
||||
content: $fa-cc-visa;
|
||||
}
|
||||
}
|
||||
.fa-cc-mastercard {
|
||||
&:before {
|
||||
content: $fa-cc-mastercard;
|
||||
}
|
||||
}
|
||||
.fa-whatsapp {
|
||||
&:before {
|
||||
content: $fa-whatsapp;
|
||||
}
|
||||
}
|
||||
.fa-creative-commons1 {
|
||||
&:before {
|
||||
content: $fa-creative-commons1;
|
||||
}
|
||||
}
|
||||
.fa-amazon {
|
||||
&:before {
|
||||
content: $fa-amazon;
|
||||
}
|
||||
}
|
||||
.fa-reddit-alien {
|
||||
&:before {
|
||||
content: $fa-reddit-alien;
|
||||
}
|
||||
}
|
||||
.fa-bluetooth {
|
||||
&:before {
|
||||
content: $fa-bluetooth;
|
||||
}
|
||||
}
|
||||
.fa-bluetooth-b {
|
||||
&:before {
|
||||
content: $fa-bluetooth-b;
|
||||
}
|
||||
}
|
||||
.fa-telegram {
|
||||
&:before {
|
||||
content: $fa-telegram;
|
||||
}
|
||||
}
|
||||
.fa-app-store {
|
||||
&:before {
|
||||
content: $fa-app-store;
|
||||
}
|
||||
}
|
||||
.fa-app-store-ios {
|
||||
&:before {
|
||||
content: $fa-app-store-ios;
|
||||
}
|
||||
}
|
||||
.fa-bitcoin {
|
||||
&:before {
|
||||
content: $fa-bitcoin;
|
||||
}
|
||||
}
|
||||
.fa-docker {
|
||||
&:before {
|
||||
content: $fa-docker;
|
||||
}
|
||||
}
|
||||
.fa-facebook-f {
|
||||
&:before {
|
||||
content: $fa-facebook-f;
|
||||
}
|
||||
}
|
||||
.fa-facebook-messenger {
|
||||
&:before {
|
||||
content: $fa-facebook-messenger;
|
||||
}
|
||||
}
|
||||
.fa-itunes {
|
||||
&:before {
|
||||
content: $fa-itunes;
|
||||
}
|
||||
}
|
||||
.fa-itunes-note {
|
||||
&:before {
|
||||
content: $fa-itunes-note;
|
||||
}
|
||||
}
|
||||
.fa-node-js {
|
||||
&:before {
|
||||
content: $fa-node-js;
|
||||
}
|
||||
}
|
||||
.fa-python {
|
||||
&:before {
|
||||
content: $fa-python;
|
||||
}
|
||||
}
|
||||
.fa-slack-hash {
|
||||
&:before {
|
||||
content: $fa-slack-hash;
|
||||
}
|
||||
}
|
||||
.fa-telegram-plane {
|
||||
&:before {
|
||||
content: $fa-telegram-plane;
|
||||
}
|
||||
}
|
||||
.fa-vimeo {
|
||||
&:before {
|
||||
content: $fa-vimeo;
|
||||
}
|
||||
}
|
||||
.fa-whatsapp-square {
|
||||
&:before {
|
||||
content: $fa-whatsapp-square;
|
||||
}
|
||||
}
|
||||
.fa-apple-pay {
|
||||
&:before {
|
||||
content: $fa-apple-pay;
|
||||
}
|
||||
}
|
||||
.fa-cc-apple-pay {
|
||||
&:before {
|
||||
content: $fa-cc-apple-pay;
|
||||
}
|
||||
}
|
||||
.fa-ethereum {
|
||||
&:before {
|
||||
content: $fa-ethereum;
|
||||
}
|
||||
}
|
||||
.fa-ebay {
|
||||
&:before {
|
||||
content: $fa-ebay;
|
||||
}
|
||||
}
|
||||
.fa-fedora {
|
||||
&:before {
|
||||
content: $fa-fedora;
|
||||
}
|
||||
}
|
||||
.fa-raspberry-pi {
|
||||
&:before {
|
||||
content: $fa-raspberry-pi;
|
||||
}
|
||||
}
|
||||
.fa-redhat {
|
||||
&:before {
|
||||
content: $fa-redhat;
|
||||
}
|
||||
}
|
||||
.fa-suse {
|
||||
&:before {
|
||||
content: $fa-suse;
|
||||
}
|
||||
}
|
||||
.fa-swift {
|
||||
&:before {
|
||||
content: $fa-swift;
|
||||
}
|
||||
}
|
||||
.fa-instagram-square {
|
||||
&:before {
|
||||
content: $fa-instagram-square;
|
||||
}
|
||||
}
|
||||
.fa-wifi {
|
||||
&:before {
|
||||
content: $fa-wifi;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
$fac-font-family: "fa-custom" !default;
|
||||
$fac-font-path: "fonts" !default;
|
||||
|
||||
$fa-check: "\f00c";
|
||||
$fa-close: "\f00d";
|
||||
$fa-remove: "\f00d";
|
||||
$fa-times: "\f00d";
|
||||
$fa-cog: "\f013";
|
||||
$fa-gear: "\f013";
|
||||
$fa-download: "\f019";
|
||||
$fa-external-link: "\f08e";
|
||||
$fa-rocket: "\f135";
|
||||
$fa-android: "\f17b";
|
||||
$fa-circle-o-notch: "\f1ce";
|
||||
$fa-paypal: "\f1ed";
|
||||
$fa-music: "\f001";
|
||||
$fa-heart: "\f004";
|
||||
$fa-star: "\f005";
|
||||
$fa-user: "\f007";
|
||||
$fa-home: "\f015";
|
||||
$fa-redo: "\f01e";
|
||||
$fa-lock: "\f023";
|
||||
$fa-tag: "\f02b";
|
||||
$fa-bookmark: "\f02e";
|
||||
$fa-chevron-left: "\f053";
|
||||
$fa-chevron-right: "\f054";
|
||||
$fa-asterisk: "\f069";
|
||||
$fa-chevron-up: "\f077";
|
||||
$fa-chevron-down: "\f078";
|
||||
$fa-shopping-cart: "\f07a";
|
||||
$fa-chart-bar: "\f083";
|
||||
$fa-comments: "\f087";
|
||||
$fa-upload: "\f093";
|
||||
$fa-phone-square: "\f098";
|
||||
$fa-rss: "\f09f";
|
||||
$fa-certificate: "\f0a4";
|
||||
$fa-link: "\f0c1";
|
||||
$fa-envelope: "\f0e0";
|
||||
$fa-sitemap: "\f0e9";
|
||||
$fa-angle-double-left: "\f100";
|
||||
$fa-angle-double-right: "\f101";
|
||||
$fa-angle-left: "\f104";
|
||||
$fa-angle-right: "\f105";
|
||||
$fa-angle-up: "\f106";
|
||||
$fa-angle-down: "\f107";
|
||||
$fa-desktop: "\f109";
|
||||
$fa-laptop: "\f10a";
|
||||
$fa-terminal: "\f120";
|
||||
$fa-code: "\f121";
|
||||
$fa-code-branch: "\f126";
|
||||
$fa-puzzle-piece: "\f12e";
|
||||
$fa-ellipsis-v: "\f142";
|
||||
$fa-euro-sign: "\f153";
|
||||
$fa-dollar-sign: "\f155";
|
||||
$fa-paper-plane: "\f1d8";
|
||||
$fa-history: "\f1da";
|
||||
$fa-bomb: "\f1e2";
|
||||
$fa-at: "\f1fa";
|
||||
$fa-chart-area: "\f1fe";
|
||||
$fa-chart-line: "\f201";
|
||||
$fa-balance-scale: "\f24e";
|
||||
$fa-trademark: "\f25c";
|
||||
$fa-tv: "\f26c";
|
||||
$fa-hashtag: "\f292";
|
||||
$fa-microchip: "\f2db";
|
||||
$fa-poo: "\f2fe";
|
||||
$fa-external-link-alt: "\f35d";
|
||||
$fa-map-marker-alt: "\f3c5";
|
||||
$fa-mobile-alt: "\f3cd";
|
||||
$fa-tablet-alt: "\f3fa";
|
||||
$fa-tachometer-alt: "\f3fd";
|
||||
$fa-robot: "\f544";
|
||||
$fa-scroll: "\f70e";
|
||||
$fa-mug-hot: "\f7b6";
|
||||
$fa-twitter-square: "\f081";
|
||||
$fa-facebook-square: "\f082";
|
||||
$fa-linkedin: "\f08c";
|
||||
$fa-github-square: "\f092";
|
||||
$fa-twitter: "\f099";
|
||||
$fa-facebook: "\f09a";
|
||||
$fa-github: "\f09b";
|
||||
$fa-linkedin-in: "\f0e1";
|
||||
$fa-github-alt: "\f113";
|
||||
$fa-youtube: "\f167";
|
||||
$fa-xing: "\f168";
|
||||
$fa-xing-square: "\f169";
|
||||
$fa-stack-overflow: "\f16c";
|
||||
$fa-instagram: "\f16d";
|
||||
$fa-adn: "\f170";
|
||||
$fa-apple: "\f179";
|
||||
$fa-windows: "\f17a";
|
||||
$fa-linux: "\f17c";
|
||||
$fa-skype: "\f17e";
|
||||
$fa-vimeo-square: "\f194";
|
||||
$fa-slack: "\f198";
|
||||
$fa-openid: "\f19b";
|
||||
$fa-google: "\f1a0";
|
||||
$fa-reddit: "\f1a1";
|
||||
$fa-reddit-square: "\f1a2";
|
||||
$fa-git-square: "\f1d2";
|
||||
$fa-git: "\f1d3";
|
||||
$fa-paypal1: "\f1ee";
|
||||
$fa-cc-visa: "\f1f0";
|
||||
$fa-cc-mastercard: "\f1f1";
|
||||
$fa-whatsapp: "\f232";
|
||||
$fa-creative-commons1: "\f25f";
|
||||
$fa-amazon: "\f271";
|
||||
$fa-reddit-alien: "\f281";
|
||||
$fa-bluetooth: "\f295";
|
||||
$fa-bluetooth-b: "\f296";
|
||||
$fa-telegram: "\f2c6";
|
||||
$fa-app-store: "\f36f";
|
||||
$fa-app-store-ios: "\f370";
|
||||
$fa-bitcoin: "\f379";
|
||||
$fa-docker: "\f395";
|
||||
$fa-facebook-f: "\f39e";
|
||||
$fa-facebook-messenger: "\f39f";
|
||||
$fa-itunes: "\f3b4";
|
||||
$fa-itunes-note: "\f3b5";
|
||||
$fa-node-js: "\f3d3";
|
||||
$fa-python: "\f3e2";
|
||||
$fa-slack-hash: "\f3ef";
|
||||
$fa-telegram-plane: "\f3fe";
|
||||
$fa-vimeo: "\f40a";
|
||||
$fa-whatsapp-square: "\f40c";
|
||||
$fa-apple-pay: "\f415";
|
||||
$fa-cc-apple-pay: "\f416";
|
||||
$fa-ethereum: "\f42e";
|
||||
$fa-ebay: "\f4f4";
|
||||
$fa-fedora: "\f798";
|
||||
$fa-raspberry-pi: "\f7bb";
|
||||
$fa-redhat: "\f7bc";
|
||||
$fa-suse: "\f7d6";
|
||||
$fa-swift: "\f8e1";
|
||||
$fa-instagram-square: "\f955";
|
||||
$fa-wifi: "\f1eb";
|
||||
@@ -0,0 +1,36 @@
|
||||
.loading {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.loading:after {
|
||||
@extend .fa;
|
||||
-webkit-animation: loading 2s infinite linear;
|
||||
animation: loading 2s infinite linear;
|
||||
content: $fa-circle-o-notch;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
@-webkit-keyframes loading {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
/* PrismJS 1.20.0
|
||||
https://prismjs.com/download.html#themes=prism-tomorrow&languages=clike+bash+c+shell-session */
|
||||
/**
|
||||
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
|
||||
* Based on https://github.com/chriskempson/tomorrow-theme
|
||||
* @author Rose Pritchard
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: #ccc;
|
||||
background: none;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
font-size: 1em;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #2d2d2d;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.block-comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.token.tag,
|
||||
.token.attr-name,
|
||||
.token.namespace,
|
||||
.token.deleted {
|
||||
color: #e2777a;
|
||||
}
|
||||
|
||||
.token.function-name {
|
||||
color: #6196cc;
|
||||
}
|
||||
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.function {
|
||||
color: #f08d49;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.class-name,
|
||||
.token.constant,
|
||||
.token.symbol {
|
||||
color: #f8c555;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.important,
|
||||
.token.atrule,
|
||||
.token.keyword,
|
||||
.token.builtin {
|
||||
color: #cc99cd;
|
||||
}
|
||||
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.attr-value,
|
||||
.token.regex,
|
||||
.token.variable {
|
||||
color: #7ec699;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url {
|
||||
color: #67cdcc;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
.token.inserted {
|
||||
color: green;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
.shadow-hover:hover { box-shadow: $box-shadow; @include transition($transition-shadow); }
|
||||
.shadow-hover-sm:hover { box-shadow: $box-shadow-sm; @include transition($transition-shadow); }
|
||||
.shadow-hover-lg:hover { box-shadow: $box-shadow-lg; @include transition($transition-shadow); }
|
||||
@@ -0,0 +1,62 @@
|
||||
// website options
|
||||
|
||||
$navbar-height: 74px;
|
||||
|
||||
// bootstrap colors
|
||||
|
||||
$theme-colors: map-merge($theme-colors, (
|
||||
"primary": #005082,
|
||||
"secondary": #023e49,
|
||||
"success": $green,
|
||||
"info": #0a9197,
|
||||
"warning": #f7ae1a,
|
||||
"danger": #ab2333,
|
||||
"light": lighten(#2e3436, 75%),
|
||||
"dark": #2e3436
|
||||
));
|
||||
|
||||
// bootstrap options
|
||||
|
||||
$enable-shadows: false;
|
||||
$enable-gradients: false;
|
||||
$enable-responsive-font-sizes: false;
|
||||
$enable-print-styles: false;
|
||||
$enable-validation-icons: false;
|
||||
$enable-deprecation-messages: false;
|
||||
|
||||
$font-size-base: 1rem;
|
||||
$headings-margin-bottom: $spacer;
|
||||
|
||||
$breadcrumb-bg: transparent;
|
||||
$breadcrumb-margin-bottom: 0;
|
||||
|
||||
$jumbotron-bg: $gray-200;
|
||||
|
||||
$transition-shadow: box-shadow .5s ease-in-out !default;
|
||||
$transition-filter: filter .5s, opacity .5s !default;
|
||||
|
||||
// animate-sass options
|
||||
|
||||
$use-fade: true;
|
||||
$base-duration: 4s;
|
||||
|
||||
// fontawesome options
|
||||
|
||||
$fa-font-path: "../fonts";
|
||||
$fac-font-path: $fa-font-path;
|
||||
|
||||
$fa-font-size-base: 16px;
|
||||
$fa-font-display: block;
|
||||
$fa-css-prefix: fa;
|
||||
$fa-version: "5.13.1";
|
||||
$fa-border-color: #eee;
|
||||
$fa-inverse: #fff;
|
||||
$fa-li-width: 2em;
|
||||
$fa-fw-width: (20em / 16);
|
||||
$fa-primary-opacity: 1;
|
||||
$fa-secondary-opacity: .4;
|
||||
|
||||
// Convenience function used to set content property
|
||||
@function fa-content($fa-var) {
|
||||
@return unquote("\"#{ $fa-var }\"");
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
/** bootstrap core */
|
||||
@import "bootstrap/scss/_functions.scss";
|
||||
@import "bootstrap/scss/_variables.scss";
|
||||
@import "bootstrap/scss/_mixins.scss";
|
||||
|
||||
/** configuration */
|
||||
@import "_variables.scss";
|
||||
|
||||
/** bootstrap */
|
||||
@import "bootstrap/scss/_root.scss";
|
||||
@import "bootstrap/scss/_reboot.scss";
|
||||
@import "bootstrap/scss/_type.scss";
|
||||
@import "bootstrap/scss/_images.scss";
|
||||
//@import "bootstrap/scss/_code.scss";
|
||||
@import "bootstrap/scss/_grid.scss";
|
||||
@import "bootstrap/scss/_tables.scss";
|
||||
//@import "bootstrap/scss/_forms.scss";
|
||||
@import "bootstrap/scss/_buttons.scss";
|
||||
@import "bootstrap/scss/_transitions.scss";
|
||||
@import "bootstrap/scss/_dropdown.scss";
|
||||
@import "bootstrap/scss/_button-group.scss";
|
||||
//@import "bootstrap/scss/_input-group.scss";
|
||||
//@import "bootstrap/scss/_custom-forms.scss";
|
||||
@import "bootstrap/scss/_nav.scss";
|
||||
@import "bootstrap/scss/_navbar.scss";
|
||||
@import "bootstrap/scss/_card.scss";
|
||||
@import "bootstrap/scss/_breadcrumb.scss";
|
||||
@import "bootstrap/scss/_pagination.scss";
|
||||
@import "bootstrap/scss/_badge.scss";
|
||||
@import "bootstrap/scss/_jumbotron.scss";
|
||||
@import "bootstrap/scss/_alert.scss";
|
||||
//@import "bootstrap/scss/_progress.scss";
|
||||
//@import "bootstrap/scss/_media.scss";
|
||||
@import "bootstrap/scss/_list-group.scss";
|
||||
@import "bootstrap/scss/_close.scss";
|
||||
//@import "bootstrap/scss/_toasts.scss";
|
||||
//@import "bootstrap/scss/_modal.scss";
|
||||
//@import "bootstrap/scss/_tooltip.scss";
|
||||
//@import "bootstrap/scss/_popover.scss";
|
||||
//@import "bootstrap/scss/_carousel.scss";
|
||||
//@import "bootstrap/scss/_spinners.scss";
|
||||
@import "bootstrap/scss/_utilities.scss";
|
||||
//@import "bootstrap/scss/_print.scss";
|
||||
|
||||
/** customization */
|
||||
@import "_custom.scss";
|
||||
|
||||
/** fontawesome */
|
||||
@import "_fa-custom.scss";
|
||||
|
||||
//@import "@fortawesome/fontawesome-free/scss/_variables.scss";
|
||||
@import "@fortawesome/fontawesome-free/scss/_mixins.scss";
|
||||
@import "@fortawesome/fontawesome-free/scss/_core.scss";
|
||||
@import "@fortawesome/fontawesome-free/scss/_larger.scss";
|
||||
@import "@fortawesome/fontawesome-free/scss/_fixed-width.scss";
|
||||
//@import "@fortawesome/fontawesome-free/scss/_icons.scss";
|
||||
@import "@fortawesome/fontawesome-free/scss/_screen-reader.scss";
|
||||
//@import "@fortawesome/fontawesome-free/scss/solid.scss";
|
||||
//@import "@fortawesome/fontawesome-free/scss/brands.scss";
|
||||
|
||||
//@import "_loading.scss";
|
||||
@import "_shadows-hover.scss";
|
||||
|
||||
/** highlight.js theme */
|
||||
@import "_prism.scss";
|
||||
|
||||
/** animate css */
|
||||
@import "animate-sass/_animate.scss";
|
||||
@@ -0,0 +1,250 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2020 Martin Szulecki <martin.szulecki@libimobiledevice.org>
|
||||
|
||||
ECHO_BIN=echo
|
||||
CAT_BIN=cat
|
||||
MKDIR_BIN=mkdir
|
||||
RM_BIN=rm
|
||||
MV_BIN=mv
|
||||
WGET_BIN=wget
|
||||
CURL_BIN=curl
|
||||
GREP_BIN=grep
|
||||
WC_BIN=wc
|
||||
JQ_BIN=jq
|
||||
|
||||
if [[ $# -lt 1 ]];
|
||||
then
|
||||
$ECHO_BIN "Usage: `basename $0` ORGANIZATION [PATH]"
|
||||
$ECHO_BIN ""
|
||||
$ECHO_BIN "Downloads latest release JSON data for all repositories of ORGANIZATION to working directory or PATH if supplied."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GITHUB_API_URL="https://api.github.com"
|
||||
GITHUB_RAW_CONTENT_URL="https://raw.githubusercontent.com"
|
||||
|
||||
ORGANIZATION="${1}"
|
||||
DATA_PATH="${2:-data/github}/${ORGANIZATION}"
|
||||
|
||||
# Ensure path exists
|
||||
if [[ ! -d "${DATA_PATH}" ]];
|
||||
then
|
||||
$MKDIR_BIN \
|
||||
-p \
|
||||
"${DATA_PATH}"
|
||||
fi
|
||||
|
||||
# Check for API rate limit
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-L \
|
||||
-s \
|
||||
"${GITHUB_API_URL}/rate_limit" \
|
||||
| \
|
||||
$JQ_BIN \
|
||||
-r \
|
||||
'.rate | (.limit | tostring) + " " + (.remaining | tostring) + " " + (.reset | tostring)' \
|
||||
)
|
||||
|
||||
LIMITS=( ${RESULT} )
|
||||
|
||||
# Check rate limits
|
||||
if [[ "${LIMITS[1]}" -lt 1 ]];
|
||||
then
|
||||
DATE_TS="@${LIMITS[2]}"
|
||||
$ECHO_BIN "ERROR: Hit rate limit (${LIMITS[1]}/${LIMITS[0]}) of API. Next requests possible at $(date --date="${DATE_TS}")."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$ECHO_BIN "Downloading github data..."
|
||||
|
||||
# Retrieve all repos of organization
|
||||
DATA_FILENAME="${DATA_PATH}/repos.json"
|
||||
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-L \
|
||||
-s \
|
||||
"${GITHUB_API_URL}/orgs/${ORGANIZATION}/repos" \
|
||||
)
|
||||
|
||||
# Only process non-empty results
|
||||
if [[ -z "${RESULT// }" ]];
|
||||
then
|
||||
$ECHO_BIN "ERROR: Empty result when trying to get repositories for \"${ORGANIZATION}\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# FIXME: Ensure we do not use an error result
|
||||
$ECHO_BIN "${RESULT}" > "${DATA_FILENAME}"
|
||||
$ECHO_BIN "${DATA_FILENAME}"
|
||||
|
||||
# Retrieve all members of organization
|
||||
DATA_FILENAME="${DATA_PATH}/members.json"
|
||||
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-L \
|
||||
-s \
|
||||
"${GITHUB_API_URL}/orgs/${ORGANIZATION}/members" \
|
||||
)
|
||||
|
||||
# Only process non-empty results
|
||||
if [[ -z "${RESULT// }" ]];
|
||||
then
|
||||
$ECHO_BIN "ERROR: Empty result when trying to get members ofr \"${ORGANIZATION}\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# FIXME: Ensure we do not use an error result
|
||||
$ECHO_BIN "${RESULT}" > "${DATA_FILENAME}"
|
||||
|
||||
# Get list of user URLs
|
||||
# Assemble list of repo releases URLs
|
||||
USER_API_URLS=$(\
|
||||
$ECHO_BIN \
|
||||
"${RESULT}" \
|
||||
| \
|
||||
$JQ_BIN \
|
||||
-r \
|
||||
'.[] | .url' \
|
||||
)
|
||||
|
||||
# Count number of users
|
||||
USER_API_URLS_COUNT=$($ECHO_BIN "$USER_API_URLS" | $WC_BIN -l)
|
||||
|
||||
# Check rate limits
|
||||
if [[ "${LIMITS[1]}" -lt "${USER_API_URLS_COUNT}" ]];
|
||||
then
|
||||
DATE_TS="@""${LIMITS[2]}"
|
||||
$ECHO_BIN "ERROR: Hit rate limit (${LIMITS[1]}/${LIMITS[0]}) of API. Next requests possible at `date --date=\"${DATE_TS}\"`."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Retrieve data for each user
|
||||
for USER_API in ${USER_API_URLS};
|
||||
do
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-s \
|
||||
-f \
|
||||
"${USER_API}" \
|
||||
)
|
||||
|
||||
# Only process non-empty results
|
||||
if [[ -n "${RESULT// }" ]];
|
||||
then
|
||||
# FIXME: Ensure we do not use an error result
|
||||
|
||||
# Merge user object into member array
|
||||
$ECHO_BIN \
|
||||
"${RESULT}" \
|
||||
| \
|
||||
$JQ_BIN \
|
||||
--slurpfile members "${DATA_FILENAME}" \
|
||||
'[[(. , $members[][])] | group_by(.id)[] | add]' \
|
||||
> "${DATA_FILENAME}.tmp"
|
||||
|
||||
# Rename temporary file as new data file
|
||||
$MV_BIN \
|
||||
"${DATA_FILENAME}.tmp" \
|
||||
"${DATA_FILENAME}"
|
||||
fi
|
||||
done
|
||||
|
||||
$ECHO_BIN "${DATA_FILENAME}"
|
||||
|
||||
# Assemble list of repo releases URLs
|
||||
REPOS=$(\
|
||||
$CAT_BIN \
|
||||
"${DATA_PATH}/repos.json" \
|
||||
| \
|
||||
$JQ_BIN \
|
||||
-r \
|
||||
'.[] | .name + "," + .releases_url' \
|
||||
)
|
||||
|
||||
# Count number of repos
|
||||
REPOS_COUNT=$($ECHO_BIN "$REPOS" | $WC_BIN -l)
|
||||
|
||||
# Check rate limits
|
||||
if [[ "${LIMITS[1]}" -lt "${REPOS_COUNT}" ]];
|
||||
then
|
||||
DATE_TS="@""${LIMITS[2]}"
|
||||
$ECHO_BIN "ERROR: Hit rate limit (${LIMITS[1]}/${LIMITS[0]}) of API. Next requests possible at `date --date=\"${DATE_TS}\"`."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Retrieve latest release for each repo
|
||||
for RELEASE in ${REPOS};
|
||||
do
|
||||
REPO_NAME="${RELEASE//,*}"
|
||||
RELEASE_URL="${RELEASE##*,}"
|
||||
|
||||
DATA_FILENAME="${DATA_PATH}/${REPO_NAME}/releases/latest.json"
|
||||
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-s \
|
||||
-f \
|
||||
"${DATA_FILENAME}" \
|
||||
"${RELEASE_URL//\{\/id\}/\/latest}" \
|
||||
)
|
||||
|
||||
# Only process non-empty results
|
||||
if [[ -n "${RESULT// }" ]];
|
||||
then
|
||||
# FIXME: Ensure we do not use an error result
|
||||
|
||||
# Ensure path exists
|
||||
if [[ ! -d "${DATA_FILENAME%/*}" ]];
|
||||
then
|
||||
$MKDIR_BIN \
|
||||
-p \
|
||||
"${DATA_FILENAME%/*}"
|
||||
fi
|
||||
|
||||
# Remove homepage link from release notes
|
||||
$ECHO_BIN "${RESULT//\[Homepage\]\(https:\/\/libimobiledevice.org\/\)/}" > "${DATA_FILENAME}"
|
||||
RELEASE_NAME=$($JQ_BIN -r '.name' "${DATA_FILENAME}")
|
||||
|
||||
DEPENDENCIES_FILENAME="${DATA_PATH}/${REPO_NAME}/dependencies.json"
|
||||
|
||||
# Scrape dependencies
|
||||
RESULT=$(\
|
||||
$CURL_BIN \
|
||||
-s \
|
||||
-f \
|
||||
"${GITHUB_RAW_CONTENT_URL}/${ORGANIZATION}/${REPO_NAME}/${RELEASE_NAME}/configure.ac" \
|
||||
| \
|
||||
$GREP_BIN \
|
||||
-Po \
|
||||
'(?<=PKG_CHECK_MODULES\()([^, ]*)' \
|
||||
)
|
||||
|
||||
if [[ -n "${RESULT}" ]];
|
||||
then
|
||||
DEPENDENCIES=$($ECHO_BIN "$RESULT" | xargs)
|
||||
$ECHO_BIN \
|
||||
"${RESULT}" \
|
||||
| \
|
||||
$JQ_BIN \
|
||||
--raw-input \
|
||||
--slurp \
|
||||
'split("\n") | map(select(. != ""))' \
|
||||
> "${DEPENDENCIES_FILENAME}"
|
||||
else
|
||||
DEPENDENCIES=
|
||||
$ECHO_BIN "[]" > "${DEPENDENCIES_FILENAME}"
|
||||
fi
|
||||
|
||||
$ECHO_BIN "${DEPENDENCIES_FILENAME}"
|
||||
|
||||
$ECHO_BIN "${DATA_FILENAME} ${REPO_NAME} ${RELEASE_NAME} ${DEPENDENCIES}"
|
||||
else
|
||||
RELEASE_NAME=
|
||||
fi
|
||||
done
|
||||
|
||||
$ECHO_BIN "Done!"
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "libimobiledevice/libimobiledevice.github.io",
|
||||
"description": "Official libimobiledevice website sources",
|
||||
"keywords": [
|
||||
"libimobiledevice",
|
||||
"website",
|
||||
"static-site",
|
||||
"markdown",
|
||||
"twig"
|
||||
],
|
||||
"homepage": "https://libimobiledevice.org",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"type": "project",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Martin Szulecki",
|
||||
"email": "martin.szulecki@libimobiledevice.org",
|
||||
"homepage": "https://libimobiledevice.org",
|
||||
"role": "Maintainer"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/libimobiledevice/libimobiledevice.github.io",
|
||||
"issues": "https://github.com/libimobiledevice/libimobiledevice.github.io/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"yarn-install": [
|
||||
"if [ ! -f ./yarn.lock ]; then yarn --silent install; else yarn --silent upgrade; fi"
|
||||
],
|
||||
"yarn-build": [
|
||||
"yarn --silent build:${PROJECT_ENVIRONMENT:-development}"
|
||||
],
|
||||
"build": [
|
||||
"cecil build"
|
||||
],
|
||||
"watch": [
|
||||
"cecil serve"
|
||||
],
|
||||
"post-install-cmd": [
|
||||
],
|
||||
"post-update-cmd": [
|
||||
]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"ext-intl": "*",
|
||||
"ext-gettext": "*",
|
||||
"cecil/cecil": "^5.33.0",
|
||||
"yosymfony/resource-watcher": "3.0.0 as 2.0.1",
|
||||
"twig/extensions": "^1.5"
|
||||
},
|
||||
"require-dev": {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
title: "libimobiledevice"
|
||||
baseline: "A cross-platform FOSS library written in C to communicate with iOS devices natively."
|
||||
baseurl: http://localhost:8000/
|
||||
description: "libimobiledevice is a software library that talks the protocols to support iPhone, iPod Touch, iPad and Apple TV devices running iOS on Linux without the need for jailbreaking."
|
||||
keywords: "Linux, iOS, iPhone, iPod Touch, iPad, iPad mini, Apple TV, iTunes, development, library, afc, lockdownd, libplist, installation_proxy, usbmux, plist, libirecovery, idevicerestore, iTunesCDB, tethering, backup, restore, C/C++, instruments, MDM, mobileconfig, provisioning, FOSS"
|
||||
image: img/brand/brand-ontop-gradient-alpha.png
|
||||
canonicalurl: false
|
||||
googleanalytics: false
|
||||
twitter:
|
||||
username: libimobiledev
|
||||
language: en
|
||||
languages:
|
||||
- code: en
|
||||
name: English
|
||||
locale: en_US
|
||||
- code: de
|
||||
name: German
|
||||
locale: de_DE
|
||||
date:
|
||||
format: "j F Y H:i"
|
||||
timezone: Europe/Berlin
|
||||
author:
|
||||
name: Mirell Development
|
||||
url: https://mirell.com
|
||||
output:
|
||||
dir: public
|
||||
formats:
|
||||
- name: html
|
||||
mediatype: "text/html"
|
||||
suffix: "/index"
|
||||
extension: "html"
|
||||
exclude: [exclude]
|
||||
static:
|
||||
dir: assets
|
||||
exclude:
|
||||
- '*.scss'
|
||||
- '*.html'
|
||||
- '/^scss/'
|
||||
- 'animate.*'
|
||||
- 'bootstrap.js*'
|
||||
- 'bootstrap.min.*'
|
||||
- 'fa-regular*'
|
||||
- 'prism.js'
|
||||
- 'jquery-*'
|
||||
- 'jquery.waypoints*'
|
||||
- 'jquery.back-to-top*'
|
||||
- '*.src.*'
|
||||
load: true
|
||||
assets:
|
||||
fingerprint:
|
||||
enabled: false
|
||||
compile:
|
||||
enabled: true
|
||||
style: expanded
|
||||
import:
|
||||
0: ../node_modules
|
||||
1: scss
|
||||
minify:
|
||||
enabled: false
|
||||
node:
|
||||
dir: ../node_modules
|
||||
postprocess:
|
||||
enabled: true
|
||||
html:
|
||||
ext: [html, htm]
|
||||
enabled: false
|
||||
css:
|
||||
ext: [css]
|
||||
js:
|
||||
ext: [js]
|
||||
images:
|
||||
ext: [jpeg, jpg, png, gif, webp, svg]
|
||||
menus:
|
||||
main:
|
||||
- id: download
|
||||
name: Download
|
||||
url: "#downloads"
|
||||
weight: 3
|
||||
- id: community
|
||||
name: Community
|
||||
url: "#community"
|
||||
weight: 8
|
||||
- id: faq
|
||||
name: FAQ
|
||||
url: "#faq"
|
||||
weight: 8
|
||||
paths:
|
||||
- section: news
|
||||
path: :section/:year/:month/:day/:slug
|
||||
pagination:
|
||||
max: 3
|
||||
path: page
|
||||
@@ -0,0 +1,92 @@
|
||||
title: "libimobiledevice"
|
||||
baseline: "A cross-platform FOSS library written in C to communicate with iOS devices natively."
|
||||
baseurl: https://libimobiledevice.github.io/
|
||||
description: "libimobiledevice is a software library that talks the protocols to support iPhone, iPod Touch, iPad and Apple TV devices running iOS on Linux without the need for jailbreaking."
|
||||
keywords: "Linux, iOS, iPhone, iPod Touch, iPad, iPad mini, Apple TV, iTunes, development, library, afc, lockdownd, libplist, installation_proxy, usbmux, plist, libirecovery, idevicerestore, iTunesCDB, tethering, backup, restore, C/C++, instruments, MDM, mobileconfig, provisioning, FOSS"
|
||||
image: img/brand/brand-ontop-gradient-alpha.png
|
||||
canonicalurl: true
|
||||
googleanalytics: "UA-4831747-7"
|
||||
twitter:
|
||||
username: libimobiledev
|
||||
language: en
|
||||
languages:
|
||||
- code: en
|
||||
name: English
|
||||
locale: en_US
|
||||
- code: de
|
||||
name: German
|
||||
locale: de_DE
|
||||
date:
|
||||
format: "j F Y H:i"
|
||||
timezone: Europe/Berlin
|
||||
author:
|
||||
name: Mirell Development
|
||||
url: https://mirell.com
|
||||
output:
|
||||
dir: public
|
||||
formats:
|
||||
- name: html
|
||||
mediatype: "text/html"
|
||||
suffix: "/index"
|
||||
extension: "html"
|
||||
exclude: [exclude]
|
||||
static:
|
||||
dir: assets
|
||||
exclude:
|
||||
- '*.scss'
|
||||
- '*.html'
|
||||
- '/^scss/'
|
||||
- 'animate.*'
|
||||
- 'bootstrap.js*'
|
||||
- 'bootstrap.min.*'
|
||||
- 'fa-regular*'
|
||||
- 'prism.js'
|
||||
- 'jquery-*'
|
||||
- 'jquery.waypoints*'
|
||||
- 'jquery.back-to-top*'
|
||||
- '*.src.*'
|
||||
load: true
|
||||
assets:
|
||||
fingerprint:
|
||||
enabled: true
|
||||
compile:
|
||||
enabled: true
|
||||
style: crunched
|
||||
import:
|
||||
0: ../node_modules
|
||||
1: scss
|
||||
minify:
|
||||
enabled: true
|
||||
node:
|
||||
dir: ../node_modules
|
||||
postprocess:
|
||||
enabled: true
|
||||
html:
|
||||
ext: [html, htm]
|
||||
enabled: false
|
||||
css:
|
||||
ext: [css]
|
||||
js:
|
||||
ext: [js]
|
||||
images:
|
||||
ext: [jpeg, jpg, png, gif, webp, svg]
|
||||
menus:
|
||||
main:
|
||||
- id: download
|
||||
name: Download
|
||||
url: "#downloads"
|
||||
weight: 3
|
||||
- id: community
|
||||
name: Community
|
||||
url: "#community"
|
||||
weight: 8
|
||||
- id: faq
|
||||
name: FAQ
|
||||
url: "#faq"
|
||||
weight: 8
|
||||
paths:
|
||||
- section: news
|
||||
path: :section/:year/:month/:day/:slug
|
||||
pagination:
|
||||
max: 3
|
||||
path: page
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "footer"
|
||||
exclude: true
|
||||
---
|
||||
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPadOS, tvOS, watchOS, and macOS are trademarks of [Apple Inc](https://apple.com).
|
||||
This project is an independent software solution and has not been authorized, sponsored or otherwise approved by Apple Inc. The library has not been sponsored by and is not affilated with [Ubuntu](https://ubuntu.com) or [Canonical Ltd](https://canonical.com).
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: Home
|
||||
---
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
title: Markdown Example
|
||||
published: false
|
||||
menu:
|
||||
resources:
|
||||
weight: 1
|
||||
---
|
||||
Text can be **bold**, _italic_, or ~~strikethrough~~.
|
||||
|
||||
[Link to another page](another-page.md).
|
||||
|
||||
There should be whitespace between paragraphs.
|
||||
|
||||
# Header 1
|
||||
|
||||
This is a normal paragraph following a header.
|
||||
|
||||
## Header 2
|
||||
|
||||
> This is a blockquote following a header.
|
||||
>
|
||||
> When something is important enough, you do it even if the odds are not in your favor.
|
||||
|
||||
### Header 3
|
||||
|
||||
```c
|
||||
...
|
||||
#include <libimobiledevice/libimobiledevice.h>
|
||||
|
||||
/* Unique Device Identifier */
|
||||
static char *udid = NULL;
|
||||
|
||||
/* Device Handle */
|
||||
idevice_t device = NULL;
|
||||
|
||||
/* Try to connect to first USB device */
|
||||
if (idevice_new_with_options(&device, NULL, IDEVICE_LOOKUP_USBMUX) != IDEVICE_E_SUCCESS) {
|
||||
printf("ERROR: No device found!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Retrieve the udid of the connected device */
|
||||
if (idevice_get_udid(device, &udid) != IDEVICE_E_SUCCESS) {
|
||||
printf("ERROR: Unable to get the device UDID.\n");
|
||||
idevice_free(device);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Outputs device identifier */
|
||||
printf("Connected with UDID: %s\n", udid);
|
||||
|
||||
/* Cleanup */
|
||||
idevice_free(device);
|
||||
free(udid);
|
||||
...
|
||||
```
|
||||
|
||||
#### Header 4
|
||||
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
|
||||
##### Header 5
|
||||
|
||||
1. This is an ordered list following a header.
|
||||
2. This is an ordered list following a header.
|
||||
3. This is an ordered list following a header.
|
||||
|
||||
###### Header 6
|
||||
|
||||
| head1 | head two | three |
|
||||
|:-------------|:------------------|:------|
|
||||
| ok | good swedish fish | nice |
|
||||
| out of stock | good and plenty | nice |
|
||||
| ok | good `oreos` | hmm |
|
||||
| ok | good `zoute` drop | yumm |
|
||||
|
||||
### There's a horizontal rule below this.
|
||||
|
||||
* * *
|
||||
|
||||
### Here is an unordered list:
|
||||
|
||||
* Item foo
|
||||
* Item bar
|
||||
* Item baz
|
||||
* Item zip
|
||||
|
||||
### And an ordered list:
|
||||
|
||||
1. Item one
|
||||
1. Item two
|
||||
1. Item three
|
||||
1. Item four
|
||||
|
||||
### And a nested list:
|
||||
|
||||
- level 1 item
|
||||
- level 2 item
|
||||
- level 2 item
|
||||
- level 3 item
|
||||
- level 3 item
|
||||
- level 1 item
|
||||
- level 2 item
|
||||
- level 2 item
|
||||
- level 2 item
|
||||
- level 1 item
|
||||
- level 2 item
|
||||
- level 2 item
|
||||
- level 1 item
|
||||
|
||||
### Small image
|
||||
|
||||

|
||||
|
||||
### Large image
|
||||
|
||||

|
||||
|
||||
|
||||
### Definition lists can be used with HTML syntax.
|
||||
|
||||
<dl>
|
||||
<dt>Name</dt>
|
||||
<dd>Godzilla</dd>
|
||||
<dt>Born</dt>
|
||||
<dd>1952</dd>
|
||||
<dt>Birthplace</dt>
|
||||
<dd>Japan</dd>
|
||||
<dt>Color</dt>
|
||||
<dd>Green</dd>
|
||||
</dl>
|
||||
|
||||
```
|
||||
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
```
|
||||
|
||||
```
|
||||
The final element.
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: libplist 2.0.0
|
||||
date: 2017-04-26 20:00 CEST
|
||||
author: https://github.com/nikias
|
||||
---
|
||||
[libplist 2.0.0](/#download-libplist) has been released.
|
||||
<!-- excerpt -->
|
||||
The release features a completely new parser, dropped libxml2 dependency, various improvements, bugfixes and many security fixes.
|
||||
More releases coming up.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: iOS 13 Support
|
||||
date: 2020-06-14 20:00 CEST
|
||||
author: https://github.com/FunkyM
|
||||
---
|
||||
|
||||
Yep, libimobiledevice works with iOS 13.
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Release Galore
|
||||
date: 2020-06-15 20:00 CEST
|
||||
author: https://github.com/FunkyM
|
||||
image: img/news/release-galore-github.png
|
||||
---
|
||||
Proud to announce long standing releases with first time releases of [libirecovery](/#download-libirecovery) and [idevicerestore](/#download-libirecovery).
|
||||
Bear with us for some cool stuff coming up next.
|
||||
<!-- excerpt -->
|
||||
Please find the latest source archives in our [download section](/#downloads) alongside release information.
|
||||
|
||||
This release round included:
|
||||
|
||||
* **libirecovery** 1.0.0
|
||||
* **libplist** 2.2.0
|
||||
* **libusbmuxd** 2.0.2
|
||||
* **libimobiledevice** 1.3.0
|
||||
* **usbmuxd** 1.1.1
|
||||
* **libideviceactivation** 1.1.1
|
||||
* **ideviceinstaller** 1.1.1
|
||||
* **idevicerestore** 1.0.0
|
||||
* **ifuse** 1.1.4.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Fresh Documentation
|
||||
date: 2020-06-16 20:00 CEST
|
||||
author: https://github.com/FunkyM
|
||||
image: img/news/new-api-css.png
|
||||
---
|
||||
The [API Documentation](https://libimobiledevice.org/docs/libimobiledevice/latest) for libimobiledevice has been updated.
|
||||
A refresh of this website is planned next.
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: New Logo and Website
|
||||
date: 2020-06-26 00:10 CEST
|
||||
author: https://github.com/FunkyM
|
||||
image: img/news/new-website-launch.png
|
||||
---
|
||||
Welcome to our new project website! Finally the old paint is gone and a new state of art modern look is here.
|
||||
<!-- excerpt -->
|
||||
The website has been overhauled due to popular demand. **We really needed a refresh.**
|
||||
In that process upfront I decided to go for a *full rebranding of the project*, too.
|
||||
|
||||
Looking at the results I think it was worth the wait. The new colorful isometric logo that relates to the letters *"L"* and *"i"* alongside the flow of colors which symbolizes the "flow of communication and related components" should hopefully hit the spot of what the project stands for.
|
||||
|
||||

|
||||
|
||||
The next milestone is to integrate this page to be hosted using [Github Pages](https://pages.github.com).
|
||||
This should allow contributions for all content by the community!
|
||||
Looks like we arrived in the *"static website generator era"*.
|
||||
|
||||
I really hope you guys enjoy the effort and there is much more coming in the next weeks!
|
||||
|
||||
<small>P.S.: Just want to congratulate [Inkscape to their fantastic 1.0 release](https://inkscape.org). That helped all the way in our process so, "All your base are belong to us"!</small>
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: News
|
||||
menu:
|
||||
main:
|
||||
weight: 2
|
||||
sortby: date
|
||||
pagination:
|
||||
max: 3
|
||||
path: page
|
||||
---
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: "Privacy Policy"
|
||||
published: false
|
||||
menu:
|
||||
footer:
|
||||
weight: 3
|
||||
---
|
||||
*Effective as of: Jun 25, 2020*
|
||||
|
||||
The libimobildevice authors (“libimobildevice” or the “Project”) is committed to protecting the privacy of your information. We provide this Privacy Policy to inform users of our policies and procedures regarding the collection, use and disclosure of personal information received from users of our website (the “Website”) collected via the Website, email, SMS, telephone, WAP or other means. This Privacy Policy may be updated from time to time for any reason, at our sole discretion. We will notify you of any material changes to our Privacy Policy by posting the new Privacy Policy on our Website. You are advised to consult this Privacy Policy regularly for any changes. By using or accessing the Website, you are accepting the practices described in this Privacy Policy, and you are consenting to our processing of your information as set forth in this Privacy Policy now and as amended by us.
|
||||
|
||||
If you have any questions or comments about this Privacy Policy or our use of your personally identifiable information, please contact us at [privacy@libimobiledevice.org](mailto:privacy@libimobiledevice.org).
|
||||
|
||||
## Website Covered
|
||||
|
||||
This Privacy Policy covers the information practices of libimobiledevice.org and all of its respective sub-domains.
|
||||
|
||||
## Information Collected
|
||||
|
||||
libimobildevice offers a variety of services that are collectively referred to as the “Services.” libimobildevice collects information from individuals who visit the Project’s Website (“Visitors”) and individuals who register to use the Services (“Customers”). When expressing an interest in obtaining additional information about the Services or registering to use the Services, libimobildevice may require you to provide the Project with personal contact information, such as name, company name, address, phone number, and email address (“Required Contact Information”). When purchasing the Services, libimobildevice may require you to provide the Project with financial qualification and billing information, such as billing name and address, credit card number, and the number of employees within the organization that will be using the Services (“Billing Information”). libimobildevice may also ask you to provide additional information, such as company annual revenues, number of employees, or industry (“Optional Information”). Required Contact Information, Billing Information, and Optional Information are referred to collectively as “Data About libimobildevice Customers.” As you navigate the Project’s Website, libimobildevice may also collect information through the use of commonly-used information-gathering tools, such as cookies and Web beacons (“Website Navigational Information”). Website Navigational Information includes standard information from your Web browser (such as browser type and browser language), your Internet Protocol (“IP”) address, and the actions you take on the Project’s Website (such as the Web pages viewed and the links clicked). By choosing to provide any information to libimobildevice, you are giving the Project permission to use and store such information consistent with this privacy policy. The Project also collects and uses personal data regarding its employees (“Employee Data”), which may include: name, address, job title and other job information, location, compensation information, identification number, employment history, and copy of employment agreement.
|
||||
|
||||
## Use of Information Collected
|
||||
|
||||
The Project uses Data About libimobildevice Customers to perform the services requested. The Project may also use Data About libimobildevice Customers for marketing purposes. For example, the Project may use information you provide to contact you to further discuss your interest in the Services and to send you information regarding the Project and its partners, such as information about promotions or events. libimobildevice uses credit card information solely to check the financial qualifications of prospective Customers and to collect payment for the Services. libimobildevice uses Website Navigational Information to operate and improve the Project’s Website. The Project may also use Website Navigational Information alone or in combination with Data About libimobildevice Customers to provide personalized information about the Project. Employee Data is only used for the for the purposes of facilitating the performance of certain administrative tasks and functions relating to general employment and for processing and investigating reports under the Project’s codes and policies (“Employee Data Purposes”).
|
||||
|
||||
## Website Navigational Information
|
||||
|
||||
libimobildevice may use commonly-used information-gathering tools, such as cookies and Web beacons, to collect information as you navigate the Project’s Website (“Website Navigational Information”). This section describes the types of Website Navigational Information that may be collected on the Project’s Website and how this information may be used.
|
||||
|
||||
### Cookies
|
||||
|
||||
libimobildevice may use cookies to make interactions with the Project’s Website easy and meaningful. When you visit the Project’s Website, libimobildevice’s servers send a cookie to your computer. Standing alone, cookies do not personally identify you. They merely recognize your Web browser. Unless you choose to identify yourself to libimobildevice, either by responding to a promotional offer, opening an account, or filling out a Web form, you remain anonymous to the Project. libimobildevice uses cookies that are session-based and persistent-based. Session cookies exist only during one session. They disappear from your computer when you close your browser software or turn off your computer. Persistent cookies remain on your computer after you close your browser or turn off your computer. If you have chosen to identify yourself to libimobildevice, the Project uses session cookies containing encrypted information to allow the Project to uniquely identify you. Each time you log into the Services, a session cookie containing an encrypted, unique identifier that is tied to your account is placed on your browser. These session cookies allow the Project to uniquely identify you when you are logged into the Services and to process your online transactions and requests. Session cookies are required to use the Services. libimobildevice may use persistent cookies that only the Project can read and use to identify browsers that have previously visited the Project’s Website. When you purchase the Services or provide the Project with personal information, a unique identifier is assigned to you. This unique identifier is associated with a persistent cookie that the Project places on your Web browser. The Project is especially careful about the security and confidentiality of the information stored in persistent cookies. For example, the Project does not store account numbers or passwords in persistent cookies. You may refuse to accept cookies by activating the setting on your browser which allows you to refuse the setting of cookies. If you disable your Web browser’s ability to accept cookies, you will be able to navigate the Project’s Website, but you will not be able to successfully use the Services. Unless you have adjusted your browser setting so that it will refuse cookies, our system will issue cookies when you log on to our site. libimobildevice may use information from session and persistent cookies in combination with Data About libimobildevice Customers to provide you with information about the Project and the Services.
|
||||
|
||||
### Web Beacons
|
||||
|
||||
libimobildevice may use Web beacons alone or in conjunction with cookies to compile information about Customers and Visitors’ usage of the Project’s Website and interaction with emails from the Project. Web beacons are clear electronic images that can recognize certain types of information on your computer, such as cookies, when you viewed a particular Website tied to the Web beacon, and a description of a Website tied to the Web beacon. For example, libimobildevice may place Web beacons in marketing emails that notify the Project when you click on a link in the email that directs you to one of the Project’s Website. libimobildevice uses Web beacons to operate and improve the Project’s Website and email communications. libimobildevice may use information from Web beacons in combination with Data About libimobildevice Customers to provide you with information about the Project and the Services.
|
||||
|
||||
### Flash Cookies
|
||||
|
||||
libimobildevice may use local shared objects, also known as Flash cookies, to store your preferences or display content based upon what you view on our site to personalize your visit. Third parties, with whom the Project partners to provide certain features on our site or to display advertising based upon your Web browsing activity, use Flash cookies to collect and store information. Flash cookies are different from browser cookies because of the amount of, type of, and how data is stored. Cookie management tools provided by your browser will not remove Flash cookies.
|
||||
|
||||
### IP Addresses
|
||||
|
||||
When you visit libimobildevice’s Website, the Project may collect your Internet Protocol (“IP”) addresses to track and aggregate non-personal information. For example, libimobildevice may use IP addresses to monitor the regions from which Customers and Visitors navigate the Project’s Website.
|
||||
|
||||
### Third Party Cookies
|
||||
|
||||
From time-to-time, libimobildevice may engage third parties to track and analyze usage and volume statistical information from individuals who visit the Project’s Website. libimobildevice may also use other third-party cookies to track the performance of Project advertisements. The information provided to third parties does not include personal information, but this information may be re-associated with personal information after the Project receives it. libimobildevice may also contract with third-party advertising networks that collect IP addresses and other Website Navigational Information on the Project’s Website and emails and on third-party Websites. Ad networks follow your online activities over time by collecting Website Navigational Information through automated means, including through the use of cookies. They use this information to provide advertisements about products and services tailored to your interests. You may see these advertisements on other Websites. This process also helps us manage and track the effectiveness of our marketing efforts.
|
||||
|
||||
## Public Forums, Refer a Friend, and Customer Testimonials
|
||||
|
||||
libimobildevice may provide bulletin boards, blogs, or chat rooms on the Project’s Website. Any personal information you choose to submit in such a forum may be read, collected, or used by others who visit these forums, and may be used to send you unsolicited messages. libimobildevice is not responsible for the personal information you choose to submit in these forums. Customers and Visitors may elect to use the Project’s referral program to inform friends about the Project’s Website. When using the referral program, the Project requests the friend’s name and email address. libimobildevice will automatically send the friend a one-time email inviting him or her to visit the Project’s Website. libimobildevice does not store this information. libimobildevice may post a list of Customers and testimonials on the Project’s Website that contain information such as Customer names and titles. libimobildevice obtains the consent of each Customer prior to posting any information on such a list or posting testimonials.
|
||||
|
||||
## Sharing of Information Collected
|
||||
|
||||
libimobildevice may share Data About libimobildevice Customers with the Project’s service providers so that these service providers can contact Customers and Visitors who have provided contact information on our behalf. libimobildevice may also share Data About libimobildevice Customers with the Project’s service providers to ensure the quality of information provided. Unless described in this Privacy Policy, libimobildevice does not share, sell, rent, or trade any information provided with third parties for their promotional purposes. From time to time, libimobildevice may partner with other companies to jointly offer products or services. If you purchase or specifically express interest in a jointly-offered product or service from libimobildevice, the Project may share Data About libimobildevice Customers collected in connection with your purchase or expression of interest with our joint promotion partner(s), once libimobildevice has notified you of the information to be shared and obtained your consent to the sharing of the information. libimobildevice does not control our business partners’ use of the Data About libimobildevice Customers we collect, and their use of the information will be in accordance with their own privacy policies. libimobildevice may use third-party service providers to manage credit card processing. Such service providers will not be permitted to store, retain, or use Billing Information except for the sole purpose of credit card processing on the Project’s behalf. libimobildevice reserves the right to use or disclose information provided if required by law or if the Project reasonably believes that use or disclosure is necessary to protect the Project’s rights and/or to comply with a judicial proceeding, court order, or legal process. Employee Data is only disclosed to third parties for the Employee Data Purposes. In no case does the Project disclose to third parties Employee Data for any incompatible purpose without first notifying the data subject and providing the data subject with an opportunity to affirmatively opt-out or object to such use or disclosure.
|
||||
|
||||
## Users from outside the United States
|
||||
|
||||
libimobildevice and its Services are based in the U.S., and the Project’s offices are headquartered in the U.S. Please be aware that information you provide to libimobildevice that it obtains as a result of your use of the Services may be processed and transferred to the U.S. and be subject to U.S. law. This information may also be processed by staff working for the Project or for one of its suppliers in the U.S. By using the Website, participating in any of the Services, or by providing libimobildevice with your information, you consent to this collection, transfer, storage, and processing of information to and in the U.S. libimobildevice will take all steps reasonably necessary to ensure that your data is treated securely in accordance with this privacy policy.
|
||||
|
||||
## Communications Preferences; Opt In Policy
|
||||
|
||||
libimobildevice offers Customers and Visitors who provide contact information a means to choose how the Project uses the information provided. You may manage your receipt of marketing and non-transactional communications by clicking on the “unsubscribe” link located on the bottom of the Project’s marketing emails. Additionally, you may send a request specifying your communications preferences to [privacy@libimobiledevice.org](mailto:privacy@libimobiledevice.org). If, at any time after registering, you change your mind about receiving information from us or about the use of information volunteered by you, please send us a request specifying your new choice. Please contact us as specified herein.
|
||||
|
||||
## Correcting and Updating Your Information
|
||||
|
||||
Customers may view, update or change their registration information by logging in to their accounts at libimobiledevice.org. Requests to access, change, or delete your information will be handled within 30 days.
|
||||
|
||||
## Security
|
||||
|
||||
libimobildevice uses appropriate administrative, technical, and physical security measures to protect Data About libimobildevice Customers. However, we cannot guarantee that hackers or unauthorized personnel will not gain access to your personal information despite our efforts. You should note that in using the Website and our related services, your information will travel through third party infrastructures which are not under our control. We cannot protect, nor does this Privacy Policy apply to, any information that you transmit to other users of the Website. You should never transmit personal or identifying information to other users.
|
||||
|
||||
## Change of Control
|
||||
|
||||
As libimobildevice develops its business, it may buy or sell assets or business offerings. Data About libimobildevice Customers is generally one of the transferred business assets in these types of transactions. libimobildevice may also transfer such information in the course of corporate divestitures, mergers, or dissolution.
|
||||
|
||||
## Contacting Us
|
||||
|
||||
Questions regarding this Privacy Policy or the information practices of the Website should be directed to [privacy@libimobiledevice.org](mailto:privacy@libimobiledevice.org) or by mailing Mirell Development c/o libimobildevice.org, Kronprinzenstr. 119, 40217 Düsseldorf, Germany.
|
||||
|
||||
## Events
|
||||
|
||||
The As part of the registration process for events hosted by libimobildevice authors which you register to attend, we may request personal data such as: your name, address, email address and country, and details relevant to your occupation or employer and familiarity with libimobildevice products. This information is required to process your registration for the event and to The provide you with relevant event materials. This data may be shared with event sponsors contracted with libimobildevice authors under the terms of the event and our Privacy Policy. If you show an interest in a sponsor at an event hosted by libimobildevice, such attending their, virtual or physical, event speaking session or booth, we will provide your data to such sponsors who may contact you for their own direct advertising and marketing purposes. In that case, the exhibitors’ use of your information would be subject the exhibitors’ privacy policies. For events sponsored by libimobildevice, the event host may provide your The personal data to libimobildevice authors, subject to your consent. libimobildevice authors will use the data as set forth in the Use of Information section of this Privacy Policy.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: Status
|
||||
layout: status-table
|
||||
menu:
|
||||
main:
|
||||
weight: 10
|
||||
---
|
||||
@@ -0,0 +1,246 @@
|
||||
---
|
||||
title: Terms
|
||||
published: false
|
||||
menu:
|
||||
footer:
|
||||
weight: 2
|
||||
---
|
||||
*Effective as of: Jun 25, 2020*
|
||||
|
||||
1. Your Agreement with libimobiledevice
|
||||
|
||||
1.1 This website and all other related websites on which a link to these Terms of Service (the “Terms”) is displayed, and the libimobiledevice content and libimobiledevice services available on or through any of the foregoing (collectively, our “Service”) are provided to you by libimobiledevice, Inc., located at 318 Cambridge Avenue, P.O. Box 61180 Palo Alto, CA 94306, United States (“libimobiledevice”). These Terms govern all access and use of the Service. These Terms do not govern your access and use of any libimobiledevice software which may be made available to you under separate license terms.
|
||||
|
||||
1.2 All use of the Service is subject to acceptance of these Terms. By accessing or using the Service, or any content or services provided on the Service, you are agreeing to these Terms. If you are entering into these Terms on behalf of an entity, such as your employer or the company you work for, you represent that you have the legal authority to bind, and do hereby bind, that entity to these Terms. You may not use the Service if you are a person barred from using the Service under the laws of the United States or other countries, including the country in which you are resident or from which you use the Service, or international laws or treaties. You may not use the Service if you are or represent an entity that is listed on any U.S. Government Denied Party/Person List. You affirm that you are over the age of 13, as the Service is not intended for children under 13. IF YOU ARE 13 OR OLDER BUT UNDER THE AGE OF 18, OR THE LEGAL AGE OF MAJORITY WHERE YOU RESIDE IF THAT JURISDICTION HAS AN OLDER AGE OF MAJORITY, THEN YOU AGREE TO REVIEW THE TERMS WITH YOUR PARENT OR GUARDIAN TO MAKE SURE THAT BOTH YOU AND YOUR PARENT OR GUARDIAN UNDERSTAND AND AGREE TO THESE TERMS. YOU AGREE TO HAVE YOUR PARENT OR GUARDIAN REVIEW AND ACCEPT THESE TERMS ON YOUR BEHALF. IF YOU ARE A PARENT OR GUARDIAN AGREEING TO THE TERMS FOR THE BENEFIT OF A CHILD OVER 13, THEN YOU AGREE TO AND ACCEPT FULL RESPONSIBILITY FOR THAT CHILD'S USE OF THE SERVICE, INCLUDING ALL FINANCIAL CHARGES AND LEGAL LIABILITY THAT HE OR SHE MAY INCUR.
|
||||
|
||||
1.3 You agree that your use of the Service is not contingent on the delivery of any future functionality or features or dependent on any oral or written public comments made by libimobiledevice or any third party regarding future functionality or features.
|
||||
|
||||
2. Your Account and Use of the Service
|
||||
|
||||
2.1 You must provide accurate and complete registration information any time you register to use the Service. You are responsible for the security of your passwords and for any use of your account. If you become aware of any unauthorized use of your password or of your account, you agree to notify libimobiledevice immediately via our company contact form. You can also reset your password by logging into your account for the Service.
|
||||
|
||||
2.2 Your use of the Service must comply with all applicable laws, regulations and ordinances, including any laws regarding the export of data or software.
|
||||
|
||||
2.3 You agree not to (a) access (or attempt to access) the administrative interface of the Service by any means other than through the interface that is provided by libimobiledevice in connection with the Service, unless you have been specifically allowed to do so in a separate agreement with libimobiledevice, or (b) engage in any activity that interferes with or disrupts the Service (or the servers and networks which are connected to the Service).
|
||||
|
||||
2.4 You may not access or use the Service for the purpose of bringing an intellectual property infringement claim against libimobiledevice or for the purpose of creating a product or service competitive with the Service.
|
||||
|
||||
2.5 Your account may have usage limits, as further explained on the Service or other documentation provided by libimobiledevice. The Service may not allow you to exceed the hard usage limits. libimobiledevice reserves the right to enforce soft usage limits in its sole discretion. Repeated exceeding of the hard or soft usage limits may lead to termination of your account.
|
||||
|
||||
2.6 Vulnerability Reporting Service. When you use this service, libimobiledevice’s service will scan the images that you specify, which may be based upon code you authored, or code of others, and may generate vulnerability reports or information. You understand that any reports or other information that you receive from libimobiledevice about possible vulnerabilities are not guaranteed to be comprehensive, and there can be no assurance that every fault or vulnerability is discovered in a particular image. You agree that libimobiledevice’s service should not be used as the basis to deploy systems that must be hardened or highly secure, or involve mission-critical business operations, the operation of nuclear facilities, aircraft navigation, important communication systems, medical devices, air traffic control devices, real time control systems or other situations in which an inaccuracy or error in a report or in the service could lead to death, personal injury, or physical property or environmental damage.
|
||||
|
||||
3. Privacy and Restrictions on Use
|
||||
|
||||
3.1 libimobiledevice’s Privacy Policy describes libimobiledevice’s collection, use, storage and disclosure of your personal information, and is hereby incorporated by this reference into these Terms. You agree to the use of your data in accordance with libimobiledevice’s Privacy Policy.
|
||||
|
||||
3.2 You agree that you will protect the privacy and legal rights of the end users of your repositories or other content stored or managed via the Service. You must provide legally adequate privacy notice and protection for such end users.
|
||||
|
||||
3.3 You agree that you are responsible for your own conduct while accessing or using the Service and for any consequences thereof. You agree to use the Service only for purposes that are legal, proper and in accordance with these Terms and any applicable laws or regulations. By way of example, and not as a limitation, you may not and may not allow any third party to:
|
||||
|
||||
a. Send, upload, distribute or disseminate or offer to do the same with respect to any unlawful, defamatory, harassing, abusive, fraudulent, obscene, or otherwise objectionable content;
|
||||
|
||||
b. Distribute viruses, worms, defects, Trojan horses, corrupted files, hoaxes, or any other items of a destructive or deceptive nature;
|
||||
|
||||
c. Impersonate another person (via the use of an email address or otherwise) or otherwise misrepresent yourself or the source of any content;
|
||||
|
||||
d. Upload, post, transmit or otherwise make available through the Service any content that infringes any patent, trademark, copyright, trade secret or other proprietary right of any party, unless you are the owner of such rights or have the permission of the owner to post such content;
|
||||
|
||||
e. Download any content posted by another user that you know, or reasonably should know, that cannot be legally distributed in such manner;
|
||||
|
||||
f. Submit content that falsely expresses or implies that such content is sponsored or endorsed by libimobiledevice;
|
||||
|
||||
g. Use the Service to violate the legal rights (such as rights of privacy and publicity) of others;
|
||||
|
||||
h. Promote or encourage illegal activity;
|
||||
|
||||
i. Interfere with other users' enjoyment of the Service;
|
||||
|
||||
j. Exploit the Service for any unauthorized commercial purpose;
|
||||
|
||||
k. Modify, adapt, translate, or reverse engineer any portion of the Service;
|
||||
|
||||
l. Remove any copyright, trademark or other proprietary rights notices contained in or on the Service or any content posted thereon;
|
||||
|
||||
m. Reformat or frame any portion of the web pages that are part of the Service's administration display;
|
||||
|
||||
n. Use the Service in connection with illegal peer-to-peer file sharing;
|
||||
|
||||
o. Display any content on the Service that contains any hate-related or violent content or contains any other material, products or services that violate or encourage conduct that would violate any criminal laws, any other applicable laws, or any third party rights;
|
||||
|
||||
p. Use any robot, spider, site search/retrieval application, or other device to retrieve or index any portion of the Service or the content posted thereon or to collect information about its users for any unauthorized purpose;
|
||||
|
||||
q. Create user accounts by automated means or under false or fraudulent pretenses; or
|
||||
|
||||
r. Use the Service, or any interfaces provided with the Service, to access any libimobiledevice product or service in a manner that violates the Terms or other terms and conditions for use of such libimobiledevice product or service.
|
||||
|
||||
4. Usernames
|
||||
|
||||
4.1 We reserve the right to reclaim usernames on behalf of businesses or individuals that hold legal claim or trademark to those usernames. Accounts using business names and/or logos that may be considered misleading to others may be permanently suspended. We also reserve the right to reclaim usernames using libimobiledevice trademarks or usernames that violate the libimobiledevice Trademark Guidelines (the “Trademark Guidelines”), which are hereby incorporated into these Terms by reference.
|
||||
|
||||
4.2 You agree that libimobiledevice, in its sole discretion and subject to your opt-out rights as described below, may use your trade names, trademarks, service marks, logos, domain names and other distinctive brand features in presentations, marketing materials, customer lists, financial reports and Web site listings (including links to your website) for the purpose of advertising or publicizing your use of the Service. You may opt out of granting libimobiledevice the foregoing license, or require that you and libimobiledevice execute a separate license agreement therefor, by providing written notice to libimobiledevice within five (5) calendar days of the date you enter into these Terms.
|
||||
|
||||
4.3 Username Squatting. You may not and may not allow any third party to engage in username squatting. Accounts that are inactive for more than six months may be terminated at our discretion and without further notice. We take into account several factors when determining what conduct is considered to be username squatting including, without limitation:
|
||||
|
||||
a. The number of accounts created
|
||||
|
||||
b. Creating accounts for the purpose of preventing others from using those account names
|
||||
|
||||
c. Creating accounts for the purpose of selling those accounts
|
||||
|
||||
4.4 Selling Usernames. You may not and may not allow any third party to buy or sell usernames.
|
||||
|
||||
5. Fees
|
||||
|
||||
5.1 Subject to the Terms, the Service is provided to you without charge up to certain limits. Usage over this limit may require you to purchase additional resources or services. The pricing for additional resources and services can be found on this website.
|
||||
|
||||
5.2 For all purchased resources and services, including with limitation any purchased Applications (as defined in Section 9), libimobiledevice will charge your credit card on a monthly basis or at the interval indicated in libimobiledevice fees and payment policies, if different. libimobiledevice may change its fees and payment policies by notifying you at least fifteen (15) days before the beginning of the billing cycle in which such change will take effect. Late payments will bear interest at the rate of 1.5% per month (or the highest rate permitted by law, if less). All fees are non-refundable (except as expressly set forth in Section 11.3) and exclusive of applicable taxes. You are responsible for paying all taxes and government charges, and all reasonable expenses and attorneys fees libimobiledevice incurs collecting late amounts. You acknowledge and agree that any credit card and related billing and payment information that you provide to libimobiledevice may be shared by libimobiledevice with companies who work on libimobiledevice's behalf, such as payment processors and/or credit agencies, solely for the purposes of checking credit, effecting payment to libimobiledevice and servicing your account. libimobiledevice may also provide information in response to valid legal process, such as subpoenas, search warrants and court orders, or to establish or exercise its legal rights or defend against legal claims. libimobiledevice shall not be liable for any use or disclosure of such information by such third parties. libimobiledevice reserves the right to disable your access to the Service for any late payments. Any outstanding balance becomes immediately due and payable upon termination of the Terms for any reason.
|
||||
|
||||
6. User Content
|
||||
|
||||
6.1 The Service allows you and other users to submit, post, transmit, and share content with other users, which may include, without limitation, data files, text, articles, documents, computer software or code, music, images, audiovisual works, informational materials and any user comments submitted by you and other users on or through the Service (collectively, “User Content”). For the avoidance of doubt, User Content shall not include Applications (as defined in Section 9). You retain all your ownership rights in your User Content. libimobiledevice simply displays or makes the User Content available to users of the Service and does not otherwise control the content thereof. libimobiledevice does not guarantee any accuracy or confidentiality with respect to any information contained in any User Content, and strongly recommends that you think carefully about what you transmit, submit or post to or through the Service. You understand that all information contained in User Content is the sole responsibility of the person from whom such User Content originated. This means that you, and not libimobiledevice, are entirely responsible for all User Content that you upload, post, transmit, or otherwise make available through the Service, as well as for any actions taken by libimobiledevice or other users as a result of such User Content.
|
||||
|
||||
6.2 libimobiledevice intends to, but does not guarantee that it will, display or make any User Content available on or through the Service, and libimobiledevice reserves the right to refuse to allow any User Content on the Service, or to edit or remove any User Content at any time with or without prior notice, if libimobiledevice reasonably believes that you or your User Content are in violation of these Terms or otherwise disrupt or threaten the operation of the Service. Without limiting the generality of the preceding sentence, libimobiledevice complies with the Digital Millennium Copyright Act, and will remove User Content from the Service upon receipt of a compliant takedown notice (see Section 16 below). You agree to immediately take down any User Content that violates the Terms, including pursuant to a take-down request from libimobiledevice. In the event that you elect not to comply with a request from libimobiledevice to take down certain User Content, libimobiledevice reserves the right to directly take down such User Content, or to suspend or terminate your use of the Service.
|
||||
|
||||
6.3 By uploading or submitting your User Content through the Service, you hereby grant libimobiledevice and its affiliates and partners (collectively, the “libimobiledevice Licensees”) a worldwide, non-exclusive, fully paid-up, royalty-free license to reproduce (including by making mechanical reproductions), reformat, distribute, publicly display, and publicly perform your User Content in connection with providing you and other users with the services, features and functionalities available on or through the Service; provided, that for any User Content that is subject to an open source license, libimobiledevice’s rights shall be limited to the rights granted under the applicable open source license.
|
||||
|
||||
6.4 The Service allows you to specify or upload the terms under which other users of the Service will be licensed to use your User Content. If you do not specify or upload such license terms with respect to any User Content, you hereby grant to any other users of the Service, a non-exclusive license to access, download, use, modify or otherwise exploit such part of your User Content for any personal or business purposes.
|
||||
|
||||
6.5 You are solely responsible for your own User Content and the consequences of posting or publishing them. In connection with User Content, you affirm, represent, and warrant that: (i) you either own your User Content or have the necessary licenses, rights, consents, and permissions to grant the rights and licenses granted in these Terms, and (ii) the libimobiledevice Licensee’s exercise of the license rights set forth in this Section 6, does not and will not require obtaining a license from or paying any fees and/or royalties by libimobiledevice to any third party for the exercise of any rights granted in these Terms. However, the foregoing shall not be deemed a warranty by you of non-infringement of any third party patent rights.
|
||||
|
||||
6.6 You understand that libimobiledevice may scan User Content at any time to check for potential security vulnerabilities and other issues. libimobiledevice may request that you immediately remedy any issue it discovers in your User Content and retains the right to remove any User Content at any time without notice for any valid business or technical reasons, such as if security vulnerabilities are identified in such User Content.
|
||||
|
||||
6.7 You understand that User Content made available on or through the Service comes from a variety of sources and that libimobiledevice does not endorse and is not responsible for the accuracy, usefulness, or intellectual property rights of or relating to such User Content. You understand that libimobiledevice cannot, and does not, review all User Content and does not endorse any User Content. You further understand and acknowledge that you may be exposed to User Content that is inaccurate, misleading, infringing, or otherwise objectionable. You agree to waive, and hereby do waive, any legal or equitable rights or remedies you have or may have against libimobiledevice with respect thereto. IF YOU ARE A CALIFORNIA RESIDENT, YOU WAIVE CALIFORNIA CIVIL CODE SECTION 1542, WHICH SAYS: “A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS OR HER FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH IF KNOWN BY HIM OR HER MUST HAVE MATERIALLY AFFECTED HIS OR HER SETTLEMENT WITH THE DEBTOR.”
|
||||
|
||||
6.8 You agree that libimobiledevice has no responsibility or liability for the deletion or failure to store any User Content and other communications maintained on or transmitted through use of the Service. You further acknowledge that you are solely responsible for securing and backing up any User Content or other communication you upload or transmit to or through the Service.
|
||||
|
||||
7. Proprietary Rights
|
||||
|
||||
You acknowledge and agree that libimobiledevice (or libimobiledevice’s licensors) own all legal right, title and interest in and to the Service. The visual interfaces, graphics, design, systems, methods, information, computer code, software, services, “look and feel”, organization, compilation of the content, code, data, and all other elements of the Service (collectively, the “libimobiledevice Materials”) are protected by United States copyright, trade dress, patent, and trademark laws, international conventions, and all other relevant intellectual property and proprietary rights, and applicable laws. Except for any User Content owned and/or posted by you or other users, all libimobiledevice Materials are the copyrighted property of libimobiledevice or its licensors. Furthermore, all trademarks, service marks, and trade names contained in the libimobiledevice Materials are proprietary to libimobiledevice or its licensors. Except as expressly set forth herein, your use of the Service does not grant to you ownership of or any other rights with respect to any content, code, data, user comments or other materials that you may access on or through the Service. libimobiledevice reserves all rights to the libimobiledevice Materials not expressly granted in the Terms
|
||||
|
||||
8. Feedback
|
||||
|
||||
You may choose to or libimobiledevice may invite you to submit comments, bug reports, ideas or other feedback about the Service, including without limitation about how to improve the Service or any other libimobiledevice products ("Feedback"). By submitting any Feedback, you agree that libimobiledevice is free to use such Feedback at its discretion and without any additional compensation to you, and/or to disclose such Feedback to third parties on a non-confidential basis or otherwise. You hereby grant libimobiledevice a perpetual, irrevocable, nonexclusive license under all rights necessary to incorporate and use your Feedback for any purpose.
|
||||
|
||||
9. Third-Party Store
|
||||
|
||||
9.1 libimobiledevice may make available additional applications and services offered by its third-party partners through its Store ("Application(s)"). You acknowledge that your use of Applications may be subject to additional fees. You further acknowledge that your use of any Applications may be subject to a separate agreement between you and the third party licensor of that Application ("the Application Provider"), and that libimobiledevice shall not be a party to such separate agreement between you and the Application Provider. The Application Provider of each Application, and not libimobiledevice, is solely responsible for that Application, the content therein, and any claims that you or any other party may have relating to that Application or the use of that Application. libimobiledevice does not endorse and is not responsible for the accuracy, functionality, usefulness, or intellectual property rights of or relating to such Applications. You acknowledge and agree that, notwithstanding the foregoing, libimobiledevice and its affiliates are third party beneficiaries of the agreement between you and the Application Provider for each Application, and that libimobiledevice will have the right (and will be deemed to have accepted the right) to enforce such agreement against you as a third party beneficiary thereof.
|
||||
|
||||
9.2 By subscribing to or purchasing an Application, you grant libimobiledevice permission to share your User Content, and user information with the Application Provider as necessary in order to provide you the Application.
|
||||
|
||||
10. Recommendations
|
||||
|
||||
libimobiledevice may, and you grant libimobiledevice permission to, make recommendations via the Service for products or services that in libimobiledevice’s opinion may be of interest to you based on your User Content, and/or use of the Service.
|
||||
|
||||
11. Modification and Termination
|
||||
|
||||
11.1 libimobiledevice is constantly innovating in order to provide the best possible experience for its users. You acknowledge and agree that the form and nature of the Service may change from time to time without prior notice to you and that libimobiledevice may add new features and change any part of the Service at any time without notice.
|
||||
|
||||
11.2 You may terminate these Terms at any time by canceling your account on the Service and discontinuing your use of the Service. You will not receive any refunds if you cancel your account or otherwise terminate these Terms.
|
||||
|
||||
11.3 You agree that libimobiledevice, in its sole discretion and for any or no reason, may terminate these Terms and your account for the Service. You agree that any termination of your access to the Service may be without prior notice, and you agree that libimobiledevice will not be liable to you or any third party for such termination. If libimobiledevice terminates these Terms or your access or use of the Service due to your breach of these Terms or any suspected fraudulent, abusive, or illegal activity, then termination of these Terms shall be in addition to any other remedies libimobiledevice may have at law or in equity. Notwithstanding anything to the contrary herein, in the event of any termination by libimobiledevice other than due to your breach of these Terms, libimobiledevice will reimburse to you any fees you have prepaid for resources and services purchased hereunder, prorated to the date of such termination.
|
||||
|
||||
11.4 Upon any termination or expiration of these Terms, whether by you or libimobiledevice, ANY INFORMATION (INCLUDING USER CONTENT) THAT YOU HAVE POSTED OR SUBMITTED ON OR THROUGH THE SERVICE OR THAT WHICH IS RELATED TO YOUR ACCOUNT MAY NO LONGER BE ACCESSED BY YOU and libimobiledevice will have no obligation to maintain any such information in its databases or to forward any such information to you or any third party. You are solely responsible for retrieving your User Content from the Service prior to termination of your account for any reason, provided that if we terminate your account, we will provide you a reasonable opportunity to retrieve your User Content.
|
||||
|
||||
11.5 Upon any termination of these Terms or your account, Sections 5, 6, 7, 8, 11.4, 11.5, 12, 13, 14, 15, 19 and 20 shall survive.
|
||||
|
||||
12. EXCLUSION OF WARRANTIES
|
||||
|
||||
12.1 NOTHING IN THESE TERMS SHALL EXCLUDE OR LIMIT DOCKER’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED BY APPLICABLE LAW.
|
||||
|
||||
12.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICE IS AT YOUR SOLE RISK AND THAT THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS MAKE NO EXPRESS WARRANTIES AND DISCLAIM ALL IMPLIED WARRANTIES REGARDING THE SERVICE, USER CONTENT OR ANY APPLICATIONS OR EXTERNAL SITES, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT CORRECTNESS, ACCURACY AND RELIABILITY. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT REPRESENT OR WARRANT TO YOU THAT: (A) YOUR USE OF THE SERVICE WILL MEET YOUR REQUIREMENTS, (B) YOUR USE OF THE SERVICE WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR, (C) USAGE DATA PROVIDED THROUGH THE SERVICE WILL BE ACCURATE OR (D) THE SERVICE OR ANY CONTENT, SERVICES, OR FEATURES MADE AVAILABLE ON OR THROUGH THE SERVICE ARE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS.
|
||||
|
||||
13. LIMITATION OF LIABILITY
|
||||
|
||||
13.1 SUBJECT TO SECTION 12 ABOVE, YOU UNDERSTAND AND AGREE THAT DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU FOR ANY INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS, EVEN IF DOCKER OR A DOCKER AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
13.2 SUBJECT TO SECTION 12 ABOVE, YOU AGREE THAT THE AGGREGATE LIABILITY OF THE DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS TO YOU FOR ALL CLAIMS ARISING OUT OF OR RELATING TO THE USE OF OR ANY INABILITY TO USE ANY PORTION OF THE SERVICE OR OTHERWISE UNDER THESE TERMS, WHETHER IN CONTRACT, TORT, OR OTHERWISE, IS LIMITED TO THE GREATER OF (A) THE AMOUNTS PAID BY YOU TO DOCKER UNDER THESE TERMS IN THE 12 MONTH PERIOD PRECEDING THE DATE THE CLAIM AROSE, OR (B) $100.
|
||||
|
||||
13.3 YOU ACKNOWLEDGE AND AGREE THAT DOCKER HAS MADE AVAILABLE THE SERVICE AND ENTERED INTO THESE TERMS IN RELIANCE UPON THE WARRANTY DISCLAIMERS AND THE LIMITATIONS OF LIABILITY SET FORTH HEREIN, THAT THE WARRANTY DISCLAIMERS AND THE LIMITATIONS OF LIABILITY SET FORTH HEREIN REFLECT A REASONABLE AND FAIR ALLOCATION OF RISK BETWEEN YOU AND DOCKER, AND THAT THE WARRANTY DISCLAIMERS AND THE LIMITATIONS OF LIABILITY SET FORTH HEREIN FORM AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN YOU AND DOCKER. DOCKER WOULD NOTE BE ABLE TO PROVIDE THE SERVICE TO YOU WITHOUT THESE LIMITATIONS.
|
||||
|
||||
14. Indemnification
|
||||
|
||||
You agree to hold harmless and indemnify libimobiledevice and its subsidiaries, affiliates, officers, agents, employees, advertisers, licensors, suppliers or partners from and against any third party claim arising from or in any way related to (a) your breach of the Terms, (b) your violation of applicable laws, rules or regulations in connection with the Service, or (c) your User Content, including any liability or expense arising from all claims, losses, damages (actual and consequential), suits, judgments, litigation costs and attorneys' fees, of every kind and nature. In such case, libimobiledevice will provide you with written notice of such claim, suit or action; will provide you the opportunity to control the defense and/or settlement of such claim, suit or action; and will provide you reasonable assistance in such defense or settlement, upon reasonable request.
|
||||
|
||||
15. User Disagreements
|
||||
|
||||
You alone are responsible for your involvement and interactions with other users of the Service. libimobiledevice reserves the right, but has no obligation, to monitor disagreements between you and other users. If you have a dispute with any other users of the Service, you irrevocably and forever release libimobiledevice (and libimobiledevice’s affiliates, officers, directors, agents, subsidiaries, joint ventures and employees) from claims, demands and damages (actual and consequential) of every kind and nature, known and unknown, arising out of or in any way connected with such disputes. IF YOU ARE A CALIFORNIA RESIDENT, YOU WAIVE CALIFORNIA CIVIL CODE SECTION 1542, WHICH SAYS: “A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS OR HER FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH IF KNOWN BY HIM OR HER MUST HAVE MATERIALLY AFFECTED HIS OR HER SETTLEMENT WITH THE DEBTOR.”
|
||||
|
||||
16. Copyright Policy
|
||||
|
||||
16.1 libimobiledevice has established the following process to respond to notices of alleged infringement that comply with the United States' Digital Millennium Copyright Act ("DMCA notices").
|
||||
|
||||
16.2 If you believe that your copyrighted work has been copied in a way that constitutes copyright infringement and is accessible via the Service, please notify libimobiledevice's copyright agent, as set forth in the Digital Millennium Copyright Act of 1998 (DMCA). For your complaint to be valid under the DMCA, you must provide the following information in writing:
|
||||
|
||||
a. An electronic or physical signature of a person authorized to act on behalf of the copyright owner;
|
||||
|
||||
b. Identification of the copyrighted work that you claim is being infringed;
|
||||
|
||||
c. Identification of the material that is claimed to be infringing and where it is located on the Service;
|
||||
|
||||
d. Information reasonably sufficient to permit libimobiledevice to contact you, such as your address, telephone number, and e-mail address;
|
||||
|
||||
e. A statement that you have a good faith belief that use of the material in the manner complained of is not authorized by the copyright owner, its agent, or law; and
|
||||
|
||||
f. A statement, made under penalty of perjury, that the above information is accurate, and that you are the copyright owner or are authorized to act on behalf of the owner.
|
||||
|
||||
libimobiledevice's Designated Copyright Agent to receive notifications of claimed infringement can be reached as follows:
|
||||
|
||||
Attention: Copyright Agent
|
||||
Mirell Development c/o libimobiledevice.org
|
||||
Kronprinzenstr. 119
|
||||
40217 Düsseldorf
|
||||
Germany
|
||||
|
||||
Email: dmca@libimobiledevice.org
|
||||
|
||||
For clarity, only DMCA notices should go to the libimobiledevice Designated Copyright Agent. Any other feedback, comments, requests for technical support or other communications should be directed to libimobiledevice customer service through support@libimobiledevice.org.
|
||||
|
||||
17. External Sites
|
||||
|
||||
17.1 The Service may include hyperlinks to other web sites or resources (collectively, “External Sites”) solely as a convenience to its users. libimobiledevice has no control over any External Sites which are provided by companies or persons other than libimobiledevice.
|
||||
|
||||
17.2 You acknowledge and agree that libimobiledevice is not responsible for the availability of any External Sites, and does not endorse any advertising, products or other materials on or available from the External Sites.
|
||||
|
||||
17.3 You acknowledge and agree that libimobiledevice is not liable for any loss or damage which may be incurred as a result of the availability of the External Sites, or as a result of any reliance placed by you on the completeness, accuracy or existence of any advertising, products or other materials on, or available from, the External Sites.
|
||||
|
||||
18. Changes to the Terms
|
||||
|
||||
libimobiledevice may make changes to the Terms from time to time. When such changes are made, libimobiledevice will make the updated Terms available on or through the Service. Please check these Terms periodically for changes. Unless otherwise agreed to between you and libimobiledevice in writing, your continued use of the Service after such changes have been published on or through the Service shall constitute your binding acceptance of such changes. Unless otherwise agreed to between you and libimobiledevice in writing, in the event that such changes materially alter your rights or obligations hereunder such amended Terms will automatically be effective upon the earlier of (i) your continued use of the Service with actual knowledge of such modifications, or (ii) 30 days from the date such modified Terms are made available on or through the Service. Notwithstanding the foregoing, the resolution of any dispute that arises between you and libimobiledevice will be governed by the Terms in effect at the time such dispute arose.
|
||||
|
||||
19. Dispute Resolution and Arbitration
|
||||
|
||||
19.1 Generally. In the interest of resolving disputes between you and libimobiledevice in the most expedient and cost effective manner, you and libimobiledevice agree that every dispute arising in connection with these Terms will be resolved by binding arbitration. Arbitration is more informal than a lawsuit in court. Arbitration uses a neutral arbitrator instead of a judge or jury, may allow for more limited discovery than in court, and can be subject to very limited review by courts. Arbitrators can award the same damages and relief that a court can award. Our agreement to arbitrate disputes includes all claims arising out of or relating to any aspect of these Terms, whether based in contract, tort, statute, fraud, misrepresentation, or any other legal theory, and regardless of whether a claim arises during or after the termination of these Terms. YOU UNDERSTAND AND AGREE THAT, BY ENTERING INTO THESE TERMS, YOU AND DOCKER ARE EACH WAIVING THE RIGHT TO A TRIAL BY JURY OR TO PARTICIPATE IN A CLASS ACTION.
|
||||
|
||||
19.2 Exceptions. Despite the provisions of Section 19.1, we both agree that nothing in these Terms will be deemed to waive, preclude, or otherwise limit the right of either of us to: (a) bring an individual action in small claims court; (b) pursue an enforcement action through the applicable federal, state, or local agency if that action is available; (c) seek injunctive relief in a court of law; or (d) to file suit in a court of law to address an intellectual property infringement claim.
|
||||
|
||||
19.3 Arbitrator. Any arbitration between you and libimobiledevice will be governed by the Commercial Dispute Resolution Procedures and the Supplementary Procedures for Consumer Related Disputes (collectively, "AAA Rules") of the American Arbitration Association ("AAA"), as modified by these Terms, and will be administered by the AAA. The AAA Rules and filing forms are available online at www.adr.org, by calling the AAA at 1-800-778-7879, or by contacting libimobiledevice.
|
||||
|
||||
19.4 Notice; Process. A party who intends to seek arbitration must first send a written notice of the dispute to the other, by certified mail or Federal Express (signature required), or if we do not have a physical address on file for you, by electronic mail ("Notice"). libimobiledevice’s address for Notice is: libimobiledevice, Inc., 318 Cambridge Ave, P.O. Box 61180, Palo Alto, CA 94306. The Notice must: (a) describe the nature and basis of the claim or dispute; and (b) set forth the specific relief sought ("Demand"). We agree to use good faith efforts to resolve the claim directly, but if we do not reach an agreement to do so within 30 days after the Notice is received, you or libimobiledevice may commence an arbitration proceeding. During the arbitration, the amount of any settlement offer made by you or libimobiledevice must not be disclosed to the arbitrator until after the arbitrator makes a final decision and award, if any. If our dispute is finally resolved through arbitration in your favor, libimobiledevice will pay you the highest of the following: (i) the amount awarded by the arbitrator, if any; (ii) the last written settlement amount offered by libimobiledevice in settlement of the dispute prior to the arbitrator’s award; or (iii) $1,000.
|
||||
|
||||
19.5 Fees. If you commence arbitration in accordance with these Terms, libimobiledevice will reimburse you for your payment of the filing fee, unless your claim is for more than $10,000, in which case the payment of any fees will be decided by the AAA Rules. Any arbitration hearing will take place at a location to be agreed upon in San Francisco County, CA, but if the claim is for $10,000 or less, you may choose whether the arbitration will be conducted: (a) solely on the basis of documents submitted to the arbitrator; (b) through a non-appearance based telephone hearing; or (c) by an in-person hearing as established by the AAA Rules in the county (or parish) of your billing address. If the arbitrator finds that either the substance of your claim or the relief sought in the Demand is frivolous or brought for an improper purpose (as measured by the standards set forth in Federal Rule of Civil Procedure 11(b)), then the payment of all fees will be governed by the AAA Rules. In that case, you agree to reimburse libimobiledevice for all monies previously disbursed by it that are otherwise your obligation to pay under the AAA Rules. Regardless of the manner in which the arbitration is conducted, the arbitrator must issue a reasoned written decision sufficient to explain the essential findings and conclusions on which the decision and award, if any, are based. The arbitrator may make rulings and resolve disputes as to the payment and reimbursement of fees or expenses at any time during the proceeding and upon request from either party made within 14 days of the arbitrator’s ruling on the merits.
|
||||
|
||||
19.6 No Class Actions. YOU AND libimobiledevice AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. Further, unless both you and libimobiledevice agree otherwise, the arbitrator may not consolidate more than one person’s claims, and may not otherwise preside over any form of a representative or class proceeding.
|
||||
|
||||
19.7 Modifications. If libimobiledevice makes any future change to this arbitration provision (other than a change to libimobiledevice's address for Notice), you may reject the change by sending us written notice within 30 days of the change to libimobiledevice's address for Notice, in which case your account with libimobiledevice will be immediately terminated and this arbitration provision, as in effect immediately prior to the amendments you reject will survive.
|
||||
|
||||
19.8 Enforceability. If Section 19.6 is found to be unenforceable or if the entirety of this Section 19 is found to be unenforceable, then the entirety of this Section 19 will be null and void and, in that case, the parties agree that the exclusive jurisdiction and venue described in Section 20.7 will govern any action arising out of or related to these Terms.
|
||||
|
||||
20. General Legal Terms
|
||||
|
||||
20.1 The Terms constitute the whole legal agreement between you and libimobiledevice and govern your use of the Service (but excluding any services which libimobiledevice may provide to you under a separate written agreement) and completely replace any prior agreements between you and libimobiledevice in relation to the Service.
|
||||
|
||||
20.2 There are no third party beneficiaries to these Terms. The parties are independent contractors, and nothing in these Terms creates an agency, partnership or joint venture.
|
||||
|
||||
20.3 If libimobiledevice provides you with a translation of the English language version of these Terms, the English language version of these Terms will control if there is any conflict.
|
||||
|
||||
20.4 You agree that libimobiledevice may provide you with notices, including those regarding changes to the Terms, by email, regular mail, or postings on the Service. By providing libimobiledevice your email address, you consent to our using the email address to send you any notices required by law in lieu of communication by postal mail. You may provide us with legal notices at our postal address set forth above or via email to support@libimobiledevice.org.
|
||||
|
||||
20.5 You agree that if libimobiledevice does not exercise or enforce any legal right or remedy which is contained in the Terms (or which libimobiledevice has the benefit of under any applicable law), this will not be deemed a waiver of any such rights or remedies, and that those rights or remedies will still be available to libimobiledevice.
|
||||
|
||||
20.6 libimobiledevice shall not be liable for failing or delaying performance of its obligations resulting from any condition beyond its reasonable control, including but not limited to, governmental action, acts of terrorism, earthquake, fire, flood or other acts of God, labor conditions, power failures, and Internet disturbances.
|
||||
|
||||
20.7 The Terms, and your relationship with libimobiledevice under the Terms, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and libimobiledevice agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the Terms.
|
||||
|
||||
20.8 You understand that the Service is subject to United States export controls administered by the U.S. Department of Commerce and the United States Department of Treasury Office of Foreign Assets Control. You acknowledge and agrees that the Service and any User Content or Applications accessed by you shall not be used, transferred or otherwise exported or re-exported to countries as to which the United States, maintains an embargo (collectively, "Embargoed Countries"), or to or by a national or resident thereof, or any person or entity on the U.S. Department of Treasury's List of Specially Designated Nationals or the U.S. Department of Commerce's Entity List, Denied Persons List, or Unverified List, or the U.S. Department of State’s Nonproliferation Sanctions list (collectively, "Designated Nationals"). The lists of Embargoed Countries and Designated Nationals are subject to change without notice. By using the Service, including without limitation by uploading or accessing any User Content or Application, you represent and warrant that you are not located in, under the control of, or a national or resident of an Embargoed Country or Designated National. You agree to comply strictly with all U.S. export laws and assume sole responsibility for obtaining United States government export licenses to export or re-export as may be required. You will defend, indemnify, and hold harmless libimobiledevice and its suppliers and licensors from and against any violation of such laws or regulations by you or any of your agents, officers, directors or employees.
|
||||
|
||||
20.9 Neither party may assign any of its rights or obligations under these Terms, whether by operation of law or otherwise, without the prior written consent of the other party (not to be unreasonably withheld). Notwithstanding the foregoing, libimobiledevice may assign the entirety of its rights and obligations under these Terms, without your consent, to an affiliate or in connection with a merger, acquisition, corporate reorganization, or sale of all or substantially all of its assets. Any assignment attempted to be made in violation of these Terms will be void
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"links": [
|
||||
{
|
||||
"id": "github",
|
||||
"type": ["development"],
|
||||
"icon": "fab fa-github",
|
||||
"title": "Our GitHub Project",
|
||||
"tagline": "Contribute on GitHub",
|
||||
"description": "Warm welcome for pull requests and technical stuff.",
|
||||
"url": "https://github.com/libimobiledevice",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"id": "mailing-list",
|
||||
"type": ["mailing-list"],
|
||||
"icon": "fas fa-envelope",
|
||||
"title": "Our Mailing List",
|
||||
"tagline": "Discuss on Mailing List",
|
||||
"description": "The classic way by E-Mail.",
|
||||
"url": "https://lists.libimobiledevice.org/mailman/listinfo/libimobiledevice-devel",
|
||||
"weight": 2
|
||||
},
|
||||
{
|
||||
"id": "stackoverflow",
|
||||
"type": ["support"],
|
||||
"icon": "fab fa-stack-overflow",
|
||||
"title": "Questions about libimobiledevice on Stackoverflow",
|
||||
"tagline": "Ask on Stackoverflow",
|
||||
"description": "Best for general questions and support.",
|
||||
"url": "https://stackoverflow.com/questions/tagged/libimobiledevice",
|
||||
"weight": 3
|
||||
},
|
||||
{
|
||||
"id": "twitter",
|
||||
"type": ["socialmedia"],
|
||||
"icon": "fab fa-twitter",
|
||||
"title": "Our Twitter Profile",
|
||||
"tagline": "Follow on Twitter",
|
||||
"description": "For latest updates in a birdly manner.",
|
||||
"url": "https://twitter.com/intent/user?screen_name=libimobiledev",
|
||||
"weight": 4
|
||||
},
|
||||
{
|
||||
"id": "telegram",
|
||||
"type": ["socialmedia"],
|
||||
"icon": "fab fa-telegram",
|
||||
"title": "Our Telegram Group",
|
||||
"tagline": "Chat on Telegram",
|
||||
"description": "Get hands on with developers.",
|
||||
"url": "https://t.me/libimobiledevice",
|
||||
"weight": 5
|
||||
},
|
||||
{
|
||||
"id": "irc",
|
||||
"type": ["chat"],
|
||||
"icon": "fas fa-hashtag",
|
||||
"title": "Our IRC Channel",
|
||||
"tagline": "Chat on IRC",
|
||||
"description": "Get hands on in ASCII style.",
|
||||
"url": "irc://chat.freenode.net#libimobiledevice",
|
||||
"weight": 6
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
[
|
||||
{
|
||||
"id": "com.apple.bluetooth.BTPacketLogger",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.PurpleReverseProxy.Conn",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.PurpleReverseProxy.Ctrl",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.afc",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "13.5.1",
|
||||
"comment": "Fully implemented except a few details."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.atc",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.atc2",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.companion_proxy",
|
||||
"name": "",
|
||||
"state": "partly",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.crashreportcopymobile",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.crashreportmover",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.idamd",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.iosdiagnostics.relay",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented except a few details."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.misagent",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobileactivationd",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.MCInstall",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.assertion_agent",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.diagnostics_relay",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.file_relay",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.heartbeat",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.house_arrest",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.insecure_notification_proxy",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.installation_proxy",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.mobile_image_mounter",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobile.notification_proxy",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobilebackup",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobilebackup2",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.mobilesync",
|
||||
"name": "",
|
||||
"state": "partly",
|
||||
"firmware": "11+",
|
||||
"comment": "Partly implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.os_trace_relay",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.pcapd",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.preboardservice",
|
||||
"name": "",
|
||||
"state": "partly",
|
||||
"firmware": "11+",
|
||||
"comment": "Partly implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.preboardservice_v2",
|
||||
"name": "",
|
||||
"state": "partly",
|
||||
"firmware": "11+",
|
||||
"comment": "Partly implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.springboardservices",
|
||||
"name": "",
|
||||
"state": "partly",
|
||||
"firmware": "11+",
|
||||
"comment": "Partly implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.streaming_zip_conduit",
|
||||
"name": "",
|
||||
"state": "none",
|
||||
"firmware": "11+",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"id": "com.apple.syslog_relay",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
},
|
||||
{
|
||||
"id": "com.apple.webinspector",
|
||||
"name": "",
|
||||
"state": "done",
|
||||
"firmware": "11+",
|
||||
"comment": "Fully implemented."
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends '_default/list.html.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include 'partials/section/cards.html.twig' with {"id": "news", "attr": " bg-white", "heading": "h1", "view_all": false, "items": pages} %}
|
||||
|
||||
{% include 'partials/pagination.html.twig' with {"attr": " bg-white"} %}
|
||||
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,38 @@
|
||||
{% extends 'feed.twig' %}
|
||||
|
||||
{% set author_name = site.author.name|default(site.title) %}
|
||||
{% set author_uri = site.author.url|default(site.baseurl) %}
|
||||
|
||||
{% block feed %}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{ lang }}">
|
||||
<id>{{ url(page, {canonical:true}) }}</id>
|
||||
<title>{{ title | e }}</title>
|
||||
<subtitle><![CDATA[{{ site.description }}]]></subtitle>
|
||||
<link href="{{ url(page, {canonical:true,format:'atom'}) }}" rel="self" type="application/atom+xml" />
|
||||
<link href="{{ url(page, {canonical:true,format:'html'}) }}" rel="alternate" type="text/html" />
|
||||
<updated>{{ date|date('c') }}</updated>
|
||||
<author>
|
||||
<name>{{ author_name | e }}</name>
|
||||
<uri>{{ author_uri }}</uri>
|
||||
</author>
|
||||
{% for p in pages|sort_by_date %}
|
||||
<entry xml:lang="{{ lang }}">
|
||||
<id>{{ url(p, {canonical:true}) }}</id>
|
||||
<title>{{ p.title | e }}</title>
|
||||
{% if 'txt' in p.output|default('html') %}
|
||||
<content type="text">
|
||||
<![CDATA[{{ p.content }}]]>
|
||||
</content>
|
||||
{% else %}
|
||||
<content type="html">
|
||||
<![CDATA[{{ p.content }}]]>
|
||||
</content>
|
||||
{% endif %}
|
||||
<link href="{{ url(p, {canonical:true}) }}" rel="alternate" type="text/html" />
|
||||
<published>{{ p.date|date('c') }}</published>
|
||||
<updated>{{ p.date|date('c') }}</updated>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
||||
{% endblock feed %}
|
||||
@@ -0,0 +1,28 @@
|
||||
{% set pages = site.pages.all %}
|
||||
{% if page.pages is defined %}
|
||||
{% set pages = page.pages %}
|
||||
{% endif %}
|
||||
{% if page.pagination.pages is defined %}
|
||||
{% set pages = page.pagination.pages %}
|
||||
{% endif %}
|
||||
|
||||
{% extends '_default/page.html.twig' %}
|
||||
|
||||
{% block content %}
|
||||
{% if page.title != 'index' %}
|
||||
<header>
|
||||
<h1>{{ page.title }}</h1>
|
||||
</header>
|
||||
{% endif %}
|
||||
<main>
|
||||
{{ page.content }}
|
||||
{% for p in pages.all %}
|
||||
<article>
|
||||
<h2><a href="{{ url(p) }}">{{ p.title|e }}</a></h2>
|
||||
<time>{{ p.date|date("j M Y") }}</time>
|
||||
A {{ p.content|excerpt_html }}
|
||||
</article>
|
||||
{% endfor %}
|
||||
</main>
|
||||
{% include 'partials/pagination.html.twig' %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,22 @@
|
||||
{% extends 'feed.twig' %}
|
||||
|
||||
{% block feed %}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>{{ title | e }}</title>
|
||||
<description><![CDATA[{{ site.description }}]]></description>
|
||||
<lastBuildDate>{{ date|date('c') }}</lastBuildDate>
|
||||
<link>{{ url(page, {canonical:true}) }}</link>
|
||||
{% for p in pages|sort_by_date %}
|
||||
<item>
|
||||
<guid>{{ url(p, {canonical:true}) }}</guid>
|
||||
<title>{{ p.title | e }}</title>
|
||||
<description><![CDATA[{{ p.content }}]]></description>
|
||||
<pubDate>{{ p.date|date('c') }}</pubDate>
|
||||
<link>{{ url(p, {canonical:true}) }}</link>
|
||||
</item>
|
||||
{% endfor %}
|
||||
</channel>
|
||||
</rss>
|
||||
{% endblock feed %}
|
||||
@@ -0,0 +1,102 @@
|
||||
{%- set title = page.title ~ ' · ' ~ site.title -%}
|
||||
{%- if page.type == 'homepage' -%}
|
||||
{%- set title = site.title ~ ' · ' ~ site.baseline -%}
|
||||
{%- endif -%}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ site.language | default('en') }}">
|
||||
<head>
|
||||
|
||||
{% block head %}
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>{{ title }}</title>
|
||||
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="language" content="{{ site.language | default('en') }}">
|
||||
|
||||
{% set main_css_url = asset('scss/main.scss', {'filename': 'css/main.css'}) | url %}
|
||||
<link rel="preload" as="style" href="{{ main_css_url }}">
|
||||
|
||||
{% include 'partials/metatags.html.twig' %}
|
||||
|
||||
<meta name="theme-color" content="#0a9197">
|
||||
|
||||
<link rel="canonical" href="{{ url(page, {canonical:true}) }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ main_css_url }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ url('favicon.ico') }}">
|
||||
<link rel="icon" href="{{ url('favicon.ico') }}" type="image/x-icon">
|
||||
{% endblock head %}
|
||||
|
||||
</head>
|
||||
|
||||
<body class="{% block body_classes %}template-{{ page.type }}{{ page.section != '' ? '-' ~ page.section: '' }}{% endblock body_classes %}">
|
||||
|
||||
{% block header %}
|
||||
<header class="banner fixed-top bg-light shadow-sm">
|
||||
<div class="container">
|
||||
{% include 'partials/navbar.html.twig' %}
|
||||
</div>
|
||||
|
||||
{% include 'partials/alert/outdated-browser.html.twig' %}
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
<main class="content">
|
||||
|
||||
{% block breadcrumb %}
|
||||
{% if page.type != 'homepage' %}
|
||||
{% include 'partials/breadcrumb.html.twig' with {"attr": " bg-white"} %}
|
||||
{% endif %}
|
||||
{% endblock breadcrumb %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include 'partials/section/content.html.twig' with {"id": "content", "attr": " bg-white", "heading": "h1"} %}
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
{% include 'partials/section/under-construction.html.twig' with {"id": "under-construction", "attr": " bg-white"} %}
|
||||
|
||||
{% include 'partials/section/community.html.twig' with {"id": "community", "attr": " bg-white"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start": "var(--white)", "end": "var(--info)", "height": "40"} %}
|
||||
|
||||
{% include 'partials/section/quote.html.twig' with {"id": "quote", "attr": " bg-info text-white"} %}
|
||||
|
||||
</main>
|
||||
|
||||
{% include 'partials/footer.html.twig' %}
|
||||
|
||||
<a href="#" class="d-none back-to-top animated shadow" title="Back to top"><i class="fas fa-chevron-up"></i></a>
|
||||
|
||||
<script src="{{ asset([
|
||||
site.node.dir ~ '/jquery/dist/jquery.slim.min.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/util.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/alert.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/button.js',
|
||||
site.node.dir ~ '/popper.js/dist/umd/popper.min.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/collapse.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/dropdown.js',
|
||||
site.node.dir ~ '/bootstrap/js/dist/tab.js'
|
||||
], {'filename': 'js/vendor.js'}) | url }}"></script>
|
||||
|
||||
<script src="{{ asset(['js/prism.js'], {'filename': 'js/prism.js'}) | url }}" async></script>
|
||||
|
||||
<script src="{{ asset([
|
||||
site.node.dir ~ '/smoothscroll-polyfill/dist/smoothscroll.min.js',
|
||||
site.node.dir ~ '/waypoints/lib/jquery.waypoints.min.js',
|
||||
site.node.dir ~ '/waypoints/lib/shortcuts/inview.min.js',
|
||||
'js/jquery.waypoints.extra.js',
|
||||
'js/jquery.back-to-top.js'
|
||||
], {'filename': 'js/waypoints.js'}) | url }}" async></script>
|
||||
|
||||
{% include 'partials/googleanalytics.js.twig' %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,47 @@
|
||||
{% extends '_default/page.html.twig' %}
|
||||
|
||||
{% block body_classes %}{{ parent() }} template-landing has-jumbotron{% endblock body_classes %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include 'partials/section/jumbotron.html.twig' %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--jumbotron-bg)","end":"var(--info)"} %}
|
||||
|
||||
{% include 'partials/section/bullets.html.twig' with {"id": "features", "attr": " bg-info text-white"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--info)","end":"var(--light)"} %}
|
||||
|
||||
{% include 'partials/section/examples.html.twig' with {"id": "examples", "attr": " bg-light"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--light)","end":"var(--secondary)"} %}
|
||||
|
||||
{% include 'partials/section/downloads.html.twig' with {"id": "downloads", "attr": " bg-secondary"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--secondary)","end":"var(--light)"} %}
|
||||
|
||||
{% include 'partials/section/get-started.html.twig' with {"id": "get-started", "attr": " bg-light"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--light)","end":"var(--warning)"} %}
|
||||
|
||||
{% include 'partials/section/cta.html.twig' with {"id": "donate", "attr": " bg-warning"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--warning)","end":"var(--white)"} %}
|
||||
|
||||
{% include 'partials/section/cards.html.twig' with {"id": "news", "attr": " bg-white", "section_title": "Latest News", "view_all": true, "items": site.pages | filter_by('section', 'news') | sort_by_date | slice(0, 3)} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--white)","end":"var(--light)"} %}
|
||||
|
||||
{% include 'partials/section/accordion.html.twig' with {"id": "faq", "attr": " bg-light"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--light)","end":"var(--white)"} %}
|
||||
|
||||
{% include 'partials/section/team.html.twig' with {"id": "team", "attr": " bg-white", "section_title": "Team"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--white)","end":"var(--light)"} %}
|
||||
|
||||
{% include 'partials/section/links.html.twig' with {"id": "resources", "attr": " bg-light"} %}
|
||||
|
||||
{% include 'partials/section/wave.html.twig' with {"start":"var(--light)","end":"var(--white)"} %}
|
||||
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,7 @@
|
||||
{% extends '_default/page.html.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include 'partials/section/article.html.twig' with {"id": "news-article", "attr": " bg-white", "heading": "h1"} %}
|
||||
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,11 @@
|
||||
<!--[if lt IE 10]>
|
||||
<div class="mb-0 pt-5 alert alert-warning alert-dismissible fade show" role="alert">
|
||||
<div class="container text-center">
|
||||
<h1><i class="fas fa-exclamation-triangle"></i> {{ 'You are using an outdated browser.' }}</h1>
|
||||
<p>{{ 'Please %supgrade your browser%s to improve your experience.' | format('<a href="https://browsehappy.com/" target="_blank" rel="noopener" class="alert-link">','</a>') }}</p>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<![endif]-->
|
||||
@@ -0,0 +1,19 @@
|
||||
{% extends 'partials/container.html.twig' %}
|
||||
|
||||
{% block container_content %}
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ url('/') }}">Home</a></li>
|
||||
{% if page.section is not empty %}
|
||||
{% set section = site.pages | filter(v => (v.type == 'section' and v.section is defined and v.id == page.section)) | first %}
|
||||
<li class="breadcrumb-item" aria-current="page"><a href="{{ url(section) }}">{{ section.title }}</a></li>
|
||||
{% endif %}
|
||||
{% if page.type == 'page' %}
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ page.title }}</li>
|
||||
{% endif %}
|
||||
{% if page.type == 'section' %}
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ page.title }}</li>
|
||||
{% endif %}
|
||||
</ol>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,7 @@
|
||||
{% block container %}
|
||||
<div {% if id is defined %}id="{{ id }}" {% endif %}class="{% block container_classes %}container-fluid{% endblock %}{% if attr is defined %}{{ attr }}{% endif %}"{% block container_attr %}{% endblock %}>
|
||||
<div class="container py-4 px-lg-5 px-0">
|
||||
{% block container_content %}{% endblock container_content %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock container %}
|
||||
@@ -0,0 +1,55 @@
|
||||
{# template: footer #}
|
||||
<footer class="bg-light text-muted border-top">
|
||||
<div class="container py-4">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center text-md-left">
|
||||
<ul class="list-inline d-flex align-items-center justify-content-center justify-content-md-start">
|
||||
<li class="list-inline-item"><img class="pb-2" alt="GitHub Stars" data-src="https://img.shields.io/github/stars/libimobiledevice/libimobiledevice?style=social"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6 text-center text-md-left">
|
||||
<span class="navbar-text">© {{ "now"|date('Y') }} <strong>{{ site.title }}</strong>. All rights reserved.</span>
|
||||
</div>
|
||||
<div class="col d-flex align-items-center justify-content-center justify-content-md-end">
|
||||
<ul class="nav justify-content-center justify-content-md-end">
|
||||
{% if site.menus.footer is defined %}
|
||||
{% for entry in site.menus.footer | sort_by_weight %}
|
||||
<li class="nav-item{% if url(page) == url(entry.url) %} active{% endif %}">
|
||||
<a class="nav-link" href="{{ url(entry.url) }}">{{ entry.name }}{% if url(page) == url(entry.url) %} <span class="sr-only">(current)</span>{% endif %}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.community.links is defined %}
|
||||
{% for link in site.data.community.links | sort((a, b) => a.weight > b.weight) %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ link.url }}"><i class="{{ link.icon ?? 'fas fa-external-link-alt' }} fa-fw" target="_blank" rel="noopener" title="{{ link.tagline }}"></i></a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ url('news/rss.xml') }}" title="Subscribe to our news" target="_blank" rel="noopener"><i class="fas fa-rss"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{% set footer = site.pages.all['footer'] ?? false %}
|
||||
{% set footer_content = (footer and footer.content is defined) ? footer.content: false %}
|
||||
{% if footer_content != false and footer_content | trim | length %}
|
||||
<div class="row">
|
||||
<div class="col-12 text-center text-md-left">
|
||||
<small class="text-muted">{{- footer.content | replace({'href=': 'class="text-reset" rel="noreferrer" target="_blank" href='}) -}}</small>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col-12 text-center text-md-left">
|
||||
<small class="text-muted">Logo, Artwork & UI by <a href="https://github.com/FunkyM" class="text-reset" target="_blank" rel="noopener">Martin Szulecki</a>.</small> <small class="ml-auto text-muted">Generated by <a href="{{ url(cecil.url) }}" class="text-reset" target="_blank" rel="noopener">{{ cecil.poweredby }}</a> on {{ site.time | date('r') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,10 @@
|
||||
{% if site.googleanalytics is defined and site.googleanalytics is not empty %}
|
||||
<!-- Google Analytics -->
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
ga('create', '{{ site.googleanalytics }}', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
<script async src="//www.google-analytics.com/analytics.js"></script>
|
||||
<!-- End Google Analytics -->
|
||||
{% endif %}
|
||||
@@ -0,0 +1,60 @@
|
||||
{# title #}
|
||||
{% if title is not defined %}
|
||||
{% set title = page.title|e ~ ' · ' ~ site.title|e %}
|
||||
{% if page.id == 'index' %}
|
||||
{% set title = site.title|e ~ ' · ' ~ site.baseline|default(site.description)|e %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{# description #}
|
||||
{% set description = page.description|default(site.description)|e %}
|
||||
{# keywords #}
|
||||
{% set keywords = page.keywords|default(site.keywords)|e %}
|
||||
{# author #}
|
||||
{% set author = page.author|default(site.author)|e %}
|
||||
{% if author.firstname is defined and author.lastname is defined %}
|
||||
{% set author = author.firstname|e ~ ' ' ~ author.lastname|e %}
|
||||
{% endif %}
|
||||
{# image #}
|
||||
{% if site.image is defined %}
|
||||
{% set image = site.image %}
|
||||
{% endif %}
|
||||
{% if page.image is defined %}
|
||||
{% set image = page.image %}
|
||||
{% endif %}
|
||||
{# open graph #}
|
||||
{% set opengraph = {
|
||||
'locale': site.language.locale,
|
||||
'site_name': site.title,
|
||||
'type': 'website',
|
||||
'title': block('title'),
|
||||
'description': block('description'),
|
||||
'url': url(page, {canonical:true}),
|
||||
'image': image|default(),
|
||||
} %}
|
||||
{% if page.opengraph is defined or site.opengraph is defined %}
|
||||
{% set opengraph = opengraph|merge(page.opengraph|default(site.opengraph)) %}
|
||||
{% endif %}
|
||||
{# template #}
|
||||
<title>{% block title %}{{ title }}{% endblock %}</title>
|
||||
<meta name="description" content="{% block description %}{{ description }}{% endblock %}" />
|
||||
<meta name="keywords" content="{{ keywords|join(', ') }}" />
|
||||
{% if author is defined %}
|
||||
<meta name="author" content="{{ author|e }}">
|
||||
{% endif %}
|
||||
{# template: alternates #}
|
||||
{% include 'partials/alternates.html.twig' %}
|
||||
{# template: open graph #}
|
||||
<meta property="og:locale" content="{{ opengraph.locale }}" />
|
||||
<meta property="og:site_name" content="{{ opengraph.site_name }}" />
|
||||
<meta property="og:type" content="{{ opengraph.type }}" />
|
||||
<meta property="og:title" content="{{ block('title') }}" />
|
||||
<meta property="og:description" content="{{ block('description') }}" />
|
||||
<meta property="og:url" content="{{ url(page.url, {canonical:true}) }}" />
|
||||
{% if opengraph.image is not empty %}
|
||||
<meta property="og:image" content="{{ url(opengraph.image, {canonical:true}) }}" />
|
||||
{% endif %}
|
||||
{# template: twitter #}
|
||||
{% if site.twitter.username is defined %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="{{ site.twitter.username }}">
|
||||
{% endif %}
|
||||
@@ -0,0 +1,79 @@
|
||||
{% set anchor_base_url = (page.type == 'homepage' ? '': url('/', {canonical:true})) %}
|
||||
<nav class="navbar navbar-expand-lg navbar-light">
|
||||
<a href="{{ anchor_base_url }}#" class="navbar-brand" title="Go Home">
|
||||
<img class="d-inline-block align-top" src="{{ url('img/logo.svg') }}" alt="Brand for {{ site.title | e }}" height="48" onerror="this.onerror=null; this.src='{{ url('img/logo.png') | e }}'">
|
||||
</a>
|
||||
|
||||
<div class="d-flex text-muted align-items-center d-lg-none ml-auto mr-2">
|
||||
<a class="text-reset mx-2" href="{{ site.data.github.libimobiledevice.libimobiledevice.releases.latest.html_url }}" target="_blank" rel="noopener">v{{ site.data.github.libimobiledevice.libimobiledevice.releases.latest.tag_name }}</a>
|
||||
|
||||
{% if site.data.community.links is defined %}
|
||||
{% for link in site.data.community.links | filter(v => 'development' in v.type or 'socialmedia' in v.type) | sort((a, b) => a.weight > b.weight) %}
|
||||
<a class="text-reset mx-2" href="{{ link.url }}" target="_blank" rel="noopener"><i class="{{ link.icon ?? 'fas fa-external-link-alt' }} fa-fw" target="_blank" rel="noopener" title="{{ link.tagline }}"></i></a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent" data-toggle="collapse" data-target="#navbarSupportedContent.show">
|
||||
|
||||
<ul class="navbar-nav mr-auto">
|
||||
{% if site.menus.main is defined %}
|
||||
{% for entry in site.menus.main | sort_by_weight %}
|
||||
<li class="nav-item{% if (url(page) == url(entry.url)) or (entry.url starts with page.section) %} active{% endif %}">
|
||||
<a class="nav-link" href="{{ url(entry.url) }}">{{ entry.name }}{% if url(page) == url(entry.url) %} <span class="sr-only">(current)</span>{% endif %}</a>
|
||||
</li>
|
||||
{%- if not loop.last %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="{{ anchor_base_url }}#get-started">Get Started</a>
|
||||
<a class="dropdown-item" href="{{ anchor_base_url }}#features">Features</a>
|
||||
<a class="dropdown-item" href="{{ anchor_base_url }}#examples">Examples</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="https://docs.libimobiledevice.org/libimobiledevice/latest">libimobiledevice <span class="badge badge-info">API</span></a>
|
||||
<a class="dropdown-item disabled" href="#" title="Oh noe. Sorry, that one is not available yet.">libideviceactivation <span class="badge badge-muted">API</span></a>
|
||||
<a class="dropdown-item disabled" href="#" title="Oh noe. Sorry, that one is not available yet.">libusbmuxd <span class="badge badge-muted">API</span></a>
|
||||
<a class="dropdown-item disabled" href="#" title="Oh noe. Sorry, that one is not available yet.">libplist <span class="badge badge-muted">API</span></a>
|
||||
<a class="dropdown-item disabled" href="#" title="Oh noe. Sorry, that one is not available yet.">libirecovery <span class="badge badge-muted">API</span></a>
|
||||
</div>
|
||||
</li>
|
||||
{% if false and (site.menus.resources is defined) and (site.menus.resources | length) %}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle{{ page.menu.resources is defined ? ' active': '' }}" href="#" id="dropDownResources" role="button" data-toggle="dropdown" aris-haspopup="true" aria-expanded="false">Resources</a>
|
||||
<div class="dropdown-menu" aria-labelledby="dropDownResources">
|
||||
<a class="dropdown-item" href="{{ anchor_base_url }}#resources">Overview</a>
|
||||
{% for item in site.menus.resources | sort_by_weight %}
|
||||
<a class="dropdown-item{% if url(page) == url(item.url) %} active{% endif %}" href="{{ url(item.url) }}">{{ item.name }}{% if url(page) == url(item.url) %} <span class="sr-only">(current)</span>{% endif %}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ anchor_base_url }}#resources">Resources</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<ul class="navbar-nav ml-auto align-items-center d-none d-md-flex">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ site.data.github.libimobiledevice.libimobiledevice.releases.latest.html_url }}" target="_blank" rel="noopener">v{{ site.data.github.libimobiledevice.libimobiledevice.releases.latest.tag_name }}</a>
|
||||
</li>
|
||||
{% if site.data.community.links is defined %}
|
||||
{% for link in site.data.community.links | filter(v => 'development' in v.type or 'socialmedia' in v.type) | sort((a, b) => a.weight > b.weight) %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ link.url }}"><i class="{{ link.icon ?? 'fas fa-external-link-alt' }} fa-fw" target="_blank" rel="noopener" title="{{ link.tagline }}"></i></a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,62 @@
|
||||
{% extends 'partials/container.html.twig' %}
|
||||
|
||||
{% block container_content %}
|
||||
{% if page.pagination.pages is defined %}
|
||||
{% set pagination = page.pagination %}
|
||||
<nav>
|
||||
<ul class="pagination pagination-sm justify-content-center">
|
||||
{% if pagination.links.first is defined and pagination.links.first != page.id %}
|
||||
<li class="page-item">
|
||||
<a href="{{ url(site.pages[pagination.links.first]) }}" class="page-link"><i class="fas fa-angle-double-left"></i></a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link"><i class="fas fa-angle-double-left"></i></span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if pagination.links.prev is defined %}
|
||||
<li class="page-item">
|
||||
<a href="{{ url(site.pages[pagination.links.prev]) }}" class="page-link"><i class="fas fa-angle-left"></i></a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link"><i class="fas fa-angle-left"></i></span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for page_index in 1..pagination.count %}
|
||||
{% if page_index != pagination.current %}
|
||||
<li class="page-item">
|
||||
<a href="{{ url(site.pages[(pagination.links.last | split('/', -1) | join('/') ~ '/' ~ page_index)]) }}" class="page-link">{{ page_index }}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_index }}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if pagination.links.next is defined %}
|
||||
<li class="page-item">
|
||||
<a href="{{ url(site.pages[pagination.links.next]) }}" class="page-link"><i class="fas fa-angle-right"></i></a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link"><i class="fas fa-angle-right"></i></span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if pagination.links.last is defined and pagination.current != pagination.count %}
|
||||
<li class="page-item">
|
||||
<a href="{{ url(site.pages[pagination.links.last]) }}" class="page-link"><i class="fas fa-angle-double-right"></i></a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link"><i class="fas fa-angle-double-right"></i></span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,24 @@
|
||||
{%- set heading = heading is defined ? heading: 'h2' -%}
|
||||
{%- set section_title = section_title is defined ? section_title: page.title -%}
|
||||
{% block section %}
|
||||
<section {% if id is defined %}id="{{ id }}" {% endif %}class="{% block section_classes %}container-fluid{% endblock section_classes %}{% if attr is defined %}{{ attr }}{% endif %}"{% block section_attr %}{% endblock section_attr %}>
|
||||
<div class="container py-4 p-lg-5 px-0">
|
||||
{% block section_header %}
|
||||
<div class="row section-heading mb-4">
|
||||
<div class="col-12">
|
||||
{{ '<%s class="section-title">%s</%s>' | format(heading, section_title, heading) | raw }}
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<article class="col-12">
|
||||
<div class="entry-content">{{ page.content }}</div>
|
||||
</article>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
{% block section_footer %}{% endblock section_footer %}
|
||||
</div>
|
||||
</section>
|
||||
{% endblock section %}
|
||||
@@ -0,0 +1,64 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">FAQ</h2>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
<div id="accordion" class="accordion bg-transparent">
|
||||
|
||||
<div class="card active mb-5 border-bottom shadow-sm">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<a class="text-dark " data-toggle="collapse" data-parent="#accordion" href="#collapse1" aria-expanded="true">Just installed the library, now what? Nothing happens!</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapse1" class="collapse show" data-parent="#accordion" style="">
|
||||
<div class="card-body">To test if you installed everything correctly plug in your device and run "ideviceinfo" within a terminal. Congratulations if it prints a lot of details about your device. Feel free to checkout <a href="/docs/libimobiledevice/latest/" target="_blank" rel="noopener">the documentation</a> or dive into <a href="https://github.com/libimobiledevice/libimobiledevice/" target="_blank" rel="noopener">the source code</a>.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-5 border-bottom shadow-sm">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<a class="text-dark collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse2" aria-expanded="false">How do I copy music to my device?</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapse2" class="collapse" data-parent="#accordion" style="">
|
||||
<div class="card-body">Sorry, music synchronization with newer devices is currently not supported but if you are a keen developer why not contribute a new service implementation for the <em>ATC Service</em>?</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-5 border-bottom shadow-sm">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<a class="text-dark collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse3" aria-expanded="false">Do I need to use ifuse to access files on my device?</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapse3" class="collapse" data-parent="#accordion">
|
||||
<div class="card-body">iFuse is only useful if you want to mount the device manually and if you do not have GNOME and GVFS installed. Otherwise it is useless since GNOME's GVFS supports accessing the device directly and creates a fuse mount in "$XDG_RUNTIME_DIR/.gvfs", too.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-5 border-bottom shadow-sm">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<a class="text-dark collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse4" aria-expanded="false">Does the library to device communication break everytime a new iOS<sup>®</sup> is out?</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapse4" class="collapse" data-parent="#accordion">
|
||||
<div class="card-body">The library has shown to be compatible with firmware releases going back to the 1.x series up to todays without issues. At rare times, bugs introduced by the firmware had to be worked around with simple fixes but nothing major prevented it from working. Thus in effect, the implementation proves very stable and compatible among firmware releases.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,29 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{%- set heading = heading is defined ? heading: 'h2' -%}
|
||||
|
||||
{% block section_header %}{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<article>
|
||||
<header class="mb-4">
|
||||
{{ '<%s class="section-title">%s</%s>' | format(heading, page.title, heading) | raw }}
|
||||
<p class="text-muted">Posted on <time>{{ page.date | localizeddate('long', 'short') }}</time>{% if page.author is defined %} by {% if page.author starts with 'http' %}<a href="{{ url(page.author) }}" target="_blank" rel="noreferrer">{{ '@' ~ (page.author | split('/') | last) }}</a>{% else %}{{ page.author }}{% endif %}{% endif %}</p>
|
||||
</header>
|
||||
<hr class="bg-info">
|
||||
<div class="row mt-4">
|
||||
{% if page.image is defined %}
|
||||
<div class="col-12 col-md-4 order-md-last">
|
||||
<div class="entry-image border mb-4"><img src="{{ url(page.image) }}" class="img-fluid" alt="{{ page.title }}"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col">
|
||||
<div class="entry-content">{{ page.content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,111 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Features</h2>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row mt-5">
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInLeft">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-mobile-alt fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Native Protocols</h2>
|
||||
<p>The library implements the native protocols needed to communicate with services running on iOS devices. Due to the reimplemention it does not depend on using or bundling any existing libraries from Apple.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInRight">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-microchip fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Cross-Platform</h2>
|
||||
<p>The C programming language enables cross-platform use of the library. It has already been built and run on <strong><i class="fab fa-linux fa-fw"></i> Linux</strong>, <strong><i class="fab fa-apple fa-fw"></i> Mac</strong>, <strong><i class="fab fa-windows fa-fw"></i> Windows</strong>, <strong><i class="fab fa-android fa-fw"></i> Android</strong> and embedded <i class="fas fa-microchip fa-fw"></i> <strong>ARM</strong> SoCs.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInLeft">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-sitemap fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Architecture</h2>
|
||||
<p>The architecture of the library and dependencies has been designed with an OOP approach in mind. Thus bindings for other programming languages are easier to create and allow an OOP based API.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInRight">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fab fa-linux fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Motivation</h2>
|
||||
<p>Linux enthusiasts were not amused about great but incompatible hardware like the iPhone 2G. As iTunes was not available for Linux <em>libiphone</em> was born. This became <em>libimobiledevice</em> with the goal to bring freedom and "allow penguins to talk to fruits".</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInLeft">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-terminal fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Command-Line</h2>
|
||||
<p>Many command-line utilities come bundled with the library that allow interacting with iOS device services already. This covers retrieving basic device information up to restoring official firmware images.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInRight">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-wifi fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Network Support</h2>
|
||||
<p>Devices that have "Wifi Sync" enabled can be accessed wirelessly and do not require a wired USB connection anymore with iOS 11 and later.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInLeft">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-history fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Years of Research</h2>
|
||||
<p>Due to being in development since 2007 the library supports the range from the first to the latest iOS device. This is an achievement of many years of research and development.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-5 animate" data-animation="fadeInRight">
|
||||
<div class="row">
|
||||
<div class="col-3 col-lg-2 media justify-content-center text-center">
|
||||
<h3><i class="fas fa-chart-line fa-2x"></i></h3>
|
||||
</div>
|
||||
<div class="col-9 col-lg-10 text-left media-body">
|
||||
<h2 class="m-0 mb-3">Scalability</h2>
|
||||
<p>Being integrated by popular community projects as well as large implementations which interact with more than 10.000+ of devices provide a good reference point for high scalability and efficiency of this solution.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,42 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3">
|
||||
{% for item in items %}
|
||||
<div class="col mb-4">
|
||||
<div class="card h-100 shadow-hover filter-grayscale-hover-trigger">
|
||||
{% if item.image is defined %}
|
||||
<div class="card-img-top border-bottom overflow-hidden" style="max-height: 160px">
|
||||
<a href="{{ url(item) }}">
|
||||
<img data-src="{{ item.image | resize(384) | url }}" class="img-fluid filter-grayscale-hover" alt="{{ item.title | e }} Picture">
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="card-img-top border-bottom overflow-hidden" style="max-height: 160px">
|
||||
<a href="{{ url(item) }}">
|
||||
<img data-src="{{ url('img/logo.svg') }}" class="img-fluid filter-grayscale-hover" height="180" alt="Download">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="card-body">
|
||||
<h5 class="card-title"><a href="{{ url(item) }}" class="text-reset">{{ item.title | e }}</a></h5>
|
||||
<p class="card-text">{{ item.content | excerpt_html }}</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<p class="card-text"><small class="text-muted">{{ item.date | localizeddate('medium', 'short') }}</small></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
|
||||
{% block section_footer %}
|
||||
{% if view_all is defined and view_all != false %}
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<a href="{{ url(site.pages['news']) }}">View all</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock section_footer %}
|
||||
@@ -0,0 +1,37 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Join the Community</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-12">
|
||||
<p class="lead">We are thrilled that you would like to contribute to this project. Your help is essential for keeping it great.</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row row-cols-2 row-cols-md-2 row-cols-lg-3 row-cols-xl-3">
|
||||
|
||||
{% if site.data.community.links is defined %}
|
||||
{% for link in site.data.community.links | sort((a, b) => a.weight > b.weight) %}
|
||||
<div class="col mb-4 h-100">
|
||||
<div class="card justify-content-center mb-1 border-0">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="card-body">
|
||||
<div class="card-img-top"><i class="{{ link.icon ?? 'fas fa-external-link-alt' }} fa-2x" title="{{ link.title }}"></i></div>
|
||||
<hr class="border-warning">
|
||||
<a target="_blank" rel="noopener" href="{{ link.url }}" class="card-link text-dark stretched-link"><h5 class="my-2">{{ link.tagline }}</h5></a>
|
||||
<p class="card-text">{{ link.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,27 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{%- set heading = heading is defined ? heading: 'h2' -%}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading mb-4">
|
||||
<div class="col-12">
|
||||
{{ '<%s class="section-title">%s</%s>' | format(heading, page.title, heading) | raw }}
|
||||
<hr class="bg-info">
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<article>
|
||||
<div class="entry-content">{{ page.content }}</div>
|
||||
</article>
|
||||
</div>
|
||||
{% if page.image is defined %}
|
||||
<div class="col-4">
|
||||
<div class="entry-image border"><img src="{{ url(page.image) }}" class="img-fluid border border-light" alt="{{ page.title }}"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,29 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Support freedom with a donation</h2>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-7">
|
||||
<p class="lead">
|
||||
Want features to get implemented <strong>faster</strong>?<br/>
|
||||
Want to thank us for our <strong>countless hours of work?</strong><br/>
|
||||
Want to help us to support <strong>newer devices and firmware versions?</strong><br/>
|
||||
... or help us to buy lightning cables that just break so fast?
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-12 col-md-5 justify-content-center justify-content-md-right d-flex align-items-start">
|
||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="p-0 pt-4 pt-md-0 m-0">
|
||||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="6L7MPH54X7SHW">
|
||||
<button type="submit" class="btn btn-primary btn-lg" name="submit"><i class="fab fa-paypal fa-fw"></i> Enter amount with PayPal ...</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,66 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading text-white">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Download</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<p class="lead text-white">Please select a component to view download, release and dependency information of the latest release.</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row row-cols-1 row-cols-md-1 row-cols-lg-1">
|
||||
|
||||
{% set repos = site.data.github.libimobiledevice.repos | filter(p => site.data.github.libimobiledevice[p.name].releases.latest is defined) | sort((a, b) => a.stargazers_count < b.stargazers_count) %}
|
||||
|
||||
{% for repo in repos %}
|
||||
{% set release = site.data.github.libimobiledevice[repo.name].releases.latest %}
|
||||
<div class="col mb-4">
|
||||
<div id="download-{{ repo.name | slugify | e }}" class="card card-download accordion h-100 shadow">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title mb-0"><a class="accordion-header collapsed text-reset" data-toggle="collapse" data-parent="#download-{{ repo.name | slugify | e }}" href="#download-details-{{ repo.name | slugify | e }}" aria-expanded="true"><i class="fas fa-angle-right"></i> {{ repo.name }}</a> <a href="{{ release.html_url }}"><small class="font-weight-light text-muted">{{ release.tag_name }}</small></a>{% if repo.name == 'libplist' %} <div class="float-right"><img alt="GitHub Workflow Status" data-src="https://img.shields.io/github/workflow/status/libimobiledevice/{{ repo.name }}/build"></div>{% endif %}</h3>
|
||||
</div>
|
||||
<div class="card-details collapse" id="download-details-{{ repo.name | slugify | e }}" data-parent="#download-{{ repo.name | slugify | e }}">
|
||||
<div class="card-body">
|
||||
<p class="card-text">{{ repo.description }}</p>
|
||||
{% for download in release.assets %}
|
||||
<a href="{{ download.browser_download_url }}" class="btn btn-success btn-sm mb-0"><i class="fas fa-download fa-fw mr-2"></i>Download (<em>{{ download.name | split('.') | slice(-2, 2) | join('.') }}</em>)</a>
|
||||
{% endfor %}
|
||||
|
||||
{% if repo.license.key is defined and repo.license.key != 'other' %}
|
||||
{% set license = repo.license %}
|
||||
<span class="text-muted mx-2"><i class="fas fa-balance-scale fa-fw mr-2"></i><a href="http://choosealicense.com/licenses/{{ license.key }}" target="_blank" rel="noreferrer" class="text-reset" title="View {{ license.name | e }}">{{ repo.license.spdx_id }} License</a></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% set deps = site.data.github.libimobiledevice[repo.name].dependencies %}
|
||||
{% if deps | length %}
|
||||
<div class="card-header border-top">
|
||||
<small class="text-muted">Depends on:</small>
|
||||
<ul class="list-inline m-0">
|
||||
{% for dep in deps | sort((a, b) => (site.data.github.libimobiledevice[a] is defined) ? 0: ((site.data.github.libimobiledevice[b] is defined) ? 1: a > b)) %}
|
||||
{% set isDepExternal = (site.data.github.libimobiledevice[dep] is defined) ? false: true %}
|
||||
<li class="list-inline-item">{% if not isDepExternal %}<a href="#download-{{ dep | slugify | e }}" class="text-reset">{% endif %}<span class="badge p-1{{ isDepExternal ? ' badge-dark': ' badge-info' }}">{{ dep }}</span>{% if not isDepExternal %}</a>{% endif %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% else %}
|
||||
<hr>
|
||||
{% endif %}
|
||||
{% if release.body is defined and release.body | trim | length %}
|
||||
<div class="card-body">
|
||||
{{ release.body | trim | replace({'# ': '#### '}) | markdown_to_html | raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,145 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
{% set anchor_base_url = (page.type == 'homepage' ? '': url('/', {canonical:true})) %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5 mb-5 mb-lg-0">
|
||||
<p class="section-title">Native Protocols</p>
|
||||
<h2 class="entry-title mb-4">Control devices running latest iOS firmware</h2>
|
||||
<div class="entry-content">
|
||||
<p>The library has been architected for easy access to native device features using an object-oriented higher-level API.</p>
|
||||
<p>This allows interacting with various native device service APIs to manage Apps, Backup, Filesystem, Debugging, Activation, Provisioning, SpringBoard, Syslog, Firmware Updates and much more.</p>
|
||||
<p>You can also use the bundled command-line utilities for these if you do not actually develop an application.</p>
|
||||
<a href="{{ anchor_base_url }}#get-started" class="btn btn-lg btn-info" role="button"><i class="fas fa-rocket fa-fw"></i> Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-7" style="opacity: 0.95;">
|
||||
{# Tabs #}
|
||||
{% apply spaceless %}
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="example-content-connecting-tab" data-toggle="tab" href="#example-content-connecting" role="tab" aria-controls="example-content-connecting" aria-selected="true">Connect (C)</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="example-content-info-tab" data-toggle="tab" href="#example-content-info" role="tab" aria-controls="example-content-info" aria-selected="true">Read (C)</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="example-content-utilities-tab" data-toggle="tab" href="#example-content-utilities" role="tab" aria-controls="example-content-utilities" aria-selected="true">Utilities (Console)</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endapply %}
|
||||
|
||||
{# Tabs Content #}
|
||||
<div class="tab-content bg-white" id="example-content-tabs-content">
|
||||
|
||||
<div class="tab-pane p-1 border-left border-right border-bottom show active" id="example-content-connecting" role="tabpanel" aria-labelledby="example-content-connecting-tab">
|
||||
<pre class="border border-muted rounded-lg mb-0"><code class="language-c c">{{ '...
|
||||
#include "libimobiledevice/libimobiledevice.h"
|
||||
|
||||
/* Unique Device Identifier */
|
||||
static char *udid = NULL;
|
||||
|
||||
/* Device Handle */
|
||||
idevice_t device = NULL;
|
||||
|
||||
/* Try to connect to first USB device */
|
||||
if (idevice_new_with_options(*device, NULL, IDEVICE_LOOKUP_USBMUX) != IDEVICE_E_SUCCESS) {
|
||||
printf("ERROR: No device found!\\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Retrieve the udid of the connected device */
|
||||
if (idevice_get_udid(device, *udid) != IDEVICE_E_SUCCESS) {
|
||||
printf("ERROR: Unable to get the device UDID.\\n");
|
||||
idevice_free(device);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Outputs device identifier */
|
||||
printf("Connected with UDID: %s\\n", udid);
|
||||
|
||||
/* Cleanup */
|
||||
idevice_free(device);
|
||||
free(udid);
|
||||
...' | e('html') }}</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane p-1 border-left border-right border-bottom" id="example-content-info" role="tabpanel" aria-labelledby="example-content-info-tab">
|
||||
<pre class="border border-muted rounded-lg mb-0"><code class="language-c c">{{ '...
|
||||
#include "libimobiledevice/lockdown.h"
|
||||
|
||||
/* Lockdown Service Handle */
|
||||
lockdownd_client_t lockdown = NULL;
|
||||
|
||||
/* Handshake with lockdownd */
|
||||
lockdownd_client_new_with_handshake(device, *lockdown, "myapp");
|
||||
|
||||
/* Use the plist format */
|
||||
plist_t node = NULL;
|
||||
|
||||
/* Our result */
|
||||
char *value = NULL;
|
||||
|
||||
/* Retrieve "DeviceColor" setting value from device */
|
||||
if(lockdownd_get_value(lockdown, NULL, "DeviceColor", *node) != LOCKDOWN_E_SUCCESS) {
|
||||
lockdownd_client_free(lockdown);
|
||||
idevice_free(device);
|
||||
printf("ERROR: Unable to retrieve setting key DeviceColor from device.\\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get string value from node */
|
||||
plist_get_string_val(node, *value);
|
||||
|
||||
/* Output device color value */
|
||||
printf("%s value is: %s\\n", "DeviceColor", value);
|
||||
|
||||
/* Cleanup */
|
||||
free(value);
|
||||
lockdownd_client_free(lockdown);
|
||||
...' | e('html') }}</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane p-1 border-left border-right border-bottom" id="example-content-utilities" role="tabpanel" aria-labelledby="example-content-utilities-tab">
|
||||
<pre class="border border-muted rounded-lg mb-0"><code class="language-shell-session shell">{{ '$ ideviceinfo -k ProductVersion
|
||||
12.4
|
||||
$ ideviceinfo -s
|
||||
BasebandCertId: xxxxxxxxxx
|
||||
BasebandKeyHashInformation:
|
||||
AKeyStatus: 2
|
||||
SKeyHash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
SKeyStatus: 0
|
||||
BasebandSerialNumber: xxxxxxxx
|
||||
BasebandVersion: 7.80.04
|
||||
BoardId: 4
|
||||
BuildVersion: 16G77
|
||||
ChipID: 28672
|
||||
DeviceClass: iPhone
|
||||
DeviceColor: #e1e4e3
|
||||
DeviceName: iPhone 6 Plus
|
||||
DieID: xxxxxxxxxxxxxxx
|
||||
HardwareModel: N56AP
|
||||
HasSiDP: true
|
||||
PartitionType: GUID_partition_scheme
|
||||
ProductName: iPhone OS
|
||||
ProductType: iPhone7,1
|
||||
ProductVersion: 12.4
|
||||
ProductionSOC: true
|
||||
ProtocolVersion: 2
|
||||
TelephonyCapability: true
|
||||
UniqueChipID: xxxxxxxxxxxxxxx
|
||||
UniqueDeviceID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
WiFiAddress: xx:xx:xx:xx:xx:xx
|
||||
$ ideviceactivation state
|
||||
ActivationState: Activated
|
||||
$ idevicediagnostics restart
|
||||
Restarting device.' | e('html') }}</code></pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,249 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Get Started</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<p class="lead">Please choose your platform of choice below to see instructions on how to get started.</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
{# Tabs #}
|
||||
{% apply spaceless %}
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="linux-tab" data-toggle="tab" href="#getstarted-linux" role="tab" aria-controls="getstarted-linux" aria-selected="true" title="Linux"><i class="fab fa-linux fa-fw"></i> Linux</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="macos-tab" data-toggle="tab" href="#getstarted-macos" role="tab" aria-controls="getstarted-macos" aria-selected="true" title="Mac"><i class="fab fa-apple fa-fw"></i> Mac</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="windows-tab" data-toggle="tab" href="#getstarted-windows" role="tab" aria-controls="getstarted-windows" aria-selected="true" title="Windows"><i class="fab fa-windows fa-fw"></i> Windows</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="raspberry-pi-tab" data-toggle="tab" href="#getstarted-raspberry-pi" role="tab" aria-controls="getstarted-raspberry-pi" aria-selected="true" title="Raspberry Pi"><i class="fab fa-raspberry-pi fa-fw"></i> Pi</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endapply %}
|
||||
|
||||
{# Tabs Content #}
|
||||
<div class="tab-content bg-white" id="gestarted-tabs-content">
|
||||
|
||||
<div class="tab-pane pt-4 border-left border-right border-bottom fade show active" id="getstarted-linux" role="tabpanel" aria-labelledby="linux-tab">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 mb-2">
|
||||
|
||||
{#- Platform Options -#}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
{#- List group -#}
|
||||
<div class="list-group" id="getstarted-linux-tablist" role="tablist">
|
||||
<a class="list-group-item list-group-item-action active" data-toggle="list" href="#getstarted-linux-source" role="tab">From Source <em>(Debian)</em></a>
|
||||
<a class="list-group-item list-group-item-action" data-toggle="list" href="#getstarted-linux-ubuntu" role="tab">Using Ubuntu</a>
|
||||
<a class="list-group-item list-group-item-action" data-toggle="list" href="#getstarted-linux-opensuse" role="tab">Using openSUSE</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-9 mb-2">
|
||||
{#- Tab panes -#}
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="getstarted-linux-source" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Install Dependencies</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo apt-get install \
|
||||
build-essential \
|
||||
checkinstall \
|
||||
git \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool-bin \
|
||||
libplist-dev \
|
||||
libusbmuxd-dev \
|
||||
libssl-dev \
|
||||
usbmuxd</code></pre>
|
||||
<h4 class="border-bottom pb-2">Build</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ ./autogen.sh \
|
||||
--prefix=/opt/local \
|
||||
--enable-debug
|
||||
$ make</code></pre>
|
||||
<h4 class="border-bottom pb-2">Install</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo make install</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="getstarted-linux-ubuntu" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Installation</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo apt-get install libimobiledevice usbmuxd</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="getstarted-linux-opensuse" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Installation</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo zypper install libimobiledevice6 usbmuxd</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane pt-4 border-left border-right border-bottom fade" id="getstarted-macos" role="tabpanel" aria-labelledby="macos-tab">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
{#- Platform Options -#}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
{#- List group -#}
|
||||
<div class="list-group" id="getstarted-macos-tablist" role="tablist">
|
||||
{#- <a class="list-group-item list-group-item-action active" data-toggle="list" href="#getstarted-macos-source" role="tab">From Source</a> -#}
|
||||
<a class="list-group-item list-group-item-action active" data-toggle="list" href="#getstarted-macos-macports" role="tab">Using Macports</a>
|
||||
<a class="list-group-item list-group-item-action" data-toggle="list" href="#getstarted-macos-homebrew" role="tab">Using Homebrew</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-9 mb-2">
|
||||
{#- Tab panes -#}
|
||||
<div class="tab-content">
|
||||
{#-
|
||||
<div class="tab-pane active" id="getstarted-macos-source" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Install Dependencies</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo apt-get install \
|
||||
build-essential \
|
||||
checkinstall \
|
||||
git \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool-bin \
|
||||
libplist-dev \
|
||||
libusbmuxd-dev \
|
||||
libssl-dev \
|
||||
usbmuxd</code></pre>
|
||||
<h4 class="border-bottom pb-2">Build</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ ./autogen.sh \
|
||||
--prefix=/opt/local \
|
||||
--enable-debug
|
||||
$ make
|
||||
$ sudo make install</code></pre>
|
||||
</div>
|
||||
-#}
|
||||
|
||||
<div class="tab-pane active" id="getstarted-macos-macports" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Installation</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo port install libimobiledevice</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="getstarted-macos-homebrew" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Installation</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ brew install libimobiledevice</code></pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane pt-4 border-left border-right border-bottom fade" id="getstarted-windows" role="tabpanel" aria-labelledby="windows-tab">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 mb-2">
|
||||
{#- Template: Alert -#}
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<h5 class="alert-heading">Sorry, we're incomplete here.</h5>
|
||||
<strong>Ay caramba!</strong> The website is not complete yet at this place! Please bear with us or take a lead and <a class="alert-link" href="https://github.com/libimobiledevice/libimobiledevice/" target="_blank" rel="noopener">contribute</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane pt-4 border-left border-right border-bottom fade" id="getstarted-raspberry-pi" role="tabpanel" aria-labelledby="raspberry-pi-tab">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-3 mb-2">
|
||||
{#- List group -#}
|
||||
<div class="list-group" id="getstarted-raspberry-pi-tablist" role="tablist">
|
||||
<a class="list-group-item list-group-item-action active" data-toggle="list" href="#getstarted-raspberry-pi-source" role="tab">From Source <em>(Pi OS)</em></a>
|
||||
<a class="list-group-item list-group-item-action" data-toggle="list" href="#getstarted-raspberry-pi-raspberry-pi-os" role="tab">Using Raspberry Pi OS</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-9 mb-2">
|
||||
{#- Tab panes -#}
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="getstarted-raspberry-pi-source" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Install Dependencies</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo apt-get install \
|
||||
build-essential \
|
||||
checkinstall \
|
||||
git \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool-bin \
|
||||
libplist-dev \
|
||||
libusbmuxd-dev \
|
||||
libssl-dev \
|
||||
usbmuxd</code></pre>
|
||||
<h4 class="border-bottom pb-2">Build</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ ./autogen.sh \
|
||||
--prefix=/opt/local \
|
||||
--enable-debug
|
||||
$ make
|
||||
$ sudo make install</code></pre>
|
||||
</div>
|
||||
<div class="tab-pane" id="getstarted-raspberry-pi-raspberry-pi-os" role="tabpanel">
|
||||
<h4 class="border-bottom pb-2">Open Terminal</h4>
|
||||
<p>Open a command-line terminal on your machine.</p>
|
||||
<h4 class="border-bottom pb-2">Installation</h4>
|
||||
<p>Enter the commands provided below.</p>
|
||||
<pre class="border border-muted rounded-lg"><code class="language-shell-session shell">$ sudo apt-get install libimobiledevice usbmuxd</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,31 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section %}
|
||||
{% set anchor_base_url = (page.type == 'homepage' ? '': url('/', {canonical:true})) %}
|
||||
<section id="jumbotron">
|
||||
<div class="container-fluid p-0">
|
||||
<div class="jumbotron jumbotron-fluid m-0 pb-0 px-md-5 text-center position-relative" style="background-image: url('{{ url('img/xs-vector.svg') }}'); background-repeat: no-repeat; background-position: 50% 20%; background-blend-mode: overlay; background-size: contain;">
|
||||
<div class="svg">{{- asset('img/logo-gradient.svg') | inline | raw -}}</div>
|
||||
|
||||
<div class="py-3"><div class="img-fluid d-inline-block" style="width: 60%; fill: var(--dark); stroke: var(--dark);">{{- asset('img/brand-name.svg') | inline | raw -}}</div></div>
|
||||
|
||||
<p class="lead font-weight-normal">{{ site.baseline | e('html') }}</p>
|
||||
<hr>
|
||||
<p class="font-weight-light">... and a bunch of libraries and command-line utilities.</p>
|
||||
|
||||
<a class="btn btn-lg btn-info mb-2 mx-1" href="{{ anchor_base_url }}#get-started" role="button"><i class="fas fa-rocket fa-fw"></i> Get Started</a>
|
||||
<div class="btn-group mx-1" role="group">
|
||||
<a class="btn btn-lg btn-success mb-2" href="{{ anchor_base_url }}#downloads" role="button"><i class="fas fa-download fa-fw"></i> Download</a>
|
||||
<a id="download-btn-dropdown" class="btn btn-lg btn-success dropdown-toggle dropdown-toggle-split mb-2" href="https://github.com/libimobiledevice/libimobiledevice/releases/latest" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-reference="parent"><span class="sr-only">Toggle Dropdown</span></a>
|
||||
|
||||
<div class="dropdown-menu" aria-labelledby="download-btn-dropdown">
|
||||
{% set repos = site.data.github.libimobiledevice.repos | filter(p => site.data.github.libimobiledevice[p.name].releases.latest is defined) | sort((a, b) => (a.name | length) > (b.name | length)) %}
|
||||
{% for repo in repos %}
|
||||
<a class="dropdown-item" href="{{ attribute(site.data.github.libimobiledevice[repo.name].releases.latest.assets | first, 'browser_download_url') }}">{{ repo.name }} <span class="font-weight-light text-muted">{{ site.data.github.libimobiledevice[repo.name].releases.latest.tag_name }}</span></a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock section %}
|
||||
@@ -0,0 +1,50 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}
|
||||
<div class="row section-heading">
|
||||
<div class="col-12">
|
||||
<h2 class="section-title mb-5">Resources</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-12">
|
||||
<p class="lead">Our growing community created a wide variety of applications, language bindings, binary builds, integrations and other resources that can be helpful. Below is a collection of links to some of the most popular resources and related people.</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row row-cols-1 row-cols-md-1 row-cols-lg-2 row-cols-xl-3">
|
||||
|
||||
<div class="col mb-4 h-100">
|
||||
<h5 class="">Projects <div class="badge text-muted align-top"><i class="fas fa-external-link-alt fa-fw"></i></div></h5>
|
||||
<hr class="border-warning">
|
||||
<div class="list-group">
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://ios-driver.github.io/ios-driver/">Automate any native, hybrid or mobile web application on iOS with Selenium using libimobiledevice.</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://cgit.sukimashita.com/python-idevicesync.git/">PIM sync using libimobiledevice. Provides a Conduit module.</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://github.com/bryanforbes/imobilesync/">Another PIM Python sync "imobilesync" library. Provides a Conduit module.</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://gitlab.gnome.org/GNOME/nautilus-ideviceinfo/">Show device information details in a Nautilus property page on Gdesktops.</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://cgit.libimobiledevice.org/sbmanager.git/">Manage SpringBoard Icons using libimobiledevice.</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://github.com/JonathanBeck/kio_afc">KDE KIO Slave filesystem access using libimobiledevice.</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col mb-4 h-100">
|
||||
<h5 class="">People <div class="badge text-muted align-top"><i class="fas fa-external-link-alt fa-fw"></i></div></h5>
|
||||
<hr class="border-warning">
|
||||
<div class="list-group">
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="http://matt.colyer.name/">"Inventor" Matt Colyer</a>
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://marcan.st/posts/">Hector Martin, creator of a custom usbmuxd implementation</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col mb-4 h-100">
|
||||
<h5 class="">Trusted Partners <div class="badge text-muted align-top"><i class="fas fa-external-link-alt fa-fw"></i></div></h5>
|
||||
<hr class="border-warning">
|
||||
<div class="list-group">
|
||||
<a class="list-group-item list-group-item-action" target="_blank" rel="noreferrer" href="https://mirell.com">Mirell Development provides solutions, software services, support and training around libimobiledevice.</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<blockquote class="blockquote text-center">
|
||||
<p class="mb-0">We'll miss you, Steve.</p>
|
||||
<footer class="blockquote-footer text-light"><a href="https://www.apple.com/stevejobs/" target="_blank" rel="noreferrer" class="text-white">Steve Jobs</a>, 1955 - 2011</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,39 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12 mb-4">
|
||||
<h2 class="entry-title mb-4">Device Services</h2>
|
||||
<div class="entry-content">
|
||||
<p>The following list shows all iOS device services, their current state of implementation in the library and firmware compatibility.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 mb-5 mb-lg-0">
|
||||
<table class="table table-block-md table-striped table-hover table-bordered table-responsive-sm bg-white">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th scope="col" class="d-none d-md-table-cell">Service</th>
|
||||
<th scope="col" class="d-none d-md-table-cell">Progress</th>
|
||||
<th scope="col" class="d-none d-md-table-cell text-md-center">iOS</th>
|
||||
<th scope="col" class="d-none d-md-table-cell">Note</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for service in site.data.services %}
|
||||
{% set state_context = (service.state == 'done' ? 'success': (service.state == 'partly' ? 'warning': 'dark')) %}
|
||||
<tr class="mb-4 mb-md-auto">
|
||||
<th scope="row"><i class="fas fa-cog fa-fw text-info mr-2"></i>{{ service.id }}</th>
|
||||
<td{% if service.state != 'none' %} class="table-{{ state_context }}"{% endif %}><strong class="d-md-none">Progress: </strong><div class="d-inline-block">{{ service.state | capitalize }}<div></td>
|
||||
<td class="text-md-center"><strong class="d-md-none">iOS: </strong>{{ service.firmware }}</td>
|
||||
<td{{ service.comment | length ? '': ' class="d-none d-md-table-cell"' }}>{{ service.comment }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<caption class="alert alert-warning w-100">This list is based on known services until iOS 13.5.</caption>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,23 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row row-cols-2 row-cols-md-3 row-cols-lg-4">
|
||||
|
||||
{% for member in site.data.github.libimobiledevice.members %}
|
||||
<div class="col mb-4">
|
||||
<div class="card h-100 shadow-sm text-center">
|
||||
{% set avatar_asset = site.static | filter(s => (s.path starts with 'img/members') and (s.basename == member.login)) | first %}
|
||||
{% set avatar_url = avatar_asset and avatar_asset.path is defined ? (attribute(avatar_asset, 'path') | resize(256) | url): member.avatar_url %}
|
||||
<div class="overflow-hidden card-img-top p-5" style="">
|
||||
<img data-src="{{ avatar_url }}" class="img-fluid border border-light rounded-circle" alt="{{ member.login | e }}">
|
||||
</div>
|
||||
<div class="card-body pt-0">
|
||||
<h6 class="card-title">{{ member.name | e }}</h6>
|
||||
<a class="card-link" target="_blank" rel="noopener" href="{{ member.html_url }}">@{{ member.login | e }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,17 @@
|
||||
{% extends 'partials/section.html.twig' %}
|
||||
|
||||
{% block section_header %}{% endblock section_header %}
|
||||
|
||||
{% block section_content %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="alert alert-warning alert-dismissible fade show m-0 text-center" role="alert">
|
||||
<h4 class="alert-heading"><i class="fas fa-hard-hat fa-fw"></i> Under Construction</h4>
|
||||
<strong>Ay caramba!</strong> This website is not complete yet! Please bear with us as we work on making it available using Github Pages for everyone to contribute!
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock section_content %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{# template: wave #}
|
||||
{%- apply spaceless %}
|
||||
{% set start = start | default('transparent') %}
|
||||
{% set end = end | default('transparent') %}
|
||||
{% set height = height | default('200') %}
|
||||
<div class="shape-1 bottom" style="background-color: {{ start }}; overflow: hidden; width: 100%; height: {{ height }}px;">
|
||||
<svg viewBox="0 0 600 {{ height }}" preserveAspectRatio="none" style="width: 100%; height: 100%; -webkit-transform: scale(1); transform: scale(1);"><path d="M 0,{{ height / 2 }} C {{ height }},{{ height }} 400,-{{ height / 2 }} 600,{{ height / 2 }} V {{ height }} H 0 Z" style="stroke: none; fill: {{ end }};"></path></svg>
|
||||
</div>
|
||||
{% endapply -%}
|
||||
@@ -0,0 +1,3 @@
|
||||
{% extends '_default/cards.html.twig' %}
|
||||
|
||||
{% block body_classes %}{{ parent() }} section-news{% endblock body_classes %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends '_default/page.html.twig' %}
|
||||
|
||||
{% block body_classes %}{{ parent() }} template-status-table{% endblock body_classes %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include 'partials/section/status-table.html.twig' with {"id": "status-table", "attr": " bg-white", "heading": "h1"} %}
|
||||
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.13.1",
|
||||
"animate-sass": "https://github.com/tgdev/animate-sass",
|
||||
"bootstrap": "^4.5.0",
|
||||
"jquery": "^3.5.1",
|
||||
"popper.js": "^1.16.1",
|
||||
"smoothscroll-polyfill": "^0.4.4",
|
||||
"waypoints": "^4.0.1"
|
||||
}
|
||||
}
|
||||