@middag-io/react 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist-lib/{ConditionTreeBlock-Brab4Yig.js → ConditionTreeBlock-Cjp5jC4y.js} +39 -36
  2. package/dist-lib/{FormBuilderBlock-Dsg3PFQL.js → FormBuilderBlock-CZLYP_2A.js} +773 -772
  3. package/dist-lib/{MarkdownContent-CEXn51dl.js → MarkdownContent-BXOiFtrq.js} +1322 -1320
  4. package/dist-lib/{SentenceBuilderBlock-C7pY8tTB.js → SentenceBuilderBlock-CiUpfCrn.js} +39 -38
  5. package/dist-lib/app/ContractPage.d.ts.map +1 -1
  6. package/dist-lib/app/LazyBlock.d.ts +28 -0
  7. package/dist-lib/app/LazyBlock.d.ts.map +1 -0
  8. package/dist-lib/app/providers/i18n-defaults.d.ts +12 -0
  9. package/dist-lib/app/providers/i18n-defaults.d.ts.map +1 -0
  10. package/dist-lib/app/providers/i18n.d.ts.map +1 -1
  11. package/dist-lib/app/register-defaults.d.ts +4 -0
  12. package/dist-lib/app/register-defaults.d.ts.map +1 -1
  13. package/dist-lib/base/blocks/ActionGridBlock.d.ts.map +1 -1
  14. package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts.map +1 -1
  15. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts.map +1 -1
  16. package/dist-lib/base/blocks/DenseTableBlock.d.ts.map +1 -1
  17. package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -1
  18. package/dist-lib/base/blocks/EmptyStateBlock.d.ts.map +1 -1
  19. package/dist-lib/base/blocks/FormBuilderBlock.d.ts.map +1 -1
  20. package/dist-lib/base/blocks/FormPanelBlock.d.ts.map +1 -1
  21. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +1 -1
  22. package/dist-lib/base/blocks/TabbedPanelBlock.d.ts.map +1 -1
  23. package/dist-lib/base/blocks/WorkflowProgressBlock.d.ts +15 -0
  24. package/dist-lib/base/blocks/WorkflowProgressBlock.d.ts.map +1 -0
  25. package/dist-lib/base/form/fields/MultiSelectField.d.ts.map +1 -1
  26. package/dist-lib/base/partials/ActionBar/index.d.ts.map +1 -1
  27. package/dist-lib/base/partials/ConfirmationDialog/index.d.ts.map +1 -1
  28. package/dist-lib/base/partials/DataTable/index.d.ts +1 -1
  29. package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -1
  30. package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts +4 -2
  31. package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts.map +1 -1
  32. package/dist-lib/base/partials/FilterBar/index.d.ts.map +1 -1
  33. package/dist-lib/base/partials/FormSection/index.d.ts.map +1 -1
  34. package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts.map +1 -1
  35. package/dist-lib/base/partials/MarkdownContent/index.d.ts.map +1 -1
  36. package/dist-lib/base/partials/TimelineList/index.d.ts.map +1 -1
  37. package/dist-lib/base/shell/AdminShell.d.ts.map +1 -1
  38. package/dist-lib/base/shell/ProductShell.d.ts.map +1 -1
  39. package/dist-lib/base/shell/partials/CommandPalette.d.ts.map +1 -1
  40. package/dist-lib/base/shell/partials/HelpPanel.d.ts.map +1 -1
  41. package/dist-lib/base/shell/partials/InlineInspector.d.ts.map +1 -1
  42. package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts.map +1 -1
  43. package/dist-lib/base/shell/partials/OverlayScreen.d.ts.map +1 -1
  44. package/dist-lib/base/shell/partials/PageActionButton.d.ts.map +1 -1
  45. package/dist-lib/base/shell/partials/PageHeader.d.ts.map +1 -1
  46. package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +1 -1
  47. package/dist-lib/contracts/block-data.d.ts +16 -0
  48. package/dist-lib/contracts/block-data.d.ts.map +1 -1
  49. package/dist-lib/contracts/navigation.d.ts +2 -0
  50. package/dist-lib/contracts/navigation.d.ts.map +1 -1
  51. package/dist-lib/contracts/page-contract.d.ts +10 -0
  52. package/dist-lib/contracts/page-contract.d.ts.map +1 -1
  53. package/dist-lib/dist-BDvVQ5m8.js +70102 -0
  54. package/dist-lib/i18n-CWmqBtgM.js +126 -0
  55. package/dist-lib/index.d.ts +23 -1
  56. package/dist-lib/index.d.ts.map +1 -1
  57. package/dist-lib/lib/deprecation.d.ts +1 -1
  58. package/dist-lib/lottie/calendar/schedule-1.json +1 -0
  59. package/dist-lib/lottie/calendar/schedule-2.json +1 -0
  60. package/dist-lib/lottie/celebration/confetti-1.json +1 -0
  61. package/dist-lib/lottie/celebration/confetti-2.json +1 -0
  62. package/dist-lib/lottie/celebration/confetti-3.json +1 -0
  63. package/dist-lib/lottie/cloud/cloud-1.json +1 -0
  64. package/dist-lib/lottie/cloud/cloud-2.json +1 -0
  65. package/dist-lib/lottie/connection/network-1.json +1 -0
  66. package/dist-lib/lottie/connection/network-2.json +1 -0
  67. package/dist-lib/lottie/connection/network-3.json +1 -0
  68. package/dist-lib/lottie/dashboard/analytics-1.json +1 -0
  69. package/dist-lib/lottie/dashboard/analytics-2.json +1 -0
  70. package/dist-lib/lottie/dashboard/analytics-3.json +1 -0
  71. package/dist-lib/lottie/email/mail-1.json +1 -0
  72. package/dist-lib/lottie/email/mail-2.json +1 -0
  73. package/dist-lib/lottie/email/mail-3.json +1 -0
  74. package/dist-lib/lottie/empty-state/empty-1.json +1 -0
  75. package/dist-lib/lottie/empty-state/empty-2.json +1 -0
  76. package/dist-lib/lottie/empty-state/empty-3.json +1 -0
  77. package/dist-lib/lottie/error/warning-1.json +1 -0
  78. package/dist-lib/lottie/error/warning-2.json +1 -0
  79. package/dist-lib/lottie/error/warning-3.json +1 -0
  80. package/dist-lib/lottie/index.ts +81 -0
  81. package/dist-lib/lottie/loading/spinner-1.json +1 -0
  82. package/dist-lib/lottie/loading/spinner-2.json +1 -0
  83. package/dist-lib/lottie/loading/spinner-3.json +1 -0
  84. package/dist-lib/lottie/maintenance/construction-1.json +1 -0
  85. package/dist-lib/lottie/maintenance/construction-2.json +1 -0
  86. package/dist-lib/lottie/maintenance/construction-3.json +1 -0
  87. package/dist-lib/lottie/not-found/404-1.json +1 -0
  88. package/dist-lib/lottie/not-found/404-2.json +1 -0
  89. package/dist-lib/lottie/not-found/404-3.json +1 -0
  90. package/dist-lib/lottie/notification/bell-1.json +1 -0
  91. package/dist-lib/lottie/notification/bell-2.json +1 -0
  92. package/dist-lib/lottie/notification/bell-3.json +1 -0
  93. package/dist-lib/lottie/onboarding/welcome-1.json +1 -0
  94. package/dist-lib/lottie/onboarding/welcome-2.json +1 -0
  95. package/dist-lib/lottie/onboarding/welcome-3.json +1 -0
  96. package/dist-lib/lottie/payment/wallet-1.json +1 -0
  97. package/dist-lib/lottie/payment/wallet-2.json +1 -0
  98. package/dist-lib/lottie/payment/wallet-3.json +1 -0
  99. package/dist-lib/lottie/search/search-1.json +1 -0
  100. package/dist-lib/lottie/search/search-2.json +1 -0
  101. package/dist-lib/lottie/search/search-3.json +1 -0
  102. package/dist-lib/lottie/security/lock-1.json +1 -0
  103. package/dist-lib/lottie/security/lock-2.json +1 -0
  104. package/dist-lib/lottie/security/lock-3.json +1 -0
  105. package/dist-lib/lottie/settings/gear-1.json +1 -0
  106. package/dist-lib/lottie/settings/gear-2.json +1 -0
  107. package/dist-lib/lottie/settings/gear-3.json +1 -0
  108. package/dist-lib/lottie/success/check-1.json +1 -0
  109. package/dist-lib/lottie/success/check-2.json +1 -0
  110. package/dist-lib/lottie/success/check-3.json +1 -0
  111. package/dist-lib/lottie/upload/upload-1.json +1 -0
  112. package/dist-lib/lottie/upload/upload-2.json +1 -0
  113. package/dist-lib/lottie/upload/upload-3.json +1 -0
  114. package/dist-lib/lottie/user/profile-1.json +1 -0
  115. package/dist-lib/lottie/user/profile-2.json +1 -0
  116. package/dist-lib/lottie/user/profile-3.json +1 -0
  117. package/dist-lib/middag-react.css +1 -1
  118. package/dist-lib/middag-react.js +5107 -5030
  119. package/package.json +4 -2
  120. /package/dist-lib/{FlowEditorBlock-BKwzEVAe.js → FlowEditorBlock-CHodeGBw.js} +0 -0
  121. /package/dist-lib/{index.min-BVLV21vp.js → index.min-Cno07_zY.js} +0 -0
