Commit c81e34c9 authored by CZ1004's avatar CZ1004

Merge branch 'charge' into develop

* charge:
  修改
  删除多余文件
  充电壁纸更新
  充电壁纸
  文件位置修改
  资源配置

# Conflicts:
#	PhoneManager.xcodeproj/project.pbxproj
parents 819a3325 8139f959
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>IntentsRestrictedWhileLocked</key>
<array/>
<key>IntentsRestrictedWhileProtectedDataUnavailable</key>
<array/>
<key>IntentsSupported</key>
<array>
<string>ChargeShowIntent</string>
<string>INSearchForMessagesIntent</string>
<string>INSendMessageIntent</string>
<string>INSetMessageAttributeIntent</string>
</array>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.intents-service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).IntentHandler</string>
</dict>
</dict>
</plist>
//
// IntentHandler.swift
// ChargeShow
//
// Created by edy on 2025/4/7.
//
import Intents
// As an example, this class is set up to handle Message intents.
// You will want to replace this or add other intents as appropriate.
// The intents you wish to handle must be declared in the extension's Info.plist.
// You can test your example integration by saying things to Siri like:
// "Send a message using <myApp>"
// "<myApp> John saying hello"
// "Search for messages in <myApp>"
class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessagesIntentHandling, INSetMessageAttributeIntentHandling {
override func handler(for intent: INIntent) -> Any {
// This is the default implementation. If you want different objects to handle different intents,
// you can override this and return the handler you want for that particular intent.
print("有反应么")
return self
}
// MARK: - INSendMessageIntentHandling
// Implement resolution methods to provide additional information about your intent (optional).
func resolveRecipients(for intent: INSendMessageIntent, with completion: @escaping ([INSendMessageRecipientResolutionResult]) -> Void) {
if let recipients = intent.recipients {
// If no recipients were provided we'll need to prompt for a value.
if recipients.count == 0 {
completion([INSendMessageRecipientResolutionResult.needsValue()])
return
}
var resolutionResults = [INSendMessageRecipientResolutionResult]()
for recipient in recipients {
let matchingContacts = [recipient] // Implement your contact matching logic here to create an array of matching contacts
switch matchingContacts.count {
case 2 ... Int.max:
// We need Siri's help to ask user to pick one from the matches.
resolutionResults += [INSendMessageRecipientResolutionResult.disambiguation(with: matchingContacts)]
case 1:
// We have exactly one matching contact
resolutionResults += [INSendMessageRecipientResolutionResult.success(with: recipient)]
case 0:
// We have no contacts matching the description provided
resolutionResults += [INSendMessageRecipientResolutionResult.unsupported()]
default:
break
}
}
completion(resolutionResults)
} else {
completion([INSendMessageRecipientResolutionResult.needsValue()])
}
}
func resolveContent(for intent: INSendMessageIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let text = intent.content, !text.isEmpty {
completion(INStringResolutionResult.success(with: text))
} else {
completion(INStringResolutionResult.needsValue())
}
}
// Once resolution is completed, perform validation on the intent and provide confirmation (optional).
func confirm(intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {
// Verify user is authenticated and your app is ready to send a message.
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
let response = INSendMessageIntentResponse(code: .ready, userActivity: userActivity)
completion(response)
}
// Handle the completed intent (required).
func handle(intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {
// Implement your application logic to send a message here.
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
let response = INSendMessageIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
// Implement handlers for each intent you wish to handle. As an example for messages, you may wish to also handle searchForMessages and setMessageAttributes.
// MARK: - INSearchForMessagesIntentHandling
func handle(intent: INSearchForMessagesIntent, completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {
// Implement your application logic to find a message that matches the information in the intent.
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSearchForMessagesIntent.self))
let response = INSearchForMessagesIntentResponse(code: .success, userActivity: userActivity)
// Initialize with found message's attributes
response.messages = [INMessage(
identifier: "identifier",
content: "I am so excited about SiriKit!",
dateSent: Date(),
sender: INPerson(personHandle: INPersonHandle(value: "sarah@example.com", type: .emailAddress), nameComponents: nil, displayName: "Sarah", image: nil, contactIdentifier: nil, customIdentifier: nil),
recipients: [INPerson(personHandle: INPersonHandle(value: "+1-415-555-5555", type: .phoneNumber), nameComponents: nil, displayName: "John", image: nil, contactIdentifier: nil, customIdentifier: nil)]
)]
completion(response)
}
// MARK: - INSetMessageAttributeIntentHandling
func handle(intent: INSetMessageAttributeIntent, completion: @escaping (INSetMessageAttributeIntentResponse) -> Void) {
// Implement your application logic to set the message attribute here.
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSetMessageAttributeIntent.self))
let response = INSetMessageAttributeIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>INEnums</key>
<array/>
<key>INIntentDefinitionModelVersion</key>
<string>1.2</string>
<key>INIntentDefinitionNamespace</key>
<string>hAB6zR</string>
<key>INIntentDefinitionSystemVersion</key>
<string>24D81</string>
<key>INIntentDefinitionToolsBuildVersion</key>
<string>16C5032a</string>
<key>INIntentDefinitionToolsVersion</key>
<string>16.2</string>
<key>INIntents</key>
<array>
<dict>
<key>INIntentCategory</key>
<string>generic</string>
<key>INIntentConfigurable</key>
<true/>
<key>INIntentDescription</key>
<string>充电壁纸</string>
<key>INIntentDescriptionID</key>
<string>wDHi0A</string>
<key>INIntentManagedParameterCombinations</key>
<dict>
<key></key>
<dict>
<key>INIntentParameterCombinationSupportsBackgroundExecution</key>
<true/>
<key>INIntentParameterCombinationUpdatesLinked</key>
<true/>
</dict>
</dict>
<key>INIntentName</key>
<string>ChargeShow</string>
<key>INIntentParameterCombinations</key>
<dict>
<key></key>
<dict>
<key>INIntentParameterCombinationIsPrimary</key>
<true/>
<key>INIntentParameterCombinationSupportsBackgroundExecution</key>
<true/>
</dict>
</dict>
<key>INIntentResponse</key>
<dict>
<key>INIntentResponseCodes</key>
<array>
<dict>
<key>INIntentResponseCodeName</key>
<string>success</string>
<key>INIntentResponseCodeSuccess</key>
<true/>
</dict>
<dict>
<key>INIntentResponseCodeName</key>
<string>failure</string>
</dict>
</array>
</dict>
<key>INIntentTitle</key>
<string>Charge Show</string>
<key>INIntentTitleID</key>
<string>wwbZJW</string>
<key>INIntentType</key>
<string>Custom</string>
<key>INIntentVerb</key>
<string>Do</string>
</dict>
</array>
<key>INTypes</key>
<array/>
</dict>
</plist>
{ {
"images" : [ "images" : [
{ {
"idiom" : "universal", "filename" : "logo.png",
"platform" : "ios",
"size" : "1024x1024"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "tinted"
}
],
"idiom" : "universal", "idiom" : "universal",
"platform" : "ios", "platform" : "ios",
"size" : "1024x1024" "size" : "1024x1024"
......
{
"images" : [
{
"filename" : "ic_close_charging.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "ic_close_charging@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "ic_close_charging@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{"v":"5.5.7","meta":{"g":"LottieFiles AE 0.1.20","a":"","k":"","d":"","tc":""},"fr":30,"ip":0,"op":60,"w":500,"h":500,"nm":"Comp 1","assets":[{"id":"image_0","w":450,"h":451,"u":"","p":"data:image/webp;base64,UklGRtI7AABXRUJQVlA4WAoAAAAQAAAAwQEAwgEAQUxQSPIXAAABHAVt20gxf9i7l0FETECnWiqlc9jpnGD32rypsoA40+m3yknRLabtv1PbljKwfrq3dYJ0qScfAEl10dnDIcgHCD2H4A4Tt5Jgt1UycYfgDsHt3ltBy+uk/PDshzMae5+15hxjrGRMNCImAJO17Yk2uHmW8O6gtYI+WkBAC2ioYTJTOOlRhTlRmJMKm62QsaHCZqtzzKiQGWRmW2b2MyhJJen/yjCLiAkA9Q/lmQ5O24TP9P9PJxS2KIa158yV6X9vsX7Pg7QpZ30rSPmgwLFn0Df+r0FJs/71Vvx+uXzVpXIrGl5e/vvMm06gekqYE8gTe+F8cefa/6/NtMapctpX4xxv7X9pU1vwy3d2LI/BXNkT7dGs7ur2PDTN+7Un1Egvt+b7punKY9icndwWM01TntRGJvudF8vzyXyHRVIHMuhvuvpl/zpbjp29+iarXdZGKTmnb4LkXqSTb6r6Zf86SsdNAs+Bef1mqg0bPT/FsWnUHg9V4rcP4qPxcPMR2BmO/obb8ZiMn4+yWmZh2AsKhtg9q4XD71QMG6s2Dj+KnvFXrkM+HFv/sRJ8Tc45f6p/MF/3psvefUX1D7txQU4RJ3w9PY/jWsalMTKdwhtVLDBKSPGphiXgazsJjAqWGWWkWRSs8HFI9H0KtvIpVPARNR36l1K40Y8feFwOXUelGDYeyb6C2siSw40uDxSQXqIWgG+l84JivSctFhgHpHunWHfA2jRC+Cl6hY5VQsqvV6zAyXRSb1SsxGlF2oqVGVkkHvWqMMrU/uyE8Ej9/SdEIff0fFiQfDkfGrmnj06HgOS/C84G08k1OB0Skl80q/OwnVwBzUIeGcn708Ei+Q1Oh0LPSmKK6lY5f99NkEXyKyjjCHhy3WgDXdfHIYHamlSlstSa0RsALxWsxAKcEZBIVTgnwGZC/qwA8IVKgfMCwDcaTnmscAChE8igveKBSf2objWs8gLED0qgYYUboPYR3ajYyg8wZb8IKrZIAAhtpwYq1kHK2HcJGtQJJDHApB0KaHA5roKkNl/lVawbUQBcuWyDmf6jWv/+3eTf8/elrOyqAXF9u8RO1duQa2HWE4gc2jNWmOp2k2o0ILRJ/V4x2lUNSG5iSgtM9i0qoM2Cpf2+4gTy/30mbLh/NGeIyx2P7WWN3pwYJjYk+qT90vdEc0L4jNT/o6TFnAgmNmS6LSeBy8i5LSdAKMi9ON0zsaGEq9E7kzoK2RaBnPfeG+0wqaOgm5XCp1wKXrhZ1XAVZe1RBLPh9dnohesobrH8XMU9ezJK4TpKnLgtHXduy2h86hiYjjJXxyrgnv95D7HYgbCp4d3rHw1AQbETo4y7Pv8Ld/ewx1EIBR98Wh7duoCCV8fEbLj38694N97PI+Byx0tf+KibZrpkpLsTpuL+2f3o418m+YtXZ2LFq1+INyyg8FHPZYID1/DQtOCedb3n2paM+z6ON6tJR7qJloxYXcfd04H0uHabGu5/94rb5PAGRj2HWxvef4IHhi2T5HploeDBd694dIPWW0C6cearK5LM1mXSX5bLHQk+LY9uzttvA6Mes+xId9du1xcVK1J9+sJH3RaLN9P10/7TnDBkMu0kmQ2u2VQk/cKn3JJwOxh1F7Umztg9dCTzEki6iypI/XG8HdsNId0psTvn7A4ACSStSVyvySHD37kZ/aYwqCbjMyftDh70JDUMrjlxeHor/gpvbF4ryiVO2x080+ascNUs8BtuxL/eGjIoQGzgxNXBEC4s3ngj3n97mJ/gOW3ayhZgFDsHtLdhaN/pYChXFnH6fhbG0rFo04dxLKByQD99aTACizx5fYHBNCy6mbpiYDgzBwwzl2BAPYs6b83DkDYOaGdtMzCmicU6Zz3CqFoWfcr+8uNgXDcOuEzYamBgA4ttuL5y5/oCY9s5oB2tsOx3q1gY3MwijtazAOXS3UkwvI5FG63fx9H4u9E8DHDlgH6w1gIga5pvMzDCkUWm8u+jYCoAjJ8swhgbFt0Q+Yta//7dxJ/IJC2ArGme6GCUMwcMRDhuMsHVPhPJBoZ5YVHF6iLdXQdgYjuuLzDSjQNaoRyK/HgPAPC5H1MtDHVisQoVZWo7AZhQD0gw2JZFFyrLVHcDAJf7PsXBcBcOuMjUZNqOADChXpc9DHhgsYlkUeZ8DAC4VC7oWzAw5p0DWomCUN982H3rHzQw7plFlGgV6u0kJtCxaBJVoTBOEVQO6AVCqe8eTVFkkeXxYmGZIsOiG3GiXPhRMwSZAwZxNsHMFC0sVnGaXBXmuHHYpDEo9zpJiUOUxgu2TJLlYKWJgplJgkIvgLRZrgqzHKjVBcQtcq3TBJ1Szw4ERrmXecp0SgCRrWBmnhyRliwI7eVqMNGVQl5A7ihXnql4WI0GJF/legX2ME3mmJ4dCF/kQsQ+TZAPKAHkr6K9x0/TsldLFm4hyt6nCdoueYHbaITDeUrX1WDgVnrh8jzZK/rq4IZKZ+cJ8iVbgNuahIOJNvWhlizcWj2CuMTsDS44y1an6sKLbOv5042OZdG+EHQ8iQZK7iX7dS0DyYKaZbm6UTMvVwI936TajKLZLtK/WlD1IFIBZc8nEGSBurrBr8mD+gbPn0DwKW8/f8D8wpPTB+Blv/2u0wfAfMXf9LPnvv+eX6t/18+dB7/zBPr1E+iFEwgVydqLcnqkI91FLRpj+iyZl5U0JuselryuTWEMk5zT+cqqBGa2LBnljCQel4tChXEko5zwLMo1ORH8jDFKk2Ex4poXjVkPjNISSutFRY0xBcYGw7K6KPsehZESfc2XPK76FfzeFGC6Y4lrJZfUZSV+HuZ7rWRVWFj0uOxNY1SFvrAVsrquqjHwFapDLDhcN6qMyhV34DGiWV+LFSDNGFwlATAFUxG7Z9JfilcaxBI1YA8biuIyi+FKktaoXFoBRzLJQVxmNV/JqjVYSjvgSRoAWBIbtyspagNbyEAgNwCysTXKlXS9gT9QITALIJGtXnClqDjwB4tMC+jMVodL9aoDT3IDE6AzG7PBtS66A08G0EIyG3fBxSblgSeRgMh6XnG5m/ZI5LrCse4F11skKFMHif8hmtVgcMWoPpCXIZSSxSVbBcIPGx6DxUV7DTKepDe47KhB9zFaQbMx17Iqj9kO96LZ7GS8lqI8gQIY06IDSW7X0nRHke6EZXG5FtSdlcxtnsWMS3XKs5O0LRvL/loW5Ykk9wbLqr6WJEOfNx5rKlcCrjXLwG/xlkpg1V5M0SBXWlhNuFjUoFBKteVijArl5WBZDbhYT6JpRj7QHUJNXU2k0ItmhMITDKBZdehrjLpZiULRAumzFbwBfCXguCRpMjtJd7MKhaQFUQCIMUaabEMuZTkYcm1QgccOsmwhkXGPhlelsGQdUNwAJJJM3tRUbWExaxw96WpLZp9lZ70yQ4o26YAlFWAOJIMpIR2eYOBLFsXYYlk1TbImNnrg7Sg0IKG+BXJkALCVyE0K28EZyQWLMklfMqxLg7jM1hXMPYWNhvkWaCdpAMQKoz5oktkZy6NF2ZAMBcm1gLpNbM0Gdz1RSBB1IJDcAUiuMGsA+DAZnNlJZosOnnVbUYHNQXDnMwUPnpN62Zc/9FicByoAOleYBIAjnbuPZNKoLzXDekLZZjY73MBCwbBaM4uP/+wbPmr40mEDAJ0qjAAUqd3vk7ug0dVCgy2IZ3PSuIWdQANGKrD57o2vj0PHYz5AYoUbgPd/EO4deUXzWtGsRxwlsnkT3EKDBDcAx8Wx5+M/+46PHLV4oD0ArsIFeMrj2J4naDcV36APKrI1GdxGTyEBAA8d2fvPRi0U9hJ0KGUFFeAMOuXaCgA6s9XhVgYKnovjwDh0rAA2HRiA1EGVFlYDAEhkY1C4mYmC4aEjR77JjJkvLTXA7CT5R/DmHEq+kgSARNaTwQ0tBBqwcBy8jpkrbS2ALNvL+DPWdQiFVMoaADyr2eKmVgLbvUJgadKRw/2QLaXYdpT4o6GDO2iWLQCsLGcnuK1IMFJxLTpzfDMjpkpsETlA0ps66MNasgCgciE7wY21FDwDzxnXEUMumQbnClje6c8hkdgLHsdAkskKbq6nAAzCFOhGzJfWhpSlgP97TYeVBI8ex4dIBotGY9StSATqA4nWNkcdMVtyNU2uJZ07SKY5bDjKl7/gFY7abiGzHP0qd28lkDlIngLTgEkp1BwZSvh0BzhuJC2O+k2/huPiE89me+cKgcgByxzoxgv7mUiy8pIf7iDvfzuzwVEnDUD7zJ77nesEPAvsc9QBM4VcI0lTcqYDns0gONookDWxb9J3DgnCg56a5CkwjY9a3NHqCtKBFTPsDSuKNorymX2DxZ33BCoT2DnQjY2skfW824JtWw9uREDR+3s9++ZN4QYGApkLwhx1aNbMk3lTAGKTG6W3g/iHPfvuFrfRTRDpbGdUngLTuMjOnl7BNO2jtgWA/O/j7BpWwa3cJ/APGQLhDNY50A7Lxr7ZydYSRiUB9Ae+wPNxWwQ3NEwAz2SAMEcZFpi9C5nui2fWfnoHdFqNdc6HqnPW4NZyfOWk8hQYhwUQu4UO5Es/c8L02yyWpHHz1QQrJ6xzdDsmyrpQji96zTtiOadXveF1mV94/yQRNircfjNBeFblgDAFlgERl9j8uftQFbP68LRfe+1DTei2bDYK7nTijCvWCdyzCguVp0A3GrLx5C44qTf/MtOQ+vmnBcF5Mda5PYTgnVv0qG0KhW0C4IV1Dj8YS2Z7XtBz+T99cCRDN3mHx1mxPvFs2MwIPUMCwrjCDXEKNxaeJ72gKMZtr3rL+z/1+VB8xvsFwErSdXv4YbSLjeyb9QCkCTYgjVsvyEz0DBmG0rM9GhyXLbIcNYrqX94rgCFpe3mPZuXZO2mM3CbQAMeHCxITuGE9wlB6NicLANpn1r2g/hceAEndyXu0Ks/uu2CoGpcBM4HjhzioWBjKla3JAoAJbMwrmjcHBBJ9vEejOHZPC0bHYR5YJgBK7KWH9AhjKblhtwBgAlujxslgsTL28R6N932cvZPF+HXYArhx5ZLABm5AsTCYnsW8WwUAsrN5w2mJWjF08R715V++zL7ZL5jx3mEA/Lj1Es8HsVePMJzWObcahfKS2RoNOuokH/6nHt6jrH3cNMS4PbSl3RnMGgftAMK4IIPuVCyMrXi25hV9bXzq8zo4j6M8NX/soyzH3RltygpT20EWAMc7GeB69AUGVyIbsxP03h5+9znrAcD49BhPZr/gDsogAWRch0sdJ0nnNgODqxPryQkGhveqM9YDYtNuAJvbSCYn02EfEgGYceUi4ARzpi8wujqznP2CsfLeJ5zQHuLSpnDU8QyZncxmh6wA1nFJDGyXbQaG14fjtmqM11+4p0mFe32yaHSnyGwnkyEKgBu3yCHtgr7AXP7FW1rkGc8IBu06nCKDTAU/IAFAGGcv66zgn5UNzOabXMNL3rTgvAmnmM1Uy4DtkIZ1uLzwgvWB5mFCo6m84F8EdakBxp9hmgq5nz5weKGmx5iCiKuBGVVJCu4hNFrfAojdcxPNVL6fANDjEjUzBsB5CwMd1066C0w4rBtaE1XTUa9bSKW0tCi7hWwHyMb+n14AM24RZmcTh/IPfuWnq79Nvvane+78k58++/0A4BzgnofWhfSn+uotkWRCf5041IsbZ69IIpmKw78AwK7x+7/ftJN5nKyJZdvPcnR8eFgH+VzH8c8agAR5wn0tQpJmkLjMakL3jeO/OqzIt3ScwSgAtHemxR7cGJfZuHTzvIFJvICT6AHAPqtpP4QRJrF1R2/PW7hc48VZcRotAISmfMj9ZGNzll6ON9HIZjLOY9YAXItmsZtObDfoHFDEBqKZijOZ5IQtmU42s92is+sybKK5inO5n3BDHE96dDYVZUxXmeMCIddxNte2MMLzpEfvV6GQ/io4LtEJOKFmEs+TG3o7lNLIFXFG8++3pH6eJy26FykaiJVxTlMLu61szwbdF5Ry26HKYArO6sPncHph+y7o38RIOxQRbMV5XUbp3JQWDPQoppfJdZzYrCq5EE9FNmYnGLnJYURaOk5tlFIo7Gcc68kJhloUs8GOK7+As+vb3AnFcvYLRkc58h6JXcb5tQVXMG36UyTDvmpMWOSI8piME5z1wRakRfx+r7HOh+rurOlnUE7PIR9jKk5xEgD6ENH4mx94WWLHuC19FkFgz3BYOcQ1nOQdADLJrabC397nQg+S2S8dkhx1F8/JdZzmFYAnuVSWaABA7N6DZFrlTJEjCxNwpjVgSUpB/C6oiks9yLyc6HJEWRJOdRYgM+Co4op2m3qQtg3l9LtYNhknOwCe60Eng9M29aBpcYLAvkxMwel2UNQA7Due8HAMz3uCkRbApg57i5ejCmIrTviC5xngL77wjOW+3/8cSb5qVQ2ATafyTcpyuI4znpU3eMc77wEAiSzuSwNg8wXEnTqDpeOcxyAvexnKEgpk3lQNYlOTv0l+p0Iv4LR/1r8Ejb5EMpgKAJtqWW4S8KjXZZz4lwHQuxRgc4UMugYYnw9ecIsKE7zGZJz5T2to0pWgY43cGgAoY3BSjnWvjZapOPfxnkSGCuByjVG3dJQj7JVIuYaz/xa2Qe01Zj3CieEEcJ7s+AWUnUFVogGgeAYwocKsB4AYIADh8ds6+BUA/MG3AWYvMeubV1TFnrM7ACge3RlAbR8+cBtQhVh38yqhT+koB1dYTojdM0l+gfQDihBBVXAqaBxTQTfZnVWrMDIL4TTlM6dWh6NmEXVZE+sRY5MQoCkfOaMiiq4QajaxVQ8KMpT9QCPefmY3pVBYSzqw2WKwl2Hl42fstSeMR5lFXVjZbjHayhAUJ6iSLiQAkJ3N2WK8DFZvrEN5KWwAJLI5KExYJehwYNWOKBVX0ID8L1uTxZRFgnJEUQ5r0RYBeRMbg8WkqwRJbwJOWMhbWd1XhWmTBIvamPVEAl5Ckml3qwuJx7g7Pc5LYI9YdcPLCYtn8GXOiN15Mns1yAnQ4cikGvdtaEv4mU/cC3GZPdcxIEBRm79SLStp9csENrNnXjG48ktq49Fq+CqdtAR29QqjC7/lkOWoOHXb2iT87qh1Ys9gMD7xs4f4o9KMvaHmTNPyX9HqT/N89gozRnYdlOWTnfZ/cfd9mWfzbgVzenabtnx87aLe8bB/ld9jQ/CrwbyGXTrGKsQbourxvI/8r0HRGGM0pu/c/DGgEK81scN3ffVpgjtduBl1gXOn5PN/hjuemTXQFwR15mXPwF1PzLajmkqYcGL1uPOeWTqqqAS2pclEuXuWmVcZiS0qKdxAZobXNmtY14ZocAsLqwZHbweVaUOUyuZwEzOr7bCkFdaWTMBtTKyS1iAUJMmN8Ky82tjlsBvcyJexModFtRDvDMyGW2k4VTjcqwXyN3qoRgyojLLiLJuPC8iZGUXFgV/6hA0ETYy85nzP93hJPCMgqBkZJLV8Krs2dZ/3qaIAn8wOp857WQqbeCJkNp5C0bLEBk4Ez6WqzFtMNUa/u2VhuGSVmTKxgM4kklg1JvAoTByJpDGex8oEToXAo6iV5eF5rDSWg4xOAFMegYY/yKtE59JYOK0qXDYWoFW/xCVxKESswqxcFg4rEVCYwMVyCGrluQAHp1bAtjAAqk1dKp9Mr5Ap6rLxifSSWkU+nt6iVp6PoWfJ5GOSRgDjRq0D2aQtlVOhVtRq5ZSoJbVaOC2zLXSithhOajZLxytLBdaTddCqxCvMVdTK8drmSoScrnTgvc61EAJdyczMXFarPoMZpvnitJUKUmzqYLjFSTYgv1dP94M2bMB9nyTQA/C7FGA7N4Gdm8RI0ZxGdMPOzFFACmyr1YcM7NUckUXYBxH/+ZVGGRZ+yFNYFmk3RMyLJnQQMMxQQRrEt0SjBqsEboYoECJmqwRWgmUGKxNi8RpQQUI9QQOpEIubvyACJngNk68igZjN5HUjQxj3cUy+mwi+y8/dCjJuw34RZEP8oqmzQthRv+25vo7O3cs9weF7b93x90spJQNPZU66Zr/Hk59KbH/8D37rdQR/6Lu/+7u/+6sSwcL1t35n18L+9//4d+j/dKJuzclTQ+MOP/scnKvP4NVv/GQ4WeXTZ558H5yuG0/+9nNwuiq2v/DJcMKGpv61cMYubHzy/HNwyqaG3/4wOGlZfeHlcNr2B978BXDiBkR819fCufsRH/YhcIYCVlA4ILojAAAw0ACdASrCAcMBPm00lUikIqIhIvHraIANiWVu9ozCbwUDfK5e/hX4F/gB6dK6ta/Df6efw/FANnaz7+Mfg1+sn8d8gD8AP0A/oHQUfhf+qv85tdjMBvzf8L7ySTj9Z+UHiDcu8J/h/2+9uq2/278Of0/mDq/+jP4mfL/3b/qfel86f876q/z//pPz/+gP9Wf+X/gPXB9UPmA/ov+H/aX3jf9p+4Xug/wf5Df4z5AP6r/x+st/dj2C/5V/cv/f68X7yfCB/Xv+f+6vtf//n/2e4B///UA/8/Wj9jP69+GX7Df0nz4/yv916vP4f7e/Gzffraffv9164v7rvp4AXsL/S79GAT6w/7X0nftv956P/aT/de4B+sX+15DqgH/LP7T/0f8t7xn+F/5/8n+Unu/+qf/Z7if87/u3We/c72S/2VKkBC+yALB/3y8OuKy+yF0K/drWecXIohsL4zNVUnnEhWmIxG8gA9Xvo1pnQClJ5xdSHNGPTqMTsE7OTBw+aPK29jsvRiT/tuOXI78bjiAazxU+uV8tcrP92pl+BFCdtfOKNSi9giBVY/QCK3qz7bjminc87P6SqQN6rHWagXitJ6IPRlyNXBFcPJevRPh1VLA/suf/vQO+wPNbJVRbLJXNYya1tGj4UP7apaKJ08TkwcHaP8dps4S3D2BnD92q9M77AcJ4C1+YjlkhzGPmcUIpM0ZcyEQfeu3KSf83UBCPUvCZfJ3no00RbptnoAffSy+0prcWHyVK5fO6kv5k0TT0lJh0sxQVIpILTUnX/nI4AnWTQiwgFNEr3A9UMBC4F2RGOcEh5rWecXUh4equ/6hd/UWd3Z4wBxNCb1TDnaIeGooz0WiRXQfjwZNLt6e/xqnjmvit+0mzbBPAsrb0/6rA2APxjLlCVWqsLqI+5+WiTgII4ROFE33taOwZNssU3PPwZ+85FrRr7HOpAsHOohkhJsU8pKosfcEWMaq5wGWr+TKpLm4/yvtsZwXuI9lmVxCjqIT7MKqW1SOe3OjXWsnZ5LucHN46lrlLhAaGwrUWU/E96WiVo6/dV/6oPU3TMqx6McBkJF4kieIHDxcHJSobvkNe/GIeXXp9THpeJdSHmtZSXdQZXHv96lHn9ElNcSkM1+wcZCaApNcxyFJTYO2rHl0Ww0A3oElY3T1ygTOOr//gcYNHX7tazzUuoG2piKKUkPLS9F8IBvFXxuZQaFhMI01/FHCELatDVykDGqwVDr91c73IvGdynfBnFt9efl2i0G8XaI0aA+sxyni7qTws7V0KjjnDz/ZT4Y9ln/VYKh16z3g0dfulrZa0I3J+iZ/bEawvWO/atgcUj/P+sma0mfFm+xjVYKh17XDRct0nqsFMY90W2fH8qjlQ6/drWecSd1Gm7Kkh5qin4FG/CYGmgakjHV6T/blea03k31rFgMJwsP7RweJzR6xITbW9wVHbrWjjpjVYKh0pAafi76+ogmJ6UnDhcSJl5E5BjDYqCzGWYGUKT8pNQsfI+riKr0Y2sJAP253SU2MvL0Y0Lg4jaUKTIdSRe/jxG7o0kEvp7gTXhGf85rw8K/Wcx0XyPBE00kReyi159gghjMTm2R6weg8q8TPmf48lPwp9clUc3BAF0jGdRjjdR8BEeWkOm1XMUrEzT65H3iY2TtwH2wD1yhXk60XywbtFK9q+56Obxgj/W6jZwR1pHvskTaodzPhISdjrUou+vZCSSZxXtoQVWNMJhJD1JSE1RHmSa8GmWSU3QgWbCElBh5tkNEcVuSB/ZHy03PHrGKP09Kou0AwQs2SpOqkgg1C5Qsx3T7Yuh/QokZDKPzgo92Uhyd1bAdDxCMWWwSfonsIEjLfmw/QRw1Hb70lL1pdeTurCe3frn446l8wrLFJzZDbW9qCGh9+s2T47YnnAo5eLKBcp5wcgcnmVaPXP0Ul9/uYfqZ6gz4gSF/UcQk3e31yvSVqk1aVyjIUCquoD0lnXsA4G7tc/t6gQfygcr2pRAqC8JubmIGjosgpCxA3jfcwbGwHLy0T2yyQujWlquVahA9UVFVBvc/a1hz+/hiyd0D4vL+biYr0yOWleH6pmqKaVk4zKV6c9Ncr9bO6ft9ZFtnNGiBDT7j1IZsvRbxFmkNWlz2z9vVV2v8ynVjVm4R8gQXGkJcPkEyKIleq/vOynrISXClHU46TTgwSWYsOETv/0cX1bMH1AXW4tjUjjI1v25XmtZ569GQv9VgqHPAAA/fjZT+aeIUCEAwE4PL5Pw8j8BdNzTE83VO2dQw4Kl22//+eRYP9gL+OJeBA/QSltjHqfr2SJ5waw5guy/UhnXpw47B4EBdnwLn+GhrCelSfbxVXAAOJKV3gCJ83Zj8wEmjuUVnkM60CMpNx0cl2/S70wgknBxtAGKoJ3OMyyGyCXAx///yvhSGaeVqx8RVk0PQ41q/5xQFelO+kLRktdGmg8kk44b22VLQo+Pqk9kTMd7eYgQBB761e7z5rC+T6bmUFCSqnpNOxmfffgEAnzV+Fw2ZYrEejly69WxB4YD2UQD7CWAtrELIVZi07atgxtUio+bBVlxxd8DA5nnx8tV8cfdtTDNb6HrMgvPAfb8vvSVhgtB8jG9EN6IFP0sEiqTzE86oM0JnVQ/8/b2H2p0rT2kWPk0TabwgtD7lBu00+tAJVfAeRQ6juIT2DwD/FgWn/OKjKXy///8/qgWvxxEH27c4S5pYtFUxEzt+p0c0lUAtfhiTIm33duewvP4HtQWw/ZBbXVbc1vQFA4WaoKDt44pm5MhRejkPKdfkVfGFYFUlV5i4dOIxjUE1xwiEA+Heww0f9RrIUj5ArBT8v+7m9NJC9Z6+xEQcYY5vD+XVFpKvUIOHnLqjm1eySL9KS9aINcr/TM2CYi7WTu72x7v+sMK1/K8lDab/XlPlccVjtRUG3JPzr6DxrqzI2OKUyHzrukache1cS3VfeCVRtCUpJcYdCRaGnV1bjSkauyYD5EDvUIBo0syiwpKRGgze+sZNFxv7rn6hkbEky5zQFaoWB8VoiDxpTAnsthc54SNulMNNHkYRjnFHHnbScRZJ29R2MoOYhfgWtP8afjcNDWi8JH9iENrFNjm395UIN6yErs2rF+VQ+U+vUV0WY3IL/+PPBRdlJ/RAmv0QKaPgggQteMPoK7QEMpFxp6LTP3LQhRfluEHfn3+EWX/grRMzUiBO3+flA/GevNfRAhrVXDeBczgqaqQDzoTMEhxxjS/hqWvmOs4dXPUm4gKGwk1ZeJnduJHh70AiT2Ador8mXrx5C5SIkIDLLUbjxKBDwIAQefwENEyqNho+xOcREVpPNVksIFEg5Ua5Htyn8F/nFTMD7QSf86eAAC2uQvWPlQToOEFGoiqWeYSw0lGurRHa/IrX///dhGe77rDUq4fngn05GkGZI5U8qBAPNvBsuTWw5RM6eAnG+XaiblQXD7GwWfjJq4y0c+fJSsJ7YVuhksI/XgPAAVaF/508ADOdWQa/AqcXUWBTl39pVChfddCcskUDqhNw7Ehetu6OKe242aRBq7TMuLAyMK/13OQfC+6cV7IVzkvcriH1qv1PmE1QI4rIgta7mkc1La3aPqzeQcI+l+/4L1GqC/LQ/qw99K5BpsnHbQDk725HDJDyzOBeEmh30d5Iwvk0ZE8R+mAnOXxG03/bgGcSraWmeUkzWl0XREEe5vAIUyCPanq/r0ZLEhazOMnP6Q6BLGQYiFii1d2tbIz66CBGUR83yFG1d5zOtGWhYKsZAk21SSI+eqOWYEKVSjHZ+6vzRALSobTjsksTQTg8bYf9RVT6KvCmZMZgsX6Bov2uCAXEqJRobEjbKo+2hJ9XK0pdqRuROR98J8g3hKy6bZfPttGFeB7pM0QKvWXlJWUQ7/UIdIiuGRJU6TQkCRxcezwA97cXzczsZfZNN+QTR1U+TyRkPydvGkNFeIDDWE0JJWbrLQJVGmKfeAFWAoyKn7CTCf7oQay4lH1ZAmhDmS8cjFN95bOHTSZBcocIXFqB0RVncdIriYOEqpxdtEvf4AHlUtD2RGe9WQZM94Y5HbKBycRB1VTpuyxD6PMMA4LJ9ziFJ/3HTpCJuMHzDRCOWCpJD+Umvxl1QCQYmysGeLSMO2Uy4ovDE0bk/2KK3ryOxLQdavCxHBc/MQpJ5I4TnP6LA03eFng5HJvix4/Ms/vtAjEfjrdZZAr9ix8UMDAe+/D/YJlXBT+uI9U1IXYmn5HENJbBOvSgew9wAPG+5LZSl4Iu70ec2zmhHU7Pl1x61e7dMfYMjmJtPaRlZxgahfSxtXn67y1cM9/GbQtaTH6MWg9D6088bd/O3/2HGXZ2K0B6RBJqhfkZ7xgAA0KeA3vgjpVmP2qVstiMaE2PgAGsF6Sz70Rr5R+KKDEXTQuliV03qK4FdJozOwPcQnr6/H9GeEHhR/NzsXyEaGGgDhwc2zXeyFAbS6YvErvqXON6+yLD/U+scI5WoIpl1UUm1eckxgwVa0U8y8psHGVJywg4hg8BnUVqcEj/YcTCRnTQqpmxUUggMZr5oJtNrtP/QcOTFkW4XvyNZYk764aRmLszVexOPO+yHx/zSjNpMWAh5sDreyAhoNgbpEFv0OLLTWNUDJu9wgyU8fQRUkzyKyqspu9R3PJBTqENyAEIFZ2eApe5sImtEtnjoQnxcb2TxilurDTEOGpf3L2b/cl1A13P8HtrIeCQO/jTFDZ6XEmPCv3jcEHBlbQGiaG2sonFmnDmASU7l2Nvo0c1ankHKssN6rwr9E0eOr0qLZTyjcwk01/jvPi+n9lDYO6Qm+msOdR1CD6mgBknZPDRVn5b72XELCrXGP5BzT3xKEaebX0K1CZavzEs7iqJ8SPrXrOuaeez8zlDo8NuGo+fUJ2HZ+71mEh8WoO6PsVuxfd9PcaenxTN0VK5RTEFejZ4e+QiZWpeA8CBzloHHATAdCDelND6FjUEeXtmS4dHD1aLwwQd0klI4w1HBf8AKB3pKHTiQDfwwUPev3hb/V0GjlaW8cSftSeOIf+jB5Kq0kvTQZCxx5wR7C9Y728SX/mU2MLNfQlRCJm8sr7chcv8PUpMRcKfJafQd1IRzy5Ww63qZtC4fu7qdLOcZ3PPze5cm9fIR2lSLdpCyMsZvseZDDhixUT8nzYnjVM/DP873l3FAF9xHM7viZVu6vuGlhIgX2UT/NnFRwpfebFgO3TZsC9vNeNlAGzf2SOXNGnlcJcYabINmu1RVlI4Arq0Ju7L2D43z1TC6N8RoN9IVPfL+vnxVhRTuUGqxcpdWr+WkWC6PuyrQ2PCAgIQev3pNbguF4pBM4Wr8lGoGiLVRdH18tpdRSlrRrCB2PdktepMmroUpoUS/74EHZNf+sx+pgfmv8oqqaNF2UbEYZnMiOJipS9c5V+/78wLMr42+hlyllW7INShLqooWgvm1Jw68yn++ZbpmVLu9tJ4IU9GRWSzgjzFsdcY15yjtXHHR+0LWdHgBdNTgUC+KL7hduSTEbKj5CDCW+OrHUoyz0qQ+ATpyyzT7gyRmcgI+qC6JdAl2OBafP/CsKEVYVC+wT7Oy3ISgU8QDFZSVZAuIm81Clo7FxN+NQGV2kt2fT75ZtOQzw9hI8sBWvtWqvQETMLpWZa2j6a8iyhpevUt74/wybNYaKMdRxplb79ahCZFiJUKd3tY9H8fglGgZJsnN/RlQY2zCFbqyMReKe0bdFx0hYhrXQ7vfjH9BDFzLudph3gZLvTxvqH+vEhPM6/hlB87m29oyY5X0w1ckqFPLAI/F/jVWugItcgaLR5AIih8hfbll1UWH8MDXK9WxH7un43mG3J8oOqe3KzHCMPSvrQ63An6CI+VTfqpAQucWKsDw87WbVwIqnDjtcMAABRf76HR+1UiU70+w7oWO2WM30z0Xg1Dsgfas3AnB6xPge8vkJLEHQedgQ2blcC50PBDgDcYP5m5+puO4rybwp0oMHogDa/J4VAQ3XMkUuxlTrLsixeZDd7Q2tqlPL8Lfg4og8LM8XJQ/5i4hdXwbA/yPTxz7+WySwGJ70yYbaD69blkIlAor0nsyNjnLVF2OeqmaVTK4ztiOYXtXFsP2S2MCaRgmYLygpS2p+5/WPDfsOur4euGYVz+CyoU2XnFG38qRF57VvLUCx6LxxV1M5ow/E3GvRufhcxFeA2Ep2uO2LJ7uWByIOXkYcppgc5Co/ozmrzKA5SHx5/c91QyauAHugx2/mCFaZNnAtGuLCFCNcHPClRFS+luYJIkRMrKhprnyZ3IwoVea81QB1GXNFUPS/MZ7qpJQq8tEvdFnsU8HEEUvrauAUScwCVMNhbAD1XEvw6RrT7swM44d0KAchL1yKPLU4bhZekG0DJEdYEX4llhX4oIixA1/IiuW3Hp5PKgkBiNSlVccCMF8yT/NboQJ34ZWMIxyCswPgzBaMPpxSicMyw8mmdFoOut3aIcyptlLAAAnpI3IFR/5eIqqu/80VhNgMKA7eRPeTShndTpuqFXPA7fqUzj948nUgBvD32JoLwlvcpT4ypjNFFIkvFF6XbqfiaF7VmCblpZyk7a0tEyXb0/rps4xGV31+McoS8otIGNNg+rOGLs249HG/5I0EAgptvJdEidmTf4A+66u97LwRNv71rWZo/m1HVeIXF0KV7k8RIpwJ6KBz2tZ1bkzosfG+d1awmP6Ur+Gu4CZgaH+5uNvPQGl21p3g9tIs/C2v63F6r1CDKM0EYZG6XWxPJqhNIUOY5I+N2oBu7rZrDMpVUjZ02yb0o6beaqTT/2JmCG7Nhf3osAQmay8D/56hOnWiNjftaCMhVE23GVfAYAHWb//yxmP5fEDm/ExKCCbSgjocNrpExMIx4CjM/x6rhDzpy5nFLNTlWanHlOhjllsM2/kI9fm5BNcCny+9fh4bddjZVuhjeL8rhqQxUwi/yQ1LOxF72Neb8xNCMkmE+jVCE38d9NL9AcqDbLucHcXVzRHG5wy2lBufTx9y4LLw1vpFVULSDxAgohIcEASV/3ujrDc60UkWVZuXqtAE8M7HtcqRwf6Vh/RxZgtw5+bGPzoOdprsZx+mKrpBRL9hP+R4zEKopugAj/cernd2TbH7TtMt17PlvKXE6lX4y8M14sjPFTNy6Dy9jZ5xWxhc4Z/tSOs6A6tc1aWd3ZpCGwudgcARUElqTqOJm+quDMA2bVt/nIpYs7XNnkw6UgIvq8ASdaApzFRoXCaDRwGrMe6teaLCRmcgkVQF2EKiExon6u2Fhi7cxHK/gQyQ+u8yjdEG/YhD8w6vLBq+M/h41mENT8m/GHWKHXXjKQp/sLichYCVQ8y2e/hztbl4NqLLLyTvE0t0Xv7+kq4eGkhmJR4qo8NS2Bg5+l0Xw+WGRKS6jiKDEr8M+3U6kamsJ9kDw7kX56cJNFCM8bADAzuKM4KMWRdwWsFCLO9rbPvdECHY3BcdngJnDKHZ0KPABNXUfT02KPwSWe3Dlj8ulRyjnhbVQ/ALRUSMHoVU6c2AYq42WiBw5jZncimWku/IcgAAAs5K/lsZUrUEBpdvKKmwV7IbVkzBInamdON7gGFg4in2bO/tSPUgax2QmuIb9/+X7PwvU/LFIeZYwCsAAHSrq/ICmPuFtY9J/W4gULKjqUrovEy/uizmLwXP8xFO/PL/sXlzkhwtnGZrZByhnwAbF5GJr3XSDQC4Qga+BIvN6GyNQ5qWkHc0bJ6V5pYS9r45V+/8ChAmtOLkg5UgCLmwTDpo/Jq6+u5QpBpF9wZyw4AdyguDkv7cprOFHw4F3/Hn1UuMLLtC+nGesw5d3IyibyDAEjHhJdop38luCQnAkI3f3Sxw1A67jNKe0/ZoDoaVl+xy2fIl1VODxQ0gIMGv/6Xcb87x+5bdpzrO6rdJINK40tCL/vc5DroKBBG55nOC5z5mc1hmr2e3jaX+UYsOJLA1XEqo1+MxVygXCUw0St8kUpnkEQsP44n3+OIALs4+X3rnLSP5ldr75x6A61jGriyRkSkkc8yQrgemshrwhnSeaz5e0zeKSUshS2TnemBesGcKPnLuoZ+InNTQnwY0nYShPJZqMvw0NVA7RfjALrt6SMR5/zRObqahHQ1dpGDEzlgucsPHcpmJyw8wBrTD/y8NdD7eOUn31gN8o4LoWt/+Io5PI6z2zdbSaD8wyCbm/sEKhUKhRAgKPwJ7NapQg3M06M+npNDboX1DdoFjbtB664KKor1gsAyq0dI5nbd9dpxxptni3P/HoNYFtMtm51hSc/IZ9+7eWzAPb7abRhYJQBLQr8RPSrHHNHj5j2J8yMCloTe2s8oKw21K3GlNVmlAd78ef0Wv2OTLESjjRaDzNTPU6fVWA3vsCV1wa9aEJcphll9r33WpyjY0F0fzI30OctM03ZgxM2wr/XdPH3JkDQWaR6HHb3UpQb+tfs95a80IufTPXQHZgwXVZWf0BLjQRXsRu9NIC7QkwfBlGgIaRXjSXM384jhe3jclImnOksyrsRV2B8L8FitbRF+eDVq4Nt8wmMz5TultSb9REdeGx5ZAS10b5IG9o5uWz/io4Rt8ierfZEtmejcO2Cu+cCYIa3gEZCRVgS2oukGoskQ+5Msqsi1fi338fa+Ea4jJjCEQfoerN22cU1TVwUBVw9yyDEW8F6moRDuKqxJcUrPxqhELV0WGZpZkd+QKP71WpY7g/xL00+/1KEVXRf177Up8Csu6Q1/ehimK84QoydJ9xjnlHZX8Kq+o7blr3RHLhqlDlJYpKtHXhV8vnpl+wajUgf/srWhwz7b7EqzqUblIid7J7l0HHiRuZEn8g9mvc5iToLqOlYzlHOLLi1SdvIYyxR2LbrLCbyI3ZBbiKfRAhbI7VJWHJZNyGHdFIYPCTc4+iRGEBYcpCHo+6Gfr4/7GQ+apW9fD/qhDyQIMAhHmle/7ykNvozEkt8SRuCzjVoNSqoU6w0xP8pRimLMcj3Vehl4VAD1qCZlXeDEhiS2b45q4f4NubsAgJANb2BX80TU76PCJaglCDaZPOZ5i8eyYj3ng8ZBCOfJy2HH+GuISkvNCcfd+CDqQAke3BmtadQOAmU5WfEPEqANVxZi05nd93II6ROtndEPQh9KWLdk/wcKFvE+4J9bCS4tC/TjIpsmd1CS4M+qc63Tx7Xkrz+Jldcq3+xxKHgn6cUvWVZBd6u9Ny6YzFoSRew8c3x3BNtAZeCbMWin2gXxqyMOu8DOiGqItqdvd2zxY3Sg6g57NcQRCUdIEBHxWfcscARVHoK5Lpg+ZavvlvL3qu1OMoOosJ/UAE7JtFiXURqAzcsIrJwty2pm78JcJxbAdx+01fGIci6XPGHlHLKX7a97c0LUrMHnoiJsTgYbJiw9urAEyBCiRXUxHAFMG37o/gBcF6wkJlrS832/qMU7dv8dauvgtli4ey8V0/isKOsLAFeeGu7R5ij3ig1DYpsLwoZ3794ogbmhZbedptwocLsVaOsLmBUtIrOkDprl51LXf117hvAfr7uX5EFC/3/VXqyATDw/Kj4I+fWM52SM1KjB0DsHrUjaVOM934emaU3zWq+yo6H69fc/od+cBtPgs/Ay2e3ABs0J3ZQpUg1ilLf4cfTM6vk1nJcnBQY4NvpKkEOlyYxHVZA13bf+Fr1AGfiZCa91qNX9VcMPG06Lr/c3/C26ZFgCb3jThx6YjHyUoy5fzNRA2rfoi5piTD2v9UUPamH/+VMTxbgcTUWzAFPgaoWxsF4/gA802lZWWjStcFN9snokjVXfZ3VH1E8TVunCFh5lvrC1atOIWJIyU0IBgRtB3sx8Vc4uj9sN+CgnAx/hHlRuSf5fNUCQ49J7OccByN4PL8fyQ0c2+M34TiZ99yj2YbpH0nHO1Z25W4LO9TON48THktztxP4Zl4oewDtf+nhWoO/5Vg56Fk8a1a9yL32uGVo4mcanfBB8sbtP97Wc+9mP0Y96wy8MDn+eoZ+e8rzbW1qbCcAOCOI1Z5UYI9CSosv6jJJxCbjMN8ftLnSHJe5rpr5C6c/6gIfncHUhW7OKcKVSLkgLCtIRFifkuizt0daWwn/Ga6B4v+/I4OlKLwBA/aP4Ox+yP9ZvdVfCELhqJ+YknpYDJu5B/DPQKO+dYdn6tCGZSiEREBpy5HFFAL2ZfpNcL5qJmH5lQ5y5SCpzdBofhzMV3jvaIcKaKDBpKKaumChRYjN/x54g/4hqGunSKvGdjLMXrRIxXA1YeEjGxIR/s1S3S1uhYm90KsI9RUlQeQ+3xhNXFG21wJWlMgyvv7uY+87WD9p4hvOeXWJ7wgY0Z7JKJzRiDnZZBQBDsw4krpP0pCaIZwGc/PZzfSRpL86SysNITw3g3VUct9KnHzCaTo7ZjpqG7PTb+qJ5z4qiQ6yQRRwlqlozB+4pxP4di8wuVYTdKfG7l8ay2riJ7/taOtKa3TkO8KB3iOV/AOmThs2Rk692rvUgBN+T09LL50JVO9lFnplbTuNY7A29xANnH4ApuJeg0/zNP5wpF6Z3x57aZeowOsbOnX/okVrGo5yL2P//Lk9jdaHtUB62kSdnnKn/9NbW2bExiYS51URUkIuCmz8mX3QR9rGFZLVYH89DZdzJkkZVxDxrMYXxxugowqfm+XkClZT9DpsyY9GJUjqg1arN9JMx5S4JoNIqW9tlbzSaIsjMnq999YErRQig7bP7x/bIgYg0MKfi2JpjJM0obm3mnnBzKIQ5d4zCMPfj/jBJOyUdH7bJcPWidRnr6B0EC/6lcW6UvXl/icJo5b95MhNj/iui3pQMOy6EfuB3gAtmXNi5wj/MpW9T8TZaSzNUnxakkIBReQUvn9Wf8k9FZ9lTovKAs0xljL0Hvq1IYugBPVx1uYnq2PSVy8IEzZ9buXDI6UJ38XF4awaMOMiWpakC6aRoRuO+MTiezU5Hz4L2qhud7kd6wMuNzVvZYFpusCijB4L6ogbHdgVbnA4P1FoBS2zMpBRI01dcqMqZ2oy/PUqf1MBjYEZDNntBv7ZLBJGtwjSOmHGMkw+0/yIUW+CFsQ6Hwq4Wf0GlDmTkGc/HQMJkPa4mw7snMw80DRkSuC3EbfaoX0Xns0WPtjObu+hgSxVwX9/h1rasPQfIKokVM6iIk+i0TmQCyGAX3UVeSMUigNiyPVXOKvLSFoe9bf0MQCDjUmu2hDLo+vpabTRidIYl4Gisoak6lUa7NKLlZT+zZLMgLWX5zEZEyMQFuu2KrFcMclFSMOzO6c5NmvjCCbjJCAerMNqeXMLMZKQrgir7u6gOieqM8RIWY8v+ocAnjV+TeaTNClQ3Y1n/YKqeOana2jK13o1b2krHhlp+rvsrgO3ai88lapE1CQJFbvV0cuiGL4qCIVcQX2/x7/FQbseMGuOQAN68BVOZDQNT9pQau3vlvnlXh6kQbP8xT1IgkWgnNz8xDyugnaEYb+XWT3KtCo3S5Bq6jHctc5zRzZA7eYAShXuc1PuGsH8lk5TluUb6x9xfAGO0fk8LQXscFLfr9pvQGSYLb5BIsZKln/489Y4rTYGU/ZvZKV/Usbn39pXwI+7yOu3r8gsMU+sJ5oOxSdISg5Q39CuJVIOBXQ0Z0+FDVGG/OtjcaTBy0oQ5bBmodAkVyt44VBrfDnO82R3+DwiWExQgIZ3AflRbCkNcsNiDgfJ4caY8frsRbvnwVrmYHs6IUp/5mPL42H+1YzZYGLS4Z1+zatn0gk4usyzoufGOtzIizFVr/FKZX0SSgofih3bEL1ji/DjbdOKu8TtA1THdWi7YKFHbWtjYDKfs8Fn60P4FJEaLCGx/+n226PXtVNlpzjqUvDjydhJtvS/LFeBSVop9Am1TlbZFzXIoB329fhPmqYv4/r10GfOYVCmHh84BHtbd+bZISNChxHsJSw38bLXH4DOqDfdw6iIMeqXQHqxtZW28+sw1GCWQ/pCf52TMSii89K3eesRp7TBhjGFwfjdPoBWNgrMpKfSdiUzwKlBvPmFtsv3ORSN6fXfp/5PoDnDJV49jCc/fQF4FWHaHdwkW3tlGFs1VzmSq7C85EwXaDASGhZPnKkpIDc+7Ih0ra1n1nv1y2aGY6C4tm66iuKYToOl114P4Q3jg2u37NuRD5QotcGQ4jcxBPnr8Puedv21hAWLtaU9FfqI3rwYSy+RmGflrKLjgqcn6GwIdTNOdWqUqenTvA+ifY7BFJ6j9RfnDnUwiaH3kl1ZIAAAAAAAAAAA==","e":1},{"id":"image_1","w":213,"h":220,"u":"","p":"data:image/webp;base64,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","e":1},{"id":"comp_0","layers":[{"ind":1,"ty":2,"nm":"Man/3704194.ai","cl":"ai","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[225,225.5,0]},"a":{"a":0,"k":[225,225.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":150,"st":0}]},{"id":"comp_1","layers":[{"ind":1,"ty":2,"nm":"Box/3704194.ai","cl":"ai","refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[106.5,110,0]},"a":{"a":0,"k":[106.5,110,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":150,"st":0}]}],"layers":[{"ind":1,"ty":0,"nm":"Man/3704194","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[225,225.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":450,"h":451,"ip":0,"op":91,"st":0},{"ind":2,"ty":0,"nm":"Box/3704194","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[290,216,0],"to":[0,27.667,0],"ti":[0,-27.667,0]},{"t":59,"s":[290,382,0]}]},"a":{"a":0,"k":[106.5,110,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[70,70,100]},{"t":59,"s":[40,40,100]}]}},"ao":0,"w":213,"h":220,"ip":0,"op":91,"st":0}],"markers":[]}
\ No newline at end of file
{"v":"5.5.10","fr":60,"ip":0,"op":76,"w":750,"h":1624,"nm":"loading","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":8,"ty":3,"nm":"▽ app_icon","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[376,812,0],"ix":2},"a":{"a":0,"k":[140,140,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Path 4","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[171,403,0],"to":[-10.292,-42.542,0],"ti":[0,46.667,0]},{"t":60,"s":[109.25,147.75,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Path 3","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[50]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-350]},{"t":60,"s":[-360]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.483},"o":{"x":0.333,"y":0},"t":0,"s":[98.627,420.059,0],"to":[2.888,-9.818,0],"ti":[-23.622,80.315,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.455},"t":30,"s":[108.627,250.06,0],"to":[22.259,-75.681,0],"ti":[6.667,33.333,0]},{"t":60,"s":[188.127,74.309,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Path 5","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[152.627,459.373,0],"to":[7.242,-19.229,0],"ti":[-2.424,6.437,0]},{"t":61,"s":[210.627,305.373,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":29,"s":[50,50,100]},{"t":61,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Path 2","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[122.627,369.373,0],"to":[13.75,-28.042,0],"ti":[0,56.667,0]},{"t":60,"s":[205.127,201.123,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Path 9","parent":8,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.657,"y":0.731},"o":{"x":0.297,"y":0},"t":0,"s":[71,363,0],"to":[1.564,0,0],"ti":[-0.542,53.167,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.423,"y":0.427},"t":28.5,"s":[14.322,188.463,0],"to":[0.542,-53.167,0],"ti":[0,46.667,0]},{"t":60,"s":[74.25,44,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[30,30,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Path 6","parent":8,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-372]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[74.25,44,0],"to":[0,-20.839,0],"ti":[0,51.74,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":26,"s":[91,-78.334,0],"to":[0,-64.127,0],"ti":[0,25.828,0]},{"t":60,"s":[19,-206,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[30,30,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-372]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[109.25,147.75,0],"to":[0,-20.839,0],"ti":[0,51.74,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":26,"s":[71,21.666,0],"to":[0,-64.127,0],"ti":[0,25.828,0]},{"t":60,"s":[111,-212,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Path 8","parent":8,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.662,"y":0.534},"o":{"x":0.296,"y":0},"t":0,"s":[218.627,260.059,0],"to":[0,-1.729,0],"ti":[19.69,60.046,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.426,"y":0.486},"t":31.5,"s":[215.735,125.791,0],"to":[-18.259,-55.685,0],"ti":[6.667,33.333,0]},{"t":60,"s":[146.877,-5.191,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[30,30,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Path 7","parent":8,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-350]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[146.877,-5.191,0],"to":[-4.616,-23.079,0],"ti":[-12.325,52.178,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":31,"s":[179.294,-88.608,0],"to":[17.328,-73.36,0],"ti":[2.051,10.255,0]},{"t":60,"s":[212.627,-213.941,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[30,30,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-350]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[188.127,74.309,0],"to":[-4.616,-23.079,0],"ti":[10.515,52.573,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":31,"s":[149.294,-46.608,0],"to":[-4.672,-23.36,0],"ti":[2.051,10.255,0]},{"t":60,"s":[158.627,-119.941,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-340]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[205.127,201.123,0],"to":[0,-23.776,0],"ti":[0,58.519,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":24,"s":[222.627,73.373,0],"to":[0,-80.949,0],"ti":[0,32.89,0]},{"t":60,"s":[182.627,-130.627,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]} {"v":"5.6.3","fr":25,"ip":0,"op":75,"w":1080,"h":2160,"nm":"Rocket Launch","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Inner Circle","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[541.638,2399.623,0],"e":[541.638,1439.623,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[541.638,1439.623,0],"e":[541.638,1519.623,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[541.638,1519.623,0],"e":[541.638,559.623,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.072],[6.072,0],[0,6.072],[-6.072,0]],"o":[[0,6.072],[-6.072,0],[0,-6.072],[6.072,0]],"v":[[10.995,0],[0,10.995],[-10.995,0],[0,-10.995]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.830999970436,0.455000013113,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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Outer Circle","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[541.638,2399.622,0],"e":[541.638,1439.622,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[541.638,1439.622,0],"e":[541.638,1519.622,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[541.638,1519.622,0],"e":[541.638,559.622,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.747],[8.747,0],[0,8.747],[-8.747,0]],"o":[[0,8.747],[-8.747,0],[0,-8.747],[8.747,0]],"v":[[15.838,0],[0,15.838],[-15.838,0],[0,-15.838]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.509999990463,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Center Wing","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[538.043,2640.317,0],"e":[538.043,1680.317,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[538.043,1680.317,0],"e":[538.043,1760.317,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[538.043,1760.317,0],"e":[538.043,800.317,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.991,34.241],[-12.59,-34.016]],"o":[[0,0],[0,0]],"v":[[-0.311,-31.312],[-0.311,31.312]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.518000006676,0.705999970436,0.995999991894,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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Top Tricone","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[541.978,2213.567,0],"e":[541.978,1253.567,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[541.978,1253.567,0],"e":[541.978,1333.567,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[541.978,1333.567,0],"e":[541.978,373.567,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.854,-2.097],[5.49,-14.288],[0,0],[7.899,7.473]],"o":[[-4.129,4.671],[0,0],[-3.761,-11.17],[-2.033,-1.923]],"v":[[-3.826,-13.317],[-20.524,15.004],[20.524,15.004],[3.283,-13.663]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603999972343,0.808000028133,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Main Body","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[539.272,2484.465,0],"e":[539.272,1524.465,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[539.272,1524.465,0],"e":[539.272,1604.465,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[539.272,1604.465,0],"e":[539.272,644.465,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.164,-24.216],[-8.798,-16.562],[-16.562,-6.729],[-2.07,30.796],[5.877,17.456],[0,0]],"o":[[0,0],[0,0],[0,0],[1.193,-17.745],[0,0],[-5.464,14.22]],"v":[[-27.063,7.415],[-15.417,50.116],[15.12,50.116],[27.283,5.345],[21.174,-50.116],[-19.873,-50.116]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.910000026226,0.957000017166,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Bottom Lead","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[538.043,2691.552,0],"e":[538.043,1731.552,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[538.043,1731.552,0],"e":[538.043,1811.552,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[538.043,1811.552,0],"e":[538.043,851.552,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.732,0],[0,0],[0.162,0.714],[0,0],[-1.005,0],[0,0],[0.222,-0.98],[0,0]],"o":[[0,0],[-0.732,0],[0,0],[-0.222,-0.98],[0,0],[1.005,0],[0,0],[-0.162,0.714]],"v":[[9.274,3.812],[-9.274,3.812],[-10.802,2.592],[-11.82,-1.899],[-10.292,-3.812],[10.292,-3.812],[11.82,-1.899],[10.802,2.592]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999993205,0.289999991655,0.505999982357,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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Right Wing","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[669.454,2667.652,0],"e":[669.454,1707.652,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[669.454,1707.652,0],"e":[669.454,1787.652,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[669.454,1787.652,0],"e":[669.454,827.652,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[10.813,-38.972],[18.514,5.072]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.599,-26.093],[10.877,26.093],[-13.411,1.43]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.518000006676,0.705999970436,0.995999991894,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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Left Wing","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"t":0,"s":[410.114,2667.652,0],"e":[410.114,1707.652,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":20,"s":[410.114,1707.652,0],"e":[410.114,1787.652,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"t":25,"s":[410.114,1787.652,0],"e":[410.114,827.652,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[416,416,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-10.813,-38.972],[-18.514,5.072]],"o":[[0,0],[0,0],[0,0]],"v":[[5.599,-26.093],[-10.877,26.093],[13.411,1.43]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.518000006676,0.705999970436,0.995999991894,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":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"For Position","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"t":0,"s":[540,2169,0],"e":[540,1138,0],"to":[0,-171.833,0],"ti":[0,181.5,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.339,"y":0},"t":20,"s":[540,1138,0],"e":[540,1137.941,0],"to":[0,-0.02,0],"ti":[0,0,0]},{"i":{"x":0.577,"y":0.747},"o":{"x":0.183,"y":0},"t":21,"s":[540,1137.941,0],"e":[540,1202.435,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.703,"y":1},"o":{"x":0.343,"y":0.098},"t":32,"s":[540,1202.435,0],"e":[540,1079.951,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.664,"y":1},"o":{"x":0.333,"y":0},"t":42,"s":[540,1079.951,0],"e":[540,1240,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"t":53,"s":[540,1240,0],"e":[540,326,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.35,"y":1},"o":{"x":0.01,"y":0},"t":59,"s":[540,326,0],"e":[540,726,0],"to":[0,0,0],"ti":[0,0,0]},{"t":66}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"飞机","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,1080,0],"ix":2},"a":{"a":0,"k":[540,1080,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1080,"h":2160,"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Null 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,1480,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[121,121,100],"ix":6}},"ao":0,"ip":0,"op":250,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Smoke Particle 31","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.853},"o":{"x":0.167,"y":0.147},"t":49,"s":[-36,405.5,0],"e":[366,577.5,0],"to":[141,1.667,0],"ti":[-163.393,59.091,0]},{"i":{"x":0.569,"y":0.521},"o":{"x":0.218,"y":0.16},"t":69,"s":[366,577.5,0],"e":[441.605,548.52,0],"to":[27.75,-10.036,0],"ti":[-22.759,9.334,0]},{"i":{"x":0.843,"y":0.898},"o":{"x":0.311,"y":0.304},"t":72,"s":[441.605,548.52,0],"e":[743,190.5,0],"to":[231.676,-95.02,0],"ti":[-80.281,196.527,0]},{"t":88}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":49,"s":[0,0,100],"e":[100,100,100]},{"t":59}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":89,"st":49,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Smoke Particle 30","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.162,"y":0.162},"t":38,"s":[-14,63.5,0],"e":[-14,63.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.766,"y":0.827},"o":{"x":0.162,"y":0.058},"t":53,"s":[-14,63.5,0],"e":[179.35,558.62,0],"to":[-0.967,169.891,0],"ti":[-140.663,-91.945,0]},{"i":{"x":0.729,"y":0.835},"o":{"x":0.392,"y":0.492},"t":72,"s":[179.35,558.62,0],"e":[194,567.5,0],"to":[4.782,3.126,0],"ti":[-4.985,-2.791,0]},{"i":{"x":0.833,"y":0.838},"o":{"x":0.167,"y":0.162},"t":73,"s":[194,567.5,0],"e":[579,632.5,0],"to":[78.232,43.806,0],"ti":[-119.833,33.167,0]},{"t":92}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":53,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":63,"s":[50,50,100],"e":[67,67,100]},{"t":76}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":93,"st":53,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Smoke Particle 29","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-32,205.5,0],"e":[-32,205.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.919},"o":{"x":0.167,"y":0.081},"t":49,"s":[-32,205.5,0],"e":[174,559.5,0],"to":[5,103.667,0],"ti":[-101.901,-35.007,0]},{"i":{"x":0.569,"y":0.557},"o":{"x":0.218,"y":0.203},"t":69,"s":[174,559.5,0],"e":[262.987,583.08,0],"to":[26.679,9.165,0],"ti":[-32.132,-6.449,0]},{"i":{"x":0.843,"y":0.858},"o":{"x":0.311,"y":0.309},"t":72,"s":[262.987,583.08,0],"e":[719,478.5,0],"to":[187.112,37.552,0],"ti":[-15.454,128.228,0]},{"t":88}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":49,"s":[0,0,100],"e":[99,99,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":59,"s":[99,99,100],"e":[67,67,100]},{"t":88}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":89,"st":49,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Smoke Particle 28","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[2,77.5,0],"e":[2,77.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.992},"o":{"x":0.167,"y":0.008},"t":53,"s":[2,77.5,0],"e":[17.804,410.975,0],"to":[-10.755,107.393,0],"ti":[-2.968,-147.52,0]},{"i":{"x":0.724,"y":0.742},"o":{"x":0.159,"y":0.105},"t":63,"s":[17.804,410.975,0],"e":[257.608,672.121,0],"to":[2.223,110.475,0],"ti":[-96.442,-26.986,0]},{"i":{"x":0.76,"y":0.811},"o":{"x":0.417,"y":0.463},"t":72,"s":[257.608,672.121,0],"e":[292,677.5,0],"to":[12.321,3.448,0],"ti":[-10.479,-0.062,0]},{"t":73}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":53,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":63,"s":[50,50,100],"e":[67,67,100]},{"t":76}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":93,"st":53,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Smoke Particle 27","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-32,205.5,0],"e":[-32,205.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[-32,205.5,0],"e":[-408,559.5,0],"to":[-7,219.667,0],"ti":[173.268,12.932,0]},{"i":{"x":0.569,"y":0.386},"o":{"x":0.218,"y":0},"t":69,"s":[-408,559.5,0],"e":[-445.365,555.755,0],"to":[-13.163,-0.982,0],"ti":[11.762,1.505,0]},{"i":{"x":0.843,"y":1},"o":{"x":0.311,"y":0.292},"t":72,"s":[-445.365,555.755,0],"e":[-695,402.5,0],"to":[-206.059,-26.362,0],"ti":[45.25,24.754,0]},{"t":88}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":49,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":59,"s":[50,50,100],"e":[67,67,100]},{"t":88}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":89,"st":49,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Smoke Particle 26","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.157,"y":0.157},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.648,"y":0.631},"o":{"x":0.157,"y":0},"t":57,"s":[-36,405.5,0],"e":[-322.14,565.754,0],"to":[-130.493,2.936,0],"ti":[100.881,-23.886,0]},{"i":{"x":0.804,"y":1},"o":{"x":0.438,"y":0.586},"t":72,"s":[-322.14,565.754,0],"e":[-408,559.5,0],"to":[-25.13,5.95,0],"ti":[32.737,11.356,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":77,"s":[-408,559.5,0],"e":[-695,184.5,0],"to":[-265.768,-92.194,0],"ti":[47.833,62.5,0]},{"t":96}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":57,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":67,"s":[100,100,100],"e":[67,67,100]},{"t":80}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":57,"op":97,"st":57,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Smoke Particle 25","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[6,191.5,0],"e":[6,191.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":47,"s":[6,191.5,0],"e":[-41.722,485.307,0],"to":[-5.093,89.221,0],"ti":[73.776,-93.658,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":58,"s":[-41.722,485.307,0],"e":[-376,587.5,0],"to":[-48.333,61.358,0],"ti":[149.262,30.72,0]},{"i":{"x":0.562,"y":0.418},"o":{"x":0.193,"y":0},"t":67,"s":[-376,587.5,0],"e":[-489.629,541.733,0],"to":[-45.561,-9.377,0],"ti":[30.761,20.43,0]},{"i":{"x":0.842,"y":1},"o":{"x":0.357,"y":0.378},"t":72,"s":[-489.629,541.733,0],"e":[-675,162.5,0],"to":[-155.266,-103.119,0],"ti":[41.593,59.12,0]},{"t":86}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":47,"s":[0,0,100],"e":[100,100,100]},{"t":57}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":47,"op":87,"st":47,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Smoke Particle 24","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.853},"o":{"x":0.167,"y":0.147},"t":41,"s":[-36,405.5,0],"e":[366,577.5,0],"to":[141,1.667,0],"ti":[-163.393,59.091,0]},{"i":{"x":0.599,"y":0.557},"o":{"x":0.163,"y":0.058},"t":61,"s":[366,577.5,0],"e":[634.236,288.888,0],"to":[171.718,-62.101,0],"ti":[-23.341,118.214,0]},{"i":{"x":0.827,"y":0.936},"o":{"x":0.428,"y":0.492},"t":72,"s":[634.236,288.888,0],"e":[619,2.5,0],"to":[18.828,-95.356,0],"ti":[20.464,89.223,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":41,"s":[0,0,100],"e":[100,100,100]},{"t":51}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":81,"st":41,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Smoke Particle 23","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-14,63.5,0],"e":[-14,63.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.939},"o":{"x":0.167,"y":0.061},"t":45,"s":[-14,63.5,0],"e":[194,567.5,0],"to":[-1,175.667,0],"ti":[-151.601,-84.889,0]},{"i":{"x":0.567,"y":0.565},"o":{"x":0.178,"y":0.175},"t":65,"s":[194,567.5,0],"e":[321.35,605.207,0],"to":[31.952,17.891,0],"ti":[-50.319,-6.836,0]},{"i":{"x":0.84,"y":0.843},"o":{"x":0.389,"y":0.39},"t":72,"s":[321.35,605.207,0],"e":[549,592.5,0],"to":[72.884,9.902,0],"ti":[-70.891,19.621,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":45,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":55,"s":[50,50,100],"e":[67,67,100]},{"t":68}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":45,"op":85,"st":45,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Smoke Particle 22","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-32,205.5,0],"e":[-32,205.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.92},"o":{"x":0.167,"y":0.08},"t":41,"s":[-32,205.5,0],"e":[146,513.5,0],"to":[5,103.667,0],"ti":[-101.901,-35.007,0]},{"i":{"x":0.599,"y":0.588},"o":{"x":0.163,"y":0.137},"t":61,"s":[146,513.5,0],"e":[437.591,517.061,0],"to":[96.461,33.138,0],"ti":[-84.959,29.63,0]},{"i":{"x":0.827,"y":0.853},"o":{"x":0.428,"y":0.443},"t":72,"s":[437.591,517.061,0],"e":[577,370.5,0],"to":[75.369,-26.285,0],"ti":[-8.512,70.63,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":41,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":51,"s":[50,50,100],"e":[67,67,100]},{"t":80}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":81,"st":41,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Smoke Particle 21","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.847},"o":{"x":0.167,"y":0.153},"t":45,"s":[-36,405.5,0],"e":[360,561.5,0],"to":[149,21.667,0],"ti":[-173.747,-1.025,0]},{"i":{"x":0.567,"y":0.513},"o":{"x":0.178,"y":0.095},"t":65,"s":[360,561.5,0],"e":[552.486,497.592,0],"to":[88.923,0.524,0],"ti":[-42.406,39.034,0]},{"i":{"x":0.84,"y":0.919},"o":{"x":0.389,"y":0.415},"t":72,"s":[552.486,497.592,0],"e":[659,146.5,0],"to":[103.631,-95.39,0],"ti":[-11.235,78.886,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":45,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":55,"s":[100,100,100],"e":[67,67,100]},{"t":68}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":45,"op":85,"st":45,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Smoke Particle 20","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-32,205.5,0],"e":[-32,205.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":41,"s":[-32,205.5,0],"e":[-408,559.5,0],"to":[-7,219.667,0],"ti":[173.268,12.932,0]},{"i":{"x":0.599,"y":0.534},"o":{"x":0.163,"y":0},"t":61,"s":[-408,559.5,0],"e":[-588.484,458.239,0],"to":[-112.214,-8.375,0],"ti":[21.402,48.957,0]},{"i":{"x":0.827,"y":1},"o":{"x":0.428,"y":0.53},"t":72,"s":[-588.484,458.239,0],"e":[-623,314.5,0],"to":[-25.09,-57.395,0],"ti":[19.338,22.036,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":41,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":51,"s":[50,50,100],"e":[67,67,100]},{"t":80}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":81,"st":41,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Smoke Particle 19","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":45,"s":[-36,405.5,0],"e":[-408,559.5,0],"to":[-163,3.667,0],"ti":[164.154,56.944,0]},{"i":{"x":0.567,"y":0.452},"o":{"x":0.178,"y":0},"t":65,"s":[-408,559.5,0],"e":[-558.401,456.121,0],"to":[-69.861,-24.234,0],"ti":[32.954,42.372,0]},{"i":{"x":0.84,"y":1},"o":{"x":0.389,"y":0.441},"t":72,"s":[-558.401,456.121,0],"e":[-659,120.5,0],"to":[-92.412,-118.823,0],"ti":[30.837,53.934,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":45,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":55,"s":[100,100,100],"e":[67,67,100]},{"t":68}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":45,"op":85,"st":45,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Smoke Particle 18","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":41,"s":[-36,405.5,0],"e":[-408,559.5,0],"to":[-163,3.667,0],"ti":[164.154,56.944,0]},{"i":{"x":0.599,"y":0.534},"o":{"x":0.163,"y":0},"t":61,"s":[-408,559.5,0],"e":[-617,334.595,0],"to":[-132.024,-45.799,0],"ti":[24.505,88.532,0]},{"i":{"x":0.827,"y":1},"o":{"x":0.428,"y":0.53},"t":72,"s":[-617,334.595,0],"e":[-659,120.5,0],"to":[-24.824,-89.685,0],"ti":[21.052,36.82,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":41,"s":[0,0,100],"e":[100,100,100]},{"t":51}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":81,"st":41,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Smoke Particle 17","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.563,"y":0.549},"o":{"x":0.187,"y":0.168},"t":32,"s":[-36,405.5,0],"e":[85.905,457.357,0],"to":[43.722,0.517,0],"ti":[-38.633,-28.923,0]},{"i":{"x":0.842,"y":0.861},"o":{"x":0.37,"y":0.374},"t":38,"s":[85.905,457.357,0],"e":[366,577.5,0],"to":[85.954,64.351,0],"ti":[-112.727,40.768,0]},{"i":{"x":0.833,"y":0.94},"o":{"x":0.167,"y":0.06},"t":52,"s":[366,577.5,0],"e":[619,2.5,0],"to":[310.232,-112.194,0],"ti":[45.833,199.833,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":71,"s":[619,2.5,0],"e":[619,2.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":32,"s":[0,0,100],"e":[100,100,100]},{"t":42}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32,"op":72,"st":32,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Smoke Particle 16","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.583,"y":0.478},"o":{"x":0.24,"y":0.122},"t":36,"s":[-14,63.5,0],"e":[-13.207,104.48,0],"to":[-0.076,13.304,0],"ti":[-0.61,-13.983,0]},{"i":{"x":0.841,"y":0.944},"o":{"x":0.276,"y":0.242},"t":38,"s":[-13.207,104.48,0],"e":[194,567.5,0],"to":[7.441,170.652,0],"ti":[-140.12,-78.46,0]},{"i":{"x":0.689,"y":0.689},"o":{"x":0.157,"y":0.154},"t":56,"s":[194,567.5,0],"e":[493.324,604.223,0],"to":[66.571,37.276,0],"ti":[-109.193,16.508,0]},{"i":{"x":0.782,"y":0.786},"o":{"x":0.431,"y":0.433},"t":72,"s":[493.324,604.223,0],"e":[549,592.5,0],"to":[19.127,-2.892,0],"ti":[-17.862,4.944,0]},{"t":75}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":36,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":46,"s":[50,50,100],"e":[67,67,100]},{"t":59}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":36,"op":76,"st":36,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Smoke Particle 15","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.563,"y":0.498},"o":{"x":0.187,"y":0.096},"t":32,"s":[-32,205.5,0],"e":[-11.719,307.736,0],"to":[1.455,30.162,0],"ti":[-11.776,-36.353,0]},{"i":{"x":0.842,"y":0.926},"o":{"x":0.37,"y":0.387},"t":38,"s":[-11.719,307.736,0],"e":[146,513.5,0],"to":[28.699,88.592,0],"ti":[-72.253,-24.822,0]},{"i":{"x":0.833,"y":0.859},"o":{"x":0.167,"y":0.141},"t":52,"s":[146,513.5,0],"e":[577,370.5,0],"to":[182.033,62.535,0],"ti":[-18.108,150.248,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":71,"s":[577,370.5,0],"e":[577,370.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":32,"s":[0,0,100],"e":[99,99,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":42,"s":[99,99,100],"e":[67,67,100]},{"t":71}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32,"op":72,"st":32,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Smoke Particle 14","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.565,"y":0.409},"o":{"x":0.206,"y":0.013},"t":36,"s":[2,77.5,0],"e":[-0.77,129.249,0],"to":[-1.793,17.9,0],"ti":[0.139,-16.75,0]},{"i":{"x":0.843,"y":0.993},"o":{"x":0.332,"y":0.331},"t":38,"s":[-0.77,129.249,0],"e":[17.804,410.975,0],"to":[-0.694,83.748,0],"ti":[-2.473,-122.932,0]},{"i":{"x":0.833,"y":0.894},"o":{"x":0.167,"y":0.106},"t":46,"s":[17.804,410.975,0],"e":[256,665.5,0],"to":[2.507,124.589,0],"ti":[-92.503,-0.545,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":56,"s":[256,665.5,0],"e":[256,665.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":36,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":46,"s":[50,50,100],"e":[67,67,100]},{"t":59}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":36,"op":76,"st":36,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Smoke Particle 13","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.563,"y":0.43},"o":{"x":0.187,"y":0},"t":32,"s":[-32,205.5,0],"e":[-67.41,351.353,0],"to":[-1.698,53.298,0],"ti":[20.903,-43.519,0]},{"i":{"x":0.842,"y":1},"o":{"x":0.37,"y":0.402},"t":38,"s":[-67.41,351.353,0],"e":[-408,559.5,0],"to":[-65.248,135.845,0],"ti":[131.228,9.794,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":52,"s":[-408,559.5,0],"e":[-623,314.5,0],"to":[-243.768,-18.194,0],"ti":[35.833,40.833,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":71,"s":[-623,314.5,0],"e":[-623,314.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":32,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":42,"s":[50,50,100],"e":[67,67,100]},{"t":71}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32,"op":72,"st":32,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Smoke Particle 12","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-36,405.5,0],"e":[-36,405.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[-36,405.5,0],"e":[-408,559.5,0],"to":[-163,3.667,0],"ti":[164.154,56.944,0]},{"i":{"x":0.611,"y":0.559},"o":{"x":0.16,"y":0},"t":60,"s":[-408,559.5,0],"e":[-624.922,301.854,0],"to":[-148.39,-51.476,0],"ti":[20.64,98.129,0]},{"i":{"x":0.822,"y":1},"o":{"x":0.433,"y":0.548},"t":72,"s":[-624.922,301.854,0],"e":[-659,120.5,0],"to":[-16.327,-77.621,0],"ti":[18.476,32.315,0]},{"t":79}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":40,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":50,"s":[100,100,100],"e":[67,67,100]},{"t":63}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":40,"op":80,"st":40,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Smoke Particle 11","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.64,"y":0.615},"o":{"x":0.158,"y":0},"t":30,"s":[6,191.5,0],"e":[-7.548,423.632,0],"to":[-4.011,70.261,0],"ti":[28.001,-78.149,0]},{"i":{"x":0.808,"y":1},"o":{"x":0.438,"y":0.579},"t":38,"s":[-7.548,423.632,0],"e":[-41.722,485.307,0],"to":[-7.556,21.089,0],"ti":[15.678,-19.903,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":41,"s":[-41.722,485.307,0],"e":[-376,587.5,0],"to":[-48.333,61.358,0],"ti":[149.262,30.72,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":50,"s":[-376,587.5,0],"e":[-659,120.5,0],"to":[-275.53,-56.708,0],"ti":[47.167,77.833,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":69,"s":[-659,120.5,0],"e":[-659,120.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":30,"s":[0,0,100],"e":[100,100,100]},{"t":40}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":70,"st":30,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"Smoke Particle 10","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.99,"y":0.99},"o":{"x":0.167,"y":0.167},"t":38,"s":[-16,289.5,0],"e":[-16,289.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":42,"s":[-16,289.5,0],"e":[-38,555.5,0],"to":[17,165.667,0],"ti":[25.57,-56.073,0]},{"i":{"x":0.588,"y":0.511},"o":{"x":0.165,"y":0},"t":62,"s":[-38,555.5,0],"e":[-322.447,601.13,0],"to":[-36.876,80.868,0],"ti":[123.097,26.733,0]},{"i":{"x":0.831,"y":1},"o":{"x":0.421,"y":0.51},"t":72,"s":[-322.447,601.13,0],"e":[-587,536.5,0],"to":[-111.132,-24.135,0],"ti":[43.413,1.503,0]},{"t":81}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":42,"s":[0,0,100],"e":[100,100,100]},{"t":52}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":42,"op":82,"st":42,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"Smoke Particle 09","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.571,"y":0.384},"o":{"x":0.22,"y":0},"t":35,"s":[-16,289.5,0],"e":[-13.359,316.974,0],"to":[0.98,9.553,0],"ti":[-0.781,-8.771,0]},{"i":{"x":0.842,"y":1},"o":{"x":0.307,"y":0.284},"t":38,"s":[-13.359,316.974,0],"e":[-38,555.5,0],"to":[12.77,143.337,0],"ti":[24.096,-52.84,0]},{"i":{"x":0.721,"y":0.77},"o":{"x":0.159,"y":0},"t":55,"s":[-38,555.5,0],"e":[-552.188,541.761,0],"to":[-63.296,138.808,0],"ti":[129.501,28.039,0]},{"i":{"x":0.762,"y":1},"o":{"x":0.418,"y":0.63},"t":72,"s":[-552.188,541.761,0],"e":[-587,536.5,0],"to":[-14.057,-3.044,0],"ti":[8.96,0.31,0]},{"t":74}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":35,"s":[0,0,100],"e":[100,100,100]},{"t":45}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":35,"op":75,"st":35,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"Smoke Particle 08","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.61},"o":{"x":0.16,"y":0.14},"t":25,"s":[-36,405.5,0],"e":[215.229,556.437,0],"to":[92.116,1.089,0],"ti":[-85.518,-51.551,0]},{"i":{"x":0.819,"y":0.839},"o":{"x":0.435,"y":0.448},"t":38,"s":[215.229,556.437,0],"e":[366,577.5,0],"to":[45.383,27.357,0],"ti":[-56.648,20.487,0]},{"i":{"x":0.833,"y":0.94},"o":{"x":0.167,"y":0.06},"t":45,"s":[366,577.5,0],"e":[619,2.5,0],"to":[310.232,-112.194,0],"ti":[45.833,199.833,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":64,"s":[619,2.5,0],"e":[619,2.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":25,"s":[0,0,100],"e":[100,100,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":65,"st":25,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Smoke Particle 07","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.576,"y":0.516},"o":{"x":0.171,"y":0.063},"t":29,"s":[-14,63.5,0],"e":[20.717,312.331,0],"to":[-0.435,76.336,0],"ti":[-24.559,-83.361,0]},{"i":{"x":0.836,"y":0.941},"o":{"x":0.407,"y":0.453},"t":38,"s":[20.717,312.331,0],"e":[194,567.5,0],"to":[31.957,108.472,0],"ti":[-85.723,-48.001,0]},{"i":{"x":0.833,"y":0.837},"o":{"x":0.167,"y":0.163},"t":49,"s":[194,567.5,0],"e":[549,592.5,0],"to":[78.232,43.806,0],"ti":[-119.833,33.167,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":68,"s":[549,592.5,0],"e":[549,592.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":29,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[50,50,100],"e":[67,67,100]},{"t":52}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":29,"op":69,"st":29,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Smoke Particle 06","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.591},"o":{"x":0.16,"y":0.075},"t":25,"s":[-32,205.5,0],"e":[51.365,435.303,0],"to":[3.24,67.169,0],"ti":[-49.137,-67.902,0]},{"i":{"x":0.819,"y":0.91},"o":{"x":0.435,"y":0.494},"t":38,"s":[51.365,435.303,0],"e":[146,513.5,0],"to":[26.7,36.897,0],"ti":[-35.877,-12.325,0]},{"i":{"x":0.833,"y":0.859},"o":{"x":0.167,"y":0.141},"t":45,"s":[146,513.5,0],"e":[577,370.5,0],"to":[182.033,62.535,0],"ti":[-18.108,150.248,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":64,"s":[577,370.5,0],"e":[577,370.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":25,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":35,"s":[50,50,100],"e":[67,67,100]},{"t":64}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":65,"st":25,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Smoke Particle 05","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.576,"y":0.568},"o":{"x":0.171,"y":0.157},"t":29,"s":[-36,405.5,0],"e":[139.649,483.126,0],"to":[68.948,10.026,0],"ti":[-53.972,-33.668,0]},{"i":{"x":0.836,"y":0.85},"o":{"x":0.407,"y":0.413},"t":38,"s":[139.649,483.126,0],"e":[360,561.5,0],"to":[62.664,39.09,0],"ti":[-93.347,-0.551,0]},{"i":{"x":0.833,"y":0.914},"o":{"x":0.167,"y":0.086},"t":49,"s":[360,561.5,0],"e":[659,146.5,0],"to":[306.232,1.806,0],"ti":[-15.833,111.167,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":68,"s":[659,146.5,0],"e":[659,146.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":29,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[100,100,100],"e":[67,67,100]},{"t":52}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":29,"op":69,"st":29,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Smoke Particle 04","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.569},"o":{"x":0.16,"y":0},"t":25,"s":[-32,205.5,0],"e":[-230.315,519.816,0],"to":[-4.599,144.327,0],"ti":[107.644,-56.916,0]},{"i":{"x":0.819,"y":1},"o":{"x":0.435,"y":0.554},"t":38,"s":[-230.315,519.816,0],"e":[-408,559.5,0],"to":[-56.19,29.71,0],"ti":[59.426,4.435,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":45,"s":[-408,559.5,0],"e":[-623,314.5,0],"to":[-243.768,-18.194,0],"ti":[35.833,40.833,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":64,"s":[-623,314.5,0],"e":[-623,314.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":25,"s":[0,0,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":35,"s":[50,50,100],"e":[67,67,100]},{"t":64}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":65,"st":25,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"Smoke Particle 03","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.576,"y":0.481},"o":{"x":0.171,"y":0},"t":29,"s":[-36,405.5,0],"e":[-198.808,485.275,0],"to":[-69.677,1.568,0],"ti":[45.045,-39.435,0]},{"i":{"x":0.836,"y":1},"o":{"x":0.407,"y":0.479},"t":38,"s":[-198.808,485.275,0],"e":[-408,559.5,0],"to":[-60.332,52.819,0],"ti":[93.984,32.603,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[-408,559.5,0],"e":[-659,120.5,0],"to":[-265.768,-92.194,0],"ti":[41.833,73.167,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":68,"s":[-659,120.5,0],"e":[-659,120.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":29,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[100,100,100],"e":[67,67,100]},{"t":52}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":29,"op":69,"st":29,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"Smoke Particle 02","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.569},"o":{"x":0.16,"y":0},"t":25,"s":[-16,289.5,0],"e":[-12.217,472.766,0],"to":[9.189,89.547,0],"ti":[5.704,-39.643,0]},{"i":{"x":0.819,"y":1},"o":{"x":0.435,"y":0.554},"t":38,"s":[-12.217,472.766,0],"e":[-38,555.5,0],"to":[-4.849,33.699,0],"ti":[11.749,-25.764,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":45,"s":[-38,555.5,0],"e":[-587,536.5,0],"to":[-70.167,153.875,0],"ti":[91.5,3.167,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":64,"s":[-587,536.5,0],"e":[-587,536.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":25,"s":[0,0,100],"e":[100,100,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":65,"st":25,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Smoke Particle 01","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.569},"o":{"x":0.16,"y":0},"t":25,"s":[-36,405.5,0],"e":[-277.728,547.428,0],"to":[-110.085,2.477,0],"ti":[75.45,-44.103,0]},{"i":{"x":0.819,"y":1},"o":{"x":0.435,"y":0.554},"t":38,"s":[-277.728,547.428,0],"e":[-408,559.5,0],"to":[-36.267,21.199,0],"ti":[53.289,18.486,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":45,"s":[-408,559.5,0],"e":[-659,120.5,0],"to":[-265.768,-92.194,0],"ti":[41.833,73.167,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.01,"y":0.01},"t":64,"s":[-659,120.5,0],"e":[-659,120.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[-2,537.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":25,"s":[0,0,100],"e":[100,100,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[216,216],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,537.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":65,"st":25,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"Background Circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[515,1135.093,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[119.648,119.648,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[976.067,976.067],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.340999990702,0.677999973297,0.991999983788,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":[22.594,673.222],"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":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":250,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file \ No newline at end of file
{"v":"5.5.10","fr":60,"ip":0,"op":76,"w":750,"h":1624,"nm":"loading","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":8,"ty":3,"nm":"▽ app_icon","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[376,812,0],"ix":2},"a":{"a":0,"k":[140,140,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Path 4","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[171,403,0],"to":[-10.292,-42.542,0],"ti":[0,46.667,0]},{"t":60,"s":[109.25,147.75,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Path 3","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[50]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-350]},{"t":60,"s":[-360]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.483},"o":{"x":0.333,"y":0},"t":0,"s":[98.627,420.059,0],"to":[2.888,-9.818,0],"ti":[-23.622,80.315,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.455},"t":30,"s":[108.627,250.06,0],"to":[22.259,-75.681,0],"ti":[6.667,33.333,0]},{"t":60,"s":[188.127,74.309,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Path 5","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[152.627,459.373,0],"to":[7.242,-19.229,0],"ti":[-2.424,6.437,0]},{"t":61,"s":[210.627,305.373,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":29,"s":[50,50,100]},{"t":61,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Path 2","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[100]},{"t":110,"s":[0]}],"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[122.627,369.373,0],"to":[13.75,-28.042,0],"ti":[0,56.667,0]},{"t":60,"s":[205.127,201.123,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Path 9","parent":8,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.657,"y":0.731},"o":{"x":0.297,"y":0},"t":0,"s":[71,363,0],"to":[1.564,0,0],"ti":[-0.542,53.167,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.423,"y":0.427},"t":28.5,"s":[14.322,188.463,0],"to":[0.542,-53.167,0],"ti":[0,46.667,0]},{"t":60,"s":[74.25,44,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[30,30,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Path 6","parent":8,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-372]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[74.25,44,0],"to":[0,-20.839,0],"ti":[0,51.74,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":26,"s":[91,-78.334,0],"to":[0,-64.127,0],"ti":[0,25.828,0]},{"t":60,"s":[19,-206,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[30,30,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-372]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[109.25,147.75,0],"to":[0,-20.839,0],"ti":[0,51.74,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":26,"s":[71,21.666,0],"to":[0,-64.127,0],"ti":[0,25.828,0]},{"t":60,"s":[111,-212,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.5,4.98],[0,-8.5],[-4.98,-8.5],[8.5,0],[8.5,-4.98],[0,8.5],[4.98,8.5],[-8.5,0]],"o":[[-4.98,8.5],[0,8.5],[-8.5,-4.98],[-8.5,0],[4.98,-8.5],[0,-8.5],[8.5,4.98],[8.5,0]],"v":[[25.5,-25.5],[18.03,0],[25.5,25.5],[0,18.03],[-25.5,25.5],[-18.03,0],[-25.5,-25.5],[0,-18.03]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Path 8","parent":8,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":-360,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.662,"y":0.534},"o":{"x":0.296,"y":0},"t":0,"s":[218.627,260.059,0],"to":[0,-1.729,0],"ti":[19.69,60.046,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.426,"y":0.486},"t":31.5,"s":[215.735,125.791,0],"to":[-18.259,-55.685,0],"ti":[6.667,33.333,0]},{"t":60,"s":[146.877,-5.191,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"t":60,"s":[30,30,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Path 7","parent":8,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-350]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[146.877,-5.191,0],"to":[-4.616,-23.079,0],"ti":[-12.325,52.178,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":31,"s":[179.294,-88.608,0],"to":[17.328,-73.36,0],"ti":[2.051,10.255,0]},{"t":60,"s":[212.627,-213.941,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[30,30,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-350]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[188.127,74.309,0],"to":[-4.616,-23.079,0],"ti":[10.515,52.573,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":31,"s":[149.294,-46.608,0],"to":[-4.672,-23.36,0],"ti":[2.051,10.255,0]},{"t":60,"s":[158.627,-119.941,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4,2.34],[0,-4],[-2.34,-4],[4,0],[4,-2.34],[0,4],[2.34,4],[-4,0]],"o":[[-2.34,4],[0,4],[-4,-2.34],[-4,0],[2.34,-4],[0,-4],[4,2.34],[4,0]],"v":[[12,-12],[8.49,0],[12,12],[0,8.49],[-12,12],[-8.49,0],[-12,-12],[0,-8.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Path","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-360]},{"t":60,"s":[-340]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[205.127,201.123,0],"to":[0,-23.776,0],"ti":[0,58.519,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":24,"s":[222.627,73.373,0],"to":[0,-80.949,0],"ti":[0,32.89,0]},{"t":60,"s":[182.627,-130.627,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"t":60,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.67,1.56],[0,-2.67],[-1.56,-2.67],[2.67,0],[2.67,-1.56],[0,2.67],[1.56,2.67],[-2.67,0]],"o":[[-1.56,2.67],[0,2.67],[-2.67,-1.56],[-2.67,0],[1.56,-2.67],[0,-2.67],[2.67,1.56],[2.67,0]],"v":[[8,-8],[5.66,0],[8,8],[0,5.66],[-8,8],[-5.66,0],[-8,-8],[0,-5.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":-315,"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":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
//
// ChargeGuideController.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
class ChargeGuideController : BaseViewController,UIScrollViewDelegate,UINavigationControllerDelegate {
lazy var guideScrollView: UIScrollView = {
let view = UIScrollView(frame: self.view.bounds)
view.contentSize = CGSize(width: self.view.bounds.width * CGFloat(8), height: self.view.bounds.height)
view.isPagingEnabled = true
view.showsHorizontalScrollIndicator = false
view.delegate = self
return view
}()
lazy var closeButton : UIButton = {
let view = UIButton()
view.backgroundColor = .clear
view.setImage(UIImage(named: "ic_close_charging"), for: .normal)
view.addTarget(self, action: #selector(closeCurrentPage), for: .touchUpInside)
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(self.guideScrollView)
self.view.addSubview(self.closeButton)
navigationController?.delegate = self
self.closeButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-15)
make.top.equalToSuperview().offset(statusBarHeight + 15)
make.width.height.equalTo(28)
}
// 先添加一个快捷指令的页面
let shortcutsView = ChargeGuideOpenShortcutsView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height))
shortcutsView.backgroundColor = .gray
self.guideScrollView.addSubview(shortcutsView)
shortcutsView.callback = {[weak self] text in
guard let self else {return}
if text as! String == "next" {
self.guideScrollView.contentOffset = CGPointMake(self.view.bounds.width, 0)
}
}
for i in 1..<7{
let view = ChargeGuideNormalView(frame: CGRect(x: self.view.bounds.width * CGFloat(i), y: 0, width: self.view.bounds.width, height: self.view.bounds.height))
self.guideScrollView.addSubview(view)
view.orderFlag = i
view.callback = {[weak self] text in
guard let self else {return}
if text as! String == "next" {
self.guideScrollView.contentOffset = CGPointMake(self.guideScrollView.contentOffset.x + self.view.bounds.width, 0)
}
if text as! String == "back" {
self.guideScrollView.contentOffset = CGPointMake(self.guideScrollView.contentOffset.x - self.view.bounds.width, 0)
}
}
}
let endView = ChargeGuideEndView(frame: CGRect(x: self.view.bounds.width * 7, y: 0, width: self.view.bounds.width, height: self.view.bounds.height))
endView.callback = {[weak self] text in
guard let self else {return}
if text as! String == "over" {
self.guideScrollView.contentOffset = CGPointMake(0, 0)
}
}
self.guideScrollView.addSubview(endView)
}
@objc func closeCurrentPage(){
self.navigationController?.popViewController(animated: true)
}
func navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationController.Operation, from fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? {
if operation == .pop {
return CustomPopAnimator()
}
return nil
}
}
// 自定义转场动画类
class CustomPopAnimator: NSObject, UIViewControllerAnimatedTransitioning {
func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
return 0.3
}
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
guard let fromVC = transitionContext.viewController(forKey:.from),
let toVC = transitionContext.viewController(forKey:.to) else {
return
}
let containerView = transitionContext.containerView
containerView.insertSubview(toVC.view, belowSubview: fromVC.view)
let screenBounds = UIScreen.main.bounds
let finalFrame = CGRect(x: 0, y: screenBounds.height * 2, width: screenBounds.width, height: screenBounds.height)
UIView.animate(withDuration: transitionDuration(using: transitionContext), animations: {
fromVC.view.frame = finalFrame
}) { (finished) in
transitionContext.completeTransition(!transitionContext.transitionWasCancelled)
}
}
}
//
// ChargeGuideController.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
class ChargeGuideStartController : BaseViewController {
var callback : callBack<Any> = {text in}
lazy var backView : UIImageView = {
let view = UIImageView()
return view
}()
lazy var startButton : UIButton = {
let view = UIButton()
view.setTitle("Get Started", for: .normal)
view.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
view.setTitleColor(.white, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(getStart), for: .touchUpInside)
return view
}()
lazy var closeButton : UIButton = {
let view = UIButton()
view.backgroundColor = .clear
view.setImage(UIImage(named: "ic_close_charging"), for: .normal)
view.addTarget(self, action: #selector(closeCurrentPage), for: .touchUpInside)
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(self.backView)
self.view.addSubview(self.startButton)
self.view.addSubview(self.closeButton)
self.backView.snp.makeConstraints { make in
make.left.right.bottom.top.equalToSuperview()
}
self.startButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.bottom.equalToSuperview().offset(-70)
make.height.equalTo(46)
}
self.closeButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-15)
make.top.equalToSuperview().offset(statusBarHeight + 15)
make.width.height.equalTo(28)
}
}
@objc func closeCurrentPage(){
self.dismiss(animated: true)
}
@objc func getStart(){
callback("getStart")
self.dismiss(animated: false)
}
}
...@@ -14,10 +14,12 @@ class ChargeInfoViewController:BaseViewController { ...@@ -14,10 +14,12 @@ class ChargeInfoViewController:BaseViewController {
case charge case charge
} }
var model:ChargeViewCollectionModel? var model:ChargeDataModel?
var type:ChargeInfoType? var type:ChargeInfoType?
var flag : Int?
var isShowBack:Bool? { var isShowBack:Bool? {
didSet { didSet {
...@@ -36,21 +38,21 @@ class ChargeInfoViewController:BaseViewController { ...@@ -36,21 +38,21 @@ class ChargeInfoViewController:BaseViewController {
lazy var backImageView:ChargeInfoBackView = { lazy var backImageView:ChargeInfoBackView = {
let sview:ChargeInfoBackView = ChargeInfoBackView(frame: view.bounds, backImage: model?.CoverImage ?? "") let sview:ChargeInfoBackView = ChargeInfoBackView(frame: view.bounds, model: self.model!)
return sview return sview
}() }()
lazy var settingView:ChargeInfoSettingView = { lazy var settingView:ChargeInfoSettingView = {
let sview:ChargeInfoSettingView = ChargeInfoSettingView(frame: CGRect(x: 0, y: 0, width: view.width, height: 78 + safeHeight)) let sview:ChargeInfoSettingView = ChargeInfoSettingView(frame: CGRect(x: 0, y: 0, width: view.width, height: 78 + safeHeight))
sview.model = self.model
sview.flag = self.flag
sview.isHidden = type == .setting ? false : true sview.isHidden = type == .setting ? false : true
return sview return sview
}() }()
init(model: ChargeViewCollectionModel?,type:ChargeInfoType?) { init(model: ChargeDataModel?,type:ChargeInfoType?) {
self.type = type self.type = type
self.model = model self.model = model
super.init(nibName: nil, bundle: nil) super.init(nibName: nil, bundle: nil)
...@@ -62,9 +64,9 @@ class ChargeInfoViewController:BaseViewController { ...@@ -62,9 +64,9 @@ class ChargeInfoViewController:BaseViewController {
} }
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
self.barHidden = true self.barHidden = true
titleView.model.title = "" titleView.model.title = ""
......
...@@ -18,6 +18,7 @@ class ChargeViewController:BaseViewController { ...@@ -18,6 +18,7 @@ class ChargeViewController:BaseViewController {
sview.height = 20 sview.height = 20
sview.x = view.width - sview.width - 15 sview.x = view.width - sview.width - 15
sview.centerY = navCenterY sview.centerY = navCenterY
sview.addTarget(self, action: #selector(guideClick), for: .touchUpInside)
return sview return sview
}() }()
...@@ -36,10 +37,16 @@ class ChargeViewController:BaseViewController { ...@@ -36,10 +37,16 @@ class ChargeViewController:BaseViewController {
guard let self else {return} guard let self else {return}
if let cModel = model as? ChargeViewCollectionModel { if let cModel = model as? ChargeDataModel {
sview.callOrder = {[weak self] flag in
guard let self else {return}
let vc:ChargeInfoViewController = ChargeInfoViewController(model: cModel, type: ChargeInfoViewController.ChargeInfoType.setting)
vc.flag = flag as? Int
self.navigationController?.pushViewController(vc, animated: true)
}
let vc:ChargeInfoViewController = ChargeInfoViewController(model: cModel, type: ChargeInfoViewController.ChargeInfoType.setting)
self.navigationController?.pushViewController(vc, animated: true)
} }
} }
} }
...@@ -64,5 +71,20 @@ class ChargeViewController:BaseViewController { ...@@ -64,5 +71,20 @@ class ChargeViewController:BaseViewController {
self.barHidden = false self.barHidden = false
} }
// 跳转充电引导
@objc func guideClick(){
let vc : ChargeGuideStartController = ChargeGuideStartController()
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true)
vc.callback = {[weak self] text in
guard let self else {return}
let vc : ChargeGuideController = ChargeGuideController()
self.navigationController?.pushViewController(vc, animated: true)
}
}
} }
//
// ChargeDataModel.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
struct ChargeDataModel {
var isFree:Bool
var coverImage:UIImage?
var url : URL
init(isFree: Bool, coverImage: UIImage, url: URL) {
self.isFree = isFree
self.coverImage = coverImage
self.url = url
}
func toDictionary() -> [String: Any] {
if let imageData = coverImage!.pngData() {
print("成功将图片转换为 PNG 格式的 Data,数据大小: \(imageData.count) 字节")
return [
"isFree": isFree,
"coverImage": imageData,
"url": url.absoluteString
]
} else {
print("转换失败")
}
return [:]
}
init?(dictionary: [String: Any]) {
guard let isFree = dictionary["isFree"] as? Bool,
let coverImageData = dictionary["coverImage"] as? Data,
let url = dictionary["url"] as? String else {
return nil
}
self.isFree = isFree
self.coverImage = UIImage(data: coverImageData)!
self.url = URL(string: url)!
}
}
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import AVFoundation
func loadChargeImtesSONFromBundle() -> [ChargeViewCollectionModel]? { func loadChargeImtesSONFromBundle() -> [ChargeViewCollectionModel]? {
// 获取 JSON 文件路径 // 获取 JSON 文件路径
...@@ -28,6 +29,30 @@ func loadChargeImtesSONFromBundle() -> [ChargeViewCollectionModel]? { ...@@ -28,6 +29,30 @@ func loadChargeImtesSONFromBundle() -> [ChargeViewCollectionModel]? {
} }
} }
func loadVideoItems() -> [ChargeDataModel]{
let mainBundle = Bundle.main
// 获取指定文件夹下所有 MP4 文件的 URL
var dataArray : [ChargeDataModel] = []
if let mp4URLs = mainBundle.urls(forResourcesWithExtension: "mp4", subdirectory: nil) {
for url in mp4URLs {
let asset = AVURLAsset(url: url)
// 获取视频第一帧图片
let imageGenerator = AVAssetImageGenerator(asset: asset)
imageGenerator.appliesPreferredTrackTransform = true
let time = CMTimeMake(value: 0, timescale: 1)
do {
let cgImage = try imageGenerator.copyCGImage(at: time, actualTime: nil)
let image = UIImage(cgImage: cgImage)
let model = ChargeDataModel(isFree: true, coverImage: image, url: url)
dataArray.append(model)
} catch {
print("获取视频图片出错: \(error.localizedDescription)")
}
}
}
return dataArray
}
struct ChargeViewCollectionModel:Codable { struct ChargeViewCollectionModel:Codable {
var isFree:Bool var isFree:Bool
......
//
// ChargeGuideEndView.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
class ChargeGuideEndView : UIView{
var callback :callBack<Any> = {text in}
lazy var backView : UIImageView = {
let view = UIImageView()
return view
}()
lazy var gotoAnimationButton : UIButton = {
let view = UIButton()
view.setTitle("Go to Animations", for: .normal)
view.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
view.setTitleColor(.white, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(gotoAnimation), for: .touchUpInside)
return view
}()
lazy var startOverButton : UIButton = {
let view = UIButton()
view.setTitle("Start Over", for: .normal)
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(startOver), for: .touchUpInside)
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
self.addSubview(self.backView)
self.addSubview(self.gotoAnimationButton)
self.addSubview(self.startOverButton)
self.backView.snp.makeConstraints { make in
make.left.right.bottom.top.equalToSuperview()
}
self.gotoAnimationButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.bottom.equalToSuperview().offset(-150)
make.height.equalTo(46)
}
self.startOverButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.bottom.equalToSuperview().offset(-70)
make.height.equalTo(46)
}
}
@objc func gotoAnimation(){
self.responderViewController()?.navigationController?.popViewController(animated: true)
}
@objc func startOver(){
callback("over")
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
//
// ChargeGuideNormalView.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
class ChargeGuideNormalView : UIView{
var orderFlag : Int = 1
var callback :callBack<Any> = {text in}
lazy var backView : UIImageView = {
let view = UIImageView()
return view
}()
lazy var backButton : UIButton = {
let view = UIButton()
view.setTitle("Back", for: .normal)
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
view.setTitleColor(.white, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(getBack), for: .touchUpInside)
return view
}()
lazy var nextButton : UIButton = {
let view = UIButton()
view.setTitle("Next", for: .normal)
view.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(getNext), for: .touchUpInside)
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
self.addSubview(self.backView)
self.addSubview(self.backButton)
self.addSubview(self.nextButton)
self.backView.snp.makeConstraints { make in
make.left.right.bottom.top.equalToSuperview()
}
self.backView.snp.makeConstraints { make in
make.left.right.bottom.top.equalToSuperview()
}
self.backButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.width.equalTo(self.snp.width).multipliedBy(0.5).offset(-20)
make.bottom.equalToSuperview().offset(-70)
make.height.equalTo(46)
}
self.nextButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-15)
make.width.equalTo(self.snp.width).multipliedBy(0.5).offset(-20)
make.bottom.equalToSuperview().offset(-70)
make.height.equalTo(46)
}
}
@objc func getBack(){
callback("back")
}
@objc func getNext(){
callback("next")
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
//
// ChargeGuideOpenShortcutsView.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
class ChargeGuideOpenShortcutsView : UIView {
var callback :callBack<Any> = {text in}
lazy var backView : UIImageView = {
let view = UIImageView()
return view
}()
lazy var openButton : UIButton = {
let view = UIButton()
view.setTitle("Open Shortcuts", for: .normal)
view.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
view.setTitleColor(.white, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(getOpen), for: .touchUpInside)
return view
}()
lazy var nextButton : UIButton = {
let view = UIButton()
view.setTitle("Next", for: .normal)
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
view.setTitleColor(.black, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 8
view.addTarget(self, action: #selector(getNext), for: .touchUpInside)
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
self.addSubview(self.backView)
self.addSubview(self.openButton)
self.addSubview(self.nextButton)
self.backView.snp.makeConstraints { make in
make.left.right.bottom.top.equalToSuperview()
}
self.openButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.bottom.equalToSuperview().offset(-150)
make.height.equalTo(46)
}
self.nextButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.bottom.equalToSuperview().offset(-70)
make.height.equalTo(46)
}
}
@objc func getOpen(){
// 创建快捷指令 APP 的 URL
if let shortcutsURL = URL(string: "shortcuts://") {
// 检查设备是否能打开该 URL
if UIApplication.shared.canOpenURL(shortcutsURL) {
// 打开快捷指令 APP
UIApplication.shared.open(shortcutsURL, options: [:], completionHandler: { (success) in
if success {
print("成功跳转至快捷指令 APP")
} else {
print("无法跳转至快捷指令 APP")
}
})
} else {
print("设备不支持打开快捷指令 APP")
}
}
}
@objc func getNext(){
callback("next")
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
...@@ -7,21 +7,16 @@ ...@@ -7,21 +7,16 @@
import UIKit import UIKit
import SnapKit import SnapKit
import AVKit
class ChargeInfoBackView:UIView { class ChargeInfoBackView:UIView {
var backImage:String? var model : ChargeDataModel?
private var timer: Timer? private var timer: Timer?
lazy var backImageView:UIImageView = { lazy var videoPlayView:ChargeVideoPlayingView = {
let sview:ChargeVideoPlayingView = ChargeVideoPlayingView(frame: self.bounds)
let sview:UIImageView = UIImageView()
sview.contentMode = .scaleToFill
sview.clipsToBounds = true
sview.isUserInteractionEnabled = true
return sview return sview
}() }()
...@@ -53,14 +48,16 @@ class ChargeInfoBackView:UIView { ...@@ -53,14 +48,16 @@ class ChargeInfoBackView:UIView {
return label return label
}() }()
init(frame: CGRect,backImage:String) { init(frame: CGRect,model:ChargeDataModel) {
self.backImage = backImage
super.init(frame: frame) super.init(frame: frame)
self.model = model
setupUI() setupUI()
self.videoPlayView.playVideo(with: self.model!.url)
setupTimeUpdates() setupTimeUpdates()
BatteryMonitorManager.shared.delegate = self BatteryMonitorManager.shared.delegate = self
...@@ -73,10 +70,9 @@ class ChargeInfoBackView:UIView { ...@@ -73,10 +70,9 @@ class ChargeInfoBackView:UIView {
} }
func setupUI() { func setupUI() {
backImageView.image = UIImage(named: self.backImage ?? "") self.addSubview(videoPlayView)
self.addSubview(backImageView)
self.addSubview(timeLabel) self.addSubview(timeLabel)
...@@ -190,7 +186,7 @@ class ChargeInfoBackView:UIView { ...@@ -190,7 +186,7 @@ class ChargeInfoBackView:UIView {
super.layoutSubviews() super.layoutSubviews()
backImageView.snp.makeConstraints { make in videoPlayView.snp.makeConstraints { make in
make.centerX.width.height.equalToSuperview() make.centerX.width.height.equalToSuperview()
} }
......
...@@ -9,6 +9,10 @@ import UIKit ...@@ -9,6 +9,10 @@ import UIKit
class ChargeInfoSettingView:UIView { class ChargeInfoSettingView:UIView {
var model : ChargeDataModel?
var flag : Int?
lazy var settingBtn:UIButton = { lazy var settingBtn:UIButton = {
let sview:UIButton = UIButton() let sview:UIButton = UIButton()
...@@ -48,8 +52,19 @@ class ChargeInfoSettingView:UIView { ...@@ -48,8 +52,19 @@ class ChargeInfoSettingView:UIView {
} }
@objc func settingBtnClick() { @objc func settingBtnClick() {
// 存储到userDefaults
UserDefaults.standard.set(String(flag!), forKey: "chargePicInfo")
let alert = UIAlertController(title: nil, message: "完成!", preferredStyle: .alert)
self.responderViewController()?.present(alert, animated: true, completion: nil)
// 2 秒后关闭弹窗
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
alert.dismiss(animated: true, completion: nil)
self.responderViewController()?.navigationController?.popViewController(animated: true)
}
} }
} }
//
// VideoPlayingView.swift
// PhoneManager
//
// Created by edy on 2025/4/7.
//
import Foundation
import UIKit
import AVKit
class ChargeVideoPlayingView: UIView {
private var player: AVPlayer?
private var playerLayer: AVPlayerLayer?
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupView()
}
private func setupView() {
backgroundColor = .black
}
func playVideo(with url: URL) {
// 对 URL 字符串进行编码处理
guard let encodedURLString = url.absoluteString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {
print("URL 编码失败")
return
}
// 将编码后的字符串转换为 URL 对象
guard URL(string: encodedURLString) != nil else {
print("无法创建编码后的 URL")
return
}
self.player = AVPlayer(url: url)
self.playerLayer = AVPlayerLayer(player: self.player)
self.playerLayer?.frame = self.bounds
self.layer.addSublayer(playerLayer!)
// 监听视频加载状态
player?.addObserver(self, forKeyPath: "status", options: [.new, .old], context: nil)
NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying), name: .AVPlayerItemDidPlayToEndTime, object: player?.currentItem)
player?.play()
}
@objc private func playerDidFinishPlaying() {
player?.seek(to: CMTime.zero)
player?.play()
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "status" {
if let status = player?.status {
switch status {
case .readyToPlay:
print("视频准备好播放")
case .failed:
if let error = player?.error {
print("视频播放失败: \(error.localizedDescription)")
}
case .unknown:
print("视频状态未知")
@unknown default:
break
}
}
}
}
deinit {
NotificationCenter.default.removeObserver(self, name: .AVPlayerItemDidPlayToEndTime, object: player?.currentItem)
}
}
...@@ -6,14 +6,17 @@ ...@@ -6,14 +6,17 @@
// //
import UIKit import UIKit
import AVFoundation
class ChargeView:UIView { class ChargeView:UIView {
var callBack:callBack<Any> = {model in } var callBack : callBack<Any> = {model in }
var callOrder : callBack<Any> = {flag in }
let footerID:String = "footerID" let footerID:String = "footerID"
lazy var models:[ChargeViewCollectionModel] = [] lazy var models:[ChargeDataModel] = []
lazy var collectionView:UICollectionView = { lazy var collectionView:UICollectionView = {
...@@ -53,11 +56,13 @@ class ChargeView:UIView { ...@@ -53,11 +56,13 @@ class ChargeView:UIView {
super.init(frame: frame) super.init(frame: frame)
models = loadChargeImtesSONFromBundle() ?? [] models = loadVideoItems()
setupUI() setupUI()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
...@@ -86,7 +91,7 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC ...@@ -86,7 +91,7 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: ChargeViewCollectionCell.identifiers, for: indexPath) as! ChargeViewCollectionCell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: ChargeViewCollectionCell.identifiers, for: indexPath) as! ChargeViewCollectionCell
cell.flag = indexPath.row
cell.model = models[indexPath.row] cell.model = models[indexPath.row]
return cell return cell
...@@ -97,6 +102,9 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC ...@@ -97,6 +102,9 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC
let model = models[indexPath.row] let model = models[indexPath.row]
self.callBack(model) self.callBack(model)
self.callOrder(indexPath.row)
} }
func collectionView(_ collectionView: UICollectionView, func collectionView(_ collectionView: UICollectionView,
...@@ -118,7 +126,7 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC ...@@ -118,7 +126,7 @@ extension ChargeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UIC
ofKind: kind, ofKind: kind,
withReuseIdentifier: footerID, withReuseIdentifier: footerID,
for: indexPath for: indexPath
) )
return footer return footer
} }
......
...@@ -12,6 +12,10 @@ class ChargeViewCollectionCell:UICollectionViewCell { ...@@ -12,6 +12,10 @@ class ChargeViewCollectionCell:UICollectionViewCell {
static let identifiers = "ChargeViewCollectionCellID" static let identifiers = "ChargeViewCollectionCellID"
var flag : Int?
var videoURL : URL?
lazy var backImageView:UIImageView = { lazy var backImageView:UIImageView = {
let sview:UIImageView = UIImageView() let sview:UIImageView = UIImageView()
...@@ -56,7 +60,7 @@ class ChargeViewCollectionCell:UICollectionViewCell { ...@@ -56,7 +60,7 @@ class ChargeViewCollectionCell:UICollectionViewCell {
self.contentView.addSubview(isFreeBtn) self.contentView.addSubview(isFreeBtn)
} }
var model:ChargeViewCollectionModel! { var model:ChargeDataModel! {
didSet { didSet {
...@@ -64,9 +68,11 @@ class ChargeViewCollectionCell:UICollectionViewCell { ...@@ -64,9 +68,11 @@ class ChargeViewCollectionCell:UICollectionViewCell {
guard let self else {return} guard let self else {return}
self.backImageView.image = UIImage.init(named: model.CoverImage) self.backImageView.image = model.coverImage
self.isFreeBtn.isHidden = model.isFree self.isFreeBtn.isHidden = model.isFree
self.videoURL = model.url
} }
} }
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import Foundation import Foundation
import Photos import Photos
import Lottie
class CompressCompletedViewController : BaseViewController{ class CompressCompletedViewController : BaseViewController{
...@@ -18,12 +19,12 @@ class CompressCompletedViewController : BaseViewController{ ...@@ -18,12 +19,12 @@ class CompressCompletedViewController : BaseViewController{
var currentMediaType : Int = 0 var currentMediaType : Int = 0
lazy var imageView: UIImageView = { lazy var animationView : LottieAnimationView = {
let imageView = UIImageView() let animationView = LottieAnimationView(name: "CompressCompletedLight")
imageView.clipsToBounds = true animationView.layer.cornerRadius = 12
imageView.layer.cornerRadius = 12 animationView.backgroundColor = .gray
imageView.backgroundColor = .gray animationView.loopMode = .loop
return imageView return animationView
}() }()
...@@ -152,7 +153,7 @@ class CompressCompletedViewController : BaseViewController{ ...@@ -152,7 +153,7 @@ class CompressCompletedViewController : BaseViewController{
self.view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1) self.view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
self.titleView.isHidden = true self.titleView.isHidden = true
self.view.addSubview(self.imageView) self.view.addSubview(self.animationView)
self.view.addSubview(self.tipLabel) self.view.addSubview(self.tipLabel)
self.view.addSubview(self.detailTiplabel) self.view.addSubview(self.detailTiplabel)
self.view.addSubview(self.infoView) self.view.addSubview(self.infoView)
...@@ -168,13 +169,13 @@ class CompressCompletedViewController : BaseViewController{ ...@@ -168,13 +169,13 @@ class CompressCompletedViewController : BaseViewController{
self.view.addSubview(self.completedButton) self.view.addSubview(self.completedButton)
self.imageView.snp.makeConstraints { make in self.animationView.snp.makeConstraints { make in
make.top.equalTo(statusBarHeight + 60) make.top.equalTo(statusBarHeight + 60)
make.width.height.equalTo(230) make.width.height.equalTo(230)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
self.tipLabel.snp.makeConstraints { make in self.tipLabel.snp.makeConstraints { make in
make.top.equalTo(self.imageView.snp.bottom).offset(24) make.top.equalTo(self.animationView.snp.bottom).offset(24)
make.width.equalTo(295) make.width.equalTo(295)
make.height.equalTo(28) make.height.equalTo(28)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
......
...@@ -29,7 +29,8 @@ class CompressQualityController : BaseViewController{ ...@@ -29,7 +29,8 @@ class CompressQualityController : BaseViewController{
let imageView = UIImageView() let imageView = UIImageView()
imageView.clipsToBounds = true imageView.clipsToBounds = true
imageView.layer.cornerRadius = 12 imageView.layer.cornerRadius = 12
imageView.backgroundColor = .clear imageView.contentMode = .scaleAspectFit
imageView.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
return imageView return imageView
}() }()
......
...@@ -40,20 +40,30 @@ class CompressSwitchView : UIView { ...@@ -40,20 +40,30 @@ class CompressSwitchView : UIView {
self.backgroundColor = .clear self.backgroundColor = .clear
self.addSubview(self.leftButton) self.addSubview(self.leftButton)
self.addSubview(self.rightButton) // // 暂时屏蔽
// self.addSubview(self.rightButton)
// self.leftButton.snp.makeConstraints { make in
// make.left.equalToSuperview().offset(4)
// make.top.equalToSuperview().offset(4)
// make.bottom.equalToSuperview().offset(-4)
// make.width.equalTo(self.snp.width).multipliedBy(0.5).offset(-6)
// }
//
// self.rightButton.snp.makeConstraints { make in
// make.right.equalToSuperview().offset(-4)
// make.top.equalToSuperview().offset(4)
// make.bottom.equalToSuperview().offset(-4)
// make.left.equalTo(self.leftButton.snp.right).offset(4)
// }
self.leftButton.snp.makeConstraints { make in self.leftButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(4) make.left.equalToSuperview().offset(4)
make.top.equalToSuperview().offset(4) make.top.equalToSuperview().offset(4)
make.bottom.equalToSuperview().offset(-4) make.bottom.equalToSuperview().offset(-4)
make.width.equalTo(self.snp.width).multipliedBy(0.5).offset(-6)
}
self.rightButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-4) make.right.equalToSuperview().offset(-4)
make.top.equalToSuperview().offset(4)
make.bottom.equalToSuperview().offset(-4)
make.left.equalTo(self.leftButton.snp.right).offset(4)
} }
// 初始化的时候设置默认值 // 初始化的时候设置默认值
......
...@@ -133,7 +133,6 @@ class HomeInfoViewController:BaseViewController { ...@@ -133,7 +133,6 @@ class HomeInfoViewController:BaseViewController {
tablewView.changeALlValue(isSeleted: seletedAllBtn.isSelected) tablewView.changeALlValue(isSeleted: seletedAllBtn.isSelected)
} }
} }
} }
...@@ -85,15 +85,18 @@ class HomeViewController:BaseViewController { ...@@ -85,15 +85,18 @@ class HomeViewController:BaseViewController {
func setupData() { func setupData() {
// 详情数据
PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in
self?.homeView?.model = model self?.homeView?.model = model
}) })
// 总数据 文件数量和文件大小
PhotoAndVideoMananger.mananger.fetchAllFile {[weak self] index, FileSize in PhotoAndVideoMananger.mananger.fetchAllFile {[weak self] index, FileSize in
guard let self else {return} guard let self else {return}
// 相当于进度条
self.homeView?.model?.allFileNumber = index self.homeView?.model?.allFileNumber = index
self.homeView?.model?.allFileSize = FileSize self.homeView?.model?.allFileSize = FileSize
self.homeView?.setTitle() self.homeView?.setTitle()
...@@ -117,13 +120,21 @@ class HomeViewController:BaseViewController { ...@@ -117,13 +120,21 @@ class HomeViewController:BaseViewController {
if !isShowPay { if !isShowPay {
// 获取主页数据
setupData() setupData()
isShowPay = true isShowPay = true
if BatteryMonitorManager.shared.getBatteryIsCharging() { if BatteryMonitorManager.shared.getBatteryIsCharging() {
// 从字典里面取 如果有
let vc:ChargeInfoViewController = ChargeInfoViewController(model:loadChargeImtesSONFromBundle()?.first, type: ChargeInfoViewController.ChargeInfoType.charge) var tempModel : ChargeDataModel?
if UserDefaults.standard.object(forKey: "chargePicInfo") == nil {
tempModel = loadVideoItems().first
}else{
let flag : String = UserDefaults.standard.object(forKey: "chargePicInfo") as! String
tempModel = loadVideoItems()[Int(flag)!]
}
let vc:ChargeInfoViewController = ChargeInfoViewController(model:tempModel, type: ChargeInfoViewController.ChargeInfoType.charge)
self.navigationController?.pushViewController(vc, animated: false) self.navigationController?.pushViewController(vc, animated: false)
......
...@@ -72,7 +72,7 @@ class HomeView:UIView { ...@@ -72,7 +72,7 @@ class HomeView:UIView {
func reload(type:PhotsFileType) { func reload(type:PhotsFileType) {
var indexPath:IndexPath! var indexPath : IndexPath
if type == .duplicates { if type == .duplicates {
...@@ -90,8 +90,6 @@ class HomeView:UIView { ...@@ -90,8 +90,6 @@ class HomeView:UIView {
guard let self else {return} guard let self else {return}
self.collectionView.reloadData() self.collectionView.reloadData()
} }
} }
...@@ -138,7 +136,7 @@ class HomeView:UIView { ...@@ -138,7 +136,7 @@ class HomeView:UIView {
func setData() { func setData() {
// 加载数据
} }
...@@ -238,6 +236,10 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol ...@@ -238,6 +236,10 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
return cell return cell
case 1: case 1:
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: HomeOtherCollectionCell.identifier, for: indexPath) as! HomeOtherCollectionCell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: HomeOtherCollectionCell.identifier, for: indexPath) as! HomeOtherCollectionCell
cell.mediaType = 0
if indexPath.row == 0 {
cell.mediaType = 1
}
cell.model = model?.otherModelArray[indexPath.row] cell.model = model?.otherModelArray[indexPath.row]
return cell return cell
default: default:
......
...@@ -37,6 +37,7 @@ class PhotoDataManager { ...@@ -37,6 +37,7 @@ class PhotoDataManager {
func loadFromFileSystem(filename: String = "photosManagerData.json",resultModel:@escaping (_ model:PhotosManagerModel) -> () = {mdoel in}) { func loadFromFileSystem(filename: String = "photosManagerData.json",resultModel:@escaping (_ model:PhotosManagerModel) -> () = {mdoel in}) {
let url = getDocumentsDirectory().appendingPathComponent(filename) let url = getDocumentsDirectory().appendingPathComponent(filename)
// 设计缓存读取
do { do {
let data = try Data(contentsOf: url) let data = try Data(contentsOf: url)
let decoder = JSONDecoder() let decoder = JSONDecoder()
...@@ -45,10 +46,12 @@ class PhotoDataManager { ...@@ -45,10 +46,12 @@ class PhotoDataManager {
} catch { } catch {
loadDataFromPhotos { model in loadDataFromPhotos { model in
resultModel(model) resultModel(model)
} }
} }
loadDataFromPhotos { model in
resultModel(model)
}
} }
private func loadDataFromPhotos(resultModel:@escaping (_ model:PhotosManagerModel) -> () = {mdoel in}) { private func loadDataFromPhotos(resultModel:@escaping (_ model:PhotosManagerModel) -> () = {mdoel in}) {
...@@ -72,66 +75,188 @@ class PhotoDataManager { ...@@ -72,66 +75,188 @@ class PhotoDataManager {
let allModel:PhotosManagerModel = PhotosManagerModel(allFileNumber: 0, allFileSize: 0, titleModelArray: [model1,model2], otherModelArray: [model3,model4,model5,model6,model7]) let allModel:PhotosManagerModel = PhotosManagerModel(allFileNumber: 0, allFileSize: 0, titleModelArray: [model1,model2], otherModelArray: [model3,model4,model5,model6,model7])
resultModel(allModel) resultModel(allModel)
let semaphore = DispatchSemaphore(value: 1)
// 重复照片
PhotoAndVideoMananger.mananger.fetXSOther { array in semaphore.wait()
PhotoAndVideoMananger.mananger.dealSimilarPhotos(assets: PhotoAndVideoMananger.mananger.allAssets, threshold: 0.99) { data in
let dispatchGroup = DispatchGroup() var dataArray : [String] = []
for item in data {
dataArray = dataArray + item
}
PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
// 不做处理
}, completion: { fileSize,index in
model1.assets = data
model1.allFileSize = Double(fileSize)
resultModel(allModel)
})
semaphore.signal()
}
// 相似照片
semaphore.wait()
PhotoAndVideoMananger.mananger.dealSimilarPhotos(assets: PhotoAndVideoMananger.mananger.allAssets, threshold: 0.85) { data in
dispatchGroup.enter() var dataArray : [String] = []
PhotoSimilarityFinder.processSimilarPhotoGroups(simalr:1,assetGroups: array) { array,fileSize in for item in data {
dataArray = dataArray + item
model1.assets = array }
model1.allFileSize = fileSize PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
// 不做处理
}, completion: { fileSize,index in
model2.assets = data
model2.allFileSize = Double(fileSize)
resultModel(allModel) resultModel(allModel)
dispatchGroup.leave() })
semaphore.signal()
}
// 视频数据
semaphore.wait()
PhotoAndVideoMananger.mananger.dealVideoData { data in
var dataArray : [String] = []
for item in data {
dataArray = dataArray + item
} }
PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
dispatchGroup.enter() // 不做处理
PhotoSimilarityFinder.processSimilarPhotoGroups(assetGroups: array) {array,fileSize in }, completion: { fileSize,index in
model3.assets = data
model2.assets = array model3.allFileSize = Double(fileSize)
model2.allFileSize = fileSize
resultModel(allModel) resultModel(allModel)
})
dispatchGroup.leave() semaphore.signal()
}
// 相似截图
semaphore.wait()
PhotoAndVideoMananger.mananger.dealSimilarPhotos(assets: PhotoAndVideoMananger.mananger.screenShotAssets, threshold: 0.85) { data in
var dataArray : [String] = []
for item in data {
dataArray = dataArray + item
} }
dispatchGroup.enter() PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
model2.assets = [ResourceManager.manager.getAllVideo()] // 不做处理
dispatchGroup.leave() }, completion: { fileSize,index in
model4.assets = data
dispatchGroup.enter() model4.allFileSize = Double(fileSize)
PhotoAndVideoMananger.mananger.fetXSVideo { array in resultModel(allModel)
})
PhotoSimilarityFinder.processSimilarVideoGroups(videoGroups: array) {ids in semaphore.signal()
}
model4.assets = ids
// 截图数据
resultModel(allModel) semaphore.wait()
PhotoAndVideoMananger.mananger.dealScreenShotData { data in
dispatchGroup.leave() var dataArray : [String] = []
} for item in data {
dataArray = dataArray + item
} }
PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
// 不做处理
}, completion: { fileSize,index in
model5.assets = data
model5.allFileSize = Double(fileSize)
dispatchGroup.notify(queue: .main) { resultModel(allModel)
print("所有异步操作都已完成") })
semaphore.signal()
if model1.assets.count != 0 || model2.assets.count != 0 || model3.assets.count != 0 { }
// // 相似视频
PhotoDataManager.manager.saveToFileSystem(model: allModel) // semaphore.wait()
resultModel(allModel) // PhotoAndVideoMananger.mananger.fetXSVideo { array in
} // PhotoSimilarityFinder.processSimilarVideoGroups(videoGroups: array) {ids in
// PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.imageAssets,progress: { fileSiez, index in
// // 不做处理
// }, completion: { fileSize,index in
// model6.assets = ids
// model7.allFileSize = Double(fileSize)
// resultModel(allModel)
// })
// semaphore.signal()
// }
// }
// 照片数据
semaphore.wait()
PhotoAndVideoMananger.mananger.dealScreenShotData { data in
var dataArray : [String] = []
for item in data {
dataArray = dataArray + item
} }
PhotoAndVideoMananger.mananger.calculateTotalSize(of: PhotoAndVideoMananger.mananger.getPHAsssetwithIDs(ids: dataArray)!,progress: { fileSiez, index in
// 不做处理
}, completion: { fileSize,index in
model7.assets = data
model7.allFileSize = Double(fileSize)
resultModel(allModel)
})
semaphore.signal()
} }
PhotoDataManager.manager.saveToFileSystem(model: allModel)
// PhotoAndVideoMananger.mananger.fetXSOther { array in
//
// let dispatchGroup = DispatchGroup()
//
// dispatchGroup.enter()
// PhotoSimilarityFinder.processSimilarPhotoGroups(simalr:1,assetGroups: array) { array,fileSize in
//
// model1.assets = array
// model1.allFileSize = fileSize
//
// resultModel(allModel)
//
// dispatchGroup.leave()
// }
//
// dispatchGroup.enter()
// PhotoSimilarityFinder.processSimilarPhotoGroups(assetGroups: array) {array,fileSize in
//
// model2.assets = array
// model2.allFileSize = fileSize
//
// resultModel(allModel)
//
// dispatchGroup.leave()
// }
// dispatchGroup.enter()
// model2.assets = [ResourceManager.manager.getAllVideo()]
// dispatchGroup.leave()
//
// dispatchGroup.enter()
// PhotoAndVideoMananger.mananger.fetXSVideo { array in
//
// PhotoSimilarityFinder.processSimilarVideoGroups(videoGroups: array) {ids in
//
// model4.assets = ids
//
// resultModel(allModel)
//
// dispatchGroup.leave()
// }
// }
//
//
//
//
//
// dispatchGroup.notify(queue: .main) {
// print("所有异步操作都已完成")
//
// if model1.assets.count != 0 || model2.assets.count != 0 || model3.assets.count != 0 {
//
// PhotoDataManager.manager.saveToFileSystem(model: allModel)
// resultModel(allModel)
// }
//
// }
// }
} }
......
import UIKit import UIKit
import Photos
import AVFoundation
class HomeOtherCollectionCell: UICollectionViewCell { class HomeOtherCollectionCell: UICollectionViewCell {
var similarFlag : Bool = false var similarFlag : Bool = false
// 如果是图片,类型为0,视频为1
var mediaType : Int = 0
// MARK: - Properties // MARK: - Properties
static let identifier = "HomeOtherCollectionCellID" static let identifier = "HomeOtherCollectionCellID"
...@@ -92,14 +97,41 @@ class HomeOtherCollectionCell: UICollectionViewCell { ...@@ -92,14 +97,41 @@ class HomeOtherCollectionCell: UICollectionViewCell {
titleLabel.text = model.folderName titleLabel.text = model.folderName
guard let asset = model.assets.first?.first else {return} guard let asset = model.assets.first?.first else {return}
if self.mediaType == 0 {
let image = PhotoAndVideoMananger.mananger.getImageFromAssetID(id: asset) let image = PhotoAndVideoMananger.mananger.getImageFromAssetID(id: asset)
DispatchQueue.main.async {[weak self] in
DispatchQueue.main.async {[weak self] in guard let self else {return}
imageView.image = image
}
}else{
guard let self else {return} // 定义请求选项来获取视频的第一帧
let options = PHImageRequestOptions()
// 获取当前版本的照片或视频
options.version = .current
// 尽可能快地提供结果
options.deliveryMode = .opportunistic
// 允许从iCloud请求
options.isNetworkAccessAllowed = true
// 异步请求
options.isSynchronous = false
// 从 PHAsset 获取 AVAsset
if let videoAsset = PhotoAndVideoMananger.mananger.getPHAsssetwithID(ids: [asset]){
// 使用requestImageForAsset方法请求视频的第一帧图片
PHImageManager.default().requestImage(for: videoAsset, targetSize: CGSize(width: 400, height: 400), contentMode: PHImageContentMode.aspectFit, options: options) { image, _ in
// 处理获取到的图片
if let thumbnailImage = image {
// 使用获取到的图片,例如显示在UIImageView上
DispatchQueue.main.async {
// 确保在主线程更新UI
self.imageView.image = thumbnailImage
}
} else {
print("无法获取图片")
}
}
}
imageView.image = image
} }
} }
......
...@@ -84,8 +84,19 @@ class BatteryMonitorManager { ...@@ -84,8 +84,19 @@ class BatteryMonitorManager {
func getBatteryIsCharging() -> Bool { func getBatteryIsCharging() -> Bool {
UIDevice.current.isBatteryMonitoringEnabled = true UIDevice.current.isBatteryMonitoringEnabled = true
switch UIDevice.current.batteryState {
return UIDevice.current.batteryState == .charging case.unknown:
print("电池状态未知")
case.unplugged:
print("电池未充电")
case.charging:
print("电池正在充电")
case.full:
print("电池已充满")
@unknown default:
break
}
return UIDevice.current.batteryState == .charging || UIDevice.current.batteryState == .full
} }
// MARK: - Private Methods // MARK: - Private Methods
......
...@@ -146,10 +146,8 @@ class PhotoAndVideoMananger { ...@@ -146,10 +146,8 @@ class PhotoAndVideoMananger {
guard let self = self else { return } guard let self = self else { return }
// 计算总大小 // 计算总大小
self.calculateTotalSize(of: combinedArray,progress: { fileSiez, index in self.calculateTotalSize(of: combinedArray,progress: { fileSiez, index in
propress(index,Double(fileSiez)) propress(index,Double(fileSiez))
}, completion: { fileSize,index in }, completion: { fileSize,index in
completion(Double(fileSize),index) completion(Double(fileSize),index)
}) })
...@@ -168,7 +166,6 @@ class PhotoAndVideoMananger { ...@@ -168,7 +166,6 @@ class PhotoAndVideoMananger {
propress(index,Double(fileSiez)) propress(index,Double(fileSiez))
}, completion: { fileSize,index in }, completion: { fileSize,index in
completion(Double(fileSize),index) completion(Double(fileSize),index)
}) })
...@@ -606,6 +603,15 @@ class PhotoAndVideoMananger { ...@@ -606,6 +603,15 @@ class PhotoAndVideoMananger {
return assetsArray.first return assetsArray.first
} }
func getPHAsssetwithIDs(ids :[String]) -> [PHAsset]? {
let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: ids, options: nil)
let assetsArray = fetchResult.objects(at: IndexSet(0..<fetchResult.count))
return assetsArray
}
func findBestQualityImage(from identifiers: [String]) async -> [String] { func findBestQualityImage(from identifiers: [String]) async -> [String] {
var bestIds: [String] = [] var bestIds: [String] = []
var maxFileSize: Int64 = 0 var maxFileSize: Int64 = 0
...@@ -648,6 +654,149 @@ class PhotoAndVideoMananger { ...@@ -648,6 +654,149 @@ class PhotoAndVideoMananger {
} }
} }
// MARK: - 新方法处理相似图片向下-------------------------------------------------------
func dealSimilarPhotos(assets:[PHAsset],threshold: Double , completionHandler:@escaping ([[String]])->Void){
// 重复照片
var index = assets.startIndex
var count = 0
var finalData :[[String]] = []
while index < assets.endIndex {
let nextIndex = assets.index(index, offsetBy: 5, limitedBy: assets.endIndex) ?? assets.endIndex
// 当前组
let chunk = Array(assets[index..<nextIndex])
index = nextIndex
dealSimilarDetailPhotos(assets: chunk as [PHAsset], threshold: threshold) { data in
count = count + chunk.count
finalData = finalData + data
if count == assets.count {
completionHandler(finalData)
}
}
}
}
// 和上面的方法一起处理,防止内存崩溃
private func dealSimilarDetailPhotos(assets:[PHAsset],threshold: Double , completionHandler:@escaping ([[String]])->Void){
var groupAssets :[[String]] = []
// 图片请求选项
let imageRequestOptions = PHImageRequestOptions()
imageRequestOptions.deliveryMode = .highQualityFormat
imageRequestOptions.isSynchronous = true
imageRequestOptions.resizeMode = .exact
// 开一个线程去处理
DispatchQueue.global().async {
// 需要监听是否完成
var count1 = 0
var count2 = 0
for asset in assets {
PHImageManager.default().requestImage(for: asset, targetSize: CGSizeMake(50, 50), contentMode: .aspectFit, options: imageRequestOptions) { image1, info in
var currentGroup : [String] = []
// 如果当前组为空,先加一个上去
currentGroup.append(asset.localIdentifier)
// 然后分成区域比较
var index = assets.startIndex
while index < assets.endIndex {
let nextIndex = assets.index(index, offsetBy: 20, limitedBy: assets.endIndex) ?? assets.endIndex
// 当前组
var chunk = Array(assets[index..<nextIndex])
index = nextIndex
// 比较image重复
for item in chunk {
// 获取到当前图片
PHImageManager.default().requestImage(for: item, targetSize: CGSizeMake(50, 50), contentMode: .aspectFit, options: imageRequestOptions) { image2, info in
let isSamilar : Bool = OpenCVWrapper.areImagesSimilar(image1, withImage2: image2, threshold: threshold)
// 如果相似或者相同
if isSamilar {
currentGroup.append(item.localIdentifier)
}
count2 = count2 + 1
}
if count2 == assets.count && currentGroup.count >= 2 {
groupAssets.append(currentGroup)
}
}
// 将trunk移除
chunk.removeAll(keepingCapacity: false)
}
count1 = count1 + 1
currentGroup.removeAll(keepingCapacity: false)
}
if count1 == assets.count {
completionHandler(self.removeDuplicates(from: groupAssets))
}
}
}
}
/// 去掉数据重复
/// - Parameter array: 当前数据
/// - Returns: 去重后的数据
func removeDuplicates(from array: [[String]]) -> [[String]] {
var set = Set<[String]>()
var result: [[String]] = []
for subArray in array {
if set.insert(subArray).inserted {
result.append(subArray)
}
}
return result
}
// MARK: - 新方法处理相似图片向上-------------------------------------------------------
// MARK: - 处理视频数据-------------------------------------------------------
func dealVideoData(completionHandler:@escaping ([[String]])->Void){
var data:[String] = []
for item in self.videoAssets {
data.append(item.localIdentifier)
}
var finalData : [[String]] = []
finalData.append(data)
completionHandler(finalData)
}
// MARK: - 处理视频数据-------------------------------------------------------
// MARK: - 处理截图数据-------------------------------------------------------
func dealScreenShotData(completionHandler:@escaping ([[String]])->Void){
var data:[String] = []
for item in self.screenShotAssets {
data.append(item.localIdentifier)
}
var finalData : [[String]] = []
finalData.append(data)
completionHandler(finalData)
}
// MARK: - 处理截图数据-------------------------------------------------------
// MARK: - 处理照片数据-------------------------------------------------------
func dealImageAssetData(completionHandler:@escaping ([[String]])->Void){
var data:[String] = []
for item in self.imageAssets {
data.append(item.localIdentifier)
}
var finalData : [[String]] = []
finalData.append(data)
completionHandler(finalData)
}
// MARK: - 处理截图数据-------------------------------------------------------
} }
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
</dict> </dict>
<key>NSUserActivityTypes</key> <key>NSUserActivityTypes</key>
<array> <array>
<string>ChargeShowIntent</string>
<string>LaunchAppIntent</string> <string>LaunchAppIntent</string>
</array> </array>
<key>PHPhotoLibraryPreventAutomaticLimitedAccessAlert</key> <key>PHPhotoLibraryPreventAutomaticLimitedAccessAlert</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment