diff --git a/assets/animation.json b/assets/animation.json new file mode 100644 index 0000000..5c9b25d --- /dev/null +++ b/assets/animation.json @@ -0,0 +1 @@ +{"v":"5.6.3","fr":30,"ip":0,"op":120,"w":300,"h":180,"nm":"Certify","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"tick/Approved Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[148,94,0],"ix":2},"a":{"a":0,"k":[29,21.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.555,-0.434],[-12.695,26.856],[-1.954,20.356],[1.046,10.816]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.555,-0.434],[-5.695,43.856],[17.296,44.856],[17.796,21.816]],"c":true}]},{"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.555,-0.434],[-5.695,43.856],[58.796,42.856],[58.546,-0.434]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.952,-1.586],[0,0],[1.127,1.349],[0,0],[-1.932,1.61],[-1.608,-1.932],[0,0],[-1.366,1.111],[0,0],[-1.586,-1.952]],"o":[[0,0],[-1.364,1.109],[0,0],[-1.613,-1.931],[1.931,-1.608],[0,0],[1.126,1.353],[0,0],[1.952,-1.586],[1.587,1.952]],"v":[[26.308,-10.801],[-9.564,18.348],[-14.058,17.915],[-26.943,2.489],[-26.365,-3.925],[-19.956,-3.339],[-12.854,5.19],[-8.358,5.628],[20.563,-17.871],[26.969,-17.208]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.806,19.707],"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":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.952,-1.586],[0,0],[1.127,1.349],[0,0],[-1.932,1.61],[-1.608,-1.932],[0,0],[-1.366,1.111],[0,0],[-1.586,-1.952]],"o":[[0,0],[-1.364,1.109],[0,0],[-1.613,-1.931],[1.931,-1.608],[0,0],[1.126,1.353],[0,0],[1.952,-1.586],[1.587,1.952]],"v":[[26.308,-10.801],[-9.564,18.348],[-14.058,17.915],[-26.943,2.489],[-26.365,-3.925],[-19.956,-3.339],[-12.854,5.19],[-8.358,5.628],[20.563,-17.871],[26.969,-17.208]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.675,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.806,23.038],"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":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1836,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"circle/Approved Outlines","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]},"t":0,"s":[-67]},{"t":61,"s":[0]}],"ix":10},"p":{"a":0,"k":[150,90,0],"ix":2},"a":{"a":0,"k":[61.5,59,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":22,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[22.357,0],[0,22.357],[-22.356,0],[0,-22.356]],"o":[[-22.356,0],[0,-22.356],[22.357,0],[0,22.357]],"v":[[0,40.557],[-40.558,-0.001],[0,-40.557],[40.558,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[24.837,0],[0,-24.837],[-24.837,0],[0,24.838]],"o":[[-24.837,0],[0,24.838],[24.837,0],[0,-24.837]],"v":[[0,-44.962],[-44.962,-0.001],[0,44.962],[44.962,-0.001]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"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":"Group 1","np":0,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.675,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[59.95,59.608],"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":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21.529,0],[0,21.529],[-21.528,0],[0,-21.528]],"o":[[-21.528,0],[0,-21.528],[21.529,0],[0,21.529]],"v":[[0,39.056],[-39.056,0],[0,-39.055],[39.056,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[23.917,0],[0,-23.917],[-23.917,0],[0,23.918]],"o":[[-23.917,0],[0,23.918],[23.917,0],[0,-23.917]],"v":[[0,-43.297],[-43.297,0],[0,43.297],[43.297,0]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[59.95,59.608],"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":"Group 2","np":5,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-22.356],[-22.356,0],[0,22.356],[22.357,0]],"o":[[0,22.356],[22.357,0],[0,-22.356],[-22.356,0]],"v":[[-40.558,0],[0,40.557],[40.558,0],[0,-40.557]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","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":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.965,0.867,0.443,0.476,0.965,0.802,0.376,1,0.965,0.737,0.31],"ix":9}},"s":{"a":0,"k":[0.096,-42],"ix":5},"e":{"a":0,"k":[1.168,41.5],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[59.95,59.608],"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":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.022,-0.335],[0,0],[2.015,0.649],[0,0],[2.557,-3.514],[0,0],[2.007,-0.658],[0,0],[0,-4.346],[0,0],[1.24,-1.716],[0,0],[-2.556,-3.505],[0,0],[0,-2.123],[0,0],[-4.13,-1.339],[0,0],[-1.249,-1.716],[0,0],[-4.13,1.339],[0,0],[-2.015,-0.659],[0,0],[-2.548,3.513],[0,0],[-2.015,0.658],[0,0],[0.009,4.346],[0,0],[-1.241,1.706],[0,0],[2.555,3.514],[0,0],[0,2.115],[0,0],[4.13,1.332],[0,0],[1.249,1.706],[0,0],[3.142,0]],"o":[[0,0],[-2.006,0.658],[0,0],[-4.13,-1.34],[0,0],[-1.24,1.715],[0,0],[-4.121,1.34],[0,0],[0,2.115],[0,0],[-2.556,3.514],[0,0],[1.248,1.716],[0,0],[0.009,4.346],[0,0],[2.015,0.649],[0,0],[2.556,3.513],[0,0],[2.015,-0.65],[0,0],[4.131,1.341],[0,0],[1.249,-1.715],[0,0],[4.13,-1.349],[0,0],[0,-2.115],[0,0],[2.548,-3.513],[0,0],[-1.249,-1.707],[0,0],[0,-4.347],[0,0],[-2.015,-0.658],[0,0],[-1.922,-2.642],[-1.036,0]],"v":[[11.768,-82.794],[2.442,-79.764],[-3.753,-79.755],[-13.07,-82.778],[-24.277,-79.131],[-30.031,-71.204],[-35.035,-67.557],[-44.361,-64.518],[-51.28,-54.984],[-51.271,-45.184],[-53.178,-39.289],[-58.932,-31.362],[-58.924,-19.581],[-53.161,-11.654],[-51.246,-5.759],[-51.238,4.033],[-44.302,13.566],[-34.984,16.589],[-29.964,20.228],[-24.202,28.147],[-12.995,31.786],[-3.678,28.746],[2.518,28.746],[11.842,31.768],[23.042,28.121],[28.795,20.186],[33.808,16.539],[43.125,13.508],[50.044,3.967],[50.036,-5.834],[51.951,-11.72],[57.704,-19.656],[57.697,-31.438],[51.935,-39.364],[50.011,-45.251],[50.003,-55.051],[43.075,-64.576],[33.749,-67.599],[28.737,-71.237],[22.975,-79.164],[14.873,-83.29]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.965,0.867,0.443,0.476,0.965,0.802,0.376,1,0.965,0.737,0.31],"ix":9}},"s":{"a":0,"k":[-2.404,-76.5],"ix":5},"e":{"a":0,"k":[-0.832,24.5],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[61.738,84.368],"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":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1836,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"flag/Approved Outlines","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]},"t":21,"s":[14]},{"t":34,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":21,"s":[150,106,0],"to":[0,9,0],"ti":[0,-9,0]},{"t":34,"s":[150,160,0]}],"ix":2},"a":{"a":0,"k":[26.5,31.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"CC Bend It","np":7,"mn":"CC Bend It","ix":1,"en":1,"ef":[{"ty":0,"nm":"Bend","mn":"CC Bend It-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.687]},"o":{"x":[0.333],"y":[0]},"t":23,"s":[-32]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[-1.681]},"t":42,"s":[6.845]},{"t":60,"s":[0]}],"ix":1}},{"ty":3,"nm":"Start","mn":"CC Bend It-0002","ix":2,"v":{"a":0,"k":[149,140],"ix":2}},{"ty":3,"nm":"End","mn":"CC Bend It-0003","ix":3,"v":{"a":0,"k":[150,60],"ix":3}},{"ty":7,"nm":"Render Prestart","mn":"CC Bend It-0004","ix":4,"v":{"a":0,"k":3,"ix":4}},{"ty":7,"nm":"Distort","mn":"CC Bend It-0005","ix":5,"v":{"a":0,"k":1,"ix":5}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.073,-25.479],[10.073,25.479],[0,18.652],[-10.073,25.479],[-10.073,-25.479]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.896559536457,0.896559536457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[26.062,25.729],"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":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.87,-30.807],[7.87,20.15],[-7.87,30.807],[-7.87,-30.807]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.266666680574,0.223529413342,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.119,31.058],"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":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.869,-30.807],[7.869,30.807],[-7.869,20.15],[-7.869,-30.807]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.266666680574,0.223529413342,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[44.004,31.058],"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":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":21,"op":1840,"st":4,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"hong 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":32.5,"s":[100]},{"t":37.5,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.968},"o":{"x":0.333,"y":0},"t":0,"s":[-13.25,74.406,0],"to":[0,0,0],"ti":[-90.5,-10.844,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.538},"t":8.5,"s":[249.25,15.656,0],"to":[41.25,8.594,0],"ti":[25.5,-20.781,0]},{"t":59.5,"s":[248.25,92.281,0]}],"ix":2},"a":{"a":0,"k":[154.25,-31.594,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[150.969,-34.875],[150.375,-29.531],[157.906,-28.313],[158.125,-33.594]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.462745098039,0.592156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"vang cam 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22.5,"s":[100]},{"t":27.5,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.966},"o":{"x":0.333,"y":0},"t":0,"s":[-18.516,80.75,0],"to":[0,0,0],"ti":[-60.391,3.125,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.476},"t":8.5,"s":[176.734,27.625,0],"to":[27.353,14.741,0],"ti":[0,0,0]},{"t":59.5,"s":[141.484,96.875,0]}],"ix":2},"a":{"a":0,"k":[124.234,13.875,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[123.375,6.5],[116.469,17.5],[125.25,21.25],[132,10.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.737254901961,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"xanh min 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[100]},{"t":40,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.967},"o":{"x":0.333,"y":0},"t":0,"s":[-17.578,80.859,0],"to":[79.328,-39.859,0],"ti":[-39.453,-1.391,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.529},"t":8.5,"s":[220.797,12.859,0],"to":[50.953,12.641,0],"ti":[0,0,0]},{"t":59.5,"s":[254.922,87.484,0]}],"ix":2},"a":{"a":0,"k":[75.922,18.484,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.781,3.063],[1.313,-1.25],[-2.563,-0.406],[-1.156,1.094]],"o":[[-1.313,1.344],[0.469,2.656],[1.469,-1.188],[-2.844,-0.875]],"v":[[75.156,13.406],[70.594,18],[76.719,23.563],[81.25,19.281]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.188235294118,0.839215686275,0.686274509804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"xanh duong 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[100]},{"t":29,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.963},"o":{"x":0.333,"y":0},"t":0,"s":[-19.734,84.563,0],"to":[12.792,-17.146,0],"ti":[-46.484,-8.813,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.392},"t":8.5,"s":[125.516,37.688,0],"to":[20.967,15.863,0],"ti":[24.167,-7.917,0]},{"t":59.5,"s":[69.266,92.938,0]}],"ix":2},"a":{"a":0,"k":[20.266,28.938,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[21.969,23.219],[14.594,29.781],[18.563,34.656],[25.938,28.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823529,0.403921568627,0.949019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"do cam 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[100]},{"t":25,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.968},"o":{"x":0.333,"y":0},"t":0,"s":[-17.078,79.531,0],"to":[0,0,0],"ti":[-87.328,-22.969,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.569},"t":8.5,"s":[218.672,29.031,0],"to":[-2.672,43.719,0],"ti":[0,0,0]},{"t":59.5,"s":[176.172,95.906,0]}],"ix":2},"a":{"a":0,"k":[-167.828,29.156,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,3.344],[1.875,-1.844],[-3.781,-0.125],[-1.875,2]],"o":[[-1.625,1.625],[0.094,2.531],[1.688,-1.656],[-3.906,0.844]],"v":[[-167.875,23.719],[-173.906,29.563],[-167.875,34.594],[-161.75,28.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.505882352941,0.392156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"vang cam 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":25,"s":[100]},{"t":30,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.972},"o":{"x":0.333,"y":0},"t":0,"s":[-19.391,83.426,0],"to":[0,0,0],"ti":[-108.391,-17.199,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.899},"t":8.5,"s":[255.859,43.301,0],"to":[20.641,12.949,0],"ti":[0,0,0]},{"t":59.5,"s":[277.359,89.676,0]}],"ix":2},"a":{"a":0,"k":[-120.641,-26.949,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":[[2.063,1.5],[0.688,-1.344],[-2.688,0.719],[-0.031,1.688]],"o":[[-0.719,1.406],[2,2.219],[0.031,-1.5],[-2.375,0.313]],"v":[[-123.156,-30.281],[-125.344,-26.156],[-116.063,-23.875],[-115.938,-28.563]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.737254901961,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"xanh min 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":32.5,"s":[100]},{"t":37.5,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.967},"o":{"x":0.333,"y":0},"t":0,"s":[-13.797,79.641,0],"to":[0,0,0],"ti":[-72.672,1.766,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.533},"t":8.5,"s":[198.703,15.141,0],"to":[10.672,43.234,0],"ti":[0,0,0]},{"t":59.5,"s":[181.203,92.141,0]}],"ix":2},"a":{"a":0,"k":[-179.781,-30.328,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-180.016,-34.984],[-183.828,-31.438],[-179.547,-25.672],[-175.734,-29.141]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1882353127,0.839215755463,0.686274528503,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"dot 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[242.625,-5.875,0],"to":[0,0,0],"ti":[99.5,-8,0]},{"t":42.5,"s":[95,90.25,0]}],"ix":2},"a":{"a":0,"k":[168.625,-49.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":15,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":21.5,"s":[150,150,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":31.5,"s":[150,150,100]},{"t":35,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.5,3.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.492810417624,1,0.683752441406,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[168.625,-49.375],"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"dot 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":5,"s":[278.125,-6.375,0],"to":[0,0,0],"ti":[82.5,-15.5,0]},{"t":41.5,"s":[163.75,93,0]}],"ix":2},"a":{"a":0,"k":[168.625,-49.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":8,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":14.5,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":27.5,"s":[100,100,100]},{"t":31,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2.75,2.75],"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.208615546133,0.408031089633,0.979085047105,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[168.625,-49.375],"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"dot 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.5,"s":[320.625,-2.875,0],"to":[0,0,0],"ti":[50.25,-13.5,0]},{"t":40,"s":[231.75,93.5,0]}],"ix":2},"a":{"a":0,"k":[168.625,-49.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":12,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":18.5,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":29,"s":[100,100,100]},{"t":32.5,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3.5,3.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.492810417624,0.862760356828,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[168.625,-49.375],"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"dot","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8.5,"s":[356.125,-7.375,0],"to":[0,0,0],"ti":[50.25,-13.5,0]},{"t":45,"s":[267.25,89,0]}],"ix":2},"a":{"a":0,"k":[168.625,-49.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":12,"s":[0,0,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":18.5,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":34,"s":[100,100,100]},{"t":37.5,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2.75,2.75],"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.980392156863,0.462745098039,0.592156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[168.625,-49.375],"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"hong","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":37.5,"s":[100]},{"t":42.5,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.964},"o":{"x":0.333,"y":0},"t":0,"s":[389,75.656,0],"to":[0,0,0],"ti":[73,-4.094,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.432},"t":8.5,"s":[111.25,12.906,0],"to":[-40.25,37.094,0],"ti":[44.75,0.219,0]},{"t":59.5,"s":[-14.25,69.031,0]}],"ix":2},"a":{"a":0,"k":[154.25,-31.594,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[150.969,-34.875],[150.375,-29.531],[157.906,-28.313],[158.125,-33.594]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.462745098039,0.592156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"vang cam 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22.5,"s":[100]},{"t":27.5,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.965},"o":{"x":0.333,"y":0},"t":0,"s":[385.234,74.75,0],"to":[0,0,0],"ti":[52.359,-8.125,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.438},"t":8.5,"s":[146.734,32.125,0],"to":[-32.147,42.741,0],"ti":[0,0,0]},{"t":59.5,"s":[49.734,96.125,0]}],"ix":2},"a":{"a":0,"k":[124.234,13.875,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[123.375,6.5],[116.469,17.5],[125.25,21.25],[132,10.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.737254901961,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"xanh min 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[100]},{"t":40,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.963},"o":{"x":0.333,"y":0},"t":0,"s":[387.422,69.109,0],"to":[-28.922,-20.109,0],"ti":[63.797,-2.141,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.407},"t":8.5,"s":[145.047,9.109,0],"to":[-22.047,43.141,0],"ti":[0,0,0]},{"t":59.5,"s":[38.922,90.734,0]}],"ix":2},"a":{"a":0,"k":[75.922,18.484,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.781,3.063],[1.313,-1.25],[-2.563,-0.406],[-1.156,1.094]],"o":[[-1.313,1.344],[0.469,2.656],[1.469,-1.188],[-2.844,-0.875]],"v":[[75.156,13.406],[70.594,18],[76.719,23.563],[81.25,19.281]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.188235294118,0.839215686275,0.686274509804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"xanh duong","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[100]},{"t":29,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.959},"o":{"x":0.333,"y":0},"t":0,"s":[386.016,70.063,0],"to":[-25.208,-13.896,0],"ti":[82.766,-3.563,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.34},"t":8.5,"s":[194.516,33.938,0],"to":[-58.533,38.863,0],"ti":[41.167,-6.167,0]},{"t":59.5,"s":[67.266,95.688,0]}],"ix":2},"a":{"a":0,"k":[20.266,28.938,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[21.969,23.219],[14.594,29.781],[18.563,34.656],[25.938,28.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823529,0.403921568627,0.949019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"do cam","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[100]},{"t":25,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.946},"o":{"x":0.333,"y":0},"t":0,"s":[385.922,75.281,0],"to":[0,0,0],"ti":[40.422,1.531,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.254},"t":8.5,"s":[271.922,54.781,0],"to":[-71.922,32.469,0],"ti":[0,0,0]},{"t":59.5,"s":[128.922,93.156,0]}],"ix":2},"a":{"a":0,"k":[-167.828,29.156,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,3.344],[1.875,-1.844],[-3.781,-0.125],[-1.875,2]],"o":[[-1.625,1.625],[0.094,2.531],[1.688,-1.656],[-3.906,0.844]],"v":[[-167.875,23.719],[-173.906,29.563],[-167.875,34.594],[-161.75,28.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.505882352941,0.392156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"vang cam","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":25,"s":[100]},{"t":30,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.941},"o":{"x":0.333,"y":0},"t":0,"s":[384.859,77.176,0],"to":[0,0,0],"ti":[52.859,-3.699,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.241},"t":8.5,"s":[255.859,43.301,0],"to":[-79.359,38.449,0],"ti":[0,0,0]},{"t":59.5,"s":[66.859,95.676,0]}],"ix":2},"a":{"a":0,"k":[-120.641,-26.949,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":[[2.063,1.5],[0.688,-1.344],[-2.688,0.719],[-0.031,1.688]],"o":[[-0.719,1.406],[2,2.219],[0.031,-1.5],[-2.375,0.313]],"v":[[-123.156,-30.281],[-125.344,-26.156],[-116.063,-23.875],[-115.938,-28.563]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.737254901961,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"xanh min","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":34,"s":[100]},{"t":39,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.927},"o":{"x":0.333,"y":0},"t":0,"s":[387.203,76.391,0],"to":[0,0,0],"ti":[32.578,13.266,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.212},"t":8.5,"s":[288.953,23.141,0],"to":[-120.328,57.484,0],"ti":[0,0,0]},{"t":59.5,"s":[68.203,87.641,0]}],"ix":2},"a":{"a":0,"k":[-179.781,-30.328,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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-180.016,-34.984],[-183.828,-31.438],[-179.547,-25.672],[-175.734,-29.141]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1882353127,0.839215755463,0.686274528503,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"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,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"tickmedal","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,100,0],"ix":2},"a":{"a":0,"k":[150,120,0],"ix":1},"s":{"a":0,"k":[91,91,100],"ix":6}},"ao":0,"w":300,"h":240,"ip":0,"op":1840,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Comp 3","refId":"comp_1","sr":1.49,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[0]},{"t":20.0003564357758,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[150,46,0],"to":[0,14.5,0],"ti":[0,-16.167,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":38,"s":[150,133,0],"to":[0,16.167,0],"ti":[0,-1.667,0]},{"t":81.0004448890686,"s":[150,143,0]}],"ix":2},"a":{"a":0,"k":[187.5,42,0],"ix":1},"s":{"a":0,"k":[81,81,100],"ix":6}},"ao":0,"w":375,"h":84,"ip":1.001001001001,"op":90.401001001001,"st":1.001001001001,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"BG design Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":33,"s":[0]},{"t":44,"s":[100]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":33,"s":[-30]},{"t":67,"s":[0]}],"ix":10},"p":{"a":0,"k":[150,89,0],"ix":2},"a":{"a":0,"k":[150,150,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":33,"s":[43,43,100]},{"t":68,"s":[92,92,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.715,-4.038],[-1.797,1.285],[3.693,-0.161]],"o":[[1.047,5.917],[2.737,-1.959],[-2.041,0.089]],"v":[[-5.816,-0.054],[3.794,7.734],[-2.427,-8.858]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.952999997606,0.855000035903,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[68.604,164.415],"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":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.657],[1.657,0],[0,1.657],[-1.657,0]],"o":[[0,1.657],[-1.657,0],[0,-1.657],[1.657,0]],"v":[[3,0],[0,3],[-3,0],[0,-3]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.952999997606,0.855000035903,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[197,85],"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":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.209],[2.209,0],[0,2.209],[-2.209,0]],"o":[[0,2.209],[-2.209,0],[0,-2.209],[2.209,0]],"v":[[4,0],[0,4],[-4,0],[0,-4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.952999997606,0.855000035903,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[64,136],"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":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.829],[0.829,0],[0,0.829],[-0.829,0]],"o":[[0,0.829],[-0.829,0],[0,-0.829],[0.829,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980000035903,0.663000009574,0.638999968884,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[64.5,118.5],"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":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.552],[0.553,0],[0,0.552],[-0.553,0]],"o":[[0,0.552],[-0.553,0],[0,-0.552],[0.553,0]],"v":[[1,0],[0,1],[-1,0],[0,-1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.513999968884,0.501999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[242,95],"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":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.829],[0.828,0],[0,0.829],[-0.828,0]],"o":[[0,0.829],[-0.828,0],[0,-0.829],[0.828,0]],"v":[[1.5,0],[0,1.5],[-1.5,0],[0,-1.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980000035903,0.663000009574,0.638999968884,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[188.5,73.5],"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":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.104],[1.104,0],[0,1.104],[-1.104,0]],"o":[[0,1.104],[-1.104,0],[0,-1.104],[1.104,0]],"v":[[2,0],[0,2],[-2,0],[0,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980000035903,0.663000009574,0.638999968884,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[236,187],"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":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.964999988032,0.889999988032,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[50.5,155.5],"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":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.104],[1.104,0],[0,1.104],[-1.104,0]],"o":[[0,1.104],[-1.104,0],[0,-1.104],[1.104,0]],"v":[[2,0],[0,2],[-2,0],[0,-2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.984000052658,0.894000004787,0.651000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82,198],"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":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.381],[1.381,0],[0,1.381],[-1.381,0]],"o":[[0,1.381],[-1.381,0],[0,-1.381],[1.381,0]],"v":[[2.5,0],[0,2.5],[-2.5,0],[0,-2.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.984000052658,0.894000004787,0.651000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[73.5,84.5],"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":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.655,-2.812],[-4.811,1.6],[3.386,5.098]],"o":[[-2.413,4.099],[2.989,-0.995],[-4.046,-6.091]],"v":[[-7.988,-6.924],[5.348,8.915],[7.016,-4.424]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.952999997606,0.855000035903,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.92,99.953],"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":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[33.219,20.846],[1.14,5.561],[-26.516,16.534],[-16.323,-8.175],[-21.87,-19.115],[-2.536,-5.018],[33.186,-16.342]],"o":[[-24.882,-15.614],[-4.822,-23.525],[19.199,-11.972],[6.493,3.252],[22.175,19.382],[10.607,20.992],[-1.975,0.973]],"v":[[-42.893,56.063],[-74.893,9.063],[-47.893,-64.937],[12.107,-67.937],[42.107,-42.937],[69.107,-19.937],[28.107,59.063]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.933000033509,0.788000009574,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[158.893,148.937],"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":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[17.108,-28.349],[-1.255,-16.276],[-30.359,-12.515],[-40.252,14.387],[-9.863,8.197],[5.554,14.06],[20.502,15.043],[19.619,11.335]],"o":[[-9.113,15.1],[0.915,11.862],[12.774,5.266],[21.994,-7.862],[12.211,-10.149],[-5.063,-12.818],[-25.038,-18.37],[-24.109,-13.928]],"v":[[-80.214,-44.293],[-86.889,2.424],[-51.611,78.698],[21.801,62.49],[62.799,46.282],[83.774,2.424],[41.824,-20.458],[4.639,-70.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.964999988032,0.889999988032,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[162.067,136.566],"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":"Group 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false}],"ip":29,"op":1869,"st":29,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/assets/images/test.png b/assets/images/test.png new file mode 100644 index 0000000..23db3b4 Binary files /dev/null and b/assets/images/test.png differ diff --git a/model/Movie.tsx b/model/Movie.tsx index 2133756..6eab631 100644 --- a/model/Movie.tsx +++ b/model/Movie.tsx @@ -1,25 +1,30 @@ class Movie { - public id: number public original_title: string public poster_path: string + + public poster_path_min: string public runtime: number public vote_average: number public release_date: string public overview: string public genres: string[] + public backdrop_path: string + - constructor(original_title: string, poster_path: string, runtime: number, vote_average: number, release_date: string, genres: string[], overview: string, id: number) { + constructor(id: number, original_title: string, poster_path: string, runtime: number, vote_average: number, release_date: string, genres: string[], overview: string, backdrop_path: string) { this.id = id; this.original_title = original_title; this.poster_path = 'https://image.tmdb.org/t/p/w780' + poster_path; + this.poster_path_min = 'https://image.tmdb.org/t/p/w500' + poster_path; this.runtime = runtime; this.release_date = release_date.substring(0, 4); this.genres = genres; this.overview = overview; this.vote_average = vote_average; + this.backdrop_path = 'https://image.tmdb.org/t/p/w780' + backdrop_path; } diff --git a/navigation/LinkingConfiguration.ts b/navigation/LinkingConfiguration.ts index 5965028..95a1c5a 100644 --- a/navigation/LinkingConfiguration.ts +++ b/navigation/LinkingConfiguration.ts @@ -4,38 +4,44 @@ * https://reactnavigation.org/docs/configuring-links */ -import { LinkingOptions } from '@react-navigation/native'; +import {LinkingOptions} from '@react-navigation/native'; import * as Linking from 'expo-linking'; -import { RootStackParamList } from '../types'; +import {RootStackParamList} from '../types'; const linking: LinkingOptions = { - prefixes: [Linking.createURL('/')], - config: { - screens: { - Root: { + prefixes: [Linking.createURL('/')], + config: { screens: { - WatchLater: { - screens: { - WatchLaterScreen: 'WatchLater', - }, - }, - Home: { - screens: { - HomeScreen: 'Home', - }, - }, - Favorite: { - screens: { - FavoriteScreen: 'Favorite', + Root: { + screens: { + WatchLater: { + screens: { + WatchLaterScreen: 'WatchLater', + }, + }, + Home: { + screens: { + HomeScreen: 'Home', + }, + }, + Favorite: { + screens: { + FavoriteScreen: 'Favorite', + }, + }, + Info: { + screens: { + FavoriteScreen: 'InfoScreen', + }, + }, + + }, }, - }, + Modal: 'modal', + NotFound: '*', }, - }, - Modal: 'modal', - NotFound: '*', }, - }, }; export default linking; diff --git a/navigation/index.tsx b/navigation/index.tsx index 3bdfbbf..afe6b18 100644 --- a/navigation/index.tsx +++ b/navigation/index.tsx @@ -19,6 +19,7 @@ import NotFoundScreen from '../screens/NotFoundScreen'; import WatchLaterScreen from '../screens/WatchLaterScreen'; import FavoriteScreen from '../screens/FavoriteScreen'; import HomeScreen from '../screens/HomeScreen'; +import InfoScreen from '../screens/InfoScreen'; import {RootStackParamList, RootTabParamList, RootTabScreenProps} from '../types'; import LinkingConfiguration from './LinkingConfiguration'; import {useCallback, useEffect, useState} from "react"; @@ -85,6 +86,7 @@ function RootNavigator() { + ); } diff --git a/package-lock.json b/package-lock.json index c7c7ae6..a795e26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "expo-status-bar": "~1.4.2", "expo-system-ui": "~2.0.1", "expo-web-browser": "~12.0.0", + "lottie-react-native": "^5.1.5", "moment": "^2.29.4", "react": "18.1.0", "react-dom": "18.1.0", @@ -42,7 +43,12 @@ "react-native-safe-area-context": "4.4.1", "react-native-screens": "~3.18.0", "react-native-svg": "^13.7.0", + "react-native-vector-icons": "^9.2.0", + "react-native-video": "^2.3.1", + "react-native-video-player": "^0.14.0", "react-native-web": "~0.18.9", + "react-native-webview": "11.23.1", + "react-native-youtube-iframe": "^2.2.2", "react-redux": "^8.0.5", "redux": "^4.2.1", "rive-react-native": "^3.0.41" @@ -7571,6 +7577,11 @@ "node": ">=0.10" } }, + "node_modules/dedent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", + "integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==" + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -8018,6 +8029,14 @@ "node": ">=6" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/exec-async": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", @@ -12422,6 +12441,11 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/keymirror": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", + "integrity": "sha512-vIkZAFWoDijgQT/Nvl2AHCMmnegN2ehgTPYuyy2hWQkQSntI0S7ESYqdLkoSe1HyEBFHHkCgSIvVdSEiWwKvCg==" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -12541,6 +12565,32 @@ "loose-envify": "cli.js" } }, + "node_modules/lottie-ios": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-3.5.0.tgz", + "integrity": "sha512-DM6BYLhHTzvUsK89AjY+K9RwVGkOBwbH/iytjyZUmFbXz8DVsoPEyy+c7L5NZmVouZHvLnOQp6NaYTkwMo+iOg==", + "peer": true + }, + "node_modules/lottie-react-native": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-5.1.5.tgz", + "integrity": "sha512-xl6uEo50joQeIqso5SvPKt1uGBqMhgNgs+36S4725Nfigf4zAY23/I9QEEkJF+1BHq7wKCeYha2KafLTm20gqA==", + "dependencies": { + "invariant": "^2.2.2", + "react-native-safe-modules": "^1.0.3" + }, + "peerDependencies": { + "lottie-ios": "^3.4.0", + "react": "*", + "react-native": ">=0.46", + "react-native-windows": ">=0.63.x" + }, + "peerDependenciesMeta": { + "react-native-windows": { + "optional": true + } + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -14951,6 +15001,17 @@ "react-native": "*" } }, + "node_modules/react-native-safe-modules": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-native-safe-modules/-/react-native-safe-modules-1.0.3.tgz", + "integrity": "sha512-DUxti4Z+AgJ/ZsO5U7p3uSCUBko8JT8GvFlCeOXk9bMd+4qjpoDvMYpfbixXKgL88M+HwmU/KI1YFN6gsQZyBA==", + "dependencies": { + "dedent": "^0.6.0" + }, + "peerDependencies": { + "react-native": "*" + } + }, "node_modules/react-native-screens": { "version": "3.18.2", "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.18.2.tgz", @@ -14977,6 +15038,96 @@ "react-native": "*" } }, + "node_modules/react-native-vector-icons": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz", + "integrity": "sha512-wKYLaFuQST/chH3AJRjmOLoLy3JEs1JR6zMNgTaemFpNoXs0ztRnTxcxFD9xhX7cJe1/zoN5BpQYe7kL0m5yyA==", + "dependencies": { + "prop-types": "^15.7.2", + "yargs": "^16.1.1" + }, + "bin": { + "fa5-upgrade": "bin/fa5-upgrade.sh", + "generate-icon": "bin/generate-icon.js" + } + }, + "node_modules/react-native-vector-icons/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/react-native-vector-icons/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/react-native-vector-icons/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-native-vector-icons/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/react-native-video": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-2.3.1.tgz", + "integrity": "sha512-fTeVcp0IXL4MY/IjzISqdCCikWb5hfmkLfJTSa1B5qvmbca3R4gFvFICQO4CFvfetInra8P9g1LFnvmfMhy7Gw==", + "dependencies": { + "keymirror": "0.1.1", + "prop-types": "^15.5.10" + } + }, + "node_modules/react-native-video-player": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-native-video-player/-/react-native-video-player-0.14.0.tgz", + "integrity": "sha512-lgdqq9h3Mi2poRII3sCE9RgrZIA140bWd83NEzyZp3andKaUiXKYSFcWu+BoySn2Y24dCrDFnhVEkvPq6sTndg==", + "dependencies": { + "deprecated-react-native-prop-types": "^2.3.0" + }, + "peerDependencies": { + "prop-types": "*", + "react": "*", + "react-native": "*", + "react-native-vector-icons": ">= 2.1.0", + "react-native-video": "^2.0.0" + } + }, + "node_modules/react-native-video-player/node_modules/deprecated-react-native-prop-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz", + "integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==", + "dependencies": { + "@react-native/normalize-color": "*", + "invariant": "*", + "prop-types": "*" + } + }, "node_modules/react-native-web": { "version": "0.18.12", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.18.12.tgz", @@ -14995,6 +15146,49 @@ "react-dom": "^17.0.2 || ^18.0.0" } }, + "node_modules/react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", + "dependencies": { + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-webview/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native-youtube-iframe": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-native-youtube-iframe/-/react-native-youtube-iframe-2.2.2.tgz", + "integrity": "sha512-og2KW21kCwAHKcnWoyWWBYC6J2Xtqjjwpghhoy9G6zfwZkr8Ej27BbQIAKM/TheJJUZ5/YUrqsgqAdnFYDx5TQ==", + "dependencies": { + "events": "^3.2.0" + }, + "peerDependencies": { + "react": ">=16.8.6", + "react-native": ">=0.60", + "react-native-web-webview": ">=1.0.2", + "react-native-webview": ">=7.0.0" + }, + "peerDependenciesMeta": { + "react-native-web-webview": { + "optional": true + }, + "react-native-webview": { + "optional": true + } + } + }, "node_modules/react-native/node_modules/@jest/create-cache-key-function": { "version": "29.4.3", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.4.3.tgz", @@ -23572,6 +23766,11 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, + "dedent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", + "integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==" + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -23885,6 +24084,11 @@ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, "exec-async": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", @@ -27239,6 +27443,11 @@ "graceful-fs": "^4.1.6" } }, + "keymirror": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", + "integrity": "sha512-vIkZAFWoDijgQT/Nvl2AHCMmnegN2ehgTPYuyy2hWQkQSntI0S7ESYqdLkoSe1HyEBFHHkCgSIvVdSEiWwKvCg==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -27331,6 +27540,21 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lottie-ios": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-3.5.0.tgz", + "integrity": "sha512-DM6BYLhHTzvUsK89AjY+K9RwVGkOBwbH/iytjyZUmFbXz8DVsoPEyy+c7L5NZmVouZHvLnOQp6NaYTkwMo+iOg==", + "peer": true + }, + "lottie-react-native": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-5.1.5.tgz", + "integrity": "sha512-xl6uEo50joQeIqso5SvPKt1uGBqMhgNgs+36S4725Nfigf4zAY23/I9QEEkJF+1BHq7wKCeYha2KafLTm20gqA==", + "requires": { + "invariant": "^2.2.2", + "react-native-safe-modules": "^1.0.3" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -29312,6 +29536,14 @@ "integrity": "sha512-N9XTjiuD73ZpVlejHrUWIFZc+6Z14co1K/p1IFMkImU7+avD69F3y+lhkqA2hN/+vljdZrBSiOwXPkuo43nFQA==", "requires": {} }, + "react-native-safe-modules": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-native-safe-modules/-/react-native-safe-modules-1.0.3.tgz", + "integrity": "sha512-DUxti4Z+AgJ/ZsO5U7p3uSCUBko8JT8GvFlCeOXk9bMd+4qjpoDvMYpfbixXKgL88M+HwmU/KI1YFN6gsQZyBA==", + "requires": { + "dedent": "^0.6.0" + } + }, "react-native-screens": { "version": "3.18.2", "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.18.2.tgz", @@ -29330,6 +29562,80 @@ "css-tree": "^1.1.3" } }, + "react-native-vector-icons": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz", + "integrity": "sha512-wKYLaFuQST/chH3AJRjmOLoLy3JEs1JR6zMNgTaemFpNoXs0ztRnTxcxFD9xhX7cJe1/zoN5BpQYe7kL0m5yyA==", + "requires": { + "prop-types": "^15.7.2", + "yargs": "^16.1.1" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "react-native-video": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-2.3.1.tgz", + "integrity": "sha512-fTeVcp0IXL4MY/IjzISqdCCikWb5hfmkLfJTSa1B5qvmbca3R4gFvFICQO4CFvfetInra8P9g1LFnvmfMhy7Gw==", + "requires": { + "keymirror": "0.1.1", + "prop-types": "^15.5.10" + } + }, + "react-native-video-player": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-native-video-player/-/react-native-video-player-0.14.0.tgz", + "integrity": "sha512-lgdqq9h3Mi2poRII3sCE9RgrZIA140bWd83NEzyZp3andKaUiXKYSFcWu+BoySn2Y24dCrDFnhVEkvPq6sTndg==", + "requires": { + "deprecated-react-native-prop-types": "^2.3.0" + }, + "dependencies": { + "deprecated-react-native-prop-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz", + "integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==", + "requires": { + "@react-native/normalize-color": "*", + "invariant": "*", + "prop-types": "*" + } + } + } + }, "react-native-web": { "version": "0.18.12", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.18.12.tgz", @@ -29344,6 +29650,30 @@ "styleq": "^0.1.2" } }, + "react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", + "requires": { + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "react-native-youtube-iframe": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-native-youtube-iframe/-/react-native-youtube-iframe-2.2.2.tgz", + "integrity": "sha512-og2KW21kCwAHKcnWoyWWBYC6J2Xtqjjwpghhoy9G6zfwZkr8Ej27BbQIAKM/TheJJUZ5/YUrqsgqAdnFYDx5TQ==", + "requires": { + "events": "^3.2.0" + } + }, "react-redux": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", diff --git a/package.json b/package.json index 4aa0283..c0fe4a3 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "expo-status-bar": "~1.4.2", "expo-system-ui": "~2.0.1", "expo-web-browser": "~12.0.0", + "lottie-react-native": "^5.1.5", "moment": "^2.29.4", "react": "18.1.0", "react-dom": "18.1.0", @@ -47,7 +48,12 @@ "react-native-safe-area-context": "4.4.1", "react-native-screens": "~3.18.0", "react-native-svg": "^13.7.0", + "react-native-vector-icons": "^9.2.0", + "react-native-video": "^2.3.1", + "react-native-video-player": "^0.14.0", "react-native-web": "~0.18.9", + "react-native-webview": "11.23.1", + "react-native-youtube-iframe": "^2.2.2", "react-redux": "^8.0.5", "redux": "^4.2.1", "rive-react-native": "^3.0.41" diff --git a/redux/actions/actionGetTrendingID.tsx b/redux/actions/actionGetTrendingID.tsx index 775b491..45a862c 100644 --- a/redux/actions/actionGetTrendingID.tsx +++ b/redux/actions/actionGetTrendingID.tsx @@ -59,40 +59,40 @@ export const getTrendingID = () => { // @ts-ignore return async dispatch => { try { - const IDPromise = await fetch(config.base_url + "trending/movie/day?api_key="+config.api_key); + const IDPromise = await fetch(config.base_url + "trending/movie/day?api_key=" + config.api_key); const IDListJson = await IDPromise.json(); // @ts-ignore const idList: String[] = IDListJson.results.map(elt => elt["id"]); const MovieList: Movie[] = []; Promise.all(idList.map(async elt => { - try{ - const infoPromise = await fetch(config.base_url + "movie/"+elt+"?api_key=" + config.api_key + "&language=fr-FR"); + try { + const infoPromise = await fetch(config.base_url + "movie/" + elt + "?api_key=" + config.api_key + "&language=fr-FR"); //const infoJson = await infoPromise.json(); //console.log('infos---------', infoJson); //MovieList.push(new Movie(infoJson["original_title"], infoJson["poster_path"],infoJson["runtime"], infoJson["vote_average"], infoJson["release_date"])) return infoPromise; - }catch (err){ + } catch (err) { //console.log('ErrorGet---------', err); } - })).then(function (responses){ - Promise.all(responses.map(result=>result.json())) - .then(function (elements){ - elements.map(elt=> { + })).then(function (responses) { + Promise.all(responses.map(result => result.json())) + .then(function (elements) { + elements.map(elt => { const infoJson = elt; - const genreRow : String[]= []; + const genreRow: String[] = []; + const videoPath: String = ""; // @ts-ignore elt["genres"].map(genre => { genreRow.push(genre.name); }); - console.log('infos---------', elt); + // @ts-ignore - MovieList.push(new Movie(infoJson["title"], infoJson["poster_path"],infoJson["runtime"], infoJson["vote_average"], infoJson["release_date"], genreRow, infoJson["overview"])) + MovieList.push(new Movie(infoJson["id"], infoJson["title"], infoJson["poster_path"], infoJson["runtime"], infoJson["vote_average"], infoJson["release_date"], genreRow, infoJson["overview"], infoJson["backdrop_path"])) }) try { //console.log("tortue", MovieList) dispatch(setinfoMovie(MovieList)); - } - catch (err){ + } catch (err) { //console.log('ErrorGet---------', err); } }) @@ -106,21 +106,21 @@ export const getTrendingID = () => { } export const removeMovieTrending = (movie: Movie) => { - return{ + return { type: POP_FIRST_TRENDING, payload: movie } } -export const addMovieToWatchLater = (movie : Movie) => { - return{ +export const addMovieToWatchLater = (movie: Movie) => { + return { type: ADD_WATCHLATER, payload: movie } } -export const addMovieToFavourite = (movie : Movie) => { - return{ +export const addMovieToFavourite = (movie: Movie) => { + return { type: ADD_FAVOURITE, payload: movie } diff --git a/screens/HomeScreen.tsx b/screens/HomeScreen.tsx index a631fd7..0bebef1 100644 --- a/screens/HomeScreen.tsx +++ b/screens/HomeScreen.tsx @@ -20,6 +20,7 @@ import Movie from "../model/Movie"; import * as url from "url"; import moment from 'moment'; import CardsSwipe from 'react-native-cards-swipe'; +import AnimatedLottieView from "lottie-react-native"; export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) { // @ts-ignore @@ -122,14 +123,7 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) { //console.log("timer", h, m, s); }); setTimeout(() => interval, 10000); - - const loadTrendingID = async () => { - // @ts-ignore - await dispatch(getTrendingID()); - }; - //console.log("test1:", trendingMovies); - loadTrendingID(); - }, [dispatch]); + }, []); type ItemProps = { movie: Movie @@ -306,10 +300,7 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) { Félicitations ! - + Vous avez fini la collection du jour. {"\n"}Revenez à la fin du décompte pour découvrir de nouvelles propositions. diff --git a/screens/InfoScreen.tsx b/screens/InfoScreen.tsx new file mode 100644 index 0000000..9cbe46a --- /dev/null +++ b/screens/InfoScreen.tsx @@ -0,0 +1,140 @@ +import * as React from 'react'; +import { + Button, + TouchableOpacity, + ScrollView, + View, + Text, + StyleSheet, + Image, + ImageBackground, + SafeAreaView, + ActivityIndicator, FlatList +} from 'react-native'; +import {RootStackScreenProps} from "../types"; +import {useSafeAreaInsets} from "react-native-safe-area-context"; + +import Movie from "../model/Movie"; + +import {LinearGradient} from 'expo-linear-gradient'; +import {Stars} from "./HomeScreen"; +import {useEffect, useState} from "react"; +import config from "../constants/config"; +import YoutubeIframe from "react-native-youtube-iframe"; +import Icon from "react-native-ionicons"; +import Ionicons from "@expo/vector-icons/Ionicons"; + +export default function InfoScreen({navigation, route}: RootStackScreenProps<'Info'>) { + const item: Movie = route.params.item + console.log("current", item); + const insets = useSafeAreaInsets(); + const styles = StyleSheet.create({ + background1: { + height: '100%', + width: '100%', + paddingTop: insets.top, + }, + }); + const [trailerPath, setTrailerPath] = useState(""); + const getTriller = async () => { + const trailerResponse = (await fetch(config.base_url + "movie/" + item.id + "/videos?api_key=" + config.api_key + "&language=fr-FR")); + + const trailerJson = await trailerResponse.json(); + console.log("trailer", trailerJson) + const trailer_key = trailerJson.results.slice(0, 1).map((elt) => { + if (elt["type"] === "Trailer" && elt["site"] === "YouTube") { + return elt["key"]; + } + }); + console.log("key", trailer_key) + setTrailerPath(trailer_key); + } + + useEffect(() => { + + + getTriller(); + }, []); + + function formatTime(time: number) { + console.log(time); + const hours = Math.floor(time / 60); + const minutes = time % 60; + return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`; + } + + + return ( + + + + + + + + + + + + navigation.goBack()} style={{zIndex: 100}}> + + + + + {item.original_title} + + + + + + + + {item.vote_average.toFixed(1)} + + + {trailerPath !== "" && ( + + )} + + + {item.overview} + + + + + + + + ) +} +type InfoBadgeProps = { + texte: string + +} + +export function InfoBadge(props: InfoBadgeProps) { + return ( + {props.texte} + ); +} \ No newline at end of file diff --git a/screens/WatchLaterScreen.tsx b/screens/WatchLaterScreen.tsx index ce1ac6f..105293c 100644 --- a/screens/WatchLaterScreen.tsx +++ b/screens/WatchLaterScreen.tsx @@ -11,6 +11,7 @@ import {useEffect, useState} from 'react'; import {getTrendingID, getWatchLater, getWatchLaterMovies} from "../redux/actions/actionGetTrendingID"; import Movie from "../model/Movie"; import Swipeable from "react-native-gesture-handler/Swipeable"; +import {useNavigation} from "@react-navigation/native"; export default function WatchLaterScreen({navigation}: RootTabScreenProps<'WatchLater'>) { const [search, setSearch] = useState(''); @@ -88,7 +89,7 @@ export default function WatchLaterScreen({navigation}: RootTabScreenProps<'Watch item.original_title} - renderItem={({item}) => } + renderItem={({item}) => navigation.navigate("Info", {"item": item})}>} /> ); @@ -100,7 +101,6 @@ type ListWidgetProps = { } export function ListWidget(props: ListWidgetProps) { - const insets = useSafeAreaInsets(); const styles = StyleSheet.create({ @@ -130,6 +130,7 @@ export function ListWidget(props: ListWidgetProps) { marginHorizontal: 20, marginBottom: 15 }}> + | undefined; - Modal: undefined; - NotFound: undefined; - Home: undefined; - WatchLater: undefined; + Root: NavigatorScreenParams | undefined; + Modal: undefined; + NotFound: undefined; + Home: undefined; + WatchLater: undefined; + + Favorite: undefined; + Info: undefined; - Favorite: undefined; }; export type RootStackScreenProps = NativeStackScreenProps< - RootStackParamList, - Screen + RootStackParamList, + Screen >; export type RootTabParamList = { - WatchLater: undefined; - Home: undefined; - Favorite: undefined; + WatchLater: undefined; + Home: undefined; + Favorite: undefined; + + Info: undefined; }; export type RootTabScreenProps = CompositeScreenProps< - BottomTabScreenProps, - NativeStackScreenProps + BottomTabScreenProps, + NativeStackScreenProps >;