diff --git a/src/meson.build b/src/meson.build index 8243f3d5..c03ccb88 100644 --- a/src/meson.build +++ b/src/meson.build @@ -37,6 +37,16 @@ rlottie_dep = declare_dependency( include_directories: inc, link_with : rlottie_lib) +if (cc.get_id() == 'emscripten') + + subdir('wasm') + + executable('rlottie-wasm', + [], + dependencies : [rlottie_dep, rlottie_wasm_dep], + ) +endif + pkg_mod = import('pkgconfig') pkg_mod.generate( libraries : rlottie_lib, diff --git a/src/wasm/meson.build b/src/wasm/meson.build new file mode 100644 index 00000000..9100bf0b --- /dev/null +++ b/src/wasm/meson.build @@ -0,0 +1,5 @@ +source_file = files('rlottiewasm.cpp') + + rlottie_wasm_dep = declare_dependency(include_directories + : include_directories('.'), sources + : source_file) \ No newline at end of file diff --git a/src/wasm/rlottiewasm.cpp b/src/wasm/rlottiewasm.cpp new file mode 100644 index 00000000..4c759cc7 --- /dev/null +++ b/src/wasm/rlottiewasm.cpp @@ -0,0 +1,109 @@ +#include +#include + +#include "rlottie.h" + +#include + +using namespace emscripten; + +const char *resource = "{\"v\":\"5.1.8\",\"fr\":60,\"ip\":3,\"op\":140,\"w\":500,\"h\":500,\"nm\":\"ANUB\",\"ddd\":0,\"assets\":[],\"layers\":[{\"ddd\":0,\"ind\":1,\"ty\":4,\"nm\":\"a\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-3.113,\"ix\":10},\"p\":{\"a\":0,\"k\":[327.214,315.758,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-17,77,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[-100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-20.2,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-13.001,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-3.399,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":2.999,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":13.4,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":20.599,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":32.599,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":42.2,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":49.999,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":58.999,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":66.2,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":78.2,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":87.8,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":94.999,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":104.599,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":111.8,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":123.8,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":133.999,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"t\":138.99921875}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.133333333333,0.109803921569,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":15,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-22,82],\"ix\":2},\"a\":{\"a\":0,\"k\":[-22,82],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":-3,\"op\":289,\"st\":-20.2,\"bm\":0},{\"ddd\":0,\"ind\":2,\"ty\":4,\"nm\":\"b\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-6,\"ix\":10},\"p\":{\"a\":0,\"k\":[221.537,318.968,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-17,77,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-2.4,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":3,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":14.401,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":21.6,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":31.2,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":43.2,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":50.401,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":60,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":67.2,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":76.799,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":88.799,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":96,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":105.6,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":112.799,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":122.401,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":132,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"t\":139.000390625}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.133333333333,0.109803921569,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":15,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-22,82],\"ix\":2},\"a\":{\"a\":0,\"k\":[-22,82],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":288,\"st\":-2.4,\"bm\":0},{\"ddd\":0,\"ind\":3,\"ty\":4,\"nm\":\"c\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-3.113,\"ix\":10},\"p\":{\"a\":0,\"k\":[361.652,319.398,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-17,77,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[-100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-14.4,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-7.201,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-0.002,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-3.791,-1.166],[-4.083,-10.915]],\"o\":[[3.791,1.166],[3.33,8.322]],\"v\":[[-17,75],[5.704,158.168]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":3,\"s\":[{\"i\":[[-3.791,-1.166],[-4.083,-10.915]],\"o\":[[3.791,1.166],[3.33,8.322]],\"v\":[[-17,75],[5.704,158.168]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":11.998,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":21.6,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":28.799,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":38.399,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":45.6,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":57.6,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":67.2,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":74.399,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":83.998,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":91.2,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":103.2,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":112.799,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":119.998,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":130,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[-3.791,-1.166],[-4.083,-10.915]],\"o\":[[3.791,1.166],[3.33,8.322]],\"v\":[[-17,75],[5.704,158.168]],\"c\":false}]},{\"t\":139.000390625}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.133333333333,0.109803921569,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":15,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-22,82],\"ix\":2},\"a\":{\"a\":0,\"k\":[-22,82],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":-20,\"op\":279,\"st\":-14.4,\"bm\":0},{\"ddd\":0,\"ind\":4,\"ty\":4,\"nm\":\"d\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-6,\"ix\":10},\"p\":{\"a\":0,\"k\":[254.302,326.574,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-17,77,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-28.8,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-21.601,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-11.999,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":-4.8,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":2.8,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":16.8,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":24.001,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":33.6,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":40.8,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":50.399,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":62.399,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":69.6,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":79.2,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":86.399,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":96.001,\"s\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}],\"e\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":106.001,\"s\":[{\"i\":[[-6.5,-2],[-4.5,-15.5]],\"o\":[[6.5,2],[3.209,11.054]],\"v\":[[-17,75],[18,154]],\"c\":false}],\"e\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":113.2,\"s\":[{\"i\":[[-4.161,-1.28],[50.642,-32.142]],\"o\":[[4.161,1.28],[-33.86,21.491]],\"v\":[[-17,75],[1.858,129.142]],\"c\":false}],\"e\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":121.001,\"s\":[{\"i\":[[0,0],[29.75,-14.5]],\"o\":[[0,0],[-29.75,14.5]],\"v\":[[-17,75],[-56.25,145.5]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":130.001,\"s\":[{\"i\":[[0,0],[-7.5,-34]],\"o\":[[0,0],[7.5,34]],\"v\":[[-17,75],[-61,161]],\"c\":false}],\"e\":[{\"i\":[[0,0],[-3.5,-4.5]],\"o\":[[0,0],[3.5,4.5]],\"v\":[[-17,75],[-11.5,164]],\"c\":false}]},{\"t\":139.00078125}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.133333333333,0.109803921569,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":15,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-22,82],\"ix\":2},\"a\":{\"a\":0,\"k\":[-22,82],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":266,\"st\":-28.8,\"bm\":0},{\"ddd\":0,\"ind\":5,\"ty\":4,\"nm\":\"b2\",\"parent\":7,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.25],\"y\":[1]},\"o\":{\"x\":[0.75],\"y\":[0]},\"n\":[\"0p25_1_0p75_0\"],\"t\":0,\"s\":[-81],\"e\":[-97]},{\"i\":{\"x\":[0.25],\"y\":[1]},\"o\":{\"x\":[0.75],\"y\":[0]},\"n\":[\"0p25_1_0p75_0\"],\"t\":67.199,\"s\":[-97],\"e\":[-81]},{\"t\":136.80078125}],\"ix\":10},\"p\":{\"a\":0,\"k\":[-13.573,-61.514,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-6,48,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[73.171,73.171,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[82,82],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-6,48],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":6,\"ty\":4,\"nm\":\"b1\",\"parent\":7,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-87,\"ix\":10},\"p\":{\"a\":0,\"k\":[-27.177,43.546,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-6,48,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":2,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[82,82],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-6,48],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 1\",\"np\":3,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":7,\"ty\":4,\"nm\":\"b\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":83,\"ix\":10},\"p\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":5,\"s\":[355.857,302.207,0],\"e\":[355.857,308.207,0],\"to\":[0,1,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":16.801,\"s\":[355.857,308.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":33.6,\"s\":[355.857,302.207,0],\"e\":[355.857,308.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":50.4,\"s\":[355.857,308.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":67.199,\"s\":[355.857,302.207,0],\"e\":[355.857,308.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":84,\"s\":[355.857,308.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":100.801,\"s\":[355.857,302.207,0],\"e\":[355.857,308.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":120,\"s\":[355.857,308.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,1,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":139,\"s\":[355.857,302.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":180,\"s\":[355.857,302.207,0],\"e\":[355.857,308.207,0],\"to\":[0,1,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"n\":\"0p833_0p833_0p167_0p167\",\"t\":196.801,\"s\":[355.857,308.207,0],\"e\":[355.857,302.207,0],\"to\":[0,0,0],\"ti\":[0,1,0]},{\"t\":216}],\"ix\":2},\"a\":{\"a\":0,\"k\":[-5.706,-66.449,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[5.021,11.991],[1.75,-16.75],[3.593,-23.13],[3.492,-8.369],[0,23.5]],\"o\":[[-6.242,-14.906],[-1.081,10.349],[-2.222,14.305],[-14.312,34.299],[0,-55.082]],\"v\":[[14.5,-63],[-40.44,-62.693],[-44.148,-3.184],[-56.34,28.612],[12.218,41.438]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":8,\"ty\":4,\"nm\":\"ne\",\"parent\":6,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":0,\"s\":[0],\"e\":[20]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":67.199,\"s\":[20],\"e\":[0]},{\"t\":134.400390625}],\"ix\":10},\"p\":{\"a\":0,\"k\":[-12,50,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-12,50,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0.59,12.987],[1.75,-16.75],[-1.434,-15.164],[4.955,22.972]],\"o\":[[-1,-22],[-1.75,16.75],[3.5,37],[-11,-51]],\"v\":[[3.5,-51.5],[-31.25,-48.25],[-45,45],[12,36.5]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":9,\"ty\":4,\"nm\":\"ta\",\"parent\":5,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":0,\"s\":[7],\"e\":[75]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":22.801,\"s\":[75],\"e\":[7]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":45.6,\"s\":[7],\"e\":[75]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":68.4,\"s\":[75],\"e\":[7]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":91.199,\"s\":[7],\"e\":[75]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":114,\"s\":[75],\"e\":[7]},{\"t\":136.80078125}],\"ix\":10},\"p\":{\"a\":0,\"k\":[15.301,27.13,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[21.895,-104.814,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[136.667,136.667,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-4.827,-5.636],[1.374,-48.171],[-2.647,2.438]],\"o\":[[33.061,38.596],[-0.068,2.375],[34.628,-76.569]],\"v\":[[-18.205,-190.23],[15.659,-106.249],[25.25,-102.254]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":10,\"ty\":4,\"nm\":\"el\",\"parent\":11,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":0,\"s\":[-17],\"e\":[41]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":62.4,\"s\":[41],\"e\":[-17]},{\"t\":129.599609375}],\"ix\":10},\"p\":{\"a\":0,\"k\":[-90.831,16.442,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[16.5,-109.52,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[140.26,140.26,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-0.618,-7.395],[-2.323,-2.379],[-2.647,2.438]],\"o\":[[6.75,80.75],[1.66,1.7],[38.998,-68.667]],\"v\":[[-1.601,-210.907],[11.871,-104.272],[20.531,-99.66]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":11,\"ty\":4,\"nm\":\"hea\",\"parent\":8,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":0,\"s\":[-15],\"e\":[8]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":67.199,\"s\":[8],\"e\":[-15]},{\"t\":134.400390625}],\"ix\":10},\"p\":{\"a\":0,\"k\":[-7.5,-46.5,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[-110.468,94.987,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[71.296,71.296,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 2\",\"np\":2,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[14.727,19.286],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-175.409,43.844],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[59.914,100],\"ix\":3},\"r\":{\"a\":0,\"k\":-168.452,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 5\",\"np\":3,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[14.727,19.286],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-122.039,45.221],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 3\",\"np\":3,\"cix\":2,\"ix\":3,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-10.966,2.431],[-1.181,-4.133],[1.601,-0.057],[-0.599,3.554]],\"o\":[[1.746,-0.387],[1.277,4.469],[-14.816,0.529],[0.406,-2.406]],\"v\":[[-8.421,-5.275],[2.908,3.703],[-0.161,10.282],[-18.683,3.926]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.933333333333,0.874509803922,0.650980392157,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"eye1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-181.299,40.461],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":38.4,\"s\":[100,92.381],\"e\":[100,-0.256]},{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":55.199,\"s\":[100,-0.256],\"e\":[100,-0.256]},{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":62.4,\"s\":[100,-0.256],\"e\":[100,92.381]},{\"t\":79.19921875}],\"ix\":3},\"r\":{\"a\":0,\"k\":-128.667,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 6\",\"np\":3,\"cix\":2,\"ix\":4,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[40.675,16.831],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.933333333333,0.874509803922,0.650980392157,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"eye2\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-123.091,45.195],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":38.4,\"s\":[100,92.381],\"e\":[100,-0.256]},{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":55.199,\"s\":[100,-0.256],\"e\":[100,-0.256]},{\"i\":{\"x\":[0.667,0.667],\"y\":[1,1]},\"o\":{\"x\":[0.333,0.333],\"y\":[0,0]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\"],\"t\":62.4,\"s\":[100,-0.256],\"e\":[100,92.381]},{\"t\":79.19921875}],\"ix\":3},\"r\":{\"a\":0,\"k\":-19.654,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 2\",\"np\":3,\"cix\":2,\"ix\":5,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[10.344,0.175],[-115.817,6.255]],\"o\":[[0,0],[-7.047,-0.119],[34.894,-1.884]],\"v\":[[-167.279,58.669],[-254.234,57.818],[-149.783,98.993]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-162,72.234],\"ix\":2},\"a\":{\"a\":0,\"k\":[-164.104,75.74],\"ix\":1},\"s\":{\"a\":0,\"k\":[100.434,93.355],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":6,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"d\":1,\"ty\":\"el\",\"s\":{\"a\":0,\"k\":[108,108],\"ix\":2},\"p\":{\"a\":0,\"k\":[0,0],\"ix\":3},\"nm\":\"Ellipse Path 1\",\"mn\":\"ADBE Vector Shape - Ellipse\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[-128,48],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Ellipse 1\",\"np\":3,\"cix\":2,\"ix\":7,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":12,\"ty\":4,\"nm\":\"er\",\"parent\":11,\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":7.199,\"s\":[-17],\"e\":[41]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":67.199,\"s\":[41],\"e\":[-17]},{\"t\":134.400390625}],\"ix\":10},\"p\":{\"a\":0,\"k\":[-151.699,7.848,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[16.5,-109.52,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[131.332,131.332,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-0.618,-7.395],[-2.323,-2.379],[-2.647,2.438]],\"o\":[[6.75,80.75],[1.66,1.7],[26.148,-64.813]],\"v\":[[-1.601,-210.907],[9.521,-107.006],[20.155,-104.319]],\"c\":true},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.149019607843,0.132484795065,0.111034221275,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":141.6,\"st\":0,\"bm\":0}],\"markers\":[]}"; + +typedef unsigned char uint8_t; + +class __attribute__((visibility("default"))) RlottieWasm { +public: + static std::unique_ptr create() + { + return std::unique_ptr(new RlottieWasm(resource)); + } + int frames() const { return mFrameCount; } + + bool load(std::string jsonData) + { + mPlayer = rlottie::Animation::loadFromData(std::move(jsonData), "", "", + false); + mFrameCount = mPlayer ? mPlayer->totalFrame() : 0; + return mPlayer ? true : false; + } + + // canvas pixel pix[0] pix[1] pix[2] pix[3] {B G R A} + // lottie pixel pix[0] pix[1] pix[2] pix[3] {R G B A} + val render(int frame, int width, int height) + { + if (!mPlayer) return val(typed_memory_view(0, nullptr)); + + resize(width, height); + mPlayer->renderSync( + frame, rlottie::Surface((uint32_t *)mBuffer.get(), mWidth, mHeight, + mWidth * 4)); + convertToCanvasFormat(); + + return val(typed_memory_view(mWidth * mHeight * 4, mBuffer.get())); + } + ~RlottieWasm() {} + +private: + void resize(int width, int height) + { + if (width == mWidth && height == mHeight) return; + + mWidth = width; + mHeight = height; + + mBuffer = std::make_unique(mWidth * mHeight * 4); + } + + explicit RlottieWasm(const char *data) + { + mPlayer = rlottie::Animation::loadFromData(data, "", "", false); + mFrameCount = mPlayer ? mPlayer->totalFrame() : 0; + } + + void convertToCanvasFormat() + { + int totalBytes = mWidth * mHeight * 4; + uint8_t *buffer = mBuffer.get(); + for (int i = 0; i < totalBytes; i += 4) { + unsigned char a = buffer[i + 3]; + // compute only if alpha is non zero + if (a) { + unsigned char r = buffer[i + 2]; + unsigned char g = buffer[i + 1]; + unsigned char b = buffer[i]; + + if (a != 255) { // un premultiply + r = (r * 255) / a; + g = (g * 255) / a; + b = (b * 255) / a; + + buffer[i] = r; + buffer[i + 1] = g; + buffer[i + 2] = b; + + } else { + // only swizzle r and b + buffer[i] = r; + buffer[i + 2] = b; + } + } + } + } + +private: + int mWidth{0}; + int mHeight{0}; + int mFrameCount{0}; + std::unique_ptr mBuffer; + std::unique_ptr mPlayer; +}; + +// Binding code +EMSCRIPTEN_BINDINGS(rlottie_bindings) +{ + class_("RlottieWasm") + .constructor(&RlottieWasm::create) + .function("load", &RlottieWasm::load, allow_raw_pointers()) + .function("frames", &RlottieWasm::frames) + .function("render", &RlottieWasm::render); +} diff --git a/test/wasm_test.html b/test/wasm_test.html new file mode 100644 index 00000000..e53f6b52 --- /dev/null +++ b/test/wasm_test.html @@ -0,0 +1,32 @@ + + + + + + \ No newline at end of file diff --git a/wasm_build.sh b/wasm_build.sh new file mode 100755 index 00000000..fe60eb10 --- /dev/null +++ b/wasm_build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "Emscripten SDK PATH is not provided" + echo "Usage: wasm_build EMSDK_PATH" + exit 1; +fi + +if [ ! -d "./builddir_wasm" ]; then + sed "s|EMSDK:|$1|g" wasm_cross.txt > /tmp/.wasm_cross.txt + meson -Dthread=false -Dmodule=false -Dcache=false -Dexample=false -Ddefault_library=static builddir_wasm --cross-file /tmp/.wasm_cross.txt + cp ./test/wasm_test.html builddir_wasm/src/index.html +fi + +sudo ninja -C builddir_wasm/ +echo "RESULT:" +echo " rlottie-wasm.wasm and rlottie-wasm.js can be found in builddir_wasm/src folder" + diff --git a/wasm_cross.txt b/wasm_cross.txt new file mode 100644 index 00000000..92fe0f0a --- /dev/null +++ b/wasm_cross.txt @@ -0,0 +1,19 @@ +[binaries] +c = 'EMSDK:upstream/emscripten/emcc.py' +cpp = 'EMSDK:upstream/emscripten/em++.py' +ar = 'EMSDK:upstream/emscripten/emar.py' + +[properties] +root = 'EMSDK:upstream/emscripten/system' +cpp_args = ['--bind','-s', 'WASM=1', '-s', 'ALLOW_MEMORY_GROWTH=1', '-O2'] +cpp_link_args = ['--bind','-s', 'WASM=1', '-s', 'ALLOW_MEMORY_GROWTH=1', '-O2'] +shared_lib_suffix = 'js' +static_lib_suffix = 'js' +shared_module_suffix = 'js' +exe_suffix = 'js' + +[host_machine] +system = 'emscripten' +cpu_family = 'x86' +cpu = 'i686' +endian = 'little' \ No newline at end of file