@@ -0,0 +1 @@
1
+ {"v":"5.7.11","fr":30,"ip":0,"op":60,"w":512,"h":512,"nm":"Bouncy Fail","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"X line 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[41,-3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[112,-74],[-30,68]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.38823529411764707,0.2784313725490196,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},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[100]},{"t":40,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":26,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"X line 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[41,-3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[112,-74],[-30,68]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.38823529411764707,0.2784313725490196,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},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0]},{"t":40,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":26,"op":60,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Circle 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11,"x":"var $bm_rt;\nvar opacityInertialBounce, opacityBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nopacityInertialBounce = effect('Bounce & Drop - ukramedia.com')(44);\nopacityBounceBack = effect('Bounce & Drop - ukramedia.com')(45);\ntry {\n if (opacityInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(47);\n freq = effect('Bounce & Drop - ukramedia.com')(48);\n decay = effect('Bounce & Drop - ukramedia.com')(49);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (opacityBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(52);\n g = effect('Bounce & Drop - ukramedia.com')(53);\n nMax = effect('Bounce & Drop - ukramedia.com')(54);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar rotationInertialBounce, rotationBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nrotationInertialBounce = effect('Bounce & Drop - ukramedia.com')(30);\nrotationBounceBack = effect('Bounce & Drop - ukramedia.com')(31);\ntry {\n if (rotationInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(33);\n freq = effect('Bounce & Drop - ukramedia.com')(34);\n decay = effect('Bounce & Drop - ukramedia.com')(35);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (rotationBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(38);\n g = effect('Bounce & Drop - ukramedia.com')(39);\n nMax = effect('Bounce & Drop - ukramedia.com')(40);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2,"x":"var $bm_rt;\nvar positionInertialBounce, positionBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\npositionInertialBounce = effect('Bounce & Drop - ukramedia.com')(2);\npositionBounceBack = effect('Bounce & Drop - ukramedia.com')(3);\ntry {\n if (positionInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(5);\n freq = effect('Bounce & Drop - ukramedia.com')(6);\n decay = effect('Bounce & Drop - ukramedia.com')(7);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (positionBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(10);\n g = effect('Bounce & Drop - ukramedia.com')(11);\n nMax = effect('Bounce & Drop - ukramedia.com')(12);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[140.061,140.061,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,1.01]},"t":10,"s":[0,0,100]},{"t":20,"s":[140,140,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar scaleInertialBounce, scaleBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nscaleInertialBounce = effect('Bounce & Drop - ukramedia.com')(16);\nscaleBounceBack = effect('Bounce & Drop - ukramedia.com')(17);\ntry {\n if (scaleInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(19);\n freq = effect('Bounce & Drop - ukramedia.com')(20);\n decay = effect('Bounce & Drop - ukramedia.com')(21);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (scaleBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(24);\n g = effect('Bounce & Drop - ukramedia.com')(25);\n nMax = effect('Bounce & Drop - ukramedia.com')(26);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":5,"nm":"Bounce & Drop - ukramedia.com","np":70,"mn":"Pseudo/animationControl","ix":1,"en":1,"ef":[{"ty":6,"nm":"Position","mn":"Pseudo/animationControl-0001","ix":1,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0002","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0004","ix":4,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0005","ix":5,"v":{"a":0,"k":0.05,"ix":5}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0006","ix":6,"v":{"a":0,"k":4,"ix":6}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0007","ix":7,"v":{"a":0,"k":8,"ix":7}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0008","ix":8,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0009","ix":9,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0010","ix":10,"v":{"a":0,"k":0.7,"ix":10}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0011","ix":11,"v":{"a":0,"k":5000,"ix":11}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0012","ix":12,"v":{"a":0,"k":9,"ix":12}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0013","ix":13,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0014","ix":14,"v":0},{"ty":6,"nm":"Scale","mn":"Pseudo/animationControl-0015","ix":15,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0016","ix":16,"v":{"a":0,"k":1,"ix":16}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0017","ix":17,"v":{"a":0,"k":0,"ix":17}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0018","ix":18,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0019","ix":19,"v":{"a":0,"k":0.8,"ix":19}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0020","ix":20,"v":{"a":0,"k":4,"ix":20}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0021","ix":21,"v":{"a":0,"k":8,"ix":21}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0022","ix":22,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0023","ix":23,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0024","ix":24,"v":{"a":0,"k":0.7,"ix":24}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0025","ix":25,"v":{"a":0,"k":5000,"ix":25}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0026","ix":26,"v":{"a":0,"k":9,"ix":26}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0027","ix":27,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0028","ix":28,"v":0},{"ty":6,"nm":"Rotation","mn":"Pseudo/animationControl-0029","ix":29,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0030","ix":30,"v":{"a":0,"k":0,"ix":30}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0031","ix":31,"v":{"a":0,"k":0,"ix":31}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0032","ix":32,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0033","ix":33,"v":{"a":0,"k":0.05,"ix":33}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0034","ix":34,"v":{"a":0,"k":4,"ix":34}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0035","ix":35,"v":{"a":0,"k":8,"ix":35}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0036","ix":36,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0037","ix":37,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0038","ix":38,"v":{"a":0,"k":0.7,"ix":38}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0039","ix":39,"v":{"a":0,"k":5000,"ix":39}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0040","ix":40,"v":{"a":0,"k":9,"ix":40}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0041","ix":41,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0042","ix":42,"v":0},{"ty":6,"nm":"Opacity","mn":"Pseudo/animationControl-0043","ix":43,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0044","ix":44,"v":{"a":0,"k":0,"ix":44}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0045","ix":45,"v":{"a":0,"k":0,"ix":45}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0046","ix":46,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0047","ix":47,"v":{"a":0,"k":0.05,"ix":47}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0048","ix":48,"v":{"a":0,"k":4,"ix":48}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0049","ix":49,"v":{"a":0,"k":8,"ix":49}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0050","ix":50,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0051","ix":51,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0052","ix":52,"v":{"a":0,"k":0.7,"ix":52}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0053","ix":53,"v":{"a":0,"k":5000,"ix":53}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0054","ix":54,"v":{"a":0,"k":9,"ix":54}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0055","ix":55,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0056","ix":56,"v":0},{"ty":6,"nm":"Global Inertial Bounce Options","mn":"Pseudo/animationControl-0057","ix":57,"v":0},{"ty":7,"nm":"Enable Global Inertial Bounce","mn":"Pseudo/animationControl-0058","ix":58,"v":{"a":0,"k":0,"ix":58}},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0059","ix":59,"v":{"a":0,"k":0.05,"ix":59}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0060","ix":60,"v":{"a":0,"k":4,"ix":60}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0061","ix":61,"v":{"a":0,"k":8,"ix":61}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0062","ix":62,"v":0},{"ty":6,"nm":"Global Bounce Back Options","mn":"Pseudo/animationControl-0063","ix":63,"v":0},{"ty":7,"nm":"Enable Global Bounce Back","mn":"Pseudo/animationControl-0064","ix":64,"v":{"a":0,"k":0,"ix":64}},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0065","ix":65,"v":{"a":0,"k":0.7,"ix":65}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0066","ix":66,"v":{"a":0,"k":5000,"ix":66}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0067","ix":67,"v":{"a":0,"k":9,"ix":67}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0068","ix":68,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-77.215],[77.216,0],[0,77.215],[-77.215,0]],"o":[[0,77.215],[-77.215,0],[0,-77.215],[77.216,0]],"v":[[139.811,0],[0,139.811],[-139.811,0],[0,-139.811]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.38823529411764707,0.2784313725490196,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":[140.061,140.061],"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}],"ip":10,"op":360,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Circle 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":41.25,"s":[50]},{"t":55,"s":[0]}],"ix":11,"x":"var $bm_rt;\nvar opacityInertialBounce, opacityBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nopacityInertialBounce = effect('Bounce & Drop - ukramedia.com')(44);\nopacityBounceBack = effect('Bounce & Drop - ukramedia.com')(45);\ntry {\n if (opacityInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(47);\n freq = effect('Bounce & Drop - ukramedia.com')(48);\n decay = effect('Bounce & Drop - ukramedia.com')(49);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (opacityBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(52);\n g = effect('Bounce & Drop - ukramedia.com')(53);\n nMax = effect('Bounce & Drop - ukramedia.com')(54);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar rotationInertialBounce, rotationBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nrotationInertialBounce = effect('Bounce & Drop - ukramedia.com')(30);\nrotationBounceBack = effect('Bounce & Drop - ukramedia.com')(31);\ntry {\n if (rotationInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(33);\n freq = effect('Bounce & Drop - ukramedia.com')(34);\n decay = effect('Bounce & Drop - ukramedia.com')(35);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (rotationBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(38);\n g = effect('Bounce & Drop - ukramedia.com')(39);\n nMax = effect('Bounce & Drop - ukramedia.com')(40);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2,"x":"var $bm_rt;\nvar positionInertialBounce, positionBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\npositionInertialBounce = effect('Bounce & Drop - ukramedia.com')(2);\npositionBounceBack = effect('Bounce & Drop - ukramedia.com')(3);\ntry {\n if (positionInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(5);\n freq = effect('Bounce & Drop - ukramedia.com')(6);\n decay = effect('Bounce & Drop - ukramedia.com')(7);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (positionBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(10);\n g = effect('Bounce & Drop - ukramedia.com')(11);\n nMax = effect('Bounce & Drop - ukramedia.com')(12);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[140.061,140.061,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,16.794]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.38]},"t":10,"s":[132,132,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.21]},"t":35,"s":[130,130,100]},{"t":55,"s":[175,175,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar scaleInertialBounce, scaleBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nscaleInertialBounce = effect('Bounce & Drop - ukramedia.com')(16);\nscaleBounceBack = effect('Bounce & Drop - ukramedia.com')(17);\ntry {\n if (scaleInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(19);\n freq = effect('Bounce & Drop - ukramedia.com')(20);\n decay = effect('Bounce & Drop - ukramedia.com')(21);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (scaleBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(24);\n g = effect('Bounce & Drop - ukramedia.com')(25);\n nMax = effect('Bounce & Drop - ukramedia.com')(26);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":5,"nm":"Bounce & Drop - ukramedia.com","np":70,"mn":"Pseudo/animationControl","ix":1,"en":1,"ef":[{"ty":6,"nm":"Position","mn":"Pseudo/animationControl-0001","ix":1,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0002","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0004","ix":4,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0005","ix":5,"v":{"a":0,"k":0.05,"ix":5}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0006","ix":6,"v":{"a":0,"k":4,"ix":6}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0007","ix":7,"v":{"a":0,"k":8,"ix":7}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0008","ix":8,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0009","ix":9,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0010","ix":10,"v":{"a":0,"k":0.7,"ix":10}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0011","ix":11,"v":{"a":0,"k":5000,"ix":11}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0012","ix":12,"v":{"a":0,"k":9,"ix":12}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0013","ix":13,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0014","ix":14,"v":0},{"ty":6,"nm":"Scale","mn":"Pseudo/animationControl-0015","ix":15,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0016","ix":16,"v":{"a":0,"k":1,"ix":16}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0017","ix":17,"v":{"a":0,"k":0,"ix":17}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0018","ix":18,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0019","ix":19,"v":{"a":0,"k":0.8,"ix":19}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0020","ix":20,"v":{"a":0,"k":4,"ix":20}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0021","ix":21,"v":{"a":0,"k":8,"ix":21}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0022","ix":22,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0023","ix":23,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0024","ix":24,"v":{"a":0,"k":0.7,"ix":24}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0025","ix":25,"v":{"a":0,"k":5000,"ix":25}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0026","ix":26,"v":{"a":0,"k":9,"ix":26}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0027","ix":27,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0028","ix":28,"v":0},{"ty":6,"nm":"Rotation","mn":"Pseudo/animationControl-0029","ix":29,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0030","ix":30,"v":{"a":0,"k":0,"ix":30}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0031","ix":31,"v":{"a":0,"k":0,"ix":31}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0032","ix":32,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0033","ix":33,"v":{"a":0,"k":0.05,"ix":33}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0034","ix":34,"v":{"a":0,"k":4,"ix":34}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0035","ix":35,"v":{"a":0,"k":8,"ix":35}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0036","ix":36,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0037","ix":37,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0038","ix":38,"v":{"a":0,"k":0.7,"ix":38}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0039","ix":39,"v":{"a":0,"k":5000,"ix":39}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0040","ix":40,"v":{"a":0,"k":9,"ix":40}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0041","ix":41,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0042","ix":42,"v":0},{"ty":6,"nm":"Opacity","mn":"Pseudo/animationControl-0043","ix":43,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0044","ix":44,"v":{"a":0,"k":0,"ix":44}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0045","ix":45,"v":{"a":0,"k":0,"ix":45}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0046","ix":46,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0047","ix":47,"v":{"a":0,"k":0.05,"ix":47}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0048","ix":48,"v":{"a":0,"k":4,"ix":48}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0049","ix":49,"v":{"a":0,"k":8,"ix":49}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0050","ix":50,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0051","ix":51,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0052","ix":52,"v":{"a":0,"k":0.7,"ix":52}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0053","ix":53,"v":{"a":0,"k":5000,"ix":53}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0054","ix":54,"v":{"a":0,"k":9,"ix":54}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0055","ix":55,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0056","ix":56,"v":0},{"ty":6,"nm":"Global Inertial Bounce Options","mn":"Pseudo/animationControl-0057","ix":57,"v":0},{"ty":7,"nm":"Enable Global Inertial Bounce","mn":"Pseudo/animationControl-0058","ix":58,"v":{"a":0,"k":0,"ix":58}},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0059","ix":59,"v":{"a":0,"k":0.05,"ix":59}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0060","ix":60,"v":{"a":0,"k":4,"ix":60}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0061","ix":61,"v":{"a":0,"k":8,"ix":61}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0062","ix":62,"v":0},{"ty":6,"nm":"Global Bounce Back Options","mn":"Pseudo/animationControl-0063","ix":63,"v":0},{"ty":7,"nm":"Enable Global Bounce Back","mn":"Pseudo/animationControl-0064","ix":64,"v":{"a":0,"k":0,"ix":64}},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0065","ix":65,"v":{"a":0,"k":0.7,"ix":65}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0066","ix":66,"v":{"a":0,"k":5000,"ix":66}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0067","ix":67,"v":{"a":0,"k":9,"ix":67}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0068","ix":68,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-77.215],[77.216,0],[0,77.215],[-77.215,0]],"o":[[0,77.215],[-77.215,0],[0,-77.215],[77.216,0]],"v":[[139.811,0],[0,139.811],[-139.811,0],[0,-139.811]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.38823529411764707,0.2784313725490196,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":[140.061,140.061],"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}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
@@ -0,0 +1 @@
1
+ {"v":"5.7.11","fr":30,"ip":0,"op":60,"w":512,"h":512,"nm":"Bouncy Fail","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"X line 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[41,-3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[112,-74],[-30,68]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8862745098039215,0.3568627450980392,0.3568627450980392,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},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[100]},{"t":40,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":26,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"X line 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[41,-3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[112,-74],[-30,68]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8862745098039215,0.3568627450980392,0.3568627450980392,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},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0]},{"t":40,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":26,"op":60,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Circle 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11,"x":"var $bm_rt;\nvar opacityInertialBounce, opacityBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nopacityInertialBounce = effect('Bounce & Drop - ukramedia.com')(44);\nopacityBounceBack = effect('Bounce & Drop - ukramedia.com')(45);\ntry {\n if (opacityInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(47);\n freq = effect('Bounce & Drop - ukramedia.com')(48);\n decay = effect('Bounce & Drop - ukramedia.com')(49);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (opacityBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(52);\n g = effect('Bounce & Drop - ukramedia.com')(53);\n nMax = effect('Bounce & Drop - ukramedia.com')(54);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar rotationInertialBounce, rotationBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nrotationInertialBounce = effect('Bounce & Drop - ukramedia.com')(30);\nrotationBounceBack = effect('Bounce & Drop - ukramedia.com')(31);\ntry {\n if (rotationInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(33);\n freq = effect('Bounce & Drop - ukramedia.com')(34);\n decay = effect('Bounce & Drop - ukramedia.com')(35);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (rotationBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(38);\n g = effect('Bounce & Drop - ukramedia.com')(39);\n nMax = effect('Bounce & Drop - ukramedia.com')(40);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2,"x":"var $bm_rt;\nvar positionInertialBounce, positionBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\npositionInertialBounce = effect('Bounce & Drop - ukramedia.com')(2);\npositionBounceBack = effect('Bounce & Drop - ukramedia.com')(3);\ntry {\n if (positionInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(5);\n freq = effect('Bounce & Drop - ukramedia.com')(6);\n decay = effect('Bounce & Drop - ukramedia.com')(7);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (positionBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(10);\n g = effect('Bounce & Drop - ukramedia.com')(11);\n nMax = effect('Bounce & Drop - ukramedia.com')(12);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[140.061,140.061,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,1.01]},"t":10,"s":[0,0,100]},{"t":20,"s":[140,140,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar scaleInertialBounce, scaleBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nscaleInertialBounce = effect('Bounce & Drop - ukramedia.com')(16);\nscaleBounceBack = effect('Bounce & Drop - ukramedia.com')(17);\ntry {\n if (scaleInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(19);\n freq = effect('Bounce & Drop - ukramedia.com')(20);\n decay = effect('Bounce & Drop - ukramedia.com')(21);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (scaleBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(24);\n g = effect('Bounce & Drop - ukramedia.com')(25);\n nMax = effect('Bounce & Drop - ukramedia.com')(26);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":5,"nm":"Bounce & Drop - ukramedia.com","np":70,"mn":"Pseudo/animationControl","ix":1,"en":1,"ef":[{"ty":6,"nm":"Position","mn":"Pseudo/animationControl-0001","ix":1,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0002","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0004","ix":4,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0005","ix":5,"v":{"a":0,"k":0.05,"ix":5}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0006","ix":6,"v":{"a":0,"k":4,"ix":6}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0007","ix":7,"v":{"a":0,"k":8,"ix":7}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0008","ix":8,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0009","ix":9,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0010","ix":10,"v":{"a":0,"k":0.7,"ix":10}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0011","ix":11,"v":{"a":0,"k":5000,"ix":11}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0012","ix":12,"v":{"a":0,"k":9,"ix":12}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0013","ix":13,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0014","ix":14,"v":0},{"ty":6,"nm":"Scale","mn":"Pseudo/animationControl-0015","ix":15,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0016","ix":16,"v":{"a":0,"k":1,"ix":16}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0017","ix":17,"v":{"a":0,"k":0,"ix":17}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0018","ix":18,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0019","ix":19,"v":{"a":0,"k":0.8,"ix":19}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0020","ix":20,"v":{"a":0,"k":4,"ix":20}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0021","ix":21,"v":{"a":0,"k":8,"ix":21}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0022","ix":22,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0023","ix":23,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0024","ix":24,"v":{"a":0,"k":0.7,"ix":24}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0025","ix":25,"v":{"a":0,"k":5000,"ix":25}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0026","ix":26,"v":{"a":0,"k":9,"ix":26}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0027","ix":27,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0028","ix":28,"v":0},{"ty":6,"nm":"Rotation","mn":"Pseudo/animationControl-0029","ix":29,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0030","ix":30,"v":{"a":0,"k":0,"ix":30}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0031","ix":31,"v":{"a":0,"k":0,"ix":31}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0032","ix":32,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0033","ix":33,"v":{"a":0,"k":0.05,"ix":33}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0034","ix":34,"v":{"a":0,"k":4,"ix":34}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0035","ix":35,"v":{"a":0,"k":8,"ix":35}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0036","ix":36,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0037","ix":37,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0038","ix":38,"v":{"a":0,"k":0.7,"ix":38}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0039","ix":39,"v":{"a":0,"k":5000,"ix":39}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0040","ix":40,"v":{"a":0,"k":9,"ix":40}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0041","ix":41,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0042","ix":42,"v":0},{"ty":6,"nm":"Opacity","mn":"Pseudo/animationControl-0043","ix":43,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0044","ix":44,"v":{"a":0,"k":0,"ix":44}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0045","ix":45,"v":{"a":0,"k":0,"ix":45}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0046","ix":46,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0047","ix":47,"v":{"a":0,"k":0.05,"ix":47}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0048","ix":48,"v":{"a":0,"k":4,"ix":48}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0049","ix":49,"v":{"a":0,"k":8,"ix":49}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0050","ix":50,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0051","ix":51,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0052","ix":52,"v":{"a":0,"k":0.7,"ix":52}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0053","ix":53,"v":{"a":0,"k":5000,"ix":53}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0054","ix":54,"v":{"a":0,"k":9,"ix":54}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0055","ix":55,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0056","ix":56,"v":0},{"ty":6,"nm":"Global Inertial Bounce Options","mn":"Pseudo/animationControl-0057","ix":57,"v":0},{"ty":7,"nm":"Enable Global Inertial Bounce","mn":"Pseudo/animationControl-0058","ix":58,"v":{"a":0,"k":0,"ix":58}},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0059","ix":59,"v":{"a":0,"k":0.05,"ix":59}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0060","ix":60,"v":{"a":0,"k":4,"ix":60}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0061","ix":61,"v":{"a":0,"k":8,"ix":61}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0062","ix":62,"v":0},{"ty":6,"nm":"Global Bounce Back Options","mn":"Pseudo/animationControl-0063","ix":63,"v":0},{"ty":7,"nm":"Enable Global Bounce Back","mn":"Pseudo/animationControl-0064","ix":64,"v":{"a":0,"k":0,"ix":64}},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0065","ix":65,"v":{"a":0,"k":0.7,"ix":65}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0066","ix":66,"v":{"a":0,"k":5000,"ix":66}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0067","ix":67,"v":{"a":0,"k":9,"ix":67}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0068","ix":68,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-77.215],[77.216,0],[0,77.215],[-77.215,0]],"o":[[0,77.215],[-77.215,0],[0,-77.215],[77.216,0]],"v":[[139.811,0],[0,139.811],[-139.811,0],[0,-139.811]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8862745098039215,0.3568627450980392,0.3568627450980392,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":[140.061,140.061],"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}],"ip":10,"op":360,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Circle 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":41.25,"s":[50]},{"t":55,"s":[0]}],"ix":11,"x":"var $bm_rt;\nvar opacityInertialBounce, opacityBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nopacityInertialBounce = effect('Bounce & Drop - ukramedia.com')(44);\nopacityBounceBack = effect('Bounce & Drop - ukramedia.com')(45);\ntry {\n if (opacityInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(47);\n freq = effect('Bounce & Drop - ukramedia.com')(48);\n decay = effect('Bounce & Drop - ukramedia.com')(49);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (opacityBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(52);\n g = effect('Bounce & Drop - ukramedia.com')(53);\n nMax = effect('Bounce & Drop - ukramedia.com')(54);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar rotationInertialBounce, rotationBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nrotationInertialBounce = effect('Bounce & Drop - ukramedia.com')(30);\nrotationBounceBack = effect('Bounce & Drop - ukramedia.com')(31);\ntry {\n if (rotationInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(33);\n freq = effect('Bounce & Drop - ukramedia.com')(34);\n decay = effect('Bounce & Drop - ukramedia.com')(35);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (rotationBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(38);\n g = effect('Bounce & Drop - ukramedia.com')(39);\n nMax = effect('Bounce & Drop - ukramedia.com')(40);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2,"x":"var $bm_rt;\nvar positionInertialBounce, positionBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\npositionInertialBounce = effect('Bounce & Drop - ukramedia.com')(2);\npositionBounceBack = effect('Bounce & Drop - ukramedia.com')(3);\ntry {\n if (positionInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(5);\n freq = effect('Bounce & Drop - ukramedia.com')(6);\n decay = effect('Bounce & Drop - ukramedia.com')(7);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (positionBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(10);\n g = effect('Bounce & Drop - ukramedia.com')(11);\n nMax = effect('Bounce & Drop - ukramedia.com')(12);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[140.061,140.061,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,16.794]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.38]},"t":10,"s":[132,132,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.21]},"t":35,"s":[130,130,100]},{"t":55,"s":[175,175,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar scaleInertialBounce, scaleBounceBack, n, n, t, t, v, amp, freq, decay, v, amp, freq, decay, e, g, nMax, e, g, nMax, n, n, t, v, vl, vu, vu, tCur, segDur, tNext, nb, delta;\nscaleInertialBounce = effect('Bounce & Drop - ukramedia.com')(16);\nscaleBounceBack = effect('Bounce & Drop - ukramedia.com')(17);\ntry {\n if (scaleInertialBounce == 1) {\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n if (n == 0) {\n $bm_rt = t = 0;\n } else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n }\n if (effect('Bounce & Drop - ukramedia.com')(58) == 1) {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(59);\n freq = effect('Bounce & Drop - ukramedia.com')(60);\n decay = effect('Bounce & Drop - ukramedia.com')(61);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n } else {\n if (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = effect('Bounce & Drop - ukramedia.com')(19);\n freq = effect('Bounce & Drop - ukramedia.com')(20);\n decay = effect('Bounce & Drop - ukramedia.com')(21);\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n } else {\n $bm_rt = value;\n }\n }\n } else if (scaleBounceBack == 1) {\n if (effect('Bounce & Drop - ukramedia.com')(64) == 1) {\n e = effect('Bounce & Drop - ukramedia.com')(65);\n g = effect('Bounce & Drop - ukramedia.com')(66);\n nMax = effect('Bounce & Drop - ukramedia.com')(67);\n } else {\n e = effect('Bounce & Drop - ukramedia.com')(24);\n g = effect('Bounce & Drop - ukramedia.com')(25);\n nMax = effect('Bounce & Drop - ukramedia.com')(26);\n }\n $bm_rt = n = 0;\n if (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time)\n n--;\n }\n if (n > 0) {\n t = $bm_sub(time, key(n).time);\n v = $bm_mul($bm_neg(velocityAtTime($bm_sub(key(n).time, 0.001))), e);\n vl = length(v);\n if ($bm_isInstanceOfArray(value)) {\n vu = vl > 0 ? normalize(v) : [\n 0,\n 0,\n 0\n ];\n } else {\n vu = v < 0 ? -1 : 1;\n }\n tCur = 0;\n segDur = $bm_div($bm_mul(2, vl), g);\n tNext = segDur;\n nb = 1;\n while (tNext < t && nb <= nMax) {\n vl *= e;\n segDur *= e;\n tCur = tNext;\n tNext = $bm_sum(tNext, segDur);\n nb++;\n }\n if (nb <= nMax) {\n delta = $bm_sub(t, tCur);\n $bm_rt = $bm_sum(value, $bm_mul($bm_mul(vu, delta), $bm_sub(vl, $bm_div($bm_mul(g, delta), 2))));\n } else {\n $bm_rt = value;\n }\n } else\n $bm_rt = value;\n } else {\n $bm_rt = value;\n }\n} catch (err) {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":5,"nm":"Bounce & Drop - ukramedia.com","np":70,"mn":"Pseudo/animationControl","ix":1,"en":1,"ef":[{"ty":6,"nm":"Position","mn":"Pseudo/animationControl-0001","ix":1,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0002","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0004","ix":4,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0005","ix":5,"v":{"a":0,"k":0.05,"ix":5}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0006","ix":6,"v":{"a":0,"k":4,"ix":6}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0007","ix":7,"v":{"a":0,"k":8,"ix":7}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0008","ix":8,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0009","ix":9,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0010","ix":10,"v":{"a":0,"k":0.7,"ix":10}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0011","ix":11,"v":{"a":0,"k":5000,"ix":11}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0012","ix":12,"v":{"a":0,"k":9,"ix":12}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0013","ix":13,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0014","ix":14,"v":0},{"ty":6,"nm":"Scale","mn":"Pseudo/animationControl-0015","ix":15,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0016","ix":16,"v":{"a":0,"k":1,"ix":16}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0017","ix":17,"v":{"a":0,"k":0,"ix":17}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0018","ix":18,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0019","ix":19,"v":{"a":0,"k":0.8,"ix":19}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0020","ix":20,"v":{"a":0,"k":4,"ix":20}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0021","ix":21,"v":{"a":0,"k":8,"ix":21}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0022","ix":22,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0023","ix":23,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0024","ix":24,"v":{"a":0,"k":0.7,"ix":24}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0025","ix":25,"v":{"a":0,"k":5000,"ix":25}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0026","ix":26,"v":{"a":0,"k":9,"ix":26}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0027","ix":27,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0028","ix":28,"v":0},{"ty":6,"nm":"Rotation","mn":"Pseudo/animationControl-0029","ix":29,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0030","ix":30,"v":{"a":0,"k":0,"ix":30}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0031","ix":31,"v":{"a":0,"k":0,"ix":31}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0032","ix":32,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0033","ix":33,"v":{"a":0,"k":0.05,"ix":33}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0034","ix":34,"v":{"a":0,"k":4,"ix":34}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0035","ix":35,"v":{"a":0,"k":8,"ix":35}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0036","ix":36,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0037","ix":37,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0038","ix":38,"v":{"a":0,"k":0.7,"ix":38}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0039","ix":39,"v":{"a":0,"k":5000,"ix":39}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0040","ix":40,"v":{"a":0,"k":9,"ix":40}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0041","ix":41,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0042","ix":42,"v":0},{"ty":6,"nm":"Opacity","mn":"Pseudo/animationControl-0043","ix":43,"v":0},{"ty":7,"nm":"Enable Inertial Bounce","mn":"Pseudo/animationControl-0044","ix":44,"v":{"a":0,"k":0,"ix":44}},{"ty":7,"nm":"Enable Bounce Back","mn":"Pseudo/animationControl-0045","ix":45,"v":{"a":0,"k":0,"ix":45}},{"ty":6,"nm":"Inertial Bounce Options","mn":"Pseudo/animationControl-0046","ix":46,"v":0},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0047","ix":47,"v":{"a":0,"k":0.05,"ix":47}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0048","ix":48,"v":{"a":0,"k":4,"ix":48}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0049","ix":49,"v":{"a":0,"k":8,"ix":49}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0050","ix":50,"v":0},{"ty":6,"nm":"Bounce Back Options","mn":"Pseudo/animationControl-0051","ix":51,"v":0},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0052","ix":52,"v":{"a":0,"k":0.7,"ix":52}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0053","ix":53,"v":{"a":0,"k":5000,"ix":53}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0054","ix":54,"v":{"a":0,"k":9,"ix":54}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0055","ix":55,"v":0},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0056","ix":56,"v":0},{"ty":6,"nm":"Global Inertial Bounce Options","mn":"Pseudo/animationControl-0057","ix":57,"v":0},{"ty":7,"nm":"Enable Global Inertial Bounce","mn":"Pseudo/animationControl-0058","ix":58,"v":{"a":0,"k":0,"ix":58}},{"ty":0,"nm":"Amplitude","mn":"Pseudo/animationControl-0059","ix":59,"v":{"a":0,"k":0.05,"ix":59}},{"ty":0,"nm":"Frequency","mn":"Pseudo/animationControl-0060","ix":60,"v":{"a":0,"k":4,"ix":60}},{"ty":0,"nm":"Decay","mn":"Pseudo/animationControl-0061","ix":61,"v":{"a":0,"k":8,"ix":61}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0062","ix":62,"v":0},{"ty":6,"nm":"Global Bounce Back Options","mn":"Pseudo/animationControl-0063","ix":63,"v":0},{"ty":7,"nm":"Enable Global Bounce Back","mn":"Pseudo/animationControl-0064","ix":64,"v":{"a":0,"k":0,"ix":64}},{"ty":0,"nm":"Elasticity","mn":"Pseudo/animationControl-0065","ix":65,"v":{"a":0,"k":0.7,"ix":65}},{"ty":0,"nm":"Gravity","mn":"Pseudo/animationControl-0066","ix":66,"v":{"a":0,"k":5000,"ix":66}},{"ty":0,"nm":"nMax","mn":"Pseudo/animationControl-0067","ix":67,"v":{"a":0,"k":9,"ix":67}},{"ty":6,"nm":"","mn":"Pseudo/animationControl-0068","ix":68,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-77.215],[77.216,0],[0,77.215],[-77.215,0]],"o":[[0,77.215],[-77.215,0],[0,-77.215],[77.216,0]],"v":[[139.811,0],[0,139.811],[-139.811,0],[0,-139.811]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8862745098039215,0.3568627450980392,0.3568627450980392,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":[140.061,140.061],"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}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Lottie animation catalog — organized by theme.
3
+ *
4
+ * Each theme has 2-3 animation variants as local JSON paths.
5
+ * Use with @lottiefiles/dotlottie-react:
6
+ *
7
+ * @example
8
+ * import { DotLottieReact } from '@lottiefiles/dotlottie-react';
9
+ * import { lottie } from '@/assets/lottie';
10
+ *
11
+ * <DotLottieReact src={lottie.loading[0]} loop autoplay />
12
+ */
13
+
14
+ // Asset paths — served from public/lottie/ (symlinked to src/assets/lottie/).
15
+ // In production (Moodle AMD), the host overrides base via lottieBasePath config.
16
+ const base = "/lottie";
17
+
18
+ function paths(theme: string, files: string[]): string[] {
19
+ return files.map((f) => `${base}/${theme}/${f}`);
20
+ }
21
+
22
+ export const lottie = {
23
+ loading: paths("loading", [
24
+ "spinner-1.json",
25
+ "spinner-2.json",
26
+ "spinner-3.json",
27
+ ]),
28
+ success: paths("success", ["check-1.json", "check-2.json", "check-3.json"]),
29
+ error: paths("error", ["warning-1.json", "warning-2.json", "warning-3.json"]),
30
+ emptyState: paths("empty-state", [
31
+ "empty-1.json",
32
+ "empty-2.json",
33
+ "empty-3.json",
34
+ ]),
35
+ notFound: paths("not-found", ["404-1.json", "404-2.json", "404-3.json"]),
36
+ search: paths("search", ["search-1.json", "search-2.json", "search-3.json"]),
37
+ upload: paths("upload", ["upload-1.json", "upload-2.json", "upload-3.json"]),
38
+ notification: paths("notification", [
39
+ "bell-1.json",
40
+ "bell-2.json",
41
+ "bell-3.json",
42
+ ]),
43
+ email: paths("email", ["mail-1.json", "mail-2.json", "mail-3.json"]),
44
+ settings: paths("settings", ["gear-1.json", "gear-2.json", "gear-3.json"]),
45
+ user: paths("user", ["profile-1.json", "profile-2.json", "profile-3.json"]),
46
+ dashboard: paths("dashboard", [
47
+ "analytics-1.json",
48
+ "analytics-2.json",
49
+ "analytics-3.json",
50
+ ]),
51
+ calendar: paths("calendar", ["schedule-1.json", "schedule-2.json"]),
52
+ security: paths("security", ["lock-1.json", "lock-2.json", "lock-3.json"]),
53
+ payment: paths("payment", [
54
+ "wallet-1.json",
55
+ "wallet-2.json",
56
+ "wallet-3.json",
57
+ ]),
58
+ cloud: paths("cloud", ["cloud-1.json", "cloud-2.json"]),
59
+ connection: paths("connection", [
60
+ "network-1.json",
61
+ "network-2.json",
62
+ "network-3.json",
63
+ ]),
64
+ celebration: paths("celebration", [
65
+ "confetti-1.json",
66
+ "confetti-2.json",
67
+ "confetti-3.json",
68
+ ]),
69
+ onboarding: paths("onboarding", [
70
+ "welcome-1.json",
71
+ "welcome-2.json",
72
+ "welcome-3.json",
73
+ ]),
74
+ maintenance: paths("maintenance", [
75
+ "construction-1.json",
76
+ "construction-2.json",
77
+ "construction-3.json",
78
+ ]),
79
+ } as const;
80
+
81
+ export type LottieTheme = keyof typeof lottie;