diff --git a/Telegram/Telegram-iOS/Resources/Passcode.tgs b/Telegram/Telegram-iOS/Resources/Passcode.tgs new file mode 100644 index 0000000000..0f52ff3221 Binary files /dev/null and b/Telegram/Telegram-iOS/Resources/Passcode.tgs differ diff --git a/submodules/SettingsUI/BUILD b/submodules/SettingsUI/BUILD index 32ac140020..8508419ca6 100644 --- a/submodules/SettingsUI/BUILD +++ b/submodules/SettingsUI/BUILD @@ -95,6 +95,8 @@ swift_library( "//submodules/Components/ReactionImageComponent:ReactionImageComponent", "//submodules/Translate:Translate", "//submodules/QrCodeUI:QrCodeUI", + "//submodules/AnimatedStickerNode:AnimatedStickerNode", + "//submodules/TelegramAnimatedStickerNode:TelegramAnimatedStickerNode", ], visibility = [ "//visibility:public", diff --git a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift index 22fd2541c1..0449e6daa1 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift @@ -13,6 +13,15 @@ enum PrivacyIntroControllerMode { case passcode case twoStepVerification + var animationName: String? { + switch self { + case .passcode: + return "Passcode" + case .twoStepVerification: + return nil + } + } + func icon(theme: PresentationTheme) -> UIImage? { switch self { case .passcode: diff --git a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroControllerNode.swift b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroControllerNode.swift index f8264cfc43..f24fb5c3bd 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroControllerNode.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroControllerNode.swift @@ -8,6 +8,8 @@ import SwiftSignalKit import TelegramPresentationData import AccountContext import AuthorizationUI +import AnimatedStickerNode +import TelegramAnimatedStickerNode private func generateButtonImage(backgroundColor: UIColor, highlightColor: UIColor?) -> UIImage? { return generateImage(CGSize(width: 24.0, height: 44.0), contextGenerator: { size, context in @@ -39,6 +41,7 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { private let proceedAction: () -> Void private let iconNode: ASImageNode + private let animationNode: AnimatedStickerNode private let titleNode: ASTextNode private let textNode: ASTextNode private let buttonNode: HighlightTrackingButtonNode @@ -55,6 +58,8 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { self.proceedAction = proceedAction self.iconNode = ASImageNode() + self.animationNode = AnimatedStickerNode() + self.titleNode = ASTextNode() self.textNode = ASTextNode() self.buttonNode = HighlightTrackingButtonNode() @@ -68,7 +73,19 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { super.init() + if let animationName = mode.animationName { + self.iconNode.isHidden = true + self.animationNode.isHidden = false + + self.animationNode.setup(source: AnimatedStickerNodeLocalFileSource(name: animationName), width: 380, height: 380, playbackMode: .loop, mode: .direct(cachePathPrefix: nil)) + self.animationNode.visibility = true + } else { + self.iconNode.isHidden = false + self.animationNode.isHidden = true + } + self.addSubnode(self.iconNode) + self.addSubnode(self.animationNode) self.addSubnode(self.titleNode) self.addSubnode(self.textNode) self.addSubnode(self.buttonBackgroundNode) @@ -98,7 +115,9 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { self.presentationData = presentationData self.backgroundColor = presentationData.theme.list.blocksBackgroundColor - self.iconNode.image = self.mode.icon(theme: presentationData.theme) + if self.animationNode.isHidden { + self.iconNode.image = self.mode.icon(theme: presentationData.theme) + } self.titleNode.attributedText = NSAttributedString(string: self.mode.title(strings: presentationData.strings), font: titleFont, textColor: presentationData.theme.list.sectionHeaderTextColor, paragraphAlignment: .center) self.textNode.attributedText = NSAttributedString(string: self.mode.text(strings: presentationData.strings), font: textFont, textColor: presentationData.theme.list.freeTextColor, paragraphAlignment: .center) self.noticeNode.attributedText = NSAttributedString(string: self.mode.notice(strings: presentationData.strings), font: textFont, textColor: presentationData.theme.list.freeTextColor, paragraphAlignment: .center) @@ -120,7 +139,18 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { insets.top += navigationBarHeight var iconSize = CGSize() - if let size = self.iconNode.image?.size { + var animationSize = CGSize() + if !self.animationNode.isHidden { + animationSize = CGSize(width: 180.0, height: 180.0) + self.animationNode.updateLayout(size: animationSize) + + var iconAlpha: CGFloat = 1.0 + if case .compact = layout.metrics.widthClass, layout.size.width > layout.size.height { + iconAlpha = 0.0 + iconSize = CGSize() + } + transition.updateAlpha(node: self.animationNode, alpha: iconAlpha) + } else if let size = self.iconNode.image?.size { iconSize = size var iconAlpha: CGFloat = 1.0 @@ -142,9 +172,10 @@ final class PrivacyIntroControllerNode: ViewControllerTracingNode { } else { buttonInset = 0.0 } - + let items: [AuthorizationLayoutItem] = [ AuthorizationLayoutItem(node: self.iconNode, size: iconSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0)), + AuthorizationLayoutItem(node: self.animationNode, size: animationSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0)), AuthorizationLayoutItem(node: self.titleNode, size: titleSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 20.0, maxValue: 30.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0)), AuthorizationLayoutItem(node: self.textNode, size: textSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 16.0, maxValue: 16.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0)), AuthorizationLayoutItem(node: self.buttonNode, size: CGSize(width: layout.size.width - buttonInset * 2.0, height: 44.0), spacingBefore: AuthorizationLayoutItemSpacing(weight: 40.0, maxValue: 40.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0)), diff --git a/submodules/TelegramUI/Resources/Animations/TabContacts.json b/submodules/TelegramUI/Resources/Animations/TabContacts.json index 726465ec1c..20637b7373 100644 --- a/submodules/TelegramUI/Resources/Animations/TabContacts.json +++ b/submodules/TelegramUI/Resources/Animations/TabContacts.json @@ -1 +1 @@ -{"v":"4.8.0","meta":{"g":"LottieFiles AE ","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":60,"w":512,"h":512,"nm":"Contacts 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Main","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},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.3,0.3,0.3],"y":[1,1,1]},"o":{"x":[0.7,0.7,0.7],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":20,"s":[97,97,100]},{"t":39,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":16,"s":[{"i":[[0.057,0],[0,-0.057],[-0.057,0],[0,0.057]],"o":[[-0.057,0],[0,0.057],[0.057,0],[0,-0.057]],"v":[[-13.08,19],[-13.183,19.103],[-13.08,19.205],[-12.978,19.103]],"c":true}]},{"t":39,"s":[{"i":[[21.242,0],[0,-21.242],[-21.242,0],[0,21.242]],"o":[[-21.242,0],[0,21.242],[21.242,0],[0,-21.242]],"v":[[0,-67.308],[-38.462,-28.846],[0,9.615],[38.462,-28.846]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":16,"s":[{"i":[[0.077,0],[0.043,-0.036],[0.005,-0.006],[-0.009,-0.01],[-0.002,-0.001],[-0.068,0],[-0.049,0.04],[-0.005,0.005],[0.007,0.01],[0.007,0.005]],"o":[[-0.077,0],[-0.004,0.003],[-0.009,0.009],[0,0],[0.049,0.04],[0.068,0],[0.003,-0.003],[0.009,-0.009],[0,0],[-0.043,-0.036]],"v":[[-13.08,19.282],[-13.26,19.337],[-13.273,19.35],[-13.274,19.384],[-13.26,19.397],[-13.08,19.462],[-12.901,19.397],[-12.888,19.386],[-12.885,19.352],[-12.901,19.337]],"c":true}]},{"t":39,"s":[{"i":[[28.941,0],[15.96,-13.616],[1.957,-2.123],[-3.375,-3.669],[-0.654,-0.54],[-25.552,0],[-18.285,15.109],[-1.809,1.726],[2.746,3.839],[2.536,2.04]],"o":[[-28.914,0],[-1.444,1.232],[-3.281,3.561],[0,0],[18.282,15.084],[25.573,0],[1.296,-1.071],[3.5,-3.341],[0,0],[-15.952,-13.638]],"v":[[0,38.462],[-67.306,58.884],[-72.407,63.917],[-72.687,76.606],[-67.269,81.625],[0,105.769],[67.311,81.585],[71.967,77.39],[73.156,64.848],[67.339,58.919]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":16,"s":[86.947,69.231],"to":[0,0],"ti":[0,0]},{"t":39,"s":[-0.053,19.231]}],"ix":2},"a":{"a":0,"k":[-0.053,19.231],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[{"i":[[21.242,0],[0,-21.242],[-21.242,0],[0,21.242]],"o":[[-21.242,0],[0,21.242],[21.242,0],[0,-21.242]],"v":[[0,-67.308],[-38.462,-28.846],[0,9.615],[38.462,-28.846]],"c":true}]},{"t":20,"s":[{"i":[[0.057,0],[0,-0.057],[-0.057,0],[0,0.057]],"o":[[-0.057,0],[0,0.057],[0.057,0],[0,-0.057]],"v":[[-13.08,19],[-13.183,19.103],[-13.08,19.205],[-12.978,19.103]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[{"i":[[28.941,0],[15.96,-13.616],[1.957,-2.123],[-3.375,-3.669],[-0.654,-0.54],[-25.552,0],[-18.285,15.109],[-1.809,1.726],[2.746,3.839],[2.536,2.04]],"o":[[-28.914,0],[-1.444,1.232],[-3.281,3.561],[0,0],[18.282,15.084],[25.573,0],[1.296,-1.071],[3.5,-3.341],[0,0],[-15.952,-13.638]],"v":[[0,38.462],[-67.306,58.884],[-72.407,63.917],[-72.687,76.606],[-67.269,81.625],[0,105.769],[67.311,81.585],[71.967,77.39],[73.156,64.848],[67.339,58.919]],"c":true}]},{"t":20,"s":[{"i":[[0.077,0],[0.043,-0.036],[0.005,-0.006],[-0.009,-0.01],[-0.002,-0.001],[-0.068,0],[-0.049,0.04],[-0.005,0.005],[0.007,0.01],[0.007,0.005]],"o":[[-0.077,0],[-0.004,0.003],[-0.009,0.009],[0,0],[0.049,0.04],[0.068,0],[0.003,-0.003],[0.009,-0.009],[0,0],[-0.043,-0.036]],"v":[[-13.08,19.282],[-13.26,19.337],[-13.273,19.35],[-13.274,19.384],[-13.26,19.397],[-13.08,19.462],[-12.901,19.397],[-12.888,19.386],[-12.885,19.352],[-12.901,19.337]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[-0.053,19.231],"to":[0,0],"ti":[0,0]},{"t":20,"s":[-60.053,69.231]}],"ix":2},"a":{"a":0,"k":[-0.053,19.231],"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":2,"mn":"ADBE Vector Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[{"i":[[-69.036,0],[0,-69.036],[69.036,0],[0,69.036]],"o":[[69.036,0],[0,69.036],[-69.036,0],[0,-69.036]],"v":[[0,-125],[125,0],[0,125],[-125,0]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":17,"s":[{"i":[[-60.751,0],[0,-60.751],[60.751,0],[0,60.751]],"o":[[60.751,0],[0,60.751],[-60.751,0],[0,-60.751]],"v":[[0,-110],[110,0],[0,110],[-110,0]],"c":true}]},{"t":36,"s":[{"i":[[-69.036,0],[0,-69.036],[69.036,0],[0,69.036]],"o":[[69.036,0],[0,69.036],[-69.036,0],[0,-69.036]],"v":[[0,-125],[125,0],[0,125],[-125,0]],"c":true}]}],"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,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":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} \ No newline at end of file +{"v":"4.8.0","meta":{"g":"LottieFiles AE ","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":35,"w":512,"h":512,"nm":"Contacts","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Main","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},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.3,0.3,0.3],"y":[1,1,1]},"o":{"x":[0.15,0.15,0.15],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":16,"s":[97,97,100]},{"t":34,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":10,"s":[{"i":[[0.057,0],[0,-0.057],[-0.057,0],[0,0.057]],"o":[[-0.057,0],[0,0.057],[0.057,0],[0,-0.057]],"v":[[-13.08,19],[-13.183,19.103],[-13.08,19.205],[-12.978,19.103]],"c":true}]},{"t":33,"s":[{"i":[[21.242,0],[0,-21.242],[-21.242,0],[0,21.242]],"o":[[-21.242,0],[0,21.242],[21.242,0],[0,-21.242]],"v":[[0,-67.308],[-38.462,-28.846],[0,9.615],[38.462,-28.846]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":10,"s":[{"i":[[0.077,0],[0.043,-0.036],[0.005,-0.006],[-0.009,-0.01],[-0.002,-0.001],[-0.068,0],[-0.049,0.04],[-0.005,0.005],[0.007,0.01],[0.007,0.005]],"o":[[-0.077,0],[-0.004,0.003],[-0.009,0.009],[0,0],[0.049,0.04],[0.068,0],[0.003,-0.003],[0.009,-0.009],[0,0],[-0.043,-0.036]],"v":[[-13.08,19.282],[-13.26,19.337],[-13.273,19.35],[-13.274,19.384],[-13.26,19.397],[-13.08,19.462],[-12.901,19.397],[-12.888,19.386],[-12.885,19.352],[-12.901,19.337]],"c":true}]},{"t":33,"s":[{"i":[[28.941,0],[15.96,-13.616],[1.957,-2.123],[-3.375,-3.669],[-0.654,-0.54],[-25.552,0],[-18.285,15.109],[-1.809,1.726],[2.746,3.839],[2.536,2.04]],"o":[[-28.914,0],[-1.444,1.232],[-3.281,3.561],[0,0],[18.282,15.084],[25.573,0],[1.296,-1.071],[3.5,-3.341],[0,0],[-15.952,-13.638]],"v":[[0,38.462],[-67.306,58.884],[-72.407,63.917],[-72.687,76.606],[-67.269,81.625],[0,105.769],[67.311,81.585],[71.967,77.39],[73.156,64.848],[67.339,58.919]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":10,"s":[86.947,69.231],"to":[0,0],"ti":[0,0]},{"t":33,"s":[-0.053,19.231]}],"ix":2},"a":{"a":0,"k":[-0.053,19.231],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.15,"y":0},"t":0,"s":[{"i":[[21.242,0],[0,-21.242],[-21.242,0],[0,21.242]],"o":[[-21.242,0],[0,21.242],[21.242,0],[0,-21.242]],"v":[[0,-67.308],[-38.462,-28.846],[0,9.615],[38.462,-28.846]],"c":true}]},{"t":16,"s":[{"i":[[0.057,0],[0,-0.057],[-0.057,0],[0,0.057]],"o":[[-0.057,0],[0,0.057],[0.057,0],[0,-0.057]],"v":[[-13.08,19],[-13.183,19.103],[-13.08,19.205],[-12.978,19.103]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.15,"y":0},"t":0,"s":[{"i":[[28.941,0],[15.96,-13.616],[1.957,-2.123],[-3.375,-3.669],[-0.654,-0.54],[-25.552,0],[-18.285,15.109],[-1.809,1.726],[2.746,3.839],[2.536,2.04]],"o":[[-28.914,0],[-1.444,1.232],[-3.281,3.561],[0,0],[18.282,15.084],[25.573,0],[1.296,-1.071],[3.5,-3.341],[0,0],[-15.952,-13.638]],"v":[[0,38.462],[-67.306,58.884],[-72.407,63.917],[-72.687,76.606],[-67.269,81.625],[0,105.769],[67.311,81.585],[71.967,77.39],[73.156,64.848],[67.339,58.919]],"c":true}]},{"t":16,"s":[{"i":[[0.077,0],[0.043,-0.036],[0.005,-0.006],[-0.009,-0.01],[-0.002,-0.001],[-0.068,0],[-0.049,0.04],[-0.005,0.005],[0.007,0.01],[0.007,0.005]],"o":[[-0.077,0],[-0.004,0.003],[-0.009,0.009],[0,0],[0.049,0.04],[0.068,0],[0.003,-0.003],[0.009,-0.009],[0,0],[-0.043,-0.036]],"v":[[-13.08,19.282],[-13.26,19.337],[-13.273,19.35],[-13.274,19.384],[-13.26,19.397],[-13.08,19.462],[-12.901,19.397],[-12.888,19.386],[-12.885,19.352],[-12.901,19.337]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.15,"y":0},"t":0,"s":[-0.053,19.231],"to":[0,0],"ti":[0,0]},{"t":16,"s":[-60.053,69.231]}],"ix":2},"a":{"a":0,"k":[-0.053,19.231],"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":2,"mn":"ADBE Vector Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.15,"y":0},"t":0,"s":[{"i":[[-69.036,0],[0,-69.036],[69.036,0],[0,69.036]],"o":[[69.036,0],[0,69.036],[-69.036,0],[0,-69.036]],"v":[[0,-125],[125,0],[0,125],[-125,0]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":10,"s":[{"i":[[-60.751,0],[0,-60.751],[60.751,0],[0,60.751]],"o":[[60.751,0],[0,60.751],[-60.751,0],[0,-60.751]],"v":[[0,-110],[110,0],[0,110],[-110,0]],"c":true}]},{"t":33,"s":[{"i":[[-69.036,0],[0,-69.036],[69.036,0],[0,69.036]],"o":[[69.036,0],[0,69.036],[-69.036,0],[0,-69.036]],"v":[[0,-125],[125,0],[0,125],[-125,0]],"c":true}]}],"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,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":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} \ No newline at end of file